-
Notifications
You must be signed in to change notification settings - Fork 2k
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
Message to our translators: new release process from the Bluesky team #7317
Comments
Pinging contributors to the latest release: @xenomachina, @tkusano, @Signez, @claudiu-cristea, @BradEstey, @GrizliK1988, @rcombs, @mlocati, @Juanpabl, @snowp, @ovniroto, @thunderweasel, @valtlai, @benharri, @monty241, @skipness, @luan-u, @softastur, @tunetheweb, @quiple, @ivanbea, @DavidBuchanan314, @smileyhead, @renanmav, @auroursa, @mertssmnoglu, @karolstawowski, @kakkokari-gtyih, @roth-dev, @vinhphm, @hogaza, @voi-tech, @whoisanku, and @surfdude29 |
Sounds like a great process to me! 👌 |
That sounds lovely, thank you very much. Will translators also be pinged in these release announcements? |
Hmm! Interesting. I'll do that and start maintaining a list. If somebody gets pinged that doesnt want it -- or doesn't get pinged and they do want it -- they can request to be added. Might look into creating a github org or team or something |
Thank you for everything you’ve done, I have a thought about regarding new translation PRs submitted during the QA phase. Is there a list of main contributors for each language who could help coordinate language-related issues? For instance, they could help decide which translation updates are worth merging during QA, or perhaps PRs proposed by these contributors could be accepted if there are no objections? Alternatively, could the ping list serve as an equivalent list of main contributors? For languages without a clear primary contributor, there may be cases where the person submitting the original translation PR is different from the one proposing an improvement PR. This could potentially lead to confusion, especially when deciding which PR should take priority. Would it be helpful to establish some basic guidelines for such situations? There may be some conventions here, but I think formalizing them is a good idea—it would be more friendly for new contributors looking to get involved in translations. |
Hello Crowdin is great and easy for translations. I would like to help with Azerbaijani translations. |
From my experience with our own SQL engine and for instance Odoo this process will not really work using either community translators or commercial translators. I would recommend decoupling the progress development and translation completely (async). Some languages might be up to date (English), but others might be lagging behind for months or longer. Use a CAT tool like crowdin, localazy or weblate, daily load the new resources using manual exchange (for resources there is typically fine support) or use an API or custom driver such as https://forums.invantive.com/t/exchanging-translations-between-localazy-and-invantive-producer-oracle/4765, depending on the tool and process chosen there is a review phase for accepting translations and daily include the new translations in the daily build. There is no need to work with PRs; I would strongly recommend against it and use a more granular/continuous way of working. Just my 5 cents; feel free to ignore. |
In fact, it makes more sense to do translations with a convenient UI. I don't know about the community. But I want to contribute to the translations. But it's difficult at the moment. I know English and it's easy for me. Azerbaijani is my native language. Your app is great and thank you😊 |
The Mastodon project seems to use a bot to automate localization management, periodically uploading the latest translation strings to a platform and pulling the latest changes from there. This approach eliminates the need to review localization-related PRs entirely, and it lowers the barrier for contributing translations. But getting there will take a lot of work, and it’s not exactly the focus of this issue. |
For our own software we solve the issue on untranslated resources by combining the (partially) translated output with an automatically maintained translation of resources using DeepL and Google Translate. This ensures that everything is always translated, albeit that the machine translations are sometimes less well done. When translators pick up work so one week later, the translations become better and eventually all languages converge to 100% human translation and reviewed. The script is quite simple in sql: extract resources in primary language, upload to Localazy, download what is done, upload source also to database, generate and store machinetranslations where missing, and combine to downloads for all languages needed. The last ten years or so that process runs fine with now and then a cat tool being replaced. |
Where are the instructions? |
In our current setup, the involved translators get an email within 24 hours after a new resource is made available, something like "New translation work is available". A glossary with definitions and regular (existing) translations is available directly with the CAT-tool. For the rest there a no instructions other than read the manual of the CAT-tool, be a user of the app yourself when possible and read your email when possible. In the past we have had a document with a lot of explanation, but it was found that although technically correct, no one was actually using it. All checks have been included in the process, like correct spacing, writing style, etc. Only problems we typically see are:
|
A convenient UI is already referenced:
|
Please invite me as a translator. |
I don't want to chime that much in on the CAT-tool vs. PR-based solution debate for now; honestly the current suggested process is good enough for now imho, and it also allows us translators to do an actual cycle of review on the whole po file to ensure the cohesive nature of the translation, which is a big plus. On this thing especially:
This is fixed through May I also humbly suggest that we stop talking about CAT-tools in this issue? Not that this debate is not useful, but we already have an issue about that, namely #2940, and every new comment is broadcasted to 20+ contributors pinged before. |
I will create PR for Azerbaijani translations |
For Italian translations I already implemented an integration with Transifex (see https://github.com/mlocati/bluesky-social-app ): the only step I have to do manually is the creation/update of pull requests like #7184 (but it's a step that only requires hitting button on https://github.com/mlocati/bluesky-social-app/actions ) |
We, in Softastur, use CAT tools when possible because we could open contributions to our speakers while ensuring a good review process, and makes them easy to maintain too. Crowdin offers a free tier which exceeds Bluesky requirements and it can be configured to only upload proofread-ed contributions, has a good UI and its glossary management is almost perfect. Transifex, on the other hand, offers the same functionality but glossary management is worse and template auto-update can be configured on web (on Crowdin must be done through CLI and triggered manually). Asturian translations for Bluesky come from a private project we set up on Crowdin |
Since we're all here -- Is there anybody that would be unhappy if we set up an official Crowdin? |
It would be great if it was Crowdin.🤠 |
As soon as you offer us roles of "mods" or "coordinators" of the locales we managed before (to make sure we can help new contributors to follow the few guidelines we set up before, and prevent some vote brigading) I have no problem switching to Crowdin! |
Okay sounds like an official Crowdin is the move. I'll keep everyone updated. |
@pfrazee You probably saw this already of course but the CEO of Crowdin offered their help on getting Bluesky set up 🤝
|
Hopefully the localization platform will be improved soon. |
Can we have a more international French translation? For example, the app still uses words like "e-mail" in the French language version. |
This is a bit off-topic, but looking through merged PR's, I believe the person you should contact about that is @Signez. |
Hi there are some translation issues in the Dutch version, how can I help to translate those correctly? |
If you just want to provide feedback, then create an issue while tagging the previous Dutch translator(s). Or if you want to contribute directly, you can fork this repo, edit the Dutch language file, then create a pull request. |
Hey @smileyhead I know how to fork, but where can I find the Dutch translation exactly in all the stuff? |
I would highly recommend coordinating with the existing translator(s), though. At the very least, tag them in your pull request while explaining your changes. |
If I know who it are, I can contact them for sure. |
Hello to our many wonderful translators!
Many of you have requested more coordination around releases so that you can complete translations in time. I know it's frustrating to have translations lag behind releases!
We are often running close to the deadline with merges for a release, so sometimes it will be difficult to ensure a consistent timing. However, we're going to institute the following process to help improve outcomes:
Release coordination process
I hope this will be useful to everyone and reduce the lag time on translations! Thank you everyone, and have a wonderful new year!
The text was updated successfully, but these errors were encountered: