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];
Вы не можете ничего редактировать в своем комплекте приложений, так что ответьте на первый вопрос. (Обратите внимание, что вы можете сделать это в симуляторе, но это, безусловно, не будет работать на устройстве.)
Не уверен насчет второго вопроса.