Répondre

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

Retour

Résumé de la discussion (messages les plus récents en premier)

Brice
09-09-2014 22:56

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 à+

jonas
09-09-2014 18:39

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.

Brice
08-09-2014 20:10

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

Pied de page des forums

Propulsé par FluxBB