更改 TinyMCE 用户界面的语言有两个选项:language 和 language_url。
当语言包位于默认位置时(对于 Tiny Cloud 部署、ZIP 捆绑包,或使用带有捆绑或文件分层的 NPM 包时),请使用
language选项。使用
language_url选项指定语言包的自定义路径,这对于社区翻译、自定义语言包或使用不带捆绑的 NPM 包时很有用。使用language_url时,还需要language选项。
language
此选项指定用于 TinyMCE 用户界面的语言,例如菜单项、对话框和工具提示。默认情况下,TinyMCE 用户界面设置为美式英语。
在更改 language 选项之前,请确保语言包对 TinyMCE 实例可用。Tiny 提供两种语言包集合:
高级语言包 — 在 Tiny Cloud 上提供的经过专业本地化的语言包,并捆绑在高级自托管捆绑包中。
社区语言包 — 由 TinyMCE 用户通过 Crowdin 提供的本地化版本。社区语言包可以从Tiny 社区语言包下载页面下载。
有关以下方面的信息:
使用高级语言包,请参阅:使用高级语言包。
使用社区语言包,请参阅:使用社区语言包。
类型:String
默认值:'en'
示例:使用 language
在本例中,我们将使用 RFC5646 格式将编辑器语言设置为瑞典语:
tinymce.init({
selector: 'textarea', // change this value according to your HTML
language: 'sv-SE'
});使用高级语言包
以下经过专业本地化的语言包提供给付费的 Tiny Cloud 和高级自托管部署。要使用这些语言包,请将 language 选项设置为 RFC5646 格式的相应语言代码。
对于 Tiny Cloud 和基于 ZIP 的部署,不需要额外的配置。使用 tinymce-premium NPM 包时,请参阅从 tinymce-premium 提供高级语言包以获取配置选项。
下表列出了可用的高级语言包:
支持的语言
从 TinyMCE 8 开始,语言代码使用 RFC5646 格式,以连字符 (-) 代替下划线 (_)。为了向后兼容,TinyMCE 8 支持两种格式,但下划线格式会在控制台中显示警告。
示例:“TinyMCE 语言代码 ‘en_US’ 已弃用,请改用 ‘en-US’。”。
| 语言 | 代码 |
|---|---|
阿拉伯语 | ar |
巴斯克语 | eu |
保加利亚语(保加利亚) | bg-BG |
加泰罗尼亚语 | ca |
中文(中国) | zh-CN |
中文(台湾) | zh-TW |
克罗地亚语 | hr |
捷克语 | cs |
丹麦语 | da |
荷兰语 | nl |
芬兰语 | fi |
法语(法国) | fr-FR |
德语 | de |
希腊语 | el |
希伯来语(以色列) | he-IL |
印地语 | hi |
匈牙利语(匈牙利) | hu-HU |
印度尼西亚语 | id |
意大利语 | it |
日语 | ja |
哈萨克语 | kk |
韩语(韩国) | ko-KR |
马来语 | ms |
挪威博克马尔语(挪威) | nb-NO |
波斯语 | fa |
波兰语 | pl |
葡萄牙语(巴西) | pt-BR |
葡萄牙语(葡萄牙) | pt-PT |
罗马尼亚语 | ro |
俄语 | ru |
斯洛伐克语 | sk |
斯洛文尼亚语(斯洛文尼亚) | sl-SI |
西班牙语 | es |
瑞典语(瑞典) | sv-SE |
泰语(泰国) | th-TH |
土耳其语 | tr |
乌克兰语 | uk |
越南语 | vi |
从 tinymce-premium 提供高级语言包 (NPM)
tinymce-premium NPM 包在 tinymce-premium/langs/ 中附带所有付费翻译。请根据 TinyMCE 的部署方式选择以下模式之一:
捆绑(推荐用于现代构建工具)
导入所需的语言文件,以便模块捆绑器将其添加到应用程序捆绑包中。例如:
import 'tinymce/langs/en_GB'; import 'tinymce-premium/langs/fi'; // ... other TinyMCE imports
捆绑后,设置
language: 'fi'(或任何导入的区域设置),无需额外的 HTTP 请求。
使用文件分层的非捆绑模式
当直接从
node_modules托管时,在构建或部署步骤中(例如,在postinstall脚本中),将node_modules/tinymce-premium/langs/复制到node_modules/tinymce/langs/。复制后,高级语言包与核心文件位于同一目录下,因此无需额外配置即可设置
language。
使用 language_url 不进行捆绑
将高级语言包保留在
node_modules/tinymce-premium/langs/中,并配置language_url以指向所需文件。这种方法避免了文件移动,当
node_modules目录可通过 Web 访问(或将特定文件仅复制到公共文件夹)时非常有用。
使用社区语言包
要使用社区语言包更改用户界面语言:
从 Tiny 社区语言包下载页面下载语言包。
在您的 TinyMCE 配置中将
language选项设置为与语言包文件名匹配的语言代码。例如:如果语言包文件名为sv_SE.js,则设置language: 'sv_SE',通过加载 TinyMCE 确认语言设置成功。
在 TinyMCE 配置中设置的语言代码必须与语言文件的文件名匹配。如果找不到语言文件,TinyMCE 将不会加载。
如果所需的语言不可用,您可能需要自行翻译 TinyMCE。若要贡献翻译 TinyMCE,请访问我们的 Crowdin 翻译页面 并注册。然后请求加入现有团队,或者如果您的语言未列出,则创建一个新团队。
language_url
使用 language 选项设置用户界面语言时,可以将语言包放在默认目录以外的其他目录中。但是,如果您这样做,必须在配置中添加 language_url 选项,并将该选项设置为指向语言文件位置的路径。
我们建议路径 URL 相对于 Web 应用程序的根目录。也就是说,以绝对路径引用字符 / 开头。为安全解析语言包路径,请避免依赖应用程序上下文。
理解
language_url和language的组合使用:使用
language_url时,还必须指定language选项:
language_url- 告诉 TinyMCE 哪里可以找到语言包文件。
language- 告诉 TinyMCE 哪个语言包要从加载的文件中使用。示例:
tinymce.init({ selector: 'textarea', language_url: '/path/to/language_pack/fi.js', // 在哪里可以找到它 language: 'fi', // 使用哪个语言包 // ... 其他选项 });
类型: String
示例:使用 language_url
tinymce.init({
selector: 'textarea', // 根据您的 HTML 更改此值
language_url: '/<path_to_language_pack>/fi.js', // 从 Web 应用程序的根目录到语言包的路径 — / —
language: 'fi' // 语言包文件的名称
});您可以在 这里查找并下载语言。
示例:从 tinymce-premium(NPM)加载高级语言
安装 tinymce-premium NPM 包时,每个翻译都存储在 node_modules/tinymce-premium/langs/ 中。配置 language_url 以指向所需文件。
tinymce.init({
selector: 'textarea',
language_url: '/<path_to_tinymce-premium>/langs/pt_BR.js',
language: 'pt-BR'
});
确保应用程序中可以访问语言文件。许多项目在构建步骤中将所需文件复制到静态资源文件夹(例如
/public/langs/pt_BR.js)。将此与
tinymce-premium提供高级语言包中列出的方法结合使用,以匹配部署策略。
language_load
此选项确定是否在 TinyMCE 编辑器初始化期间加载额外的插件或主题语言。默认情况下,支持英语以外语言的插件会自动加载额外的语言包。
类型: boolean
默认值: true
当
language_load选项设置为true时,任何可用的语言包都可以由 TinyMCE 和支持多语言的插件加载和使用。当设置为
false时,只有明确配置的语言包才会加载。
除非加载本地语言包,否则不建议将language_load选项设置为false。
示例:使用 language_load
tinymce.init({
selector: 'textarea', // 根据您的 HTML 更改此值
language_load: true, // 禁用额外插件和主题语言文件的自动加载。
});在打包时,对于支持多种语言的插件,建议在本地加载额外的语言包,并将此选项设置为 false。这将确保编辑器可以使用所有必需的语言,并且插件不会检索额外的语言包。您可以在此处查找并下载语言包。