You need to enable JavaScript to run this app.
导航

Vue3

最近更新时间2023.03.23 14:34:15

首次发布时间2023.03.23 14:34:15

vue3 场景下基于 i18next-vue 进行处理,api一致,如需更多功能可查询官方网站
vue3 版本支持需要@volcengine/i18n版本 >= 1.0.3

入口main.js

import { createApp } from 'vue'
import App from './App.vue'
import vueI18n from '@volcengine/i18n/dist/vue3';
import ICU from 'i18next-icu';
import LanguageDetector from 'i18next-browser-languagedetector'

const app = createApp(App)
vueI18n.use(ICU).use(LanguageDetector).init({
  debug: true,
  fallbackLng: 'en',
  backend: {
    namespace: 39174,
    operatorId: 2100041130,
    apiKey: '704dbe7057f511ec8e4aedf71dc34d4f',
    projectId: 4568,
  }
}, app).then(()=> {
    app.mount('#app');
})
使用

setup hooks

<script setup>
import { computed } from 'vue'
import { useTranslation } from '@volcengine/i18n/dist/vue3';
const { i18next, t } = useTranslation();
</script>

渲染文案

<template>
  <div>{{ $t('normal') }}</div> // 内置$t 全局变量
  <div>{{ t('normal') }}</div>  // useTranslation 返回 t 
</template>

插值

<template>
	<div>{{ $t('placeholder', { name: 'starling' }) }}</div>
	<div>{{ t('placeholder', { name: 'starling' }) }}</div>
</template>

切换语言

<template>
  <div>
    <div>{{ $i18next.language }}</div>
    <div>{{ i18next.language }}</div>
    <button @click="()=> $i18next.changeLanguage('zh')">切换中文</button>
    <button @click="()=> i18next.changeLanguage('en')">切换英文</button>
  </div>
</template>