多语言支持(Localization)

目录

如何根据UE4的Localization功能进行本地化

如何使用ADX2音频数据

(1) 创建多语言Cue和Cue Sheet

在CRI Atom Craft上创建"支持多语言Cue和Cue Sheet"。
关于如何创建,请参照CRI AtomCraft手册的“多语言支持”
之后构建并输出acb文件。

(2) 按语言创建文件夹

在UE4项目的Content文件夹下直接创建"L10N"文件夹,并为其下的每种语言各创建一个文件夹。
例如,要支持日语,英语和中文时,请创建如下所示的文件夹。
criware_ue4_035_how_to_localize_on_UE4_official_localization_l10n_tree.jpg

请根据UE4规范 创建"ja", "en"等文件夹名称。

(3) 导入基本Asset

打开UE4项目。
在(1)中创建的acb文件中,导入日语的文件。
criware_ue4_035_how_to_localize_on_UE4_official_localization_adx2_step3.jpg

(4) 创建日语本地化Asset用的文件夹

[右键单击Cue Sheet Asset]→[Asset Localization]→[Create Localized Asset]→[Japanese]。
criware_ue4_035_how_to_localize_on_UE4_official_localization_create_japanese.jpg

这将创建日语本地化Asset用的文件夹,内容浏览器将移动到该位置。
criware_ue4_035_how_to_localize_on_UE4_official_localization_japanese_created.jpg
此时创建的asset因为是不需要的所以将被删除。
以上步驟的目的是创建合适的文件夹,因此不一定需要采用上述方法。
 也可以手动创建文件夹。

(5) 创建日语用本地Asset

在(1)中创建的acb文件中,拖放要导入的日语文件。
criware_ue4_035_how_to_localize_on_UE4_official_localization_japanese_reimported.jpg

(6) 创建英语本地化Asset用的文件夹

移动到原来的Cue Sheet Asset位置。
criware_ue4_035_how_to_localize_on_UE4_official_localization_base_assets.jpg

[右键单击Cue Sheet Asset]→[Asset Localization]→[Create Localized Asset]→[English]。
criware_ue4_035_how_to_localize_on_UE4_official_localization_create_english.jpg

这将创建英语本地化Asset用的文件夹,内容浏览器将移动到该位置。
criware_ue4_035_how_to_localize_on_UE4_official_localization_english_created.jpg
此时创建的asset因为是不需要的所以将被删除。
以上步驟的目的是创建合适的文件夹,因此不一定需要采用上述方法。
 也可以手动创建文件夹。

(7) 为英语创建本地化Asset

在(1)中创建的acb文件中,拖放要导入的英语文件。
criware_ue4_035_how_to_localize_on_UE4_official_localization_english_reimported.jpg

(8) 其他语言重复相同步骤

按照与(6)和(7)相同的步骤,为每种语言创建其需要支持的本地化Asset。
以上为创建本地化Asset的所有步骤。

(9) 如何使用本地化Asset

在处理Cue Asset和Cue Sheet Asset时,请使用在(3)中创建的Asset。
然后,在加载Asset时,将根据语言设置加载其合适的本地化Asset。
请注意,不小心直接使用"L10N"文件夹中的Asset时,将不会根据语言设置进行切换。

(10) 如何切换语言

关于 如何实际切换语言 请参照后述的内容。

使用Sofdec2视频数据时

对Sofdec2视频数据进行各语言的本地化时,可以对内容浏览器上的Sofdec2 Movie Source的uasset按照需要支持的语言进行Asset Localization。
具体步骤示例如下。

(1) 配置视频文件

首先,假设每种语言的视频文件配置于以下目录中。
  • [ProjectDir]/CriWare/ja/SampleMovie.usm
  • [ProjectDir]/CriWare/en/SampleMovie.usm

(2) 按语言创建文件夹

在UE4项目的Content文件夹下直接创建"L10N"文件夹,并为其下的每种语言各创建一个文件夹。
例如,要支持日语,英语和中文时,请创建如下所示的文件夹。
criware_ue4_035_how_to_localize_on_UE4_official_localization_l10n_tree.jpg

请根据UE4规范 创建"ja", "en"等文件夹名称。

(3) 导入基本Asset

打开UE4项目。
在(1)中创建的视频文件中,导入日语的文件。
这次假定此文件已导入至以下目录。
  • [ProjectDir]/CriWare/SampleMovie.uasset
