الإعدادات المحلية و صفحات التعليمات البرمجية

يعكس المعرف المحلى الاصطلاحات المحلية و اللغة لمنطقة جغرافية معينة. قد تكون لغة معيّنة منطوقة في أكثر من دولة/إقليم واحد ; على سبيل المثال، البرتغالية المنطوقة في البرازيل أيضاً كما في البرتغال. وعلى العكس، قد تكون دولة/إقليم لديها أكثر من لغة رسمية. على سبيل المثال، كندا بها لغتان: الانجليزية و الفرنسية. لذلك، تحتوي كندا على اثنين من الإعدادات المحلية المختلفة: الإنجليزية-الكندية و الفرنسية-الكندية. تحتوي بعض الفئات المعتمدة على الإعدادات المحلية على تنسيق التواريخ و تنسيق العرض للقيم النقدية.

تحدد اللغة اصطلاحات تنسيق النص و البيانات، بينما تحدد البلد/المنطقة الاصطلاحات الدولية. تحتوي كل لغة على تعيين فريد مُمَثل بواسطة صفحة الترميز اللغوي ،والذي يتضمن أحرفاً غير تلك في الأبجدية (مثل علامات الترقيم و الأرقام). صفحة الترميز اللغوي هى مجموعة أحرف و تكون متعلقة باللغة. و يشبه ذلك، الإعدادات المحلية و هى مجموعة فريدة من اللغة و البلد/الإقليم و صفحة الترميز اللغوي. يمكن تغيير إعدادات الإعدادات المحلية و صفحة الترميز اللغوي في وقت التشغيل عن طريق استدعاء الدالة setlocale .

قد تستخدم اللغات المختلفة صفحات ترميز لغوي مختلفة . على سبيل المثال، يتم استخدام صفحة ترميز ANSI اللغوي 1252 للغة الإنجليزية و معظم اللغات الأوروبية و يتم استخدام صفحة ترميز ANSI اللغوي 932 للكانجي اليابانية. تتشارك كافة صفحات الترميز اللغوي ظاهرياً فى مجموعة أحرف ASCII الدنيا الـ 128 (من 0x00 إلى 0x7F).

يمكن تمثيل أية صفحة ترميز لغوي ببايت واحد في جدول (بـ 256 إدخال) كتعيين قيم وحدات البايت إلى أحرف (بما في ذلك علامات التنقيط و الأرقام) أو رموز. يمكن أيضاً تمثيل أية صفحة ترميز لغوي متعددة البايت كجدول كبير جداً (بـ 64 ألف إدخال) بأحرف لها قيم مزدوجة البايت. في الواقع العملي على كل حال، يتم عادةً تمثيله كجدول لأول 256 حرف (بايت مفرد) و كنطاقات قيم ذات بايت مزدوج.

للحصول على مزيد من المعلومات حول صفحة الترميز اللغوي ، راجع صفحات الترميز اللغوي .

مكتبة وقت التشغيل الخاصة بـ C لها نوعين من صفحات الترميز اللغوى الداخلي: الإعدادات المحلية و متعدد البايت. يمكنك تغيير صفحة الترميز اللغوي الحالية أثناء تنفيذ البرنامج (انظر الوثائق للدالات setlocale و _setmbcp ). أيضاً، قد تحصل مكتبة وقت التشغيل على قيمة صفحة الترميز اللغوي لنظام التشغيل واستخدامها. في Windows 2000، صفحة الترميز اللغوي لنظام التشغيل هى صفحة الترميز اللغوي "ANSI الافتراضي للنظام". صفحة الترميز اللغوي هذه ثابتة طوال مدة تنفيذ البرنامج.

عندما تتغير الإعدادات المحلية , يتغير سلوك مجموعة الدالات التى تعتمد على الإعدادات المحلية إلى تلك التي يتم تحديدها بواسطة صفحة الترميز اللغوي المختارة. بشكل افتراضي، تبدأ كافة الدالات المعتمدة على الإعدادات المحلية التنفيذ بصفحة رموز محلية فريدة للإعدادات المحلية لـ "C". يمكنك تغيير صفحة ترميز الإعدادات المحلية الداخلية (وكذلك الخصائص الخاصة بالإعدادات المحلية أخرى) بواسطة استدعاء دالة setlocale . يقوم استدعاء setlocale ("",(LC_ALL بتعيين الإعدادات المحلية المشار إليها بواسطة الإعدادات المحلية لنظام تشغيل المستخدم.

وبالمثل، عند تغير صفحة الترميز اللغوي متعدد البايت ،يتغير سلوك الدالات متعددة البايت إلى تلك المحددة بصفحة الترميز اللغوي المختارة. بشكل افتراضي، تبدأ كافة الدالات متعددة البايت التنفيذ بصفحة الترميز اللغوي متعددة البايت المطابقة لصفحة الترميز اللغوي الافتراضية لنظام التشغيل. يمكنك تغيير صفحة الترميز اللغوي متعددة البايت داخلياً عن طريق استدعاء دالة _setmbcp .

تقوم دالة وقت تشغيل C setlocale بتعيين أو تغيير, أو الاستعلام عن بعض أو كافة معلومات الإعدادات المحلية للبرنامج الحالي. الروتين _wsetlocale هو إصدار الحرف العريض لـ setlocale; الوسيطات وقيم الإرجاع لـ _wsetlocale سلاسل أحرف عريضة.

راجع أيضًا:

المبادئ

Unicode و MBCS

فوائد إمكانية نقل مجموعة الأحرف