التخطي إلى المحتوى

التدويل ​

يدعم 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الفيتنامية

ترجمات مولّدة بالذكاء الاصطناعي

معظم الترجمات مولّدة بالذكاء الاصطناعي وقد تحتوي على أخطاء. إذا وجدت ترجمة غير صحيحة أو أردت إضافة لغة جديدة، فيُرجى فتح مشكلة (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.