web-dev-qa-db-ja.com

Ubuntu Serverのデフォルトのロケールを変更するにはどうすればよいですか?

リモートサーバーをインストールしましたが、数時間にわたってロケールをフランス語に変更しようとして失敗しました。以下は私のロケールファイルの内容です。

/etc/default/locale

LANG="fr_FR.UTF-8"
LANGUAGE="fr_FR.UTF-8"
LC_CTYPE="fr_FR.UTF-8"
LC_NUMERIC="fr_FR.UTF-8"
LC_TIME="fr_FR.UTF-8"
LC_COLLATE="fr_FR.UTF-8"
LC_MONETARY="fr_FR.UTF-8"
LC_MESSAGES="fr_FR.UTF-8"
LC_PAPER="fr_FR.UTF-8"
LC_NAME="fr_FR.UTF-8"
LC_ADDRESS="fr_FR.UTF-8"
LC_TELEPHONE="fr_FR.UTF-8"
LC_MEASUREMENT="fr_FR.UTF-8"
LC_IDENTIFICATION="fr_FR.UTF-8"
LC_ALL="fr_FR.UTF-8

/var/lib/locales/supported.d/local

fr_FR.UTF-8 UTF-8
en_US.UTF-8 UTF-8
en_GB ISO-8859-1
en_GB.UTF-8 UTF-8
en_GB.ISO-8859-15 ISO-8859-15
fr_BE.UTF-8 UTF-8
fr_CA.UTF-8 UTF-8
fr_CH.UTF-8 UTF-8
fr_LU.UTF-8 UTF-8
fr_FR ISO-8859-1

私のWebアプリでは、すべてがデフォルトで英語の日付と$通貨にデフォルト設定されています。私が見落としているものはありますか?また、変更が行われた後にdpkgが再構成され、サーバーを再起動したことにも言及する必要があります。

28
Dark Star1

コマンドlocaleを実行します-現在のロケールが表示されます。

フランス語のロケールを生成します。

Sudo locale-gen fr_FR
Sudo locale-gen fr_FR.UTF-8

また、次を実行して、サポートされているロケールリストを再生成してください。

Sudo dpkg-reconfigure locales

そして、現在のデフォルトのロケールを更新/変更します:

Sudo update-locale LANG=fr_FR.UTF-8

更新

追加の手順:

  1. 試してください:

    Sudo update-locale LANG="fr_FR.UTF-8" LANGUAGE="fr_FR"
    Sudo dpkg-reconfigure locales
    
  2. おそらく/etc/environmentにLANGとLANGUAGEを追加すると、変更が強制される可能性があります。ログアウト/ログインまたは再起動してみてください。

  3. localeは、現在のユーザーの現在のロケールを表示します。おそらく、ローカル言語変数が設定されていないことを確認するために、これらのファイルをチェックアウトする価値があるでしょう:~/.profile~/.bashrc~/.bash_profile

詳細:

55
Savvas Radevic

Sudo locale-genSudo update-localeからSudo update-localeまでのすべてを試し、/etc/default/locale/etc/environmentに再起動の有無にかかわらずエントリを手動で作成しました。

何も機能していないようで、私のPythonコードはまだUbuntu 18.04lでUnicodeエラーを投げていました。最後に、~/.bashrcの環境変数を修正しました。

export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8

もちろんsource ~/.bashrcを忘れないでください

私はそれが推奨される方法ではないことを知っていますが、私のために他に何も機能しませんでした。

2
Abhimanu Kumar

/etc/profileも編集する必要があります:

export LANG="en_US.utf8"
export LANGUAGE="en_US.utf8"
export LC_ALL="en_US.utf8"
1
Witek