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

Add Ukrainian localization #20020

Conversation

MaxymVlasov
Copy link
Member

@MaxymVlasov MaxymVlasov commented Mar 31, 2020

What: This PR initialize Ukrainian translation and include all from dev-1.17-uk.1 branch

Contributors:

User CLA signoff proof Member of K8s org
@anastyakulyk yes, need proof? yes
@butuzov yes, see on labels in #18435 yes
@MaxymVlasov yes, see on labels in this PR yes

Why we used separate repo for work for startup

  1. Decrease number of messages. Because fork have no Kubernetes bots that will spam too mush comments in active phase. Here how looks like this phase without any bot messages:

    If we use bot, it will be create more than 100 messages
  2. Decrease bureaucracy. Because we can work in one-two branch without need synchronize every time what one of us fixed/updated.
  3. Simplify/delay review. On start we have no any rules and understand how one or other word should be translated, so just skip some parts to the end. If we use standard flow - we would have stalled early in the debate and not be able to translate as quickly as we can.
  4. And just because it more simply and understandable way than create huge number of PRs to one of 41 branches.

Body for Squash and merge commit:

What was done:
* Localize front page
* Localize heading and subheading URLs
    Close kubernetes-i18n-ukrainian#6
    Close kubernetes-i18n-ukrainian#11
* Uk translation for k8s basics
    Close kubernetes-i18n-ukrainian#9
* Uk localization homepage
    PR: kubernetes-i18n-ukrainian#102
* Buildable version of the Ukrainian website
* Adding localized content of the what-is-kubernetes.md
    Close kubernetes-i18n-ukrainian#12
* Localizing site strings in toml file
* Localizing tutorials
    Close kubernetes-i18n-ukrainian#32
* Localizing templates
* Localize glossary terms
    Close kubernetes-i18n-ukrainian#2
* Create glossary for UK contributors
    Close kubernetes-i18n-ukrainian#101

Co-authored-by: Anastasiya Kulyk <nastya.kulyk@gmail.com>
Co-authored-by: Maksym Vlasov <MaxymVlasov@users.noreply.github.com>
Co-authored-by: Oleg Butuzov <butuzov@users.noreply.github.com>

After merge

After merge this PR to master feel free to remove dev-1.17-uk.1 branch

What we do after merge initial commit

In future we would like work into our individual forks and than send PR directly to master.

And use kubernetes-i18n-ukrainian organization as synchronization tool by issue tracking.

Thanks!

MaxymVlasov and others added 5 commits January 13, 2020 08:51
* Initial commit for Ukrainian localization

* Fix misspell and crosslink

* Add Nikita Potapenko to PR reviewers

kubernetes#18569 (comment)

Co-authored-by: Anastasiya Kulyk <56824659+anastyakulyk@users.noreply.github.com>
* Localize front page
* Localize heading and subheading URLs
    Close #6
    Close #11
* Uk translation for k8s basics
    Close #9
* Uk localization homepage
    PR: #102
* Buildable version of the Ukrainian website
* Adding localized content of the what-is-kubernetes.md
    Close #12
* Localizing site strings in toml file
* Localizing tutorials
    Close #32
* Localizing templates
* Localize glossary terms
    Close #2
* Create glossary for UK contributors
    Close #101
* Add butuzov to dream team

Co-authored-by: Anastasiya Kulyk <nastya.kulyk@gmail.com>
Co-Authored-By: Maksym Vlasov <MaxymVlasov@users.noreply.github.com>
Co-authored-by: Oleg Butuzov <butuzov@users.noreply.github.com>
@k8s-ci-robot k8s-ci-robot added cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. sig/docs Categorizes an issue or PR as relevant to SIG Docs. labels Mar 31, 2020
@k8s-ci-robot k8s-ci-robot added the do-not-merge/invalid-owners-file Indicates that a PR should not merge because it has an invalid OWNERS file in it. label Mar 31, 2020
@netlify
Copy link

netlify bot commented Mar 31, 2020

Deploy preview for kubernetes-io-master-staging ready!

Built with commit e29dbe4

https://deploy-preview-20020--kubernetes-io-master-staging.netlify.com

@sftim
Copy link
Contributor

sftim commented Mar 31, 2020

That preview looks good @MaxymVlasov!

The new localization needs at least 2 owners that speak Ukrainian well. Owners & reviewers must be members of the Kubernetes organization on GitHub.

It looks like this branch is close to being OK to merge. I saw a few nits: there are files in the branch still in English; the owners file does not look valid; and “Home” isn't localized in https://deploy-preview-20020--kubernetes-io-master-staging.netlify.com/uk/docs/home/

However, I have a different concern; this one is less technical and more legal.
/hold
because I think this approach warrants further discussion.

⚠️ Take care about several people contributing to a fork and then proposing a merge to k/website ⚠️

Accepting a commit into the fork does not mean that it is valid for this project. Prow checks for contributor license agreements; if the fork does not, then a merge from that fork may not be allowed. Maybe there's a case for revising those requirements but, as they stand, the requirement for a CLA is going to be an obstacle there.

