Документация

Локализация: рабочая среда

Узнайте, в каком состоянии находятся языки каждого проекта, найдите строки, требующие обработки, выполните Локализацию недостающих элементов и сохраните результат как один pull request.

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

Локализация — это второй этап Глобализация в главном меню. Открытие соответствующего проекта отображает его рабочее пространство: разделы слева и открытый раздел рядом с ними. Проекты, которые пока не являются многоязычными, начинаются с Мастер интернационализации.

Рабочее пространство

РазделДля чего это нужно
ОбзорСостояние каждого языка и одно действие для Локализации недостающих элементов
СтрокиВсе строки на всех языках, отфильтрованные по актуальным задачам
ПредложенияИсправления от участников, ожидающие принятия решения
ОбменФайлы для агентств, инструментов перевода и таблиц, а также их переведенные версии
УчастникиКто может предлагать варианты текста и на каких языках
АвтоматизацииИсправления применяются еженощно, а перевод строк, выполненный вне Coroid, также учитывается.
НастройкиЯзыки, проверка Глобализации, доступ и расходы, а также конфигурационный файл

Разделы «Предложения», «Участники» и «Автоматизации» описаны в Поддерживайте переводы с помощью предложений. Над этими разделами, в группе «Интернационализация», расположена панель Готовность к работе в глобальном масштабе и культура.

Рабочее пространство считывает каталоги с вашей ветки по умолчанию. При их изменении Coroid снова считывает их при следующем открытии проекта; до этого момента в Обзоре отображается информация о процессе чтения. Для этой операции Coroid никогда не запускает код вашего репозитория. Каталоги с пользовательским адаптером не отображаются; их строки при этом всё равно проверяются в задачах.

Обзор: по одной строке на язык

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

  1. Интернационализировать. Каталог данного языка существует и содержит строки.
  2. Локализовать. Каждая строка переводится с исходного текста.
  3. Проверить. Ни одна строка не повреждена: все корректно парсятся, сохраняют исходные плейсхолдеры и имеют необходимые формы множественного числа.

Следующий этап развития языка определяется по точке останова его линии. Зелёная точка означает завершение, бирюзовое кольцо — этап, требующий дополнительной работы, а янтарная — наличие повреждённых строк.

Локализация
Интернет-магазин
английский исходный код · 5 языки · проверено 2 часа назад в 3f2c9a1
  • Готовность к работе
  • Культура
  • Обзор
  • Строки
  • Предложения
  • Обмен
  • Участники
  • Автоматизации
  • Настройки
Обзор

Каждый язык проходит через три этапа. Следующий шаг определяется местом завершения текущего этапа.

Перевести 135 строки
Строки1 240в 3 каталогах
Языки4плюс 1 производные
Переведено97,2 %1 020 рассмотрено людьми
Требует доработки135по всем 3 языкам
  1. Englishанглийский · en · Источник

    1 240 строки в 3 каталогах

  2. Deutschнемецкий · de
    100 %
    Готово
    Соответствует требованиям
  3. Françaisфранцузский · fr
    98 %
    18 отсутствуют строки
    Соответствует требованиям
  4. 日本語японский · ja
    96,3 %
    42 отсутствуют строки
    3 поврежденные строки
  5. العربيةарабский · ar
    94,6 %
    64 отсутствуют строки
    Соответствует требованиям
  6. British Englishбританский английский · en-GB · Сформировано на основе английский
    100 %
    Производное и актуальное
    Соответствует требованиям

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

Полоса под Локализовать отображает информацию с самого начала: тёмно-зелёный цвет — строки, отредактированные людьми, светло-зелёный — строки, созданные моделью, янтарный — строки, требующие внимания, а пустая часть — строки, которых не хватает. Текст под полосой указывает на разрыв, например, 42 недостающие строки, и открывает именно эти строки.

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

Локализуйте недостающие элементы

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

  1. Память переводов. Строка, которую уже перевёл другой проект вашей организации с точно таким же исходным текстом, использует этот же перевод. Переводы людей имеют приоритет перед машино-сгенерированными. При этом вызов модели не происходит, и расходов нет.
  2. Модель-переводчик. Остальные строки переводит движок, закреплённый в вашем репозитории, через шлюз перевода; при этом каждый ответ проверяется на соответствие плейсхолдерам и формам множественного числа.

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

Локализация
Интернет-магазин
английский исходный код · 5 языки · проверено 2 часа назад в 3f2c9a1
  • Готовность к работе
  • Культура
  • Обзор
  • Строки
  • Предложения
  • Обмен
  • Участники
  • Автоматизации
  • Настройки
Обзор

Каждый язык проходит через три этапа. Следующий шаг определяется местом завершения текущего этапа.

Остановить перевод
Машинный перевод в процессе выполнения

Переведено строк пока что: 71 из 133

Повторно использовано из памяти переводов без дополнительных затрат: 26 · 0,04 $ израсходовано из лимита в 5,00 $

  1. Deutschнемецкий · de
    Готово
  2. Françaisфранцузский · fr
    Переводы готовы к коммитированию: 24
  3. 日本語японский · ja
    Процесс перевода: записано 28 из 45
  4. العربيةарабский · ar
    Процесс перевода: записано 19 из 64

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

Переводы не попадают сразу в ваш репозиторий. Они ожидают Сохранить вместе с другими изменениями, помеченные как машинные переводы, чтобы вы могли проверить их в Строки сначала. Строка, которую уже редактировал кто-то другой или предложил участник, остаётся в их ведении.

Строки

Строки отображает каждую строку с её исходным текстом и значением на одном языке. Он открывается на странице Требуют обработки: строки, которых не хватает, чей исходный текст изменился, которые повреждены или остались такими же, как в исходнике. Выберите другой язык, каталог или воспользуйтесь поиском по ключам и тексту.

