traduire spip en nepali, un peu d'aide technique?

namaste

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…

merci d’avance pour vos éclaissicement…

ben

- "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 :stuck_out_tongue:

- 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...

peux-tu nous donner un exemple précis ?

-- Fil

2009/5/2 Fil <fil@rezo.net>

  • « 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 :stuck_out_tongue:

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 ?

danyebadh

ben

– Fil

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.

-- Fil

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.

Paolo

what to do ...?( go katmandhu)

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.

Paolo

cela fonctionne bien en népali, mais dans les autres langues, les
chiffres ne s'affichent plus...
qu'elle est l'astuce ?

ajouter :
else return $t;

reste à résoudre l'énigme du nom des jours

-- Fil

j'ai essayé de changer dans le fichier de langue mais rien à y
faire...cela ne s'affiche pas..

aucune idée d'ou cela peut venir... peut-etre des filtres sur les
formats de date?

b

On 5/3/09, Fil <fil@rezo.net> wrote:

cela fonctionne bien en népali, mais dans les autres langues, les
chiffres ne s'affichent plus...
qu'elle est l'astuce ?

ajouter :
else return $t;

reste à résoudre l'énigme du nom des jours

-- Fil

> On 5/3/09, Fil <fil@rezo.net> wrote:
> reste à résoudre l'énigme du nom des jours

ben wrote:

aucune idée d'ou cela peut venir... peut-etre des filtres sur les
formats de date?

Le problème passe par le bloc qui commence :
'date_jnum1' => '&#2407;',

Si pour la date pour laquelle tu veux afficher le nom du jour tu mets la chaîne "date_jnum XX" en commentaire, alors le nom du jour s'affiche.

Par ex. tu veux afficher le nom du jour du 23 du mois, alors tu mets
/* 'date_jnum23' => '&#2408;&#2409;', */

et सोमवार s'affiche.

(Je n'ai pas vu de bug plus amusant depuis 2004. Ça :
http://thread.gmane.org/gmane.comp.web.spip.devel/20491 n'était pas mal non plus...)

Paolo

Paolo wrote:

Le problème passe par le bloc qui commence :
'date_jnum1' => '&#2407;',

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 '';

Mais en faisant apparaîtra les valeurs à l'écran les valeurs se ressemblent.

Paolo

Le problème passe par le bloc qui commence :
'date_jnum1' => '&#2407;',

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].

-- Fil

Presque heureux de toucher au limite de SPIP

que signifie 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.

ben

2009/5/4 Fil <fil@rezo.net>

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].

– Fil


spip-trad@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-trad
http://www.spip.net/
irc://irc.freenode.net/spip

S'lt

que signifie Corrigé par [13950] ?

ça veut dire que le commit (correctif) 13950 repond au probléme
signalé : http://trac.rezo.net/trac/spip/changeset/13950
Pour la version stable c'est corrigé par [13952] :
http://trac.rezo.net/trac/spip/changeset/13952

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".

Km

Hunchha

Merci pour l’éfficacité en tout cas … Avec 84 heures de coupure courant par semaine, vos corrections sont plus rapide que mes connexions …

bonne journée à tous
b

2009/5/4 cam.lafit@azerttyu.net <cam.lafit@azerttyu.net>

S’lt

que signifie Corrigé par [13950] ?

ça veut dire que le commit (correctif) 13950 repond au probléme
signalé : http://trac.rezo.net/trac/spip/changeset/13950
Pour la version stable c’est corrigé par [13952] :
http://trac.rezo.net/trac/spip/changeset/13952

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 ».

Km