التوثيق

Magic Translate vs. react-intl

react-intl هو جزء من FormatJS. يقوم بتنسيق الرسائل والتواريخ والأرقام باستخدام صيغة الرسالة ICU، ويمكنك توفير الترجمات لكل لغة. Magic Translate يترجم النص الموجود في مكوناتك مباشرةً، حتى لا تكتب أي ترجمات أو تحتفظ بها.

في لمحة

Magic Translatereact-intl
كيف تكتب النصكلماتك الخاصة، ملفوفة في <T><FormattedMessage> مع معرف ورسالة افتراضية
الترجماتترجمة آلية، تم إنشاؤها تلقائيًاتقوم باستخراج الرسائل وترجمتها
ملفات الرسائللا شيءملف واحد لكل لغة
التواريخ والأرقاماستخدم واجهات برمجة التطبيقات Intl للمتصفحالمكونات المضمنة وبناء الجملة ICU
عرض الخادممكونات خادم React وNext.jsنعم، مع إعداد إضافي
السعرخطة مجانية، ثم خطط شهرية تعتمد على الاستخداممفتوح المصدر ومجاني

كيف تختلف الشفرة

باستخدام react-intl، تحتوي كل رسالة على معرف، وتوجد الترجمات في ملفات منفصلة:

import { FormattedMessage } from 'react-intl';
const Welcome = () => (
<FormattedMessage id="home.welcome" defaultMessage="Welcome back!" />
);
// Then extract the messages, translate them for every language
// and load the right file when the app starts.

باستخدام Magic Translate، تكتب الرسالة مرة واحدة:

import { T } from '@magic-translate/react';
const Welcome = () => <T>Welcome back!</T>;

متى تختار Magic Translate

  • تريد تطبيقك بالعديد من اللغات دون سير عمل الترجمة.
  • تتغير نصوصك كثيرًا، وتريد أن تظل كل لغة محدثة.
  • تريد لغات جديدة دون الدفع أو انتظار المترجمين.

متى تختار react-intl

  • أنت بحاجة إلى صيغة رسالة ICU لصيغ الجمع المعقدة والجنس.
  • يجب كتابة ترجماتك أو مراجعتها من قبل الأشخاص.
  • تريد مكتبة مجانية مفتوحة المصدر بدون خدمة خارجية.

استخدام كليهما

يعمل الاثنان بشكل جيد معًا. استخدم react-intl أو Intl APIs لتنسيق التواريخ والأرقام والعملات، و Magic Translate لترجمة النص المحيط بها.

هل أنت مستعد لتجربته؟ اتبع دليل البدء لترجمة المكون الأول في خمس دقائق.