التوثيق

Magic Translate vs. Lingui

Lingui هي مكتبة i18n مفتوحة المصدر لجافا سكريبت وReact. مثل Magic Translate، يتيح لك كتابة كلماتك الخاصة في مكوناتك بدلاً من المفاتيح. الفرق هو ما سيحدث بعد ذلك: باستخدام Lingui، يمكنك استخراج الرسائل وترجمتها وتجميعها لكل لغة. باستخدام Magic Translate، يتم إنشاء الترجمات من أجلك.

في لمحة

Magic TranslateLingui
كيف تكتب النصكلماتك الخاصة، ملفوفة في <T>كلماتك الخاصة، ملفوفة في <Trans>
الترجماتترجمة الذكاء الاصطناعي، تم إنشاؤها تلقائيًاتقوم باستخراج الرسائل وترجمتها
ملفات الرسائللا شيءكتالوج واحد لكل لغة، مثل ملف PO
خطوات البناءلا شيءاستخراج وتجميع الكتالوجات
لغات جديدةقم بتغيير إعداد languageترجم كل رسالة إلى اللغة الجديدة
صيغ الجمع والتنسيقتمت ترجمته كجزء من الجملةرسائل ICU بقواعد الجمع لكل لغة
السعرخطة مجانية، ثم خطط شهرية تعتمد على الاستخداممفتوح المصدر ومجاني

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

باستخدام Lingui، يظل النص في المكون، ولكن كل رسالة تمر عبر كتالوج:

import { Trans } from '@lingui/react/macro';
const Cart = () => (
<h2>
<Trans>Your shopping cart</Trans>
</h2>
);
// Then run `lingui extract`, translate the catalogs for every language,
// run `lingui compile` and load the right catalog when the app starts.

باستخدام Magic Translate، يبدو المكون متشابهًا، ويتم إنشاء الترجمات تلقائيًا:

import { T } from '@magic-translate/react';
const Cart = () => (
<h2>
<T>Your shopping cart</T>
</h2>
);

متى تختار Magic Translate

  • تحب كتابة كلماتك الخاصة في مكوناتك، ولا تريد الاحتفاظ بالكتالوجات.
  • ليس لديك مترجمين، أو تريد إصدار تحديثات دون انتظار الترجمات.
  • تريد إضافة لغات بدون إدارة مشروع ترجمة.

متى تختار Lingui

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

الانتقال من Lingui إلى Magic Translate

ونظرًا لأن كلا المكتبتين تحتفظان بالنص في المكون، فإن الترحيل في الغالب يتعلق باستبدال مكونات الترجمة ووظائفها: <Trans> يصبح <T>، ويصبح ماكرو t هو useT hook. يمكنك ترحيل مكون واحد في كل مرة.

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