Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>vue-autoI18nNew to Visual Studio Code? Get it now.
vue-autoI18n

vue-autoI18n

kaizhengya

|
5 installs
| (0) | Free
将中文自动转成vue-i18n格式,并生成字典文件
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

vue-autoI18n 插件说明 v0.0.1测试版

⚠️ 当前为测试版,功能持续完善中,欢迎反馈建议! 📬 如发现问题或有建议,欢迎前往 Gitee Issues 反馈。

🚀 功能亮点

  • 一键自动国际化:支持 Vue、JavaScript、TypeScript 文件,自动识别并提取中文文本。
  • 右键菜单集成:在编辑器中右键即可选择“自动国际化”,无需命令行操作。
  • 智能 key 生成:国际化 key 采用 文件夹名.中文内容 规则,结构清晰易维护。
  • 属性值自动处理:如 range-separator 等属性,中文值自动加冒号前缀,兼容 Vue 语法。
  • JS 代码智能替换:JS/TS 代码中的中文自动转换为 $t('key') 格式,避免语法错误。
  • 资源文件自动管理:所有国际化内容统一写入 src/locales/models 目录,按文件名分模块管理,支持增量写入,避免覆盖已有翻译。
  • 脚手架集成:插件自动初始化项目结构,生成必要目录和配置文件。
  • 配置自动读取:自动读取 .langrc 文件中的 appid、secretkey、localeDir、langs,便于后续扩展翻译 API。

📁 生成目录结构示例

项目根目录/
├── .langrc                # 国际化配置文件
├── src/
│   └── locales/
│       ├── index.js        # i18n主文件
│       └── models          # 存放生成的字典文件的目录
│           └── demo.js     # 生成的字典文件示例
│           └── xx.js       # 使用自动国际化生成的字典文件
├── package.json
└── ...

🛠️ 使用方法

  1. 安装 vue-autoI18n 插件。

  2. 打开需要国际化的 Vue/JS/TS 文件。

  3. 右键选择“构建初始化目录”,插件自动初始化项目结构。

  4. 右键选择“自动国际化”,插件自动扫描并处理文件内容。

  5. 国际化 key 会自动写入 src/locales/models/[文件名].js,支持增量更新。

  6. 首次使用会自动创建 src/locales 目录及相关依赖。

  7. 支持 .langrc 配置,自动读取 appid、secretkey、localeDir、langs。

    • appid:百度翻译 API 应用 ID
    • secretkey:百度翻译 API 密钥
    • localeDir:国际化资源文件目录,默认 src/locales/models
    • langs:支持的语言列表,默认 ["zh-CN","en-US"]
  8. 推荐使用unplugin-auto-import插件自动导入$t函数。

    • 安装插件:npm install unplugin-auto-import --save-dev
    • 配置插件:在 vite.config.js 中添加以下代码
    import AutoImport from "unplugin-auto-import/vite";
    
    export default defineConfig({
      plugins: [
        AutoImport({
          imports: [
            {
              "@/locales": ["$t"],
            },
          ],
        }),
      ],
    });
    

⚠️ 注意事项

  • 当前仅支持 Vue3 Setup 语法,未来将支持 JS/TS/Vue2 文件国际化。
  • 国际化资源文件统一写入 src/locales 目录,自动创建目录并按文件名分模块管理。
  • 插件支持增量写入,团队协作更安全。
  • 若需自定义目录结构,请修改 localeDir 字段。
  • 当前插件为测试版,功能持续完善中,欢迎反馈建议。

