サポートが終了しているWindowsに元号(令和)を追加するには?
カテゴリー: General
2019-05-24
サポートが終了しているWindowsに元号(令和)を追加するには?
サポートが終了しているWindowsに元号(令和)を追加するには?
Windows 9x系 :Me, 98, 95
Windows NT系:Vista, XP
どちらも元号情報は、システムフォルダのLOCALE.NLSというファイルに保存されています。
LOCALE.NLSは地域と設定関係のデータが保存されているファイルでバイナリ形式のため通常のテキストエディタでは編集できません。
また置き換えるには、システムがファイルを開いているため、起動中の置き換えはできません。
そのため、Windows系の別のシステム(Live DVDなど)を起動するか、別のパソコンに記憶装置を接続する必要があります。
Vista
それ以前は、月の満ち欠けを基準とした太陰歴です。
Windowsは、
(1) 太陽暦前提で元号情報を変換している
(2) 元号の開始日とは別に変換開始日の指定がない
(3) 元号情報に暦の種類のデータがない
これらの問題で 明治を変換できるのは 1873年1月1日(明治6年1月1日)からです。
それ以前は、太陰暦のため、間違った値を返します。
本来 1872年12月31日を変換した場合は、 変換エラー を返す必要がありますが、
WindowsAPIにチェック機能がないため太陽暦前提の月日を返し間違った値を返します。
また、Windows98以降の全バージョンで明治の開始月日が間違って設定されています
※ 現行歴(太陽暦)の有効な範囲内(1873年1月1日以降)での変換結果には影響はありません。
Windows ME, XP: 1868年9月8日
元号に関連して、locale.nls以外で更新しなければいけない部分がいくつもありますが
それらについては、専用アプリで更新もしくは元号関係のホームページで確認してください。
執筆:2019.05.24
編集:2019.05.24
編集:2019.06.04
編集:2019.05.24
編集:2019.06.04
サポートが終了しているWindowsに元号(令和)を追加するには?
Windows 9x系 :Me, 98, 95
Windows NT系:Vista, XP
どちらも元号情報は、システムフォルダのLOCALE.NLSというファイルに保存されています。
LOCALE.NLSは地域と設定関係のデータが保存されているファイルでバイナリ形式のため通常のテキストエディタでは編集できません。
また置き換えるには、システムがファイルを開いているため、起動中の置き換えはできません。
そのため、Windows系の別のシステム(Live DVDなど)を起動するか、別のパソコンに記憶装置を接続する必要があります。
Vista
Vistaとそれ以前のウインドウズでは、locale.nlsのデータファイル形式が大きく異なり互換性がありません。
Windows XP
XPとそれ以前のウインドウズでは、locale.nlsのデータファイル形式は同じですが記録されているデータが若干違います。
Windows 9x
Windows Me, 98, 95
手順は基本的に WindowsXP と同じです。
手順 (Windows XP)
- 令和を追加したいシステムを起動します
- 元号を追加する専用アプリを起動し、更新を実行します
- システムを再起動し、変更が反映されているか確認をして作業は終了です。
手順 (Windows Me, 98, 95)
- 令和を追加したいシステムを起動します
- 元号を追加する専用アプリを起動し、元号を追加したファイルを生成します
- システムを終了します(必ずシャットダウンしてください)
- Live OSメディアで起動
もしくはWindows系のシステムに上記のシステムの入った記憶装置を接続し、新しく生成したファイルに差し替えます。 - 令和を追加したコンピューターを起動して変更が反映されているか確認をして作業は終了です。
locale.nlsの情報
明治の変換について
明治は、明治6年1月1日(1873年1月1日)に太陽暦に変更されました。それ以前は、月の満ち欠けを基準とした太陰歴です。
Windowsは、
(1) 太陽暦前提で元号情報を変換している
(2) 元号の開始日とは別に変換開始日の指定がない
(3) 元号情報に暦の種類のデータがない
これらの問題で 明治を変換できるのは 1873年1月1日(明治6年1月1日)からです。
それ以前は、太陰暦のため、間違った値を返します。
本来 1872年12月31日を変換した場合は、 変換エラー を返す必要がありますが、
WindowsAPIにチェック機能がないため太陽暦前提の月日を返し間違った値を返します。
また、Windows98以降の全バージョンで明治の開始月日が間違って設定されています
※ 現行歴(太陽暦)の有効な範囲内(1873年1月1日以降)での変換結果には影響はありません。
Windows ME, XP: 1868年9月8日
慶応4年9月8日の9月8日に由来すると思われる
(慶応4年9月8日 : 1868年10月23日)
(1) 暦の種類が違うことをマイクロソフトのシステム開発者が知らないと考えられる
(2) 明治元年(慶応4年)9月8日は旧暦の明治への改元実施日であるが1月1日まで遡及改元したことをマイクロソフトのシステム開発者がしらなかったと思われる。
Windows vista - 10: 1868年1月1日
明治元年1月1日の1月1日に由来すると思われる
(明治元年1月1日は、1868年1月25日)
(1) 2019年現在でも暦の種類が違うことをマイクロソフトのシステム開発者が知らないと考えられる
まとめ
- 明治元年1月1日は、1868年1月25日です。切り替え実施日は、明治元年9月8日なので注意が必要です。
令和元年で明治生まれは、2600人前後いるそうです。 - 明治6年1月1日(1873年1月1日)に、太陽暦に変更されました。
- 1873年1月1日より前にさかのぼる場合は、和暦は、太陰暦(旧暦)ですのでWindowsのシステムの機能では正しく変換できません。
変換できない期間
1868年1月25日 | (明治元年1月1日) |
から | |
1872年12月31日 | (明治5年12月2日) |
変換できる期間
1873年1月1日 | (明治6年1月1日) |
から |
元号に関連して、locale.nls以外で更新しなければいけない部分がいくつもありますが
それらについては、専用アプリで更新もしくは元号関係のホームページで確認してください。