1

Тема: Dlango - перетворити одномовний сайт в багатомовний.

є одномовний сайт
уже готовий, працює. на свіжому Django (1.11)
раптом треба додати ще одну мову.
начитався, нагуглився, тепер ще хочу поспитати - може хтось таке мав - і підкаже парочку практичних порад.
-  з темплейтами вроді все ясно - файл з перекладами і тег {% trans %}
-  а що робити з моделями ? тупо дадати ще одне дублююче поле типу:
title = models.Model...  # уже є
title_pl = models.Model...  # польський варіант
???

2

Re: Dlango - перетворити одномовний сайт в багатомовний.

Так. Переклади є такі:
1. Збереігаються в .po .mo - те, що з шаблонів і пітонівських файлів;
2. Зберігаються в базі. Через отакі поля, як вище)

Є готові додатки, які це роблять:
1. rosetta - дозволяє перекладати .po файли з адмінки.
2. django-modeltranslation - додає всі потрібні (по доступних мовах) поля в модель. І відразу при отримуваня даних  з бази віддає значення на вашій мові. І при записі теж саме)

Подякували: Monolith1

3

Re: Dlango - перетворити одномовний сайт в багатомовний.

Q-bart написав:

Так. Переклади є такі:
1. Збереігаються в .po .mo - те, що з шаблонів і пітонівських файлів;
2. Зберігаються в базі. Через отакі поля, як вище)

Є готові додатки, які це роблять:
1. rosetta - дозволяє перекладати .po файли з адмінки.
2. django-modeltranslation - додає всі потрібні (по доступних мовах) поля в модель. І відразу при отримуваня даних  з бази віддає значення на вашій мові. І при записі теж саме)

скажімо, адмінка не цікавить - хай буде одномовною.
а от в яких випадках якому з методів віддати перевагу для фронт-енду (рендерінг темплейтів і відображення полів моделей )?

4

Re: Dlango - перетворити одномовний сайт в багатомовний.

ping написав:

є одномовний сайт
уже готовий, працює. на свіжому Django (1.11)
раптом треба додати ще одну мову.
начитався, нагуглився, тепер ще хочу поспитати - може хтось таке мав - і підкаже парочку практичних порад.
-  з темплейтами вроді все ясно - файл з перекладами і тег {% trans %}
-  а що робити з моделями ? тупо дадати ще одне дублююче поле типу:
title = models.Model...  # уже є
title_pl = models.Model...  # польський варіант
???

в залежності від параметрів запиту (піддомену єтс) вичітувати потрібну модель?

5

Re: Dlango - перетворити одномовний сайт в багатомовний.

varkon написав:
ping написав:

є одномовний сайт
уже готовий, працює. на свіжому Django (1.11)
раптом треба додати ще одну мову.
начитався, нагуглився, тепер ще хочу поспитати - може хтось таке мав - і підкаже парочку практичних порад.
-  з темплейтами вроді все ясно - файл з перекладами і тег {% trans %}
-  а що робити з моделями ? тупо дадати ще одне дублююче поле типу:
title = models.Model...  # уже є
title_pl = models.Model...  # польський варіант
???

в залежності від параметрів запиту (піддомену єтс) вичітувати потрібну модель?

робити окрему модель на кожну мову не думаю що це гарно.
бачу два варіанти:
- модель одна, але на кожну мову є окремі поля (де це потрібно) і вичитуються вони.
- модель одна, але кожне поле, яке потребує перекладу має FK  на модель з його перекладом
шось як тут описано:
https://stackoverflow.com/questions/157 … tilanguage