Unity の CurrentCulture
Unity のカレントのカルチャ情報がどうなってるか調べてみました。
Macの場合
※実行は Unity エディタ上。プラットフォームは Standalone/iOS/Android のいずれを選択しても結果に変化はなし。
【ビルド&実行環境】
OS | macOS Sierra(10.12.2) |
---|---|
OSの言語設定 | 日本語 |
Unityのバージョン | 5.5.0f3 |
System.Globalization.CultureInfo.CurrentCulture のプロパティの値
en-US とかになってるのか? と予想しつつ確認すると Name は "" 、 LCID は 127 。
マイクロソフトの LCID の一覧にも該当するもの無し。
ロケール ID (LCID) の一覧
https://msdn.microsoft.com/ja-jp/library/cc392381.aspx
もう少し、調査するとこちらのドキュメントを発見。
CultureInfo クラス
https://msdn.microsoft.com/ja-jp/library/system.globalization.cultureinfo(VS.71).aspx
127(16進では 0x007F )はインバリアントカルチャ( invariant culture )の場合の値みたいです。
インバリアントカルチャとは文化に依存しない設定。関連付けられている国/地域は無く、言語は何も設定しないわけにいかないからだと思いますが英語が設定されています。
他のカルチャは将来設定に変更が発生する可能性がありますがインバリアントカルチャの場合には変更がされない為、ファイルにデータを保存する時などはインバリアントカルチャの方が良いみたいです。
(2017/01/27 追記)
Windows 環境では状況が異なるという話を聞いたので Windows 環境でも確認しました。
Windows(Unityエディタ上)の場合
※実行は Unity エディタ上。プラットフォームは Standalone/iOS/Android のいずれを選択しても結果に変化はなし。
【ビルド&実行環境】
OS | Windows 10 Pro(64bit) |
---|---|
OSの言語設定 | 日本語 |
Unityのバージョン | 5.5.0p4 |
Windows 環境では Name は "en-US" 、 LCID は 1033(16進では 0x409)。
Windowsの場合(Visual Studio Community)
Visual Sudio環境ではどうなるのかも確認してみました。
【ビルド&実行環境】
OS | Windows 10 Pro(64bit) |
---|---|
OSの言語設定 | 日本語 |
Visual Studio | Visual Studio Community 2015(Verion 14.0.25431.01 Update 3) |
Name は "ja-JP" 、 LCID は 1041(16進では 0x411)。
アプリ化した時の動作も追記。
Mac(アプリ化して実行)
【ビルド&実行環境】
OS | macOS Sierra(10.12.2) |
---|---|
OSの言語設定 | 日本語 |
Unityのバージョン | 5.5.0f3 |
Name は "" 、 LCID は 127。
Windows(アプリ化して実行)
【ビルド&実行環境】
OS | Windows 10 Pro(64bit) |
---|---|
OSの言語設定 | 日本語 |
Unityのバージョン | 5.5.0p4 |
Name は "en-US" 、 LCID は 1033。
iOS
【ビルド環境】
OS | macOS Sierra(10.12.2) |
---|---|
OSの言語設定 | 日本語 |
Unityのバージョン | 5.5.0f3 |
【ビルド環境】
OS | Windows 10 Pro(64bit) |
---|---|
OSの言語設定 | 日本語 |
Unityのバージョン | 5.5.0p4 |
【実行環境】
OS | iOS 10.2 |
---|---|
OSの言語設定 | 日本語 |