[spip-dev] RE: modules de langues (fichier local_xx.php3)

Paolo a demandé :

J'étais sûr d'avoir vu il y a quelques temps de tes questions touchant le
syntaxe <:toto:> pour afficher des chaînes gardées dans des fichiers de
langues. Mais je ne retrouve plus ces messages dans le newsgroup. Mon
message hier à spip-user est, jusqu'à maintenant, demeuré sans réponse.

A part mettre des chaînes dans un fichier ecrire/lang/local_xx.php3 que
faut-il faire pour pouvoir utiliser de telles chaînes ? Faut-il mettre un
"include" dans un fichier php quelque part? Car chez moi en tout cas, cela
ne marche pas.

Thierry répond :

Je crois comprendre votre problème. Il faut créer un fichier local_xx.php3
pour CHACUNE des langues. Les lettres " xx " doivent être remplacé par
l'abréviation de la langue (ex. fr : local_fr.php3.)

Vous pouvez ensuite insérer dans vos squelettes des balises faisant
référence aux éléments traduits dans les fichiers local_xx.php3. Par exemple
:

Dans le squelette :
< :merci :>

Dans lang_fr.php3 (version française) :
'merci' => 'Merci à tous!',

Dans lang_en.php3 (version anglaise) :
'merci' => 'Thank you all!',

Pour créer un fichier langue_xx.php3, il suffit de copier le code php
ci-dessous dans un fichier vide et d'y ajouter ses propres éléments de
traduction. Vous pouvez ensuite sauvegarder ce fichier dans le dossier
ecrire/lang/ et le nommer selon la langue utilisée. Exemple : local_fr.php3.

IMPORTANT : il faut indiquer la langue du ficher en remplaçant les XX dans
la ligne " $GLOBALS['i18n_local_XX'] = array( "

Lisez bien les instructions en commentaires (qui suivent les //) pour plus
de détail. :slight_smile:

<?php

// This is a SPIP language file -- Ceci est un fichier langue de SPIP
// You must copy and name this file according to the language it will use.
(i.e. lang_en.php3) -- Vous devez copier et nommer ce fichier selon la
langue utilisée. (ex. lang_fr.php3)
// Put this file the ecrire/lang/ folder. - Placez ce fichier dans le
dossier ecrire/lang/.

// You must replace XX by the language code of the language used in this
file. (i.e. i18n_spip_en) - Vous remplacer XX par le code de la langue
utilisée dans ce fichier. (ex. i18n_spip_fr)
// For example -- Par exemple : $GLOBALS['i18n_local_fr'] = array(
$GLOBALS['i18n_local_XX'] = array(

//

//0
// All items must be followed by a comma (,) except the last one. -- Tous
les éléments doivent être suivi d'une virgule (,) à l'exception du dernier.
'0_1' => 'Premier',

// You must use html code for special characters, such as characters with
accents). See:
http://hotwired.lycos.com/webmonkey/reference/special_characters/
// Il faut utiliser le code HTML pour les caractères spéciaux comme les
accents. Voir : http://www.allhtml.com/html/html6.php
// For example, to write 'élément' -- par exemple, pour écrire 'élément' :
'0_item' => '&eacute;l&eacute;ment',

//A

//B

//C

//D

//E

//F

//G

//H

//I

//J

//K

//L

//M

//N

//O

//P

//Q

//R

//S

//T

//U

//V

//W

//X

//Y

//Z
'z_end' => 'end' // The last item in the list must not be followed by a
comma. -- Le dernier item de la liste ne doit pas être suivi d'une virgule.

);

?>

J'espère que ça vous sera utile. :slight_smile:

Cordialement,

Thierry Gagnon
http://thierrygagnon.com/

Bonjour, j'ai bien fait ce qui est indiqué ci-dessous mais malgré la doc
actuelle dans les archives de la liste, là où je mets <:lambada:> il ne
m'affiche rien mais note la présence néanmoins puisque qu'il crée la liste à
puce qui va avec mais n'affiche pas le texte...

où faut-il spécifier dans notre code la langue utiliser ?

j'ai mis <body dir=#LANG"> mais comment lui signaler le fichier lang qu'il
faut viser ?

"> Thierry répond :

Je crois comprendre votre problème. Il faut créer un fichier local_xx.php3
pour CHACUNE des langues. Les lettres " xx " doivent être remplacé par
l'abréviation de la langue (ex. fr : local_fr.php3.)

Vous pouvez ensuite insérer dans vos squelettes des balises faisant
référence aux éléments traduits dans les fichiers local_xx.php3. Par

exemple

:

Dans le squelette :
< :merci :>

Dans lang_fr.php3 (version française) :
'merci' => 'Merci à tous!',

Dans lang_en.php3 (version anglaise) :
'merci' => 'Thank you all!',

Pour créer un fichier langue_xx.php3, il suffit de copier le code php
ci-dessous dans un fichier vide et d'y ajouter ses propres éléments de
traduction. Vous pouvez ensuite sauvegarder ce fichier dans le dossier
ecrire/lang/ et le nommer selon la langue utilisée. Exemple :

local_fr.php3.