สำคัญ
โครงการได้ย้ายไปอยู่ภายใต้การดูแลของ KDE และการพัฒนาจะดำเนินต่อไปที่ https://invent.kde.org/office/crow-translate
อีกาแปลCrow Translate เป็นนักแปลที่เรียบง่ายและมีน้ำหนักเบา เขียนด้วย ภาษา C++ / Qt ซึ่งช่วยให้คุณสามารถแปลและพูดข้อความโดยใช้ Google, Yandex, Bing, LibreTranslate และ Lingva แปล API คุณอาจสนใจห้องสมุด QOnlineTranslator ของฉันที่ใช้ในโครงการนี้
พลาสมา
พลาสม่าเคลื่อนที่
วินโดวส์ 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 + ส | พูดแหล่งที่มา / หยุดพูดข้อความชั่วคราว |
| Ctrl + Shift + S | พูดการแปล / หยุดพูดข้อความชั่วคราว |
| Ctrl + Shift + C | คัดลอกการแปลไปยังคลิปบอร์ด |
โปรแกรมยังมีอินเทอร์เฟซคอนโซล
การใช้งาน: crow [options] text
| ตัวเลือก | คำอธิบาย |
|---|---|
-h, --help | แสดงความช่วยเหลือ |
-v, --version | แสดงข้อมูลเวอร์ชัน |
-c, --codes | แสดงรหัสภาษา |
-s, --source <code> | ระบุภาษาต้นฉบับ (โดยค่าเริ่มต้น กลไกจะพยายามกำหนดภาษาด้วยตนเอง) |
-t, --translation <code> | ระบุภาษาการแปล โดยแยกด้วย '+' (โดยค่าเริ่มต้น ภาษาของระบบจะถูกใช้) |
-l, --locale <code> | ระบุภาษาของผู้แปล (โดยค่าเริ่มต้นจะใช้ภาษาของระบบ) |
-e, --engine <engine> | ระบุเครื่องมือแปล ('google', 'yandex', 'bing', 'libretranslate' หรือ 'lingva') Google ถูกใช้เป็นค่าเริ่มต้น |
-p, --speak-translation | พูดคำแปล |
-u, --speak-source | พูดแหล่งที่มา |
-f, --file | อ่านข้อความต้นฉบับจากไฟล์ อาร์กิวเมนต์จะถูกตีความว่าเป็นเส้นทางของไฟล์ |
-i, --stdin | เพิ่มข้อมูล 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 openWayland ไม่มี 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 เพื่อรวม DLLs ที่จำเป็นทั้งหมด
WITH_PORTABLE_MODE - เปิดใช้งานฟังก์ชันพกพา หากคุณสร้างไฟล์ชื่อ settings.ini ในโฟลเดอร์แอป และ Crow จะเก็บการกำหนดค่าไว้ในนั้น นอกจากนี้ยังเพิ่มตัวเลือก "โหมดพกพา" ให้กับการตั้งค่าแอปพลิเคชันซึ่งทำเช่นเดียวกันWITH_KWAYLAND - ค้นหาและใช้ห้องสมุด KWayland เพื่อการรวม Wayland ที่ดียิ่งขึ้น พารามิเตอร์บิลด์ถูกส่งผ่านในขั้นตอนการกำหนดค่า: cmake -D WITH_PORTABLE_MODE ..
เพื่อช่วยในการโลคัลไลเซชัน คุณสามารถใช้ Crowdin หรือแปลไฟล์ใน data/translations ด้วย Qt Linguist ได้โดยตรง หากต้องการเพิ่มภาษาใหม่ เขียนถึงฉันในหน้า Crowdin หรือคัดลอก data/translations/crow-translate.ts ไปยัง data/translations/crow-translate_<ISO 639-1 language code>_<ISO 3166-1 country code>.ts แปลและส่งคำขอดึง