Управление переводами

Over the Air (Strings)

Контент автоматически переведен с английского языка с помощью Phrase Language AI.

Обновления Over-the-Air (OTA) предлагают гибкий способ доставки обновлений перевода для мобильных и веб-приложений без необходимости выпуска новой версии в App Store, Google Play или на других платформах развертывания. Этот подход поддерживает непрерывную локализацию и гибкие рабочие процессы разработки за счет сокращения задержек и ручных процессов.

Функция OTA в Phrase Strings интегрируется с платформами iOS, Android, React Native, Flutter, i18next и Rails. Обновления текстовых меток мгновенно отправляются в мобильные приложения.

Диаграмма устройства пользователя OTA

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

Для мобильных приложений OTA требует интеграции соответствующего комплекта средств разработки (SDK) в приложение для получения переводов из Phrase Strings во время выполнения.

Рекомендации

Подробную информацию о распространении, выпусках и справочных материалах по API см. в Центре разработчиков.

При первом запуске приложения, использующего SDK для iOS, Android, React Native или Flutter, на устройстве создается уникальный случайный идентификатор устройства. Этот идентификатор отслеживает активных пользователей в течение определенного периода времени. Он не используется для каких-либо иных форм или средств отслеживания и не содержит никакой информации о пользователе или устройстве.

Количество OTA-запросов и число ежемесячных активных пользователей (MAU) ограничены в зависимости от выбранного тарифного плана.

MAU — это количество уникальных устройств, с которых запрашиваются переводы. Каждому устройству присваивается случайный ID. MAU рассчитывается на основе количества уникальных ID, присвоенных за последние 30 дней. Любое взаимодействие с серверами Phrase считается запросом.

Данные, отправляемые с OTA-запросами

