Лучшая практика Symfony перевод заполнителя именования текста против ключа - PullRequest
0 голосов
/ 11 декабря 2018

Мы переводим существующее приложение Symfony4, извлекая тексты с помощью компонента перевода и дополнительно используя php-translation / symfony-bundle

Мы не уверены, что лучше использовать существующие тексты какключи или вставьте заполнители.

Преимущество использования текстов:

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

Недостатки:

  • каждый раз, когда исходный источник адаптируется, у нас есть неверный ключ

Как сделатьВы и ваша команда справитесь с этим?Является ли файл перевода частью вашего хранилища?

По этой ссылке можно использовать ключи: https://medium.com/@smaine.milianni/straightforward-symfony-4-best-practices-e6d1b3c0a9dd

1 Ответ

0 голосов
/ 11 декабря 2018

Согласно Symfony :

Всегда используйте ключи для переводов вместо строк содержимого.

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

Ключи всегда должны описывать их назначение, а не их местоположение.Например, если в форме есть поле с меткой Username, то хорошим ключом будет label.username, а не edit_form.label.username.

Использование ключа вместо текста часто заканчиваетсяизбегать ошибок при установке ключа в контенте и показывать контент гораздо меньшего размера.

Пример

<div>
    <span>{% trans %}Please enter the value of this input in order for the calculation to work{% endtrans %}</span>
    <label>{% trans %}Simple Input{% endtrans %}</label>
    <input type="text"/>
</div>

В этом случае, если вы напишите {% trans %}Simple input{% endtrans %} где-то еще, тогда вам придется управлять другим переводом, даже если он такой же.

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

VS

<div>
    <span>{% trans %}help_text.simple_input{% endtrans %}</span>
    <label>{% trans %}label.simple_input{% endtrans %}</label>
    <input type="text"/>
</div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...