C’est un message populaire. SailorEudes 431 Posté(e) le 17 juillet 2019 C’est un message populaire. Partager Posté(e) le 17 juillet 2019 (modifié) Bien le bonjour jeune moussaillon, te voici arrivé sur mon premier tutoriel, qui, je le pense, pourrait t'apporter un bon petit coup de pouce pour débuter ton propre système de traduction automatique sur ton CMS, ton site, ou ton portfolio. Pour avoir accès à cette image, merci de vous connecter. Le Victoria renfermé dans sa cage aux trésors, un système dont les têtes grises ne connaissaient pas l'existence. Ce trésor, faisait partie des fondamentaux du développement de croisières de rêve. Les 5 matelots en connaissaient l'existence, mais pour éviter d'être obnubilés par ce trésor, ils décidèrent de faire comme s'il n'existait pas en se fendant la poire devant leur hydromel à deux francs six sous. La personne étant en possession de ce trésor, avait la possibilité de traduire sa croisière en toutes les langues impossibles et inimaginables, afin d'attirer toujours plus de curieux. La différence entre ce trésor, et notre langue, c'est que grâce à ce trésor, les moussaillons pouvaient se faire comprendre par des groupes de pirates afin de planifier des pillages sur les chaloupes ennemies. Pour avoir accès à cette image, merci de vous connecter. Ce trésor était en quelque sorte, la clé vers le monde. Grâce à lui, les pirates n'avaient plus besoin de se faire comprendre car les pirates étrangers les comprenaient au moindre oscillement de leur bouche. Si notre cher ami, Christophe Colomb avait trouvé ce trésor avant nous, il aurait été arrêté dans sa folie des grandeurs lorsqu'il découvrit le "Nouveau Monde" et ses habitants. Pour avoir accès à cette image, merci de vous connecter. Malheureusement ce trésor relève de la supercherie, surtout lorsqu'il s'agit de détecter la langue du pirate étranger. Oui, la traduction automatique que je vais te présenter se base sur l'IP du visiteur, elle n'est donc pas 100% fiable, surtout quand on sait que beaucoup de moussaillon se cache derrière un manteau pour éviter que l'on découvre leur identité. De plus, ce système se base sur un service proposé, il suffirait que ce service prenne fin, et tous les moussaillons n'arriveraient plus à se comprendre, et ça pourrait créer d'innombrables incohérences et provoquer, la guerre de nos chaloupes. Pour avoir accès à cette image, merci de vous connecter. Avant de commencer, il te faudra ton équipement matelot, sinon, tu risques de pas faire long feu face aux têtes-grises. Pour avoir accès à cette image, merci de vous connecter. Un éditeur de code Une cible projet qui t'encourage à continuer Pour avoir accès à cette image, merci de vous connecter. Pour avoir accès à cette image, merci de vous connecter. Une peinte d'hydromel de café Une boussole montre précise Pour avoir accès à cette image, merci de vous connecter. Pour avoir accès à cette image, merci de vous connecter. En bref... Pour commencer vas devoir concevoir une carte que tu appelleras "detecter-langue.php". Ensuite, tu vas concevoir un trésor que tu appelleras "langues" Puis, dans ce trésor tu créeras deux cartes que tu appelleras "fr.php" et "en.php" Et pour terminer, tu devras créer une carte que tu appelleras "test.php" 1. Si tu utilises un hébergeur, detecter-langue.php devra contenir : [hide] <?php $user_ip = getenv('REMOTE_ADDR'); $geo = unserialize(file_get_contents("http://www.geoplugin.net/php.gp?ip=$user_ip")); $pays = $geo["geoplugin_countryName"]; if($pays == "France") { require_once("langues/fr.php");; } else { require_once("langues/en.php"); } ?> [/hide] 1. Si tu utilises un serveur local, detecter-langue.php devra contenir : [hide] <?php $user_ip = file_get_contents("http://icanhazip.com"); $geo = unserialize(file_get_contents("http://www.geoplugin.net/php.gp?ip=$user_ip")); $pays = $geo["geoplugin_countryName"]; if($pays === "France") { require_once("langues/fr.php"); } else { require_once("langues/en.php"); } ?> [/hide] 2. Pas besoin de te faire un dessin, tu sais concevoir un trésor non ? 3. fr.php devra contenir [hide] <?php $aujourdhui = date("Y"); $lang['victoria_sos'] = "Mais ou est passé le Victoria ?"; $lang['victoria_date'] = "En cette année de ".$aujourdhui.", le Victoria n'est plus..."; ?> [/hide] en.php devra contenir [hide] <?php $aujourdhui = date("Y"); $lang['victoria_sos'] = "Where the hell is Victoria?"; $lang['victoria_date'] = "In this year of ".$aujourdhui.", Victoria is no longer..."; ?> [/hide] 4. test.php devra appeler le trésor "detecter-langue.php" qui appellera à son tour les cartes "en.php" et "fr.php" [hide] <?php require_once('detecter-langue.php'); ?> <!DOCTYPE html> <html> <head> <title>Victoria - <?php echo $lang['victoria_sos']; ?></title> </head> <body> <center><?php echo $lang['victoria_date']; ?></center> </body> </html> [/hide] Pour avoir accès à cette image, merci de vous connecter. Pas besoin de te faire une carte au trésor, le code est assez compréhensible en mon sens, mais je vais essayer de t'expliquer en détail et étape par étape en répondant aux possibles questions que tu aurais potentiellement posées dans les commentaires de ce sujet. 1) Detecter-Langue.php Concrètement, ce code va chercher des informations sur GeoPlugin en fonction de lip qu'il aura précédemment renseigné grâce à sa détection par IP. Une fois qu'il a recueilli ces informations, il va chercher comme paramètre, auprès de GeoPlugin le nom du pays, et si le nom du pays est égal au pays du pirate actuel, alors, le site retournera la langue correspondant au pays. Dans ce trésor, j'ai simplifié les choses, mais tu peux les améliorer, dans l'état actuel des choses, le code met la chaloupe en français si le visiteur vient de France, sinon, elle la met automatiquement en Anglais. Avec un peu de réflexion, tu peux largement améliorer ce code, si tu es un vrai moussaillon ! 2) en.php & fr.php Ils retournent tous deux une valeur différente pour une variable égale. Concrètement, si la chaloupe appelle "victoria_sos", alors, en fonction de la langue définie automatiquement précédemment, la valeur rattachée sera affichée. 3) test.php Se contente seulement de récupérer les valeurs des variables et de les afficher. Pour avoir accès à cette image, merci de vous connecter. Voici le lien de téléchargement : [hide]Tu peux télécharger le répertoire compressé en cliquant[/hide] Bon courage Moussaillon ! Modifié le 5 août 2019 par Eudes 6 Lien à poster Partager sur d’autres sites Plus d'options de partage...
Nagamasa 27 Posté(e) le 17 juillet 2019 Partager Posté(e) le 17 juillet 2019 J'ai testé, il ne fonctionne pas. Je suis sous une IP française et il m'affiche en anglais Alors que "GeoPlugin" me détecte bien en France (voir screen) Pour avoir accès à cette image, merci de vous connecter. Souvent la moitié de la réponse se trouve dans une question bien posée. Lien à poster Partager sur d’autres sites Plus d'options de partage...
SailorEudes 431 Posté(e) le 17 juillet 2019 Auteur Partager Posté(e) le 17 juillet 2019 il y a 3 minutes, らㄈѺ尺ㄕノѺ a dit : J'ai testé, il ne fonctionne pas. Je suis sous une IP française et il m'affiche en anglais Alors que "GeoPlugin" me détecte bien en France (voir screen) Pour avoir accès à cette image, merci de vous connecter. Étonnant moussaillon, j'ai moi-même testé avant de publier, et ça fonctionnait. Je vais retenter, merci pour ton intervention ! Lien à poster Partager sur d’autres sites Plus d'options de partage...
SailorEudes 431 Posté(e) le 17 juillet 2019 Auteur Partager Posté(e) le 17 juillet 2019 il y a 6 minutes, らㄈѺ尺ㄕノѺ a dit : J'ai testé, il ne fonctionne pas. Je suis sous une IP française et il m'affiche en anglais Alors que "GeoPlugin" me détecte bien en France (voir screen) Pour avoir accès à cette image, merci de vous connecter. Très étrange, es-tu sûr d'avoir suivi correctement le tutoriel ? Je viens de retester et ça fonctionne de mon côté... Aurais-tu un VPN activé ? Lien à poster Partager sur d’autres sites Plus d'options de partage...
Nagamasa 27 Posté(e) le 17 juillet 2019 Partager Posté(e) le 17 juillet 2019 à l’instant, Eudes a dit : Très étrange, es-tu sûr d'avoir suivi correctement le tutoriel ? Je viens de retester et ça fonctionne de mon côté... Aurais-tu un VPN activé ? Aucun VPN activé et j'ai suivi correctement le tuto (il n'est pas très compliqué) et quand j'inverse les fichiers fr et en il m'affiche en français ^^ Souvent la moitié de la réponse se trouve dans une question bien posée. Lien à poster Partager sur d’autres sites Plus d'options de partage...
SailorEudes 431 Posté(e) le 17 juillet 2019 Auteur Partager Posté(e) le 17 juillet 2019 (modifié) il y a une heure, らㄈѺ尺ㄕノѺ a dit : Aucun VPN activé et j'ai suivi correctement le tuto (il n'est pas très compliqué) et quand j'inverse les fichiers fr et en il m'affiche en français ^^ Voici une preuve que ça fonctionne bien: Pour avoir accès à cette image, merci de vous connecter. Pour avoir accès à cette image, merci de vous connecter. Je reprends, tu mets ce code dans "test.php" : <?php require_once('detecter-langue.php'); ?> <!DOCTYPE html> <html> <head> <title>Victoria - <?php echo $lang['victoria_sos']; ?></title> </head> <body> <center><?php echo $lang['victoria_date']; ?></center> </body> </html> Tu mets ce code dans "detecter-langue.php" (version domaine public): <?php $user_ip = getenv('REMOTE_ADDR'); $geo = unserialize(file_get_contents("http://www.geoplugin.net/php.gp?ip=$user_ip")); $pays = $geo["geoplugin_countryName"]; if($pays == "France") { require_once("langues/fr.php");; } else { require_once("langues/en.php"); } ?> Tu mets ce code dans "detecter-langue.php" (version serveur local): <?php $user_ip = file_get_contents("http://icanhazip.com"); $geo = unserialize(file_get_contents("http://www.geoplugin.net/php.gp?ip=$user_ip")); $pays = $geo["geoplugin_countryName"]; if($pays === "France") { require_once("langues/fr.php"); } else { require_once("langues/en.php"); } ?> Tu créé un dossier langue avec à l'intérieur les fichiers "fr.php" et "en.php" Modifié le 17 juillet 2019 par Eudes Lien à poster Partager sur d’autres sites Plus d'options de partage...
Nagamasa 27 Posté(e) le 17 juillet 2019 Partager Posté(e) le 17 juillet 2019 J'ai copié collé tes fichiers. GeoPlugin me détecte bien en France comme t'as pu le voir sur le screen que j'ai mis Je n'ai aucun VPN d'actif Souvent la moitié de la réponse se trouve dans une question bien posée. Lien à poster Partager sur d’autres sites Plus d'options de partage...
SailorEudes 431 Posté(e) le 17 juillet 2019 Auteur Partager Posté(e) le 17 juillet 2019 (modifié) il y a 2 minutes, らㄈѺ尺ㄕノѺ a dit : J'ai copié collé tes fichiers. GeoPlugin me détecte bien en France comme t'as pu le voir sur le screen que j'ai mis Je n'ai aucun VPN d'actif Alors ce n'est pas logique, car ce n'est que du texte, à partir du moment où ton pays est égal à la France, le fichier prend bêtement le fichier concerné par "France"... Il y a une misconfiguration quelque part.... Modifié le 17 juillet 2019 par Eudes Lien à poster Partager sur d’autres sites Plus d'options de partage...
SailorEudes 431 Posté(e) le 17 juillet 2019 Auteur Partager Posté(e) le 17 juillet 2019 il y a 3 minutes, らㄈѺ尺ㄕノѺ a dit : J'ai copié collé tes fichiers. GeoPlugin me détecte bien en France comme t'as pu le voir sur le screen que j'ai mis Je n'ai aucun VPN d'actif Essaie de remplacer : <?php if($pays == "France") { require_once("langues/fr.php");; } else { require_once("langues/en.php"); } ?> Par : <?php if($pays === "France") { require_once("langues/fr.php");; } else { require_once("langues/en.php"); } ?> Lien à poster Partager sur d’autres sites Plus d'options de partage...
Nagamasa 27 Posté(e) le 17 juillet 2019 Partager Posté(e) le 17 juillet 2019 il y a 2 minutes, Eudes a dit : Alors ce n'est pas logique, car ce n'est que du texte, à partir du moment où ton pays est égal à la France, le fichier prend bêtement le fichier concerné par "France"... Il y a une misconfiguration quelque part.... On verra si d'autres personnes ont ce soucis sinon ça doit sûrement venir d'une mauvaise config de ma part Souvent la moitié de la réponse se trouve dans une question bien posée. Lien à poster Partager sur d’autres sites Plus d'options de partage...
Nagamasa 27 Posté(e) le 17 juillet 2019 Partager Posté(e) le 17 juillet 2019 J'ai trouvé le soucis, c'est que $user_ip me retourne ::1 Souvent la moitié de la réponse se trouve dans une question bien posée. Lien à poster Partager sur d’autres sites Plus d'options de partage...
SailorEudes 431 Posté(e) le 17 juillet 2019 Auteur Partager Posté(e) le 17 juillet 2019 (modifié) il y a 16 minutes, らㄈѺ尺ㄕノѺ a dit : J'ai trouvé le soucis, c'est que $user_ip me retourne ::1 Bien joué moussaillon, si <?php $user_ip = getenv('REMOTE_ADDR'); ?> Ne fonctionne pas, remplaces-le par : <?php $user_ip = $_SERVER['REMOTE_ADDR']; ?> En espérant que ça fonctionnera, n'hésite pas à me laisser un +1 si tu as aimé mon tutoriel moussaillon ! Modifié le 17 juillet 2019 par Eudes Lien à poster Partager sur d’autres sites Plus d'options de partage...
Nagamasa 27 Posté(e) le 17 juillet 2019 Partager Posté(e) le 17 juillet 2019 à l’instant, Eudes a dit : Bien joué moussaillon, si <?php $user_ip = getenv('REMOTE_ADDR'); ?> Ne fonctionne pas, remplaces-le par : <?php $user_ip = $_SERVER['REMOTE_ADDR']; ?> En espérant que ça fonctionnera, n'hésite pas à me laisse un +1 si tu as aimé mon tutoriel moussaillon ! Bien tenté sauf que j'ai essayé et ça me retourne toujours le même résultat Souvent la moitié de la réponse se trouve dans une question bien posée. Lien à poster Partager sur d’autres sites Plus d'options de partage...
SailorEudes 431 Posté(e) le 17 juillet 2019 Auteur Partager Posté(e) le 17 juillet 2019 il y a 3 minutes, らㄈѺ尺ㄕノѺ a dit : Bien tenté sauf que j'ai essayé et ça me retourne toujours le même résultat Ta version de PHP est donc inconnue au bataillon, parce-que cette fonction est la principale utilisée partout pour obtenir l'ip d'un visiteur ^^ Lien à poster Partager sur d’autres sites Plus d'options de partage...
Nagamasa 27 Posté(e) le 17 juillet 2019 Partager Posté(e) le 17 juillet 2019 il y a 1 minute, Eudes a dit : Ta version de PHP est donc inconnue au bataillon, parce-que cette fonction est la principale utilisée partout pour obtenir l'ip d'un visiteur ^^ Je suis sous WAMP en PHP 7.2.18 Souvent la moitié de la réponse se trouve dans une question bien posée. Lien à poster Partager sur d’autres sites Plus d'options de partage...
Nagamasa 27 Posté(e) le 17 juillet 2019 Partager Posté(e) le 17 juillet 2019 J'ai trouvé la solution, Pour ceux qui utilisent un serveur local faut remplacer le fichier detecter-langue.php par celui-ci: <?php $user_ip = file_get_contents("http://icanhazip.com"); $geo = unserialize(file_get_contents("http://www.geoplugin.net/php.gp?ip=$user_ip")); $pays = $geo["geoplugin_countryName"]; if($pays === "France") { require_once("langues/fr.php"); } else { require_once("langues/en.php"); } ?> Le changement s'effectue au niveau de la ligne $user_ip qui vous fait passer par un site qui récupère votre ip publique, le contenu de la page (votre adresse ip) est ensuite récupérée pour passer dans le plugin qui permet de savoir de quel pays vous venez ^^ Souvent la moitié de la réponse se trouve dans une question bien posée. Lien à poster Partager sur d’autres sites Plus d'options de partage...
SailorEudes 431 Posté(e) le 17 juillet 2019 Auteur Partager Posté(e) le 17 juillet 2019 (modifié) Réponse annulée Modifié le 17 juillet 2019 par Eudes Lien à poster Partager sur d’autres sites Plus d'options de partage...
Nagamasa 27 Posté(e) le 17 juillet 2019 Partager Posté(e) le 17 juillet 2019 Je te met quand même un +1 pour le tuto qui pourra servir pour divers projets (faire un site multi langue par exemple) N'oublie pas de mettre ma solution pour ceux qui sont en local pour éviter que le soucis ne se répète Souvent la moitié de la réponse se trouve dans une question bien posée. Lien à poster Partager sur d’autres sites Plus d'options de partage...
SailorEudes 431 Posté(e) le 17 juillet 2019 Auteur Partager Posté(e) le 17 juillet 2019 il y a 1 minute, らㄈѺ尺ㄕノѺ a dit : Je te met quand même un +1 pour le tuto qui pourra servir pour divers projets (faire un site multi langue par exemple) N'oublie pas de mettre ma solution pour ceux qui sont en local pour éviter que le soucis ne se répète Merci à toi moussaillon, c'est déjà fait pour l'ajout de ta solution ! Lien à poster Partager sur d’autres sites Plus d'options de partage...
Chems 1 Posté(e) le 28 juin 2020 Partager Posté(e) le 28 juin 2020 Merci pour ce tuto toujours utile ! Lien à poster Partager sur d’autres sites Plus d'options de partage...
8825809At 4 Posté(e) le 1 juillet 2020 Partager Posté(e) le 1 juillet 2020 merci Lien à poster Partager sur d’autres sites Plus d'options de partage...
Antoine0024 17 Posté(e) le 4 septembre 2020 Partager Posté(e) le 4 septembre 2020 Merci ! Lien à poster Partager sur d’autres sites Plus d'options de partage...
rrrrrr 0 Posté(e) le 6 janvier 2021 Partager Posté(e) le 6 janvier 2021 merci bg sa fait tous drole que inshare soit habbo dev j'ai perdu toutes mes source, sinon merci pour le post Lien à poster Partager sur d’autres sites Plus d'options de partage...
Messages recommandés
Créer un compte ou se connecter pour commenter
Vous devez être membre afin de pouvoir déposer un commentaire
Créer un compte
Créez un compte sur notre communauté. C’est facile !
Créer un nouveau compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant