je me suis lancé dans la traduction de SPIP en Népali (ne)… langue qui utlise donc l’ alphabet Devanagari.
J’ai 3 questions :
« par » ( « by » en english) qui se place devant le nom du ou des auteurs… en nepali c’est une declinaison qui se trouve donc derriere le nom de l’auteur… je laisse ce champ blanc? juste un espace? une magouille possible pour que cela se mette derriere ?
les autres chiffres que les numeros des jours : comment faire pour que les années aussi apparaisent en chiffre népali (NB je me suis contenté de traduire le calendrier « occidental » car le calendrier népalis est trop compliqué a faire correspondre, et puis il vient de changer cette année et ne contiendra que 11 mois l’année prochaine) mais bon ça le ferait quand même que 2009 soit ecrit २००९ …
Les noms des jours : refusent de s’afficher en népali ( ca marche tres bien avec le même squelette dans d’autres langues). Je ne comprend pas pourquoi. j’ai traduit dans l’interface en ligne, si qulq’un pouvait jeter un oeil…
- "par" ( "by" en english) qui se place devant le nom du ou des auteurs...
en nepali c'est une declinaison qui se trouve donc derriere le nom de
l'auteur... je laisse ce champ blanc? juste un espace? une magouille
possible pour que cela se mette derriere ?
Le problème c'est que tous les squelettes utilisent
<:par:>#LESAUTEURS... il faudrait dans l'idéal transformer cela en
<:par:{qui=#LESAUTEURS}>... une solution moins idéale serait
d'ajouter une chaine "par après" sous la forme
<:par:>#LESAUTEURS<:parapres:>. A débattre
- les autres chiffres que les numeros des jours : comment faire pour que les
années aussi apparaisent en chiffre népali (NB je me suis contenté de
traduire le calendrier "occidental" car le calendrier népalis est trop
compliqué a faire correspondre, et puis il vient de changer cette année et
ne contiendra que 11 mois l'année prochaine) mais bon ça le ferait quand
même que 2009 soit ecrit २००९ ...
Pour cela il suffit probablement de faire un filtre de conversion des
chiffres, sous la forme
function chiffres_nepalis($t) {
return str_replace(array(0,1,2....), array('०',....), $t);
}
ensuite pour l'appliquer intelligemment :
* l'appliquer systématiquement aux dates, avec un
$table_des_traitements['DATE'] = 'chiffres_nepalis(%s)';
* l'apliquer exclusivmeent si la langue courante est nepali :
ajouter if ($GLOBALS['spip_lang'] == 'ne') dans le filtre
- Les noms des jours : refusent de s'afficher en népali ( ca marche tres
bien avec le même squelette dans d'autres langues). Je ne comprend pas
pourquoi. j'ai traduit dans l'interface en ligne, si qulq'un pouvait jeter
un oeil...
« par » ( « by » en english) qui se place devant le nom du ou des auteurs…
en nepali c’est une declinaison qui se trouve donc derriere le nom de
l’auteur… je laisse ce champ blanc? juste un espace? une magouille
possible pour que cela se mette derriere ?
Le problème c’est que tous les squelettes utilisent
<:par:>#LESAUTEURS… il faudrait dans l’idéal transformer cela en
<:par:{qui=#LESAUTEURS}>… une solution moins idéale serait
d’ajouter une chaine « par après » sous la forme
<:par:>#LESAUTEURS<:parapres:>. A débattre
Tout d’abord merci pour ces eclaircissement
pour le probleme des déclinaisons c’est bien ce que je m’etais dit…
les autres chiffres que les numeros des jours : comment faire pour que les
années aussi apparaisent en chiffre népali (NB je me suis contenté de
traduire le calendrier « occidental » car le calendrier népalis est trop
compliqué a faire correspondre, et puis il vient de changer cette année et
ne contiendra que 11 mois l’année prochaine) mais bon ça le ferait quand
même que 2009 soit ecrit २००९ …
Pour cela il suffit probablement de faire un filtre de conversion des
chiffres, sous la forme
function chiffres_nepalis($t) {
return str_replace(array(0,1,2…), array(‹ ० ›,…), $t);
}
ensuite pour l’appliquer intelligemment :
l’appliquer systématiquement aux dates, avec un
$table_des_traitements[‹ DATE ›] = ‹ chiffres_nepalis(%s) ›;
l’apliquer exclusivmeent si la langue courante est nepali :
ajouter if ($GLOBALS[‹ spip_lang ›] == ‹ ne ›) dans le filtre
Cela n’a jamais été fait pour un autre « alphabet » precedemment?
Les noms des jours : refusent de s’afficher en népali ( ca marche tres
bien avec le même squelette dans d’autres langues). Je ne comprend pas
pourquoi. j’ai traduit dans l’interface en ligne, si qulq’un pouvait jeter
un oeil…
peux-tu nous donner un exemple précis ?
Je n’en sais rien, le site en nepali n’est pas en ligne actuellement … j’ai telecharge les fichiers de langue (partiellement) en nepali sur spip-trad… Tout ce qui a été traduit fonctionne … mais bizzarerie les noms de jour [(#DATE|nom_jour)] qui ne s’affiche pas en nepali (alors qu’il s’affiche dans les autres langues) … j’ai bien verifie et je ne vois pas ou est l’erreur.
Quel autre fichier est utile et/ou facile a traduire apres spip/ecrire/public ?
spip-trad... Tout ce qui a été traduit fonctionne .. mais bizzarerie les
noms de jour [(#DATE|nom_jour)] qui ne s'affiche pas en nepali (alors qu'il
s'affiche dans les autres langues) ... j'ai bien verifie et je ne vois pas
ou est l'erreur.
est-ce que #LANG affiche bien 'ne' ?
Quel autre fichier est utile et/ou facile a traduire apres
spip/ecrire/public ?
local, pour pouvoir mettre une page et ainsi "faire exister" la langue
sur spip.net
ensuite tu entres dans les modules consacrés aux plugins ; la bonne
règle ici est plutôt de traduire les plugins que tu utilises.
- Les noms des jours : refusent de s'afficher en népali ( ca marche tres
bien avec le même squelette dans d'autres langues). Je ne comprend pas
pourquoi. j'ai traduit dans l'interface en ligne, si qulq'un pouvait jeter
un oeil...
Fil :
peux-tu nous donner un exemple précis ?
Je confirme. J'ai fait le test ici : http://new.taize.fr/ne
(user : new // mot de passe : test)
en chnageant l'indonésien temporairement en nepalais.
Le squelette (squelettes/toplevel.html) contient :
[(#DATE|nom_jour)] // [(#DATE|affdate_jourcourt)]
mais en nepalais la première balise n'est pas rendue, même si les traductions des noms de jour sont bien dans le fichier.
pour ce qui est du filtre, je n'y connais rien au php : voila ce a
quoi je suis arrivé
function chiffres_nepalis($t)
{ if ($GLOBALS['spip_lang'] == 'ne') return
str_replace(array('0','1','2','3','4','5','6','7','8','9'),
array('०','१','२','३','४','५','६','७','८','९'), $t); }
cela fonctionne bien en népali, mais dans les autres langues, les
chiffres ne s'affichent plus...
qu'elle est l'astuce ?
ben
2009/5/3 Paolo <paolo2@taize.fr>
Ben wrote:
- Les noms des jours : refusent de s'afficher en népali ( ca marche tres
bien avec le même squelette dans d'autres langues). Je ne comprend pas
pourquoi. j'ai traduit dans l'interface en ligne, si qulq'un pouvait jeter
un oeil...
Fil :
peux-tu nous donner un exemple précis ?
Je confirme. J'ai fait le test ici : http://new.taize.fr/ne
(user : new // mot de passe : test)
en chnageant l'indonésien temporairement en nepalais.
Le squelette (squelettes/toplevel.html) contient :
[(#DATE|nom_jour)] // [(#DATE|affdate_jourcourt)]
mais en nepalais la première balise n'est pas rendue, même si les traductions des noms de jour sont bien dans le fichier.
Le problème passe par le bloc qui commence :
'date_jnum1' => '१',
Apparemment dans ecrire/inc/filtres.php
vers ligne 975, ce test est positive, et retourne donc une chaîne vide.
case 'nom_jour':
if (!($mois = intval($mois)) OR !($jour = intval($jour)))
return '';
Superbe ! On confondait en effet le jour tel qu'il s'affiche (1st,
2nd) avec sa valeur numérique (1, 2)... En népalais ça ne marche plus.
Corrigé par [13950].
Je pense a une bricole qui pourrait marcher en attendant mieux, je laisse les chiffres occidentaux dans le fichier de langue. et j’utilise le filtre qui convertit déjà les autres chiffres pour filtrer après.
Le problème passe par le bloc qui commence :
‹ date_jnum1 › => ‹ १ ›,
Apparemment dans ecrire/inc/filtres.php
vers ligne 975, ce test est positive, et retourne donc une chaîne vide.
case ‹ nom_jour ›:
if (!($mois = intval($mois)) OR !($jour = intval($jour)))
return ‹ ›;
Superbe ! On confondait en effet le jour tel qu’il s’affiche (1st,
2nd) avec sa valeur numérique (1, 2)… En népalais ça ne marche plus.
Corrigé par [13950].
Si tu telecharges via svn tu obtiendras alors un spip corrigé.
Tu peux aussi telecharger sur SPIP-Contrib une
version qui prend en compte cette modification, il faut noter qu'elle
n'est pas encore estampillée "stable".
Si tu telecharges via svn tu obtiendras alors un spip corrigé.
Tu peux aussi telecharger sur http://files.spip.org/spip/dev/ une
version qui prend en compte cette modification, il faut noter qu’elle
n’est pas encore estampillée « stable ».