Currently available languages:
In order for localizations to be accepted, however, they must fulfill some requirements related to workflow (how to localize) and output (what to localize).
The Kubernetes documentation for all languages is built from the kubernetes/website repository on GitHub. Most day-to-work work on translations, however, happens in separate translation repositories. Changes to those repositories are then periodically synced to the main kubernetes/website repository via pull request.
Work on the Chinese translation, for example, happens in the kubernetes/kubernetes-docs-zh repository.
Localizations must use English files from the most recent major release as sources. To find the most recent release’s documentation source files:
release-1.Xbranch for the most recent version, which is currently v1.11, making the most recent release branch
In order to add a new localization of the Kubernetes documentation, you’ll need to make a few modifications to the site’s configuration and directory structure, and then you can get to work translating documents!
To get started, clone the website repo and
cd into it:
git clone https://github.com/kubernetes/website cd website git checkout release-1.11
We’ll walk you through the configuration process using the German language (language code
de) as an example.
There’s currently no translation for German, but you’re welcome to create one using the instructions here.
The Kubernetes website’s configuration is in the
config.toml file. You need to add a configuration block for the new language to that file, under the existing
[languages] block. The German block, for example, looks like this:
[languages.de] title = "Kubernetes" description = "Produktionsreife Container-Verwaltung" languageName = "Deutsch" contentDir = "content/de" weight = 3
When assigning a
weight parameter, see which of the current languages has the highest weight and add 1 to that value.
Now add a language-specific subdirectory to the
content folder. The two-letter code for German is
de, so add a
We understand that localizing all of the Kubernetes documentation would be an enormous task. We’re okay with localizations smarting small and expanding over time.
As an initial requirement, all localizations must include the following documentation at a minimum:
|Home||All heading and subheading URLs|
|Setup||All heading and subheading URLs|
|Tutorials||Kubernetes Basics, Hello Minikube|
Translated documents should have the same URL endpoint as the English docs (substituting the subdirectory of the
content folder). To translate the Kubernetes Basics doc into German, for example, create the proper subfolder under the
content/de folder and copy the English doc:
mkdir -p content/de/docs/tutorials cp content/en/docs/tutorials/kubernetes-basics.md content/de/docs/tutorials/kubernetes-basics.md
Teams working on localization efforts must provide a single point of contact, including the name and contact information of a person who can respond to or redirect questions or concerns, listed in the translation repository’s main
README. You can provide an email address, email list, Slack channel, or some other method of contact.
Each localization repository must select its own maintainers. Maintainers can be from a single organization or multiple organizations.
In addition, all l10n work must be self-sustaining with the team’s own resources.
Wherever possible, every localized page must be approved by a reviewer from a different company than the translator.
Each Kubernetes localization repository must track its overall progress with a GitHub project.
Projects must include at least these columns:
Note: For an example GitHub project, see the Chinese localization project.
Each l10n repository must have branches for the different Kubernetes documentation release versions, matching the branches in the main kubernetes/website documentation repository. For example, the kubernetes/website
release-1.10 branch (https://github.com/kubernetes/website/tree/release-1.10) has a corresponding branch in the kubernetes/kubernetes-docs-zh repository (https://github.com/kubernetes/kubernetes-docs-zh/tree/release-1.10). These version branches keep track of the differences in the documentation between Kubernetes versions.
Upstream contributions are welcome and encouraged!
For the sake of efficiency, limit upstream contributions to a single pull request per week, containing a single squashed commit.
Once a l10n meets requirements for workflow and minimum output, SIG docs will: