Локализация строк в статическом lib

У меня есть проект, который использует статическую библиотеку (SL). В том SL существует несколько строк, которые я хотел бы локализовать, и проект включает все файлы локализации. Локализация работает просто великолепно при хранении всех текстовых переводов в том же файле. Вещь состоит в том, что я хотел бы разделить строки SL от других строк. Я попытался поместить два различных *.strings файла (Localizable.strings и Localizable2.strings) в папке языка интереса, но это не работало. Я также попытался использовать два *.strings файла с тем же именем (Localizable.strings), но с различными путями. Это не работало также. Кажется, что только один файл локализации поддерживается, правильно? Кто-либо мог предложить хороший способ сделать это? Я использую бету 2 SDK 3.2.

10
задан AOO 25 February 2010 в 16:31
поделиться

1 ответ

Невозможно объединить его в статическую библиотеку, но вы можете создать новый пакет, например " 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];
}
15
ответ дан 3 December 2019 в 17:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: