|
|
导航: |
论坛 -> 移动应用开发
斑竹:flyers,iamdream |
|
作者: |
|
2022/4/18 19:03:44 |
标题: |
关于 APP 的多语言需要注意的事项 |
浏览:1272 |
|
加入我的收藏 |
楼主: |
写得比较啰嗦的在这里:
跨平台 Android / iOS 多语言
这里简单说一下,主要是数据库的问题:
用 Delphi 开发的 Android / iOS APP,如果想发布多语言版本,也就是说,你的发布目标是其它国家,比如英语国家,同时也支持中文、韩文等等 Unicode 的语言,那么,需要注意的是数据库。
1. 界面上普通文字的多语言,采用 FireMonkey 提供的多语言框架,可以很简单地在程序运行期修改当前显示语言,界面文字会自动转换为相应的语言。具体做法看上面的链接。
2. 数据库:假设用户设置语言为中文,但用户的 Android / iOS 系统设置为英文,那么,数据库对应的文字,也就是 TDataSet 里面的 Field 里面的文字字段,必须是 TWideStringField;如果是 TStringField 则会显示成乱码。如果 APP 发布目标是世界各国,这个问题要注意。
3. 数据库:TField 是 TWideStringField,如果是 APP 的本地数据库,采用 SQLite 数据库,那么,设计数据库的时候,字段类型选择 NVarChar;如果选择 VarChar 则在 Delphi 里面 TDataSet 对应的字段是 TStringField;
4. 数据库:如果后台数据库是 FireBird,那么,字段类型是 VarChar,编码要选择 UTF8,在 Delphi 里面对应的字段是 TWideStringField;
5. 上述问题在 windows 底下不存在。即便把 Windows 的系统语言设置为英文,也没有类似问题。
----------------------------------------------
- |
作者: |
|
2022/4/18 23:40:26 |
1楼: |
D
----------------------------------------------
阳光总在
|
作者: |
bdl1 (bdl1) |
▲▲▲▲▲ |
-
|
普通会员 |
|
2022/4/19 6:05:47 |
2楼: |
这个经验太好了! 感谢!
----------------------------------------------
-我的博客
|
作者: |
|
2022/4/19 7:57:04 |
3楼: |
学习了
----------------------------------------------
-
|
作者: |
|
2022/4/19 9:08:54 |
4楼: |
开发linux(android是linux的子集)的程序,有两点要注意: 1、数据库应该是utf8的,否则中文乱码; 2、fmx linux是异步执行的,对话框并不会阻塞后续代码执行,所有要采取回调匿名方式将相关代码写在闭包内。
----------------------------------------------
-
|
作者: |
|
2022/4/19 12:49:06 |
5楼: |
学习了
----------------------------------------------
-
|
|