docs: update README

This commit is contained in:
JuanZoran 2023-04-07 19:28:43 +08:00
parent 38b8e20729
commit 335c5079cc
2 changed files with 140 additions and 114 deletions

185
README.md
View File

@ -1,44 +1,43 @@
# Trans.nvim # Trans.nvim
<!--toc:start--> <!--toc:start-->
- [Trans.nvim](#transnvim)
- [Trans.nvim](#transnvim) - [注意: 当前分支目前没有发布, README.md 的描述并不准确, 遇到问题请切换到 `main`分支或者联系我](#注意-当前分支目前没有发布-readmemd-的描述并不准确-遇到问题请切换到-main分支或者联系我)
- [特点](#特点) - [特点](#特点)
- [屏幕截图](#屏幕截图) - [屏幕截图](#屏幕截图)
- [演示](#演示) - [演示](#演示)
- [离线查询](#离线查询) - [离线查询](#离线查询)
- [\*在线查询\*\* (有道)](#在线查询-有道) - [在线查询演示 (有道)](#在线查询演示-有道)
- [主题](#主题) - [主题](#主题)
- [安装](#安装) - [安装](#安装)
- [配置](#配置) - [配置](#配置)
- [快捷键绑定](#快捷键绑定)
- [高亮组](#高亮组) - [高亮组](#高亮组)
- [声明](#声明) - [声明](#声明)
- [感谢](#感谢) - [感谢](#感谢)
- [贡献](#贡献) - [贡献](#贡献)
- [从 v1 (main)分支迁移](#从-v1-main分支迁移)
- [待办 (画大饼)](#待办-画大饼) - [待办 (画大饼)](#待办-画大饼)
- [项目情况](#项目情况) - [项目情况](#项目情况)
<!--toc:end--> <!--toc:end-->
### 注意: 当前分支目前没有发布, README.md 的描述并不准确, 遇到问题请切换到 `main`分支或者联系我
> **插件默认词库的路径为插件目录**
例如: `lazy` 用户应该在 `$HOME/.local/share/nvim/lazy/Trans.nvim`
## 特点 ## 特点
- 使用纯 lua 编写, 速度极快 - `使用纯 lua 编写`
> `Lazy.nvim`的记录: <font color="#0099FF">`➜  Trans.nvim 0.82ms`</font>
- **可以定义快捷键读英文单词** - **可以定义快捷键读英文单词**
> 见 wiki
- 大部分功能可以自定义: - 大部分功能可以自定义:
- 高亮 - 高亮
- 悬浮大小 - 悬浮大小
- 排版顺序 - 排版顺序
- 弹窗大小 - 弹窗大小
- `舒服窗口动画` - `舒服窗口动画`
- etc (更多可以查看[配置](#配置)) - 更多可以查看[配置](#配置)
- **完全离线** 的单词翻译体验 (可能后面会支持在线翻译) - `离线``在线`翻译的支持
- 支持显示: - 支持显示:
- 柯林斯星级 - 柯林斯星级
- 牛津 3000 词汇 - 牛津 3000 词汇
@ -46,7 +45,7 @@
- 英文翻译 (不是英译中, 而是用英文解释) - 英文翻译 (不是英译中, 而是用英文解释)
- 词根 - 词根
- etc - etc
- 舒服的排版和`动画` - 支持`平滑动画`
- 支持 `normal``visual`模式 - 支持 `normal``visual`模式
> <font color='#FF9900'>不支持 visual-block mode</font> > <font color='#FF9900'>不支持 visual-block mode</font>
- 本地词库单词量: `430w` - 本地词库单词量: `430w`
@ -61,13 +60,13 @@
https://user-images.githubusercontent.com/107862700/226175984-1a95bea7-8d66-450e-87e1-ba9c91c37ab8.mp4 https://user-images.githubusercontent.com/107862700/226175984-1a95bea7-8d66-450e-87e1-ba9c91c37ab8.mp4
### 在线查询 (有道) ### 在线查询演示 (有道)
https://user-images.githubusercontent.com/107862700/226176106-c2962dd3-d66c-499c-b44a-1f471b79fe38.mp4 https://user-images.githubusercontent.com/107862700/226176106-c2962dd3-d66c-499c-b44a-1f471b79fe38.mp4
**使用在线查询需要配置相应的 app_id 和 app_passwd** **使用在线查询需要配置相应的 app_id 和 app_passwd**
在线查询配置见: [wiki](https://github.com/JuanZoran/Trans.nvim/wiki/%E9%85%8D%E7%BD%AE#%E5%9C%A8%E7%BA%BF%E6%9F%A5%E8%AF%A2%E9%85%8D%E7%BD%AE) 配置说明见: [wiki](https://github.com/JuanZoran/Trans.nvim/wiki/%E9%85%8D%E7%BD%AE#%E5%9C%A8%E7%BA%BF%E6%9F%A5%E8%AF%A2%E9%85%8D%E7%BD%AE)
### 主题 ### 主题
@ -157,37 +156,29 @@ use {
<font color="#FF9900">**注意事项**: </font> <font color="#FF9900">**注意事项**: </font>
- `install.sh`
- 使用了 `wget`下载词库, 安装请确保你的环境变量中存在 wget
- install.sh 下载后会自动将词库解压, 并移动到 `$HOME/.vim/dict`文件夹下
- 目前仅在 `Ubuntu22.04`的环境下测试通过
> 如果上述条件不符合, 请删掉 `run = 'install.sh'`部分, 考虑手动安装词库
> 如果上述条件满足, 仍出现问题, 欢迎在 issue 里向我反馈,我会及时尝试解决
- 下载词典的过程中, 需要能够 `流畅的访问github下载` - 下载词典的过程中, 需要能够 `流畅的访问github下载`
如果下载出现问题, 正常是会自动下载
> 词库文件压缩包大小为: **281M** > 词库文件压缩包大小为: **281M**
> 解压缩后的大小大概为: 1.2G > 解压缩后的大小大概为: **1.2G**
- 安装后如果不能正常运行, 请尝试检查一下问题: - 安装后如果不能正常运行, 清尝试运行 `checkhealth Trans`
- 本机是否已经安装了 `sqlite3` - **`auto_play`** 的使用:
> Linux 下安装:
> `sudo pacman -S sqlite # Arch`
> `sudo apt-get install sqlite3 libsqlite3-dev # Ubuntu`
> **尝试运行 `checkhealth Trans`** - `Linux` 需要安装`festival`
- **`auto_play`** 使用步骤: > `sudo apt-get install festival festvox-kallpc16k`
> linux 只需要安装`festival` **如果你想要设置音色,发音可以访问:** [Festival 官方](https://www.cstr.ed.ac.uk/projects/festival/morevoices.html)
> sudo apt-get install festival festvox-kallpc16k 可以选择英音、美音、男声、女声
> **_如果你想要设置音色发音可以访问:_** [Festival 官方](https://www.cstr.ed.ac.uk/projects/festival/morevoices.html)
> 可以选择英音、美音、男声、女声
> 其他操作系统 - `Termux` 需要安装`termux-api`
- `Mac` 使用系统的`say`命令
- `Windows` 使用 `nodejs`的 say 模块, 如果你有更好的方案欢迎提供 PR
- 需要确保安装了`nodejs` - 需要确保安装了`nodejs`
- 进入插件的`tts`目录运行`npm install` - 进入插件的`tts`目录运行`npm install`
> 如果`install`运行正常则自动安装,如果安装失败,请尝试手动安装 > 如果`install`运行正常则自动安装,如果安装失败,请尝试手动安装
@ -244,12 +235,16 @@ use {
## 配置 ## 配置
详细见**wiki**: [配置说明](https://github.com/JuanZoran/Trans.nvim/wiki/%E9%85%8D%E7%BD%AE) 详细见**wiki**: [基本配置说明](https://github.com/JuanZoran/Trans.nvim/wiki/%E9%85%8D%E7%BD%AE)
<details>
<summary>默认配置</summary>
```lua ```lua
require 'Trans'.setup { default_conf = {
---@type string the directory for database file and password file ---@type string the directory for database file and password file
dir = require 'Trans'.plugin_dir, dir = require 'Trans'.plugin_dir,
debug = true,
---@type 'default' | 'dracula' | 'tokyonight' global Trans theme [see lua/Trans/style/theme.lua] ---@type 'default' | 'dracula' | 'tokyonight' global Trans theme [see lua/Trans/style/theme.lua]
theme = 'default', -- default | tokyonight | dracula theme = 'default', -- default | tokyonight | dracula
strategy = { strategy = {
@ -294,11 +289,13 @@ require 'Trans'.setup {
split_width = 60, split_width = 60,
padding = 10, -- padding for hover window width padding = 10, -- padding for hover window width
keymaps = { keymaps = {
pageup = '[[', -- INFO : No default keymaps anymore, please set it yourself
pagedown = ']]', -- pageup = '<C-u>',
pin = '<leader>[', -- pagedown = '<C-d>',
close = '<leader>]', -- pin = '<leader>[',
toggle_entry = '<leader>;', -- close = '<leader>]',
-- toggle_entry = '<leader>;',
-- play = '_', -- Deprecated -- play = '_', -- Deprecated
}, },
---@type string[] auto close events ---@type string[] auto close events
@ -349,6 +346,8 @@ require 'Trans'.setup {
} }
``` ```
</details>
## 快捷键绑定 ## 快捷键绑定
**示例:** **示例:**
@ -361,66 +360,90 @@ vim.keymap.set({'n', 'x'}, 'mm', '<Cmd>Translate<CR>')
vim.keymap.set({'n', 'x'}, 'mk', '<Cmd>TransPlay<CR>') -- 自动发音选中或者光标下的单词 vim.keymap.set({'n', 'x'}, 'mk', '<Cmd>TransPlay<CR>') -- 自动发音选中或者光标下的单词
``` ```
## 高亮组 **窗口快捷键**
> 默认定义
```lua ```lua
{ require 'Trans'.setup {
TransWord = { frontend = {
hover = {
keymaps = {
-- pageup = 'whatever you want',
-- pagedown = 'whatever you want',
-- pin = 'whatever you want',
-- close = 'whatever you want',
-- toggle_entry = 'whatever you want',
},
},
},
}
}
```
> 当窗口没有打开的时候, key 会被使用`vim.api.nvim_feedkey`来执行
## 高亮组
所有主题可见 `lua/Trans/style/theme.lua`
<details>
<summary>默认主题</summary>
```lua
TransWord = {
fg = '#7ee787', fg = '#7ee787',
bold = true, bold = true,
}, }
TransPhonetic = { TransPhonetic = {
link = 'Linenr' link = 'Linenr'
}, }
TransTitle = { TransTitle = {
fg = '#0f0f15', fg = '#0f0f15',
bg = '#75beff', bg = '#75beff',
bold = true, bold = true,
}, }
TransTitleRound = { TransTitleRound = {
fg = '#75beff', fg = '#75beff',
}, }
TransTag = { TransTag = {
-- fg = '#e5c07b', -- fg = '#e5c07b',
link = '@tag' link = '@tag'
}, }
TransExchange = { TransExchange = {
link = 'TransTag', link = 'TransTag',
}, }
TransPos = { TransPos = {
link = 'TransTag', link = 'TransTag',
}, }
TransTranslation = { TransTranslation = {
link = 'TransWord', link = 'TransWord',
}, }
TransDefinition = { TransDefinition = {
link = 'Moremsg', link = 'Moremsg',
}, }
TransWin = { TransWin = {
link = 'Normal', link = 'Normal',
}, }
TransBorder = { TransBorder = {
fg = '#89B4FA', fg = '#89B4FA',
}, }
TransCollins = { TransCollins = {
fg = '#faf743', fg = '#faf743',
bold = true, bold = true,
}, }
TransFailed = { TransFailed = {
fg = '#7aa89f', fg = '#7aa89f',
}, }
TransWaitting = { TransWaitting = {
link = 'MoreMsg' link = 'MoreMsg'
}, }
TransWeb = { TransWeb = {
-- TODO :
link = 'MoreMsg', link = 'MoreMsg',
} }
}
``` ```
</details>
## 声明 ## 声明
- 本插件词典基于[ECDICT](https://github.com/skywind3000/ECDICT) - 本插件词典基于[ECDICT](https://github.com/skywind3000/ECDICT)
@ -436,6 +459,10 @@ vim.keymap.set({'n', 'x'}, 'mk', '<Cmd>TransPlay<CR>') -- 自动发音选中或
> 更新比较频繁, 文档先鸽了 > 更新比较频繁, 文档先鸽了
> 如果你想要参加这个项目, 可以提 issue, 我会把文档补齐 > 如果你想要参加这个项目, 可以提 issue, 我会把文档补齐
## 从 v1 (main)分支迁移
见[wiki](https://github.com/JuanZoran/Trans.nvim/wiki/%E4%BB%8E(v1)main%E5%88%86%E6%94%AF%E8%BF%81%E7%A7%BB)
## 待办 (画大饼) ## 待办 (画大饼)
- [x] 快捷键定义 - [x] 快捷键定义

View File

@ -57,7 +57,6 @@ return {
-- close = '<leader>]', -- close = '<leader>]',
-- toggle_entry = '<leader>;', -- toggle_entry = '<leader>;',
-- play = '_', -- Deprecated -- play = '_', -- Deprecated
}, },
---@type string[] auto close events ---@type string[] auto close events