如何在 TinyMCE v4 中动态设置语言文件
How to set language file dynamicly in TinyMCE v4
我尝试以一种从 <html>
属性获取语言的方式设置我的脚本。作为一个运行良好的基本概念,唯一的问题是我有一个自定义的本地化文件所在的位置。
如何为 en_US
设置参数 language_url
。我尝试了一个空字符串 ''
以及值 false
但没有成功。我收到错误:
Failed to load plugin url: https://localhost/js/tinymce/langs/en_US.js
那是因为没有en_US
的语言文件。
var lang = $('html').attr('lang');
tinymce.init({
selector: 'textarea',
language_url: (lang === 'en' ? '' : '/js/tinymce/langs/de.js'),
language: (lang === 'en' ? 'en_US' : 'de')
});
language_url
没有默认值吗?
对此有两条评论...
如果您将语言文件放在 TinyMCE 的 langs 文件夹中,您根本不需要使用 language_url
配置选项。仅当您想将文件存储在不同位置时才需要这样做。您上面的示例似乎暗示您将语言文件放在 TinyMCE 发行版的 langs
文件夹中,如果是这种情况,您根本不需要该设置。
如果您确实需要该设置(但只是有时),您可以使用 JavaScript 来实现...
您首先在页面上创建一个 "default" 初始化对象作为 JavaScript 变量,然后稍后引用它。例如:
var default_init = {
theme: "modern",
plugins....,
toolbar....
}
...那么当你想调用一个 TinyMCE 实例时,你可以使用该基础对象来创建你的 init:
var lang = $('html').attr('lang');
if (lang !== 'en') {
default_init.language_url = '/js/tinymce/langs/' + lang + '.js';
}
tinymce.init(default_init);
我尝试以一种从 <html>
属性获取语言的方式设置我的脚本。作为一个运行良好的基本概念,唯一的问题是我有一个自定义的本地化文件所在的位置。
如何为 en_US
设置参数 language_url
。我尝试了一个空字符串 ''
以及值 false
但没有成功。我收到错误:
Failed to load plugin url: https://localhost/js/tinymce/langs/en_US.js
那是因为没有en_US
的语言文件。
var lang = $('html').attr('lang');
tinymce.init({
selector: 'textarea',
language_url: (lang === 'en' ? '' : '/js/tinymce/langs/de.js'),
language: (lang === 'en' ? 'en_US' : 'de')
});
language_url
没有默认值吗?
对此有两条评论...
如果您将语言文件放在 TinyMCE 的 langs 文件夹中,您根本不需要使用 language_url
配置选项。仅当您想将文件存储在不同位置时才需要这样做。您上面的示例似乎暗示您将语言文件放在 TinyMCE 发行版的 langs
文件夹中,如果是这种情况,您根本不需要该设置。
如果您确实需要该设置(但只是有时),您可以使用 JavaScript 来实现...
您首先在页面上创建一个 "default" 初始化对象作为 JavaScript 变量,然后稍后引用它。例如:
var default_init = {
theme: "modern",
plugins....,
toolbar....
}
...那么当你想调用一个 TinyMCE 实例时,你可以使用该基础对象来创建你的 init:
var lang = $('html').attr('lang');
if (lang !== 'en') {
default_init.language_url = '/js/tinymce/langs/' + lang + '.js';
}
tinymce.init(default_init);