In Java Servlet wird die Internationalisierung durch die Verwendung internationalisierter Ressourcenpakete und Locale-Klassen erreicht. Die spezifischen Schritte sind wie folgt: Erstellen Sie internationalisierte Ressourcenpakete (.properties-Dateien), um verschiedene Sprachen (_Sprachcode) bzw. Länder (_Ländercode) zu speichern . übersetzter Text. Verwenden Sie die Locale-Klasse, um die aktuellen Gebietsschemaeinstellungen abzurufen. Laden Sie das richtige Ressourcenpaket über ResourceBundle.getBundle. Verwenden Sie bundle.getString, um den übersetzten Text für den entsprechenden Schlüssel abzurufen. Legen Sie das Standardgebietsschema über Locale.setDefault fest. Verwenden Sie request.getLocale, um das angeforderte Gebietsschema abzurufen. Verwenden Sie EL-Ausdrücke, um übersetzten Text in einer Ansicht anzuzeigen.
So unterstützen Sie die Internationalisierung in Java-Servlets
Einführung
Internationalisierung ist der Prozess, bei dem eine Anwendung mehrere Sprachen und Kulturen unterstützt. In Java-Servlets wird die Internationalisierung mithilfe internationalisierter Ressourcenpakete und der Klasse Locale
implementiert. Locale
类来实现。
国际化资源束
国际化资源束是一组翻译好的字符串,用于不同语言的文本。它们以 .properties
文件的形式存储,文件名遵循以下格式:[基本文件名]_[语言代码]_[国家代码].properties
。例如,一个包含英文文本的资源束可以命名为 messages_en_GB.properties
。
创建资源束
要创建一个资源束,请按照以下步骤操作:
.properties
文件。KEY=VALUE
实例
下面是一个包含英语和西班牙语文本的资源束示例:
// messages_en_GB.properties welcome=Welcome username=Username // messages_es_ES.properties welcome=Bienvenido username=Nombre de usuario
使用 Locale
类
Locale
类表示特定语言和国家的设置。它用于从资源束中获取正确翻译的字符串。
读取资源束
要读取资源束,请使用以下代码:
ResourceBundle bundle = ResourceBundle.getBundle("messages", Locale.getDefault());
这将加载与当前 Locale
匹配的资源束。
获取翻译的字符串
要获取翻译的字符串,请使用以下代码:
String welcomeText = bundle.getString("welcome");
这将检索与指定键对应的翻译的字符串。
实战案例
1. Servlet 初始化
在 Servlet 初始化方法中,我们可以设置默认 Locale
:
@Override public void init() { Locale defaultLocale = Locale.getDefault(); Locale.setDefault(defaultLocale); }
2. 响应请求
在响应请求时,我们可以根据请求的 Locale
Internationalisierungsressourcenpaket
Das Internationalisierungsressourcenpaket ist ein Satz übersetzter Zeichenfolgen für Text in verschiedenen Sprachen. Sie werden als.properties
-Dateien mit Dateinamen im folgenden Format gespeichert: [Basisdateiname]_[Sprachcode]_[Ländercode].properties
. Beispielsweise könnte ein Ressourcenpaket mit englischem Text den Namen messages_en_GB.properties
haben. Erstellen eines Ressourcenpakets
🎜🎜Um ein Ressourcenpaket zu erstellen, führen Sie die folgenden Schritte aus: 🎜.properties
-Datei. @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) { ResourceBundle bundle = ResourceBundle.getBundle("messages", request.getLocale()); request.setAttribute("welcomeText", bundle.getString("welcome")); }
<h1>${welcomeText}</h1>
Locale
-Klasse 🎜🎜🎜Locale repräsentiert sprach- und länderspezifische Einstellungen. Es wird verwendet, um korrekt übersetzte Zeichenfolgen aus Ressourcenpaketen abzurufen. 🎜🎜🎜Ressourcenpaket lesen🎜🎜🎜Um ein Ressourcenpaket zu lesen, verwenden Sie den folgenden Code: 🎜rrreee🎜Dadurch wird das Ressourcenpaket geladen, das dem aktuellen <code>Locale
entspricht. 🎜🎜🎜Übersetzte Zeichenfolge abrufen🎜🎜🎜Um die übersetzte Zeichenfolge abzurufen, verwenden Sie den folgenden Code: 🎜rrreee🎜Dadurch wird die übersetzte Zeichenfolge abgerufen, die dem angegebenen Schlüssel entspricht. 🎜🎜🎜Praktischer Fall🎜🎜🎜🎜1. Servlet-Initialisierung🎜🎜🎜In der Servlet-Initialisierungsmethode können wir den Standard-Locale
festlegen: 🎜rrreee🎜🎜2 Auf die Anfrage antworten🎜🎜🎜Wann Als Reaktion auf die Anfrage können wir die übersetzte Zeichenfolge gemäß dem angeforderten Locale
abrufen: 🎜rrreee🎜🎜3 Anzeigeansicht 🎜🎜🎜In der JSP-Ansicht können wir EL-Ausdrücke verwenden, um die übersetzte Zeichenfolge anzuzeigen : 🎜rrreee 🎜Dadurch wird der „Willkommens“-Text in verschiedenen Sprachen angezeigt. 🎜Das obige ist der detaillierte Inhalt vonWie unterstützt Java Servlet die Internationalisierung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!