Closed shurup closed 1 year ago
@shurup: This issue is currently awaiting triage.
SIG Docs takes a lead on issue triage for this website, but any Kubernetes member can accept issues by applying the triage/accepted
label.
The triage/accepted
label can be added by org members by writing /triage accepted
in a comment.
You'll need to get every localization team to agree to change their workflow to match what you're proposing here, @shurup. If we can do that, then this change is easy to make.
@shurup, exactly what @sftim said. To my mind, the main issue here is visibility and reviewing. Localizations are set up so only approved language reviewers are able to review/approve on content and merge PRs. This makes sure that folks within the localizations teams know about the changes and have the ability to raise any concerns about the change before the PR is merged into the docs.
In the case of an umbrella PR like you are describing, I think we need to figure out
I think this is something worth investigating more to get feedback from other localizations, @shurup are you able to make it to the next localization meeting February 6th to talk more about this topic? We can also chat more async in this issue (and slack) :)
/area localization
In the case of Chinese localization, we treat each page a minimum unit for synchronization from en
to zh-cn
. Every time we update a page, we require a full resync of the whole page. We check if a page is out-of-sync by comparing the date of the latest commit. The detection is performed using the scripts/lsync.sh
tool.
When a minor change A is merged to an English page content/en/docs/foo/bar.md
, we need to check ALL the changes before the content/zh-cn/docs/foo/bar.md
was last updated. In many cases, there could be other changes B and C merged to the English version, before A is merged. Next time when a PR is proposed to content/zh-cn/docs/foo/bar.md
, we need to make sure that PR has incorporated A, B, and C. We will reject "partial update PRs", .i.e. PRs that only synchronize change A.
I agree with all the valid points Abbie, Qiming, and Time made. Adding my two cents below,
I recommend we bring this up in the next localization meeting and discuss the specifics. If all localization leads are in agreement, we could move this ahead.
We chatted about this a bit in our last localization meeting. Two concerns that were raised were
Based on the majority of the feedback we have gotten on this issue, I'm thinking that this is not something we will be adopting because it introduces too many non-trivial changes to established processes for what we would be gaining.
I'm happy to continue chatting about this if folks have different thoughts :)
First of all, I am incredibly sorry I brought this issue to wide attention and immediately disappeared :sweat_smile:
Many thanks to everyone for your input; it was super helpful! Based on it, I can see this idea doesn't seem to be reasonable enough. So I'm happy to close this issue with a better understanding of why we are where we are. Thank you for summing it all up, @a-mccarthy!
I also like very much the idea of full resyncs that is used by the Chinese team. Such practices are definitely worth sharing with other teams. It's quite off the original topic, but is the localisation experience of different teams documented anywhere? I know some issues are discussed during the meetings and in Slack, but having some kind of "localisation best practices knowledge base" would be amazing. I think it would be overkill for the existing https://kubernetes.io/docs/contribute/localization/ page since it focuses on more general things. Maybe we can start by creating one more "child" page to accommodate the approaches and techniques different localisation teams use to deal with different tasks? Not as a guideline, but as an existing experience you might consider trying in your team. Or maybe there is a better way to do it, and we'd better discuss it elsewhere.
There is a sig-docs-localizations
Slack channel, and there is a community meeting for localization teams to gather and share experiences. However, some of the practices are not applicable to all teams because the practices are closely related to how the team tracks changes. For smaller/inactive teams, there could be a dedicated branch for batch translation/syncs. For larger/active teams, the localization may be even tracking the latest changes to the English content. For this and other reasons, each team may have their own protocols on managing terminology, content style etc. For example, the scripts/lsync.sh
tool is heavily used by the Chinese localization team because it is closely tracking the latest changes, based on the timestamp of the last commit. It can handle different languages, but it doesn't mean it should be recommended to teams which are working on an older release that is behind the current one.
Thanks, @tengqm! I am aware of Slack and meetings. My idea was to create very basic documentation giving a brief introduction to those practices as a bit more formal way to share the experience. It could have become a starting point for those who are looking for ways to establish or improve their own workflows. Not even as a recommendation but just as an option to consider — it can be adopted/modified or not used at all, of course.
@shurup Thanks for raising this issue! I think we've had a lot of valuable discussions around this topic and it brought up some great points on different localization's processes.
I agree that sharing the ideas and processes from different teams can be very useful and it's one of the main reasons why the localization subproject was formed :) I'm not sure that putting them into the main kubernetes website is the best place, though, because there are a lot of variables to consider and reasons why a localization has adopted certain practices (as @tengqm pointed out). The website contribute section is usually a place where we describe set or prescribed processes everyone should follow.
These might be better as blog posts, where a localization can share their experiences and practices. Or some other place that talks about the sig practices, like the kubernetes/community repo, https://github.com/kubernetes/community/tree/master/sig-docs.
In terms of this issue, I think we are ok to close it. We can continue to chat about processes in Slack and in the meetings, and figure out the best way and place to collect these ideas as well
Thanks, Abigail! I'm closing the issue.
The kubernetes/community repo seems to be the right place for what I'm suggesting. Will investigate it more thoroughly a bit later.
If a change is very high value to the Kubernetes project, I hope we'd consider making an exception to our usual policy and consider having a PR that touches multiple localizations. This should not be the norm; rather, it'd be something we save for rare and important cases such as a high-impact security notice.
If a change is very high value to the Kubernetes project, I hope we'd consider making an exception to our usual policy and consider having a PR that touches multiple localizations. This should not be the norm; rather, it'd be something we save for rare and important cases such as a high-impact security notice.
Good point.
Okay, lang-uk
team is okay with that. Better to fix git conflicts, than have outdated docs
This is a Feature Request
What would you like to be added Sometimes we bring tiny corrections in the original (English) docs, such as fixing an outdated link. The current workflow is to merge them there, and things seem to be done. It's only later and quite occasionally/randomly when such updates get to other languages one by one… and they probably, never land everywhere.
E.g.:
38534,
38543,
38585,
38594.
For me, it sounds more reasonable to a) get the change approved for the English version first and b) immediately after it's approved, bring it to all other localisation at once. We can do it in two PRs (one for English and another one for all other languages together) or maybe even in one, so one actual change will be presented in the only place.
Why is this needed This approach will help us:
Comments The obvious drawback is that each localisation team might miss such changes getting into their localisation. However, if the change is so minor and doesn't affect the language itself (just an URL or some specific English term), it doesn't sound like an issue to me. Maybe, a simple way to notify all localisation teams' owners in such "umbrella PRs" will be helpful, though.