XE6 的 TSwitch 做了很多改进,包含多语显示处理,但 XE6 似乎只认定一种中文语系「zh」,它无法处理「zh_TW」、「zh_CN」、「zh_HK」、「zh_SG」等语系,不过可以透过修改 XE6 源码来修正此问题,如下:
注意:请先将「FMX.Platform.Android.pas」、「FMX.Styles.Switch.pas」复制到自己的工程目录下后再修改。
修改源码 FMX.Platform.Android.pas:
复制代码
function TPlatformAndroid.GetCurrentLangID: string;
var
Locale: JLocale;
begin
Locale := TJLocale.JavaClass.getDefault;
Result := JStringToString(Locale.toString); // 可回传 zh_TW
end;
复制代码
修改源码 FMX.Styles.Switch.pas
关键字词: