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

Ключи (строки)

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

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

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

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

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

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

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

Ключи в проекте можно дублировать, выбрав More/Duplicate key в разделе Keys на странице проекта или в верхней части Strings editor pane.

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

Изменения ключей можно отменить в окне активности sidebar в редакторе строк.

Примечание

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

Типы ключей

В Strings ключи могут быть разных типов в зависимости от формата загружаемого файла:

  • Строка (по умолчанию)

    Примечание

    Переводчики могут редактировать только ключи строк, если не включена опция Enable translators to edit translations of all types в расширенных настройках проекта.

  • Множество

  • Булевский тип данных

  • Markdown

  • Число

Тип ключа отображается в разделе Мета на боковой панели редактора.

Именование ключей

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

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

  • Описательная

    Исходный текст идентифицируется по функции. Это может затруднить идентификацию текста при чтении кода, но значение останется неизменным.

    Пример:

    Ключ

    немецкий

    английский

    fem_char

    die Frau

    женщина

    male_char

    der Mann

    мужчина

  • Исходные строки (не рекомендуется)

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

    Пример:

    Ключ

    немецкий

    французский

    Собака

    Hund

    Собака

    CAT

    Кошка

    Кошка

Создание ключей

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

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

  1. На вкладке Ключи нажмите Добавить ключ.

    Откроется окно «Добавить ключ».

  2. На вкладке Общие укажите Имя, Описание, любые доступные Теги и Перевод по умолчанию.

  3. При необходимости включите формы множественного числа на вкладке Формы множественного числа и выберите тип формы множественного числа.

  4. При необходимости выберите исключенные языки на вкладке Исключенные.

  5. При необходимости укажите технические детали на вкладке Дополнительно.

    Например, можно установить ограничение на количество символов для переводов в поле Max. Поле «Символы». Если задано, ограничение на количество символов отображается индикатором в редакторе строк при редактировании переводов соответствующего ключа.

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

    Ключ добавляется в проект, и его можно просмотреть на вкладке Ключи.

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

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

Заблокированные ключи

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

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

Обычно блокируемые ключи:

  • Строки формата даты и времени.

  • Ключи, включающие конфигурации.

  • Ключи, вызывающие проблемы при управлении с помощью гема Phrase.

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

Проблемные ключи

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

  • activemodel.errors*

  • number.format*

  • number.currency*

  • number.percentage*

  • datetime.prompts*

Блокировка ключа

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

  1. На странице проекта выберите вкладку Заблокированные ключи.

  2. Нажмите Добавить ключ в список заблокированных ключей.

    Откроется окно Добавить ключ в список заблокированных ключей.

  3. Введите имя ключа или регулярное выражение (regex) и нажмите Сохранить.

    Ключ добавляется в список.

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

    Чат-боты искусственного интеллекта (ИИ) могут быть очень эффективными в генерации и подтверждении регулярных выражений (regexp).

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

Ключи можно позже изменить, нажав Modify, или удалить Recycle Bin.

Исключения

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

Исключенные переводы:

  • Исключено из экспорта соответствующего языка.

  • Исключено из отчетов по соответствующему языку.

    Если содержимое пустое, оно не считается непереведенным.

  • Виден, но недоступен для редактирования в редакторе переводов.

Исключенные переводы не учитываются в статистике переведенных/непереведенных строк и отчетах по языкам. В результате проект или локаль могут показывать 0 непереведенных строк, даже если для исключенных переводов все еще отсутствует реальный перевод. Это включает пустое содержимое или непереведенную копию исходного текста. Чтобы убедиться, что проект действительно завершен, проверьте вкладку Excluded или выполните запрос переводов с параметром excluded:true через API, в дополнение к количеству непереведенных строк.

Параметры исключения:

  • Исключите отдельный перевод на языке в редакторе переводов.

  • Исключите несколько переводов на языке в редакторе переводов.

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

Исключение ключей

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

  1. На странице ключей нажмите Изменить для ключа, который требуется исключить.

    Откроется окно Редактировать ключ.

  2. Выберите вкладку Исключенные.

  3. Выберите языки для исключения.

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

    Выбранные языки исключены в указанном ключе.

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

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

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.