Internacionalizacija
Tiptapify podržava 35+ jezika odmah po instalaciji. Prevodima se upravlja preko vue-i18n.
Podešavanje podrazumevanog jezika
Kreirajte instancu vue-i18n i prosledite je prilikom registracije plugina:
// 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 })Promena jezika u toku rada
Tiptapify koristi vašu instancu vue-i18n — jezik menjate preko 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>Dostupni jezici
Trenutno su podržani sledeći jezici:
| Kod | Jezik |
|---|---|
en | engleski |
ar | arapski |
bg | bugarski |
ch | kineski |
cz | češki |
de | nemački |
el | grčki |
es | španski |
et | estonski |
fi | finski |
fr | francuski |
he | hebrejski |
hi | hindi |
hr | hrvatski |
hu | mađarski |
id | indonežanski |
it | italijanski |
ja | japanski |
ko | korejski |
la | letonski |
lt | litvanski |
nl | holandski |
no | norveški |
pl | poljski |
pt | portugalski |
pt-BR | portugalski (brazilski) |
ro | rumunski |
ru | ruski |
se | švedski |
sk | slovački |
sl | slovenački |
sr | srpski |
th | tajlandski |
tr | turski |
uk | ukrajinski |
vi | vijetnamski |
Prevodi generisani pomoću AI-ja
Većina prevoda je generisana pomoću AI-ja i može sadržati greške. Ako pronađete netačan prevod ili želite da dodate novi jezik, otvorite issue ili kontaktirajte autora.
Dodavanje prilagođenih prevoda
Tiptapify automatski spaja svoje ugrađene poruke za jezike u vašu instancu vue-i18n kada je prosledite plugin-u. Prevode možete proširiti ili izmeniti pre registracije plugina:
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 })Ili ih spojite nakon kreiranja i18n instance:
const i18n = createI18n({
legacy: false,
locale: 'en',
})
i18n.global.mergeLocaleMessage('en', customTranslations)
app.use(i18n)
app.use(TiptapifyPlugin, { i18n })RTL jezici
Za RTL jezike, poput arapskog, uverite se da vaša Vuetify tema podržava RTL:
const vuetify = createVuetify({
locale: {
rtl: true,
},
})Jezik po instanci
Tiptapify koristi jezik vue-i18n vaše aplikacije globalno. Ako vam treba jezik po instanci, koristite scoped slotove ili composition API iz vue-i18n unutar opsega te instance:
<script setup lang="ts">
import { useI18n } from 'vue-i18n'
const { t, locale } = useI18n({ useScope: 'local' })
</script>
<template>
<Tiptapify :placeholder="t('editor.placeholder')" />
</template>