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/fr.md

1,777 tokens · o200k_base · 7,958 bytes

French (fr) Translation Agent Skill

Locale code: fr Preferred variant: Standard French (fr), consistent with existing translations in airflow-core/src/airflow/ui/public/i18n/locales/fr/

This file contains locale-specific guidelines so AI translation agents produce new French strings that stay 100% consistent with the existing translations.

1. Core Airflow Terminology

The following terms must remain in English unchanged (case-sensitive):

  • Dag / Dags — Airflow concept; never write "DAG"
  • XCom / XComs — Airflow cross-communication mechanism
  • Asset / Assets — Data dependency tracked by Airflow
  • Plugin / Plugins — Airflow extensibility mechanism
  • Pool / Pools — Resource constraint mechanism
  • Provider / Providers — Airflow extension package name
  • Run / Runs — When used standalone (e.g., "Tous les Runs")
  • 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
  • Log levels: CRITICAL, ERROR, WARNING, INFO, DEBUG

2. Standard Translations

The following Airflow-specific terms have established French translations that must be used consistently:

English TermFrench TranslationNotes
TaskTâche / tâcheLowercase in compound contexts
Task InstanceInstance de tâchePlural: "Instances de tâche"
Task GroupGroupe de tâches
Dag RunExécution de DagPlural: "Exécutions de Dag"
BackfillRattrapagePlural: "Rattrapages"
Trigger (noun)Déclencheur
Trigger RuleRègle de déclenchement
TriggererDéclencheurComponent name
SchedulerPlanificateur
Schedule (noun)Planification
ExecutorExécuteur
ConnectionConnexionPlural: "Connexions"
VariableVariable
Audit LogJournal d'audit
LogJournalPlural: "Journaux"
StateÉtat
Queue (noun)Filee.g., "En file" for "queued"
Config / ConfigurationConfiguration
OperatorOpérateurPlural: "Opérateurs"
Asset EventÉvénement d'AssetKeep "Asset" in English
Dag ProcessorAnalyseur de Dag
HeartbeatBattement

3. Task/Run States

English StateFrench Translation
runningEn cours
failedÉchoué
successSuccès
queuedEn file
scheduledPlanifié
skippedIgnoré
deferredDifféré
removedSupprimé
restartingRedémarrage
up_for_retryÀ réessayer
up_for_rescheduleÀ replanifier
upstream_failedÉchec en amont
no_status / noneAucun statut
plannedPlanifié

4. French-Specific Guidelines

Tone and Register

  • Use formal French ("vous" form). Do not use "tu".
  • Use a neutral, professional tone suitable for technical software UIs.
  • Keep UI strings concise — they appear in buttons, labels, and tooltips.

Gender Agreement

  • French nouns have grammatical gender; match adjectives and articles accordingly:
    • "Dag" is treated as masculine: "le Dag", "un Dag"
    • "Tâche" is feminine: "la tâche", "une tâche"
    • "Exécution" is feminine: "une exécution", "l'exécution"
    • "Connexion" is feminine: "la connexion"
    • "Variable" is feminine: "la variable"

Plural Forms

  • French uses i18next plural suffixes _one and _many / _other. Use the same translation form when singular/plural are grammatically identical. Otherwise, add an "s" or use a distinct plural form:

    "task_one": "Tâche",
    "task_many": "Tâches",
    "task_other": "Tâches"
    
  • _many and _other must always use the same translation.

Capitalization

  • Use sentence case for descriptions and longer strings.
  • Use title-like capitalization for headers, labels, and button text (match the style of existing translations).
  • Capitalize proper terms: "Dag", "Asset", "XCom", "Pool", "Plugin", etc.

Elision and Contractions

  • Apply standard French elision rules:
    • "de" + vowel → "d'" (e.g., "Journal d'audit", "ID d'exécution")
    • "le" + vowel → "l'" (e.g., "l'exécution", "l'opérateur")

5. Examples from Existing Translations

Always keep in English:

  • "Dag" → "Dag"
  • "Asset" → "Asset"
  • "XCom" → "XCom"
  • "Plugin" → "Plugin"
  • "Pool" → "Pool"
  • "Provider" → "Provider"

Common translation patterns:

task_one          → "Tâche"
task_many         → "Tâches"
dagRun_one        → "Exécution de Dag"
dagRun_many       → "Exécutions de Dag"
backfill_one      → "Rattrapage"
backfill_many     → "Rattrapages"
taskInstance_one  → "Instance de tâche"
taskInstance_many → "Instances de tâche"
allRuns           → "Tous les Runs"
running           → "En cours"
failed            → "Échoué"
success           → "Succès"
queued            → "En file"
scheduled         → "Planifié"

Action verbs (buttons):

Add    → "Ajouter"
Delete → "Supprimer"
Edit   → "Modifier"
Save   → "Enregistrer"
Reset  → "Réinitialiser"
Cancel → "Annuler"
Confirm→ "Confirmer"
Import → "Importer"
Export → "Exporter"
Search → "Rechercher"
Filter → "Filtrer"

6. Agent Instructions (DO / DON'T)

DO:

  • Match tone, style, gender agreement, and casing from existing fr/*.json files
  • Use formal French ("vous" form) throughout
  • Preserve all i18next placeholders: {{count}}, {{dagName}}, {{type}}, etc.
  • Apply correct French elision (d', l', j', etc.)
  • Provide all needed plural suffixes (_one, _many, _other) for each key

DON'T:

  • Translate Airflow-specific terms listed in section 1
  • Use "tu" (informal) — always use "vous" register
  • Change hotkey values (e.g., "hotkey": "e" must stay "e")
  • Invent new vocabulary when an equivalent already exists in the current translations
  • Use "DAG" — always write "Dag"

Version: 1.0 — derived from existing fr/*.json locale files (February 2026)

Referenced from SKILL.md