国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

vue 前端 + 若依(ruoyi)后端 實現(xiàn)國際化

這篇具有很好參考價值的文章主要介紹了vue 前端 + 若依(ruoyi)后端 實現(xiàn)國際化。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

簡介

記錄一下,前端使用vue,后端使用若依(ruoyi,基于spring-boot)實現(xiàn)頁面,后端返回提示信息國際化

前端

vue:2.6.12

vue-i18n:^8.27.2

安裝vue-i18n,注:最新的交于該版本有差異,所以指定使用版本:8.27.2

npm install --save vue-i18n@8.27.2 --force

添加國際化js文件:language.en_US.js

export default {
  message: {
    "language": "language",
  }
}

添加國際化js文件:language.zh_CN.js

export default {
  message: {
    "language": "語言",
  }
};

添加i18n.js

import Vue from 'vue';
import VueI18n from 'vue-i18n';
import enLocale from '@/api/language/language.en_US'
import usLocal from '@/api/language/language.zh_CN'

// element-ui 組件國際化
import ElementLocale from 'element-ui/lib/locale'
import elementEnLocal from "element-ui/lib/locale/lang/en"
import elementZhCNLocal from "element-ui/lib/locale/lang/zh-CN"

ElementLocale.i18n((key, value) => i18n.t(key, value))

Vue.use(VueI18n);
const messages = {
  en_US: {
    ...enLocale,
    ...elementEnLocal
  },
  zh_CN: {
    ...usLocal,
    ...elementZhCNLocal
  }
}
const i18n = new VueI18n({
  locale: localStorage.getItem('lang') || 'zh_CN', // 通過this.$i18n.locale的值實現(xiàn)語言切換
  messages,
});


export default i18n;

main.js加載i18n.js

import i18n from "@/api/i18n"

new Vue({
  el: '#app',
  router,
  i18n,
  store,
  render: h => h(App)
})

添加vue文件,方便使用

<template>
  <div>
    <el-select style="width: 100%" @change="changeLanguage" v-model="lang">
      <el-option v-for="lan in langList"
                 :key="lan.value"
                 :label="lan.label"
                 :value="lan.value">
      </el-option>
    </el-select>
  </div>
</template>
<script>
import {isNotNull} from "@/api/default";
import { changeLanguages } from "@/api/system/api";

export default {
  name: "i18n",
  data(){
    return {
      lang: "cn",
      langList: [
        {
          label: "中文",
          value: "zh_CN"
        },
        {
          label: "English",
          value: "en_US"
        }
      ],
    }
  },
  created() {
    let value = localStorage.getItem("lang");
    if (isNotNull(value)){
      this.lang = value;
    }
  },
  methods: {
    changeLanguage(value){
      this.$i18n.locale = value;
      localStorage.setItem("lang", value);
      changeLanguages(value).then(response => {
        console.info("change-language:" + value);
        window.location.reload();
      });
    },
  }
}
</script>

changeLanguages,用于訪問后端接口,修改語言

/**
 * * 獲取信息
 * @param address
 * @returns {AxiosPromise}
 */
export function changeLanguages(lang){
  return request({
    url: '/changeLanguages',
    method: 'get',
    headers: {
      isToken: false,
    },
    params: {
      lang: lang
    }
  })
}

使用方式:

#form中使用
<el-form-item class="mb-3" prop="lang" :label="$t('message.language')">
	<i18n-select></i18n-select>
</el-form-item>

#導入
import i18nSelect from "@/components/i18n/i18n"

# 加載
components: { i18nSelect }

#script內(nèi)使用:
this.$t("message.language")

?若依分離版后端

版本:3.8.4

添加:I18nConfig

package com.ruoyi.framework.config;

import java.util.Locale;
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.LocaleChangeInterceptor;
import org.springframework.web.servlet.i18n.SessionLocaleResolver;

/**
 * 資源文件配置加載
 *
 * @author ruoyi
 */
@Configuration
public class I18nConfig implements WebMvcConfigurer
{
    @Bean
    public LocaleResolver localeResolver()
    {
        SessionLocaleResolver slr = new SessionLocaleResolver();
        // 默認語言
        slr.setDefaultLocale(Locale.SIMPLIFIED_CHINESE);
        return slr;
    }

    @Bean
    public LocaleChangeInterceptor localeChangeInterceptor()
    {
        LocaleChangeInterceptor lci = new LocaleChangeInterceptor();
        // 參數(shù)名
        lci.setParamName("lang");
        return lci;
    }

    @Override
    public void addInterceptors(InterceptorRegistry registry)
    {
        registry.addInterceptor(localeChangeInterceptor());
    }
}

添加接口:changeLanguages,只是提供給前端調(diào)用,修改語言使用

    @GetMapping("/changeLanguages")
    public AjaxResult changeLanguages(String lang){
        return AjaxResult.success();
    }

添加:messages_en_US.properties

success=Success

添加:messages_zh_CN.properties

success=成功

application.yml配置,i18n/messages,表示在文件夾:resource/i18n下的messages_xx.properties文件,其中xx為Locale的信息,例如:Locale SIMPLIFIED_CHINESE,lang為:zh;country為:CN,所以對應的國際化文件為:messages_zh_CN.properties文件

# Spring配置
spring:
  # 資源信息
  messages:
    # 國際化資源文件路徑
    basename: i18n/messages

使用:使用:MessageUtils.message("success"),來獲取所需返回的信息即可,示例:文章來源地址http://www.zghlxwxcb.cn/news/detail-532102.html

    @GetMapping("/test")
    public AjaxResult test(){
        return AjaxResult.success(MessageUtils.message("success"));
    }

