前言
UE提供了一套非常赞的本地化解决方案,为游戏开发中的多语言版本匹配提供了便利。我们只需要简单的操作和配置即可完成翻译工作,在UE的最新版本中(4.19)依旧还是试验功能,您可以在菜单的Edit–Edit Preferences–Experimental–Tools–Localization Dashboard(勾选)找到此功能。开启后可以在Window菜单中打开本地化面板。
本篇文章将展示如何将源文件中的文本进行本地化操作,和如何将资产中的文本进行本地化(UMG),我们将简单的为大家进行展示操作。
注意:如果希望在CPP中输出中文,官方要求文档格式必须是UTF格式
源文件中本地化
在源文件中(CPP文档中),我们的本地化操作需要借助FText(FText本身就是为了解决显示信息的本地化而构建)进行操作,FText的创建方式有两种
01.声明文本空间宏方式构建
//引号内容可以随意
#define LOCTEXT_NAMESPACE "UECppTest"
//放到同文件CPP的底端
#undef LOCTEXT_NAMESPACE
对于文本空间声明完毕后即可使用宏LOCTEXT进行FText构建。
FText t1 = LOCTEXT("UECppGMB_T1", "Hello");//此代码需要在上面的声明宏内部
02.直接使用宏NSLOCTEXT构建
FText t1 = NSLOCTEXT("UECppTest", "UECppGMB_T1", "Hello");
第二种方法较第一种可以省去空间声明,但是并没有丢弃空间功能,只是在声明时需要额外多提供一个空间名