Naar inhoud springen

Internationalisatie ​

Tiptapify ondersteunt standaard 35+ talen. Vertalingen worden beheerd via vue-i18n.

De standaardtaal instellen ​

Maak een vue-i18n-instantie en geef die mee bij het registreren van de plugin:

typescript
// main.ts
import { createI18n } from 'vue-i18n'
import TiptapifyPlugin from 'tiptapify'
import 'tiptapify/style.css'

const i18n = createI18n({
  legacy: false,
  locale: 'en',
})

app.use(i18n)
app.use(TiptapifyPlugin, { i18n })

De taal tijdens runtime wijzigen ​

Tiptapify gebruikt je vue-i18n-instantie — wijzig de taal via useI18n():

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

const { locale } = useI18n()

const languages = [
  { code: 'en', label: 'English' },
  { code: 'de', label: 'Deutsch' },
  { code: 'fr', label: 'Français' },
  { code: 'es', label: 'Español' },
  { code: 'ru', label: 'Русский' },
]
</script>

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

    <Tiptapify placeholder="Start writing..." />
  </div>
</template>

Beschikbare talen ​

De volgende talen worden momenteel ondersteund:

CodeTaal
enEngels
arArabisch
bgBulgaars
chChinees
czTsjechisch
deDuits
elGrieks
esSpaans
etEstisch
fiFins
frFrans
heHebreeuws
hiHindi
hrKroatisch
huHongaars
idIndonesisch
itItaliaans
jaJapans
koKoreaans
laLets
ltLitouws
nlNederlands
noNoors
plPools
ptPortugees
pt-BRPortugees (Braziliaans)
roRoemeens
ruRussisch
seZweeds
skSlowaaks
slSloveens
srServisch
thThais
trTurks
ukOekraïens
viVietnamees

Door AI gegenereerde vertalingen

De meeste vertalingen zijn door AI gegenereerd en kunnen fouten bevatten. Vind je een onjuiste vertaling of wil je een nieuwe taal toevoegen, open dan een issue of neem contact op met de maintainer.

Eigen vertalingen toevoegen ​

Tiptapify voegt zijn ingebouwde taalberichten automatisch samen met je vue-i18n-instantie wanneer je die aan de plugin meegeeft. Je kunt vertalingen uitbreiden of overschrijven voordat je de plugin registreert:

typescript
import { createI18n } from 'vue-i18n'
import TiptapifyPlugin from 'tiptapify'
import 'tiptapify/style.css'

const i18n = createI18n({
  legacy: false,
  locale: 'en',
  messages: {
    // Custom translations take precedence over Tiptapify's built-in ones
    en: {
      toolbar: {
        bold: 'Make bold',
        italic: 'Make italic',
      },
    },
  },
})

app.use(i18n)
app.use(TiptapifyPlugin, { i18n })

Of voeg ze samen nadat de i18n-instantie is gemaakt:

typescript
const i18n = createI18n({
  legacy: false,
  locale: 'en',
})

i18n.global.mergeLocaleMessage('en', customTranslations)

app.use(i18n)
app.use(TiptapifyPlugin, { i18n })

RTL-talen ​

Zorg er voor RTL-talen zoals Arabisch voor dat je Vuetify-thema RTL ondersteunt:

typescript
const vuetify = createVuetify({
  locale: {
    rtl: true,
  },
})

Taal per instantie ​

Tiptapify gebruikt de vue-i18n-taal van je app globaal. Heb je een taal per instantie nodig, gebruik dan de scoped slots of de composition API van vue-i18n binnen het bereik van de instantie:

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

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

<template>
  <Tiptapify :placeholder="t('editor.placeholder')" />
</template>

Uitgebracht onder de MIT-licentie.