Skip to content
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

Feature : Dynamic update of translation #77

Open
azekiia opened this issue Mar 8, 2024 · 4 comments
Open

Feature : Dynamic update of translation #77

azekiia opened this issue Mar 8, 2024 · 4 comments

Comments

@azekiia
Copy link

azekiia commented Mar 8, 2024

From my understanding, new translation files are updated when a new update of VTS is released. This means that; with this current process, translations are systematically one update behind the latest version.

This can be uncomfortable for people who are not fluent in English, making accessibility complicated. One idea would be to fetch a repo at VTS launch to check whether a new language file is available for the selected language, and download it if so.

This would enable us, as translators, to push out translations more quickly between two versions of the software, to facilitate accessibility for everyone.

@DenchiSoft
Copy link
Owner

That's how I wanted to set it up originally, but I'm a bit reluctant to enable people to just push strings directly into VTube Studio. Worst case would be someone gets their account compromised and puts a bunch of slurs into the app. Usually I do a quick sanity check to make sure there's nothing bad in the files before I add them to releases.

This could still be a good idea though. I could set up a script that lets me press a button to create a readonly copy of the current translation state and then that safe copy gets fetched by VTS on startup.

@azekiia
Copy link
Author

azekiia commented Mar 9, 2024

Yup, I do agree with you that the translations shouldn't be retrieved directly from the actual Google Sheets file, but first passed through an upstream repo (or a sanitized sheet as you suggested) where the files would have been tested beforehand.

This would make it possible to continue the manual checks you do. It wouldn't be as fast as real time, but it would still be more efficient than waiting for the next version. It would be a good compromise!

I checked the modification history of the translation file, and it's not too surprising that most translations occurs just before/after the official release of a new version. A few translations are then added later randomly.

Perhaps the translation process should be modified. For example:

  • A week after the release, you could push the current translations for every languages, after your sanity check.
  • After this period, a translator could inform you of an update via the Discord room provided for this purpose, and you could push only the updated language after a quick check FOR THAT LANGUAGE ONLY.

On the other hand, this could make your workload more consequential, I have no idea what it would represent for you

@DenchiSoft
Copy link
Owner

I think if this is set up correctly, it shouldn't add much workload at all.

I'm looking into the implementation right now. The biggest problem is that VTS expects all localization files to be present when the app starts up.

Checking localization integrity is one of the first things that happens. So if localization updates are downloaded at that point, they wouldn't applied in that VTS session. You'd have to restart the app to see the updates. Maybe VTS could show a popup informing users that updates for their language are available in that case.

@sparanoid
Copy link

I think shipping translations with new releases is okay. The problem is that there's no review process for current Google Sheets setup. A professional i18n service like Crowdin would be a better choice in my opinion.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants