AOO*_*AOO 10 iphone xcode localization static-libraries
我有一个使用静态库(SL)的项目.在那个SL中,有一些我想要本地化的字符串,项目包括所有的本地化文件.将所有文本翻译存储在同一文件中时,本地化工作正常.问题是我想将SL字符串与其他字符串分开.我试图将两个不同的*.strings文件(Localizable.strings和Localizable2.strings)放在感兴趣的语言文件夹中但是没有用.我也尝试使用两个*.strings文件具有相同的名称(Localizable.strings)但具有不同的路径.它也没用.似乎只支持一个本地化文件,对吧?有谁能建议这样做的好方法?我正在使用SDK 3.2 beta 2.
abu*_*sky 15
无法将其捆绑在静态库中,但您可以创建新的包,如" MyStaticLibraryName.bundle ",放入所有本地化并使用下面的代码" NSLocalizedString() ".您需要做的就是:添加静态库和资源包.
NSString *MyLocalizedString(NSString* key, NSString* comment) {
static NSBundle* bundle = nil;
if (!bundle) {
NSString* path = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"MyStaticLibraryName.bundle"];
bundle = [[NSBundle bundleWithPath:path] retain];
}
return [bundle localizedStringForKey:key value:key table:nil];
}
Run Code Online (Sandbox Code Playgroud)
将具有相同名称的文件放在一个项目的介绍中永远不会起作用,因为在生成的应用程序中,它们最终都位于同一位置.(Xcode不保留您的目录结构.)
但是您可以将部分本地化放入Localizable2.strings中,然后使用:
NSLocalizedStringFromTable(@"key",@"Localizable2",@"")
| 归档时间: |
|
| 查看次数: |
5005 次 |
| 最近记录: |