0

我试图本地化我的 iPad 应用程序(XCode 4.6.3、ARC、Storyboards、iOS 6.2)。我有一些很长的“键”(超过 200 个字符长)用于 UIWebView 弹出窗口中的 HTML...运行应用程序时,没有显示任何 HTML 翻译,而是使用应用程序中的实际 HTML“键” (不是 Localized.strings 文件中的那个;我修改了应用程序和 Localized.strings 文件中的“密钥”,而应用程序的“密钥”就是显示的内容)。

我开始相信“钥匙”的长度是问题所在。有没有办法可以缩短密钥并让它指向不同的文件或其他东西?或者也许将翻译后的 HTML 放入 .plist 中?

4

1 回答 1

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...

}

于 2013-07-06T14:36:56.067 回答