最近几年来,地理信息系统无论是在理论上还是应用上都处在一个飞速发展的阶段。 GIS被应用于多个领域的建模和决策支持,如城市管理、区划、环境整治等等,地理信息成为信息时代重要的组成部分之一; “数字地球”概念的提出,更进一步推动了作为其技术支撑的GIS的发展。 与此同时,一些学者致力于相关的理论研究,如空间感知、空间数据误差、空间关系的形式化等等。 这恰好说明了地理信息系统作为应用技术和学科的两个方面,并且这两个方面构成了相互促进的发展过程。
Before we begin, let’s take a look at three important terms:
Internationalization (i18n): this means that a website provides different versions of the content translated into the language or nationality of the visitor.
Localization (l10n): this means adding resources to the site to adapt it to a specific geographical or cultural area, such as the translation of the site into Hindi.
Locale (locale): this is a special cultural or geographical area. It usuallyrefers to a language symbol followed by an underscore and a country symbol.For example, “en_US” represents the English locale for US.
There are some considerations when building a global website. This tutorial will not cover the full details of these considerations, but it will show you how to make web pages render in different languages through differentiated positioning (that is, locales).
Servlet can pick up the appropriate version of the website according to the requester’s regional settings, and provide the corresponding version of the website according to the local language, culture and needs. The following is``request`` object to return to Locale the method of the.
java.util.Locale request.getLocale()
2.23.1. Detect locale ¶
Important locale methods are listed below that you can use to detect the requester’s geographic location, language, and locale. All of the following methods display the country and language names set in the requestor’s browser.
Serial number | Method & description |
|---|---|
1 | String getCountry () this method returns the country code for the locale in ISO 3166 format in 2 uppercase letters. |
2 | String getDisplayCountry () this method returns the name of the country appropriate for the locale to be displayed to the user. |
3 | String getLanguage () this method returns the language code for the locale in lowercase ISO 639 format. |
4 | String getDisplayLanguage () this method returns the name of the language appropriate for the locale to be displayed to the user. |
5 | String getISO3Country () this method returns the three-letter abbreviation of the country in which the locale is set. |
6 | String getISO3Language () this method returns a three-letter abbreviation for the locale’s language. |
Example ¶
This example demonstrates how to display the language of a request and the relevant country:
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.util.Locale;
public class GetLocale extends HttpServlet{
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException
{
// Get the client's regional settings
Locale locale = request.getLocale();
String language = locale.getLanguage();
String country = locale.getCountry();
// Set response content type
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
String title = "Detection Area Settings";
String docType = " \n";
out.println(docType +
"\n" +
"" + title + "\n" +
"\"#f0f0f0\">\n" +
"\"center\">" + language + "\n" +
"\"center\">" + country + "\n" +
"");
}
}
2.23.2. Language setting ¶
Servlet can export pages written in Western European languages such as English, Spanish, German, French, Italian, Dutch, and so on. Here, in order to display all characters correctly, it is very important to set the Content-Language header.
The second point is to use the HTML entity to display all special characters, such as “& # 241;” for “ñ”, “& # 161;” for “”, as follows:
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.util.Locale;
public class DisplaySpanish extends HttpServlet{
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException
{
// Set response content type
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
// Set Spanish language code
response.setHeader("Content-Language", "es");
String title = "En Español";
String docType = " \n";
out.println(docType +
"\n" +
"" + title + "\n" +
"\"#f0f0f0\">\n" +
"" + "En Español:" + "\n" +
"" + "¡Hola Mundo!" + "\n" +
"");
}
}
2.23.3. Locale-specific date ¶
You can use the java.text.DateFormat class and its static methods getDateTimeInstance() to format locale-specific dates and times. The following example shows how to format a date specific to a given locale:
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.util.Locale;
import java.text.DateFormat;
import java.util.Date;
public class DateLocale extends HttpServlet{
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException
{
// Set response content type
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
// Get the client's regional settings
Locale locale = request.getLocale( );
String date = DateFormat.getDateTimeInstance(
DateFormat.FULL,
DateFormat.SHORT,
locale).format(new Date( ));
String title = "Regional specific dates";
String docType = " \n";
out.println(docType +
"\n" +
"" + title + "\n" +
"\"#f0f0f0\">\n" +
"\"center\">" + date + "\n" +
"");
}
}
2.23.4. Locale-specific currency ¶
You can use the java.text.NumberFormat class and its static methods getCurrencyInstance() to format numbers (such as long type or double type) is a locale-specific currency. The following example shows how to format a currency specific to a given locale:
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.util.Locale;
import java.text.NumberFormat;
import java.util.Date;
public class CurrencyLocale extends HttpServlet{
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException
{
// Set response content type
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
// Get the client's regional settings
Locale locale = request.getLocale( );
NumberFormat nft = NumberFormat.getCurrencyInstance(locale);
String formattedCurr = nft.format(1000000);
String title = "Currency specific to regional settings";
String docType = " \n";
out.println(docType +
"\n" +
"" + title + "\n" +
"\"#f0f0f0\">\n" +
"\"center\">" + formattedCurr + "\n" +
"");
}
}
2.23.5. Percentage specific to locale ¶
You can use the java.text.NumberFormat class and its static methods getPercentInstance() to format the percentage specific to the locale. The following example shows how to format a percentage specific to a given locale:
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.util.Locale;
import java.text.NumberFormat;
import java.util.Date;
public class PercentageLocale extends HttpServlet{
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException
{
// Set response content type
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
// Get the client's regional settings
Locale locale = request.getLocale( );
NumberFormat nft = NumberFormat.getPercentInstance(locale);
String formattedPerc = nft.format(0.51);
String title = "Region specific percentage";
String docType = " \n";
out.println(docType +
"\n" +
"" + title + "\n" +
"\"#f0f0f0\">\n" +
"\"center\">" + formattedPerc + "\n" +
"");
}
}
-
1. Angularjs2
8
-
1. SVG tutorial
19
-
1. Memcached
20
-
1. C# tutorial
61
-
1. Sqlite
47
-
2. Go
43
-
2. Docker
59
-
2. Vue3
19
-
2. Servlet
21
-
>
2.23. Servlet internationalization
-
2.11. Servlet exception handling
-
2.2. Servlet introduction
-
2.9. Servlet HTTP status code
-
2.8. Servlet server HTTP response
-
2.1. Servlet tutorial
-
2.12. Servlet Cookie processing
-
2.7. Servlet client HTTP request
-
2.14. Servlet database access
-
2.5. Servlet instance
-
3. React
23
-
3. SOAP tutorial
10
-
3. Android
18
-
3. Mongodb
44
-
3. Kotlin
18
-
4. Lua
31
-
4. MySQL tutorial
35
-
4. Appml
12
-
5. Perl
45
-
5. Postgresql
41
-
web
15
-
5. Web Services tutorial
6
-
6. Ruby
42
-
6. Design-pattern
35
-
7. Django
18
-
7. Rust
22
-
6. WSDL tutorial
8
-
8. Foundation
39
-
9. Ios
43
-
8. Css3
26
-
9. Swift
44
-
11. HTML tutorial-(HTML5 Standard)
54
-
12. Http
6
-
13. Regex
6
-
14. Regexp
8
-
1. Introduction to geographic information system
6
-
2. From the Real World to the Bit World
3
-
3. Spatial Data Model
7
-
4. 空间参照系统和 地图投影
5
-
5. Data in GIS
3
-
6. Spatial data acquisition
2
-
7. Spatial Data Management
6
-
8. Spatial analysis
8
-
9. 数字地形模型( DTM )与地形分析
5
-
10. 空间建模与 空间决策支持
6
-
11. Spatial data representation and map making
6
-
12. 3S Integration Technology
5
-
13. 网络地理信息系统
3
-
14. Examples of Geographic Information System Application
8
-
15. Organization and Management of Geographic Information System Application Projects
9
-
16. Geographic Information system Software Engineering Technology
6
-
17. Geographic Information System Standards
3
-
18. Geographic Information System and Society
3
-
19. Earth Information Science and Digital Earth
3