Skip to content

Commit 1943f03

Browse files
[i18n] Adding Luganda structure (#2774)
This pull request adds Luganda (lg) translations for the documentation site, including navigation, sidebar, footer, and category labels, as well as a full translation of the coding standards documentation. These changes improve accessibility for Luganda-speaking users and ensure a consistent localized experience across the site. **Luganda localization of documentation site:** * Added Luganda translations for sidebar and category labels in `current.json`, covering Documentation, About Playground, Guides, Contributing, Blueprints, Tutorial, Steps, Developers, Local Development, Playground APIs, Javascript API, and Architecture. * Added Luganda translations for footer labels, including Docs, Community, Documentation, Blueprints, Developers, API Reference, GitHub, Slack, copyright, and logo alt text in `footer.json`. * Added Luganda translations for navbar items and logo alt text in `navbar.json`. * Added Luganda category label for "Contributing" in `_category_.json`. **Documentation translation:** * Added a full Luganda translation of the coding standards documentation in `coding-standards.md`, including error message guidelines, public API principles, and blueprints best practices. --------- Co-authored-by: Moses Cursor <[email protected]>
1 parent f076430 commit 1943f03

File tree

5 files changed

+256
-0
lines changed

5 files changed

+256
-0
lines changed
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"label": "Okwongerako"
3+
}
Lines changed: 131 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,131 @@
1+
---
2+
slug: /contributing/coding-standards
3+
title: Emisingi gy'Empandiika ya Koodi
4+
description: Jino jilambika ku mpandiika ya koodi mu playground era gyogera ku bubaka obujja nga waliwo ensobi, API y'olukale, Ebizimbe ebilaborwako.
5+
---
6+
7+
# Emisingi gy'Empandiika ya Koodi
8+
9+
<!--
10+
# Coding principles
11+
-->
12+
13+
## Obubaka nga waliwo Ensobi
14+
15+
<!--
16+
## Error messages
17+
-->
18+
19+
Obubaka obujja nga waliwo ensobi obulungi butegeeza omukozesa omutendera ogw'okugoberera. Ensobi yonna etategeerekeka mu Playground [Public APIs](/developers/apis/) ejja kuwaliriza abakozi okulopa ensobi
20+
21+
<!--
22+
A good error message informs the user of the following steps to take. Any ambiguity in errors thrown by Playground [Public APIs](/developers/apis/) will prompt the developers to open issues.
23+
-->
24+
25+
Twalowooza ku nsobi y'omukutu gw'omutimbagano, okugeza—tusobola okuteebereza ekika ky'ensobi n'okulaga obubaka obukwatagana nga twongera ku mutendera oguddako?
26+
27+
<!--
28+
Consider a network error, for example—can we infer the type of error and display a relevant message summarizing the next steps?
29+
-->
30+
31+
- **Ensobi y'omukutu gw'omutimbagano**: "Omukutu gw'omutimbagano gwo guweddemu. Gezaako okuzzaamu olupapula.
32+
- **404**: "Fayiro tekirabiddwa".
33+
- **403**: "Seva ewanise okuyingira mu fayiro".
34+
- **CORS**: Nnyonnyola nti kye kikola ekirinda mu browza era ongereyo link egenda ku nnyonnyola entuufu (ku MDN oba ensibuko endala eya kukkirizibwa). Kuwa omukozesa amagezi okukyusa fayiro ye okugitwala mu kifo ekirala, nga `raw.githubusercontent.com`, era ongereyo link ku nsibuko ennyonnyola engeri y'okuteeka CORS headers ku seva zaabwe.
35+
36+
<!--
37+
- **Network error**: "Your internet connection twitched. Try to reload the page.
38+
- **404**: "Could not find the file".
39+
- **403**: "The server blocked access to the file".
40+
- **CORS**: clarify it's a browser security feature and add a link to a detailed explanation (on MDN or another reliable source). Suggest the user move their file somewhere else, like `raw.githubusercontent.com`, and link to a resource explaining how to set up CORS headers on their servers.
41+
-->
42+
43+
Tukwata okutereeza koodi n'okukola linting mu ngeri ey'otomatiiki. Wummule, wandiika, era leka ebyuma bikole omulimu.
44+
45+
<!--
46+
We handle code formatting and linting automatically. Relax, type away, and let the machines do the work.
47+
-->
48+
49+
## Public API
50+
51+
<!--
52+
## Public API
53+
-->
54+
55+
Playground eruubirira okukuuma API scope ennono ennyo.
56+
57+
<!--
58+
Playground aims to keep the narrowest possible API scope.
59+
-->
60+
61+
Public APIs zi yangu okuziyongera naye nzizibu okuziggyawo. Kyetaaga PR emu okuyingiza API empya, naye kiyinza okwetaaga lukumi okugigyawo, naddala singa pulojekiti endala zizikozesezza dda.
62+
63+
<!--
64+
Public APIs are easy to add and hard to remove. It only takes one PR to introduce a new API, but it may take a thousand to remove it, especially if other projects have already consumed it.
65+
-->
66+
67+
- Tolaga functions, classes, constants, oba components endala eziteetaagisa.
68+
69+
<!--
70+
- Don't expose unnecessary functions, classes, constants, or other components.
71+
-->
72+
73+
## Enteekateeka
74+
75+
<!--
76+
## Blueprints
77+
-->
78+
79+
[Enteekateeka](/blueprints/getting-started) ze ngeri enkulu ey'okukolagana ne Playground. Fayiro zino za JSON zinnyonnyola emitendo egy'emitendera Playground gy'ekola mu nkola.
80+
81+
<!--
82+
[Blueprints](/blueprints/getting-started) are the primary way to interact with Playground. These JSON files describe a set of steps that Playground executes in order.
83+
-->
84+
85+
### Ebiragiro
86+
87+
<!--
88+
### Guidelines
89+
-->
90+
91+
Emitendera gy'enteekateeka girina okuba **migufu era egy'omusingi**. Girina okukola kinumu era okukikola obulungi.
92+
93+
<!--
94+
Blueprint steps should be **concise and focused**. They should do one thing and do it well.
95+
-->
96+
97+
- Bw'oba oyagala okukola omutendera omupya, sooka okugezaako okudda okutereeza ogw'awali.
98+
- Bw'ekyo tekimala, kakasa nti omutendera omupya guleeta obusobozi obupya. Toddamu kukola functions ez'emitendera egy'awali.
99+
- Lowooza nti omutendera gujja kuyitibwa emirundi egisinga emu.
100+
- Lowooza nti gujja kukola mu nkola entongole.
101+
- Yongera unit tests okukakasa ekyo.
102+
103+
<!--
104+
- If you need to create a new step, try refactoring an existing one first.
105+
- If that's not enough, ensure the new step delivers a new capability. Don't replicate the functionality of existing steps.
106+
- Assume the step would be called more than once.
107+
- Assume it would run in a specific order.
108+
- Add unit tests to verify that.
109+
-->
110+
111+
Enteekateeka zirina okuba **ez'amanyi era ez'eyangu okutegeerera**.
112+
113+
<!--
114+
Blueprints should be **intuitive and straightforward**.
115+
-->
116+
117+
- Tosabanga arguments ezisobola okuba optional.
118+
- Kozesa argument ennyangu. Okugeza, `slug` mu kifo kya `path`.
119+
- Nnyonnyola constants mu virtual JSON files—tolongoosa PHP files.
120+
- Nnyonnyola TypeScript type ku Blueprint. Bw'etyo Playground bw'ekola JSON schema yaayo.
121+
- Wandiika function okukwata omutendera gwa Blueprint. Kkiriza argument ey'ekika ky'onnyonnyodde.
122+
- Waayo ekyokulabirako eky'okukozesa mu doc string. Ekyeraga mu ngeri ey'otomatiiki mu biwandiiko.
123+
124+
<!--
125+
- Don't require arguments that can be optional.
126+
- Use plain argument. For example, `slug` instead of `path`.
127+
- Define constants in virtual JSON files—don't modify PHP files.
128+
- Define a TypeScript type for the Blueprint. That's how Playground generates its JSON schema.
129+
- Write a function to handle a Blueprint step. Accept the argument of the type you defined.
130+
- Provide a usage example in the doc string. It's automatically reflected in the docs.
131+
-->
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
{
2+
"version.label": {
3+
"message": "Ekiddako",
4+
"description": "The label for version current"
5+
},
6+
"sidebar.mainSidebar.category.Documentation": {
7+
"message": "Ebiwandiiko",
8+
"description": "The label for category Documentation in sidebar mainSidebar"
9+
},
10+
"sidebar.mainSidebar.category.About Playground": {
11+
"message": "Ebikwata ku Playground",
12+
"description": "The label for category About Playground in sidebar mainSidebar"
13+
},
14+
"sidebar.mainSidebar.category.Guides": {
15+
"message": "Endagiriro",
16+
"description": "The label for category Guides in sidebar mainSidebar"
17+
},
18+
"sidebar.mainSidebar.category.Contributing": {
19+
"message": "Okwongerako",
20+
"description": "The label for category Contributing in sidebar mainSidebar"
21+
},
22+
"sidebar.blueprintsSidebar.category.Blueprints": {
23+
"message": "Blueprints",
24+
"description": "The label for category Blueprints in sidebar blueprintsSidebar"
25+
},
26+
"sidebar.blueprintsSidebar.category.Tutorial": {
27+
"message": "Essomo",
28+
"description": "The label for category Tutorial in sidebar blueprintsSidebar"
29+
},
30+
"sidebar.blueprintsSidebar.category.Steps": {
31+
"message": "Emitendera",
32+
"description": "The label for category Steps in sidebar blueprintsSidebar"
33+
},
34+
"sidebar.developersSidebar.category.Developers": {
35+
"message": "Abakozi",
36+
"description": "The label for category Developers in sidebar developersSidebar"
37+
},
38+
"sidebar.developersSidebar.category.Local Development": {
39+
"message": "Okukola ku Kompyuta yo",
40+
"description": "The label for category Local Development in sidebar developersSidebar"
41+
},
42+
"sidebar.developersSidebar.category.Playground APIs": {
43+
"message": "Playground APIs",
44+
"description": "The label for category Playground APIs in sidebar developersSidebar"
45+
},
46+
"sidebar.developersSidebar.category.Javascript API": {
47+
"message": "Javascript API",
48+
"description": "The label for category Javascript API in sidebar developersSidebar"
49+
},
50+
"sidebar.developersSidebar.category.Architecture": {
51+
"message": "Ensengeka",
52+
"description": "The label for category Architecture in sidebar developersSidebar"
53+
}
54+
}
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
{
2+
"link.title.Docs": {
3+
"message": "Ebiwandiiko",
4+
"description": "The title of the footer links column with title=Docs in the footer"
5+
},
6+
"link.title.Community": {
7+
"message": "Ekibiina",
8+
"description": "The title of the footer links column with title=Community in the footer"
9+
},
10+
"link.item.label.Documentation": {
11+
"message": "Ebiwandiiko",
12+
"description": "The label of footer link with label=Documentation linking to /"
13+
},
14+
"link.item.label.Blueprints": {
15+
"message": "Enteekateeka",
16+
"description": "The label of footer link with label=Blueprints linking to /blueprints"
17+
},
18+
"link.item.label.Developers": {
19+
"message": "Abakozi",
20+
"description": "The label of footer link with label=Developers linking to /developers"
21+
},
22+
"link.item.label.API Reference": {
23+
"message": "API Reference",
24+
"description": "The label of footer link with label=API Reference linking to /api"
25+
},
26+
"link.item.label.GitHub": {
27+
"message": "GitHub",
28+
"description": "The label of footer link with label=GitHub linking to https://github.com/WordPress/wordpress-playground"
29+
},
30+
"link.item.label.#playground on Slack": {
31+
"message": "#playground ku Slack",
32+
"description": "The label of footer link with label=#playground on Slack linking to https://make.wordpress.org/chat"
33+
},
34+
"copyright": {
35+
"message": "Copyright © 2025 WordPress Playground, Inc. Yazimbiddwa ne Docusaurus.",
36+
"description": "The footer copyright"
37+
},
38+
"logo.alt": {
39+
"message": "Koodi ye Kasujja",
40+
"description": "The alt text of footer logo"
41+
}
42+
}
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
{
2+
"title": {
3+
"message": "WordPress Playground",
4+
"description": "The title in the navbar"
5+
},
6+
"logo.alt": {
7+
"message": "WordPress Playground",
8+
"description": "The alt text of navbar logo"
9+
},
10+
"item.label.Documentation": {
11+
"message": "Ebiwandiiko",
12+
"description": "Navbar item with label Documentation"
13+
},
14+
"item.label.Blueprints": {
15+
"message": "Blueprints",
16+
"description": "Navbar item with label Blueprints"
17+
},
18+
"item.label.Developers": {
19+
"message": "Abakozi",
20+
"description": "Navbar item with label Developers"
21+
},
22+
"item.label.API Reference": {
23+
"message": "API Reference",
24+
"description": "Navbar item with label API Reference"
25+
}
26+
}

0 commit comments

Comments
 (0)