HomeProductsDownloadOrderSupportSearch
  
 
 Myriad Blog 1.3.0 Thursday, Mar 28th, 2024 at 09:18am 

Wednesday, Jun 3rd, 2009 at 05:20pm
Traduction Google et décodage

 
Quelques personnes se sont plaintes de ne plus pouvoir, depuis quelque temps, traduire les pages de notre forum à l'aide de l'outil de traduction de sites en ligne de Google.
 
Nous avons donc cherché d'où le problème pouvait venir, et il semble être dû à une erreur de programmation de l'équipe Google.
 
En effet, voila comment les choses se passent, techniquement :
L'utilisateur tape (ou colle) une adresse de page Web dans le champ "Traduire la page suivante" des   Outils linguistiques Google.
Le navigateur encode cette adresse, en transformant les caractères potentiellement perturbateurs (signes de ponctuation, slashes, etc) en un "%" suivi de leur valeur hexadécimale, et envoie le résultat en paramètre au script de traduction de Google.
 
Ce script de traduction est alors censé décoder le paramètre, accéder à la page en question et en traduire le contenu.
C'est ce décodage qui a un problème. Si vous vous baladez sur notre forum, vous verrez apparaître dans la barre d'adresse des caractères ";" qui servent de séparateur.
Ces points-virgules sont mal gérés par Google. Le navigateur les transforme en "%3B", et le programme de traduction de Google oublie de les décoder en ";" pour accéder à la page.
 
Ce sont donc toutes les pages Web dont l'adresse contient un point-virgule qui ne peuvent pas être traduites.  
 
Nous avons essayé de contacter quelqu'un chez Google, sans succès.  
 
Plus une entreprise est importante, et plus elle a d'employés. Et, bizarrement, plus elle a d'employés, et moins il est facile d'entrer en contact avec l'un d'entre eux.
by Olivier Guillion
Comments

Comment from Robin Walker Wednesday, Jun 3rd, 2009 at 07:14pm
Maybe not a Google problem?
Is it possible that this problem is not a Google problem, but instead a problem with the Myriad-online web server?
 
The %xx coding (where xx are two hexadecimal digits) is a standard part of the HTTP specification for encoding URLs.
 
If a web server encounters %xx in a URL string, it is supposed to decode the %xx into a character before parsing the URL string.
 
Or have I misunderstood the problem?
 
Regards...

Comment from Sylvain Machefert Wednesday, Jun 3rd, 2009 at 09:14pm
c'est pas google
J'ai testé sur mon site, une page avec un ;
Aucun soucis, Google l'a traduit, c'est votre serveur, plus précisément Apache.
 
Quand j'avais bataillé avec des scripts php devant gérer l'UTF8, j'avais constaté que suivant si le serveur était sur Windows, Linux, en version Apache 1.x ou 2.x les comportements étaient différents ! Des beaux casse-tête !

Comment from Olivier Guillion Thursday, Jun 4th, 2009 at 10:27am
Re: Traduction Google et décodage
A Sylvain:  
 
Peux-tu me donner une adresse avec des ';' sur ton site? As-tu vérifié que les paramètres étaient corrects?
 
To Robin and Sylvain :
 
Using a %xx to replace a character is a way to include any symbol in a server-side script parameter without confusing the parsing.
 
Please consider this URL:
http://myxyztwebsite.com/myscript?a=x1;b=y2;c=z3
 
After the URL being parsed by the script, parameters will be:
a: "x1"
b: "y2"
c : "z3"
 
Now the same URL called by the Google translator:
http://myxyztwebsite.com/myscript?a=x1%3Bb=y2%3Bc=z3
After the URL being parsed by the script, parameters will be:
a: "x1;b=y2;c=z3"
 
because the %xx is precisely designed for this purpose: being able to include in a parameter value any character that could trouble the parsing.
 
This cannot be due to the kind of server, or the script that processes these characters. If the ";" are not sent unencoded, it can't work well.
 
This is not the only issue in Google translate about such character encoding. Please try to translate a page that contains script parameters, with ? and &.
Contrarily to ";" these characters seem to be well managed by Google.
 
However, if you ckick "Display original page" on top, the "&" in the URL are converted to "& amp;".
 
Please do the test with any Google web search result for instance. Displaying the original page will result in all parameters lost.  
 
Example:
The page:
http://www.google.com/search?hl=en&q=test&btnG=Google+Search& ;aq=f&oq=&aqi=
gives results of a search.
If you translate it (for instance, from English to French) then click "View original Web page", you get the Google front page instead of the search results.


Most recent first
Oldest first

Top of page
Legal information Cookies Last update:  (c) Myriad