---
sidebarDepth: 6
---
# v9.0.0 寒渐

<p style="font-family:宋体;font-size:20px;">於七月之中，有西流者，是火之星也，知是将<font color="red">寒</font>之<font color="red">渐</font>。</p>
<p style="font-family:宋体;font-size:20px;text-align:right;">--孔颖达疏</p>

## 快速上手
:::tip
如果您想快速上手，请[点击这里](/tutorial)查看使用[Reveal.js](https://github.com/hakimel/reveal.js) 制作的网页版演示。
:::
限于篇幅，更多内容请见下面的详细教程。

## 详细教程

### 复制翻译

CopyTranslator监听到剪贴板变化，会将剪贴板内容进行处理（如去除多余换行等），并显示翻译结果，翻译效果相比于直接复制黏贴到网页版翻译有了巨大的改善，同时翻译所需时间也大大减少，借助于强大的在线翻译API，翻译质量有保证。有效提高人们阅读及翻译外文文献的效率。

![](https://s2.ax1x.com/2019/12/07/QNF4Qf.gif)

### 拖拽复制

**默认关闭**，为减少多次按`Ctrl+C`或者是右键复制所带来的麻烦，CopyTranslator在v9.0.0引入一个鼠标拖拽后自动复制选中文字的机制，在打开`拖拽复制`选项后，只需拖拽选中文字，即可复制。与历史版本中不稳定的`点按复制`不同，`拖拽复制`功能将完全颠覆您的使用习惯，让您更加轻松地复制和翻译。
:::tip
其机制为当鼠标拖动一定时间和距离后释放，会模拟一次Ctrl+C，拖动后的释放很重要，不是按越久越好。

**拖拽选中=复制=翻译**
:::

![](https://s2.ax1x.com/2019/09/19/nOKkFA.gif)
:::warning

重要说明：拖拽复制触发时会模拟Ctrl+C，大部分情况下，这都意味着安全的文本复制，但在某些场景中可能会引起一些意料之外的问题，如剪贴板数据被覆盖、在shell中触发Ctrl+C会使正在运行的程序中断等等，启用时请务必注意。

:::


### 智能互译

CopyTranslator会自动识别所复制的文本，根据所设置的`源语言`和`目标语言`进行智能互译，如果您复制的是`源语言`，会翻译为`目标语言`，复制`目标语言`则会翻译为`源语言`。如果复制的文字既非`源语言`也不是`目标语言`，则会翻译为`目标语言`，`智能互译`可以在设置-开关界面关闭。不用担心，`自动复制`不会与此机制相互影响。

![](https://s2.ax1x.com/2019/12/07/QNluBn.jpg)

### 智能词典

单词少于3的`英语句子`将被视为短语或单词，您将在专注模式上看到更详细的解释，默认开启。


查词引擎目前支持Youdao，Bing及Google，通过专注模式右下角按钮可以切换不同查词引擎。

 ![iManhV.png](https://s2.ax1x.com/2019/12/04/Q1CAYQ.png)

### 聚合引擎

聚合物查词引擎及化合物翻译引擎会**使用所有引擎查询，并缓存不同引擎的查询结果，让你在不同引擎切换时更快。**

#### 翻译引擎

可以从Google,Baidu,Youdao,Sogou,Caiyun,Tencent中选择

#### 查词引擎

可以从Google,Youdao,Bing中选择


### 对照模式

对照模式适应于频繁交互,可以快速地设置各种选项，并同时显示原文和译文以供对照

![](https://s2.ax1x.com/2019/12/07/Qtb5sP.png)

### 专注模式

专注模式只提供一个结果窗口，让您更好地关注结果。通常需要配合`监听剪贴板`和`始终置顶`选项使用
![](https://s2.ax1x.com/2019/12/07/QNwrCj.png)

### 始终置顶

让`CopyTranslator`窗口总是在其他窗口上方。

### 增量复制

将复制的文本附加到原文而不是替换它，**当段落在不同页面中分隔时尤其有用**。**用来解决一句话被页面断成两句，一次复制不全的场景**。勾选`增量复制`选项以启用它。

![](https://s2.ax1x.com/2019/12/07/QNFdRx.gif)

### 自动复制

如果您想在自动翻译后自动复制结果，请启用此选项。
![](https://s2.ax1x.com/2019/12/07/QNKNnI.gif)

### 自动粘贴

**前提：选中自动复制**，自动复制之后模拟ctrl+v自动粘贴，替换选中文字。

![](https://s2.ax1x.com/2019/12/07/QNMS8e.gif)

### 自动格式化

**注意：此功能与自动复制冲突，会自动反选`自动复制`**，将存在错误空行的剪贴板内容替换为正常的剪贴板

### 自动净化/优化翻译

PDF翻译时去除多余换行,解决多余的断句和换行带来的乱码问题，翻译结果更符合阅读习惯。

但是对于非PDF的翻译结果可能会有一定的影响。


### 启用通知

在托盘菜单或设置页面勾选，可以在通知中看到翻译结果（过长的翻译结果无法显示完全）
![](https://s2.ax1x.com/2019/12/07/QNMm8g.gif)


### 自动隐藏
选项打开后
- 专注模式窗口贴上边（Y坐标小于0）|贴左边|贴右边 失去焦点后会自动隐藏，可设置，另外可设置翻译后自动显示。所谓失去焦点指的是，原本焦点在专注模式，而后鼠标/键盘点击其他软件，焦点转移这一事件。  
- 当专注模式处于贴边收起时可以点击其下边缘，使其获得焦点，专注模式展开。
![](https://s2.ax1x.com/2019/12/07/QN0lLV.gif)

### 隐藏方向
设置双击隐藏以及自动隐藏的方向，
可以选择向上，向左，向右,无,最小化
:::warning
请双屏用户务必选择**向上**
:::

### 自动显示
勾选此选项后，当专注模式处于收起状态，且监听到剪贴板变化，专注模式将自动展开。**展开后想要收起结果框，请先点击一下结果框，后点击其他地方，如果`贴边隐藏`选项处于打开状态则结果框会收起。**
![](https://s2.ax1x.com/2019/12/07/QN0Qs0.gif)

### 复制原文

您可以通过任务栏图标的菜单/专注模式右键菜单点击`复制原文`以在`自动复制`模式下暂时复制原文，而不是译文。

### 字体大小/缩放

两个模式均可通过**Ctrl+滚轮**进行字体缩放。

### 快捷操作

当光标位于专注模式结果框中时`Ctrl+Enter`实现翻译（监听剪贴板时会复制框内文本，当不监听剪贴板时复制框内文本），`Ctrl+S`复制译文，`Ctrl+B`百度搜索框内内容，`Ctrl+G`Google搜索框内内容。

### 隐藏任务栏图标

隐藏任务栏图标

### 关闭即退出

可选的**关闭即退出**，此选项默认打开，如果关闭，则只能通过任务栏图标右键菜单退出程序。


### 设置记忆

您的设置将自动保存在磁盘中，并在下次启动时自动加载。

配置文件在不同版本间变动可能很大，又因为如果配置文件不兼容软件将直接无法使用，影响用户体验，但处理兼容性会占用较长的时间，因此决定**不向前兼容也不向后兼容，**每次更新您的旧版本的配置会消失。**

### 多语言支持

在设置界面中可以**选择界面语言**（当前原生支持：English，简体中文，繁体中文），逐步生效，无需重启。

### 自动更新

每次启动，CopyTranslator会在后台检测更新，如果有新版本会提示，windows用户可以选择自动下载并更新，Mac用户可以点击链接前往下载dmg后自行更新。

## 进阶教程
CopyTranslator 提供了强大的自定义功能，但是需要用户有一定的动手能力。

### 自定义界面语言

由于我无法自己维护所有界面语言文件，因此最新版本的最新的界面语言文件可能不会和`CopyTranslator`一同发布（除了`en`和`zh-cn`）。现在，您可以下载本仓库目录[dist_locales](https://github.com/CopyTranslator/CopyTranslator/tree/master/dist_locales)下的语言文件 `{locale}.json`，并将其放在[配置目录](/guide/questions.html#copytranslator%E7%9A%84%E9%85%8D%E7%BD%AE%E7%9B%AE%E5%BD%95%E5%9C%A8%E5%93%AA%E9%87%8C)下的`locales`文件夹下面，`CopyTranslator`将在启动时检测它们，然后您可以在设置面板上选择它们。


### 自定义界面样式/风格

您可以通过修改[配置目录](/guide/questions.html#copytranslator%E7%9A%84%E9%85%8D%E7%BD%AE%E7%9B%AE%E5%BD%95%E5%9C%A8%E5%93%AA%E9%87%8C)下的`styles.css`文件来自定义`CopyTranslator`的界面风格，样式。

可以修改的属性包括但不限于：字体，颜色，背景，边框。

可以自定义的部分包括但不限于：两大模式的结果框，设置框，状态栏的样式。

参考文件中的注释，您可以更改`CopyTranslator`的部分外观。以下是一个例子。

```css
.focusText {
    /*modify the style of the focus result textarea*/
    font-family: Monaco; /*设置专注模式的字体为 Monaco*/
}

.contrastText {
    /*modify the style of the contrast src and result textarea*/

}
.dict{
    font-family: "CMU Serif", "微软雅黑"; /*modify the style of the dict result in Focus Mode*/
}

.contrast {
    /*modify the style of the contrast mode panel*/
}

```
::: tip
CSS文件的编写可以参考[HTML中文网](https://www.html.cn/book/css/all-properties.html)。欢迎大家分享自己编写的`style.css`文件。
更多样式的修改，可以参看项目源码。
:::

### 动作系统
CopyTranslator的核心为动作系统，动作系统统一了界面设置，菜单设置，按钮，快捷键，翻译等等。

**换句话说我们可以将Copytranslator视为交互式命令行程序，通过命令来执行特定操作。**

**注意，不同版本间同一个动作的标识符可能会变化。**

动作可分为两种
- 无参动作
- 带参动作

以下会列出所有可用动作的标识符，大部分都是字面意思，另外也可以查阅[中文翻译](https://github.com/CopyTranslator/CopyTranslator/blob/master/dist_locales/zh-CN.json)

#### 无参动作

一个`无参动作`由以下部分组成：
```
标识符
```
:::tip
实例：执行`copyResult`动作即可复制译文
:::
以下是目前所有无参动作的标识符。
```json
//以下是做一个特定的事的动作
export const normalActionTypes = [
  "translate",
  "copySource",
  "copyResult",
  "clear",
  "helpAndUpdate",
  "exit",
  "viewSource",
  "return",
  "retryTranslate",
  "evaluate",
  "homepage",
  "userManual",
  "checkUpdate",
  "toDownload",
  "changelog",
  "cancel",
  "ok",
  "restoreDefault",
  "capture",
  "notices"
] as const;

//开关选项的动作
export const switchActionTypes = [
  "skipTaskbar",
  "stayTop",
  "listenClipboard",
  "autoCopy",
  "autoPaste",
  "autoPurify",
  "neverShow",
  "smartDict",
  "autoHide",
  "autoFormat",
  "autoShow",
  "incrementalCopy",
  "enableNotify",
  "smartTranslate",
  "smartDict",
  "dragCopy",
  "closeAsQuit"
] as const;

//Electron 原生 角色
export const roles = [
  "undo",
  "redo",
  "cut",
  "copy",
  "paste",
  "pasteAndMatchStyle",
  "selectAll",
  "delete",
  "minimize",
  "close",
  "quit",
  "reload",
  "forceReload",
  "toggleDevTools",
  "togglefullscreen",
  "resetZoom",
  "zoomIn",
  "zoomOut",
  "editMenu",
  "windowMenu"
] as const;

```
#### 带参动作
一个`带参动作`由以下部分组成：
```
标识符|值
```
:::tip
实例：执行`translatorType|google`动作会将翻译引擎设置为google
:::
下面为可用的带参动作的标识符
```json
//设置常量为某一个值
export const constantActionTypes = [
  "source",
  "result",
  "localeName",
  "sourceLanguage",
  "targetLanguage",
  "localeSetting",
  "hideDirect",
  "translatorType",
  "dictionaryType",
  "frameMode",
  "version",
  "API_KEY",
  "APP_ID",
  "SECRET_KEY"
] as const;
```


### 自定义全局快捷键

对于大多数[动作](#动作系统)，您可以通过修改[配置目录](/guide/questions.html#copytranslator%E7%9A%84%E9%85%8D%E7%BD%AE%E7%9B%AE%E5%BD%95%E5%9C%A8%E5%93%AA%E9%87%8C)的`shortcuts.json`来绑定全局快捷键。
::: warning
当快捷键已被其他应用程序占用时，绑定将失败。
:::
每条记录的形式为：`action:accelerator`。

以下为一个例子

```json
{
"listenClipboard": "CommandOrControl+J",
"translatorType|google":"CommandOrControl+T"
}
```

它将切换监听剪贴板的动作绑定到快捷键`CommandOrControl+J`。并将切换为Google翻译器的操作绑定到快捷键`CommandOrControl+T`。

对于所有可用操作，请参看 [动作](#动作系统)。 

所有可用的快捷键，请查看[Electron Accelerator](https://electronjs.org/docs/api/accelerator)。

### 自定义局部快捷键

与全局快捷键不同，局部快捷键不会与其他应用冲突，但是只能在焦点在copytranslator时使用

对于大多数[动作](#动作系统)，您可以通过修改[配置目录](/guide/questions.html#copytranslator%E7%9A%84%E9%85%8D%E7%BD%AE%E7%9B%AE%E5%BD%95%E5%9C%A8%E5%93%AA%E9%87%8C)的`localShortcuts.json`来绑定全局快捷键。

每条记录的形式为：`action:accelerator`。

以下为默认局部快捷键

```json
{
    "undo": "CmdOrCtrl+Z",
    "redo": "Shift+CmdOrCtrl+Z",
    "cut": "CmdOrCtrl+X",
    "copy": "CmdOrCtrl+C",
    "paste": "CmdOrCtrl+V",
    "selectAll": "CmdOrCtrl+A",
    "copyResult": "CmdOrCtrl+S",
    "copySource": "CmdOrCtrl+D",
    "quit": "Cmd+Q"
}
```
以`"copyResult": "CmdOrCtrl+S"`为例，它将复制译文的动作绑定到快捷键`CmdOrCtrl+S`，也就是说如果你的焦点在copytranslator时，按下`ctrl+s`即可复制译文。

对于所有可用操作，请参看 [动作](#动作系统)。 

所有可用的快捷键，请查看[Electron Accelerator](https://electronjs.org/docs/api/accelerator)。