
Fluent هي مجموعة من المواصفات والتطبيقات والممارسات الخاصة بالتوطين التي طورتها موزيلا. الآن يتم استخدامه في متصفح فايرفوكس. باستخدام Fluent ، يمكن للمترجمين كتابة المزيد من الترجمات الطبيعية بلغتهم الأم. نعرض اليوم مواصفات تنسيق ملف Fluent الإصدار 1.0. نحن ندعو مطوري أدوات الترجمة لتجربتها والتعرف على انطباعاتك.
ما هي المشاكل التي يحلها Fluent؟
يدعم متصفح Firefox حوالي مائة لغة ، ويتحدى المطورين من حيث الترجمة. يصعب حل العديد من المشكلات باستخدام الأساليب التقليدية. يهيمن على توطين البرامج مبدأ تمييز الترجمات الفردية مع النص المصدر. تفرض قواعد اللغة المصدر (في حالة Mozilla - English) قيودًا شديدة على توفر الوسائل التعبيرية في الترجمة.
ضع في اعتبارك الرسالة التالية التي تظهر عندما يحاول المستخدم إغلاق نافذة Firefox بعدة علامات تبويب.
tabs-close-warning-multiple = You are about to close {$count} tabs. Are you sure you want to continue?
يتم عرض رسالة فقط إذا كان هناك علامتان أو أكثر. في اللغة الإنجليزية ، ستكون علامة تبويب الكلمة دائمًا في علامات الجمع. سوف يكون المطور الناطق باللغة الإنجليزية سعيدًا بهذه الرسالة. هذا يبدو صحيحا لأي قيم العد $.

