Foros del Web » Programación para mayores de 30 ;) » Java »

Conocer el idioma de una página web

Estas en el tema de Conocer el idioma de una página web en el foro de Java en Foros del Web. Hola, como puedo saber en que idioma está la página web mediante JAVA. Un saludo....
  #1 (permalink)  
Antiguo 21/04/2006, 03:56
 
Fecha de Ingreso: enero-2006
Ubicación: Madrid
Mensajes: 148
Antigüedad: 18 años, 3 meses
Puntos: 0
Conocer el idioma de una página web

Hola, como puedo saber en que idioma está la página web mediante JAVA. Un saludo.
  #2 (permalink)  
Antiguo 21/04/2006, 08:37
Avatar de Miguel_e  
Fecha de Ingreso: junio-2004
Ubicación: Cuba
Mensajes: 108
Antigüedad: 19 años, 10 meses
Puntos: 0
Si pudieras explicarte mejor porque la verdad que no entiendo lo que quieres hacer

salu2
miguel_e
  #3 (permalink)  
Antiguo 21/04/2006, 15:39
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 6 meses
Puntos: 454
Hola:

Un posible algoritmo consiste en ver la probabilidad de que una letra siga a una pareja de letras. Me explico:

El articulo en ingles es "the" y se usa bastante. La probabilidad de que en un texto en inglés una "e" vaya detás de una "th" es alta.

En español esa probabilidad es casi nula. No conozco ninguna palabra en español que tenga "the" en ningún sitio.

El algoritmo consiste entonces en coger un texto largo en un idioma de interés y analizarlo, anotando en alguna estructura para cada dos letras cual es la tercera, ver cuantas veces aparece y obtener así una especie de tabla de probabilidades.

Luego, para reconocer el idioma de otro texto, hay que hacer el mismo cálculo y ver a cual se parece más de los que tienes almacenados.

Bueno, es sólo la idea.

Se bueno.
  #4 (permalink)  
Antiguo 25/04/2006, 02:16
 
Fecha de Ingreso: enero-2006
Ubicación: Madrid
Mensajes: 148
Antigüedad: 18 años, 3 meses
Puntos: 0
Cita:
Iniciado por Miguel_e
Si pudieras explicarte mejor porque la verdad que no entiendo lo que quieres hacer

salu2
miguel_e
Me refiero a que medieante alguna funcion o algo puedas sacar el lenguaje en que está escrita una determinada página web, algo así como el ACCEPT_LANGUAGE en ASP, que me diga el idioma en el que está escrito, por ejemplo que si chequeo http://www.forosdelweb.com que me diga que el idioma es el español. Lo necesito para tratar la página de una manera o de otra dependiendo de si es en español o en ingles, espero haberme explicado sino dimelo y lo vuelvo a intentar ? venga un saludo y gracias a los dos.
  #5 (permalink)  
Antiguo 25/04/2006, 05:48
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
ACCEPT_LANGUAGE es una cabecera HTTP que envian los servidores web, desde Java tambien debes ser capaz de acceder a ella accediendo a los valores de las cabeceras HTTP al leer la URL.

De todas formas, otra cosa es que la pagina realmente este en el idioma en el que dice el servidor web en su cabecera, ya que muchas veces esta mal configurado o la pagina no lo indica o lo indica mal. Pero bueno, algo es algo.
  #6 (permalink)  
Antiguo 26/04/2006, 01:49
 
Fecha de Ingreso: enero-2006
Ubicación: Madrid
Mensajes: 148
Antigüedad: 18 años, 3 meses
Puntos: 0
ya se que es una cabecera HTTP, lo que quiero saber es como se accede a ella a traves de Java, cosa que ya sabia hacer a traves de ASP.
  #7 (permalink)  
Antiguo 26/04/2006, 01:52
 
Fecha de Ingreso: noviembre-2005
Mensajes: 37
Antigüedad: 18 años, 5 meses
Puntos: 0
existen algunas funciones que te captan el idioma, busca en desarrolloweb.com o derivados, pero yo creo haberlo visto ahi...
  #8 (permalink)  
Antiguo 26/04/2006, 02:43
 
Fecha de Ingreso: marzo-2006
Mensajes: 37
Antigüedad: 18 años, 1 mes
Puntos: 0
Yo creo que si prebas con algun metodo de request y response podras saber el idioma de la pagina, ahoramismo no me acuerdo cual y no estoy en el ordenador de trabajo,pero luego sipuedo lopongo por aqui,pero mira por ay esos metodos.
  #9 (permalink)  
