DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: liy187
今日帖子: 1
在线用户: 1
导航: 论坛 -> 移动应用开发 斑竹:flyers,iamdream  
作者:
男 pcplayer (pcplayer) ★☆☆☆☆ -
普通会员
2022/4/18 19:03:44
标题:
关于 APP 的多语言需要注意的事项 浏览:1255
加入我的收藏
楼主: 写得比较啰嗦的在这里:

跨平台 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 的系统语言设置为英文,也没有类似问题。
----------------------------------------------
-
作者:
男 ww1000 (Delphis) ▲▲▲▲▲ -
普通会员
2022/4/18 23:40:26
1楼: D
----------------------------------------------
阳光总在
作者:
男 bdl1 (bdl1) ▲▲▲▲▲ -
普通会员
2022/4/19 6:05:47
2楼: 这个经验太好了!
感谢!
----------------------------------------------
-我的博客
作者:
男 ksrsoft (cb168) ★☆☆☆☆ -
普通会员
2022/4/19 7:57:04
3楼: 学习了
----------------------------------------------
-
作者:
男 sxqwhxq (步惊云) ★☆☆☆☆ -
普通会员
2022/4/19 9:08:54
4楼: 开发linux(android是linux的子集)的程序,有两点要注意:
1、数据库应该是utf8的,否则中文乱码;
2、fmx linux是异步执行的,对话框并不会阻塞后续代码执行,所有要采取回调匿名方式将相关代码写在闭包内。
----------------------------------------------
-
作者:
男 zhuzh_yuy (华) ★☆☆☆☆ -
普通会员
2022/4/19 12:49:06
5楼: 学习了
----------------------------------------------
-
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行66.40625毫秒 RSS