الترجمة لا تحتوي على أرقام، لكن الوحدة مفقودة: يجب تقسيم التفتيش إلى مستويين

تتناول هذه الورقة نقطة الألم في مطابقة أرقام الكميات مع الوحدات في قبول الترجمة من خلال اقتراح استراتيجية تحقق متعددة الطبقات. باستخدام الوحدة العشرية في مكتبة بايثون القياسية، يوضح كيفية تحليل ومقارنة قيم الكميات بدقة لتجنب مصائد دقة الفاصلة العائمة؛ وفي الوقت نفسه، تم تحديد حدود المسؤوليات المتعلقة بالتحقق الآلي من الشيفرة والمراجعة الدلالية البشرية، ويتم شرح عملية تسليم ترجمة المستندات بالتعاون مع أومني دوك.

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

هذه المقالة مكتوبة لأولئك المسؤولين عن قبول الوثائق المترجمة، خاصة القراء الذين يتعاملون بشكل متكرر مع عروض الأسعار والبيانات المالية وجداول المعلمات التقنية. تشرح هذه المقالة لماذا قد يصبح 1,234.50 1.234,50 في الترجمة، وكيفية إعلان قواعد الإدخال قبل مقارنة القيم، وأي الأحكام لا تزال تتطلب معالجة يدوية. بعد القراءة، يمكنك بناء فحص من طبقتين: الكود الآلي يتعامل مع التنسيق والقيم، بينما يتعامل البشر مع الدلالات والحقول التجارية.

تستخدم الأمثلة في هذا المقال عينات صناعية، والشيفرة تمر بفحص الأمثلة في بيئة معزولة، لكن هذا لا يضمن فعالية جميع الملفات أو المنتجات الحقيقية. قبل التعامل مع الوثائق المهمة، يرجى الاحتفاظ بالأصل أولا.

إذا لم تكن أرقام الترجمة ناقصة، كيف يجب أن تقبلها؟ باختصار، خاتمة

يتطلب التحقق العددي أولا إعلان قاعدة الإدخال، ثم مقارنة القيمة المطبعة؛ يتم حجز العملة والوحدة كحقلين مستقلين.

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

أولا، أعلن قواعد الإدخال

تمثل 1,234.50 و1.234,50 نفس الكميات أو كميات مختلفة في عادات إقليمية مختلفة. إذا لم يتم تحديد الصيغة أولا، لا يمكن للبرنامج تحديد ما إذا كانت الأرقام المترجمة صحيحة.

يتم التعامل مع صيغتين صريحتين فقط

تغطي هذه المقالة فقط التنسيقين التاليين:

  • فاصلة بالآلاف وعشريات نقطية: على سبيل المثال، 1,234.50
  • نقطة، آلاف، فواصل عشرية: على سبيل المثال، 1.234,50

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

تحقق أولا من الصيغة، ثم قم بتحويل العشري

أولا، تحقق من السلسلة حسب التنسيق المعلن، ثم حولها إلى عشري بعد التمرير.

import re
from decimal import Decimal

def amount(text, style):
    rules = {
        "comma_group": (r"-?(?:[0-9]{1,3}(?:,[0-9]{3})+|[0-9]+)(?:\.[0-9]+)?", ",", "."),
        "dot_group": (r"-?(?:[0-9]{1,3}(?:\.[0-9]{3})+|[0-9]+)(?:,[0-9]+)?", ".", ",")
    }
    if style not in rules:
        raise ValueError("unknown number convention")
    pattern, grouping, decimal = rules[style]
    if re.fullmatch(pattern, text) is None:
        raise ValueError("number does not match declared convention")
    return Decimal(text.replace(grouping, "").replace(decimal, "."))

assert amount("1,234.50", "comma_group") == amount("1.234,50", "dot_group")
assert amount("-12.50", "comma_group") == Decimal("-12.50")
assert (amount("12.50", "comma_group"), "USD") != (amount("12.50", "comma_group"), "EUR")
for bad in ["12,34.50", "1,234.50 USD", "NaN"]:
    try:
        amount(bad, "comma_group")
    except ValueError:
        pass
    else:
        raise AssertionError("invalid number accepted")

مطابقة القيم ليست كافية

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

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

العشري يحل جزءا فقط من المشكلة

