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

Test translation tooling for localizations #45756

Open
a-mccarthy opened this issue Apr 2, 2024 · 73 comments
Open

Test translation tooling for localizations #45756

a-mccarthy opened this issue Apr 2, 2024 · 73 comments
Labels
area/localization General issues or PRs related to localization kind/feature Categorizes issue or PR as related to a new feature. lifecycle/active Indicates that an issue or PR is actively being worked on by a contributor. needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one.

Comments

@a-mccarthy
Copy link
Contributor

a-mccarthy commented Apr 2, 2024

Breaking out from #45175 and #45209, this issue focuses on forming a team to test out different TLMP tools for use to localize Kubernetes docs, including creating a prototype. Special thanks to @sftim for help reviewing the testing plan/requirements.

If you would like to participate, please respond by Monday, April 22nd with your interest.

Outcomes of the testing phase:

During this testing phase we'd like to identify the technical requirements necessary to integrate a TLMP such as Transifex or Crowdin into this kubernetes/website repository.

At the end of the phase we should have:

  • a working proof of concept that is accessible to the community and highlights localization workflows
  • detailed documentation outlining the findings of this testing, including:
    • Use cases/workflows tested
    • Tooling implementation requirements
    • Long term support requirements
    • (Protoype) testing team’s recommendation on tooling
  • (if applicable) evidence that the tooling evaluated isn't suitable and that there are insoluble barriers to adoption
    (unlikely, but this is a valid outcome even if it's not what we want)
  • a presentation to SIG Docs during a community call on the findings of this testing

Testing phase timeline

To be determined, depends on finding volunteers to help do the testing.

  • Volunteer deadline: April 22, 2024
  • Estimated testing phase length: 30 days
  • Kickoff meeting date: To be determined, based on availability of volunteers
  • Testing period:
    • Start date: MM-DD-YYYY
    • End Date: MM-DD-YYYY

Resources

To do the testing we'd like the following roles filled with folks from the community. The testing phase will last about 1 month and has light some time requires depending on the role you'd like to help out with (described below).

Volunteers for this testing should be is able to

  1. read/write a language other than English
  2. has some experience with our current localizing and reviewing processes
  3. commit to helping for the entire testing phase. You wont necessarily have work for the entire time, but we'd ask that volunteers can commit to be responsive on slack and GitHub for the testing phase.
  4. Volunteers should also be Kubernetes Github Org members.

If you have experience with these tools already, great! But you do not need to know anything about the tooling to be a volunteer here, having a new users experience is very valuable for our testing.

We'd also be interested in having a whole language team, or part of a team, participate in the testing. That way we'd be able to test the whole workflow, from localizing content, reviewing it, and "publishing" it.

Roles

TLMP administrator: We need two (or more) people to look after the prototype TLMP and either shut it down at the end of the prototype phase, or update it for adoption. The two person minimum comes from not wanting to rely on any single contributor; we could otherwise end up in a situation where we have a platform we can't manage. These contributors may also join a Google Group or similar, associated with the TLMP's owner identity.

  • Needed: two contributors

  • Time Commitment: 30 minutes - 1 hour per week split between the 2 admins (about 3 hours total during the testing phase)

    1. [NAME - github]
    2. [NAME - github]

Communication Lead: We need one person to lead communication for the testing. They will help share progress and highlight blockers for the testing teams. This person should be available to attend SIG meetings for sharing updates to SIG docs

  • Needed: one contributor

  • Time Commitment: 30 minutes to 1 hour per week (about 3 hours total during the testing phase)

    1. [NAME - github]

Technical lead: We should involve one of the SIG's technical leads as liaison and to either contribute to the report to the SIG, or to review it. The person should also be available to answer questions during the testing phase

  • Needed: One technical lead
  • Time commitment: 3 hours minimum over the course of the testing phase
  1. [NAME - github]

Localization team: To make sure we are testing the workflows completely, we'd like to make sure we have testers and reviewers from the same language. We ask that volunteers for these roles sign up from the same localization team, and fill the roles for their specific language. There should be TLMP testers and localization reviewers for each language that chooses to participate.

  • TLMP testers: People who'll try using the localization management platform to localize documentation.
    • Needed: at least two people, but ideally more.
    • Time Commitment: Two hours each minimum - over 30 days. Testers may want to spend more time testing, but we are asking that testers can spend at least 2 hours localizing within the tools.
  • Localization reviewers: Reviewers able to review in the same language as the testers.
    • Needed: at least two reviewers from each localization team. We'll want to find out what the experience is like for reviewers, and we'd like to see more than one change get all the way to publication.
      *Time commitment: Minimum time commitment is about 1 hour over the testing phase.

Note: Ideally, testers and reviewers within a localization team are different people, which models how the localization workflow work now.

[Language] Team:

TLMP testers:

  1. [NAME - github]
  2. [NAME - github]

Localization reviewers:

  1. [NAME - github]
  2. [NAME - github]

Non goals

  • Directly adopt a translation management platform without trialling it
  • Force all localization teams to use or try a TLMP
  • Address all identified issues during the prototype phase

/area localization

@a-mccarthy a-mccarthy added the kind/feature Categorizes issue or PR as related to a new feature. label Apr 2, 2024
@k8s-ci-robot k8s-ci-robot added area/localization General issues or PRs related to localization needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. labels Apr 2, 2024
@k8s-ci-robot
Copy link
Contributor

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.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@a-mccarthy
Copy link
Contributor Author

@sftim and @seokho-son

@sftim
Copy link
Contributor

sftim commented Apr 2, 2024

I can cover the technical lead participation.

@stormqueen1990
Copy link
Member

@edsoncelio and I, from the Brazilian Portuguese localization team, are interested in volunteering for this. We do have one outstanding question: is it mandatory that all the involved people in the localization be at least a reviewer?

@jihoon-seo
Copy link
Member

I want to volunteer for Korean TLMP tester and Localization reviewer. After other Korean volunteers choose their roles, I will choose the remaining seat between them.
And I (or someone else) might ask more person to involve, at K8s Slack Korean L10n channel.

@holgers66
Copy link
Contributor

I would like to volunteer as a TLMP tester and localization reviewer for German (and could help with Brazilian Portuguese also if needed).

@Andygol
Copy link
Contributor

Andygol commented Apr 3, 2024

I am ready to participate as part of the Ukrainian localization team 🇺🇦.

I have already given examples of using Crowdin and Transifex in #45209, if you put them in a pile, we get the following

Criteria Crowdin Transifex
Creating a project You must submit a request to use the free plan for an open source project A link to a free license in the project settings is sufficient to create a project with a free plan
Tree structure of directories and files by default flat list of all files, directories are not shown
Content rendering Supported Not supported
Break the content into blocks for translation Sentences (even for those that occupy several lines in the source) Only separate strings
Webhooks + +
CLI + +
Addons Marketplace -
Content ownership Belongs to the project owners Belongs to the project owners
Already translated content in the source repository Content translated in the source repo is synchronized with the project Content translated in the source repo is synchronized with the project
*.md + +
*.toml + -

I hope this is helpful and will speed up the platform selection process.

@jihoon-seo
Copy link
Member

jihoon-seo commented Apr 4, 2024

Transferred my comment here to #45209 (comment) , in favor of Tim's comment.

Expand

According to the table @Andygol posted, IMO Crowdin seems more appropriate over Transifex for now, since

  • k/w repo has so many files in a big tree of directories
  • it supports realtime markdown rendering (← my recent experience of Crowdin usage confirms this)
  • it lets contributors translate sentence-by-sentence (it means that contributors can get benefits of MT and TM in a unit of sentence)
  • it has marketplace (where we might find useful addons for this project)
  • ...

And FYI, the Kubesphere project is using both Prow and Crowdin, and there exist PRs that the Prow bot created to reflect Crowdin updates to the GitHub repo: see kubesphere/console#4167 .

@sftim
Copy link
Contributor

sftim commented Apr 4, 2024

The best place to suggest or discuss which tool we might use is: #45209

@a-mccarthy
Copy link
Contributor Author

is it mandatory that all the involved people in the localization be at least a reviewer?

@stormqueen1990 no, its not required ALL the members of a localization participate, but it would certainly be helpful to get to opinion of multiple people within a team. We are asking that there are at least 2 reviewers from one team and at least one contributor who's not a reviewer. So i think that works out to needing 3 or 4 people from one team who are able to contribute to the testing as either a reviewer or a contributor.

@rolfedh
Copy link
Contributor

rolfedh commented Apr 4, 2024

I'd like to volunteer for the role of TLMP administrator.
To improve response times, we should prefer administrators in differing time zones.

@rolfedh
Copy link
Contributor

rolfedh commented Apr 5, 2024

  • Use cases/workflows tested
  • Tooling implementation requirements
  • Long term support requirements

Team,

I'm looking to enhance our project planning and info gathering on key areas like use cases, tooling requirements, and long-term support. My plan is to set up Crowdin and Transifex accounts for better preparation and insight.

Unless there are objections, I’ll get started on this soon. Thoughts?

@sftim
Copy link
Contributor

sftim commented Apr 5, 2024

My plan is to set up Crowdin and Transifex accounts for better preparation and insight.

Unless there are objections, I’ll get started on this soon. Thoughts?

We should try to set up a Google Group to represent Kubernetes as owner of the SaaS tenancies there. Also, let's not actually start until we've confirmed we're kicking off the work and have resources in place.

@sftim
Copy link
Contributor

sftim commented Apr 5, 2024

/lifecycle active

@k8s-ci-robot k8s-ci-robot added the lifecycle/active Indicates that an issue or PR is actively being worked on by a contributor. label Apr 5, 2024
@rolfedh
Copy link
Contributor

rolfedh commented Apr 5, 2024

We should try to set up a Google Group to represent Kubernetes as owner of the SaaS tenancies there.

Should I (or one of us) simply create the group, or would it be better to have someone with an "official" kubernetes.io-related email address do that?

@rolfedh
Copy link
Contributor

rolfedh commented Apr 5, 2024

Also, let's not actually start until we've confirmed we're kicking off the work and have resources in place.

I'll hold off on creating the account that we use for this project.
What's the current timeline, or what next steps do we need to complete before kicking off the project?

@seifrajhi
Copy link
Member

I want to like to volunteer as a TLMP tester and localization reviewer for Arabic (and I can also help with French also if needed).

@zilmarr
Copy link
Contributor

zilmarr commented Apr 7, 2024

I'd like to volunteer as a TLMP tester for pt-br.

@stormqueen1990
Copy link
Member

is it mandatory that all the involved people in the localization be at least a reviewer?

@stormqueen1990 no, its not required ALL the members of a localization participate, but it would certainly be helpful to get to opinion of multiple people within a team. We are asking that there are at least 2 reviewers from one team and at least one contributor who's not a reviewer. So i think that works out to needing 3 or 4 people from one team who are able to contribute to the testing as either a reviewer or a contributor.

Amazing! I think Brazilian Portuguese might be at (or close to) quorum then 🙂

@a-mccarthy
Copy link
Contributor Author

a-mccarthy commented Apr 8, 2024

Thank you all for your interest! I was planning to volunteer as comms lead as well.

Ideally we'd have 2 languages with a full set of testers (3 or 4 people). So far we have the following volunteers:

pt-br: @stormqueen1990, @zilmarr, @holgers66, @edsoncelio
ar: @seifrajhi
ko: @jihoon-seo
uk: @Andygol

Other volunteers:
TMPL admins: @rolfedh (needs 1 volunteer)
Tech lead: @sftim
comms lead: @a-mccarthy

If you would like to participate, please respond by Monday, April 22nd with your interest. If we are able to fill the volunteer positions, then we can start planning for a testing kick off date and the timelines within the testing window (about 1 month from the kickoff date).

@stormqueen1990
Copy link
Member

Hi @a-mccarthy, could you please also add @edsoncelio to the group of interested people in pt-br? 🙏🏻 I mentioned in my original comment but I guess it got lost 😅

@a-mccarthy
Copy link
Contributor Author

@stormqueen1990, added! apologies @edsoncelio 🙏

@dies
Copy link

dies commented Apr 10, 2024

Hello everyone,

Serhiy from Crowdin

I was super happy to find this discussion! I just wanted to say that we're more than happy to issue an unlimited open source license for this project and support you as much as we can. I would need your Crowdin login or an organization name to issue a license.

I also wanted to suggest a Slack channel for quick communication with Crowdin, especially during the setup period. Please let me know if this would be helpful.

@a-mccarthy
Copy link
Contributor Author

Hi @dies 👋 thank you for reaching out. Great to hear about the open source license, once we have staffed the roles and decided to move forward we can chat more about setting that up.

I also wanted to suggest a Slack channel for quick communication with Crowdin, especially during the setup period. Please let me know if this would be helpful.

Do you mean a slack channel on a Crowdin slack? or some place else?

@sftim
Copy link
Contributor

sftim commented Jun 6, 2024

Nothing significant happened here for a month since #45756 (comment)

I agree.

@sftim
Copy link
Contributor

sftim commented Jun 6, 2024

official go-ahead?

I don't think we're waiting on official go-ahead; if we have capacity to, let's clarify what's blocking us starting a proof of concept.

@natalisucks
Copy link
Contributor

natalisucks commented Jun 6, 2024

I don't think we're waiting on official go-ahead; if we have capacity to, let's clarify what's blocking us starting a proof of concept.

we can absolutely start a PoC for Crowdin via this initiative 👍

i would say that the additional clarification of all folks involved in testing needing to be Kubernetes organization members means we'll need to clarify who will be testing and who will need to work on that membership request to be involved

@rolfedh
Copy link
Contributor

rolfedh commented Jun 6, 2024

we can absolutely start a PoC for Crowdin via this initiative 👍

Okay, great! I'll begin setting up users on Crowdin.
I'll call out for additional people to fill roles that remain open, if needed.
(I was also under the impression we were waiting to receive some sort of official go-ahead. Let's save that for a retro, if any, and not dwell on that here.)

@sftim
Copy link
Contributor

sftim commented Jun 6, 2024

@rolfedh you should still sort out admins for the PoC tenancy and liaise with the current tech leads about how that'll be managed. I don't think "add users" is the step one that I'd pick.

@Andygol
Copy link
Contributor

Andygol commented Jun 6, 2024

@rolfedh we have here the creator of CrowdIn ☝️ #45756 (comment) 💡

@electrocucaracha
Copy link
Contributor

I'm not sure if it's too late, but I'd like to participate as a TLMP tester for Spanish.

@Andygol
Copy link
Contributor

Andygol commented Jun 11, 2024

I've updated the volunteer requirements to include "Volunteers should also be Kubernetes Github Org members." This to make sure that volunteers have any necessary repo permissions that come up during testing and a baseline familiarity with our policies. Please reach out if you have any questions :)

Does this mean that anyone who wants to participate in the test will be granted membership?

@natalisucks
Copy link
Contributor

@Andygol no, it means that participants need to already be a member of the Kubernetes organization to participate – you can read more about how to gain membership here: https://github.com/kubernetes/community/blob/master/community-membership.md#member

@Andygol
Copy link
Contributor

Andygol commented Jun 14, 2024

I've read https://github.com/kubernetes/community/blob/master/community-membership.md#member and can't wrap my mind around membership requirements for participation in the "Test translation tooling for localization". Could someone explain to me expected workflow of the testing. 🙏

@sftim
Copy link
Contributor

sftim commented Jun 14, 2024

Could someone explain to me expected workflow of the testing. 🙏

(example, high level)

  • Pick a page to localize
  • Use the tool to localize the text of the page to a target language
  • Submit the page for review and publication
  • Review and approval (possibly outside the localization tooling)
  • Publication

The experience from people doing those steps informs the output from the testing phase.

@Andygol
Copy link
Contributor

Andygol commented Jun 14, 2024

@sftim How all this 👇 connected with having membership?

  • Pick a page to localize
  • Use the tool to localize the text of the page to a target language
  • Submit the page for review and publication

@Andygol
Copy link
Contributor

Andygol commented Jun 14, 2024

https://crowdin.com/blog/2022/06/09/localize-your-software-with-crowdin#the-process-of-software-localization-step-by-step 👈 Here you may find top level overview of the continuous localization of software workflow

@sftim
Copy link
Contributor

sftim commented Jun 14, 2024

SIG Docs leadership are asking that people taking part in the trial are already members of the Kubernetes organization. Participation in the trial is optional, and I imagine that after a successful trial the tooling would be open to a wider group.

@Andygol
Copy link
Contributor

Andygol commented Jun 14, 2024

SIG Docs leadership are asking that people taking part in the trial are already members of the Kubernetes organization.

I would like (and expect other people to) to get a membership to participate in the trial. Could someone walk me through the membership process, step by step, to be admitted to the trial?

@natalisucks
Copy link
Contributor

I've read https://github.com/kubernetes/community/blob/master/community-membership.md#member and can't wrap my mind around membership requirements for participation in the "Test translation tooling for localization". Could someone explain to me expected workflow of the testing. 🙏

SIG Docs leadership is looking for Kubernetes organization members for this testing so that all testers have the required permissions for LGTM'ing PRs, alongside showing an ongoing and long-term commitment to the project. This is important so that decisions by the group testing this tooling is done by folks who will continue contributing to Kubernetes documentation – they will have an impact on the localization they represent, so decisions should be made by Kubernetes org members.

@Andygol Unfortunately, participating in the trial does not automatically grant membership. Each localization has team members who are Kubernetes organization members so that they can review and approve PRs of their work. You can also start working, right now, towards your membership status by working on the necessary requirements listed. An example of someone having recently done so is @zilmarr – you can look at the issue they raised, with all their contributions listed for supporting their case, here: kubernetes/org#4976

@natalisucks
Copy link
Contributor

@a-mccarthy Do you have an update on the ongoing coordination and/or the start of this PoC work?

@a-mccarthy
Copy link
Contributor Author

Thank you @natalisucks ❤️

I've updated the list below with folks who have volunteered and are org members.

pt-br: @stormqueen1990, @zilmarr, @holgers66, @edsoncelio
ar: @seifrajhi
ko: @jihoon-seo
ru: @kirkonru
es: @electrocucaracha

Other volunteers:
TMPL admins: @rolfedh (needs 1 volunteer)
Tech lead: @sftim
comms lead: @a-mccarthy

We've estimated that we'd like to have 2 languages with a full set of testers (3 or 4 people) to test workflows as well as get a broader feedback pool (#45756 (comment)). Right now we only have one team with enough volunteers, pt-br.

We can move ahead with only one "complete" language team and some folks from a different language, but i just wanted to call out that we may have less capacity for testing. If we are able to confirm that all volunteers are still available, I think we can try to move forward.

@rolfedh
Copy link
Contributor

rolfedh commented Jun 24, 2024

TMPL admins: @rolfedh (needs 1 volunteer)

Unfortunately, due to a change in priorities, I need to step back from volunteering for this role. Anyone else?

@krol3
Copy link
Contributor

krol3 commented Jul 3, 2024

I'm not sure if it's too late, but I'd like to participate as a TLMP tester for Spanish.

Happy to help with the Spanish translation too.

@ramrodo
Copy link
Member

ramrodo commented Jul 3, 2024

@a-mccarthy I would like to help with the Spanish translation too.

@Andygol
Copy link
Contributor

Andygol commented Jul 4, 2024

Two weeks since the #45756 (comment)

  • Is there any progress?
  • What are the plans to involve more participants from the underrepresented translation teams?

@sftim
Copy link
Contributor

sftim commented Jul 4, 2024

progress

Progress is reported on this issue; scroll up for details.

plans to involve more participants from the underrepresented translation teams?

We've put out a call for participation; for a test, it's OK if localization teams don't wish to be involved, or don't have capacity to.

@Shubhdeep02
Copy link

Is someone up for Hindi translation as well?

@Andygol
Copy link
Contributor

Andygol commented Aug 26, 2024

Bump the issue to not be frozen

@Andygol
Copy link
Contributor

Andygol commented Sep 28, 2024

Bump

1 similar comment
@Andygol
Copy link
Contributor

Andygol commented Oct 25, 2024

Bump

@sftim
Copy link
Contributor

sftim commented Dec 13, 2024

BTW, I'm no longer a technical lead for this SIG.
I can still help if we find a team to work on this.

@Andygol
Copy link
Contributor

Andygol commented Dec 15, 2024

Quoted here SIG Docs meeting notes from the Slack https://kubernetes.slack.com/archives/C0191RDKHU1/p1733157069483979?thread_ts=1733149513.900919&cid=C0191RDKHU1 for better visibility

  • Current status: This issue aimed to form a PoC team to test translation platforms (TLMP), but there has been no significant progress or action for some time.
  • Since this issue has been open and stagnant for a long time, we need to discuss how to address it.
  • @Seokho Son shared thoughts during the previous meeting as follows:
    • Forming a team to carry out this testing activity is expected to be challenging. It is difficult to specify what needs to be tested for each language, and it is likely to take the form of individual contributors sharing their experiences. However, these experiences can vary greatly among contributors, making it insufficient to reach any definitive conclusions.
    • Apart from the fact that the k/website repo operates on GitHub, localization teams are free to choose their own workflows. Given this flexibility, it might be better to leave the use of such tools to teams that see the need for them. SIG-Docs could focus on resolving blocking issues to support these teams as much as possible. If any team finds best practices through their experiences, other teams can adopt these methods as needed.
    • Just as the open-source Kubernetes project evolves to support emerging workloads while ensuring stability for existing workloads, SIG-Docs localization should also ensure stability for the GitHub-based workflows that existing teams are familiar with and utilizing effectively. At the same time, it should be open to embracing diverse contribution methods, such as using translation platforms, if needed.

It seems that SIG Docs is not interested in leading this project.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/localization General issues or PRs related to localization kind/feature Categorizes issue or PR as related to a new feature. lifecycle/active Indicates that an issue or PR is actively being worked on by a contributor. needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one.
Projects
None yet
Development

No branches or pull requests