[spip-dev] multilinguisme

Coucou,

j'ai un peu retravaillé le multilinguisme dans l'espace privé : quand on
procède à des changements sur la base (déplacer un article, par exemple), il
faut prendre en compte les langues même si le site n'a pas d'interface
multilingue en cours (par exemple, on vient de restaurer une sauvegarde, et
on a oublié d'aller reconfigurer le machin ; autre exemple : on gère les
langues par un script externe)...

sinon, j'ai ajouté quelques options :
    * menu de langue sur les secteurs uniquement (conseillé !)
    * activer le système de liens de traduction (désactivé par défaut, car
      trop complexe à mon avis, avec ces histoires de numéro d'article...)

mais ça reste un peu problématique, quand même, notamment cette idée de se
baser sur les réglages rédacteurs pour fixer la langue de l'article.

Comme souvent, plus on avance, plus on s'aperçoit qu'il y a du boulot :wink:

                                  * * *

A part ça, j'ai vu la barre javascript sur Galeon : comme je m'en doutais
c'est très moche (le graphisme de base, mais surtout les popup qui plantent
ou qui font plus de deux fois la largeur de l'écran...), sans aucun intérêt
pratique, et en plus quand on clique sur un bouton comme "oe" ça efface tout
le champ texte. Bref : c'est à poubelliser au plus vite ! Le seul truc sympa
c'est qu'il documente les raccourcis d'une manière efficace : pourquoi ne
pas améliorer l'aide en ligne en y ajoutant ce petit aspect "trombone" ?

-- Fil

Comme souvent, plus on avance, plus on s'aperçoit qu'il y a du boulot :wink:

Notamment, un bug : la langue indiquée entre parenthèses dans le menu de
sélection de langue ("langue de la rubrique supérieure") est fausse : ce qui
s'a&ffiche c'est la langue de l'article ou de la rubrique en cours...

-- Fil

Coucou,

j'ai un peu retravaillé le multilinguisme dans l'espace privé : quand on
procÚde à des changements sur la base (déplacer un article, par exemple), il
faut prendre en compte les langues même si le site n'a pas d'interface
multilingue en cours (par exemple, on vient de restaurer une sauvegarde, et
on a oublié d'aller reconfigurer le machin ; autre exemple : on gÚre les
langues par un script externe)...

Je suppose que ça va dans le même sens: je remarque sur uZine et le Scarabée, j'ai eu 2 fois le même besoin: que les fonctionnalités de multilingue continuent à fonctionner tout en désactivant l'interface du multilinguisme. En effet, ce sont 2 sites "actuellement" multilingues, mais qui ont utilisé le multilinguisme ponctuellement (manifeste du web indé sur uZine, c'est sympa d'avoir le formulaire de pétition dans la bonne langue; traductions d'articles sur le Scarabée il y a 3 ans). J'ai activé le multilinguisme pour indiquer un choix de langues pour le Manifeste, idem mais plus pour indiquer les correspondances de traductions sur le Scarabée, mais dans l'usage courant la présence de l'interface est plus encombrante qu'autre chose, alors que les fonctionnalités multilingues sont toujours utiles pour afficher ces "anciens" articles.

sinon, j'ai ajouté quelques options :
* menu de langue sur les secteurs uniquement (conseillé !)
* activer le systÚme de liens de traduction (désactivé par défaut, car
trop complexe à mon avis, avec ces histoires de numéro d'article...)

Nickel. Pour la complexité, moyennement d'accord: il y a deux boutons pour créer ces liens de traduction: "traduire cet article" à partir d'un autre, là on n'utilise pas de numéro d'article, c'est géré de maniÚre transparente, et "cet article est une traduction de..." où là , oui, faut indiquer un numéro (faut-il rendre le truc plus intelligent avec possibilité de recherche directement sur un titre "en clair" et sélection comme pour les noms de rédacteurs?), mais cette option n'apparaît qu'en interface complexe.

mais ça reste un peu problématique, quand même, notamment cette idée de

se baser sur les réglages rédacteurs pour fixer la langue de l'article.

Tu peux expliquer, STP? Je ne vois pas bien?

A*

@ Arno* <arno@scarabee.com> :

>j'ai un peu retravaillé le multilinguisme dans l'espace privé : quand on
>procède à des changements sur la base (déplacer un article, par exemple),
>il faut prendre en compte les langues même si le site n'a pas d'interface
>multilingue en cours (par exemple, on vient de restaurer une sauvegarde,
>et on a oublié d'aller reconfigurer le machin ; autre exemple : on gère
>les langues par un script externe)...

Je suppose que ça va dans le même sens: je remarque sur uZine et le
Scarabée, j'ai eu 2 fois le même besoin: que les fonctionnalités de
multilingue continuent à fonctionner tout en désactivant l'interface du
multilinguisme. En effet, ce sont 2 sites "actuellement" multilingues, mais
qui ont utilisé le multilinguisme ponctuellement (manifeste du web indé sur
uZine, c'est sympa d'avoir le formulaire de pétition dans la bonne langue;
traductions d'articles sur le Scarabée il y a 3 ans).

Oui ; donc il faut bien séparer deux choses : la gestion multilingue au
niveau de la base et des scripts -- et l'interface elle-même. Mais du coup
problème si on ne peut pas modifier la langue d'un article où la langue a
été "fixée" à la main (à priori on peut régler ça un peu comme avec les
mots-clés en interface simplifiée, mais j'ai quelques doutes sur
l'universalité du code actuel, qui se base beaucoup trop sur les notions
d'interface de toutes façons).

Pour la complexité, moyennement d'accord: il y a deux boutons pour
créer ces liens de traduction: "traduire cet article" à partir d'un autre,
là on n'utilise pas de numéro d'article, c'est géré de manière
transparente, et "cet article est une traduction de..." où là, oui, faut
indiquer un numéro (faut-il rendre le truc plus intelligent avec
possibilité de recherche directement sur un titre "en clair" et sélection
comme pour les noms de rédacteurs?), mais cette option n'apparaît qu'en
interface complexe.

L'interface de sélection de "cet article est une traduction de" est vraiment
laide ; ça donne un aspect "complexe", oui. Par ailleurs, la gestion des
traductions n'est pas un élément essentiel d'un site multilingue ; or, là,
c'est ce qu'on voit le plus dans la page, c'est un peu gênant. Est-ce qu'on
ne peut pas tout simplement mettre ça dans la marge, comme pour les forums,
avec un bouton dépliant ?

>>mais ça reste un peu problématique, quand même, notamment cette idée de
>se baser sur les réglages rédacteurs pour fixer la langue de l'article.

Tu peux expliquer, STP? Je ne vois pas bien?

A partir du moment où on décide d'affecter une 'lang' à un article, il faut
que ça soit une action consciente et volontaire ; sinon il vaut mieux se
baser sur la langue par défaut (cas des sites non massivement multilingues).

Pour un site massivement multilingue, comme spip.net, ça peut se défendre,
mais :
1) il faut organiser le multilinguisme, et le fonctionnement en secteurs est
sans doute le plus adapté ; et dans ce cas le réglage rédacteur n'a pas de sens ;
2) je ne suis même pas certain que les rédacteurs des articles en arabe
n'ont pas réglé leur préférence en anglais ou en français, etc.

Bref, il faut voir à l'usage ; mais a priori ça me semble partir d'une bonne
idée mais aboutir à un fonctionnement confus, puisque rien d'autre dans
l'interface ne repose sur la langue sélectionnée (à part le titre par
défaut, mais bon...).

-- Fil

traductions n'est pas un élément essentiel d'un site multilingue ; or, là,
c'est ce qu'on voit le plus dans la page, c'est un peu gênant. Est-ce qu'on
ne peut pas tout simplement mettre ça dans la marge, comme pour les forums,
avec un bouton dépliant ?

Autre simplification possible : virer la gestion des langues dans les brèves
-- soit on opte pour des langues héritées de la rubrique, et les brèves
suivent ; soit la brève est par défaut dans la langue du site.

-- Fil

Les deux façons trÚs différentes de gérer un site multilingue qui sont proposées sont:

- une gestion par rubriques (variante: par secteurs uniquement);
dans ce cas, sauf erreur de codage de ma part, quand on créée un article, il est créé avec la langue du secteur en mode "hérité" (si on déplace l'article dans une rubrique de langue différente, sa langue est changée en celle de la nouvelle rubrique); donc, là , on ne fixe pas en fonction de la langue de l'utilisateur, mais directement en mode "hérité" (spip_langue_choisie=non);

- une gestion par articles;
dans ce cas, l'article est créé dans la langue de l'interface de l'utilisateur, sachant que l'article affiche un menu déroulant pour, éventuellement, changer le choix de la langue de l'article (un utilisateur avec une interface en anglais peut ainsi indiquer que son article est en hébreux). Pour l'instant, on ne dispose d'aucune autre information permettant de proposer une langue (avant la modification éventuelle par l'auteur).

Les difficultés viennent lorsqu'on décide d'avoir une gestion par rubriques _et_ par articles. Cette solution ne doit pas être supprimée, car elle offre la souplesse maximale (même si ça n'est pas la plus évidente à gérer) . Sauf erreur (encore) de ma part, dans ce cas, un article est créé dans la langue de la rubrique en mode hérité; et le menu déroulant de l'article permet de forcer une autre langue si nécessaire.

Du coup, la gestion des brÚves est identique à celle des articles pour les langues. La (relative) difficulté vient du choix du webmestre d'utiliser à la fois une gestion par rubriques _et_ par articles. Ca me semble le prix de cette souplesse (qui se traduit, de toute façon, par une plus grande complexité de gestion de la structure du site).

Les difficultés viennent lorsqu'on décide d'avoir une gestion par rubriques
_et_ par articles.

... ou une gestion "par ailleurs" (du genre, tu actives la gestion des
langues pour régler tes rubriques de base, puis tu désactives pour faire
disparaître toute l'interface).

. Sauf erreur (encore) de ma part, dans ce cas, un article est créé dans la
langue de la rubrique en mode hérité; et le menu déroulant de l'article
permet de forcer une autre langue si nécessaire.

Il y avait bien une erreur (sauf erreur :wink: qui pouvait te faire créer les
articles dans ta langue d'interface si aucune interface multilingue n'avait
été sélectionnée (pas de "else if (lire_meta('multi_article'))"...) mais
j'ai corrigé ça (noramelent).

OK sur le reste ; sauf peut-être pour les brèves, qu'il me paraît inutile
d'alourdir - une langue fixée silencieusement, selon une règle bien foutue,
devrait suffire.

Il reste beaucoup de bugs, et je crois qu'il y a du code mort dans le
menu_langues() : tu avais raison c'est une connerie de ma part d'avoir
utilisé la même fonction, car ça complique passablement les choses.

-- Fil