Home

Awesome

<div align="center"> <p style="font-size: 18px;">Lightweight, simple, flexible, automatic translation internationalization tool for Vue</p>

English | 简体中文

npm-version npm-download

github-stars last-commit github-issues codecov

demo

</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 support Vue 2 , please click i18n-pro/vue2 to view

Features

Live Demo

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: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 />The i18n-pro related link in the current document is based on the 2.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

License

MIT

Copyright (c) 2023-present Eyelly Wu