<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      springboot~國際化Locale正確的姿勢

      Java中的Locale.getDefault()獲取的是操作系統的默認區域設置,如果需要獲取客戶端瀏覽器的區域設置,可以從HTTP頭中獲取"Accept-Language"的值來進行解析。

      使用說明

      Java網站中實現國際化(多語言支持)通常需要涉及以下幾個方面:

      1. 為所有可見的文本(如按鈕、標簽、提示等)都提供多語言的支持,遵循國際化的標準,建議使用標準的屬性文件進行配置。

      2. 根據用戶請求或瀏覽器設置來選擇合適的Locale,以便在數據保存和顯示時使用相應的語言和地區格式。最常用的方法是使用Java的Locale類來獲取、設置當前的Locale,可以通過調用Locale類的getAvailableLocales()方法獲取支持的區域列表,也可以根據用戶的請求或瀏覽器的設置來檢測用戶當前所使用的Locale。

      3. 針對國際化后的日期、時間、數字等數據類型進行格式化處理,以便在不同的語言、地區環境下使數據顯示更加友好和易讀。可以使用Java的SimpleDateFormat類等進行處理。

      正確的姿勢

      在Java Web應用中使用MessageSource對象實現國際化功能時,可以通過以下步驟使用瀏覽器語言動態設置Locale區域。

      • 國際化文件在resources/i18n目錄,文件名是message_{語言}.properties
      • 通過MessageSource對象進行國際化配置信息的管理
      1. 配置類
      @Configuration
      public class LocalMessageConfig {
      
         /**
          * 系統國際化文件配置
          * @return MessageSource
          */
         @Bean
         public MessageSource messageSource() {
            ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource();
            messageSource.setBasename("classpath:i18n/message");
            messageSource.setDefaultEncoding("UTF-8");
            return messageSource;
         }
      
      }
      
      1. 靜態工具類
       /**
       * 國際化消息配置 LocalMessageConfig中配置了resources/i18n/messages_zh_CN.properties.
       * 通過 LocaleContextHolder.getLocale()獲取客戶端瀏覽器的語言環境,就是請求頭中的Accept-Language的值,再根據它進行國際化消息的獲取。
       *
       * @UtilityClass所有的方法和屬性都會被加上static關鍵字,并且該類會創建一個私有的空參構造器
       */
      @UtilityClass
      public class LocaleMessageUtils {
      
         /**
          * 通過code 獲取錯誤信息
          * @param code
          * @return
          */
         public String getMessage(String code) {
         return getMessage(code, null);
         }
      
         /**
          * 通過code 和參數獲取錯誤信息
          * @param code
          * @return
          */
         public String getMessage(String code, Object... objects) {
            MessageSource messageSource = SpringContextUtils.getBean("messageSource");
            Locale locale = LocaleContextHolder.getLocale();
            return messageSource.getMessage(code, null,locale);
         }
      
      }
      
      1. 配置文件有中文和英文兩個版本
      # message_en_US.properties
      title=System
      # message_zh_CN.properties
      title=\u7cfb\u7edf # 中文咱們使用unicode編碼
      
      
      1. 在前臺控制器中獲取配置信息
      	@GetMapping("get-title")
      	public ResponseEntity title() {
      		return ResponseEntity.ok(
      				LocaleMessageUtils.getMessage("title")
      		);
      	}
      
      
      1. 通過切換瀏覽器的語言,來實現中文和英文的輸出


      通過這個國際化,我們可以更優雅的實現多語言的系統設計了,不硬編碼在程序里是程序員永遠追求的方向

      posted @ 2023-05-19 17:45  張占嶺  閱讀(3597)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 一级国产在线观看高清| 成人网站免费观看永久视频下载| 五月天天天综合精品无码| 亚洲av日韩av永久无码电影| 亚洲精品成人综合色在线| 大丰市| 日韩国产中文字幕精品| 一区二区三区鲁丝不卡| 国产最新进精品视频| 国产69成人精品视频免费| 在线 欧美 中文 亚洲 精品| 精品精品亚洲高清a毛片| 狠狠爱俺也去去就色| 日韩精品一区二区三区在| 在线a级毛片无码免费真人| 亚洲人成网线在线播放VA| 人妻少妇88久久中文字幕| 国产成人精品无码一区二区| 久久精品国产久精国产果冻传媒 | 国产午夜亚洲精品久久| 免费看视频的网站| 亚洲熟女乱综合一区二区| 91久久亚洲综合精品成人| 蜜臀av无码一区二区三区| 无码AV无码免费一区二区| 无码人妻出轨黑人中文字幕| 国产精品久久欧美久久一区| 亚洲熟妇色xxxxx欧美老妇| 天天躁日日躁狠狠躁av麻豆男男| 国产精品十八禁在线观看| 国产免费高清69式视频在线观看 | 日韩精品亚洲专区在线观看| 99精品国产中文字幕| 亚洲AV午夜成人无码电影| 国产成人午夜精品永久免费| 精品人妻伦一二三区久久aaa片| 亚洲码与欧洲码区别入口| 兴隆县| 国产盗摄xxxx视频xxxx| 亚洲精品福利一区二区三区蜜桃| 广东少妇大战黑人34厘米视频|