Zum Inhalt springen

Internationalisierung ​

Tiptapify unterstützt von Haus aus 35+ Sprachen. Übersetzungen werden über vue-i18n verwaltet.

Die Standard-Locale festlegen ​

Erstelle eine vue-i18n-Instanz und übergib sie beim Registrieren des Plugins:

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 })

Die Locale zur Laufzeit ändern ​

Tiptapify verwendet deine vue-i18n-Instanz — ändere die Locale über 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>

Verfügbare Locales ​

Aktuell werden die folgenden Sprachen unterstützt:

CodeSprache
enEnglisch
arArabisch
bgBulgarisch
chChinesisch
czTschechisch
deDeutsch
elGriechisch
esSpanisch
etEstnisch
fiFinnisch
frFranzösisch
heHebräisch
hiHindi
hrKroatisch
huUngarisch
idIndonesisch
itItalienisch
jaJapanisch
koKoreanisch
laLettisch
ltLitauisch
nlNiederländisch
noNorwegisch
plPolnisch
ptPortugiesisch
pt-BRPortugiesisch (Brasilien)
roRumänisch
ruRussisch
seSchwedisch
skSlowakisch
slSlowenisch
srSerbisch
thThailändisch
trTürkisch
ukUkrainisch
viVietnamesisch

KI-generierte Übersetzungen

Die meisten Übersetzungen sind KI-generiert und können Fehler enthalten. Wenn du eine falsche Übersetzung findest oder eine neue Sprache hinzufügen möchtest, öffne bitte ein Issue oder kontaktiere den Maintainer.

Eigene Übersetzungen hinzufügen ​

Tiptapify mergt seine eingebauten Locale-Nachrichten automatisch in deine vue-i18n-Instanz, wenn du sie an das Plugin übergibst. Du kannst Übersetzungen erweitern oder überschreiben, bevor du das Plugin registrierst:

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 })

Oder nach dem Erstellen der i18n-Instanz mergen:

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

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

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

RTL-Sprachen ​

Stelle bei RTL-Sprachen wie Arabisch sicher, dass dein Vuetify-Theme RTL unterstützt:

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

Locale pro Instanz ​

Tiptapify verwendet die vue-i18n-Locale deiner App global. Brauchst du Locales pro Instanz, nutze die Scoped Slots oder die Composition API von vue-i18n im Geltungsbereich der Instanz:

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

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

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

Veröffentlicht unter der MIT-Lizenz.