WeakAuras

WeakAuras

206M Downloads

A system that supports translating weakauras

Causese opened this issue ยท 2 comments

commented

Is your feature request related to a problem? Please describe.
People tend to translate weakauras but can't keep up with updates and generally seem to lack views for all the work they do since the main weakaura gets all the attraction.

Describe the solution you'd like
not really sure what a feasible solution is but I was thinking about something that requries wago and wekauras to cooperate.

my initial thought was a translation tab for the group-tab that catches all strings be it custom or default and allow the users to translate it.

Additional context
Just something I wanted to drop that I think is amazing: https://bbs.nga.cn/read.php?tid=16196076
People truly dedicated to translations so it might actually be a decent feature.

commented

So, a few thoughts:

  • This would work best if there was a place for the author to accept localization updates. Wago seems the obvious solution, but it's certainly not the only possibility.
  • All user-facing strings in Custom Options support formatting already, so the code change to get them to lookup localization doesn't seem to be too onerous.
  • All displayed strings in e.g. text options (aside from text that people put in custom text regions, anyways...) go through at least one pass to replace any formatting patterns. So, we can hook onto that to also replace localization phrases.
  • There is the (small) possibility of bloating data size too much - the current practice of essentially forking auras and translating them is likely to be the smallest kind of localization. If data size becomes an issue, perhaps we could look into fragmenting localizations, so that users get only the strings that they need.

Overall, I think this is an excellent idea, and is definitely something we should work to achieve.

commented

My proposal is that in order for a user-facing string to be translated, it must be formatted along the lines of %L|somePhrase, or %L{Some phrase here}, or maybe %L[Some phrase here]. Upon finding such a phrase, WeakAuras then checks to see if that phrase has a translation available for the (user-specified) locale, and replaces it with that phrase if it exists. Otherwise, just give back the phrase untranslated.