Як краще реалізувати багатомовність на сайті

  • PHP
  • Багатомовність

Виник наступне питання, необхідно опрацювати структуру сайту на декількох мовах.

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

У реалізації цієї справи є кілька питань:

1) Наприклад у нас є таблиця "news" новини проекту:


І наприклад ми працюємо з кількома мовами на сайті (русс, англ, франц)

Як буде краще здійснити створення новини на сайті адміністратором. Тобто адміністратор повинен зробити потрійну роботу, а саме написати контент 3 рази під кожну із них.

Варіант перший:
Дублювати поля в таблиці:


Варіант другий:
Таблиця "news" містить мову за замовчуванням, російський і є ще одна таблиця в якій переклади на інші мови.


І наприклад якщо у нас переглядають сайт на англ. то ми беремо по атрибутам news_id і lang дані з таблиці перекладів.

Який варіант краще. Може хтось порадить свій?

Питання номер 2
Як бути з контентом. Наприклад у нас є файли шаблонів: news_full.tpl, news_short.tpl і тп.
Чи буде оптимально в кожному модулі в видах створювати папки з мовами і дублювати файли виду тільки з різними перекладом:

І останнє питання номер 3
Наприклад у нас сайт працює повністю на ajax і сервер видає відповіді ну наприклад з помилкою:
неправильний пароль

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

Або можна скористатися мовними файлами і зберігати наприклад пакети так: відштовхуючись від дефолтного мови:

Поділіться порадами ласка.

Схожі статті