Chinois | Anglais
Easydict
est une application macOS de traduction de dictionnaire simple et facile à utiliser qui peut trouver des mots ou traduire du texte facilement et avec élégance. Easydict peut être utilisé immédiatement et peut identifier automatiquement la langue du texte d'entrée. Il prend en charge la traduction d'entrée, la traduction de marquage de mots et la traduction de capture d'écran OCR en même temps. Il prend actuellement en charge le dictionnaire Youdao, Apple. Dictionnaire système , traducteur système Apple , OpenAI, Gemini, DeepL, Google, Tencent, Bing, Baidu, traduction Xiaoniu, Caiyun Xiaoyi, traduction Alibaba et traduction Huoshan.
Prêt à l’emploi dès la sortie de la boîte, il est facile de rechercher des mots ou de traduire du texte.
Identifiez automatiquement la langue d’entrée et interrogez automatiquement la langue cible préférée.
Marquer automatiquement le mot pour la requête. Une fois le mot marqué, l'icône de requête s'affichera automatiquement. Vous pouvez interroger en survolant la souris.
Prend en charge la configuration de différents services pour différentes fenêtres.
Prend en charge le mode de requête intelligent.
Prise en charge de la traduction de capture d'écran OCR du système et de l'OCR de capture d'écran silencieuse.
Prise en charge du système TTS, prise en charge des services TTS en ligne Bing, Google, Youdao et Baidu.
Prise en charge ? Le dictionnaire système Apple, la prise en charge des dictionnaires tiers et le dictionnaire mdict peuvent être importés manuellement.
Prend en charge la traduction du système macOS. Pour plus de détails, veuillez consulter Comment utiliser la traduction du système Easydict ?
Prend en charge le dictionnaire Youdao, OpenAI, Gemini, DeepL, Google, Bing, Tencent, Baidu, Mavericks, Caiyun, Alibaba et Huoshan Translation.
Prend en charge 48 langues.
Si vous pensez que cette application est bonne, donnez-lui une étoile ⭐️ pour la soutenir (^-^)
Nous prévoyons d'utiliser Swift pour reconstruire le projet. Si vous êtes intéressé par ce projet open source et connaissez Swift/SwiftUI, vous êtes invités à rejoindre notre équipe de développement et à améliorer ce projet ensemble #194.
Easydict
Fonction
Plan de refactorisation rapide
Table des matières
Installer
Construire un environnement
1. Téléchargement et installation manuels
2. Installation du homebrew
Version développeur
utiliser
Mot de coup de souris
À propos des autorisations
ROC
Identification de la langue
Service TTS
Service de demande de renseignements
Configurer la clé d'authentification
Adresse d'interface DeepL personnalisée
Configurer la méthode d'appel de l'API
DashScope
Groq
Google Gémeaux
Configurer une APIKey personnelle
Mode de requête OpenAI
Paramètres personnalisés OpenAI
Langues prises en charge par chaque service
? Dictionnaire système Apple
Traduction OpenAI
Traduction OpenAI personnalisée
Traduction IA intégrée
Traduction
Traduction DeepL
Traducteur Tencent
Traduction Bing
Traduction des Mavericks
Caiyun Xiaoyi
Traduction du Ali
Mode de requête intelligent
Requête dans l'application
Schéma d'URL
Utiliser avec PopClip
installation
Universel
Servir
Touches de raccourci dans l'application
Conseils
Projets open source similaires
intention originale
Guide des contributions
Histoire des étoiles
Remerciements
déclaration
Soutien au parrainage
Liste sponsorisée
Vous pouvez l'installer de deux manières. Système de support macOS 11.0+
Téléchargez la dernière version d'Easydict.
Merci à BingoKingo d'avoir fourni la version d'installation initiale.
Brew install --cask easydict
Si vous êtes développeur ou êtes intéressé par ce projet, vous pouvez également essayer de le créer et de l'exécuter manuellement. L'ensemble du processus est très simple et ne nécessite même pas de connaissances en développement macOS.
Téléchargez ce dépôt et utilisez Xcode pour ouvrir le fichier Easydict.xcworkspace
(
Notez qu'il ne s'agit pas Easydict.xcodeproj
).
Utilisez simplement Cmd + R
pour compiler et exécuter.
Les étapes suivantes sont facultatives et sont réservées aux collaborateurs de développement.
Si vous avez souvent besoin de déboguer certaines fonctions liées aux autorisations, telles que l'extraction de mots ou l'OCR, vous pouvez choisir d'utiliser votre propre compte Apple pour l'exécuter. Veuillez modifier DEVELOPMENT_TEAM
dans le fichier Easydict-debug.xcconfig
par votre propre identifiant d'équipe Apple. (vous pouvez vous connecter au site Web Apple Developer pour le trouver), remplacez CODE_SIGN_IDENTITY
par Apple Development.
Attention à ne pas soumettre le fichier Easydict-debug.xcconfig
. Vous pouvez utiliser la commande git suivante pour ignorer les modifications locales de ce fichier.
git update-index --skip-worktree Easydict-debug.xcconfig
Xcode 13+, macOS Big Sur 11.3+. Pour éviter des problèmes inutiles, il est recommandé d'utiliser la dernière version de Xcode et macOS #79
[!NOTE] Étant donné que le dernier code utilise la fonctionnalité String Catalog, sa compilation nécessite Xcode 15+. Si votre version de Xcode est inférieure, veuillez utiliser la branche xcode-14. Notez qu'il s'agit d'une branche de version fixe et qu'elle n'est pas maintenue.
Si vous rencontrez l'erreur suivante lors de l'exécution, essayez de mettre à niveau CocoaPods vers la dernière version, puis exécutez pod install
.
DT_TOOLCHAIN_DIR ne peut pas être utilisé pour évaluer LD_RUNPATH_SEARCH_PATHS, utilisez plutôt TOOLCHAIN_DIR
Après le démarrage d'Easydict, en plus de l'interface principale de l'application (masquée par défaut), il y aura également une icône de menu. Cliquez sur l'option de menu pour déclencher la fonction correspondante, comme indiqué ci-dessous :
Chemin | décrire |
---|---|
Traduction de mot de coup de souris | Une fois le mot dessiné, l'icône de requête s'affiche automatiquement et la requête peut être effectuée en survolant la souris. |
Traduction de mots clés de raccourci | Après avoir sélectionné le texte à traduire, appuyez sur la touche de raccourci de traduction de mot (par défaut ⌥ + D ) |
traduction de capture d'écran | Appuyez sur la touche de raccourci de traduction de capture d'écran (par défaut ⌥ + S ) pour capturer la zone qui doit être traduite. |
Entrez la traduction | Appuyez sur la touche de raccourci de traduction de saisie (par défaut ⌥ + A ou ⌥ + F ), saisissez le texte à traduire et Enter la touche de traduction. |
OCR de capture d'écran silencieuse | Appuyez sur la touche de raccourci de capture d'écran silencieuse (par défaut ⌥ + ⇧ + S ) pour capturer la zone qui nécessite l'OCR. Le résultat de l'OCR de la capture d'écran sera automatiquement enregistré dans le presse-papiers. |
Actuellement, plusieurs méthodes de raccourci de souris sont prises en charge : double-cliquez pour dessiner un mot, faites glisser la souris pour dessiner un mot, triple-cliquez pour dessiner un mot (paragraphe) et Maj pour dessiner un mot (plusieurs paragraphes). glisser la souris pour dessiner un mot] peut échouer. À ce stade, vous pouvez passer à d'autres façons de délimiter les mots.
Les raccourcis clavier peuvent fonctionner normalement dans n’importe quelle application. Si vous rencontrez une application qui ne parvient pas à dessiner des mots avec la souris, vous pouvez signaler un problème à résoudre #84
Processus de la fonction de délimitation des mots : Accessibilité > AppleScript > Simuler les touches de raccourci, la priorité est donnée à l'utilisation de la fonction de récupération de mots d'accessibilité. Lorsque la récupération de mots d'accessibilité échoue (non autorisée ou non prise en charge par l'application), s'il s'agit d'une application de navigateur (telle que Safari, Chrome), il essaiera d'utiliser AppleScript pour obtenir des mots. Si la récupération du mot AppleScript échoue toujours, la récupération forcée du mot sera effectuée à la fin - en simulant la touche de raccourci Cmd+C pour récupérer le mot.
Par conséquent, il est recommandé d'activer允许Apple 事件中的JavaScript
dans le navigateur. Cela peut éviter l'interception d'événements de certaines pages Web, telles que la question des informations de droit d'auteur obligatoires attachées à ces pages Web, et optimiser l'expérience de récupération de mots.
Pour les utilisateurs de Safari, il est fortement recommandé d'activer cette option car Safari ne prend pas en charge la récupération de mots d'accessibilité et l'expérience de récupération de mots AppleScript est bien meilleure que la récupération de mots clés de raccourci simulés.
Pour traduire des mots, vous devez activer辅助功能
. La fonction de gravure de mots de la souris ne déclenchera la demande d'autorisations de fonctions auxiliaires que lors de sa première utilisation. Ce n'est qu'après autorisation que la fonction de traduction automatique de mots pourra être utilisée normalement.
Pour la traduction de capture d'écran, vous devez activer l'autorisation屏幕录制
. L'application n'affichera automatiquement la boîte de dialogue de demande d'autorisation que la première fois que vous utiliserez la traduction de capture d'écran . Si l'autorisation échoue, vous devrez accéder aux paramètres système pour l'activer. plus tard.
Actuellement, seul le système OCR est pris en charge, les services OCR tiers seront introduits ultérieurement.
Le système OCR prend en charge les langues : chinois simplifié, chinois traditionnel, anglais, japonais, coréen, français, espagnol, portugais, allemand, italien, russe et ukrainien.
Actuellement, il prend en charge la reconnaissance linguistique du système, Baidu et la reconnaissance linguistique Google. Cependant, compte tenu de la rapidité et de l'instabilité de la reconnaissance en ligne (Google doit également contourner le mur), les deux autres services de reconnaissance ne sont utilisés que pour aider à l'optimisation.
La reconnaissance de la langue du système est utilisée par défaut. Après le réglage, la précision de la reconnaissance de la langue du système est déjà très élevée et peut répondre aux besoins de la plupart des utilisateurs.
Si vous pensez toujours que la reconnaissance linguistique du système est inexacte en utilisation réelle, vous pouvez activer la reconnaissance linguistique Baidu ou l'optimisation de la reconnaissance linguistique Google dans les paramètres, mais veuillez noter que cela peut entraîner une vitesse de réponse plus lente et que le taux de reconnaissance ne sera pas 100% conforme aux attentes de l'utilisateur. Si vous rencontrez une reconnaissance incorrecte, il est recommandé de spécifier manuellement le type de langue.
Actuellement, il prend en charge le système TTS et prend en charge les services TTS en ligne Bing, Google, Youdao et Baidu.
Système TTS : Le plus stable et le plus fiable, mais l'effet n'est pas très bon. Généralement utilisé comme option de sauvegarde, c'est-à-dire que lorsqu'une erreur est signalée à l'aide d'un autre TTS, le système TTS sera utilisé à la place.
Bing TTS : le meilleur effet global, synthèse en temps réel de la parole sur le réseau neuronal, mais cela prend plus de temps, et plus le texte est long, plus le temps de synthèse est long. Actuellement, il est limité à un maximum de 2 000 caractères. prend environ 10 minutes.
Google TTS : L'effet anglais est bon, l'interface est stable, mais il faut la contourner, et un maximum de 200 caractères peuvent être synthétisés en une seule requête.
Youdao TTS : L'effet global est bon, l'interface est stable, surtout la prononciation des mots anglais est excellente, mais elle ne peut synthétiser que jusqu'à 600 caractères.
Baidu TTS : La prononciation des phrases anglaises est très bonne et l'accent est très distinctif, mais il ne peut synthétiser qu'environ 1000 caractères au maximum.
Youdao TTS est utilisé par défaut et les utilisateurs peuvent changer leur service TTS préféré dans les paramètres.
Étant donné que Youdao TTS fonctionne bien pour les mots anglais, Youdao TTS est utilisé en premier pour les mots anglais et le service TTS par défaut est utilisé pour les autres textes.
À l'exception du système TTS, les autres services TTS sont des interfaces non officielles et peuvent être instables.
Prend actuellement en charge le dictionnaire Youdao, le dictionnaire système Apple, le traducteur système Apple, DeepL, Google, Bing, Baidu et Huoshan Translation.
Note
La version chinoise de Google Translate n'est plus disponible et seule la version internationale peut être utilisée. Vous devez donc faire appel à un agent pour utiliser Google Translate.
langue | Dictionnaire Youdao | ? Traduction du système Apple | Traduction DeepL | Traduction Bing | Google Traduction | Baidu Traduire | traduction du volcan |
---|---|---|---|---|---|---|---|
Chinois (simplifié) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Chinois (traditionnel) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Anglais | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
japonais | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
coréen | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Français | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Espagnol | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
portugais | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
italien | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Allemand | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
russe | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
arabe | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
suédois | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
roumain | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
thaïlandais | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ |
slovaque | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
Néerlandais | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
hongrois | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
grec | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
danois | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
finlandais | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
polonais | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
tchèque | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
turc | ❌ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ |
lituanien | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
letton | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
ukrainien | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
bulgare | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
indonésien | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
malais | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ |
slovène | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
estonien | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
vietnamien | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ |
persan | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ |
hindi | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ |
télougou | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ |
tamoul | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ |
Ourdou | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ |
Philippin | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ |
Khmer | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ |
Laotien | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ |
bengali | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ |
birman | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ |
norvégien | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
serbe | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ |
croate | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ |
mongol | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ |
hébreu | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ |
Easydict prend automatiquement en charge les dictionnaires fournis avec le système dans l'application Dictionnaire, tels que le dictionnaire Oxford anglais-chinois (chinois simplifié-anglais), le dictionnaire standard chinois moderne (chinois simplifié), etc. Il vous suffit d'activer le dictionnaire correspondant sur la page des paramètres de l'application Dictionnaire.
De plus, Apple Dictionary prend également en charge les dictionnaires importés personnalisés, nous pouvons donc ajouter des dictionnaires tiers en important des dictionnaires au format .dictionary, tels que Concise English-Chinese Dictionary, Longman Contemporary Advanced English Dictionary, etc.
Pour plus de détails, consultez Comment utiliser le dictionnaire système Easydict ?
La version 1.3.0 commence à prendre en charge la traduction OpenAI, qui nécessite l'utilisation de la clé API OpenAI.
Si vous ne disposez pas de votre propre clé API OpenAI, vous pouvez utiliser certains projets open source pour convertir l'interface LLM tierce en une interface OpenAI standard, afin qu'elle puisse être utilisée directement dans Easydict
.
Par exemple, one-api, one-api est un bon projet open source de gestion d'interface OpenAI, prenant en charge plusieurs interfaces LLM, notamment Azure, Anthropic Claude, Google Gemini, Zhipu ChatGLM, Baidu Wenxinyiyan, iFlytek Spark Cognition, Alibaba Tongyi Qianwen, 360 Intelligent. Cerveau, Tencent Hunyuan, Moonshot AI, Groq, Zero One Thing, Step Star, DeepSeek, Cohere etc., peut être utilisé pour la clé de gestion de la distribution secondaire, un seul fichier exécutable, l'image Docker a été packagée, déploiement en un clic, prêt à l'emploi.
Important
La version 2.6.0 implémente une nouvelle page de paramètres SwiftUI (prend en charge macOS 13+) et prend en charge la méthode GUI pour configurer la clé API du service. Les autres versions du système doivent utiliser la méthode de commande dans la zone de saisie Easydict.
Conseil
Si le matériel informatique le prend en charge, il est recommandé de mettre à niveau le système macOS pour profiter d'une meilleure expérience utilisateur.
easydict://writeKeyValue?EZOpenAIAPIKey=sk-xxx
Affichez l'APIKey (similaire aux autres clés). Si la requête réussit, les résultats seront écrits dans le presse-papiers.
easydict://readValueOfKey?EZOpenAIAPIKey
Actuellement, OpenAI prend en charge trois modes de requête : mot, phrase et traduction longue, qui sont tous activés par défaut, et les mots et phrases peuvent également être désactivés.
Compte tenu du facteur de coût du jeton d'OpenAI, une option de fermeture par défaut est fournie. Après avoir écrit la commande suivante, OpenAI fermera la requête par défaut et interrogera uniquement lorsque l'utilisateur clique manuellement sur le bouton de développement.
easydict://writeKeyValue?EZOpenAIServiceUsageStatusKey=1
// Ferme la recherche de mots easydict://writeKeyValue?EZOpenAIDictionaryKey=0 // Désactivez l'analyse des phrases easydict://writeKeyValue?EZOpenAISentenceKey=0
Rappel chaleureux : si vous ne souhaitez pas analyser les phrases de temps en temps, vous n'avez pas besoin de désactiver le type de phrase. Il vous suffit d'ajouter un tilde ~ après [phrase], ce qui le transformera en type de traduction.
Configurer un nom de domaine et un modèle personnalisés
//Définissez l'adresse de requête de l'interface, telle que https://api.openai.com/v1/chat/completions easydict://writeKeyValue?EZOpenAIEndPointKey=xxx // Définir le modèle d'utilisation, tel que gpt-3.5-turbo easydict://writeKeyValue?EZOpenAIModelKey=xxx // Définit la liste des modèles disponibles, tels que gpt-3.5-turbo, gpt-4-turbo easydict://writeKeyValue?EZOpenAIAvailableModelsKey=xxx
Étant donné que l'interface officielle OpenAI a des restrictions sur les adresses IP des utilisateurs, si vous avez besoin d'un proxy inverse, vous pouvez vous référer à ce projet anti-génération cloudflare-reverse-proxy
Les éléments de configuration pris en charge sont les mêmes qu'OpenAI, remplacez simplement OpenA par CustomOpenAI.
//Définir la clé API easydict://writeKeyValue?EZCustomOpenAIAPIKey=sk-xxx //Définissez l'adresse de requête de l'interface, telle que https://api.openai.com/v1/chat/completions easydict://writeKeyValue?EZCustomOpenAIEndPointKey=xxx // Définir le modèle d'utilisation, tel que gpt-3.5-turbo easydict://writeKeyValue?EZCustomOpenAIModelKey=xxx //Définit le mode de requête du service, 0 est la valeur par défaut, 1 est toujours désactivé, 2 est toujours activé easydict://writeKeyValue?EZCustomOpenAIServiceUsageStatusKey=xxx
Actuellement, certains fournisseurs de services LLM proposent des modèles d'IA gratuits limités, tels que le service de modèles Lingji d'Alibaba DashScope, Groq, Google Gemini, etc.
Pour permettre aux nouveaux utilisateurs d'essayer ces traductions d'IA à grand modèle, nous avons ajouté un service de traduction d'IA intégré qui prend en charge les modèles de service suivants :
Série open source Tongyi Qianwen, ouvrez DashScope et recevez un total de 1 000 000 de jetons. Le modèle qwen1.5-32b-chat est actuellement ouvert gratuitement pour une durée limitée.
qwen1.5-32b-chat
qwen-turbo
baichuan2-13b-chat-v1
deepseek-7b-chat
internelm-7b-chat
lama3-70b-8192
mixtral-8x7b-32768
gemini-pro
Cependant, veuillez noter que les modèles intégrés ci-dessus ont certaines restrictions d'utilisation (principalement des restrictions sur le quota gratuit). Nous ne garantissons pas qu'ils puissent être utilisés de manière stable à tout moment. Nous recommandons aux utilisateurs de toujours utiliser une seule API pour créer leur propre. services grand modèle.
La traduction Gemini nécessite une clé API, qui peut être obtenue gratuitement sur la console du site officiel.
easydict://writeKeyValue?EZGeminiAPIKey=xxx
La version gratuite DeepL de l'API Web a une limite de fréquence pour l'adresse IP unique d'un utilisateur. Une utilisation fréquente déclenchera une erreur de 429 requêtes en trop. Par conséquent, la version 1.3.0 ajoute la prise en charge de l'API officielle DeepL. et doit être activé via des commandes.
Si vous disposez d'une DeepL AuthKey, il est recommandé d'utiliser une AuthKey personnelle, ce qui peut éviter les restrictions de fréquence et offrir une meilleure expérience utilisateur. Sinon, vous pouvez utiliser des agents de commutation pour éviter les erreurs 429.
Conseil
Changez l'adresse IP du proxy. Il s'agit d'une solution universelle qui fonctionne également bien pour d'autres services à fréquence limitée.
Entrez le code suivant dans la zone de saisie, xxx est votre DeepL AuthKey, puis entrez
easydict://writeKeyValue?EZDeepLAuthKey=xxx
Si vous ne disposez pas de votre propre AuthKey et devez utiliser la traduction DeepL de manière intensive, vous pouvez envisager de déployer vous-même un service d'interface prenant en charge DeepL ou d'utiliser un service tiers prenant en charge DeepL.
Dans ce cas, vous devez définir une adresse d'interface DeepL personnalisée, où la valeur de EZDeepLTranslateEndPointKey doit être l'URL complète de la requête. Par exemple, l'interface DeepL officielle est https://api-free.deepl.com/v2/translate
. Si l'interface personnalisée nécessite AuthKey, la méthode de configuration est la même qu'auparavant et les paramètres d'interface sont cohérents avec ceux officiels de DeepL.
La méthode d'utilisation d'une adresse d'interface DeepL personnalisée est équivalente au formulaire API AuthKey officiel de DeepL dans le programme Easydict.
Easydict prend en charge l'interface DeepLX, veuillez consulter #464 pour plus de détails.
easydict://writeKeyValue?EZDeepLTranslateEndPointKey=xxx
Par défaut, la version Web de l'API est utilisée en premier. Lorsque la version Web de l'API échoue, la clé d'authentification personnelle (le cas échéant) sera utilisée.
easydict://writeKeyValue?EZDeepLTranslationAPIKey=0
La priorité est donnée à l'utilisation de l'AuthKey personnelle, et en cas d'échec, la version web de l'API est utilisée. Si DeepL est utilisé fréquemment, il est recommandé d'utiliser cette méthode, qui peut réduire le nombre d'échecs de requête et améliorer la vitesse de réponse.
easydict://writeKeyValue?EZDeepLTranslationAPIKey=1
Utilisez uniquement une clé d'authentification personnelle
easydict://writeKeyValue?EZDeepLTranslationAPIKey=2
Tencent Translate nécessite une clé API Pour faciliter l'utilisation, nous avons intégré une clé. Cette clé a une limite de quota et il n'est pas garanti qu'elle soit utilisable à tout moment.
Il est recommandé d'utiliser votre propre clé API. Chaque utilisateur enregistré de Tencent Translate recevra un trafic de 5 millions de caractères par mois, ce qui est suffisant pour une utilisation quotidienne.
// xxx Tencent traduit SecretId easydict://writeKeyValue?EZTencentSecretId=xxx // xxx Tencent traduit SecretKey easydict://writeKeyValue?EZTencentSecretKey=xxx
Actuellement, Bing Translate utilise une interface Web. Lorsque l'erreur de limite de fréquence 429 est déclenchée, en plus de changer de proxy, vous pouvez également définir manuellement le cookie de demande pour prolonger la durée de vie. La durée de vie spécifique n'est pas encore claire.
Les étapes spécifiques consistent à utiliser un navigateur pour ouvrir Bing Translator, à vous connecter, puis à exécuter le code suivant dans la console pour obtenir des cookies.
cookieStore.get("MUID").then(result => console.log(encodeURIComponent("MUID=" + result.value)));
Enfin, écrivez le cookie dans Easydict à l'aide de la commande
// xxx est le cookie obtenu précédemment easydict://writeKeyValue?EZBingCookieKey=xxx
Note
Bing TTS utilise également une interface Web, qui permet également de déclencher facilement des restrictions d'interface et ne signalera pas d'invite d'erreur. Par conséquent, si Bing est défini comme TTS par défaut, il est recommandé de définir des cookies.
Mavericks Translation nécessite une clé API Pour faciliter l'utilisation, nous avons une clé intégrée. Cette clé a une limite de quota et il n'est pas garanti qu'elle soit utilisable à tout moment.
Il est recommandé d'utiliser votre propre clé API. Chaque utilisateur enregistré de Maverick Translation recevra un trafic de 200 000 caractères par jour.
// xxx APIKey de Maverick Translation easydict://writeKeyValue?EZNiuTransAPIKey=xxx
Caiyun Xiaoyi nécessite un jeton Pour faciliter son utilisation, nous avons un jeton intégré qui comporte certaines restrictions et il n'est pas garanti qu'il soit utilisable à tout moment.
Il est recommandé d'utiliser votre propre Token. Les nouveaux utilisateurs recevront un quota de traduction gratuit de 1 million de mots lors de leur inscription.
// xxx Le jeton de Caiyun Xiaoyi easydict://writeKeyValue?EZCaiyunToken=xxx
Bien qu'Alibaba Translate prenne actuellement en charge l'interface de la version Web, cette interface présente certaines limitations et il n'est pas garanti qu'elle soit utilisable à tout moment.
Il est recommandé d'utiliser votre propre clé API. Alibaba Translate dispose d'un quota mensuel gratuit d'un million de caractères.
easydict://writeKeyValue?EZAliAccessKeyId=xxx easydict://writeKeyValue?EZAliAccessKeySecret=xxx
Actuellement, les services de requête sont principalement divisés en deux catégories : les requêtes de mots (comme Apple Dictionary) et les textes traduits (comme DeepL). Certains autres services (tels que Youdao et Google) prennent en charge à la fois les requêtes de mots et la traduction de texte.
typedef NS_OPTIONS (NSUInteger, EZQueryTextType) { EZQueryTextTypeNone = 0, // 0EZQueryTextTypeTranslation = 1 << 0, // 01 = 1EZQueryTextTypeDictionary = 1 << 1, // 10 = 2EZQueryTextTypeSentence = 1 << 2, // 100 = 4} ;
Easydict peut activer automatiquement les services de requête correspondants en fonction du contenu du texte de la requête.
Plus précisément, en mode de requête intelligente, lors de l'interrogation de mots, seuls les services prenant en charge [Word Query] seront appelés ; lorsque le texte est traduit, seuls les services prenant en charge [Text Translation] seront appelés.
Pour les requêtes de mots, l'effet de la prise en charge des services de requête de mots est évidemment meilleur qu'une simple traduction, telle que le dictionnaire Apple et le dictionnaire Youdao, mais lors de la traduction de textes longs, cela n'a aucun sens d'activer les services de requête de mots, tels que l'utilisation du dictionnaire Apple pour traduire.
Par défaut, tous les services de traduction prennent en charge les requêtes de mots (les mots sont également un type de texte) et les utilisateurs peuvent les ajuster manuellement. Par exemple, si vous définissez le mode intelligent de Google pour traduire uniquement le texte, il vous suffit d'utiliser la commande suivante pour modifier. translation | sentence
easydict://writeKeyValue?Google-IntelligentQueryTextType=5
De même, pour certains services prenant en charge à la fois la requête de mots et la traduction de texte, tels que le dictionnaire Youdao, vous pouvez également définir son mode intelligent pour interroger uniquement les mots et définir le type sur dictionary
easydict://writeKeyValue?Youdao-IntelligentQueryTextType=2
Par défaut, le mode de requête intelligente n'est pas activé pour toutes les fenêtres. Les utilisateurs peuvent activer cette fonctionnalité manuellement :
easydict://writeKeyValue?IntelligentQueryMode-window1=1
window1 représente une mini-fenêtre, window2 représente une fenêtre flottante latérale, et une valeur de 0 signifie fermée et 1 signifie ouverte.
Note
Le mode de requête intelligente indique uniquement s'il faut activer le service de requête de manière intelligente. Les utilisateurs peuvent cliquer manuellement sur le bouton fléché sur le côté droit du service pour démarrer la requête à tout moment.
Prend en charge les requêtes pratiques dans l'application Easydict. Si vous rencontrez un mot inconnu dans la zone de saisie ou dans les résultats de la traduction, vous pouvez cliquer avec le bouton droit pour afficher le menu et sélectionner la première « Requête intégrée à l'application ».
Easydict prend en charge le schéma d'URL pour les requêtes rapides : easydict://query?text=xxx
, tel que easydict://query?text=good
.
Si le contenu de la requête xxx contient des caractères spéciaux, un codage URL est requis, par exemple easydict://query?text=good%20girl
.
Avertissement
L'ancienne version d'easydict://xxx peut causer des problèmes dans certains scénarios, il est donc recommandé d'utiliser le schéma d'URL complet : easydict://query?text=xxx
Vous devez d'abord installer PopClip, puis sélectionner le bloc de code suivant. PopClip
affichera "Installer l'extension Easydict", cliquez dessus.
-- #popclip-- nom : Easydict-- icône : iconify:ri:translate-- langue : applescripttell application "Easydict" lancement emplacement ouvert "easydict://query?text={popclip text}"end tell
Référence : https://www.popclip.app/dev/applescript-actions
La page des paramètres propose certaines modifications de paramètres, telles que la lecture automatique de la prononciation des mots après une requête, la modification des touches de raccourci de traduction, l'activation et la désactivation des services ou l'ajustement de l'ordre des services, etc.
Easydict dispose de 3 types de fenêtres et différents services peuvent être définis respectivement pour elles.
Mini fenêtre : affichée lorsque la souris dessine automatiquement un mot.
Fenêtre flottante latérale : affichée lorsque les touches de raccourci sont utilisées pour dessiner des mots et que les captures d'écran sont traduites.
Fenêtre principale : fermée par défaut, peut être activée dans les paramètres et affichée au démarrage du programme. (La fonction de la fenêtre principale sera améliorée ultérieurement)
Easydict dispose de touches de raccourci intégrées à l'application pour vous rendre plus efficace lors de son utilisation.
Contrairement aux touches de raccourci de traduction précédentes qui prennent effet globalement, les touches de raccourci suivantes ne prennent effet que lorsque la fenêtre Easydict est affichée au premier plan.
Enter
: Après avoir saisi le texte, appuyez sur Entrée pour lancer la requête.
Shift + Enter
: Entrez une nouvelle ligne.
Cmd + ,
: Ouvrez la page des paramètres.
Cmd + Q
: Quittez l'application.
Cmd + K
: Effacez la zone de saisie.
Cmd + Shift + K
: Effacez la zone de saisie et les résultats de la requête, ce qui équivaut à cliquer sur le bouton Effacer dans le coin inférieur droit de la zone de saisie.
Cmd + I
: Rassemblez les zones de saisie. (Entrée ciblée)
Cmd + Shift + C
: Copier le contenu de la requête.
Cmd + Shift + J
: Copiez le premier résultat de traduction.
Cmd + S
: Jouez la prononciation du texte de la requête. (Jouer le son)
Cmd + R
: requête à nouveau. (Réessayer la requête)
Cmd + T
: échanger les langues de traduction. (Basculer la langue de traduction)
Cmd + P
: Épinglez la fenêtre. (Épingler la fenêtre, appuyer à nouveau pour la détacher)
Cmd + W
: Fermez la fenêtre.
Cmd + Enter
: Le moteur de recherche Google est ouvert par défaut. Le contenu de la recherche est un texte saisi. L'effet est équivalent à un clic manuel sur l'icône de recherche du navigateur dans le coin supérieur droit.
Cmd + Shift + Enter
: Si l'application Dictionnaire européen est installée sur l'ordinateur, une icône Eudic s'affichera à gauche de l'icône Google et l'action consiste à ouvrir l'application Dictionnaire européen pour effectuer une requête.
Tant que la fenêtre de requête est réveillée, vous pouvez utiliser la touche de raccourci Cmd + ,
pour ouvrir la page des paramètres. Si vous masquez accidentellement l'icône de la barre de menus, vous pouvez la rouvrir de cette manière.
Si vous constatez que le résultat de la reconnaissance OCR est erroné, vous pouvez corriger le résultat OCR en cliquant sur le bouton « Reconnaître sous xx » pour spécifier la langue de reconnaissance.
immersive-translate : Une extension de traduction Web bilingue immersive utile.
pot-desktop : un logiciel de traduction de mots et d'OCR multiplateforme.
ext-saladict : Saladict, une extension de recherche de mots et de traduction de navigateur.
openai-translator : un plug-in de navigateur et une application de bureau multiplateforme basée sur l'API ChatGPT.
Raycast-Easydict : Un autre de mes projets open source, une version étendue Raycast d'Easydict.
La recherche de mots et la traduction de textes sont des fonctions très utiles dans la vie quotidienne. J'ai utilisé de nombreux logiciels de traduction de dictionnaires, mais je n'en étais pas satisfait jusqu'à ce que je rencontre Bob. Bob
est un excellent logiciel de traduction, mais ce n'est pas un logiciel open source et il ne propose plus de mises à jour gratuites des applications depuis sa mise en ligne sur l'Apple Store.
En tant que développeur et bénéficiaire de nombreux logiciels open source, j'ai pensé qu'il devrait y avoir une version open source gratuite de Bob dans le monde, j'ai donc développé Easydict. Maintenant, j'utilise beaucoup Easydict chaque jour. Je l'aime beaucoup et j'espère que davantage de personnes pourront le comprendre et l'utiliser.
L'Open Source rend le monde meilleur.
Si ce projet vous intéresse, nous sommes plus que bienvenus pour contribuer au projet et nous essaierons de vous aider autant que possible.
Actuellement, le projet comporte principalement deux branches : dev et main. Le code de la branche dev est généralement le plus récent et peut contenir certaines fonctionnalités en cours de développement. Le code de la branche principale est stable, et le code de la branche dev sera fusionné régulièrement.
De plus, nous prévoyons de migrer le projet d'objc vers Swift, et d'utiliser progressivement Swift pour écrire de nouveaux modules fonction à l'avenir, voir #194
Si vous pensez que le projet doit être amélioré ou si vous avez de nouvelles idées de fonctionnalités, veuillez soumettre un PR :
Si le PR doit corriger un bug ou implémenter une fonctionnalité pour un problème existant, veuillez le soumettre à la branche de développement.
Si le PR concerne une nouvelle fonction ou implique des changements majeurs tels que l'interface utilisateur, il est recommandé d'ouvrir un problème pour en discuter en premier afin d'éviter la duplication ou le conflit de fonctions.
Ce projet a été inspiré par Saladict et Bob, et la version initiale a été développée sur la base de Bob (GPL-3.0). Easydict a apporté de nombreuses améliorations et optimisations au projet original, et de nombreuses fonctions et interfaces utilisateur sont basées sur Bob.
La fonction de capture d'écran est basée sur Capture-Screen-For-Multi-Screens-On-Mac d'isee15 et a été optimisée sur cette base.
La fonction de dessin de mots de la souris fait référence à PopClip.
Easydict est sous licence open source GPL-3.0 et est uniquement destiné à l'apprentissage et à la communication. Tout le monde peut obtenir le produit et le code source gratuitement. Si vous pensez que vos droits légaux ont été violés, veuillez contacter immédiatement l'auteur. Vous êtes libre d'utiliser le code source, mais vous devez inclure la licence appropriée et la mention de droit d'auteur. Soutien au parrainage
Easydict est un projet gratuit et open source à but non lucratif. Il est actuellement principalement développé et maintenu par l'auteur. Si vous aimez ce projet et pensez qu'il vous est utile, vous pouvez envisager de le parrainer et de le soutenir. et laisse aller plus loin.
Si la production d'électricité est suffisante pour couvrir les frais annuels de 99 $ d'Apple, j'enregistrerai un compte de développeur pour résoudre le problème de signature de l'application afin que davantage de personnes puissent utiliser Easydict de manière pratique.