SDK взаимодействует со службой OTA для проверки обновлений и включает следующие сведения в каждый запрос:

  • Идентификатор устройства (например, "F3AFCB10-80A2-84CB-94C0-27F5EF58876D"). Уникален для этого приложения и поэтому не позволяет отслеживать конкретное устройство.)

  • Версия приложения (например, 1.2.0

  • Последнее обновление файла перевода (например, 1542187679

  • Версия SDK (например, 1.0.0

  • Локаль (например, "de-DE")

  • Формат файла (например, "strings")

  • Клиент (например, "ios")

  • Distribution ID (ID дистрибутива)

  • Секрет среды (для различения разработки и продакшн-среды)

Домены, используемые SDK:

Центр обработки данных в ЕС

  • ota.eu.phrase.com

  • cdn.eu.phrase.com

  • ota.phraseapp.com

  • cdn.phraseapp.com

Центр обработки данных в США

  • ota.us.phrase.com

  • cdn.us.phrase.com

Phrase OTA SDK разработаны для обеспечения функциональности приложений, даже если OTA API недоступен. В таких случаях SDK переключается на последние успешно полученные переводы, сохраненные на устройстве, или на встроенные переводы, включенные в пакет приложения. Это предотвращает ошибки или отсутствие строк для конечных пользователей. Чтобы гарантировать надежный резервный вариант, встроенные переводы следует обновлять с каждым выпуском приложения.

OTA дистрибутивы

Дистрибутивы — это настроенная конфигурация, которая определяет, как и где доставляются OTA-обновления для конкретной платформы или проекта.

Целевые платформы определяются в рамках дистрибутива:

  • iOS

  • Android

  • Флаттер

  • i18next

  • Rails

Возможно создать несколько дистрибутивов, однако в идеале для каждого проекта используется один дистрибутив. При использовании одного дистрибутива для iOS и Android заполнители для обоих форматов преобразуются автоматически.

Разрешения

Управление OTA-дистрибутивами и релизами ограничено назначением проекта. Пользователи управляют ими только в тех проектах, к которым они прикреплены.

Роли владельца, администратора, менеджера проекта, разработчика и дизайнера по умолчанию имеют полный доступ к OTA-дистрибутивам и релизам. Роль переводчика не имеет доступа.

Владельцы и администраторы имеют доступ ко всем проектам.

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

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

Резервные варианты

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

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

Резервные языки не будут работать с связанными ключами.

Настройка проекта Use fallback for unverified translations применяется при создании файла релиза. Это не зависит от опции Use fallback language на вкладке Fallback languages.

Опция Use fallback language в дистрибутиве разрешается, когда устройство запрашивает релиз. Она охватывает только отсутствующие или непереведённые ключи, но не непроверенные переводы.

Создать дистрибутив

Чтобы создать дистрибутив, выполните следующие действия:

  1. В блоке Over the air (OTA) на странице Integrations нажмите Configure или на число существующих конфигураций, если они уже есть.

    Откроется страница Over the air, на которой отображаются существующие конфигурации.

  2. Нажмите New distribution. Откроется окно Add distribution.

  3. На вкладке General укажите Name, Project, с которым связан дистрибутив, необходимые Languages и необходимые Platforms.

    • Для дистрибутивов Android перейдите на вкладку Android, чтобы выбрать вариант формата, который при необходимости заключает любой перевод, включая HTML-теги, в CDATA.

    • После выбора проекта для связи с дистрибутивом становится доступна вкладка Scheduling. При необходимости используйте эту вкладку, чтобы настроить запланированные OTA-релизы в дистрибутиве.

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

  5. При необходимости перейдите на вкладку Translations, чтобы выбрать опцию использования последней проверенной версии переводов. Включайте эту опцию только при работе с расширенным рабочим процессом проверки.

  6. Нажмите Сохранить.

    Сведения о дистрибутиве отображаются с идентификаторами, требуемыми SDK. Сведения можно просмотреть снова, нажав на дистрибутив на странице Over the air.

OTA-релизы

Чтобы обновить переводы, создайте новый релиз в дистрибутиве. Текущее состояние проекта экспортируется и становится доступным для подключенных клиентов.

Чтобы создать релиз, выполните следующие действия:

  1. На странице Over the air нажмите Add release рядом с нужным дистрибутивом.

    Откроется окно New release.

  2. Укажите Описание, обязательную Платформу, Ветку, Локали и Версии приложения.

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

    Если при создании релиза вручную не выбрана ни одна локаль, все локали, настроенные в дистрибутиве, включаются в релиз по умолчанию.

    При необходимости введите теги, чтобы включить в релиз только ключи с определенными тегами. Добавление фильтра тегов к релизу включает только те ключи, которые содержат этот тег. Ключи без этого тега полностью исключаются из релиза, и подключенное приложение для этих ключей использует статические файлы перевода, встроенные локально в его кодовую базу. Фильтрация по тегам работает независимо от ветвления: если ветвление включено, выберите ветку и соответствующий тег(и); если ветвление не включено, выберите только соответствующий тег(и).

  3. Нажмите Сохранить.

    Релиз добавляется в список в нижней части страницы сведений о дистрибутиве.

Планирование OTA-релизов

Чтобы настроить регулярное расписание для выпуска дистрибутива, выполните следующие действия:

  1. На странице По воздуху нажмите на значок шестеренки Изменить рядом с нужным дистрибутивом.

    Окно Редактирование дистрибутива отображается.

  2. Выберите вкладку Планирование выпуска и нажмите Включить планирование выпуска.

    Отображаются параметры планирования выпуска.

    Примечание

    Параметры планирования также доступны при создании нового дистрибутива через .

  3. В раскрывающемся списке Создавать выпуски каждые выберите частоту выпуска из доступных вариантов:

    • День

    • Неделя

      Выберите нужные дни недели для запланированных выпусков.

  4. Укажите время и соответствующий Часовой пояс.

  5. При необходимости выберите Ветвь, Теги и Языки для запланированных выпусков.

    • Поле Ветвь отображается только в том случае, если в проекте включено использование ветвей. Выбор ветви обновляет список локалей и языков.

  6. При необходимости укажите версии приложения в полях Минимальная версия и Максимальная версия.

    Оставьте пустыми, чтобы применить запланированный выпуск ко всем версиям приложения.

  7. Нажмите «Сохранить».

    Дистрибутив обновляется информацией о планировании выпуска.

Отключение расписания останавливает автоматический выпуск дистрибутива, но настроенные параметры сохраняются.

Примечание

Из-за постоянных доработок пользовательский интерфейс может быть не совсем таким, как представлено в видео.

Примечание

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

Отчеты по OTA Mobile SDK и веб-библиотеке

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

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

Отчеты для каждого дистрибутива доступны через значок Открыть отчеты на странице По воздуху.

Количество активных пользователей, отображаемое в этих отчетах, отражает скользящее 30-дневное окно, основанное на текущей дате, а не на фиксированном календарном или платёжном периоде.

Интеграция OTA SDK

Техническая документация по интеграции OTA SDKs доступна в файле README каждого репозитория проекта:

Была ли эта статья полезной?
★ ★ ★ ★ ★

Sorry about that! In what way was it not helpful?

The article didn’t address my problem.
I couldn’t understand the article.
The feature doesn’t do what I need.
Other reason.

Note that feedback is provided anonymously so we aren't able to reply to questions.
If you'd like to ask a question, submit a request to our Support team.
Thank you for your feedback.