Реализация системы настроек для многоязычного сайта?

Названия опций лежат в xml-файлах, но значения этих опций должны лежать в БД. Сейчас система настроект прекрасно работает на сайте, но для него введена многоязычность, соответственно нужно учитывать многоязычность и для системы настроет. Есть много ньюансов. Например, есть опция «option_api», которая хранит ключ к api внешнего сервиса, т.е. этот ключ будет один т тот же для каждого языка сайта. Есть опции, которые можно выставлять в «да», «нет», «не указано», т.е. это либо радио-баттон или селект — т.е. значение могу использовать для всех языков сайта. Но есть опции, которые хранят в себе название, например, названия раздела сайта, т.е. они являются текстовым полем, и для каждого языка будут иметь свои значения.


Сейчас опции и их значения я храню в 2-х таблицах: в первой опции, во второй все варианты значений к этим опциям. Т.е. сейчас можно вернуть старое значение опции, а можно добавить новое и т.д. например опция может быть изображением, например, логотип — зимний вариант лого, летний, чтобы можно было переключаться в зависимости от времени года.


Структуру таблиц не привожу, чтобы не навязывать свое мнение. Использую Zend Framework, если это чем-то поможет.

В общем, поделитесь, пожалуйста, своим опытом реализации подобного на сайте.
  • Вопрос задан
  • 3029 просмотров
Решения вопроса 1
@doranych
Названия опций лежат в xml-файлах, но значения этих опций должны лежать в БД.

Само по себе это уже не очень понятно. Зачем хранить их так хранить, хотя дело ваше.
Итак.
Теперь на тему вопроса.
Можно добавить к свойствам в названии язык. Например так, ru_confname, en_confname, jp_confname и так далее.
Ну и в процессе запроса нужного параметра добавлять сокращение языка.
Есть другой вариант, можно во второй таблице добавить код языка и запрашивать с его учетом. Но это вариация первого варианта.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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