Cygwinはどこでロケール($ LANG env var)を設定しますか?


4

localeツールを使用して、export LANG=...Cygwinでロケールを設定できることを知っています。

ただし、%LANG%Windowsで定義していない場合でも、実行するとbash --login$LANG目的のfr_CH.UTF-8場所に既に影響がありますen_US.UTF-8

$LANGの前/etc/lang.sh、さらには前に設定され/etc/profileます。

どこで定義されていますか?どうすれば適切に変更できますか?

回答:


7

Cygwinはどこでロケール($ LANG env var)を設定しますか?

アプリケーションの起動時に、アプリケーションのロケールはデフォルトの「C」または「POSIX」ロケールに設定されます。Cygwin 1.7.2以降では、このロケールはデフォルトでアプリケーションレベルのASCII文字セットになります。

...

ロケールを設定する方法

前述の環境変数のいずれかを、「C」および「POSIX」以外の有効なPOSIXロケール値に設定したと仮定します。さらに日本に住んでいると仮定します。言語コード「ja」とテリトリー「JP」を使用して、たとえばLANGを「ja_JP」に設定することができます。

文字セットを設定しなかったので、Cygwinは今何を使用しますか?Cygwin 1.7.2以降、デフォルトの文字セットは、この言語と地域のデフォルトのWindows ANSIコードページによって決定されます。Cygwinは、Windows ANSIコードページに相当する典型的なUnixの文字セットを使用します。

デフォルトの文字セットを使用したくないですか?その場合、文字セットを明示的に指定する必要があります。たとえば、あなたが日本出身で、日本語のデフォルト文字セットEUC-JPを使用したくないが、Windowsのデフォルト文字セットSJISを使用したいとします。

たとえば、できることは、「オプション」ダイアログの「テキスト」セクションで、mintty CygwinターミナルのLANG変数を設定することです。

ここに画像の説明を入力してください

バッチファイルまたはバッチファイルへのショートカットを介してCygwinセッションを開始する場合は、LANGを設定することもできます。

  @echo off

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

ソース第2章Cygwinのセットアップ-国際化

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.