Hi,
I am trying to get the “needs review” feature to work in the localization dashboard, but it is just not working.
I enabled source control, using Git as provider
Source control is enabled in the localization dashboard. I tried it with and without “Enable auto submit”
I have 4 cultures in the project. English (US) is the native language.
If I am changing a word in the english translation (=native language) the message appears “successfully checked out and saved translation archive”.
After switching to the e.g. german culture, the english text (= source) has changed
I then hit “Get history” in the german loca tab. After updating source control status, the history stays empty and so does the needs review tab.
If I disable “auto submit” and manually submitt my changes to the source control, I discovered that even so I changed texts no archive, locres, .mo or .po file is marked as changed. So it seems to me this is a problem with the source control?
I got it to work some months ago, but this was before updating to UE 4.14. Maybe it also has to do something with this.
It’s possible that this may not currently work with Github Source Control as the Github source control plugin is created and managed by a user rather than us. Since the Localization Dashboard is still experimental, it may not be set up to interface correctly. I’m going to try this with both Github and Perforce to see if there is any difference in behavior.
From speaking to the person who does development for our localization tools, it seems that support for the editor’s built in translation tools isn’t something that we’re focusing on. The localization dashboard itself is supported but the idea of editing the translations in the editor, instead of exporting/importing, is something that has fallen to the wayside and is likely to be dropped. This likely was broken in 4.14 due to some changes with how the keys are stored so the updates may not be clearing the keys like it did previously. Unfortunately, you’ll need to stick with using third party translation tools for the translation itself.
As for the .po files not being marked as changed, I don’t believe that file changes unless you export the data. I’m unsure on the others exactly.
Hi Matthew, thanks for the reply. Can you tell me how localization in the Unreal Engine is meant to be done, workflow-wise?
Because by just exporting and importing .po files it is not possible to set up an efficient workflow, because when changes to the native language/translation are down the cell for all other languages (despite the fact that it already was translated in all these languages) is exported empty again.
Example: Old english translation: “my text” Old german translation: “mein Text”
Changed english translation: “my text!” german translation after export:
This means that translators have to translator the same texts over and over again even if only small changes have been done and lose all their old translation on this text.
Is there any other way to localize texts or any settings I can configure for teh exporting part?
It is expected that the translation will be cleared out when the source text changes, as that translation is now stale. The translation itself still exists in our archives (and can be used at runtime if you enable stale translations when compiling), however the PO export will always export an empty translation for any stale translations (although there’s no reason we couldn’t add an option to export stale translations too, for those people that are working locally and without translation memory).
While UE4 does have a very simple translation editor, as Matt mentioned, it’s developmentally frozen, and is lacking some features (such as translation memory, which is pretty essential now that we no longer de-duplicate texts on export) that you need to make working with delta-translations easy.
For these reasons we only recommend people use it for simple tweaks, and use something more robust to manage the complete translation of their game.
Internally at Epic we use two tools for this; OneSky and XLOC, and our pipeline is automated via the UAT “Localise” command which runs nightly on a build machine to perform the following actions:
Gather the latest source texts.
Download the updated foreign POs from our localization provider and import them.
Export a new native PO and upload to the provider.
Compile all the new text.
The key part of this is that the translation provider “owns” the foreign translations, and we only consume them (we don’t provide it with new translations, only new or updated sources). It also tracks which texts have changed and allows translators to edit them as needed.
I believe you’re currently using Poedit? As far as I know, it does have the ability to use translation memory, but if you’re looking for a collaborative solution that you can share with your translators then OneSky is a also good option.
And just to be extra clear; the translation editor and the localization dashboard are two completely separate tools (people often think they’re the same as you can summon the translation editor from the localization dashboard). My statement above about the translation editor being developmentally frozen does not apply to the localization dashboard.