У меня есть проект, который использует статическую библиотеку (SL). В том SL существует несколько строк, которые я хотел бы локализовать, и проект включает все файлы локализации. Локализация работает просто великолепно при хранении всех текстовых переводов в том же файле. Вещь состоит в том, что я хотел бы разделить строки SL от других строк. Я попытался поместить два различных *.strings файла (Localizable.strings и Localizable2.strings) в папке языка интереса, но это не работало. Я также попытался использовать два *.strings файла с тем же именем (Localizable.strings), но с различными путями. Это не работало также. Кажется, что только один файл локализации поддерживается, правильно? Кто-либо мог предложить хороший способ сделать это? Я использую бету 2 SDK 3.2.
Невозможно объединить его в статическую библиотеку, но вы можете создать новый пакет, например " 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];
}