Internationalization
Registering Language Packs in Preset Mode
Preset packages already include the corresponding plugin language packs, you just need to import them from the preset.
import { UniverDocsCorePreset } from '@univerjs/preset-docs-core'
import UniverPresetDocsCoreEnUS from '@univerjs/preset-docs-core/locales/en-US'
import { createUniver, LocaleType, mergeLocales } from '@univerjs/presets'
const { univerAPI } = createUniver({
locale: LocaleType.EN_US,
locales: {
[LocaleType.EN_US]: mergeLocales(
UniverPresetDocsCoreEnUS,
),
},
presets: [
UniverDocsCorePreset(),
],
})
Registering Language Packs in Plugin Mode
To register language packs in plugin mode, you need to import the corresponding language packs from the plugins that provide them and merge them into a single object to pass to the Univer
instance. Here is an example:
import { LocaleType, mergeLocales, Univer } from '@univerjs/core'
import DesignEnUS from '@univerjs/design/locale/en-US'
import DocsUIEnUS from '@univerjs/docs-ui/locale/en-US'
import UIEnUS from '@univerjs/ui/locale/en-US'
const univer = new Univer({
locale: LocaleType.EN_US,
locales: {
[LocaleType.EN_US]: mergeLocales(
DesignEnUS,
UIEnUS,
DocsUIEnUS,
),
},
})
Caution
Not all plugins include language packs. We will specify this in the documentation for each feature.
mergeLocales
Method
mergeLocales
Method is used to merge multiple plugin or preset language packs into a complete language pack object. You can use it as follows:
import { mergeLocales } from '@univerjs/presets'
// You can pass multiple language pack objects to merge
const locales = mergeLocales(
plugin1Locales,
plugin2Locales,
presetLocales,
)
// You can also pass an array of language pack objects
const locales = mergeLocales([
plugin1Locales,
plugin2Locales,
presetLocales,
])
import { mergeLocales } from '@univerjs/core'
// You can pass multiple language pack objects to merge
const locales = mergeLocales(
plugin1Locales,
plugin2Locales,
presetLocales,
)
// You can also pass an array of language pack objects
const locales = mergeLocales([
plugin1Locales,
plugin2Locales,
presetLocales,
])
Custom Language Packs
Univer also supports custom language packs. You can assemble a language pack object as needed and pass it to the Univer
instance. The preset language packs are generally stored in the <rootDir>/packages/<PLUGIN_NAME>/locale
directory.
const univer = new Univer({
locale: 'ja-JP',
locales: {
'ja-JP': {
shortcut: {
undo: 'ๅ
ใซๆปใ',
redo: 'ใใ็ดใ',
},
},
},
})
Contributing Translations
Univer currently provides the following built-in language packs:
zh-CN
: Simplified Chineseen-US
: Englishzh-TW
: Traditional Chineseru-RU
: Russianvi-VN
: Vietnamesefa-IR
: Persianfr-FR
: Frenchko-KR
: Koreanes-ES
: Spanishca-ES
: Catalan
Univer OSS is an open source project full of inclusiveness, and we welcome developers from all over the world to add or improve locales for Univer. If you are interested in contributing locales to Univer, please refer to the Contribution Guide.
How is this guide?