أكثر

قائمة رموز اللغة حسب البلد

قائمة رموز اللغة حسب البلد


هل يعرف أي شخص قائمة البلدان ذات الرموز اللغوية الرسمية المرتبطة بها؟ لم أجد أي شيء عن طريق Googling حتى الآن.

ما أبحث عنه هو شيء من هذا القبيل:

اسم البلد / رمز اللغة [...] بلغاريا (BG) bg بلجيكا (BE) nl ، fr [...]

بعض التوضيحات الإضافية:

كيف لا توجد علاقة بين دولة ما ولغتها (لغاتها) الرسمية؟

هذا ملائم في طلبي لأنني أريد إعادة توجيه شخص يصل إليه من الولايات المتحدة إلى $ {path} / us /en/ ، لذلك أحتاج إلى الحصول على علامة اللغة الرسمية. أحصل على رمز البلد من خدمة تحديد الموقع الجغرافي وأحتاج إلى رمز اللغة (الرسمي) المرتبط.

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

أردت معرفة ما إذا كانت هناك قائمة مجمعة بالفعل حتى لا أضطر إلى القيام بذلك يدويًا. إذا لم يكن هناك ، سأبني واحدة :).


يحتوي ملف countryInfo من http://geonames.org (http://download.geonames.org/export/dump/countryInfo.txt) على أسماء ورموز دول ولغات والكثير من المعلومات الأخرى. إنها قائمة مفصولة بعلامات جدولة ، لذا سيسمح لك awk أو أي محرر نصوص بتحديد الأعمدة التي تحتاجها فقط.


المعلومات التي تبحث عنها هي في الواقع معلومتان منفصلتان. لست متأكدًا من وجود علاقة مباشرة بين الاثنين.

رموز الدول متاحة على: www.iso.org/iso/english_country_names_and_code_elements

ورموز اللغة متاحة على: www.loc.gov/standards/iso639-2/php/code_list.php

