更改 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 访问(或将特定文件仅复制到公共文件夹)时非常有用。

使用社区语言包

要使用社区语言包更改用户界面语言:

  1. 从 Tiny 社区语言包下载页面下载语言包。

  2. 在您的 TinyMCE 配置中将 language 选项设置为与语言包文件名匹配的语言代码。例如:如果语言包文件名为 sv_SE.js,则设置 language: 'sv_SE',

  3. 通过加载 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。这将确保编辑器可以使用所有必需的语言,并且插件不会检索额外的语言包。

您可以在此处查找并下载语言包。