При загрузить файла в проект проект все новые ресурсы извлекаются из этого файла и сохраняются в проект. Формат загруженного файла не обязательно должен совпадать с исходным формат, настроить для проект. Если для группировки ресурсов предоставлены теги, к новым ключ будут применены эти теги.
Некоторые формат, такие как Gettext, предоставляют дополнительную ценную метаинформацию, например комментарии, описания или информацию о формах множественного числа. Эта информация извлекается везде, где это возможно, и сохраняется вместе с назначенными ресурсами, что позволяет сохранить всю ценную информацию, предоставленную в файлах локализации, для дальнейшего использовать.
Существует несколько методов для загрузить файлов:
-
В приложении, при создании нового проект или путем выбора Загрузить файл на странице проект
-
через интерфейс приложений API
-
через CLI
-
По умолчанию извлекается только новый контент, а существующие ключи в проекте локализации не удаляются и не обновляются; при загрузить файлов данные не теряются. Если требуется перезапись существующих данных, Заменить ресурсы проект контентом из файла локализации, выбрав параметр . Существующие переводы будут перезаписаны контентом загруженного файла локализации.
Этот параметр также доступен в интерфейс приложений API.
Примечание
Чтобы предотвратить потерю данных, убедитесь, что последние изменения выгружены из Phrase в файл локализации перед его изменением и повторной загрузить с параметром .
-
Введите уникальный идентификатор (например, путь к файлу), который нужно добавить перед именами ключ локализации. Использовать значимый префикс, относящийся к проект или файлу, чтобы поддерживать порядок в именах ключ.
Например, импортированный ключ
hello_worldс префиксомproject_приведет к появлению ключproject_hello_world.Префикс ключа перевода гарантирует, что ключи сопоставляются с существующими во избежание конфликтов в разных проектах или файлах.
Этот параметр также доступен в интерфейс приложений API и CLI.
-
Добавить новые ключи и перезаписать существующие контентом из загруженного файла.
-
Обновить перевод только в том случае, если существующий оригинал в языке проекта по умолчанию совпадает с оригиналом в загруженном многоязычном файле.
-
Выберите этот параметр, если требуется обновить все описания ключей из загруженного файла. Пустой описания перезапишут существующие. Описания могут содержать любую дополнительную информацию для переводчиков и помогают идентифицировать отдельные ключи в редактор.
-
Чтобы поддерживать порядок в переводах, добавляйте к ключам несколько тегов с понятными метками. Выберите этот параметр, чтобы предотвратить автоматическое добавление тега загрузки к новым ключам.
-
Выберите этот параметр, чтобы автоматически добавлять теги к новым ключам и ключам с обновленными переводами при загрузке. Это поможет различать новые, обновленные и старые Strings, гарантируя, что для дальнейшей обработки будут выбраны только нужные ключи.
Этот параметр также доступен в интерфейс приложений API.
-
Укажите кодировку (например, UTF-8) файла или выберите автоматическое определение (автоматически выбранная кодировка может оказаться неверной, ее можно отменить, отменив загрузку).
-
-
позволяет избежать необходимости повторного подтверждения переводов на не основных языках при обновлении переводов.
-
помечает все загруженные переводы как проверено. Этот параметр доступен, когда активирован расширенный рабочий процесс проверки. Это указывает на то, что ключи готовы к отправке в продакшн.
-
помечает все загруженные переводы как подтверждено.
-
Чтобы загрузить файлы в Strings, выполните следующие действия:
-
Перед тем как загрузить файл, убедитесь, что он отформатирован правильно в соответствии с type.
-
В проекте выберите Upload file в меню .
Откроется страница .
-
Нажмите Choose file и выберите файл из каталога.
Выбранный файл будет добавлен в поле .
-
Выберите для файла.
Предлагаемые форматы отображаются первыми в зависимости от типа файла.
-
Выберите язык для контента файла из раскрывающегося списка.
Если этой информации нет в самом файле, создайте новый язык для контента или используйте существующий.
-
При необходимости укажите теги, которые будут назначены новым ключам, и любые другие параметры.
-
Нажмите «Сохранить».
Контент импортируется и преобразуется в ключи.
-
Ошибка при загрузке
Если файл не удалось обработать должным образом, предоставляются сведения об ошибке, которые помогут ее устранить.
-
Успешная загрузка
После успешной обработки файла перевода отображается сводная страница с обзором загрузки и кнопками, ведущими к след. шагам. Нажмите тег загрузки, чтобы открыть файл в редакторе.
-
Удаление ключей
Чтобы предотвратить случайное удаление ключей при удалении ключей из файла локализации и его повторной загрузке, эти ключи не удаляются автоматически.
Чтобы удалить эти ключи, выполните следующие действия:
Неупомянутые ключи — это ключи, которые не включены в текущую загрузку, но все еще существуют в проекте. При их удалении все ключи и связанные с ними переводы, которые не были включены в загруженный файл, удаляются из проекта.
Лимит для удаления неупомянутых ключей составляет 100 000 ключей. В проектах, превышающих этот лимит, опция недоступна.
-
Отменить загрузку
Каждая загрузка запускает множество действий и может изменить большой объем данных в проектах, поэтому отменить загрузку невозможно.
Чтобы удалить ключи, которые были (ошибочно) добавлены загруженным файлом, выполните следующие действия:
Все ключи и связанные с ними переводы, созданные этой загрузкой, будут удалены. Переводы для ключей, существовавших до загрузки, удалены не будут. Чтобы удалить отдельные переводы, используйте историю версий для каждого перевода.
На любой странице проекта выберите в меню , чтобы получить доступ к архиву загрузок.
В архиве загрузок перечислены все исторические загрузки со всеми возможными статусами. Нажмите на раскрывающийся список , чтобы фильтровать загрузки по статусу (, и/или ). Чтобы найти конкретную загрузку, используйте поле поиска вверху для поиска по имени.
Получите доступ к подробным сводкам загрузки затронутых ресурсов, нажав на загрузку в списке. Все успешные загрузки также отображаются в ленте активности проекта.
Языковые файлы можно экспортировать из проекта в любой момент и в любом поддерживаемом формате файла.
Файлы можно экспортировать из приложения через интерфейс приложений API или CLI.
Файлы можно скачать с вкладки любого проекта, выбрав их и нажав Скачать (несколько файлов) или кнопку Дополнительные параметры /Скачать языка.
Параметры скачивания отображаются при скачивании файла в окне с вкладками , и .
Выбор различных предоставляет различные параметры. Для получения более подробной информации обратитесь к соответствующей статье о конкретном формате файла.
При необходимости используйте поле на вкладке , чтобы указать пользовательское имя файла для экспорта, или оставьте его пустым, чтобы создать имя, определенное системой.
-
Если при загрузке файла был добавлен префикс ключа перевода, выберите этот параметр на вкладке , чтобы удалить префикс из имен экспортируемых ключей перевода:
-
Введите префикс, чтобы скачать все ключи, и по возможности удалите указанный префикс.
Важно
Это может привести к созданию дубликатов имен ключей, если другие ключи имеют то же имя после удаления префикса.
-
При необходимости выберите , чтобы скачать только ключи перевода, содержащие указанный префикс, и удалить префикс из скачанного файла.
Этот параметр также доступен в интерфейсе приложений 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.