sencha touch本地化.使用存储或全局JSON对象



我正在用Sencha-Touch 1.1编写一个应用程序,我想为字符串添加本地化。

我想到了(但没有实现)两种方法。

  1. 为每种语言(en-US)创建单独的JSON文件。json, el-GR.json等),并使用代理存储来加载数据,更改每个计时代理url (json文件目的地)。问题是我不知道之后如何从存储中提取数据。

  2. 创建一个全局JSON对象,然后我膨胀(解析JSON文件)把它变成一个物体)。这里的问题是,我似乎找不到一种方法来解析JSON文件,而不使用阅读器/代理组合。

在sencha-touch中是否存在本地化字符串的最佳解决方案?

一种常见的方法是将所有字符串提取到类级属性中,并使用单独的区域设置文件覆盖这些类及其字符串属性。

例如,如果我有这样一个面板:

MyApp.MyPanel = Ext.extend(Ext.Panel, {
    myPanelContent: 'This is your text to be translated...',
    initComponent: function(){
        Ext.apply(this, {
            html: this.myPanelContent
        });
         MyApp.MyPanel.superclass.initComponent.call(this)
    }
});

然后你会有一个locale文件,如下所示:

Ext.override(MyApp.MyPanel, {
    myPanelContent: 'This is a translation of my text to another language'
});

然后,你可以在加载应用程序时加载正确的语言环境文件(在视图本身被加载之后),或者在运行时动态加载语言环境文件(这将需要逻辑用当前值更新每个视图)。

希望这是有意义的,如果不给我喊!

斯图尔特

最新更新