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

Using Localization Files (Strings)

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

Загрузка файлов локализации

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

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

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

  • В приложении при создании нового проекта или выборе «Загрузить файл» на странице проекта

  • через API

  • через CLI

Загрузить параметры

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

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

    Такая опция также доступна в интерфейсе приложений API.

    Примечание

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

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

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

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

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

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

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

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

  • Пропустить загрузить tags

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

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

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

    Такая опция также доступна в интерфейсе приложений API.

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

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

  • Вычитка

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

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

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

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

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

  2. В проекте выберите Загрузить файл в меню «Еще».

    Открывается страница Загрузить файл.

  3. Нажмите «Выбрать файл» и выберите файл из каталога.

    Выбранный файл добавлен в поле «Файл».

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

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

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

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

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

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

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

Загрузить сводку

  • Не удалось загрузить

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

  • Успешно загружено

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

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

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

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

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

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

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

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

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

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

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

    1. Из загруженной сводки затронутых загруженных нажмите «Удалить» и выберите «Удалить созданные ключи».

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

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

Загрузить архив

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

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

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

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

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

Файлы можно загрузить из приложения, используя интерфейс приложений API или CLI.

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

Скачать параметры

Варианты скачать представлены при скачать файл в окне Загрузить с вкладками «Общие», «Дополнительные» и «Кодировка».

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

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

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

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

      ВАЖНО:

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

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

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

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

Сохранение файловых структур

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

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

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

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

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

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

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

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

Например, проект имеет несколько семантически названных файлов перевода для языкового стандарта оригинала. Например: counts.en.yml, email.en.yml и т. д. Управление этими семантическими именами осуществляется через tags.

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

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

ВАЖНО:

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

Установка переменной среды PHRASE_ACCESS_TOKEN является более безопасной.

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

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

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

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

Необходимо провести дополнительное различие, если:

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

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

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

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

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

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

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

  • Если термин проект:

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

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

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

Языковые коды, соответствующие стандарту 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.