问题:
我即将实现语言本地化到使用煎茶触摸裹着的PhoneGap构建已经非常大的iPad应用。我有json文件中的英文和西班牙文翻译。的PhoneGap /煎茶语言本地化
我打算在这样做的:
我打算在JSON文件加载到煎茶触摸店,创建一个全局对象。然后,在我称之为显示的文本的每个地方,我将用对全局对象的调用替换文本。
我的问题(S):
有没有实现我的 设置本地化语言更简单的方法?
我会遇到原生sencha问题(如datepickers)?
在加载/重装语言JSON文件,我会表现 问题(需要的WebView重装?煎茶对象尺寸调整问题, 等)
编辑1:有用的相关Info:
对于那些走上这条道路的人来说,编写一个简单的phonegap插件将ipad/iphone设备的语言设置到您的javascript中会很有用。这需要一个插件,这将是这个样子:
的Javascript:
部分1:
PhoneGap.exec("PixFileDownload.getSystemLanguage");
部分2(回调函数):
setLanguage(returnedLanguage)
{
GlobalVar.CurrentLanguage = returnedLanguage; //GloablVar.CurrentLanguage already defined
}
目的C:
-(void)getSystemLanguage:(NSMutableArray*)paramArray withDict:(NSMutableDictionary*)options
{
/*Plugin Details
PhoneGap.exec("PixFileDownload.getSystemLanguage");
Returns Language Code
*/
NSUserDefaults* defs = [NSUserDefaults standardUserDefaults];
NSArray* languages = [defs objectForKey:@"AppleLanguages"];
NSString *language = [languages objectAtIndex:0];
NSLog(@"####### This is the language code%@",language);
NSString *jsCallBack;
jsCallBack = [NSString stringWithFormat:@"setLanguage('%@');",language];
[self.webView stringByEvaluatingJavaScriptFromString:jsCallBack];
}
编辑2:字符编码 当添加其他语言的字符到煎茶项目(或任何的WebView的PhoneGap项目),确保您在索引文件中指定正确的编码。这是我需要的标签。
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
查看关于如何加载本地化文本作为覆盖的答案。这是Sencha为了本地化内置小部件的方式。 http://stackoverflow.com/questions/8226173/sencha-touch-localization-use-a-store-or-a-global-json-object/8227539#8227539 – Stuart