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

Загрузка и выгрузка файлов локализации (Strings)

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

Загрузить файлы локализации

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

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

Существует несколько методов для загрузить файлов:

Параметры загрузить

  • Обновить переводы

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

    Этот параметр также доступен в интерфейс приложений API.

    Примечание

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

  • Использовать префикс ключа перевода

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

    Например, импортированный ключ hello_world с префиксом project_ приведет к появлению ключ project_hello_world.

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

    Этот параметр также доступен в интерфейс приложений API и CLI.

  • Создать и обновить ключи перевода

    Добавить новые ключи и перезаписать существующие контентом из загруженного файла.

  • Обновить перевод при совпадении оригинала

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

  • Обновить описания

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

  • Пропустить загрузить тег<1>

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

  • Ключи тегов новых и обновленных переводов

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

    Этот параметр также доступен в интерфейс приложений API.

  • Кодирование

    Укажите кодировку (например, UTF-8) файла или выберите автоматическое определение (автоматически выбранная кодировка может оказаться неверной, ее можно отменить, отменив загрузку).

  • Вычитка

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

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

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

Загрузить файлы через пользовательский интерфейс

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

  1. Перед тем как загрузить файл, убедитесь, что он отформатирован правильно в соответствии с type.

  2. В проекте выберите Upload file в меню More.

    Откроется страница Upload file.

  3. Нажмите Choose file и выберите файл из каталога.

    Выбранный файл будет добавлен в поле File.

  4. Выберите формат для файла.

    Предлагаемые форматы отображаются первыми в зависимости от типа файла.

  5. Выберите язык для контента файла из раскрывающегося списка.

    Если этой информации нет в самом файле, создайте новый язык для контента или используйте существующий.

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

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

    Контент импортируется и преобразуется в ключи.

Сводка по загрузке

  • Ошибка при загрузке

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

  • Успешная загрузка

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

  • Удаление ключей

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

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

    1. Загрузить файл.

    2. Нажмите Удалить и выберите Удалить неупомянутые ключи.

    3. Подтвердить выбор.

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

    Лимит для удаления неупомянутых ключей составляет 100 000 ключей. В проектах, превышающих этот лимит, опция Удалить неупомянутые ключи недоступна.

  • Отменить загрузку

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

    Чтобы удалить ключи, которые были (ошибочно) добавлены загруженным файлом, выполните следующие действия:

    1. В сводке по соответствующей загрузке нажмите Удалить и выберите Удалить созданные ключи.

    2. Подтвердить выбор.

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

Архив загрузок

На любой странице проекта выберите Загрузки в меню Еще, чтобы получить доступ к архиву загрузок.

В архиве загрузок перечислены все исторические загрузки со всеми возможными статусами. Нажмите на раскрывающийся список Все статусы, чтобы фильтровать загрузки по статусу (Успешно, Неудачно и/или Ход выполнения). Чтобы найти конкретную загрузку, используйте поле поиска вверху для поиска по имени.

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

Скачивание файлов локализации

Языковые файлы можно экспортировать из проекта в любой момент и в любом поддерживаемом формате файла.

Файлы можно экспортировать из приложения через интерфейс приложений API или CLI.

Файлы можно скачать с вкладки Языки любого проекта, выбрав их и нажав Скачать (несколько файлов) или кнопку Дополнительные параметры Open More Menu/Скачать языка.

Параметры скачивания

Параметры скачивания отображаются при скачивании файла в окне Скачивание с вкладками Общие, Дополнительно и Кодировка.

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

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

  • Удалить префикс ключа перевода

    Если при загрузке файла был добавлен префикс ключа перевода, выберите этот параметр на вкладке Дополнительно, чтобы удалить префикс из имен экспортируемых ключей перевода:

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

      Важно

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

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

    Этот параметр также доступен в интерфейсе приложений API и CLI.

Варианты использования

Поддержание структуры файлов

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

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

Хранение отдельных файлов

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

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

Присваивайте ключам уникальные имена во всех файлах для обеспечения бесперебойного рабочего процесса. При подходе, основанном на парах «ключ-значение», ключу должны быть присвоены одинаковые значения в каждом контексте. Некоторые фреймворки позволяют использовать неуникальные ключи в нескольких файлах. Некоторые форматы, например Symfony, поддерживают домены сообщений. Эти домены определяются по имени файла. Ключи не ограничиваются автоматически доменами на основе имен файлов, но это можно решить путем использования уникального префикса домена для ключей внутри файла.

Пример конфигурации CLI

При работе с CLI или подключении проекта к хранилищу (например, GitHub, GitLab или Bitbucket) настройте файл конфигурации для управления загрузкой и выгрузкой.

Для примера: в проекте есть несколько семантически именованных файлов перевода для оригинала языкового стандарта. Например: accounts.en.yml, emails.en.yml и т. д. Эти семантические имена управляются с помощью тегов.

Настройте .phrase.yml, чтобы отразить организацию файлов в проекте локализации и связать их с тегами в проекте Strings, включив заполнитель тега в путь к файлу:

phrase:
  access_token: "3d7e6598d955bfcab104c45c40af1b9459df5692ac4c28a17793"
  project_id: "23485c9c5dfb15d85b32d9c5f3d2hl54"
  file_format: yml
  push:
    sources:
      - file: ./path/to/locales/<тег>.en.yml
        params:
          locale_id: "abcd1234cdef1234abcd1234cdef1234"
  pull:
    targets:
      # учетные записи
      - file: ./path/to/locales/accounts.<имя_языковой стандарт>.yml
        params:
          tags: учетные записи
      # электронные письма
      - file: ./path/to/locales/emails.<имя_языковой стандарт>.yml
        params:
          tags: электронные письма

Важно

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

Установка переменной окружения PHRASE_TOKEN_ПОЛУЧИТЬ_ДОСТУП является более безопасной.

Параметр теги также можно использовать в разделе push вместо использования заполнителя <тег>.

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

Локализация проект для разных регионов, клиентов или аудиторий

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

Дополнительное различие требуется, если:

  • Продукт имеет разный брендинг в регионах, где говорят на одном и том же язык.

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

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

Локализация статического продукта

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

  • Если это единый результат или краткосрочный проект:

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

  • Если это долгосрочный проект:

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

Локализация проект с постоянными обновлениями

Если продукт постоянно обновляется новым контент (ключ), применять эти обновления к нескольким проектам и поддерживать их синхронизацию сложно. Использовать выделенные язык в рамках проект для их поддержки.

Коды языков, соответствующие стандарту ISO (например, en-US), не обязательно должны быть уникальными, поэтому в рамках проекта можно создать множество версий одного и того же языка. Различайте регионы, клиентов или аудитории, используя уникальное название языка.

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

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

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

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.