Symfony 3: XLIFF с тем же источником и целью?

Я пытаюсь перейти к переводу с помощью Symfony 3. Я прочитал всю документацию, но не могу понять, как обращаться с языком по умолчанию. Например, я знаю, что это файл XLIFF, который я бы использовал для французского языка.

<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
<file source-language="en" target-language="fr" datatype="plaintext" original="file.ext">
    <body>
        <trans-unit id="symfony_is_great">
            <source>Symfony is great</source>
            <target>J'aime Symfony</target>
        </trans-unit>
    </body>
</file>

but what do I do for English? Do I just duplicate the message in the source and the target like this?

<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
    <file source-language="en" target-language="en" datatype="plaintext" original="file.ext">
        <body>
            <trans-unit id="symfony_is_great">
                <source>Symfony is great</source>
                <target>Symfony is great</target>
            </trans-unit>
        </body>
    </file>
</xliff>

Мне просто кажется странным, что мне нужно поставить один и тот же текст дважды? Или я что-то упускаю?


person MEmerson    schedule 29.05.2017    source источник


Ответы (1)


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

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

  • Ключ дает контекст (например: product.form.title, product.form.description...).

  • Разработчик больше не заботится о тексте.

Ознакомьтесь с лучшими практиками Symfony: http://symfony.com/doc/current/best_practices/i18n.html#translation-keys

person rpg600    schedule 30.05.2017