Setting language on iphone

Change the language on your iPhone, iPad, or iPod touch

You can change the language setting on your iPhone, iPad, or iPod touch if it’s incorrect or if you’ve accidentally changed the language to one you don’t understand.

Open Settings

On the Home screen, tap Settings.

Tap General

On the next screen, tap General.

Select Language & Region

Scroll down and tap Language & Region.

Tap Device language

On the next screen, tap «[Device] Language».

Select your language

Pick your language from the list.

Confirm your selection

An alert will ask you to confirm the new language. Tap the first option.

After your device updates the language, your device should automatically display the language you selected.

Источник

Руководство по локализации для iOS

Локализация — это процесс, когда вы создаете для вашего приложения поддержку других языков. Часто вы сначала делаете приложение с англоязычным интерфейсом и затем локализуете его на другие языки, например, на японский.

Процесс локализации — трудоемкий, а его шаги потихоньку меняются по мере обновления XCode. Этот пост объясняет каждый шаг на основе последней версии XCode (7.3.1).

Переведено в Alconost

Перед началом работ по локализации убедитесь, что выбрали опцию «Использовать базовую интернационализацию» (Use Base Internationalization).

Что такое базовая интернационализация?

При создании проекта XCode автоматически генерирует ресурсы и структуру файлов для языка по умолчанию.

Это — так называемый базовый (Base) язык. Если вы делаете приложение для глобального рынка, в ваших базовых языковых ресурсах, как правило, будут тексты на английском языке.

Добавление новой локализации

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

Выберите файл своего проекта в навигаторе (Project Navigator), затем выберите свой проект в списках проектов (Project) и целевых параметров (Targets). Откройте вкладку «Информация» (Info) и нажмите кнопку «+» под блоком «Локализации» (Localizations). Теперь выберите язык, который хотите поддерживать, из представленных в выпадающем списке.

XCode откроет диалог с набором ресурсов, которые необходимо добавить для нового языка. Нажатие кнопки «Завершить» (Finish) создаст эти файлы в папке нового языкового проекта под названием [новый язык].lproj. (В этом примере добавлена поддержка японского языка, соответственно, создана папка ja.lproj.)

Теперь у нас есть структура файлов в папке проекта, как в примере ниже.

Где файл Localizable.strings?

Файл Localizable.strings — там, где вы добавляете данные перевода как пары «ключ/значение».
Ранние версии XCode по умолчанию генерировали файл Localizable.strings, копии которого можно было легко создавать для других языков.

Последние версии XCode не создают файл Localizable.strings по умолчанию.

Чтобы добавить файл Localizable.strings, выберите File → New → File, а затем файл Strings (Strings File) на вкладке ресурсов (Resource) для iOS, задайте имя Localizable.strings и создайте файл.

Читайте также:  Https appleid apple com accounts

Теперь у вас есть файл Localizable.strings для базового (Base) языка, как в примере ниже.

Чтобы добавить Localizable.strings для японского языка, выберите японский (Japanese) в обозревателе (File Inspector). Это создаст новый файл Localizable.strings file в папке ja.lproj.

Теперь у нас есть два файла Localizable.strings: один в папке Base.lproj, другой — в папке ja.lproj.

Давайте добавим слова и фразы, используемые в приложении, в файл Localizable.strings базового языка.

Ниже — пример добавления «Welcome» = «Welcome»;

Левая часть — это так называемый ключ, с помощью которого потом метод NSLocalizedString извлекает текст (значение) из правой части. Так выглядит этот тип данных — пары «ключ/значение».

Ниже — пример метода NSLocalizedString. Мы устанавливаем ключ как первый параметр метода, таким образом позволяя ему извлечь соответствующее значение из файла Localizable.strings и вернуть его. В этом примере мы получаем локализованные строки для заголовка, сообщения и кнопок уведомления.

Запуская приложение, мы видим уведомление с текстами на английском языке.

Следующий шаг: добавляем тексты на японском языке в файл Localizable.strings в папке ja.lproj. Используем те же ключи, но заменяем значения на соответствующие переводы на японский язык.

Затем в симуляторе iOS переключаем язык телефона на японский, запускаем приложение и видим уведомление с текстами на японском языке.

Переключать язык телефона каждый раз, когда надо проверить результаты локализации, слишком трудозатратно. В XCode предусмотрена удобная возможность переключать языки только для приложения, когда оно запущено в симуляторе iOS.

Чтобы сделать это, выберите Edit Scheme из выпадающего меню в левом верхнем углу окна XCode и поменяйте язык приложения (Application Language) с системного (System Language) на японский (Japanese). (Если потерялись, смотрите на скриншот ниже.)

Эта конфигурация не переключит язык телефона в симуляторе, но поменяет язык среды в приложении на указанный вами. Это удобно, когда вы добавляете несколько языков и хотите переключаться между ними для проверки результатов локализации.

Локализация сторибордов

Что ж, теперь мы знаем, как извлечь локализованные тексты с помощью NSLocalizedString и как подготовить данные в файлах Localizalbe.strings.

Этого достаточно, чтобы программно показывать локализованные тексты пользователям.
Следующий шаг — поддержка локализации текстов, заданных в сторибордах (Storyboards), например, названий кнопок. Если вы задаете названия кнопок или ярлыков в сторибордах и не меняете эти тексты программно в контроллерах представлений (ViewControllers), вам придется делать локализацию ваших .storyboard-файлов.

Чтобы добавить данные перевода к словам, используемым в сторибордах, дла начала выберите файл сториборда в навигаторе (Project Navigator), затем найдите и добавьте японский (Japanese) в обозреватель (File Inspector) справа. Это создаст файл [StoryboardFileName].strings в папке ja.lproj. В примере ниже для файла Main.storyboard создан файл Main.strings (Japanese).

