Интеграция Phrase Strings (в интерфейсе Strings она называется ) связывает Phrase TMS и Phrase Strings. Интеграция поддерживает синхронизацию как на уровне заданий, так и на уровне проектов.
-
Синхронизация заданий
«Задания», созданные и запущенные в Strings со статусом «В процессе», можно импортировать в TMS для перевода, а затем отправить обратно в Strings.
Рекомендуется для рабочих процессов с пакетной обработкой, требующих детального контроля.
-
Синхронизация на уровне проекта
Все ключи в выбранном проекте Strings передаются в TMS без необходимости создания задания. Новые и обновлённые ключи автоматически становятся доступными для синхронизации.
Рекомендуется для непрерывных процессов локализации.
Предварительные требования
-
Доступ к приложениям TMS и Strings.
-
Коды языков, используемые в проекте TMS, должны совпадать с кодами языковых стандартов в задании Strings.
-
Язык по умолчанию для проекта Strings должен совпадать с языком источника, определенным в проекте TMS.
Важно
Файлы Figma могут отображаться в Strings как единый обновляемый файл, но не поддерживаются в TMS. CAT-редактор TMS может отображать переведенный контент только в определенном фрейме Figma в формате SVG.
По умолчанию контент из Strings импортируется в TMS в виде файлов XLIFF 2.0. При использовании APC для параметра в настройках импорта файлов шаблона проекта TMS необходимо выбрать значение или .
Статусы перевода ключей в Strings не поддерживаются. Синхронизация заданий отправляет целевой текст, хранящийся в Strings, в TMS независимо от того, подтвержден ключ или нет. Ключи с пометкой в Strings до импорта в TMS могут быть возвращены в Strings с пометкой , даже если целевые переводы не изменились.
Настройка проекта Strings не применяется при синхронизации заданий. При обмене данными между Strings и TMS текст резервной локали не подставляется вместо неподтвержденных переводов ни в одном направлении.
Количество сегментов, созданных в TMS после импорта задания Strings, может отличаться от исходного количества ключей в следующих случаях:
-
Ключи помечаются в Strings как исключенные. Исключенные ключи не импортируются.
-
При создании задания в TMS в настройках импорта файлов XLIFF 2.0 включена опция «Сегментировать XLIFF». В этом случае количество сегментов может быть больше, чем количество ключей в Strings.
Ключи Strings могут содержать сущности HTML. : при настройке коннектора в TMS включите опцию , чтобы в TMS сохранялись HTML-сущности, а не отображались соответствующие им символы.
Начальные и конечные пробелы в исходном тексте ключа Strings не отображаются в CAT-редакторе TMS. Эти пробелы сохраняются в файле-шаблоне и при обратной синхронизации задания со Strings снова добавляются как в исходный текст, так и в перевод. Это может повлиять на настроенные в Strings проверки соблюдения ограничения на количество символов, поскольку во время перевода пробелы не учитываются в редакторе TMS.
Используя коннектор, можно контролировать несколько проектов и файлов в службе автоматического создания проектов (APC). Каждый проект требует индивидуального мониторинга в рамках одной службы автоматического создания проектов (APC).
При обработке триггера синхронизации заданий APC создаёт в TMS по одному заданию для каждой локали Strings. Порядок импорта этих заданий не гарантируется и не может быть настроен через шаблон проекта, назначенный правилу APC. Ни на одном этапе этого процесса механизм сортировки не применяется. Чтобы применять различную обработку для каждой группы локалей, настройте отдельные правила APC, каждое из которых указывает на свой шаблон проекта.
Коннектор использует аннотации локалей заданий, чтобы связать метаданные соответствующего проекта Phrase TMS с заданиями Strings и их локалями. Конечная точка API Phrase Strings для получения списка аннотаций локалей заданий извлекает эти метаданные. Конечная точка для получения списка целевых локалей задания также включает эти метаданные, если параметр include_annotations установлен в true. Задания с аннотациями содержат такие поля, как tms_project_id и tms_in_progress, которые позволяют отслеживать статус задания Strings в связанном с ним проекте Phrase TMS.
TMS не поддерживает использование одной и той же локали в качестве исходного и целевого языка в проекте. Например, если в задании Strings используется en-US в качестве исходного и целевого языка, целевую локаль en-US нельзя импортировать в TMS, а задание в целом нельзя пометить как завершённое. Не выбирайте исходную локаль в качестве целевой при создании заданий в Strings, которые будут синхронизироваться с TMS.
Сообщения ICU и формы множественного числа CLDR
При отправке на перевод в TMS заданий Strings, содержащих сообщения ICU или формы множественного числа, включите опцию в настройках импорта файлов XLIFF 2.0 или в шаблонах проектов TMS.
Существует ряд вариантов использования коннектора:
-
Менеджеры проектов TMS могут добавить файлы непосредственно в проекты TMS из онлайн-хранилища.
-
Настройте портал отправителя Phrase TMS, чтобы позволить отправителям добавлять файлы к запросам непосредственно из Phrase Strings.
-
Используйте службу автоматического создания проектов (APC) TMS для автоматического создания новых проектов при обнаружении изменений в дате последнего изменения для отслеживаемых файлов или папок.
-
Для синхронизации на уровне заданий укажите в APC путь к подпапке заданий проекта в качестве отслеживаемого расположения (например,
All projects / [project name] / [branch] / jobs). -
Для синхронизации на уровне проекта укажите в APC путь только к проекту и ветке, без подпапки заданий, в качестве отслеживаемого расположения (например,
All projects / [project name] / [branch]). Используйте мониторинг на основе расписания вместо мониторинга на основе вебхуков, поскольку синхронизация на уровне проекта не запускает задание Strings, и событие вебхукаjobs:startникогда не срабатывает. -
При синхронизации заданий APC срабатывает при следующих обновлениях заданий:
-
Добавление новых ключей или изменения в существующих ключах
-
Изменение срока выполнения задания в Strings
Примечание
Повторное открытие заданий не считается обновлением для службы автоматического создания проектов (APC).
-
-
При синхронизации на уровне проекта APC срабатывает в следующих случаях:
-
Вновь добавленные ключи
-
Изменения существующих ключей
-
-
Если при настройке службы автоматического создания проектов (APC) будет выбрано , удаленное онлайн-хранилище можно будет отслеживать не только на предмет обновлений оригинала, но и обновлений перевода
При выборе функции отслеживания обновлений перевода любые изменения, внесенные в копию перевода в онлайн-хранилище, автоматически обновят память переводов в Phrase TMS.
-
Если выбрана опция , изменения текста ключей на языке перевода Strings автоматически обновляются в памяти переводов TMS, используемой соответствующей службой автоматического создания проектов (APC).
-
-
Коннектор интерфейса приложений API в TMS можно использовать для автоматизации действий, выполняемых вручную через пользовательский интерфейс. Вебхуки можно использовать для уведомления сторонних систем об определенных событиях (например, изменении статуса задания). При синхронизации на уровне заданий вебхуки могут срабатывать при событии
jobs:start.
На странице можно просмотреть и настроить синхронизацию для службы автоматического создания проектов (APC), которая использует коннектор Phrase Strings. Здесь есть как синхронизации, созданные непосредственно в Strings, так и те, которые были настроены в TMS, — с соответствующей информацией.
На странице пользователи Strings с ролями администратора и менеджера проекта могут : создавать новые конфигурации синхронизации заданий, редактировать существующие (в том числе менять их статус с активного на неактивный и наоборот) или удалять их.
Существующие синхронизации заданий можно редактировать или удалять, используя соответствующие параметры в меню . Все изменения синхронизируются между Strings и TMS. При удалении синхронизации задания в TMS удаляется соответствующая служба APC.
Страница доступна как из меню , так и из меню слева.
Примечание
Если необходимые пользовательские поля определены в TMS, настройка синхронизации задания из Strings не поддерживается.
Чтобы настроить новую синхронизацию задания между Strings и TMS с базовой конфигурацией, выполните следующие шаги в интерфейсе Strings:
-
На странице выберите «Настроить» рядом с интеграцией .
Откроется страница .
-
Нажмите «+ Создать синхронизацию».
Откроется окно .
-
Укажите и выберите проект(ы) Strings для подключения к TMS из выпадающего списка .
Можно включать только проекты с одинаковыми языковыми парами.
-
При желании выберите . Выбранный шаблон проекта TMS должен соответствовать набору языков, определенному в назначенном проекте (или проектах) Strings.
Синхронизированные задания будут добавлены в проект TMS, созданный на основе выбранного шаблона.
-
Если выбрано , шаблон проекта TMS автоматически создается на основе выбранных проектов Strings.
-
-
Выберите проекта, который нужно создать в TMS.
-
Опция по умолчанию.
-
Новый проект TMS создается каждый раз, когда в заданиях Strings обнаруживаются изменения.
-
-
В разделе укажите опции экспорта строк, чтобы контролировать, как переводы из TMS экспортируются в Strings.
-
Обновляет существующие целевые переводы в Strings.
-
Автоматически помечает задание как завершенное в Strings.
-
Ключи с пометкой «не проверено» будут автоматически подтверждены в Strings, если целевой перевод не был изменен.
-
-
При необходимости откройте «Расширенные параметры», чтобы отобразить дополнительные параметры экспорта.
-
Помечает конкретный язык как завершенный, как только переводы на нем синхронизированы.
-
Обеспечивает создание новых ключей из TMS в Strings и обновление существующих.
-
Предотвращает перезапись переводов, если исходный текст изменился в Strings с момента экспорта.
-
-
Нажмите «Сохранить».
Новая конфигурация синхронизации добавляется в список с неактивным статусом. Используйте переключатель в столбце , чтобы включить синхронизацию заданий.
Рекомендации
Для более сложных конфигураций настройте с помощью Phrase TMS.
При использовании пользовательского сопоставления любые необходимые изменения должны применяться к коннектору в TMS.
Создание коннектора Strings в Phrase TMS не приводит к автоматическому созданию APC для автоматизированного импорта/экспорта заданий. APC необходимо настроить отдельно в TMS.
В некоторых организациях коннектор Phrase Strings создается автоматически с использованием идентификатора организации на платформе Phrase. Перед созданием коннектора вручную проверьте список коннекторов на странице . Автоматически созданный коннектор выполняет аутентификацию на стороне сервера с использованием учетных данных вошедшего в систему пользователя, а не вручную введенного токена доступа.
Коннектор отображает статус , пока после его создания выполняется начальная синхронизация, а затем его статус меняется на . Статус также присваивается коннектору при любом изменении его конфигурации или сохранении страницы его настроек, даже если существенных изменений не было. Пока коннектор отображает статус , его нельзя использовать в качестве источника для создания заданий в Phrase TMS. Дождитесь изменения статуса на , прежде чем создавать задания с помощью этого коннектора.
-
На странице настроек
прокрутите вниз до раздела .
-
Нажмите на «Коннекторы».
Откроется страница .
-
Нажмите «Новый коннектор».
Откроется страница .
-
Установите для параметра «Тип» значение и укажите название коннектора.
-
Введите идентификатор учетной записи и токен доступа, полученные в Strings.
-
Нажмите «Проверить подключение».
-
В случае успеха рядом с кнопкой появится небольшая галочка.
-
-
Выберите элементы для импорта в TMS.
Если целевые ключи не импортируются, файл XLIFF 2.0 можно дополнительно сегментировать, выбрав параметр «Сегментировать XLIFF» в разделе для файлов XLIFF 2.0.
-
Включите или отключите дополнительные параметры импорта по мере необходимости:
-
Исходный язык проекта TMS применяется независимо от языка по умолчанию в проекте Strings.
-
Включите эту опцию, чтобы предотвращать дублирование заданий TMS для языков, для которых работа уже выполняется. Если этот параметр включен, изменения ключей, которые уже являются частью активного задания TMS, не импортируются повторно до завершения исходного задания. Рекомендуется для дополнительного контроля при работе с несколькими языками.
-
-
Опция обеспечивает заворачивание сущностей HTML в CDATA для сохранения при передаче между Strings и TMS.
-
Опция позволяет импортировать контент, сочетающий синтаксис ICU и встроенные элементы HTML.
-
-
-
-
Выберите режим экспорта.
-
Включите или отключите следующие параметры экспорта по мере необходимости:
-
Отключите, чтобы предотвратить обновление существующих переводов содержимым файла.
-
Отключите, чтобы предотвратить создание новых ключей и обновление существующих ключей.
-
Переводы, не соответствующие последней версии оригинала, не включаются в синхронизацию. Это помогает поддерживать согласованность между исходным текстом и переводами, избегая устаревших или неправильных переводов.
-
Ключи с пометкой будут автоматически проверены в Strings, если целевой перевод не был изменен. Если этот параметр включен, каждый перевод, возвращенный из TMS, помечается в Strings как , независимо от того, был ли текст отредактирован или просто возвращен без изменений. Исключаются и остаются только те ключи, исходный текст которых изменился в Strings, пока задание было открыто.
-
Помечает конкретный язык как завершенный, как только переводы на нем синхронизированы.
-
Если этот параметр выбран, задание будет отмечено как выполненное только после загрузки последней локали.
-
-
-
При необходимости выберите папку по умолчанию (это можно сделать только после сохранения).
-
Представлено , которое при необходимости можно настроить. Убедитесь, что в конфигурации коннектора каждой локали Strings соответствует только одна локаль TMS. Изменения в сопоставлении языков не отразятся на существующих заданиях.
Список разбивает на страницы пять проектов за раз, при этом проекты сортируются в алфавитном порядке; сначала от A-Z (с прописной буквы), а затем a-z (со строчной буквы).
-
Нажмите «Сохранить».
Коннектор добавлен в список на странице .
Поддерживаются в интеграции:
-
Шаблоны проектов TMS
-
Рабочие процессы TMS
-
Описание задания (неприменимо при использовании синхронизации на уровне проекта)
-
Срок выполнения задания (неприменимо при использовании синхронизации на уровне проекта)
Срок, установленный в Strings, обновит предельный срок проекта в TMS. При наличии нескольких разных сроков к проекту TMS будет применен самый дальний из них.
Перенесено из Strings в TMS в качестве справочного файла проекта:
-
Имена ключей
Перенесено из Strings и отображается как контекстный ключ на панели контекстных примечаний редакторов CAT TMS.
-
Описания ключей
Перенесено из Strings и отображается как контекстное примечание на панели контекстных примечаний редакторов CAT TMS.
-
Максимальная длина символов ключа
Перенесено из Strings и отображается на панели контекстных примечаний редакторов CAT TMS.
-
Скриншоты
Чтобы отображать скриншоты из Strings на панели редакторов TMS CAT:
-
Включите опцию в разделе настроек проекта TMS «Доступ и безопасность».
-
Выберите текста на панели .
-
-
Пользовательские метаданные поддерживаемых форматов файлов:
-
.XLSX
-
.CSV
-
.XLIFF 2.0
-
Отслеживание обновлений перевода в Strings при помощи службы автоматического создания проектов (APC)
Для отслеживания обновлений перевода в Strings при помощи службы автоматического создания проектов (APC) выполните следующие действия:
-
При настройке службы автоматического создания проектов (APC) выберите .
Это позволяет отслеживать онлайн-хранилище на предмет обновлений перевода, сделанных в Strings.
-
В разделе настроек APC выберите .
Изменения, внесенные в контент перевода языка в Strings, будут автоматически сохранены в памяти переводов Phrase TMS при срабатывании службы автоматического создания проектов (APC).
Возможна перезапись обновлений памяти переводов путем изменения сегментов перевода в редакторе Phrase TMS. Эти обновления будут экспортированы обратно в Strings, когда задание Phrase TMS завершится.
Поведение при удалении ключей с использованием APC
Если удалить ключ в Strings после его включения в задание, это не повлияет на задание Phrase TMS, созданное при однократном импорте вручную. Это задание остается без изменений до тех пор, пока оно не будет повторно импортировано вручную.
Когда мониторинг APC активен, Phrase сравнивает хеш контента при каждом опросе или срабатывании вебхука и рассматривает любое изменение, включая удаление ключа, как обновление, которое инициирует повторную синхронизацию.
-
В режиме повторная синхронизация обновляет существующий проект или задание Phrase TMS в соответствии с текущим содержимым Strings, поэтому содержимое удалённого ключа убирается из задания.
-
В режиме при повторной синхронизации создаётся новая версия задания Phrase TMS с содержимым после удаления ключа, а ранее созданные версии заданий остаются без изменений.
В таблице ниже описаны распространенные проблемы, с которыми могут столкнуться пользователи при использовании интеграции Strings. Она содержит возможные причины и решения для устранения неполадок.
|
Проблема |
Причина(-ы) |
Решение |
|---|---|---|
|
Сообщение предупреждения о |
Имена ключей содержат нежелательные символы (например, пробелы) |
Пользователи по-прежнему могут работать с контентом перевода и экспортировать его обратно в Strings, несмотря на сообщение с предупреждением. |
|
Ключи в TMS пусты |
Задание содержит ключи без текста оригинала на языке оригинала |
Либо:
|
|
Служба автоматического создания проектов (APC) не создает проекты/не обрабатывает новые задания |
Несоответствие кодов языка |
Убедитесь в совпадении кодов языков в Strings с кодами в проекте TMS. Если служба автоматического создания проектов (APC) задана как непрерывный проект, любые изменения, внесенные в шаблон проекта после создания проекта, не будут применяться к существующим проектам. Следовательно, изменения должны вноситься непосредственно в непрерывные проекы. |
|
Служба автоматического создания проектов (APC) считает задание/языковой стандарт обработанным |
Если после начала задания настройки шаблона проекта/службы автоматического создания проектов (APC) изменены, то оно может считаться обработанным в истории службы автоматического создания проектов (APC). В таком случае для перехода на следующую итерацию может потребоваться обновить задание. Либо:
|
|
|
|
Сократите количество APC и снизьте частоту мониторинга. |
|
|
Существующий ключ в проекте Strings отсутствует в задании TMS |
Конкретный ключ не был добавлен в задание Strings |
Добавьте ключ в задание Strings и повторно импортируйте задание из онлайн-репозитория в TMS |
|
Ошибка «Could not authenticate» возникает при попытке импорта/экспорта заданий. |
Истекший или отозванный токен доступа для автоматически созданного коннектора «created by Phrase Strings» |
Создайте новый коннектор Phrase Strings в TMS, повторно свяжите существующие APC с новым коннектором и запустите мониторинг. |
|
Задание Strings не удается найти для импорта или повторного импорта через APC или вручную, даже если оно не отображается как завершенное. |
Задание уже было импортировано в проект TMS, который позже был перемещён в корзину без завершения или окончательного удаления. Поскольку проект технически всё ещё находится в работе, задание недоступно для повторного импорта. |
Прежде чем продолжить поиск причины проблемы, проверьте рядом с локалью задания в Strings, чтобы выяснить, импортировалось ли оно ранее в TMS. Если связанный проект находится в корзине, восстановите его и продолжайте работу с ним, либо, если проект не нужен, отмените задания и проект или безвозвратно удалите проект через API с помощью параметра |
|
Не удаётся сохранить настройки синхронизации заданий: появляется ошибка « |
При сохранении синхронизация заданий проверяет целевые локали проекта Strings непосредственно по списку локалей, изначально поддерживаемых TMS. Эта проверка не учитывает пользовательские сопоставления локалей в коннекторе. |
Для проекта Strings с целевой локалью, не поддерживаемой TMS изначально, используйте коннектор Strings непосредственно в TMS, а не подключение из Strings, и настройте пользовательское сопоставление языков. |
|
Переводы не экспортируются обратно в Strings, даже если задания в TMS имеют статус «Доставлено». |
В проекте или шаблоне настроена автоматизация статуса проекта, которая помечает проект (и его задания) как завершённые или доставленные сразу после предварительного перевода всех заданий, а не после их доставки. Это переводит задания в статус «Доставлено» без выполнения этапа экспорта в Strings, поэтому служба автоматизации не планирует экспорт и переводы не отправляются обратно в Strings. |
В настройках автоматизации статуса проекта шаблона проекта для параметра вместо . Задания, созданные вручную, экспортируйте обратно в Strings, а затем измените их статус на «Доставлено»: при экспорте вручную статус не обновляется автоматически. Как только все задания в проекте получат статус «Доставлено», проект автоматически получит статус «Завершено». |