Bonjour à tous,
Au cours des deux derniers mois, nous n'avons pas accordé beaucoup d'attention à ce projekt. Deepl, d'autre part, a développé des bibliothèques clients pour Python, .NET et Node.js (voir: API-DOC).
Puisqu'il y a une bibliothèque PHP dans les œuvres Github et que nos antécédents avec le maintien de notre bibliothèque n'ont pas été aussi bons qu'il aurait dû l'être, nous avons décidé d'abandonner cette bibliothèque et de passer en interne vers le fonctionnement officiel.
Pour préciser que nous ne continuerons pas à travailler sur ce référentiel, nous l'archiverons. Si quelqu'un de la communauté veut continuer notre travail, nous pouvons mettre une ligne dans le Readme pour pointer vers le nouveau référentiel entretenu.
Sinon, nous vous recommandons de consulter la nouvelle bibliothèque provenant de Deepl.
Merci à tous ceux qui ont contribué à ce projet au fil des ans.
Bibliothèque PHP simple pour API Deepl. Vous pouvez traduire une ou plusieurs chaînes de texte (jusqu'à 50) par demande.
???????????????????????????????????????????????????????????????
API Deepl officielle
Changelog
Utilisez Composer si vous souhaitez utiliser cette bibliothèque dans votre projet.
composer require babymarkt/deepl-php-libCréez une instance avec votre clé Auth:
use BabyMarkt DeepL DeepL ;
$ authKey = ' <AUTH KEY> ' ;
$ deepl = new DeepL ( $ authKey );Utilisez l'API Deepl Pro:
use BabyMarkt DeepL DeepL ;
$ authKey = ' <AUTH KEY> ' ;
$ deepl = new DeepL ( $ authKey , 2 , ' api-free.deepl.com ' );Traduire un texte:
$ translatedText = $ deepl -> translate ( ' Hallo Welt ' , ' de ' , ' en ' );
echo $ translatedText [ 0 ][ ' text ' ]. PHP_EOL ;Traduire plusieurs textes:
$ text = array (
' Hallo Welt ' ,
' Wie geht es dir ' ,
' Macht doch einfach mal '
);
$ translations = $ deepl -> translate ( $ text , ' de ' , ' en ' );
foreach ( $ translations as $ translation ) {
echo $ translation [ ' text ' ]. PHP_EOL ;
}| paramot | Description |
|---|---|
| $ texte | Texte à traduire. Seul le texte brut codé par UTF8 est pris en charge. Le paramètre peut être spécifié en tant que tableau et les traductions sont renvoyées dans le même ordre que celles-ci. Chacune des valeurs du tableau peut contenir plusieurs phrases. Jusqu'à 50 textes peuvent être envoyés pour traduction en une seule demande. |
| $ Sourcelang | Langue du texte à traduire. par défaut: "" (Deepl sera automatiquement détecté) |
| $ Targetlang | La langue dans laquelle le texte doit être traduit. par défaut: en |
| $ taghandling | Ensembles quels types de balises doivent être gérés. Options actuellement disponibles: "XML" |
| $ ignoretags | Tableau de balises XML qui indiquent que le texte ne traduit pas. par défaut: null |
| $ formalité | Définit si le texte traduit doit se pencher vers un langage formel ou informel. Cette fonctionnalité fonctionne actuellement pour toutes les langues cibles sauf "en" (anglais), "en-gb" (anglais britannique), "en-us" (American English), "es" (espagnol), "JA" (japonais) et "Zh" (chinois). Les options possibles sont: "par défaut" (par défaut) "Plus" - pour une langue plus formelle "moins" - pour une langue plus informelle |
| $ Splitssences | Tableau de balises XML qui provoquent toujours des divisions par défaut: null |
| $ Preserveformatting | Définit si le moteur de traduction doit respecter le formatage d'origine, même s'il corrigeait généralement certains aspects. Les valeurs possibles sont: "0" (par défaut) "1" Les aspects de formatage affectés par ce paramètre comprennent: Ponctuation au début et à la fin de la phrase Haute / minuscule au début de la phrase |
| $ non clignotant | Liste des balises XML séparées par des virgules qui ne divisaient jamais les phrases. par défaut: null |
| $ surselinetection | Voir: https://www.deepl.com/docs-api/handling-xml/outline-dection/ par défaut: 1 |
| $ SplittingTags | Array de balises XML qui provoquent toujours des divisions. par défaut: null |
Dans la version 2, nous avons supprimé la liste interne des langues prises en charge. Au lieu de cela, vous pouvez désormais obtenir un tableau avec les langages pris en charge directement de Deepl:
$ languagesArray = $ deepl -> languages ();
foreach ( $ languagesArray as $ language ) {
echo ' Name: ' . $ language [ ' name ' ]. ' Api-Shorthand: ' . $ language [ ' language ' ]. PHP_EOL ;
}Vous pouvez vérifier les langages source pris en charge:
$ sourceLanguagesArray = $ deepl -> languages ( ' source ' );
foreach ( $ sourceLanguagesArray as $ sourceLanguage ) {
echo ' Name: ' . $ sourceLanguage [ ' name ' ]. ' Api-shorthand: ' . $ sourceLanguage [ ' language ' ]. PHP_EOL ;
}Vérifiez les langues cibles prises en charge:
$ targetLanguagesArray = $ deepl -> languages ( ' target ' );
foreach ( $ targetLanguagesArray as $ targetLanguage ) {
echo ' Name: ' . $ targetLanguage [ ' name ' ]. ' Api-Shorthand: ' . $ targetLanguage [ ' language ' ]. PHP_EOL ;
}Vous pouvez maintenant vérifier combien vous traduisez, ainsi que la limite:
$ usageArray = $ deepl -> usage ();
echo ' You have used ' . $ usageArray [ ' character_count ' ]. ' of ' . $ usageArray [ ' character_limit ' ]. ' in the current billing period. ' . PHP_EOL ;Créer un glossaire
$ glossary = $ deepl -> createGlossary ( ' MyGlossary ' , [ ' Hallo ' => ' Hello ' ], ' de ' , ' en ' );| paramot | Description |
|---|---|
| $ nom | Nom de glossaire |
| $ entrées | Tableau des entrées |
| $ Sourcelanguage | La langue source dans laquelle la règle du glossaire s'applique |
| $ cibleLanguage | La langue cible dans laquelle la règle de glossaire s'applique |
Supprimer un glossaire
$ glossary = $ deepl -> deleteGlossary ( $ glossaryId );| paramot | Description |
|---|---|
| $ glossaryid | Glossaire uuid (réglé par Deepl lorsque le glossaire est créé) |
Lister les glossaires
use BabyMarkt DeepL Glossary ;
$ glossaries = $ deepl -> listGlossaries ();
foreach ( $ glossaries as $ glossary ) {
var_dump ( $ glossary );
}Obtenez le glossaire Meta Information: Date de création, est-ce que le glossaire est prêt à l'emploi ...
use BabyMarkt DeepL Glossary ;
$ glossaryInformation = $ deepl -> glossaryInformation ( $ glossaryId );
var_dump ( $ glossaryInformation );| paramot | Description |
|---|---|
| $ glossaryid | Glossaire uuid (réglé par Deepl lorsque le glossaire est créé) |
Obtenez des entrées de glossaire
$ entries = $ deepl -> glossaryEntries ( $ glossaryId );
foreach ( $ entries as $ sourceLangText => $ targetLangText ) {
echo $ sourceLangText . ' > ' . $ targetLangText ;
}| paramot | Description |
|---|---|
| $ glossaryid | Glossaire uuid (réglé par Deepl lorsque le glossaire est créé) |
Si vous avez besoin d'utiliser un proxy, vous pouvez configurer le client Curl sous-jacent pour en utiliser un. Vous pouvez également spécifier un délai d'expiration pour éviter d'attendre plusieurs minutes si Deepl est inaccessible
$ deepl -> setTimeout ( 10 ); //give up after 10 seconds
$ deepl -> setProxy ( ' http://corporate-proxy.com:3128 ' );
$ deepl -> setProxyCredentials ( ' username:password ' );Exécutez les tests PHP_CODESNIFFER:
composer csExécutez les tests PHPMD:
composer mdExécutez des tests de phpunit:
composer testExécutez tous les tests:
composer test:allLa licence MIT (MIT). Veuillez consulter le fichier de licence pour plus d'informations.