[Localization] GatherText completes successfully, but no manifest is written to the chosen directory

#Ini File Download

link text

Dear Friends at Epic,

#Progress

After learning of the bug with gathertext not working with directories with spaces in them (such as “Unreal Projects”),

I moved Solus to my C:/

so the main directory is now C:/Solus

#Issue

I am successfully completing the gather text commandlet, but no manifests are written!

I am positive I have uses of NSLOCTEXT in my source files :slight_smile:

#Commandline

“C:\Program Files\Unreal Engine\4.4\Engine\Binaries\Win64\UE4Editor.exe” “C:\Solus\Solus.uproject” -run=GatherText -config=“C:\Solus\Config\Localization\Engine.ini” -log

#Skipping Content

Please note I am skipping the content step because it takes a very long time and I am trying to test whether the system is working.

When I included the Content I still got the same behavior of no manifest being written.

#Config

;correct path?
;../../../Solus/Content/Localization/Engine
 
  
[CommonSettings]
SourcePath=../../../Solus/Content/Localization/Engine
DestinationPath=../../../Solus/Content/Localization/Engine
ManifestName=Engine.manifest
ArchiveName=Engine.archive 
SourceCulture=en
CulturesToGenerate=en
CulturesToGenerate=ja
CulturesToGenerate=ko
CulturesToGenerate=zh-CN
CulturesToGenerate=sp
 
;Gather text from source code
[GatherTextStep0]
CommandletClass=GatherTextFromSource
;IncludePaths=Solus/Source/Solus/Base
;IncludePaths=Solus/Source/Solus/SolusPC
;IncludePaths=Source/Solus/Base
;IncludePaths=Source/Solus/SolusPC   
IncludePaths=../../../Solus/Source/Solus/Base
IncludePaths=../../../Solus/Source/Solus/SolusBPLibraries
IncludePaths=../../../Solus/Source/Solus/Base/Components
IncludePaths=../../../Solus/Source/Solus/SolusCore
IncludePaths=../../../Solus/Source/Solus/SolusSaveSystem
IncludePaths=../../../Solus/Source/Solus/SolusCharacter
IncludePaths=../../../Solus/Source/Solus/SolusPC
IncludePaths=../../../Solus/Source/Solus/SolusFadingDecal
IncludePaths=../../../Solus/Source/Solus/SolusItems
IncludePaths=../../../Solus/Source/Solus/SolusLevelScriptActor
IncludePaths=../../../Solus/Source/Solus/SolusMorphing

  
;File Extensions
SourceFileSearchFilters=*.cpp
SourceFileSearchFilters=*.h
SourceFileSearchFilters=*.c
SourceFileSearchFilters=*.inl
SourceFileSearchFilters=*.mm
SourceFileSearchFilters=*.ini

;Gather text from assets
;[GatherTextStep1]
;CommandletClass=GatherTextFromAssets

