Как я могу локализовать текст в представлениях xib, не создавая xib для каждого языка? - PullRequest
11 голосов
/ 11 января 2012

Я хочу локализовать текст в представлении xib. В настоящее время у меня есть несколько XIB для каждого языка.

Можно ли локализовать текст внутри xib-файла без создания отдельных xib-файлов для каждого языка?

Ответы [ 5 ]

1 голос
/ 11 января 2012

Звучит так, будто вы хотите узнать о файлах .string.

Вот еще вопрос, на который вы можете посмотреть для получения дополнительной информации: Откройте файлы .string как NSDictionary

0 голосов
/ 05 сентября 2016

Я думаю, что локализация XIBS напрямую не является хорошим вариантом. Я использую https://github.com/steipete/Aspects, чтобы подключить метод awakeFromNib UILabel и локализовать там текст. Пример:

 #define Localized(_v_) NSLocalizedString(_v_, nil)
 NSError *err = nil;
[UILabel aspect_hookSelector:@selector(awakeFromNib)
                 withOptions:AspectPositionAfter
                  usingBlock:^(id<AspectInfo> aspectInfo) {
                      UILabel *label = aspectInfo.instance;
                      NSString *lStr = Localized(label.text);
                      if (lStr) {
                          label.text = lStr;
                      }
} error:&err];

Если у вас есть UIButton и другие UIView для обработки, вы можете просто подключить awakeFromNib к UIView и локализовать каждый вид представления.

0 голосов
/ 19 марта 2013

Эта проблема сводила меня с ума.

Я сталкивался с этим постом и несколькими другими, пытаясь упростить локализацию xib для себя. Я опубликовал свой метод включения IBOutles для ярлыков / кнопок по этому вопросу, отлично сработал для меня, ограничивает все изменения файлами Localization.strings.

https://stackoverflow.com/a/15485572/1449834

0 голосов
/ 19 сентября 2012

Локализация применяется для текста, а не Xib. Итак, вам не нужно рассмотрим файл xib. Локализация легкая, не слишком сложная. Проверьте Эта ссылка Вам поможет.

http://www.raywenderlich.com/2876/how-to-localize-an-iphone-app-tutorial

0 голосов
/ 19 сентября 2012

Исходя из фона Android, я задавал тот же вопрос.Даже Apple рекомендует создавать отдельные файлы xib для каждого языка.К счастью, этот процесс можно автоматизировать с помощью ibtool в сценарии сборки.Это хорошо описано в этой статье .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...