Подтвердить что ты не робот

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

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

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

4b9b3361

Ответ 1

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

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

main group,

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

В категории Resource выберите Strings File Select "Strings File",  и назовите его Localizable.strings (обратите внимание, что он чувствителен к регистру) localizable.strings Name.

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

File Inspector.

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

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

Project File.

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

Languages.

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

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

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

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

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

it_workedEN.

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

<Т411 > .

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

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

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

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

Base Language (EN),

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

Other Language (NO).

Ответ 2

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

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

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 Строка вашей строки в локализованной

enter image description here