Bonjour à tous,
J'ai suivi le petit [url=http://www.grafikart.fr/tutoriels/php/internationaliser-site-gettext-104]tutoriel de Grafikart[/url] sur l'internationalisation de notre site. Tous se passe (plus ou moins) bien, j'ai aucune erreur dans mon php, mes traductions sont bien... mais la traduction n'apparait pas quand je rajoute mon petit ?lang=en_US après mon url. C'est assez embêtant en fait ^^
Je partage mon code (et puis comme je suis un fou l'url du site aussi : [url=http://frizz.olympe.in/commingsoon/]Comming soon[/url]) :
[b]INDEX.PHP[/b]
[code]<?php ini_set('display_errors', 1); require "localization.php"; ?>
<!-- HTML-->
<html>
<head>
<meta charset="utf-8" />
<link rel="stylesheet" href="css/grid.css" />
<link rel="stylesheet" href="css/style.css" />
<title>COMMING SOON</title>
</head>
<body>
<div class="container_12">
<div class="grid_2">
</div>
<div class="grid8">
<center>
<div class="box">
<div class="ttl">Coming Soon</div>
<div class="msg"> <?php echo ("Ce projet n'est pas tout à fait prêt, entrer votre Email ci-dessous et nous vous avertirons lorsque nous serons prêts, vous pouvez nous suivre sur"); ?> <a href="http://twitter.com" style="color:#88c6ff;">twitter</a></div>
<div class="mail"><input type="email" placeholder="<?php echo ("Entrer votre Email") ; ?>" class="input" maxlength="34"/><input type="submit" value="Subscribe" ></div>
<div class="msg2"><?php echo ("Nous n'allons ni vendre ni louer votre adresse e-mail"); ?></div>
</div>
<div class="copy">
<img src="img/twitter.png" width="31px" height="24px">
<p>© 2012</p>
</div>
</center>
</div>
<div class="grid_2">
</div>
</body>
</html>[/code]
[b]LOCALIZATION.PHP[/b]
[code]<?
// define constants
define('PROJECT_DIR', realpath('./'));
define('LOCALE_DIR', PROJECT_DIR .'/locale');
define('DEFAULT_LOCALE', 'fr_FR');
require_once('lib/gettext/gettext.inc');
$supported_locales = array('en_US', 'fr_FR');
$encoding = 'UTF-8';
$locale = (isset($_GET['lang']))? $_GET['lang'] : DEFAULT_LOCALE;
// gettext setup
T_setlocale(LC_MESSAGES, $locale);
// Set the text domain as 'messages'
$domain = 'traduc.po';
bindtextdomain($domain, LOCALE_DIR);
// bind_textdomain_codeset is supported only in PHP 4.2.0+
if (function_exists('bind_textdomain_codeset'))
bind_textdomain_codeset($domain, $encoding);
textdomain($domain);
header("Content-type: text/html; charset=$encoding");
?>[/code]
[b]TRADUC.PO[/b] (généré grace à Poedit sur Mac)
[code]msgid ""
msgstr ""
"Project-Id-Version: traduc\n"
"POT-Creation-Date: 2012-11-10 15:49+0100\n"
"PO-Revision-Date: 2012-11-10 15:49+0100\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 1.5.4\n"
"X-Poedit-KeywordsList: _;gettext;gettext_noop\n"
"X-Poedit-Basepath: .\n"
"X-Poedit-SourceCharset: UTF-8\n"
"X-Poedit-SearchPath-0: /Users/valentin/Documents/Valentin/MAMP/commingsoon\n"
msgid ""
"Ce projet n'est pas tout à fait prêt, entrer votre Email ci-dessous et nous "
"vous avertirons lorsque nous serons prêts, vous pouvez nous suivre sur"
msgstr ""
"This project is not quite ready yet enter your email below and we’ll notify "
"you when we’re ready you can follow us on"
msgid "Entrer votre Email"
msgstr "Enter your Email"
msgid "Nous n'allons ni vendre ni louer votre adresse e-mail"
msgstr "We will not sell/ rent your email address"
[/code]
Voilà je ne vois pas d'ou peu venir ma faute/maladresse. Merci d'avance pour vos super réponses !
Astor