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


29

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

/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が再構成され、サーバーを再起動したことにも言及する必要があります。

回答:


57

コマンドを実行します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. おそらくLANGとLANGUAGEを追加すると/etc/environment、変更が強制される可能性があります。ログアウト/ログインまたは再起動してください。

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

詳細:


1
簡単な質問です。変更を有効にするためにシステムを再起動する必要がありますか?
ダークスター

1
ログアウト/ログインはそれを行うべきだと思う
サヴバスラデビッチ

1
してみてくださいsudo update-locale LANG="fr_FR.UTF-8" LANGUAGE="fr_FR"sudo dpkg-reconfigure locales。最後に、おそらくLANGとLANGUAGEを追加すると/etc/environment、変更が強制される可能性があります。再起動してください。サーバーサービスに必要な場合があります。:)
サバスラデビッチ

1
sudo update-locale var=localeそして、ubuntuサーバー16.04で再起動が機能しました。
ダニエル

1
@ DarkStar1システムの再起動について、再起動する必要がありました。
アルフォンソ西川

2

私はからすべてを試みたsudo locale-gensudo update-localeするsudo update-localeと、手動でエントリを作成/etc/default/localeし、/etc/environmentとし、再起動せず。

何も機能していないようで、Ubuntu 18.04lでPythonコードがまだUnicodeエラーを投げていました。最後に、~/.bashrcworkedで環境変数を変更します。

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

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

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


もちろん、これはすべてのユーザーの.bashrcに対して実行する必要があり、新しいユーザーのスケルトンにも追加する必要があります.....
mckenzm

1

また、編集する必要があります/etc/profile

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

これはアブヒマヌの答えに対するコメントのように見えます。著者に批判や説明を求めるには、投稿の下にコメントを残してください。- レビューから
guntbert

コメントではありません。それが解決策であり、私のために働いた。
Witek
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.