[spip-dev] #MENU_LANG

Hello,

ce menu m'agace car il ne fait pas ce qu'on veut ; au départ, il était
censé servir uniquement sur les pages de type login / espace privé,
qui se basent sur les langues disponibles pour l'espace privé

Mais désormais :
1. il est partout (alors qu'il ne fonctionne pas !)
2. quand il fonctionne, il ne correspond pas à ce que les gens veulent
en général (un menu permettant de passer de traduction en traduction)

Je propose donc qu'on établisse ici un cahier des charges complet et
logique de ce menu ; à défaut, on le retirera du core.

J'ai noté :

* réglage de la langue préférée de l'internaute
* établir liste des langues proposées
* présentation sous forme de menu ou de liens
* navigation dans les traductions le cas échéant

-- Fil

Bonjour !

Je suis content que quelqu'un dit cela. Je ne l'ai jamais utilisé. Et je pensais avoir mal compris...

Paolo

Fil <fil@rezo.net> writes:

J'ai noté :

* réglage de la langue préférée de l'internaute
* établir liste des langues proposées
* présentation sous forme de menu ou de liens
* navigation dans les traductions le cas échéant

Un truc qui m'agace, c'est que le menu ajoute &lang=XX dans l'URL
courante, mais pas dans les liens de la page. Donc le visiteur peut
choisir la langue de la page ne cours (je fais ça chez moi avec pas
mal de blocs <multi> dans les squelettes, titres de rubriques, ...),
mais dès qu'il clique sur quoi que ce soit, bam, ça revient dans la
langue par défaut.

Un truc qui m'agace, c'est que le menu ajoute &lang=XX dans l'URL
courante, mais pas dans les liens de la page. Donc le visiteur peut
choisir la langue de la page ne cours (je fais ça chez moi avec pas
mal de blocs <multi> dans les squelettes, titres de rubriques, ...),
mais dès qu'il clique sur quoi que ce soit, bam, ça revient dans la
langue par défaut.

Ca c'est le comportement normal du multilinguisme de SPIP, qui n'est
pas basé sur le visiteur mais sur le contenu.

Si tu veux une version expérimentale de multilinguisme basé sur le
visiteur, tu peux essayer d'ajouter
$forcer_lang = true;
dans mes_options.php

-- Fil

* Fil tapuscrivait, le 19/08/2010 11:44:

Hello,

ce menu m'agace car il ne fait pas ce qu'on veut ; au départ, il était
censé servir uniquement sur les pages de type login / espace privé,
qui se basent sur les langues disponibles pour l'espace privé

Mais désormais :
1. il est partout (alors qu'il ne fonctionne pas !)
2. quand il fonctionne, il ne correspond pas à ce que les gens veulent
en général (un menu permettant de passer de traduction en traduction)

Je propose donc qu'on établisse ici un cahier des charges complet et
logique de ce menu ; à défaut, on le retirera du core.

J'ai noté :

* réglage de la langue préférée de l'internaute
* établir liste des langues proposées
* présentation sous forme de menu ou de liens
* navigation dans les traductions le cas échéant

C'est presque tout ce que fait Menu de langues sous forme de liens - SPIP-Contrib
(ce dernier ne fait justement pas l'affichage en liste déroulante)

Et il part du principe que le site n'a pas une langue par secteur, mais utilise les multi pour tout ce qui n'est pas traduit avec un lien de traduction (donc pour tout sauf les articles)

Voir le PS de l'article pour les limitations.

Et ça nécessite a priori l'usage de $forcer_lang=true

-- RealET

Je rebondis sur ce fil pour un pb connexe.
Le moteur de recherche interne à SPIP ne prend pas en compte le multilinguisme éventuel du site.
Si je cherche "noisette" sur spipnet par exemple, c'est assez assomant de voir apparaître toutes les traductions d'un même article traitant du sujet, celle dans ma langue de visite suffirait. Y aurait pas un moyen simple d'obtenir ça ?

Committo,Ergo:Sum

Je rebondis sur ce fil pour un pb connexe.

mauvaise idée, en soi :slight_smile:

Le moteur de recherche interne à SPIP ne prend pas en compte le multilinguisme éventuel du site.
Si je cherche "noisette" sur spipnet par exemple, c'est assez assomant de voir apparaître toutes les traductions d'un même article traitant du sujet, celle dans ma langue de visite suffirait. Y aurait pas un moyen simple d'obtenir ça ?

ajoute le paramètre lang dans ton formulaire ?

-- Fil

C'est presque tout ce que fait
Menu de langues sous forme de liens - SPIP-Contrib

PUB détectée

Et ça nécessite a priori l'usage de $forcer_lang=true

hé oui... donc ça ne répond pas du tout à la question

merci d'aider à établir la liste des besoins

-- Fil

Voici les besoins que je vois :

- dans le formulaire de login, comme tu dis : l'internaute sélectionne sa langue parmi celles disponibles dans l'espace privé
- ailleurs sur le site public : l'internaute sélectionne sa langue parmi celles disponibles sur le site public

Et... c'est tout.

Naviguer d'une traduction à l'autre (depuis un article, donc) me semble pouvoir se présenter de bien d'autres façons plus idéales qu'un sélect (lequel pourra toujours être construit sur mesure si le besoin s'en présentait).

-- Romy

- ailleurs sur le site public : l'internaute sélectionne sa langue parmi celles disponibles sur le site public

Une fois que tu as indiqué ta langue de visiteur, tu navigues sur les
mêmes pages qu'avant, avec le même contenu. D'où cette impression que
"ça ne marche pas". Autrement dit, ce menu dans l'espace public n'a de
sens qu'avec $forcer_lang=true;

L'incohérence vient du fait qu'on propose dans le public un menu pensé
pour l'espace privé, et incompatible avec le modèle standard de
multilinguisme de SPIP.

Conclusion : je prône sa suppression.

-- Fil

Fil <fil@rezo.net> writes:

- ailleurs sur le site public : l'internaute sélectionne sa langue parmi celles disponibles sur le site public

Une fois que tu as indiqué ta langue de visiteur, tu navigues sur les
mêmes pages qu'avant, avec le même contenu. D'où cette impression que
"ça ne marche pas". Autrement dit, ce menu dans l'espace public n'a de
sens qu'avec $forcer_lang=true;

C'est bien mon impression.

L'incohérence vient du fait qu'on propose dans le public un menu pensé
pour l'espace privé, et incompatible avec le modèle standard de
multilinguisme de SPIP.

Conclusion : je prône sa suppression.

Il sert quand même quand $forcer_lang=true, donc une suppression
complète serait peut-être un peu brutale. Mentionner dans la doc que
#MENU_LANG n'a de sens qu'avec cette option serait sans doute
suffisant.

Conclusion : je prône sa suppression.

Il sert quand même quand $forcer_lang=true, donc une suppression
complète serait peut-être un peu brutale. Mentionner dans la doc que
#MENU_LANG n'a de sens qu'avec cette option serait sans doute
suffisant.

Considérant que cette option $forcer_lang est *expérimentale*, il
faudrait supprimer ce menu des squelettes standard (dist, ZPIP...).

-- Fil

+1

Il sert quand même sur certains sites (j'ai quelques sites qui fonctionnent avec des balises multi dans tous les objets). Mais effectivement, ça nécessite de savoir le paramétrer.

- ailleurs sur le site public : l'internaute sélectionne sa langue parmi celles disponibles sur le site public

Une fois que tu as indiqué ta langue de visiteur, tu navigues sur les
mêmes pages qu'avant, avec le même contenu. D'où cette impression que
"ça ne marche pas". Autrement dit, ce menu dans l'espace public n'a de
sens qu'avec $forcer_lang=true;

Sur la page d'un article. Mais pas sur la page d'accueil ou sur le plan du site qui ne portent pas sur des objets ayant une valeur de langue.

L'incohérence vient du fait qu'on propose dans le public un menu pensé
pour l'espace privé, et incompatible avec le modèle standard de
multilinguisme de SPIP.

C'est peut-être le modèle de multilinguisme de SPIP qui est complexe et pas toujours cohérent. Certains objets ont une variable de langue (comme les articles) et d'autres non (comme les mots-clés, les auteurs, etc.).

Dans certains cas, on peut repérer les traductions d'un objet via un lien de traduction et dans d'autres il faut utiliser des balises multi.

Il faut jongler entre langue de l'interface et langue de l'objet. Et parfois ça a du sens d'avoir une interface dans une langue autre que celle de l'objet.

Bref, il existe de fait plusieurs logiques pour organiser un site multilingue. Dans certaines de ces logiques, la balise #MENU_LANG est pertinente.

Tu évoques un modèle standard de multilinguisme dans SPIP. Lequel est-ce ?

Effectivement, il y a des incohérences dans certains squelettes dont celui de la dist. La page sommaire par exemple liste tous les articles quelque soit leur langue. L'interface est pour sa part dans la langue principale du site sauf si on la change avec #MENU_LANGUE. On a bien une page avec des objets dans différentes langues mais une interface dans une langue donnée. Par contre, quand on bouge ensuite sur un article, l'interface est dans la langue de l'article.

Le squelette devrait plutôt, me semble-t-il, adopter une des deux approches ci-dessous :
- soit la langue de l'interface est indépendante de la langue de l'objet. Cette langue d'interface est gérée au choix de l'internaute. Choisir une langue avec #MENU_LANGUE change donc la langue de l'interface.
- soit on ne distingue pas langue d'interface et langue d'objet. Il y a une version fr et une version en du site. La page d'accueil ne devrait donc lister que les articles dans la langue en cours. On garde un menu de langue sur la page d'accueil pour basculer de l'un à l'autre. Changer de langue modifie la liste des objets listés. Sur la page d'un article, on a les liens de traduction mais pas d'autre menu de langue.

Conclusion : je prône sa suppression.

C'est excessif. Par contre je suis d'accord qu'il faille modifier certains squelettes.

Bien cordialement

Joseph

Ah bin vu comme ça, je suis d'accord :slight_smile:

...tant que forcer_lang n'est pas jeté avec l'eau du bain, car je ne saurais faire un site multilingue sans cette option, si expérimentale soit elle :wink:

-- Romy