Vue 加入多國語言 i18n 套件(Typescript)

更新 發佈閱讀 5 分鐘

Vue 18n packge

I18n (Internationalization, i與n中間有18個字母) 是程式設計在開發過程時將軟體與特定或地區語言解耦和的過程,使軟體更能符合當地的地區文化語言。 網站製作的過程中加入i18n ,更能提升使用者的操作體驗減少使用者語言上的障礙,更能協助推廣網站。vue i18n可以協助在vue開發初期整合多國語言文字的管理, 在網站上架後更能提早觸及更多不同語言的使用者。


安裝vue-i18n

可參考自官方網站 https://vue-i18n.intlify.dev/guide/installation.html

以下使用npm 安裝

npm install vue-i18n@10


設定導入套件 main


以下範例(Typescript)是在安裝後,再main.ts導入I18n

main.ts

// Typescript 
// main.ts
import { createI18n } from "vue-i18n";
const i18n = createI18n({

});
// ...
const app = createApp(App).use(i18n);

// ...

後續再加入不同語言文字的字典檔

修改後的main.ts

import { createI18n } from "vue-i18n";

import { common_dict } from "./locale/dictionary";

const i18n = createI18n({
legacy: false,
locale: "zhTw", // 預設語言
fallbackLocale: "en", // 第二預設語言
messages: dict,
});

const app = createApp(App).use(i18n);

加入語言範例

這裡示範加入英文及中文的範本檔加客製檔

dictionary.ts(第一層視作共同主要的範本檔),在第二層可另外再加入視需求的客製檔

import {addtionDictionary} from 'customer/dictionary'
export const dict = {
en: {
settings:"Settings",
dark_theme:"Dark",
light_theme:"Bright",
theme_mode:"Theme",
loading:"Loading",
hometab:"Home",
... addtionDictionary.en,
},
zhTw: {
settings:"設定",
dark_theme:"暗色",
light_theme:"明亮",
theme_mode:"主題模式",
loading:"載入中",
hometab:" 主頁",
... addtionDictionary.zhTw,
}

}


元件引入字典

我們可以先開一個元件檔Test.vue, 讓不同語言環境更換Title的文字

<Title>{{$t("hometab")}}</Title>

加入文字索引

例如範例的"hometab" 已事先在在前一步驟的字典檔分別翻譯為home主頁。使用時將索引置入$t(...)中

或是想在<script setup>區域使用i18n:

<script setup lang="ts">
import { useI18n } from "vue-i18n";
const i18n = useI18n();
const defaultRoot = i18n.t("hometab");
<script>



以上即以簡單的方式完成加入I18n至Vue的專案中

