Настройте Mainstoryboard.strings для каждой цели
У меня есть приложение с 2 целями. Строковые ресурсы в приложении разбросаны по коду и файлу раскадровки. Теперь мне нужен совершенно различный набор строк для обеих целей (хотя на английском языке, хотя для обеих целей). Мне удалось создать 2 разные версии Localized.strings для каждой строки по этой ссылке - Альтернативные строки для разных целей одного и того же приложения - использовать NSLocalizedString?
Но я не смог найти подобного подхода для разделения файла Mainstoryboard.strings для каждой цели. Должен ли я сделать 2 копии файла MAinstoryboard.strings и назначить для каждой цели. Я не пробовал это, но что-то подсказывает мне, что это не лучший подход.
Удивительно ничего об этом на уроках Apple. Какие-либо предложения?
2 ответа
Фрагмент кода для добавления поддельного языка, который может быть решением:
language = Bundle.main.preferredLocalizations[0]
if target == SOME_TARGET {
if language == "en" {
language = "fr" // fake language
} else if language == "ar" {
language = "rs" // another fake language
} else {
// default app language
language = "whatever" // default fake language
}
UserDefaults.standard.set([language], forKey: "AppleLanguages")
UserDefaults.standard.synchronize()
} else {
// do nothing
}
Еще одно предлагаемое решение. Это должно иметь два файла локализации раскадровки для каждого языка. и заменить их вручную с помощью искателя OS X при переключении между целями. Но я думаю, что это не поможет для строк на самой раскадровке.
Я сделал проект Github для проблем локализации.
Используя мои компоненты iOS, вы сможете поместить localizedString прямо в файл раскадровки.