随时更改区域设置
更新页 :
页面创建日期 :
验证环境
- 窗户
-
- 视窗 11
- 统一编辑器
-
- 2021.3.12f1
- 输入系统(统一技术)
-
- 1.4.3
- 本地化(统一技术)
-
- 1.3.2
此提示的先决条件
作为此提示描述的前提,已预先进行了以下设置。
先决条件知识和准备
此提示假定以下文本的本地化: 首先,请参考以下提示来准备显示本地化文本。
放置用于更改区域设置的按钮
如果在 Unity 编辑器中运行它,则可以更改屏幕右上角的区域设置,但在构建游戏后,它没有该功能,您需要自己准备。 这次,我将放置一个按钮,用于在三种语言“日语(ja)”,“英语(en)”和“西班牙语(es)”之间切换,然后单击以切换它们。
按钮脚本
确保在单击按钮时调用目标方法。 这是一个通用过程,因此我将省略详细信息。 有关详细说明,请参阅以下提示。
ButtonEvent
创建名为 的脚本。
using UnityEngine;
public class ButtonEvent : MonoBehaviour
{
<summary>Japanese (ja) ボタンをクリックしたとき。</summary>
public void OnClickJa()
{
}
<summary>English (en) ボタンをクリックしたとき。</summary>
public void OnClickEn()
{
}
<summary>Spanish (es) ボタンをクリックしたとき。</summary>
public void OnClickEs()
{
}
}
将每种方法分配给按钮单击。
处理区域设置更改
修改代码,如下所示:
using UnityEngine;
using UnityEngine.Localization;
using UnityEngine.Localization.Settings;
public class ButtonEvent : MonoBehaviour
{
<summary>Japanese (ja) ボタンをクリックしたとき。</summary>
public void OnClickJa()
{
LocalizationSettings.SelectedLocale = Locale.CreateLocale("ja");
}
<summary>English (en) ボタンをクリックしたとき。</summary>
public void OnClickEn()
{
LocalizationSettings.SelectedLocale = Locale.CreateLocale("en");
}
<summary>Spanish (es) ボタンをクリックしたとき。</summary>
public void OnClickEs()
{
LocalizationSettings.SelectedLocale = Locale.CreateLocale("es");
}
}
更改本身很简单 LocalizationSettings.SelectedLocale
,只需在属性中设置目标 Locale
即可切换。
Locale
Locale.CreateLocale
可以通过在方法中设置区域设置的名称来创建。
但是,由于区域设置更改过程是异步的,LocalizationSettings.SelectedLocale
因此设置的下一个过程并不意味着区域设置已经完全切换。
如果您正在执行与区域设置相关的操作,请小心。
运行并验证
这就是它的全部内容,所以请运行它并检查运动。 在游戏屏幕的右上角,您可以看到各种资源以与更改区域设置时相同的方式动态切换。