vue3項目如何國際化實戰(zhàn)指南
vue3項目如何國際化
- 我們已經(jīng)屬性vue2 ,使用i18n ,進行國際化
- 那vue3 我們?nèi)绾闻渲?i18n 呢 ?
配置
Ⅰ、安裝
npm i vue-i18n
Ⅱ、創(chuàng)建 il18n
- 在src目錄下,創(chuàng)建 i18n 文件夾,并在下面分別創(chuàng)建三個文件 分別為 :
- ① index.js => 主文件用于導(dǎo)入 i18n ,和相關(guān)配置
- ② zh.js => 存放中文內(nèi)容
- ③ en.js => 存放英文內(nèi)容
① main.js 示例 =>
import { createI18n } from 'vue-i18n';
import ZH from './zh.js';
import EN from './en.js';
const messages = {
zh: { ...ZH },
en: { ...EN },
};
const i18n = createI18n({
legacy: false,
globalInjection: true,
locale: 'zh',
messages
});
export default i18n;
locale屬性用于設(shè)置初始語言, 值要和 messages 中的屬性 key ,相互對應(yīng)
② zh.js 示例 =>
export default {
person: {
name:'張三',
hobby:'唱跳,rap,籃球'
},
};
③ en.js 示例 =>
export default {
person: {
name:'zhangsan',
hobby:'Singing and dancing, rap, basketball'
},
};
Ⅲ、在main.js 中配置 i18n
import { createApp } from "vue";
import App from "./App.vue";
import i18n from './i18n/index';
const app = createApp(App);
app
.use(i18n)
.mount("#app");
使用
Ⅰ、在 html 中使用 如果只是在 html 中使用,不用在導(dǎo)入任何東西
<template>
<div>
<span> {{ $t("person.name") }} </span>
<span> {{ $t("person.hobby") }} </span>
</div>
</template>
Ⅱ、在js 中使用 需要通過 導(dǎo)入 getCurrentInstance 進行獲取
<script setup>
import { getCurrentInstance } from "vue";
const { $t } = getCurrentInstance().proxy;
console.log( $t("person.name") ); // => 獲取值
</script>
Ⅱ、修改語言 (和獲取當前語言)
- 切換語言要導(dǎo)入vue-i18n 的 locale 屬性,locale 是ref 對象,要修改value
- 不要修改 i18n/index.js文件, 導(dǎo)出的對象屬性
<script setup>
import { useI18n } from 'vue-i18n'
const { locale } = useI18n()
// 切換中文
function changeZh(){ locale.value = 'zh'; };
// 切換英文
function changeEn(){ locale.value = 'en'; };
</script>
總結(jié)
到此這篇關(guān)于vue3項目如何國際化的文章就介紹到這了,更多相關(guān)vue3項目國際化內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
vue-router2.0 組件之間傳參及獲取動態(tài)參數(shù)的方法
下面小編就為大家?guī)硪黄獀ue-router2.0 組件之間傳參及獲取動態(tài)參數(shù)的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-11-11
Vue實例的對象參數(shù)options的幾個常用選項詳解
今天小編就為大家分享一篇Vue實例的對象參數(shù)options的幾個常用選項詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-11-11
如何在 Vite 項目中自動為每個 Vue 文件導(dǎo)入 base.les
在Vite配置中通過添加css.preprocessorOptions實現(xiàn)自動導(dǎo)入base.less,簡化Vue組件的樣式設(shè)置,提高代碼的可維護性,感興趣的朋友跟隨小編一起看看吧2024-09-09

