Вход на сайт
Двухязычные версии
243
NEW 01.05.06 21:02
Всем привет,
ищу совета по следующему вопросу:
я состряпал немецкую версию из имеющихся скриптов.
см. http://www.zahar.de/bigmir/news/index.php
Теперь хочу перевести скрипты для русской версии.
см. http://zahar.de/zahar/gaestebuch/index.php
Может ли кто то подходящий концепт посоветовать?
Как сделать так, чтобы 20 раз не переделывать?
В настоящий момент использую 2 базы данных,
пока ковыряюсь с переводом, но окончательное
решения пока не принял.
P.S. в качастве благодарности за ответы дарю баннер "Chat" - нейтральный
ищу совета по следующему вопросу:
я состряпал немецкую версию из имеющихся скриптов.
см. http://www.zahar.de/bigmir/news/index.php
Теперь хочу перевести скрипты для русской версии.
см. http://zahar.de/zahar/gaestebuch/index.php
Может ли кто то подходящий концепт посоветовать?
Как сделать так, чтобы 20 раз не переделывать?
В настоящий момент использую 2 базы данных,
пока ковыряюсь с переводом, но окончательное
решения пока не принял.
P.S. в качастве благодарности за ответы дарю баннер "Chat" - нейтральный
02.05.06 10:38
Я свои двухязычные делаю так..
1. Вначале, при первом заходе, юзера определяю язык его броузера [HTTP_ACCEPT_LANGUAGE], ну и в зависимости от него выдаю инфу на том или ином языке
2. В дальнейшем, язык передаю гетом. Это удобнее, если один юзер кинет ссылку другому, то язык сайта будет тоже передан
3. Все языковые настройки храню в присоединяемых файлах
/language/ru/lang.php {
$lang['home']="Главная";
$lang['kontakt]="Контакт;
ИТД ИТП "}
/language/de/lang.php {
$lang['home']="Home";
$lang['kontakt]="Kontakt;
ИТД ИТП "}
Картинки в менюшках я не использовал ни разу, но если когда нибудь и буду, то в этих же языковых директориях буду хранить картинки на немецком и русском, украинском... языках
4. использую одну базу, но в названиях полей базы использую языковый префих.. к примеру info_ru, info_de. и в зависимости от языка тяну ту или иную инфу
Ну и сайт делаю конечно же на шаблонах.. юзаю smarty
И все скрипты везде одинаковые, кроме языковых файлов конечно. И поэтому очень легко подвесить любой новый язык..
1. Вначале, при первом заходе, юзера определяю язык его броузера [HTTP_ACCEPT_LANGUAGE], ну и в зависимости от него выдаю инфу на том или ином языке
2. В дальнейшем, язык передаю гетом. Это удобнее, если один юзер кинет ссылку другому, то язык сайта будет тоже передан
3. Все языковые настройки храню в присоединяемых файлах
/language/ru/lang.php {
$lang['home']="Главная";
$lang['kontakt]="Контакт;
ИТД ИТП "}
/language/de/lang.php {
$lang['home']="Home";
$lang['kontakt]="Kontakt;
ИТД ИТП "}
Картинки в менюшках я не использовал ни разу, но если когда нибудь и буду, то в этих же языковых директориях буду хранить картинки на немецком и русском, украинском... языках
4. использую одну базу, но в названиях полей базы использую языковый префих.. к примеру info_ru, info_de. и в зависимости от языка тяну ту или иную инфу
Ну и сайт делаю конечно же на шаблонах.. юзаю smarty
И все скрипты везде одинаковые, кроме языковых файлов конечно. И поэтому очень легко подвесить любой новый язык..
NEW 10.05.06 09:07
в ответ validol 02.05.06 10:38
поддержу:
1. все статические текстики и текстовые обьекты удобно хранить в массиве $ланг[ру/де][кей]=валуе
я их прямо в базе в таблицу сую а потом по надобности нужный язык выбираю
2. активный язык передавать гетом разумно, я раньше использовал для етого переменную сессии, но оказалось что в русской щинде например куки по умолчению отключены - жопа !!
другой вариант - сделать субдомены типа "ру.домен.де" / "ен.домен.де" - и при переключении языка туда перебрасывать
1. все статические текстики и текстовые обьекты удобно хранить в массиве $ланг[ру/де][кей]=валуе
я их прямо в базе в таблицу сую а потом по надобности нужный язык выбираю
2. активный язык передавать гетом разумно, я раньше использовал для етого переменную сессии, но оказалось что в русской щинде например куки по умолчению отключены - жопа !!
другой вариант - сделать субдомены типа "ру.домен.де" / "ен.домен.де" - и при переключении языка туда перебрасывать
я мятущийся тунец в океане беспокойства... достигну ли нерестовыx вoд?-----Главное, ребята, херцем не стареть!)
NEW 10.05.06 19:38
в ответ Zahar 01.05.06 21:02
Много вариантов есть.
С хранением текста в файлах, в переменных √ хорошее.
Как вариант, переводы строк хранить в БД, вызывать строки через функцию на пример t(▒some text▓).
Пользователь заходит, язык определяется автоматически, либо он сам его выбирает.
Функция смотрит, если язык по умолчанию, на пример английский, выводит как есть, если нет, берет перевод из базы.
Потом можно сделать web интерфейс и через него переводить все строки.
Контент хранить в двух таблицах на пример: content (id | translation) и translation (id | title | body | language) в зависимости от языка выводить перевод из таблицы translation. Это, на мой взгляд, самое хорошее решение.
С хранением текста в файлах, в переменных √ хорошее.
Как вариант, переводы строк хранить в БД, вызывать строки через функцию на пример t(▒some text▓).
Пользователь заходит, язык определяется автоматически, либо он сам его выбирает.
Функция смотрит, если язык по умолчанию, на пример английский, выводит как есть, если нет, берет перевод из базы.
Потом можно сделать web интерфейс и через него переводить все строки.
Контент хранить в двух таблицах на пример: content (id | translation) и translation (id | title | body | language) в зависимости от языка выводить перевод из таблицы translation. Это, на мой взгляд, самое хорошее решение.

