sjyangkevin commented on code in PR #62059: URL: https://github.com/apache/airflow/pull/62059#discussion_r2817551886
########## .github/skills/airflow-translations/SKILL.md: ########## @@ -0,0 +1,160 @@ +--- +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 + +All translation work **must** follow the +[Internationalization (i18n) Policy](../../../airflow-core/src/airflow/ui/public/i18n/README.md) +as the authoritative source of truth. + +## 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 together with the i18n Policy. + +## 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 files (e.g., `admin.json`, `assets.json`, Review Comment: Thanks for the feedback! Yeah, I think we should keep a single source of truth for this file list, or somehow keep it in sync, otherwise we need to update it when new ones added. I wonder if we add an instruction here to let the agent list the directory (may end with more token consumption), or we can have something in pre-commit to update the SKILL.md. I can explore some options here in my mind, but open for more options. thanks! -- 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]