يعتبر خلط أجزاء المعلومات معًا أمرًا يتم إجراؤه في "المواقع". يبدو أن هذا شيء غير قياسي حقيقي. يبدو أن الكثير من الشركات تفعل ذلك بمفردها وحتى أنها توفر أدوات مساعدة لدعم ذلك في أشياء مثل Java (انظر http://java.sun.com/developer/technicalArticles/J2SE/locale/).

يحتوي هذا الموقع على مزيد من المعلومات حول علامات اللغة: www.langtag.net/.

راجع للشغل ، العلاقة بين رموز البلدان ورمز اللغة ليست ذات مغزى في تطبيق المستخدم. هناك الكثير من المستخدمين في بلد ما يستخدمون لغات "غير أصلية". (IE: شخص ما في الولايات المتحدة يستخدم اللغة الصينية ، أو العكس.)


أدى البحث في Stack Overflow عن "قائمة الإعدادات المحلية" إلى ما يلي:

https://stackoverflow.com/questions/3191664/list-of-all-locales-and-their-short-codes

قم برمي إحدى هذه القوائم في لغة البرمجة المفضلة لديك ، وبعد ذلك يمكنك عمل جدول مثل ما تريد.


تم ترتيب الرموز أبجديًا حسب كود alpha-3 / ISO 639-2

http://www.loc.gov/standards/iso639-2/php/code_list.php

عبر google> wiki> موقع خارجي


قائمة النظم المرجعية الوطنية للإحداثيات

ال قائمة أنظمة الإحداثيات المرجعية الوطنية يسرد (CRS) الإسقاطات الجغرافية الموصى بها رسميًا للبلدان الحالية. بالنظر إلى أن كل إسقاط جغرافي لبلد ما وحقيقته الكروية على سطح مستو يولد مسافات وأشكال وتشوهات مناطق محددة ومعروفة جيدًا ، تختلف احتياجات كل بلد من أجل تقليل هذه التشوهات. أيضًا ، تحتاج كل دولة ، من أجل تمثيل مساحتها الجغرافية ، إلى اختيار إسقاط جغرافي مناسب ومنخفض التشوه. يتم الإعلان رسميًا عن هذه التوقعات الوطنية ، أو أنظمة التنسيق المرجعية الوطنية من قبل الوكالات الوطنية ذات الصلة. القائمة أدناه عبارة عن مجموعة من أنظمة التنسيق المرجعية الوطنية الرسمية المتاحة.

بالنسبة لأوروبا ، تتوفر التوصيات لكل دولة (Annoni & amp al. 2001: 43-44) ، وكذلك بالنسبة للاتحاد الأوروبي المكون من 15 دولة ، و 27 دولة ، ولأوروبا الجغرافية الأكبر (Annoni & amp al. 2001: 16). أهم مشروع يجمع الإسقاطات الجغرافية هو مشروع EPSG Geodetic Parameter Dataset الذي يتضمن حوالي 4000 موضوع والتوقعات المناسبة المرتبطة به ، مع توقعات سيئة السمعة لجميع البلدان الرئيسية. هذه الإسقاطات والإطارات متاحة للجمهور عبر الإنترنت على مواقع مختلفة. [1]


البيانات الجغرافية والكيانات أمبير

() & # 8212 استخدام علم اللغة الحر لتحديد الكيانات الجغرافية والخصائص وما إلى ذلك.

تمثيل البنى الجغرافية & # 187

كيان و [مدش] كيان جغرافي من النوع المحدد (على سبيل المثال )

CommonName & mdash الاسم الشائع القابل للطباعة لكيان جغرافي

تحديد GeoVariant & [مدش] متغيرات الكيانات (على سبيل المثال الولايات المتحدة مع أو بدون ألاسكا)

يتعامل GeoGroup & mdash مع كائنات جغرافية متعددة كمجموعة واحدة لأغراض الحساب

خصائص الموقع الجغرافي

GeoPosition & [مدش] البحث عن الموقع الجغرافي لكيان جغرافي معين

GeoNearest & [مدش] يعثران على أقرب كائن من نوع معين إلى موقع

GeoIdentify & [مدش] تحديد البلد ، والولاية ، وما إلى ذلك موقع معين في

يحدد GeoWithinQ & [مدش] ما إذا كان موقع معين داخل منطقة محددة

تقدم GeoEntities & [مدش] قائمة بالكيانات الجغرافية من نوع معين في منطقة

GeoDistance & [مدش] البحث عن المسافة بين الكيانات الجغرافية أو المواقع

WikipediaSearch & [مدش] البحث عن إدخالات ويكيبيديا بالقرب من موقع معين

الوقت وخصائص ضوء النهار

LocalTime و LocalTimeZone و [مدش] البحث عن التوقيت المحلي والمنطقة الزمنية في موقع معين

رسم الخرائط ، وما إلى ذلك & # 187

GeoListPlot & [مدش] مؤامرة المواقع والمسارات على الخريطة

GeoRegionValuePlot & [مدش] إنشاء خريطة حرارة جغرافية

تحصل GeoGraphics و [مدش] على خرائط عالمية مخصصة بأي مقياس

GeoStyling و [مدش] الوصول إلى أنماط خرائط مختلفة (& quotOutlineMap & quot ، & quotStreetMap & quot ، & quotReliefMap & quot ،.)

GeomagneticModelData و [مدش] بيانات المجال المغناطيسي الحالية والتاريخية

GeogravityModelData & [مدش] مجال الجاذبية للأرض

الكيانات وبيانات أمبير للجغرافيا السياسية

البلاد و [مدش] البلدان والأقاليم ، مع مئات من الخصائص

HistoricalCountry و [مدش] 2000+ دول تاريخية معروفة

الأقسام الإدارية و [مدش] الولايات والمقاطعات والمحافظات وما إلى ذلك في جميع أنحاء العالم

المدن و [مدش] والمدن والأماكن المأهولة بالسكان في جميع أنحاء العالم

CountryData و CityData و [مدش] الوصول المتخصص إلى البيانات حول البلدان والمدن

الكيانات وبيانات أمبير للجغرافيا المادية & # 187

GeographicRegion & [مدش] القارات ومناطق كبيرة أخرى على الأرض

المحيطات والمحيطات والبحار وغيرها من أجسام المياه المالحة الكبيرة

الجبال و [مدش] الجبال والتلال البارزة وغيرها من المعالم البارزة في جميع أنحاء العالم

بيانات عن النقاط الجغرافية المهمة

المطارات و [مدش] 10000+ المطارات ومهابط الطائرات ومهابط طائرات الهليكوبتر في جميع أنحاء العالم

بناء و [مدش] المباني البارزة وناطحات السحاب والأبراج وغيرها من الهياكل

الجامعات و [مدش] مؤسسات التعليم العالي

البيانات ذات الصلة & # 187

WikipediaData & [مدش] معلومات كاملة من ويكيبيديا حول جميع الكيانات والمواضيع الجغرافية

استيراد البيانات الجغرافية المكانية & # 187

استيراد بيانات الاستيراد و mdash مع الحفاظ على بنية الرمز والتعليقات التوضيحية وما إلى ذلك.


أين متعلمي اللغة الإنجليزية؟

تقوم التحليلات التالية بتجميع المناطق التعليمية والمدارس في أربع فئات بناءً على النسبة المئوية للطلاب الذين كانوا متعلمي الإنجليزية: مرتفع (20 بالمائة أو أكثر كانوا متعلمي الإنجليزية) ، متوسط ​​(5 بالمائة إلى 20 بالمائة) ، منخفض (طالب واحد على الأقل في دارسي الإنجليزية ، ولكن أقل من 5 في المائة) ، ولا يوجد متعلمون آخرون. تكشف التحليلات أن متعلمي اللغة الإنجليزية لم يتم توزيعهم بالتساوي في جميع أنحاء البلاد ، بل تم تجميعهم في نسبة صغيرة نسبيًا من المناطق والمدارس.

يتركز متعلمي اللغة الإنجليزية بشكل كبير في المناطق والمدارس مع أقرانهم في برنامج تعلم الإنجليزية.

تسلط هذه الرسوم البيانية الضوء على حقيقة أن متعلمي اللغة الإنجليزية لم يتم توزيعهم بالتساوي في جميع المناطق. في 2014-2015 ، التحق ما يقرب من نصف جميع متعلمي الإنجليزية في المقاطعات القليلة نسبيًا (7 بالمائة) مع نسبة عالية من متعلمي الإنجليزية ، في حين أن إجمالي 75 بالمائة من المقاطعات التحقوا إما بنسبة منخفضة من متعلمي الإنجليزية أو لا يوجد متعلمي الإنجليزية على الإطلاق. لا يبدو أن تكتل متعلمي الإنجليزية في هذه المناطق يُعزى فقط إلى حجم المقاطعات ، حيث أن هذه المقاطعات نفسها سجلت 15 بالمائة فقط من إجمالي عدد الطلاب بشكل عام.

على غرار بيانات المنطقة التعليمية ، نرى أن طلاب دارسي الإنجليزية لم يتم توزيعهم بالتساوي في جميع المدارس أيضًا. التحق أكثر من 60 بالمائة من المدارس إما بنسبة منخفضة من متعلمي الإنجليزية أو لا يوجد متعلمي الإنجليزية على الإطلاق. في 2014-2015 ، التحق 15 بالمائة فقط من المدارس بنسبة عالية من متعلمي الإنجليزية. ومع ذلك ، فإن 61 في المائة من جميع متعلمي اللغة الإنجليزية في الدولة حيث التحقوا بنسبة 15 في المائة من المدارس. هذه المدارس نفسها سجلت فقط 16 في المائة من إجمالي عدد الطلاب ، مما يشير إلى ارتفاع تركيز متعلمي اللغة الإنجليزية المتجمعين في هذه المدارس.


التدويل: فهم اللغة في منصة جافا

اللغة والبيئة الجغرافية هما تأثيران مهمان على ثقافتنا. إنهم ينشئون النظام الذي نترجم فيه الأشخاص والأحداث الأخرى في حياتنا. كما أنها تؤثر ، بل إنها تحدد ، الشكل المناسب لتقديم أنفسنا وأفكارنا للآخرين. للتواصل بشكل فعال مع شخص آخر ، يجب علينا مراعاة واستخدام ثقافة ذلك الشخص ولغته وبيئته.

وبالمثل ، يجب أن يحترم نظام البرمجيات لغة مستخدميه والمنطقة الجغرافية ليكون فعالاً. تشكل اللغة والمنطقة لغة محلية ، والتي تمثل الإعداد الهدف والسياق للبرنامج المترجم. تستخدم منصة Java كائنات java.util.Locale لتمثيل المواقع. توضح هذه المقالة الكائن Locale وآثاره على البرامج المكتوبة لمنصة Java.

تنقسم هذه المقالة إلى الأقسام التالية:

محتويات

تعريف

تحدد المواقع لغة ومنطقة جغرافية معينة. تستخدم الكائنات الحساسة للإعدادات المحلية كائنات java.util.Locale لتخصيص كيفية تقديم البيانات وتنسيقها للمستخدم. تؤثر اللغات المحلية على لغة واجهة المستخدم وتعيين الحالة والترتيب (الفرز) وتنسيقات التاريخ والوقت وتنسيقات الأرقام والعملات. تعد المناطق المحلية مهمة للعديد من عمليات البيانات الحساسة ثقافيًا ولغويًا.

يعد java.util.Locale كائنًا خفيف الوزن يحتوي فقط على عدد قليل من العناصر المهمة:

عند الكتابة أو التحدث عن اللغات ، يمكنك استخدام اختصار النص للتمثيل المناسب. يفصل هذا الترميز بين كل مكون من الإعدادات المحلية بحرف شرطة سفلية:

& ltlanguage code & gt [_ & ltcountry code & gt [_ & ltvariant code & gt]]

توفر هذه العناصر الثلاثة معلومات كافية للكائنات الأخرى الحساسة للغة بحيث يمكنها تعديل سلوكها لغرض لغوي أو ثقافي معين. على سبيل المثال ، فإن الكائن java.text.NumberFormat الذي تم إنشاؤه للغة سويسرية ناطقة بالألمانية سوف يقوم بتنسيق الأرقام بشكل مختلف عن تلك الخاصة بالإعدادات المحلية النمساوية الناطقة بالألمانية. انظر الجدول 1.

الجدول 1. يختلف الإخراج المنسق حسب الإعدادات المحلية

لغة أرقام منسقة
الألمانية ألمانيا) 123.456,789
الألمانية (سويسرا) 123'456.789
انجليزية الولايات المتحدة) 123,456.789

نظرًا لأن كائنات الإعدادات المحلية هي مجرد معرفات ، فإن الفئات الحساسة للغة مثل java.text.NumberFormat أو java.text.DateFormat تقوم بكل العمل لتوفير تنسيقات الأرقام أو التاريخ المترجمة. تستخدم فئة java.text.DateFormat ، على سبيل المثال ، كائن لغة أثناء إنشاء مثيل لها لتحديد كيفية تنسيق التواريخ بشكل صحيح.

