なぜ `ncal -p` は「ラテン」が 9999-05-31 にユリウス暦からグレゴリオ暦に切り替わったと表示するのでしょうか?

なぜ `ncal -p` は「ラテン」が 9999-05-31 にユリウス暦からグレゴリオ暦に切り替わったと表示するのでしょうか?

ncal -pユリウス暦からグレゴリオ暦への切り替え日を印刷してみると、次のようになりました。

 AL Albania        1912-11-30      IT Italy          1582-10-04
 AT Austria        1583-10-05      JP Japan          1918-12-18
 AU Australia      1752-09-02      LI Lithuania      1918-02-01
 BE Belgium        1582-12-14      LN Latin          9999-05-31
 BG Bulgaria       1916-03-18      LU Luxembourg     1582-12-14
 CA Canada         1752-09-02      LV Latvia         1918-02-01
 CH Switzerland    1655-02-28      NL Netherlands    1582-12-14
 CN China          1911-12-18      NO Norway         1700-02-18
 CZ Czech Republic 1584-01-06      PL Poland         1582-10-04
 DE Germany        1700-02-18      PT Portugal       1582-10-04
 DK Denmark        1700-02-18      RO Romania        1919-03-31
 ES Spain          1582-10-04      RU Russia         1918-01-31
 FI Finland        1753-02-17      SI Slovenia       1919-03-04
 FR France         1582-12-09      SE Sweden         1753-02-17
 GB United Kingdom 1752-09-02      TR Turkey         1926-12-18
 GR Greece         1924-03-09     *US United States  1752-09-02
 HU Hungary        1587-10-21      YU Yugoslavia     1919-03-04
 IS Iceland        1700-11-16

注意:LN Latin 9999-05-31これは何を意味しますか? なぜ未来なのですか? なぜ具体的に 9999 年 5 月 31 日なのですか? 「ラテン」とは何ですか (国ではありません)?

答え1

これはプログラムにハードワイヤードされたテーブルですncalWolfgang Helbigは1998年にこのエントリを追加して更新しました。更新の説明では、この国は追加された4つの国のうちの1つとして記載されていましたが、ヘルビッグ氏がこの国が国であるというアイデアをどこから得たのかは述べられていませんでした。(このデータはクラウス・トンデリングカレンダーに関するよくある質問、 注記。)

xx_LNほぼ間違いなく、何らかの理由でロケール を設定した人々に対応するためでした。 ncal2 文字のコードとLC_TIMEC ライブラリから読み取ったロケール名を比較して、このテーブル内のどのレコードが適用されるかを判断します。

la_LNFreeBSDにはロケールがあったM.ヘルビッヒもこれを付け加えた(1998年)2015年にFreeBSDがロケール情報のソースとして共通ロケールデータリポジトリを使用するように切り替えるまで。M.ヘルビッヒの考えは、ローマ帝国にまだ住んでいるかのようにセッションを設定することを選択した人々は、少なくとも2015年まではユリウス暦を使用するだろうというものだったようです。カレンダー 1970 ZZZZMCMXCIX。 ☺

関連情報