UE5实现游戏中英文切换的本地化功能

设置本地化

在工具找到本地化控制板

选择添加新语言

选择中文简体

选择后语言会自动切换本地语言为中文

收集文字

收集文字有三种:

  1. 从文本文件收集,可以从源代码里收集相关
  2. 从包收集,可以从UE资产里收集所需翻译文本
  3. 从c++源代码里的元数据收集

    这里我勾选了从资产里收集,将数据表格里的数据和UI控件里使用的文本收集

    然后点击收集文本

    UE会执行文本收集

    收集完成后,有新增会显示+号,从新收集显示绿色勾即可

    下面会显示收集到的数量

设置翻译

点击右侧小按钮,编辑翻译

未翻译为没有翻译的字体

需要预览则是,已经翻译过,但是被修改过的文字,需要重新查看

已完成则为翻译完成的

在已完成这里,可以查看源和翻译后的

接着打开英文后面的编辑此语言的翻译,会发现全部未翻译

最简单也最麻烦的方法就是手动每个翻译,通过双击右侧的栏目,可以直接对前面的内容翻译

在翻译完成后,点击编译文本完成设置

设置大批量相同文字的翻译

点击搜索可以搜索一些相关的文字,查看对应的翻译

选中一个,会在下方查看到对应使用的地方

在搜索返回时,会发现多个相同的文字

打开后可以添加键和源字符串

我们在情景这里可以知道使用此文字的蓝图,通过Ctrl+P打开搜索框,搜索对应的文件

找到填写文字的地图,右侧有一个小旗帜

点击打开,就可以设置我们是否使用本地化,或者使用的本地化的文本,这对于一些大批量的文字,使用起来很方便

接着,我们需要将字符串表也添加到文字收集里面,所以字符串表最好都放到一个目录里

然后再重新打开搜索返回,如果只有一个了,证明实现了通用文本字符串替换

设置排除一些不需要翻译的文字

还是按之前的方式,通过文字找到对应的文件使用地方,然后将其本地化勾选取消

通过导出外部翻译

在语言右侧,有一个导出此语言的翻译

我们加上语言后缀

这里,我使用了Poedit软件进行翻译,随便翻译几个

然后点击导入,将翻译好的文件导入回来

然后再已完成里发现翻译的软件都没问题

本地查看效果

如果你编译完成了文本,可以在编辑器内查看本地化效果。

在控制组件的上方,我们可以通过切换本地化查看切换语言后的效果。

可以看到,切换后,进行翻译的内容显示的切换后的内容了

如果发现切换完成内容后,有些语言超出范围,尤其是是中文翻译英文的时候。我们有两种解决方案:

  1. 修改翻译内容,让文字变短
  2. 在文字外面添加缩放框,让文字根据需要缩放

    在设置这里我们可以设置拉伸方式以及拉伸方向(是只能够缩小还是能放大,还是两种情况都可以)

打包

添加了新的本地化语言以后,我们在打包的时候设置对应的打包配置

在项目设置打包这里,要打包的语言,我们选择英语

还有中文简体

国际化支持这里,选择支持中英文的这个

设置语言蓝图节点

设置当前语言的蓝图节点为Set Current Culture

传入的中英文的值是

相关推荐
金銀銅鐵2 天前
[Python] 模 n 乘法的逆元计算器
python·数学·游戏
金銀銅鐵3 天前
借助 Pygame 探索最大公约数的规律
python·数学·游戏
nujnewnehc7 天前
不会 py, 用 ai 写了个游戏辅助的感受
人工智能·游戏
jump_jump8 天前
为了重玩金庸群侠传,我研究了一下 Ruffle 怎么复活 Flash
游戏·rust·github
XIAOHEZIcode9 天前
Linux系统鼠标偏移常见原因以及修复方案
linux·运维·游戏
Aloys_Code10 天前
逆向一个被遗忘的DVD游戏格式:从DES加密到Rust模拟器
游戏·模拟器·retroarch·复古游戏·native32·sunplus·赤刃·钢铁风暴
金銀銅鐵10 天前
用 Python 实现 Take-Away 游戏
python·游戏
金銀銅鐵10 天前
用 Pygame 实现 15 puzzle
python·数学·游戏
两水先木示13 天前
【Unity3D】小游戏启动优化、发热优化、蒙皮网格优化
游戏
资源分享助手13 天前
杀戮尖塔2下载、Slay the Spire 2中文版、卡牌肉鸽游戏、杀戮尖塔2联机、杀戮尖塔2攻略
游戏