Internationalization

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:

TypeScript
import { mergeLocales } from '@univerjs/presets'// You can pass multiple language pack objects to mergeconst locales = mergeLocales(  plugin1Locales,  plugin2Locales,  presetLocales,)// You can also pass an array of language pack objectsconst 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.

TypeScript
const univer = new Univer({  locale: 'ja-JP',  locales: {    'ja-JP': {      ui: {        shortcut: {          undo: '元に戻す',          redo: 'やり直す',        },      },    },  },})

Contributing Translations

Univer currently provides the following built-in language packs:

  • zh-CN: Simplified Chinese
  • en-US: English
  • zh-TW: Traditional Chinese
  • zh-HK: Traditional Chinese (Hong Kong)
  • ru-RU: Russian
  • vi-VN: Vietnamese
  • fa-IR: Persian
  • fr-FR: French
  • ja-JP: Japanese
  • ko-KR: Korean
  • es-ES: Spanish
  • ca-ES: Catalan
  • sk-SK: Slovakian
  • ar-SA: Arabic
  • de-DE: German
  • id-ID: Indonesian
  • it-IT: Italian
  • pl-PL: Polish
  • pt-BR: Portuguese (Brazilian)

Univer is an open source project full of inclusiveness, and we welcome developers from all over the world to add or improve locales for Univer.

How is this guide?

© 2026 DreamNum Co., Ltd.