毎週月曜日に開始するようにロケールを調整します。

毎週月曜日に開始するようにロケールを調整します。

ロケールをC.UTF-8使っていますが、大丈夫
です。月英語で?

私はそれをlocale first_weekday返したいと思います2。どのアプリケーションにも特別な注意を払う必要はありません。locale私が知っている限り、POSIXによって規制されているので(修正されたらいいです)、少なくとも今はもっと詳しく説明しているシステムへの具体的な動機を示していません。

編集する

次のようなコメント~からスティーブン・チャジェラス私はDebian Sidを使用していることを申し上げたいと思います。

答え1

少なくとも3つのオプションがあります。

  1. C.UTF-8で新しいロケールを作成し、first_weekday値を変更します。 X.UTF-8と呼びます。 Debian でこれらのディレクトリに対する権限がある場合は、次のことを行う必要があります。
    cp -R /usr/lib/locale/C.UTF-8 /usr/lib/locale/X.UTF-8
    cat /usr/share/i18n/locales/C | sed -E 's/first_weekday[[:blank:]]+1/first_weekday 2/g' | localedef --add-to-archive /usr/lib/locale/X.UTF-8 -i -
    LC_TIME=X.UTF-8 locale first_weekday

したがって、フォルダ構造を再生成するための怠惰な方法である既存の定義をコピーし、位置パラメータを使用して最初の平日(おそらく短い)を参照する行を変更しますが、これは読みやすくなります。

  1. 既存のC.UTF-8ロケールでこの値を変更します。
    cat /usr/share/i18n/locales/C | sed -E 's/first_weekday[[:blank:]]+1/first_weekday 2/g' | localedef --add-to-archive /usr/lib/locale/C.UTF-8 -i -
    LC_TIME=C.UTF-8 locale first_weekday
  1. en_GBとC.UTF-8の違いが異なる場合は、次の手順に従って変更する必要があります。

システムによっては、一部のロケールをすぐに使用できない場合があります。したがって、まずen_GB.UTF-8が利用可能であることを確認してください。そうしないと、「LC_ALL をデフォルトのロケールに設定できません」というエラーが発生します。

locale -a

そうでない場合は追加します。システムに関する情報がないため、方法をお知らせできません。 Debian / Ubuntuでは、次のことができますdpkg-reconfigure locales(または編集/etc/locale.genしてロケールを追加したり、コメントを削除して実行したりする可能性がありますlocale-gen)。

使用可能なロケールのリストにen_GB.UTF-8が表示されたら、次のように設定できます。

LC_TIME=en_GB.UTF-8

LC_TIME=en_GB.UTF-8 locale first_weekday

2を返す必要があります

これDebian ドキュメントさまざまな環境で変更を永続的に適用する方法の詳細情報

関連情報