Справочный центр

Правила разбора файлов
*.xliff

Правила синтаксического разбора файлов *.xliff для проекта локализации приложений
Исходные файлы
Назначение файлов:
.xliff файл — это файл, который расширяемый реализует платформенно-независимый стандарт обмена локализуемыми данными и сопутствующей информацией, основанный на языке разметки XML

Пример исходного .xliff файла:
<?xml version="1.0" encoding="UTF-8"?>
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
    <file id="4726" original="/bm/bonus/content.php" source-language="ru" target-language="en" datatype="plaintext">
        <body>
            <trans-unit id="798161" identifier="50a0059ae865a7b83cc1a6c9f92d5ff1">
                <source>Аренда авто</source>
                <target state="translated">Car lease</target>
                <note>Context: array['categories'][1]['name']
        Screenshot: https://ru.new.com/s/wrap/93c37373i4j5n4e3f307o4k4r4q4431515o4?t=798161</note>
            </trans-unit>

            <trans-unit id="798162" identifier="717f16854ec00cc8f8e5059573d30fe7">
                <source>Предложения по аренде автомобилей такси</source>
                <target state="translated">Taxi car lease offers</target>
                <note>Context: array['categories'][1]['desc']
        Screenshot: https://ru.new.com/s/wrap/93c37373i4j5n4e3f307o4k4r4q4431515o4?t=798162</note>
            </trans-unit>
        </body>
    </file>
</xliff>
Анализ
Более детально о формате XML в целом можно почитать здесь.
Основные ключи рассмотрим на примере ниже:
    <?xml version="1.0" encoding="UTF-8"?>
    <xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
        <file id="4726" original="/bm/bonus/content.php" source-language="ru" target-language="en" datatype="plaintext">
            <body>
                <trans-unit id="798161" identifier="50a0059ae865a7b83cc1a6c9f92d5ff1">
                    <source>Аренда авто</source>
                    <target state="translated">Car lease</target>
                    <note>Context: array['categories'][1]['name']
            Screenshot: https://ru.new.com/s/wrap/93c37373i4j5n4e3f307o4k4r4q4431515o4?t=798161</note>
                </trans-unit>
    
                <trans-unit id="798162" identifier="717f16854ec00cc8f8e5059573d30fe7">
                    <source>Предложения по аренде автомобилей такси</source>
                    <target state="translated">Taxi car lease offers</target>
                    <note>Context: array['categories'][1]['desc']
            Screenshot: https://ru.new.com/s/wrap/93c37373i4j5n4e3f307o4k4r4q4431515o4?t=798162</note>
                </trans-unit>
            </body>
        </file>
    </xliff>
    
    Описание ключей:

    1. элемент file, атрибут original
      a.Назначение: местоположение файла в системе.
      b.Пример: /bm/bonus/content.php.
      c.Пояснение: расположение файла в хранилище системы переводов.


    2. элемент file, атрибут source-language

      a.Назначение: исходный язык файла.
      b.Пример: ru.
      c.Пояснение: псевдоним языка оригинала.

    3. элемент file, атрибут language

      a.Назначение: целевой язык перевода.
      b.Пример: en.
      c.Пояснение: псевдоним языка перевода.

    4. элемент trans-unit, подэлемент note

      a.Назначение: контекст.
      b.Пример: Context: array['categories'][1]['name'] Screenshot: https://ru.new.com/s/wrap/93c37373i4j5n4e3f307o4k4....
      c.Пояснение: -.
    5. элемент trans-unit, подэлемент source

    a.Назначение: исходная строка
    b.Пример: Аренда авто.
    c.Пояснение: -.

    6.элемент trans-unit, подэлемент target

    a.Назначение: строка перевода
    b.Пример: Car lease.
    c.Пояснение: атрибут state содержит статус перевода строки.

    Процесс перевода:
    1. Чтобы получить локализованное приложение, необходимо перевести .xliff файлы на нужные языки.
    2. Мы предлагаем воспользоваться для перевода нашим онлайн-сервисом alingvo. Сервис:
    • загружает исходные файлы
    • преобразует их в строки для перевода
    • предоставляет удобный для переводчика интерфейс
    • формирует целевые файлы локализации