Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Помогите написать смену языка с переключателем его

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (2): [1] 2 »   

> Описание: lang
Мужик
Отправлено: 02 Декабря, 2011 - 19:51:23
Post Id



Гость


Покинул форум
Сообщений всего: 70
Дата рег-ции: Июль 2011  
Откуда: Болгария


Помог: 0 раз(а)




Приветствую вас Дамы и Господа, помогите мне пожалуйста написать смену языка на сайте с примером переключателей с Русского на Английский уже в рабочем виде

Только тут такое дело у меня сайт бес шаблонизатора, просто обычный html и php, хотелось бы его сделать разноязычным


-----
icq 00000
 
 Top
sKaa
Отправлено: 02 Декабря, 2011 - 20:09:15
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 979
Дата рег-ции: Окт. 2011  
Откуда: Россия г. Нижний Новгород


Помог: 25 раз(а)

[+]


А в чём сама проблема то?
 
 Top
Microteam
Отправлено: 02 Декабря, 2011 - 20:12:23
Post Id



Гость


Покинул форум
Сообщений всего: 67
Дата рег-ции: Дек. 2011  


Помог: 0 раз(а)




юзай мой шаблонизатор) http://microteamdev[dot]net/index.php?newsid=10
Я вот потом language chnger на пхп напишу))))
А так надо создать массив с языком поместить его в файл, а потом в папку и через include подгружать его к скрипту а остальное думаю понятно)


-----
int i = 6; ++i + i++ = ?
 
 Top
Мужик
Отправлено: 02 Декабря, 2011 - 22:48:36
Post Id



Гость


Покинул форум
Сообщений всего: 70
Дата рег-ции: Июль 2011  
Откуда: Болгария


Помог: 0 раз(а)




sKaa, я не знаю как его писать, вот и прошу чтоб пример показали по использованию, я в этом деле плох очень!

Microteam нет такое мне не нужно, я не шарю как им пользоваться, мне и такого обычного шаблона хватает


-----
icq 00000
 
 Top
Bio man
Отправлено: 02 Декабря, 2011 - 23:29:29
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010  
Откуда: Даугавпилс, Латвия


Помог: 52 раз(а)




Мужик, все слова, которые нужно заменить на слова другого языка нужно заменить переменными (самый удобный способ, например так: $langArray['word']), создавай файл, который содержит все слова и фразы на определенном языке. дальше и догадаться не сложно... запросил путь от кудо либо (из БД, файла или где он там хранится) и подключаешь языковой файл через полученный путь. кнопочки конечно же изменяют этот путь
 
 Top
caballero
Отправлено: 03 Декабря, 2011 - 00:03:18
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




самый удобный способ константы - они автоматически имеют глобальный доступ.
в остальном таки да - просто инклудится соответствующий языковый файл


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
Мужик
Отправлено: 03 Декабря, 2011 - 09:41:05
Post Id



Гость


Покинул форум
Сообщений всего: 70
Дата рег-ции: Июль 2011  
Откуда: Болгария


Помог: 0 раз(а)




Понятно.
Буду в общем гуглить!


-----
icq 00000
 
 Top
Bio man
Отправлено: 03 Декабря, 2011 - 10:03:40
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010  
Откуда: Даугавпилс, Латвия


Помог: 52 раз(а)




caballero пишет:
самый удобный способ константы - они автоматически имеют глобальный доступ.
тоже хотел предложить но пожалел топикстартера. я бы с ума сошел копипастить define(), имхо проще массивом. и ему врятле необходим глобальный доступ языку, т.к. логика и представление смешаны
 
 Top
caballero
Отправлено: 03 Декабря, 2011 - 10:25:46
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




Bio man пишет:
caballero пишет:
самый удобный способ константы - они автоматически имеют глобальный доступ.
тоже хотел предложить но пожалел топикстартера. я бы с ума сошел копипастить define(), имхо проще массивом. и ему врятле необходим глобальный доступ языку, т.к. логика и представление смешаны


Ну я надеюсь у него все таки не PHP4 поэтому проще const
А с массивом могут быть неудобства если он будет что то в функции генерить (шаблон для письма например) тогда придется global юзать

Да и быстрее с константами - для массива надо память выделить а константы подставляются компилятором сразу
(Добавление)
Мужик пишет:
Понятно.
Буду в общем гуглить!


То есть из всего что тебе тут растолковали ты вынес только то что надо идти гуглить.


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
Мужик
Отправлено: 03 Декабря, 2011 - 10:59:33
Post Id



Гость


Покинул форум
Сообщений всего: 70
Дата рег-ции: Июль 2011  
Откуда: Болгария


Помог: 0 раз(а)




caballero, да вот я понял что вы мне растолковали, только я для написания php кода еще слаб, я думаю может примерчики по разбирать с гугла чтоб толково понять как система работает!

Спасибо что уделили внимание Улыбка


-----
icq 00000
 
 Top
Bio man
Отправлено: 03 Декабря, 2011 - 11:06:54
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010  
Откуда: Даугавпилс, Латвия


Помог: 52 раз(а)




caballero пишет:
проще const
эта конструкция ведь в классах используется!? или нет?
 
 Top
Мужик
Отправлено: 03 Декабря, 2011 - 11:47:58
Post Id



Гость


Покинул форум
Сообщений всего: 70
Дата рег-ции: Июль 2011  
Откуда: Болгария


Помог: 0 раз(а)




Вот надыбал пример

Масив
Цитата:
<?php
$lang=array(
'ru'=>array(
'home'=>'Главная',
'about'=>'О нас'
);
'en'=>array(
'home'=>'Home page',
'about'=>'About us'
);
);
?>


вывод
Цитата:

<?php
switch($_GET['lang']):
case 'ru':$mylang='ru'; break;
case 'en':$mylang='en'; break;
default:$mylang='ru'; break;
endswitch;
?>
<a href="home.php"><?php print $lang[$mylang]['home'];?></a>
<a href="about.php"><?php print $lang[$mylang]['about'];?></a>


но тут говорят много чего нужно дорабатывать!


-----
icq 00000
 
 Top
Bio man
Отправлено: 03 Декабря, 2011 - 12:00:34
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010  
Откуда: Даугавпилс, Латвия


Помог: 52 раз(а)




во первых большой массив получится, что не есть хорошо. лучше разбить на разные. а что касается реализации - способов много, вам решать какой использовать
 
 Top
Мужик
Отправлено: 03 Декабря, 2011 - 12:06:20
Post Id



Гость


Покинул форум
Сообщений всего: 70
Дата рег-ции: Июль 2011  
Откуда: Болгария


Помог: 0 раз(а)




А какие есть способы? я даже не знаю


-----
icq 00000
 
 Top
caballero
Отправлено: 03 Декабря, 2011 - 13:56:54
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




Цитата:
эта конструкция ведь в классах используется!? или нет?



Нет это константа в PHP5

const TITLE="Загаловак па русски";

Цитата:
А какие есть способы? я даже не знаю

способы тебе описали
массив
константы через DEFINE как раньше в PHP
константы через const как сейчас принято


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB