Skip to content

Commit f4c3914

Browse files
Merge branch 'main' into feat-ja-translation-skill
2 parents d81e88c + 27426e4 commit f4c3914

234 files changed

Lines changed: 17206 additions & 5197 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/actions/breeze/action.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ inputs:
2424
default: "3.10"
2525
uv-version:
2626
description: 'uv version to use'
27-
default: "0.10.4" # Keep this comment to allow automatic replacement of uv version
27+
default: "0.10.5" # Keep this comment to allow automatic replacement of uv version
2828
outputs:
2929
host-python-version:
3030
description: Python version used in host

.github/actions/install-prek/action.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ inputs:
2424
default: "3.10"
2525
uv-version:
2626
description: 'uv version to use'
27-
default: "0.10.4" # Keep this comment to allow automatic replacement of uv version
27+
default: "0.10.5" # Keep this comment to allow automatic replacement of uv version
2828
prek-version:
2929
description: 'prek version to use'
3030
default: "0.3.3" # Keep this comment to allow automatic replacement of prek version
Lines changed: 163 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,163 @@
1+
<!-- SPDX-License-Identifier: Apache-2.0
2+
https://www.apache.org/licenses/LICENSE-2.0 -->
3+
4+
# Polish (pl)
5+
6+
This document provides locale-specific instructions for translating English
7+
Airflow UI strings into Polish. It inherits all global rules from
8+
the parent [SKILL.md](../SKILL.md).
9+
10+
## Plural Forms
11+
12+
Polish has **four plural forms** based on the count. Use the correct form for each suffix:
13+
14+
- `_one`: 1 item (nominative singular)
15+
- `_few`: 2-4 items, 22-24, 32-34, etc. (nominative plural)
16+
- `_many`: 5+ items, 11-21, 25-31, etc. (genitive plural)
17+
- `_other`: fractions and general plural
18+
19+
**English source:**
20+
21+
```json
22+
"connection_one": "Connection",
23+
"connection_few": "Connections",
24+
"connection_many": "Connections",
25+
"connection_other": "Connections"
26+
```
27+
28+
**Correct:**
29+
30+
```json
31+
"connection_one": "Połączenie",
32+
"connection_few": "Połączenia",
33+
"connection_many": "Połączeń",
34+
"connection_other": "Połączenia"
35+
```
36+
37+
**Incorrect:**
38+
39+
```json
40+
"connection_few": "Połączeń", // wrong case for 2-4
41+
"connection_many": "Połączenia" // wrong case for 5+
42+
```
43+
44+
## Case Declension
45+
46+
Polish nouns change form by grammatical case. Use the appropriate case for context:
47+
48+
**Nominative** (subject):
49+
50+
```json
51+
"title": "Wszystkie połączenia" // All connections
52+
```
53+
54+
**Genitive** (possession, "of"):
55+
56+
```json
57+
"title": "Lista połączeń" // List of connections
58+
```
59+
60+
**Accusative** (direct object):
61+
62+
```json
63+
"button": "Dodaj połączenie" // Add connection
64+
```
65+
66+
## Gender Agreement
67+
68+
Match noun gender (masculine/feminine/neuter) with verbs and adjectives:
69+
70+
**Correct:**
71+
72+
```json
73+
"message": "Połączenie zostało usunięte" // neuter noun + neuter verb
74+
```
75+
76+
**Incorrect:**
77+
78+
```json
79+
"message": "Połączenie został usunięty" // neuter noun + masculine verb
80+
```
81+
82+
## Unchanged Terms
83+
84+
Keep these in English:
85+
86+
- `XCom` — Airflow cross-communication term
87+
- `ID` — Technical identifier (always uppercase)
88+
- `Dag` / `Dags` → use `Dag` / `Dagi` (Polish plural adaptation)
89+
- Log levels: `CRITICAL`, `ERROR`, `WARNING`, `INFO`, `DEBUG`
90+
91+
92+
## Verb Forms and User Address
93+
94+
- Use **infinitive** for commands: `"Dodaj połączenie"` (Add connection)
95+
- Use **indicative** for status: `"Połączenie zostało usunięte"` (Connection was deleted)
96+
- Use **informal "ty"** (lowercase) for questions: `"Czy chcesz kontynuować?"` (Do you want to continue?)
97+
98+
**Correct:**
99+
100+
```json
101+
"confirm": "Czy na pewno chcesz kontynuować?"
102+
```
103+
104+
**Incorrect:**
105+
106+
```json
107+
"confirm": "Czy na pewno Pan chce kontynuować?" // overly formal
108+
```
109+
110+
## Diacritics
111+
112+
Polish uses diacritics that must be preserved:
113+
114+
| Letter | Correct | Incorrect |
115+
|--------|---------|-----------|
116+
| ą | będą | bedą |
117+
| ć | połączenie | polaczenie |
118+
| ę | usunięte | usuniete |
119+
| ł | został | zostal |
120+
| ń | koń | kon |
121+
| ó | główna | glowna |
122+
| ś | więcej | wiecej |
123+
| ź | źródło | zrodlo |
124+
| ż | żaden | zaden |
125+
126+
## Variable and Placeholder Examples
127+
128+
Preserve all `{{variable}}` placeholders. Adjust word order for natural Polish:
129+
130+
**English source:**
131+
132+
```json
133+
"title": "Delete {{count}} connections"
134+
```
135+
136+
**Correct:**
137+
138+
```json
139+
"deleteConnection_one": "Usuń 1 połączenie",
140+
"deleteConnection_few": "Usuń {{count}} połączenia",
141+
"deleteConnection_many": "Usuń {{count}} połączeń"
142+
```
143+
144+
**Incorrect:**
145+
146+
```json
147+
"title": "Usuń {{liczba}} połączeń" // variable name translated
148+
```
149+
150+
## Terminology Reference
151+
152+
The established Polish translations are defined in the existing locale files.
153+
Before translating, **read the existing pl JSON files** to learn the
154+
established terminology:
155+
156+
```
157+
airflow-core/src/airflow/ui/public/i18n/locales/pl/
158+
```
159+
160+
Use the translations found in these files as the authoritative glossary. When
161+
translating a term, check how it has been translated elsewhere in the locale
162+
to maintain consistency. If a term has not been translated yet, refer to the
163+
English source in `en/` and apply the rules in this document.
Lines changed: 154 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,154 @@
1+
<!-- SPDX-License-Identifier: Apache-2.0
2+
https://www.apache.org/licenses/LICENSE-2.0 -->
3+
4+
# Traditional Chinese (zh-TW)
5+
6+
This document provides locale-specific instructions for translating English
7+
Airflow UI strings into Traditional Chinese. It inherits all global rules from
8+
the parent [SKILL.md](../SKILL.md).
9+
10+
## Translation Styles
11+
12+
Prioritize terms commonly used in the Taiwan tech ecosystem.
13+
14+
**Correct:**
15+
16+
```json
17+
"user": "使用者",
18+
"message": "訊息",
19+
"support": "支援"
20+
```
21+
22+
**Incorrect:**
23+
24+
```json
25+
"user": "用戶",
26+
"message": "信息"
27+
"support": "支持"
28+
```
29+
30+
## Plural Forms
31+
32+
Traditional Chinese **does not** distinguish between singular and plural forms.
33+
Use the **same translation** for both `_one` and `_other` suffixes:
34+
35+
**English source:**
36+
37+
```json
38+
"dagRun_one": "Dag Run",
39+
"dagRun_other": "Dag Runs"
40+
```
41+
42+
**Correct** — identical for both:
43+
44+
```json
45+
"dagRun_one": "Dag 執行",
46+
"dagRun_other": "Dag 執行"
47+
```
48+
49+
## Spacing Rules
50+
51+
Insert a **half-width space** between Chinese characters and adjacent
52+
English words, numbers, or symbols:
53+
54+
**Correct:**
55+
56+
```json
57+
"Dag 執行" // space between English and Chinese
58+
"最近 12 小時" // space around numbers
59+
"連線 ID" // space before abbreviation
60+
"{{count}} 個連線" // space after placeholder
61+
```
62+
63+
**Incorrect:**
64+
65+
```json
66+
"Dag執行" // missing space
67+
"最近12小時" // missing space around numbers
68+
```
69+
70+
## Punctuation
71+
72+
- Use **full-width** punctuation for Chinese sentences: `` `` `` `` ``
73+
- Use **half-width** punctuation for content within English terms, JSON, or
74+
code: `,` `.` `:` `?`
75+
- Use **full-width** parentheses for Chinese context: `` ``
76+
- Use **half-width** parentheses when wrapping English or variables: `(` `)`
77+
78+
**Correct** — full-width for Chinese sentences:
79+
80+
```json
81+
"confirmation": "您確定要刪除這個 {{resourceName}} 嗎?此動作無法復原。"
82+
```
83+
84+
**Correct** — half-width for English/variable context:
85+
86+
```json
87+
"tooltip": "按下 {{hotkey}} 切換展開"
88+
```
89+
90+
## Measure Words (量詞)
91+
92+
Chinese requires **measure words** (量詞) between numbers and nouns. Use the
93+
appropriate measure word for each context:
94+
95+
| Measure Word | Usage | Example |
96+
|---|---|---|
97+
| `` | General objects (connections, variables, errors) | `刪除 {{count}} 個連線` |
98+
| `` | Occurrences (runs, executions, attempts) | `最近 {{count}} 次 Dag 執行` |
99+
| `` | List items | `+ 其他 {{count}} 項` |
100+
101+
## Tone and Formality
102+
103+
- Use **neutral, slightly formal** register.
104+
- Use `` (formal "you") in confirmations and destructive actions:
105+
`"您即將刪除以下連線:"`.
106+
- Avoid colloquial or overly casual expressions.
107+
- Keep translations **concise** — these are UI labels and button text.
108+
109+
## Variable and Placeholder Examples
110+
111+
Preserve all `{{variable}}` placeholders. Reorder as needed for natural Chinese
112+
word order:
113+
114+
**English source:**
115+
116+
```json
117+
"title": "Mark {{type}} as {{state}}"
118+
```
119+
120+
**Correct** — placeholders preserved:
121+
122+
```json
123+
"title": "標記 {{type}} 為 {{state}}"
124+
```
125+
126+
**Incorrect** — variable names translated:
127+
128+
```json
129+
"title": "標記 {{類型}} 為 {{狀態}}"
130+
```
131+
132+
## Terminology Reference
133+
134+
The established zh-TW translations are defined in the existing locale files.
135+
Before translating, **read the existing zh-TW JSON files** to learn the
136+
established terminology:
137+
138+
```
139+
airflow-core/src/airflow/ui/public/i18n/locales/zh-TW/
140+
```
141+
142+
Use the translations found in these files as the authoritative glossary. When
143+
translating a term, check how it has been translated elsewhere in the locale
144+
to maintain consistency. If a term has not been translated yet, refer to the
145+
English source in `en/` and apply the rules in this document.
146+
147+
### Additional Terminology
148+
149+
Use the following established translations in the Airflow UI:
150+
151+
- **Triggerer** → 觸發者
152+
- **trigger** → 觸發器
153+
154+
Ensure these terms are used consistently across the locale.

