как использовать $lang
|
|
vladboss | Дата: Понедельник, 24 Января 2011, 15:11 | Сообщение # 1 |
постоянный участник
Сейчас нет на сайте
| доброго времени суток. я хотел бы видеть русский язык на своем сайте думал так же как в devanа сделать $lang['']=""; но без понятия как это работает. обьясните пожалуйста. заранее спасибо)
-помог ставь +
АБП production ©
|
|
| |
Riketta | Дата: Понедельник, 24 Января 2011, 15:48 | Сообщение # 2 |
Strategist
Сейчас нет на сайте
| Для начала нужно задать значение этой переменной. Ах, да, я забыл сказать - это переменная. Потом тупо задавая значения и меня их ссылкой, прикрутив к аккаунту или куда тебе нужно, можно-будет менять язык. Подробнее не скажу, некогда.Добавлено (24.01.2011, 15:48) ---------------------------------------------
Code if $lang['']="ru" *Тут пишешь тут значения переменных типа $Menu="Меню"* if $lang['']="en" *Тут пишешь тут значения переменных типа $Menu="Menu"* Как-то так. P.S. Это что-то на подобии алгоритма. Юзать не советую.
Fougerite - Rust Server OpenSource API TerraDev - Terraria OpenSource Hack
|
|
| |
vladboss | Дата: Понедельник, 24 Января 2011, 15:52 | Сообщение # 3 |
постоянный участник
Сейчас нет на сайте
| спс конечно) Quote (Riketta) Подробнее не скажу, некогда. жаль...кто нить подробнее растолкуйте???
-помог ставь +
АБП production ©
Сообщение отредактировал vladboss - Понедельник, 24 Января 2011, 16:01 |
|
| |
DDTAA | Дата: Понедельник, 24 Января 2011, 16:13 | Сообщение # 4 |
заслуженный участник
Сейчас нет на сайте
| Ты делаешь свой сайт и не знаешь, что такое переменные и массивы php, как в Девана? Суть проста: В каком-то отдельном файле создаётся огромный набор со всеми фразами, которые тебе нужны. Например, для русского языка и английского это будет так: файл en.php: ; $lang["yes"]="yes"; файл русских фраз допустим ru.php: $lang["yes"]="Да"; и т. д. В каждом таком языковом файле есть набор одних и тех же переменных или ячеек массива, которым присваиваются разные, в зависимости от языка значения. Далее на сайте по определённому условию производится выбор, какой из этих файлов подключать, далее в коде после подключения эти переменные или массивы и используются. Подробнее тут: php.net. Ну, вроде бы, достаточно подробно. :-)
Да, я новичок, поэтому вопросы у меня иногда глупые...... Да, у меня действительно такой ник....... ...А я не знаю, почему по профилю мне 28 лет и я Адольф:-)...
|
|
| |
vladboss | Дата: Понедельник, 24 Января 2011, 17:11 | Сообщение # 5 |
постоянный участник
Сейчас нет на сайте
| Quote (DDTAA) Подробнее тут: php.net. ссылка не рабочая... спс за совет я знаю я работал с devana тоже как там создавал ru.php допустим в index.php писал ".$lang["yes"]." а в ru.php $lang["yes"]="да"; но не получилось...значит что то еще нужно???
-помог ставь +
АБП production ©
|
|
| |
DDTAA | Дата: Понедельник, 24 Января 2011, 17:33 | Сообщение # 6 |
заслуженный участник
Сейчас нет на сайте
| Ну, естественно:-) Допустим, есть на твоём сайте код трататата print "yes"; тратататаа Ты в начале этого файла подключаешь тот языковой файл, который тебе нужен, ну например include("ru.php"); а в самом коде вместо того принта берёшь например print "$lang[yes]"; Тогда если выбран ру файл, то будет произведена замена ес на да, это же переменная. Ссылка нормальная- php.net введи в адресной строке, там был глюк какой-то:-).
Да, я новичок, поэтому вопросы у меня иногда глупые...... Да, у меня действительно такой ник....... ...А я не знаю, почему по профилю мне 28 лет и я Адольф:-)...
|
|
| |
cougraAcc | Дата: Понедельник, 24 Января 2011, 18:29 | Сообщение # 7 |
Яркая личность GD
Сейчас нет на сайте
| ща буду глаголить: $lang[''] это массив т.е. $lang=Array( 'enter' => 'Вход', 'exit' => 'Выход' ); При вызове $lang['enter'] выводится Вход В настройках делаешь так define('LANG', 'ru'); а в скрипте уже запрашиваешь include_once LANG. '.php'; на выходе получаешь инклуд ру в корне создается ланг файл ru.php там все в массивах описываешь, далее все текста меняешь на $lang['name'];
|
|
| |
vladboss | Дата: Понедельник, 24 Января 2011, 18:32 | Сообщение # 8 |
постоянный участник
Сейчас нет на сайте
| спасибо) ща попробую)
-помог ставь +
АБП production ©
|
|
| |
FenMix | Дата: Понедельник, 24 Января 2011, 19:16 | Сообщение # 9 |
Независимый игровой журналист
Сейчас нет на сайте
| vladboss, Ссылка рабочая
|
|
| |
vladboss | Дата: Понедельник, 24 Января 2011, 22:31 | Сообщение # 10 |
постоянный участник
Сейчас нет на сайте
| вот смотрите я создал ru.php файл туда вписал Code <?php $lang = array(); $lang['welcome']="добро пожаловать"; ?>
и в index.php <?include("ru.php");?> вставил в отрывок после старта сессии вот Code <?php session_start(); //Создаем сессию, чтобы при повторном входе опять не авторизоваться ?> <?include("ru.php"); ?> <? $login=$_SESSION['login']; ?> и в дальше в том же индексе написал ето ".$lang['welcome']." Code print" <body align='center' bgcolor=#FFFFB5> <table border='1' width='300' bgcolor='silver' align='center'> <tr><td>Привет <font color='red'>".$_SESSION['login']."</font>, Добро пожаловать".$lang['welcome']."</td></tr> <tr><td COLSPAN=2><a href='char.php'>гер если что неправильно скажите а если правильно то почему не пашет??? заранее спасибо)
-помог ставь +
АБП production ©
|
|
| |
webstrict666 | Дата: Понедельник, 24 Января 2011, 23:31 | Сообщение # 11 |
постоянный участник
Сейчас нет на сайте
| ар ты читаешь вообще что пишут тебе? Смотри создай lang/ru.php Code <?php $lang=Array( 'welcome' => 'ДАРОВА ЕП', 'test' => 'тест епт' ); ?> Далее файл index.php Code <?php session_start(); include 'lang/ru.php'; $login=$_SESSION['login']; echo 'Вы увидите языковой текст: '.$lang['test'].' на русском языке.'; ?> Добавлено (24.01.2011, 23:31) --------------------------------------------- Вообще чтоб создавать мульти язычность сначала напиши ядро + контролер + Дбагер и игровой процесс организуй потом мучай языковые файлы
http://GAMESKROL.RU Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально !
|
|
| |
vladboss | Дата: Среда, 26 Января 2011, 15:47 | Сообщение # 12 |
постоянный участник
Сейчас нет на сайте
| webstrict666, cougraAcc, спасибо вам с меня + все работает.... а почему в devana писалось $lang['test']="тест"; а в вашем примере 'test' => 'тест',???
-помог ставь +
АБП production ©
|
|
| |
Zizilk | Дата: Среда, 26 Января 2011, 23:12 | Сообщение # 13 |
постоянный участник
Сейчас нет на сайте
| разница в инициализации. Массивы можно создавать в php несколькими способами: к примеру либо сразу наполнить массив, либо поэлементно собирать) Массив lang - ассоциативный в данном контексте: поэтому его можно собрать либо куском(пример как здесь в теме), в таком случае в скобках через зпт перечисляем элементы (в ассоциативном массиве каждый элемент состоит из двух значений - ключа и собственно значения и для апача именно так и указывается что ключ=>значение) В деване он поход собирается поэлементно, те указывается что отдельно в массив надо добавить такой-тоэлемент с таким-то ключом, значение которого равно томуто массив["ключ"]=то-то , если массива в который добавляем элемент ещё нет то он будет создан, поэтому особой разницы нет, и как удобней работай Не уверено но вполне вероятно в деване в этот же массив добавляется что-то ещё, поэтому так и задаётся
Сообщение отредактировал Zizilk - Среда, 26 Января 2011, 23:14 |
|
| |
vladboss | Дата: Среда, 26 Января 2011, 23:45 | Сообщение # 14 |
постоянный участник
Сейчас нет на сайте
| ну вообщем то ясно спасибо что помогли)
-помог ставь +
АБП production ©
|
|
| |