Hi.
So I’ve got this problem with the following error popping up when I set my localization to a culture that definitely has its own locres files. That error message being:
[2015.12.11-18.26.53:122][ 0]LogTextLocalizationManager: The requested culture ('de') has no localization data; falling back to 'en' for localization and internationalization data.
To try to get that working, I have this in my defaultengine.ini:
[Internationalization]
Culture=de
My set up is as follows:
Project Folder\Config\Localization\Barrage.ini
;Common settings to be used for all commandlets as needed.
[CommonSettings]
SourcePath=./Content/Localization/Barrage
DestinationPath=./Content/Localization/Barrage
ManifestName=Barrage.manifest
ArchiveName=Barrage.archive
ResourceName=Barrage.locres
PortableObjectName=Barrage.po
;English
SourceCulture=en
;English
CulturesToGenerate=en
;German
CulturesToGenerate=de
;French - Commented Out
;CulturesToGenerate=fr
;Italian - Commented Out
;CulturesToGenerate=it
;Spanish - Commented Out
;CulturesToGenerate=es
;Gather text from source code and configuration files.
[GatherTextStep0]
CommandletClass=GatherTextFromSource
IncludePaths=./Source/
IncludePaths=./Config/
ExcludePaths=*/Config/Localization/*
SourceFileSearchFilters=*.h
SourceFileSearchFilters=*.cpp
SourceFileSearchFilters=*.ini
;Gather text from assets in content.
[GatherTextStep1]
CommandletClass=GatherTextFromAssets
IncludePaths=./Content/
ExcludePaths=*/Content/Localization/*
PackageExtensions=*.umap
PackageExtensions=*.uasset
;Create manifest with all gathered source text.
[GatherTextStep2]
CommandletClass=GenerateGatherManifest
;Create new archives/update existing archives with new entries from the manifest.
[GatherTextStep3]
CommandletClass=GenerateGatherArchive
bPurgeOldEmptyEntries=true
;Import new translations from PO (portable object) files into existing archives.
[GatherTextStep4]
CommandletClass=InternationalizationExport
bImportLoc=true
;Export new source from existing archives into PO (portable object) files.
[GatherTextStep5]
CommandletClass=InternationalizationExport
bExportLoc=true
;Compile source text and translations into binary form for use by the application.
[GatherTextStep6]
CommandletClass=GenerateTextLocalizationResource
When I build the localization, I get the following log:
[2015.12.11-18.26.53:122][ 0]LogTextLocalizationManager: The requested culture ('de') has no localization data; falling back to 'en' for localization and internationalization data.
[2015.12.11-18.26.53:320][ 0]LogTextLocalizationManager:Warning: Loaded localization resources contain conflicting entries for (Namespace:ContentBrowser, Key:ImportAssetToolTip):
Localization Resource: (C:/Unreal Engine/Source/GitHub/Engine/Content/Localization/Editor/en/Editor.locres) Source String Hash: (-630476809) Localized String: (Import to {0}...)
Localization Resource: (C:/Unreal Engine/Source/GitHub/Engine/Content/Localization/Editor/en/Editor.locres) Source String Hash: (1271782899) Localized String: (Imports an asset from file to this folder.)
[2015.12.11-18.26.58:735][ 0]LogInit: Executing Class /Script/UnrealEd.GatherTextCommandlet
[2015.12.11-18.26.58:736][ 0]LogInit: Initializing Editor Engine...
[2015.12.11-18.26.58:736][ 0]LogEngine: Initializing Engine...
[2015.12.11-18.26.58:813][ 0]LogAIModule: Creating AISystem for world NewWorld
[2015.12.11-18.26.59:016][ 0]LogDerivedDataCache: Saved boot cache 0.20s 500MB ../../../../../Barrage/UE4/DerivedDataCache/Boot.ddc.
[2015.12.11-18.26.59:045][ 0]LogInit: Texture streaming: Disabled
[2015.12.11-18.26.59:066][ 0]LogInit: Initializing Editor Engine Completed
[2015.12.11-18.26.59:086][ 0]LogGatherTextCommandlet: Beginning GatherText Commandlet.
[2015.12.11-18.26.59:086][ 0]LogGatherTextCommandlet: Executing GatherTextStep0: GatherTextFromSourceCommandlet
[2015.12.11-18.26.59:087][ 0]LogGatherTextFromSourceCommandlet:Warning: IncludePaths detected in section GatherTextStep0. IncludePaths is deprecated, please use SearchDirectoryPaths.
[2015.12.11-18.26.59:087][ 0]LogGatherTextFromSourceCommandlet:Warning: ExcludePaths detected in section GatherTextStep0. ExcludePaths is deprecated, please use ExcludePathFilters.
[2015.12.11-18.26.59:087][ 0]LogGatherTextFromSourceCommandlet:Warning: SourceFileSearchFilters detected in section GatherTextStep0. SourceFileSearchFilters is deprecated, please use FileNameFilters.
[2015.12.11-18.27.00:703][ 0]LogGatherTextCommandlet: Completed GatherTextStep0: GatherTextFromSourceCommandlet
[2015.12.11-18.27.00:703][ 0]LogGatherTextCommandlet: Executing GatherTextStep1: GatherTextFromAssetsCommandlet
[2015.12.11-18.27.00:703][ 0]LogGatherTextFromAssetsCommandlet:Warning: IncludePaths detected in section GatherTextStep1. IncludePaths is deprecated, please use IncludePathFilters.
[2015.12.11-18.27.00:703][ 0]LogGatherTextFromAssetsCommandlet:Warning: ExcludePaths detected in section GatherTextStep1. ExcludePaths is deprecated, please use ExcludePathFilters.
[2015.12.11-18.27.00:703][ 0]LogGatherTextFromAssetsCommandlet:Warning: PackageExtensions detected in section GatherTextStep1. PackageExtensions is deprecated, please use PackageFileNameFilters.
[2015.12.11-18.27.00:716][ 0]LogAssetRegistry: FAssetRegistry took 0.0001 seconds to start up
[2015.12.11-18.27.01:205][ 0]LogAssetRegistry: ScanPathsSynchronous completed scanning '/Engine/' and 5 other paths to find 3374 assets in 0.4887 seconds
[2015.12.11-18.27.01:292][ 0]LogGatherTextFromAssetsCommandlet:Display: Found 32 packages with extension 0: '*.umap'
[2015.12.11-18.27.01:400][ 0]LogGatherTextFromAssetsCommandlet:Display: Found 3646 packages with extension 1: '*.uasset'
[2015.12.11-18.27.01:480][ 0]LogGatherTextFromAssetsCommandlet:Warning: No files found. Or none passed the include/exclude criteria.
[2015.12.11-18.27.01:554][ 0]LogGatherTextCommandlet: Completed GatherTextStep1: GatherTextFromAssetsCommandlet
[2015.12.11-18.27.01:554][ 0]LogGatherTextCommandlet: Executing GatherTextStep2: GenerateGatherManifestCommandlet
[2015.12.11-18.27.01:586][ 0]LogGenerateManifestCommandlet: Writing archive to ../../../../../Barrage/UE4/./Content/Localization/Barrage/Barrage.manifest.
[2015.12.11-18.27.01:703][ 0]LogGatherTextCommandlet: Completed GatherTextStep2: GenerateGatherManifestCommandlet
[2015.12.11-18.27.01:703][ 0]LogGatherTextCommandlet: Executing GatherTextStep3: GenerateGatherArchiveCommandlet
[2015.12.11-18.27.01:704][ 0]LogGenerateArchiveCommandlet:Warning: SourceCulture detected in section GatherTextStep3. SourceCulture is deprecated, please use NativeCulture.
[2015.12.11-18.27.01:731][ 0]LogGenerateArchiveCommandlet: Writing archive to C:/Unreal Engine/Barrage/UE4/Content/Localization/Barrage/en/Barrage.archive.
[2015.12.11-18.27.01:755][ 0]LogGenerateArchiveCommandlet: Writing archive to C:/Unreal Engine/Barrage/UE4/Content/Localization/Barrage/de/Barrage.archive.
[2015.12.11-18.27.01:763][ 0]LogGatherTextCommandlet: Completed GatherTextStep3: GenerateGatherArchiveCommandlet
[2015.12.11-18.27.01:764][ 0]LogGatherTextCommandlet: Executing GatherTextStep4: InternationalizationExportCommandlet
[2015.12.11-18.27.01:825][ 0]LogGatherTextCommandlet: Completed GatherTextStep4: InternationalizationExportCommandlet
[2015.12.11-18.27.01:825][ 0]LogGatherTextCommandlet: Executing GatherTextStep5: InternationalizationExportCommandlet
[2015.12.11-18.27.01:878][ 0]LogGatherTextCommandlet: Completed GatherTextStep5: InternationalizationExportCommandlet
[2015.12.11-18.27.01:878][ 0]LogGatherTextCommandlet: Executing GatherTextStep6: GenerateTextLocalizationResourceCommandlet
[2015.12.11-18.27.01:911][ 0]LogGatherTextCommandlet: Completed GatherTextStep6: GenerateTextLocalizationResourceCommandlet
[2015.12.11-18.27.01:911][ 0]LogInit:Display:
[2015.12.11-18.27.01:911][ 0]LogInit:Display: Warning/Error Summary
[2015.12.11-18.27.01:911][ 0]LogInit:Display: ---------------------
[2015.12.11-18.27.01:912][ 0]LogInit:Display: LogTextLocalizationManager:Warning: Loaded localization resources contain conflicting entries for (Namespace:ContentBrowser, Key:ImportAssetToolTip):
Localization Resource: (C:/Unreal Engine/Source/GitHub/Engine/Content/Localization/Editor/en/Editor.locres) Source String Hash: (-630476809) Localized String: (Import to {0}...)
Localization Resource: (C:/Unreal Engine/Source/GitHub/Engine/Content/Localization/Editor/en/Editor.locres) Source String Hash: (1271782899) Localized String: (Imports an asset from file to this folder.)
[2015.12.11-18.27.01:912][ 0]LogInit:Display: LogGatherTextFromSourceCommandlet:Warning: IncludePaths detected in section GatherTextStep0. IncludePaths is deprecated, please use SearchDirectoryPaths.
[2015.12.11-18.27.01:912][ 0]LogInit:Display: LogGatherTextFromSourceCommandlet:Warning: ExcludePaths detected in section GatherTextStep0. ExcludePaths is deprecated, please use ExcludePathFilters.
[2015.12.11-18.27.01:912][ 0]LogInit:Display: LogGatherTextFromSourceCommandlet:Warning: SourceFileSearchFilters detected in section GatherTextStep0. SourceFileSearchFilters is deprecated, please use FileNameFilters.
[2015.12.11-18.27.01:912][ 0]LogInit:Display: LogGatherTextFromAssetsCommandlet:Warning: IncludePaths detected in section GatherTextStep1. IncludePaths is deprecated, please use IncludePathFilters.
[2015.12.11-18.27.01:912][ 0]LogInit:Display: LogGatherTextFromAssetsCommandlet:Warning: ExcludePaths detected in section GatherTextStep1. ExcludePaths is deprecated, please use ExcludePathFilters.
[2015.12.11-18.27.01:912][ 0]LogInit:Display: LogGatherTextFromAssetsCommandlet:Warning: PackageExtensions detected in section GatherTextStep1. PackageExtensions is deprecated, please use PackageFileNameFilters.
[2015.12.11-18.27.01:913][ 0]LogInit:Display: LogGatherTextFromAssetsCommandlet:Warning: No files found. Or none passed the include/exclude criteria.
[2015.12.11-18.27.01:913][ 0]LogInit:Display: LogGenerateArchiveCommandlet:Warning: SourceCulture detected in section GatherTextStep3. SourceCulture is deprecated, please use NativeCulture.
[2015.12.11-18.27.01:913][ 0]LogInit:Display:
[2015.12.11-18.27.01:914][ 0]LogInit:Display: Success - 0 error(s), 9 warning(s)
[2015.12.11-18.27.01:914][ 0]LogInit:Display:
Execution of commandlet took: 2.83 seconds
[2015.12.11-18.27.01:914][ 0]LogExit: Preparing to exit.
[2015.12.11-18.27.02:013][ 0]LogExit: Editor shut down
[2015.12.11-18.27.02:159][ 0]LogExit: Object subsystem successfully closed.
This generates the following files:
Project Folder/Content/Localization/Barrage/Barrage.manifest
Project Folder/Content/Localization/Barrage/de/Barrage.archive
Project Folder/Content/Localization/Barrage/de/Barrage.locres
Project Folder/Content/Localization/Barrage/de/Barrage.po
Project Folder/Content/Localization/Barrage/en/Barrage.archive
Project Folder/Content/Localization/Barrage/en/Barrage.locres
Project Folder/Content/Localization/Barrage/en/Barrage.po
I am packaging my game via the Unreal Frontend program (in a source build) using the following settings (including the given project settings):
[Internationalization]
;This first entry is inherited from BaseGame.ini by default.
LocalizationPaths=%GAMEDIR%Content/Localization/Barrage
[/Script/UnrealEd.ProjectPackagingSettings]
+CulturesToStage=en
+CulturesToStage=de
And, to summarise, I get neither the de localization working in the editor pre-cook or in the cooked build. Both give the same error,
[2015.12.11-18.26.53:122][ 0]LogTextLocalizationManager: The requested culture ('de') has no localization data; falling back to 'en' for localization and internationalization data.
So my question is, why doesn’t it work? From what I can see, I’ve followed all the steps from here:
https://docs.unrealengine.com/latest/INT/Gameplay/Localization/Setup/index.html
and the translations are being built correctly into .locres and .archive files. So what gives?
Thanks!