Wikisłownikarz:Sp5uhe/skrypt01.js

Z Wikisłownika – wolnego słownika wielojęzycznego

Uwaga: aby zobaczyć zmiany po opublikowaniu, może zajść potrzeba wyczyszczenia pamięci podręcznej przeglądarki.

  • Firefox / Safari: Przytrzymaj Shift podczas klikania Odśwież bieżącą stronę, lub naciśnij klawisze Ctrl+F5, lub Ctrl+R (⌘-R na komputerze Mac)
  • Google Chrome: Naciśnij Ctrl-Shift-R (⌘-Shift-R na komputerze Mac)
  • Internet Explorer / Edge: Przytrzymaj Ctrl, jednocześnie klikając Odśwież, lub naciśnij klawisze Ctrl+F5
  • Opera: Naciśnij klawisze Ctrl+F5.
/**** TRANSLITERACJA - POCZĄTEK ****/
function dec2hex(d, padding) {
    var hex = Number(d).toString(16);
    padding = typeof (padding) === "undefined" || padding === null ? padding = 4 : padding;
    while (hex.length < padding) hex = "0" + hex;
    return hex;
}
// Znaki ignorowane w każdej transliteracji
var transtbl_white_chars="-=,./;'[]\\`~!@#$%^&*()_+{}|:\"<>? ";
// Jidysz hebraizmy
var transtbl_hebr = new Array ( "\u05D1\u05BF", "\u05DB\u05BC", "\u05E9\u05C2", "\u05EA\u05BC", "\u05D7", "\u05EA" );
// Tabela wejściowa - te znaki i ich ciągi będą transliterowane. Ciągi znaków od najdłuższego.
var transtbl_yi_c = new Array(
"יוו",	"יִוו",	"ויִ",	"עיִ",	"אַי",	"עי",	"יִי",	"אָי",	"וּי",	"יאַ",	"יע",	"ייִ",	"יאָ",	"יוּ",	"יו",	"אַ",	"אָ",	"בֿ",	"וּ",	"יִ",	"כּ",	"פּ",	"פֿ",	"שׂ",	"תּ",	"גנ",	"גן",	"נג",	"קנ",	"קן",	"נק",	"בן",	"פּן",	"די",	"דזש",	"דז",	"זש",	"טש",	"וו",	"וי",	"יי",	"ײַ",	"א",	"ב",	"ג",	"ד",	"ה",	"ו",	"ז",	"ח",	"ט",	"י",	"כ",	"ל",	"מ",	"נ",	"ס",	"ע",	"פ",	"צ",	"ק",	"ר",	"ש",	"ת",	"ך",	"ם",	"ן",	"ף",	"ץ",	"־",	"׳",	"״");

// x 1 oznacza, że odpowiadający kod z powyższej tablicy ma być uwzględniany wyłącznie na początku słowa, również po znaku interpunkcyjnym
var transtbl_yi_b = new Array(
0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	1,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0,	0);

// Jidysz na IPA - tabela wyjściowa
var transtbl_yii_v = new Array(
"iv",	"iv",	"ʊi",	"ɛi",	"aj",	"ɛj",	"ij",	"ɔj",	"ʊj",	"ja",	"jɛ",	"ji",	"jɔ",	"jʊ",	"jʊ",	"a",	"ɔ",	"v",	"ʊ",	"i",	"k",	"p",	"f",	"s",	"t",	"gŋ",	"gŋ",	"ŋg",	"kŋ",	"kŋ",	"ŋk",	"bm",	"pm",	"di",	"ʤ",	"ʣ",	"ʒ",	"ʧ",	"v",	"ɔj",	"ɛj",	"aj",	"",	"b",	"g",	"d",	"h",	"ʊ",	"z",	"x",	"t",	"i",	"x",	"l",	"m",	"n",	"s",	"ɛ",	"",	"ʦ",	"k",	"ʀ",	"ʃ",	"s",	"x",	"m",	"n",	"f",	"ʦ",	"",	"",	"");

// Jidysz na YIVO - tabela wyjściowa
var transtbl_yiy_v = new Array(
"iv",	"iv",	"ui",	"ei",	"ay",	"ey",	"iy",	"oy",	"uy",	"ya",	"ye",	"yi",	"yo",	"yu",	"yu",	"a",	"o",	"v",	"u",	"i",	"k",	"p",	"f",	"s",	"t",	"gn",	"gn",	"ng",	"kn",	"kn",	"nk",	"bn",	"pn",	"di",	"dzh",	"dz",	"zh",	"tsh",	"v",	"oy",	"ey",	"ay",	"",	"b",	"g",	"d",	"h",	"u",	"z",	"kh",	"t",	"i",	"kh",	"l",	"m",	"n",	"s",	"e",	"",	"ts",	"k",	"r",	"sh",	"s",	"kh",	"m",	"n",	"f",	"ts",	"-",	"\u0027",	"\u0022");