;Include Paths
IncludePaths=*/Solus/Content/*

;Exclude Paths
ExcludePaths=*/Solus/Content/TestPackages/*

;Asset Extensions
PackageExtensions=*.umap
PackageExtensions=*.upk
PackageExtensions=*.uasset

;Exclude Classes
ExcludeClasses=Texture
ExcludeClasses=TextureCube
ExcludeClasses=Texture2D
ExcludeClasses=StaticMesh
ExcludeClasses=Material

bFixBroken=false







;Write Manifest
[GatherTextStep1]
CommandletClass=GenerateGatherManifest

;Write Archives
[GatherTextStep2]
CommandletClass=GenerateGatherArchive
bPurgeOldEmptyEntries=true

;Write Localized Text Resource
[GatherTextStep3]
CommandletClass=GenerateTextLocalizationResource
ResourceName=Engine.locres
 
;Write Text Localization Report
[GatherTextStep4]
CommandletClass=GenerateTextLocalizationReport
DestinationPath=C:/Users/Rama/Documents/Unreal Projects/Solus/Config/Localization/Engine/WordCounts
bConflictReport=true
ConflictReportName=EngineConflicts.txt

#Log

[2014.08.19-10.44.43:167][  0]LogInit: Executing Class /Script/UnrealEd.GatherTextCommandlet
[2014.08.19-10.44.43:168][  0]LogInit: Initializing Editor Engine...
[2014.08.19-10.44.43:168][  0]LogEngine: Initializing Engine...
[2014.08.19-10.44.43:187][  0]LogAIModule: Creating AISystem for world NewWorld
[2014.08.19-10.44.43:265][  0]LogDerivedDataCache: Saved boot cache 0.08s 24MB C:/Users/Rama/AppData/Local/UnrealEngine/4.4/DerivedDataCache/Boot.ddc.
[2014.08.19-10.44.43:268][  0]LogInit: Texture streaming: Disabled
[2014.08.19-10.44.43:277][  0]LogInit: Initializing Editor Engine Completed
[2014.08.19-10.44.43:423][  0]LogGatherTextCommandlet: Beginning GatherText Commandlet.
[2014.08.19-10.44.43:423][  0]LogGatherTextCommandlet: Executing GatherTextStep0: GatherTextFromSourceCommandlet
[2014.08.19-10.44.43:493][  0]LogGatherTextCommandlet: Completed GatherTextStep0: GatherTextFromSourceCommandlet
[2014.08.19-10.44.43:493][  0]LogGatherTextCommandlet: Executing GatherTextStep1: GenerateGatherManifestCommandlet
[2014.08.19-10.44.43:494][  0]LogGatherTextCommandlet: Completed GatherTextStep1: GenerateGatherManifestCommandlet
[2014.08.19-10.44.43:494][  0]LogGatherTextCommandlet: Executing GatherTextStep2: GenerateGatherArchiveCommandlet
[2014.08.19-10.44.43:495][  0]LogGenerateArchiveCommandlet: Writing archive to ../../../Solus/Content/Localization/Engine.
[2014.08.19-10.44.43:496][  0]LogGenerateArchiveCommandlet: Writing archive to ../../../Solus/Content/Localization/Engine.
[2014.08.19-10.44.43:497][  0]LogGenerateArchiveCommandlet: Writing archive to ../../../Solus/Content/Localization/Engine.
[2014.08.19-10.44.43:498][  0]LogGenerateArchiveCommandlet: Writing archive to ../../../Solus/Content/Localization/Engine.
[2014.08.19-10.44.43:499][  0]LogGenerateArchiveCommandlet: Writing archive to ../../../Solus/Content/Localization/Engine.
[2014.08.19-10.44.43:499][  0]LogGatherTextCommandlet: Completed GatherTextStep2: GenerateGatherArchiveCommandlet
[2014.08.19-10.44.43:499][  0]LogGatherTextCommandlet: Executing GatherTextStep3: GenerateTextLocalizationResourceCommandlet
[2014.08.19-10.44.43:503][  0]LogGatherTextCommandlet: Completed GatherTextStep3: GenerateTextLocalizationResourceCommandlet
[2014.08.19-10.44.43:503][  0]LogGatherTextCommandlet: Executing GatherTextStep4: GenerateTextLocalizationReportCommandlet
[2014.08.19-10.44.43:504][  0]LogGatherTextCommandlet: Completed GatherTextStep4: GenerateTextLocalizationReportCommandlet
[2014.08.19-10.44.43:504][  0]LogInit:Display: 
[2014.08.19-10.44.43:504][  0]LogInit:Display: Warning/Error Summary
[2014.08.19-10.44.43:505][  0]LogInit:Display: ---------------------
[2014.08.19-10.44.43:506][  0]LogInit:Display: LogBlueprint:Warning: [compiler] Warning InputAction Event references unknown Action 'SolusCrouch' for  SolusCrouch 
[2014.08.19-10.44.43:506][  0]LogInit:Display: LogBlueprint:Warning: [compiler] Warning InputAction Event references unknown Action 'SolusSleepMode' for  SolusSleepMode 
[2014.08.19-10.44.43:507][  0]LogInit:Display: LogBlueprint:Warning: [compiler] Warning InputAction Event references unknown Action 'SolusInGameMenuMode' for  SolusInGameMenuMode 
[2014.08.19-10.44.43:507][  0]LogInit:Display: LogBlueprint:Warning: [compiler] Warning InputAction Event references unknown Action 'SolusSaveMode' for  SolusSaveMode 
[2014.08.19-10.44.43:508][  0]LogInit:Display: LogBlueprint:Warning: [compiler] Warning InputAction Event references unknown Action 'SolusLoadMode' for  SolusLoadMode 
[2014.08.19-10.44.43:509][  0]LogInit:Display: LogBlueprint:Warning: [compiler] Warning [0005.84] Compile of SolusPlayerController successful, but with 5 Warning(s) [in 92 ms]
[2014.08.19-10.44.43:509][  0]LogInit:Display: LogLinker:Warning: Can't find file '/Game/Sounds/Items/Cue/SO_Items_PDAMessage01_Cue'
[2014.08.19-10.44.43:510][  0]LogInit:Display: LogUObjectGlobals:Warning: Failed to load '/Game/Sounds/Items/Cue/SO_Items_PDAMessage01_Cue': Can't find file '/Game/Sounds/Items/Cue/SO_Items_PDAMessage01_Cue'
[2014.08.19-10.44.43:511][  0]LogInit:Display: LogLinker:Warning: Can't find file for asset '/Game/Sounds/Items/Cue/SO_Items_PDAMessage01_Cue' while loading ../../../../../../Solus/Content/Blueprints/Game/SolusVoiceSystem.uasset.
[2014.08.19-10.44.43:511][  0]LogInit:Display: LogUObjectGlobals:Warning: Failed to load '../../../../../../Solus/Content/Blueprints/Game/SolusVoiceSystem.uasset': Can't find file for asset '/Game/Sounds/Items/Cue/SO_Items_PDAMessage01_Cue' while loading ../../../../../../Solus/Content/Blueprints/Game/SolusVoiceSystem.uasset.
[2014.08.19-10.44.43:512][  0]LogInit:Display: LogLinker:Warning: Can't find file '/Game/Sounds/Items/Cue/SO_Items_PDAMessage02_Cue'
[2014.08.19-10.44.43:512][  0]LogInit:Display: LogUObjectGlobals:Warning: Failed to load '/Game/Sounds/Items/Cue/SO_Items_PDAMessage02_Cue': Can't find file '/Game/Sounds/Items/Cue/SO_Items_PDAMessage02_Cue'
[2014.08.19-10.44.43:513][  0]LogInit:Display: LogLinker:Warning: Can't find file for asset '/Game/Sounds/Items/Cue/SO_Items_PDAMessage02_Cue' while loading ../../../../../../Solus/Content/Blueprints/Game/SolusVoiceSystem.uasset.
[2014.08.19-10.44.43:513][  0]LogInit:Display: LogUObjectGlobals:Warning: Failed to load '../../../../../../Solus/Content/Blueprints/Game/SolusVoiceSystem.uasset': Can't find file for asset '/Game/Sounds/Items/Cue/SO_Items_PDAMessage02_Cue' while loading ../../../../../../Solus/Content/Blueprints/Game/SolusVoiceSystem.uasset.
[2014.08.19-10.44.43:514][  0]LogInit:Display: LogBlueprint:Warning: [compiler] Warning [0011.22] Compile of SolusPlayerController successful, but with 5 Warning(s) [in 95 ms]
[2014.08.19-10.44.43:515][  0]LogInit:Display: LogLinker:Warning: Can't find file for asset '/Game/Sounds/Items/Cue/SO_Items_PDAMessage01_Cue' while loading ../../../../../../Solus/Content/Blueprints/Game/SolusPDAPlayer.uasset.
[2014.08.19-10.44.43:515][  0]LogInit:Display: LogUObjectGlobals:Warning: Failed to load '../../../../../../Solus/Content/Blueprints/Game/SolusPDAPlayer.uasset': Can't find file for asset '/Game/Sounds/Items/Cue/SO_Items_PDAMessage01_Cue' while loading ../../../../../../Solus/Content/Blueprints/Game/SolusPDAPlayer.uasset.
[2014.08.19-10.44.43:516][  0]LogInit:Display: LogLinker:Warning: Can't find file for asset '/Game/Sounds/Items/Cue/SO_Items_PDAMessage02_Cue' while loading ../../../../../../Solus/Content/Blueprints/Game/SolusPDAPlayer.uasset.
[2014.08.19-10.44.43:516][  0]LogInit:Display: LogUObjectGlobals:Warning: Failed to load '../../../../../../Solus/Content/Blueprints/Game/SolusPDAPlayer.uasset': Can't find file for asset '/Game/Sounds/Items/Cue/SO_Items_PDAMessage02_Cue' while loading ../../../../../../Solus/Content/Blueprints/Game/SolusPDAPlayer.uasset.
[2014.08.19-10.44.43:517][  0]LogInit:Display: BlueprintLog:Warning: Warning Blueprint RadialDamageTrigger has been migrated and requires re-saving to avoid import errors
[2014.08.19-10.44.43:517][  0]LogInit:Display: BlueprintLog:Warning: Warning Blueprint CampFire has been migrated and requires re-saving to avoid import errors
[2014.08.19-10.44.43:518][  0]LogInit:Display: BlueprintLog:Warning: Warning Blueprint LeverSystem has been migrated and requires re-saving to avoid import errors
[2014.08.19-10.44.43:518][  0]LogInit:Display: BlueprintLog:Warning: Warning Blueprint LadderVolume has been migrated and requires re-saving to avoid import errors
[2014.08.19-10.44.43:519][  0]LogInit:Display: 
[2014.08.19-10.44.43:519][  0]LogInit:Display: Success - 0 error(s), 40 warning(s)

#Ideas?

any idea why the manifest is not being written?

I even pre-created C:/Solus/Content/Localization/Engine dir

#Thanks!

Rama

PS: Yes I know, I will change it away from engine as my naming scheme once I get it working

Have you tried putting breakpoints in GenerateGatherManifestCommandlet.cpp and seeing what does and doesn’t execute, following the execution until it leaves the commandlet without writing the file?

Dear Sheevok,

No I have not tried that, I would really appreciate it if you could check out my ini files like you did last time and found the bug with spaces.

#Moved to C:

I moved my entire Solus project to the c:/ itself so my root directory is now c:/Solus

This Localization stuff has been quite hassle for me and I would appreciate second perspective / completely different computer setup being involved so we can test what the core of the issue is.

#Can You Make Test Project C:/MyProject

Can you make a test project, add some localized stuff in the C++, and move it to the C: (I am assuming the space bug did not make it into 4.4)

so it is C:/MyProject

and then we can compare results?

#Zip Files

I have posted my ini files as a zip in the main thread , at the top and attached.

I really would like a second perspective/project setup involved, thanks Sheevok!

Rama

PS: I am not trying to bug you, its just that I cannot possibly know the correct code workflow of Localization system of UE4 since I"ve never gotten it to work, you have much more experience to rely on while analyzing the code flow.

I’d be willing to bet that your output from these commandlets is sitting somewhere in “C:/Program Files/Unreal Engine/4.4/”. Am I right?

#Thank You Sheevok

Yes you are correct!

It went to Unreal engine/4.4/Solus !!

Any idea why this is so!

Thanks Sheeovok!

You are awesome!

#:heart:

Rama

It’s a bug that needs fixing. We typically test with the various projects we have side-by-side with the engine. We’ll have to fix the bug and do some additional testing for projects located outside of the directory tree housing the engine.

Well when the bug has a fix feel free to post it as an answer and then I can mark this as resolved, thanks again Sheevok!

Rama

This should probably be fixed to be more intuitive, but DestinationPath is relative to the executable. In the meantime, provide an absolute path for DestinationPath.

Note: This behavior was corrected in changelist 2276830, which seems to be release 4.5.

#Thank You Sheevok

Thank you Sheevok!

That did it!

Once I have all this fully sorted out and tested I will write wiki tutorial on Localization :slight_smile:

For others, here’s what the first part of my localization ini looks like now

[CommonSettings]
SourcePath=C:/Solus/Content/Localization/Engine
DestinationPath=C:/Solus/Content/Localization/Engine
ManifestName=Engine.manifest
ArchiveName=Engine.archive 
SourceCulture=en
CulturesToGenerate=en
CulturesToGenerate=ja
CulturesToGenerate=ko
CulturesToGenerate=zh-CN
CulturesToGenerate=sp

A New Issue

Hi Sheevok!

So I got the localization files to work CPP side, but Hourences is reporting that a lot of his BP FText are not making it into the archives

In particular he has noted that all Audio file subtitles are missing.

I have more info and pics in a new thread here, as I consider this thread resolved, just wanted to get your attention here :slight_smile:

#:heart:

Rama