External localization

I have two questions about localization.

First. How can I use localization? I gathered all text, complied it and translated. And also changed culture (in console also), but I see only the text defined in third parameter of macro NSLOCTEXT(namespace, key, text)

Second. How can I use external keys for localization (keys from other network service for example)? FText::FText constructor can this as I see in code. Right?
Where I can store this localization? Directly in manifests and translations? Or I must created executable C++ listing with list of NSLOCTEXT macros?

  1. Is this in a cooked build? How did you do your translation, and is the translation data definitely in your archive files (these are what get compiled)?.

  2. Could you provide a more concrete example? We generally use return codes from external sources and display our own localised messages (rather than have any text come from the external service itself). Either that, or our external services already provide culture correct text (passing the current culture as part of the request).

Sorry for my late answer.
I solved my first problem. I just misunderstood localization tool.

A now my localization correctly displayed only on packaged client. But why only on packaged?

  1. Concrete example is large list of items. Localization of every item with many languages is bad idea to store it in DB or file, isn’t it? We can store localization of names and descriptions on clients. Why not? Service gives to clients only keys and localization system converts keys to text.
  1. What are you running when your loc doesn’t work? Running in PIE doesn’t load up loc data (as it would affect the editor data), but running the editor with -game would.

  2. That sounds reasonable enough to me. You’d need something in either code or assets that would map the keys returned by your service into FText instances. The gatherer would then grab this text for translation.

Thank you, Jamie! :slight_smile:
Now all clear!