alpes
Весь мир на ладони
Мультиязыковая платформа
Идея создания сайтов использующих неограниченное число языков отображения информации с возможностью относительно легкой подгрузки новых языковых переводов. Хочу обсудить как более правильно организовать структуру построения кода таких сайтов.
Реализовать собираюсь так:
1. Определить переменные:
2. Всем рисункам, шаблонам, информационным страницам отображающим языковую информацию давать имена в таком виде: <name_xx.extension>, где хх-будет абривиатурой отображаемого языка.
3. В таблицах полям с названиями давать имена: <name_xx> - по аналогии выше.
4. Создать класс из массивов диалоговых сообщений, надписей и т.п. в томже виде: напр. $NameVar["en"]=array("Var"=>"str.mess.", ... ); ...
Также зделать и с именами ссылок (или же с сылками можно будет создать языковые файлы url_xx.inc ??)
5. Построить движек отображения информации пользователям в зависимости от $CurrentLang, а модуля управления в зависимости от $AdminLang.
Что мне здесь не совсем нравится - так это то что скажем рисунки содержащие текст надо заменять вставками c php кодом:
- а это не удобства работы с дизайном. Или тогда создавать единтичный шаблон но с разными окончаниями имени шаблона и естно с разными окончаниями у имен имиджей и отображемой инфой(пункт 4 тогда не нужен, хранение разбросаем по куче файлов). Пугает количество повторяюхся похожих файлов, где при добавке нового языка можно пропустить поменять где нить окончание и менять прийдется в куче мест а не в одном (в массиве переменных). Тоже неудобство относится и к подписям кнопок...
Собственно посоветуйте как правильно подойти к построению подобной структуры, хотелось бы прежде чем углубится в кодирование ПРАВИЛЬНО представить для себя как все должно быть взаимосвязано. Спасибо.
Идея создания сайтов использующих неограниченное число языков отображения информации с возможностью относительно легкой подгрузки новых языковых переводов. Хочу обсудить как более правильно организовать структуру построения кода таких сайтов.
Реализовать собираюсь так:
1. Определить переменные:
PHP:
//переменная хранящая абривиатуру языка модуля управления (админа)
var $AdminLang="ru";
//переменная хранящая абривиатуру языка отображаемого в зависимости от выбора пользователя
//инициализирована в язык по умолчанию
var $CurrentLang="en";
//набор допустимых к использованию языковых абривиатур
var $PossibleLang=array("ru","en","it");
3. В таблицах полям с названиями давать имена: <name_xx> - по аналогии выше.
4. Создать класс из массивов диалоговых сообщений, надписей и т.п. в томже виде: напр. $NameVar["en"]=array("Var"=>"str.mess.", ... ); ...
Также зделать и с именами ссылок (или же с сылками можно будет создать языковые файлы url_xx.inc ??)
5. Построить движек отображения информации пользователям в зависимости от $CurrentLang, а модуля управления в зависимости от $AdminLang.
Что мне здесь не совсем нравится - так это то что скажем рисунки содержащие текст надо заменять вставками c php кодом:
PHP:
<img src="/images/name_<?=$CurrentLang;?>.gif" width="100" height="10" alt="<?=$Signature["$CurrentLang"];?>">
Собственно посоветуйте как правильно подойти к построению подобной структуры, хотелось бы прежде чем углубится в кодирование ПРАВИЛЬНО представить для себя как все должно быть взаимосвязано. Спасибо.