Cordova / Ionic Phonegap应用程序中的全球化/国际化

问题描述 投票:0回答:1

我必须在phonegap应用中实现全球化。问题是我是否应该在编译应用程序之前进行翻译,或者在运行时进行翻译。


我可以去2个方向:

  1. [第一个使用gulp-i18n-localize之类的插件将源代码翻译成我想要的每种语言,然后将每个翻译的源代码编译到不同的文件夹中(en,sp,it等。)。然后在应用程序中调用我需要的文件夹取决于我从navigator.language中得到什么。
  2. 第二个是创建一个服务,每次加载组件或控制器时都会调用该服务,在呈现目标语言之前,请先将每个单词/短语表达为目标语言。类似于:global.trans('Save')。它也将得到navigator.language中的语言。

  • 这是一个应用程序,因此标题,按钮,标签或消息/警报中不会使用大段文字,而只会使用单词或小句子。
  • 由于调用api时发送了语言参数,因此数据将已经以所需的语言来自服务器。
  • App肯定会在将来进行一些修改,因此应将主要源代码集中化,以免每次我们进行更新时都不必对不同语言的几种源进行相同的更改。

有人已经实施其中一种解决方案,并且遇到任何问题吗?还是曾经考虑过其中之一可能存在的问题,或者认为哪个应该是最佳解决方案?您还可以考虑其他选择吗?

[我看到的唯一问题是,在第一种情况下,apk会增大,原因是每种语言都有一个“站点”,并且每次我想添加一种语言时,我都必须修改gulpfile.js(除字典)。在第二种情况下,它将翻译应用程序,因为它将翻译给定的每个单词/短语(翻译的意思是调用服务,并且该服务在字典(json)中搜索单词/短语/语言并返回值,尽管每个页面/屏幕的翻译量并不多。

cordova ionic-framework internationalization phonegap globalization
1个回答
0
投票

如果该应用程序设计为也可以脱机工作,那么按照案例1进行翻译肯定会更好。

  1. 这将节省数Kb的数据传输和加载时间;
  2. 该应用程序可以在离线时以正确的语言传达相关信息;
  3. 它将通过更快,更流畅地呈现国际化(因此,每个人都可以理解)的用户界面来改善用户体验。
© www.soinside.com 2019 - 2024. All rights reserved.