Se imagina que, con solamente seleccionar un texto en inglés (en cualquier programa) y presionar una combinación de teclas (O dos clic de ratón, como prefiera) se traduzca en Google Translate?? ¿¿Se imagina que eso no tome recursos del ordenador porque no es ningún proceso en memoria, ni ejecutándose continuamente?? ¿¿Se imagina bajarlo ya preparado o haciéndolo usted mismo desde cero?? Pues si le está costando imaginárselo es que no ha leído aún el artículo “COMO CREAR UN SERVICIO DE TRADUCCION EN MAC” que hace no mucho tiempo he publicado y cuya nueva versión comenzaré a explicar a continuación.
Hace un par de días, uno de los lectores del Blog (Micropark) me comentaba que estaría bien que también se le pudiesen enviar direcciones WEB al traductor creado en el artículo antes mencionado para que se tradujesen como WEB completas. Como no era algo muy complejo, me puse a hacerlo y este es el resultado:
En este artículo no me pararé a explicar cada uno de los pasos y los detalles del porqué se hacen las cosas, ya que lo explico todo, paso por paso, en el ANTERIOR ARTÍCULO.
Ciertamente, Micropark tenía razón, si se seleccionaba un texto la traducción funcionaba perfectamente pero si seleccionábamos una dirección WEB el servicio se limitaba a traducirla como si se tratase de un texto normal, es decir, realizaba una traducción de la propia dirección y no del contenido.
La propia página del traductor de Google hace su distinción del texto que introducimos en ella para saber si se trata de un enlace o no, pero como en nuestro caso ya le enviamos una dirección concreta, la función de detección de enlaces de google no nos sirve. Teniendo esto en cuenta está claro el siguiente paso lógico que debemos de dar:
Tenemos que modificar el Servicio, o más bien el script del flujo de trabajo del automator, para que sea nuestro propio script el que distinga si se trata de una dirección WEB o de un texto normal para lo que nos basaremos en 3 reglas muy simples:
- Regla 1: Si el texto comienza por http, es una WEB
- Regla 2: Si comienza por www. también es una WEB
- Regla 3: Si no es ninguna de las anteriores es un texto normal.
Si se cumple alguna de las 2 primeras, formaremos la dirección a enviar al navegador WEB de la manera que el traductor de Google forma la URL cuando se trata de una WEB a traducir. En cambio, si es la regla 3 la que se cumple, enviamos la dirección tal y como lo hacíamos anteriormente (en la 1era versión del Script).
Así que el flujo de trabajo de automator queda exactamente igual salvo por el Script, que será así:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | on run {input} set input to {input} as text set LaDirecc to "" set LaDireccCompleta to CompruebaLinks(input, LaDirecc) tell application "Safari" activate set the URL of (make new document) to LaDireccCompleta end tell end run on CompruebaLinks(input, LaDirecc) set Comienzo to input as text set Comienzo to characters 1 thru 4 of input as text set EsEnlace to false if Comienzo is "www." then set EsEnlace to true if Comienzo is "http" then set EsEnlace to true if EsEnlace is true then set LaDirecc to "http://translate.google.es/translate?js=y&prev=_t&hl=es&ie=UTF-8&layout=1&eotf=1&u=" & input else set LaDirecc to "http://translate.google.com/#en|es|" & input end if set input to LaDirecc return LaDirecc end CompruebaLinks |
Si se fija un poco verá que para hacer la comprobación de las 3 reglas tampoco es necesario complicarse la vida mucho. De hecho, para hacerlo el único paso adicional realizado es comprobar los 4 primeros caracteres con los que comienza la cadena o texto a traducir. Como ya hemos dicho, si comienza por “http” o por “www.” (Fíjese que ambas cadenas son de 4 caracteres ya que en “www.” he incluido el punto) es una dirección web. Esto hace que si introducimos, por ejemplo: “archivoslog.es” no lo reconozca como dirección WEB pero realmente es la manera más simple de hacer la distinción ya que tratar de hacerlo por la terminación, además de complicar muchísimo el código del script debido a la gran cantidad de dominios existentes (.com, .es, .org, .ar, .eu…etc) seria relativamente sencillo encontrarnos fallos en textos con errores de sintaxis (Sin espacio tras el primer punto).
La diferencia más grande, además de la detección de enlaces, evidentemente, es que realizamos esta misma mediante una función llamada CompruebaLinks a la que le pasamos dos variables:
- input: Es la que contiene el texto seleccionado y que previamente convertimos al tipo “text” para poder manejarla a nuestro antojo.
- LaDirecc: Esta variable la enviamos vacía al proceso aunque es un pequeño truco para que la reconozca pero su principal misión es la de devolvernos el resultado de la función, es decir, la dirección final ya procesada para enviarla al navegador.
Y ya está, la verdad es que no ha sido complicado ¿verdad?. Ahora bien, como siempre, también está disponible el enlace de descarga del servicio ya completo al cual solamente le faltaría ubicarlo en la carpeta Servicios una vez descargado. Como último apunte, como en MAC hay 2 carpetas “servicios”, os detallo la diferencia de ubicar nuestra pequeña creación en una u otra:
Para que todos los usuarios del sistema tengan acceso al servicio (Requiere autenticación):
- Disco principal/sistema/Librería/Servicios
Si quiere tener el servicio solo para el usuairo actual, la ruta es:
- Home del usuario/Librería/Servicios
Si tiene dudas de como realizar alguno de los pasos: VER EL ARTÍCULO ANTERIOR (Versión 1)
Servicio de traducción (Versión 2) Google para Snow Leopard: DESCARGAR
.







