Maison >Java >javaDidacticiel >Comment Java Servlet prend-il en charge l'internationalisation ?
Dans Java Servlet, l'internationalisation est réalisée à l'aide de groupes de ressources internationalisés et de classes Locale. Les étapes spécifiques sont les suivantes : Créer des groupes de ressources internationalisés (fichiers .properties) pour stocker respectivement différentes langues (code _langue) et pays (code _pays). . texte traduit. Utilisez la classe Locale pour obtenir les paramètres régionaux actuels. Chargez le groupe de ressources correct via ResourceBundle.getBundle. Utilisez bundle.getString pour obtenir le texte traduit de la clé correspondante. Définissez les paramètres régionaux par défaut via Locale.setDefault. Utilisez request.getLocale pour obtenir les paramètres régionaux demandés. Utilisez des expressions EL pour afficher le texte traduit dans une vue.
Comment prendre en charge l'internationalisation dans les servlets Java
Introduction
L'internationalisation est le processus consistant à faire en sorte qu'une application prenne en charge plusieurs langues et cultures. Dans les servlets Java, l'internationalisation est implémentée à l'aide de regroupements de ressources internationalisés et de la classe Locale
. 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
Ensemble de ressources internationalisées
L'ensemble de ressources internationalisées est un ensemble de chaînes traduites pour du texte dans différentes langues. Ils sont stockés sous forme de fichiers.properties
dont les noms de fichiers suivent le format : [nom du fichier de base]_[code de langue]_[code du pays].properties
. Par exemple, un ensemble de ressources contenant du texte anglais pourrait être nommé messages_en_GB.properties
.
Création d'un ensemble de ressources
🎜🎜Pour créer un ensemble de ressources, suivez ces étapes : 🎜.properties
. @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) { ResourceBundle bundle = ResourceBundle.getBundle("messages", request.getLocale()); request.setAttribute("welcomeText", bundle.getString("welcome")); }
<h1>${welcomeText}</h1>🎜🎜Utilisation de la classe
Locale
🎜🎜🎜Locale représente les paramètres spécifiques à la langue et au pays. Il est utilisé pour obtenir des chaînes correctement traduites à partir de groupes de ressources. 🎜🎜🎜Lire le bundle de ressources🎜🎜🎜Pour lire un bundle de ressources, utilisez le code suivant : 🎜rrreee🎜Cela chargera le bundle de ressources correspondant au <code>Locale
actuel. 🎜🎜🎜Obtenir la chaîne traduite🎜🎜🎜Pour obtenir la chaîne traduite, utilisez le code suivant : 🎜rrreee🎜Cela récupérera la chaîne traduite correspondant à la clé spécifiée. 🎜🎜🎜Cas pratique🎜🎜🎜🎜1. Initialisation du servlet🎜🎜🎜Dans la méthode d'initialisation du servlet, nous pouvons définir le Locale
par défaut : 🎜rrreee🎜🎜2 Répondre à la demande🎜🎜🎜Quand. en répondant à la requête, nous pouvons obtenir la chaîne traduite selon le Locale
demandé : 🎜rrreee🎜🎜3. Vue d'affichage 🎜🎜🎜Dans la vue JSP, nous pouvons utiliser des expressions EL pour afficher la chaîne traduite. : 🎜rrreee 🎜Cela affichera le texte "Bienvenue" dans différentes langues. 🎜Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!