30 мая 2024

🍏🈺🔡 Как перевести все ваши iOS-приложения на 20 языков за 5 минут

Инженер ПО, делаю majordom.io
Локализация iOS-приложений может быть трудоемкой и затратной. Но с правильными инструментами вы можете автоматизировать процесс и перевести свое приложение на 20 языков всего за 5 минут. Вот как это сделать.
🍏🈺🔡 Как перевести все ваши iOS-приложения на 20 языков за 5 минут

Предисловие

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

  1. Расширение аудитории: Локализация вашего приложения вы можете охватить пользователей, которые не могут говорить на языке вашего приложения по умолчанию. Это может помочь вам подключиться на новые рынки и увеличить вашу пользовательскую базу.
  2. Улучшение пользовательского опыта: Пользователи с большей вероятностью будут использовать и наслаждаться приложением, которое доступно на их родном языке. Локализация вашего приложения может помочь вам обеспечить лучший пользовательский опыт, что может привести к лучшим обзорам, рейтингам и показателям удержания. Локализация вашего приложения может дать вам конкурентное преимущество в регионах, где ваши конкуренты, возможно, не локализовали свои приложения.
  3. Увеличение доходов: Локализация вашего приложения может привести к увеличению доходов, поскольку пользователи с большей вероятностью будут делать покупки в приложении или оплачивать подписки, если приложение доступно на их родном языке.

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

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

📱Библиотека мобильного разработчика
Больше полезных материалов вы найдете на нашем телеграм-канале «Библиотека мобильного разработчика»

Подготовьте свой проект

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

  1. Создайте файл Localizable.strings и заполните его строками, которые вы хотите локализовать./* optional description */ "[key]" = "[string]"; /* Example: */ "welcome text" = "Welcome to XCodelocalize";
  2. Перейдите в настройки файла проекта, добавьте желаемые языки. Apple рекомендует EFIGS (английский, французский, итальянский, немецкий, испанский) + китайский язык в качестве основы.
  3. Создайте файлы Localizable.strings для всех выбранных языков. Скорее всего, вы так же захотите локализовать файлы plist, storyboard и intentdefinition.

Установка XCodeLocalize

Неожиданно, инструмент для iOS разработки оказался написанным на питоне, так что убедитесь, что у вас есть python 3.9+

После этого вы можете установить xcodelocalize с помощью pip:

        pip3 install xcodelocalize
    

Также доступна установка из .whl-файла на странице релизов или с помощью poetry из исходников.

Запустите автоматическую локализацию

cd к корневой папке проекта и запустите

        xcodelocalize [OPTIONS]
    

или

        python3 -m xcodelocalize [OPTIONS]
    

Параметры

  1. --base-language: код языка, с которого будут переведены все строки. [по умолчанию: 'en']
  2. --override / --no-override: булево значение; указывает, будут ли переведены строки, которые уже существуют в файле. Перевести, если override; пропустить, если no-override. [по умолчанию: no-override]
  3. --format-base / --no-format-base: сортировать строки base файла по ключу. [по умолчанию: no-format-base]
  4. --file: Имена .strings файлов для перевода. Можно указать несколько файлов. Если не указано, все файлы будут переведены. [по умолчанию: None]Пример:xcodelocalize --file InfoPlist xcodelocalize --file InfoPlist --file MainStoryboard --file Localizable
  5. --key: Ключи, которые должны быть переведены. Можно указать несколько ключей. Если не указано, все будут переведены. [по умолчанию: None]
  6. --language: Код языков, которые будут переведены. Допускается множество значений. Если не указано, все файлы будут переведены. [по умолчанию: None]
  7. --log-level: Один из [progress|errors|group|string]. [по умолчанию: group]
  8. --help: Информация о параметрах

Автоматизация

Вы можете перейти в Target -> Build Phases -> New Run Script Phase в вашем проекте Xcode и ввести xcodelocalize. Оно будет переводить необходимые строки во время сборки и ваши файлы всегда будут локализованы.

Заключение

Теперь вы знаете, как быстро локализовать свои iOS приложения. Поставьте звезду репозиторию, чтобы не потерять.

Дисклеймер

Машинный перевод, хотя и не всегда точен, предоставляет основу для понимания общего смысла текста. Я бы использовал его как первый шаг в процессе перевода, где профессиональные переводчики и команда тестирования могли бы доработать текст, сосредоточив внимание на сложных для понимания местах. Большинство простых фраз, вероятно, будут переведены корректно, что позволит специалистам уделить больше времени сложным сегментам. Автоматический перевод также может расширить аудиторию за счёт добавления новых языковых версий, а пользователи из разных стран помогут улучшить качество перевода, будь то в рамках коммерческой инициативы или сообщества опенсорса.

Также качество перевода может быть улучшено заменой гугл-переводчика, например, на DeepL или LLM с промтом на перевод. Буду рад увидеть подобные пулл реквесты в гитхабе.

***

Автор: Марк Паркер

www.markparker.me

Телеграм-канал: t.me/parker_is_typing

МЕРОПРИЯТИЯ

Комментарии

ВАКАНСИИ

Добавить вакансию
Java Team Lead
Москва, по итогам собеседования
Senior Java Developer
Москва, по итогам собеседования

ЛУЧШИЕ СТАТЬИ ПО ТЕМЕ