airflow-translations

Contributors

GitHub-linked commit authors for this SKILL.md at the saved revision. Co-authors and history before file renames are not included.

File history ↗

Add or update translations for the Apache Airflow UI. Guides through setting up locales, scaffolding translation files, translating with locale-specific guidelines, and validating results. Use when working with i18n tasks in airflow-core/src/airflow/ui/public/i18n/locales/.

.agents/skills/airflow-translations/SKILL.md

Download bundle ↓
main · 2aca1aa20 bundle filesScanned 2026-09-14

locales/es.md

2,338 tokens · o200k_base · 11,837 bytes

Source excerpt starting at line 1.
<!-- SPDX-License-Identifier: Apache-2.0     https://www.apache.org/licenses/LICENSE-2.0 --> # Spanish (es) Translation Agent Skill **Locale code:** `es`**Preferred variant:** Neutral international Spanish (es) — inclusive across Latin America, Spain and Equatorial Guinea, consistent with existing translations in `airflow-core/src/airflow/ui/public/i18n/locales/es/` This file contains locale-specific guidelines so AI translation agents produce new Spanish strings that stay 100% consistent with the existing translations. ## 1. Core Airflow Terminology ### Global Airflow terms (never translate) These terms are defined as untranslatable across **all** Airflow locales.Do not translate them regardless of language: - `Airflow` — Product name- `Dag` / `Dags` — Airflow concept; never write "DAG"- `XCom` / `XComs` — Airflow cross-communication mechanism- `Asset` / `Assets` — Data dependency tracked by Airflow- `Provider` / `Providers` — Airflow extension package name- `Map Index` — Task mapping index- `PID` — Unix process identifier- `ID` — Universal abbreviation- `UTC` — Time standard- `JSON` — Standard technical format name- `REST API` — Standard technical term- `Schema` — Database term- Log levels: `CRITICAL`, `ERROR`, `WARNING`, `INFO`, `DEBUG` ### Kept in English by convention (Spanish-specific) The existing Spanish locale files leave these terms untranslated.Keep them in English to stay consistent with established translations: - `Backfill` / `Backfills` — Airflow-specific retroactive execution concept- `Catchup` — Airflow scheduling concept- `Bundle` — Airflow bundle concept- `Executor` — Airflow component name- `Plugin` / `Plugins` — Airflow extensibility mechanism- `Pool` / `Pools` — Resource constraint mechanism- `Trigger` / `Triggerer` — As **component names and nouns** keep in English (e.g., "Clase del Trigger", "Triggerer Asignado"); as a **verb** translate as "Activar" (see section 2)- `Upstream` / `Downstream` — Used as-is even within Spanish sentences (e.g., "Fallido en Upstream")- `Heartbeat` — Used as-is in component health labels (e.g., "Último Heartbeat") ## 2. Standard Translations The following Airflow-specific terms have established Spanish translationsthat **must be used consistently**: | English Term          | Spanish Translation           | Notes                                         || --------------------- | ----------------------------- | --------------------------------------------- || Task                  | Tarea                         | Plural: "Tareas"                              || Task Instance         | Instancia de Tarea            | Plural: "Instancias de Tarea"                 || Task Group            | Grupo de Tareas               |                                               || Dag Run               | Ejecución del Dag             | Plural: "Ejecuciones del Dag"                 || Trigger (verb)        | Activar                       | "Activado por" for "Triggered by"; as noun/component keep in English (see section 1) || Trigger Rule          | Regla de Activación           |                                               || Schedule (noun)       | Programación                  |                                               || Scheduler             | Programador                   |                                               || Operator              | Operador                      | Plural: "Operadores"                          || Connection            | Conexión                      | Plural: "Conexiones"                          || Variable              | Variable                      |                                               || Configuration         | Configuración                 |                                               || Audit Log             | Auditoría de Log              | `dag.json` uses this form; `common.json` has "Auditar Log" — prefer "Auditoría de Log" || Try Number            | Intento Número                |                                               || Timezone              | Zona Horaria                  |                                               || Dark Mode             | Modo Oscuro                   |                                               || Light Mode            | Modo Claro                    |                                               || Tags                  | Etiquetas                     |                                               || Owner                 | Propietario                   |                                               || Description           | Descripción                   |                                               || Duration              | Duración                      |                                               || Delete                | Eliminar                      |                                               || Cancel                | Cancelar                      |                                               || Confirm               | Confirmar                     |                                               || Filter (noun/label)   | Filtro                        |                                               || Filter (verb)         | Filtrar                       | e.g., "Filtrar Dags por etiqueta"             || Reset                 | Restablecer                   |                                               || Download              | Descargar                     |                                               || Expand / Collapse     | Expandir / Colapsar           |                                               || Logout                | Cerrar Sesión                 |                                               || Browse                | Navegar                       |                                               || Admin                 | Administración                |                                               || Security              | Seguridad                     |                                               || Users                 | Usuarios                      |                                               || Roles                 | Roles                         |                                               || Permissions           | Permisos                      |                                               || Actions               | Acciones                      |                                               || Resources             | Recursos                      |                                               || Documentation         | Documentación                 |                                               || Home                  | Inicio                        |                                               | ## 3. Task/Run States | English State       | Spanish Translation   || ------------------- | --------------------- || running             | En Ejecución          || failed              | Fallido               || success             | Exitoso               || queued              | En Cola               || scheduled           | Programado            || skipped             | Omitido               || deferred            | Diferido              || removed             | Removido              || restarting          | Reiniciando           || up_for_retry        | Por Reintentar        || up_for_reschedule   | Por Reprogramar       || upstream_failed     | Fallido en Upstream   || no_status / none    | Sin Estado            || planned             | Planificado           | ## 4. Spanish-Specific Guidelines ### Tone and Register - Use **neutral, international Spanish** — avoid region-specific idioms so strings work across all Spanish-speaking regions.- Prefer impersonal constructions over explicit "tú" or "usted" where the existing translations already do so (e.g., "Presiona {{hotkey}} para...").- Keep UI strings concise — they appear in buttons, labels, and tooltips. ### Gender Agreement - `Dag` is treated as **masculine**: "el Dag", "Ejecución del Dag"- `Tarea` is **feminine**: "la tarea", "una tarea"- `Ejecución` is **feminine**: "la ejecución", "Última Ejecución"- `Conexión` is **feminine**: "la conexión"- `Variable` is **feminine**: "la variable" ### Plural Forms - Spanish uses i18next suffixes `_one` and `_other` only.  `_many` and `_other` must always use the same translation:   ```json  "task_one": "Tarea",  "task_other": "Tareas"  ``` ### Capitalization - Use **title case** for UI headers, buttons, and navigation items (e.g., "Todas las Ejecuciones", "Cerrar Sesión").- Use **sentence case** for descriptions and messages (e.g., "No se encontraron resultados."). ### Technical Loanwords The following English loanwords are accepted in the existing translations — use them as-is: - "parsear" (from "parse") — used in "Duración del parseo", "Último Parseado"- "Wrap" → "Envolver", "Unwrap" → "Desenvolver" ## 5. Examples from Existing Translations **Always keep in English:** - "Dag" → "Dag"- "Asset" → "Asset"- "XCom" → "XCom"- "Pool" → "Pool"- "Backfill" → "Backfill"- "Catchup" → "Catchup" **Common translation patterns:** ```task_one              → "Tarea"task_other            → "Tareas"dagRun_one            → "Ejecución del Dag"dagRun_other          → "Ejecuciones del Dag"backfill_one          → "Backfill"backfill_other        → "Backfills"taskInstance_one      → "Instancia de Tarea"taskInstance_other    → "Instancias de Tarea"allRuns               → "Todas las Ejecuciones"running               → "En Ejecución"failed                → "Fallido"success               → "Exitoso"queued                → "En Cola"scheduled             → "Programado"``` **Trigger compound nouns — keep "Trigger"/"Triggerer" in English:** ```triggerDag.button          → "Trigger"             (UI button label, not translated)triggerer.class            → "Clase del Trigger"triggerer.id               → "ID del Trigger"triggerer.createdAt        → "Tiempo de Creación del Trigger"triggerer.assigned         → "Triggerer Asignado"triggerer.latestHeartbeat  → "Último Heartbeat del Triggerer"triggerer.title            → "Información del Triggerer"``` **Action verbs (buttons):** ```Add      → "Agregar"Delete   → "Eliminar"Edit     → "Editar"Save     → "Guardar"Reset    → "Restablecer"Cancel   → "Cancelar"Confirm  → "Confirmar"Import   → "Importar"Search   → "Buscar"Filter   → "Filtrar"``` **"Cannot X" dialog titles — title-case the key nouns:** ```Cannot Clear Task Instance  →  "No Se Puede Limpiar la Instancia de Tarea"``` Note: these titles require a full phrase in Spanish — do not shorten at the expense of meaning.  ## 6. Agent Instructions (DO / DON'T) **DO:** - Match tone, style, gender agreement, and casing from existing `es/*.json` files- Use neutral, international Spanish readable across all Spanish-speaking regions- Preserve all i18next placeholders: `{{count}}`, `{{dagName}}`, `{{hotkey}}`, etc.- Provide all needed plural suffixes (`_one`, `_other`) for each plural key- Check existing translations before adding new ones to maintain consistency **DON'T:** - Translate Airflow-specific terms listed in section 1- Use "DAG" — always write "Dag"- Use informal language, slang, or region-specific expressions- Invent new vocabulary when an equivalent already exists in the current translations- Change hotkey values (e.g., `"hotkey": "e"` must stay `"e"`)- Translate variable names or placeholders inside `{{...}}` --- **Version:** 1.0 — derived from existing `es/*.json` locale files (February 2026) 
Referenced from SKILL.md