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

2,383 tokens · o200k_base · 10,877 bytes

Turkish (tr) Translation Agent Skill

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

This file contains locale-specific guidelines so AI translation agents produce new Turkish strings that stay fully 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 / Dag'ler — Airflow concept; never write "DAG". Turkish plural uses apostrophe: Dag'ler
  • JSON — Standard technical format name
  • ID — Universal abbreviation
  • PID — Unix process identifier
  • REST API — Standard technical term
  • Unix — Operating system name
  • UTC — Time standard
  • XCom / XCom'lar — Airflow cross-communication mechanism
  • Log levels: CRITICAL, ERROR, WARNING, INFO, DEBUG

Translated by convention (Turkish-specific)

Unlike some other locales, the existing Turkish translations translate many Airflow terms into native Turkish. These established translations must be used consistently:

  • Asset / AssetsVarlık / Varlıklar
  • BackfillGeriye Dönük Çalıştırma
  • CatchupYakalama
  • Plugin / PluginsEklenti / Eklentiler
  • Pool / PoolsHavuz / Havuzlar
  • Provider / ProvidersSağlayıcı / Sağlayıcılar
  • Trigger / TriggererTetikleyici (noun/component)
  • ExecutorYürütücü

2. Standard Translations

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

English TermTurkish TranslationNotes
TaskGörevPlural: "Görevler"
Task InstanceGörev ÖrneğiPlural: "Görev Örnekleri"
Task GroupGörev Grubu
Dag RunDag ÇalıştırmasıPlural: "Dag Çalıştırmaları"
Trigger (verb)Tetiklemek"Tetiklendi" for "Triggered"
Trigger RuleTetikleme Kuralı
SchedulerZamanlayıcı
Schedule (noun)Zamanlama
OperatorOperatörPlural: "Operatörler"
ConnectionBağlantıPlural: "Bağlantılar"
VariableDeğişkenPlural: "Değişkenler"
ConfigurationYapılandırma
Audit LogDenetim Günlüğü
LogGünlükPlural: "Günlükler"
StateDurum
Queue (noun)Kuyruk"Kuyrukta" for "queued"
DurationSüre
OwnerSahip
TagsEtiketler
DescriptionAçıklama
DocumentationDokümantasyon
TimezoneSaat Dilimi
Dark ModeKaranlık Mod
Light ModeAydınlık Mod
Asset EventVarlık EtkinliğiPlural: "Varlık Etkinlikleri"
Dag ProcessorDag İşlemcisi
Try NumberDeneme Sayısı
HeartbeatKalp Atışıe.g., "Son Kalp Atışı" for "Last Heartbeat"
Upstream / DownstreamYukarı Akış / Aşağı Akış

3. Task/Run States

English StateTurkish Translation
runningÇalışıyor
failedBaşarısız
successBaşarılı
queuedKuyrukta
scheduledPlanlanmış
skippedAtlanmış
deferredErtelenmiş
removedKaldırılmış
restartingYeniden Başlatılıyor
up_for_retryYeniden Denenecek
up_for_rescheduleYeniden Zamanlanacak
upstream_failedYukarı Akış Başarısız
no_status / noneDurum Yok
plannedPlanlanmış

4. Turkish-Specific Guidelines

Tone and Register

  • Use a neutral, formal Turkish tone suitable for technical software UIs.
  • Use polite imperative forms for instructions (e.g., "tuşuna basın" for "press key").
  • Keep UI strings concise — they appear in buttons, labels, and tooltips.

Vowel Harmony and Suffixes

  • Turkish uses vowel harmony for suffixes. Match suffixes to the final vowel of the root word:
    • "Dag'ler" (not "Dag'lar") — follows front vowel harmony
    • "Bağlantılar" — follows back vowel harmony
  • Use apostrophe before suffixes on proper nouns and abbreviations: Dag'ler, XCom'lar

