Indiquer un changement de langue dans un texte
Lorsque l’on rédige un texte, bien qu’il soit dans une langue donné, il peut comporter des éléments dans une autre langue.
Il importe dès lors de signaliser ce changement de langue pour diverses raisons :
- les règles typographiques de cette langue ne sont pas les mêmes que celle de la langue principale de votre article ;
- la direction (de la gauche vers la droite ou de la droite vers la gauche) peut-être différente (le navigateur doit alors en être informé pour afficher correctement le texte) ;
- cette information est utilisée par les navigateurs vocaux pour adapter correctement la prononciation d’un mot en fonction de sa langue ;
- cette information peut être utilisé par le navigateur pour des traitement additionnels, par exemple pour proposer une traduction au survol du mot.
Pour plus d’informations, voit notamment cette page du site OpenWeb
Ce changement de langue peut être indiqué en utilisant les raccourcis existants de SPIP et en particulier les blocs <multi>
.
Pour indiquer un changement de langue, il suffit d’utiliser un bloc multilingue ne contenant qu’une seule langue, à savoir la langue du texte à afficher. Par exemple dans un article en français on pourra écrire :
Il faut se méfier des termes anglais <multi>[en]{fecondity}</multi> et <multi>[en]{fertility}</multi> qui correspondent respectivement en français à {fertilité} et {fécondité}.
ce qui produira le code HTML suivant :
<p>Il faut se méfier des termes anglais <span lang="en"><i>fecondity</i></span> et <span lang="en"><i>fertility</i></span> qui correspondent respectivement en français à <i>fertilité</i> et <i>fécondité</i>.</p>
On voit ainsi que les deux termes anglais sont dès lors entouré d’un <span lang="en">
comme il se doit.
Par ailleurs, en procédant ainsi, SPIP appliquera le traitement typographique adéquat (en français, par exemple, on doit placer un espace insécable avant un point d’interrogation ou d’exclamation alors que ce n’est pas le cas en anglais). On peut illustrer ce point avec l’exemple suivant :
Une phrase en français avec un point d'exclamation final! <multi>[en]A English sentence with an exclamation point!</multi>
donnera (constater l’espace devant le point d’exclamation seulement pour le français) :
Une phrase en français avec un point d’exclamation final ! A English sentence with an exclamation point!
Utiliser l’extension Changement de langue pour le Porte-Plume
Une fois ce plugin activé, un nouveau bouton
sera affiché dans le porte-plume.
Sélectionnez le texte qui est dans une autre langue et cliquez sur le bouton. Une fenêtre vous demandera le code de langue du texte (pour les différents code de langue, voir la norme ISO 639).
Le texte sera entouré par <multi>[code]
et </multi>
où code
sera le code de langue saisi (fr pour le français, en pour l’anglais, es pour l’espagnol, etc.).
De plus, dans l’espace d’administration, le texte en multi verra son fond coloré différemment et la langue indiquée explicitement après le texte, en exposant [1].
Discussions par date d’activité
2 discussions
Bonjour Romy,
en premier lieu, de tout temps la balise
<multi>
a fonctionné de la manière suivante : affichage dans la langue en cours si disponible, premier élément sinon. Elle n’a été que peu documentée : elle n’est pas mentionnée dans la documentation sur les raccourcis typographiques et sur le site principal elle apparaît au milieu de la page Réaliser un site multilingue. En suivant cette logique, elle fonctionne aussi bien pour les deux usages, qui ne sont pas antagonistes d’un point de vue logique. Je précise la langue d’une portion de texte. Parfois je donne le texte en plusieurs langue, parfois je n’en indique qu’une seule.Son usage n’a jamais vraiment été codifié et l’utilisation de cette balise pour indiquer un changement de langue existait déjà de fait sur certains sites car c’était une solution native, fonctionnant sans avoir à modifier SPIP, tout en assurant un traitement typographique adéquat sur les portions de texte.
J’ai retrouvé les échanges qui avaient eu lieu en décembre 2010 sur ce sujet (http://archives.rezo.net/archives/s...) et dès le premier message était évoqué la question de savoir si c’était un usage que l’on pouvait faire des balises multi ou si un nouveau raccourci aurait été préférable. A l’époque, personne n’avait rebondi sur la question d’un nouveau raccourci.
D’un point de vue technique, la question d’un nouveau raccourci n’est pas si simple que cela, puisqu’un changement de langue n’implique pas seulement l’ajout d’un attribut de langue mais également l’ensemble des traitements typographiques propres à chaque langue et qui sont une des forces de Spip. Dès lors, l’introduction d’un nouveau raccourci relèverait plus du core que d’un plugin.
Après, concernant le débat sur une syntaxe SPIP-only, le débat n’était pas aussi avancé en 2010 qu’il ne l’est aujourd’hui. Mais c’est à mon sens une question beaucoup plus générale concernant l’évolution de SPIP et le fait de passer éventuellement à d’autres languages comme markdown.
Ceci étant dit, beaucoup des languages de type wiki n’ont pas forcément pris en compte la question du multilinguisme et des changements de langues.
Concernant Wikipedia, il faut a priori passer par un modèle spécfique (cf. https://fr.wikipedia.org/wiki/Mod%C...)
Concernant Markdown, ce n’est pas prévu dans l’implémentation de base. Markdown-Extra permet d’indiquer des attributs html (dont celui de langue) sur des titres, mais pas sur des éléments inline. Même si il reste possible d’indiquer directement du code HTML.
Il y a un plugin expérimental pour utiliser Markdown dans Spip. Je n’ai pas testé s’il y a une syntaxe pertinente dans ce contexte pour indiquer un changement de langue tout en maintenant les traitements typographiques.
Cdlt
Répondre à ce message
Je découvre ce plugin, suite à la lecture de ce tuto qui induit en erreur sur l’usage du raccourci SPIP
<multi>
et pour lequel je rapportais l’erreur.L’usage introduit par ce plugin induit une mauvaise compréhension du raccourci SPIP
<multi>
, lequel sert, non pas à signaler un changement de langue, mais à traduire une portion de texte, ce qui est bien différent. D’après la doc, elle s’utilise comme ceci :<multi>[fr]en français[en]in english</multi>
Puisqu’il s’agit d’un nouvel usage, différent, pourquoi avoir détourné un raccourci existant plutôt que d’en introduire un dédié ? Par exemple
<lang>
, qui tombe sous le sens ?C’est la meilleure façon d’emmêler les utilisateurs-rédacteurs… comme le montre ce guide de rédaction suscité. Bravo !
Enfin, côté efficacité sur l’aide apportée, je reste plus que septique : quel est l’apport, pour les utilisateurs-rédacteurs ? à part le bouton à presser… Puisque la saisie est complexifiée par rapport à ce qui est requis en HTML :
<multi>[en]toto</multi>
au lieu de<i lang="en">toto</i>
, c’est-à-dire toujours du code (HTML like not wiki like), plus long (23 caractères au lieu de 20), qui plus est ultra spécifique (SPIP compliant only)… Mais pourquoi compliquer ainsi ? Pourquoi ?Répondre à ce message
Ajouter un commentaire
Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :
Merci d’avance pour les personnes qui vous aideront !
Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.
Suivre les commentaires : |