автор: Мельник Ярослав Анатольевич
е-mail: wisepro#narod.ru
http://www.wisepro.narod.ru
Здравствуйте дорогие мои :), вы когда-нибудь мечтали создать многоязычный сайт? чтобы любой гражданин нашей объятной планеты, смог узнать о вас, вашем продукте, нужное подставьте сами, на родном для него языке. Но тут встает одна проблема, верстать столько страниц, это не реально, ну максимум на трех языках еще можно справится, если объем сайта не велик, и мало чего когда нужно поменять. а когда размеры сайта велики и нужно добавить новую информацию, поставить ссылку и все это меняя на разных страницах, на разных языках, да, это превращается в кошмар :(. Но не стоит отчаиваться, раз я начал писать эту статью значит выход есть. Самый простой, самый экономичный, не требующего знаний PHP, Perl, нужно знать JavaScript или VBScript, кто к чему привык.
И так, что же нам надо, для начала создадим словарь, в котором поместим слова, предложения, которые нужно перевести. Каждый новый словарь языка помещаем в функцию с лаконичным названием к примеру, русский язык назовем rus(), английский eng(), и так далее, в зависимости от того, сколько будет языков. Теперь привожу код словаря:
function eng()
{
if (document.all.TYes)document.all.TYes.innerText = "Yes";
if (document.all.TNo)document.all.TNo.innerText="No";
if (document.all.TCancel)document.all.Tchat.innerText = "Cancel";
if (document.all.TDelete)document.all.Tmusical.innerText = "Delete";
}
function rus()
{
if (document.all.TYes)document.all.TYes.innerText = "Да";
if (document.all.TNo)document.all.TNo.innerText="Нет";
if (document.all.TCancel)document.all.Tchat.innerText = "Отмена";
if (document.all.TDelete)document.all.Tmusical.innerText = "Удалить";
}
Вот такой небольшой код, можно и больше, но пока объясню, что здесь к чему. Условие, проверяет, есть ли в тексте такие метки (о метках позже), если она найдена, то переводим её из словаря. Вот вроде и всё. Теперь в самом HTML определенным словам ставим метки, т.е в тэге <font> ставим id, хотя и в любом другом тэге, который поддерживает id, если это у нас слово "да" , то html-текст, будет выглядеть так <font id=TYes>Да</font> и так по всему тексту. TYes - выбрано для лучшего понимания, названия можно давать любые. Чтобы страница была переведена, на другой язык нужно, во-первых, загрузить словарь это делается так:
<script language="JavaScript" src="lang_base.js"></script>
Во-вторых, создаем ссылку перевода, при клике по которой осуществиться перевод, функция выглядит так:
OnClick="eng()";
Это все, что от вас требовалось :), всё, что надо это создать словарь, зато без всяких, вы можете применять этот словарь на своих страницах, написано однажды пригодиться на всю жизнь.
Это тестовая страница по переводу текста на лету. Не требуется дополнительных страниц, не требуется много времени, возможность использовать единую базу
перевода
<p align="center" id="Ttext"> Это тестовая страница по переводу текста на лету. Не требуется дополнительных страниц, не требуется много времени, возможность
использовать единую базу
перевода<p align="center" id="Tund">Вы согласны со мной?
function eng()
{
// menu
if (document.all.TExample)document.all.TExample.innerText="Example";
if (document.all.Ttext)document.all.Ttext.innerText = "This is test page, translate with out any one page. Very easy make it, and very fun :)";
if (document.all.TYes)document.all.TYes.innerText="Yes";
if (document.all.TNo)document.all.TNo.innerText = "No";
if (document.all.Tund)document.all.Tund.innerText = "This is cool page???";
if (document.all.TFuck)document.all.TFuck.innerText = "Mother Fuck`a full!!!!";
}
function rus()
{
// menu
if (document.all.TExample)document.all.TExample.innerText="Пример";
if (document.all.Ttext)document.all.Ttext.innerText = "Это тестовая страница по переводу текста на лету. Не требуется дополнительных страниц, не требуется много времени, возможность использовать единую базу перевода";
if (document.all.TYes)document.all.TYes.innerText="Да";
if (document.all.TNo)document.all.TNo.innerText = "Нет";
if (document.all.Tund)document.all.Tund.innerText = "Вы согласны со мной???";
if (document.all.TFuck)document.all.TFuck.innerText = "Полный отстой!!!!";