Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Sign in to follow this  
pedrotuga

usar o tradutor do google na linha de comandos

Recommended Posts

pedrotuga

Hej hej allihop!

Isto sou um pouco estranho, mas é verdade: podem dirigir-se a mim em sueco que eu entendo  :cheesygrin:

Mas como ainda não domino a língua, há que ter o dicionário sempre à mão. Dado o massivo uso do dicionário que faço, escrevi este scriptzinho para procurar o significado de palavras no google. A ideia é optimizar o tempo de pesquisa. Uma pesquisa num dicionário físico demora muito tempo, a ferramenta de liguas do google é porreira mas é aborrecido ter que ir lá com o rato, clicar em duas dropboxes, fazer scroll down de uma lista enorme, e no fim ainda clicar em submit.

Esta é a forma mais rápida e prática de que me lembrei:

#!/usr/bin/python
import urllib, urllib2, sys

input_text = sys.argv[1]
urlencoded_text = urllib.urlencode({"text":input_text})

url = "http://translate.google.com/translate_a/t?client=t&%s&sl=pt&tl=sv" % urlencoded_text

opener = urllib2.build_opener()
opener.addheaders = [('User-agent', 'Mozilla/5.0')]
print opener.open(url).read()

coloquem este script numa pasta visivel pelo vosso ambiente da linha de comandos e depois é só chamar o script passando como argumento aquilo que querem traduzir. Para traduzir mais do que uma palavra introduzam uma expressão entre aspas

p@p-laptop:~/Desktop$ python tlate.py cobra
"orm"
p@p-laptop:~/Desktop$ python tlate.py "Quem tem medo de cobras?"
"Vem är rädd för ormar?"

Neste caso isto traduz de português para sueco, basta alterar o url para obter traduções entre quaiquer outras duas linguas suportadas pelo google translator.

Isto acabou por me demorar muito mais tempo doq ue eu estava à espera porque o raio do ngrep não me estava a capturar os pacotes em condições, pelo que me demorei toda a vida para descobrir para que endereço são feitos os pedidos ajax do google language tools.

Finalmente no python 2.6 a documentação começa a incluir exemplos. Mas o docs.python.org infelizmente ainda está a anos de luz de sites como o php.net ou como http://java.sun.com/reference/docs/

Share this post


Link to post
Share on other sites
skin

Fiquei com uma dúvida, porque é que usas dois:

#!/usr/bin/python

#!/usr/bin/python

em vez de apenas um: #!/usr/bin/python

Gostei do script :confused:


Our lives begin to end the day we become silent about things that matter - Martin Luther King

Share this post


Link to post
Share on other sites
pedrotuga

Fiquei com uma dúvida, porque é que usas dois:

#!/usr/bin/python

#!/usr/bin/python

em vez de apenas um: #!/usr/bin/python

Gostei do script :confused:

Enganei-me :S

Vou apagar um.

Share this post


Link to post
Share on other sites
djthyrax

Não precisas de usar aspas na consola se fizeres no código sys.argv[1:]


Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum!

Share this post


Link to post
Share on other sites
pedrotuga

Pois eu sei, inicialmente até tinha assim como estás a dizer. Mas não gosto muito, acho que fica muito atabalhoado e acredito que deve ser gerador de alguns problemas quando usado juntamente com o opt parser por exemplo.

Share this post


Link to post
Share on other sites
Hipnoted

Bem, acabaste de me dar uma ideia genial.

Acho que vou fazer um programinha destes em J2ME para andar comigo sempre no telemóvel...  :)

Depois sou capaz de postar na área de projectos. :)


"Nunca discutas com um idiota. Eles arrastam-te até ao seu nível e depois ganham-te em experiência"

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.