Где сделать блок переключатель языка? Помогите пожалуйста разобраться?
Спустя 6 минут, 26 секунд (17.08.2011 - 11:45) TMake написал(а):
На чем делаешь?
Спустя 5 минут, 18 секунд (17.08.2011 - 11:50) qww написал(а):
На php
Спустя 8 минут, 2 секунды (17.08.2011 - 11:58) YVSIK написал(а):
qww
это вот точно понятно что это будет PHP
непонятно какова ваша структура сайта ИМХО по моему про это и спрашивают))
![biggrin.gif](http://phpforum.ru/html/emoticons/biggrin.gif)
непонятно какова ваша структура сайта ИМХО по моему про это и спрашивают))
Цитата |
На чем делаешь? |
Спустя 7 минут, 3 секунды (17.08.2011 - 12:05) Invis1ble написал(а):
Цитата |
qwwэто вот точно понятно что это будет PHP непонятно какова ваша структура сайта ИМХО по моему про это и спрашивают)) |
все верно, чтоб ответить на поставленный вопрос, нужно знать архитектуру
Спустя 3 минуты, 28 секунд (17.08.2011 - 12:09) TMake написал(а):
Цитата |
На чем делаешь? |
Цитата |
На php |
![laugh.gif](http://phpforum.ru/html/emoticons/laugh.gif)
То что на php я уже догодался...
Сайт на cms, framework или самопис ???
Спустя 4 минуты, 59 секунд (17.08.2011 - 12:14) qww написал(а):
Есть главная страница index.php:
на ней две кнопки или ссылки. Пока не понял что лучше. Если ссылки то куда они должны ссылаться? Я так думаю скорее всего на файл language.php где
на ней две кнопки или ссылки. Пока не понял что лучше. Если ссылки то куда они должны ссылаться? Я так думаю скорее всего на файл language.php где
define("_WELCOME","Добро пожаловать");. Сейчас прописываю этот файл. Нужен он или нет? Как им потом воспользоваться? Пока больше ничего нет. На главной есть текст и прочее.
Спустя 1 минута, 36 секунд (17.08.2011 - 12:15) qww написал(а):
Цитата (stepan @ 17.08.2011 - 09:09) | ||
|
Самопис
Спустя 5 минут, 20 секунд (17.08.2011 - 12:21) inpost написал(а):
qww
я бы разделил language/ru.php и language/eng.php , 2 файла, в которых будешь хранить тексты страниц. Ну это так, простой и удобный способ, и самый банальный способ.
И да, константы с текстами. Обычно текстов не так много, можно справиться итак.
На какой из файлов ссылаться будет запись в кукисах, то есть если куки пустые - значит стандартный язык, если была изменена кнопка, значит в кукисы записываешь eng, или ru, по существу.
я бы разделил language/ru.php и language/eng.php , 2 файла, в которых будешь хранить тексты страниц. Ну это так, простой и удобный способ, и самый банальный способ.
И да, константы с текстами. Обычно текстов не так много, можно справиться итак.
На какой из файлов ссылаться будет запись в кукисах, то есть если куки пустые - значит стандартный язык, если была изменена кнопка, значит в кукисы записываешь eng, или ru, по существу.
Спустя 10 минут, 36 секунд (17.08.2011 - 12:31) qww написал(а):
Цитата (inpost @ 17.08.2011 - 09:21) |
qww я бы разделил language/ru.php и language/eng.php , 2 файла, в которых будешь хранить тексты страниц. Ну это так, простой и удобный способ, и самый банальный способ. И да, константы с текстами. Обычно текстов не так много, можно справиться итак. На какой из файлов ссылаться будет запись в кукисах, то есть если куки пустые - значит стандартный язык, если была изменена кнопка, значит в кукисы записываешь eng, или ru, по существу. |
А
define("_WELCOME","Добро пожаловать");
define("_CONTROL_PANEL","Панель управления");
это в каком файле прописывать? language/ru.php или language/eng.php?
И то есть ссылка Русский будет ссылаться на language/ru.php, а английский на
language/eng.php?
Спустя 2 минуты, 44 секунды (17.08.2011 - 12:34) Invis1ble написал(а):
qww
Цитата |
это в каком файле прописывать? |
судя по языку, используемому в define() - в ru.php
![smile.gif](http://phpforum.ru/html/emoticons/smile.gif)
Спустя 2 минуты, 18 секунд (17.08.2011 - 12:36) inpost написал(а):
в index.php , который загружается на всех страницах сайта.
Ничего подобного, будет просто внутри index.php такое содержание:
include 'language/'.$_COOKIE['lang'].'.php';
Внутри этих файлов будут одни и те же константы (в разных языках - разный текст!). Далее в нужных местах ты выводишь эти константы. Если ты рус, то вывелась эта константа из файла ru.php, а если анг, то из eng.php .
Если интересно обо всем этом, то в курса irbis-team.com там показана и структура, и ядро, и взаимодействие шаблонов и языка.
Ничего подобного, будет просто внутри index.php такое содержание:
include 'language/'.$_COOKIE['lang'].'.php';
Внутри этих файлов будут одни и те же константы (в разных языках - разный текст!). Далее в нужных местах ты выводишь эти константы. Если ты рус, то вывелась эта константа из файла ru.php, а если анг, то из eng.php .
Если интересно обо всем этом, то в курса irbis-team.com там показана и структура, и ядро, и взаимодействие шаблонов и языка.
Спустя 7 минут, 41 секунда (17.08.2011 - 12:44) qww написал(а):
Цитата (Invis1ble @ 17.08.2011 - 09:34) |
в index.php , который загружается на всех страницах сайта. Ничего подобного, будет просто внутри index.php такое содержание: include 'language/'.$_COOKIE['lang'].'.php'; Внутри этих файлов будут одни и те же константы (в разных языках - разный текст!). Далее в нужных местах ты выводишь эти константы. Если ты рус, то вывелась эта константа из файла ru.php, а если анг, то из eng.php . Если интересно обо всем этом, то в курса irbis-team.com там показана и структура, и ядро, и взаимодействие шаблонов и языка. |
inpost спасибо тебе! То есть в eng.php примерно выглядет так
define("Панель управления","_CONTROL_PANEL");?
Спустя 15 секунд (17.08.2011 - 12:44) TMake написал(а):
qww у тебя есть 2 варианта
1. Это как тебе подсказал - Invis1ble
2. Использовать Google Translate API
Первый не удобен в том что если ты добавляешь новую статью, тебе надо самому вручную переводить ее на другой язык и дописывать в php файл
Второй вариант плох тем что он закрывается, но можно поискать другой подобный сервис...
1. Это как тебе подсказал - Invis1ble
2. Использовать Google Translate API
Первый не удобен в том что если ты добавляешь новую статью, тебе надо самому вручную переводить ее на другой язык и дописывать в php файл
Второй вариант плох тем что он закрывается, но можно поискать другой подобный сервис...
Спустя 5 минут, 54 секунды (17.08.2011 - 12:50) qww написал(а):
Цитата (qww @ 17.08.2011 - 09:44) | ||
inpost спасибо тебе! То есть в eng.php примерно выглядет так define("Панель управления","_CONTROL_PANEL");? |
Спасибо stepan ! Но вопрос остаётся. Лучше ссылки сделать или кнопки ли безразницы?
Спустя 2 минуты, 13 секунд (17.08.2011 - 12:52) TMake написал(а):
Цитата |
Лучше ссылки сделать или кнопки ли безразницы? |
А это как тебе нравится.
Спустя 6 минут, 34 секунды (17.08.2011 - 12:59) qww написал(а):
Цитата (stepan @ 17.08.2011 - 09:52) | ||
А это как тебе нравится. |
А в eng.php так выглядет:
define("Панель управления","_CONTROL_PANEL");?
Спустя 5 минут, 47 секунд (17.08.2011 - 13:05) TMake написал(а):
Цитата |
А в eng.php так выглядет: |
нет
define - определяет именованную константу.
bool define ( string name, mixed value [, bool case_insensitive])
т.е.
define("_CONTROL_PANEL","Control panel");
Спустя 10 минут, 59 секунд (17.08.2011 - 13:16) qww написал(а):
Спасибо stepan ! Понял! Не понял только: Когда нажимаю на ссылку Английйский какой адрес ей прописывать? Куда ведет ссылка?
Спустя 3 минуты, 54 секунды (17.08.2011 - 13:20) Invis1ble написал(а):
qww
если по варианту inpost'а, то ссылка должна вести на скрипт, устанавливающиий соответствующую куку с последующим редиректом на индекс. Как-то так
если по варианту inpost'а, то ссылка должна вести на скрипт, устанавливающиий соответствующую куку с последующим редиректом на индекс. Как-то так
Спустя 7 секунд (17.08.2011 - 13:20) inpost написал(а):
на любую страницу, в которой ты создаёшь куки, потом редирект обратно.
Invisible
Эх, одновременно
Invisible
Эх, одновременно
![smile.gif](http://phpforum.ru/html/emoticons/smile.gif)
Спустя 1 минута, 34 секунды (17.08.2011 - 13:21) TMake написал(а):
когда нажимаешь Английский у тебя инклюдится eng.php, а года Русский rus.php
за счет того что название переменных у тебя одинаковые в этих файлах у тебя будет подставлятся то значение которое ты выбрал т.е. язык
за счет того что название переменных у тебя одинаковые в этих файлах у тебя будет подставлятся то значение которое ты выбрал т.е. язык
![cool.gif](http://phpforum.ru/html/emoticons/cool.gif)
Спустя 2 минуты, 23 секунды (17.08.2011 - 13:24) qww написал(а):
Понял! Спасибо всем! А курсы Евгения Попова прошёл, но молодцом себя не считаю. Сейчас решил учится на книгах!
![smile.gif](http://phpforum.ru/html/emoticons/smile.gif)
Спустя 1 минута, 58 секунд (17.08.2011 - 13:26) TMake написал(а):
Спустя 3 часа, 5 минут, 4 секунды (17.08.2011 - 16:31) VELIK505 написал(а):
Цитата (inpost @ 17.08.2011 - 09:36) |
Если интересно обо всем этом, то в курса irbis-team.com там показана и структура, и ядро, и взаимодействие шаблонов и языка. |
А можно линк?
Спустя 1 минута, 29 секунд (17.08.2011 - 16:32) Invis1ble написал(а):
VELIK505
http://irbis-team.com/15
http://irbis-team.com/15
Спустя 42 минуты, 22 секунды (17.08.2011 - 17:15) Michael написал(а):
Чтобы лучше решить задачу, надо ее сначала себе нормально поставить и обдумать.
Например:
Есть сайт "многоязычный". Какой у него будет функционал для пользователей и какой для владельца. Владельцу например надо добавлять/изменять/удалять данные на этом сайте.
Ведь если владелец сайта не программист, то определять переводы через код - не верно.
Следующее.
Переводу подлежат и строки вида:
"Здравствуйте, Иван Иванович, у вас 5 новых личных сообщений."
, где красным - динамический контент в зависимости от контекста. Как с этим, помогут тебе тут константы?
Например:
Есть сайт "многоязычный". Какой у него будет функционал для пользователей и какой для владельца. Владельцу например надо добавлять/изменять/удалять данные на этом сайте.
Ведь если владелец сайта не программист, то определять переводы через код - не верно.
Следующее.
Переводу подлежат и строки вида:
"Здравствуйте, Иван Иванович, у вас 5 новых личных сообщений."
, где красным - динамический контент в зависимости от контекста. Как с этим, помогут тебе тут константы?
Спустя 37 минут, 4 секунды (17.08.2011 - 17:52) qww написал(а):
А чего есть способы лучше?
Спустя 2 часа, 4 минуты, 35 секунд (17.08.2011 - 19:56) inpost написал(а):
Michael
Здравствуйте, {$login}, у вас {$num} новых личных сообщений.
str_replace('{$login}',$row['login'],КОНСТАНТА);
Ничего проблемного не вижу. Единственное, что модерировать эти тексты будет сложно простому пользователю.
А что ты предлагаешь? В БД хранить? Или в каком-нибудь .txt ,который парсить?
Здравствуйте, {$login}, у вас {$num} новых личных сообщений.
str_replace('{$login}',$row['login'],КОНСТАНТА);
Ничего проблемного не вижу. Единственное, что модерировать эти тексты будет сложно простому пользователю.
А что ты предлагаешь? В БД хранить? Или в каком-нибудь .txt ,который парсить?
Спустя 10 часов, 49 минут, 39 секунд (18.08.2011 - 06:46) qww написал(а):
Здравствуйте! Я вот не понял. Сделал две кнопки
Перед этим написал:
Без нажатия кнопок язык переводится.
Теперь надо написать условный оператор if? Если нажата кнопка eng то подключаем English.php else Russian.php. Так нужно? Как написать что кнопка нажата языком php?
<form action="index.php" method="post" name="form">
<input name="rus" type="submit" value="Russian">
<input name="eng" type="submit" value="English">
</form>
Перед этим написал:
setcookie("mylang");
$lang = $_COOKIE['mylang'];
$lang['ru'] = 'Russian';
$lang['en'] = 'English';
$_COOKIE['mylang']=$lang['ru'];
include ('Languages/'.$_COOKIE['mylang'].'.php');
Без нажатия кнопок язык переводится.
Теперь надо написать условный оператор if? Если нажата кнопка eng то подключаем English.php else Russian.php. Так нужно? Как написать что кнопка нажата языком php?
Спустя 57 минут, 19 секунд (18.08.2011 - 07:43) qww написал(а):
Всем спасибо! Я сделал! Если $_REQUEST[''] то это иначе это.
А как быть с переводом большого текста? Константами не отделаешся?
А как быть с переводом большого текста? Константами не отделаешся?
Спустя 9 минут, 51 секунда (18.08.2011 - 07:53) Michael написал(а):
какими нафиг константами?
Текст - это контент. Хранится в БД ну или в файле(что реже). Вот надо и проектировать так, чтобы вводить в систему несколько версий одних и тех же данных. Какое то уродство ты походу клепаешь - для себя, для интереса?
![blink.gif](http://phpforum.ru/html/emoticons/blink.gif)
Текст - это контент. Хранится в БД ну или в файле(что реже). Вот надо и проектировать так, чтобы вводить в систему несколько версий одних и тех же данных. Какое то уродство ты походу клепаешь - для себя, для интереса?
Цитата |
Единственное, что модерировать эти тексты будет сложно простому пользователю. |
сложно или невозможно - уже не то.
Спустя 34 минуты, 31 секунда (18.08.2011 - 08:28) qww написал(а):
Для себя. Сделал файл eng.php там прописал:
А как с большим текстом? Если его не в БД запиливать а в файл? И как тут быть?
define("_CONTROL_PANEL","Control panel");
А как с большим текстом? Если его не в БД запиливать а в файл? И как тут быть?
Спустя 6 минут, 19 секунд (18.08.2011 - 08:34) Michael написал(а):
два файла...
Спустя 8 минут, 33 секунды (18.08.2011 - 08:42) TMake написал(а):
qww Мой тебе совет перед тем как начать делать что то свое изучи нормально азы и все тогда для тебя будет легче. У меня в подписи гляди есть сайт irbis-tiam
Спустя 26 минут, 34 секунды (18.08.2011 - 09:09) qww написал(а):
Спасибо за эту книжку! Давно такую искал где написано обычным, простым языком. Я насчёт двух файлов понял. Спасибо!
Спустя 38 минут, 49 секунд (18.08.2011 - 09:48) walters написал(а):
вот таке можешь поставить
но не советую, возьми создай базу и выводи как надо.
define('MAIN_ABOUT', 'We are a team of ambitious young people with five
years experience in advertising products in different categories.
We always render our clients professional assistance for the effective
promotion of the Moldovan or foreign market their product or service,
with the hope of subsequent long-term cooperation.....');
но не советую, возьми создай базу и выводи как надо.
Спустя 26 минут, 46 секунд (18.08.2011 - 10:15) walters написал(а):
не парь себе мозги и учись пок урсам практики irbis-team.
там и база и языки и все что угодна можно сделать
там и база и языки и все что угодна можно сделать
Спустя 21 минута, 36 секунд (18.08.2011 - 10:36) qww написал(а):
Спасибо walters за дельный совет! irbis-team крутая штука!
Цитата |
но не советую, возьми создай базу и выводи как надо. |
То есть беру весь текст запиливаю его в базу? А выводить при помощи SELECT в нужное мне место?
Спустя 9 минут, 28 секунд (18.08.2011 - 10:46) TMake написал(а):
Цитата (qww @ 18.08.2011 - 07:36) |
А выводить при помощи SELECT в нужное мне место? |
Утрировано - да
Спустя 1 день, 3 часа, 17 минут, 8 секунд (19.08.2011 - 14:03) qww написал(а):
Возникла проблемма: для перевода написонно следующее
Есть две кнопки. Когда только захожу на страницу и делаю обновление всё сьановица на английском языке! Помогоите разобраться!
setcookie('mylang');
//$lang = $_COOKIE['mylang'];
if(!isset($_COOKIE['mylang']))
{
$_COOKIE['mylang']="Russian"; }
else
{
if(@$_POST["rus"]){
$_COOKIE['mylang']="Russian"; язык русский
}
else
{
$_COOKIE['mylang']="English";
}
}
include 'rooms/php/Languages/'.$_COOKIE['mylang'].'.php';
Есть две кнопки. Когда только захожу на страницу и делаю обновление всё сьановица на английском языке! Помогоите разобраться!