ข้ามไปยังเนื้อหา

การแปลภาษา ​

Tiptapify รองรับกว่า 35 ภาษาทันทีโดยไม่ต้องตั้งค่าเพิ่ม การแปลจัดการผ่าน vue-i18n

การตั้งค่าภาษาเริ่มต้น ​

สร้างอินสแตนซ์ vue-i18n แล้วส่งให้เมื่อลงทะเบียนปลั๊กอิน:

typescript
// 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 })

การเปลี่ยนภาษาขณะรันไทม์ ​

Tiptapify ใช้อินสแตนซ์ vue-i18n ของคุณ — เปลี่ยนภาษาผ่าน useI18n():

vue
<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>

ภาษาที่มีให้เลือก ​

ขณะนี้รองรับภาษาต่อไปนี้:

รหัสภาษา
enอังกฤษ
arอาหรับ
bgบัลแกเรีย
chจีน
czเช็ก
deเยอรมัน
elกรีก
esสเปน
etเอสโตเนีย
fiฟินแลนด์
frฝรั่งเศส
heฮีบรู
hiฮินดี
hrโครเอเชีย
huฮังการี
idอินโดนีเซีย
itอิตาลี
jaญี่ปุ่น
koเกาหลี
laลัตเวีย
ltลิทัวเนีย
nlดัตช์
noนอร์เวย์
plโปแลนด์
ptโปรตุเกส
pt-BRโปรตุเกส (บราซิล)
roโรมาเนีย
ruรัสเซีย
seสวีเดน
skสโลวัก
slสโลวีเนีย
srเซอร์เบีย
thไทย
trตุรกี
ukยูเครน
viเวียดนาม

คำแปลที่สร้างโดย AI

คำแปลส่วนใหญ่สร้างโดย AI และอาจมีข้อผิดพลาด หากพบคำแปลที่ไม่ถูกต้องหรือต้องการเพิ่มภาษาใหม่ โปรดเปิด issue หรือติดต่อผู้ดูแล

การเพิ่มคำแปลแบบกำหนดเอง ​

Tiptapify จะรวมข้อความภาษาในตัวเข้ากับอินสแตนซ์ vue-i18n ของคุณโดยอัตโนมัติเมื่อคุณส่งให้ปลั๊กอิน คุณสามารถขยายหรือแทนที่คำแปลได้ก่อนลงทะเบียนปลั๊กอิน:

typescript
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 })

หรือรวมหลังจากสร้างอินสแตนซ์ i18n แล้ว:

typescript
const i18n = createI18n({
  legacy: false,
  locale: 'en',
})

i18n.global.mergeLocaleMessage('en', customTranslations)

app.use(i18n)
app.use(TiptapifyPlugin, { i18n })

ภาษา RTL ​

สำหรับภาษา RTL เช่นภาษาอาหรับ ตรวจสอบให้แน่ใจว่าธีม Vuetify ของคุณรองรับ RTL:

typescript
const vuetify = createVuetify({
  locale: {
    rtl: true,
  },
})

ภาษาตามอินสแตนซ์ ​

Tiptapify ใช้ภาษาของ vue-i18n ในแอปของคุณแบบส่วนกลาง หากต้องการกำหนดภาษาแยกตามอินสแตนซ์ ให้ใช้ scoped slots หรือ composition API ของ vue-i18n ภายในขอบเขตของอินสแตนซ์นั้น:

vue
<script setup lang="ts">
import { useI18n } from 'vue-i18n'

const { t, locale } = useI18n({ useScope: 'local' })
</script>

<template>
  <Tiptapify :placeholder="t('editor.placeholder')" />
</template>

เผยแพร่ภายใต้สัญญาอนุญาต MIT