Magic Translate vs. i18next
i18next، مع روابط React react-i18next، هي مكتبة i18n مفتوحة المصدر الأكثر شيوعًا لجافا سكريبت. تم بناؤه حول مفاتيح الترجمة وملفات اللغة. Magic Translate يترجم النص في مكوناتك مباشرة، بدون مفاتيح أو ملفات. تشرح هذه الصفحة الفرق حتى تتمكن من اختيار الأداة المناسبة لتطبيقك.
في لمحة
| Magic Translate | i18next | |
|---|---|---|
| كيف تكتب النص | كلماتك الخاصة، ملفوفة في <T> | مفتاح لكل نص، مثل t('cart.title') |
| الترجمات | ترجمة آلية، تم إنشاؤها تلقائيًا | تقوم أنت أو المترجمون بكتابتها |
| ملفات اللغة | لا شيء | ملف واحد لكل لغة ومساحة الاسم |
| لغات جديدة | قم بتغيير إعداد language | ترجم كل مفتاح إلى اللغة الجديدة |
| عرض الخادم | مكونات خادم React وNext.js | نعم، مع إعداد إضافي |
| صيغ الجمع والتنسيق | تمت ترجمته كجزء من الجملة | مدمج، مع قواعد الجمع لكل لغة |
| السعر | خطة مجانية، ثم خطط شهرية تعتمد على الاستخدام | مفتوح المصدر ومجاني |
كيف تختلف الشفرة
باستخدام react-i18next، يمكنك الاحتفاظ بملف لغة لكل لغة والرجوع إلى النصوص حسب المفتاح:
// locales/en/translation.json{ "cart": { "title": "Your shopping cart" } }// Cart.tsximport { useTranslation } from 'react-i18next';const Cart = () => {const { t } = useTranslation();return <h2>{t('cart.title')}</h2>;};
باستخدام Magic Translate، يظل النص في المكون:
import { T } from '@magic-translate/react';const Cart = () => (<h2><T>Your shopping cart</T></h2>);
متى تختار Magic Translate
- تريد تطبيقك بالعديد من اللغات دون إدارة ملفات اللغة.
- ليس لديك مترجمين، أو لا تريد انتظارهم قبل إصدار إصدار جديد.
- تتغير نصوصك كثيرًا، وتريد أن تظل كل لغة محدثة.
- أنت تستخدم مكونات خادم React أو Next.js وتريد ترجمة HTML بالكامل لمحركات البحث.
متى تختار i18next
- يجب ترجمة كل نص أو مراجعته من قبل شخص.
- تحتاج إلى التحكم الدقيق في صيغ الجمع والتواريخ والأرقام في كل لغة.
- تريد مكتبة مجانية مفتوحة المصدر بدون خدمة خارجية.
الانتقال من i18next إلى Magic Translate
يمكنك تبديل مكون واحد في كل مرة. استبدل t('key') بالنص الإنجليزي من ملف اللغة الخاص بك، مغلفًا بـ <T>، أو استخدم useT hook لـ props والسمات. يمكن تشغيل المكتبتين جنبًا إلى جنب أثناء الترحيل.
هل أنت مستعد لتجربته؟ اتبع دليل البدء لترجمة المكون الأول في خمس دقائق.