<:par:>#LESAUTEURS en nepali etc.

Ben écrit :
> - "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 ?

Fil écrit :
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:

- - -

Si j'ai bien compris ce que Ben écrit « une déclinaison qui se trouve donc derriere le nom de l'auteur », je ne vois pas comment <:par:{qui=#LESAUTEURS}> va résoudre le problème. Si par ex. il y a plus qu'un auteur cette « déclinaison » s'ajoute à la fin de chaque nom -- c'est cela ? Ou ai-je compris à travers ?

Il y a déjà d'autres langues pour lesquelles cela ne marchera pas. Je vois que le traducteur polonais a traduit <:par:> «przez» ce qui implique une déclinaison (accusatif) du nom qui suit. Comme en géneral, les noms des auteurs stockés dans SPIP sont au nominatif, <:par:>#LESAUTEURS ne va pas marcher non plus, ni en polonais, ni dans les autres langues slaves, ni sûrement dans d'autres langues non plus (hongrois, lituanien, ...) Comme je n'ai jamais utilisé #LESAUTEURS, je n'ai pas rencontré ce problème.

Peut-être Ben devrait faire un test dans ses squelettes (sont-ils multilingues ?) pour sauter <:par:> si la langue est nepali. Et éventuellement utiliser le plugin (extras2) pour ajouter un champ à la table d'auteurs avec le nom de l'auteur en forme déclinée...

Paolo

Le 3 mai 09 à 23:14, Paolo a écrit :

Fil écrit :
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:

- - -

Si j'ai bien compris ce que Ben écrit « une déclinaison qui se trouve donc derriere le nom de l'auteur », je ne vois pas comment <:par:{qui=#LESAUTEURS}> va résoudre le problème.

J'ai plutôt l'impression qu'il faut étendre la définition de la balise, c'est-à-dire remplacer:

<:par:>#LESAUTEURS

par

#LESAUTEURS{<:par:>}

ou

#LESAUTEURS{par}

et gérer déclinaisons et traduction au niveau de celle-ci.
A noter que ça assure la compatilité ascendante.

Committo,Ergo:Sum

Committo,Ergo:sum a écrit :

Le 3 mai 09 à 23:14, Paolo a écrit :

Fil écrit :
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:

- - -

Si j'ai bien compris ce que Ben écrit « une déclinaison qui se trouve donc derriere le nom de l'auteur », je ne vois pas comment <:par:{qui=#LESAUTEURS}> va résoudre le problème.

J'ai plutôt l'impression qu'il faut étendre la définition de la balise, c'est-à-dire remplacer:

<:par:>#LESAUTEURS

par

#LESAUTEURS{<:par:>}

heu, la, j'ai décroché un moment, mais je ne comprend meme pas ce que tu proposes...
c'est quoi le probleme avec <:par{qui=#LESAUTEURS}:>
avec 'par'=>'par @qui@'
ou
'par'=>'un truc avant @qui@ un truc apres'

ca répond au besoin non ?

@++

ca répond au besoin non ?

S'il s'agit juste d'ajouter un bout de texte après, le plus simple est
<:par:>#LESAUTEURS<:parapres:>

S'il s'agit d'une déclinaison grammaticale, ça se corse sérieusement

-- Fil

Le 4 mai 09 à 09:52, Stephane a écrit :

Le 3 mai 09 à 23:14, Paolo a écrit :

Si j'ai bien compris ce que Ben écrit « une déclinaison qui se trouve donc derriere le nom de l'auteur », je ne vois pas comment <:par:{qui=#LESAUTEURS}> va résoudre le problème.

J'ai plutôt l'impression qu'il faut étendre la définition de la balise, c'est-à-dire remplacer:

<:par:>#LESAUTEURS

par

#LESAUTEURS{<:par:>}

heu, la, j'ai décroché un moment, mais je ne comprend meme pas ce que tu proposes...
c'est quoi le probleme avec <:par{qui=#LESAUTEURS}:>
avec 'par'=>'par @qui@'
ou
'par'=>'un truc avant @qui@ un truc apres'

ca répond au besoin non ?

Bah non, comme dit Paolo: la balise #LESAUTEURS sera déjà rentrée en action en les mettant au nominatif,
alors que dans ce cas on les veut à l'accusatif, il faudrait alors faire une passe supplémentaire sur son boulot, c'est pas bon.

Committo,Ergo:Sum

Emmanuel Saint-James a écrit :

Le 4 mai 09 à 09:52, Stephane a écrit :

Le 3 mai 09 à 23:14, Paolo a écrit :

Si j'ai bien compris ce que Ben écrit « une déclinaison qui se trouve donc derriere le nom de l'auteur », je ne vois pas comment <:par:{qui=#LESAUTEURS}> va résoudre le problème.

J'ai plutôt l'impression qu'il faut étendre la définition de la balise, c'est-à-dire remplacer:

<:par:>#LESAUTEURS

par

#LESAUTEURS{<:par:>}

heu, la, j'ai décroché un moment, mais je ne comprend meme pas ce que tu proposes...
c'est quoi le probleme avec <:par{qui=#LESAUTEURS}:>
avec 'par'=>'par @qui@'
ou
'par'=>'un truc avant @qui@ un truc apres'

ca répond au besoin non ?

Bah non, comme dit Paolo: la balise #LESAUTEURS sera déjà rentrée en action en les mettant au nominatif,
alors que dans ce cas on les veut à l'accusatif, il faudrait alors faire une passe supplémentaire sur son boulot, c'est pas bon.

ah OK, compris, effectivement dans ce cas, pour LESAUTEURS, il faudrait pouvoir faire #LESAUTEURS{<:texteentre:>,<:texteavant:>,<texteapres:>}
mas dans ce cas particulier, est-ce qu'il ne faut pas tout simplement faire la boucle auteur dans un modele ?

@++

Fil wrote:
> S'il s'agit d'une déclinaison grammaticale, ça se corse sérieusement

Quelques exemples en polonais (trouvés sur la page https://www1.columbia.edu/sec/cu/lso/tocdata/6322484/MN2007-32093/004-Rocznik_7-8.pdf)

1. Ze spraw łużyckich, przez Tadeusza Kupczyńskiego [Tadeusz Kupczyński]
2. Z powodu konferencyj ugodowych czesko-niemieckich, przez
Zdzisława Maryckiego [Zdzisław Marycki]
3. Franciszek Fiedler, przez Jana J. Langnera [Jan J. Langner]
4. Pamięci Emila Korytki, przez Jana Magierę [Jan Magiera]

- Le nom de l'article est ce qui précède la virgule.
- « przez » est la traduction de <:par:> dans notre fichier de langue
- 'przez' implique l'accusatif pour ce qui suit. Les prénoms et noms *qui se déclinent* en polonais (comme dans les autres langues slaves) prennent donc des terminaisons accusatifs (-iego, -a, -ę, ...)
- J'ai mis les prénoms et les noms tels qu'ils seraient dans la balise #LESAUTEURS (sauvegardés dans la table spip_auteurs) entre crochets.

http://wyborcza.pl/0,0.html
n'utilise pas de « par ». Ils mettent simplement le(s) nom(s) près de l'article.
http://www.rp.pl/artykul/2,300243_Gabinet_Buzka_i_wspolpraca_z_CIA.html
fait la même chose. Car autrement ce deviendrait vraiment compliqué !

Paolo

mas dans ce cas particulier, est-ce qu'il ne faut pas tout simplement faire
la boucle auteur dans un modele ?

comme dans http://trac.rezo.net/trac/spip/browser/spip/squelettes-dist/modeles/lesauteurs.html

-- Fil

Le 4 mai 09 à 10:36, Stephane a écrit :

ah OK, compris, effectivement dans ce cas, pour LESAUTEURS, il faudrait pouvoir faire #LESAUTEURS{<:texteentre:>,<:texteavant:>,<texteapres:>}
mas dans ce cas particulier, est-ce qu'il ne faut pas tout simplement faire la boucle auteur dans un modele ?

C'est déjà le cas, mais il est insuffisant en l'état.

Committo,Ergo:Sum

Fil a écrit :

mas dans ce cas particulier, est-ce qu'il ne faut pas tout simplement faire
la boucle auteur dans un modele ?
    
comme dans http://trac.rezo.net/trac/spip/browser/spip/squelettes-dist/modeles/lesauteurs.html
  
je pensais à un lesauteurs_fr.html, lesauteurs_np.html ...
mais c'est bete en fait, c'est plutot rajouter les chaines dans le modèle lesauteurs
mais il deviendrait alors spécifique à cette utilisation, ce qui risque de casser par mal de choses

peut etre un modele "parlesauteurs.html" :
<B_auteurs><:par:><BOUCLE_auteurs(AUTEURS) {id_article} {par nom} {", "}>
<:avant_auteur:><span class="vcard author"><a class="url fn spip_in" href="#URL_AUTEUR">#NOM</a></span><:apres_auteur:></BOUCLE_auteurs>

au moins ca n'impacterait pas l'existant (mais ca necessiterait de modifier /dist)

mes 2 sous

@++

Committo,Ergo:sum a écrit :

Le 4 mai 09 à 10:36, Stephane a écrit :

ah OK, compris, effectivement dans ce cas, pour LESAUTEURS, il faudrait pouvoir faire #LESAUTEURS{<:texteentre:>,<:texteavant:>,<texteapres:>}
mas dans ce cas particulier, est-ce qu'il ne faut pas tout simplement faire la boucle auteur dans un modele ?

C'est déjà le cas, mais il est insuffisant en l'état.

tu penses à un truc du genre :
<:par:> #LESAUTEURS{<:lesauteurs_separateur:>,<:lesauteurs_pre:>,<:lesauteurs_post:>}
avec
<BOUCLE_auteurs(AUTEURS) {id_article} {par nom} {#ENV{lesauteurs_separateur,', '}}>
[(#ENV{lesauteurs_pre})]<span class="vcard author"><a class="url fn spip_in" href="#URL_AUTEUR">#NOM</a></span>[(#ENV{lesauteurs_post})]
</BOUCLE_auteurs>

mais la, ca veut dire ajouter pour toutes les langues 'lesauteurs_pre'=>'','lesauteurs_post'=>'','lesauteurs_separateur'=>'' pour ne pas perturber l'existant

@++

Avant de chercher à tout compliquer... serait pas mal de se demander
si la solution "<:parauteur:>" = "" ne suffit pas.

-- Fil

Fil wrote:

si la solution "<:parauteur:>" = "" ne suffit pas.

A mon avis, oui, il faudrait faire comme ça.
Un petit pépin : dans TradLang il semble impossible de faire la distinction entre une chaîne vide et une chaîne qui attend à être traduite. Autrement dit : si on laisse le formulaire vide, TradLang réclame une traduction.

Paolo