@Lopus

Правильный подход к организации структуры фраз i18n в django?

Поделитесь опытом как лучше организовать перевод фраз в двуязычном проекте (русский и английский) ? Чтобы не напороться на грабли через пол года, когда проект уже будет сильно завязан на каком-то из вариантов.
1. В шаблонах писать {% trans 'header_menu_news' %}, создавать 2 файла -ru и -en и там переводить фразу на свой язык
2. В шаблонах писать {% trans 'Новости' %} и создавать только -en вариант, а -ru будет отображаться по умолчанию (судя по документации джанго сделано под такой вариант, но там английский по умолчанию)
3. Какой-то другой вариант?
  • Вопрос задан
  • 130 просмотров
Пригласить эксперта
Ответы на вопрос 2
anton_lazarev
@anton_lazarev
Данный вопрос уже давно обсуждается сообществом, но к единому варианту так никто и не пришел, так что все используют вариант на свой вкус. Лично я использую второй вариант.

Плюсы:
+ переводчику нет необходимости держать открытыми два .po файла, так как текст для перевода является ключом
+ если отсутствует перевод для ключа, то выведется понятное значение, которое в случае чего юзер сможет перевести, а не заглушка вида header_menu_news

Минусы:
- если необходимо поменять оригинальный текст, то придется искать по всему проекту использование этого ключа и менять его, хотя в первом варианте достаточно было бы поменять только в .po файле
Ответ написан
Комментировать
@Volton
i18n проекты лучше делать с английским в шаблонах {% trans 'News' %}, а переводы формировать через Rosseta, Poedit или вручную
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы