Chinês | Inglês
Easydict
é um aplicativo macOS de tradução de dicionário simples e fácil de usar que pode encontrar palavras ou traduzir texto com facilidade e elegância. Easydict pode ser usado imediatamente e pode identificar automaticamente o idioma do texto de entrada. Ele suporta tradução de entrada, tradução de marcação de palavras e tradução de captura de tela OCR. Ele pode consultar vários resultados de serviços de tradução ao mesmo tempo. Dicionário do Sistema , Tradutor do Sistema Apple , OpenAI, Gemini, DeepL, Google, Tencent, Bing, Baidu, Tradução Xiaoniu, Caiyun Xiaoyi, Tradução Alibaba e Tradução Huoshan.
Pronto para usar imediatamente, é fácil procurar palavras ou traduzir texto.
Identifique automaticamente o idioma de entrada e consulte automaticamente o idioma de destino preferido.
Marcar automaticamente a palavra para consulta Depois que a palavra for marcada, o ícone de consulta será exibido automaticamente. Você pode consultar passando o mouse.
Suporta configuração de diferentes serviços para diferentes janelas.
Suporta modo de consulta inteligente.
Sistema de suporte à tradução de capturas de tela OCR e OCR silencioso de capturas de tela.
Sistema de suporte TTS, suporte aos serviços TTS on-line do Bing, Google, Youdao e Baidu.
Suporte ao dicionário do sistema Apple, suporte a dicionários de terceiros e dicionário mdict podem ser importados manualmente.
Suporta tradução do sistema macOS. Para obter detalhes, consulte Como usar a tradução do sistema Easydict?
Suporta Dicionário Youdao, OpenAI, Gemini, DeepL, Google, Bing, Tencent, Baidu, Mavericks, Caiyun, Alibaba e Huoshan Translation.
Suporta 48 idiomas.
Se você acha que este aplicativo é bom, dê uma estrela ⭐️ para apoiá-lo (^-^)
Planejamos usar Swift para reconstruir o projeto. Se você estiver interessado neste projeto de código aberto e estiver familiarizado com Swift/SwiftUI, você está convidado a se juntar à nossa equipe de desenvolvimento e melhorar este projeto juntos #194.
Easydict
Função
Plano de refatoração rápida
Índice
Instalar
Ambiente de construção
1. Download e instalação manual
2. Instalação de homebrew
Compilação do desenvolvedor
usar
Palavra de traço do mouse
Sobre permissões
OCR
Identificação do idioma
Serviço TTS
Serviço de consulta
Configurar AuthKey
Endereço de interface DeepL personalizado
Configurar método de chamada de API
DashScope
Groq
Google Gêmeos
Configurar APIKey pessoal
Modo de consulta OpenAI
Parâmetros personalizados OpenAI
Idiomas suportados por cada serviço
? Dicionário do sistema Apple
Tradução OpenAI
Tradução personalizada do OpenAI
Tradução de IA integrada
Tradução
Tradução DeepL
Tradutor Tencent
Tradução do Bing
Tradução de Mavericks
Caiyun Xiaoyi
Ali Tradução
Modo de consulta inteligente
Consulta no aplicativo
Esquema de URL
Usar com PopClip
configurar
Universal
Servir
Teclas de atalho no aplicativo
Pontas
Projetos de código aberto semelhantes
intenção original
Guia de contribuição
História das Estrelas
Agradecimentos
declaração
Apoio de patrocínio
Lista Patrocinada
Você pode instalá-lo de duas maneiras. Sistema de suporte macOS 11.0+
Baixe a versão mais recente do Easydict.
Obrigado ao BingoKingo por fornecer a versão de instalação inicial.
preparar instalação --cask easydict
Se você é desenvolvedor ou está interessado neste projeto, também pode tentar construí-lo e executá-lo manualmente. Todo o processo é muito simples e nem requer conhecimento de desenvolvimento em macOS.
Baixe este repositório e use o Xcode para abrir o arquivo Easydict.xcworkspace
(
Observe que não é Easydict.xcodeproj
).
Basta usar Cmd + R
para compilar e executar.
As etapas a seguir são opcionais e destinam-se apenas a colaboradores de desenvolvimento.
Se você frequentemente precisa depurar algumas funções relacionadas à permissão, como extração de palavras ou OCR, você pode optar por usar sua própria conta Apple para executá-lo. Modifique DEVELOPMENT_TEAM
no arquivo Easydict-debug.xcconfig
para seu próprio ID de equipe Apple. (você pode fazer login no site do Apple Developer para encontrá-lo), altere CODE_SIGN_IDENTITY
para Apple Development.
Tenha cuidado para não enviar o arquivo Easydict-debug.xcconfig
. Você pode usar o seguinte comando git para ignorar modificações locais neste arquivo.
git update-index --skip-worktree Easydict-debug.xcconfig
Xcode 13+, macOS Big Sur 11.3+. Para evitar problemas desnecessários, é recomendado usar a versão mais recente do Xcode e macOS #79
[!NOTE] Como o código mais recente usa o recurso String Catalog, ele requer o Xcode 15+ para compilar. Se a sua versão do Xcode for inferior, use o branch xcode-14. Observe que este é um branch de versão fixa e não é mantido.
Se você encontrar o seguinte erro durante a execução, tente atualizar o CocoaPods para a versão mais recente e execute pod install
.
DT_TOOLCHAIN_DIR não pode ser usado para avaliar LD_RUNPATH_SEARCH_PATHS, use TOOLCHAIN_DIR em vez disso
Após a inicialização do Easydict, além da interface principal do aplicativo (oculta por padrão), haverá também um ícone de menu. Clique na opção de menu para acionar a função correspondente, conforme mostrado abaixo:
Caminho | descrever |
---|---|
Tradução de palavras com golpe de mouse | Após o desenho da palavra, o ícone de consulta é exibido automaticamente e a consulta pode ser realizada passando o mouse. |
Tradução de palavras-chave de atalho | Após selecionar o texto que precisa ser traduzido, pressione a tecla de atalho de tradução de palavras (padrão ⌥ + D ) |
tradução de captura de tela | Pressione a tecla de atalho de tradução da captura de tela (padrão ⌥ + S ) para capturar a área que precisa ser traduzida. |
Insira a tradução | Pressione a tecla de atalho de tradução de entrada (padrão ⌥ + A ou ⌥ + F ), insira o texto que precisa ser traduzido e Enter a tecla de tradução |
OCR de captura de tela silenciosa | Pressione a tecla de atalho silenciosa da captura de tela (padrão ⌥ + ⇧ + S ) para capturar a área que requer OCR. O resultado do OCR da captura de tela será salvo automaticamente na área de transferência. |
Atualmente, vários métodos de atalho do mouse são suportados: clique duplo para desenhar uma palavra, deslizar o mouse para desenhar uma palavra, clicar três vezes para desenhar uma palavra (parágrafo) e Shift para desenhar uma palavra (vários parágrafos). deslizar o mouse para desenhar uma palavra] pode falhar. Neste momento, você pode mudar para outras formas de delimitar palavras.
As teclas de atalho podem funcionar normalmente em qualquer aplicativo. Se você encontrar um aplicativo que não consegue desenhar palavras com o mouse, você pode levantar um problema para resolver #84
Processo da função de delineamento de palavras: Acessibilidade > AppleScript > Simular teclas de atalho, a prioridade é dada ao uso da função de recuperação de palavras de acessibilidade Quando a recuperação de palavras de acessibilidade falha (não autorizada ou não suportada pelo aplicativo), se for um aplicativo de navegador (como Safari, Chrome), ele tentará usar AppleScript para obter palavras. Se a recuperação da palavra AppleScript ainda falhar, a recuperação forçada da palavra será realizada no final - simulando a tecla de atalho Cmd+C para recuperar a palavra.
Portanto, é recomendável ativar允许Apple 事件中的JavaScript
no navegador. Isso pode evitar a interceptação de eventos de determinadas páginas da web, como a emissão de informações obrigatórias de direitos autorais anexadas a essas páginas da web, e otimizar a experiência de recuperação de palavras.
Para usuários do Safari, é altamente recomendável ativar esta opção porque o Safari não oferece suporte à recuperação de palavras de acessibilidade e a experiência de recuperação de palavras do AppleScript é muito melhor do que a recuperação simulada de palavras-chave de atalho.
Para traduzir palavras, você precisa ativar辅助功能
. A função de escrita de palavras do mouse só acionará o aplicativo para permissões de função auxiliar na primeira vez que for usada. Somente após a autorização a função de tradução automática de escrita de palavras poderá ser usada normalmente.
Para tradução de captura de tela, você precisa ativar a permissão屏幕录制
. O aplicativo só abrirá automaticamente a caixa de diálogo do aplicativo de permissão na primeira vez que você usar a tradução de captura de tela . Se a autorização falhar, você precisará acessar as configurações do sistema para habilitá-la. mais tarde.
Atualmente, apenas o OCR do sistema é suportado; serviços de OCR de terceiros serão introduzidos posteriormente.
O System OCR suporta idiomas: Chinês Simplificado, Chinês Tradicional, Inglês, Japonês, Coreano, Francês, Espanhol, Português, Alemão, Italiano, Russo, Ucraniano.
Atualmente, ele suporta reconhecimento de idioma do sistema, Baidu e reconhecimento de idioma do Google. No entanto, considerando a velocidade e a instabilidade do reconhecimento online (o Google também precisa contornar o muro), os outros dois serviços de reconhecimento são usados apenas para auxiliar na otimização.
O reconhecimento de idioma do sistema é usado por padrão. Após o ajuste, a precisão do reconhecimento de idioma do sistema já é muito alta e pode atender às necessidades da maioria dos usuários.
Se você ainda acha que o reconhecimento de idioma do sistema é impreciso no uso real, você pode ativar o reconhecimento de idioma Baidu ou a otimização de reconhecimento de idioma Google nas configurações, mas observe que isso pode causar uma velocidade de resposta mais lenta e a taxa de reconhecimento não será 100% consistente com a expectativa do usuário. Se você encontrar um reconhecimento incorreto, é recomendável especificar manualmente o tipo de idioma.
Atualmente ele oferece suporte ao sistema TTS e aos serviços TTS online do Bing, Google, Youdao e Baidu.
Sistema TTS: O mais estável e confiável, mas o efeito não é muito bom. Geralmente utilizado como opção de backup, ou seja, quando um erro é reportado utilizando outro TTS, será utilizado o TTS do sistema.
Bing TTS: O melhor efeito geral, síntese em tempo real da fala da rede neural, mas é mais demorado e quanto mais longo o texto, maior o tempo de síntese Atualmente, está limitado a um máximo de 2.000 caracteres, que. leva cerca de 10 minutos.
Google TTS: O efeito em inglês é bom, a interface é estável, mas precisa ser contornada e no máximo 200 caracteres podem ser sintetizados em uma solicitação.
Youdao TTS: O efeito geral é bom, a interface é estável, especialmente a pronúncia das palavras em inglês é excelente, mas só pode sintetizar até 600 caracteres.
Baidu TTS: A pronúncia das frases em inglês é muito boa e o sotaque é muito distinto, mas só consegue sintetizar cerca de 1000 caracteres no máximo.
Youdao TTS é usado por padrão e os usuários podem alterar seu serviço TTS preferido nas configurações.
Como o Youdao TTS funciona bem para palavras em inglês, o Youdao TTS é usado primeiro para palavras em inglês e o serviço TTS padrão é usado para outros textos.
Exceto o TTS do sistema, outros serviços TTS são interfaces não oficiais e podem ser instáveis.
Atualmente suporta Youdao Dictionary, Apple System Dictionary, Apple System Translator, DeepL, Google, Bing, Baidu e Huoshan Translation.
Observação
A versão chinesa do Google Tradutor não está mais disponível e apenas a versão internacional pode ser usada, então você precisa usar um agente para usar o Google Tradutor.
linguagem | Dicionário Youdao | ? Tradução do sistema Apple | Tradução DeepL | Tradução do Bing | Google Tradutor | Tradução do Baidu | tradução do vulcão |
---|---|---|---|---|---|---|---|
Chinês (simplificado) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Chinês (tradicional) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Inglês | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
japonês | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
coreano | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Francês | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
espanhol | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Português | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
italiano | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Alemão | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
russo | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
árabe | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
sueco | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
romeno | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
Tailandês | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ |
Eslovaco | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
Holandês | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
húngaro | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
grego | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
dinamarquês | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
finlandês | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
polonês | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Tcheco | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
turco | ❌ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ |
lituano | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
letão | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
ucraniano | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
búlgaro | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
indonésio | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
malaio | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ |
esloveno | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
estoniano | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
vietnamita | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ |
persa | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ |
hindi | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ |
télugo | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ |
tâmil | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ |
urdu | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ |
filipino | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ |
Khmer | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ |
Laos | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ |
bengali | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ |
birmanês | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ |
norueguês | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
sérvio | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ |
croata | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ |
mongol | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ |
hebraico | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ |
Easydict suporta automaticamente os dicionários que acompanham o sistema no aplicativo Dicionário, como o Dicionário Oxford Inglês-Chinês (Chinês Simplificado-Inglês), Dicionário Padrão Chinês Moderno (Chinês Simplificado), etc. a página de configurações do aplicativo Dicionário.
Além disso, o Apple Dictionary também oferece suporte a dicionários importados personalizados, para que possamos adicionar dicionários de terceiros importando dicionários no formato .dictionary, como Concise English-Chinese Dictionary, Longman Contemporary Advanced English Dictionary, etc.
Para obter detalhes, consulte Como usar o dicionário do sistema Easydict?
A versão 1.3.0 passa a suportar tradução OpenAI, que requer o uso da chave API OpenAI.
Se você não possui sua própria OpenAI APIKey, você pode usar alguns projetos de código aberto para converter a interface LLM de terceiros em uma interface OpenAI padrão, para que possa ser usada diretamente no Easydict
.
Por exemplo, one-api, one-api é um bom projeto de código aberto de gerenciamento de interface OpenAI, suportando múltiplas interfaces LLM, incluindo Azure, Anthropic Claude, Google Gemini, Zhipu ChatGLM, Baidu Wenxinyiyan, iFlytek Spark Cognition, Alibaba Tongyi Qianwen, 360 Intelligent Brain, Tencent Hunyuan, Moonshot AI, Groq, Zero One Thing, Step Star, DeepSeek, Cohere, etc., podem ser usados para chave de gerenciamento de distribuição secundária, apenas um único arquivo executável, imagem Docker já empacotada, implantação com um clique, pronto para usar fora da caixa.
Importante
A versão 2.6.0 implementa uma nova página de configurações do SwiftUI (suporta macOS 13+) e suporta o método GUI para configurar a chave API do serviço. Outras versões do sistema precisam usar o método de comando na caixa de entrada Easydict.
Dica
Se o hardware do computador for compatível, é recomendável atualizar o sistema macOS para desfrutar de uma melhor experiência do usuário.
easydict://writeKeyValue?EZOpenAIAPIKey=sk-xxx
Visualize a APIKey (semelhante a outras chaves). Se a consulta for bem-sucedida, os resultados serão gravados na área de transferência.
easydict://readValueOfKey?EZOpenAIAPIKey
Atualmente, o OpenAI oferece suporte a três modos de consulta: palavra, frase e tradução longa, todos habilitados por padrão, e palavras e frases também podem ser desativadas.
Considerando o fator de custo do token do OpenAI, uma opção de fechamento padrão é fornecida. Após escrever o comando a seguir, o OpenAI fechará a consulta por padrão e somente consultará quando o usuário clicar manualmente no botão de expansão.
easydict://writeKeyValue?EZOpenAIServiceUsageStatusKey=1
// Fecha a pesquisa por palavra easydict://writeKeyValue?EZOpenAIDictionaryKey=0 // Desativa a análise de sentença easydict://writeKeyValue?EZOpenAISentenceKey=0
Lembrete caloroso: se você apenas ocasionalmente não deseja analisar frases, não precisa desativar o tipo de frase. Você só precisa adicionar um til ~ depois de [sentença], o que o transformará em um tipo de tradução.
Configure um nome de domínio e modelo personalizados
//Defina o endereço de solicitação da interface, como https://api.openai.com/v1/chat/completions easydict://writeKeyValue?EZOpenAIEndPointKey=xxx // Defina o modelo de uso, como gpt-3.5-turbo easydict://writeKeyValue?EZOpenAIModelKey=xxx // Define a lista de modelos disponíveis, como gpt-3.5-turbo, gpt-4-turbo easydict://writeKeyValue?EZOpenAIAvailableModelsKey=xxx
Como a interface oficial do OpenAI tem restrições de IP do usuário, se você precisar de um proxy reverso, pode consultar este projeto anti-geração cloudflare-reverse-proxy
Os itens de configuração suportados são os mesmos do OpenAI, basta substituir OpenA por CustomOpenAI.
//Definir chave API easydict://writeKeyValue?EZCustomOpenAIAPIKey=sk-xxx //Defina o endereço de solicitação da interface, como https://api.openai.com/v1/chat/completions easydict://writeKeyValue?EZCustomOpenAIEndPointKey=xxx // Defina o modelo de uso, como gpt-3.5-turbo easydict://writeKeyValue?EZCustomOpenAIModelKey=xxx //Defina o modo de consulta do serviço, 0 é o padrão, 1 está sempre desativado, 2 está sempre ativado easydict://writeKeyValue?EZCustomOpenAIServiceUsageStatusKey=xxx
Atualmente, alguns fornecedores de serviços LLM fornecem modelos de IA gratuitos limitados, como o serviço de modelo Lingji do Alibaba, DashScope, Groq, Google Gemini, etc.
Para facilitar que novos usuários experimentem esses grandes modelos de traduções de IA, adicionamos um serviço de tradução de IA integrado que oferece suporte aos seguintes modelos de serviço:
A série de código aberto Tongyi Qianwen abre o DashScope e recebe um total de 1.000.000 de tokens. O modelo qwen1.5-32b-chat está atualmente aberto gratuitamente por tempo limitado.
qwen1.5-32b-chat
qwen-turbo
baichuan2-13b-chat-v1
deepseek-7b-chat
internlm-7b-chat
lhama3-70b-8192
mixtral-8x7b-32768
Gêmeos-pro
No entanto, observe que os modelos integrados acima têm certas restrições de uso (principalmente restrições de cota gratuita. Não garantimos que eles possam ser usados de forma estável o tempo todo. Recomendamos que os usuários ainda usem uma API para criar sua própria API). grandes serviços de modelo.
A tradução do Gemini requer uma chave API, que pode ser obtida gratuitamente no console do site oficial.
easydict://writeKeyValue?EZGeminiAPIKey=xxx
A versão gratuita do DeepL da API da web tem um limite de frequência para o IP único de um usuário. O uso frequente acionará um erro 429 de muitas solicitações. Portanto, a versão 1.3.0 adiciona suporte para a API oficial do DeepL. e precisa ser habilitado por meio de comandos.
Se você possui um DeepL AuthKey, é recomendável usar um AuthKey pessoal, que pode evitar restrições de frequência e proporcionar uma melhor experiência ao usuário. Caso contrário, você pode usar a troca de agentes para evitar erros 429.
Dica
Mude o IP do proxy Esta é uma solução universal e funciona igualmente bem para outros serviços com frequência limitada.
Insira o seguinte código na caixa de entrada, xxx é o seu DeepL AuthKey e, em seguida, digite
easydict://writeKeyValue?EZDeepLAuthKey=xxx
Se você não possui seu próprio AuthKey e precisa usar a tradução do DeepL extensivamente, considere implantar você mesmo um serviço de interface que ofereça suporte ao DeepL ou usar um serviço de terceiros que ofereça suporte ao DeepL.
Neste caso, você precisa definir um endereço de interface DeepL personalizado, onde o valor de EZDeepLTranslateEndPointKey deve ser o URL de solicitação completo. Por exemplo, a interface oficial do DeepL é https://api-free.deepl.com/v2/translate
. Se a interface personalizada exigir AuthKey, o método de configuração será o mesmo de antes e os parâmetros da interface serão consistentes com o oficial do DeepL.
O método de usar um endereço de interface personalizado do DeepL é equivalente ao formulário oficial da API AuthKey do DeepL no programa Easydict.
Easydict suporta interface DeepLX, consulte #464 para obter detalhes.
easydict://writeKeyValue?EZDeepLTranslateEndPointKey=xxx
Por padrão, a versão web da API é usada primeiro. Quando a versão web da API falha, o AuthKey pessoal (se houver) será usado.
easydict://writeKeyValue?EZDeepLTranslationAPIKey=0
É dada prioridade ao uso do AuthKey pessoal e, em caso de falha, é utilizada a versão web da API. Se o DeepL for usado com frequência, é recomendado usar este método, que pode reduzir uma solicitação com falha e melhorar a velocidade de resposta.
easydict://writeKeyValue?EZDeepLTranslationAPIKey=1
Use apenas AuthKey pessoal
easydict://writeKeyValue?EZDeepLTranslationAPIKey=2
O Tencent Translate requer uma chave de API para facilitar o uso, incorporamos uma chave. Essa chave tem um limite de cota e não é garantido que possa ser usada o tempo todo.
Recomenda-se usar sua própria chave API. Cada usuário registrado do Tencent Translate receberá 5 milhões de tráfego de caracteres por mês, o que é suficiente para uso diário.
// xxx SecretId traduzido da Tencent easydict://writeKeyValue?EZTencentSecretId=xxx // xxx SecretKey traduzida da Tencent easydict://writeKeyValue?EZTencentSecretKey=xxx
Atualmente, o Bing Translate usa uma interface web. Quando o erro de limite de frequência 429 é acionado, além de alternar o proxy, você também pode definir manualmente o cookie de solicitação para prolongar a vida útil.
As etapas específicas são usar um navegador para abrir o Bing Translator, fazer login e executar o seguinte código no console para obter cookies
cookieStore.get("MUID").then(resultado => console.log(encodeURIComponent("MUID=" + resultado.valor)));
Finalmente, escreva o cookie no Easydict usando o comando
// xxx é o cookie obtido anteriormente easydict://writeKeyValue?EZBingCookieKey=xxx
Observação
O Bing TTS também usa uma interface web, que também é fácil de acionar restrições de interface e não reportará um prompt de erro. Portanto, se o Bing for definido como TTS padrão, é recomendável definir cookies.
O Mavericks Translation requer uma chave de API. Para facilitar o uso, temos uma chave integrada. Essa chave tem um limite de cota e não é garantido que possa ser usada o tempo todo.
Recomenda-se usar sua própria chave de API. Cada usuário registrado do Maverick Translation receberá tráfego de 200.000 caracteres por dia.
// xxx APIKey da tradução Maverick easydict://writeKeyValue?EZNiuTransAPIKey=xxx
Caiyun Xiaoyi requer um token. Para facilitar o uso, temos um token integrado. Este token tem certas restrições e não é garantido que possa ser usado o tempo todo.
Recomenda-se usar seu próprio token. Novos usuários receberão uma cota de tradução gratuita de 1 milhão de palavras no momento do registro.
// xxx Token de Caiyun Xiaoyi easydict://writeKeyValue?EZCaiyunToken=xxx
Embora o Alibaba Translate atualmente suporte a interface da versão web, essa interface tem certas limitações e não é garantido que possa ser usada o tempo todo.
Recomenda-se usar sua própria chave API. O Alibaba Translate tem uma cota mensal gratuita de um milhão de caracteres.
easydict://writeKeyValue?EZAliAccessKeyId=xxx easydict://writeKeyValue?EZAliAccessKeySecret=xxx
Atualmente, os serviços de consulta são divididos principalmente em duas categorias: consulta de palavras (como o Apple Dictionary) e texto traduzido (como DeepL). Alguns outros serviços (como Youdao e Google) suportam consulta de palavras e tradução de texto.
typedef NS_OPTIONS(NSUInteger, EZQueryTextType) { EZQueryTextTypeNone = 0, // 0EZQueryTextTypeTranslation = 1 << 0, // 01 = 1EZQueryTextTypeDictionary = 1 << 1, // 10 = 2EZQueryTextTypeSentence = 1 << 2, // 100 = 4};
Easydict pode ativar automaticamente os serviços de consulta correspondentes com base no conteúdo do texto da consulta.
Especificamente, no modo de consulta inteligente, ao consultar palavras, apenas os serviços que suportam [Consulta de Palavra] serão chamados; quando o texto for traduzido, apenas os serviços que suportam [Tradução de Texto] serão chamados.
Para consultas de palavras, o efeito do suporte a serviços de consulta de palavras é obviamente melhor do que a tradução simples, como o Apple Dictionary e o Youdao Dictionary, mas ao traduzir textos longos, não faz sentido habilitar serviços de consulta de palavras, como usar o Apple Dictionary para traduzir;
Por padrão, todos os serviços de tradução suportam consultas de palavras (palavras também são um tipo de texto) e os usuários podem ajustá-lo manualmente. Por exemplo, se você definir o modo inteligente do Google para traduzir apenas texto, você só precisará usar o seguinte comando para alterar. isso para translation | sentence
easydict://writeKeyValue?Google-IntelligentQueryTextType=5
Da mesma forma, para alguns serviços que suportam consulta de palavras e tradução de texto, como o Dicionário Youdao, você também pode definir seu modo inteligente para consultar apenas palavras e definir o tipo para dictionary
easydict://writeKeyValue?Youdao-IntelligentQueryTextType=2
Por padrão, o modo de consulta inteligente não está ativado para todas as janelas. Os usuários podem ativar esse recurso manualmente:
easydict://writeKeyValue?IntelligentQueryMode-window1=1
window1 representa uma mini janela, window2 representa uma janela lateral flutuante e um valor 0 significa fechado e 1 significa aberto.
Observação
O modo de consulta inteligente indica apenas se o serviço de consulta deve ser habilitado de forma inteligente. Os usuários podem clicar manualmente no botão de seta no lado direito do serviço para iniciar a consulta a qualquer momento.
Suporta consulta conveniente no aplicativo Easydict. Se você encontrar uma palavra desconhecida na caixa de entrada ou nos resultados da tradução, clique com o botão direito para abrir o menu e selecione a primeira "Consulta no aplicativo".
Easydict suporta esquema de URL para consulta rápida: easydict://query?text=xxx
, como easydict://query?text=good
.
Se o conteúdo da consulta xxx contiver caracteres especiais, será necessária a codificação de URL, como easydict://query?text=good%20girl
.
Aviso
A versão antiga de easydict://xxx pode causar problemas em alguns cenários, por isso é recomendado usar o esquema de URL completo: easydict://query?text=xxx
Você precisa instalar o PopClip primeiro e, em seguida, selecionar o seguinte bloco de código PopClip
exibirá "Instalar extensão Easydict", clique nele.
-- #popclip-- nome: Easydict-- ícone: iconify:ri:translate-- idioma: applescripttell aplicação "Easydict" lançar abra o local "easydict://query?text={popclip text}"end diga
Referência: https://www.popclip.app/dev/applescript-actions
A página de configurações fornece algumas modificações nas configurações, como reproduzir automaticamente a pronúncia das palavras após a consulta, modificar teclas de atalho de tradução, ativar e desativar serviços ou ajustar a ordem dos serviços, etc.
Easydict possui 3 tipos de janelas e diferentes serviços podem ser configurados para eles, respectivamente.
Mini janela: exibida quando o mouse desenha uma palavra automaticamente.
Janela flutuante lateral: exibida quando teclas de atalho são usadas para desenhar palavras e capturas de tela são traduzidas.
Janela principal: fechada por padrão, pode ser ativada nas configurações e exibida quando o programa é iniciado. (A função da janela principal será aprimorada posteriormente)
Easydict possui algumas teclas de atalho no aplicativo para torná-lo mais eficiente durante o uso.
Ao contrário das teclas de atalho de tradução anteriores que têm efeito global, as seguintes teclas de atalho só têm efeito quando a janela do Easydict é exibida em primeiro plano.
Enter
: Após inserir o texto, pressione Enter para iniciar a consulta.
Shift + Enter
: insira uma nova linha.
Cmd + ,
: Abra a página de configurações.
Cmd + Q
: Sai do aplicativo.
Cmd + K
: Limpe a caixa de entrada.
Cmd + Shift + K
: Limpa a caixa de entrada e os resultados da consulta, o que equivale a clicar no botão limpar no canto inferior direito da caixa de entrada.
Cmd + I
: Reúna caixas de entrada. (Entrada de foco)
Cmd + Shift + C
: Copia o conteúdo da consulta.
Cmd + Shift + J
: Copie o primeiro resultado da tradução.
Cmd + S
: reproduz a pronúncia do texto da consulta. (Reproduzir som)
Cmd + R
: Consulte novamente. (Repetir consulta)
Cmd + T
: Troca os idiomas de tradução. (Alternar idioma de tradução)
Cmd + P
: Fixe a janela. (Fixar janela, pressione novamente para soltar)
Cmd + W
: Fecha a janela.
Cmd + Enter
: O mecanismo de pesquisa do Google é aberto por padrão. O conteúdo da pesquisa é o texto de entrada. O efeito é equivalente a clicar manualmente no ícone de pesquisa do navegador no canto superior direito.
Cmd + Shift + Enter
: Se o aplicativo Dicionário Europeu estiver instalado no computador, um ícone Eudic será exibido à esquerda do ícone do Google, e a ação é abrir o aplicativo Dicionário Europeu para consultar.
Enquanto a janela de consulta for despertada, você poderá usar a tecla de atalho Cmd + ,
para abrir a página de configurações. Se você ocultar acidentalmente o ícone da barra de menu, poderá reabri-lo desta forma.
Se você achar que o resultado do reconhecimento do OCR está errado, você pode corrigir o resultado do OCR clicando no botão "Reconhecer como xx" para especificar o idioma de reconhecimento.
imersive-translate: Uma extensão útil de tradução bilíngue e imersiva da web.
pot-desktop: Um software de tradução de palavras e OCR multiplataforma.
ext-saladict: Saladict, uma extensão de pesquisa e tradução de palavras do navegador.
openai-translator: Um plug-in de navegador e aplicativo de desktop multiplataforma baseado na API ChatGPT.
Raycast-Easydict: Outro projeto de código aberto meu, uma versão estendida do Raycast do Easydict.
Pesquisar palavras e traduzir textos são funções muito úteis na vida diária. Usei muitos softwares de tradução de dicionários, mas não fiquei satisfeito com eles até conhecer Bob. Bob
é um excelente software de tradução, mas não é um software de código aberto e não fornece mais atualizações gratuitas de aplicativos desde que foi colocado na Apple Store.
Como desenvolvedor e beneficiário de muitos softwares de código aberto, senti que deveria haver uma versão gratuita de código aberto do Bob no mundo, então desenvolvi o Easydict. Agora, eu uso o Easydict extensivamente todos os dias, gosto muito dele e espero que mais pessoas possam entendê-lo e usá-lo.
O código aberto torna o mundo um lugar melhor.
Se você está interessado neste projeto, somos mais que bem-vindos para contribuir com o projeto e tentaremos ajudar no máximo possível.
Atualmente, o projeto possui principalmente duas ramificações: dev e main. O código da ramificação dev é geralmente o mais recente e pode conter alguns recursos em desenvolvimento. O código da ramificação principal é estável e o código da ramificação de desenvolvimento será mesclado regularmente.
Além disso, planejamos migrar o projeto de objc para Swift e gradualmente usar Swift para escrever novos módulos de função no futuro, consulte #194
Se você acha que o projeto precisa de melhorias ou tem ideias de novos recursos, envie um PR:
Se o PR for corrigir um bug ou implementar um recurso para um problema existente, envie-o ao branch de desenvolvimento.
Se o PR for sobre uma nova função ou envolver mudanças importantes, como UI, é recomendável abrir um problema para discuti-lo primeiro, para evitar duplicação ou conflito de funções.
Este projeto foi inspirado em Saladict e Bob, e a versão inicial foi desenvolvida com base em Bob (GPL-3.0). Easydict fez muitas melhorias e otimizações no projeto original, e muitas funções e UI são baseadas em Bob.
A função de captura de tela é baseada no Capture-Screen-For-Multi-Screens-On-Mac do isee15 e foi otimizada com base nisso.
A função de desenho de palavras do mouse refere-se ao PopClip.
Easydict está sob a licença de código aberto GPL-3.0 e serve apenas para aprendizagem e comunicação. Qualquer pessoa pode obter o produto e o código-fonte gratuitamente. Se você acredita que seus direitos legais foram violados, entre em contato com o autor imediatamente. Você é livre para usar o código-fonte, mas deve incluir a licença apropriada e o aviso de direitos autorais. Apoio de patrocínio
Easydict é um projeto sem fins lucrativos gratuito e de código aberto. Atualmente, é desenvolvido e mantido principalmente pelo autor. Se você gosta deste projeto e acha que é útil para você, considere patrocinar e apoiar este projeto. e deixe ir mais longe.
Se a geração de energia for suficiente para cobrir a taxa anual de US$ 99 da Apple, registrarei uma conta de desenvolvedor para resolver o problema de assinatura do aplicativo, para que mais pessoas possam usar o Easydict de maneira conveniente.