在 jQuery Mobile 中实现多语言支持(3)优缺点分析及提高
 
- UID
- 1066743
|
在 jQuery Mobile 中实现多语言支持(3)优缺点分析及提高
优缺点分析及提高本方案的优点是:
- 步骤简单明了,容易上手。
- 扩展性好,方便加入新的支持语言。
- 运行流畅,用户不会发觉画面替换过程。
- 翻译人员几乎无须对程序本身有所了解,可直接翻译映射表文件。
本方案也有以下缺点:
- 由于需要下载映射表文件,当映射表内容较多且网络状况不大好时用户也许需要等待较长时间才能看到画面。
- 由于缓存的原因,修改映射表可能导致程序无法正常运行。比如 JavaScript 试图读取一个新的映射表关键字,而缓存的映射表不包含这个关键字,就会出现 JavaScript 错误。
- 映射表里只能存放固定的文字内容。动态内容比如“用户 XXX 不存在”,xxx 为用户输入的动态用户名,需要做额外处理才能显示。日期格式等内容同样需要额外处理。
为了解决以上的几个缺陷,我们可以做如下的几点调整:
- 第一次下载映射表之后就把映射表存入浏览器的本地缓存。以后每次都从缓存中读取,以节省读取的时间。
- 为了对应映射表可能的修改,我们需要给缓存里的映射表一个版本号。当服务器修改了映射表,JavaScript 程序需要把新的版本号发送给客户端。一旦发现版本号不符合,则下载新的映射表。
- 对于动态的文字或者日期,可以在读取映射表内容之后采用正则表达式进行进一步处理。
- 目前显示的语言需要在服务器端设置。我们可以在客户端读取浏览器的语言设置,自动读取跟浏览器语言一致的映射表,让用户的使用更加方便。
|
|
|
|
|
|