Ключи используются для идентификации переводимых текстовых строк в программном коде. Это позволяет использовать ключ (как кодовое имя для переводимой строки) только один раз в Phrase вместо того, чтобы использовать его для каждого требуемого перевода строки.
С ключом может быть связано несколько переводов, каждый из которых соответствует разной языковой локали проекта. Эта функция аналогична функции первичного ключа в реляционных базах данных, где переводы являются атрибутом ключа. Ключи хранятся в файлах ресурсов и используются для идентификации исходного и целевого языков.
Использование ключей позволяет платформам управления локализацией предоставлять переводимый текст переводчикам без необходимости отображения кода.
Ключи обычно не нужно добавлять в проект, так как в идеале они создаются при загрузке файла ресурсов через вкладку на странице проекта.
Чтобы предотвратить загрузку или создание ключей, используйте функцию блокировки ключей. Если заблокированный ключ уже существует, его нельзя перевести в редакторе.
Чтобы исключить ключи из экспорта, используйте функцию исключения ключей. Исключенные ключи также нельзя перевести в редакторе.
Ключи в проекте можно дублировать, выбрав More/Duplicate key в разделе на странице проекта или в верхней части Strings editor pane.
Различные ключи перевода с одинаковыми значениями в одном или нескольких проектах можно связать для автоматизации обновлений контента. Связанные ключи используются для обеспечения согласованности между проектами и устранения повторяющейся работы над идентичным контентом.
Изменения ключей можно отменить в окне активности sidebar в редакторе строк.
Примечание
При работе с репозиториями (GitHub, GitLab и т. д.) и удалении ключей, ключи должны быть удалены как из Phrase, так и из репозитория, чтобы они были удалены окончательно. Это сделано для предотвращения случайного удаления ключей из-за ошибок или непредвиденных обстоятельств в Phrase или репозитории.
В Strings ключи могут быть разных типов в зависимости от формата загружаемого файла:
-
Строка (по умолчанию)
Примечание
Переводчики могут редактировать только ключи строк, если не включена опция в расширенных настройках проекта.
-
Множество
-
Булевский тип данных
-
Markdown
-
Число
Тип ключа отображается в разделе на боковой панели редактора.
Имена ключей должны быть уникальными в рамках одного проекта.
Существует несколько стратегий именования ключей:
-
Описательная
Исходный текст идентифицируется по функции. Это может затруднить идентификацию текста при чтении кода, но значение останется неизменным.
Пример:
-
Исходные строки (не рекомендуется)
В качестве ключа используется сам исходный текст, что позволяет легко определить его использование. Это создает проблемы, так как при изменении исходного текста связь с переводами нарушается.
Пример:
Если ключи не загружены, их можно создать вручную.
Чтобы создать ключ, выполните следующие действия:
-
На вкладке нажмите Добавить ключ.
Откроется окно «Добавить ключ».
-
На вкладке укажите , , любые доступные и .
-
При необходимости включите формы множественного числа на вкладке и выберите тип формы множественного числа.
-
При необходимости выберите исключенные языки на вкладке .
-
При необходимости укажите технические детали на вкладке .
Например, можно установить ограничение на количество символов для переводов в поле . Если задано, ограничение на количество символов отображается индикатором в редакторе строк при редактировании переводов соответствующего ключа.
-
Нажмите «Сохранить».
Ключ добавляется в проект, и его можно просмотреть на вкладке .
Удаление ключа из редактора или вкладки приведет к удалению всех связанных с ним переводов, и это действие нельзя отменить.
В проектах с количеством ключей более 10 000 неупомянутые ключи не будут рассчитываться при дальнейших загрузках. Неупомянутые ключи — это ключи, которые не включены в текущую загрузку, но все еще существуют в проекте.
Блокировка предотвращает добавление целых ключей в проект; если имя заблокированного ключа появляется в загруженном файле, этот ключ пропускается и не добавляется в проект.
Блокировка используется для исключения ключей из проекта, чтобы они вообще не управлялись.
Обычно блокируемые ключи:
-
Строки формата даты и времени.
-
Ключи, включающие конфигурации.
-
Ключи, вызывающие проблемы при управлении с помощью гема Phrase.
Управляйте заблокированными ключами в отдельном файле языка, который не обрабатывается и не поддерживается.
Эти ключи могут вызывать проблемы, и если они используются, их следует заблокировать при создании проекта.
-
activemodel.errors* -
number.format* -
number.currency* -
number.percentage* -
datetime.prompts*
Чтобы заблокировать ключ, выполните следующие действия:
-
На странице проекта выберите вкладку .
-
Нажмите Добавить ключ в список заблокированных ключей.
Откроется окно .
-
Введите имя ключа или регулярное выражение (regex) и нажмите Сохранить.
Ключ добавляется в список.
Рекомендации
Чат-боты искусственного интеллекта (ИИ) могут быть очень эффективными в генерации и подтверждении регулярных выражений (regexp).
Используйте такие инструменты, как Regex101, для тестирования регулярных выражений с различными входными данными.
Ключи можно позже изменить, нажав , или удалить
.
Некоторые ключи, возможно, потребуется исключить из определенных языков, и их можно пометить как исключенные. Эти ключи загружены и существуют в проекте, но игнорируются.
Исключенные переводы:
-
Исключено из экспорта соответствующего языка.
-
Исключено из отчетов по соответствующему языку.
Если содержимое пустое, оно не считается непереведенным.
-
Виден, но недоступен для редактирования в редакторе переводов.
Исключенные переводы не учитываются в статистике переведенных/непереведенных строк и отчетах по языкам. В результате проект или локаль могут показывать 0 непереведенных строк, даже если для исключенных переводов все еще отсутствует реальный перевод. Это включает пустое содержимое или непереведенную копию исходного текста. Чтобы убедиться, что проект действительно завершен, проверьте вкладку или выполните запрос переводов с параметром excluded:true через API, в дополнение к количеству непереведенных строк.
Параметры исключения:
-
Исключите отдельный перевод на языке в редакторе переводов.
-
Исключите несколько переводов на языке в редакторе переводов.
-
Исключите несколько переводов, выбрав языки при создании или редактировании ключа.
Чтобы исключить ключ, выполните следующие действия:
-
На странице ключей нажмите
для ключа, который требуется исключить.
Откроется окно .
-
Выберите вкладку .
-
Выберите языки для исключения.
-
Нажмите «Сохранить».
Выбранные языки исключены в указанном ключе.
Ключи также можно исключить по отдельности или массово из списка ключей редактора, выбрав ключ(и) и используя меню .