欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

ueditor 动态设置多语言

发布时间:2024/8/1 编程问答 52 豆豆
生活随笔 收集整理的这篇文章主要介绍了 ueditor 动态设置多语言 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

i18n 在切换语言时,是不会刷新浏览器的

ueditor 为什么切换不了多语言

f = UE.Editor = function(a) {var d = this;d.uid = e++, EventBase.call(d), d.commands = {}, d.options = utils.extend(utils.clone(a || {}), UEDITOR_CONFIG,!0), d.shortcutkeys = {}, d.inputRules = [], d.outputRules = [], d.setOpt(f.defaultOptions(d)), d.loadServerConfig(),utils.isEmptyObject(UE.I18N) ? utils.loadFile(document, {src: d.options.langPath + d.options.lang + "/" + d.options.lang + ".js",tag: "script",type: "text/javascript",defer: "defer"}, function() {UE.plugin.load(d), c(d)}) : (d.options.lang = b(UE.I18N), UE.plugin.load(d), c(d)), UE.instants["ueditorInstant" + d.uid] = d};

原因在这里:

(d.options.lang = b(UE.I18N)

b方法是在 UE.I18N 中寻找,只要有语言就返回,也就是返回第一个

function b(a) {for (var b in a) return b}

而我们改变语言时 还是取的第一个

所以我们只要

import "@public/lib/UEditor/lang/zh-cn/zh-cn.js"; import "@public/lib/UEditor/lang/en/en.js";if (Object.keys(UE.I18N).length > 1) {// 浅拷贝 UE.I18N 的属性 到 UE.I18N1UE.I18N1 = Object.assign({}, UE.I18N);}UE.I18N = {};// 重新赋值语言UE.I18N[this.config.lang] = UE.I18N1[this.config.lang];

即可

当然最优的方式是使用 ueditor的 utils.loadFile 不过等他加载完毕,又给合到了UE.I18N里面,到时候切换多语言还有问题

总结

以上是生活随笔为你收集整理的ueditor 动态设置多语言的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。