2013-07-06 21 views
0

我試圖本地化我的iPad應用程序(XCode 4.6.3,ARC,Storyboards,iOS 6.2)。我在UIWebView彈出窗口中有一些非常長的「鍵」(長度超過200個字符)用於HTML ...當運行應用程序時,不會顯示HTML翻譯,而是使用應用程序中實際的HTML「鍵」 (不是Localized.strings文件中的;我修改了應用程序和Localized.strings文件中的「key」,應用程序的「key」是顯示的內容)。對於NSLocalizedString,可以將「密鑰」縮短爲指向全尺寸翻譯嗎?

我開始相信「關鍵」的長度是問題所在。有沒有一種方法可以縮短密鑰,也可以指向不同的文件或其他內容?或者,也許把翻譯的HTML到.plist?

回答

0

我想通了......以防其他人有相同/類似的問題;我把HTML,放入一個文件,一個爲每種語言......那麼這是我用來加載文件的代碼:

- (void)viewDidLoad { 

[super viewDidLoad]; 

// determine what the language for this locale is... 
NSURL *indexURL; 
NSString *sysLangCode = [[NSLocale preferredLanguages] objectAtIndex:0]; 

// do we support this language?  
if([sysLangCode isEqualToString:@"en"] || [sysLangCode isEqualToString:@"de"] || [sysLangCode isEqualToString:@"it"] || 
    [sysLangCode isEqualToString:@"es"] || [sysLangCode isEqualToString:@"fr"] || [sysLangCode isEqualToString:@"ja"] || 
    [sysLangCode isEqualToString:@"zh-Hant"]) { 

    indexURL = [[NSBundle mainBundle] URLForResource: [NSString stringWithFormat:@"instRST-%@", sysLangCode] 
             withExtension:@"html"]; // contatenate the language code to the filename 
} 
else 
    indexURL = [[NSBundle mainBundle] URLForResource: @"instRST-en" withExtension:@"html"]; // make 'en' the default 

[webView loadRequest:[NSURLRequest requestWithURL:indexURL]]; // load it... 

}