国际化
在预设模式中注册语言包
预设包中已经包含了其对应插件的语言包,只需要从预设中引入即可。
TypeScript
import { UniverSheetsCorePreset } from '@univerjs/preset-sheets-core'import UniverPresetSheetsCoreZhCN from '@univerjs/preset-sheets-core/locales/zh-CN'import { createUniver, LocaleType, mergeLocales } from '@univerjs/presets'const { univerAPI } = createUniver({ locale: LocaleType.ZH_CN, locales: { [LocaleType.ZH_CN]: mergeLocales( UniverPresetSheetsCoreZhCN, ), }, presets: [ UniverSheetsCorePreset(), ],})在插件模式中注册语言包
使用插件语言包是一件非常繁琐的事情,你需要从存在语言包的插件中引入对应的语言包,并将它们合并成一个对象传入 Univer 实例。以下是一个示例:
TypeScript
import { LocaleType, mergeLocales, Univer } from '@univerjs/core'import DesignZhCN from '@univerjs/design/locale/zh-CN'import SheetsUIZhCN from '@univerjs/sheets-ui/locale/zh-CN'import UIZhCN from '@univerjs/ui/locale/zh-CN'const univer = new Univer({ locale: LocaleType.ZH_CN, locales: { [LocaleType.ZH_CN]: mergeLocales( DesignZhCN, UIZhCN, SheetsUIZhCN, ), },})注意事项
并非所有插件都包含了语言包,我们会在每个功能的文档对此进行说明。
mergeLocales 方法
mergeLocales 方法用于将多个插件或预设的语言包合并为一个完整的语言包对象,你可以通过以下方式使用它:
TypeScript
import { mergeLocales } from '@univerjs/presets'// 你可以传入多个语言包对象进行合并const locales = mergeLocales( plugin1Locales, plugin2Locales, presetLocales,)// 也可以传入一个语言包对象数组const locales = mergeLocales([ plugin1Locales, plugin2Locales, presetLocales,])TypeScript
import { mergeLocales } from '@univerjs/core'// 你可以传入多个语言包对象进行合并const locales = mergeLocales( plugin1Locales, plugin2Locales, presetLocales,)// 也可以传入一个语言包对象数组const locales = mergeLocales([ plugin1Locales, plugin2Locales, presetLocales,])自定义语言包
Univer 也支持自定义语言包,你可以根据需要自行组装语言包对象并传入 Univer 实例。可供参考的预设语言包一般存放在 <rootDir>/packages/<PLUGIN_NAME>/locale 目录下。
TypeScript
const univer = new Univer({ locale: 'ja-JP', locales: { 'ja-JP': { ui: { shortcut: { undo: '元に戻す', redo: 'やり直す', }, }, }, },})贡献语言包
Univer 目前提供了以下内置语言包:
zh-CN:简体中文en-US:英文zh-TW:繁体中文zh-HK:繁体中文(香港)ru-RU:俄文vi-VN:越南文fa-IR:波斯文fr-FR:法文ja-JP:日文ko-KR:韩文es-ES:西班牙文ca-ES:加泰罗尼亚文sk-SK:斯洛伐克文ar-SA:阿拉伯文de-DE:德文id-ID:印尼文it-IT:意大利文pl-PL:波兰文pt-BR:葡萄牙文(巴西)
其他的语言尚未支持。我们欢迎来自五湖四海的开发者为 Univer 添加或者改进语言包。
你觉得这篇文档如何?