Как перевести xcode на русский
Как изменить язык Xcode на русский?
На днях установил и пытаюсь изменить язык интерфейса на русский, но нигде не могу найти данный параметр. Как изменить язык Xcode?
Простой 4 комментария
Add the language you want to be your Base language first. Uncheck all of the files that Xcode offers to localize for you.
In the Info.plist, change the development region to the language that you want to be your base language. Note that the property is a bit misnamed, because its value should be a language code (with an optional country code), rather than a region or country code.
Close your project in Xcode. In another code editor, open projectname.xcodeproj/project.pbxproj and search for developmentRegion. You should see a line like developmentRegion = English;. Change this to reference the same language you put in your Info.plist file.
Reopen the project in Xcode. Go through all your localizable files and check the boxes next to English to generate the localizable resources. Note that for storyboards and xibs, Xcode might create a storyboard instead of a strings file. If that happens, just change the filetype to strings file.
Руководство по локализации для 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 и создайте файл.
Теперь у вас есть файл 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.
Чтобы добавить данные перевода к словам, используемым в сторибордах, дла начала выберите файл сториборда в навигаторе (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).
Локализация названия приложения
Чтобы локализовать название приложения или что-нибудь другое из файла 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:
Затем в обозревателе (File Inspector) выберите японский, чтобы добавить InfoPlist.strings в папку ja.lproj (для этого файл InfoPlist.strings должен оставаться выделенным).
В файле InfoPlist.strings (Japanese), замените значения переводами на японский, как в примере.
Запустите приложение и посмотрите, правильно ли название вашего приложения локализовано на японский.
Вот и весь процесс локализации приложения на другой язык.
Новый способ локализации приложений
Я написал множество приложений и много работал над локализацией. Она ощутимо отнимает рабочее время, поэтому я всегда искал способы упростить её. И наконец мы создали инструмент, который облегчает процесс локализации — он называется InAppTranslation. Если вам интересно, заходите на наш сайт — inapptranslation.com.
Перевод статьи выполнен в Alconost.
Alconost занимается локализацией приложений, игр и сайтов на 60 языков. Переводчики-носители языка, лингвистическое тестирование, облачная платформа с API, непрерывная локализация, менеджеры проектов 24/7, любые форматы строковых ресурсов.
Мы также делаем рекламные и обучающие видеоролики — для сайтов, продающие, имиджевые, рекламные, обучающие, тизеры, эксплейнеры, трейлеры для Google Play и App Store.
Xcode уроки. Урок 1. Интерфейс IDE Xcode и шаблоны
На сегодняшний день мобильные технологии охватывают всё больше сфер деятельности человека. Рост рынка мобильных приложений показывает значимость, удобность и актуальность использования мобильных устройств.
По мере технического прогресса мобильные устройства получают новые технические возможности, растет скорость и надежность при передаче данных в каналах беспроводной связи. Мобильные телефоны, смартфоны, планшетные компьютеры становятся основной частью цифровой жизни человека.
С каждым днём растёт количество разработчиков, увеличивается количество приложений и пользователей, а также все больше и больше компаний понимают необходимость создания собственных приложений для повышения конкурентоспособности, поэтому необходимо изучить новые инструменты: языки программирования, среды разработки для ОС.
Цель урока: ознакомление с интерфейсом и возможностями среды Xcode. Обучение тому, как пользоваться и с чего начать для создания первого проекта. Получение знаний для создания проекта, используя специальные шаблоны среды, а также изменяя основные настройки проекта. Получение представлений о каждом файле проекта Xcode, а также о их основном предназначении.
Краткое описание IDE Xcode
Компания Apple создала мощные наборы инструментов для разработчиков ПО. Все эти инструменты объединены в одном приложении под названием Xcode, который позволяет разработчику создавать, тестировать, развертывать и распространять приложения.
Xcode – это интегрированный программный продукт компании Apple для разработки программного обеспечения для платформ: iOS, macOS, WatchOS и tvOS. Xcode уникален и поддерживает целый ряд технологий, он содержит все, что необходимо разработчику: интуитивно понятный редактор кода с подсветкой синтаксиса, расширенные возможности отладки программ, простой, но многофункциональный интерфейс и многое другое.
Xcode поддерживает языки программирования: C, C++, Objective-C, Java, AppleScript, Python, Ruby, ResEdit и Swift, с различными моделями программирования, включая, но не ограничиваясь, Cocoa, Carbon и Java. Сторонние разработчики добавили поддержку GNU Pascal, Free Pascal, Ada, C#, Perl и D.
Самая первая версия Xcode была выпущена в 2001 году, с тех пор было выпущено целых 9 версий этой программы, которая распространяется в Apple Store абсолютно бесплатно для разработчиков. На сегодняшний день, 9 версия Xcode – это самая свежая стабильная версия. С момента выхода первой версии данной IDE в 2001 году, среда разработки менялась в положительную сторону. Внедрялись новые технологии и наборы инструментов, которые помогали разработчику в процессе создания приложений.
Interface Builder
Interface Builder – Это интерфейсный редактор, который позволяет проектировать и создавать полный пользовательский интерфейс мобильных приложений. Является составной частью IDE Xcode. Компания Apple позаботилась о том, чтобы интерфейс Xcode был дружелюбен и понятен:
На рисунке цифрами обозначены отдельные элементы программы:
Левую, правую и нижние панели легко можно скрыть кнопками, расположенными в правом верхнем углу, чтобы сосредоточиться на процессе написания программы. Левая панель может отображать разную информацию: когда активна первая иконка, то панель отображает все файлы, которые относятся к текущему проекту.
Настройки проекта Xcode и файлы проекта
Если кликнуть по названию проекта (в данном случае “Tip Calculator”), то можно перейти к основным настройкам проекта. В настройках проекта всегда можно изменять некоторые параметры, такие как: версия приложения, разработчик, версия iOS, для которой ведется разработка, устройства, для которых ведется разработка и многое другое.
Файл проекта «AppDelegate.swift» содержит в себе специальный программный код с функциями. Этот файл является важным и содержит следующие некоторые методы:
1) Методы, необходимые для конфигурации и загрузки приложения в память;
2) Методы, которые должны вызываться при сворачивании приложения или, например, при входящем звонке;
3) Методы, которые срабатывают при переходе в фоновый режим работы приложения;
4) Методы обновления информации приложения при переходе в активный режим работы;
5) Методы удаления приложения из памяти при закрытии его пользователем.
Файл проекта «ViewController.swift» содержит в себе основной программный код любого приложения, написанного в Xcode.
Файл проекта «Main.storyboard» является основным при создании интерфейса приложения, ведь именно в нём содержится информация о расположении различных элементов (текстовых полей, кнопок, количества окон и др.). Из библиотеки объектов легко можно перетаскивать элементы будущего интерфейса (label, button, text field и многие др.) и помещать на экран приложения.
Например, на рисунке можно увидеть, что на главном экране приложения добавлены из библиотеки: два TextField, три Lable, Button и Switch. К этим элементам можно привязывать код или выводить какую-либо информацию, а также изменять их размеры, перемещать и менять различные свойства: цвет, шрифт и т.д.
Так как в Xcode можно создать универсальное приложение для устройств с разным размером экрана, то существуют и инструменты, которые помогают настроить адаптацию под различные размеры экрана и ориентации устройства (альбомные или портретные).
Файл проекта «images. xcassets» содержит в себе иконки и изображения, которые в дальнейшем будут использоваться в проекте.
Файл проекта «LaunchScreen.xib» – это то, что показывается пользователю при загрузке приложения. Здесь можно добавлять любые элементы из библиотеки объектов, которые будут создавать общий вид, являющийся, по сути, загрузочной заставкой приложений.
Создание проекта и шаблоны в Xcode
Создать проект в среде Xcode несложно. Чтобы это сделать, необходимо запустить Xcode и выбрать «Create a new Xcode project» на первоначальном экране приветствия.
Apple предоставляет по умолчанию множество различных шаблонов проектов для iOS, каждый из которых полезен для начала работы над различными проектами:
Шаблон Single View Applications самый простой и является отправной точкой для многих приложений. Создаётся совершенно пустой интерфейс, который может изменяться разработчиком по своему усмотрению.
Шаблон Master-Detail App подходит, если планируется, что приложение будет активно использовать элемент UITableView. По умолчанию Xcode создаёт проект, который имеет вид таблицы, куда пользователь может добавить строку, используя в правом углу панель навигации.
Шаблон Page-Based Application создаёт страницу-книгу, позволяя пользователю перелистывать страницы. Такой шаблон подходит, если планируется создать приложение, которое отображает информацию в книжном формате, т.е. пользователь будет просматривать страницы свайпом влево или вправо.
Шаблон Tabbed Applications создаёт панель вкладок и две готовые вкладки. При переключении вкладок происходит переход к разным частям приложения.
Шаблон Games позволяет создавать игры, используя технологии Apple OpenGL ES, GLKit, Scene Kit и Metal.
Для создания базового приложений подойдёт шаблон Single View. После того, как шаблон выбран, необходимо нажать кнопку «Next» для перехода на следующее окно:
Далее необходимо заполнить поля:
Product Name (Название продукта) – название будущего приложения. Название проекта в будущем можно изменить во время разработки.
Team (Команда) – Название команды разработчиков, занимающихся разработкой приложений. В данном случае выбран сертификат одного человека «персональной команды».
Organization Name (Название организации) и Organization Identifier (Идентификатор организации) – поля требуются для указания компании, которая разрабатывает программное обеспечение. Необходимо для того, чтобы подать заявку в App Store для публикации приложения. Идентификатор организации в стиле обозначения обратного имени домена. Например, если название организации «togu», то идентификатор организации будет «com.togu».
Language (Язык) – поле со списком, состоящее из двух языков, на одном из которых будет происходить разработка мобильного приложения: Swift или Objective C.
Настройка локализаций в Xcode 8 и Swift 3
Поддержка нескольких локализаций важна для любого приложения. Это может позитивно сказаться на его дальнейшем продвижении, да и всегда приятно видеть программу на родном языке, ведь не каждый может владеть, например, английским. В этой статье мы научимся создавать в мобильном приложении для iOS локализации текста, даты, чисел, валюты и изображений на примере русского и английского языков.
В итоге мы должны получить такой результат:
Для работы нам понадобится компьютер с macOS и средой разработки Xcode версии 8 и выше.
Подготовка проекта
Создадим новый проект. Для этого открываем Xcode и выбираем в меню File → New → Project:
В появившемся окне нужно выбрать «Single View Application» для iOS:
После нажатия на кнопку Next нужно ввести название проекта (Locale), выбрать команду разработчиков (поле можно оставить пустым), указать организацию (в примере используется «GS Develop», но можно выбрать любое другое название), создать идентификатор приложения (любой, но необходимо соблюдать формат, указанный на скриншоте), язык проекта (Swift) и устройство (iPhone).
После этого сохраним приложение в любом удобном месте на компьютере.
Настройка Main.storyboard
Откроем файл Main.storyboard и создадим копию того, что изображено на скриншоте ниже:
Назначаем IBOutlets для UIControls
Прописываем значения для текстовых полей
Локализируем значения для даты, валюты и цифр
Необходимо переписать и саму функцию. Теперь она будет выглядеть так:
После внесения этих изменений при запуске приложения можно будет увидеть локализованные поля:
Добавляем поддержку второго языка
Чтобы добавить поддержку русского языка, нужно добавить его в наш проект. Для этого переходим в Project target и во вкладке Localization выбираем русский язык:
В окне добавления файлов локализации мы можем добавить поддержку нескольких языков для главного экрана и экрана запуска. В этой статье мы будем использовать только локализацию для главного экрана:
Настройка локализаций на главном экране приложения
Откроем новые элементы для Main.strings (Russian) и введем русские названия для некоторых значений:
Тестируем на симуляторе
Чтобы проверить работу локализаций, нам нужно установить русский язык в симуляторе. Для этого переходим в Scheme Option. В появившемся окне переходим во вкладку Options, выбираем Application Language и устанавливаем русский язык:
Теперь при запуске приложения мы видим частично локализованное приложение:
Осталось локализировать изображение и текст «Good Morning».
Локализация текста с использованием NSLocalizedString
Чтобы заменить текст «Good Morning» на «Доброе утро», нужно добавить в проект файл типа Strings и назвать его Localizable.strings:
Теперь откроем этот файл в File Inspector, перейдем в пункт Localize и выберем русский язык. Затем отметим галочками английский и русский языки:
Теперь у нас появились файлы Localizable.strings (Russian) и Localizable.strings (English) :
Добавим следующие строки в файл Localizable.Strings (English) :
Добавим также строки в файл Localizable.Strings (Russian) :
После этого вернемся к файлу ViewController.swift и заменим строку:
В итоге наш код должен выглядеть так:
При запуске приложения мы должны увидеть новую надпись:
Локализация изображений
Чтобы локализировать изображение, добавляем в каталог Assets.xcassets картинку с русским текстом (можно взять любую подходящую). После этого переходим в Localizable.Strings и прописываем такие строки:
Для Localizable.Strings (English) :
Для Localizable.Strings (Russian) :
Затем вернемся к файлу ViewController.swift и заменим строку с названием изображения:
Теперь при запуске приложения мы сможем увидеть локализованное изображение:
На этом все. Исходные файлы проекта можно скачать на Github.
























