Awesome
<div align="center"> <p style="font-size: 18px;">Lightweight, simple, flexible, automatic translation internationalization tool for Vue</p>English | 简体中文
</div> <details > <summary>Table of Contents</summary>Vision<br/> Requirement<br/> Features<br/> Live Demo<br/> Principle<br/> License<br/>
</details>Vision
To make internationalization easy and enjoyable 😄💪🏻
Requirement
The current library is only applicable to
Vue 3
. If you need to supportVue 2
, please click i18n-pro/vue2 to view
- vue >= 3.2.25
- i18n-pro >= 2.0.0
Features
- lightweight: +
- The following features are inherited from i18n-pro
- simple
- flexible
- automatic-translation
- keyless
Live Demo
- with$ = true
- with$ = false
Principle
This library is implemented based on i18n-pro combined with Vue
's Global Properties, Reactivity System and Plugin System
Mainly composed of 2
parts
- createI18n
- useI18n
createI18n:Initialize internationalization state and return its plugin function<br />useI18n:Method to get internationalization state and API in Composition API
A simple example is as follows
// App.vue
<template>
{{ $t('hello world') }}
</template>
// main.ts
import { createApp } from 'vue'
import App from './App.vue'
import { createI18n } from '@i18n-pro/vue'
const i18n = createI18n({
namespace: "i18n-example",
locale: "en",
langs: {
zh: {
'hello world': '你好世界',
},
ja:{
"hello world": "こんにちは世界",
},
}
})
createApp(App)
.use(i18n)
.mount('#app')
Help Document
To avoid unnecessary duplicate document content, some of the documents in this library are linked to the content in
i18n-pro
<br />Thei18n-pro
related link in the current document is based on the2.0.0
version. If you are using a different version, you need to check the document corresponding to the version you are using to avoid inconsistent usage
- Current Library
- i18n-pro
License
Copyright (c) 2023-present Eyelly Wu