PhoneGap完成Localization的一个例子

原文地点:http://www.pwhack.me/archives/phonegap-localization.html

此次列入“iOS7 Tech Talk”,了解了Localization和”Think Globally”的重要性。决定在现在已上线到app store的PhoneGap app(暂不发在博客)中增添英文的支撑。查了下PhoneGap的文档发明并没有Localization的插件,因而在github上搜刮了一下,找到了一个不错的localization插件然则并不支撑3.0。另有一个原生js完成的l10n,然则个中用到的特征不被webview和UIWebView中的浏览器支撑。

想一想实在完成Localization并不难,因而就本身完成了一个。希望能举一反三,给人人供应一个思绪:在app初始化的时刻替代笔墨内容就ok了。

Requirements:

Globalization插件

phonegap local plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-globalization.git

jQuery

虽然不必jQuery也能完成,但我照样比较懒的= =

localization.js

var localization = {};
localization.strings  = {};
localization.initialize = function () {
    console.log('initializing l10n.');
    //这是默许显现英文,支撑中文的体式格局,请依据现实需求自行修正,比如用switch
    if (this.locale == 'zh_CN') {
        for (var property in localization.strings) {
            $('.str_' + property).html(localization.strings[property].zh_CN);
        }
    } else {
        for (var property in localization.strings) {
            $('.str_' + property).html(localization.strings[property].en_US);
        }
    }
};

// just two examples
localization.strings.hello = {
    zh_CN: '你好',
    en_US: 'hello'
};

localization.strings.name = {
    zh_CN: '小菜逼',
    en_US: 'Little Noob'
};

HTML

<span class="str_hello"></span>, I'm <span class="str_name"></span>.

Usage

deviceready的时刻挪用:

navigator.globalization.getLocaleName(function (locale) {
    localization.locale = locale.value;
    localization.initialize();
}, function () {
    console.log('an error occurred while getting locale name');
});
    原文作者:PortWatcher
    原文地址: https://segmentfault.com/a/1190000000354666
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