sjyangkevin commented on code in PR #62059:
URL: https://github.com/apache/airflow/pull/62059#discussion_r2820377883
##########
.github/skills/airflow-translations/SKILL.md:
##########
@@ -0,0 +1,158 @@
+---
+name: airflow-translations
+description: >
+ Translate, review, and maintain Apache Airflow i18n locale strings in JSON
+ translation files. Use when working with internationalization, localization,
+ or translation tasks in airflow-core/src/airflow/ui/public/i18n/locales/.
+ Covers Airflow terminology conventions and translation guidelines.
+license: Apache-2.0
+---
+
+# Airflow Translations
+
+## Locale-Specific Guidelines
+
+Before translating, you **must** read the locale-specific guideline file for
+the target language. Locale files are located at `locales/<locale-name>.md`
+relative to this skill directory.
+
+Match the translation task to the correct locale file using the table below:
+
+| Locale Code | Language | Guideline File |
+| ----------- | ----------------------- | ------------------------------- |
+| `ar` | Arabic | [locales/ar.md](locales/ar.md) |
+| `ca` | Catalan | [locales/ca.md](locales/ca.md) |
+| `de` | German | [locales/de.md](locales/de.md) |
+| `el` | Greek | [locales/el.md](locales/el.md) |
+| `es` | Spanish | [locales/es.md](locales/es.md) |
+| `fr` | French | [locales/fr.md](locales/fr.md) |
+| `he` | Hebrew | [locales/he.md](locales/he.md) |
+| `hi` | Hindi | [locales/hi.md](locales/hi.md) |
+| `hu` | Hungarian | [locales/hu.md](locales/hu.md) |
+| `it` | Italian | [locales/it.md](locales/it.md) |
+| `ja` | Japanese | [locales/ja.md](locales/ja.md) |
+| `ko` | Korean | [locales/ko.md](locales/ko.md) |
+| `nl` | Dutch | [locales/nl.md](locales/nl.md) |
+| `pl` | Polish | [locales/pl.md](locales/pl.md) |
+| `pt` | Portuguese | [locales/pt.md](locales/pt.md) |
+| `th` | Thai | [locales/th.md](locales/th.md) |
+| `tr` | Turkish | [locales/tr.md](locales/tr.md) |
+| `zh-CN` | Simplified Chinese | [locales/zh-CN.md](locales/zh-CN.md)
|
+| `zh-TW` | Traditional Chinese | [locales/zh-TW.md](locales/zh-TW.md)
|
+
+If the target locale file does not yet exist, follow only the global rules in
this document.
+When a locale-specific guideline conflicts with a global rule, the
**locale-specific
+guideline takes precedence**.
Review Comment:
adding this instruction to let the agent follow locale-specific guideline
when some rules/guideline in the SKILL.md need to be "overwritten".
##########
.pre-commit-config.yaml:
##########
@@ -173,7 +174,7 @@ repos:
^\.claude/|
AGENTS\.md$|
CLAUDE\.md$|
- SKILLS\.md$|
+ SKILL\.md$|
Review Comment:
According to the
https://platform.claude.com/docs/en/agents-and-tools/agent-skills/best-practices,
this should be `SKILL.md` instead of `SKILLS.md`. The updated hook still adds
a shortened license to the `SKILL.md` due to the mismatch.
##########
.github/skills/airflow-translations/SKILL.md:
##########
@@ -0,0 +1,158 @@
+---
+name: airflow-translations
+description: >
+ Translate, review, and maintain Apache Airflow i18n locale strings in JSON
+ translation files. Use when working with internationalization, localization,
+ or translation tasks in airflow-core/src/airflow/ui/public/i18n/locales/.
+ Covers Airflow terminology conventions and translation guidelines.
+license: Apache-2.0
+---
+
+# Airflow Translations
+
+## Locale-Specific Guidelines
+
+Before translating, you **must** read the locale-specific guideline file for
+the target language. Locale files are located at `locales/<locale-name>.md`
+relative to this skill directory.
+
+Match the translation task to the correct locale file using the table below:
+
+| Locale Code | Language | Guideline File |
+| ----------- | ----------------------- | ------------------------------- |
+| `ar` | Arabic | [locales/ar.md](locales/ar.md) |
+| `ca` | Catalan | [locales/ca.md](locales/ca.md) |
+| `de` | German | [locales/de.md](locales/de.md) |
+| `el` | Greek | [locales/el.md](locales/el.md) |
+| `es` | Spanish | [locales/es.md](locales/es.md) |
+| `fr` | French | [locales/fr.md](locales/fr.md) |
+| `he` | Hebrew | [locales/he.md](locales/he.md) |
+| `hi` | Hindi | [locales/hi.md](locales/hi.md) |
+| `hu` | Hungarian | [locales/hu.md](locales/hu.md) |
+| `it` | Italian | [locales/it.md](locales/it.md) |
+| `ja` | Japanese | [locales/ja.md](locales/ja.md) |
+| `ko` | Korean | [locales/ko.md](locales/ko.md) |
+| `nl` | Dutch | [locales/nl.md](locales/nl.md) |
+| `pl` | Polish | [locales/pl.md](locales/pl.md) |
+| `pt` | Portuguese | [locales/pt.md](locales/pt.md) |
+| `th` | Thai | [locales/th.md](locales/th.md) |
+| `tr` | Turkish | [locales/tr.md](locales/tr.md) |
+| `zh-CN` | Simplified Chinese | [locales/zh-CN.md](locales/zh-CN.md)
|
+| `zh-TW` | Traditional Chinese | [locales/zh-TW.md](locales/zh-TW.md)
|
+
+If the target locale file does not yet exist, follow only the global rules in
this document.
+When a locale-specific guideline conflicts with a global rule, the
**locale-specific
+guideline takes precedence**.
+
+## Translation File Structure
+
+All translation files are JSON files located at:
+
+```
+airflow-core/src/airflow/ui/public/i18n/locales/<locale-name>/
+```
+
+Each locale directory contains namespace JSON files that mirror the English
+locale (`en/`). The English locale is the **default locale** and the primary
+source for all translations. The current namespace files are:
+
+<!-- START namespace-files, please keep comment here to allow auto update -->
+`admin.json`, `assets.json`, `browse.json`, `common.json`, `components.json`,
`dag.json`, `dags.json`, `dashboard.json`, `hitl.json`, `tasks.json`
+<!-- END namespace-files, please keep comment here to allow auto update -->
+
+## Translation Principles
+
+1. **Concise and clear** — Translations are used in UI elements (buttons,
+ labels, tooltips). Keep them short and suitable for constrained UI space.
+2. **Consistent** — Always use the same translated term for the same English
+ term. Refer to the glossary in your locale file.
+3. **Accurate** — Maintain the original meaning and intent.
+4. **Neutral tone** — Language should be polite and neutral.
+5. **Local conventions** — Respect date formats, number formatting, and
+ formal/informal tone as appropriate for the locale.
+
+## Do-Not-Translate Terms
+
+The following terms should remain in English by default. Locale-specific
+guidelines may override individual entries where established conventions exist:
Review Comment:
soften the wording here so the agent could follow the convention in
language(locale)-specific guideline.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]