[spip-dev] Codes de langue pour occitan

Codes de langue pour occitan
Au cas où ce serait passé inaperçu, de nouveaux codes de langue IETF on été standardisés

pour des dialectes de l'occitan :
- aranais oc-aranes
- auvergnat oc-auvern
- gascon oc-gascon
- limousin oc-lemosin
- languedocien oc-lengadoc
- niçois oc-nicard
- provençal oc-provenc
- vivaroalpin oc-vivaraup
(liste non exhaustive)

Voir aussi :

https://www.spip.net/fr_article5723.html
Les versions occitanes de SPIP : pourquoi autant d’« òc » ?

https://www.ietf.org/mail-archive/web/ietf-languages/current/msg00312.html
Final records and registration forms for Occitan variants

https://www.iana.org/assignments/language-subtag-registry/language-subtag-registry
la liste complète des composants valides, séparés par «%%» (chercher «Occitan»)

NK

Hello,

Oui on a eu l’information.
Je suis en train de préparer un article sur les étiquettes de langue SPIP pour voir si on peut pas les modifier pour être plus “standard”.

Super.

Bon, j'ai lu les quatre articles
https://blog.smellup.net/spip.php?article104
Chapitre 1 : des normes et des langues

https://blog.smellup.net/spip.php?article105
Chapitre 2 : règles de construction des étiquettes de langue

https://blog.smellup.net/spip.php?article106
Chapitre 3 : étiquettes SPIP alpha-2 et alpha-3

https://blog.smellup.net/spip.php?article107
Chapitre 4 : étiquettes SPIP à multiples sous-étiquettes et nom de langue

D'autres sont-ils prévus ?

Quelques remarques :

1 dans https://blog.smellup.net/spip.php?article104#ISO-639-indicatifs-de-langues

Remplacer « ISO 639-6 (projet) » par « ISO 639-6 (projet abandonné) ».
Cf. https://www.iso.org/standard/43380.html

2 dans https://blog.smellup.net/spip.php?article104#RFC-5646-etiquettes-de-langue

Il faut mentionner le nom «BCP 47».

3 dans https://blog.smellup.net/spip.php?article105#La-region

Mentionner que le «code numérique de 3 chiffres» correspond à la norme M.49,
cf. https://en.wikipedia.org/wiki/UN_M.49

4 dans https://blog.smellup.net/spip.php?article106#Etiquettes-de-macro-langage-regle-R2

Je ne comprend pas cette volonté de supprimer les langues avec un code de type «macrolangue».
Cf. https://www.w3.org/International/questions/qa-choosing-language-tags#langsubtag
section «Use macrolanguages with care.» et RFC 5646 section 4.1
https://tools.ietf.org/html/rfc5646#section-4.1
(traduction d'une ancienne version dans http://abcdrfc.free.fr/rfc-vf/rfc4646.htm#rfc4646-4-1 ).

Si une personne veut étiquetter un texte en «norvégien» ou en «albanais», elle doit
pouvoir le faire àmha. Dans l'autre sens, si une personne demande avec l'en-tête
HTTP «Accept-Language» d'avoir du norvégien, il faut pouvoir lui répondre en norvégien,
nynorsk ou bokmål.

Si c'est juste pour les traductions de SPIP, alors ce n'est pas un gros problème.

5 dans https://blog.smellup.net/spip.php?article106#Etiquettes-de-macro-langage-regle-R2

La phrase «l’étiquette « sh » est à revoir absolument car elle ne correspond à rien de
compréhensible aujourd’hui.» n'est pas sourcée et me semble fausse. Il y a une
Wikipédia en serbo-croate, vous savez ?

6 dans https://blog.smellup.net/spip.php?article107#Les-etiquettes-d-occitan

Les codes avec le tiret bas (« _ ») comme séparateur ne sont pas des codes de langue
conformes à la BCP 47, qui utilise des tirets simples -. Il faut soit convertir les codes de SPIP,
soit faire deux listes distinctes.

7 dans https://blog.smellup.net/spip.php?article107#Les-etiquettes-d-occitan

Remplacer « oc_grmistr » par « oc_nicard_grmistr »

8 dans https://blog.smellup.net/spip.php?article107#Les-etiquettes-regionales

Il y a aussi
https://tools.ietf.org/html/rfc6067
https://www.bortzmeyer.org/6067.html
https://en.wikipedia.org/wiki/IETF_language_tag#Extension_U_(Unicode_Locale)
https://unicode.org/reports/tr35/#Locale_Extension_Key_and_Type_Data
https://www.unicode.org/reports/tr35/tr35-53/tr35.html#Locale_Extension_Key_and_Type_Data

dont des identifiants géographiques « Regional Subdivision » -u-rg-* permettent d'indiquer
des provinces de pays, comme la Californie des États-unis (c'est l'exemple donné dans
http://unicode.org/reports/tr35/#unicode_subdivision_subtag_validity )

9 dans https://blog.smellup.net/spip.php?article107#Les-etiquettes-regionales

Il y a de fortes chances que « zh_tw » désigne le mandarin en écriture traditionelle, cmn_Hant.

10 dans https://blog.smellup.net/spip.php?article107#Les-etiquettes-avec-ecriture

Dans la BCP47, « depreciated » implique que le code est déconseillé, par invalide.
Le code « sh » est valide. Comme je l'ai écrit + haut, il existe une Wikipédia en serbo-croate,
et si vous criez sur les toits que le serbo-croate n'existe pas, alors vous aurez des retours
négatifs (pour ne pas dire des ennuis, car ce serait exagéré).

11 dans https://blog.smellup.net/spip.php?article107#Les-etiquettes-avec-ecriture

Il n'y a pas d'écriture par défaut pour le code sh, dans https://www.iana.org/assignments/language-subtag-registry/language-subtag-registry#sh il n'y a pas de ligne « Suppress-Script: », le serbo-croate s'écrit tant en alphabet latin qu'en alphabet cyrilique.

Nicolas Krebs

Sujet : Re: [spip-dev] Codes de langue pour occitan
Copie à : SPIP-Dev <spip-dev@rezo.net>

Hello,

Oui on a eu l'information.

Je suis en train de préparer un article sur les étiquettes de langue SPIP pour voir si on
peut pas les modifier pour être plus "standard".

Hello

Merci beaucoup pour cette lecture attentive.
Mes réponses dans le texte.

D’autres sont-ils prévus ?

Oui, je suis en train de rédiger un récapitulatif des actions à prendre en compte pour effectuer les modifications nécessaires.
A la fois, la liste des langues mais aussi la gestion de cette liste et les modifications de code dans SPIP, les plugins et les outils.

Remplacer « ISO 639-6 (projet) » par « ISO 639-6 (projet abandonné) ».
Cf. https://www.iso.org/standard/43380.html

Fait.

2 dans https://blog.smellup.net/spip.php?article104#RFC-5646-etiquettes-de-langue
Il faut mentionner le nom «BCP 47».

Fait

Mentionner que le «code numérique de 3 chiffres» correspond à la norme M.49,
cf. https://en.wikipedia.org/wiki/UN_M.49

C’est déjà le cas.

Je ne comprend pas cette volonté de supprimer les langues avec un code de type «macrolangue».
Cf. https://www.w3.org/International/questions/qa-choosing-language-tags#langsubtag
section «Use macrolanguages with care.» et RFC 5646 section 4.1
https://tools.ietf.org/html/rfc5646#section-4.1
(traduction d’une ancienne version dans http://abcdrfc.free.fr/rfc-vf/rfc4646.htm#rfc4646-4-1 ).

Si une personne veut étiquetter un texte en «norvégien» ou en «albanais», elle doit
pouvoir le faire àmha. Dans l’autre sens, si une personne demande avec l’en-tête
HTTP «Accept-Language» d’avoir du norvégien, il faut pouvoir lui répondre en norvégien,
nynorsk ou bokmål.

Si c’est juste pour les traductions de SPIP, alors ce n’est pas un gros problème.

On est d’accord sur le fait qu’il n’est pas toujours nécessaire de supprimer les codes de macrolangues.
Néanmoins, dans pas mal de cas les dialectes qui la composent sont très divergents et préciser la langue individuelle est une bonne chose.
En outre, l’ISO 639-3 a permis d’identifier précisément nombre de langues individuelles, je trouve que c’est dommage de ne pas les identifier précisément dans SPIP.
Mais plus que tout, le besoin de SPIP est de traduire des chaines de langues : donc on doit savoir précisément si on a une chaine en bokmal ou en nynorsk.
Après, si on nous demande du norvégien, il est possible de choisir l’une ou l’autre mais la traduction doit être liée à une langue individuelle de mon point de vue.En

En plus, il y a des cas tordus ou comme pour le norvégien tu as une traduction en « no » (norvégien) et une en « bo » (bokmal).
Là ça parait plutôt bancal.
Donc globalement je suis d’avis d’éviter les macrolangues quand cela est possible et je pense que c’est à peu près toujours le cas.
Mais je ne suis pas un spécialiste…

La phrase «l’étiquette « sh » est à revoir absolument car elle ne correspond à rien de
compréhensible aujourd’hui.» n’est pas sourcée et me semble fausse. Il y a une
Wikipédia en serbo-croate, vous savez ?

Ce cas est compliqué et j’ai eu du mal à faire le tour du sujet.

Ce que j’ai compris c’est qu’aujourd’hui, depuis l’éclatement de la Yougoslavie il existe 4 langues individuelles : le bosniaque, le serbe, le croate et le monténégrin qui commencent à suivre chacune leur chemin propre.
Chacune de ces langues possède un code alpha-2 ou alpha-3 pour le monténégrin.
Elles sont donc bien identifiées et officielles dans les pays concernés voire dans les pays voisins (comme le serbe en croatie).

Dans SPIP on a des traductions en « bs », « hr » et « sr ».
Et on a aussi 3 autres codes « sh », « sh_latn » et « sh_cyrl ».
Donc j’ai plusieurs questions :

  • est ce que le sh est vraiment différent des trois autres traductions ?
  • sachant que le sh s’écrit soit en latin soit en cyrillique, il y a forcément un code de trop parmi les trois et je pencherais vers le « sh » car a priori il n’y a pas d’écriture préférée. A voir

Les codes avec le tiret bas (« _ ») comme séparateur ne sont pas des codes de langue
conformes à la BCP 47, qui utilise des tirets simples -. Il faut soit convertir les codes de SPIP,
soit faire deux listes distinctes.

Oui c’est ce que j’ai dit dans un article.
Maintenant, comme le code est inclus dans un nom de fichier, SPIP a préféré depuis le début utiliser le souligné et pas le tiret.
Maintenant, pour passer de l’un à l’autre c’est assez simple.

Remplacer « oc_grmistr » par « oc_nicard_grmistr »

Ah bon. Pourquoi ?

8 dans https://blog.smellup.net/spip.php?article107#Les-etiquettes-regionales

Il y a aussi
https://tools.ietf.org/html/rfc6067
https://www.bortzmeyer.org/6067.html
https://en.wikipedia.org/wiki/IETF_language_tag#Extension_U_(Unicode_Locale)
https://unicode.org/reports/tr35/#Locale_Extension_Key_and_Type_Data
https://www.unicode.org/reports/tr35/tr35-53/tr35.html#Locale_Extension_Key_and_Type_Data

dont des identifiants géographiques « Regional Subdivision » -u-rg-* permettent d’indiquer
des provinces de pays, comme la Californie des États-unis (c’est l’exemple donné dans
http://unicode.org/reports/tr35/#unicode_subdivision_subtag_validity )

Euh…

Il y a de fortes chances que « zh_tw » désigne le mandarin en écriture traditionelle, cmn_Hant.

Oui, je suis du même avis mais je préfèrerais en avoir la preuve.
C’est ma question.

10 dans https://blog.smellup.net/spip.php?article107#Les-etiquettes-avec-ecriture

Dans la BCP47, « depreciated » implique que le code est déconseillé, par invalide.
Le code « sh » est valide. Comme je l’ai écrit + haut, il existe une Wikipédia en serbo-croate,
et si vous criez sur les toits que le serbo-croate n’existe pas, alors vous aurez des retours
négatifs (pour ne pas dire des ennuis, car ce serait exagéré).

Oui soit.
Voir ma réponse plus haut.

11 dans https://blog.smellup.net/spip.php?article107#Les-etiquettes-avec-ecriture

Il n’y a pas d’écriture par défaut pour le code sh, dans https://www.iana.org/assignments/language-subtag-registry/language-subtag-registry#sh il n’y a pas de ligne « Suppress-Script: », le serbo-croate s’écrit tant en alphabet latin qu’en alphabet cyrilique.

Oui absolument.
Voir ma réponse plus haut.

Salut,

Réponse pour 2 points.

De : Eric Lupinacci <eric@smellup.net>
À : nicolas1.krebs2@netcourrier.com
Sujet : Re: [spip-dev] Codes de langue pour occitan
Date : 20/11/2018 09:32:24 CET
Copie à : SPIP-Dev <spip-dev@rezo.net>

> Remplacer « oc_grmistr » par « oc_nicard_grmistr »

Ah bon. Pourquoi ?

Parce que cela semble être aussi du nicard. Je rapelle les deux lignes
de l'article :

« oc_ni » deviendrait « oc_nicard »
« oc_ni_mis » deviendrait « oc_grmistr »

> 8 dans Chapitre 4 : étiquettes SPIP à multiples sous-étiquettes et nom de langue - La Taverne à Tonton
>
> Il y a aussi
> RFC 6067 - BCP 47 Extension U
> Blog Stéphane Bortzmeyer: RFC 6067: BCP 47 Extension U
> IETF language tag - Wikipedia
> Unicode Locale Data Markup Language (LDML)
> UTS #35: Unicode Locale Data Markup Language
>
> dont des identifiants géographiques « Regional Subdivision » -u-rg-* permettent d'indiquer
> des provinces de pays, comme la Californie des États-unis (c'est l'exemple donné dans
> Unicode Locale Data Markup Language (LDML) )
>

Euh...

Je pense que ce niveau de granularité ne sera pas nécessaire à SPIP.
Mais on peut l'indiquer dans la doc :wink:

Nicolas Krebs