@k8s-ci-robot k8s-ci-robot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Mar 31, 2020
@MaxymVlasov
Copy link
Member Author

Hi @sftim, thank you for your quick review!

1.

The new localization needs at least 2 owners that speak Ukrainian well.

Localization have 3 owners that speak Ukrainian very well, @anastyakulyk also is linguist by education.

2.

Owners & reviewers must be members of the Kubernetes organization on GitHub.
I saw a few nits: ... the owners file does not look valid;

Got it. All of us here, except @butuzov, but this will fix soon via this issue.

3.

I saw a few nits: there are files in the branch still in English

@anastyakulyk can describe it more, in general - we translate headers of top pages for add it to localization - otherwise is not showing on site (as I remember) though we specified language_alternatives = ["en"] in config.toml.

Is this OK for now and we can translate it in future PRs or we should translate all stuff?

4.

and “Home” isn't localized in https://deploy-preview-20020--kubernetes-io-master-staging.netlify.com/uk/docs/home

Sorry, what you mean? I don't see non-localized stuff in /uk/docs/home location.


About legal stuff.

IMHO, is distracting and if see to many small and big OSS projects, they have no this limitation, because when someone contributing to repo, they automatically agree with LICENSE file/section in README.md when start contributing in project, but Kubernetes need explicit signing. Well, OK.

In this PR, we have contribution of me (@MaxymVlasov), @anastyakulyk and @butuzov. We all signed CLA so for this PR is is not problem.

5.

In future, we can work with k/website master from our individual forks and use kubernetes-i18n-ukrainian org only as issue tracker for sync our team. Because in orig repos too much issues, labels and other stuff that produce too much overwhelm to regular contributor.

In other hand, if I can add Prow bot to fork, I do it.


6.

P.S. Also, @idvoretskyi propose separate OWNERS file changes from this PR into new PR and than merge OWNERS into master. Because now we, formally, have no any reviewers or owners for this PR.
In the same time localization doc said that OWNERS file is part of min requirement content that introduced by this huge PR.
Maybe you have any suggestions on it?

@idvoretskyi
Copy link
Member

In the same time localization doc said that OWNERS file is part of min requirement content that introduced by this huge PR.

I'll let @sftim speak on this as well, but the OWNERS file should be submitted (and merged) before the actual content (available in the specific language).

Right now, the prow bot can't assign this PR to any Ukrainian native language speakers.

@sftim
Copy link
Contributor

sftim commented Apr 1, 2020

we translate headers of top pages for add it to localization

That's unusual. Localizations usually localize entire pages; if you look in other localizations' folders, you should see no English text (apart from words left in the original language because they are technical).

Sorry, what you mean? I don't see non-localized stuff in /uk/docs/home location.

The English word “HOME” appears on the page. Compare this to the Russian localization where you see “ГЛАВНАЯ” instead.

legal concerns

