Skip to content

Commit 4c52e42

Browse files
committed
Initialize i18n foundation for English (en)
1 parent ab25c3f commit 4c52e42

11 files changed

Lines changed: 435 additions & 118 deletions

File tree

CONTRIBUTING.md

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,64 @@ If your repo has certain guidelines for contribution, put them here ahead of the
1616
- [Kubernetes Contributor Guide](http://git.k8s.io/community/contributors/guide) - Main contributor documentation, or you can just jump directly to the [contributing section](http://git.k8s.io/community/contributors/guide#contributing)
1717
- [Contributor Cheat Sheet](https://git.k8s.io/community/contributors/guide/contributor-cheatsheet) - Common resources for existing developers
1818

19+
## Localization (i18n)
20+
21+
We welcome contributions to localize `kubernetes.dev` for the contributor community.
22+
23+
### Governance
24+
The contributor site is under the authority of **SIG Contributor Experience (ContribEx)**.
25+
A contributor-site localization team handles ownership and review for localized
26+
content in this repository. Established localization teams from across the project
27+
(e.g., [SIG Docs Localization](https://kubernetes.io/docs/contribute/localization/)
28+
contributors) can contribute and provide guidance, but decisions for this
29+
repository rest with the contributor-site localization team.
30+
31+
### Adding a New Language
32+
33+
This guide is for **existing localization teams** that want to add their language
34+
to the Contributor Site. Before starting, your team should have at least two
35+
owners and agree to the conventions below.
36+
37+
If you are starting a new localization from scratch, first see the
38+
[SIG Docs Localization guide](https://kubernetes.io/docs/contribute/localization/#start-a-new-localization).
39+
40+
#### Branch Convention
41+
Open a PR from a branch named `i18n/<lang-code>` (e.g., `i18n/ko`).
42+
43+
#### Minimum Required Pages
44+
For a localization to be published, the following must be translated:
45+
- Community page (`content/<lang>/community/`)
46+
- Getting Started (`content/<lang>/docs/onboarding/`)
47+
- Guidelines & Platforms (`content/<lang>/docs/guidelines/`,
48+
`content/<lang>/docs/platforms/`)
49+
- GitHub Workflow (`content/<lang>/docs/github-workflow/`)
50+
51+
Additional pages can be translated incrementally after the minimum is met.
52+
53+
#### Setup Steps
54+
55+
1. **Update `hugo.yaml`** — add a new language block under `languages`.
56+
57+
2. **Create the content directory**`content/<lang>/` with a translated `_index.md`.
58+
59+
3. **Set up an `OWNERS` file** at `content/<lang>/OWNERS` referencing your localization
60+
team's aliases (defined in the repository's `OWNERS_ALIASES`):
61+
```yaml
62+
reviewers:
63+
- sig-docs-<lang>-reviews
64+
65+
approvers:
66+
- sig-docs-<lang>-owners
67+
```
68+
69+
4. **Translate UI strings** — create `i18n/<lang>/<lang>.toml` with the site's
70+
translatable strings.
71+
72+
5. **Update README.md** — add a link to your localized `README-<lang>.md` under
73+
the Localization section.
74+
75+
6. **Open a pull request** from your `i18n/<lang-code>` branch against `main`.
76+
1977
## Mentorship
2078

2179
- [Mentoring Initiatives](https://git.k8s.io/community/mentoring) - We have a diverse set of mentorship programs available that are always looking for volunteers!

README-en.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# Kubernetes Contributor Site - English (en)
2+
3+
This directory contains the English localization of the Kubernetes Contributor Site.
4+
5+
## Contact
6+
- **Slack**: [#sig-contribex](https://kubernetes.slack.com/messages/sig-contribex), [#sig-docs-localizations](https://kubernetes.slack.com/messages/sig-docs-localizations)
7+
- **Mailing List**: [kubernetes-dev](https://groups.google.com/a/kubernetes.io/group/dev)
8+
9+
## Code of Conduct
10+
All contributors must follow the [Kubernetes Code of Conduct](https://github.com/kubernetes/community/blob/master/code-of-conduct.md).
11+
12+
For more information on contributing to this site, please see the main [README.md](../README.md).

README.md

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,10 @@ This repository contains the [Hugo][hugo] site and generator scripts for the
44
Kubernetes Contributor site. The published website is available at
55
https://kubernetes.dev/ (served via Netlify).
66

7+
## Localization
8+
9+
- [English (en)](README-en.md)
10+
711
## Site content
812

913
The content for the Contributor Site is sourced from multiple locations.
@@ -18,12 +22,14 @@ original location. A list of sources and their locations within the
1822

1923
### External sources
2024

21-
- **Source:** https://git.k8s.io/community/contributors/guide <br>
22-
**Destination:** `/guide`
23-
- **Source:** https://github.com/cncf/foundation/blob/main/code-of-conduct.md <br>
24-
**Destination:** `/code-of-conduct.md`
25-
- **Source:** https://git.k8s.io/sig-release/releases/release-1.18/README.md <br>
26-
**Destination:** `/release.md`
25+
- **Source:** [kubernetes/community/contributors/guide](https://git.k8s.io/community/contributors/guide) <br>
26+
**Destination:** `/en/docs/guide/`
27+
- **Source:** [cncf/foundation/code-of-conduct.md](https://github.com/cncf/foundation/blob/master/code-of-conduct.md) <br>
28+
**Destination:** `/en/includes/cncf-code-of-conduct.md`
29+
- **Source:** [kubernetes/sig-release/releases/release-1.36/README.md](https://git.k8s.io/sig-release/releases/release-1.36/README.md) <br>
30+
**Destination:** `/en/resources/release/` ([View on kubernetes.dev](https://kubernetes.dev/en/resources/release/))
31+
32+
> **Note:** The release version in this source changes over time. Check the [sig-release repository](https://git.k8s.io/sig-release/releases/) for the latest release.
2733
2834
## Running the site locally
2935

hugo.yaml

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@ themesDir: node_modules
66
enableRobotsTXT: true
77

88
# Language settings
9-
contentDir: content/en
9+
defaultContentLanguage: en
10+
defaultContentLanguageInSubdir: false
1011

1112
enableMissingTranslationPlaceholders: true
1213
disableKinds:
@@ -55,8 +56,14 @@ module:
5556
# Language configuration
5657
languages:
5758
en:
59+
contentDir: content/en
5860
title: *title # Use the YAML reference instead of repeating
5961
languageName: English
62+
weight: 1
63+
languagedirection: ltr
64+
params:
65+
languageNameLatinScript: English
66+
time_format_blog: "02.01.2006"
6067

6168
markup:
6269
goldmark:

i18n/en/en.toml

Lines changed: 232 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,232 @@
1+
# Site strings for English (en)
2+
# Following kubernetes/website structure using 'other' key for pluralization support
3+
4+
[ui_search_placeholder]
5+
other = "Type name, tag, area..."
6+
7+
[ui_view_readme_source]
8+
other = "View README Source"
9+
10+
[ui_view_charter]
11+
other = "View Charter"
12+
13+
[ui_view_charter_source]
14+
other = "View Charter Source"
15+
16+
[ui_press_help]
17+
other = 'Press "?" for help.'
18+
19+
[ui_navigate_arrows]
20+
other = "Use left and right arrows to navigate."
21+
22+
[ui_return_onboarding]
23+
other = "Return to onboarding index."
24+
25+
[ui_filter]
26+
other = "Filter:"
27+
28+
[ui_any_day]
29+
other = "Any day"
30+
31+
[ui_monday]
32+
other = "Mon"
33+
34+
[ui_tuesday]
35+
other = "Tue"
36+
37+
[ui_wednesday]
38+
other = "Wed"
39+
40+
[ui_thursday]
41+
other = "Thu"
42+
43+
[ui_friday]
44+
other = "Fri"
45+
46+
[ui_topics]
47+
other = "Topics:"
48+
49+
[ui_clear]
50+
other = "Clear"
51+
52+
[ui_leadership]
53+
other = "Leadership"
54+
55+
[ui_chairs]
56+
other = "Chairs"
57+
58+
[ui_tech_leads]
59+
other = "Tech Leads"
60+
61+
[ui_meetings]
62+
other = "Meetings"
63+
64+
[ui_at]
65+
other = "at"
66+
67+
[ui_show_details]
68+
other = "Show Details"
69+
70+
[ui_visit]
71+
other = "Visit"
72+
73+
[ui_filter_by_day]
74+
other = "Filter community groups by meeting day"
75+
76+
[ui_filter_by_topic]
77+
other = "Filter by topic"
78+
79+
[ui_label_sigs]
80+
other = "SIGs"
81+
82+
[ui_label_wgs]
83+
other = "Working Groups"
84+
85+
[ui_label_committees]
86+
other = "Committees"
87+
88+
[ui_aria_show_sigs]
89+
other = "Show Special Interest Groups"
90+
91+
[ui_aria_show_wgs]
92+
other = "Show Working Groups"
93+
94+
[ui_aria_show_committees]
95+
other = "Show Committees"
96+
97+
[ui_link_join]
98+
other = "Join"
99+
100+
[ui_link_notes]
101+
other = "Notes"
102+
103+
[ui_link_recordings]
104+
other = "Recordings"
105+
106+
[ui_link_slack]
107+
other = "Slack"
108+
109+
[ui_wg_prefix]
110+
other = "WG"
111+
112+
[ui_description]
113+
other = "Description"
114+
115+
[ui_day]
116+
other = "Day"
117+
118+
[ui_time]
119+
other = "Time"
120+
121+
[ui_links]
122+
other = "Links"
123+
124+
[ui_view_source]
125+
other = "View Source"
126+
127+
[ui_video_placeholder]
128+
other = "Kubernetes contributor site video"
129+
130+
[kep_number]
131+
other = "KEP Number"
132+
133+
[kep_title]
134+
other = "Title"
135+
136+
[kep_sig]
137+
other = "SIG"
138+
139+
[kep_author]
140+
other = "Author"
141+
142+
[kep_created]
143+
other = "Created"
144+
145+
[kep_updated]
146+
other = "Updated"
147+
148+
[kep_last_updated]
149+
other = "Last Updated"
150+
151+
[kep_milestone]
152+
other = "Milestone"
153+
154+
[kep_milestones]
155+
other = "Milestones"
156+
157+
[kep_latest]
158+
other = "Latest"
159+
160+
[kep_latest_milestone]
161+
other = "Latest Milestone"
162+
163+
[kep_alpha]
164+
other = "Alpha"
165+
166+
[kep_beta]
167+
other = "Beta"
168+
169+
[kep_stable]
170+
other = "Stable"
171+
172+
[kep_depr]
173+
other = "Depr."
174+
175+
[kep_deprecated]
176+
other = "Deprecated"
177+
178+
[kep_other]
179+
other = "Other"
180+
181+
[kep_release]
182+
other = "Release"
183+
184+
[kep_all_releases]
185+
other = "All Releases"
186+
187+
[kep_all_sigs]
188+
other = "All SIGs"
189+
190+
[kep_filter_keps]
191+
other = "Filter KEPs"
192+
193+
[kep_filter_by_release]
194+
other = "Filter by release"
195+
196+
[kep_filter_by_sig]
197+
other = "Filter by SIG"
198+
199+
[kep_search_placeholder]
200+
other = "Search by title, KEP number, author..."
201+
202+
[kep_stage]
203+
other = "Stage"
204+
205+
[kep_filters]
206+
other = "Filters"
207+
208+
[kep_caption]
209+
other = "List of Kubernetes Enhancement Proposals (KEPs)"
210+
211+
[kep_et_al]
212+
other = "et al."
213+
214+
[kep_implementation_history]
215+
other = "Implementation History"
216+
217+
[kep_related_enhancements]
218+
one = "Related Enhancement"
219+
other = "Related Enhancements"
220+
221+
[kep_ownership]
222+
other = "Ownership"
223+
224+
[kep_owning_sig]
225+
other = "Owning SIG"
226+
227+
[kep_participating_sigs]
228+
one = "Participating SIG"
229+
other = "Participating SIGs"
230+
231+
[kep_primary_authors]
232+
other = "Primary Authors"

0 commit comments

Comments
 (0)