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

设置本地化

在工具找到本地化控制板

选择添加新语言

选择中文简体

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

收集文字

收集文字有三种:

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

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

    然后点击收集文本

    UE会执行文本收集

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

    下面会显示收集到的数量

设置翻译

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

未翻译为没有翻译的字体

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

已完成则为翻译完成的

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

通过导出外部翻译

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

我们加上语言后缀

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

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

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

本地查看效果

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

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

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

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

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

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

打包

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

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

还有中文简体

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

设置语言蓝图节点

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

传入的中英文的值是

相关推荐
DolitD8 小时前
UE像素流与云渲染技术方案对比分析
3d·云原生·ue5·云计算·图形渲染
小小数媒成员16 小时前
UGUI原理(一)
开发语言·游戏·unity·游戏引擎
揽星河..1 天前
【C语言】扫雷游戏
c语言·算法·游戏
Дерек的学习记录1 天前
Unreal Engine 5:第三人称运动系统和人物动画
开发语言·学习·ue5
郝学胜-神的一滴1 天前
AI 编程智能体 22:解析器赋能与实战落地全指南
人工智能·程序人生·游戏·unity·游戏引擎
云上工程笔记2 天前
用 AstraWork 复刻并二创一款网页地牢游戏:从链接到上线的完整工程实践
游戏
zrc0070072 天前
steam无法登录 steam错误 登录时出现错误。请稍后再试。解决办法 steam无法登录解决办法 湖南地区steam DNS问题解决办法
windows·经验分享·游戏·缓存·游戏程序·创业创新·玩游戏
大囚长2 天前
Kubernetes 的资源开销、适用边界,以及游戏与有状态负载的工程现实
游戏·容器·kubernetes
qq_25294131682 天前
三角洲第一人称射击游戏(FPS)角色部位检测数据集 | 游戏目标检测、角色部位识别、小目标检测9296期
目标检测·游戏·计算机·目标跟踪·三角洲·三角洲游戏·身体
william_yangshun2 天前
【AI实战】Claude-Code-Game-Studios中文版使用教程:把Claude Code改造成49个Agent的游戏工作室
人工智能·游戏