Skip to content

如何获取系统语言

  1. 启用多语言支持

    1. 使用 XRMan 的话,在场景中 XRMan 对象的 Inspertor 面板中,找到 XRMan 组件,找到 Extras->SupportMultipleLanguage,勾选。
    2. 不使用 XRMan 组件的话,确保场景中存在 SystemManager 组件,没有就通过右键菜单创建一个,具体可以参考开发文档的”快速使用“。
  2. 注册语言获取回调,并发送请求

    1. 创建一个 MonoBehavior 脚本,挂载到场景的对象中
    2. 在脚本中添加
csharp
//注册系统语言信息的回调
OSEventSystem.OnInstructionsReceived_LanguageReceived += onLanguageRefreshed;
//向系统发起获取语言的请求
Utilities.Android.SendIntent("ToSystem", "com.ezxr.glass.systemui", "GetLanguage", "GetLanguage");



    //获取系统语言的回调
    public void onLanguageRefreshed(string language)
    {
        Debug.Log("EzxrUIDemo=> onLanguageRefreshed: " + language);
    }
  1. 使用 Unity Localiztion 或其他第三方本地化组件
    1. 按照下一章节 Unity Localization 使用创建了对应的 Localization 资源后,如果有适配的 Locale,SDK 会根据已有的适配进行切换。然后发出回调信息。无需额外操作