عن المشروع
Locale هو مساحة عمل Rust توفر معرفات محلية قوية الكتابة مولّدة من مجموعة بيانات Unicode CLDR (المستودع المشترك للبيانات المحلية). يذكر ملف README أنها تغطي 766 لغة محلية ليونيكود بناءً على CLDR 48.1.0، مع بيانات مصدرها مستودع CLDR-JSON الرسمي.
تحتوي مساحة العمل على صندوقين. locale-rs هو مكتبة الإنتاج لإدارة الإعدادات المحلية والتنسيق. locale-dev هو أداة توليد كود تتحقق من GitHub لأحدث إصدار من CLDR-JSON، وتنزّل أو تعيد استخدام البيانات المخزنة مؤقتًا، وتعيد توليد كود locale-rs، ثم تنسّق وتفحص المخرجات. هذا التصميم يحافظ على تزامن المكتبة مع إصدارات يونيكود الجديدة بدلاً من الاعتماد على سلاسل نصية مشفرة.
القدرات الأساسية الموصوفة في README تشمل لغات محلية آمنة النوع كمتغيرات تعداد مُتحقق منها في وقت الترجمة، تنسيق أرقام واعٍ باللغة المحلية باستخدام أرقام أصلية، أنماط عملات متوافقة مع ICU، وأسماء أشهر وأيام أسبوع مترجمة لتنسيق التاريخ والوقت. التحليل يقبل الواصلات أو الشرطات السفلية أو الحالة المختلطة. التفاوض المحلي يجد أفضل تطابق من الخيارات المتاحة باستخدام سلاسل احتياطية، والاقتراحات الغامضة تقترح تصحيحات للأخطاء الإملائية أو اللغات المحلية غير المعروفة. يذكر README أيضًا العديد من أنظمة الأرقام المدعومة، مثل اللاتينية والعربية الهندية والديواناجارية والبنغالية والتاميلية والتايلاندية والتبتية.
أمثلة الاستخدام تُظهر الوصول المباشر للتعداد مثل Locale::en_GB، التحليل عبر FromStr أو from_flexible، استخراج رموز اللغة والمنطقة الفرعية، والحصول على لغة محلية احتياطية. تنسيق الأرقام موضح من خلال خاصية ToFormattedString، مما ينتج مخرجات مجمعة مثل 1,234,567 للإنجليزية و 1.234.567 للألمانية. أمثلة التفاوض والاقتراحات مذكورة أيضًا.
يدعي README تجريدات بدون تكلفة ومتغيرات تعداد محلية صفرية الحجم. يلاحظ الإلهام المعماري من صندوق num-format. الترخيص مزدوج MIT أو Apache-2.0 لكود المشروع، بينما بيانات اللغة المحلية مشتقة من Unicode CLDR تحت رخصة يونيكود V3. المساهمات موجهة بشكل أساسي إلى منطق التوليد في locale-dev أو إلى الطرق المساعدة والاختبارات والأمثلة في locale-rs.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.