既存のロケールとは異なる言語に基づいて新しいロケールを作成するには?

既存のロケールとは異なる言語に基づいて新しいロケールを作成するには?

ロケールを作成したいですen_IL.UTF-8。言語は英語(具体的には米国英語)ですが、日付、数字などはイスラエル/パレスチナで一般的です。

これを達成するにはどうすればよいですか?

注:重要な場合、ディストリビューションはDevuan BeowulfまたはantiX 19.3です。

答え1

不完全だが機能する解決策:

まず、出力を確認してください。$ locale

次に、そのパッケージのマニュアルを読み、インストールします(該当する場合)。

locale、、、、、localedeflocalehelperlocales-alllocalepurge

ちょうどlocales-allインストールし、私の環境に設定しました。.bashrc

export LANG="en_GB"
export LANGUAGE="en_GB:en"
export LC_CTYPE="en_GB"
export LC_NUMERIC="de_DE"
export LC_TIME="de_DE"
export LC_COLLATE="de_DE"
export LC_MONETARY="es_MX"
export LC_MESSAGES="en_GB"
export LC_PAPER="de_DE"
export LC_NAME="de_DE"
export LC_ADDRESS="de_DE"
export LC_TELEPHONE="de_DE"
export LC_MEASUREMENT="es_MX"
export LC_IDENTIFICATION="de_DE"
export LC_ALL=

次回ログインすると、システムは期待どおりに機能しました。

これによりオーバーヘッドが発生します。未使用のロケールはarroundに保存されます250MiB(から抽出できる限りncdu)。今は保存スペースが安くて一応保管しています。

答え2

私がしなければならないことは次のとおりです。新しいロケールを作成します。

目的のロケールに最も近いものを探します。私の場合は、en_US次のようになります。

cd /usr/share/i18n/locales
sudo cp en_US en_XX
sudo vim en_XX

もちろん、あなたは使用しませんen_XX。特定の問題については次のとおりですen_IL。 Debianでは、ファイルにはかなり良いコメントがあり、編集が簡単です。また、住所文字列と用紙サイズを確認するために、その国の文書を調べました。

その後、そのロケールをコンパイルすることが重要です。

sudo localedef --no-archive -i en_XX  -f UTF-8 en_XX.UTF-8

最後に実際に設定できます。

sudo localectl set-locale en_XX.UTF-8

関連情報