iOS Как синхронизировать строки Main.storyboard и Localizable.strings

Итак, у меня большие проблемы.

Прежде всего, у меня есть 2 локализуемых файла, первый это Main.storyboard, где я перевожу все метки, кнопки.

И у меня есть Localizable.strings, где я перевожу сообщение об ошибке и какое-то системное сообщение.

А у меня что-то вроде этого:

введите здесь описание изображения

Перевод работает нормально, если я настрою язык телефона.

Но если я хочу вручную изменить язык из приложения, я могу перевести только файл Localizable.strings.

Может есть возможность синхронизировать эти два файла в один?


person Andrew    schedule 07.09.2018    source источник
comment
Возможный дубликат stackoverflow .com/questions/29985614/   -  person iamVishal16    schedule 07.09.2018
comment
Как указано ниже, не делайте этого. Локализация Apple работает с системным языком.   -  person Mannopson    schedule 07.09.2018


Ответы (1)


Вам нужно изменить «AppleLanguages».

let defaults = NSUserDefaults.standardUserDefaults()
defaults.setObject("rs", forKey: "AppleLanguages")
person Rushabh Shah    schedule 07.09.2018
comment
И получится перевод из 2 файла? - person Andrew; 07.09.2018
comment
Да, пожалуйста, попробуйте. - person Rushabh Shah; 07.09.2018
comment
Apple рекомендует вам не этого делать… Если вы попытаетесь это сделать, вы будете плыть против течения. Если вы нажмете на AppleLanguages, некоторые вещи будут вести себя не так, как обычно. Пользовательский интерфейс вашего приложения не будет автоматически переключать ваш макет на RTL, настройки локали, используемые для средств форматирования, не будут затронуты и другие вещи. Здесь вам предстоит проигранная битва, поэтому я настоятельно рекомендую вам не идти по этому пути. forums.developer.apple.com/thread/8674 - person Ashley Mills; 07.09.2018
comment
Вы можете изменить внешний вид UIView, используя строку ниже. UIView.appearance().semanticContentAttribute = .forceRightToLeft - person Rushabh Shah; 07.09.2018