Localization of a game

Hello!
I read all about a localization: https://www.unrealengine.com/blog/creating-a-localization-ready-game-in-ue4-part-1-texthttps://docs.unrealengine.com/latest/INT/Programming/UnrealArchitecture/StringHandling/FText/index.html https://forums.unrealengine.com/showthread.php?10049-Localization-is-VERY-Important
https://docs.unrealengine.com/latest/INT/Gameplay/Localization/Overview/index.html https://docs.unrealengine.com/latest/INT/Gameplay/Localization/Setup/index.html https://docs.unrealengine.com/latest/INT/Gameplay/Localization/Commandlets/index.html
But I dont’t undestand how to make a localization for my game and how data files refer to cod.
I need to make a localization with Blueprint.
Can anybody point me in the right way?

In regards to how to setup your blueprint, all you need to do is use Text variables instead of String ones. Anything that is Text is automatically gathered for localization…

As for how to perform a gather of the localizable text in your game you should refer to the documentation here:

https://docs.unrealengine.com/latest/INT/Gameplay/Localization/Setup/index.html

It covers how the flow works for the gather, how to configure your scripts and at the bottom is the cmdline you’ll need to run everything.

If you have specific questions about the gather process let us know.

We are in the process of building an in-editor dashboard for managing the localization process which will significantly simplify this process so you won’t have to manually run commandlets or edit ini files.

Thank you for your answer. Can you show me examples how to write Localization Configuration Scripts and Localization Data? I need real samples.

How my game to know where is a key word and where is a translated word?

The documentation that I linked does provide you with concrete examples for localization configuration inis. You should in fact probably start by copying the Game.ini file contents in that documentation.

You can also look at how the editor itself is configured to be localized.

You’ll find additional ini files under “Engine\Config\Localization”. All of those ini files are example localization gather configurations.

You’ll find the gathered results under “Engine\Content\Localization”.

The text you’re using in your Blueprints are automatically keyed.

Currently, there isn’t anyway to manually key content text.

The translated text is inserted into the archive files produced from a gather.

Where can I see the archive files sample?

Where from the translated text is inserted?

I made a directory folder like here https://docs.unrealengine.com/latest/INT/Gameplay/Localization/Setup/index.html and make blueprints with TEXT in the editor, but what’s next?

Bump this question. I configured my project following this guide: https://docs.unrealengine.com/latest/INT/Gameplay/Localization/Setup/index.html but how can I create files with localized strings? And what’s file format has this file? .txt. .ini or any other?

After running the commandlets, you will have files like “Game.archive”. You can insert your translations into the relevant fields there.

They are generated by the commandlets and then edited by you or your translators. Archives look something like this. This might be your archive file for Spanish, for instance.

{
	"FormatVersion": 1,
	"Namespace": "",
	"Children": [
		{
			"Source":
			{
				"Text": "Your Native Source Text"
			},
			"Translation":
			{
				"Text": "Insert your translations here."
			}
		}
	]
	"Subnamespaces": [
		{
			"Namespace": "Animals",
			"Children": [
				{
					"Source":
					{
						"Text": "Bird"
					},
					"Translation":
					{
						"Text": "Pajaro"
					}
				}
			]
		}
	]
}

Running the commandlets will generate the “*.archive” files. They are text files you can open and read. They’re actually in JSON format internally. Insert your localized strings into the appropriate fields of the archive file.

You must run the gather commandlet as specified in the last section of that document, “Iteration”. This will create the manifest file listing all the native source text, the archive files where you insert your translations, and the localization resource files which are made from the manifest and archives for a single locale/culture.

I followed docs and run command: “E:\Biblioteka\Dokumenty\Unreal Projects\gameDNAstudio\TheTaleOfThreeMobile\TheTaleOfThreeMobile.uproject” -Run=GatherText -Config=“\Config\Localization” but after that folder “Content\Localization\Game” is empty…

I have a detailed answer that I posted on UDN after figuring this all out. I also have attached a doc with examples. Let me know if you can’t see this and I will copy/paste the post here instead. Hope this helps you guys out. Let me know if you have questions.

https://udn.unrealengine.com/questions/228988/is-the-translation-editor-ready-for-game-use.html

Unfortunately I can’t see this because I haven’t account on UDN and I don’t know how can I register… :frowning:

Here are the steps I used to get this working. I am including a text file with examples.

Put the content localization path in the DefaultGame.ini file in the Project config folder.

Create the content localization folder in the Project’s config folder, and within that, a Game.ini file.

In the Game.ini file, included ManifestName, ArchiveName and ResourceName, then the following commandlets: GatherTextFromSource, GatherTextFromAssets, GenerateGatherManifest, GenerateGatherArchive, and GenerateTextLocalizationResource. (I had to put the full include paths).

Create a Localization folder in the Project’s content folder, then a Game folder inside that. This is where the manifest, archive, PO and locres files will go.

In the command prompt, change directory to the project folder, then gather text using the following: -Run=GatherText -config= -log > localization.log. For example mine looks like: D:\Projects\Game\Unreal\Engine\Binaries\Win64\UE4Editor.exe D:\Projects\Game\Unreal\Game\Game.uproject -Run=GatherText -config=“D:\Projects\Game\Unreal\Game\Config\Localization\Game.ini” -log > localization.log

Go to the Project\Content\Localization folder where the chosen culture folders should have been generated. Copy the portable object files and send them to the localization team. When they send them back, drop them back in the same folder and copy/replace them.

Run the GatherText commandlet again.

To test, run the game from the command line using -game and the chosen culture using the following: -game -culture=“fr_FR” -log > localization.log. (Another thing I had to do to make this work was change my folders to “fr_FR” rather than “fr-FR” as the underscore is recognized but the dash is not. For example mine looks like: D:\Projects\Game\Unreal\Engine\Binaries\Win64\UE4Editor.exe D:\Projects\Game\Unreal\Game\Game.uproject -game -culture=“fr_FR” -log > localization.log).

Personally, I put a Hello World test on begin play so that I could immediately see if it was working. I have attached a document with full examples of what I added to the ini files and the console commands I used.

link text

I copied my post below and included the text file.

Thank you. It’s good but I see error: “The requested culture <‘pl_PL’> has no localization data; falling back to ‘en’ for localization and internationalization data.” and in /Content/Localization/Game I see only “en” folder…