تصف المقاطع التالية كل مكون من الإعدادات المحلية.

رموز اللغة

يتم تعريف رموز اللغة بواسطة ISO 639 ، وهو معيار دولي يقوم بتعيين رموز ثنائية وثلاثة أحرف لمعظم لغات العالم. تستخدم الإعدادات المحلية الرموز المكونة من حرفين لتحديد اللغة الهدف. يسرد الجدول 2 العديد من رموز اللغات هذه.

الجدول 2. أمثلة على رمز اللغة في معيار ISO 639

لغة رمز
عربى أر
ألمانية دي
الإنجليزية en
الأسبانية إس
اليابانية جا
اللغة العبرية هو

تعد اللغة مكونًا مهمًا للغة لأنها تصف اللغة التي تستخدمها مجموعة معينة من العملاء. ستستخدم تطبيقاتك هذه المعلومات لتوفير واجهة مستخدم تتوافق مع لغة العميل.

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

رموز البلد (المنطقة)

يتم تحديد رموز البلدان بواسطة ISO 3166 ، وهو معيار دولي آخر. وهي تحدد الاختصارات المكونة من حرفين وثلاثة أحرف لكل دولة أو منطقة رئيسية في العالم. على عكس رموز اللغات ، يتم تعيين رموز البلدان بأحرف كبيرة. يوضح الجدول 3 عددًا قليلاً من الرموز المحددة. تستخدم الإعدادات المحلية الرموز المكونة من حرفين بدلاً من الرموز المكونة من ثلاثة أحرف التي يحددها هذا المعيار أيضًا.

الجدول 3. بعض رموز الدول المحددة في معيار ISO 3166

دولة رمز
الولايات المتحدة الأمريكية نحن
كندا كاليفورنيا
فرنسا FR
اليابان JP
ألمانيا DE

تعتبر رموز البلدان مكونًا مهمًا للإعدادات المحلية لأن java.text.Format كائنات للتواريخ والوقت والأرقام والعملة حساسة بشكل خاص لهذا العنصر. تضيف أكواد البلد الدقة إلى مكون اللغة لإحدى اللغات. على سبيل المثال ، يتم استخدام الفرنسية في كل من فرنسا وكندا. ومع ذلك ، يختلف الاستخدام الدقيق والتعبيرات الاصطلاحية في البلدين. يمكن التقاط هذه الاختلافات باستخدام محددات مواقع محلية مختلفة يختلف فيها رمز البلد فقط. على سبيل المثال ، يختلف الكود fr_CA (كندا الناطقة بالفرنسية) عن fr_FR (فرنسا الناطقة بالفرنسية).

كود البديل

يمكن لنظام التشغيل (OS) والمتصفح وموردي البرامج الآخرين استخدام الكود لتوفير وظائف إضافية أو تخصيصات غير ممكنة من خلال تحديد اللغة والبلد فقط. على سبيل المثال ، قد تحتاج شركة برمجيات إلى الإشارة إلى منطقة محلية لنظام تشغيل معين ، لذلك قد يقوم مطوروها بإنشاء موقع es_ES_MAC أو es_ES_WIN لأنظمة تشغيل Macintosh أو Windows للعملاء في إسبانيا.

أحد الأمثلة التاريخية من منصة Java نفسها هو استخدام متغير EURO للمناطق الأوروبية التي تستخدم عملة اليورو. خلال الفترة الانتقالية لتلك البلدان ، استخدم Java 2 Platform، Standard Edition (J2SE) الإصدار 1.3 هذا المتغير. على سبيل المثال ، على الرغم من وجود لغة de_DE (ألمانيا الناطقة بالألمانية) ، تمت إضافة de_DE_EURO (اللغة الألمانية الناطقة بالألمانية مع متغير اليورو) إلى بيئة Java. نظرًا لأن عملة اليورو هي الآن المعيار للدول المتأثرة ، فقد تمت إزالة هذه المتغيرات في J2SE 1.4. ربما لن تتطلب معظم تصميمات التطبيقات رموزًا مختلفة.

بناء

لفئة اللغة المحلية عدة صانعين:

  • لغة (لغة سلسلة)
  • الإعدادات المحلية (لغة السلسلة ، بلد السلسلة)
  • الإعدادات المحلية (لغة السلسلة ، بلد السلسلة ، متغير السلسلة)

يوضح ما يلي كيف يمكن استخدام كل مُنشئ:

باستخدام رمز ISO 639 المكون من حرفين ، يمثل en اللغة الإنجليزية. تمثل أكواد ISO 3166 CA و US كندا والولايات المتحدة ، على التوالي: يوضح آخر سطر من التعليمات البرمجية أعلاه كيفية إنشاء لغة باستخدام متغير اختياري: لغة en_US_SiliconValley. هذه الإعدادات المحلية أكثر تحديدًا من المثيل الأول. لا يقتصر الأمر على اللغة المحلية التي تتحدث الإنجليزية الأمريكية ، ولكنها مرتبطة أيضًا بمتغير إضافي ، SiliconValley. نظرًا لأن أحد أغراضه هو تزويد المطورين بالقدرة على تحديد لغات مخصصة ، يمكن أن يكون المتغير أي شيء تحتاجه.

على الرغم من أن برنامج التحويل البرمجي وبيئة وقت التشغيل لن يشتكي إذا قمت بتكوين معرفات اللغة والبلد أو المنطقة الخاصة بك ، إلا أنه يجب عليك استخدام الأكواد التي تحددها معايير ISO فقط. من خلال تقييد نفسك بتعريفات ISO ، ستضمن التوافق مع التطبيقات ومعايير الترميز الأخرى. الأهم من ذلك ، تستخدم مكتبات الفئات الحساسة للغة رموز ISO فقط. على سبيل المثال ، ستفهم فئة java.text.NumberFormat كيفية التصرف مع لغة de_DE (اللغة الألمانية ، ألمانيا) ، لكنها لن تفهم ما يجب فعله باستخدام لغة foo_biz الوهمية. إذا كنت تستخدم معرفات غير ISO ، فسيتعين عليك كتابة رمز حساس للغة لدعمها.

لغات تم بناؤها مسبقا

تحتوي فئة الإعدادات المحلية على العديد من الحقول الثابتة التي تمثل كائنات الإعدادات المحلية التي تم إنشاء مثيل لها. على سبيل المثال ، يعد Locale.FRANCE كائنًا محليًا ثابتًا تم إنشاؤه مسبقًا يمثل فرنسا الناطقة بالفرنسية. يمكنك استخدام Locale.FRANCE في أي مكان قد تستخدم فيه لغة جديدة ("fr" ، "FR"). يوضح الجدول 4 بعض كائنات الإعدادات المحلية التي تم إنشاؤها مسبقًا والمتاحة.

الجدول 4. بعض كائنات الإعدادات المحلية التي تم بناؤها مسبقًا

اسم المنطقة لغة
اللغة. الصين zh_CN
اللغة. الصين zh
الإعدادات المحلية. SIMPLIFIED_CHINESE zh_CN
الإعدادات المحلية. TRADITIONAL_CHINESE zh_TW
اللغة zh_CN
اللغة. تايوان zh_TW
اللغة en
اللغة ar_GB
الموقع ar_US
اللغة fr_FR
اللغة الفرنسية الاب