في اللغة الإنجليزية ، لجميع قيم $ count ، متغير رسالة واحد يكفي.
يلاحظ العديد من المترجمين أن علامة تبويب الكلمات يمكن أن تتخذ أشكالًا مختلفة وفقًا لقيمة عدد الدولارات.
في النهج التقليدي للتوطين ، تقع مسؤولية المعالجة الصحيحة للرسالة على عاتق المترجمين. يجب أن يأخذوا في الاعتبار أنه في لغات أخرى يمكن أن يكون هناك عدة أشكال متعددة للكلمة ، حتى لو كانت باللغة الإنجليزية واحدة فقط. كلما زاد عدد اللغات التي يدعمها التطبيق ، أصبحت المشكلة أكثر خطورة.
- في بعض اللغات ، يكون للاسماء جنس ، وهو ما يتطلب تغييرات في الصفات والمشاركين. بالفرنسية ، تُترجم الكلمات connecté و connectée و connectés و connectées إلى اللغة الإنجليزية على أنها متصلة.
- قد يتطلب دليل الأنماط استخدام مصطلحات معينة وفقًا للنظام الأساسي الذي يعمل عليه البرنامج. في إصدار اللغة الإنجليزية من Firefox ، على سبيل المثال ، يتم استخدام الإعدادات على النظام الأساسي لـ Windows ، والتفضيلات على الأنظمة الأخرى ، من أجل الامتثال للمعايير المعتمدة في هذه الأنظمة. في اللغة اليابانية ، قد يكون الفرق أكثر إثارة للاهتمام: يعتمد اختيار نظام للكتابة لبعض مصطلحات الكمبيوتر على نظام التشغيل.
- قد يتطلب السياق والجمهور المستهدف للتطبيق تعديلات إضافية على النص. قد يستخدم تطبيق باللغة الإنجليزية للعمل مع المحاسبة تنسيق الأرقام المختلفة عن تلك المستخدمة في المواقع العادية على الإنترنت. لكن في لغات أخرى ، قد لا يكون هذا الفصل ضروريًا.
هناك العديد من الاختلافات النحوية والأسلوبية التي لا يمكن ربطها مباشرة بين اللغتين. قد يكون من الصعب دعم كل هذه الفروق الدقيقة باستخدام النهج التقليدي. في بعض اللغات ، يجب عليك حل وسط ، في لغات أخرى لن يكون هناك حل مناسب على الإطلاق.
التعريب غير المتماثل
يتغير بطلاقة توزيع الأدوار في الترجمة. بدلاً من مطالبة المطورين بدراسة جميع الفروق الدقيقة الممكنة لجميع اللغات ، يحاول Fluent الاحتفاظ بالنصوص في لغة المصدر بأبسط أشكالها الممكنة.
نجعل من الممكن نقل قواعد اللغة وأسلوب اللغات الأخرى ، بغض النظر عن النص المصدر. كل شيء يحدث في عزلة. حقيقة أن لغة واحدة يمكنها استخدام منطق أكثر تقدمًا في الترجمة لا تؤثر على لغات الترجمة الأخرى. كل ترجمة في البرنامج نفسه تقرر مدى تعقيد نص الترجمة.
على سبيل المثال ، دعنا ننظر إلى ترجمة رسالة حول إغلاق علامات التبويب إلى التشيكية. يجب أن تتخذ لوحة الكلمة (علامة تبويب) أحد شكلين: لوحة للعدد من علامات التبويب 2 و 3 و 4 ولوحة لجميع القيم الأخرى.
tabs-close-warning-multiple = {$count -> [few] Chystáte se zavřít {$count} panely. Opravdu chcete pokračovat? *[other] Chystáte se zavřít {$count} panelů. Opravdu chcete pokračovat? }
يمنح Fluent للمترجمين القدرة على كتابة جمل صحيحة نحويًا واستخدام الوسائل التعبيرية بلغتهم بحرية. بفضل Fluent ، تستخدم الترجمة التشيكية صيغ الجمع الصحيحة لأية قيم محتملة لعدد الدولارات.
في التشيكية ، بقيمة قيم $ 2 و 3 و 4 ، يحتاج الاسم إلى صيغة الجمع الخاصة.في الوقت نفسه ، لا يلزم إجراء أي تغييرات على شفرة المصدر أو الكود. لا يؤثر المنطق في التوطين التشيكي على كل الترجمات الأخرى للبرنامج. باللغة الفرنسية ، ستكون هذه الجملة بسيطة مثل اللغة الإنجليزية:
tabs-close-warning-multiple = Vous êtes sur le point de fermer {$count} onglets. Voulez-vous vraiment continuer ?
يعد مفهوم التوطين غير المتماثل ابتكارًا رئيسيًا بطلاقة ، وهو ما أتاحته خبرة موزيلا في تطوير برامج متعددة اللغات لأكثر من 20 عامًا. تم استعارة العديد من الأفكار الرئيسية الخاصة بطلاقة من MessageFormat من ICU (مكون دولي لـ Unicode) ومن تنسيق XLIFF .
للوهلة الأولى ، يشبه Fluent حلول التوطين الأخرى التي تسمح لك باستخدام أشكال الكلمات المتعددة في الأسماء والكلمات المتعددة التي لها جنس نحوي. في المقابل ، يأخذ Fluent نهجًا كليًا للتوطين. يقوم Fluent بتطوير هذه الأفكار من خلال تحديد بناء الجملة للملف النصي بالكامل حيث يتم تخزين الترجمات والسماح بالارتباطات من رسالة إلى أخرى.
الشروط والروابط
يمكن أن يحتوي ملف Fluent على العديد من الرسائل ، يتم ترجمة كل منها إلى لغة المترجم. يمكن أن تشير الرسائل إلى رسائل أخرى داخل نفس الملف ، أو إلى رسائل من ملفات أخرى. في وقت التشغيل ، يقوم Fluent بدمج الملفات في حزم ، ويتم حل الروابط ضمن هذه المجموعة.
الارتباط بالمشاركات هو أداة قوية للحفاظ على الترجمات المتسقة. مرة واحدة يمكن إعادة استخدام ترجمة معينة في ترجمات أخرى. يدعم Fluent نوعًا خاصًا من الرسائل يسمى المصطلح ، وهو مناسب تمامًا لإعادة الاستخدام. يبدأ معرف المصطلح دائمًا بشرطة.
-sync-brand-name = Firefox
بمجرد التعريف ، يمكن استخدام المصطلح -Sync-name-name من الرسائل الأخرى كمتغير ، مع إعادة النص الصحيح دائمًا. تساعد المصطلحات في تقديم التوحيد وفقًا لإرشادات الأسلوب. على سبيل المثال ، يمكن تعديلها لتتضمن بشكل خاص العلامات التجارية غير الرسمية أو الإصدارات التجريبية.
sync-dialog-title = {-sync-brand-name} sync-headline-title = {-sync-brand-name}: The best way to bring your data always with you sync-signedout-account-title = {-sync-brand-name}
إن استخدام المصطلح مباشرة في منتصف الجملة يمكن أن يسبب مشاكل في اللغات الانعكاسية ، أو في اللغات ذات قواعد الأحرف الكبيرة للنص. يمكن تعريف معنى المصطلح في عدة جوانب ، حسب السياق. النظر في التعريف التالي للمصطلح -Sync-brand-name باللغة الإيطالية.
-sync-brand-name = {$capitalization -> *[uppercase] Account Firefox [lowercase] account Firefox }
نظرًا لطبيعة Fluent غير المتماثلة ، يمكن للمترجم الإيطالي تحديد شكلين لكتابة علامة تجارية. البديل الكبير (الافتراضي) مناسب للاستخدام المستقل أو للاستخدام في بداية الجملة. قد يتم طلب خيار الحالة الصغيرة عن طريق تمرير معلمة الكتابة بالأحرف الكبيرة عند استخدام المصطلح داخل جملة كبيرة.
sync-dialog-title = {-sync-brand-name} sync-headline-title = {-sync-brand-name}: il modo migliore per avere i tuoi dati sempre con te # . sync-signedout-account-title = Connetti il tuo {-sync-brand-name(capitalization: "lowercase")}
تعريف العديد من المتغيرات للمصطلح هو أسلوب مناسب يسمح لك بالامتثال للقواعد النحوية للعديد من اللغات. في المثال التالي ، يمكن للمترجم البولندي استخدام الانحرافات لإنشاء الجملة الصحيحة في رسالة عنوان توقيع الحساب المزامنة.
-sync-brand-name = {$case -> *[nominative] Konto Firefox [genitive] Konta Firefox [accusative] Kontem Firefox } sync-signedout-account-title = Zaloguj do {-sync-brand-name(case: "genitive")}
يسمح لك Fluent بتضمين منطق بناء لغوي معقد حيث تريده. في الوقت نفسه ، تبقى الترجمة ببساطة بسيطة. بطلاقة لا تضيف تطبيقات معقدة لتصاميم بسيطة.
sync-signedout-caption = Take Your Web With You sync-signedout-caption = Il tuo Web, sempre con te sync-signedout-caption = Zabierz swoją sieć ze sobą sync-signedout-caption = So haben Sie das Web überall dabei.
بناء الجملة بطلاقة
نعلن اليوم عن الإصدار المستقر الأول من Fluent Syntax. هذه مواصفة لتنسيق الملف لتخزين الترجمات ، بالإضافة إلى إصدار تجريبي من موزعي JavaScript و Python و Rust.
في الأمثلة الموضحة أعلاه ، رأيت ما هو بناء جملة Fluent. تم إنشاؤه ليكون مفهوما للأشخاص الذين لديهم القليل من المعرفة التقنية ، ويسمح لك بمراجعة وتحرير النص مع الحد الأدنى من الأخطاء. يعد استرداد الأخطاء نقطة مهمة: لن تؤدي الترجمة غير الصحيحة إلى كسر الملف بأكمله أو الترجمات المجاورة له. التعليقات مفيدة لنقل سياق رسالة معينة أو مجموعة بأكملها. يمكن أن تأخذ الترجمات عدة أسطر ، مما يسهل عمل وتمييز أجزاء كبيرة من النص.
يمكن فتح الملفات بطلاقة في أي محرر نصوص ، مما يقلل من عتبة الدخول للمطورين والمحليين. التنسيق معتمد بالفعل من خلال برنامج ترجمة البرامج المفتوح المصدر الخاص بـ Mozilla.
Fluent Playground هو صندوق رمل لاختبار Fluent مباشرة في المتصفح.للحصول على تفاصيل بناء الجملة ، انظر دليل بناء الجملة Fluent . يمكن العثور على تعريف رسمي في مواصفات Fluent Syntax . وإذا كنت ترغب فقط في تجربة Fluent ، فاستخدم Fluent Playground ، وهو محرر عبر الإنترنت به قصاصات للمشاركة.
ردود الفعل
Firefox هو عامل رئيسي في تطوير Fluent. فايرفوكس يستخدم بالفعل أكثر من 3000 وظيفة بطلاقة . بدأت الهجرة إلى الطلاقة العام الماضي ، وهي الآن على قدم وساق. لقد أثبت تنسيق Fluent أنه حل مستقر ومرن للواجهات المعقدة ، مثل صفحة إعدادات Firefox. يستخدم أيضًا في العديد من صفحات الويب الخاصة بـ Mozilla مثل Firefox Send و Common Voice .
نحن نعتقد أن Fluent هو اختيار ممتاز للتطبيقات التي تعد فيها البساطة والسرعة مهمة ، ولكن في نفس الوقت تتطلب عرض عناصر الواجهة وفقًا للعديد من المتغيرات. على وجه الخصوص ، يساعد Fluent على إنشاء جمل طبيعية بلغات مختلفة في مساحة محدودة من واجهات الأجهزة المحمولة ؛ في منصات الوسائط الاجتماعية الغنية بالمعلومات ؛ وفي الألعاب لنقل إحصائيات اللعبة وشرح الميكانيكا للاعب.
نحن نحب أن نسمع من المطورين أو البائعين بطلاقة. يجري تطوير Fluent كمعيار للمستقبل ، لذلك ندعو الجميع لتجربته وإخبارنا بالمشاكل الأخرى التي تواجهها في عملك. بمساعدتكم ، سوف نكون قادرين على تحسين Fluent للعمل على العديد من المنصات وفي العديد من الحالات.
نحن منفتحون على النقد البناء. تعرف على المزيد حول Fluent على موقع المشروع . إذا كانت لديك قصة ترويها ، فاتصل بنا على Fluent Discourse .
من المترجم: وثائق بناء الجملة باللغة الروسية .