j9九游会

  • <tr id='fyq8u'><strong id='hfvsgo'></strong> <small id='t3430'></small><button id='855b'></button><li id='350wu'> <noscript id='p0cc'><big id='iqd9'></big><dt id='nk8gar'></dt></noscript></li></tr> <ol id='g3el3'><option id='e1lwf'><table id='o2c4'><blockquote id='z0reo'> <tbody id='r89pgu'></tbody></blockquote></table></option></ol><u id='7kskz'></u><kbd id='59ppt'> <kbd id='9oo9m4'></kbd></kbd>

    <code id='87nd'><strong id='uhz9'></strong></code>

    <fieldset id='dkp7'></fieldset>
          <span id='4wtde'></span>

              <ins id='g842z'></ins>
              <acronym id='aifrvx'><em id='19ma9a'></em><td id='llkjuy'><div id='fzpx'></div></td></acronym><address id='m4xq'><big id='pcqjel'><big id='rpk3bb'></big><legend id='gcs0'></legend></big></address>

              <i id='3ix85c'><div id='mw5i'><ins id='0za3ar'></ins></div></i>
              <i id='prnukj'></i>
            1. <dl id='nv0r'></dl>
              1. <blockquote id='12ieye'><q id='we3f'><noscript id='nmj9'></noscript><dt id='1i7wj'></dt></q></blockquote><noframes id='39dtv'><i id='v2ygx'></i>

                spring boot 国际化

                2022-12-28 17:22 栏目: 技术学堂 查看()
                i18n 配置 spring boot 国际化支持多语言

                添加 i18n 多语言配置文件

                • yml 配置修改

                默认 basename 为 messages 管理方便统一存放在 resources/i18n 目录修改默认 YML 配置如下:

                spring:
                  messages:
                    basename: i18n.messages
                复制

                添加 properties 文件,命名如下:

                messages.properties(默认的多语言文件, 中文语言)
                messages_en_US.properties(英文语言文件)
                复制

                多语言解析器拦截器配置

                多语言 Cookie 名称设置为 locale 切换多语言 url 地址 url?locale=en_US 切换为英文 url?locale=zh_CN 切换为中文 ,注意 en_US 对应多语言 messages_en_US.properties 设置的值,如果找不到语言使用默认文件。

                
                import org.springframework.context.annotation.Bean;
                import org.springframework.context.annotation.Configuration;
                import org.springframework.web.servlet.LocaleResolver;
                import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
                import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
                import org.springframework.web.servlet.i18n.CookieLocaleResolver;
                import org.springframework.web.servlet.i18n.LocaleChangeInterceptor;
                
                @Configuration
                public class LocaleMvcConfigurer implements WebMvcConfigurer {
                
                    @Bean
                    public LocaleResolver localeResolver() {
                        CookieLocaleResolver cookieLocaleResolver = new CookieLocaleResolver();
                        // 多语言 cookie 名称设置
                        cookieLocaleResolver.setCookieName("locale");
                        return cookieLocaleResolver;
                    }
                
                    @Override
                    public void addInterceptors(InterceptorRegistry registry) {
                        // i18n 多语言拦截处理器
                        registry.addInterceptor(new LocaleChangeInterceptor()).addPathPatterns("/**");
                    }
                }
                复制

                多语言测试

                修改多语言测试文件 messages.properties 内容 hi=测试 messages_en_US.properties 内容 hi=test

                @GetMapping("/i18n")
                public String i18n() {
                    try {
                        Locale locale = LocaleContextHolder.getLocale();
                        return messageSource.getMessage("hi", null, locale);
                    } catch (NoSuchMessageException e) {
                        // Do Nothing
                    }
                    return "error";
                }
                复制
                • 默认语言访问 localhost:8080/i18n
                  返回 测试

                • 默认语言访问 localhost:8080/i18n?locale=en_US 切换为英文
                  返回 test
                  访问 localhost:8080/i18n 返回 test

                • 默认语言访问 localhost:8080/i18n?locale=zh_CN 切换为中文
                  返回 测试
                  访问 localhost:8080/i18n 返回 测试

                全局多语言切换

                访问 localhost:8080/language/us 全局多语言切换为英文

                @Operation(summary = "多语言切换")
                @GetMapping("/language/{lang}")
                public Boolean language(@PathVariable("lang") String lang) {
                    LocaleResolver localeResolver = RequestContextUtils.getLocaleResolver(request);
                    localeResolver.setLocale(request, response, "us".equals(lang) ? Locale.US : Locale.CHINA);
                    return true;
                }
                复制

                语言代码表

                语言代码 语言名称
                af 南非语
                af-ZA 南非语
                ar 阿拉伯语
                ar-AE 阿拉伯语(阿联酋)
                ar-BH 阿拉伯语(巴林)
                ar-DZ 阿拉伯语(阿尔及利亚)
                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-YE 阿拉伯语(也门)
                az 阿塞拜疆语
                az-AZ 阿塞拜疆语(拉丁文)
                az-AZ 阿塞拜疆语(西里尔文)
                be 比利时语
                be-BY 比利时语
                bg 保加利亚语
                bg-BG 保加利亚语
                bs-BA 波斯尼亚语(拉丁文,波斯尼亚和黑塞哥维那)
                ca 加泰隆语
                ca-ES 加泰隆语
                cs 捷克语
                cs-CZ 捷克语
                cy 威尔士语
                cy-GB 威尔士语
                da 丹麦语
                da-DK 丹麦语
                de 德语
                de-AT 德语(奥地利)
                de-CH 德语(瑞士)
                de-DE 德语(德国)
                de-LI 德语(列支敦士登)
                de-LU 德语(卢森堡)
                dv 第维埃语
                dv-MV 第维埃语
                el 希腊语
                el-GR 希腊语
                en 英语
                en-AU 英语(澳大利亚)
                en-BZ 英语(伯利兹)
                en-CA 英语(加拿大)
                en-CB 英语(加勒比海)
                en-GB 英语(英国)
                en-IE 英语(爱尔兰)
                en-JM 英语(牙买加)
                en-NZ 英语(新西兰)
                en-PH 英语(菲律宾)
                en-TT 英语(特立尼达)
                en-US 英语(美国)
                en-ZA 英语(南非)
                en-ZW 英语(津巴布韦)
                eo 世界语
                es 西班牙语
                es-AR 西班牙语(阿根廷)
                es-BO 西班牙语(玻利维亚)
                es-CL 西班牙语(智利)
                es-CO 西班牙语(哥伦比亚)
                es-CR 西班牙语(哥斯达黎加)
                es-DO 西班牙语(多米尼加共和国)
                es-EC 西班牙语(厄瓜多尔)
                es-ES 西班牙语(传统)
                es-ES 西班牙语(国际)
                es-GT 西班牙语(危地马拉)
                es-HN 西班牙语(洪都拉斯)
                es-MX 西班牙语(墨西哥)
                es-NI 西班牙语(尼加拉瓜)
                es-PA 西班牙语(巴拿马)
                es-PE 西班牙语(秘鲁)
                es-PR 西班牙语(波多黎各(美))
                es-PY 西班牙语(巴拉圭)
                es-SV 西班牙语(萨尔瓦多)
                es-UY 西班牙语(乌拉圭)
                es-VE 西班牙语(委内瑞拉)
                et 爱沙尼亚语
                et-EE 爱沙尼亚语
                eu 巴士克语
                eu-ES 巴士克语
                fa 法斯语
                fa-IR 法斯语
                fi 芬兰语
                fi-FI 芬兰语
                fo 法罗语
                fo-FO 法罗语
                fr 法语
                fr-BE 法语(比利时)
                fr-CA 法语(加拿大)
                fr-CH 法语(瑞士)
                fr-FR 法语(法国)
                fr-LU 法语(卢森堡)
                fr-MC 法语(摩纳哥)
                gl 加里西亚语
                gl-ES 加里西亚语
                gu 古吉拉特语
                gu-IN 古吉拉特语
                he 希伯来语
                he-IL 希伯来语
                hi 印地语
                hi-IN 印地语
                hr 克罗地亚语
                hr-BA 克罗地亚语(波斯尼亚和黑塞哥维那)
                hr-HR 克罗地亚语
                hu 匈牙利语
                hu-HU 匈牙利语
                hy 亚美尼亚语
                hy-AM 亚美尼亚语
                id 印度尼西亚语
                id-ID 印度尼西亚语
                is 冰岛语
                is-IS 冰岛语
                it 意大利语
                it-CH 意大利语(瑞士)
                it-IT 意大利语(意大利)
                ja 日语
                ja-JP 日语
                ka 格鲁吉亚语
                ka-GE 格鲁吉亚语
                kk 哈萨克语
                kk-KZ 哈萨克语
                kn 卡纳拉语
                kn-IN 卡纳拉语
                ko 朝鲜语
                ko-KR 朝鲜语
                kok 孔卡尼语
                kok-IN 孔卡尼语
                ky 吉尔吉斯语
                ky-KG 吉尔吉斯语(西里尔文)
                lt 立陶宛语
                lt-LT 立陶宛语
                lv 拉脱维亚语
                lv-LV 拉脱维亚语
                mi 毛利语
                mi-NZ 毛利语
                mk 马其顿语
                mk-MK 马其顿语(FYROM)
                mn 蒙古语
                mn-MN 蒙古语(西里尔文)
                mr 马拉地语
                mr-IN 马拉地语
                ms 马来语
                ms-BN 马来语(文莱达鲁萨兰)
                ms-MY 马来语(马来西亚)
                mt 马耳他语
                mt-MT 马耳他语
                nb 挪威语(伯克梅尔)
                nb-NO 挪威语(伯克梅尔)(挪威)
                nl-BE 荷兰语(比利时)
                nl-NL 荷兰语(荷兰)
                nn-NO 挪威语(尼诺斯克)(挪威)
                ns 北梭托语
                ns-ZA 北梭托语
                pa 旁遮普语
                pa-IN 旁遮普语
                pl 波兰语
                pl-PL 波兰语
                pt 葡萄牙语
                pt-BR 葡萄牙语(巴西)
                pt-PT 葡萄牙语(葡萄牙)
                qu 克丘亚语
                qu-BO 克丘亚语(玻利维亚)
                qu-EC 克丘亚语(厄瓜多尔)
                qu-PE 克丘亚语(秘鲁)
                ro 罗马尼亚语
                ro-RO 罗马尼亚语
                ru 俄语
                ru-RU 俄语
                sa 梵文
                sa-IN 梵文
                se 北萨摩斯语
                se-FI 北萨摩斯语(芬兰)
                se-FI 斯科特萨摩斯语(芬兰)
                se-FI 伊那里萨摩斯语(芬兰)
                se-NO 北萨摩斯语(挪威)
                se-NO 律勒欧萨摩斯语(挪威)
                se-NO 南萨摩斯语(挪威)
                se-SE 北萨摩斯语(瑞典)
                se-SE 律勒欧萨摩斯语(瑞典)
                se-SE 南萨摩斯语(瑞典)
                sk 斯洛伐克语
                sk-SK 斯洛伐克语
                sl 斯洛文尼亚语
                sl-SI 斯洛文尼亚语
                sq 阿尔巴尼亚语
                sq-AL 阿尔巴尼亚语
                sr-BA 塞尔维亚语(拉丁文,波斯尼亚和黑塞哥维那)
                sr-BA 塞尔维亚语(西里尔文,波斯尼亚和黑塞哥维那)
                sr-SP 塞尔维亚(拉丁)
                sr-SP 塞尔维亚(西里尔文)
                sv 瑞典语
                sv-FI 瑞典语(芬兰)
                sv-SE 瑞典语
                sw 斯瓦希里语
                sw-KE 斯瓦希里语
                syr 叙利亚语
                syr-SY 叙利亚语
                ta 泰米尔语
                ta-IN 泰米尔语
                te 泰卢固语
                te-IN 泰卢固语
                th 泰语
                th-TH 泰语
                tl 塔加路语
                tl-PH 塔加路语(菲律宾)
                tn 茨瓦纳语
                tn-ZA 茨瓦纳语
                tr 土耳其语
                tr-TR 土耳其语
                ts 宗加语
                tt 鞑靼语
                tt-RU 鞑靼语
                uk 乌克兰语
                uk-UA 乌克兰语
                ur 乌都语
                ur-PK 乌都语
                uz 乌兹别克语
                uz-UZ 乌兹别克语(拉丁文)
                uz-UZ 乌兹别克语(西里尔文)
                vi 越南语
                vi-VN 越南语
                xh 班图语
                xh-ZA 班图语
                zh 中文
                zh-CN 中文(简体)
                zh-HK 中文(香港)
                zh-MO 中文(澳门)
                zh-SG 中文(新加坡)
                zh-TW 中文(繁体)
                zu 祖鲁语
                zu-ZA 祖鲁语

                扫二维码与商务沟通

                我们在微信上24小时期待你的声音

                解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流

                郑重申明:j9九游会科技以外的任何非授权单位或个人,不得使用我公司案例作为工作成功展示!