توجد مواقع تم إنشاؤها مسبقًا للراحة. ومع ذلك ، فإن قائمة ثوابت الفئة الثابتة صغيرة وغير كاملة. لا يتم تمثيل كل لغة مهمة. لا يتم تحديد دعم الفئة الحساسة للإعدادات المحلية من خلال ما إذا كانت الإعدادات المحلية موجودة باعتبارها ثابت فئة الإعدادات المحلية. على سبيل المثال ، لا توجد ثوابت لفئة الإعدادات المحلية في أمريكا الجنوبية ، ومع ذلك فهي تتمتع بدعم كامل من قبل عدة فئات حساسة للإعدادات المحلية بما في ذلك DateFormat و NumberFormat.

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

تحديد اللغات المدعومة

ما هي اللغات التي تدعمها منصة Java؟ يمكنك إنشاء أي موقع تريده. ومع ذلك ، قد لا تدعم بيئة وقت التشغيل بشكل كامل كائن الإعدادات المحلية الذي تقوم بإنشائه.

إذا كنت تريد معرفة كائنات الإعدادات المحلية التي يمكنك إنشاؤها ، فإن الإجابة بسيطة: يمكنك إنشاء أي موقع تريده. لن يشتكي المنشئون من الحجج غير التابعة لـ ISO. ومع ذلك ، هناك إعادة صياغة أكثر فائدة للسؤال وهي: ما هي المناطق التي توفر فيها مكتبات الفصل معلومات أكثر شمولاً؟ ما هي اللغات التي يمكن للمكتبات توفير معلومات التجميع والوقت والتاريخ والرقم والعملات الخاصة بها؟ أيضًا ، قد تسأل عن البرامج النصية أو أنظمة الكتابة التي تدعمها بيئة وقت التشغيل الخاصة بك.

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

اللغات الممكّنة في حزم java.util و java.text

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

بالإضافة إلى ذلك ، لا توجد متطلبات بأن تدعم كافة تطبيقات وقت التشغيل نفس مجموعة الإعدادات المحلية. لكن يجب أن تدعم جميع التطبيقات قائمة قليلة منها. هذه القائمة قصيرة جدًا: الإنجليزية (الولايات المتحدة). لحسن الحظ ، فإن بيئة وقت التشغيل التي توفرها Sun هي أكثر شمولاً. على الرغم من أنه ليس مطلوبًا رسميًا ، إلا أن تنفيذ وقت تشغيل Sun يدعم نفس مجموعة الإعدادات المحلية في كل فئة من فئات تنسيق البيانات الحساسة للإعدادات المحلية. يوفر هذا مجموعة متسقة من الدعم عبر الفصول الدراسية. يوفر دليل اللغات المدعومة لمنصة J2SE 5.0 قائمة كاملة بجميع اللغات المدعومة. يوضح الجدول 5 عددًا قليلاً من اللغات المدعومة.

الجدول 5. بعض اللغات المدعومة في حزم java.util و java.text

لغة دولة معرف اللغة
عربى المملكة العربية السعودية ar_SA
الصينية المبسطة) الصين zh_CN
تقاليد صينية) تايوان zh_TW
اللغة الهولندية هولندا nl_NL
الإنجليزية أستراليا ar_AU
الإنجليزية كندا en_CA
الإنجليزية المملكة المتحدة ar_GB
الإنجليزية الولايات المتحدة الأمريكية ar_US
الفرنسية كندا fr_CA
الفرنسية فرنسا fr_FR
ألمانية ألمانيا دي_دي
اللغة العبرية إسرائيل هو_IL
هندي الهند مرحبا في
إيطالي إيطاليا انها
اليابانية اليابان ja_JP
الكورية كوريا الجنوبية ko_KR
البرتغالية البرازيل pt_BR
الأسبانية إسبانيا es_ES
السويدية السويد sv_SE
التايلاندية (الأرقام الغربية) تايلاند th_TH
التايلاندية (أرقام تايلاندية) تايلاند th_TH_TH

لمعرفة المواقع التي تدعمها Java Runtime Environment (JRE) ، عليك أن تسأل كل فئة حساسة للغة. ستنفذ كل فئة تدعم عدة لغات طريقة getAvailableLocales (). فمثلا،

الإعدادات المحلية [] localeList = NumberFormat.getAvailableLocales ()

يتم تنفيذ طريقة getAvailableLocales () في العديد من الفئات في حزم java.text و java.util. على سبيل المثال ، يوفرها NumberFormat و DateFormat و Calendar و BreakIterator.

فئة اللغة نفسها مترجمة لعدة لغات. في المثال أدناه ، يوفر مثيل اللغة الألمانية معلومات عن نفسه باللغة الإنجليزية (الافتراضي على مضيف المؤلف) ، والألمانية ، والفرنسية:

سيبدو الإخراج كالتالي:

تمكين دعم البرنامج النصي

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

بشكل عام ، يمكن لمكونات AWT المنقحة عرض البرامج النصية التي يدعمها المضيف الأساسي. إذا تمت ترجمة نظامك المضيف إلى اللغة العربية ، فستعرض مكونات نص AWT باللغة العربية. في النظام العربي ، ستتمكن أيضًا من إدخال نص عربي في مكونات مثل TextField أو TextArea. ومع ذلك ، لا يمكنك توقع أن تعرض مكونات AWT نفسها نصًا ليس في نفس البرنامج النصي مثل المضيف المترجم. لن يتمكن المضيف الإنجليزي عادةً من عرض اللغة العربية في حقل نصي ، على سبيل المثال. على الرغم من ذلك ، يمكن لمكونات Java Foundation Classes / Swing (JFC / Swing) دعم العديد من البرامج النصية نظرًا لاستقلالها عن النظام الأساسي المضيف واستخدامها لـ Unicode كمجموعة أحرف متعددة النصوص. لذلك ، يمكن لمكونات التأرجح في كثير من الأحيان عرض برنامج نصي حتى عندما لا تتمكن مكونات AWT ذات النظرة من ذلك. يوضح الجدول 6 بعض البرامج النصية المدعومة.

الجدول 6. بعض البرامج النصية المدعومة لعرض النص

نظام الكتابة لغة
عربى عربى
الصينية المبسطة) صينى
تقاليد صينية) صينى
الديفاناغارية هندي
اللغة العبرية اللغة العبرية
اليابانية اليابانية
الكورية الكورية
اللاتينية: مجموعة فرعية من أوروبا الغربية الإنجليزية والفرنسية والألمانية والإيطالية والإسبانية والسويدية وما إلى ذلك
التايلاندية التايلاندية
اليونانية اليونانية
السيريلية البيلاروسية والروسية وهلم جرا
اللاتينية: مجموعة فرعية من البلطيق اللاتفية ، الليتوانية
اللاتينية: مجموعة فرعية من وسط أوروبا التشيكية والهنغارية والبولندية وهلم جرا
اللاتينية: مجموعة فرعية تركية التركية وهلم جرا

تعريب JRE و SDK

تمت ترجمة عناصر واجهة المستخدم في بيئة وقت التشغيل لعدة لغات. تتضمن هذه العناصر مكونات AWT و Swing والرسائل الأخرى التي تم إنشاؤها بواسطة JRE والأدوات المضمنة. يوضح الجدول 7 جميع الترجمات المقدمة لـ J2SE 5.0.

الجدول 7. ترجمات واجهة المستخدم لـ JRE

لغة معرف اللغة
الصينية المبسطة) zh_CN
تقاليد صينية) zh_TW
الإنجليزية en
الفرنسية الاب
ألمانية دي
إيطالي هو - هي
اليابانية جا
الكورية كو
الأسبانية إس
السويدية سيفيرت