在Asset编辑器中打开SampleSound.uasset时,[File]→[File Path]设置为"CriWare/ja/SampleMovie.usm"。

(4)为日语创建本地化Asset

要支持日语,右键单击SampleMovie asset,单击[Asset Localization]→[Create Localized Asset]→[Japanese]进行本地化。
支持了日语的SampleMovie.uasset复制至"/L10N/ja/CriWare"。

(5)为英语创建本地化Asset

移动到原来的视频Asset位置。
接下来,要支持英语,右键单击SampleMovie asset,单击[Asset Localization]→[Create Localized Asset]→[English]的文件夹。 支持了英语的SampleMovie.uasset复制至"/L10N/en/CriWare"。
在此将日语的SampleMovie.uasset更改为英语。
双击复制到"/L10N/en/CriWare"下面的SampleMovie.uasset,打开Asset编辑器。
在[File]→[File Path]中,输入从Content下面到支持英语的usm文件的路径(CriWare/en/SampleMovie.usm)。

(6) 其他语言重复相同步骤

按照与(5)相同的步骤,为每种语言创建其需要支持的本地化Asset。
以上为创建本地化Asset的所有步骤。

(7) 如何使用本地化Asset

在处理视频Asset时,请使用在(3)中创建的Asset。
然后,在加载Asset时,将根据语言设置加载其合适的本地化Asset。
请注意,不小心直接使用"L10N"文件夹中的Asset时,将不会根据语言设置进行切换。

(8) 如何切换语言

关于 如何实际切换语言 请参照后述的内容。

如何实际切换语言

注意
仅能在运行封装好的游戏时切换语言。
使用以下方法之一更改语言设置。
  • (A) 在蓝图上执行"Set Current Culture"节点
  • (B) 在C++上执行"SetCurrentCulture"函数
在此操作之后加载的Asset将是与先前指定的语言相对应的本地化Asset。
请注意已加载的Asset将不会更改。

AssetGroup功能

有时候可能需要“音频以英语播放而字幕以日语显示”的情况。
此时可以仅将与音频相关的Asset设置为英语,而与字幕相关的Asset设置为日语。
虚幻引擎具有以下两个功能:
-(A)组合多个Asset的功能 -(B)以组为单位设置语言的功能
因此,执行以下操作,则可以实现“音频以英语播放而字幕以日语显示”操作。
  • (1)
    • 组合Atom Cue Sheet Asset和Atom Cue Asset在一起(以下称此组为"AtomSoundGroup")
    • 组合与字幕相关的Asset(以下称此组为字幕组)
  • (2)
    • 将"AtomSoundGroup"设置为英语
    • 将字幕组设置为日语
以下显示了如何创建"AtomSoundGroup"并以组为单位来切换语言。

(1) 组合Atom Cue Sheet Asset和Atom Cue Asset来创建"AtomSoundGroup"

(1-1)
使用文本编辑器打开UE4项目的Config文件夹中的DefaultEngine.ini文件。
添加以下设置。
[Internationalization.AssetGroupClasses]
+AtomSoundGroup=SoundAtomCue
+AtomSoundGroup=SoundAtomCueSheet
[Internationalization.AssetGroupCultures]
+AtomSoundGroup=en
(1-2)
使用文本编辑器打开UE4项目的Config文件夹中的DefaultGame.ini文件。
添加与(1-1)相同的设置。

(2) 以组为单位设置语言

注意
仅能在运行封装好的游戏时切换语言。
使用以下方法之一更改语言设置。
  • (A) 在蓝图上执行"Set Current Asset Group Culture"节点
  • (B) 在C++上执行"SetCurrentAssetGroupCulture"函数
在此示例中,为"Asset Group"指定"AtomSoundGroup"。
在此操作之后加载的Asset将是与先前指定的语言相对应的本地化Asset。
请注意已加载的Asset将不会更改。

其他注意事项

通过使用"Set Current Culture"节点/函数可以更改所有Asset的语言。
因此,在使用上述API后,请务必使用"Set Current Asset Group Culture"节点/函数为各组重置语言。

如何不使用UE4的Localization功能进行本地化

CRI Atom Craft输出的多个文件具有相同名称的Cue,用于多语言支持。
执行UE4应用程序期间切换语言时,必须用支持希望使用的语言的CueSheet,设置SoundAtomCue的uasset的CueSheet。
将更改了CueSheet的SoundAtomCue重新设置到AtomComponent中,可以播放想要支持的语言的音频。