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:
// 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():
<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:
| Cod | Limbă |
|---|---|
en | Engleză |
ar | Arabă |
bg | Bulgară |
ch | Chineză |
cz | Cehă |
de | Germană |
el | Greacă |
es | Spaniolă |
et | Estonă |
fi | Finlandeză |
fr | Franceză |
he | Ebraică |
hi | Hindi |
hr | Croată |
hu | Maghiară |
id | Indoneziană |
it | Italiană |
ja | Japoneză |
ko | Coreeană |
la | Letonă |
lt | Lituaniană |
nl | Neerlandeză |
no | Norvegiană |
pl | Poloneză |
pt | Portugheză |
pt-BR | Portugheză (Brazilia) |
ro | Română |
ru | Rusă |
se | Suedeză |
sk | Slovacă |
sl | Slovenă |
sr | Sârbă |
th | Thailandeză |
tr | Turcă |
uk | Ucraineană |
vi | Vietnameză |
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:
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:
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:
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:
<script setup lang="ts">
import { useI18n } from 'vue-i18n'
const { t, locale } = useI18n({ useScope: 'local' })
</script>
<template>
<Tiptapify :placeholder="t('editor.placeholder')" />
</template>