.github/workflows/airflow-distributions-tests.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ jobs:
114114
USE_LOCAL_HATCH: "${{ inputs.use-local-venv }}"
115115
run: |
116116
uv tool uninstall hatch || true
117-
uv tool install hatch==1.16.3
117+
uv tool install hatch==1.16.4
118118
breeze release-management "${DISTRIBUTION_TYPE}" --distribution-format wheel
119119
if: ${{ matrix.python-version == inputs.default-python-version }}
120120
- name: "Verify wheel packages with twine"

.github/workflows/basic-tests.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ on: # yamllint disable-line rule:truthy
7070
type: string
7171
uv-version:
7272
description: 'uv version to use'
73-
default: "0.10.4" # Keep this comment to allow automatic replacement of uv version
73+
default: "0.10.5" # Keep this comment to allow automatic replacement of uv version
7474
type: string
7575
platform:
7676
description: 'Platform for the build - linux/amd64 or linux/arm64'

.github/workflows/release_dockerhub_image.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ jobs:
5858
AIRFLOW_VERSION: ${{ github.event.inputs.airflowVersion }}
5959
AMD_ONLY: ${{ github.event.inputs.amdOnly }}
6060
LIMIT_PYTHON_VERSIONS: ${{ github.event.inputs.limitPythonVersions }}
61-
UV_VERSION: "0.10.4" # Keep this comment to allow automatic replacement of uv version
61+
UV_VERSION: "0.10.5" # Keep this comment to allow automatic replacement of uv version
6262
if: contains(fromJSON('[
6363
"ashb",
6464
"bugraoz93",

0 commit comments

Comments
 (0)