Importante
O projeto migrou sob a égide do KDE e o desenvolvimento continuará em https://invent.kde.org/office/crow-translate.
Crow Translate é um tradutor simples e leve escrito em C++/Qt que permite traduzir e falar texto usando Google, Yandex, Bing, LibreTranslate e API de tradução Lingva. Você também pode estar interessado na minha biblioteca QOnlineTranslator usada neste projeto.
Plasma
Plasma Móvel
Janelas 10
Você pode alterá-los nas configurações. Algumas sequências de teclas podem não estar disponíveis devido a limitações do sistema operacional.
Wayland não suporta registro de atalhos globais, mas você pode usar D-Bus para vincular ações nas configurações do sistema. Para ambientes de área de trabalho que suportam ações adicionais de aplicativos (KDE, por exemplo), você as verá predefinidas nas configurações de atalho do sistema. Você também pode usá-los para sessões X11, mas é necessário desabilitar o registro de atalhos globais nas configurações do aplicativo para evitar conflitos.
Chave | Descrição |
---|---|
Ctrl + Alt + E | Traduzir o texto selecionado |
Ctrl + Alt + S | Falar o texto selecionado |
Ctrl + Alt + F | Fale a tradução do texto selecionado |
Ctrl + Alt + G | Pare de falar |
Ctrl + Alt + C | Mostrar janela principal |
Ctrl + Alt + I | Reconhecer texto na área da tela |
Ctrl + Alt + O | Traduzir texto na área da tela |
Chave | Descrição |
---|---|
Ctrl + Retorno | Traduzir |
Ctrl + R | Trocar idiomas |
Ctrl + Q | Fechar janela |
Ctrl + S | Falar a fonte / pausar a fala do texto |
Ctrl + Shift + S | Falar tradução / pausar a fala do texto |
Ctrl + Shift + C | Copiar tradução para a área de transferência |
O programa também possui uma interface de console.
Uso: crow [options] text
Opção | Descrição |
---|---|
-h, --help | Exibir ajuda |
-v, --version | Exibir informações da versão |
-c, --codes | Exibir códigos de idioma |
-s, --source | Especifique o idioma de origem (por padrão, o mecanismo tentará determinar o idioma por conta própria) |
-t, --translation | Especifique o(s) idioma(s) de tradução, dividido(s) por '+' (por padrão, o idioma do sistema é usado) |
-l, --locale | Especifique o idioma do tradutor (por padrão, o idioma do sistema é usado) |
-e, --engine | Especifique o mecanismo de tradução ('google', 'yandex', 'bing', 'libretranslate' ou 'lingva'), o Google é usado por padrão |
-p, --speak-translation | Fale a tradução |
-u, --speak-source | Fale a fonte |
-f, --file | Leia o texto fonte dos arquivos. Os argumentos serão interpretados como caminhos de arquivo |
-i, --stdin | Adicione dados stdin ao texto fonte |
-a, --audio-only | Imprima texto apenas para falar ao usar --speak-translation ou --speak-source |
-b, --brief | Imprimir apenas traduções |
-j, --json | Imprimir saída formatada como JSON |
Nota: Se você não passar argumentos de inicialização para o programa, a GUI será iniciada.
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();
Por exemplo, você pode mostrar a janela principal usando dbus-send
:
dbus-send --type=method_call --dest=io.crow_translate.CrowTranslate /io/crow_translate/CrowTranslate/MainWindow io.crow_translate.CrowTranslate.MainWindow.open
Ou via 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 não fornece API para atalhos globais e você mesmo precisa registrá-los.
O KDE possui um recurso conveniente para definir atalhos em arquivos .desktop e importá-los nas configurações. Esses atalhos já estão habilitados e devem funcionar por padrão.
Para o GNOME você precisa definir manualmente os comandos D-Bus como atalhos globais. Por exemplo, para traduzir o texto selecionado, use o seguinte:
qdbus io.crow_translate.CrowTranslate /io/crow_translate/CrowTranslate/MainWindow translateSelection
Você pode definir uma tecla de atalho para este comando nas configurações do sistema GNOME.
Este projeto usa as seguintes bibliotecas externas, incluídas como submódulos git:
O tema de ícones fluentes é fornecido para fornecer ícones no Windows e ícones substitutos no Linux.
ícones de bandeiras circulares são usados para bandeiras.
Os downloads estão disponíveis na página Lançamentos. Verifique também o site para outros métodos de instalação.
Nota: No Linux, para fazer o aplicativo parecer nativo em um ambiente de desktop não-KDE, você precisa configurar o estilo dos aplicativos Qt. Isso pode ser feito usando qt5ct ou adwaita-qt5 ou qtstyleplugins. Por favor, verifique o guia de instalação apropriado para sua distribuição.
Observação: o Windows requer o Microsoft Visual C++ Redistributable 2019 para funcionar.
Você pode construir o Crow Translate usando os seguintes comandos:
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
Você receberá então um binário chamado crow
.
CMake pode criar tipos de pacotes especificados automaticamente.
Se você usa o gerador Makefile, Ninja ou Xcode, você pode usar o destino do pacote:
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
Ou você pode usar o utilitário CPack para qualquer gerador:
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
No Windows você precisa do VCPKG para agrupar todas as DLLs necessárias.
WITH_PORTABLE_MODE
- Habilita funcionalidade portátil. Se você criar um arquivo chamado settings.ini
na pasta do aplicativo, o Crow armazenará a configuração nele. Ele também adiciona a opção “Modo Portátil” às configurações do aplicativo, que faz o mesmo.WITH_KWAYLAND
- Encontre e use a biblioteca KWayland para melhor integração com Wayland. Os parâmetros de construção são passados na fase de configuração: cmake -D WITH_PORTABLE_MODE ..
.
Para ajudar na localização você pode usar o Crowdin ou traduzir arquivos em data/translations
diretamente com o Qt Linguist. Para adicionar um novo idioma, escreva-me na página Crowdin ou copie data/translations/crow-translate.ts
para data/translations/crow-translate_
, traduza-o e envie uma solicitação pull.