zotero/resource/tinymce/locale.js

75 lines
1 KiB
JavaScript
Raw Normal View History

// Available language packs
var locales = [
'ar',
'bg_BG',
'ca',
'cs_CZ',
'da',
'de',
'el',
'es',
'et',
'eu',
'fa_IR',
'fi',
'fr_FR',
'gl',
'he_IL',
'hr',
'hu_HU',
'id',
'is_IS',
'it',
'ja',
'km_KH',
'ko_KR',
'lt',
'nb_NO',
'nl',
'pl',
'pt_BR',
'pt_PT',
'ro',
'ru',
'sk',
'sl_SI',
'sv_SE',
'th_TH',
'tr_TR',
'uk',
'vi_VN',
'zh_CN',
'zh_TW'
];
function setLocale(editor) {
var locale = 'en';
var matches = window.location.href.match(/locale=([^&]+)/);
if (matches) {
let code = matches[1].replace('-', '_');
// Exact match
if (locales.includes(code)) {
locale = code;
}
else {
let prefix = code.substr(0, 2);
// Match on first two characters, exact
if (locales.includes(prefix)) {
locale = prefix;
}
// Match on first two characters with additional country code (e.g., 'fa' -> 'fa_IR')
else {
for (let l of locales) {
if (l.substr(0, 2) == prefix) {
locale = l;
break;
}
}
}
}
}
editor.settings.language = locale;
}