bra*_*ray 1 iphone localization ios xcode4 sharekit
因为我从我的应用程序中删除了一些本地化,所以我遇到了这个问题:第一次加载应用程序时,我在标签中看到了我的密钥的本地化字符串.第二次加载应用程序时,会出现xxxxxkey.下次加载应用程序时,一切都很好(显示本地化的字符串).怎么会这样?
如果有人能指出我正确的方向,我会很高兴的.我在Xcode 4.2上.
提前致谢!
将ShareKit库添加到项目后,我也遇到过这种情况.事实证明,问题是ShareKit包含一个localizable.strings文件,我自己的项目包含一个同名文件.我不确定为什么,但是当你启动应用程序时,这两个localizable.strings中的任何一个都被拾取,而不是两者.如果重命名localizable.strings文件,以便没有冲突的文件名,则问题应该消失.
如果重命名localizable.strings,则需要使用NSLocalizedStringFromTable宏而不是NSLocalizedString更新从此特定字符串文件加载字符串的代码.例如,我将ShareKit的localizable.strings重命名为ShareKit.strings,并编辑了此方法的第一行,如下所示:
NSString* SHKLocalizedString(NSString* key, ...)
{
// Localize the format
// Was:
// NSString *localizedStringFormat = NSLocalizedString(key, key);
NSString *localizedStringFormat = NSLocalizedStringFromTable(key, @"ShareKit", key);
va_list args;
va_start(args, key);
NSString *string = [[[NSString alloc] initWithFormat:localizedStringFormat arguments:args] autorelease];
va_end(args);
return string;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1344 次 |
| 最近记录: |