СостояниеЗначение
ОтсутствуетУ этой строки нет перевода
Исходный текст изменилсяИсходный текст изменился после того, как строка была переведена
ПоврежденаОна не распознаётся парсером, её плейсхолдеры отличаются от исходных или её формы множественного числа не соответствуют языку
То же, что и в исходникеОна полностью совпадает с исходным текстом
МашинныйЕё создала модель, и никто из людей её не проверял
ПровереноЕё написал или исправил человек
ПроизводнаяЕё сгенерировали правила из другого языка

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

Локализация
Интернет-магазин
английский исходный код · 5 языки · проверено 2 часа назад в 3f2c9a1
  • Готовность к работе
  • Культура
  • Обзор
  • Строки
  • Предложения
  • Обмен
  • Участники
  • Автоматизации
  • Настройки
Строки

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

日本語Все каталогиНайти ключи и текст…
Требует работы45Отсутствует42Исходный текст изменён0Некорректно3То же, что и исходный текст0Машинный перевод1 035Проверено160Все1 240
Исходный текст日本語
Total: {amount}合計: {price}Некорректно
Your cart is emptyПеревода пока нетОтсутствует
Welcome back, {name}Перевода пока нетОтсутствует
Prices include <b>VAT</b>価格には<b>消費税</b>が含まれますНекорректно
Weekly dealsПеревода пока нетОтсутствует
checkout.total
Каталог ui · label
Исходный код · английский
Total: {amount}
  1. 日本語 · японскийНекорректно
    合計: {price}

    Создано моделью · Плейсхолдеры отличаются от исходного текста

  2. DeutschПроверено
    Gesamt: {amount}
  3. FrançaisМашинный перевод
    Total : {amount}
  4. العربيةМашинный перевод
    الإجمالي: {amount}
  5. British EnglishПроизводное
    Total: {amount}

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

Редактировать и сохранить

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

Предложить в редакторе предлагает перевод для конкретной строки: из памяти переводов, если он уже есть в другом проекте, либо от модели-переводчика. Выберите Использовать чтобы поместить его в редактор; ничего не сохраняется до тех пор, пока вы не сохраните изменения.

Сохранённые изменения отображаются в панели под списком строк, где их можно проверить или отменить. Сохранить объединяет все эти изменения вместе с одобренными предложениями участников и машинными переводами в одну задачу. Эта задача применяет именно эти значения с заданным движком и открывает один pull request. Один коммит может содержать до 5 000 изменений; остальные ожидают следующего коммита. Пока этот pull request не будет объединён в основную ветку, строки будут отображаться как Не сохранено или В процессе применения.

Сохранённый машинный перевод остаётся машинным переводом в кэше движка, поэтому он по-прежнему относится к категории Машинный пока его не проверит человек.

Для редактирования необходимо включить функцию участия в файле конфигурации; Мастер интернационализации включает её по умолчанию. Участники также могут предложить более подходящую формулировку на вашем собственном сайте.

Обмен файлами

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

ФорматЯзыки в файлеИспользуется для
XLIFF 1.2 и 2.0ОдинИнструменты перевода и агентства; плейсхолдеры передаются как заблокированные теги
Gettext POОдинPoedit, Weblate и другие инструменты Gettext
CSV и ExcelЛюбой языкТаблицы, с языками в соседних столбцах
JSONОдинКлючи и переводы
Apple String CatalogЛюбой языкXcode
Apple .stringsОдинПроекты Xcode
Android strings.xmlОдинAndroid Studio
Flutter ARBОдинFlutter

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

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

JSON, .strings и файлы Android не указывают язык, который они содержат. Coroid определяет его по имени файла, например storefront-de.json, или запрашивает его.

Проверить каждое изменение

Функция Проверка Глобализации Эта система работает во время проверки задач и в процессе создания пулл-реквестов. Она анализирует строки, затронутые изменениями, на всех языках, а также код, добавленный в результате этих изменений. На странице Обзор Просмотреть последнюю проверку под Проверить откроет самый свежий запуск. Если при переводе возникают ошибки, блокирующие выполнение задачи, агент-разработчик устраняет их в рамках сессии перевода для данной задачи; при этом он никогда не редактирует каталоги других языков вручную.

Модель Translator

Функция перевода имеет собственную роль в профилях AI, Translator, наряду с Architektом, Разработчиком, Специалистом по проверке качества и Рецензентом. По умолчанию используется модель перевода Hy-MT2, а в качестве резервной — GPT-6 Luna, если это разрешено политикой вашей организации. Схему сопоставления можно изменить в профиле AI так же, как и для любой другой роли.

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

Стоимость

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

При использовании стандартного маршрута Translator стоимость перевода составляет около двух центов за 1 000 строк на один язык. Перевод каталога из 2 000 строк на десять языков обойдется примерно в 0,33 доллара, согласно нашим измерениям.

  • Оплачиваются только изменения. Движок сохраняет кэш, привязанный к исходному тексту, поэтому неизменные строки больше не отправляются на перевод.
  • Каждая задача и каждый запуск имеют лимит на перевод. Сессия задачи прекращается при достижении лимита расходов — по умолчанию 1 доллар; Перевести запуск в рабочей области останавливается при достижении лимита в 5 долларов. Проект может установить более низкий лимит в разделе Настройки → Доступ и расходы.
  • Память переводов не стоит ничего. Строки, уже переведенные вашей организацией в других местах, используются повторно без необходимости обращения к модели.
  • Чтение не требует оплаты. Рабочая область и проверка Глобализация считывают ваши каталоги; при этом запросы к моделям не отправляются.

Перевод вне Coroid

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