calref / cboe

Classic Blades of Exile

Home Page:http://spiderwebforums.ipbhost.com/index.php?/forum/12-blades-of-exile/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Make game translatable

CelticMinstrel opened this issue · comments

This is a huge project with a number of sub-tasks – nearly everything that deals with text would need to be refactored. Some of the things required include:

  • Use a format library instead of string streams to compose strings.
  • Make string table resources automatically localize upon load
  • Support string table resources that are looked up by string key instead of by integer index. The existing ones do make sense to be treated as lists, but other ones that would need to be added would likely make more sense as maps.
  • Support reading from a string table in dialog XML
  • Support some sort of string substitution system within the scenario format
  • Figure out how NPC dialogue can be localized
  • Figure out how (or if) the string buffer family of special nodes can be localized
  • Figure out how to handle sorting of scenarios (which currently strips off leading "a" and "the")

The above list is probably not exhaustive.

I love game localization but I wonder if there is enough demand for BoE in other languages to justify a massive effort. Am I underestimating the community if I guess that less than a few dozen people will play the game again without a big graphical makeover and publicized re-release?

Translating ZKR, BB, VoDT and ASR is a cool idea, but I'm almost certain no one would translate existing user-made scenarios or make a new multi-lingual scenario.

Translating npc dialogue would be interesting--like, what if a clickable keyword in the English dialogue doesn't have a direct translation? Maybe that would never happen, but I'm imagining in some cases it could require changing a dialogue tree, adding different nodes for different languages, etc.

That said, I'm contributing to another project that localizes documentation using the gettext standard and I do find it interesting.

https://www.sphinx-doc.org/en/master/usage/advanced/intl.html
https://www.gnu.org/software/gettext/

I guess the number of watchers, forks, and stars on the repo outstrips my pessimistic "few dozen people" estimate.

I love game localization but I wonder if there is enough demand for BoE in other languages to justify a massive effort.

You have a point. I don't consider this a priority since there are only like five people truly paying attention to this product right now. But in the long run I think it would be nice to have, so I opened the issue.

It's definitely not something we'd do at this stage. We need a stable 2.0 before we even consider localizing.

Translating npc dialogue would be interesting--like, what if a clickable keyword in the English dialogue doesn't have a direct translation? Maybe that would never happen, but I'm imagining in some cases it could require changing a dialogue tree, adding different nodes for different languages, etc.

Good point. Localizing dialogue would be rather complicated. Ultimately I think the keywords themselves would have to be localized, and translators would have to be made aware of how the system works so that they know that keywords placed in the text should be translated to the same keyword.

Another challenge to localization is the "string buffer" family of special nodes, which are literally the exact opposite of what makes something localizable. There might be a way to salvage that without breaking the nodes. I'm not sure.

That said, I'm contributing to another project that localizes documentation using the gettext standard and I do find it interesting.

I'm not a fan of gettext. I wouldn't be opposed to using it (via boost) but I prefer a string table approach with short and succinct keys.