4 votes

Où Cygwin définit-il la locale ($LANG env var) ?

Je sais que je peux utiliser le locale et l'outil export LANG=... pour définir ma locale sur Cygwin.

Cependant, même moi, je n'ai pas %LANG% défini sous Windows, lorsque j'exécute bash --login Je remarque $LANG est déjà affecté à fr_CH.UTF-8 où je veux qu'il soit en_US.UTF-8 .

$LANG est fixé avant /etc/lang.sh et même avant /etc/profile .

Où est-il défini ? Comment puis-je le modifier correctement ?

7voto

DavidPostill Points 140654

Où Cygwin définit-il la locale ($LANG env var) ?

Au démarrage de l'application, la locale de l'application est définie par défaut sur la locale "C" ou "POSIX". Sous Cygwin 1.7.2 et plus, cette locale est définie par défaut sur le jeu de caractères ASCII au niveau de l'application.

...

Comment définir les paramètres linguistiques

Supposons que vous ayez défini l'une des variables d'environnement susmentionnées à une valeur locale POSIX valide, autre que "C" et "POSIX". Supposons également que vous vivez au Japon. Vous pourriez vouloir utiliser le code de langue "ja" et le territoire "JP", et donc définir, disons, LANG sur "ja_JP".

Vous n'avez pas défini de jeu de caractères, alors qu'est-ce que Cygwin va utiliser maintenant ? À partir de Cygwin 1.7.2, le jeu de caractères par défaut est déterminé par la page de code ANSI de Windows par défaut pour cette langue et ce territoire. Cygwin utilise un jeu de caractères qui est l'équivalent Unix typique de la page de code ANSI de Windows.

Vous ne voulez pas utiliser le jeu de caractères par défaut ? Dans ce cas, vous devez spécifier le jeu de caractères explicitement. Par exemple, supposons que vous êtes du Japon et que vous ne voulez pas utiliser le jeu de caractères japonais par défaut EUC-JP, mais le jeu de caractères par défaut de Windows SJIS.

Ce que vous pouvez faire, par exemple, est de définir la variable LANG dans le terminal Cygwin de mintty dans la section "Texte" de sa boîte de dialogue "Options".

enter image description here

Si vous démarrez votre session Cygwin par le biais d'un fichier batch ou d'un raccourci vers un fichier batch, vous pouvez aussi simplement définir la LANG à cet endroit :

  @echo off

  C:
  chdir C:\cygwin\bin
  set LANG=ja_JP.SJIS
  bash --login -i

Source : Chapitre 2. Configuration de Cygwin - Internationalisation

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X