Sari la conținut

Internaționalizare ​

Tiptapify acceptă peste 35 de limbi din start. Traducerile sunt gestionate prin vue-i18n.

Setarea limbii implicite ​

Creează o instanță vue-i18n și transmite-o la înregistrarea pluginului:

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

Schimbarea limbii în timpul execuției ​

Tiptapify folosește instanța ta vue-i18n — schimbă limba prin 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>

Limbi disponibile ​

Sunt acceptate în prezent următoarele limbi:

CodLimbă
enEngleză
arArabă
bgBulgară
chChineză
czCehă
deGermană
elGreacă
esSpaniolă
etEstonă
fiFinlandeză
frFranceză
heEbraică
hiHindi
hrCroată
huMaghiară
idIndoneziană
itItaliană
jaJaponeză
koCoreeană
laLetonă
ltLituaniană
nlNeerlandeză
noNorvegiană
plPoloneză
ptPortugheză
pt-BRPortugheză (Brazilia)
roRomână
ruRusă
seSuedeză
skSlovacă
slSlovenă
srSârbă
thThailandeză
trTurcă
ukUcraineană
viVietnameză

Traduceri generate cu AI

Majoritatea traducerilor sunt generate cu AI și pot conține greșeli. Dacă găsești o traducere incorectă sau vrei să adaugi o limbă nouă, te rugăm să deschizi un issue sau să contactezi mentenanța proiectului.

Adăugarea de traduceri personalizate ​

Tiptapify îmbină automat mesajele sale de localizare încorporate în instanța ta vue-i18n atunci când o transmiți pluginului. Poți extinde sau suprascrie traducerile înainte de a înregistra pluginul:

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

Sau le poți îmbina după crearea instanței i18n:

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

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

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

Limbi RTL ​

Pentru limbile RTL, precum araba, asigură-te că tema ta Vuetify acceptă RTL:

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

Limbă per instanță ​

Tiptapify folosește la nivel global limba vue-i18n a aplicației tale. Dacă ai nevoie de limbi per instanță, folosește sloturile cu domeniu limitat (scoped) din vue-i18n sau API-ul de compoziție în domeniul instanței:

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

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

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

Publicat sub licența MIT.