web-dev-qa-db-fra.com

Comment surmonter la politique du réseau (le code de traduction de Google refuse de travailler à partir d'une région spécifique)

Selon le FAQ je ne suis pas sûr de pouvoir poser ma question ou de la fermer, ou devrais-je la poster dans le méta ou même en blâmer quelqu'un? le vote négatif. Cependant, c’est un problème qui m’embête depuis le début des ennuis. Laisse-moi expliquer.

J'ai ceci Site Web . Il utilise l'API Google Translate (impossible d'afficher le lien, ne s'ouvre pas à partir de cette région) avec le code suivant.

<meta name="google-translate-customization" content="9f841e7780177523-3214ceb76f765f38-gc38c6fe6f9d06436-c"></meta>

<script type="text/javascript">
function googleTranslateElementInit()
{
new google.translate.TranslateElement({pageLanguage: 'en'}, 'google_translate_element');
}
</script>
<script type="text/javascript" src="http://translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>

Le problème est depuis this , il a juste cessé de fonctionner. Sur le site, vous pouvez voir que je devais supprimer ce qui précède ici , ici , et ici en le laissant ici , ici , ici et ici . En effet, le site Web "refuse" de charger du tout les pages comportant le code (c'est-à-dire, à partir de cette région .)

Si j'utilise Firefox Stealthy Plugin et que j'ouvre le site dans Firefox, cela fonctionne comme un charme, sans aucun problème. Mais avec Google Chrome, Apple Safari et Opera navigateur Web, le site ne se charge pas/ne s'ouvre pas du tout à cause de la traduction Google. (Je le sais parce que si je supprime le code de traduction Google, le site fonctionne/se charge correctement)

C'était une chose de programmer pour "la compatibilité entre navigateurs" et une autre de programmer pour "la compatibilité entre régions".

Que puis-je faire pour m'assurer que le site fonctionne de n'importe où? Est-ce que je supprime complètement le code de traduction de Google et que je dois simplement me passer de la fonctionnalité supplémentaire ou est-ce que je cherche des alternatives comme this ou selon this ?

5
Jawad

Il se peut que votre fournisseur d’accès bloque l’API de traduction de Google, comme le font certains FAI pakistanais bloquant les applications Google . Vous ne pouvez rien faire d'autre que trouver un proxy pour passer vos requêtes, mais si translate.google.com fonctionne, essayez ce lien, et voyez si vous pouvez charger votre page dans l'URL de traduction Google, comme suit:

http://translate.google.com/translate?hl=ur&sl=fr&u=http://www.pufs.org/fish.html

Si cela se charge dans tous les navigateurs, vous pourrez toujours utiliser la traduction via une réécriture Apache telle que:

RewriteRule ^(.*)-ur$ http://www.google.com/translate_c?hl=ur&sl=en&u=http://www.pufs.org/$1 [R=302,NC]

où une URL normale sera l'anglais et toute URL se terminant par -ur sera l'ourdou (ou utilisera un code hl = lang différent si vous voulez une traduction différente) comme

Anglais http://www.pufs.org/fish.html

Ourdou: http://www.pufs.org/fish.html-ur

une fois sur le site traduit, vous ne devriez plus avoir besoin de -ur dans vos urls, car les liens doivent rester dans le contexte du cadre de traduction de Google. J'espère que cela t'aides!

1
WebChemist