Localization not working in packaged build

Hey there,

We are currently on Unreal 4.5 and I have run into an issue where our localization content doesn’t seem to be picked up when we package the game.

We have it working fine in both editor builds (running with -game) and with cooked content. But when I package the localized text reverts back to the defaults set in code.

We have our localization setup in our DefaultGame.ini:
[Internationalization]
+LocalizationPaths=%GAMEDIR%Content/Localization/OurGame

In that folder we have our OurGame.manifest and an ‘en’ folder containing .archive, .po and .locres files.

I noticed when we cook that there is no localization folder in the Cooked\WindowsNoEditor\OurGame\Content folder. I would of thought this would cause the cooked build to not have localization, but it is picking it up still.

Anyone been able to get this to work and see anything I have missed. Thanks.

Worked this out, what I missed is that the localization path is hardcoded in the staging code here:

foreach (string Culture in CulturesToStage)
   {
    SC.StageFiles(StagedFileType.UFS, CombinePaths(SC.ProjectRoot, "Content/Localization/Game", Culture), "*.locres", true, null, CombinePaths(SC.RelativeProjectRootForStage, "Content/Localization/Game", Culture), true, !Params.UsePak(SC.StageTargetPlatform));
   }

So I changed all our settings to go back to that path and it works all fine

Same here, I setup my .ini files to use Content/Localization/ directory, and changing it to Content/Localization/Game solved the problem.

Hi Guys,

I’ve come up against this problem and have followed the fix but I still have no localization working in my packaged game. I’ve set the [Internationalization] entry in my config file to:

+LocalizationPaths=%GAMEDIR%Content/Localization/Game

Are you guys using .pak files or loose files?
Also, we are using the base culture identifiers (en, fr, it, de, es) rather than the longer versions (en-US, fr-FR, it-IT etc). I’m wondering if this is causing a problem.

Hey, I’m having a similar issue.

@Ben.DRiehuis: where exactly is the staging code located? Within my project or within the engine?

@Sahnvour: in which .ini files did you put this path? I only have these localization related values in my DefaultGame.ini…

InternationalizationPreset=All -CulturesToStage=de -CulturesToStage=en -CulturesToStage=ru +CulturesToStage=de +CulturesToStage=en +CulturesToStage=ru DefaultCulture=en

I don’t work on this project anymore so I can’t tell you sorry. Probably the .ini files mentionned in the doc about localization, check it out (I hope it improved since then).

HI there its a while since i looked at this code, its changed a tiny bit, but you can still see it hardcodes that directory.

As of 4.10:
CopyBuildToStagingDirectory.Automation.cs
CreateStagingManifest function
Line 418

I fixed it :slight_smile: thx to your answer i realized what i did wrong… Renamed things i shouldn’t have, which broke my paths somehow. I used the new Loca Dashboard and it doesn’t like if you rename ‘target’ to something other than ‘Game’.

Awesome! Thank you!!!