随时获取本地化文本和资源
验证环境
- 窗户
-
- 视窗 11
- 统一编辑器
-
- 2021.3.12f1
- 输入系统(统一技术)
-
- 1.4.4
- 本地化(统一技术)
-
- 1.3.2
此提示的先决条件
作为此提示描述的前提,已预先进行了以下设置。
我们提示的目标
单击该按钮时,本地化表中的目标文本将显示在加载屏幕上。
先决条件知识和准备
此提示假定以下文本的本地化: 但是,由于我们不会实现所有这些,因此我们将在此处发布 1 的过程,但我们将简化重复的内容。
安装本地化软件包
这里的过程是相同的。
创建本地化
这和以前一样,所以我只会发布图像。
在这里,我们在“场景”文件夹中创建一个“本地化”文件夹,并在其中创建它。
创建区域设置
这也和以前一样,所以我省略了详细的程序。 要添加的区域设置包括“日语 (ja)”、“英语 (en)”和“西班牙语 (es)”。
我指定了前面提到的“本地化”文件夹。
将默认区域设置保留为“日语 (ja)”。
创建文本
将表名 TextTable
保留为 。
Localization
在 TextTable
文件夹中创建一个文件夹并指定它。
创建文本。 这一次,目的是以编程方式获取它,因此您可以暂时注册一个。
用户界面放置
我想放置文本和按钮,当我单击按钮时,我想显示当前区域设置的文本。
创建和附加脚本
创建脚本。 ButtonEvent
将名称保留为 。
using UnityEngine;
using UnityEngine.Localization.Settings;
using UnityEngine.UI;
public class ButtonEvent : MonoBehaviour
{
[SerializeField] private Text Text;
public void OnClick()
{
// Localization から指定したテーブル名とキーからエントリーを取得します
var entry = LocalizationSettings.StringDatabase.GetTableEntry("TextTable", "Hello").Entry;
Text.text = entry.Value;
}
}
输入单击按钮时发生的情况。
我们在这里所做的只是一件事 LocalizationSettings.StringDatabase.GetTableEntry
:您可以通过在方法中指定在本地化中创建的表名和键来获取搜索结果的条目。
这次我们使用文本来做,但资产也可以 LocalizationSettings.AssetDatabase
通过使用 .
获得条目后,您所要做的就是获取您拥有的值。 内容是所选区域设置的文本。 这次是通过同步处理获得的,但也可以使用异步方法。
将脚本附加到事件系统。 同时设置文本。
将单击处理分配给按钮。
运行并验证
完成设置后尝试运行它。 由于 UI 中未设置本地化事件,因此文本在执行时不会更改。
单击该按钮可切换到日语文本。 这是因为选择了日语的当前区域设置。
尝试更改屏幕右上角的区域设置,然后单击按钮。 它应更改为目标区域设置的文本。