Because there are concerns here, I'm going to discuss them with approvers and make sure there's clear consensus (possibly existing, possible it's new discussion) on the policy and how to apply it.

@anastyakulyk
Copy link
Contributor

@sftim thanks for your comments!
Let me explain the issue with partially translated files. These are solely docs that refer to k8s features with links to the front page. We translated only the page title and short description to have them appear on the front page, in k8s features block. We thought to catch up with them after our localization effort is confirmed. If it's not ok to leave them this way, we can remove them for now.

@k8s-ci-robot k8s-ci-robot added the do-not-merge/invalid-commit-message Indicates that a PR should not merge because it has an invalid commit message. label Apr 1, 2020
@sftim
Copy link
Contributor

sftim commented Apr 1, 2020

AIUI, for a minimum localization the left navigation on https://deploy-preview-20020--kubernetes-io-master-staging.netlify.com/uk/docs/setup/ should also be showing as localized.

@sftim
Copy link
Contributor

sftim commented Apr 1, 2020

One more point. If people work in a fork, I've just realized that this becomes a barrier for new Kubernetes organization members: their contributions don't count towards the requirements for membership of the Kubernetes GitHub organization.

Now I've thought of that, I think that's possible a more important concern than the legal paperwork (which is still important).

@sftim
Copy link
Contributor

sftim commented Apr 1, 2020

@MaxymVlasov we can also log bugs against the localizations that are missing those translations.

@MaxymVlasov MaxymVlasov force-pushed the GH-2/minimum-requirement-content branch from 838e132 to 379cd00 Compare April 1, 2020 11:56
@k8s-ci-robot k8s-ci-robot removed the do-not-merge/invalid-commit-message Indicates that a PR should not merge because it has an invalid commit message. label Apr 1, 2020
@anastyakulyk
Copy link
Contributor

AIUI, for a minimum localization the left navigation on https://deploy-preview-20020--kubernetes-io-master-staging.netlify.com/uk/docs/setup/ should also be showing as localized.

@sftim would it be enough for the start to translate only the headers or do we need to translate the entire documents?

@sftim
Copy link
Contributor

sftim commented Apr 1, 2020

I think there's a way to localize just the section headings. See for example https://github.com/kubernetes/website/blob/master/content/ko/docs/setup/production-environment/_index.md

This whole file is translated. If other files in that folder aren't localized, that's OK for an initial localization.

@anastyakulyk
Copy link
Contributor

I think there's a way to localize just the section headings. See for example https://github.com/kubernetes/website/blob/master/content/ko/docs/setup/production-environment/_index.md

This whole file is translated. If other files in that folder aren't localized, that's OK for an initial localization.

Ok, thanks, got it.

@kbhawkey
Copy link
Contributor

kbhawkey commented Apr 1, 2020

I am catching up on the details here.
The link to contributing a new localization:
https://kubernetes.io/docs/contribute/localization/#minimum-required-content

@MaxymVlasov
Copy link
Member Author

MaxymVlasov commented Apr 1, 2020

I think, info about needed adding redirect /doc -> /doc/home location need to be add into https://kubernetes.io/docs/contribute/localization. Here commit example

Otherwise folks, when click on 'Documentation home link' it will go to not very useful page like this:

Should I create an issue/PR?

@MaxymVlasov MaxymVlasov force-pushed the GH-2/minimum-requirement-content branch from a0592f4 to 42566cc Compare April 3, 2020 18:46
@k8s-ci-robot k8s-ci-robot removed the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Apr 3, 2020
@MaxymVlasov MaxymVlasov force-pushed the GH-2/minimum-requirement-content branch from 42566cc to b62cdc1 Compare April 3, 2020 18:48
@sftim
Copy link
Contributor

sftim commented Apr 4, 2020

/lgtm

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Apr 4, 2020
README-uk.md Show resolved Hide resolved
content/uk/docs/contribute/localization_uk.md Outdated Show resolved Hide resolved
content/uk/docs/contribute/localization_uk.md Outdated Show resolved Hide resolved
content/uk/docs/reference/glossary/pod.md Outdated Show resolved Hide resolved
@idvoretskyi
Copy link
Member

/hold

@k8s-ci-robot k8s-ci-robot added do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. and removed lgtm "Looks good to me", indicates that a PR is ready to be merged. labels Apr 7, 2020
@sftim
Copy link
Contributor

sftim commented Apr 8, 2020

“Il meglio è nemico del bene” or perhaps “il meglio è nemico del merged”.

So long as the essentials are in place and there are no howlers (major errors), it's OK to merge this even with snags not yet addressed. Let's focus on what needs to happen to get these commits into master.

Can this get another /lgtm? Is there anything left to address before that?

README-uk.md Outdated Show resolved Hide resolved
content/uk/docs/concepts/overview/what-is-kubernetes.md Outdated Show resolved Hide resolved
content/uk/docs/reference/glossary/service.md Outdated Show resolved Hide resolved
@MaxymVlasov MaxymVlasov force-pushed the GH-2/minimum-requirement-content branch from 94e9275 to 842c7d1 Compare April 8, 2020 09:10
* Fix home page name
* Remove untranslated
* Localize left panel in Getting Started
* Fix left menu button on mobile and add redirect
* Implement review suggestions

Co-authored-by: Anastasiya Kulyk <nastya.kulyk@gmail.com>
Co-authored-by: Maksym Vlasov <MaxymVlasov@users.noreply.github.com>
@MaxymVlasov MaxymVlasov force-pushed the GH-2/minimum-requirement-content branch from 842c7d1 to e29dbe4 Compare April 8, 2020 09:11
Copy link
Contributor

@Potapy4 Potapy4 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/lgtm

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Apr 8, 2020
@idvoretskyi
Copy link
Member

So long as the essentials are in place and there are no howlers (major errors), it's OK to merge this even with snags not yet addressed. Let's focus on what needs to happen to get these commits into master.

+1, let's merge as-is and iterate later.

/hold cancel
/lgtm

@k8s-ci-robot k8s-ci-robot removed the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Apr 8, 2020
Copy link
Member

@idvoretskyi idvoretskyi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/approve

@idvoretskyi
Copy link
Member

@sftim we'll need your approval superpower :)

@sftim
Copy link
Contributor

sftim commented Apr 8, 2020

:shipit:
/approve

@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: idvoretskyi, sftim

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot k8s-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Apr 8, 2020
@k8s-ci-robot k8s-ci-robot merged commit b64b4c9 into kubernetes:master Apr 8, 2020
@MaxymVlasov MaxymVlasov deleted the GH-2/minimum-requirement-content branch April 8, 2020 13:57
@sftim
Copy link
Contributor

sftim commented Apr 11, 2020

/language uk

@k8s-ci-robot k8s-ci-robot added the language/uk Issues or PRs related to Ukrainian language label Apr 11, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. language/uk Issues or PRs related to Ukrainian language lgtm "Looks good to me", indicates that a PR is ready to be merged. sig/docs Categorizes an issue or PR as relevant to SIG Docs. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants