gravitystorm left a comment (openstreetmap/openstreetmap-website#6836)

There will always be a short gap before the translation keys are updated. This 
happens both when adding new translation keys and also when renaming existing 
ones. It's not ideal, but it's only a short delay of a few days at most. Unless 
we completely change our workflows I think this is unavoidable, and we should 
just accept the tradeoffs involved.

We offer a deploy-from-master-at-any-time release process. This has several 
advantages, including minimising the time between merging a PR and it showing 
up on the website, and being able to add emergency fixes at any time. If we 
move to a situation where we can't always deploy the latest master - e.g. if we 
block deployments while we are waiting on translation key updates - then we 
will need to have point releases on branches, for emergencies at least, if not 
more. This adds a lot of complexity, and complexity for sysadmins during 
emergencies is not good. We would also need to communicate this with other 
deployments, that they should watch out for any hotfix branches etc - again 
adding complexity. Or we would have to move to versioned releases, but this 
slows down new features dramatically.

For the translations, they currently go through a multi-stage cycle where we:

* add or rename a translation (by merging a PR)
* wait for translatewiki to import the new keys (I don't know when or how often 
this happens)
* wait for translatewiki to export the new keys (roughly twice per week at the 
moment, most Mondays and Thursdays)

If we merge a PR, and then we need to wait for steps 2 and 3 to happen before 
deployment, what happens if we merge another PR just before step 3 completes? 
Are we still blocked? If we merge PRs frequently, like one every 2-3 days, then 
we could be blocked without a release for weeks at a time, since the 
translation keys would never be 100% up to date with the stream of PRs.

We could consider having a "preview-i18n" branch, where we merge PRs with any 
i18n changes, and then wait for translatewiki to update the keys, and then 
after that merge the PR to master. But this doesn't work for renames, where 
translatewiki would effectively remove the old keys on master before we've 
merged the preview PR. We'd be back to having to block master until the 
translation keys and code are back in sync, so this wouldn't really solve 
anything.

I can't see a way forward that preserves both benefits of the 
deploy-from-master-at-any-time approach while preventing the occasional 
translation-key glitches. To avoid any situation where there are unsynchronised 
translation keys, we would need to move to release branches, work with 
translatewiki on being able to translate the pre-releases in parallel to actual 
releases, and so on. I don't think it's worth the effort.

-- 
Reply to this email directly or view it on GitHub:
https://github.com/openstreetmap/openstreetmap-website/pull/6836#issuecomment-3952578302
You are receiving this because you are subscribed to this thread.

Message ID: 
<openstreetmap/openstreetmap-website/pull/6836/[email protected]>
_______________________________________________
rails-dev mailing list
[email protected]
https://lists.openstreetmap.org/listinfo/rails-dev

Reply via email to