Antiguo 26/04/2006, 06:48
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Cita:
Iniciado por kalandas
ya se que es una cabecera HTTP, lo que quiero saber es como se accede a ella a traves de Java, cosa que ya sabia hacer a traves de ASP.
Entonces la pregunta no habría sido mejor "¿Cómo puedo hacer para leer una Cabecera HTTP desde un servlet en Java?". Con preguntas claras y un poco de educación encontrarás más ayuda.

Saludos
  #10 (permalink)  
Antiguo 26/04/2006, 09:29
Avatar de dogduck  
Fecha de Ingreso: enero-2006
Ubicación: ¿Atlantida, Hesperides, Islas afortunadas?
Mensajes: 2.231
Antigüedad: 18 años, 3 meses
Puntos: 19
Cita:
http://www.programacion.com/java/tut...ervlets_jsp/5/
...
Leer Cabeceras de Solicitud desde Servlets
Leer cabeceras es muy sencillo, sólo llamamos al método getHeader de HttpServletRequest, que devuelve un String si se suministró la cebecera en esta petición, y null si no se suministró. Sin embargo, hay un par de cabeceras que se usan de forma tan común que tienen métodos de acceso especiales. El método getCookies devuelve el contenido de la cabecera Cookie, lo analiza y lo almacena en un array de objetos Cookie. Los métodos getAuthType y getRemoteUser dividen la cabecera Authorization en su componentes. Los métodos getDateHeader y getIntHeader leen la cabecera específica y la convierten a valores Date e int, respectivamente.

En vez de buscar una cabecera particular, podemos usar el getHeaderNames para obtener una Enumeration de todos los nombres de cabecera de esta petición particular.

Finalmente, además de buscar las cabeceras de petición, podemos obtener información sobre la propia línea de petición principal. El método getMethod devuelve el método de petición principal (normalmente GET o POST, pero son posibles cosas como HEAD, PUT, y DELETE). El método getRequestURI devuelve la URI (la parte de la URL que viene después del host y el puerto, pero antes de los datos del formulario). El getRequestProtocol devuelve la tercera parte de la línea de petición que generalmente es "HTTP/1.0" o "HTTP/1.1".
...
  #11 (permalink)  
Antiguo 26/04/2006, 11:47
 
Fecha de Ingreso: enero-2006
Ubicación: Madrid
Mensajes: 148
Antigüedad: 18 años, 3 meses
Puntos: 0
Cita:
Iniciado por GreenEyed
Entonces la pregunta no habría sido mejor "¿Cómo puedo hacer para leer una Cabecera HTTP desde un servlet en Java?". Con preguntas claras y un poco de educación encontrarás más ayuda.

Saludos
Perdona si la pregunta no ha sido clara, pero en ningún momento lo he dicho de malas, y he dado las gracias cuando me habeis contestado. Así que creo que eso te lo podrias haber ahorrado la verdad, pero gracias por postear aunque no sea para ayudar...

Cita:
Iniciado por Kalandas

Cita:
Originalmente publicado por Miguel_e
Si pudieras explicarte mejor porque la verdad que no entiendo lo que quieres hacer

salu2
miguel_e

Me refiero a que medieante alguna funcion o algo puedas sacar el lenguaje en que está escrita una determinada página web, algo así como el ACCEPT_LANGUAGE en ASP, que me diga el idioma en el que está escrito, por ejemplo que si chequeo http://www.forosdelweb.com que me diga que el idioma es el español. Lo necesito para tratar la página de una manera o de otra dependiendo de si es en español o en ingles, espero haberme explicado sino dimelo y lo vuelvo a intentar ? venga un saludo y gracias a los dos.
Bueno que si no querias contestarme me parece bien, al resto gracias por el interes, y a dogduck claro que me lo ha contestao, ahora mismo voy a probarlo. Venga un saludiño
  #12 (permalink)  
Antiguo 26/04/2006, 15:40
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Cita:
Iniciado por kalandas
ya se que es una cabecera HTTP, lo que quiero saber es como se accede a ella a traves de Java, cosa que ya sabia hacer a traves de ASP.
Si me explicas donde das las gracias por aquí, entonces lo entiendo. Quizá lo he entendido mal y entonces me disculpo pero a mi me ha parecido una contestación desagradable, teniendo en cuenta que he contestado a la pregunta que has hecho, no a la que querías hacer puesto que no la sabía.

El saludo y gracias a los dos es a los dos mensajes anteriores al mío y antes de que yo contestara.

Y no, no he contestado a tu pregunta pero si que intentaba ayudar por que de verdad, si haces las preguntas adecuadas y no respondes así cuando te responden a lo que preguntas y no a lo que en realidad quieres preguntar, encontrarás más ayuda. Hay que pensar que del otro lado del mensaje los que lo leemos no sabemos todo lo que ya sabe o ha probado el que hace la pregunta, así que cuanto más claro lo dejes más fácil es que alguien acierte con la respuesta.

Un saludo
  #13 (permalink)  
Antiguo 26/04/2006, 15:59
 
Fecha de Ingreso: enero-2006
Ubicación: Madrid
Mensajes: 148
Antigüedad: 18 años, 3 meses
Puntos: 0
Ya dije que lo sentia por no haber puesto bien el tema. Y ni mucho menos quise ser desagradable, es lo que tiene leer, no sabes en que tono te lo dicen... y si no di las gracias es porque se me piro y conteste rapidamente, si ves los mensajes que suelo dejar veras que casi siempre, si no lo hago es porque se me pira y no lo pongo, las doy.
Bueno el tema ya esta solucionado asi que ya se puede cerrar el hilo, muchas gracias a todos los que han participado por su inestimable ayuda, ciao, sin recorres, jeje.
  #14 (permalink)  
Antiguo 27/04/2006, 01:11
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Una cosa ahora que lo releo. Si no me equivoco el ACCEPT_LANGUAGE es una cabecera HTTP que envia el navegador para indicar las preferencias que tiene en cuestion de idiomas, así que no es algo que indique el servidor para decir en que idioma está una página (lo que escribí antes de que la envía el servidor es incorrecto, me confundí ). ¿Seguro que esa cabecera te ayudará para saber en que idioma está escrita una página?

Por lo que dicen aquí:
http://www.mozilla.org/projects/intl...Detection.html
ese no es un tema sencillo.

Un saludo
  #15 (permalink)  
Antiguo 27/04/2006, 01:43
 
Fecha de Ingreso: enero-2006
Ubicación: Madrid
Mensajes: 148
Antigüedad: 18 años, 3 meses
Puntos: 0
Hola GreenEyed, se que no es una tema sencillo, voy a probarlo esta mañana (si tengo tiempo, que voy muy pillao hoy), en cuanto lo tenga te cuento como va, pensaba que no me iba a costar demasiado...pero si es cierto lo que dices. En cuanto tenga resultados te lo digo, pero espero no tener demasiados problemas..venga un saludo hasta luego.
  #16 (permalink)  
Antiguo 27/04/2006, 04:14
 
Fecha de Ingreso: enero-2006
Ubicación: Madrid
Mensajes: 148
Antigüedad: 18 años, 3 meses
Puntos: 0
He estado probando el link que me dejo dogduck, y si que funciona lo del getHeader, y me da el Accept-Language, pero lo que no entiendo, es como hacer para que me lo de para distintas urls, para segun la url que trate me diga en que idioma esta. Si no me he explicado bien, decirmelo y os lo intento explicar mejor.
Un saludo.
  #17 (permalink)  
Antiguo 27/04/2006, 05:32
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
A ver si lo entiendo bien. ¿Tu quieres saber el idioma en que esta escrita una pagina en un servidor y lo estas intentando averiguar desde una pagina JSP/ASP/Servlet? La cabecera HTTP ACCEPT_LANGUAGE te devuelve los idiomas configurados en el navegador desde el que accedes a la pagina/servlet y no tiene nada que ver con la URL a la que tu accedas desde tu pagina. Es informacion sobre el navegador, no sobre la URL que tu quieres comprobar.

O quizá no lo he entendido. Pon el código de lo que intentas hacer a ver si lo vemos más claro.

Saludos
  #18 (permalink)  
Antiguo 28/04/2006, 01:32
 
Fecha de Ingreso: enero-2006
Ubicación: Madrid
Mensajes: 148
Antigüedad: 18 años, 3 meses
Puntos: 0
Si lo has entendido bien, entonces yo estaba equivocado en lo de saber el idioma con la cabecera ACCEPT_LANGUAGE, perdona. Entonces como puedo saberlo, hay alguna manera. Muchas gracias.

Saludos.
  #19 (permalink)  
Antiguo 23/08/2010, 15:27
 
Fecha de Ingreso: agosto-2010
Mensajes: 2
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Conocer el idioma de una página web

Yo necesitaba lo mismo y encontré este API que los puede ayudar, tirándole la URL les dice el idioma basándose en su contenido.

Lo bueno es que no tiene el problema de otros APIs que no detecta bien los sitios en chino.

la URL es [url]http://www.globalsoftworks.com/services/language_detector/[/url]

Espero que les sirva.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:24.