SprinBoot多地区化

偶尔善良 提交于 2020-01-26 15:59:32

国际化登录主要的要点在于properties的配置和spring中message.basename的配置

  1. properties文件配置(注意_en_US代表语言文化代码,不能漏写错写,最后附上了语言文化代码表)
    在这里插入图片描述在这里插入图片描述
    2.yaml配置文件配置
    在这里插入图片描述
    3.在请求中带上参数信息
    在这里插入图片描述
    4.配置地区解析器
public class MyLocalResolver implements LocaleResolver {
    @Override
    //解析请求头
    public Locale resolveLocale(HttpServletRequest httpServletRequest) {
        //获取请求中的参数l
        String language = httpServletRequest.getParameter("l");

        Locale locale = Locale.getDefault();  //如果没有参数l就使用默认的

        //如果携带国际化参数l,则使用该参数
        if(!StringUtils.isEmpty(language)){
            //zh_CN
            String[] s = language.split("_");
            //把国家,地区传过去,只要你在message.basename里面配置了,并且有对应的配置文件
            //就可以自动配置
            locale = new Locale(s[0], s[1]);
        }

        return locale;
    }

    @Override
    public void setLocale(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Locale locale) {
        
    }
}

5.将写好的解析器注册到Bean中

@Configuration
public class MyMvcConfig implements WebMvcConfigurer {

    //自定义的国际化组件
    @Bean
    public LocaleResolver localeResolver(){
        return new MyLocalResolver();
    }
}

最后附上语言文化代码表

af 公用荷兰语

af-ZA 公用荷兰语 - 南非

sq 阿尔巴尼亚

sq-AL 阿尔巴尼亚 -阿尔巴尼亚

ar 阿拉伯语

ar-DZ 阿拉伯语 -阿尔及利亚

ar-BH 阿拉伯语 -巴林

ar-EG 阿拉伯语 -埃及

ar-IQ 阿拉伯语 -伊拉克

ar-JO 阿拉伯语 -约旦

ar-KW 阿拉伯语 -科威特

ar-LB 阿拉伯语 -黎巴嫩

ar-LY 阿拉伯语 -利比亚

ar-MA 阿拉伯语 -摩洛哥

ar-OM 阿拉伯语 -阿曼

ar-QA 阿拉伯语 -卡塔尔

ar-SA 阿拉伯语 - 沙特阿拉伯

ar-SY 阿拉伯语 -叙利亚共和国

ar-TN 阿拉伯语 -北非的共和国

ar-AE 阿拉伯语 - 阿拉伯联合酋长国

ar-YE 阿拉伯语 -也门

hy 亚美尼亚

hy-AM 亚美尼亚的 -亚美尼亚

az Azeri

az-AZ-Cyrl Azeri-(西里尔字母的) 阿塞拜疆

az-AZ-Latn Azeri(拉丁文)- 阿塞拜疆

eu 巴斯克

eu-ES 巴斯克 -巴斯克

be Belarusian

be-BY Belarusian-白俄罗斯

bg 保加利亚

bg-BG 保加利亚 -保加利亚

ca 嘉泰罗尼亚

ca-ES 嘉泰罗尼亚 -嘉泰罗尼亚

zh-HK 华 - 香港的 SAR

zh-MO 华 - 澳门的 SAR

zh-CN 华 -中国

zh-CHS 华 (单一化)

zh-SG 华 -新加坡

zh-TW 华 -台湾

zh-CHT 华 (传统的)

hr 克罗埃西亚

hr-HR 克罗埃西亚 -克罗埃西亚

cs 捷克

cs-CZ 捷克 - 捷克

da 丹麦文

da-DK 丹麦文 -丹麦

div Dhivehi

div-MV Dhivehi-马尔代夫

nl 荷兰

nl-BE 荷兰 -比利时

nl-NL 荷兰 - 荷兰

en 英国

en-AU 英国 -澳洲

en-BZ 英国 -伯利兹

en-CA 英国 -加拿大

en-CB 英国 -加勒比海

en-IE 英国 -爱尔兰

en-JM 英国 -牙买加

en-NZ 英国 - 新西兰

en-PH 英国 -菲律宾共和国

en-ZA 英国 - 南非

en-TT 英国 - 千里达托贝哥共和国

en-GB 英国 - 英国

en-US 英国 - 美国

en-ZW 英国 -津巴布韦

et 爱沙尼亚

et-EE 爱沙尼亚的 -爱沙尼亚

fo Faroese

fo-FO Faroese- 法罗群岛

fa 波斯语

fa-IR 波斯语 -伊朗王国

fi 芬兰语

fi-FI 芬兰语 -芬兰

