Çok Dillilik
Tiptapify kutudan çıktığı gibi 35'ten fazla dili destekler. Çeviriler vue-i18n ile yönetilir.
Varsayılan Yerel Ayarı Belirleme
Bir vue-i18n örneği oluşturun ve eklentiyi kaydederken ona verin:
// 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 })Yerel Ayarı Çalışma Zamanında Değiştirme
Tiptapify sizin vue-i18n örneğinizi kullanır — yerel ayarı useI18n() ile değiştirin:
<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>Kullanılabilir Yerel Ayarlar
Şu anda aşağıdaki diller desteklenmektedir:
| Code | Dil |
|---|---|
en | İngilizce |
ar | Arapça |
bg | Bulgarca |
ch | Çince |
cz | Çekçe |
de | Almanca |
el | Yunanca |
es | İspanyolca |
et | Estonca |
fi | Fince |
fr | Fransızca |
he | İbranice |
hi | Hintçe |
hr | Hırvatça |
hu | Macarca |
id | Endonezce |
it | İtalyanca |
ja | Japonca |
ko | Korece |
la | Letonca |
lt | Litvanca |
nl | Felemenkçe |
no | Norveççe |
pl | Lehçe |
pt | Portekizce |
pt-BR | Portekizce (Brezilya) |
ro | Rumence |
ru | Rusça |
se | İsveççe |
sk | Slovakça |
sl | Slovence |
sr | Sırpça |
th | Tayca |
tr | Türkçe |
uk | Ukraynaca |
vi | Vietnamca |
Yapay Zekâ ile Üretilmiş Çeviriler
Çevirilerin çoğu yapay zekâ ile üretilmiştir ve hatalar içerebilir. Hatalı bir çeviri bulursanız veya yeni bir dil eklemek isterseniz lütfen bir issue açın ya da proje yöneticisiyle iletişime geçin.
Özel Çeviriler Ekleme
Tiptapify, vue-i18n örneğinizi eklentiye verdiğinizde yerleşik yerel ayar mesajlarını bu örneğe otomatik olarak birleştirir. Eklentiyi kaydetmeden önce çevirileri genişletebilir veya geçersiz kılabilirsiniz:
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 })Veya i18n örneğini oluşturduktan sonra birleştirin:
const i18n = createI18n({
legacy: false,
locale: 'en',
})
i18n.global.mergeLocaleMessage('en', customTranslations)
app.use(i18n)
app.use(TiptapifyPlugin, { i18n })RTL Dilleri
Arapça gibi RTL dilleri için Vuetify temanızın RTL'yi desteklediğinden emin olun:
const vuetify = createVuetify({
locale: {
rtl: true,
},
})Örnek Başına Yerel Ayar
Tiptapify, uygulamanızın vue-i18n yerel ayarını genel olarak kullanır. Örnek başına yerel ayar gerekiyorsa örneğin kapsamında vue-i18n'in kapsamlı slot'larını veya composition API'sini kullanın:
<script setup lang="ts">
import { useI18n } from 'vue-i18n'
const { t, locale } = useI18n({ useScope: 'local' })
</script>
<template>
<Tiptapify :placeholder="t('editor.placeholder')" />
</template>