PageSourceSearch

https://jss.org.au/wp-content/plugins/august-gtranslate/js/dropdown.js?ver=7.0.2

js jss.org.au collected 2026-10-02 05:49:08 UTC 14,017 bytes, 507 lines download raw bytes

1(function () {
2	var gt = window.gtranslateSettings || {};
3	gt = gt[document.currentScript.getAttribute("data-gt-widget-id")] || gt;
4
5	if (gt.default_language == null) {
6		console.log("gtranslateSettings is not properly initialized");
7		return;
8	}
9
10	var lang_array_english = {
11		af: "Afrikaans",
12		sq: "Albanian",
13		am: "Amharic",
14		ar: "Arabic (العربية)",
15		hy: "Armenian",
16		az: "Azerbaijani",
17		eu: "Basque",
18		be: "Belarusian",
19		bn: "Bengali",
20		bo: "Tibetan (བོད་སྐད།)",
21		bs: "Bosnian",
22		bg: "Bulgarian",
23		ca: "Catalan",
24		ceb: "Cebuano",
25		ny: "Chichewa",
26		"zh-CN": "Chinese (Simplified)",
27		"zh-TW": "Chinese (Traditional)",
28		co: "Corsican",
29		hr: "Croatian",
30		cs: "Czech",
31		da: "Danish",
32		nl: "Dutch",
33		en: "English",
34		eo: "Esperanto",
35		et: "Estonian",
36		tl: "Filipino",
37		fi: "Finnish",
38		fr: "French",
39		fy: "Frisian",
40		gl: "Galician",
41		ka: "Georgian",
42		de: "German",
43		el: "Greek",
44		gu: "Gujarati",
45		ht: "Haitian Creole",
46		ha: "Hausa",
47		haw: "Hawaiian",
48		iw: "Hebrew",
49		hi: "Hindi",
50		hmn: "Hmong",
51		hu: "Hungarian",
52		is: "Icelandic",
53		ig: "Igbo",
54		id: "Indonesian",
55		ga: "Irish",
56		it: "Italian",
57		ja: "Japanese",
58		jw: "Javanese",
59		kn: "Kannada",
60		kk: "Kazakh",
61		km: "Khmer",
62		ko: "Korean",
63		ku: "Kurdish (Kurmanji)",
64		ky: "Kyrgyz",
65		lo: "Lao",
66		la: "Latin",
67		lv: "Latvian",
68		lt: "Lithuanian",
69		lb: "Luxembourgish",
70		mk: "Macedonian",
71		mg: "Malagasy",
72		ms: "Malay",
73		ml: "Malayalam",
74		mt: "Maltese",
75		mi: "Maori",
76		mr: "Marathi",
77		mn: "Mongolian",
78		my: "Myanmar (Burmese)",
79		ne: "Nepali",
80		no: "Norwegian",
81		om: "Oromo (Afaan Oromoo)",
82		ps: "Pashto",
83		fa: "Persian",
84		pl: "Polish",
85		pt: "Portuguese",
86		pa: "Punjabi",
87		ro: "Romanian",
88		ru: "Russian",
89		sm: "Samoan",
90		gd: "Scottish Gaelic",
91		sr: "Serbian",
92		st: "Sesotho",
93		sn: "Shona",
94		sd: "Sindhi",
95		si: "Sinhala",
96		sk: "Slovak",
97		sl: "Slovenian",
98		so: "Somali (Somali)",
99		es: "Spanish",
100		su: "Sundanese",
101		sw: "Swahili",
102		sv: "Swedish",
103		tg: "Tajik",
104		ta: "Tamil",
105		te: "Telugu",
106		th: "Thai",
107		ti: "Tigrinya (ትግርኛ)",
108		tr: "Turkish",
109		uk: "Ukrainian",
110		ur: "Urdu",
111		uz: "Uzbek",
112		vi: "Vietnamese (Tiếng Việt)",
113		cy: "Welsh",
114		xh: "Xhosa",
115		yi: "Yiddish",
116		yo: "Yoruba",
117		zu: "Zulu",
118	};
119	var lang_array_native = {
120		af: "Afrikaans",
121		sq: "Shqip",
122		am: "\u12a0\u121b\u122d\u129b",
123		ar: "\u0627\u0644\u0639\u0631\u0628\u064a\u0629",
124		hy: "\u0540\u0561\u0575\u0565\u0580\u0565\u0576",
125		az: "Az\u0259rbaycan dili",
126		eu: "Euskara",
127		be: "\u0411\u0435\u043b\u0430\u0440\u0443\u0441\u043a\u0430\u044f \u043c\u043e\u0432\u0430",
128		bn: "\u09ac\u09be\u0982\u09b2\u09be",
129		bo: "\u0f56\u0f7c\u0f51\u0f0b\u0f66\u0f90\u0f51",
130		bs: "Bosanski",
131		bg: "\u0411\u044a\u043b\u0433\u0430\u0440\u0441\u043a\u0438",
132		ca: "Catal\u00e0",
133		ceb: "Cebuano",
134		ny: "Chichewa",
135		"zh-CN": "\u7b80\u4f53\u4e2d\u6587",
136		"zh-TW": "\u7e41\u9ad4\u4e2d\u6587",
137		co: "Corsu",
138		hr: "Hrvatski",
139		cs: "\u010ce\u0161tina\u200e",
140		da: "Dansk",
141		nl: "Nederlands",
142		en: "English",
143		eo: "Esperanto",
144		et: "Eesti",
145		tl: "Filipino",
146		fi: "Suomi",
147		fr: "Fran\u00e7ais",
148		fy: "Frysk",
149		gl: "Galego",
150		ka: "\u10e5\u10d0\u10e0\u10d7\u10e3\u10da\u10d8",
151		de: "Deutsch",
152		el: "\u0395\u03bb\u03bb\u03b7\u03bd\u03b9\u03ba\u03ac",
153		gu: "\u0a97\u0ac1\u0a9c\u0ab0\u0abe\u0aa4\u0ac0",
154		ht: "Kreyol ayisyen",
155		ha: "Harshen Hausa",
156		haw: "\u014clelo Hawai\u02bbi",
157		iw: "\u05e2\u05b4\u05d1\u05b0\u05e8\u05b4\u05d9\u05ea",
158		hi: "\u0939\u093f\u0928\u094d\u0926\u0940",
159		hmn: "Hmong",
160		hu: "Magyar",
161		is: "\u00cdslenska",
162		ig: "Igbo",
163		id: "Bahasa Indonesia",
164		ga: "Gaeilge",
165		it: "Italiano",
166		ja: "\u65e5\u672c\u8a9e",
167		jw: "Basa Jawa",
168		kn: "\u0c95\u0ca8\u0ccd\u0ca8\u0ca1",
169		kk: "\u049a\u0430\u0437\u0430\u049b \u0442\u0456\u043b\u0456",
170		km: "\u1797\u17b6\u179f\u17b6\u1781\u17d2\u1798\u17c2\u179a",
171		ko: "\ud55c\uad6d\uc5b4",
172		ku: "\u0643\u0648\u0631\u062f\u06cc\u200e",
173		ky: "\u041a\u044b\u0440\u0433\u044b\u0437\u0447\u0430",
174		lo: "\u0e9e\u0eb2\u0eaa\u0eb2\u0ea5\u0eb2\u0ea7",
175		la: "Latin",
176		lv: "Latvie\u0161u valoda",
177		lt: "Lietuvi\u0173 kalba",
178		lb: "L\u00ebtzebuergesch",
179		mk: "\u041c\u0430\u043a\u0435\u0434\u043e\u043d\u0441\u043a\u0438 \u0458\u0430\u0437\u0438\u043a",
180		mg: "Malagasy",
181		ms: "Bahasa Melayu",
182		ml: "\u0d2e\u0d32\u0d2f\u0d3e\u0d33\u0d02",
183		mt: "Maltese",
184		mi: "Te Reo M\u0101ori",
185		mr: "\u092e\u0930\u093e\u0920\u0940",
186		mn: "\u041c\u043e\u043d\u0433\u043e\u043b",
187		my: "\u1017\u1019\u102c\u1005\u102c",
188		ne: "\u0928\u0947\u092a\u093e\u0932\u0940",
189		no: "Norsk bokm\u00e5l",
190		om: "Afaan Oromoo",
191		ps: "\u067e\u069a\u062a\u0648",
192		fa: "\u0641\u0627\u0631\u0633\u06cc",
193		pl: "Polski",
194		pt: "Portugu\u00eas",
195		pa: "\u0a2a\u0a70\u0a1c\u0a3e\u0a2c\u0a40",
196		ro: "Rom\u00e2n\u0103",
197		ru: "\u0420\u0443\u0441\u0441\u043a\u0438\u0439",
198		sm: "Samoan",
199		gd: "G\u00e0idhlig",
200		sr: "\u0421\u0440\u043f\u0441\u043a\u0438 \u0458\u0435\u0437\u0438\u043a",
201		st: "Sesotho",
202		sn: "Shona",
203		sd: "\u0633\u0646\u068c\u064a",
204		si: "\u0dc3\u0dd2\u0d82\u0dc4\u0dbd",
205		sk: "Sloven\u010dina",
206		sl: "Sloven\u0161\u010dina",
207		so: "Afsoomaali",
208		es: "Espa\u00f1ol",
209		su: "Basa Sunda",
210		sw: "Kiswahili",
211		sv: "Svenska",
212		tg: "\u0422\u043e\u04b7\u0438\u043a\u04e3",
213		ta: "\u0ba4\u0bae\u0bbf\u0bb4\u0bcd",
214		te: "\u0c24\u0c46\u0c32\u0c41\u0c17\u0c41",
215		th: "\u0e44\u0e17\u0e22",
216		ti: "\u1275\u130d\u122d\u129b",
217		tr: "T\u00fcrk\u00e7e",
218		uk: "\u0423\u043a\u0440\u0430\u0457\u043d\u0441\u044c\u043a\u0430",
219		ur: "\u0627\u0631\u062f\u0648",
220		uz: "O\u2018zbekcha",
221		vi: "Ti\u1ebfng Vi\u1ec7t",
222		cy: "Cymraeg",
223		xh: "isiXhosa",
224		yi: "\u05d9\u05d9\u05d3\u05d9\u05e9",
225		yo: "Yor\u00f9b\u00e1",
226		zu: "Zulu",
227	};
228
229	var default_language = gt.default_language;
230	var languages = gt.languages || Object.keys(lang_array_english);
231	var url_structure = gt.url_structure || "none";
232	var custom_domains = gt.custom_domains || {};
233
234	var horizontal_position = gt.horizontal_position || "inline";
235	var vertical_position = gt.vertical_position || null;
236
237	var native_language_names = gt.native_language_names || false;
238	var detect_browser_language = gt.detect_browser_language || false;
239	var wrapper_selector = gt.wrapper_selector || ".gtranslate_wrapper";
240	var select_language_label = gt.select_language_label || "Select Language";
241
242	var custom_css = gt.custom_css || "";
243	var lang_array =
244		(native_language_names && lang_array_native) || lang_array_english;
245
246	var u_class =
247		".gt_container-" +
248		Array.from("dropdown" + wrapper_selector)
249			.reduce(function (h, c) {
250				return 0 | (31 * h + c.charCodeAt(0));
251			}, 0)
252			.toString(36);
253
254	var widget_code = "<!-- GTranslate: https://gtranslate.com -->";
255	var widget_css = custom_css;
256
257	// helper functions
258	function get_lang_href(lang) {
259		var href = "#";
260
261		if (url_structure == "sub_directory") {
262			var gt_request_uri =
263				(document.currentScript.getAttribute("data-gt-orig-url") ||
264					(location.pathname.startsWith("/" + current_lang + "/") &&
265						"/" + location.pathname.split("/").slice(2).join("/")) ||
266					location.pathname) +
267				location.search +
268				location.hash;
269			href =
270				(lang == default_language &&
271					location.protocol + "//" + location.hostname + gt_request_uri) ||
272				location.protocol +
273					"//" +
274					location.hostname +
275					"/" +
276					lang +
277					gt_request_uri;
278		} else if (url_structure == "sub_domain") {
279			var gt_request_uri =
280				(document.currentScript.getAttribute("data-gt-orig-url") ||
281					location.pathname) +
282				location.search +
283				location.hash;
284			var domain =
285				document.currentScript.getAttribute("data-gt-orig-domain") ||
286				location.hostname;
287			if (typeof custom_domains == "object" && custom_domains[lang])
288				href =
289					(lang == default_language &&
290						location.protocol + "//" + domain + gt_request_uri) ||
291					location.protocol + "//" + custom_domains[lang] + gt_request_uri;
292			else
293				href =
294					(lang == default_language &&
295						location.protocol + "//" + domain + gt_request_uri) ||
296					location.protocol +
297						"//" +
298						lang +
299						"." +
300						domain.replace(/^www\./, "") +
301						gt_request_uri;
302		}
303
304		return href;
305	}
306
307	var current_lang =
308		document.querySelector("html").getAttribute("lang") || default_language;
309	if (url_structure == "none") {
310		var googtrans_matches = document.cookie.match(
311			"(^|;) ?googtrans=([^;]*)(;|$)",
312		);
313		current_lang =
314			(googtrans_matches && googtrans_matches[2].split("/")[2]) || current_lang;
315	}
316
317	if (!lang_array[current_lang]) current_lang = default_language;
318
319	var el_s = document.createElement("select");
320	el_s.classList.add("gt_selector", "notranslate");
321	el_s.setAttribute("aria-label", select_language_label);
322
323	var el_o = document.createElement("option");
324	el_o.value = "";
325	el_o.innerText = select_language_label;
326	el_s.appendChild(el_o);
327	languages.forEach(function (lang) {
328		var el_o = document.createElement("option");
329		el_o.value = default_language + "|" + lang;
330		el_o.setAttribute("data-gt-href", get_lang_href(lang));
331		current_lang == lang && el_o.setAttribute("selected", "");
332		el_o.innerText = lang_array[lang];
333
334		el_s.appendChild(el_o);
335	});
336
337	widget_code += el_s.outerHTML;
338
339	if (url_structure == "none") {
340		widget_code += '<div id="google_translate_element2"></div>';
341
342		widget_css +=
343			"div.skiptranslate,#google_translate_element2{display:none!important}";
344		widget_css += "body{top:0!important}";
345		widget_css +=
346			"font font{background-color:transparent!important;box-shadow:none!important;position:initial!important}";
347	}
348
349	if (horizontal_position != "inline")
350		widget_code =
351			'<div class="gt_switcher_wrapper" style="position:fixed;' +
352			vertical_position +
353			":15px;" +
354			horizontal_position +
355			':15px;z-index:999999;">' +
356			widget_code +
357			"</div>";
358
359	var add_css = document.createElement("style");
360	add_css.classList.add("gtranslate_css");
361	add_css.textContent = widget_css;
362	document.head.appendChild(add_css);
363
364	document.querySelectorAll(wrapper_selector).forEach(function (e) {
365		e.classList.add(u_class.substring(1));
366		e.innerHTML += widget_code;
367	});
368
369	if (url_structure == "none") {
370		function get_current_lang() {
371			var keyValue = document.cookie.match("(^|;) ?googtrans=([^;]*)(;|$)");
372			return keyValue ? keyValue[2].split("/")[2] : null;
373		}
374		function fire_event(element, event) {
375			try {
376				if (document.createEventObject) {
377					var evt = document.createEventObject();
378					element.fireEvent("on" + event, evt);
379				} else {
380					var evt = document.createEvent("HTMLEvents");
381					evt.initEvent(event, true, true);
382					element.dispatchEvent(evt);
383				}
384			} catch (e) {}
385		}
386		function load_tlib() {
387			if (!window.gt_translate_script) {
388				window.gt_translate_script = document.createElement("script");
389				gt_translate_script.src =
390					"https://translate.google.com/translate_a/element.js?cb=googleTranslateElementInit2";
391				document.body.appendChild(gt_translate_script);
392			}
393		}
394		window.doGTranslate = function (lang_pair) {
395			if (lang_pair.value) lang_pair = lang_pair.value;
396			if (lang_pair == "") return;
397			var lang = lang_pair.split("|")[1];
398			if (get_current_lang() == null && lang == lang_pair.split("|")[0]) return;
399			var teCombo;
400			var sel = document.getElementsByTagName("select");
401			for (var i = 0; i < sel.length; i++)
402				if (sel[i].className.indexOf("goog-te-combo") != -1) {
403					teCombo = sel[i];
404					break;
405				}
406			if (
407				document.getElementById("google_translate_element2") == null ||
408				document.getElementById("google_translate_element2").innerHTML.length ==
409					0 ||
410				teCombo.length == 0 ||
411				teCombo.innerHTML.length == 0
412			) {
413				setTimeout(function () {
414					doGTranslate(lang_pair);
415				}, 500);
416			} else {
417				teCombo.value = lang;
418				fire_event(teCombo, "change");
419				fire_event(teCombo, "change");
420			}
421		};
422
423		window.googleTranslateElementInit2 = function () {
424			new google.translate.TranslateElement(
425				{ pageLanguage: default_language, autoDisplay: false },
426				"google_translate_element2",
427			);
428		};
429
430		if (current_lang != default_language) load_tlib();
431		else
432			document.querySelectorAll(u_class).forEach(function (e) {
433				e.addEventListener("pointerenter", load_tlib);
434			});
435	}
436
437	document.querySelectorAll(u_class + " .gt_selector").forEach(function (e) {
438		e.addEventListener("change", function (evt) {
439			if (url_structure == "none") doGTranslate(evt.target.value);
440			else
441				evt.target
442					.querySelectorAll(
443						'option[value="' + evt.target.value + '"][data-gt-href]',
444					)
445					.forEach(function (e) {
446						location.href = e.getAttribute("data-gt-href");
447					});
448		});
449	});
450
451	if (
452		detect_browser_language &&
453		window.localStorage &&
454		window.navigator &&
455		localStorage.getItem("gt_autoswitch") == null &&
456		!/bot|spider|slurp|facebook/i.test(navigator.userAgent)
457	) {
458		var accept_language = (
459			navigator.language || navigator.userLanguage
460		).toLowerCase();
461		switch (accept_language) {
462			case "zh":
463			case "zh-cn":
464				var preferred_language = "zh-CN";
465				break;
466			case "zh-tw":
467			case "zh-hk":
468				var preferred_language = "zh-TW";
469				break;
470			case "he":
471				var preferred_language = "iw";
472				break;
473			default:
474				var preferred_language = accept_language.substr(0, 2);
475				break;
476		}
477
478		if (
479			current_lang == default_language &&
480			preferred_language != default_language &&
481			languages.includes(preferred_language)
482		) {
483			if (url_structure == "none") {
484				load_tlib();
485				window.gt_translate_script.onload = function () {
486					doGTranslate(default_language + "|" + preferred_language);
487					document.querySelector(u_class + " .gt_selector").value =
488						default_language + "|" + preferred_language;
489				};
490			} else
491				document
492					.querySelectorAll(
493						u_class +
494							' .gt_selector option[value="' +
495							default_language +
496							"|" +
497							preferred_language +
498							'"][data-gt-href]',
499					)
500					.forEach(function (e) {
501						location.href = e.getAttribute("data-gt-href");
502					});
503		}
504
505		localStorage.setItem("gt_autoswitch", 1);
506	}
507})();

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.