Tarptautiškumas
Tiptapify iš dėžės palaiko 35+ kalbų. Vertimai valdomi per vue-i18n.
Numatytosios lokalės nustatymas
Sukurkite vue-i18n egzempliorių ir perduokite jį registruodami įskiepį:
// 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 })Lokalės keitimas vykdymo metu
Tiptapify naudoja jūsų vue-i18n egzempliorių – lokalę keiskite per 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>Galimos lokalės
Šiuo metu palaikomos šios kalbos:
| Kodas | Kalba |
|---|---|
en | anglų |
ar | arabų |
bg | bulgarų |
ch | kinų |
cz | čekų |
de | vokiečių |
el | graikų |
es | ispanų |
et | estų |
fi | suomių |
fr | prancūzų |
he | hebrajų |
hi | hindi |
hr | kroatų |
hu | vengrų |
id | indoneziečių |
it | italų |
ja | japonų |
ko | korėjiečių |
la | latvių |
lt | lietuvių |
nl | olandų |
no | norvegų |
pl | lenkų |
pt | portugalų |
pt-BR | portugalų (Brazilijos) |
ro | rumunų |
ru | rusų |
se | švedų |
sk | slovakų |
sl | slovėnų |
sr | serbų |
th | tajų |
tr | turkų |
uk | ukrainiečių |
vi | vietnamiečių |
DI sugeneruoti vertimai
Dauguma vertimų sugeneruoti DI ir gali turėti klaidų. Jei radote neteisingą vertimą arba norite pridėti naują kalbą, sukurkite problemos pranešimą arba susisiekite su prižiūrėtoju.
Pasirinktinių vertimų pridėjimas
Kai perduodate savo vue-i18n egzempliorių įskiepiui, Tiptapify automatiškai sulieja savo įtaisytus lokalės pranešimus į jį. Vertimus galite išplėsti arba perrašyti prieš registruodami įskiepį:
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 })Arba sulieti sukūrus i18n egzempliorių:
const i18n = createI18n({
legacy: false,
locale: 'en',
})
i18n.global.mergeLocaleMessage('en', customTranslations)
app.use(i18n)
app.use(TiptapifyPlugin, { i18n })RTL kalbos
RTL kalboms, pavyzdžiui, arabų, įsitikinkite, kad jūsų Vuetify tema palaiko RTL:
const vuetify = createVuetify({
locale: {
rtl: true,
},
})Lokalė kiekvienam egzemplioriui
Tiptapify naudoja jūsų programos vue-i18n lokalę globaliai. Jei reikia atskirų lokalių kiekvienam egzemplioriui, naudokite vue-i18n ribotos srities lizdus (scoped slots) arba composition API egzemplioriaus srityje:
<script setup lang="ts">
import { useI18n } from 'vue-i18n'
const { t, locale } = useI18n({ useScope: 'local' })
</script>
<template>
<Tiptapify :placeholder="t('editor.placeholder')" />
</template>