بعض الأدوات ، مثل مترجم Javac ، تأتي فقط مع J2SE Software Development Kit (SDK). توفر هذه الأدوات رسائل خطأ وتحذير وإعلام للمستخدم. تلك الرسائل الموجودة في أدوات وأدوات SDK ، بما في ذلك المترجم ، تُترجم إلى الإنجليزية واليابانية. هذه الترجمات متوفرة في J2SE 5.0 SDK.

تمثيل الإعدادات المحلية كسلسلة

على الرغم من أن معظم استخدامك للإعدادات المحلية سيتطلب مرجع كائن لغة ، إلا أنه من الملائم أحيانًا استخدام تمثيل بديل ، خاصةً لأغراض التصحيح الداخلي. تقوم طريقة toString () الخاصة بكائن محدد بإرجاع سلسلة عبارة عن سلسلة من رموز اللغة والمنطقة والمتغيرات. تفصل طريقة toString () كل مكون بحرف التسطير _. قد ترغب في استخدام هذه الطريقة أثناء تصحيح الأخطاء لأنها توفر تمثيلاً مناسبًا ومقروءًا.

ضع في اعتبارك اللغة التي تم إنشاؤها باستخدام هذا الرمز:

اللغة l = الإعدادات المحلية الجديدة ("ja"، "JP")

سيعود التابع toString () ja_JP لهذه الإعدادات المحلية.

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

باستخدام لغة

على الرغم من عدم وضوحها دائمًا ، يتم استخدام الكائنات المحلية في جميع مكتبات فئة Java. حتى عندما لا تسأل صراحةً عن تفضيلات اللغة ، تستخدم بيئة Java إعدادات الإعدادات المحلية الافتراضية لتزويدك بالمعلومات المحلية والسلوك. عند استخدام لغة صريحة ، يمكنك استخدام إعدادات محلية مختلفة لكل جزء من التطبيق الخاص بك.

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

تقوم بعض الفئات الحساسة للغة بتنسيق الأرقام والعملات والتواريخ والوقت. يوفر البعض الآخر خدمات التجميع وكذلك فك الكلمات. ستوفر الفصول عادةً مُنشئًا أو طريقة مصنع لإنشاء مثيلات. في كل حالة ، عادة ما يكون لديك خيار توفير تفضيلات محلية صريحة.

استخدام لغة افتراضية

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

استرجع اللغة الافتراضية باستخدام الطريقة التالية:

الإعدادات المحلية الثابتة العامة getDefault ()

يتم تحديد الإعدادات المحلية الافتراضية للتطبيق الخاص بك بثلاث طرق. أولاً ، ما لم تكن قد غيرت الإعداد الافتراضي صراحةً ، فإن طريقة getDefault () ترجع الإعدادات المحلية التي تم تحديدها في البداية بواسطة Java Virtual Machine (JVM) عند تحميلها لأول مرة. أي أن JVM تحدد الإعدادات المحلية الافتراضية من بيئة النظام الرئيسي. يتم تحديد الإعدادات المحلية لبيئة المضيف بواسطة نظام التشغيل المضيف وتفضيلات المستخدم المحددة على هذا النظام.

ثانيًا ، في بعض تطبيقات وقت تشغيل Java ، يمكن لمستخدم التطبيق تجاوز اللغة الافتراضية للمضيف من خلال توفير هذه المعلومات في سطر الأوامر عن طريق تعيين خصائص النظام user.language و user.country و user.variant.

ستطبع الكود التالي موقعًا مختلفًا بناءً على قيمة هذه الخصائص عند استدعائها:

يمكنك تجربة مثال الكود أعلاه. يعمل على نظام اللغة الإنجليزية الأمريكية ، يطبع الكود أعلاه en_US. إذا قمت بتوفير خيارات سطر الأوامر كما هو موضح أعلاه ، فيمكنك إقناع تطبيقك باستخدام أي لغة تحتاجها. على سبيل المثال ، يمكنك استدعاء التطبيق مثل هذا:

java -Duser.language = fr -Duser.country = CA افتراضي

هذا الاستدعاء يطبع fr_CA على أنه الإعدادات المحلية الافتراضية.

ثالثًا ، يمكن للتطبيق الخاص بك استدعاء طريقة setDefault (لغة aLocale). تسمح طريقة setDefault (لغة aLocale) لتطبيقك بتعيين مورد على مستوى النظام. بعد تعيين الإعدادات المحلية الافتراضية باستخدام هذه الطريقة ، ستعيد الاستدعاءات اللاحقة إلى Locale.getDefault () الإعدادات المحلية المحددة حديثًا.

ملاحظة: احرص على عدم استدعاء setDefault () في التطبيقات الصغيرة. لن يسمح لك Security Manager باستدعاء هذه الطريقة لأنها تؤثر على مورد على مستوى النظام داخل JVM يعمل على المضيف.

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

NumberFormat nf = NumberFormat.getInstance ()

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

استخدام لغة صريحة

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

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

من أجل الحصول على أكبر قدر من المرونة ، يجب أن تطلب دعمًا صريحًا للإعدادات المحلية المستهدفة لكل فئة حساسة للإعدادات المحلية تستخدمها. هذا يعني أنه يجب عليك تتبع تفضيلات الإعدادات المحلية لجوانب متعددة من التطبيق أو تعيين تفضيلات الإعدادات المحلية لمستخدمين وعملاء مختلفين.

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

استرجاع معلومات اللغة

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

معلومات محلية مستقلة

تعرض طريقة getLanguage () اختصار ISO 639 المكون من حرفين للغة المنطقة المحلية. على سبيل المثال ، إذا قمت بإنشاء الإعدادات المحلية ja_JP ، فإن هذه الطريقة تُرجع الكود ja. التوقيع الكامل للطريقة هو

سلسلة getLanguage العامة ()

يحدد امتداد معيار ISO 639 رموز اللغة المكونة من ثلاثة أحرف. على الرغم من أن هذه الرموز لا تُستخدم حاليًا في J2SE 5.0 ، إلا أن الرموز متاحة. استخدم الطريقة التالية لاسترداد رمز اللغة المكون من ثلاثة أحرف:


Окализация названий приложений

основных настройках приложения в разделе настроек Steamworks можно вести локализованные названия продукк. Они будут отображаться пользователям, использующим Steam на том или ином языке.

Если вы зададите локализованные названия в разделе настроек, они заменят любые названия, указанные для страницы в магазине на этом языке, так что локализованное название на странице в магазине всегда будет соответствовать названию, которое пользователь видит в библиотеке.

Локализованное название используется в поисковых предложениях для пользователей на этом языке, а исходное (не локализованное) название будет запасным вариантом. Кроме того, некоторые устаревшие приложения и API могут не распознавать язык и отображать исходное название.

Package Names can be localized as well. Select the package you would like to add a localized name to, click edit package name, then add localized name.


Country and State Reports

Explore the physical geography, human geography, and cultures of countries around the world.

Geography, Human Geography, Physical Geography

Get ideas for ways to explore the physical geography, human geography, and cultures of countries around the world.

More Ideas Like This

Make a Flag

Choose a country and recreate the country's flag using construction paper and markers or any other art supplies. On the back, write the name of the country, its capital city, its area, the size of its population, the language or languages its population speaks, and the currency. A country's flag is a representation of its identity. If you can find information on it, include what the colors or shapes on the flag represent or the history of the flag.

State Flags

Identify the state flags of the United States and your state. Also identify national and state symbols, such as birds and flowers.

Learn State Names and Capitals

