在Phonegap(Android)应用程序上使用Closure Library

时间:2012-11-06 22:30:56

标签: javascript android cordova internationalization google-closure-library

您有任何人使用Google的Closure Library https://developers.google.com/closure/在Android上构建Phonegap应用程序。我已经读过Closure对应用程序的国际化有很好的支持。因此,如果任何人都可以提供他们推荐的材料或样本片段,以了解如何实现它。

1 个答案:

答案 0 :(得分: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中的boot方法或window.load上的任何内容,并使用服务器的引导参数回显JSON字符串。请注意,来自服务器的所有内容在引用时必须封装在引号内。否则,编译器将在ADVANCED_OPTIMIZATIONS模式下展平属性名称。