Vous n'êtes pas identifié(e).
Pages :: 1
Petite module sympa pour de la traduction intensive : microsoft translator
On installe le module :
On s’inscrit ici pour avoir 2M de caractères traduits gratuits par mois (un article moyen c'est 4-5k caractère, soit 400-500 articles traduits par mois, ça permet de voir venir ) : hxxps://datamarket.azure.com/developer/applications/
A noter les traductions sont d'assez bonne qualité, avec peu de modif c'est du tier 1, sans modif tier 2 large.
Le code maintenant pour l’exécuter :
Pousser un fichier dans la langue de votre choix (détection auto), le fichier sera traduit en français tout simplement
Pour les autres langages, modifier le "fr" sur la dernière ligne.
Enjoy !
#!/usr/bin/env python
import sys
from microsofttranslator import Translator
# By Automate for script-seo.fr
try:
text_file=sys.argv[1]
except:
print "Please enter a text file to translate"
sys.exit(2)
with open (text_file, "r") as myfile:
data=myfile.read()
translator = Translator('<Your Client ID>', '<Your Client Secret>')
print translator.translate(data.encode('utf_8'), "fr").encode('utf-8')
🔴 Hors ligne
Exemple de traduction :
These collars are usually harmless. The stimulus doesn't cause any injury to your pets. Actually you can regulate the power at all points. It can be high or low. It all depends on the alarm that you would like to give to your pet. Dogs cause a large amount of happiness to their owners but their misbehaviour could cause plenty of Problems. This is the time that training becomes required with the help of the canine training collar.
Ces colliers sont habituellement inoffensifs. Le stimulus ne cause pas un préjudice à vos animaux de compagnie. En fait, vous pouvez régler la puissance à tous les points. Il peut être élevé ou faible. Tout dépend de l'alarme que vous souhaitez donner à votre animal de compagnie. Chiens provoquent une grande quantité de bonheur à leurs propriétaires, mais leur mauvaise conduite pourrait causer beaucoup de problèmes. C'est le moment à la formation devient nécessaire avec l'aide du collier de dressage canin.
🔴 Hors ligne
Génial ça, merci pour le partage Automate !
~ There is no elevator to success. You have to take the stairs. ~
🔴 Hors ligne
Bravo Automate !!! Excellent partages tout tes scrips Pyton !
Il va falloir songer à te parrainer pour une Upgrade en LVL3
🔴 Hors ligne
@Gwen
Je n'ai pas testé mais...
La nouvelle API est ici : https://github.com/MicrosoftTranslator/Text-Translation-API-V3-Python
Le nouveau code est ici : https://github.com/MicrosoftTranslator/Text-Translation-API-V3-Python/blob/master/Translate.py
# This simple app uses the '/translate' resource to translate text from
# one language to another.
# This sample runs on Python 2.7.x and Python 3.x.
# You may need to install requests and uuid.
# Run: pip install requests uuid
import os, requests, uuid, json
# METTRE LA CLE API CI DESSOUS :
key_var_name = 'TRANSLATOR_TEXT_SUBSCRIPTION_KEY'
if not key_var_name in os.environ:
raise Exception('Please set/export the environment variable: {}'.format(key_var_name))
subscription_key = os.environ[key_var_name]
endpoint_var_name = 'TRANSLATOR_TEXT_ENDPOINT'
if not endpoint_var_name in os.environ:
raise Exception('Please set/export the environment variable: {}'.format(endpoint_var_name))
endpoint = os.environ[endpoint_var_name]
# If you encounter any issues with the base_url or path, make sure
# that you are using the latest endpoint: https://docs.microsoft.com/azure/cognitive-services/translator/reference/v3-0-translate
path = '/translate?api-version=3.0'
params = '&to=de&to=it'
constructed_url = endpoint + path + params
headers = {
'Ocp-Apim-Subscription-Key': subscription_key,
'Content-type': 'application/json',
'X-ClientTraceId': str(uuid.uuid4())
}
# You can pass more than one object in body.
# LE TEXTE A TRADUIRE SERA LA DEDANS
body = [{
'text' : 'Hello World!'
}]
request = requests.post(constructed_url, headers=headers, json=body)
response = request.json()
print(json.dumps(response, sort_keys=True, indent=4, separators=(',', ': ')))
Donc maintenant, le code utilise la librairie Requests plutôt qu'une librairie spéciale Microsoft.
Pour charger du texte on doit toujours pouvoir utiliser le code vu plus haut :
with open (text_file, "r") as myfile:
data=myfile.read()
Voilà, j'espère que cela peu dépanner...
🔴 Hors ligne
Sinon y'a moyen de scraper Deepl (les réponses http de l'API sur la page), en plus ça te fait ton spin en auto (le json de réponse pour chaque phrase contient plusieurs versions de la traduction).
J'ai pas encore testé perso par feignantise mais avec quelques proxies ça devrait le faire ?
🔴 Hors ligne
Sinon y'a moyen de scraper Deepl (les réponses http de l'API sur la page), en plus ça te fait ton spin en auto (le json de réponse pour chaque phrase contient plusieurs versions de la traduction).
J'ai pas encore testé perso par feignantise mais avec quelques proxies ça devrait le faire ?
J'avoue que c'est tentant, je tenterai à l'occasion. Mais jme dis qu'il ont du mettre des protections étant donné qu'ils vendent un abo pour accéder à leur API..
🔴 Hors ligne
Gaffe tout de même pour ce qui est du spin. Les alternatives pour chaque phrase dans le json sont assez proches, ça se joue souvent à un ngramme près.
Du coup attention au duplicate content si tu prends les choses telles quelles.
🔴 Hors ligne
Pages :: 1