Label a map of the United States with the names of each state and its capital city. To help you remember the names of all fifty states, learn the song "Fifty Nifty United States." Make sure the capital cities are marked in their correct locations. Use the MapMaker 1-Page Maps to print a map of the United States. Be sure to turn off the capital and state names.

Research a Country's Population

Pick one of the ten most populous countries and print a map of it using the MapMaker 1-Page Maps. On the map, write the country's population, average income, and life expectancy. Create a theory about what life might be like in this country. Then read about the country. Does what you learn make you want to revise your theory?

Population Pyramid

Explore the population of a country. How many people live there? What is the largest age bracket? What is the population growth rate—taking into account births, deaths, and migration? Look at the country's population pyramid.

Suggested countries: China, Canada, Ukraine, Philippines, New Zealand

Government Structures

Choose a country and explore its type of government. What is the basic form of government? How is it structured? What legal system does it use? How old do you have to be to vote? What is the relationship between local and national governments?

Suggested countries: Australia, Luxembourg, United Arab Emirates, Switzerland, Libya, Monaco, North Korea, Micronesia, Brunei

Explore the Area of a Country

What is the total number of square miles or square kilometers? How much of that is land and how much is water? How does the country rank compared to area in the rest of the countries of the world? What U.S. state, if any, is the country comparable to?

Suggested countries: Australia, Chile, Burkina Faso, Thailand, Spain, Qatar

Ethnic and Religious Groups

Research the major ethnic and religious groups in a country. Compare ethnic or cultural celebrations in your country and other countries. Summarize the contributions of selected ethnic groups to your national identity.

Suggested countries: Mexico, India, Fiji, Egypt, Ireland

اعتمادات وسائل الإعلام

يتم تسجيل الصوت والرسوم التوضيحية والصور ومقاطع الفيديو أسفل أصول الوسائط ، باستثناء الصور الترويجية ، والتي ترتبط بشكل عام بصفحة أخرى تحتوي على رصيد الوسائط. صاحب الحقوق لوسائل الإعلام هو الشخص أو المجموعة التي يُنسب لها الفضل.

Writer

Editor

Jessica Shea, National Geographic Society

Photo Researcher

للحصول على معلومات حول أذونات المستخدم ، يرجى قراءة شروط الخدمة الخاصة بنا. إذا كانت لديك أسئلة حول كيفية الاستشهاد بأي شيء على موقعنا على الويب في مشروعك أو عرضك في الفصل الدراسي ، فيرجى الاتصال بمعلمك. سيعرفون بشكل أفضل التنسيق المفضل. عندما تصل إليهم ، ستحتاج إلى عنوان الصفحة وعنوان URL وتاريخ وصولك إلى المورد.

وسائط

إذا كان أحد أصول الوسائط قابلاً للتنزيل ، فسيظهر زر التنزيل في زاوية عارض الوسائط. إذا لم يظهر أي زر ، فلا يمكنك تنزيل الوسائط أو حفظها.

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

التفاعلات

لا يمكن تشغيل أي تفاعلات على هذه الصفحة إلا أثناء زيارتك لموقعنا على الويب. لا يمكنك تنزيل المواد التفاعلية.

موارد ذات الصلة

Landforms and Landscapes

Search through these resources to discover more about unique landforms and landscapes around the world. Landforms are natural and distinctive features. Explore how they show up in various landscapes. These resources can be used to teach middle schoolers more about the natural world, its distinctive features, and landscapes.

Research Examples of Physical Geography

Students explore how specific features of physical geography affect nearby country borders. They conduct research on the North Sea, Scandinavia, the Strait of Gibraltar, and the Netherlands.

Fun with Geography

Get ideas for how to have fun with geography in your daily life.

More Physical Geography and Borders

Students research four additional examples of physical geography and borders. They explore how mountains, oceans, and islands create physical barriers that affect the country borders in Europe.

موارد ذات الصلة

Landforms and Landscapes

Search through these resources to discover more about unique landforms and landscapes around the world. Landforms are natural and distinctive features. Explore how they show up in various landscapes. These resources can be used to teach middle schoolers more about the natural world, its distinctive features, and landscapes.

Research Examples of Physical Geography

Students explore how specific features of physical geography affect nearby country borders. They conduct research on the North Sea, Scandinavia, the Strait of Gibraltar, and the Netherlands.

Fun with Geography

Get ideas for how to have fun with geography in your daily life.

More Physical Geography and Borders

Students research four additional examples of physical geography and borders. They explore how mountains, oceans, and islands create physical barriers that affect the country borders in Europe.


Glossary:Country codes

Member States of the European Union (EU) and other countries have been assigned a two-letter country code, always written in capital letters, and often used as an abbreviation in statistical analyses, tables, figures or maps.


ال protocol order in which countries are often listed is based on the alphabetical list of countries in their national language for EU and EFTA Member States and for candidate countries for potential candidates, it is based on the alphabetical order of their country code.

EU Member States come first, followed by European Free Trade Association (EFTA) Member States, candidate countries for EU membership, potential candidates and, finally, other countries. The order in the tables below is first column down, then second column down, etc..

Belgium (BE) Greece (EL) Lithuania (LT) Portugal (PT)
Bulgaria (BG) Spain (ES) Luxembourg (LU) Romania (RO)
Czechia (CZ) France (FR) Hungary (HU) Slovenia (SI)
Denmark (DK) Croatia (HR) Malta (MT) Slovakia (SK)
ألمانيا (DE) Italy (IT) Netherlands (NL) Finland (FI)
Estonia (EE) Cyprus (CY) Austria (AT) Sweden (SE)
أيرلندا (IE) Latvia (LV) Poland (PL)

European Free Trade Association (EFTA)

Iceland (IS) Norway (NO)
Liechtenstein (LI) Switzerland (CH)

EU candidate countries

Montenegro (ME)
North Macedonia (MK)
Albania (AL)
Serbia (RS)
Turkey (TR)

Potential candidates (all other Western Balkan countries)

Bosnia and Herzegovina (BA)
Kosovo* (XK Ώ] )

Armenia (AM) Belarus (BY) Georgia (GE)
Azerbaijan (AZ) Moldova (MD) Ukraine (UA)

European Neighbourhood Policy (ENP)-South countries:

Algeria (DZ) Lebanon (LB) Syria (SY)
Egypt (EG) Libya (LY) Tunisia (TN)
Israel (IL) Morocco (MA)    
Jordan (JO) Palestine ΐ] (PS)    

Other European countries


Non-European countries

Argentina (AR) China (except Hong Kong) (CN_X_HK) المكسيك (MX) South Africa (ZA)
Australia (AU) Hong Kong (HK) نيجيريا (NG) South Korea (KR)
Brazil (BR) الهند (IN) New Zealand (NZ) تايوان (TW)
Canada (CA) Japan (JP) Singapore (SG) الولايات المتحدة الأمريكية (US)

(*) This designation is without prejudice to positions on status, and is in line with UNSCR 1244/1999 and the ICJ Opinion on the Kosovo declaration of independence. (with asterisk and footnote in written documents, only the first time that Kosovo is mentioned).


041 Language Code (R)

The codes for the languages associated with an item when the fixed-field element Lang is insufficient to convey full information for multilingual items, items that are translations, or items where a medium of communication is a sign language.

The language codes found in schemes listed in Language Code and Term Source Codes may be used in field 041. OCLC prefers the use of MARC codes as found in MARC Code List for Languages. You may repeat 041 to include MARC codes if you use non-MARC codes. ملحوظة: Instructions and examples in this section will reflect the use of MARC codes.

