問題:
我即將實現語言本地化到使用煎茶觸摸裹着的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