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.
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.
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.
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.
Avant de commencer, il te faudra ton équipement matelot, sinon, tu risques de pas faire long feu face aux têtes-grises.
Un éditeur de code
Une cible projet qui t'encourage à continuer
Une peinte d'hydromel de café
Une boussole montre précise
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]
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.
Voici le lien de téléchargement :
[hide]Tu peux télécharger le répertoire compressé en cliquant[/hide]
Bon courage Moussaillon !