Internacionalizace
Tiptapify podporuje více než 35 jazyků hned po instalaci. Překlady se spravují přes vue-i18n.
Nastavení výchozího jazyka
Vytvořte instanci vue-i18n a předejte ji při registraci pluginu:
// 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 })Změna jazyka za běhu
Tiptapify používá vaši instanci vue-i18n — jazyk změníte přes 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>Dostupné jazyky
Aktuálně jsou podporovány tyto jazyky:
| Kód | Jazyk |
|---|---|
en | angličtina |
ar | arabština |
bg | bulharština |
ch | čínština |
cz | čeština |
de | němčina |
el | řečtina |
es | španělština |
et | estonština |
fi | finština |
fr | francouzština |
he | hebrejština |
hi | hindština |
hr | chorvatština |
hu | maďarština |
id | indonéština |
it | italština |
ja | japonština |
ko | korejština |
la | lotyština |
lt | litevština |
nl | nizozemština |
no | norština |
pl | polština |
pt | portugalština |
pt-BR | portugalština (brazilská) |
ro | rumunština |
ru | ruština |
se | švédština |
sk | slovenština |
sl | slovinština |
sr | srbština |
th | thajština |
tr | turečtina |
uk | ukrajinština |
vi | vietnamština |
Překlady vytvořené pomocí AI
Většina překladů byla vytvořena pomocí AI a může obsahovat chyby. Pokud najdete nesprávný překlad nebo chcete přidat nový jazyk, otevřete issue nebo kontaktujte správce.
Přidání vlastních překladů
Tiptapify při předání instance pluginu automaticky sloučí své vestavěné jazykové zprávy do vaší instance vue-i18n. Překlady můžete rozšířit nebo přepsat před registrací pluginu:
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 })Nebo je sloučit po vytvoření instance i18n:
const i18n = createI18n({
legacy: false,
locale: 'en',
})
i18n.global.mergeLocaleMessage('en', customTranslations)
app.use(i18n)
app.use(TiptapifyPlugin, { i18n })Jazyky psané zprava doleva (RTL)
U jazyků psaných zprava doleva, například arabštiny, zajistěte, aby váš motiv Vuetify podporoval RTL:
const vuetify = createVuetify({
locale: {
rtl: true,
},
})Jazyk pro jednotlivou instanci
Tiptapify používá jazyk vue-i18n vaší aplikace globálně. Potřebujete-li jazyk pro jednotlivé instance, použijte scoped sloty vue-i18n nebo composition API v rozsahu dané instance:
<script setup lang="ts">
import { useI18n } from 'vue-i18n'
const { t, locale } = useI18n({ useScope: 'local' })
</script>
<template>
<Tiptapify :placeholder="t('editor.placeholder')" />
</template>