key words: Locale ResourceBundle Velocity
1 sevlet get the country and language message ,eg china's language is zh and country code is CN then new Locale(language,country)
2 message = ResourceBundle.getBundle(resource name,locale);
3 use the method message.get("key") to get message
4 put the message into the context
5 we can get the i18n message in velocity and display it.
----------------------------------------------following is mock code--------------------------------------------------
1 Locale currentLocale = new Locale(language,country);
2 MessageBundle bundle = MessageBundle.getBundle("Resource",currentLocale):
3 String msg1 = bundle.get(key);
4 Context.put("msg1",msg1);
5 use $msg1 to display the message in velocity template.
-----------------------------------------------------above is without tag and any configuration-----------------
I18N in spring
1 create messageSource bean which class is ResourceBundleMessageSource
2 set property is basenames
3 basenames is a list which include resource file name.
4 ApplicationContext context = new FileSystemXmlApplicationContext("bean.xml");
5 String message = context.getMessage(key,args,locale);