fr 法国

fr-BE 法国 -比利时

fr-CA 法国 -加拿大

fr-FR 法国 -法国

fr-LU 法国 -卢森堡

fr-MC 法国 -摩纳哥

fr-CH 法国 -瑞士

gl 加利西亚

gl-ES 加利西亚 -加利西亚

ka 格鲁吉亚州

ka-GE 格鲁吉亚州 -格鲁吉亚州

de 德国

de-AT 德国 -奥地利

de-DE 德国 -德国

de-LI 德国 -列支敦士登

de-LU 德国 -卢森堡

de-CH 德国 -瑞士

el 希腊

el-GR 希腊 -希腊

gu Gujarati

gu-IN Gujarati-印度

he 希伯来

he-IL 希伯来 -以色列

hi 北印度语

hi-IN 北印度的 -印度

hu 匈牙利

hu-HU 匈牙利的 -匈牙利

is 冰岛语

is-IS 冰岛的 -冰岛

id 印尼

id-ID 印尼 -印尼

it 意大利

it-IT 意大利 -意大利

it-CH 意大利 -瑞士

ja 日本

ja-JP 日本 -日本

kn 卡纳达语

kn-IN 卡纳达语 -印度

kk Kazakh

kk-KZ Kazakh-哈萨克

kok Konkani

kok-IN Konkani-印度

ko 韩国

ko-KR 韩国 -韩国

ky Kyrgyz

ky-KZ Kyrgyz-哈萨克

lv 拉脱维亚

lv-LV 拉脱维亚的 -拉脱维亚

lt 立陶宛

lt-LT 立陶宛 -立陶宛

mk 马其顿

mk-MK 马其顿 -FYROM

ms 马来

ms-BN 马来 -汶莱

ms-MY 马来 -马来西亚

mr 马拉地语

mr-IN 马拉地语 -印度

mn 蒙古

mn-MN 蒙古 -蒙古

no 挪威

nb-NO 挪威 (Bokm?l) - 挪威

nn-NO 挪威 (Nynorsk)- 挪威

pl 波兰

pl-PL 波兰 -波兰

pt 葡萄牙

pt-BR 葡萄牙 -巴西

pt-PT 葡萄牙 -葡萄牙

pa Punjab 语

pa-IN Punjab 语 -印度

ro 罗马尼亚语

ro-RO 罗马尼亚语 -罗马尼亚

ru 俄国

ru-RU 俄国 -俄国

sa 梵文

sa-IN 梵文 -印度

sr-SP-Cyrl 塞尔维亚 -(西里尔字母的) 塞尔维亚共和国

sr-SP-Latn 塞尔维亚 (拉丁文)- 塞尔维亚共和国

sk 斯洛伐克

sk-SK 斯洛伐克 -斯洛伐克

sl 斯洛文尼亚

sl-SI 斯洛文尼亚 -斯洛文尼亚

es 西班牙

es-AR 西班牙 -阿根廷

es-BO 西班牙 -玻利维亚

es-CL 西班牙 -智利

es-CO 西班牙 -哥伦比亚

es-CR 西班牙 - 哥斯达黎加

es-DO 西班牙 - 多米尼加共和国

es-EC 西班牙 -厄瓜多尔

es-SV 西班牙 - 萨尔瓦多

es-GT 西班牙 -危地马拉

es-HN 西班牙 -洪都拉斯

es-MX 西班牙 -墨西哥

es-NI 西班牙 -尼加拉瓜

es-PA 西班牙 -巴拿马

es-PY 西班牙 -巴拉圭

es-PE 西班牙 -秘鲁

es-PR 西班牙 - 波多黎各

es-ES 西班牙 -西班牙

es-UY 西班牙 -乌拉圭

es-VE 西班牙 -委内瑞拉

sw Swahili

sw-KE Swahili-肯尼亚

sv 瑞典

sv-FI 瑞典 -芬兰

sv-SE 瑞典 -瑞典

syr Syriac

syr-SY Syriac-叙利亚共和国

ta 坦米尔

ta-IN 坦米尔 -印度

tt Tatar

tt-RU Tatar-俄国

te Telugu

te-IN Telugu-印度

th 泰国

th-TH 泰国 -泰国

tr 土耳其语

tr-TR 土耳其语 -土耳其

uk 乌克兰

uk-UA 乌克兰 -乌克兰

ur Urdu

ur-PK Urdu-巴基斯坦

uz Uzbek

uz-UZ-Cyrl Uzbek-(西里尔字母的) 乌兹别克斯坦

uz-UZ-Latn Uzbek(拉丁文)- 乌兹别克斯坦

vi 越南
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!