资讯专栏INFORMATION COLUMN

PhoneGap实现Localization的一个例子

ranwu / 1967人阅读

摘要:决定在目前已上线到的暂不发在博客中增加英文的支持。想想其实实现并不难,于是就自己实现了一个。插件虽然不用也能实现,但我还是比较懒的这是默认显示英文,支持中文的方式,请根据实际需求自行修改,比如用你好小菜逼在的时候调用

原文地址: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
, I"m .
Usage

deviceready的时候调用:

navigator.globalization.getLocaleName(function (locale) {
    localization.locale = locale.value;
    localization.initialize();
}, function () {
    console.log("an error occurred while getting locale name");
});

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/77959.html

相关文章

  • 一个基于Angular+Ionic+Phonegap混合APP实战

    摘要:有二维码扫描功能,还做了类似消息可拖拽效果,上拉下拉刷新,轮播图组件。特别适合用于基于模式的移动应用程序开发。简介是一个用基于,和的,创建移动跨平台移动应用程序的快速开发平台。 这个项目做得比较早,当时是基于ionic1和angular1做的。做了四个tabs的app,首页模仿携程首页,第二页主要是phonegap调用手机核心功能,第三页模仿微信和qq聊天页,第四页模仿一般手机的表单设...

    孙淑建 评论0 收藏0
  • PhoneGap极光推送 cordova消息推送

    摘要:之前做过一个用到了消息推送,最近这个项目又用到了推送。限制命名长度限制为字节判断长度需采用编码。参考文献插件文档极光推送文档 前言 说一下写这篇文章的初衷。之前做过一个APP用到了消息推送,最近这个项目又用到了推送。但是由于两个项目间隔4个多月,推送集成、使用方式等都忘了,所以当时又去看了以前项目的源码和一些推送相关的博客,寻找那些蛛丝马迹。突然觉得这样很浪费时间,为何自己不写篇文章总...

    Taste 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<