// Jidysz na polski - tabela wyjściowa
var transtbl_yip_v = new Array(
"iw",	"iw",	"ui",	"ei",	"aj",	"ej",	"ij",	"oj",	"uj",	"ja",	"je",	"ji",	"jo",	"ju",	"ju",	"a",	"o",	"w",	"u",	"i",	"k",	"p",	"f",	"s",	"t",	"gn",	"gn",	"ng",	"kn",	"kn",	"nk",	"bn",	"pn",	"di",	"dż",	"dz",	"ż",	"cz",	"w",	"oj",	"ej",	"aj",	"",	"b",	"g",	"d",	"h",	"u",	"z",	"ch",	"t",	"i",	"ch",	"l",	"m",	"n",	"s",	"e",	"",	"c",	"k",	"r",	"sz",	"s",	"ch",	"m",	"n",	"f",	"c",	"-",	"\u0027",	"\u0022");

// Polski na jidysz - tabela wejściowa
var transtbl_p2y_c = new Array(
"iw",	"aj",	"aj",	"bn",	"ch",	"ch",	"ch",	"cz",	"di",	"dz",	"dż",	"ei",	"ej",	"ej",	"gn",	"gn",	"ij",	"iw",	"ja",	"je",	"ji",	"jo",	"ju",	"ju",	"kn",	"kn",	"ng",	"nk",	"oj",	"oj",	"pn",	"sz",	"ui",	"uj",	"-",	"\u0022",	"\u0027",	"a",	"b",	"c",	"c",	"d",	"e",	"f",	"f",	"g",	"h",	"i",	"i",	"k",	"k",	"l",	"m",	"m",	"n",	"n",	"o",	"p",	"r",	"s",	"s",	"s",	"t",	"t",	"u",	"u",	"w",	"w",	"z",	"ż",	"?",	"?");
// Polski na jidysz - tabela wyjściowa
var transtbl_p2y_v = new Array(
"יוו",	"אַי",	"ײַ",	"בן",	"ח",	"כ",	"ך",	"טש",	"די",	"דז",	"דזש",	"עיִ",	"עי",	"יי",	"גנ",	"גן",	"יִי",	"יִוו",	"יאַ",	"יע",	"ייִ",	"יאָ",	"יוּ",	"יו",	"קנ",	"קן",	"נג",	"נק",	"אָי",	"וי",	"פּן",	"ש",	"ויִ",	"וּי",	"־",	"״",	"׳",	"אַ",	"ב",	"צ",	"ץ",	"ד",	"ע",	"פֿ",	"ף",	"ג",	"ה",	"יִ",	"י",	"כּ",	"ק",	"ל",	"מ",	"ם",	"נ",	"ן",	"אָ",	"פּ",	"ר",	"שׂ",	"ס",	"ת",	"תּ",	"ט",	"וּ",	"ו",	"בֿ",	"וו",	"ז",	"זש",	"א",	"פ");
 
