مدقّق ملفات Localizable.strings

أفلِت ملفَّي .strings أو أكثر لترى ما هو ناقص، وما هو مكرّر، وما لم يُترجَم فعلًا قط، وأي الأسطر لن تُحلَّل. ولا يُرفَع شيء — فهذه عادةً ملفات إنتاج، وهي تبقى داخل هذه الصفحة.

قاعدة القيمة المكرّرة

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

التطابق ليس هو عدم الترجمة

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

الأسطر المعطوبة يُبلَّغ عنها لا تُبتلَع

قواعد .strings صغيرة لكن حالاتها الحدّية حقيقية: تعليقات الكتل، وعلامات اقتباس مهرَّبة داخل القيم، وفاصلة منقوطة ناقصة، وعلامة اقتباس ذكية مُلصقة من جدول بيانات. والمحلّل الذي يتخطّى بصمت ما لا يفهمه سيخبرك أن الملف سليم بينما هناك مفتاح غائب في هدوء. لذلك يُدرَج كل سطر يتعذّر تحليله مع رقمه، لتذهب وتراه بنفسك.

وUTF-16 أيضًا

دأب Xcode سنوات على كتابة ملفات .strings بترميز UTF-16، ولا تزال مستودعات كثيرة تحتوي عليها. لذلك تُفحص الملفات أولًا بحثًا عن علامة ترتيب البايتات ثم تُفكّ شفرتها تبعًا لذلك، حتى لا يصل ملف UTF-16 كجدار من البايتات الصفرية ومئة خطأ تحليل.

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

هل يدعم ملفات .xcstrings؟

ليس بعد. فكتالوج النصوص ملف JSON بشكل مختلف، ويستحق معالجة خاصة به بدل طبقة تحويل تعمل نصف عمل.

أي ملف ينبغي أن يكون الأساس؟

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

ما الذي يُعدّ مشكلة؟

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

هل تُرفَع ملفاتي؟

لا. تُقرأ بقارئ الملفات في المتصفح وتُقارَن هنا. وهذا يهمّ في هذه الأداة أكثر من غيرها، لأنها ملفات منتج حقيقية.

صنعه فريق GO AI، الذي ظل يصطدم بهذه المشكلة مرارًا. كل الأدوات المجانية