Neovim 插件 i18n.nvim 介绍

前言

最近一直在使用 Neovim 做 vue3 的开发,其中使用了 vue-i18n 作为国际化的解决方案,项目中有大量的国际化内容,需要统计管理、查询、提示。

正赶上最近 Vibe Coding 的概念比较火,就使用业务时间让 AI 帮忙写了这个国际化插件 yelog/i18n.nvim,主要功能有:

  1. 实时预览国际化key
  2. 国际化key的补全(集成 blink.cmp)
  3. 国际化key定义的跳转
  4. 国际化key不存在时提示 Diagnostic
  5. 国际化key的统计
  6. 国际化key的模糊搜索(集成 fzf.lua)

安装

推荐使用 layz.nvim 作为插件管理器,安装方式如下:

lua 复制代码
{
  'yelog/i18n.nvim',
  dependencies = {
    'ibhagwan/fzf-lua',
    'nvim-treesitter/nvim-treesitter'
  },
  config = function()
    require('i18n').setup({
      locales = { 'en', 'zh' },
      sources = {
        'src/locales/{locales}.json',
      }
    })
  end
}

其中 locales 作为你项目中的语言列表, sources 作为你项目中国际化文件的路径,{locales} 会被替换为 locales 中的语言列表。

sources 支持多个文件类型,变量路径等,具体可以参考 REAEDME#Use Case

使用介绍

实时预览国际化key

支持在国际化key使用的地方如 t('common.hello') 处,实时预览国际化内容。并且支持切换默认显示的语言,及是否显示国际化key

国际化key的补全

在国际化key使用的地方如 t('|') 的竖线出,会集成 blink.cmp 进行补全显示

国际化key定义的跳转

在国际化 Key 使用的地方如 t('common.hello') 处,按 gd 可以跳转到国际化 key 的定义处。

在国际化key的定义处,按 gd 可以跳转到其他语言的定义处

国际化key不存在时提示 Diagnostic

如果在国际化key使用的地方使用了不存在的key,如 t('common.hello1'),会有 Diagnostic 提示

国际化key的模糊搜索(集成 fzf.lua)

通过集成 fzf.lua 实现国际化key及默认语言翻译的模糊搜索。

支持 help 提示

在国际化key使用的地方如 t('common.hello') 处,按 <c-k> 可以查看帮助提示

最后

这个插件主要时为了满足自己的需求设计的,所以如何有任何建议和意见,欢迎提 issue

相关推荐
Gerardisite2 分钟前
企业微信客户管理系统实战:标签、分层与自动化流程搭建
java·python·机器人·自动化·企业微信
ch.ju6 分钟前
Java程序设计(第3版)第三章——数组的定义方式
java·开发语言
Chloeis Syntax21 分钟前
JavaEE学习日记(2)---文件操作和IO
java·笔记·学习·java-ee
无风听海22 分钟前
OAuth 2.0 response_type完全指南
java·开发语言·oauth
Cyan_RA922 分钟前
SpringMVC 数据格式化处理 详解
java·开发语言·spring·mvc·ssm·springmvc·数据格式化
SunnyDays101125 分钟前
Java 实现 PDF 中文文本查找与高亮的四种方法
java·pdf·查找文字
倒流时光三十年26 分钟前
PostgreSQL 一次由 string_agg 引发的数据错位 Bug 深度复盘
java·postgresql·string_agg
Gofarlic_OMS29 分钟前
Mastercam浮动许可利用率低:软件许可浪费,回收再分配
java·大数据·开发语言·架构·制造
AC赳赳老秦29 分钟前
OpenClaw与飞书多维表格联动:自动同步工作数据、生成统计图表,实现高效管理
java·数据库·python·信息可视化·飞书·deepseek·openclaw
开开心心就好32 分钟前
带可视化界面的目录文件合并工具
java·运维·科技·游戏·tomcat·自动化·powerpoint