@opentiny/fluent-editor
Version:
A rich text editor based on Quill 2.0, which extends rich modules and formats on the basis of Quill. It's powerful and out-of-the-box.
40 lines (39 loc) • 1.33 kB
JavaScript
import "../config/index.es.js";
import { isUndefined } from "../utils/is.es.js";
import { LANG_CONF, defaultLanguage, CHANGE_LANGUAGE_EVENT } from "../config/editor.config.es.js";
class I18N {
constructor(quill, options) {
this.quill = quill;
this.isFullscreen = false;
this.options = {
lang: "en-US",
langText: LANG_CONF["en-US"]
};
this.options = Object.assign({}, options, this.resolveLanguageOption(options || {}));
this.changeLanguage(this.options);
}
resolveLanguageOption(options) {
if (isUndefined(options.lang)) {
options.lang = defaultLanguage;
}
if (!(options.lang in LANG_CONF)) {
console.warn(`The language ${options.lang} is not supported. Use the default language: ${defaultLanguage}`);
options.lang = defaultLanguage;
}
return {
lang: options.lang,
langText: Object.assign({}, LANG_CONF[options.lang], options.langText || {})
};
}
changeLanguage(options) {
const langOps = this.resolveLanguageOption(options);
if (langOps.lang === this.quill.lang) return;
this.options.lang = langOps.lang;
this.options.langText = langOps.langText;
this.quill.emitter.emit(CHANGE_LANGUAGE_EVENT, this.options.lang, this.options.langText);
}
}
export {
I18N as default
};
//# sourceMappingURL=i18n.es.js.map