Гибкий разборщик XML

Далеко не секрет, что бывают случаи, когда стандартные XML разборщики не позволяют достичь нужно результата, а именно, загрузить на перевод конкретные строки конкретных элементов и присвоить сегментам в CAT Редакторе дополнительные параметры: идентификаторы и ограничение длины. Smartcat предоставляет решение для таких нетривиальных задач  — гибкий разборщик XML.

Настройки разборщика вы можете найти в меню Настройки вашего аккаунта  -> Форматы файлов.


mceclip0.png


Прежде чем применить новые настройки импорта к документу, сначала нужно задать модель XML разборщика в этом разделе. Вы можете настроить несколько моделей в зависимости от требований к тому или иному проекту. Чтобы успешно настраивать модели, вам также потребуются базовые знания синтаксиса XPath и тестовая среда, куда вы можете загрузить небольшую часть текста для подбора подходящих выражений, например, Xpather

 

 

Настройки модели гибкого XML разборщика

 

Окно настройки модели содержит несколько полей, из которых  два являются обязательными для заполнения:

Название настройки импорта:  собственно название будущей модели.

Segment forming elements:  в этом поле требуется указать путь к элементам, можно указать несколько значений.  Поиск элементов происходит по всему документу. 

Например, путь //test-string или /test/test-string выведет в Редактор строку "Переведи меня" из XML файла с текстом:

<test>
<test-string> Переведи меня </test-string>
</test>


Без заполнения двух верхни полей не получится сохранить модель разборщика.
mceclip0.png

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

Переводимый текст:  элементы содержат узлы  — аттрибуты, элементы или текст — которые требуют перевода. В этом поле можно указать путь до узлов в границах элементов, указанных в Segment forming elements. Можно указать несколько узлов.

Пример:


Наш XML файл, где элемент test содержит аттрибут attribute со значением "Хорошо" и другой элемент test-string:

<test>
<test-string attribute= "Хорошо"> Переведи меня </test-string>
</test>


mceclip1.png

В Редакторе появится два сегмента с текстом Переведи меня и Хорошо.

Непереводимые элементы: 
поле, где также можно указать путь до узлов-элементов в границах Segment forming elements. По названию поля можно догадаться, что такие элементы не попадут в Редактор (содержимое будет заменено одиночным тегом). Можно указать несколько значений в этом поле. 

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

Пример: 

<test>
<test-string>Важный  <tag>нет</tag> текст</test-string>
</test>


Щепотка магии и элемент <tag>нет</tag> не попадёт в Редактор.
mceclip2.png

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


mceclip3.png

 

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

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

В примере ниже указан путь на атрибут id элемента test-string как идентификатор этого элемента.

<test>
<test-string id= "1">Важный текст</test-string>
</test>

mceclip4.png
Сегмент в Редакторе будет выглядеть так:
mceclip5.png

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

Комментарий:  поле, где можно указать путь на узел, текст которого попадёт во вкладку Комментарий к сегменту в Редакторе. Может указать несколько комментариев.

 

Ниже пример с несколькими комментариями для элемента test-string:

<test>
<test-string com= "1 комментарий">Важный текст<comment>2 комментарий</comment></test-string>
</test>


mceclip7.png

В итоге в Редакторе появятся два комментария к сегменту:
mceclip8.png

Ограничение длины сегмента:  позволяет указать путь к узлу, содержащему строковое целое число("10") — допустимое количество символов в сегменте перевода. Может быть только одно значение.

Настройки в модели для примера ниже будут следующие:

Segment-forming element:  //test-string 
Ограничение длины сегмента:  @max

<test>
<test-string max = "5">Важный текст</test-string>
</test>
Под сегментом перевода появится счётчик символов и без соблюдения установленной длины сегмента, его нельзя будет подтвердить.
mceclip9.png

 

Защитить HTML-теги в разделе CDATA:  если опция отмечена, то содержимое элементов CDATA, попадающих в переводимый текст, будет интерпретировано как HTML разметка. То есть, HTML теги попадут в сегмент не в виде текста, а в виде тегов вида mceclip11.png  вместо <br>нет</br> и их нельзя изменять.

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

 

Понравилось?

1

Похожие статьи:

    Нет похожих статей