Как сделать имя приложения iOS локализуемым?

Я пытаюсь найти самый простой способ локализовать свое приложение. Я использую sqlite, поэтому мне нужно в основном только переключить имя моей базы данных. Проблема в имени приложения - может ли он быть локализован из кода, или я должен сделать x приложений для x языков, так что у кого-нибудь будет имя приложения на его/ее родном языке? Последний кажется мне уже отвергнутым приложением... кем угодно?

Ответ 1

Я предполагаю, что вы имеете в виду отображаемое имя Bundle, которое появляется на главном экране устройства: Вы должны создать локализованный файл с именем InfoPlist.strings, аналогичный файлу Localizable.strings, который вы используете для обычных текстовых фрагментов.

В InfoPlist.strings вы можете локализовать различные ключи из вашего Info.plist. Чтобы локализовать имя приложения, добавьте:

"CFBundleDisplayName" = "My localized app name";

Чтобы локализовать файл: просто создайте новый файл строк в Xcode. Затем покажите правильную область Xcode и добавьте локализацию через меню, показанное здесь:

XCode localizations

Используя эту технику, вы можете локализовать любой файл, который вам нравится. Просто добавьте правильную версию в свой комплект. Если вы затем используете [[NSBundle mainBundle] pathFor..., вы автоматически получите путь к правильной локализации. Мы делаем это для sqlites, строк и иногда даже изображений.

Ответ 2

Вы можете установить имя приложения самостоятельно для каждой страны. iTunes официально поддерживает переводы на родном языке через iTunes Connect.

Это единственный способ сделать это, и вы можете сделать это ТОЛЬКО для магазинов приложений по всему миру, которые НЕ используют английский в качестве основного языка.