Може ли някои да ми обясни на кратичко(а може и на дълго [:D]) как се прави с PhP различни езици на една страница !!!
Благодаря предварително ![8D]
Може ли някои да ми обясни на кратичко(а може и на дълго [:D]) как се прави с PhP различни езици на една страница !!!
Благодаря предварително ![8D]
не очаквай кратък отговор...
но докато чакаш порови на hotscripts.com, там има на готово какво ли не []
Въпросът ти не е за php, а за html. Ако говориш за смяна на български и английски, не би трябвало да има проблем, ако си задал правилния енкодинг в html-header.<blockquote id="quote"><font size="1" id="quote"><b id="quote">quote:</b id="quote"></font id="quote"><table border="0" id="quote"><tr id="quote"><td class="quote" id="quote"><font size="1" id="quote">
<META http-equiv=Content-Type content="text/html; charset=windows-1251"></td id="quote"></tr id="quote"></table id="quote"></blockquote id="quote"><font size="2" id="quote"></font id="quote">
След което в тялото на документа можеш да вкарваш такива тагове:
<blockquote id="quote"><font size="1" id="quote"><b id="quote">quote:</b id="quote"></font id="quote"><table border="0" id="quote"><tr id="quote"><td class="quote" id="quote"><font size="1" id="quote">
<span lang="en-us">it's a test</span>
<span lang="bg"> това е тест </span>
</td id="quote"></tr id="quote"></table id="quote"></blockquote id="quote"><font size="2" id="quote"></font id="quote">
но в повечето случаи не е необходимо - достатъчен е хедъра.
Ако твоя случай предполага нещо по-екзотично, може да се наложи да минеш на unicode.
Има една такава боза поддържа се от апаша наречена .var В зависимост от регионалните настройки на браузъра, апаша подава само тази част от файла която е дефинирана за съответният език. Вариант 2 - набиваш целия текст от сайта в база - със съответните преводи, след което в зависимост от предпочитанията се подава съответният аргумент към скрипта.
пример:
index.php?lang=bg
в базата
<font face="Courier New">
lang | title | text
en | link | link
bg | link |връзка
</font id="Courier New">
съответно в кода:
select text from translation_table where title = "$title" and lang = "$_GET[lang]";
Общо взето това е някаква основна идея нахвърляна на две на три.
Аз лично предпочитам вторият вариант описан от Fori. Можеш да използваш както това, което той е описал (index.php?lang=bg), така и сесийни променливи. При тях задаваш езика само при смяната му, а не постоянно.
Значи като допълнение към това, което той ти е написал ще ти дам още една идея. Предполагам, че ще сложиш знаменца за смяна на езика. Връзката на тях може да е подобна на тая:
print basename ($_SERVER['PHP_SELF']).'?lang=en';
Като в случая $_SERVER['PHP_SELF'] ти връща името и пътя към текущият файл. По тоя начин няма нужда да пишеш имената на php скриптовете си (index.php, news.php и т.н.)
Хмм нещо става разминаване - вие (fori & Danail Killer) отговаряте как да се смени/избере страницата с правилният език от даден сайт, но човекът пита за "различни езици на една страница"...
<img src=images/speech/icon_speech_wow.gif border=0 width=23 height=15> е ако има предвид различни езици на една страница какво общо има PHP тогава?
Това значи, че всичко зависи само от HTML-то и от избраният кодинг.
Нека X да каже какво има предвид.
Точно това съм и писал по-горе. Явно пояснение си трябва.. ;-))
Вероятно X пита как да направи нещо такова:
http://www.orionun2315.nl/test/menu/Orion_in_Aktion/
Аз обаче не мога да му отговоря [V]. Вие ако можете - давайте, на мен също ми е интересно как ще стане.
Е това е елементарно. Просто страницата е unicode и работи с почти всички езици. Ето:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<blockquote id="quote"><font size="1" id="quote"><b id="quote">quote:</b id="quote"></font id="quote"><table border="0" id="quote"><tr id="quote"><td class="quote" id="quote"><font size="1" id="quote">Е това е елементарно. Просто страницата е unicode и работи с почти всички езици. Ето:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<div align="right">Originally posted by Danail Killer*-*03/11/2004*:* 08:47:58</div id="right">
</td id="quote"></tr id="quote"></table id="quote"></blockquote id="quote"><font size="2" id="quote"></font id="quote">
Това utf-8 e ясно. Ама в сорса на страничката, дори вместо кирилица виждам UNICODE кодове, а какво остава и за другите езици... Тоест, не ми е ясно как е <u>създадена</u> страничката. Кое е това нещо, което ще преобразува въведен на някакъв език текст в UNICODE кодове? Извинявам се, ако e тъп въпросът, ама обяснете ми все пак. 10x предварително []
Ми като за начало има програми от типа на Щирлиц за конвертиране на един енкодинг в друг. Като за второ някой нормални операционни системи по подразбиране ползват уникод за кодиране по подразбиране. Като за трето на повечето нормални операционни системи можеш да си смениш системната кодова таблица на уникод - много по-удобно е.
Пример:
Работната среда която ползвам по подразбиране ползва UTF-8.
ICQ клиента ми в зависимост от това с кой си говоря ползва или уникод или cp-1251.
Текстовите ми редактори ползват уникод шрифтове - мога да чета документи писани на какъвто и да е език.
Браузъра ми автоматично разбира каква кодова таблица ползва дадената страница и автоматично конвертира текста който пращам.
Ей тая страница към коят е дал линк Raid ако ме светнете как да го направя тва [:D][:D][:D] Ехеееее, незнам трябва да ва търся и да ви черпя []
Проста и тъпа идея - текста го пишеш във Word и даваш save as html. Точно по тоя начин ще ти набичи символите.