Plural Forms

  • Turkish uses i18next plural suffixes _one and _other only. There is no _many or _zero in the existing translations:

    "task_one": "Görev",
    "task_other": "Görevler"
    
    "dagRun_one": "Dag Çalıştırması",
    "dagRun_other": "Dag Çalıştırmaları"
    

Capitalization

  • Use title case for UI headers, navigation items, and button labels (e.g., "Tüm Çalıştırmalar", "Genel Bakış").
  • Use sentence case for descriptions and longer messages.
  • Capitalize the first letter of each major word in compound terms: "Dag Çalıştırması", "Görev Örneği".

Possessive Constructions

  • Turkish uses possessive suffixes for compound nouns:
    • "Dag Çalıştırması" (Dag's run) — possessive -ı/i suffix
    • "Görev Grubu" (Task's group) — possessive -u/ü suffix
    • "Bağlantı Kimliği" (Connection's ID) — possessive -ı/i suffix

5. Examples from Existing Translations

Terms translated to Turkish (unlike some other locales):

Asset          → "Varlık"
Backfill       → "Geriye Dönük Çalıştırma"
Pool           → "Havuz"
Plugin         → "Eklenti"
Provider       → "Sağlayıcı"
Executor       → "Yürütücü"
Trigger        → "Tetikleyici"
Heartbeat      → "Kalp Atışı"
Upstream       → "Yukarı Akış"
Downstream     → "Aşağı Akış"

Common translation patterns:

task_one              → "Görev"
task_other            → "Görevler"
dagRun_one            → "Dag Çalıştırması"
dagRun_other          → "Dag Çalıştırmaları"
backfill_one          → "Geriye Dönük Çalıştırma"
backfill_other        → "Geriye Dönük Çalıştırmalar"
taskInstance_one      → "Görev Örneği"
taskInstance_other    → "Görev Örnekleri"
allRuns               → "Tüm Çalıştırmalar"
running               → "Çalışıyor"
failed                → "Başarısız"
success               → "Başarılı"
queued                → "Kuyrukta"
scheduled             → "Planlanmış"

Trigger compound nouns — translated to Turkish:

triggerer.class           → "Tetikleyici sınıfı"
triggerer.id              → "Tetikleyici Kimliği"
triggerer.createdAt       → "Tetikleyici oluşturma zamanı"
triggerer.assigned        → "Atanmış tetikleyici"
triggerer.latestHeartbeat → "En son tetikleyici kalp atışı"
triggerer.title           → "Tetikleyici Bilgisi"

Action verbs (buttons):

Add      → "Ekle"
Delete   → "Sil"
Edit     → "Düzenle" / "Güncelle"
Save     → "Kaydet"
Reset    → "Sıfırla"
Cancel   → "İptal"
Confirm  → "Onayla"
Import   → "İçe Aktar"
Search   → "Ara"
Filter   → "Filtrele"
Download → "İndir"
Expand   → "Genişlet"
Collapse → "Daralt"

Health/status labels:

Healthy   → "Sağlıklı"
Unhealthy → "Sağlıksız"

6. Agent Instructions (DO / DON'T)

DO:

  • Match tone, style, vowel harmony, and casing from existing tr/*.json files
  • Use formal, neutral Turkish suitable for professional UIs
  • Preserve all i18next placeholders: {{count}}, {{dagName}}, {{hotkey}}, etc.
  • Apply correct Turkish vowel harmony for suffixes
  • Use apostrophe before suffixes on proper nouns and abbreviations (Dag'ler, XCom'lar)
  • Provide all needed plural suffixes (_one, _other) for each plural key
  • Check existing translations before adding new ones to maintain consistency

DON'T:

  • Write "DAG" — always write "Dag"
  • Use informal or colloquial Turkish
  • Leave terms in English when the existing Turkish translations have established Turkish equivalents (unlike other locales, Turkish translates most terms)
  • 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 tr/*.json locale files (July 2026)

Referenced from SKILL.md