Vue 3 Gettext

使用 Gettext 国际化你的 Vue3 应用程序

在线演示 安装与设置 文档

快速开始

1. 安装

npm i vue3-gettext@next

2. 引入

main.ts/main.js 中设置 gettext:

import { createGettext } from "vue3-gettext";
import { createApp } from "vue";
import translations from "./src/language/translations.json";

const app = createApp(App);
app.use(createGettext({
  availableLanguages: {
    en: "Engilish",
    zh: "简体中文",
  },
  defaultLanguage: 'zh',
  translations,
}));


 







 


高亮的行暂时会报错,后续抽取编译后会修复它。 更多配置选项请查看 配置

3. 使用

在应用程序中使用 gettext:

<span>{{ $gettext("Translate me") }}</span>

4. 自动抽取翻译与编译

详见 自动抽取

首先,在 package.json 中添加 scripts:

"scripts": {
  ...
  "gettext:extract": "vue-gettext-extract",
  "gettext:compile": "vue-gettext-compile",
}

然后,在根目录新建 gettext.config.js 配置文件。

module.exports = {
  input: {
    path: './src'
  },
  output: {
    locales: ["en", "zh"],
  },
};

更多配置项(比如自定义抽取关键字)请查看 自动抽取

最后,运行如下指令自动抽取与编译。

npm run gettext:extract 自动从代码中抽取待翻译字符串并生成 .po 文件。

npm run gettext:compile 将翻译好的 .po 文件编译为 .json 文件以便在 createGettext 时引用。