Получение локализованных строк для определенного языка - PullRequest
1 голос
/ 01 апреля 2009

Я пытаюсь получить локализованные строки для английского языка (в en.lproj / Localizable.strings) для использования в качестве значений по умолчанию, когда локализованная строка для предпочтительного языка пользователя не найдена.

Я хочу передать это значение по умолчанию этому методу:

[[NSBundle mainBundle] localizedStringForKey:key value:defaultValue table:nil]

Но я не нашел простого способа получить это значение. Я могу создать словарь из файла строк, но мне было интересно, есть ли более удобный способ?

Ответы [ 2 ]

1 голос
/ 09 января 2011

Является ли английский вашим регионом развития (языком)? Если это так, по умолчанию любая локализуемая строка, которая не была переведена на предпочитаемый пользователем язык, будет откатываться на английский. Это регулируется ключом CFBundleDevelopmentRegion в списке приложений. Из официальной документации ,

CFBundleDevelopmentRegion

CFBundleDevelopmentRegion (String - iOS, Mac OS X) указывает собственный регион для пакета. Этот ключ содержит строковое значение, которое обычно соответствует родному языку человека, написавшего пакет. Язык, указанный в этом значении, используется в качестве языка по умолчанию, если не удается найти ресурс для предпочитаемого пользователем региона или языка.

Этот ключ автоматически добавляется в файл Info.plist, созданный с помощью шаблонов Xcode. Его «дружественным» представлением является регион местного развития.

1 голос
/ 02 апреля 2009

Я думаю, что Какао автоматически использует английские строки как запасные варианты.

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