You may also use field 546 to record language information in textual form.

Use field 041 in conjunction with Lang. لو Lang is coded zxx (No Linguistic Content), do ليس record a code in field 041 in subfield ǂa or subfield ǂd. لو Lang contains a code other than zxx, record the same code from Lang in field 041 in subfield ǂa or subfield ǂd.

  • The item contains more than one language one of which may be a sign language
  • The item is or includes a translation
  • The language of the abstracts, accompanying material, or summaries differs from the language of the main item
  • The language of a table of contents differs from the language of the main item

يفعل ليس use field 041 to record the MARC language code if there is only one language associated with the item already recorded in Lang.

Record codes for languages associated with the data and/or user interface (e.g., screen displays). يفعل ليس use for machine languages (e.g., COBOL) or character codes (e.g., ASCII). Record such information in field 538.

Record codes for languages for the following linguistic content:

  • The score has text underlying printed music
  • The audio recording has sung or spoken text
  • The libretto has text presented separately
  • The language of accompanying text (e.g., critical commentary, program notes) differs from the language of the main item

Also record the following if readily ascertainable:

  • Original language of printed, sung, or spoken text
  • Original language of text presented separately (e.g., librettos)
  • Original language of accompanying text

Use for motion pictures, filmstrips, slides, transparencies, and videorecordings when:

  • The sound track has different language versions
  • The accompanying sound (discs, tapes, etc.) has different language versions
  • The overprinted titles (subtitles) or separate titles for silent films are in different languages
  • The sound accompanying a work is in one language and the same text is printed on the work in the form of overprinted titles in another language
  • Accompanying printed scripts are in multiple languages (e.g., one is in Spanish, one is in French, one is in English, etc.)
  • The medium of communication includes sign language

Field 041 may also be used to record additional language-related information about written or original languages on motion pictures and videorecordings.

For original or historical projectable graphic material, opaque graphic material, and three dimensional material, use when:

  • The language associated with the material (i.e., captions or other text associated with the item or collection that are part of the preferred source of information) is multilingual
  • The language of the accompanying material differs from the language associated with the item or collection

1st Indicator

Translation indication. Whether the work is or includes a translation. Assign the 1st indicator position from the content of the item itself. Accompanying material is not considered when determining if an item is a translation.

ملحوظة: When printed music contains a translation of a vocal text printed as text, the item is considered a translation, so use value 1.

No information provided.

Item not a translation/does not include a translation. The work is not a translation or does not include a translation.

Item is or includes a translation. The work is or includes a translation and is used regardless of whether the work in the original language has been published. If, however, the translated work is not entered under the preferred name/title or title for the original, for example, because the translation also involved adaptation, then the item is not considered a translation and the 1st indicator value is 0.

2nd Indicator

Source of code. The source of the language code used in the field.

MARC language code. The source of the code is MARC Code List for Languages.

Source specified in subfield ǂ2 . The source of the language code is indicated by a code in subfield ǂ2.

Subfields

The code for the language associated with the item. لو Lang is coded zxx (No Linguistic Content), do ليس record a code in subfield ǂa. لو Lang contains a code other than zxx, record the same code from Lang in subfield ǂa.

Lang: eng
041 0 eng ǂa fre ǂa ger
[The item has text in English, French, and German]

For works in multiple languages, the codes for the languages are recorded in the order of their predominance. If predominance cannot be determined, record the codes in English alphabetical order. If the code mul (Multiple languages) is recorded in Lang (meaning the item is multilingual with no predominant language), the code for the title (or the first title, if there are more than one) and the code mul are recorded. Alternatively, any number of specific language codes may be recorded in repeating occurrences of subfield ǂa.

Lang: fre
041 0 fre ǂa eng
[The item has text in French (the predominant language) and English]
Lang: mul
041 0 mul ǂa rus
[The item has multilingual text with no predominant language and the title is in Russian]
Lang: sgn
041 0 sgn ǂa eng
[The item contains representations of the alphabet in sign language with minimal English text on title page]

When a work is a translation or includes a translation, the code for the language of the translation is recorded in subfield ǂa. The code for the language of the original work is recorded in subfield ǂh. The code for the language of an intermediate translation is recorded in subfield ǂk. If an item is in the original language with an accompanying translation, repeated subfields ǂa contain the codes for the languages of the translation and the original. The code for the original is also recorded in subfield ǂh.

Lang: eng
041 1 eng ǂh fre
[The item has text in English translated from French]
Lang: eng
041 1 eng ǂk ger ǂh swe
[The item has text in English translated from German originally published in Swedish]
Lang: eng
041 1 eng ǂa grc ǂh grc
[The item has text in both the original Greek and in an English translation]
Lang: eng
041 1 eng ǂh und
[The item has text in English and the original language is undetermined]
Lang: eng
041 1 eng ǂh mul
[The anthology of poems has text translated into English from multiple languages]

ل continuing resources, when the language of the text changes over a period of time, record the codes for all of the languages.

Lang: eng
041 0 eng ǂa afr
546 In English, 1898-1963 English and Afrikaans, 1964-
[The language of the item has changed over time]

ل computer files, record the language code associated with the data and/or user interface (e.g., screen displays) in subfield ǂa.

Lang: eng
041 0 eng ǂa spa
546 Interface in English citations chiefly in Spanish.
[The database has an English language interface with data chiefly in Spanish]

ل musical works, record the language code corresponding to the textual contents in subfield ǂa only when the work is printed or manuscript music. If the work is an audio recording, record the language code in subfield ǂd.

Lang: ita
041 1
ǂd ita ǂe ita ǂe eng ǂn ita ǂg eng
546 Sung in Italian.
500 Program notes in English, and libretto with English translation (30 pages : illustrations 14 cm) inserted in container.
[The audio recording of a vocal work sung in Italian with accompanying program notes in English and libretto in Italian with English translation]
Lang: ita
041 1 ita ǂa ger ǂh ita ǂg eng ǂg ger ǂm eng
546 Italian words with German translation.
500 Preface by Andrew V. Jones in English with German translation.
[The score of a vocal work has lyrics in Italian with a German translation accompanied by an English preface with a German translation]

ل moving image resources, subfield ǂa contains the language code of spoken or sung language associated with the item, as well as sign language and any language code of the languages of accompanying sound. Code languages used to provide access to a resource in an accessible alternative mode as appropriate in either subfields ǂp, ǂq, or ǂr.

ل projected still images, such as filmstrips and slides, subfield ǂa contains the language code associated with the item, as well as any language code of the languages of accompanying printed script or accompanying sound. For all other still images, including original or historical graphic material and opaque and non-opaque graphic material, and for three-dimensional artifacts, subfield ǂa contains the code of languages associated with the material, i.e. captions or other text associated with the item or collection that are part of the preferred source of information.

The language code for summaries or abstracts regardless of whether they are the same or different from the languages recorded in subfield ǂa. Record multiple language codes in English alphabetical order.

Lang: eng
041 0 eng ǂb fre ǂb ger ǂb rus
[The item has text in English with summaries in French, German, and Russian]

ل audio recordings, use for the language code of the accompanying material summaries that are not full translations of vocal works. Use also if a nonmusical audio recording has summaries of its contents as accompanying material.

The language code for the audible portion of an item, usually the sung or spoken content of an audio recording or computer file. Record the language code for the textual portion of an item in subfield ǂa. The language code in the first occurrence of subfield ǂd, in cases where there is no subfield ǂa, is also recorded in Lang.