Muy bueno. Funciona de maravilla, mira que buscaba algo por el estilo en terceros… Lo has bordado. Lo dicho, muchas gracias por estos grandes aportes, sigo tus feeds de RSS. Un saludo.
pdata… me gusta tu trabajo!
me gusta mucho el enfoque del artículo pasate por nuestro blog, hablamos sobre la misma temática.
It’s hard to seek out knowledgeable folks on this subject, but you sound like you know what you’re speaking about! Thanks
Thanks, suzuki fairings
It´s good to see people from other countries reading my blog, too.
Is it okay if I briefly mention that we are taking on extra webdesign?
I get exactly where your coming from, coupled with I entirely respect the write-up. No need to explain I will convey to most my friends with regards to it, pretty original. Bye for the moment.
Hmm is anyone else experiencing problems with the pictures on this blog loading? I’m trying to determine if its a problem on my end or if it’s the blog. Any responses would be greatly appreciated.
Awesome blog man~ Now.. just update it!!
We are a group of volunteers and opening a new scheme in our community. Your web site provided us with valuable information to perform on. You have done an impressive job and our entire community might be grateful to you.
I see your point, and I really love your post. For what its worth I also love the design of your website, incredibly creative. Bye for now.
I’m trying to say similar ideas like the op. Btw you have a js error while browsing with Chrome browser. This needs to be fixed in a way which every single one of us understand…
sealed as well as incorrect to order with regard to utilize nevertheless together with dollars very literally
Awesome site man, really! you gotta update to get more visitors like me!!
Informative, and yet intimidating.
Thanks as always for your clear and timely thoughts.
Cool blog post.Ive bookmarked it already. Cheers, Flora.
Wonderful submit. I discover a thing a lot more tough on different weblogs every day. It’ll usually be stimulating to examine content material from other writers and apply just a little one thing from their shop. I’d choose to utilize some using the subject material on my blog whether or not you really do not thoughts. Natually I’ll present you with a hyperlink on your own world wide web website. Thanks for sharing.
hello!,I like your writing very much! share we keep up a correspondence extra approximately your post on AOL? I need an expert in this house to solve my problem. Maybe that’s you! Taking a look forward to peer you… and not to mention I will bookmark your – Servicio de traducción en Snow Leopard v2 (Texto y Webs) | Archivos LOG 2.0 .