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

设置本地化

在工具找到本地化控制板

选择添加新语言

选择中文简体

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

收集文字

收集文字有三种:

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

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

    然后点击收集文本

    UE会执行文本收集

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

    下面会显示收集到的数量

设置翻译

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

未翻译为没有翻译的字体

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

已完成则为翻译完成的

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

通过导出外部翻译

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

我们加上语言后缀

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

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

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

本地查看效果

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

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

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

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

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

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

打包

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

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

还有中文简体

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

设置语言蓝图节点

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

传入的中英文的值是

相关推荐
xiezhr6 天前
米哈游36岁程序员被曝复工当晚猝死出租屋内
游戏·程序员·游戏开发
爱搞虚幻的阿恺9 天前
Niagara粒子系统-超炫酷的闪电特效(加餐 纸牌螺旋上升效果)
游戏·游戏引擎
智算菩萨9 天前
儿童游乐空间的双维建构:室内淘气堡与室外亲子乐园的发展学理、功能分野与协同育人机制研究
游戏·游戏策划
marteker9 天前
房地产市场平台Zillow与《魔兽世界》合作展示游戏内房屋
游戏
zhangzhangkeji10 天前
UE5 C++(71):文件是否存在,文件夹是否存在,FPaths :: FileExists( const FString & InPath) ;
ue5
wanhengidc10 天前
云手机 打造云端算力
运维·服务器·网络·游戏·智能手机
妙为10 天前
UE5角色穿过石头穿模
ue5·unreal engine5·角色穿越石头·穿模
henry10101010 天前
DeepSeek生成的HTML5小游戏 -- 黑8台球
前端·javascript·css·游戏·html
yuanmenghao10 天前
从零开始:使用 Claude Code 打造字母消除游戏
游戏·glm·claudecode
阿甘编程点滴10 天前
2026年推荐以下5款游戏直播提词器
游戏