对于NSLocalizedString,可以缩短“键”以指向全尺寸翻译吗?

时间:2013-07-06 13:50:01

标签: ios6 nslocalizedstring

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

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

1 个答案:

答案 0 :(得分: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...

}