Open ceskyDJ opened 9 months ago
Really appreciate the offer to contribute in that regard. At the moment though I'm still navigating how I want to handle contributions in general, and specifically what to do with translations. Currently, every time I develop a new feature or change some existing functionality, I need to translate it into 18 languages which really isn't sustainable (especially trying to make sure the translations make sense in the other languages, which is a whole other challenge).
My original plan with the MV3 update was to personally support a handful of curated languages (maybe 3-4 max), but since the previous version had all the other languages (mainly with people contributing their own, which I just somewhat blindly accepted) I've been sort of forced to also translate the new version into all of them, or risk losing users / getting bad reviews. So it's a bit complicated, I feel like I might have to think about it some more and come to a proper solution soon.
I completely understand that working in this manner can be challenging. I had no prior knowledge of the current translation system, so I raised this issue to gather more information and form a clearer understanding. It's not ideal when changes need to be translated into multiple languages. I prefer translation systems that rely on contributions from native speakers within the community. This approach seems effective for projects like https://github.com/sbs20/scanservjs and https://github.com/saber-notes/saber.
However, there is a potential issue with the consistency of contributors' activity over time. When a project gains popularity, especially beyond the open-source community where there may be a lack of understanding that 100% current community translations cannot be guaranteed, challenges may arise. We discussed this matter in the Saber project some time ago (see https://github.com/saber-notes/saber/discussions/752, https://github.com/saber-notes/saber/issues/753, https://github.com/saber-notes/saber/commit/529cedcc966ad6e8d172ce955d7002dc0f3b5f60#commitcomment-119859015, https://github.com/saber-notes/saber/issues/549, https://github.com/saber-notes/saber/pull/552) and opted for automatic Google translation of English texts with alerts to contributors. This ensures that everything is translated, and it depends on human translators to maintain their translations. I'm uncertain whether this approach would be suitable for your situation, given that you manage support for multiple languages alone without transferring responsibility to community translators.
I comprehend the predicament you find yourself in. Opening translations to the public and shifting responsibility to the community doesn't seem viable, as far as I can discern. The decision is undoubtedly difficult and may not be well-received by users. I can offer to actively maintain the Czech translation, as I do for other projects (https://github.com/stars/ceskyDJ/lists/translated-with-support). Typically, I submit a pull request with updated translations (except some extensions like README translation and huge changes with so many updated/new strings) within the same or next day. I acknowledge that this may not be sufficient, but due to my other commitments, such as school and work, I cannot provide more extensive support. I can also share experiences from translating other open-source projects, as I aim to assist you in making an informed decision.
I'll await your decision regarding contributions and translations and will work with it accordingly afterward. If you believe there's a way I can assist you further, please feel free to leave a comment in this discussion.
Hi @alyssaxuu! Some time ago we talked about community translations. Could you please give me some updated information? I'd love to start building Czech translation, because creating a good translation is a long term process. I have some experience from other projects, that it's better to start with a smaller string base and continuously extend the translation as new strings are adding. Meanwhile I can update the translation with a little improvement.
I can contribute straight to the codebase, it's not a problem for me. I don't know React, but I can orient even in JS, if it'd be needed. I figured out that there were some translations in the codebase but I didn't check it more deeply. If they are up to date, I can just create the Czech one from them.