Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Recuperer la langue de l'environnement

6 réponses
Avatar
Pascal Quesseveur
Bonjour,

Je cherche un moyen pour identifier la langue du locale. Est-ce
qu'il y a un autre moyen que d'utiliser la variable
set-language-environment ? Je suis sous Windows, et je n'ai donc pas
de variable LANG.


--
Pascal Quesseveur
pascal.quesseveur@free.fr

6 réponses

Avatar
Vincent Belaïche
Pascal Quesseveur a écrit :
Bonjour,

Je cherche un moyen pour identifier la langue du locale. Est-ce
qu'il y a un autre moyen que d'utiliser la variable
set-language-environment ? Je suis sous Windows, et je n'ai donc pas
de variable LANG.




Je suis aussi sous Windows (2000).

Dans mon Emacs la variable Elisp current-language-environment a la
valeur "French". Par contre je ne sais pas comment ça a été positionné à
l'installation (sans doute selon le Registre), parce qu'il n'y a pas de
variables d'environnement correspondante qu'on pourrait lire avec la
fonction Elisp getenv

A+,
Vincent.
Avatar
Pascal Quesseveur
"VB" == Vincent Belaïche a écrit :



VB> Dans mon Emacs la variable Elisp current-language-environment a la
VB> valeur "French".

itou. Mais que vaut-elle dans des locales différents? En fait je
cherche à positionner des attributs de langue (langage et pays) dans
un buffer associé à un document généré à partir d'emacs. Je voudrais
pouvoir définir ces attributs par défaut à partir du locale courant,
mais aussi donner la possibilité de positionner ces attributs en
fonction de la langue utilisée pour le buffer.


--
Pascal Quesseveur

Avatar
Vincent Belaïche
Pascal Quesseveur a écrit :
"VB" == Vincent Belaïche a écrit :



VB> Dans mon Emacs la variable Elisp current-language-environment a la
VB> valeur "French".

itou. Mais que vaut-elle dans des locales différents? En fait je
cherche à positionner des attributs de langue (langage et pays) dans
un buffer associé à un document généré à partir d'emacs. Je voudrais
pouvoir définir ces attributs par défaut à partir du locale courant,
mais aussi donner la possibilité de positionner ces attributs en
fonction de la langue utilisée pour le buffer.




Juste pour info, mais sans doute ça ne répond pas à ton besoin, si ton
buffer contient un fichier LaTeX et que tu utilses AucTeX alors quand tu
parses fichier (selon ta config soit automatiquement à l'ouverture, soit
manuellement avec C-c C-n) AucTeX reconnait les option de babel. Par
exemple chez moi si j'édite un doc avec en entête

%------------------------
documentclass[12pt]{lettre}

usepackage[T1]{fontenc}
usepackage{eurosym}
usepackage[francais]{babel}
begin{document}
begin{letter}{
%------------------------

Alors AucTeX positionne la variable TeX-auto-file à

("babel" "francais" "eurosym" "fontenc" "T1" "latex2e" "lettre12"
"lettre" "12pt")


Sinon tu devrais lire l'info Node "File: emacs, Node: File Variables",
ça explique comment lier des variables localement à un fichier.
Peut-être que si le fichier que tu édites contient ces définitions,
alors ça résout ton pb.


A+,
Vincent.
Avatar
Pascal Quesseveur
"VB" == Vincent Belaïche a écrit :



VB> Sinon tu devrais lire l'info Node "File: emacs, Node: File
VB> Variables", ça explique comment lier des variables localement à un
VB> fichier. Peut-être que si le fichier que tu édites contient ces
VB> définitions, alors ça résout ton pb.

Merci mais cela ne répond pas non plus à mon besoin. Je suis en train
d'essayer de développer une édition au format ODT à partir de Muse, et
j'ai défini un tag Muse qui permet de positionner la langue du
document ODT généré. Ça marche, mais par défaut il faudrait que je
sois capable de définir une valeur de la langue à partir du locale
courant. Je peux aussi ne rien mettre et laisser OpenOffice se
débrouiller.


--
Pascal Quesseveur

Avatar
Vincent Belaïche
Pascal Quesseveur a écrit :
"VB" == Vincent Belaïche a écrit :



VB> Sinon tu devrais lire l'info Node "File: emacs, Node: File
VB> Variables", ça explique comment lier des variables localement à un
VB> fichier. Peut-être que si le fichier que tu édites contient ces
VB> définitions, alors ça résout ton pb.

Merci mais cela ne répond pas non plus à mon besoin. Je suis en train
d'essayer de développer une édition au format ODT à partir de Muse, et
j'ai défini un tag Muse qui permet de positionner la langue du
document ODT généré. Ça marche, mais par défaut il faudrait que je
sois capable de définir une valeur de la langue à partir du locale
courant. Je peux aussi ne rien mettre et laisser OpenOffice se
débrouiller.




Salut,

Je crois que je suis tombé sur la réponse à ta question. Il y a une
variable MS-DOS d'environnement LANG. Tu peux récupérer la valeur en
ELisp en faisant:

(getenv "LANG")

Tu peux avoir la liste des valeurs possibles de locales sous MSWindows
en faisant:

w32-list-locales


A+
Vincent.

PS : par curiosité, c'est quoi ODT et Muse ?
Avatar
Pascal Quesseveur
"VB" == Vincent Belaïche a écrit :



VB> Je crois que je suis tombé sur la réponse à ta question. Il y a une
VB> variable MS-DOS d'environnement LANG. Tu peux récupérer la valeur en
VB> ELisp en faisant:

VB> (getenv "LANG")

VB> Tu peux avoir la liste des valeurs possibles de locales sous MSWindows
VB> en faisant:

VB> w32-list-locales

Merci. Je vais regarder tout ça.

VB> PS : par curiosité, c'est quoi ODT

ODT c'est le format utilisé par OpenOffice Writer (en fait le nom du
format c'est ODF).

VB> et Muse ?

cf. http://mwolson.org/projects/EmacsMuse.html et
en français http://jm.bornier.free.fr/muse/tuto.html

Pour résumer on peut dire que Muse est un système qui permet de
rédiger des documents avec Emacs en utilisant des règles de mise en
forme très simples ainsi que des liens hyper-texte, et de publier
ensuite ces documents dans un format cible: HTML, Docbook, LaTeX,...


--
Pascal Quesseveur