Skip to content

Lightweight, simple, flexible, automatic translation internationalization tool for Vue(适用于 Vue 的轻量、简单、灵活、自动翻译的国际化工具)

License

i18n-pro/vue

Repository files navigation

Lightweight, simple, flexible, automatic translation internationalization tool for Vue

English | 简体中文

npm-version npm-download

github-stars last-commit github-issues codecov

demo

Table of Contents

Vision
Requirement
Features
Live Demo
Principle
License

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

  • vue >= 3.2.25
  • i18n-pro >= 2.0.0

Features

  • lightweightbundlesize + bundlesize
  • The following features are inherited from i18n-pro
    • simple
    • flexible
    • automatic-translation
    • keyless

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
  • useI18n

createI18n:Initialize internationalization state and return its plugin function
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
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