1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

UE5のプラグインをテキストローカライズする方法

Posted at

はじめに

UE5のプラグインをテキストローカライズする方法の解説
プロジェクトをローカライズする為のローカライゼーションダッシュボードはプロジェクトのみ対応しているので個別にやる必要があります。

テストでローカライズ設定をしたプロジェクトを用意したので参考にしてください。
UE5.6で動作検証をしています

※ iniの設定なしの場合には動作未検証なので注意してください

実装方法

プラグイン名.uplugin

{
	"FileVersion": 3,
	"Version": 1,
	"VersionName": "1.0",
	"FriendlyName": "UEPluginLocalize",
	"Description": "",
	"Category": "Other",
	"CreatedBy": "",
	"CreatedByURL": "",
	"DocsURL": "",
	"MarketplaceURL": "",
	"SupportURL": "",
	"CanContainContent": false,
	"IsBetaVersion": false,
	"IsExperimentalVersion": false,
	"Installed": false,
	"Modules": [
		{
			"Name": "UEPluginLocalize",
			"Type": "Editor",
			"LoadingPhase": "Default"
		}
	],
    // この設定がないとローカライズのテキストが読み込まれない
	"LocalizationTargets": [
		{
			"Name": "UEPluginLocalize",
			"LoadingPolicy": "Editor",
			"ConfigGenerationPolicy": "Auto"
		}
	]
}

upluginにLocalizationTargets設定する事でローカライズテキストの読み込み設定が行われます。

LoadingPolicy

ラベル 説明
Never ローカライゼーションデータが自動的に読み込まれることはありません。
Always ローカライゼーションデータは常に自動的にロードされます。
Editor エディター実行時にのみローカライズデータがロードされます。
Game ゲーム実行時にのみローカリゼーションデータがロードされます。
PropertyNames エディターがローカライズされたプロパティ名を表示している場合のみ、ローカライゼーションデータがロードされます。
ToolTips エディターがローカライズされたツールチップを表示している場合のみ、ローカライズデータがロードされます。

ConfigGenerationPolicy

ラベル 説明
Never このローカライゼーション ターゲットにはローカライゼーション コンフィグ ファイルが関連付けられておらず、ローカライゼーション パイプライン中にローカライゼーション コンテンツ ファイルは生成されません。
User ユーザーがこのローカリゼーション ターゲットのローカリゼーション コンフィグ ファイルを提供しており、ローカリゼーション ターゲットのローカリゼーション コンテンツ ファイルの生成に使用されます。
Auto ローカリゼーション パイプライン中に一時的なローカリゼーション コンフィグ ファイルが生成され、ローカリゼーション コンテンツ ファイルが生成されます。

Userの場合の設定例

プロジェクト/Plugins/プラグイン名/Config/Localization/プラグイン名.ini
;METADATA=(Diff=true, UseCommands=true)
[CommonSettings]
SourcePath=%LOCPROJECTROOT%Plugins/プラグイン名/Content/Localization/プラグイン名
DestinationPath=Plugins/プラグイン名/Content/Localization/プラグイン名
ManifestName=プラグイン名.manifest
ArchiveName=プラグイン名.archive
PortableObjectName=プラグイン名.po
ResourceName=プラグイン名.locres
# デフォルトの言語設定
NativeCulture=en
# ここに必要な言語設定を行う
CulturesToGenerate=en
CulturesToGenerate=ja

[GatherTextStep0]
CommandletClass=GatherTextFromSource
SearchDirectoryPaths=Plugins/UEPluginLocalize/Source/
FileNameFilters=*.cpp
FileNameFilters=*.h
FileNameFilters=*.c
FileNameFilters=*.inl
FileNameFilters=*.mm
FileNameFilters=*.ini
ShouldGatherFromEditorOnlyData=false

[GatherTextStep1]
CommandletClass=GenerateGatherManifest

[GatherTextStep2]
CommandletClass=GenerateGatherArchive

[GatherTextStep3]
CommandletClass=InternationalizationExport
bImportLoc=true

[GatherTextStep4]
CommandletClass=GenerateTextLocalizationResource

[GatherTextStep5]
CommandletClass=InternationalizationExport
bExportLoc=true

UnrealEditor-Cmd.exe プロジェクト名.uproject -run=GatherText -config="Plugins\プラグイン名\Config\Localization\プラグイン名.ini"

ConfigGenerationPolicyがUserの場合には上記のコマンドライン実行で動作できます。

失敗例

プロジェクト名.uprojectを未設定の場合にはプロジェクトディレクトでは無くエンジンディレクトに生成されました。
プロジェクト.uproject未指定の方法もあるかもですが未検証です

参考箇所

本件を調べるにあたってエンジンの参考箇所の一覧です。

FPluginManager::GetLocalizationPathsForEnabledPlugins

↑の箇所でプラグインが条件を満たしている場合にテキストローカライズのパスを追加するコードが記述されています。

UE_5.6\Engine\Plugins\Online\OnlineSubsystem\Config\Localization\OnlineSubsystem.ini

ローカライズの設定の参考にしたもの

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?