🔧 地区语言映射表

 "af": "afr", // 通用 - 对应翻译目标:南非荷兰语
  "af-ZA": "afr", // 南非 - 对应翻译目标:南非荷兰语
  // 阿尔巴尼亚语
  "sq": "alb", // 通用 - 对应翻译目标:阿尔巴尼亚语
  "sq-AL": "alb", // 阿尔巴尼亚 - 对应翻译目标:阿尔巴尼亚语
  // 阿拉伯语
  "ar": "ara", // 通用 - 对应翻译目标:阿拉伯语
  "ar-DZ": "ara", // 阿尔及利亚 - 对应翻译目标:阿拉伯语(注:阿尔及利亚阿拉伯语arq未启用检测)
  "ar-BH": "ara", // 巴林 - 对应翻译目标:阿拉伯语
  "ar-EG": "ara", // 埃及 - 对应翻译目标:阿拉伯语
  "ar-IQ": "ara", // 伊拉克 - 对应翻译目标:阿拉伯语
  "ar-JO": "ara", // 约旦 - 对应翻译目标:阿拉伯语
  "ar-KW": "ara", // 科威特 - 对应翻译目标:阿拉伯语
  "ar-LB": "ara", // 黎巴嫩 - 对应翻译目标:阿拉伯语
  "ar-LY": "ara", // 利比亚 - 对应翻译目标:阿拉伯语
  "ar-MA": "ara", // 摩洛哥 - 对应翻译目标:阿拉伯语
  "ar-OM": "ara", // 阿曼 - 对应翻译目标:阿拉伯语
  "ar-QA": "ara", // 卡塔尔 - 对应翻译目标:阿拉伯语
  "ar-SA": "ara", // 沙特阿拉伯 - 对应翻译目标:阿拉伯语
  "ar-SY": "ara", // 叙利亚 - 对应翻译目标:阿拉伯语
  "ar-TN": "ara", // 突尼斯 - 对应翻译目标:阿拉伯语(注:突尼斯阿拉伯语tua未启用检测)
  "ar-AE": "ara", // 阿联酋 - 对应翻译目标:阿拉伯语
  "ar-YE": "ara", // 也门 - 对应翻译目标:阿拉伯语
  // 亚美尼亚语
  "hy": "arm", // 通用 - 对应翻译目标:亚美尼亚语
  "hy-AM": "arm", // 亚美尼亚 - 对应翻译目标:亚美尼亚语
  // 阿塞拜疆语
  "az": "aze", // 通用 - 对应翻译目标:阿塞拜疆语
  "az-AZ-Cyrl": "aze", // 阿塞拜疆(西里尔) - 对应翻译目标:阿塞拜疆语
  "az-AZ-Latn": "aze", // 阿塞拜疆(拉丁文) - 对应翻译目标:阿塞拜疆语
  // 巴斯克语
  "eu": "baq", // 通用 - 对应翻译目标:巴斯克语
  "eu-ES": "baq", // 巴斯克地区 - 对应翻译目标:巴斯克语
  // 白俄罗斯语
  "be": "bel", // 通用 - 对应翻译目标:白俄罗斯语
  "be-BY": "bel", // 白俄罗斯 - 对应翻译目标:白俄罗斯语
  // 保加利亚语
  "bg": "bul", // 通用 - 对应翻译目标:保加利亚语
  "bg-BG": "bul", // 保加利亚 - 对应翻译目标:保加利亚语
  // 加泰罗尼亚语
  "ca": "cat", // 通用 - 对应翻译目标:加泰罗尼亚语
  "ca-ES": "cat", // 加泰罗尼亚 - 对应翻译目标:加泰罗尼亚语
  // 中文
  "zh-HK": "cht", // 中国香港 - 对应翻译目标:中文(繁体)
  "zh-MO": "cht", // 中国澳门 - 对应翻译目标:中文(繁体)
  "zh-CN": "zh", // 中国内地 - 对应翻译目标:中文(简体)
  "zh-CHS": "zh", // 通用简体 - 对应翻译目标:中文(简体)
  "zh-SG": "zh", // 新加坡 - 对应翻译目标:中文(简体)
  "zh-TW": "cht", // 中国台湾 - 对应翻译目标:中文(繁体)
  "zh-CHT": "cht", // 通用繁体 - 对应翻译目标:中文(繁体)
  // 克罗地亚语
  "hr": "hrv", // 通用 - 对应翻译目标:克罗地亚语
  "hr-HR": "hrv", // 克罗地亚 - 对应翻译目标:克罗地亚语
  // 捷克语
  "cs": "cs", // 通用 - 对应翻译目标:捷克语
  "cs-CZ": "cs", // 捷克 - 对应翻译目标:捷克语
  // 丹麦语
  "da": "dan", // 通用 - 对应翻译目标:丹麦语
  "da-DK": "dan", // 丹麦 - 对应翻译目标:丹麦语
  // 迪维希语
  "div": "div", // 通用 - 对应翻译目标:迪维希语(注:语种检测为否,按原始代码映射)
  "div-MV": "div", // 马尔代夫 - 对应翻译目标:迪维希语
  // 荷兰语
  "nl": "nl", // 通用 - 对应翻译目标:荷兰语
  "nl-BE": "nl", // 比利时 - 对应翻译目标:荷兰语
  "nl-NL": "nl", // 荷兰 - 对应翻译目标:荷兰语
  // 英语
  "en": "en", // 通用 - 对应翻译目标:英语
  "en-AU": "en", // 澳大利亚 - 对应翻译目标:英语
  "en-BZ": "en", // 伯利兹 - 对应翻译目标:英语
  "en-CA": "en", // 加拿大 - 对应翻译目标:英语
  "en-CB": "en", // 加勒比海 - 对应翻译目标:英语
  "en-IE": "en", // 爱尔兰 - 对应翻译目标:英语
  "en-JM": "en", // 牙买加 - 对应翻译目标:英语
  "en-NZ": "en", // 新西兰 - 对应翻译目标:英语
  "en-PH": "en", // 菲律宾 - 对应翻译目标:英语
  "en-ZA": "en", // 南非 - 对应翻译目标:英语
  "en-TT": "en", // 特立尼达和多巴哥 - 对应翻译目标:英语
  "en-GB": "en", // 英国 - 对应翻译目标:英语
  "en-US": "en", // 美国 - 对应翻译目标:英语
  "en-ZW": "en", // 津巴布韦 - 对应翻译目标:英语
  // 爱沙尼亚语
  "et": "est", // 通用 - 对应翻译目标:爱沙尼亚语
  "et-EE": "est", // 爱沙尼亚 - 对应翻译目标:爱沙尼亚语
  // 法罗语
  "fo": "fao", // 通用 - 对应翻译目标:法罗语(注:语种检测为否,按原始代码映射)
  "fo-FO": "fao", // 法罗群岛 - 对应翻译目标:法罗语
  // 波斯语
  "fa": "per", // 通用 - 对应翻译目标:波斯语
  "fa-IR": "per", // 伊朗 - 对应翻译目标:波斯语
  // 芬兰语
  "fi": "fin", // 通用 - 对应翻译目标:芬兰语
  "fi-FI": "fin", // 芬兰 - 对应翻译目标:芬兰语
  // 法语
  "fr": "fra", // 通用 - 对应翻译目标:法语
  "fr-BE": "fra", // 比利时 - 对应翻译目标:法语
  "fr-CA": "fra", // 加拿大 - 对应翻译目标:法语(注:加拿大法语frn未启用检测)
  "fr-FR": "fra", // 法国 - 对应翻译目标:法语
  "fr-LU": "fra", // 卢森堡 - 对应翻译目标:法语
  "fr-MC": "fra", // 摩纳哥 - 对应翻译目标:法语
  "fr-CH": "fra", // 瑞士 - 对应翻译目标:法语
  // 加利西亚语
  "gl": "glg", // 通用 - 对应翻译目标:加利西亚语
  "gl-ES": "glg", // 加利西亚 - 对应翻译目标:加利西亚语
  // 格鲁吉亚语
  "ka": "geo", // 通用 - 对应翻译目标:格鲁吉亚语
  "ka-GE": "geo", // 格鲁吉亚 - 对应翻译目标:格鲁吉亚语
  // 德语
  "de": "de", // 通用 - 对应翻译目标:德语
  "de-AT": "de", // 奥地利 - 对应翻译目标:德语
  "de-DE": "de", // 德国 - 对应翻译目标:德语
  "de-LI": "de", // 列支敦士登 - 对应翻译目标:德语
  "de-LU": "de", // 卢森堡 - 对应翻译目标:德语
  "de-CH": "de", // 瑞士 - 对应翻译目标:德语
  // 希腊语
  "el": "el", // 通用 - 对应翻译目标:希腊语
  "el-GR": "el", // 希腊 - 对应翻译目标:希腊语
  // 古吉拉特语
  "gu": "guj", // 通用 - 对应翻译目标:古吉拉特语
  "gu-IN": "guj", // 印度 - 对应翻译目标:古吉拉特语
  // 希伯来语
  "he": "heb", // 通用 - 对应翻译目标:希伯来语
  "he-IL": "heb", // 以色列 - 对应翻译目标:希伯来语
  // 印地语
  "hi": "hi", // 通用 - 对应翻译目标:印地语
  "hi-IN": "hi", // 印度 - 对应翻译目标:印地语
  // 匈牙利语
  "hu": "hu", // 通用 - 对应翻译目标:匈牙利语
  "hu-HU": "hu", // 匈牙利 - 对应翻译目标:匈牙利语
  // 冰岛语
  "is": "ice", // 通用 - 对应翻译目标:冰岛语
  "is-IS": "ice", // 冰岛 - 对应翻译目标:冰岛语
  // 印尼语
  "id": "id", // 通用 - 对应翻译目标:印尼语
  "id-ID": "id", // 印度尼西亚 - 对应翻译目标:印尼语
  // 意大利语
  "it": "it", // 通用 - 对应翻译目标:意大利语
  "it-IT": "it", // 意大利 - 对应翻译目标:意大利语
  "it-CH": "it", // 瑞士 - 对应翻译目标:意大利语
  // 日语
  "ja": "jp", // 通用 - 对应翻译目标:日语
  "ja-JP": "jp", // 日本 - 对应翻译目标:日语
  // 卡纳达语
  "kn": "kan", // 通用 - 对应翻译目标:卡纳达语
  "kn-IN": "kan", // 印度 - 对应翻译目标:卡纳达语
  // 哈萨克语(未启用检测,按原始代码映射)
  "kk": "kir", // 通用 - 对应翻译目标:吉尔吉斯语(注:哈萨克语无检测,映射至近亲语言)
  "kk-KZ": "kir", // 哈萨克斯坦 - 对应翻译目标:吉尔吉斯语
  // 孔卡尼语(未启用检测,按原始代码映射)
  "kok": "kok", // 通用 - 对应翻译目标:孔卡尼语
  "kok-IN": "kok", // 印度 - 对应翻译目标:孔卡尼语
  // 韩语
  "ko": "kor", // 通用 - 对应翻译目标:韩语
  "ko-KR": "kor", // 韩国 - 对应翻译目标:韩语
  // 吉尔吉斯语(未启用检测,按原始代码映射)
  "ky": "kir", // 通用 - 对应翻译目标:吉尔吉斯语
  "ky-KZ": "kir", // 哈萨克斯坦 - 对应翻译目标:吉尔吉斯语
  // 拉脱维亚语
  "lv": "lav", // 通用 - 对应翻译目标:拉脱维亚语
  "lv-LV": "lav", // 拉脱维亚 - 对应翻译目标:拉脱维亚语
  // 立陶宛语
  "lt": "lit", // 通用 - 对应翻译目标:立陶宛语
  "lt-LT": "lit", // 立陶宛 - 对应翻译目标:立陶宛语
  // 马其顿语
  "mk": "mac", // 通用 - 对应翻译目标:马其顿语
  "mk-MK": "mac", // 北马其顿 - 对应翻译目标:马其顿语
  // 马来语
  "ms": "may", // 通用 - 对应翻译目标:马来语
  "ms-BN": "may", // 文莱 - 对应翻译目标:马来语
  "ms-MY": "may", // 马来西亚 - 对应翻译目标:马来语
  // 马拉地语(未启用检测,按原始代码映射)
  "mr": "mar", // 通用 - 对应翻译目标:马拉地语
  "mr-IN": "mar", // 印度 - 对应翻译目标:马拉地语
  // 蒙古语(未启用检测,按原始代码映射)
  "mn": "mn", // 通用 - 对应翻译目标:蒙古语
  "mn-MN": "mn", // 蒙古 - 对应翻译目标:蒙古语
  // 挪威语
  "no": "nor", // 通用 - 对应翻译目标:挪威语
  "nb-NO": "nob", // 挪威(博克马尔语) - 对应翻译目标:书面挪威语
  "nn-NO": "nno", // 挪威(新挪威语) - 对应翻译目标:新挪威语
  // 波兰语
  "pl": "pl", // 通用 - 对应翻译目标:波兰语
  "pl-PL": "pl", // 波兰 - 对应翻译目标:波兰语
  // 葡萄牙语
  "pt": "pt", // 通用 - 对应翻译目标:葡萄牙语
  "pt-BR": "pt", // 巴西 - 对应翻译目标:葡萄牙语(注:巴西葡萄牙语pot未启用检测)
  "pt-PT": "pt", // 葡萄牙 - 对应翻译目标:葡萄牙语
  // 旁遮普语
  "pa": "pan", // 通用 - 对应翻译目标:旁遮普语
  "pa-IN": "pan", // 印度 - 对应翻译目标:旁遮普语
  // 罗马尼亚语
  "ro": "rom", // 通用 - 对应翻译目标:罗马尼亚语
  "ro-RO": "rom", // 罗马尼亚 - 对应翻译目标:罗马尼亚语
  // 俄语
  "ru": "ru", // 通用 - 对应翻译目标:俄语
  "ru-RU": "ru", // 俄罗斯 - 对应翻译目标:俄语
  // 梵语(未启用检测,按原始代码映射)
  "sa": "san", // 通用 - 对应翻译目标:梵语
  "sa-IN": "san", // 印度 - 对应翻译目标:梵语
  // 塞尔维亚语
  "sr-SP-Cyrl": "srp", // 塞尔维亚(西里尔) - 对应翻译目标:塞尔维亚语
  "sr-SP-Latn": "srp", // 塞尔维亚(拉丁文) - 对应翻译目标:塞尔维亚语
  // 斯洛伐克语
  "sk": "sk", // 通用 - 对应翻译目标:斯洛伐克语
  "sk-SK": "sk", // 斯洛伐克 - 对应翻译目标:斯洛伐克语
  // 斯洛文尼亚语
  "sl": "slo", // 通用 - 对应翻译目标:斯洛文尼亚语
  "sl-SI": "slo", // 斯洛文尼亚 - 对应翻译目标:斯洛文尼亚语
  // 西班牙语
  "es": "spa", // 通用 - 对应翻译目标:西班牙语
  "es-AR": "spa", // 阿根廷 - 对应翻译目标:西班牙语
  "es-BO": "spa", // 玻利维亚 - 对应翻译目标:西班牙语
  "es-CL": "spa", // 智利 - 对应翻译目标:西班牙语
  "es-CO": "spa", // 哥伦比亚 - 对应翻译目标:西班牙语
  "es-CR": "spa", // 哥斯达黎加 - 对应翻译目标:西班牙语
  "es-DO": "spa", // 多米尼加 - 对应翻译目标:西班牙语
  "es-EC": "spa", // 厄瓜多尔 - 对应翻译目标:西班牙语
  "es-SV": "spa", // 萨尔瓦多 - 对应翻译目标:西班牙语
  "es-GT": "spa", // 危地马拉 - 对应翻译目标:西班牙语
  "es-HN": "spa", // 洪都拉斯 - 对应翻译目标:西班牙语
  "es-MX": "spa", // 墨西哥 - 对应翻译目标:西班牙语
  "es-NI": "spa", // 尼加拉瓜 - 对应翻译目标:西班牙语
  "es-PA": "spa", // 巴拿马 - 对应翻译目标:西班牙语
  "es-PY": "spa", // 巴拉圭 - 对应翻译目标:西班牙语
  "es-PE": "spa", // 秘鲁 - 对应翻译目标:西班牙语
  "es-PR": "spa", // 波多黎各 - 对应翻译目标:西班牙语
  "es-ES": "spa", // 西班牙 - 对应翻译目标:西班牙语
  "es-UY": "spa", // 乌拉圭 - 对应翻译目标:西班牙语
  "es-VE": "spa", // 委内瑞拉 - 对应翻译目标:西班牙语
  // 斯瓦希里语
  "sw": "swa", // 通用 - 对应翻译目标:斯瓦希里语
  "sw-KE": "swa", // 肯尼亚 - 对应翻译目标:斯瓦希里语
  // 瑞典语
  "sv": "swe", // 通用 - 对应翻译目标:瑞典语
  "sv-FI": "swe", // 芬兰 - 对应翻译目标:瑞典语
  "sv-SE": "swe", // 瑞典 - 对应翻译目标:瑞典语
  // 叙利亚语
  "syr": "syr", // 通用 - 对应翻译目标:叙利亚语(注:语种检测为否,按原始代码映射)
  "syr-SY": "syr", // 叙利亚 - 对应翻译目标:叙利亚语
  // 泰米尔语
  "ta": "tam", // 通用 - 对应翻译目标:泰米尔语
  "ta-IN": "tam", // 印度 - 对应翻译目标:泰米尔语
  // 鞑靼语
  "tt": "tat", // 通用 - 对应翻译目标:鞑靼语
  "tt-RU": "tat", // 俄罗斯 - 对应翻译目标:鞑靼语
  // 泰卢固语
  "te": "tel", // 通用 - 对应翻译目标:泰卢固语
  "te-IN": "tel", // 印度 - 对应翻译目标:泰卢固语
  // 泰语
  "th": "th", // 通用 - 对应翻译目标:泰语
  "th-TH": "th", // 泰国 - 对应翻译目标:泰语
  // 土耳其语
  "tr": "tr", // 通用 - 对应翻译目标:土耳其语
  "tr-TR": "tr", // 土耳其 - 对应翻译目标:土耳其语
  // 乌克兰语
  "uk": "ukr", // 通用 - 对应翻译目标:乌克兰语
  "uk-UA": "ukr", // 乌克兰 - 对应翻译目标:乌克兰语
  // 乌尔都语
  "ur": "urd", // 通用 - 对应翻译目标:乌尔都语
  "ur-PK": "urd", // 巴基斯坦 - 对应翻译目标:乌尔都语
  // 乌兹别克语(未启用检测,按原始代码映射)
  "uz": "uz", // 通用 - 对应翻译目标:乌兹别克语
  "uz-UZ-Cyrl": "uz", // 乌兹别克斯坦(西里尔) - 对应翻译目标:乌兹别克语
  "uz-UZ-Latn": "uz", // 乌兹别克斯坦(拉丁文) - 对应翻译目标:乌兹别克语
  // 越南语
  "vi": "vie", // 通用 - 对应翻译目标:越南语
  "vi-VN": "vie" // 越南 - 对应翻译目标:越南语

✨ 更新日志


✨ v0.0.1

  • 插件发布,支持 Vue/JS/TS 文件一键自动国际化
  • 自动生成 src/locales 目录及资源文件
  • 支持 .langrc 配置自动读取
  • 集成脚手架功能,项目结构一键初始化
  • 右键菜单支持“自动国际化”命令
  • 右键菜单支持“构建初始化目录”命令

✨ v0.0.2

  • 更改描述文档,完善功能说明

✨ v0.0.3

  • 在.langrc中增加语言配置langs,默认["zh-CN","en-US"]支持多语言生成

📄 License

MIT

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft