Ответ 1
Это довольно просто, как только вы это понимаете.
Первое, что вы хотите сделать, это добавить в проект файл локализации. Для этого просто выберите основную группу проекта
,
затем на панели инструментов выберите File → New → File...
(или просто удерживайте ⌘N
)
.
В категории Resource
выберите Strings File
,
и назовите его
Localizable.strings
(обратите внимание, что он чувствителен к регистру) .
Теперь, когда у нас есть локализуемый файл, мы можем нажать кнопку Localize...
в File Inspector
.
Xcode спросит вас, хотите ли вы локализовать файл, просто нажмите Localize
с помощью Base
.
Теперь эта следующая часть немного сложна. Нам нужно войти в наш проект Info
, чтобы сделать это, щелкните файл проекта в Xcode Navigator
, затем справа вы увидите категорию с именем PROJECT
, щелкните по файлу проекта под этой категорией
.
Теперь мы можем добавить желаемый язык в категории Localizations
. Я добавлю Norwegian
.
Это important
, что мы оставляем наш файл Localizable.strings
в меню, которое появляется
.
Теперь мы можем развернуть наш Localizable.strings
файл в Navigator
, чтобы увидеть наши локализованные файлы
.
Теперь мы как наш Base
файл (в нашем Localizable.strings
файле), который будет нашим "основным языком" нашего приложения и нашим ранее выбранным языком.
Важно знать, что структура этих файлов должна быть одинаковой. Вы увидите, что я имею в виду всего за секунду.
В нашем Base
я добавлю строку с именем it_worked
и добавлю ее локализацию
.
И на нашем ранее выбранном языке (в моем случае Norwegian
) я добавлю ту же строку it_worked
(чтобы сохранить структуру), но с другой локализацией
<Т411 > .
Теперь, когда у нас есть наш локализованный файл, мы можем сделать наше приложение прочитанным, когда это необходимо.
Я добавил приложение UILabel
в мое приложение, чтобы мы могли отобразить локализованный текст в нашем приложении.
[myLabel setText:NSLocalizedString(@"it_worked", nil)];
Теперь, если я запустил приложение, мы увидим наш базовый язык
,
и если я изменю язык симулятора на норвежский, мы увидим наш другой язык
.