[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Мультиязычность
DeeKeiD
Решил сделать мультиязычный сайт... написал language.php :
PHP
if($_COOKIE['lang']=="ru") {
$lang = array (
// Блоки сайта
    
'1' => ".: последние кубки",
    
'2' => ".: последние матчи",
    
'3' => ".: топ 5 команд",
    
'4' => ".: топ 5 игроков",
);
}
if(
$_COOKIE['lang']=="en") {
$lang = array (
// Блоки сайта
    
'1' => ".: last cups",
    
'2' => ".: last matches",
    
'3' => ".: top 5 teams",
    
'4' => ".: top 5 players",
);
}

Вопрос:
1. Насколько безопасен\быстр такой способ и какие проблемы могут возникуть?

Полазил по другим сайтам, постотрел на мультиязычность... там у них в папке ../lang/ru/ лежат файлы для каждого модуля т.е например:
../lang/ru/register.ini
../lang/ru/login.ini
и т.д.
Вопросы:
1. Как сделать также?
2. Какие плюсы у данной конструкции
3. Есть ли ещё альтернатива?

п.с. если можно ссылку на гайд для новичков или уже готовый(самый простой пример)



Спустя 4 минуты, 28 секунд (16.08.2009 - 00:12) Nikitian написал(а):
Про папку более чем уверен, что это мод-реврайт, а не реальные файлы. А реализация любая. Например как вы показали, или/и в таблицах базы по несколько полей под каждый язык, или просто отдельная база под каждый язык. Отдельные шаблоны, либо тексты в шаблонах подставляются из мультиязычного конфига...

Спустя 2 минуты, 8 секунд (16.08.2009 - 00:15) DeeKeiD написал(а):
Цитата (Nikitian @ 15.08.2009 - 21:12)
Про папку более чем уверен, что это мод-реврайт, а не реальные файлы.

Немного не понял смысла этой строки, я скачивал движки сайтов и смотрел как там сделана мультиязычность там структура идёт такая:

www/lang/ru/register.ini
www/lang/ru/login.ini
---
www/lang/en/register.ini
www/lang/en/login.ini

и т.д.

Спустя 3 минуты, 58 секунд (16.08.2009 - 00:19) Nikitian написал(а):
Нет смысла гадать на кофейной гуще: у вас есть движки перед глазами: ну так посмотрите как они работают

Спустя 8 часов, 43 минуты, 2 секунды (16.08.2009 - 09:02) glock18 написал(а):
Цитата
Про папку более чем уверен, что это мод-реврайт, а не реальные файлы.

Имеется ввиду, что реальные урлы выглядят совсем иначе.

Вариантов очень много, как уже Nikitian сказал. Могу только добавить еще один, который себя зарекомендовал уже во многих языках, но здесь его почему-то никто не использует - gettext.

Спустя 2 часа, 46 минут, 12 секунд (16.08.2009 - 11:48) Krevedko написал(а):
Гм. у меня в папке несколько файлов. ru.php, eng.php итд.
Там вывод всего текста на страницах забит в константы.
Чтобы поменять язык достаточно в главном файле сделать вместо include ru.php
скажем include eng.php
ну а если надо, чтобы пользователь мог менять, тогда свич-кейсы поставить и форму на страницу

Спустя 24 минуты, 44 секунды (16.08.2009 - 12:13) glock18 написал(а):
свич-кейс - это конструкция, которая способствует хардкодингу в большинстве случаев

Спустя 4 часа, 5 минут, 54 секунды (16.08.2009 - 16:18) DeeKeiD написал(а):
Цитата (glock18 @ 16.08.2009 - 06:02)
Вариантов очень много, как уже Nikitian сказал. Могу только добавить еще один, который себя зарекомендовал уже во многих языках, но здесь его почему-то никто не использует - gettext.

хмм можно пример или статью по этому gettext

Спустя 2 часа, 14 минут, 7 секунд (16.08.2009 - 18:33) glock18 написал(а):
общеизвестная библиотека. Даже не знаю что кроме гугла посоветовать. там все найдете.


_____________
Бесполезно просить пощады у цезаря
Фатальная ошибка : Звонок в неопределенную функцию ©
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.