Fruga

مقارنة النصوص وملفات JSON

قارن بين نسختين من أي شيء، ملف إعدادات أو ترجمة أو عقد، وشاهد الكلمات المتغيّرة داخل كل سطر تغيّر بدل جدارين من الأحمر والأخضر. ما تلصقه يبقى في هذا التبويب.

  • الدقةعلى مستوى السطر والكلمة
  • تصديرUnified diff
  • مستنداتكلا تغادر التبويب أبداً

قبل

بعد

التغييرات

تغيّر 3، وأُضيف 2، وحُذف 1.

تغيّر
3
أسطر أُعيدت كتابتها
أُضيف
2
أسطر جديدة
حُذف
1
أسطر محذوفة
دون تغيير
4
أسطر باقية
1{
2 "name": "checkout-service",
3 "version": "2.4.0",
3 "version": "2.5.1",
4 "retries": 3,
4 "retries": 5,
5 "timeoutMs": 5000,
6 "regions": ["eu-west", "me-south"],
6 "regions": ["eu-west", "me-south", "us-east"],
7− "notes": "Falls back to the queue when the gateway is down."
7+ "featureFlags": { "instantRefund": true },
8+ "notes": "Falls back to the queue when the gateway is unavailable."
8}
جرت المقارنة في هذا التبويب، ولم يُرفع شيء.

لماذا يهمّ تمييز الكلمات

مقارنة الأسطر تقول إن السطر تغيّر، ومقارنة الكلمات تقول أيّ كلمة تغيّرت. في ملف إعدادات أو ترجمة هذا هو الجواب كله، ولهذا يظهر السطر المتغيّر هنا مرّتين: مرّة بما حُذف منه ومرّة بما أُضيف إليه.

متى لا تُقرن الأسطر

سطران متجاوران ليسا بالضرورة إعادة كتابة لبعضهما. حين يشترك سطر محذوف وسطر مضاف في القليل فقط، يُعرضان منفصلين بدل صف واحد تُميَّز فيه كل كلمة، فذلك لا يُقرأ إلا كضجيج.

لملفات JSON، قارن حسب المسار

مقارنة النصوص على JSON تعدّ المفتاح الذي تغيّر ترتيبه تغييراً، وإعادة الإزاحة مئة تغيير. أدوات JSON تقارن حسب المسار، سطراً لكل قيمة تغيّرت، وهذا عادةً ما تريده لحمولة بيانات لا لملف.

الأسئلة الشائعة

كيف أقارن نصّين بأمان على الإنترنت؟
استخدم أداة تجري المقارنة داخل المتصفح. ما يُقارَن عادةً ملف إعدادات أو عقد أو ترجمة، ولا يصحّ إرساله إلى خادم لاكتشاف فرق كلمة واحدة.
ما هي صيغة unified diff؟
الصيغة التي يستخدمها git وpatch: أسطر سياق قليلة حول كل تغيير، مع علامة - للمحذوف و+ للمضاف. وهي الصيغة المناسبة للّصق في طلب دمج أو تذكرة، والأداة تصدّرها.
لماذا يظهر بعض التغيير كحذف وإضافة منفصلين؟
لأن السطرين ليسا إعادة كتابة لبعضهما. حين يتشارك السطر المحذوف والمضاف قدراً ضئيلاً من النص، تكون مزاوجتهما صفّاً تتلوّن فيه كل الكلمات تقريباً — وهو أقل وضوحاً من عرضهما منفصلين.
هل تصلح الأداة لمقارنة ملفات JSON؟
للملفات نعم. أما حمولات الواجهات البرمجية فالأفضل مقارنتها بالمسار عبر أداة JSON، لأن المقارنة النصية تضخّم فروق الترتيب والإزاحة.