如果您创建一个文件,比如 .properties 文件以进行国际化,Eclipse 具有内置的 unicode 编辑器。
如果在 RUN Configuration Common 选项卡下启用。在控制台编码=> 其他下选择 UTF-8。
然后控制台将以您选择的语言读取它。您仍然需要为文件提供 unicode 字符,或者将字符转换为 UNICODE。
现在如果你有你的语言字符在这里用印地语 विमल कृष्णा (某些编辑器需要这些字符)然后如果我只是粘贴到 eclipse .properties 文件中,它将自动转换为 \u0935\u093F\u092E\ u0932\u0915\u0943\u0937\u094D\u0923\u093E.
上面的字符串现在将在控制台中被解释为 विमल कृष्णा。
示例:
步骤1
在 Spring 中,您需要在类路径中(比如在 src/main/resources 中)在名为“locale”的文件夹下有一个名为
的文件
messages_hi_IN.properties(用于印地语)与内容
user.name=\u0935\u093F\u092E\u0932 \u0915\u0943\u0937\u094D\u0923\u093E, age : {0}, URL : {1}
messages_en_US.properties(英语)与内容
user.name=vimal krishna, age : {0}, URL : {1}
第 2 步:
你的主要应用程序:
package com.vimal.common;
import java.text.SimpleDateFormat;
import java.util.Locale;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class App {
public static void main(String[] args) {
ApplicationContext context
= new ClassPathXmlApplicationContext("com/vimal/common/beans.xml");
String name = context.getMessage("user.name", new Object[] { 45,"http://www.vkrishna.com" }, Locale.US);
System.out.println("User name (English) : " + name);
String nameHindi = context.getMessage("user.name", new Object[] {45, "http://www.vkrishna.com" }, new Locale("hi", "IN"));
System.out.println("User name (Hindi) : " + nameHindi);
}
}
第 3 步:配置文件
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="messageSource"
class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="basename">
<value>locale\messages</value>
</property>
</bean>
这里 locale 是 src/main/resources 中的文件夹,它位于 messages_hi_IN.properties 文件所在的类路径上(如果 maven 项目是由 eclipse 创建的)。 locale\messages 指的是这个 messages_hi_IN.properties 文件,添加 hi_IN 是印地语语言环境检测的关键。
现在在主应用程序中,您可以看到创建了一个新的 Locale("hi", "IN"),因为它没有像 locale.US 等在 eclipse 中定义。
结果将是:
Dez 31, 2014 12:19:12 PM org.springframework.beans.factory.support.DefaultListableBeanFactory preInstantiateSingletons
INFORMATION: Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@5594a1b5: defining beans [messageSource]; root of factory hierarchy
Customer name (English) : vimal krishna, age : 45, URL : http://www.vkrishna.com
Customer name (Hindi) : विमल कृष्णा, age : ४५, URL : http://www.vkrishna.com
我已经修改了link...