XCode PhoneGap 本地化

Posted

技术标签:

【中文标题】XCode PhoneGap 本地化【英文标题】:XCode PhoneGap Localization 【发布时间】:2011-10-17 14:55:07 【问题描述】:

2 天来,我一直在努力为我的应用添加特定语言的本地化。 该应用程序正在使用 PhoneGap 1.1,我正在尝试使用 XCode 4.1 构建它

我从 2 天以来一直在搜索信息/教程/其他内容,但我找不到任何详细信息。所以,要么这是一个微不足道的问题,我无法理解它,要么是一个不常见的问题。

我看到的许多线程解释说我必须在“资源”下创建一个新文件夹并将以下文件夹添加到项目中(假设我希望我的应用程序本地化为法语和非法语国家/地区):

--语言环境

--- zh

---- local.strings

---fr

---- local.strings

我现在已经陷入困境:首先,我应该将什么视为我的项目根文件夹?我所有的代码都在“www”文件夹中,据我所知,这是 PG 在工作时查看的主要节点。所以我假设我必须在“www”下创建“语言环境”。

假设这是正确的位置,我必须将键值对输入到 .strings 文件中。现在,我如何告诉 Xcode 它需要在我的 index.html 页面中查看哪些字符串? 在 Objective-C 中,这是通过调用 NSLocalizedString(@"StringKey") 来完成的,但由于我使用的是 PG,所以我可以使用纯 HTML 或 JS。有没有内置的方法可以做到这一点?

这是错误的方法吗? 任何有关该主题的提示、教程、文档、参考指南都会有很大帮助。

【问题讨论】:

【参考方案1】:

PhoneGap 以不同的方式组织。

www/index.html 文件作为 webView 从 DroidGap 类中加载。 至少从我的理解来看,这是您可以拦截 html 页面的加载并应用任何本地化解析的唯一点(除了 javascript 插件)。 一旦呈现 www/index.html,任何进一步的链接要么在内部处理(多页面方法),要么通过指向“外部”(单页面方法)html 页面的链接进行处理。

如果未达到 Javascript 回调方法,则不会调用和处理 PhoneGap 后端类,因此不会调用和处理 ios 特定类。

PhoneGap 插件为本地编码环境提供了一个 Javascript 桥,因此可用于提供本地化。

刚刚找到一个可能有帮助的帖子:

http://community.phonegap.com/nitobi/topics/problem_with_binary_details_ios_localization_builded_with_phonegap_build?from_gsfn=true

【讨论】:

以上是关于XCode PhoneGap 本地化的主要内容,如果未能解决你的问题,请参考以下文章

无法在本地编译 Phonegap 应用程序

在 PhoneGap/Cordova 中安排本地通知在 iOS 模拟器上不起作用

构建后phonegap推送插件不起作用

Phonegap - 在 xcode 中配置调试和发布版本

Phonegap/Sencha 语言本地化

将电话应用程序(phonegap)连接到本地主机文件(在本地机器中)