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

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

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

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

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

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

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

При загрузке через интерфейс приложений API или CLI для форматов файлов, включающих несколько языковых стандартов в одном файле (например, Phrase Strings .JSON, .YAML, многоязычный .XLSX/.CSV, .XLIFF, .TMX, Genesys JSON), идентификатор языкового стандарта каждого перевода в файле сопоставляется с языковым стандартом проекта по названию языка, точно так же, как это настроено на вкладке Языки проекта. Коды языковых стандартов (например, «en-US») не используются для этого совпадения, если только эта точная строка также не является настроенным названием языкового стандарта. Если идентификатор языкового стандарта перевода не совпадает ни с одним названием языкового стандарта в проекте, его переводы не будут импортированы без уведомления.

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

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

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

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

    Примечание

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Вычитка

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

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

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

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

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

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

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

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

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

    Выбранный файл добавляется в поле Файл.

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

    Рекомендуемые форматы представлены первыми в зависимости от типа файла.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      Важно

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

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

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

Установить порядок сортировки при экспорте

Настройка Порядок сортировки при экспорте определяет порядок сортировки ключей перевода в алфавитном порядке при экспорте проекта. Доступны два варианта:

  • По умолчанию<1> сортирует ключи, используя стандартный алфавитный порядок на основе символов.

  • Естественный<1> сортирует ключи, используя естественный порядок сортировки, поэтому числа в именах ключей упорядочиваются численно, а не посимвольно (например, key2 перед key10).

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

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

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

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

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

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

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

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

Присваивайте ключам уникальные имена во всех файлах для обеспечения бесперебойного рабочего процесса. При подходе на основе ключ-значение ключ должен иметь одинаковые значения, назначенные ему в каждом контексте. Некоторые фреймворки позволяют использовать неуникальные ключи в нескольких файлах. Некоторые форматы, такие как 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/<tag>.en.yml
        params:
          locale_id: "abcd1234cdef1234abcd1234cdef1234"
  pull:
    targets:
      # accounts
      - file: ./path/to/locales/accounts.<locale_name>.yml
        params:
          tags: accounts
      # emails
      - file: ./path/to/locales/emails.<locale_name>.yml
        params:
          tags: emails

Важно

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

Установка переменной окружения PHRASE_ACCESS_TOKEN является более безопасной.

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

Конфигурация создает ключи с тегами на основе файла, из которого они были получены при запуске 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.