Согласно 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>