Skip to content

Internationalization

See the Internationalization Guide for full details.

Quick Example

Switch the editor language at runtime:

vue
<script setup lang="ts">
import { useI18n } from 'vue-i18n'

const { locale } = useI18n()

const languages = [
  { code: 'en', name: 'English' },
  { code: 'de', name: 'Deutsch' },
  { code: 'fr', name: 'Français' },
  { code: 'es', name: 'Español' },
]
</script>

<template>
  <div>
    <v-select
      v-model="locale"
      :items="languages"
      item-title="name"
      item-value="code"
      label="Language"
    />

    <Tiptapify />
  </div>
</template>

Available Locales

CodeLanguageCodeLanguage
enEnglishlaLatin
arArabicltLithuanian
chChinesenlDutch
czCzechplPolish
deGermanptPortuguese
esSpanishruRussian
fiFinnishseSwedish
frFrenchthThai
huHungariantrTurkish
itItalianukUkrainian
jaJapaneseviVietnamese
koKorean

Multiple Editors with Different Locales

Use vue-i18n's scoped locales for per-instance languages:

vue
<script setup lang="ts">
import { useI18n } from 'vue-i18n'

const en = useI18n({ useScope: 'local', locale: 'en' })
const de = useI18n({ useScope: 'local', locale: 'de' })
</script>

<template>
  <v-row>
    <v-col>
      <h3>English</h3>
      <Tiptapify />
    </v-col>
    <v-col>
      <h3>German</h3>
      <Tiptapify />
    </v-col>
  </v-row>
</template>

Released under the MIT License.