Возник следующий вопрос, необходимо проработать структуру сайта на нескольких языках.
Сразу отойдем от идеи скосячить и зацепить всякие там гуглопереводчики и тому подобное.
В реализации этого дела есть несколько вопросов:1) К примеру у нас есть таблица "news" новости проекта:news_id
title
news_short
news_full
status
И к примеру мы работаем с несколькими языками на сайте (русс, англ, франц)
Как будет лучше осуществить создание новости на сайте администратором ? Тоесть администратор должен сделать тройную работу, а именно написать контент 3 раза под каждый язык.
Вариант первый:
Дублировать поля в таблице:
title_ru
title_en
news_short_en
news_full_en
news_short_ru
news_full_ru
...
Вариант второй:
Таблица "news" содержит язык по умолчанию, русский и есть еще одна таблица в которой переводы на другие языки.
tr_id
lang
title
news_short
news_full
news_id
И к примеру если у нас просматривают сайт на англ., то мы берем по атрибутам news_id и lang данные из таблицы переводов.
Какой вариант лучше ? Может кто-то посоветует свой?
Вопрос номер 2
Как быть с контентом ? К примеру у нас есть файлы шаблонов: news_full.tpl, news_short.tpl и тп....
Будет ли оптимально в каждом модуле в видах создавать папки с языками и дублировать файлы вида только с разными переводом:
views
- ru
- news_full.tpl
- news_short.tpl
- en
- news_full.tpl
- news_short.tpl
...
И последний вопрос номер 3
К примеру у нас сайт работает полностью на ajax и сервер выдает ответы ну к примеру с ошибкой:
Неправильный пароль
Тоесть тут в любом случае у нас есть таблица переводов, но как ее лучше оформить ? Каждая ошибка имеет свой код (к примеру ERROR_WRONG_PASSWORD) и по этому коду исходя из нужного языка мы достаем перевод?
Или можно воспользоваться языковыми файлами и хранить например пакеты так: отталкиваясь от дефолтного языка:
array(
'Неверный пароль' => 'Wrong Password'
)
Поделитесь советами пожалуйста.