7

嗨,有人在 Android 上构建 Phonegap 应用程序时使用过谷歌的 Closure 库https://developers.google.com/closure/。我读过 Closure 对应用程序的国际化有很好的支持。因此,如果有人可以提供他们提到的材料或示例片段,以了解如何实施它。

4

1 回答 1

3

使用PhoneGap 的方式没有区别。在本机应用程序背景中构建 Web 视图不会改变。

与任何其他库不同,Closure 库会将您的 javascript 编译为具有语义特征的原始代码。否则是的,请随意使用,包括PhoneGap。

当你使用 Closure 构建一些东西时,你可以在 JavaScript 中渲染 DOM。它超级快,比传统方式好得多。

所以你用goog.dom.createDom. 您将在下面找到一个示例。

var menuButton = goog.dom.createDom('a', {
    'class': 'menu-button',
    'otherAttributes': 'otherValues etc'
}, myproject.translations.menuButton.currentLanguage);

//Now you have a file like this:
goog.provide('myproject.translations');

// Language variations corresponding to that element.
myproject.translations.menuButton = {
    'EN': 'go',
    'FR': 'aller',
    'DE': 'gehen'//etc...

};

在需要翻译的地方执行上述操作。然后只需使用非常简单的方法设置当前语言加载即可。

myproject.boot = function(parameters) {
    myproject.translations.currentLanguage = parameters['currentLanguage'];
};
goog.exportSymbol('myproject.boot', myproject.boot);

然后在 index.php 或 window.load 上的任何内容中调用 boot 方法,并使用来自服务器的引导参数回显 JSON 字符串。请注意,来自服务器的所有内容在引用时都必须包含在引号中。否则编译器将在 ADVANCED_OPTIMIZATIONS 模式下展平属性名称。

于 2012-11-14T19:17:34.383 回答