Latest web development tutorials

بريمج الدولية

قبل أن نبدأ، دعونا ننظر إلى ثلاث فترات مهمة:

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

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

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

java.util.Locale request.getLocale () 

لغة الكشف

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

序号方法 & 描述
1String getCountry()
该方法以 2 个大写字母形式的 ISO 3166 格式返回该区域设置的国家/地区代码。
2String getDisplayCountry()
该方法返回适合向用户显示的区域设置的国家的名称。
3String getLanguage()
该方法以小写字母形式的 ISO 639 格式返回该区域设置的语言代码。
4String getDisplayLanguage()
该方法返回适合向用户显示的区域设置的语言的名称。
5String getISO3Country()
该方法返回该区域设置的国家的三个字母缩写。
6String getISO3Language()
该方法返回该区域设置的语言的三个字母的缩写。

أمثلة

يوضح هذا المثال كيفية عرض اللغة الوطنية ذات الصلة والطلب:

java.io. استيراد *؛
javax.servlet استيراد *؛
javax.servlet.http استيراد *؛
استيراد java.util.Locale.

الطبقة العامة GetLocale يمتد HttpServlet {
    
  doGet باطلة العامة (HttpServletRequest الطلب،
                    HttpServletResponse الاستجابة)
            يلقي ServletException، IOException
  {
      // احصل على لغة العميل لغة لغة = request.getLocale ()؛
      لغة سلسلة = locale.getLanguage ()؛
      البلاد سلسلة = locale.getCountry ()؛

      // تعيين نوع محتوى استجابة response.setContentType ( "نص / HTML؛ محارف = UTF-8")؛
      PrintWriter خارج = response.getWriter ()؛

      عنوان سلسلة = "إعدادات منطقة الكشف".
      سلسلة DOCTYPE = "\ ن <DOCTYPE HTML!>".
      out.println (DOCTYPE +
        "<HTML> \ ن" +
        "<رئيس> <العنوان>" + عنوان + "</ عنوان> </ رأس> \ ن" +
        "<الجسم BGCOLOR = \" # f0f0f0 \ "> \ ن" +
        "<H1 محاذاة = \" مركز \ ">" + اللغة + "</ H1> \ ن" +
        "<H2 محاذاة = \" مركز \ ">" + البلد + "</ H2> \ ن" +
        "</ BODY> </ HTML>")؛
  }
} 

إعدادات اللغة

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

والنقطة الثانية هي استخدام الكيانات HTML لعرض كافة الأحرف الخاصة، مثل "& # 241؛" يمثل "N"، "& # 161؛" يعني "¡" على النحو التالي:

java.io. استيراد *؛
javax.servlet استيراد *؛
javax.servlet.http استيراد *؛
استيراد java.util.Locale.

الطبقة العامة DisplaySpanish يمتد HttpServlet {
    
  doGet باطلة العامة (HttpServletRequest الطلب،
                    HttpServletResponse الاستجابة)
            يلقي ServletException، IOException
  {
    // تعيين نوع محتوى استجابة response.setContentType ( "نص / HTML؛ محارف = UTF-8")؛
    PrintWriter خارج = response.getWriter ()؛
    // تعيين اللغة الأسبانية كود response.setHeader ( "المحتوى واللغة"، "وفاق")؛

    عنوان سلسلة = "أون إسبا & ntilde؛ رأ".
    سلسلة DOCTYPE = "\ ن <DOCTYPE HTML!>".
     out.println (DOCTYPE +
     "<HTML> \ ن" +
     "<رئيس> <العنوان>" + عنوان + "</ عنوان> </ رأس> \ ن" +
     "<الجسم BGCOLOR = \" # f0f0f0 \ "> \ ن" +
     "<H1>" + "أون إسبا & ntilde؛ رأ:" + "</ H1> \ ن" +
     "<H1>" + "& iexcl؛! حولا موندو" + "</ H1> \ ن" +
     "</ BODY> </ HTML>")؛
  }
} 

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

يمكنك استخدام الطبقة java.text.DateFormat وأساليب ثابتة getDateTimeInstance () لتنسيق التاريخ والوقت المحدد للغة. يوضح المثال التالي كيفية تنسيق موعد محدد للغة معينة:

java.io. استيراد *؛
javax.servlet استيراد *؛
javax.servlet.http استيراد *؛
استيراد java.util.Locale.
استيراد java.text.DateFormat.
استيراد java.util.Date.

