我已经两天不停地尝试将特定于语言的本地化添加到我的应用程序中了。
该应用程序正在使用PhoneGap 1.1,而我正在尝试使用XCode 4.1进行构建
自2天以来,我一直在搜索信息/教程/其他内容,但找不到任何详细信息。因此,这不是一个琐碎的问题,而我却未能对此加以说明,或者这是一个罕见的问题。
我见过的很多线程都解释说,我必须在“资源”下创建一个新文件夹,并将以下文件夹添加到项目中(例如,我希望我的应用程序以法语和非法语国家/地区本地化):
-语言环境
--- en
---- local.strings
--fr
---- local.strings
我现在已经遇到麻烦了:首先,我应该把什么作为我的项目根文件夹?我所有的代码都在“www”文件夹中,据我所知,这是PG在执行其工作时要查看的主要节点。因此,我假设我必须在“www”下创建“locales”。
假设这是正确的位置,我必须将键值对输入到.strings文件中。现在,如何告诉Xcode在index.html页面中需要查看哪些字符串?
在Objective-C中,这是通过调用NSLocalizedString(@"StringKey")
完成的,但是由于我使用的是PG,因此可以使用纯HTML或JS。有内置的方法吗?
这是错误的方法吗?
关于该主题的任何提示,教程,文档,参考指南都会有很大帮助。
最佳答案
PhoneGap的组织方式不同。
www / index.html文件从DroidGap类内作为webView加载。
至少从我的理解来看,这是唯一的点(除了Javascript插件之外),您可以在其中拦截html页面的加载并应用任何本地化解析。
呈现www / index.html后,任何其他链接都将在内部(多页方法)或通过“外部”(单页方法)html页面的链接进行处理。
如果没有到达Javascript Callback方法,则不会调用PhoneGap后端类,因此不会调用和处理特定于iOS的类。
PhoneGap插件为本地编码环境提供了Javascript-Bridge,因此可用于提供本地化。
刚发现一个线程可能会有所帮助:
http://community.phonegap.com/nitobi/topics/problem_with_binary_details_ios_localization_builded_with_phonegap_build?from_gsfn=true