-
Notifications
You must be signed in to change notification settings - Fork 378
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Resources: Improvements to the lang.[language] structure #1221
Comments
Yeah, sorry that the language system is so half-baked. I wasn't quite sure what I needed when I wrote this, and then raidboss turned into something different and diverged from oopsy and jobs. It just hasn't been the highest priority (and probably isn't, even now, but it's causing bugs, so here we are.) I think my reaction to these sorts of problems is to identify what all the issues are, see if there's something that can solve all/most of them, and see what steps towards that would look like. Here's what I see the problems being:
I think the actions should probably just go away. I think I had thought that maybe raidboss would use them, but actions aren't really duplicated, and so any actions that jobs is using should just move into jobs. They're not really "translations" and in that sense maybe don't belong in the language files. Especially with raidboss transitioned to just ids, then maybe oopsy should do that in all cases too. The newer helpers in oopsy for I think effect-wise, I was wondering if maybe some auto-generated file like If that happens, then what's left in the language files?
This is all a bit wishy washy, but I think what I'm getting at is that I like the way that raidboss just explicitly handles translations and passes around response objects with multiple translations in them to select from. I wonder if it'd be better to just drop the |
On effect translations, it's tough with multiple possibilities. In the past, I would just use the effect that was correct for that specific piece of content I was working on, wherever I came across it. (Which, yes, would break if other content uses ID2 where I used ID1.) You're right that we should move to using effect IDs everywhere so as to be explicit. This wouldn't necessarily be a problem anyway, since we're already looking up the effect ID to find the correct CN/KO translation in these situations. I agree that your last paragraph is probably what we should be working toward. That works well enough for raidboss, and the duplication of effort that it incurs really isn't worth considering. (Plus, as I'm seeing from my work on normal modes, it can save a ton of time for normal vs EX/Savage content.) |
Looking at this again, I think we're most of the way there in terms of removing our dependence on |
This is a very indirect patch which is to get rid of non-jobs usages of gLang.kEffect, so I can use netRegex for effects in jobs, remove gLang.kEffect entirely, in order to track atonement stacks for #725. This also contributes to several other ongoing nebulous efforts like using NetRegexes for oopsy instead of events (#1487) and also cleaning up the unfortunate gLang data structures (#1221).
This is a very indirect patch which is to get rid of non-jobs usages of gLang.kEffect, so I can use netRegex for effects in jobs, remove gLang.kEffect entirely, in order to track atonement stacks for #725. This also contributes to several other ongoing nebulous efforts like using NetRegexes for oopsy instead of events (#1487) and also cleaning up the unfortunate gLang data structures (#1221).
This is a very indirect patch which is to get rid of non-jobs usages of gLang.kEffect, so I can use netRegex for effects in jobs, remove gLang.kEffect entirely, in order to track atonement stacks for #725. This also contributes to several other ongoing nebulous efforts like using NetRegexes for oopsy instead of events (#1487) and also cleaning up the unfortunate gLang data structures (#1221).
This is a very indirect patch which is to get rid of non-jobs usages of gLang.kEffect, so I can use netRegex for effects in jobs, remove gLang.kEffect entirely, in order to track atonement stacks for #725. This also contributes to several other ongoing nebulous efforts like using NetRegexes for oopsy instead of events (#1487) and also cleaning up the unfortunate gLang data structures (#1221).
Also upon reflection, I think |
All uses have been switched over to effect ids, thank goodness. This is working towards #1221.
This is unused at the moment, but should be useful for the raid emulator. This is working towards #1221.
All uses have been switched over to effect ids, thank goodness. This is working towards #1221.
This is unused at the moment, but should be useful for the raid emulator. This is working towards #1221.
As noted on #1207 , the current setup of having a separate language file for each supported language is rather cumbersome and prone to forgetfulness from maintainers. My typical reaction to these sorts of situations is "let's build around it rather than restructuring":
From here we could just update a file in one place, and then run a script to pull in translations and update the relevant language files.
A more expansive solution that also doesn't make structural changes would be a script to scan trigger files for
k[whatever]
elements, grabbing those translations from the appropriate resource sites, and automagically dropping those into the relevant translation objects in each[language].js
file.I'm not familiar enough with the internals of the translation engine to speculate about how we might change that if we're going to do something structural, unfortunately. When I get a little more time this summer I would be happy to look into an implementation if we come up with something as a group.
The text was updated successfully, but these errors were encountered: