[spip-dev] Config langues

Salut,

J'ai commencé à repasser sur l'interface de réglage des langues. Evidemment c'est pas fini, hein.

- La configuration des langues fait l'objet d'une page séparée dans la config du site. En effet, c'est une page très importante et pas très compliquée, donc à ne pas faire apparaître au milieu de réglages beaucoup plus abscons. Là j'ai fait que déplacer le bloc, mais ça deviendra deux (ou plus) blocs.

- Petits drapeaux... sous la forme de petits fichiers gif dans /lang, de la forme "drap_fr.gif". A mon avis, c'est encore le truc le plus signifiant pour les utilisateurs (les drapeaux dans une interface graphique, c'est illico perçu comme un réglage de langue). Pour les ceusses qui n'aiment pas les drapeaux, l'interface devra pouvoir fonctionner sans (j'y travaille).

Du coup, dans la page de config, regarder le menu déroulant avec Mozilla et les petits drapeaux, c'est plutôt sympa (en plus c'est un effet pas fréquent sur le ouèbe... et merde si c'est pas compliant).

Du coup, dans la page de config, regarder le menu déroulant avec Mozilla et
les petits drapeaux, c'est plutôt sympa (en plus c'est un effet pas
fréquent sur le ouèbe... et merde si c'est pas compliant).

Pas mal....

Sinon, y'a un gros problème avec la gestion des noms des langues proposées,
qui dépend de la traduction de toutes les autres langues dans chacune des
langues. Ca qui est très mauvais...

Ben non, c'est The Right Thing (tm). Il n'y a rien de plus chiant que
les programmes qui te donnent le choix entre "Français" / "English" /
"Deutsch"... Surtout qu'en général ils t'ajoutent des majuscules quand
il n'en faut pas :wink:

Salut,

(flûte, posté à la mauvaise adresse, je reposte)

Je continue les réglages sur la sélection de langues. Mon problème principal était la lourdeur pour ajouter de langues:
- les noms de chaque langue devait apparaître dans toutes les autres langues (pour ajouter le français, il fallait que le document anglais dise "french", l'allemand "franzosich", l'italien "parisiani" et l'espagnol encore autre chose, et on priait pour que le chinois ait la bonne idée de proposer kekchose);
- les langues autorisées étaient codées "en dur" dans le code source de SPIP.

Du coup, très chiant pour faire sa petite salade personnelle, par exemple se faire un fichier de "texte" personnalisé pour adapter l'interface à son propre goût (sans modifier toute la traduction); et même très chiant pour débuter une traduction perso (par exemple traduire entièrement l'interface en smileys, visiblement y'a des spipeux que ça intéresse).

Les modifs:

- seuls les langues faisant l'objet d'un fichier de traduction dans "/lang" sont affichés; ainsi il suffit d'ajouter "spip_es.php3" dans /lang pour que l'espagnol soit ajouté aux langues proposées;

- l'affichage des noms des langues se calcule automatiquement en 3 étapes successives (si nécessaire évidemment):
     (1) la traduction "manuelle" dans la langue qu'on est en train d'utiliser (comme auparavant, donc on obtient "français", "franzosich", "french"...);
     (2) une traduction automatique de tous les codes de langues recensés dans un nouveau fichier "inc_liste_langues.php3"; du coup si on ajoute un fichier pour le code "ia", ça affiche automatiquement "Interlingua" sans attendre que les autres fichiers de langue aient été mis à jour;
     (3) pour les trucs vraiment hors liste, hé ben ça affiche le texte brut; par exemple un fichier de langue intitulé "spip_essai.php3" créé la langue "essai";

- pour les histoires de sécurité, le principe des "langues autorisées" est maintenu, mais c'est désormais calculé d'après la liste des fichiers contenus dans /lang. Pour pas allourdir /data, j'ai stocké ça dans un lire_meta. Fil, j'espère que ça n'introduit pas un trou de sécurité (à priori non).

Du coup, pour ajouter une langue à son propre système, il suffit d'ajouter un fichier "spip_malangue.php3" dans le dossier /lang. Dans l'idéal, "malangue" étant le code en deux lettres d'une langue. Si on se contente de ça, la nouvelle traduction et le nouveau calcul des autorisations fait que: "spip_es.php3" créé une langue "espagnol", "spanish", etc.; "spip_ia.php3" créé une langue "Interlingua" (dans toutes les langues); "spip_essai.php3" créé une langue "essai" (dans toutes les langues).

Bon, faudrait voir pour un truc similaire avec l'aide en ligne, quitte d'ailleurs à ce que les fichiers d'aide passent à l'intérieur de "lang", histoire de simplifier l'installation.

ARNO*

Bon, faudrait voir pour un truc similaire avec l'aide en ligne

Ca c'est déjà fait (aide_droite.php3) : le français est sélectionné
par défaut si l'aide demandée n'existe pas, et en plus les images
sont également remplacées par la version française si elles n'ont pas
été traduites (pratique pour ne pas copier le logo spip en quinze
exemplaires).

Amicalement

Antoine.

Salut,

Nouvelle modif pour la sélection des langues. La sélection de la langue par le rédacteur se fait par menu déroulant (et non par petits drapeaux).

Avantages:

- afficher listes longues (si nécessaire!);
- affichage utilisable même sans drapeaux;
- affichage lisible puisque noms de langues en clair (et non pas "FR, EN, RU").

A*

Nouvelle modif pour la sélection des langues. La sélection de la langue par
le rédacteur se fait par menu déroulant (et non par petits drapeaux).

Ouaip, ça marche, mais c'est pas super-discret. Une feuille de style bien
choisie ?

-- Fil

Y a quand même un truc chiant : on ne peut plus choisir la langue
sans Javascript. Ca devrait pouvoir se régler facilement (en remettant
la sélection sous la forme normale dans le <option value="zorglub">, et
en balançant un form.submit() dans le onChange... ??).

Salut,

Ah oui, bon plan.

C'est fait...

Nicolas R : ah ben ca alors !!!, moi qui etait tres fier d'avoir eu l'idee
que les fonctions de traductions pouvaient etre detournees pour cet usage et
m'appretait a le proposer, grille sur le poteau je suis :wink:

pour poursuivre dans le même esprit : pourrait t'on imaginer de pouvoir
choisir (dans des fonctions avancées d'admin) la hauteur des différents
champs de saisie de la partie privee (au moins pour "article")... groupé
avec la "traduction des titres de champs" ci-dessus cela pourrait permettre
de repondre aux besoins parfois exprimés sur la liste de personnalisation
non ... c'est pas une bonne idée ?, bon je la remet dans culotte ... comme
dit la chanson
@+
nicolas