国际化
在预设模式中注册语言包
预设包中已经包含了其对应插件的语言包,只需要从预设中引入即可。
import { UniverSheetsCorePreset } from '@univerjs/preset-sheets-core'
import UniverPresetSheetsCoreZhCN from '@univerjs/preset-sheets-core/locales/zh-CN'
import { createUniver, LocaleType, merge } from '@univerjs/presets'
import '@univerjs/preset-sheets-core/lib/index.css'
const { univerAPI } = createUniver({
locale: LocaleType.ZH_CN,
locales: {
[LocaleType.ZH_CN]: merge(
{},
UniverPresetSheetsCoreZhCN,
),
},
presets: [
UniverSheetsCorePreset(),
],
})
在插件模式中注册语言包
使用插件语言包是一件非常繁琐的事情,你需要从存在语言包的插件中引入对应的语言包,并将它们合并成一个对象传入 Univer
实例。以下是一个示例:
import { LocaleType, merge, 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]: merge(
{},
DesignZhCN,
UIZhCN,
SheetsUIZhCN,
),
},
})
注意事项
并非所有插件都包含了语言包,我们会在每个功能的文档对此进行说明。
自定义语言包
Univer 也支持自定义语言包,你可以根据需要自行组装语言包对象并传入 Univer
实例。可供参考的预设语言包一般存放在 <rootDir>/packages/<PLUGIN_NAME>/locale
目录下。
const univer = new Univer({
locale: 'es-ES',
locales: {
'es-ES': {
shortcut: {
undo: 'Deshacer',
redo: 'Rehacer',
},
},
},
})
贡献语言包
Univer 目前提供了以下内置语言包:
zh-CN
:简体中文en-US
:英文zh-TW
:繁体中文ru-RU
:俄文vi-VN
:越南文fa-IR
:波斯文fr-FR
:法语ko-KR
:韩语
其他的语言尚未支持。我们欢迎来自五湖四海的开发者为 Univer 添加或者改进语言包,如果你有兴趣为 Univer 贡献翻译,请参考 贡献指南。