У меня возникла странная проблема с системой локализации, встроенной в Cocoa. Я использовал genstrings для создания файла localizable.strings для моего проекта, и файл загружает и заменяет строки, как ожидалось в моем приложении.
Однако, похоже, он работает только с каждой другой сборкой. Я создам код с XCode, протестирую его на своем устройстве, и он не будет отображать правильные строки без проблем. Однако следующая сборка не сможет загрузить файл строк (по крайней мере, это то, что я предполагаю). Это не случайно, но предсказуемо каждая другая сборка. Я ничего не делаю с файлом Localizable.strings.
Я не знаю, где даже начать диагностировать эту проблему, и мне было интересно, есть ли у кого-нибудь опыт локализации на Cocoa.
Я использую NSLocalizedString на всей моей базе кода так:
NSLocalizedString(@"ReallyNewGame", @"Are you sure you want to start a new game?")
Соответствующая запись в моем файле Localizable.strings:
/* Are you sure you want to start a new game? */
"ReallyNewGame" = "Do you really want to start a new game?";
Вот некоторые из частей моего Info.plist:
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
Вот скриншот того, что происходит с каждой другой версией приложения:
Правильно:
Неправильно:
Я сбив с толку, почему это происходит. Я ничего не делаю вручную с файлом Localizable.strings, и я несколько раз очищал свой проект на XCode. Любые указатели в правильном направлении были бы весьма полезны. Если вам нужна дополнительная информация, я попытаюсь ее предоставить.
Спасибо!