The language code of the printed text when the item contains the vocal/textual content of the work(s) printed as text whether as accompanying material or printed with the item. This subfield is not restricted to librettos and may include other sung or spoken text. However, do ليس use subfield ǂe for items covered by subfield ǂg.

The language code of the table of contents when it differs from the language of the text. Record the language codes in English alphabetical order.

The language code of accompanying material other than summaries or librettos when the material is considered significant. Use for codebooks, commentaries, manuals, prefaces, program notes, user instructions, etc.

Lang: ita
041 0 ǂd ita ǂg eng ǂg ita
[The audio recording of a vocal work sung in Italian with program notes in English and Italian]

ل visual materials, use subfield ǂg for all accompanying material, except for accompanying printed script or accompanying sound which are recorded in subfield ǂa.

The language code for the original language. Original language may be recorded regardless of whether the 1st indicator indicates a translation (value 1). The language code is for the original language of the primary content of the item and it is not required to use it if the item is not a translation. The subfield follows the related subfields ǂa, ǂd, ǂh, or ǂk.

When indicating the original language of subsidiary materials (e.g., other liner notes, etc.), subfield ǂm is used.

Language code of the intertitles or title cards for silent films. Intertitles are filmed text that is shown between the scenes of a silent film to provide dialogue or narrative context.

Language code for the written language providing access to moving image materials, such as subtitles and silent film intertitles. It does not include the languages of the credits, packaging, or accompanying material. If needed, the language of credits is recorded in field 546 and the language of packaging or accompanying material is recorded in subfield ǂg.

Language code for an intermediate language between the original and the current translation, where the resource was translated from an intermediate language other than the original. The subfield follows the related subfield ǂa or ǂd.

Language code of original language of subsidiary materials other than librettos. The subfield follows the related subfield ǂb or ǂg.

Language code of original language of printed text of the vocal/textual content of the work. The subfield follows the related subfield ǂe.

Language code for language used in moving image resource captions, whether open captioning (Subtitles for the Deaf and Hard of Hearing (SDH)) or closed captioning (CC).

Language code for audio used as an alternative mode of access to the visual or textual content of a resource, e.g, Described Video, a supplementary audio track providing additional access to moving image visual content using audio description.

Language code for the visual language (non-textual) used to provide alternative access to the audio content of a resource, e.g., signed languages.

For resources where signed language is the primary mode of access, subfield ǂa should be used to record the language code for signed language.

Language code of the printed text of the spoken content for non-musical audiovisual works. For musical audiovisual works, the language code of the printed text of the sung and/or spoken content of the work should be recorded in subfield ǂe.

The source of the language code scheme used in the field. For MARC codes, see Language Code and Term Source Codes. For ISO codes, see Codes for the Representations of Names of Languages.

Data that link fields when non-Latin script is entered. This subfield is system supplied and does not appear in OCLC online displays. يفعل ليس manually add subfield ǂ6. For more information about subfield ǂ6, see Control Subfields.

For information about subfield ǂ8, see Control Subfields.

Indexing

For indexing and searching information, see Searching WorldCat Indexes, field 041.

MARC 21

For more information, including content designator history, see MARC 21 Format for Bibliographic Data, field 041.


26 Answers 26

I think the main problem here is that the browser settings don't actually affect the navigator.language property that is obtained via javascript.

What they do affect is the HTTP 'Accept-Language' header, but it appears this value is not available through javascript at all. (Probably why @anddoutoi states he can't find a reference for it that doesn't involve server side.)

I have coded a workaround: I've knocked up a google app engine script at http://ajaxhttpheaders.appspot.com that will return you the HTTP request headers via JSONP.

(Note: this is a hack only to be used if you do not have a back end available that can do this for you. In general you should not be making calls to third party hosted javascript files in your pages unless you have a very high level of trust in the host.)

I intend to leave it there in perpetuity so feel free to use it in your code.

Here's some example code (in jQuery) for how you might use it

Hope someone finds this useful.

Edit: I have written a small jQuery plugin on github that wraps this functionality: https://github.com/dansingerman/jQuery-Browser-Language

Edit 2: As requested here is the code that is running on AppEngine (super trivial really):

window.navigator.userLanguage is IE only and it's the language set in Windows Control Panel - Regional Options and NOT browser language, but you could suppose that a user using a machine with Window Regional settings set to France is probably a French user.

navigator.language is FireFox and all other browser.

Some language code: 'it' = italy, 'en-US' = english US, etc.

As pointed out by rcoup و The WebMacheter in comments below, this workaround won't let you discriminate among English dialects when users are viewing website in browsers other than IE.

window.navigator.language (Chrome/FF/Safari) returns always browser language and not browser's preferred language, but: "it's pretty common for English speakers (gb, au, nz, etc) to have an en-us version of Firefox/Chrome/Safari." Hence window.navigator.language will still return en-US even if the user preferred language is en-GB .

Now there is a way to get Accept-Languages in Firefox and Chrome using navigator.languages (works in Chrome >= 32 and Firefox >= 32)

Also, navigator.language in Firefox these years reflects most preferred language of content, not language of UI. But since this notion is yet to be supported by other browsers, it is not very useful.

So, to get most preferred content language when possible, and use UI language as fallback:

I came across this piece of code to detect browser's language in Angular Translate module, which you can find the source here. I slightly modified the code by replacing angular.isArray with Array.isArray to make it independent of Angular library.

I only needed the primary component for my needs, but you can easily just use the full string. Works with latest Chrome, Firefox, Safari and IE10+.

navigator.userLanguage for IE

window.navigator.language for firefox/opera/safari

I've been using Hamid's answer for a while, but it in cases where the languages array is like ["en", "en-GB", "en-US", "fr-FR", "fr", "en-ZA"] it will return "en", when "en-GB" would be a better match.

My update (below) will return the first long format code e.g. "en-GB", otherwise it will return the first short code e.g. "en", otherwise it will return null.

Update: IE11 was erroring when some properties were undefined. Added a check to skip those properties.

There is no decent way to get that setting, at least not something browser independent.

But the server has that info, because it is part of the HTTP request header (the Accept-Language field, see http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.4)

So the only reliable way is to get an answer back from the server. You will need something that runs on the server (like .asp, .jsp, .php, CGI) and that "thing" can return that info. Good examples here: http://www.developershome.com/wap/detection/detection.asp?page=readHeader

I've just come up with this. It combines newer JS destructuring syntax with a few standard operations to retrieve the language and locale.

I can't find a single reference that state that it's possible without involving the serverside.

In Microsoft Internet Explorer 4.0 and earlier, the browserLanguage property reflects the language of the installed browser's user interface. For example, if you install a Japanese version of Windows Internet Explorer on an English operating system, browserLanguage would be ja.

In Internet Explorer 5 and later, however, the browserLanguage property reflects the language of the operating system regardless of the installed language version of Internet Explorer. However, if Microsoft Windows 2000 MultiLanguage version is installed, the browserLanguage property indicates the language set in the operating system's current menus and dialogs, as found in the Regional Options of the Control Panel. For example, if you install a Japanese version of Internet Explorer 5 on an English (United Kingdom) operating system, browserLanguage would be en-gb. If you install Windows 2000 MultiLanguage version and set the language of the menus and dialogs to French, browserLanguage would be fr, even though you have a Japanese version of Internet Explorer.

Note This property does not indicate the language or languages set by the user in Language Preferences, located in the Internet Options dialog box.

Furthermore, it looks like browserLanguage is deprecated cause IE8 doesn't list it