ماذا يمكن أن يفعل العشري من أجلك

  • تجنب الأخطاء في بعض التمثيلات الثنائية للنقطة العائمة
  • لتكن المقارنات العددية مبنية على نتائج واضحة وموحدة

العشري لا يستطيع فعل ذلك نيابة عنك

  • اختيار قواعد التقريب
  • شرح مبلغ الضريبة
  • إجراء تحويل سعر الصرف

عند تحويل أي قيم، يجب الاحتفاظ بالقيم قبل وبعد التحويل والأسباب في قائمة التحقق.

الأرقام في الوثائق المترجمة تستحق قبولا منفصلا

عند استخدام أومني دوك (إدخال المنتج) لمعالجة العروض أو التقارير أو المستندات الفنية، يمكن إجراء القبول بالترتيب التالي:

  1. أولا، نظم قائمة التحقق للمبالغ والوحدات، مع سرد حقول الأعمال التي تتوافق مع كل رقم.
  2. قارن عناصر القائمة مع الترجمة واحدة تلو الأخرى، مع تسجيل الفروقات في التنسيق، العملة، العلامة السالبة، والدقة.
  3. أعد العنصر المشبوه إلى النص الأصلي لتأكيد الحقل التجاري الذي يمثله.

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

المراجع: Python decimal.

📊 مقارنة النواة

الصيغةمثالطرق التعامل
فواصل بالآلاف وعشريات نقطية1,234.50ضمن النطاق، قم بالتحليل وفقا لقواعد الإعلان
نقاط بالآلاف وفواصل عشرية1.234,50ضمن النطاق، قم بالتحليل وفقا لقواعد الإعلان
فراغات بالآلاف، أقواس للأعداد السالبة، التدوين العلميغير مناسب لهذا المقالليس ضمن النطاق، رافضا التكهن عندما تكون قواعد المصدر غير واضحة

🎯 أي طريقة تناسبك؟

إذا كنت تتعامل مع الاقتباسات أو التقارير

أولا، نظم المبلغ وقوائم التحقق الخاصة بالوحدة، ثم قارن كل بند مع المخطوطة المترجمة.

إذا كانت مستنداتك تستخدم رموز رقمية أخرى

هذه المقالة لا تغطي الفراغات بالآلاف، أو الأعداد السالبة بين الأقواس أو التدوين العلمي. أولا، تأكد من قواعد المصدر ولا تدع البرنامج يخمن.

إذا كنت بحاجة لتحويل سعر الصرف

الرقم العشري لن يقوم بالتحويل نيابة عنك؛ يرجى تسجيل القيم قبل وبعد التحويل والأسباب في قائمة التحقق.

❓ الأسئلة الشائعة (الأسئلة الشائعة)

1. لماذا لا نقارن الكميات مباشرة باستخدام أرقام الفابض العائمة؟

استخدام العشري يمكن أن يتجنب الأخطاء في بعض التمثيلات الثنائية العائمة، مما يجعله أكثر ملاءمة للمقارنة العددية.

2. هل يمكن أن يكون الرقم نفسه لكن العملة مختلفة، ويمكن اعتباره متساويا؟

لا ينبغي افتراض أنها متكافئة؛ أولا تحقق مما إذا كان علامة العملة قد تغيرت.

3. هل يمكن أخذ القيم المطلقة تلقائيا عندما تختفي العلامة السالبة؟

يجب ألا تؤخذ القيم المطلقة تلقائيا؛ بل يجب التحقق منها بالتزامن مع سياق المصدر والنصوص المترجمة.

4. هل يمكن للرمز أن يجد المبلغ تلقائيا من أي مستند؟

لا. يتلقى الكود سلسلة مبلغ موضوعة مسبقا؛ عند تحديد موقع الحقول، يجب الاحتفاظ بالتصنيف والعملة وموقع المصدر.

📝 ملخص

المفتاح في التحقق الرقمي هو أولا إعلان قواعد التنسيق، ثم مقارنة القيم الموحدة، والاحتفاظ بالعملة والوحدة كحقل مستقل. تستخدم الفحوصات الآلية لتحديد النقاط المشبوهة، لكن المعنى التجاري لا يزال بحاجة إلى التأكيد على النص الأصلي.

اختبر الآن: ارفع مستندك لتبدأ الترجمة، مع الحفاظ على التنسيق الأصلي

تاريخ التحديث: 2026-11-14