ما الذي تقارنه الأداة
- صيغ Apple:
%@ و%1$@ و%d و%ld و%lld و%.2f و%u و%i و%s، موضعًا بموضع. و%% نص عادي.
- عناصر ICU النائبة في Flutter:
{name}، بما في ذلك داخل فروع plural وselect.
تُتجاهَل التحويلات النادرة مثل %e أو %x عمدًا، كي لا يُحسَب نص مثل 20%en خطأً.
الأخطاء الأكثر شيوعًا
- محدّد محذوف: لا ينهار شيء، لكن الاسم أو العدد يختفي من الشاشة.
- نوع متغيّر: استبدال
%lld بـ%@ يقرأ عددًا صحيحًا على أنه كائن، مع خطر الانهيار.
- ترتيب متغيّر دون مواضع: لإعادة الترتيب، رقّم كل الوسائط (
%1$@ و%2$@)؛ والخلط بين المرقّم وغير المرقّم سلوك غير معرَّف.
- «20 % de remise» بالفرنسية: المسافة قبل علامة النسبة تجعل
% d يُقرأ محدّدًا. ضاعف العلامة: %%.
- عنصر ICU نائب أُعيدت تسميته: تحويل
{count} إلى {nombre} يغيّر واجهة الشيفرة (API) لكل اللغات في Flutter.
هذه الحالات مفصّلة في دليل محدّدات التنسيق في iOS ودليل عناصر ICU النائبة.
حدود الأداة
تقارن الأداة العناصر النائبة لا المعنى: لا تكتشف تبادل موضعي %@ عندما تكون الوسائط غير مرقّمة، ولا جملة مترجمة ترجمة سيئة. ولا تفسّر الهروب بعلامات الاقتباس المفردة في ICU (خيار use-escaping في Flutter): يُقرأ '{' قوسًا. وتقارن نصًا واحدًا في كل مرة؛ أما لملف كامل، فاستخدم فاحص المفاتيح الناقصة في ملفات ARB أو محرّرًا يفحص كل المفاتيح.