留言
avatar-img
P工
0會員
10內容數
程式打工族。前端網頁至韌體程式之間。還有其它廣泛的興趣。 正在學習德語及法律課程。
P工的其他內容
2024/12/05
資通安全管理法相關資料整理
2024/12/05
資通安全管理法相關資料整理
2024/12/03
關於CSS的利用white-space使用
2024/12/03
關於CSS的利用white-space使用
2024/11/30
Tailwind CSS 是近年熱門流的CSS 樣式工具套件。class名稱簡單易理解是他的最大特色之一,在設計上不易被其他前端框架套件拘束。是一個入門門檻低的前端樣式好用工具。 這裡介紹用簡單步驟,將Tailwind CSS加入vue專案中
2024/11/30
Tailwind CSS 是近年熱門流的CSS 樣式工具套件。class名稱簡單易理解是他的最大特色之一,在設計上不易被其他前端框架套件拘束。是一個入門門檻低的前端樣式好用工具。 這裡介紹用簡單步驟,將Tailwind CSS加入vue專案中
看更多
你可能也想看
Thumbnail
在 vocus 與你一起探索內容、發掘靈感的路上,我們又將啟動新的冒險——vocus App 正式推出! 現在起,你可以在 iOS App Store 下載全新上架的 vocus App。 無論是在通勤路上、日常空檔,或一天結束後的放鬆時刻,都能自在沈浸在內容宇宙中。
Thumbnail
在 vocus 與你一起探索內容、發掘靈感的路上,我們又將啟動新的冒險——vocus App 正式推出! 現在起,你可以在 iOS App Store 下載全新上架的 vocus App。 無論是在通勤路上、日常空檔,或一天結束後的放鬆時刻,都能自在沈浸在內容宇宙中。
Thumbnail
vocus 慶祝推出 App,舉辦 2026 全站慶。推出精選內容與數位商品折扣,訂單免費與紅包抽獎、新註冊會員專屬活動、Boba Boost 贊助抽紅包,以及全站徵文,並邀請你一起來回顧過去的一年, vocus 與創作者共同留下了哪些精彩創作。
Thumbnail
vocus 慶祝推出 App,舉辦 2026 全站慶。推出精選內容與數位商品折扣,訂單免費與紅包抽獎、新註冊會員專屬活動、Boba Boost 贊助抽紅包,以及全站徵文,並邀請你一起來回顧過去的一年, vocus 與創作者共同留下了哪些精彩創作。
Thumbnail
在這篇文章中,我們將介紹如何快速建置一個 Vue 專案,並涵蓋一些基本的檔案結構和組件使用的方式。希望能幫助你順利開始 Vue 的開發之旅!
Thumbnail
在這篇文章中,我們將介紹如何快速建置一個 Vue 專案,並涵蓋一些基本的檔案結構和組件使用的方式。希望能幫助你順利開始 Vue 的開發之旅!
Thumbnail
Composition API 是 Vue 3 的一組 API,允許使用導入的函數編寫 Vue 組件,涵蓋反應性 API、生命週期鉤子和依賴注入。它主要在單文件組件的 <script setup> 語法中使用。
Thumbnail
Composition API 是 Vue 3 的一組 API,允許使用導入的函數編寫 Vue 組件,涵蓋反應性 API、生命週期鉤子和依賴注入。它主要在單文件組件的 <script setup> 語法中使用。
Thumbnail
Vue 插件是自包含的代碼,通過 app.use() 方法安裝,用於擴展應用功能。插件可定義為包含 install() 方法的物件,或簡單的函數。插件用途包括註冊全局組件、自定義指令、資源注入和添加全局屬性。
Thumbnail
Vue 插件是自包含的代碼,通過 app.use() 方法安裝,用於擴展應用功能。插件可定義為包含 install() 方法的物件,或簡單的函數。插件用途包括註冊全局組件、自定義指令、資源注入和添加全局屬性。
Thumbnail
這次可以將範例內容轉移到components資料夾中,並在App.vue中引用它們。在App.vue中使用import引入其他組件。新範例中定義了兩個函數:一個用於反轉字串,另一個用於彈出警告框。透過按鈕點擊可觸發這些功能。這些範例簡單易懂,實作會比閱讀文件更有效率!
Thumbnail
這次可以將範例內容轉移到components資料夾中,並在App.vue中引用它們。在App.vue中使用import引入其他組件。新範例中定義了兩個函數:一個用於反轉字串,另一個用於彈出警告框。透過按鈕點擊可觸發這些功能。這些範例簡單易懂,實作會比閱讀文件更有效率!
Thumbnail
這篇文章介紹了在 Vue.js 前端框架中如何有效地綁定 Class 和 Style。透過使用 v-bind 指令,使用者可以動態地切換元素的類別和內聯樣式,這不僅能夠簡化程式碼,還能防止錯誤的發生。文章中探討了物件和陣列綁定的使用情境,以及如何在組件中應用這些技術,從而提升開發效率與程式的可讀性。
Thumbnail
這篇文章介紹了在 Vue.js 前端框架中如何有效地綁定 Class 和 Style。透過使用 v-bind 指令,使用者可以動態地切換元素的類別和內聯樣式,這不僅能夠簡化程式碼,還能防止錯誤的發生。文章中探討了物件和陣列綁定的使用情境,以及如何在組件中應用這些技術,從而提升開發效率與程式的可讀性。
Thumbnail
本文介紹了 Vue 的模板語法及虛擬 DOM 概念。學習如何使用 Vue 進行聲明式渲染,以及模板如何轉換為高效的 JavaScript 代碼。探討各種綁定方法、指令及安全注意事項,幫助開發者構建高效動態用戶界面並提升應用性能。文章深入淺出,適合想進一步瞭解 Vue 的開發者。
Thumbnail
本文介紹了 Vue 的模板語法及虛擬 DOM 概念。學習如何使用 Vue 進行聲明式渲染,以及模板如何轉換為高效的 JavaScript 代碼。探討各種綁定方法、指令及安全注意事項,幫助開發者構建高效動態用戶界面並提升應用性能。文章深入淺出,適合想進一步瞭解 Vue 的開發者。
Thumbnail
Vue.js是一種基於MVVM的前端JavaScript框架,類似的框架有React、Angular等。 架設環境 安裝Visual Studio Code(https://code.visualstudio.com/) 安裝Node.js(https://nodejs.org/en/
Thumbnail
Vue.js是一種基於MVVM的前端JavaScript框架,類似的框架有React、Angular等。 架設環境 安裝Visual Studio Code(https://code.visualstudio.com/) 安裝Node.js(https://nodejs.org/en/
Thumbnail
Vue3 學習筆記,專案建立與基礎響應式篇
Thumbnail
Vue3 學習筆記,專案建立與基礎響應式篇
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News