Как структурировать экспорт XLIFF для использования переводчиком? - PullRequest
0 голосов
/ 25 октября 2018

Основной вопрос: как мне построить структуру XLIFF для использования?

Что у меня есть:

A Symfony (3.4) проект, в который я хочу экспортировать переводимый контенткак XLIFF.Я имею в виду не переводы пакетов, а динамическое содержимое из базы данных.

Я уже написал пакет, в котором для сбора содержимого используется MessageCatalogue, а для записи файла XLIFF - XliffFileDumper..

Это дает мне плоский XLIFF с контентом для перевода.Я думаю, это не очень удобно.Пример: страницы имеют контент.На данный момент я просто собираю весь контент в квартиру XLIFF.Передавая этот файл переводчику, он / она не будет знать, какой контент принадлежит какой странице.Это плохо, верно?

Метод MessageCatalogue => XliffFileDumper, который я использую в данный момент, кажется немного ограниченным в этом смысле.Я могу добавить метаданные (заметки), но я не могу использовать группы, например.Также кажется невозможным добавить более одного сегмента в единицу.То, что я могу установить, это «домен», который приводит, например, к тегу <file id="content.fr"> (domain=content).

Было бы здорово создать полезный XLIFF таким образом, но скажите, если я не могу,Чем мне нужно написать настроенный XLIFF дампер.

Идеи: я мог бы использовать один домен на страницу, что приводит к множеству файлов?Хорошая практика?Я мог бы добавить информацию о родительской странице в метаданные / заметки.Может ли переводчик даже использовать это?

Что было бы лучшим для файловой структуры?Если кто-нибудь знает полезный пакет symfony, скажите, пожалуйста.

1 Ответ

0 голосов
/ 25 октября 2018

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

Если вы собираетесь усовершенствовать самосвал, я рекомендую прочитать это вначале https://galaglobal.github.io/TAPICC/T1/WG3/rs01/XLIFF-EM-BP-V1.0-rs01.xhtml

Исходя из вышеизложенного, создайте новый параметр параметризации самосвала как XLIFF 1.2, XLIFF 2.1 или XLIFF 2.0.XLIFF 2.1 http://docs.oasis -open.org / xliff / xliff-core / v2.1 / os / xliff-core-v2.1-os.html является последней версией, обратно совместимой с XLIFF 2.0, но НЕобратная совместимость с XLIFF 1.2.Поддержка XLIFF 1.2 в инструментах CAT (Computer Aide Translation) по-прежнему больше, чем в XLIFF 2, но XLIFF 1.2 больше не поддерживается Техническим комитетом OASIS.

Ваш новый дампер должен поддерживать рекурсивную группировку и оформление извлеченных файлов./ groups / unit с метаданными исходного ресурса, см. документ о передовой практике выше о том, как это сделать.Если вы сделаете это, инструменты CAT смогут отобразить это для переводчиков, которые найдут это очень полезным.По сути, каждый структурный элемент имеет выделенный атрибут для хранения идентификатора извлеченного ресурса, @original в файле, @name в группе и единице.Вы также можете хранить приватную строку с префиксом nmtoken: в @type.В случае, если этого недостаточно, вы можете хранить больше данных о передаче данных в скелете или модуле данных ресурсов. Оба могут быть внутренними или внешними.

Также рекомендуется начинать с ядра XLIFF 2 и добавлять только данные модуляпосле того, как вы преуспели с основным циклом.

Очень полезным и простым в реализации модулем является модуль fs, который упрощает создание HTML-превью для переводчиков.Примечания <note> не следует использовать для метаданных циклического преобразования только для удобочитаемых инструкций / предупреждений / комментариев для переводчиков.

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

Кодировка сегментации внутри устройства является основным отличием между XLIFF 1.2 и XLIFF 2. Вам необходимо изучить спецификации для подробностей.

...