Этот скрипт используется в БК )
Довольно неплох по-моему.
<script language="JavaScript">
var map_en = new Array("sh'","Sh'",'ye','Ye',"'e","'E",'y0','Y0',"'o","'O",'zh','Zh','ts','Ts','ch','Ch','sh','Sh',"`e","`E",'yu','Yu',"'u","'U",'ya','Ya',"'a","'A",'a','A','b','B','v','V','w','W','g','G','d','D','e','E','z','Z','i','I','j','J','k','K','l','L','m','M','n','N','o','O','p','P','r','R','s','S','t','T','u','U','f','F','h','H','c','C','`','y','Y',"'");
var map_ru = new Array('щ','Щ','е','Е','е','Е','ё','Ё','ё','Ё','ж','Ж','ц','Ц','ч','Ч','ш','Ш','э','Э','ю','Ю','ю','Ю','я','Я','я','Я','а','А','б','Б','в','В','в','В','г','Г','д','Д','е','Е','з','З','и','И','й','Й','к','К','л','Л','м','М','н','Н','о','О','п','П','р','Р','с','С','т','Т','у','У','ф','Ф','х','Х','ц','Ц','ъ','ы','Ы','ь');
function convert(str)
{
for(i=0;i<map_en.length;++i)
while(str.indexOf(map_en[i])>=0)
str = str.replace(map_en[i],map_ru[i]);
return str;
}
function translate() { // translates latin to russian
var addarr = new Array();
var strarr = new Array();
strarr = document.F1.text.value.split(' ');
for(k=0;k<strarr.length;k++) {
// check for NO url & NO smiles
if(strarr[k].indexOf("http://") < 0 && strarr[k].indexOf("www") < 0 && !(strarr[k].indexOf(":")==0 && strarr[k].lastIndexOf(":")==strarr[k].length-1)) {
// check for "to [some nick] / private [some nick]"
if ((k<strarr.length-1)&&(strarr[k]=="to"|strarr[k]=="private")&&(strarr[k+1].indexOf("[")==0)) {
while ( (k<strarr.length-1) && (strarr[k].lastIndexOf("]") != strarr[k].length-1) ) {
addarr[k] =strarr[k];
addarr[k+1]=strarr[k+1];
k++;
}
continue;
}
addarr[k] = convert(strarr[k]);
}
else
addarr[k] = strarr[k];
}
document.F1.text.value = addarr.join(' ');
}
</script>
---
Translate
|