javaweb之国际化
系列文章目录
第一章 javaweb之Servlet接口
第二章 javaweb之ServletRequest请求
第三章 javaweb之ServletResponse响应
第四章 javaweb之请求转发和重定向
第五章 javaweb之过滤器Filter
第六章 javaweb之监听器Listener
第七章 javaweb之会话管理
第八章 javaweb之异常处理
第九章 javaweb之文件上传
第十章 javaweb之国际化
原文链接 https://zhhll.icu/2021/javaweb/基础/11.国际化/
国际化
- 国际化(i18n): i18n internationalization,网站能够提供翻译成访问者的语言或国籍的不同版本的内容
- 本地化(i10n): 向网站添加资源,使其适应特定的地理或文化区域,例如将网站翻译为中文
- 区域设置:通常为语言符号后跟一个由下划线分隔的国家符号。例如"en_US"
获取区域
//获取当前国家和语言
Locale locale = request.getLocale();
获取区域设置
// 获取该区域设置的国家
public String getCountry() {
return baseLocale.getRegion();
}
// 获取该区域设置的国家名称
public final String getDisplayCountry() {
return getDisplayCountry(getDefault(Category.DISPLAY));
}
// 获取该区域设置的语言代码
public String getLanguage() {
return baseLocale.getLanguage();
}
// 获取该区域设置的语言名称
public final String getDisplayLanguage() {
return getDisplayLanguage(getDefault(Category.DISPLAY));
}
// 返回该区域设置的国家的三个字母缩写
public String getISO3Country() throws MissingResourceException {
String country3 = getISO3Code(baseLocale.getRegion(), LocaleISOData.isoCountryTable);
if (country3 == null) {
throw new MissingResourceException("Couldn't find 3-letter country code for "
+ baseLocale.getRegion(), "FormatData_" + toString(), "ShortCountry");
}
return country3;
}
// 返回该区域设置的语言的三个字母缩写
public String getISO3Language() throws MissingResourceException {
String lang = baseLocale.getLanguage();
if (lang.length() == 3) {
return lang;
}
String language3 = getISO3Code(lang, LocaleISOData.isoLanguageTable);
if (language3 == null) {
throw new MissingResourceException("Couldn't find 3-letter language code for "
+ lang, "FormatData_" + toString(), "ShortLanguage");
}
return language3;
}
时间国际化
时间格式化 DateFormat
货币国际化
数字、货币格式化 NumberFormat
字符串国际化
字符串格式化 MessageFormat
String str = "Date: {0},Salary: {1}";
Locale locale = Locale.CHINA;
Date date = new Date();
double sa1 = 12345.12;
MessageFormat.format(str,date,sa1);
国际化配置
native2ascii命令在jdk下 可以查看ascii码
Locale locale = Locale.CHINA;
ResourceBundle bundle = ResourceBundle.getBundle("i18n",locale);
在配置文件中i18n.properties i18n_en_US.properties i18n_zh_CN.properties
根据locale来找不同的配置文件
本文来自博客园,作者:拾光师,转载请注明原文链接:https://www.cnblogs.com/life-time/p/17864387.html 个人博客-> https://zhhll.icu
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~