Я просто обновился до Xcode 4.
Обычно при локализации приложений мы добавляем файл "Localizable.String" в проект, а затем переходим к меню "Получить информацию" и щелкаем по кнопке "Сделать это локализованной".
Однако в Xcode 4 нет меню "Получить информацию".
Когда я пытаюсь добавить язык, он влияет только на файл "InfoPlist.String" (который может локализовать имя приложения).
Как добавить локализацию в мое приложение в Xcode 4?
Ответ 1
Это просто, как только вы это понимаете.
Если вы хотите выполнить это с помощью Xcode 5.x и iOS 7 или Xcode 6.x и iOS 8, проверьте Как локализовать мое приложение с Xcode 5? вместо этого.
Мне понравилась SNR , но его ответ был немного короткий.
Кроме того, я вижу, что этот вопрос немного устарел, и мой ответ может отличаться от старых версий Xcode. (Я использовал Xcode v. 4.3.3)
Однако, я обновил свой ответ для работы с и Xcode 4.3.5 и ниже + 4.4 и выше (и Xcode 5.x и 6.x здесь: Как локализовать мое приложение с помощью Xcode 5?).
Чтобы начать, вы должны добавить новый "файл строк" в категории ресурсов iOS.
![Strings File]()
Затем создайте файл как "Localizable.strings" .
![Create As]()
Когда файл создан, выберите его и откройте "Инспектор файлов".
![The Localizable File]()
![File Inspector]()
EDIT: все изменилось (немного) с новым Xcode 4.4, 4.5 (и выше) (для поддержки iOS 6).
Если вы Не, используя Xcode 4.4 или выше, пропустите этот шаг.
{ Способ Xcode 4.4, 4.5 (и выше):
Нажмите кнопку "Сделать локализованным" ![Make localized button]()
Теперь перейдите на главную страницу проекта.
![Main Project page]()
И нажмите кнопку "+" в разделе "Локализация" и выберите языки, которые вы хотите поддерживать.
(я выберу немецкий/немецкий)
![List of languages]()
Теперь появится окно с вопросом о том, какие файлы вы хотите локализовать, убедитесь, что Только выбран файл "Localizable.strings" и нажмите "Готово".
![Only the "Localizable.strings" file is selected]()
}
{ Xcode 4.3.5 и ниже:
Нажмите кнопку "+" в разделе "Локализация" и выберите языки, которые вы хотите поддерживать.
(я выберу немецкий/немецкий)
![List of languages]()
}
.
.
.
.
Теперь вы должны увидеть, что у вас есть два файла в файле "Localizable.strings" .
![Localizable Files]()
Затем добавьте строки локализации в оба файла локализации.
![English]()
<Т411 >
Теперь здесь идет кодирующая часть.
Здесь я просто объявлю UILabel
и поставлю его в строку Localizable.
Declare:
IBOutlet UILabel *testLabel;
И Inside ViewDidLoad я установлю текст, используя NSLocalizedString
:
[testLabel setText:NSLocalizedString(@"TEST", nil)];
Чтобы закончить, просто подключите наш testLabel
в "Interface Builder".
![Connect IBOutlet]()
Теперь вы должны иметь возможность запускать проект и видеть локализованную строку.
И если вы измените язык, вы также увидите локализованное изменение строки.
![English Result]()
![Change the language]()
![German Result]()
Ответ 2
Выберите файл, который вы хотите локализовать, и щелкните в инспекторе файлов в разделе "Утилиты".
Существует раздел Локализация
Ответ 3
Вы можете просмотреть информацию о файле (и добавить локализации), когда вы выберете файл, и откройте "File Inspector" в главном меню "Вид" → "Утилиты" → "Файловый инспектор".
Ответ 4
сначала вам нужно добавить новый файл Localizable.string и выбрать его и перейти в "Просмотр" → "Утилиты" → "Инспектор файлов" нажмите кнопку "+", чтобы добавить язык в раздел локализации.
также проверьте его XCode 4, добавив локализацию
Ответ 5
изменился способ локализации в xcode4! щелкните правой кнопкой мыши locizable.strings и добавьте поддержку другого языка, просто нажмите на панель "Локализация" + в этой области справа.
Ответ 6
Вы можете использовать расширенные атрибуты 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]()
И вам не нужно объявлять IBOutlet,
и не нуждаются в этом коде в ViewDidLoad [testLabel setText: NSLocalizedString (@ "TEST", nil)];
Ответ 7
Или вы можете использовать TraductoPro, чтобы автоматизировать этот процесс для вас и сэкономить много времени. Это приложение для Mac, которое хорошо интегрируется с Xcode.
Ответ 8
Если вам нужен динамический способ переключения языков внутри вашего приложения и с помощью решения на основе Pods, выполните следующие действия:
https://github.com/nullic/DPLocalizationManager
Установить с помощью: pod 'DPLocalization', '~> 1.2'
Он поддерживает те же стандартные файлы локализации, но также использует динамическое связывание с использованием User Defined runtime attributes
, а также внутри кода, например viewDidLoad
.
Некоторые примеры в примере проекта:
self.startup.text = DPLocalizedString(@"TITLE", nil);
self.label.autolocalizationKey = @"LABEL_TEXT";
[self.label updateAutolocalizationArguments:@[@"Hello", @1234567890, [NSDate date]]];
self.autolocalizationKey = @"TITLE";
Загрузите проект git, который включает пример проекта, показывающий несколько примеров.