iOS - Могу ли я изменить содержимое localizable.strings во время выполнения?

Я загружаю перевод через файл JSON каждый раз, когда запускаю приложение. Могу ли я проанализировать этот JSON, очистить его и поместить в файл localizable.strings?

Если нет, смогу ли я загрузить локализацию из локализуемого файла, созданного в каталоге Documents?

2 ответа

Решение

Не первый, так как вы не можете редактировать ресурсы приложения после развертывания

однако вы можете сказать NSBundle использовать другой localizeFile.. или, скорее, скачать json и поместить его в NSBundle

поместите локализуемый в:

<APP/DOCUMENTS>/<APPNAME>.bundle/<LANGUAGE_CODE>.lproj/Localizable.strings

инициировать новый пакет какао

NSBundle *b = [NSBundle bundleWithPath:@"<APP/DOCUMENTS>/<APPNAME>.bundle/"];

тогда просто используйте это на связке:

 - (NSString *)localizedStringForKey:(NSString *)key value:(NSString *)value table:(NSString *)tableName 

например

[b localizedStringForKey:@"HIHO" value:nil table:nil];

Вы не можете ничего редактировать в своем комплекте приложений, так что ответьте на первый вопрос. (Обратите внимание, что вы можете сделать это в симуляторе, но это, безусловно, не будет работать на устройстве.)

Не уверен насчет второго вопроса.

Другие вопросы по тегам