vue3項(xiàng)目如何國(guó)際化實(shí)戰(zhàn)指南
vue3項(xiàng)目如何國(guó)際化
- 我們已經(jīng)屬性vue2 ,使用i18n ,進(jìn)行國(guó)際化
- 那vue3 我們?nèi)绾闻渲?i18n 呢 ?
配置
Ⅰ、安裝
npm i vue-i18n
Ⅱ、創(chuàng)建 il18n
- 在src目錄下,創(chuàng)建 i18n 文件夾,并在下面分別創(chuàng)建三個(gè)文件 分別為 :
- ① 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è)置初始語(yǔ)言, 值要和 messages 中的屬性 key ,相互對(duì)應(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 中使用 需要通過(guò) 導(dǎo)入 getCurrentInstance 進(jìn)行獲取
<script setup> import { getCurrentInstance } from "vue"; const { $t } = getCurrentInstance().proxy; console.log( $t("person.name") ); // => 獲取值 </script>
Ⅱ、修改語(yǔ)言 (和獲取當(dāng)前語(yǔ)言)
- 切換語(yǔ)言要導(dǎo)入vue-i18n 的 locale 屬性,locale 是ref 對(duì)象,要修改value
- 不要修改 i18n/index.js文件, 導(dǎo)出的對(duì)象屬性
<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項(xiàng)目如何國(guó)際化的文章就介紹到這了,更多相關(guān)vue3項(xiàng)目國(guó)際化內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Vue3的setup在el-tab中動(dòng)態(tài)加載組件的方法
公司某項(xiàng)目需求在頁(yè)面顯示的組件是根據(jù)角色變化而變化的,怎么實(shí)現(xiàn)這個(gè)效果呢,下面小編給大家介紹下Vue3的setup在el-tab中動(dòng)態(tài)加載組件的方法,需要的朋友可以參考下2022-11-11如何使用VUE+faceApi.js實(shí)現(xiàn)攝像頭拍攝人臉識(shí)別
Face-api.js是一個(gè)JavaScript API,是基于tensorflow.js核心API 的人臉檢測(cè)和人臉識(shí)別的瀏覽器實(shí)現(xiàn),這篇文章主要給大家介紹了關(guān)于如何使用VUE+faceApi.js實(shí)現(xiàn)攝像頭拍攝人臉識(shí)別的相關(guān)資料,需要的朋友可以參考下2023-05-05Vue Element前端應(yīng)用開發(fā)之echarts圖表
在我們做應(yīng)用系統(tǒng)的時(shí)候,往往都會(huì)涉及圖表的展示,綜合的圖表展示能夠給客戶帶來(lái)視覺的享受和數(shù)據(jù)直觀體驗(yàn),同時(shí)也是增強(qiáng)客戶認(rèn)同感的舉措之一2021-05-05Vue?Axios請(qǐng)求取消和重發(fā)封裝的實(shí)現(xiàn)代碼
這篇文章主要介紹了Vue?Axios請(qǐng)求取消和重發(fā)的封裝的實(shí)現(xiàn),文章通過(guò)代碼示例講解的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2024-09-09