Вторник, 26 Ноября 2024, 12:58

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
как использовать $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
постоянный участник
Сейчас нет на сайте
ар smile ты читаешь вообще что пишут тебе?
Смотри создай 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)
---------------------------------------------
Вообще чтоб создавать мульти язычность сначала напиши ядро + контролер + Дбагер и игровой процесс организуй smile потом мучай языковые файлы


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 ©
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг