Ubuntuでロケールサポートを実演するには:
vagrant init ubuntu/jammy64
vagrant up
vagrant ssh
sudo apt-get -y install hello language-pack-nb
LC_MESSAGES=nb_NO.UTF-8 hello
それから予想されるローカライズされた「Hei、verden!」メッセージが印刷されます。
次のようにNixパッケージを実行してみましょう。私が見つけることができる唯一のロケールのヒント:
sudo apt-get -y purge hello
yes | sh <(curl -L https://nixos.org/nix/install) --daemon
exit
vagrant ssh
nix-shell --packages hello
export LOCALE_ARCHIVE=/usr/lib/locale/locale-archive
LC_MESSAGES=nb_NO.UTF-8 hello
すると「Hello, world!」が印刷されます。また、sudo dpkg-reconfigure locales
"nb_NO.UTF-8"をデフォルトのロケールに設定しようとしましたが、成功しませんでした。
Nix シェルからローカライズされたメッセージを受信するには、今何をすべきですか?
ベストアンサー1
まず、Ubuntuでロケールを再構成し、関連ロケールを構成に追加する必要がありました。
次に、パッケージのローカライゼーションがshare/locale/nb/LC_MESSAGES
settingsというディレクトリにあったにもかかわらず、LC_MESSAGES=nb_NO.UTF-8
settingsを変更する必要がありましたLANG=nb_NO.UTF-8
。
つまり、こんな感じだ。最低限度でスピード:
sudo dpkg-reconfigure locales
nix-shell -p hello
export LOCALE_ARCHIVE=/usr/lib/locale/locale-archive
LANG=nb_NO.UTF-8 hello