Forums / National / Russian / Хочу сайт на 3 языках ! :)

CrazyFreeMan
#41091 2015-10-17 19:26

Рано обрадоваля я мультиленгу. Он работает только на страницах модулей. Очень кривое решение. 

Вот к примеру у меня сайт на 2 языках, и я хочу выводить название категорий структуры в произвольном месте что б каждый раз не писать все в файлах а использовать админку а так же сразу перевести названия для удобности, установил плагин и18н  перевел названия, в меню добавляю ссылку на раздел пейдж и тайтл {PHP.cot_cat.diagnostika.title} - удобно же - изменил в админке и на сайте изменилось, но если у нас несколько языков то в переменную {PHP.cot_cat.diagnostika.title} не перезаписывается на текущую локаль и тогда нужно извращаться типа <!-- IF {PHP.i18n_locale} == 'ua' -->{PHP.i18n_structure.diagnostika.ua.title}<!-- ELSE -->{PHP.cot_cat.diagnostika.title}<!-- ENDIF --> ну это хорошо если 2 языка и то решение совсем не очень.  Посмотрел на возможность интеграции с Polls есть идеи но они так же костыли.  Можно отказіваться от идеи такой интернационализации.

Предлагаю подумать на счет как я писал выше, сколько локалей на сайте столько и делать полей при добавлении статьи/голосовалки/других модулей. Так работает у всех ЦМС, если не заполнил то используется по умолчанию первое, примерно так - есть плагин в котором описать что есть 3 локали и который дает возможность записать текущую локаль в глобальную переменную доступную всем, в самом плагине контент которого нужно переводить, проверять если добавились локали то нужно добавить для них поля тем полям которые подлежат переводу, типа по умолчанию есть поле title,text,data,id ( в модуле записано что для перевода нужны только title,text) - добавляем локаль - и в самом модуле записан маханизм - для каждой новой локали создать в таблице доп поле по типу язык_поле получиться кроме  title,text,data,id   будет  title,text,ru_title,ru_text,data,id и т.д.  потом если на сайте пользователь сменил язык  (в условие добавить значение локали "ru" или заменять) то в основной механизм доставать нужный пул контента в те же переменные - так на мой взгляд будет какойто стандрат работы и в любом месте будут использоваться одинаковые переменные но с разным содержанием для каждой локали, я думаю в каждом модуле / плагине добавить такой функционал для работы будет не сложно - тем более он будет примерно одинаковый для всех и скопипастить не составит труда и заменить на свои значения

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

Ожидаю оживления :) Всем спасибо!

 


Dit bericht is bewerkt door Ярослав Романенко (2015-10-17 19:33, 9 jaren ago)