DAY2-多语言设置
今天课有点多,还要交作业,进度有点慢
多语言设置
继DAY1完成的 Localization 的配置,继续完成多语言设置
创建字符表
- 在顶部菜单选择 Window -> Asset Management -> Localization Tables
- “Type”选择String Table Collection——因为只需要更换文字;“Name”修改为MainMenuUI_Text
- 点击 Create 按钮,创建一个新的字符表
- 在出现的类似 Excel 的表格中
- 点击 Add New Entry
- Key: 输入 MainMenu_Start
- 对应的语言部分输入所需呈现的文字

使用字符表
- 在需要文字的实体找到 TMP 子物体
- 在 TMP 子物体的 Inspector 面板找到 **TextMeshPro - Text (UI) **组件
- 此组件窗口边框的右侧有三个小点,点击并选择Localize,会自动为此 TMP 组件添加 Localize String Event 组件
- 在新加的组件里,打开String Reference的下拉菜单,选择对应的翻译 Key

字体的导入
在上一步完成后,所有的中文字体都只会显示为”口”,解决此问题需要导入字体资产,字体资产的选择要注意版权问题,个人开发者应当选择免费商用字体,这里以**阿里巴巴普惠体 (Alibaba PuHuiTi)**为例
- 打开网页:https://www.alibabafonts.com/#/font
- 下载阿里巴巴普惠体3.0与阿里巴巴普惠體TC(没有统一的繁体,选择使用人数更多的台湾繁体字)
- 解压ttf字体到Assets->Fonts文件夹
- 顶部菜单栏:Window -> TextMeshPro -> Font Asset Creator,按如下选择参数
- Source Font File: 选中字体文件文件
- Sampling Point Size: 选 Auto Sizing
- Padding: 5 (这是为了给描边或阴影留空间)
- Packing Method: Fast
- Atlas Resolution: 4096 x 4096(因为中文字符非常多,给大一点,避免贴图放不下)
- Character Set:选择Characters from File
- Character File:我是在 https://gitcode.com/open-source-toolkit/69526 下载的2万字的txt文件
- 其余的保持默认,点击Generate Font Atlas,完成后在Assets->Fonts文件夹下保存
实现字体的自动切换
搜了很多方法,最终选择使用Localization配合资产预制体解决
- 先创建接下来需要大量使用的内容的基础预制体,比如此处需要菜单的按钮,所以先创建一个Button预制体
- 右键->UI->按钮 - TextMeshPro
- 直接将创建好的按钮拖到Assets->Prefabs文件夹下
- 双击打开预制体,准备开始配置
- 打开windows->Asset Management->Localization Scene Controls
- 勾选弹出界面中的Track Changes,同时注意Active Locale里面选择的是什么类型的语言
- 在预制体的TextMeshPro - Text (UI)组件中,打开Font Asset的下拉菜单,选择此时的语言应当对应的的字体资产,此操作要重复多次,直到所有语言都有对应的字体资产

- 完成后先关闭Track Changes,然后运行测试是否能正确切换
- 测试无误后,以此预制体为基础创建菜单,即可省去重复配置的步骤
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Petrichor' Blog!
评论