Token导航 LogoToken导航TokenDH.com
I18n Fast MCP logo
开发工具未说明官方级别未说明来源级核验

I18n Fast MCP

MCP Server

一个支持多样化开发场景的钩子驱动国际化插件,通过自定义钩子文件实现高度灵活的国际化流程。

工具数

0

提示词数

0

GitHub Stars

1

资源数

0
开发工具TypeScriptClaudeClaudeCursorVS Code

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

i18n-fast

提供方

i18n-fast

最后核验

2026/5/17 20:22

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

![](https://github.com/lvboda/vscode-i18n-fast)

I18n快速

一个钩子驱动的i18n插件,支持多种开发场景。

英语 | 简体中文

demo

前言

市场上现有i18n插件最大的痛点是它们无法满足每个项目的国际化需求。

以我们公司的项目为例:要求是根据文本条目的语义自动生成一个密钥,并将其写入相应的i18n文件和代码中,使国际化开发像常规开发一样简单。虽然这个要求听起来很简单,但很难找到合适的插件。

I18n快速 是一个i18n代插件,强调 可定制性插件本身不实现特定功能;相反,它利用了一种钩子机制,允许用户实现自己的逻辑。该插件只需连接钩子即可使流程正常工作。简而言之,通过增加配置开销并启用外部代码的动态执行,它牺牲了一些开箱即用的通用性和灵活性,从而满足了更广泛项目的国际化需求。

如果其他i18n插件不能满足您的要求,而您愿意投入一些时间来理解和编写挂钩文件,那么 I18n快速 是您理想的选择。

特性

  • 支持i18n反馈显示
  • 支持跳转到i18n定义
  • 支持i18n冲突解决(重复定义)
  • 支持通过剪贴板文本、选定文本或自定义逻辑进行i18n转换
  • 支持批量匹配中文文本进行i18n转换
  • 理论上支持您想要的任何功能(通过钩子)
  • ~~支持搜索i18n~~https://github.com/lvboda/vscode-i18n-fast/issues/1

快速开始

搜索 I18n快速 在VS代码市场中,单击 安装,或从下载相应版本 发布在VS Code中,打开命令面板 ctrl + shift + p,类型 Install from VSIX,然后选择要安装的下载文件。

安装插件后,您需要完成 插件配置钩状文件。使用配置良好的设置,您在预览代码时应该会看到i18n反馈。尝试使用 i18n-fast.converti18n-快速粘贴 命令来验证您的实现!

MCP服务器

在Claude Code或Cursor中需要相同的钩子驱动的i18n流吗?看 docs/mcp/README.md 用于MCP设置、工具合同和迁移说明。

流程图

![](./assets/flowchart.png "flowchart")

配置

插件配置

  • i18n文件模式: 匹配i18n文件的模式
  • hookFile模式: 匹配钩子文件的模式,默认为 .vscode/i18n-fast.hook.js
  • 冲突策略: 如何处理重复的i18n条目,默认为 smart

- 重新使用: 重用现有的i18n条目 - 忽略: 忽略重复项 - 选择器: 弹出选择器进行手动选择 - 聪明的 如果找到一个匹配的i18n条目,请重用它;如果找到多个,则弹出选择器进行手动选择

  • autoMatch中文版: 是否自动匹配中文文本,默认为 true
i18n文件模式 通常在每个项目的基础上进行配置 .vscode/settings.json.

钩子

钩子文件是一个JavaScript文件,它导出钩子方法供插件调用(请参阅 流程图 用于执行定时)。钩子在Node.js中运行,遵循CommonJS标准,支持异步函数(async/await),并且可以 require 其他模块(来自您的项目或第三方库),因此理论上可以实现您需要的任何功能。

钩子文件的位置基于 config.hookFile模式,违约 .vscode/i18n-fast.hook.js。您只需下载 模板文件 到相应的位置并对其进行修改;模板已经定义了钩子方法类型。

请随意 提交问题 共享您的钩子文件(示例:https://github.com/lvboda/vscode-i18n-fast/issues/21)这样其他人就可以引用和重用你的代码。

钩子代码更改立即生效,无需重新启动插件或VS代码。

上下文

与钩子共享的上下文对象作为第一个参数传递,包括:

  • context.vscode
  • context.extensionContext
  • context.qs
  • context.crypto
  • context.uid
  • 背景。\_
  • context.babel
  • context.hook:当前文件导出的钩子对象,可以调用同一文件中的其他钩子
  • context.i18n:用于读取和写入i18n条目的实例处理i18n存储
  • context.convert2拼音:一种基于 小拼音 将汉字转换为拼音
  • context.isInJsxElement:一种基于 巴别 确定代码是否在JSX元素内
  • context.isInJsxAttribute:一种基于 巴别 确定代码是否在JSX属性内
  • context.writeFileByEditor:一种通过编辑器编写文件的方法
  • context.getICUMessageFormatAST:一种使用以下命令获取ICU MessageFormat AST的方法 @formatjs/icu消息格式解析器
  • context.safeCall:一个辅助函数,用于捕获和忽略函数执行过程中抛出的错误
  • context.asyncSafeCall:safeCall的异步版本
  • context.getConfig:检索 插件配置
  • context.getLoading:获取全局加载状态
  • context.setLoading:设置全局加载状态
  • context.showMessage:VS Code弹出消息的简化版本
  • context.matchChinese:中文匹配方法(实现 autoMatchChinese: true)

上面列出了每个钩子可用的公共属性。还有其他属性(例如 context.document, context.convertGroups, context.i18nFileUri等等),这些特定于钩子执行上下文;请参阅 模板文件 详细定义。

hook.match

在开始时执行 i18n-fast.convert 命令,此钩子自定义如何匹配当前文档中的文本,并返回匹配结果。注意优先级:如果 i18n-快速粘贴 调用命令或选择文本, hook.match 不会跑。

这个例子, hook.match 用于匹配包裹在其中的所有文本 #(...) 在当前文档中。

hook.convert

之后立即执行 hook.match,此钩子处理或预处理数据。

这个例子, hook.convert 将代码替换文本定义为 formatMessage({ id: 'xxx' });如果在JSX或JSX属性内,则将结果封装在 {...} 并生成一个uuid作为加载i18n密钥,以供以后查找和替换。

hook.write

执行后 hook.convert,此钩子将数据写入文件。

这个例子, hook.write 首先同步写入代码文件(使用加载键),然后调用AI接口根据语义生成简洁的键,确定键应出现在哪个i18n文件中,最后写入AI生成的键以替换代码中的加载键,并将i18n定义写入相应的文件。

hook.collectI18n

在初始化、配置或i18n文件更改时触发,此钩子收集i18n数据。

这个例子, hook.collectI18n 根据以下内容加载i18n文件内容 i18nFileUri 参数并将其转换为 I18nGroup[] 格式。

hook.matchI18n

在浏览代码时触发,此钩子过滤匹配的i18n键或自定义i18n反馈/跳转/hoverMessage功能,默认情况下基于i18nKey进行匹配。

这个例子, hook.matchI18n 过滤按键以确保它们包含一个点(.),未括在引号中的键仅支持jump和hoverMessage,以避免不准确(请参阅https://github.com/lvboda/vscode-i18n-fast/issues/3详细信息)。

命令

i18n-fast.convert

convert命令将匹配的文本转换为i18n格式。

快捷方式: cmd + option + c (macOS)/ ctrl + alt + c (Windows/Linux)

执行流程:

  1. 匹配文本(优先级:参数文本>选定文本>hook.Match+~~中文匹配~~)
  2. 转换数据(通过hook.Convert)
  3. 写入文件(通过hook.Write)

i18n-快速粘贴

粘贴命令将剪贴板中的文本转换为i18n格式并粘贴。

快捷方式: cmd + option + v (macOS)/ ctrl + alt + v (Windows/Linux)

执行流程:

  1. 从剪贴板检索文本
  2. 呼叫 i18n-fast.convert 以剪贴板文本作为输入

i18n-fast.undo

撤消命令撤消此会话中执行的所有文件写入操作。

快捷方式: cmd + option + b (macOS)/ ctrl + alt + b (Windows/Linux)

只有调用的写入操作 context.writeFileByEditorneedSnapshot 设置为true可以通过此命令撤消(默认情况下, needSnapshot 是真的)。

常见问题

阅读文档后,我仍然不知道如何配置它。我该怎么办?

我不想写代码。还有其他方法可以直接使用它吗?

检查以下问题 钩示例标签 对于一些钩子示例,您可以直接参考或使用。

执行动态代码是否存在安全风险?

I18n-Fast是一个完全独立的应用程序。理论上,只要你确保你编写的挂钩代码是安全的,就没有安全风险。

许可证

麻省理工学院

版权(c) 2025年-博达吕

目录标签

目录标签

开发工具TypeScriptClaude国际化工具本地部署VSCode插件多语言支持自定义钩子开发效率

支持客户端

ClaudeCursorVS Code

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP