Heim > Java > javaLernprogramm > Wie unterstützt Java Servlet die Internationalisierung?

Wie unterstützt Java Servlet die Internationalisierung?

PHPz
Freigeben: 2024-04-16 14:06:02
Original
611 Leute haben es durchsucht

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.

Java Servlet如何支持国际化?

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

创建资源束

要创建一个资源束,请按照以下步骤操作:

  1. 创建一个 .properties 文件。
  2. 使用以下语法为每个字符串添加键值对:
KEY=VALUE
Nach dem Login kopieren
  1. 为不同的语言和国家创建额外的资源束,使用适当的文件名。

实例

下面是一个包含英语和西班牙语文本的资源束示例:

// messages_en_GB.properties
welcome=Welcome
username=Username

// messages_es_ES.properties
welcome=Bienvenido
username=Nombre de usuario
Nach dem Login kopieren

使用 Locale

Locale 类表示特定语言和国家的设置。它用于从资源束中获取正确翻译的字符串。

读取资源束

要读取资源束,请使用以下代码:

ResourceBundle bundle = ResourceBundle.getBundle("messages", Locale.getDefault());
Nach dem Login kopieren

这将加载与当前 Locale 匹配的资源束。

获取翻译的字符串

要获取翻译的字符串,请使用以下代码:

String welcomeText = bundle.getString("welcome");
Nach dem Login kopieren

这将检索与指定键对应的翻译的字符串。

实战案例

1. Servlet 初始化

在 Servlet 初始化方法中,我们可以设置默认 Locale

@Override
public void init() {
    Locale defaultLocale = Locale.getDefault();
    Locale.setDefault(defaultLocale);
}
Nach dem Login kopieren

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: 🎜
  1. Erstellen Sie eine .properties-Datei.
  2. Fügen Sie Schlüssel-Wert-Paare für jede Zeichenfolge hinzu, indem Sie die folgende Syntax verwenden:
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) {
    ResourceBundle bundle = ResourceBundle.getBundle("messages", request.getLocale());
    request.setAttribute("welcomeText", bundle.getString("welcome"));
}
Nach dem Login kopieren
  1. Erstellen Sie zusätzliche Ressourcen für verschiedene Sprachen und Länder Bündeln Sie es unter Verwendung geeigneter Dateinamen.
🎜🎜Instanzen🎜🎜🎜Hier ist ein Beispiel für ein Ressourcenpaket mit englischem und spanischem Text: 🎜
<h1>${welcomeText}</h1>
Nach dem Login kopieren
🎜🎜Verwendung der 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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage