Перейти к содержимому

Проверки качества и глоссарий

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

Ownlate сравнивает перевод с источником и сообщает, что нашёл. Проверка идёт во вкладке QA редактора по ходу работы и по запросу через API.

ПроверкаЧто означает
missing_interpolationПодстановка есть в источнике и отсутствует в переводе
extra_interpolationВ переводе есть подстановка, которой нет в источнике
missing_html_tagHTML-тег из источника встречается в переводе реже
extra_html_tagВ переводе тега больше, чем в источнике
trailing_whitespaceПеревод заканчивается пробельным символом
same_as_sourceПеревод символ в символ совпадает с исходным текстом
forbidden_termВ переводе встретился термин глоссария, помеченный запрещённым
custom_regexСработало одно из ваших правил

Подстановки распознаются в трёх видах, что покрывает все распространённые i18n-библиотеки:

{name} {{count}} ${user} %s %d %i %f %g

HTML-теги сравниваются без учёта регистра и по количеству: заменить <b> на <B> можно, потерять один из двух <br> — нет.

Рабочее пространство → Правила QA хранит регулярные выражения, которые проверяются по тексту перевода наравне со встроенным списком.

ПолеЗамечания
ИмяДо 100 символов, чтобы вы его узнавали
ШаблонРегулярное выражение до 500 символов. Опережающие и ретроспективные проверки поддерживаются.
СообщениеЧто увидит переводчик при срабатывании, до 500 символов
Важностьerror или warning — пометка на правиле
ПроектыОставьте пустым, чтобы правило действовало на все проекты, или перечислите идентификаторы проектов

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

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

Глоссарий — это терминология пространства. Каждая запись относится к одному исходному языку и описывает один термин.

ПолеЧто значит
termСлово или выражение на исходном языке
definitionЧто оно значит здесь — то уточнение, которое нужно переводчику
translationsПредпочтительный перевод по каждому целевому языку
partOfSpeechnoun, verb, adjective или other
caseSensitiveСчитать ли Apple и apple одним термином
forbiddenПомечает термин, которого в переводах быть не должно

Когда сегмент открыт, Ownlate ищет термины глоссария в его исходном тексте и подсвечивает найденные. При наведении показывается определение и предпочтительный перевод для языка, с которым вы работаете, — решение принимается один раз, в глоссарии, а не заново в каждой строке.

Запрещённые термины проверяются наоборот: их ищут в том, что набрал переводчик, и сообщают как замечание forbidden_term. Так из продукта не пролезает название бренда конкурента, снятое с производства имя продукта или слово, запрещённое вашим редполитикой.

Глоссарий, перечисляющий все существительные, никто не читает; глоссарий из тридцати записей читают. Хорошие кандидаты:

  • Названия продуктов и функций с пометкой, переводятся ли они вообще.
  • Слова, которые ваша отрасль употребляет в особом смысле, — тикет, доска, релиз.
  • Термины с несколькими правдоподобными переводами, где единообразие важнее самого выбора.
  • Всё, что вы уже дважды правили при проверке.