#1 08-09-2014 20:10

Brice
Inscription : 17-02-2010
Messages : 45
Site Web

Fichiers lang

Bonsoir Jonas,

Je poursuis la création de mon thème et me suis finalement dit que j'allais utiliser des fichiers de lang pour améliorer la portabilité (sait-on jamais).

Par contre, je ne comprends pas vraiment comment cela fonctionne :
- j'ai créé dans le répertoire de mon thème, le dossier locales/fr avec dedans un fichier default.php avec pour le moment seulement cela :

<?php
$lang = array_merge($lang, array(

));
?>

- la conf de GCweb est bien en "fr"
- j'ai essayé de suivre la page ici : http://jonas.tuxfamily.org/wiki/po2phparray dans la dernière partie mais sans succès (d'ailleurs il y a une erreur dans le code : diname au lieu de dirname)

$lang = array(); //Definition du tableau $lang
include dirname(__FILE__).'locales/'.$conf['lang'].'/default.php' ;
     // $conf['lang'] : langue de l'utilsateur
     // domaine.php :   fichier créer par po2phparray.py
 
function __($str,$comment='') {
    global $lang;
    if (isset($lang[$str]))
        return $lang[$str];
    else
        return $str;
}

la deuxième fonction est déjà définie.
- j'ai essayé d'utiliser

load_l10n("default");

mais sans succès :les chaînes sont toujours traduites depuis le template "default" je pense...

Comment procéder du coup, j'ai clairement zappé quelque chose...

Merci smile

Hors ligne

#2 09-09-2014 18:39

jonas
Administrator
Inscription : 25-06-2006
Messages : 729

Re : Fichiers lang

Salut

mais sans succès

Si tu n'as par réussit à utilisé xgettext et / ou po2phparray.py ça ne peut pas fonctionner wink

les chaînes sont toujours traduites depuis le template "default" je pense...

Oui, si le moteur ne trouve pas le fichier de langue du thème il prend celui du thème par défaut.
A noter que si tu n'as aucune nouvelles chaîne il est inutile de faire une traduction dédiée.

Si tu as de nouvelles chaînes je te conseil de copier le dossier /templates/default/locales dans ton thème
Puis de lancer potfiles/generate_pot.sh (enfin ... si tu es sous GNU/Linux sinon sous windows tu peux regardé Cygwin sous mac je sais pas mais pt'être que ça marche)
Cela va créer les fichiers pot que tu peux traduire avec des utilitaires dédiés. Comme tu aurras repris ceux de default une bonne partie devrait déjà être traduit
Puis potfiles/po2phparray.sh qui va créer, à partir des fichiers pot, les fichiers php exploitable par gcweb.

Hors ligne

#3 09-09-2014 22:56

Brice
Membre
Inscription : 17-02-2010
Messages : 45
Site Web

Re : Fichiers lang

En, fait dans mon post précédent, je prenais l'exemple du fichier vide pour marquer ma surprise de voir des chaînes toujours traduites. Je pensais que l'on pouvait directement saisir les chaînes dans le fichier php...

Ce qui est en fait tout à fait possible : après un nouvel essai, cela fonctionne bien, sans doute que je n'avais fait qu'essayer de modifier des chaînes déjà existantes. En utilisant mes propres chaînes, aucun souci...

Désolé pour le bruit du coup hmm

Mais quand même, j'ai besoin d'une petite explication : à quoi servent les fichiers pot et po ?

Merci et à+

Hors ligne

Réponse rapide

Veuillez composer votre message et l'envoyer
Si vous êtes un être humain ne changez pas le contenu de ces deux champs.

Pied de page des forums