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

设置本地化

在工具找到本地化控制板

选择添加新语言

选择中文简体

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

收集文字

收集文字有三种:

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

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

    然后点击收集文本

    UE会执行文本收集

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

    下面会显示收集到的数量

设置翻译

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

未翻译为没有翻译的字体

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

已完成则为翻译完成的

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

通过导出外部翻译

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

我们加上语言后缀

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

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

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

本地查看效果

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

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

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

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

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

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

打包

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

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

还有中文简体

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

设置语言蓝图节点

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

传入的中英文的值是

相关推荐
郁闷的网纹蟒2 小时前
虚幻5---第15部分---宝藏(掉落物)
开发语言·c++·ue5·游戏引擎·虚幻
HAPPY酷2 小时前
C++ 音视频项目与 UE5 渲染与电影制作的关系
c++·ue5·音视频
2501_946490382 小时前
xR虚拟制片技术在游戏IP展演中的高密度拍摄落地实践——基于hecoos xR+UE4的技术实现
tcp/ip·游戏·xr
wanhengidc12 小时前
私有云具体是指什么
服务器·网络·游戏·智能手机·云计算
dalong101 天前
A24:圈住小猫游戏
笔记·算法·游戏·aardio
斯内科1 天前
C#德州扑克梭哈游戏(2):牌型与点数比较
游戏·c#·梭哈
Pure_White_Sword1 天前
bugku-reverse题目-游戏过关
游戏·网络安全·ctf·reverse·逆向工程
斯内科1 天前
C#德州扑克梭哈游戏(1):简介与初步枚举定义
游戏·德州扑克·梭哈