Localizable.strings скомпилированы дважды? - PullRequest
0 голосов
/ 21 мая 2011

Когда я переключаюсь с xcode3 на xode4, я обнаружил, что для нескольких строк в приложении мне нужно скомпилировать его дважды, чтобы сделать его локализованным ... У кого-нибудь когда-нибудь возникала такая же проблема?

Ответы [ 2 ]

2 голосов
/ 21 мая 2011

Я видел, как это происходило, когда на файл строк дважды ссылались в фазе сборки «Ресурсы».Xcode не предупредит вас, когда это произойдет, и это может вызвать странное или неопределенное поведение.Просмотрите все этапы сборки и убедитесь, что файл находится только в одном месте.

0 голосов
/ 17 сентября 2011

Если у вас есть такой случай, как у меня, что у вас есть два файла Localizable.strings (потому что вы используете некоторые дополнительные фреймворки (например, ShareKit), которые сами используют файлы Localizable.strings), то вы также можете сделатьследующее:

  1. Переименовать дополнительные файлы Localizable.strings в sth.например, RenamedFile.strings, чтобы в конце был файл <= 1 Localizable.strings. </p>

  2. Поиск и замена всех вхождений NSLocalizedString(key, description);
    , относящихся к RenamedFile.strings, на
    NSLocalizedStringFromTable(key, @"RenamedFile", description);

Пример:
Допустим, у вас есть
(A) ваш собственный файл Localizable.strings
(B)и файл Localizable.strings, потому что вы используете ShareKit, который также имеет свои собственные локализации.

  1. Переименуйте Localizable.strings ShareKit в ShareKit.strings
    (используя Git и Xcode 4 Iбыли некоторые проблемы с переименованием файлов, но это было решаемо).

  2. Найдите все вхождения NSLocalizedString в папке ShareKit (должно быть 3) и замените их:

    • NSLocalizedString(key, key);
      -> NSLocalizedStringFromTable(key, @"ShareKit", key);
    • NSLocalizedString(@"Disconnect from Facebook", @"Accessibility label");
      -> NSLocalizedStringFromTable(@"Disconnect from Facebook", @"ShareKit", @"Accessibility label");
    • NSLocalizedString(@"Connect to Facebook", @"Accessibility label");
      -> NSLocalizedStringFromTable(@"Connect to Facebook", @"ShareKit", @"Accessibility label");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...