В файле Main.strings вы увидите нечто подобное.

Замените часть «Get Started» на соответствующую японскую фразу.

Запустите приложение. Убедитесь, что название кнопки правильно локализовано на японский.

Что не так с файлами [Storyboard].strings

Единственная проблема в том, что файл Main.strings не обновляется, когда вы добавляете новые компоненты пользовательского интерфейса в файл сториборда.

Потому вам всегда придется сначала определиться с компонентами интерфейса и только потом создавать Main.strings, включая, например, японскую локализацию в обозревателе (File Inspector).

Читайте также:  Как включить java айфон

Локализация названия приложения

Чтобы локализовать название приложения или что-нибудь другое из файла Info.plist, создайте файл InfoPlist.strings.

Выберите Go to File → New → File, затем файл Strings (Strings File) на вкладке ресурсов (Resource) для iOS и задайте имя InfoPlist.strings. Сохраните файл InfoPlist.strings в папке Base.lproj. (Теперь XCode отнесет этот файл InfoPlist.strings к базовому языку.)

Обычно мы локализуем эти два значения в файле info.plist:

  • CFBundleDisplayName — название приложения в том виде, в котором оно отображается на главном экране;
  • NSHumanReadableCopyright — информация об авторских правах (например: 2014, Goldrush Computing Inc. Все права защищены).

Укажите название приложения и информацию об авторских правах для этих ключей, как в примере ниже.

Затем в обозревателе (File Inspector) выберите японский, чтобы добавить InfoPlist.strings в папку ja.lproj (для этого файл InfoPlist.strings должен оставаться выделенным).

В файле InfoPlist.strings (Japanese), замените значения переводами на японский, как в примере.

Запустите приложение и посмотрите, правильно ли название вашего приложения локализовано на японский.

Вот и весь процесс локализации приложения на другой язык.

Новый способ локализации приложений

Я написал множество приложений и много работал над локализацией. Она ощутимо отнимает рабочее время, поэтому я всегда искал способы упростить её. И наконец мы создали инструмент, который облегчает процесс локализации — он называется InAppTranslation. Если вам интересно, заходите на наш сайт — inapptranslation.com.

Перевод статьи выполнен в Alconost.

Alconost занимается локализацией приложений, игр и сайтов на 60 языков. Переводчики-носители языка, лингвистическое тестирование, облачная платформа с API, непрерывная локализация, менеджеры проектов 24/7, любые форматы строковых ресурсов.

Мы также делаем рекламные и обучающие видеоролики — для сайтов, продающие, имиджевые, рекламные, обучающие, тизеры, эксплейнеры, трейлеры для Google Play и App Store.

Источник

How to Change the Language on iPhone & iPad

The iPhone language is set during the initial setup of the device, defaulting to wherever region it was sold. But if you would like to change the language used on iPhone, you can do so at any time without resetting the device back to factory defaults, instead you’ll just need to turn to the settings in iOS.

Changing the language in iOS takes just a few seconds. You can set it to anything you want, which can be helpful if the language was accidentally changed, you don’t understand the language currently in use, or perhaps because you’re learning a foreign language and you want greater immersion.

In any case, here’s what you’ll want to do to make changes to the language on your device:

How to Add & Switch Languages on iPhone or iPad

Adding a new language or switching to a different one is rather easy in iOS and iPadOS:

  1. Open the Settings app then go to “General”
  2. Choose “Language & Region” and tap on ‘iPhone Language’*
  3. Select the language you wish to change the iPhone to, and confirm that you wish to change the iPhones language to the choice
  4. Wait a moment or two and iOS will switch to the new language
Читайте также:  Как сбросить айфон через 3utools

You can change the language on iPhone at any time using this option screen, and it’s the same for any other iOS device too, so if you wish to do so on an iPad or iPod touch the language setting will be in the same place.

* The default language options included directly on iPhone are for English, Spanish, German, Chinese (Simplified and Traditional), Japanese, Dutch, Italian, Japanese, Korean, Arabic, and additional languages can be downloaded if necessary. Choose “Other Languages” if the latter situation applies to you.

If you’re wondering, this is completely different from adding keyboard support to another language, which is another option for bilingual and multilingual users, though adding other language keyboards also allows for things like special character access on the iOS keyboard and of course, the popular Emoji keyboard.

By the way, if you’re adjusting language settings to help you learn another language or because you’re traveling, you may want to check out the rather amazing Word Lens app, which uses the iPhone camera to translate languages on the fly, it’s quite impressive. Adjusting the Maps language can also be helpful too.

If you have any tips, insight, thoughts, or experiences about adding and switching languages on iPhone or iPad, share in the comments below.

Источник

Setting language on iPhone application

I am working on an application which I am planning to release both in English and Spanish languages. With this I mean, I would like it to have two separate apps in the App Store, one being displayed with English title, and the other one with Spanish title (and each with contents in their respective language).

This means that the language in the app would be static, that is, that actually the app would not be internationalized, in the sense that the app would not display the language according to the user’s locale settings, but according to either English or Spanish depending on the app bought.

I initially thought of using a constants file with constants strings of all the labels, button titles, etc. and having an identical separate project for each language, and changing this constants file on each project, but of course, this involves some hassle regarding maintenance.

The other approach I am thinking of, is actually performing the whole internationalization process (NSLocale, localization files, etc), and somewhat at the app startup skip the user’s locale, and set either language programmatically (here, I would only need to know is how to skip such default i18n process to set a specific language. In this case, I would see the advantage of having only one local project, and the possibilty of setting the language on each build, for a different language app.

Could you please provide advice regarding which approach or best practice to follow?? Does this make sense, or is there another approach that I should follow instead in order to have the two separate, fixed language apps?

Источник

Оцените статью