الطبقة العامة DateLocale يمتد HttpServlet {
    
  doGet باطلة العامة (HttpServletRequest الطلب،
                    HttpServletResponse الاستجابة)
            يلقي ServletException، IOException
  {
    // تعيين نوع محتوى استجابة response.setContentType ( "نص / HTML؛ محارف = UTF-8")؛
    PrintWriter خارج = response.getWriter ()؛
    // احصل على لغة العميل لغة لغة = request.getLocale ()؛
    تاريخ سلسلة = DateFormat.getDateTimeInstance (
                                  DateFormat.FULL، 
                                  DateFormat.SHORT، 
                                  لغة) .format (تاريخ جديد ())؛

    عنوان سلسلة = "التاريخ لغة محددة".
    سلسلة DOCTYPE = "\ ن <DOCTYPE HTML!>".
      out.println (DOCTYPE +
      "<HTML> \ ن" +
      "<رئيس> <العنوان>" + عنوان + "</ عنوان> </ رأس> \ ن" +
      "<الجسم BGCOLOR = \" # f0f0f0 \ "> \ ن" +
      "<H1 محاذاة = \" مركز \ ">" + تاريخ + "</ H1> \ ن" +
      "</ BODY> </ HTML>")؛
  }
} 

العملة لغة محددة

يمكنك استخدام الطبقة java.text.NumberFormat وأساليب ثابتة getCurrencyInstance () لتنسيق الأرقام (مثل نوع طويل مزدوج أو نوع)، ولغة عملة محددة. يوضح المثال التالي كيفية تنسيق عملة معينة إلى لغة معينة:

java.io. استيراد *؛
javax.servlet استيراد *؛
javax.servlet.http استيراد *؛
استيراد java.util.Locale.
استيراد java.text.NumberFormat.
استيراد java.util.Date.

الطبقة العامة CurrencyLocale يمتد HttpServlet {
    
  doGet باطلة العامة (HttpServletRequest الطلب،
                    HttpServletResponse الاستجابة)
            يلقي ServletException، IOException
  {
    // تعيين نوع محتوى استجابة response.setContentType ( "نص / HTML؛ محارف = UTF-8")؛
    PrintWriter خارج = response.getWriter ()؛
    // احصل على لغة العميل لغة لغة = request.getLocale ()؛
    NumberFormat NFT = NumberFormat.getCurrencyInstance (المحلية)؛
    سلسلة formattedCurr = nft.format (1000000).

    عنوان سلسلة = "العملة لغة محددة".
    سلسلة DOCTYPE = "\ ن <DOCTYPE HTML!>".
      out.println (DOCTYPE +
      "<HTML> \ ن" +
      "<رئيس> <العنوان>" + عنوان + "</ عنوان> </ رأس> \ ن" +
      "<الجسم BGCOLOR = \" # f0f0f0 \ "> \ ن" +
      "<H1 محاذاة = \" مركز \ ">" + formattedCurr + "</ H1> \ ن" +
      "</ BODY> </ HTML>")؛
  }
} 

النسبة المئوية لغة محددة

يمكنك استخدام الطبقة java.text.NumberFormat وأساليب ثابتة getPercentInstance () لتنسيق لغة محددة مئوية. يوضح المثال التالي كيفية تنسيق نسبة محددة إلى لغة معينة:

java.io. استيراد *؛
javax.servlet استيراد *؛
javax.servlet.http استيراد *؛
استيراد java.util.Locale.
استيراد java.text.NumberFormat.
استيراد java.util.Date.

الطبقة العامة PercentageLocale يمتد HttpServlet {
    
  doGet باطلة العامة (HttpServletRequest الطلب،
                    HttpServletResponse الاستجابة)
            يلقي ServletException، IOException
  {
    // تعيين نوع محتوى استجابة response.setContentType ( "نص / HTML؛ محارف = UTF-8")؛
    PrintWriter خارج = response.getWriter ()؛
    // احصل على لغة العميل لغة لغة = request.getLocale ()؛
    NumberFormat NFT = NumberFormat.getPercentInstance (المحلية)؛
    سلسلة formattedPerc = nft.format (0.51)؛

    عنوان سلسلة = "لغة نسبة محددة".
    سلسلة DOCTYPE = "\ ن <DOCTYPE HTML!>".
      out.println (DOCTYPE +
      "<HTML> \ ن" +
      "<رئيس> <العنوان>" + عنوان + "</ عنوان> </ رأس> \ ن" +
      "<الجسم BGCOLOR = \" # f0f0f0 \ "> \ ن" +
      "<H1 محاذاة = \" مركز \ ">" + formattedPerc + "</ H1> \ ن" +
      "</ BODY> </ HTML>")؛
  }
}