文本本地化
Last updated
Last updated
新建一张文本表 (StringTable)资源, 菜单命令: Assets (或Project中的右键菜单) > Create > fuliu > 语言本地化 (Localization) > 文本表 (StringTable), 文本表 (StringTable)资源命名为: TextTable.
通常语言类型文件属性会被自动填充上场景中存在的 LocalizationSetting 的语言类型文件, 若为自动填充或自动填充的文件不是你想要的, 可以重新手动填充.
可单击上图中的打开编辑器按钮打开文本表编辑器. 如果一切正常, 则窗口将如下图所示:
在文本表编辑器中点击创建字段左边的 + 号按钮新建一个字段, 字段ID 默认从 0 开始, 这几乎任何适合都不用修改. 然后在字段名输入框中输入字段名, 如: "TestField 0"; 接着点击一下字段名字样或字段名字样前面的向右箭头, 将会打开各种语言对应的文本输入框:
我们手动输入第一行(简体中文): '测试字段 0', 第二行(英语): 'TestField 0'. 当我们往这两行中输入文字后,可以发现之前显示红色字样的语言名称, 现在显示变为了白色. (如果Unity 的皮肤是亮色的(Light), 那么这些文字都只能显示黑色, 不会变色, 这是Unity的问题, 还算不影响使用.)
我们到当前场景中新建一个Ugui的Text UI对象, 然后给它挂上 UITextStaticSetter 组件.
将上面创建的StringTable 资源文件拖入到上图的静态文字下方的对象引用框中, 接着对象引用框的右边会出现一个下拉列表, 在下拉列表中选择我们之前创建的字段: TestField 0.
文本的本地化设置就完成了. 接下来测试一下它能不能正常工作, 点击上图中的设置到显示组件的按钮, 可以看到Scene窗口中的 Text 组件显示的文字变成了中文: '测试字段 0', 说明已经成功了.
点击下图中的这个按钮来循环切换不同的语言来查看文字的显示, 若文字显示在不同语言时出现异常,可以及时调整 Text 组件参数和Setter组件参数.