到了這里,關于vue 前端 + 若依(ruoyi)后端 實現(xiàn)國際化的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • vue2+element-ui 實現(xiàn)國際化

    在src目錄下創(chuàng)建一個lang文件夾,同時創(chuàng)建zh.js(中文),en.js(英文),ja.js(日文),fr.js(法文)四個語言包js文件,并創(chuàng)建一個index.js文件,用來整合語言包 對于一個項目來說,一個語言包需要包含所有頁面以及組件;在語言包以頁面為單位,創(chuàng)建一個對象;對公共的title或者按鈕名

    2024年02月02日
    瀏覽(30)
  • vue-i18n 實現(xiàn)國際化,支持切換不同語言

    vue-i18n 實現(xiàn)國際化,支持切換不同語言

    需求:后臺管理系統(tǒng),可以實現(xiàn)語言切換 實現(xiàn)過程:用的i18n來實現(xiàn)的語言切換,網(wǎng)上能看到好多模板,根據(jù)自己的需求,修改一下即可使用,大概都是差不多的,因為涉及到后端,所以要跟后端協(xié)商一致決定去寫,我的設計思路是跟著后端設計更改的,如下: 1.語言是后端接

    2024年02月12日
    瀏覽(29)
  • vue2+element-ui使用vue-i18n進行國際化的多語言/國際化

    vue2+element-ui使用vue-i18n進行國際化的多語言/國際化

    注意:vue2.0要用8版本的,使用9版本的會報錯 在src目錄下,創(chuàng)建新的文件夾,命名為i18n zh.js en.js index.js main.js 使用方式一 效果圖 使用方式二 效果圖 使用方式三,在 效果圖 ` 注意:這種方式存在更新this.$i18n.locale的值時無法自動切換的問題,需要刷新頁面才能切換語言。解

    2024年02月07日
    瀏覽(24)
  • 什么是前端國際化(internationalization)和本地化(localization)?

    什么是前端國際化(internationalization)和本地化(localization)?

    聚沙成塔·每天進步一點點 前端入門之旅:探索Web開發(fā)的奇妙世界 歡迎來到前端入門之旅!感興趣的可以訂閱本專欄哦!這個專欄是為那些對Web開發(fā)感興趣、剛剛踏入前端領域的朋友們量身打造的。無論你是完全的新手還是有一些基礎的開發(fā)者,這里都將為你提供一個系統(tǒng)而

    2024年02月04日
    瀏覽(19)
  • 用i18n 實現(xiàn)vue2+element UI的國際化多語言切換詳細步驟及代碼

    用i18n 實現(xiàn)vue2+element UI的國際化多語言切換詳細步驟及代碼

    這個地方要注意自己的vue版本和i1n8的匹配程度,如果是vue2點幾,記得安裝i18n的@8版本,不然會自動安裝的最新版本,后面會報錯哦,查詢了下資料,好像最新版本是適配的vue3。 在src下面新建i18n文件夾,然后在里面新建index.js,里面的內(nèi)容如下 新建i18n文件夾里面新建config文

    2024年02月14日
    瀏覽(31)
  • 前端網(wǎng)頁國際化 translate.js,高效率翻譯,傻瓜式教學

    前端網(wǎng)頁國際化 translate.js,高效率翻譯,傻瓜式教學

    什么?你不信? ?那先簡單實驗一下吧,首先我們隨便打開一個網(wǎng)站,然后F12——檢查——控制臺,復制以下代碼,回車即可 選擇一個語種,就翻譯成功了 在網(wǎng)頁底部加上以下代碼 就像這樣 ? 默認他會給我們加一個id為 translate? 的div盒子,我們可以把這個盒子放在我們需要

    2024年02月01日
    瀏覽(18)
  • SpringBoot+Vue前后端分離項目國際化支持

    SpringBoot+Vue前后端分離項目國際化支持

    i18n.js文件 language.en_US.js文件 language.zh_CN.js文件 messages_en_US.properties文件 messages_zh_CN.properties文件

    2024年02月04日
    瀏覽(25)
  • Vue 國際化之 vue-i18n 的使用

    Vue 國際化之 vue-i18n 的使用

    目錄 一、安裝 二、使用 1、準備語言包 2、準備翻譯的語言環(huán)境 3、實現(xiàn)語言翻譯 三、整合 ElementUI 語言包 1、擴展中文 2、擴展英文? 3、使用擴展語言翻譯 四、問題記錄 五、擴展 vue3 中使用 vue-i18n 如果在一個模塊系統(tǒng)中使用它,你必須通過? Vue.use() ?明確地安裝? vue-i18n

    2024年03月14日
    瀏覽(19)
  • 使用uniapp開發(fā)國際化---app,vue,nvue

    使用uniapp開發(fā)國際化---app,vue,nvue

    hello-i18n 示例工程 - DCloud 插件市場 ?en.json----\\\"自定義key\\\":\\\"英文\\\" ?zh-Hans.json----\\\"自定義key\\\":\\\"中文\\\"? ?? ?注意:json文件中的名稱需要中英文對應。 index.js vue頁面模板使用---- $t(\\\'\\\') nvue頁面模板使用---- t(\\\'\\\') pages.json 使用 ---- %index.title% data中使用--- this.$t(\\\'\\\') 啟動項目,就可以成功切

    2024年02月06日
    瀏覽(22)
  • Vue - i18n 國際化的使用

    參考網(wǎng)址: 使用:?https://huaweicloud.csdn.net/638f133edacf622b8df8eb26.html?spm=1001.2101.3001.6650.1utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Eactivity-1-125181861-blog-123845480.235%5Ev38%5Epc_relevant_anti_t3_basedepth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Ea

    2024年02月11日
    瀏覽(21)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包