Skip to content

Commit 87e5498

Browse files
thetpetschki
authored andcommitted
Away from ignore variants to refactoring this method for use with the langs8 directory and changed file naming. TODO: does not translate at all, did the old version even do in tiny8?
1 parent 835db36 commit 87e5498

File tree

1 file changed

+30
-16
lines changed

1 file changed

+30
-16
lines changed

src/pat/tinymce/tinymce--implementation.js

Lines changed: 30 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -296,29 +296,43 @@ export default class TinyMCE {
296296

297297
async initLanguage() {
298298
const i18n = new I18n();
299-
let lang = i18n.currentLanguage;
299+
const lang_parts = i18n.currentLanguage.split("-");
300300

301-
// Fix for country specific languages
302-
if (lang.split("-").length > 1) {
303-
lang = lang.split("-")[0] + "_" + lang.split("-")[1].toUpperCase();
304-
}
301+
// Country specific languages in TinyMCE 8 in in the form: `lang-COUNTRY_CODE`
302+
let lang =
303+
lang_parts.length === 1
304+
? lang_parts[0]
305+
: `${lang_parts[0]}-${lang_parts[1].toUpperCase()}`;
305306

306-
if (lang.substr(0,2) !== "en") {
307+
debugger;
308+
if (lang !== "en") {
307309
// load translations from tinymce-i18n
308310
try {
309-
await import(`tinymce-i18n/langs7/${lang}`);
311+
await import(`tinymce-i18n/langs8/${lang}.js`);
310312
} catch {
311-
log.debug("Could not load TinyMCE language: ", lang);
312313
try {
313-
// expected lang not available, let's fallback to closest one
314-
if (lang.split("_").length > 1) {
315-
lang = lang.split("_")[0];
316-
} else {
317-
lang = lang + "_" + lang.toUpperCase();
318-
}
319-
log.debug("Trying with: ", lang);
320-
await import(`tinymce-i18n/langs7/${lang}`);
314+
log.debug("Could not load TinyMCE language: ", lang);
315+
316+
lang = lang_parts[0];
317+
log.debug("Fall back to: ", lang);
318+
319+
await import(`tinymce-i18n/langs8/${lang}.js`);
321320
} catch {
321+
try {
322+
log.debug("Could not load TinyMCE language: ", lang);
323+
324+
// Some languages have the form of `lang-LANG`, etc. `fr-FR`.
325+
lang = `${lang_parts[0]}-${lang_parts[0].toUpperCase()}`;
326+
log.debug("Fall back to: ", lang);
327+
328+
await import(`tinymce-i18n/langs8/${lang}.js`);
329+
} catch {
330+
log.debug(
331+
"Could not load TinyMCE language. Fallback to English",
332+
);
333+
lang = "en";
334+
}
335+
322336
log.debug("Could not load TinyMCE language. Fallback to English");
323337
lang = "en";
324338
}

0 commit comments

Comments
 (0)