I18N: .NET Core 2.0 Globalization Invariant Mode

.NET Core 2.0 Globalization Invariant Mode · Issue #20 · dotnet/announcements

.NET Core 2.0からGlobalization Invariant Modeが追加されます。これは、アプリケーションから、Globalization機能、特にロケールに関する処理を実質的に削除するモードです。.NET CoreのGlobalization機能はアプリケーションが動作するOSのその機能に依存します。(LinuxはICUに依存)しかし、この機能はそれなりな大きさになることと、実動作がプラットフォーム依存となるため、OSやOS/ライブラリのバージョンにより、文字列ソートなどにおいてアプリケーションが動作するプラットフォームごとに異なる結果になってしまうことが予想されます。このようなことから、特にGlobalization機能は必要ないのでアプリケーションのフットプリントを軽くしたい、あるいは、クロスプラットフォームで厳密に実行結果を合わせたいので、独自ライブラリの使用や自己実装の手間をいとわない場合に使用することが出来ます。

特に今までI18N/G17Nに関わってきた方たちに注意して欲しいのは、このモードはロケール中立ではなく、これはあくまでも「Invariant Language (Invariant Country)」というロケール・カルチュアだと言うところです。従って、先ほどの後者を実現するには、既存の.NETが持つG17N機能は一切使用できないと考え、全くの独自実装が必要になると考えられます。

このモードの詳細については以下のドキュメントをご確認ください。

corefx/globalization-invariant-mode.md at master · dotnet/corefx

コメントを残す