Bonjour,
Je fais un premier essai de localisation avec gettext().
J'obtiens le message non traduit au lieu de la traduction.
J'ai écrit le code sans être sûr de tout comprendre sur la définition des domaines et des répertoires.
Je me suis inspiré de la doc php, de ce site et de celui-ci.
Arborescence des répertoires:
testGettext>lang>fr-fr>LC_MESSAGES/test.mo
Voici mon code:et le fichier de traduction 'test.mo':
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22if (isset($_POST['valid'])) { $lang = $_POST['lang']; putenv("LC_ALL = $lang.UTF-8"); setlocale(LC_ALL, $lang); bindtextdomain("gettext.local", "lang"); textdomain("gettext.local"); } ?> <h2><?= gettext("Hello world"); ?></h2> <form method="post"> <label>Langue <select name='lang'> <option value='en-en'>en-en</option> <option value='en-us'>en-us</option> <option value='fr-fr'>fr-fr</option> </select> </label> <input type="submit" value="valider" name="valid"> </form>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 # N'importe quoi msgid "Hello world" msgstr "Bonjour le monde"
Partager