重要的
该项目已迁移到 KDE 保护伞下,开发将在 https://invent.kde.org/office/crow-translate 上继续。
Crow Translate是一款用C++ / Qt编写的简单轻量级翻译器,允许您使用 Google、Yandex、Bing、LibreTranslate 和 Lingva 翻译 API 翻译和朗读文本。您可能还对该项目中使用的我的库 QOnlineTranslator 感兴趣。
等离子体
等离子手机
Windows 10
您可以在设置中更改它们。由于操作系统限制,某些按键序列可能不可用。
Wayland 不支持全局快捷方式注册,但您可以使用 D-Bus 在系统设置中绑定操作。对于支持其他应用程序操作的桌面环境(例如 KDE),您将看到它们在系统快捷方式设置中预定义。您还可以将它们用于 X11 会话,但您需要在应用程序设置中禁用全局快捷方式注册以避免冲突。
钥匙 | 描述 |
---|---|
Ctrl + Alt + E | 翻译选定的文本 |
Ctrl + Alt + S | 朗读选定的文本 |
Ctrl + Alt + F | 说出所选文本的翻译 |
Ctrl + Alt + G | 停止说话 |
Ctrl + Alt + C | 显示主窗口 |
Ctrl + Alt + I | 识别屏幕区域中的文本 |
Ctrl + Alt + O | 翻译屏幕区域中的文本 |
钥匙 | 描述 |
---|---|
Ctrl +返回 | 翻译 |
Ctrl + R | 交换语言 |
Ctrl + Q | 关闭窗口 |
Ctrl + S | 朗读来源/暂停文字朗读 |
Ctrl + Shift + S | 朗读翻译/暂停文字朗读 |
Ctrl + Shift + C | 将翻译复制到剪贴板 |
该程序还有一个控制台界面。
用法: crow [options] text
选项 | 描述 |
---|---|
-h, --help | 显示帮助 |
-v, --version | 显示版本信息 |
-c, --codes | 显示语言代码 |
-s, --source | 指定源语言(默认情况下,引擎将尝试自行确定语言) |
-t, --translation | 指定翻译语言,以“+”分隔(默认情况下,使用系统语言) |
-l, --locale | 指定翻译语言(默认使用系统语言) |
-e, --engine | 指定翻译引擎('google'、'yandex'、'bing'、'libretranslate' 或 'lingva'),默认使用 Google |
-p, --speak-translation | 说出翻译 |
-u, --speak-source | 讲出源头 |
-f, --file | 从文件中读取源文本。参数将被解释为文件路径 |
-i, --stdin | 将标准输入数据添加到源文本 |
-a, --audio-only | 使用--speak-translation 或--speak-source 时仅打印讲话文本 |
-b, --brief | 仅打印翻译 |
-j, --json | 打印输出格式为 JSON |
注意:如果不将启动参数传递给程序,GUI 将启动。
io.crow_translate.CrowTranslate
├── /io/crow_translate/CrowTranslate/Ocr
| └── method void io.crow_translate.CrowTranslate.Ocr.setParameters(QVariantMap parameters);
└── /io/crow_translate/CrowTranslate/MainWindow
| # Global shortcuts
├── method void io.crow_translate.CrowTranslate.MainWindow.translateSelection();
├── method void io.crow_translate.CrowTranslate.MainWindow.speakSelection();
├── method void io.crow_translate.CrowTranslate.MainWindow.speakTranslatedSelection();
├── method void io.crow_translate.CrowTranslate.MainWindow.playPauseSpeaking();
├── method void io.crow_translate.CrowTranslate.MainWindow.stopSpeaking();
├── method void io.crow_translate.CrowTranslate.MainWindow.open();
├── method void io.crow_translate.CrowTranslate.MainWindow.copyTranslatedSelection();
├── method void io.crow_translate.CrowTranslate.MainWindow.recognizeScreenArea();
├── method void io.crow_translate.CrowTranslate.MainWindow.translateScreenArea();
├── method void io.crow_translate.CrowTranslate.MainWindow.delayedRecognizeScreenArea();
├── method void io.crow_translate.CrowTranslate.MainWindow.delayedTranslateScreenArea();
| # Main window shortcuts
├── method void io.crow_translate.CrowTranslate.MainWindow.clearText();
├── method void io.crow_translate.CrowTranslate.MainWindow.cancelOperation();
├── method void io.crow_translate.CrowTranslate.MainWindow.swapLanguages();
├── method void io.crow_translate.CrowTranslate.MainWindow.openSettings();
├── method void io.crow_translate.CrowTranslate.MainWindow.setAutoTranslateEnabled(bool enabled);
├── method void io.crow_translate.CrowTranslate.MainWindow.copySourceText();
├── method void io.crow_translate.CrowTranslate.MainWindow.copyTranslation();
├── method void io.crow_translate.CrowTranslate.MainWindow.copyAllTranslationInfo();
└── method void io.crow_translate.CrowTranslate.MainWindow.quit();
例如,您可以使用dbus-send
显示主窗口:
dbus-send --type=method_call --dest=io.crow_translate.CrowTranslate /io/crow_translate/CrowTranslate/MainWindow io.crow_translate.CrowTranslate.MainWindow.open
或者通过qdbus
:
qdbus io.crow_translate.CrowTranslate /io/crow_translate/CrowTranslate/MainWindow io.crow_translate.CrowTranslate.MainWindow.open
# or shorter
qdbus io.crow_translate.CrowTranslate /io/crow_translate/CrowTranslate/MainWindow open
Wayland不提供全局快捷方式的API,需要您自行注册。
KDE 有一个方便的功能,可以在 .desktop 文件中定义快捷方式并将其导入设置中。这些快捷方式已启用并且默认情况下应该可以使用。
对于 GNOME,您需要手动将 D-Bus 命令设置为全局快捷方式。例如,要翻译选定的文本,请使用以下命令:
qdbus io.crow_translate.CrowTranslate /io/crow_translate/CrowTranslate/MainWindow translateSelection
您可以在 GNOME 系统设置中为此命令设置热键。
该项目使用以下外部库,其中包含作为 git 子模块:
Fluent 图标主题捆绑在一起,提供 Windows 上的图标和 Linux 上的后备图标。
圆形标志图标用于标志。
可在发布页面上下载。另请查看网站以了解其他安装方法。
注意:在 Linux 上,要使应用程序在非 KDE 桌面环境中看起来是本机的,您需要配置 Qt 应用程序样式。这可以通过使用 qt5ct 或 adwaita-qt5 或 qtstyleplugins 来完成。请检查适合您的发行版的安装指南。
注意: Windows 需要 Microsoft Visual C++ Redistributable 2019 才能运行。
您可以使用以下命令构建Crow Translate :
mkdir build
cd build
cmake .. # Or `cmake -D CMAKE_BUILD_TYPE=Release ..` for single-configuration generators such as Ninja or GNU Make
cmake --build . # Or `cmake --build . --config Release` for multi-config generators such as Visual Studio Generators or Xcode
然后您将获得一个名为crow
的二进制文件。
CMake可以自动创建指定的包类型。
如果您使用 Makefile、Ninja 或 Xcode 生成器,您可以使用包目标:
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=Release -D CPACK_GENERATOR=DEB .. # You can specify several types of packages separated by semicolons in double quotes, for example: `CPACK_GENERATOR="DEB;ZIP;NSIS"`
cmake --build . --target package
或者您可以对任何生成器使用 CPack 实用程序:
mkdir build
cd build
cmake .. # Or `cmake -D CMAKE_BUILD_TYPE=Release ..` for single-configuration generators such as Ninja or GNU Make
cpack -G DEB # Or `cpack -G DEB -C Release` for multi-config generators such as Visual Studio Generators or Xcode
在 Windows 上,您需要 VCPKG 来捆绑所有必需的 DLL。
WITH_PORTABLE_MODE
- 启用便携式功能。如果您在应用程序文件夹中创建名为settings.ini
的文件,Crow 会将配置存储在其中。它还在应用程序设置中添加了“便携式模式”选项,其作用相同。WITH_KWAYLAND
- 查找并使用 KWayland 库以实现更好的 Wayland 集成。构建参数在配置阶段传递: cmake -D WITH_PORTABLE_MODE ..
。
为了帮助本地化,您可以使用 Crowdin 或直接使用 Qt Linguist 翻译data/translations
中的文件。要添加新语言,请在 Crowdin 页面上给我写信或将data/translations/crow-translate.ts
复制到data/translations/crow-translate_
,翻译它并发送拉取请求。