This commit is contained in:
恍兮惚兮 2024-07-03 17:24:13 +08:00
parent db7b6c5b2f
commit 1633a7c82b
39 changed files with 1459 additions and 8 deletions

3
.gitmodules vendored
View File

@ -10,3 +10,6 @@
[submodule "plugins/libs/rapidfuzz-cpp"]
path = plugins/libs/rapidfuzz-cpp
url = https://github.com/rapidfuzz/rapidfuzz-cpp
[submodule "docs/images"]
path = docs/images
url = https://github.com/HIllya51/images

View File

@ -324,7 +324,7 @@ def setTab_update(self, basel):
],
[
"使用说明",
makehtml("https://hillya51.github.io/LunaTranslator_tutorial/#/zh/"),
makehtml("https://hillya51.github.io/LunaTranslator/#/zh/"),
],
]
if globalconfig["languageuse"] == 0:

View File

@ -4,16 +4,16 @@
<a href="./LICENSE"><img src="https://img.shields.io/github/license/HIllya51/LunaTranslator"></a>
<a href="https://github.com/HIllya51/LunaTranslator/releases"><img src="https://img.shields.io/github/v/release/HIllya51/LunaTranslator?color=ffa"></a>
<a href="https://github.com/HIllya51/LunaTranslator/stargazers"><img src="https://img.shields.io/github/stars/HIllya51/LunaTranslator?color=ccf"></a>
<a href="https://hillya51.github.io/LunaTranslator_tutorial/download.html" target="_blank"><img src="https://img.shields.io/badge/download-blue"/></a>
<a href="https://hillya51.github.io/LunaTranslator/download.html" target="_blank"><img src="https://img.shields.io/badge/download-blue"/></a>
</p>
## 简体中文 | [Русский язык](README_ru.md) | [English](README_en.md) | [Other Language](otherlang.md)
> **一款galgame翻译器**
## <a href="https://hillya51.github.io/LunaTranslator_tutorial/#/zh/" target="_blank">使用说明</a> <a href="https://space.bilibili.com/592120404/video" target="_blank">视频教程</a>
## <a href="https://hillya51.github.io/LunaTranslator/#/zh/" target="_blank">使用说明</a> <a href="https://space.bilibili.com/592120404/video" target="_blank">视频教程</a>
欢迎觉得有帮助的朋友一起完善[说明文档](https://github.com/HIllya51/LunaTranslator_tutorial)。交流群[912525396](https://qm.qq.com/q/qE32v9NYBO)
欢迎觉得有帮助的朋友一起完善[说明文档](https://github.com/HIllya51/LunaTranslator)。交流群[912525396](https://qm.qq.com/q/qE32v9NYBO)
## 功能支持

View File

@ -10,9 +10,9 @@
> **A galgame translator**
## <a href="https://hillya51.github.io/LunaTranslator_tutorial/#/en/" target="_blank">Documentation</a>
## <a href="https://hillya51.github.io/LunaTranslator/#/en/" target="_blank">Documentation</a>
Welcome friends who find it helpful to improve the documentation together.[Documentation Repo](https://github.com/HIllya51/LunaTranslator_tutorial)
Welcome friends who find it helpful to improve the documentation together.[Documentation Repo](https://github.com/HIllya51/LunaTranslator)
## Function support

View File

@ -11,9 +11,9 @@
> **Переводчик текста с экрана для игр и не только!**
## <a href="https://hillya51.github.io/LunaTranslator_tutorial/#/ru/" target="_blank">Инструкция по настройке программы (Полностью на русском языке)</a>
## <a href="https://hillya51.github.io/LunaTranslator/#/ru/" target="_blank">Инструкция по настройке программы (Полностью на русском языке)</a>
Welcome friends who find it helpful to improve the documentation together.[Documentation Repo](https://github.com/HIllya51/LunaTranslator_tutorial)
Welcome friends who find it helpful to improve the documentation together.[Documentation Repo](https://github.com/HIllya51/LunaTranslator)
## Основные функции:

25
docs/download.html Normal file
View File

@ -0,0 +1,25 @@
<!DOCTYPE html>
<html>
<head>
<title>Download LunaTranslator</title>
</head>
<body>
<p id="download-link">Loading...</p>
<script>
fetch('https://api.github.com/repos/HIllya51/LunaTranslator/releases/latest')
.then(response => response.json())
.then(data => {
const asset = data.assets.find(asset => asset.name === 'LunaTranslator.zip');
const asset2 = data.assets.find(asset => asset.name === 'LunaTranslator_x86.zip');
const downloadLink = document.getElementById('download-link');
downloadLink.innerHTML = `<a href="${asset.browser_download_url}">LunaTranslator.zip(64bit)</a><br><a href="${asset2.browser_download_url}">LunaTranslator_x86.zip(32bit)</a>`;
})
.catch(error => {
console.error('Error:', error);
const downloadLink = document.getElementById('download-link');
downloadLink.innerHTML = 'Failed to load download link.';
});
</script>
</body>
</html>

57
docs/en/README.md Normal file
View File

@ -0,0 +1,57 @@
# LunaTranslator
<p align="left">
<a href="./LICENSE"><img src="https://img.shields.io/badge/license-GPL%203.0-dfd.svg"></a>
<a href="https://github.com/HIllya51/LunaTranslator/releases"><img src="https://img.shields.io/github/v/release/HIllya51/LunaTranslator?color=ffa"></a>
<a href="https://github.com/HIllya51/LunaTranslator/stargazers"><img src="https://img.shields.io/github/stars/HIllya51/LunaTranslator?color=ccf"></a>
</p>
## Function support
#### Text source
&emsp;&emsp;**Clipboard** Support to get text from the clipboard for translation
&emsp;&emsp;**OCR** Support offline OCR (deployed), WindowsOCR, Baidu OCR, Youdao OCR, ocrspace, docsumo, and support binding screenshot windows to avoid window overlap.
&emsp;&emsp;**HOOK** Support the use of HOOK to obtain text, support the use of special codes, support the automatic saving of games and HOOK, and automatic loading of HOOK
#### Translators
Support almost all translation engines you can think of, including:
&emsp;&emsp;**Offline translation** Support offline translation using J Beijing 7, Jinshan Express and Yediantong
&emsp;&emsp;**Free online translation** Support the use of Baidu, Bing, Google, Alibaba, Youdao, Caiyun, Sogou, DeepL, Jinshan, iFLYTEK, Tencent, Byte, Volcano, Papago, and peekit for translation
&emsp;&emsp;**Registed online translation** Support the translation of Baidu, Tencent, Youdao, Maverick, Caiyun, Volcano and deep translation keys registered by users
&emsp;&emsp;**Pre-translation** Support reading manual translation and aggregating machine pre-translation files
&emsp;&emsp;**Custom translation extension** Support the use of python language to extend other translation interfaces I don't know
#### Speech Synthesis
&emsp;&emsp;**Offline TTS** Support windowsTTS, VoiceRoid2, VOICEVOX
&emsp;&emsp;**Online TTS** Support AzureTTS, huoshanTTS
#### Translation optimization
&emsp;&emsp;**Text processing** Support simple processing such as text de-duplication, filtering HTML tags, filtering line breaks, filtering characters and numbers; Support custom simple text replacement and regular expression replacement
&emsp;&emsp;**Translation optimization** Support the use of customized proper noun translation, and support the import of VNR shared dictionaries
#### Japanese learning
&emsp;&emsp;**Japanese word segmentation and kana display** Support the use of built-in download-free word segmentation and kana display tools, and support the use of Mecab to optimize word segmentation and kana display
&emsp;&emsp;**Word search** Support the use of primary school library, Lingers dictionary and EDICT (Japanese English) dictionary for word query

49
docs/en/hooksetsumei.md Normal file
View File

@ -0,0 +1,49 @@
# HOOK说明
在基本设置界面选择Textractor会自动弹出进程选择窗口。
或自行点击“选择游戏”按钮,弹出进程选择窗口。
或者在工具栏点击第一个框起来的按钮“选择游戏”。
![img](../images/zh/toolbar3.jpg)
有三种方式选择进程:
* 点击“点此按钮后点击游戏窗口”按钮后,点击游戏窗口,会自动获取游戏进程
* 在下方的列表中选择游戏
* 在手动输入进程号
在使用no_admin运行时有时可能看不到进程或者选择后也无效
![img](../images/zh/selectprocess.jpg)
选择完毕后点击OK然后会自动弹出文本选择窗口。或者点击“选择文本”按钮或者点击工具栏第二个框起来的按钮
弹出文本选择窗口后点击游戏让游戏显示下一条文本,则可以出现若干提取到的文本。
![img](../images/zh/selecttext.jpg)
点击列表中的任意项,下面预览窗口中就会显示这一条目捕捉到的文本。
![img](../images/zh/yulan.jpg)
列表中有时会有很多条目,这时在下方的“搜索包含文本的条目”文本框中输入当前游戏窗口中的文字对条目进行筛选,就可以轻松找到所需的内容。
使用游戏中出现的“約束”字进行搜索列表中只剩下1个条目。
![img](../images/zh/filter.jpg)
如果有多个条目都想选择可以按住ctrl进行多选。
然后选择OK游戏就会开始翻译。如果后面发现选择的条目不符合要求还可以重新进行选择。
![img](../images/zh/reshook.jpg)

18
docs/en/ocrsetsumei.md Normal file
View File

@ -0,0 +1,18 @@
# OCR说明
首先在基本设置中选择OCR工具栏出现三个图标
![img](../images/zh/toolbar2.jpg)
点击第一个按钮,选择截图范围,出现如图范围框。
![img](../images/zh/12.jpg)
范围框点击第二个按钮可以隐藏/显示。
第三个按钮可以选择绑定的截图窗口,先按下按钮,然后点击游戏窗口,这个按钮将变成粉色。如果想要取消绑定则按下按钮后点击翻译器本身即可取消绑定。
如同为绑定了截图窗口下的样子即时窗口互相重叠也可以正常OCR
![img](../images/zh/ocrbind.jpg)

191
docs/en/settings.md Normal file
View File

@ -0,0 +1,191 @@
# 设置
在工具栏中点击设置,或者在托盘图标中点击设置,可以弹出设置窗口。
## 基本设置
选取使用的文本输出源粉色√表示已选取灰色×表示未选取。只能同时有≤1个选项生效。
选择OCR作为文本输入时需要在工具栏中选取OCR识别范围。
选择TextractorHOOK作为文本输入时会弹出进程选择窗口选择游戏后会弹出文本选择窗口。
默认是使用剪切板模型,此时会自动提取剪切板文本并进行翻译。
![img](../images/zh/5.jpg)
## 翻译设置
一些翻译器的设置。不过作者比较懒就没有把各种类型的翻译器分开放。
支持几乎所有能想得到的翻译引擎,包括:
&emsp;&emsp;**离线翻译** 支持使用J北京7、金山快译、译典通进行离线翻译
&emsp;&emsp;**免费在线翻译** 支持使用百度、必应、谷歌、阿里、有道、彩云、搜狗、DeepL、金山、讯飞、腾讯、字节、火山、papago、yeekit进行翻译
&emsp;&emsp;**注册在线翻译** 支持使用用户注册的百度、腾讯、有道、小牛、彩云、火山、deepl翻译密钥翻译
&emsp;&emsp;**预翻译** 支持读取人工翻译和聚合机器预翻译文件
所有翻译器均可随意选择,没有数量限制。
按钮分别是:是否使用翻译器/设置翻译文本显示颜色/设置
其中,离线翻译&注册在线翻译&预翻译需要在使用前点击设置按钮进行设置。
对于谷歌翻译&deepl可能需要代理才能访问需要在输入代理后点击确定并开启使用代理。
对于预翻译可以采用模糊匹配主要对于OCR模式比较有效
![img](../images/zh/6.jpg)
## HOOK设置
LocaleEmulator设置可以设置LocaleEmulator的路径新版本已内置设置路径后可以通过LE启动游戏
已保存游戏里保存了之前HOOK过的游戏并可以启动游戏在工具栏上点击打开已保存的游戏也一样
录制翻译文件可以将提取到的文本保存到transkiroku文件夹中会输出两个文件
**游戏的md5_游戏的程序文件名.sqlite** 这个文件只会录制单一的翻译源输出,用于生成“人工翻译”文件。设置“优先使用的翻译源”后会优先录制这个翻译源的内容,如果翻译失败才会记录其他翻译源内容。
**游戏的md5_游戏的程序文件名.premt_synthesize.sqlite** 这个文件用于“机器预翻译”,会记录所有有效的翻译结果。
导出sqlite文件为json文件。按下这个按钮选择上述第一个第一个文件可以导出json文件方便修改翻译结果然后将json文件路径设置为“人工翻译”的文件路径后则可以使用人工翻译。
在剪贴板模式和OCR模式下也会录制文件前缀分别是0_copy和0_ocr。
[➔ 具体用法详见HOOK说明](hooksetsumei.md)
![img](../images/zh/21.jpg)
## OCR设置
在OCR模式下可以选择使用的OCR源
其中本地OCR是内置的OCR引擎可以无脑用。
百度OCR/ocrspace/docsumo需要设置密钥。
youdaoocr和youdao图片翻译是体验性接口容易抽风。
WindowsOCR需要操作系统中安装日语相关组件。
设置“每隔一段时间必然进行一次OCR”后设置OCR最长间隔时间则每个x秒必然进行一个OCR不管图片是否改变。
[➔ 具体用法详见OCR说明](ocrsetsumei.md)
![img](../images/zh/22.jpg)
## 显示设置
不透明度是窗口背景不透明度
开启显示原文后,可以设置显示假名和显示分词结果
字体样式支持四种字体样式(普通,空心,描边,阴影),后三种高级字体可以在“空心线宽”“描边宽度”“阴影强度”中分别进行设置。
原文颜色可以设置原文的颜色,背景颜色可以设置窗口背景颜色。
填充颜色是使用高级字体样式下的填充颜色
可选取模式下可以在翻译窗口中选取内容。
![img](../images/zh/7.jpg)
四种字体样式如下
![img](../images/zh/ziti1.jpg)
![img](../images/zh/ziti2.jpg)
![img](../images/zh/ziti3.jpg)
![img](../images/zh/ziti4.jpg)
假名显示如下
![img](../images/zh/jiaming.jpg)
分词显示如下
![img](../images/zh/fenci.jpg)
## 语音设置
WindowsTTS需要操作系统中安装日语相关组件。
AzureTTS和火山TTS是在线tts未来可能失效。
VoiceRoid2是离线翻译引擎。
VOICEVOX是一个开源TTS引擎但是生成语音速度较慢。
![img](../images/zh/8.jpg)
## 翻译优化
对于HOOK提取到的文本有时会有一些不好的内容这里可以设置对文本进行一些简单的处理操作
其中包括一些常见的设置以及一些高级设置。
使用简单替换内容可以将提取到的文本进行替换/过滤
使用正则表达式替换需要用户了解python的reg.sub的使用方法
使用专有名词手动翻译选项,支持使用用户配置的特殊名词词典(例如一些人名地名等)来优化翻译
翻译结果修正发生在翻译结束后,名词翻译对于有的翻译引擎容易失效,可以强制替换翻译结果。
本软件部分支持使用VNR共享辞书
如果用户了解python语言可以直接在LunaTranslator\LunaTranslator\postprocess\post.py文件中直接进行修改即可实现用户想要的任何处理过程。
![img](../images/zh/10.jpg)
## 辞书设置
如果设置了辞书,本软件可以帮助用户学习日语。
设置使用mecab分词并在显示设置中设置显示分词结果可以显示出分词词结果
设置使用mecab分词并在显示设置中设置显示假名可以显示出汉字的假名
若不使用mecab则会使用系统内置的简单分词器也可以显示假名和分词结果但是不能区分词性
设置使用mecab分词并设置显示不同颜色词性则可以将不同词性的单词用不同颜色标注出来。
开启快捷查词后,点击翻译窗口的原文,会弹出查词窗口。
![img](../images/zh/cishu.jpg)
![img](../images/zh/fenci.jpg)
![img](../images/zh/searchword.jpg)
![img](../images/zh/searchword2.jpg)
## 资源下载更新
自动更新以及一些常用资源的链接。
![img](../images/zh/down.jpg)
## 快捷键设置
开启使用快捷键后,开启指定的快捷键设置,并进行对应的设置。
![img](../images/zh/quick.jpg)

18
docs/en/sidebar.md Normal file
View File

@ -0,0 +1,18 @@
- Start
- [Introduction](/en/README.md)
- Usage
- [Start](/en/start.md)
- [Toolbar](/en/toolbar.md)
- [Settings](/en/settings.md)
- [Tray icon](/en/trayicon.md)
- OCR instructions
- [OCR instructions](/en/ocrsetsumei.md)
- HOOK instructions
- [HOOK instructions](/en/hooksetsumei.md)
- Support author
- [Support author](/en/support.md)

17
docs/en/start.md Normal file
View File

@ -0,0 +1,17 @@
# 开始
## 下载
<a target="_blank" href="https://github.com/HIllya51/LunaTranslator/releases">https://github.com/HIllya51/LunaTranslator/releases</a>的Assets获取最新下载链接
下载LunaTranslator.zip文件
解压到任意目录
![img](../images/zh/download.jpg)
## 启动
**LunaTranslator.exe** 会以管理员权限启动部分游戏需要管理员权限才能HOOK
**LunaTranslator_no_Admin.exe** 会以普通模式启动

5
docs/en/support.md Normal file
View File

@ -0,0 +1,5 @@
# Support author
If you feel that the software is helpful to you, welcome to become my [sponsor](https://patreon.com/HIllya51). Thank you ~

64
docs/en/toolbar.md Normal file
View File

@ -0,0 +1,64 @@
# 工具栏
>在软件有焦点的情况下在工具栏上悬停,可以看到有按钮的说明。
>下面为从左到右的顺序逐个介绍按钮的功能
## 通用按钮/剪贴板模式
![img](../images/zh/toolbar1.jpg)
> 这是一些通用的按钮,在剪贴板模式下会显示这些按钮,从左到右依次是
&emsp;&emsp;**重新翻译** 软件默认对于一些很短的文本不会进行翻译,使用这个按钮可以强制进行翻译;有时部分翻译器会抽风报错,使用这个按钮可以再一次要求翻译器进行翻译
&emsp;&emsp;**自动翻译** 按下这个按钮后,这个按钮会由白色变成粉色,然后软件会自动对获取到的文本进行翻译;想要暂停时再次按下,按钮会变回白色
&emsp;&emsp;**打开设置** 按下这个按钮后会弹出设置窗口
&emsp;&emsp;**复制到剪贴板** 可以将OCR/HOOK提取到的最新文本复制到剪贴板
&emsp;&emsp;**显示/隐藏原文** 显示/隐藏原文
&emsp;&emsp;**显示历史翻译** 会弹出历史翻译窗口,其中会有之前提取到的原文+翻译
&emsp;&emsp;**朗读** 当开启朗读器时,会将剪贴板/OCR/HOOK最新提取到的文本原文进行朗读。不过当系统中未安装日语朗读器时会没有朗读的声音。
&emsp;&emsp;**鼠标穿透窗口** 点击后翻译框可以变得全透明,在上面点击鼠标会直接点击游戏窗口
&emsp;&emsp;**锁定工具栏** 按下这个按钮后,这个按钮会由白色变成粉色,然后工具栏会不再自动隐藏;再次按下时会变回白色,工具栏会自动隐藏
&emsp;&emsp;**打开保存的游戏** 按下这个按钮后会弹出游戏列表窗口,可以选择游戏打开
&emsp;&emsp;**最小化到托盘** 本软件不会在任务栏中显示,只会在任务栏中显示,按下这个按钮软件将会隐藏,可以在托盘图标中让软件重新显示。
&emsp;&emsp;**退出** 按下这个按钮后,软件将会退出
## OCR模式按钮
![img](../images/zh/toolbar2.jpg)
> OCR模型下会比剪贴板模型下多出三个按钮
&emsp;&emsp;**选取OCR范围** 按下这个按钮后,会进行范围的选取(类似一些截图软件)。
&emsp;&emsp;**显示/隐藏范围框** 选取完OCR范围后会显示一个矩形窗口标识OCR的识别范围按下这个按钮矩形窗口会隐藏
&emsp;&emsp;**绑定截图窗口** 点击按钮,然后点击游戏窗口,该按钮会变成粉色,说明绑定成功。绑定窗口后即时翻译窗口和截图框重叠也不影响使用。点击按钮后点击翻译器本身,会取消绑定
## HOOK模式按钮
![img](../images/zh/toolbar3.jpg)
> HOOK模型下会比剪贴板模型下多出2个按钮
&emsp;&emsp;**选择游戏** 按下这个按钮后弹出游戏选择窗口可以选择要HOOK的游戏。
&emsp;&emsp;**选择文本** 按下这个按钮会弹出文本选择窗口可以选择已HOOK游戏中需要的文本条。

9
docs/en/trayicon.md Normal file
View File

@ -0,0 +1,9 @@
# 托盘图标
![img](../images/zh/trayicon.jpg)
鼠标左键点击图标程序窗口将显示,再次点击图标窗口将隐藏
鼠标右键点击图标会弹出菜单,可以显示窗口或退出程序

1
docs/images Submodule

@ -0,0 +1 @@
Subproject commit 569d9b95b177f35f914119547c6c5be922190c53

60
docs/index.html Normal file
View File

@ -0,0 +1,60 @@
<!DOCTYPE html>
<html >
<head>
<meta charset="UTF-8">
<title>LunaTranslator 使用说明</title>
<meta name="description" content="Description">
<meta http-equiv="Cache-Control" content="no-store, no-cache, must-revalidate, max-age=0">
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Expires" content="0">
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<link rel="stylesheet" href="https://unpkg.com/docsify/lib/themes/vue.css">
</head>
<body>
<div id="app"></div>
</body>
<script>
window.$docsify = {
requestHeaders: {
'cache-control': 'max-age=0',
},
repo: 'https://github.com/HIllya51/LunaTranslator',
alias: {
'/zh/_sidebar.md': '/zh/sidebar.md',
'/ru/_sidebar.md': '/ru/sidebar.md',
'/en/_sidebar.md': '/en/sidebar.md',
'/_navbar.md': '/navbar.md',
},
loadNavbar:true,
loadSidebar: true,
subMaxLevel: 3,
// subMaxLevel: 2
auto2top: true,
search: {
noData: {
'/': 'No results!',
'/zh/': '没有结果!',
},
paths: 'auto',
placeholder: {
'/': 'Search',
'/zh/': '搜索',
}
},
}
</script>
<script src="https://cdn.jsdelivr.net/npm/docsify@latest/lib/docsify.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/docsify@latest/lib/plugins/search.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/docsify@latest/lib/plugins/zoom-image.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/prismjs/components/prism-markdown.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/prismjs/components/prism-bash.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/prismjs/components/prism-ruby.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/prismjs/components/prism-yaml.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/prismjs/components/prism-less.min.js"></script>
</html>

4
docs/navbar.md Normal file
View File

@ -0,0 +1,4 @@
- 语言 / Language
- [简体中文](/zh/)
- [Русский язык](/ru/)
- [English](/en/)

54
docs/ru/README.md Normal file
View File

@ -0,0 +1,54 @@
# Инструкция по настройке LunaTranslator
<p align="left">
<a href=../images/ru//LICENSE"><img src="https://img.shields.io/badge/license-GPL%203.0-dfd.svg"></a>
<a href="https://github.com/HIllya51/LunaTranslator/releases"><img src="https://img.shields.io/github/v/release/HIllya51/LunaTranslator?color=ffa"></a>
<a href="https://github.com/HIllya51/LunaTranslator/stargazers"><img src="https://img.shields.io/github/stars/HIllya51/LunaTranslator?color=ccf"></a>
</p>
<a id="table1"></a>
## Основные функции:
#### Выбор источника текста
&emsp;&emsp;**Буфер обмена** Копирование текста из буфера обмена для перевода.
&emsp;&emsp;**OCR** Поддерживает автономные считывальщики текста с экрана Paddle OCR и WindowsOCR, а также онлайн сервисы: Baidu OCR, Youdao OCR, OCRspace, docsumo. Также поддерживает привязку и скрытие окон для распознавания текста с экрана для удобной игры.
&emsp;&emsp;**HOOK** Поддерживает использование HOOK для получения текста из данных игры, поддерживает использование специальных кодов, поддерживает автоматическое сохранение игр, а также автоматическую загрузку HOOK во время запуска игр.
#### Выбор переводчика
Поддерживает почти все существующие механизмы перевода, в том числе:
&emsp;&emsp;**Автономный перевод** Поддержка автономного перевода с использованием JBeijing 7, Jinshan Quick Translation и Yidiantong (Не работает для перевода на русский язык).
&emsp;&emsp;**Бесплатный онлайн-перевод** Поддержка Baidu, Bing, Google, Ali, Youdao, Caiyun, Sogou, DeepL, Kingsoft, Xunfei, Tencent, Byte, Volcano, papago, yeekit и других онлайн-сервисов.
&emsp;&emsp;**Онлайн-перевод с регистрацией ключа API** Поддержка перевода с использованием зарегистрированных пользователем ключей перевода для Baidu, Tencent, Youdao, Mavericks, Caiyun, Volcano, Deepl и других.
&emsp;&emsp;**Предварительный перевод** Поддержка чтения файлов предварительного перевода, выполненных человеком, и агрегация машинных файлов.
&emsp;&emsp;**Поддержка пользовательских расширений перевода** Поддержка использования языка python для расширения других интерфейсов перевода, о которых я не знаю.
#### Синтез речи/Озвучка текста
&emsp;&emsp;**Offline TTS** Поддержка windowsTTS, VoiceRoid2 и VOICEVOX.
&emsp;&emsp;**Online TTS** Поддержка AzureTTS и Volcano TTS.
#### Обработка текста/Оптимизация перевода
&emsp;&emsp;**Обработка текста** Поддерживает простую обработку, такую, как дедупликация текста, фильтрация HTML-тегов, фильтрация разрывов строк, фильтрация символов и чисел, поддержка пользовательской простой замены текста и замены с использованием регулярных выражений.
&emsp;&emsp;**Оптимизация перевода** Поддерживает использование собственных корректировок перевода и импорт общих словарей VNR.
#### Японская письменность
&emsp;&emsp;**Сегментация японских слов и отображение каны** Поддержка использования встроенных бесплатных загружаемых инструментов сегментации слов и отображения каны, поддержка использования Mecab для оптимизации сегментации слов и отображения каны, поддержка сторонних словарей.
&emsp;&emsp;**Поиск слов** Поддержка поиска слов с использованием Xiaoxiaoguan, Lingoes Dictionary и EDICT (японо-английский словарь).

49
docs/ru/hooksetsumei.md Normal file
View File

@ -0,0 +1,49 @@
# Подробное описание HOOK
Выберите режим Textractor в интерфейсе основных настроек, и окно выбора выбора процесса появится автоматически.
Также можно самостоятельно нажать кнопку "Выбрать игру" в настройках приложения во вкладке "Настройка HOOK" или **первую кнопку** на панели инструментов, чтобы открылось окно выбора процесса.
![img](../images/ru/toolbar3_ru.png)
Существует три способа выбора процесса:
* После нажатия первой кнопки, выберите игру, и прогресс игры будет получен автоматически.
* Выберите процесс игры из списка ниже.
* Вручную введите путь процесса
При работе с no_admin.exe процессы иногда могут быть невидимы или при выборе процесса не будет ничего происходить.
![img](../images/ru/selectprocess_ru.png)
После выбора нажмите OK, и окно выбора текста появится автоматически.
Также можно нажать на **вторую кнопку** «Выбрать текст», или нажмите вторую кнопку в рамке на панели инструментов)
После того, как появится окно выбора текста, щелкните игру, чтобы сцена поменялась и игра отобразила следующий текст. После этого появятся несколько извлеченных текстов.
![img](../images/ru/selecttext_ru.png)
Нажмите на любой элемент в списке, и текст, захваченный этим элементом, отобразится в окне предварительного просмотра ниже.
![img](../images/ru/yulan_ru.png)
Иногда в списке много записей, введите в строку «Поиск записей, содержащих текст:» текст из игры, чтобы отфильтровать записи, и Вы легко найдете то, что вам нужно.
Ищите по слову «ограничение», как оно встречается в игре, в списке остается только 1 запись.
![img](../images/ru/filter_ru.png)
Вы можете удерживать нажатой клавишу Ctrl для выбора нескольких элементов, если Вам требуется выбрать несколько источников вывода текста.
Нажмите OK, и игра начнет перевод. Если позже будет обнаружено, что выбранный элемент не соответствует требованиям, его можно будет выбрать повторно.
![img](../images/ru/reshook_ru.png)

19
docs/ru/ocrsetsumei.md Normal file
View File

@ -0,0 +1,19 @@
# Подробное описание OCR
После выбора режима OCR в основных настройках, на панели инструментов появятся три значка.
![img](../images/ru/toolbar2_ru.png)
Нажмите **первую кнопку**, чтобы появилось окно выбора диапазона распознавания текста, как показано на рисунке. Не стоит выбирать слишком большой диапазон, т.к. движок OCR может схватывать мусорные символы и портить качество перевода.
![img](../images/ru/12_ru.png)
Поле выбора области распознавания, можно скрыть/отобразить окно, нажав **вторую кнопку.** Оно закрепится и станет прозрачным, можно будет управлять игрой, нажимая сквозь окно захвата текста.
С помощью **третьей кнопки** можно заставить окно распознавания текста захватывать текста ТОЛЬКО из выбранного окна, не трогая другие окна, равно как и другие области экрана.
Это позволяет накладывать текст перевода поверх оригинального текста, что не будет мешать переводу.
Двойной щелчок по кнопке убирает привязку к окну.
![img](../images/ru/ocrbind_ru.png)

189
docs/ru/settings.md Normal file
View File

@ -0,0 +1,189 @@
# Настройки
Нажмите «Настройки» на панели инструментов или на значке в области уведомлений, чтобы открыть окно настроек.
## Основные настройки
Выберите используемый источник захвата текста. Розовая галочка означает выбранный, серый × означает не выбранный. Только одна или меньше опций может действовать одновременно.
&emsp;&emsp;При выборе OCR в качестве ввода текста, необходимо выбрать диапазон распознавания OCR на панели инструментов.[➔ Об этом подробнее написано в пункте "Описание OCR"](/ru/ocrsetsumei.md)
&emsp;&emsp;После того, как Вы выберете Textractor (HOOK) в качестве ввода текста, появится окно выбора процесса, после выбора игры появится окно выбора текста.[➔ Об этом подробнее написано в пункте "Описание HOOK"](/ru/hooksetsumei.md)
&emsp;&emsp;При выборе источника "буфер обмена", весь копируемый Вами текст будет автоматически извлекаться из буфера обмена и переводиться.
![img](../images/ru/5_ru.png)
## Настройки переводчиков
&emsp;&emsp;**Автономный перевод** Поддерживает автономный перевод с использованием JBeijing 7, Jinshan Quick Translation и Yidiantong.
&emsp;&emsp;**Бесплатный онлайн-перевод** Поддерживает Baidu, Bing, Google, Ali, Youdao, Caiyun, Sogou, DeepL, Kingsoft, Xunfei, Tencent, Byte, Volcano, papago, yeekit и другие онлайн-сервисы.
&emsp;&emsp;**Онлайн-перевод с регистрацией ключа API** Поддерживает перевод с использованием зарегистрированных пользователем ключей перевода для Baidu, Tencent, Youdao, Mavericks, Caiyun, Volcano и Deepl.
&emsp;&emsp;**Предварительный перевод** Поддержка чтения файлов предварительного перевода, выполненных человеком, и агрегация машинных файлов.
&emsp;&emsp;**Поддержка пользовательских расширений перевода** Поддержка использования языка python для расширения других интерфейсов перевода, о которых я не знаю.
Количество выбранных переводчиков не ограничено.
&emsp;&emsp;**Кнопки:** Розовая галочка означает включенный переводчик. Кнопка кисточки позволяет установить цвет отображения текста перевода.
&emsp;&emsp;**Предварительный перевод** необходимо установить и нажать на кнопку шестеренки, чтобы выбрать путь установки переводчика.
Для **Google Translate** и **Deepl** может потребоваться прокси-сервер, его можно ввести в настройках прокси. После ввода прокси-сервера нужно нажать OK и поставить розовую галочка.
Для предварительного перевода можно использовать нечеткое сопоставление (в основном эффективно для режима OCR).
![img](../images/ru/6_ru.png)
## Настройки HOOK
В настройках LocaleEmulator можно задать путь к программе (в новой версии есть встроенный), после установки пути можно запускать игру через LocaleEmulator.
Игра, которая была зацеплена ранее, сохраняется в сохраненных играх, оттуда игру можно запустить (нажатие на панель инструментов для открытия сохраненной игры — то же самое).
Запись файлов перевода сохраняет извлеченный текст в два файла, которые появляются в папке transkiroku.
**"md5 имя программы.sqlite"** Этот файл будет записывать только один исходный вывод перевода для создания файла «человеческого перевода». После установки «предпочтительного источника перевода» содержимое этого источника перевода будет записано первым, а содержимое других источников перевода будет записано только в случае неудачного перевода.
**"Файл md5 имя программы.premt_synthesize.sqlite"** Этот файл используется для «машинного предварительного перевода» и будет записывать все действительные результаты перевода.
**Экспортируйте файл sqlite как файл .json** Нажмите эту кнопку, чтобы выбрать файл и экспортировать его в формат .json, который удобен для изменения результатов перевода. Затем, после установки пути к файлу .json в настройках «ручного перевода», можно использовать человеческий перевод.
Файлы также будут записаны в режиме буфера обмена и в режиме OCR с префиксом 0_copy и 0_ocr соответственно.
[➔ Более полное описание смотри в "Описании HOOK"](/ru/hooksetsumei.md)
![img](../images/ru/21_ru.png)
## Настройки OCR
В режиме OCR вы можете выбрать источник OCR.
&emsp;&emsp;**Локальный OCR** — это встроенный механизм OCR, который можно использовать, не задумываясь.
&emsp;&emsp;Для **Baidu OCR/ocrspace/docsumo** необходимо установить ключ.
&emsp;&emsp;**YoudaooOCR** — это эмпирические интерфейсы, которые легко сбить с толку. **Они позволяют считывать облачка манги (сверху-вниз, справа-налево)**
&emsp;&emsp;**WindowsOCR** требует, чтобы в операционной системе были установлены компоненты, относящиеся к японскому языку.
&emsp;&emsp;OCR срабатывает при изменении изображения на экране, но Вы можете установить минимальный и максимальный интервал OCR, после чего OCR должен выполняться каждые x секунд, независимо от того, меняется изображение или нет.
[➔ Подробности смотри в "Описание OCR"](/ru/ocrsetsumei.md)
![img](../images/ru/22_ru.png)
## Настройка окна перевода
**Непрозрачность** — прозрачность фона окна.
После включения **отображения исходного текста**, можно настроить отображение каны и результатов сегментации слов.
**Стиль шрифта** поддерживает четыре стиля шрифта (обычный, контур, штрих и тень), а последние три расширенных шрифта можно установить отдельно в «Ширина полой линии», «Ширина штриха» и «Сила тени».
**Исходный цвет текста** может установить исходный цвет текста, а цвет фона может установить цвет фона окна.
**Цвет заливки** устанавлиает цвет заливки в расширенном стиле шрифта.
Вы можете ** выбрать контент в окне перевода** , а также настроить реакцию окна перевода на сворачивание игры в режиме HOOK.
![img](../images/ru/7_ru.png)
Четыре стиля шрифта следующие:
![img](../images/ru/ziti1_ru.png)
![img](../images/ru/ziti2_ru.png)
![img](../images/ru/ziti3_ru.png)
![img](../images/ru/ziti4_ru.png)
Кана отображается следующим образом:
![img](../images/ru/jiaming_ru.png)
Причастие отображается следующим образом:
![img](../images/ru/fenci_ru.png)
## Настройка озвучки
** WindowsTTS** требует, чтобы в операционной системе были установлены компоненты, относящиеся к японскому языку.
** AzureTTS и Volcano TTS** являются сетевыми TT и могут стать недействительными в будущем.
** VoiceRoid2** — это автономный механизм перевода.
** VOICEVOX** — это механизм TTS с открытым исходным кодом, но он медленно генерирует голос.
![img](../images/ru/8_ru.png)
## Настройка оптимизации перевода
Для текста, извлеченного с помощью HOOK или OCR, иногда будут выдаваться мусорные символы, здесь вы можете установить несколько простых операций обработки текста.
К ним относятся некоторые ** общие настройки** , а также некоторые ** дополнительные настройки** .
Извлеченный текст можно ** заменить/отфильтровать** , используя простую таблицу замещений.
Использование ** регулярных выражений для замены** требует, чтобы пользователи знали, как использовать reg.sub в Python.
Используйте опцию ** ручного перевода имен собственных** , которая поддерживает использование настраиваемых пользователем специальных словарей существительных (например, некоторых имен людей и мест и т. д.) для оптимизации перевода.
** Исправление результатов перевода** происходит после завершения перевода, перевод существительных подвержен сбоям для некоторых систем перевода, и результаты перевода могут быть принудительно заменены.
Часть этого программного обеспечения поддерживает использование ** общих словарей VNR.**
Если пользователь понимает язык python, он может напрямую изменить его в файле ** LunaTranslator\LunaTranslator\postprocess\post.py** , чтобы реализовать любой процесс обработки, который пожелает пользователь.
![img](../images/ru/10_ru.png)
## Настройка словарей
Если установлен словарь, это программное обеспечение может помочь пользователям выучить японский язык.
Установите использование сегментации слов mecab и установите отображение результатов сегментации слов в настройках дисплея для отображения результатов сегментации слов, установите использование сегментации слов mecab и установите отображение каны в настройках дисплея для отображения каны иероглифов.
(Если вы не используете ** mecab** , вы будете использовать встроенный в систему простой токенизатор, который также может отображать псевдонимы и результаты сегментации слов, но не может различать части речи)
Настройте ** использование сегментации слов mecab** и настройте ** отображение частей речи** разными цветами, тогда вы сможете помечать слова с разными частями речи разными цветами.
После включения ** быстрого поиска слов** щелкните исходный текст в окне перевода, и появится всплывающее окно поиска слов.
![img](../images/ru/cishu_ru.png)
![img](../images/ru/fenci_ru.png)
![img](../images/ru/searchword_ru.png)
![img](../images/ru/searchword2_ru.png)
## Загрузка ресурсов и обновления
Автоматические обновления и ссылки на некоторые популярные ресурсы.
![img](../images/ru/down_ru.png)
## Настройка сочетания клавиш
После включения ** использования сочетаний клавиш** , Вы можете настроить одну или сочетание двух клавиш на каждое действие.
![img](../images/ru/quick_ru.png)

18
docs/ru/sidebar.md Normal file
View File

@ -0,0 +1,18 @@
- Начало
- [Введение](/ru/README.md)
- Инструкции
- [Первый запуск](/ru/start.md)
- [Панель инструментов](/ru/toolbar.md)
- [Основные настройки](/ru/settings.md)
- [Иконка на панели задач](/ru/trayicon.md)
- OCR
- [Подробное описание OCR](/ru/ocrsetsumei.md)
- HOOK
- [Подробное описание HOOK](/ru/hooksetsumei.md)
- Поддержать автора программы
- [Поддержать автора программы](/ru/support.md)

14
docs/ru/start.md Normal file
View File

@ -0,0 +1,14 @@
# Начало
## Скачать
Ссылка для загрузки актуальной версии программы: <a target="_blank" href="https://github.com/HIllya51/LunaTranslator/releases">https://github.com/HIllya51/LunaTranslator/releases</a>
Скачайте архив **LunaTranslator.zip** и распакуйте его в любое удобное для вас место.
![img](../images/ru/download_ru.png)
## Запустить
**LunaTranslator.exe** -- Запуск с правами администратора (Некоторые игры требуют прав администратора для привязки HOOK).
**LunaTranslator_no_Admin.exe** -- Запуск без прав администратора.

5
docs/ru/support.md Normal file
View File

@ -0,0 +1,5 @@
# Поддержать автора программы
If you feel that the software is helpful to you, welcome to become my [sponsor](https://patreon.com/HIllya51). Thank you ~

60
docs/ru/toolbar.md Normal file
View File

@ -0,0 +1,60 @@
# Панель инструментов
>Наведите указатель мыши на панель инструментов, чтобы увидеть описание кнопок. Функции кнопок описаются одна за другой слева направо.
## Общие кнопки (В режиме буфера обмена)
![img](../images/ru/toolbar1_ru.png)
&emsp;&emsp;**Повторный перевод** По умолчанию программа не будет переводить некоторые очень короткие тексты, используйте эту кнопку для принудительного перевода; иногда некоторые переводчики сообщают об ошибке, используйте эту кнопку, чтобы заставить программу перевести ещё раз.
&emsp;&emsp;**Автоматический перевод** Переводчик будет автоматически распознавать и переводить текст. Розовый цвет кнопки означает, что функция включена.
&emsp;&emsp;**Открыть настройки** После нажатия этой кнопки откроется окно настроек.
&emsp;&emsp;**Копировать в буфер обмена** Нажмите, чтобы скопировать в буфер обмена последний текст, извлеченный OCR/HOOK.
&emsp;&emsp;**Показать/скрыть исходный текст** При включении функции распознанный текст показывается, при выключении - не показывается. Розовый цвет кнопки означает, что функция включена.
&emsp;&emsp;**Показать историю переводов** При нажатии откроется окно истории переводов, в котором будут все исходные тексты и их переводы, сохраненные во время последней сессии.
&emsp;&emsp;**Чтение вслух** Когда функция включена, исходный текст, извлеченный из буфера обмена/OCR/HOOK, будет прочитан вслух. Розовый цвет кнопки означает, что функция включена.
&emsp;&emsp;**Мышь проникает в окно перевода** Когда функция включена, окно перевода становится полностью прозрачным. Щелчок по нему приведет к прямому щелчку внутри игры. Розовый цвет кнопки означает то, что функция включена.
&emsp;&emsp;**Блокировка панели инструментов** Когда функция включена, панель инструментов будет автоматически скрываться. Розовый цвет кнопки означает, что функция включена.
&emsp;&emsp;**Открыть сохраненную игру** После нажатия этой кнопки появится окно со списком игр, в котором Вы можете выбрать игру, которую хотите запустить.
&emsp;&emsp;**Свернуть в трей** Нажмите эту кнопку, чтобы скрыть программу. Она будет отображена иконкой в трее.
&emsp;&emsp;**Выход ** Нажмите, чтобы закрыть программу.
## Кнопки в режиме OCR
![img](../images/ru/toolbar2_ru.png)
> В режиме OCR будет на три кнопки больше, чем в режиме буфера обмена.
&emsp;&emsp;**Выбрать диапазон OCR** После нажатия этой кнопки нужно будет выбрать диапазон распознавания текста.
&emsp;&emsp;**Скрыть поле диапазона** Включение данной функции скрывает окно распознавание текста, давая возможность управлять игрой сквозь него. Также окно закрепляется на месте. Розовый цвет кнопки означает, что функция включена.
&emsp;&emsp;**Привязка окна** Нажмите на кнопку, а затем нажмите на окно игры, чтобы заставить окно распознавания текста захватывать текста ТОЛЬКО из выбранного окна. Розовый цвет кнопки означает, что функция включена. Двойной щелчок по кнопке убирает привязку к окну.
## HOOK模式按钮
![img](../images/ru/toolbar3_ru.png)
> В режиме HOOK будет на три кнопки больше, чем в режиме буфера обмена.
&emsp;&emsp;**Выбрать игру** После нажатия этой кнопки, откроется окно выбора игры, в котором вы сможете выбрать игру для привязки HOOK.
&emsp;&emsp;**Выбрать текст** После нажатия этой кнопки, откроется окно выбора текста, и вы сможете выбрать нужную текстовую строку из игры для привязки HOOK.

9
docs/ru/trayicon.md Normal file
View File

@ -0,0 +1,9 @@
# Иконка на панели задач
![img](../images/ru/trayicon_ru.png)
Щелкните на значок левой кнопкой мыши, чтобы **отобразить окно программы**, щелкните еще раз, чтобы **скрыть его**.
Щелкните правой кнопкой мыши по значку, чтобы вызвать всплывающее меню, где можно зайти в **настройки** программы или **выйти** из нее.

60
docs/zh/README.md Normal file
View File

@ -0,0 +1,60 @@
# LunaTranslator 使用说明
<p align="left">
<a href="./LICENSE"><img src="https://img.shields.io/github/license/HIllya51/LunaTranslator"></a>
<a href="https://github.com/HIllya51/LunaTranslator/releases"><img src="https://img.shields.io/github/v/release/HIllya51/LunaTranslator?color=ffa"></a>
<a href="https://github.com/HIllya51/LunaTranslator/stargazers"><img src="https://img.shields.io/github/stars/HIllya51/LunaTranslator?color=ccf"></a>
<a href="https://hillya51.github.io/LunaTranslator/download.html" target="_blank"><img src="https://img.shields.io/badge/download-blue"/></a>
</p>
## [文档地址](https://github.com/HIllya51/LunaTranslator)
欢迎觉得有帮助的朋友一起完善。
## 功能支持
#### 文本源
&emsp;&emsp;**剪贴板** 支持从剪贴板中获取文本进行翻译
&emsp;&emsp;**OCR** 除内置OCR引擎外还支持WindowsOCR、百度OCR、有道OCR、ocrspace、docsumo、飞书OCR等。
&emsp;&emsp;**HOOK** 支持使用HOOK方式获取文本支持使用特殊码支持自动保存游戏及HOOK、自动加载HOOK等。对于部分引擎还支持内嵌翻译。
#### 翻译器
支持几乎所有能想得到的翻译引擎,包括:
&emsp;&emsp;**离线翻译** 支持使用J北京7、金山快译、译典通进行离线翻译
&emsp;&emsp;**免费在线翻译** 支持使用百度、必应、谷歌、阿里、有道、彩云、搜狗、DeepL、金山、讯飞、腾讯、字节、火山、papago、yeekit等进行翻译
&emsp;&emsp;**注册在线翻译** 支持使用用户注册的百度、腾讯、有道、小牛、彩云、火山、deepl、yandex、google、飞书、ChatGPT、Azure翻译
&emsp;&emsp;**Chrome调试翻译** 支持deepl、yandex、有道、百度、腾讯、必应、彩云、小牛、阿里、谷歌、Poe.com、OpenAI
&emsp;&emsp;**预翻译** 支持读取人工翻译和聚合机器预翻译文件,支持翻译缓存
&emsp;&emsp;**支持自定义翻译扩展** 支持使用python语言扩展其他我不知道的翻译接口
#### 语音合成
&emsp;&emsp;**离线TTS** 支持windowsTTS支持VoiceRoid2支持VoiceRoid+支持NeoSpeech支持VOICEVOX
&emsp;&emsp;**在线TTS** 支持火山TTS有道TTSEdgeTTS
#### 翻译优化
&emsp;&emsp;**文本处理** 支持十余种常见文本处理方式,并可以通过组合和执行顺序的调整,实现复杂的文本处理
&emsp;&emsp;**翻译优化** 支持使用自定义专有名词翻译支持导入VNR共享辞书
#### 日语学习
&emsp;&emsp;**日语分词及假名显示** 支持使用内置分词及假名显示工具支持使用Mecab优化分词及假名显示
&emsp;&emsp;**查词** 支持使用小学馆、灵格斯词典、EDICT(日英)词典、有道在线、weblio、Goo、Moji等在线词典进行单词查询

30
docs/zh/basicuse.md Normal file
View File

@ -0,0 +1,30 @@
# 最基本的使用
启动后的界面如下。
![img](../images/zh/opensetting.png)
首先需要激活若干个翻译源,点击“打开设置”按钮,打开设置界面,然后在左侧点击“翻译设置”。
在右侧下面的在线翻译中,任意选择一些翻译源,进行激活。
![img](../images/zh/transsetting.png)
关闭设置界面点击“选择游戏”按钮打开游戏选择界面选择游戏后OK
![img](../images/zh/attach.png)
![img](../images/zh/selectgame.png)
然后会弹出选择文本界面,让游戏运行一下,以显示一些文本,这时选择文本界面中将会出现若干文本行。
点击第一列的选择下面的按钮,或者双击文本行,以选择该行文本进行翻译。
![img](../images/zh/selecttext.png)
选择完毕后关闭选择文本界面即可。这时可以看到游戏的翻译。
![img](../images/zh/showtrans.png)

49
docs/zh/hooksetsumei.md Normal file
View File

@ -0,0 +1,49 @@
# HOOK说明
在基本设置界面选择Textractor会自动弹出进程选择窗口。
或自行点击“选择游戏”按钮,弹出进程选择窗口。
或者在工具栏点击第一个框起来的按钮“选择游戏”。
![img](../images/zh/toolbar3.jpg)
有三种方式选择进程:
* 点击“点此按钮后点击游戏窗口”按钮后,点击游戏窗口,会自动获取游戏进程
* 在下方的列表中选择游戏
* 在手动输入进程号
在使用no_admin运行时有时可能看不到进程或者选择后也无效
![img](../images/zh/selectprocess.jpg)
选择完毕后点击OK然后会自动弹出文本选择窗口。或者点击“选择文本”按钮或者点击工具栏第二个框起来的按钮
弹出文本选择窗口后点击游戏让游戏显示下一条文本,则可以出现若干提取到的文本。
![img](../images/zh/selecttext.jpg)
点击列表中的任意项,下面预览窗口中就会显示这一条目捕捉到的文本。
![img](../images/zh/yulan.jpg)
列表中有时会有很多条目,这时在下方的“搜索包含文本的条目”文本框中输入当前游戏窗口中的文字对条目进行筛选,就可以轻松找到所需的内容。
使用游戏中出现的“約束”字进行搜索列表中只剩下1个条目。
![img](../images/zh/filter.jpg)
如果有多个条目都想选择可以按住ctrl进行多选。
然后选择OK游戏就会开始翻译。如果后面发现选择的条目不符合要求还可以重新进行选择。
![img](../images/zh/reshook.jpg)

18
docs/zh/ocrsetsumei.md Normal file
View File

@ -0,0 +1,18 @@
# OCR说明
首先在基本设置中选择OCR工具栏出现三个图标
![img](../images/zh/toolbar2.jpg)
点击第一个按钮,选择截图范围,出现如图范围框。
![img](../images/zh/12.jpg)
范围框点击第二个按钮可以隐藏/显示。
第三个按钮可以选择绑定的截图窗口,先按下按钮,然后点击游戏窗口,这个按钮将变成粉色。如果想要取消绑定则按下按钮后点击翻译器本身即可取消绑定。
如同为绑定了截图窗口下的样子即时窗口互相重叠也可以正常OCR
![img](../images/zh/ocrbind.jpg)

10
docs/zh/qas.md Normal file
View File

@ -0,0 +1,10 @@
# [常见问题](https://github.com/HIllya51/LunaTranslator/issues?q=label%3AQ%26A)
1. [mecab 词性颜色要怎么才能用](https://github.com/HIllya51/LunaTranslator/issues/775)
1. [chatgpt 离线怎么用](https://github.com/HIllya51/LunaTranslator/issues/797)
1. [怎么自动划词进 anki](https://github.com/HIllya51/LunaTranslator/issues/796)
1. [如何使用 gemini 免费 api](https://github.com/HIllya51/LunaTranslator/issues/863)

191
docs/zh/settings.md Normal file
View File

@ -0,0 +1,191 @@
# 设置
在工具栏中点击设置,或者在托盘图标中点击设置,可以弹出设置窗口。
## 基本设置
选取使用的文本输出源粉色√表示已选取灰色×表示未选取。只能同时有≤1个选项生效。
选择OCR作为文本输入时需要在工具栏中选取OCR识别范围。
选择TextractorHOOK作为文本输入时会弹出进程选择窗口选择游戏后会弹出文本选择窗口。
默认是使用剪切板模型,此时会自动提取剪切板文本并进行翻译。
![img](../images/zh/5.jpg)
## 翻译设置
一些翻译器的设置。不过作者比较懒就没有把各种类型的翻译器分开放。
支持几乎所有能想得到的翻译引擎,包括:
&emsp;&emsp;**离线翻译** 支持使用J北京7、金山快译、译典通进行离线翻译
&emsp;&emsp;**免费在线翻译** 支持使用百度、必应、谷歌、阿里、有道、彩云、搜狗、DeepL、金山、讯飞、腾讯、字节、火山、papago、yeekit进行翻译
&emsp;&emsp;**注册在线翻译** 支持使用用户注册的百度、腾讯、有道、小牛、彩云、火山、deepl翻译密钥翻译
&emsp;&emsp;**预翻译** 支持读取人工翻译和聚合机器预翻译文件
所有翻译器均可随意选择,没有数量限制。
按钮分别是:是否使用翻译器/设置翻译文本显示颜色/设置
其中,离线翻译&注册在线翻译&预翻译需要在使用前点击设置按钮进行设置。
对于谷歌翻译&deepl可能需要代理才能访问需要在输入代理后点击确定并开启使用代理。
对于预翻译可以采用模糊匹配主要对于OCR模式比较有效
![img](../images/zh/6.jpg)
## HOOK设置
LocaleEmulator设置可以设置LocaleEmulator的路径新版本已内置设置路径后可以通过LE启动游戏
已保存游戏里保存了之前HOOK过的游戏并可以启动游戏在工具栏上点击打开已保存的游戏也一样
录制翻译文件可以将提取到的文本保存到transkiroku文件夹中会输出两个文件
**游戏的md5_游戏的程序文件名.sqlite** 这个文件只会录制单一的翻译源输出,用于生成“人工翻译”文件。设置“优先使用的翻译源”后会优先录制这个翻译源的内容,如果翻译失败才会记录其他翻译源内容。
**游戏的md5_游戏的程序文件名.premt_synthesize.sqlite** 这个文件用于“机器预翻译”,会记录所有有效的翻译结果。
导出sqlite文件为json文件。按下这个按钮选择上述第一个第一个文件可以导出json文件方便修改翻译结果然后将json文件路径设置为“人工翻译”的文件路径后则可以使用人工翻译。
在剪贴板模式和OCR模式下也会录制文件前缀分别是0_copy和0_ocr。
[➔ 具体用法详见HOOK说明](hooksetsumei.md)
![img](../images/zh/21.jpg)
## OCR设置
在OCR模式下可以选择使用的OCR源
其中本地OCR是内置的OCR引擎可以无脑用。
百度OCR/ocrspace/docsumo需要设置密钥。
youdaoocr和youdao图片翻译是体验性接口容易抽风。
WindowsOCR需要操作系统中安装日语相关组件。
设置“每隔一段时间必然进行一次OCR”后设置OCR最长间隔时间则每个x秒必然进行一个OCR不管图片是否改变。
[➔ 具体用法详见OCR说明](ocrsetsumei.md)
![img](../images/zh/22.jpg)
## 显示设置
不透明度是窗口背景不透明度
开启显示原文后,可以设置显示假名和显示分词结果
字体样式支持四种字体样式(普通,空心,描边,阴影),后三种高级字体可以在“空心线宽”“描边宽度”“阴影强度”中分别进行设置。
原文颜色可以设置原文的颜色,背景颜色可以设置窗口背景颜色。
填充颜色是使用高级字体样式下的填充颜色
可选取模式下可以在翻译窗口中选取内容。
![img](../images/zh/7.jpg)
四种字体样式如下
![img](../images/zh/ziti1.jpg)
![img](../images/zh/ziti2.jpg)
![img](../images/zh/ziti3.jpg)
![img](../images/zh/ziti4.jpg)
假名显示如下
![img](../images/zh/jiaming.jpg)
分词显示如下
![img](../images/zh/fenci.jpg)
## 语音设置
WindowsTTS需要操作系统中安装日语相关组件。
AzureTTS和火山TTS是在线tts未来可能失效。
VoiceRoid2是离线翻译引擎。
VOICEVOX是一个开源TTS引擎但是生成语音速度较慢。
![img](../images/zh/8.jpg)
## 翻译优化
对于HOOK提取到的文本有时会有一些不好的内容这里可以设置对文本进行一些简单的处理操作
其中包括一些常见的设置以及一些高级设置。
使用简单替换内容可以将提取到的文本进行替换/过滤
使用正则表达式替换需要用户了解python的reg.sub的使用方法
使用专有名词手动翻译选项,支持使用用户配置的特殊名词词典(例如一些人名地名等)来优化翻译
翻译结果修正发生在翻译结束后,名词翻译对于有的翻译引擎容易失效,可以强制替换翻译结果。
本软件部分支持使用VNR共享辞书
如果用户了解python语言可以直接在LunaTranslator\LunaTranslator\postprocess\post.py文件中直接进行修改即可实现用户想要的任何处理过程。
![img](../images/zh/10.jpg)
## 辞书设置
如果设置了辞书,本软件可以帮助用户学习日语。
设置使用mecab分词并在显示设置中设置显示分词结果可以显示出分词词结果
设置使用mecab分词并在显示设置中设置显示假名可以显示出汉字的假名
若不使用mecab则会使用系统内置的简单分词器也可以显示假名和分词结果但是不能区分词性
设置使用mecab分词并设置显示不同颜色词性则可以将不同词性的单词用不同颜色标注出来。
开启快捷查词后,点击翻译窗口的原文,会弹出查词窗口。
![img](../images/zh/cishu.jpg)
![img](../images/zh/fenci.jpg)
![img](../images/zh/searchword.jpg)
![img](../images/zh/searchword2.jpg)
## 资源下载更新
自动更新以及一些常用资源的链接。
![img](../images/zh/down.jpg)
## 快捷键设置
开启使用快捷键后,开启指定的快捷键设置,并进行对应的设置。
![img](../images/zh/quick.jpg)

27
docs/zh/sidebar.md Normal file
View File

@ -0,0 +1,27 @@
- 简介
- [简介](/zh/README.md)
- 最基本的使用
- [获取软件和启动](/zh/start.md)
- [最基本的使用](/zh/basicuse.md)
<!--
- 进阶使用
- [工具栏](/zh/toolbar.md)
- [设置](/zh/settings.md)
- [托盘图标](/zh/trayicon.md)
- OCR说明
- [OCR说明](/zh/ocrsetsumei.md)
- HOOK说明
- [HOOK说明](/zh/hooksetsumei.md) -->
- 软件更新
- [软件更新](/zh/update.md)
- 常见问题
- [常见问题](/zh/qas.md)
- 支持作者
- [支持作者](/zh/support.md)

33
docs/zh/start.md Normal file
View File

@ -0,0 +1,33 @@
# 获取软件
## 下载
<a target="_blank" href="https://github.com/HIllya51/LunaTranslator/releases">https://github.com/HIllya51/LunaTranslator/releases</a>的Assets获取最新下载链接
下载LunaTranslator.zip32系统下载LunaTranslator_x86.zip解压到任意目录
### 注意
不要下错了下成源代码了!
![img](../images/zh/down.png)
## 启动
解压后可以看到下列文件,使用**LunaTranslator.exe**启动即可
![img](../images/zh/startup.png)
**LunaTranslator.exe** 会以普通模式启动
**LunaTranslator_admin.exe** 会以管理员权限启动部分游戏需要管理员权限才能HOOK仅这时需要使用这个其他时候普通模式启动即可。
### 注意
有时会被杀毒软件杀掉,请添加信任并重新下载解压
![img](../images/zh/failed.png)

6
docs/zh/support.md Normal file
View File

@ -0,0 +1,6 @@
# 支持作者
如果你感觉该软件对你有帮助,欢迎微信扫码赞助,谢谢,么么哒~
<img src='zh/../images/zh/zan.jpg' style="height: 400px !important;">

64
docs/zh/toolbar.md Normal file
View File

@ -0,0 +1,64 @@
# 工具栏
>在软件有焦点的情况下在工具栏上悬停,可以看到有按钮的说明。
>下面为从左到右的顺序逐个介绍按钮的功能
## 通用按钮/剪贴板模式
![img](../images/zh/toolbar1.jpg)
> 这是一些通用的按钮,在剪贴板模式下会显示这些按钮,从左到右依次是
&emsp;&emsp;**重新翻译** 软件默认对于一些很短的文本不会进行翻译,使用这个按钮可以强制进行翻译;有时部分翻译器会抽风报错,使用这个按钮可以再一次要求翻译器进行翻译
&emsp;&emsp;**自动翻译** 按下这个按钮后,这个按钮会由白色变成粉色,然后软件会自动对获取到的文本进行翻译;想要暂停时再次按下,按钮会变回白色
&emsp;&emsp;**打开设置** 按下这个按钮后会弹出设置窗口
&emsp;&emsp;**复制到剪贴板** 可以将OCR/HOOK提取到的最新文本复制到剪贴板
&emsp;&emsp;**显示/隐藏原文** 显示/隐藏原文
&emsp;&emsp;**显示历史翻译** 会弹出历史翻译窗口,其中会有之前提取到的原文+翻译
&emsp;&emsp;**朗读** 当开启朗读器时,会将剪贴板/OCR/HOOK最新提取到的文本原文进行朗读。不过当系统中未安装日语朗读器时会没有朗读的声音。
&emsp;&emsp;**鼠标穿透窗口** 点击后翻译框可以变得全透明,在上面点击鼠标会直接点击游戏窗口
&emsp;&emsp;**锁定工具栏** 按下这个按钮后,这个按钮会由白色变成粉色,然后工具栏会不再自动隐藏;再次按下时会变回白色,工具栏会自动隐藏
&emsp;&emsp;**打开保存的游戏** 按下这个按钮后会弹出游戏列表窗口,可以选择游戏打开
&emsp;&emsp;**最小化到托盘** 本软件不会在任务栏中显示,只会在任务栏中显示,按下这个按钮软件将会隐藏,可以在托盘图标中让软件重新显示。
&emsp;&emsp;**退出** 按下这个按钮后,软件将会退出
## OCR模式按钮
![img](../images/zh/toolbar2.jpg)
> OCR模型下会比剪贴板模型下多出三个按钮
&emsp;&emsp;**选取OCR范围** 按下这个按钮后,会进行范围的选取(类似一些截图软件)。
&emsp;&emsp;**显示/隐藏范围框** 选取完OCR范围后会显示一个矩形窗口标识OCR的识别范围按下这个按钮矩形窗口会隐藏
&emsp;&emsp;**绑定截图窗口** 点击按钮,然后点击游戏窗口,该按钮会变成粉色,说明绑定成功。绑定窗口后即时翻译窗口和截图框重叠也不影响使用。点击按钮后点击翻译器本身,会取消绑定
## HOOK模式按钮
![img](../images/zh/toolbar3.jpg)
> HOOK模型下会比剪贴板模型下多出2个按钮
&emsp;&emsp;**选择游戏** 按下这个按钮后弹出游戏选择窗口可以选择要HOOK的游戏。
&emsp;&emsp;**选择文本** 按下这个按钮会弹出文本选择窗口可以选择已HOOK游戏中需要的文本条。

9
docs/zh/trayicon.md Normal file
View File

@ -0,0 +1,9 @@
# 托盘图标
![img](../images/zh/trayicon.jpg)
鼠标左键点击图标程序窗口将显示,再次点击图标窗口将隐藏
鼠标右键点击图标会弹出菜单,可以显示窗口或退出程序

16
docs/zh/update.md Normal file
View File

@ -0,0 +1,16 @@
# 软件更新
## 手动更新
### 注意
下载后解压覆盖到之前的目录即可不要删除userconfig文件夹否则会失去之前的设置
或者把之前的userconfig文件夹复制到新的解压目录里也可以
## 自动更新
在设置->其他设置->其他设置中,可以开启自动更新。自动更新偶尔会导致错误,请手动更新以修复!
![img](../images/zh/update.jpg)