Étiquettes de langue

La documentation de SPIP dit :

http://www.spip.net/fr_article2128.html

sauf pour quelques exceptions, il faut utiliser ici les codes de
langues à deux lettres normalisés par l'ISO, comme « es ». On en
trouvera notamment la liste sur le site de la Bibliothèque du
Congrès des Etats-Unis (eh oui !). Pour s'assurer d'un maximum de
compatibilité, il faut utiliser en priorité les codes ISO à deux
lettres (« iso 639-1 »), quand ils existent, et pour une désignation
plus spécialisée d'une langue dans sa famille linguistique les codes
ISO à trois lettres (« iso 639-2 T »). Par exemple, l'allemand sera
désigné comme « de ». Mais l'ISO ne prend en compte que 182 langues
sur les 5 000 à 7 000 langues parlées dans le monde ; pour les
langues non encore répertoriées, on peut s'inspirer du répertoire
proposé par le site ethnologue.com ; pour en savoir plus,
rendez-vous sur la liste spip-trad

Ce texte me semble à la fois peu à jour et trop limité.

Peu à jour car ISO 639-3 est sorti en février et liste plus de sept
mille langues (on peut y accéder en ISO 639-3 |).

Même pour l'ancien ISO 639-2, l'affirmation « l'ISO ne prend en compte
que 182 langues » était fausse, il y en avait cinq cents...

D'autre part, ce système de désignation des langues est limité car il
ne prend pas en compte des questions comme l'écriture (plusieurs
langues ont plusieurs écritures possibles, comme l'azeri qui s'écrit
couramment en arabe, en cyrillique et en latin) ou comme les variantes
régionales (au cas où on veuille faire deux sites francophones, un
pour la France et un pour le Canada).

Ne serait-ce pas une bonne idée que de conseiller plutôt l'utilisation
des étiquettes de langue, normalisées dans le RFC 4646 ? Ces
étiquettes sont décrites, par exemple, en http://www.langtag.net/. Ce
sont elles qui sont utilisées dans XML et HTML
(cf. Language tags in HTML and XML).

Elles permettraient d'exprimer les nuances ci-dessus.

Salut Stéphane !

Ne serait-ce pas une bonne idée que de conseiller plutôt l'utilisation
des étiquettes de langue, normalisées dans le RFC 4646 ? Ces
étiquettes sont décrites, par exemple, en http://www.langtag.net/. Ce
sont elles qui sont utilisées dans XML et HTML
(cf. Language tags in HTML and XML).

Oui ça paraît bien ; que faudrait-il changer -- dans le code et dans la doc ?

On a par exemple un peu tâtonné pour les langues suivantes :
* occitans oc_*
* chinois zh_* (écritures "traditionnelle" et "simplifiée", allant ou
non avec des variations de choix de mots)
* (serb(e|o-))(croate|monténégrin|...) sh_* avec ses écritures
cyrilliques ou non
* it_fem (italien écrit au féminin)

Par ailleurs on emploie le underscore alors que visiblement il
faudrait tout faire avec des tirets.

-- Fil

Ça semble intéressant, mais j'ai du mal à voir ce que ça donnerait dans la pratique.
Pour l'exemple donné par Fil sur les "oc_", ça donnerait quoi par exemple pour :
- le dialecte niçois de l'occitan, en graphie classique CCÒC (variante adaptée aux réalités lingüistiques locales de la graphie classique IEO) ?
Je cite cet exemple parce que je pense que c'est un des cas les plus "tordus" des langues Spip avec ceux cités par Fil.

Fil a écrit :

Salut Stéphane !

Ne serait-ce pas une bonne idée que de conseiller plutôt l'utilisation
des étiquettes de langue, normalisées dans le RFC 4646 ? Ces
étiquettes sont décrites, par exemple, en http://www.langtag.net/. Ce
sont elles qui sont utilisées dans XML et HTML
(cf. Language tags in HTML and XML).
    
Oui ça paraît bien ; que faudrait-il changer -- dans le code et dans la doc ?

On a par exemple un peu tâtonné pour les langues suivantes :
* occitans oc_*
* chinois zh_* (écritures "traditionnelle" et "simplifiée", allant ou
non avec des variations de choix de mots)
* (serb(e|o-))(croate|monténégrin|...) sh_* avec ses écritures
cyrilliques ou non
* it_fem (italien écrit au féminin)

Par ailleurs on emploie le underscore alors que visiblement il
faudrait tout faire avec des tirets.

-- Fil
_______________________________________________
spip-trad@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-trad
http://www.spip.net/
irc://irc.freenode.net/spip
  

On Fri, Jun 01, 2007 at 12:40:32PM +0200,
Fil <fil@rezo.net> wrote
a message of 16 lines which said:

Salut Stéphane !

Bonjour, Fil et les traducteurs,

Oui ça paraît bien ; que faudrait-il changer -- dans le code et dans
la doc ?

Pour le code, ça va nécessiter un peu de réflexion, je vais mettre ça
dans un autre message. Pour la doc, je suggère :

Sauf pour quelques exceptions, il faut utiliser ici, comme dans XML et
HTML,les étiquettes de langue, normalisées dans le document IETF BCP
47 (actuellement RFC 4646). Ce document se trouve en
http://www.rfc-editor.org/rfc/rfc4646.txt et une présentation générale
figure en http://www.langtag.net/.

On en trouvera notamment la liste des sous-étiquettes à l'IANA
(http://www.iana.org/assignments/language-subtag-registry) ou bien au
W3C (http://people.w3.org/rishida/utils/subtags/).

Pour en savoir plus, rendez-vous sur la liste spip-trad.

[Note temporaire : ISO 639-3 n'a pas encore été intégré dans le BCP 47
mais le travail est en cours et semble presque terminé.]

On a par exemple un peu tâtonné pour les langues suivantes :
* occitans oc_*

En ISO 639-2, c'était bien "oc". En ISO 639-3, c'est devenu une
macro-langue qui inclus des langues comme gascon (gsc) ou languedocien
(lnc).

Je sais que, comme tout ce qui touche aux langues, c'est une question
très sensible mais, si on ne veut pas recommencer sur spip-trad des
polémiques qui ont déjà eu lieu ailleurs, s'en tenir à la norme n'est
pas une mauvaise idée. Ce n'est pas que la norme soit parfaite, c'est
qu'elle existe et forme une référence.

* chinois zh_* (écritures "traditionnelle" et "simplifiée", allant
ou non avec des variations de choix de mots)

zh aussi est devenu une macro-langue en ISO 639-3, qui inclus le min
dong, le mandarin, le hakka, le cantonais... En écriture
traditionnelle, zh-Hant, en simplifié, zh-Hans.

* (serb(e|o-))(croate|monténégrin|...) sh_* avec ses écritures
cyrilliques ou non

Là aussi, question sensible, les opinions politiques dictant des
classements linguistiques. Mais si on s'en tient à la norme, sr, hr et
bs sont des langues séparées. sh est abandonné. Le serbe en cyrillique
est sr-Cyrl, en latin, sr-Latn (certaines langues ont une écriture par
défaut donc, normalement, on écrit fr tout court pour le français et
pas fr-Latn, mais le serbe ne semble pas avoir été enregistré avec le
cyrillique par défaut ; ça peut se faire,
cf. Language Tags: How to register a new subtag).

* it_fem (italien écrit au féminin)

Ah, ça, je ne connaissais pas, c'est amusant. Mais je ne le trouve pas
dans le registre.

Par ailleurs on emploie le underscore alors que visiblement il
faudrait tout faire avec des tirets.

Oui, pour un résumé de la syntaxe,
Language Tags: What are they?. Pour la version longue, en ABNF,
voir le RFC 4646.

On Fri, Jun 01, 2007 at 08:08:07PM +0200,
Sé?bastien Donato <s.donato@free.fr> wrote
a message of 57 lines which said:

Ça semble intéressant, mais j'ai du mal à voir ce que ça donnerait
dans la pratique.

Notons que l'avantage des étiquettes de langue est que, justement,
comme c'est la référence pour XML et HTML, il y a une pratique
importante.

- le dialecte niçois de l'occitan, en graphie classique CCÒC
(variante adaptée aux réalités lingüistiques locales de la graphie
classique IEO) ?

Pour l'instant, ce dialecte n'est pas dans le registre. Si c'est un
dialecte du provençal (je ne connais pas le niçois), et qu'on est très
pressé, il faudra utiliser :

oc-x-nicois

(x étant le préfixe des parties privées, non normalisées).

Si on peut attendre l'intégration d'ISO 639-3 (donc du provençal) dans
les étiquettes de langue *et* enregistrer le dialecte
(cf. Language Tags: How to register a new subtag), cela pourra
donner :

prv-nicois