استخدام الخاصية CurrentCulture
الخاصية CurrentCulture تمثل معلومات الثقافة الحالية على أساس "كل مؤشر ترابط". هذه المعلومات تحدد التنسيقات الافتراضية للتواريخ، و الأوقات، و العملات، و الأرقام; و ترتيب الفرز الخاص بالنص ; و مقارنات السلاسل; و حالات الأحرف. ليس الإعداد الذي تم إنشاؤه من خلال هذه الخاصية، إعداد لغة. تقوم الخاصية فقط بتعريف البيانات المتعلقة بالإعدادات القياسية لمنطقة جغرافية. لذلك، يمكن للتطبيق الخاص بك فقط تعيين CurrentCulture لثقافة معينة أو لـ InvariantCulture. يمكن للتطبيق استخدام الخاصية CurrentThread لتعيين CurrentCulture.
ملاحظة |
---|
تغيير الثقافة الخاصة بـ CurrentThread يتطلب كائن SecurityPermission مع تعيين ControlThread.التلاعب في مؤشرات الترابط خطير بسبب وجود حالة الأمان المقترنة بمؤشرات الترابط.لذا، يجب أن يتم منح هذا الإذن فقط للتعليمات البرمجية الموثوق بها، و من ثم كلما دعت الضرورة فقط.لا يمكنك تغيير ثقافة مؤشر ترابط في التعليمات البرمجية شبه الموثوق بها. |
تعيين الخاصية CurrentCulture بشكل صريح
يمكن للتطبيق الخاص بك تعيين الخاصية CurrentCulture بشكل صريح. مثال التعليمات البرمجية التالي يقوم بتعيين الخاصية إلى الثقافة المعينة الألمانية (ألمانيا) ، المعينة بـ "de-DE".
Thread.CurrentThread.CurrentCulture = new CultureInfo("de-DE")
Thread.CurrentThread.CurrentCulture = new CultureInfo("de-DE");
يجب على التطبيق الخاص بك استخدام ثقافة معينة لتهيئة الخاصية CurrentCulture. تتوقع الخاصية ثقافة مقترنة بكلٍ من لغة و بلد/منطقة، على سبيل المثال، الإنكليزية (الولايات المتحدة) ، المعينة بـ "en - US". و لأن اللغة غالبًا يتم التحدث بها في أكثر من بلد أو منطقة، تكون المعلومات الإقليمية ضرورية لتحديد اصطلاحات التنسيق المناسبة للاستخدام. على سبيل المثال، إذا كان التطبيق يحدد الثقافة "en" للإنجليزية المحايدة، لا يوجد إعداد واحد صحيح لتنسيق العملة و التاريخ. قد يكون التاريخ بتنسيق الولايات المتحدة أو بتنسيق المملكة المتحدة. قد تكون العملة بتنسيق نيوزيلندا أو تنسيق كندي. إذا حاول التطبيق تعيين الخاصية CurrentCulture عن طريق تحديد ثقافة محايدة ، يتم طرح استثناء.
إذا كان لديك حق الوصول إلى الثقافة المحايدة فقط, يمكن للتطبيق الخاص بك إنشاء كائن CultureInfo في التنسيق الذي يتوقعه CurrentCulture باستخدام الأسلوب CreateSpecificCulture . يقوم هذا الأسلوب بتعيين الثقافة المحايدة إلى الثقافة المعينة الافتراضية المقترنة، ثم يقوم بإنشاء كائن CultureInfo الذي يمثل تلك الثقافة المعينة. يستخدم مثال التعليمات البرمجية التالي الأسلوب CreateSpecificCulture لتعيين الثقافة المحايدة الألمانية ("de") إلى الثقافة المعينة الألمانية (ألمانيا) المعينة بـ "de-DE". ثم ينشئ كائن CultureInfo لـ "de-DE" و يستخدمه لتهيئة قيمة الخاصية CurrentCulture.
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture("de")
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture("de");
ملاحظة |
---|
هذا الأسلوب اختياري.إذا كان التعيين الذي يوفره غير مناسب للتطبيق الخاص بك، يمكن للتطبيق استخدام التعيين الخاص به. |
تعيين الخاصية CurrentCulture بشكل صريح في صفحة.aspx
يتيح أيضاً الأسلوب CreateSpecificCulture للتطبيق الخاص بك استخدام لغة مستعرض الويب الحالية لتهيئة الخاصية CurrentCulture في صفحة .aspx. في مثال التعليمات البرمجية التالي، تقوم الخاصية UserLanguages باسترجاع اللغة الحالية لمستعرض ويب كسلسلة. يقوم الأسلوب CreateSpecificCulture بتحليل هذه السلسلة و إرجاع كائن CultureInfo في تنسيق يمكن استخدامه لتهيئة قيمة الخاصية CurrentCulture.
' Sets the CurrentCulture property to the culture associated with the Web
' browser's current language setting.
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(Request.UserLanguages[0])
// Sets the CurrentCulture property to the culture associated with the Web
// browser's current language setting.
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(Request.UserLanguages[0]);
للحصول على مزيد من المعلومات حول استخدام الموارد في تطبيقات ASP.NET و استرجاعها، راجع الموارد في تطبيقات ASP.NET.
تعيين الخاصية CurrentCulture ضمنياً
في نظام التشغيل Windows، تقوم الدالة GetUserDefaultLCID بتعيين الخاصية CurrentCulture. يمكن للمستخدم تغيير إعداد هذه الخاصية عن طريق تغيير ثقافة المستخدم من خلال الخيارات الإقليمية و خيارات اللغة في "لوحة التحكم" أو عن طريق تغيير الإعدادات المتعلقة بالإعدادات المحلية للمستخدم مثل تنسيق العملة و الأرقام و التاريخ و الوقت.
إذا كنت تريد التأكد من أن التطبيق الخاص بك يستخدم التنسيقات الافتراضية المتوفرة في .NET Framework للعملة ، و الأرقام، و التاريخ، و الوقت لثقافة معينة، اضبط التطبيق ليتجاوز الإعدادات المحلية الافتراضية للمستخدم. يجب على التطبيق إنشاء كائن CultureInfo باستخدام التحميل الزائد لمُنشئ يقبل المعامل useUserOverride ، ثم قم بتعيين هذا المعامل إلى false. استخدام هذه التقنية يؤدي إلى تجاوز الإعدادات الافتراضية على نظام التشغيل الخاص بالمستخدم من قبل الإعدادات الافتراضية لـ .NET Framework. عند تنسيق العملة لأعضاء "الاتحاد الأوروبي" (EU) للتجارة باليورو، يجدر بالتطبيق الخاص بك تعيين المعامل useUserOverride إلى false للتأكد من استخدام رمز العملة الصحيح. للحصول على معلومات إضافية، راجع الموضوع الفرعي "تنسيق العملة لأمم اليورو" في الموضوع تنسيق البيانات الرقمية لثقافة محددة.
راجع أيضًا:
المبادئ
تنسيق البيانات الرقمية لثقافة محددة