【发布时间】:2023-03-08 07:28:02
【问题描述】:
我正在使用 Unity 2019.2b 开发一个项目,它预计适用于所有平台(android、ios、windows、macos),我正在尝试获取设备区域设置信息(例如 en-us、en-au、en -bz)但我能找到的只是 Application.systemLanguage 定义。即使我决定使用这些信息,我仍然需要地区信息。是否有任何示例或方法可以在 Unity 中获取语言环境信息或获取设备区域信息? (如果仅针对区域信息的解决方案;我不想使用设备位置或不想使用用户 IP 地址,我想从设置中获取)
我尝试使用 RegionInfo、CultureInfo、System.Threading.Thread.CurrentThread.CurrentUICulture 和 System.Threading.Thread.CurrentThread.CurrentCulture 定义获取语言环境或至少设备区域信息,但没有成功。
string regionName = System.Globalization.RegionInfo.CurrentRegion.Name;
string cultureName = System.Globalization.CultureInfo.CurrentCulture.Name;
string cname = System.Threading.Thread.CurrentThread.CurrentCulture.Name;
string uiname = System.Threading.Thread.CurrentThread.CurrentUICulture.Name;
取决于平台(ios、android、windows、macos),有时结果是 InvariantCulture,有时总是 en-US,即使设备区域设置不是 en-US。
【问题讨论】:
-
您可以从 SystemLanguage 获得的唯一信息在这个枚举列表中:docs.unity3d.com/2018.3/Documentation/ScriptReference/… 我不确定 Unity 是否能够获得更具体的信息