Как локализовать мое приложение с Xcode 5?

Это дополнительный вопрос (и ответ) на Как локализовать мое приложение с Xcode 4? вопрос.

Как я могу локализовать свое приложение с Xcode 5.x?

2 ответа

Решение

Это довольно просто, когда вы понимаете это.

Первое, что вы хотите сделать, это добавить файл локализации в ваш проект. Для этого просто выберите основную группу вашего проекта

основная группа,

затем на панели инструментов выберите File → New → File... (или просто удерживайте ⌘N)Новый файл,

Под Resource выберите категорию Strings FileВыберите и назовите это Localizable.strings (обратите внимание, что он чувствителен к регистру) Имя localizable.strings,

Теперь, когда у нас есть наш локализуемый файл, мы можем нажать на Localize... кнопка, в File Inspector

Инспектор файлов,

Xcode спросит вас, хотите ли вы локализовать файл, просто нажмите на Localize с Base выбранныйЛокализовать,

Теперь эта следующая часть немного сложнее. Нам нужно войти в наш проект Info раздел, чтобы сделать это, нажмите на файл проекта в Xcode Navigatorзатем справа вы увидите категорию с именем PROJECTнажмите на файл вашего проекта в этой категории

Файл проекта,

Теперь мы можем добавить желаемый язык под Localizations категория. Я добавлю Norwegian

Языки,

Это important что мы оставляем только наши Localizable.strings файл проверен в появившемся менюФайл Localizable.strings проверен,

Теперь мы можем расширить наш Localizable.strings файл в Navigator чтобы увидеть наши локализуемые файлыФайл строк расширен,

Мы теперь, как наши Base файл (в нашем Localizable.strings файл), который будет "основным языком" нашего приложения и нашим ранее выбранным языком.

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

В нашем BaseЯ добавлю строку с именем it_workedи добавить его локализацию

it_workedEN,

И на нашем ранее выбранном языке (в моем случае Norwegian), я добавлю ту же строку it_worked (сохранить структуру), но с другой локализацией

it_workedNO,

Теперь, когда у нас есть локализованный файл, мы можем заставить наше приложение читать его при необходимости.

Я добавил UILabel в мое приложение, чтобы мы могли заставить наше приложение отображать локализованный текст.

[myLabel setText:NSLocalizedString(@"it_worked", nil)];

Теперь, если я запущу свое приложение, мы увидим наш базовый язык

Базовый язык (EN,

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

Другой язык (НЕТ,

Вам не нужно добавлять uilabel и изменять текст в коде.

Вы можете воспользоваться расширенными пользовательскими атрибутами времени выполнения:

http://cupobjc.blogspot.com.es/2014/04/interfaz-builder-localization.html

Сначала определите новую категорию для UILabel:

#import "UILabel+Localized.h"

@implementation UILabel (Localized)
-(void) setTextLocalized:(NSString *)aText{
     [self setText:NSLocalizedString(aText, nil)];
}
@end

Затем в конструкторе интерфейса определяемые пользователем атрибуты времени выполнения:

textLocalized Строка вашей строки в локализованный

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