function translitChange2() {
	var lista = document.getElementsByTagName('span');
	var found = false;
	for (var k = 0; k < lista.length; k++) {
		var wiersz = lista[k];
		if (wiersz && (wiersz.className.indexOf("translit-")==0)) {
// Jidysz na IPA
			if (wiersz.className.search(/translit\-auto\-yii/)==0) {
				wiersz.className="translit-yii";
				var s=wiersz.innerHTML;
				var s1="";
				for (var j=0; j<transtbl_hebr.length; j++)
				{
					if (s.indexOf(transtbl_hebr[j])>=0)
					{
						s1='<b style="color:red;" title="Hebraizm: '+transtbl_hebr[j]+'. Wpisz słowo fonetycznie w wywołaniu szablonu!">błąd</b>';
						wiersz.innerHTML=s1;
						wiersz.className="translitOK-yii";
						break;
					}
				}
			} else
// Jidysz na YIVO
			if (wiersz.className.search(/translit\-auto\-yiy/)==0) {
				wiersz.className="translit-yiy";
				var s=wiersz.innerHTML;
				var s1="";
				for (var j=0; j<transtbl_hebr.length; j++)
				{
					if (s.indexOf(transtbl_hebr[j])>=0)
					{
						s1='<b style="color:red;" title="Hebraizm: '+transtbl_hebr[j]+'. Wpisz słowo fonetycznie w wywołaniu szablonu!">błąd</b>';
						wiersz.innerHTML=s1;
						wiersz.className="translitOK-yiy";
						break;
					}
				}
			} else
// Jidysz na polski
			if (wiersz.className.search(/translit\-auto\-yip/)==0) {
				wiersz.className="translit-yip";
				var s=wiersz.innerHTML;
				var s1="";
				for (var j=0; j<transtbl_hebr.length; j++)
				{
					if (s.indexOf(transtbl_hebr[j])>=0)
					{
						s1='<b style="color:red;" title="Hebraizm: '+transtbl_hebr[j]+'. Wpisz słowo fonetycznie w wywołaniu szablonu!">błąd</b>';
						wiersz.innerHTML=s1;
						wiersz.className="translitOK-yip";
						break;
					}
				}
			}
// Jidysz na IPA
			if (wiersz.className.search(/translit\-yii/)==0) {
				wiersz.className="translitOK-yii";
				var s=wiersz.innerHTML;
				var s1="";
				for (var i=0; i<s.length; i++)
				{
					if (transtbl_white_chars.indexOf(s.charAt(i))>=0)
						s1=s1+s.charAt(i);
					else {
						var jest=false;
						for (var j=0; j<transtbl_yi_c.length; j++)
							if ((s.indexOf(transtbl_yi_c[j],i)==i) &&
								((transtbl_yi_b[j]==0) || (i==0) || ((i>0) && (transtbl_white_chars.indexOf(s.charAt(i-1))>=0))))
							{
								s1=s1+transtbl_yii_v[j];
								i=i+transtbl_yi_c[j].length-1;
								jest=true;
								break;
							}
						if (!jest)
							s1=s1+'<b style="color:red;" title="Brak transliteracji jidysz na IPA dla znaku: '+s.charAt(i)+' o kodzie: '+s.charCodeAt(i)+' (\\u'+dec2hex(s.charCodeAt(i),4)+')">'+s.charAt(i)+'</b>';
					}
				}
				wiersz.innerHTML=s1;
			}
// Jidysz na YIVO
			else if (wiersz.className.search(/translit\-yiy/)==0) {
				wiersz.className="translitOK-yiy";
				var s=wiersz.innerHTML;
				var s1="";
				for (var i=0; i<s.length; i++)
				{
					if (transtbl_white_chars.indexOf(s.charAt(i))>=0)
						s1=s1+s.charAt(i);
					else {
						var jest=false;
						for (var j=0; j<transtbl_yi_c.length; j++)
							if ((s.indexOf(transtbl_yi_c[j],i)==i) &&
								((transtbl_yi_b[j]==0) || (i==0) || ((i>0) && (transtbl_white_chars.indexOf(s.charAt(i-1))>=0))))
							{
								s1=s1+transtbl_yiy_v[j];
								i=i+transtbl_yi_c[j].length-1;
								jest=true;
								break;
							}
						if (!jest)
							s1=s1+'<b style="color:red;" title="Brak transliteracji jidysz na YIVO dla znaku: '+s.charAt(i)+' o kodzie: '+s.charCodeAt(i)+' (\\u'+dec2hex(s.charCodeAt(i),4)+')">'+s.charAt(i)+'</b>';
					}
				}
				wiersz.innerHTML=s1;
			}
// Jidysz na polski
			else if (wiersz.className.search(/translit\-yip/)==0) {
				wiersz.className="translitOK-yip";
				var s=wiersz.innerHTML;
				var s1="";
				for (var i=0; i<s.length; i++)
				{
					if (transtbl_white_chars.indexOf(s.charAt(i))>=0)
						s1=s1+s.charAt(i);
					else {
						var jest=false;
						for (var j=0; j<transtbl_yi_c.length; j++)
							if ((s.indexOf(transtbl_yi_c[j],i)==i) &&
								((transtbl_yi_b[j]==0) || (i==0) || ((i>0) && (transtbl_white_chars.indexOf(s.charAt(i-1))>=0))))
							{
								s1=s1+transtbl_yip_v[j];
								i=i+transtbl_yi_c[j].length-1;
								jest=true;
								break;
							}
						if (!jest)
							s1=s1+'<b style="color:red;" title="Brak transliteracji jidysz na język polski dla znaku: '+s.charAt(i)+' o kodzie: '+s.charCodeAt(i)+' (\\u'+dec2hex(s.charCodeAt(i),4)+')">'+s.charAt(i)+'</b>';
					}
				}
				wiersz.innerHTML=s1;
			}
//**************************
// Polski na jidysz
			else if (wiersz.className.search(/translit\-p2y/)==0) {
				wiersz.className="translitOK-p2y";
				var s=wiersz.innerHTML;
				var s1="";
				for (var i=0; i<s.length; i++)
				{
					if (transtbl_white_chars.indexOf(s.charAt(i))>=0)
						s1=s1+s.charAt(i);
					else {
						var jest=false;
						for (var j=0; j<transtbl_p2y_c.length; j++)
							if (s.indexOf(transtbl_p2y_c[j],i)==i)
							{
								s1=s1+transtbl_p2y_v[j];
								i=i+transtbl_p2y_c[j].length-1;
								jest=true;
								break;
							}
						if (!jest)
							s1=s1+'<b style="color:red;" title="Brak transliteracji jidysz na język polski dla znaku: '+s.charAt(i)+' o kodzie: '+s.charCodeAt(i)+' (\\u'+dec2hex(s.charCodeAt(i),4)+')">'+s.charAt(i)+'</b>';
					}
				}
				wiersz.innerHTML=s1;
			}
//**************************
		}
	}
};
 
$(function () {
	translitChange2();
});
/**** TRANSLITERACJA - KONIEC ****/