|
| 1 | +<!-- SPDX-License-Identifier: Apache-2.0 |
| 2 | + https://www.apache.org/licenses/LICENSE-2.0 --> |
| 3 | + |
| 4 | +# Greek (el) Translation Agent Skill |
| 5 | + |
| 6 | +**Locale code:** `el` |
| 7 | +**Preferred variant:** Standard Modern Greek (el), consistent with existing translations in `airflow-core/src/airflow/ui/public/i18n/locales/el/` |
| 8 | + |
| 9 | +This file contains locale-specific guidelines so AI translation agents produce |
| 10 | +new Greek strings that stay 100% consistent with the existing translations. |
| 11 | + |
| 12 | +## 1. Core Airflow Terminology |
| 13 | + |
| 14 | +The following terms **must remain in English unchanged** (case-sensitive): |
| 15 | + |
| 16 | +- `Dag` / `Dags` — Airflow concept; never write "DAG" |
| 17 | +- `XCom` / `XComs` — Airflow cross-communication mechanism |
| 18 | +- `Backfill` / `Backfills` — Historical data fill-in; kept as a recognizable technical term |
| 19 | +- `Pool` / `Pools` — Resource constraint mechanism |
| 20 | +- `Slot` / `Slots` — Pool slot count |
| 21 | +- `Map Index` — Task mapping index |
| 22 | +- `PID` — Unix process identifier |
| 23 | +- `ID` — Universal abbreviation |
| 24 | +- `UTC` — Time standard |
| 25 | +- `JSON` — Standard technical format name |
| 26 | +- `REST API` — Standard technical term |
| 27 | +- `URI` — Uniform Resource Identifier |
| 28 | +- `Gantt` — Chart type name |
| 29 | +- `Catchup` — Dag scheduling catchup setting |
| 30 | +- Log levels: `INFO`, `DEBUG` (Note: `CRITICAL`, `ERROR`, `WARNING` are translated — see § 3) |
| 31 | + |
| 32 | +## 2. Standard Translations |
| 33 | + |
| 34 | +The following Airflow-specific terms have established Greek translations |
| 35 | +that **must be used consistently**: |
| 36 | + |
| 37 | +| English Term | Greek Translation | Notes | |
| 38 | +| ---------------------- | ------------------------------------- | --------------------------------------------------- | |
| 39 | +| Task | Εργασία | Plural: "Εργασίες" | |
| 40 | +| Task Instance | Εκτέλεση Εργασίας | Plural: "Εκτελέσεις Εργασίας" | |
| 41 | +| Task Group | Ομάδα Εργασιών | | |
| 42 | +| Dag Run | Εκτέλεση Dag | Plural: "Εκτελέσεις Dag" | |
| 43 | +| Run | Εκτέλεση | Plural: "Εκτελέσεις"; used standalone | |
| 44 | +| Trigger (noun) | Ενεργοποίηση | | |
| 45 | +| Trigger Rule | Κανόνας Ενεργοποίησης | | |
| 46 | +| Triggerer | Ενεργοποιητής | Component name | |
| 47 | +| Scheduler | Προγραμματιστής | | |
| 48 | +| Schedule (noun) | Πρόγραμμα | | |
| 49 | +| Executor | Εκτελεστής | | |
| 50 | +| Connection | Σύνδεση | Plural: "Συνδέσεις" | |
| 51 | +| Variable | Μεταβλητή | Plural: "Μεταβλητές" | |
| 52 | +| Audit Log | Καταγραφή Ελέγχου | | |
| 53 | +| Log | Καταγραφή | | |
| 54 | +| State | Κατάσταση | | |
| 55 | +| Queue (noun) | Ουρά | e.g., "Σε Ουρά" for "queued" | |
| 56 | +| Config / Configuration | Ρυθμίσεις | | |
| 57 | +| Operator | Τελεστής | Plural: "Τελεστές" | |
| 58 | +| Asset | Οντότητα | Plural: "Οντότητες" — translated (Greek-specific) | |
| 59 | +| Asset Event | Συμβάν Οντότητας | Plural: "Συμβάντα Οντοτήτων" | |
| 60 | +| Plugin | Πρόσθετο | Plural: "Πρόσθετα" | |
| 61 | +| Provider | Πάροχος | Plural: "Πάροχοι" | |
| 62 | +| Dag Processor | Επεξεργαστής Dag | Component name | |
| 63 | +| Heartbeat | Παλμός | | |
| 64 | +| Map Index | Δείκτης Χάρτη | | |
| 65 | +| Upstream (dependency) | Ανάντη | Used in states: "Αποτυχία Ανάντη" | |
| 66 | +| Upstream (action) | Άνοδος | Used in clear-task action options | |
| 67 | +| Downstream (action) | Κάθοδος | Used in clear-task action options | |
| 68 | + |
| 69 | +> **Note on `Asset`:** Unlike French, Catalan, and other locales where "Asset" is kept in |
| 70 | +> English, Greek translates it as **Οντότητα** ("entity"). Use "Οντότητα" consistently |
| 71 | +> across all Greek translations. |
| 72 | +
|
| 73 | +## 3. Task/Run States and Log Levels |
| 74 | + |
| 75 | +### States |
| 76 | + |
| 77 | +| English State | Greek Translation | |
| 78 | +| ------------------- | ---------------------------- | |
| 79 | +| running | Εκτελείται | |
| 80 | +| failed | Αποτυχία | |
| 81 | +| success | Επιτυχία | |
| 82 | +| queued | Σε Ουρά | |
| 83 | +| scheduled | Προγραμματισμένο | |
| 84 | +| skipped | Παραλείφθηκε | |
| 85 | +| deferred | Αναβληθέν | |
| 86 | +| removed | Αφαιρέθηκε | |
| 87 | +| restarting | Επανεκκίνηση | |
| 88 | +| up_for_retry | Προς Επανάληψη | |
| 89 | +| up_for_reschedule | Προς Επαναπρογραμματισμό | |
| 90 | +| upstream_failed | Αποτυχία Ανάντη | |
| 91 | +| no_status / none | Χωρίς Κατάσταση | |
| 92 | +| planned | Προγραμματισμένο | |
| 93 | + |
| 94 | +### Log Levels |
| 95 | + |
| 96 | +| English Level | Greek Translation | |
| 97 | +| ------------- | ------------------ | |
| 98 | +| CRITICAL | ΚΡΙΣΙΜΟ | |
| 99 | +| ERROR | ΣΦΑΛΜΑ | |
| 100 | +| WARNING | ΠΡΟΕΙΔΟΠΟΙΗΣΗ | |
| 101 | +| INFO | INFO | |
| 102 | +| DEBUG | DEBUG | |
| 103 | + |
| 104 | +## 4. Greek-Specific Guidelines |
| 105 | + |
| 106 | +### Tone and Register |
| 107 | + |
| 108 | +- Use **formal Greek** ("εσείς/σας" form). Do not use the informal "εσύ/σου". |
| 109 | +- Use a neutral, professional tone suitable for technical software UIs. |
| 110 | +- Keep UI strings concise — they appear in buttons, labels, and tooltips. |
| 111 | + |
| 112 | +### Grammatical Gender |
| 113 | + |
| 114 | +Greek nouns have three genders: masculine (αρσενικό), feminine (θηλυκό), and neuter (ουδέτερο). |
| 115 | +Match adjectives and articles accordingly: |
| 116 | + |
| 117 | +- "Dag" is treated as **neuter**: "το Dag", "ένα Dag" |
| 118 | +- "Εργασία" (Task) is **feminine**: "η εργασία", "μια εργασία" |
| 119 | +- "Εκτέλεση" (Run/Execution) is **feminine**: "η εκτέλεση", "μια εκτέλεση" |
| 120 | +- "Σύνδεση" (Connection) is **feminine**: "η σύνδεση" |
| 121 | +- "Μεταβλητή" (Variable) is **feminine**: "η μεταβλητή" |
| 122 | +- "Οντότητα" (Asset) is **feminine**: "η οντότητα" |
| 123 | +- "Καταγραφή" (Log) is **feminine**: "η καταγραφή" |
| 124 | +- "Κατάσταση" (State) is **feminine**: "η κατάσταση" |
| 125 | + |
| 126 | +### Plural Forms |
| 127 | + |
| 128 | +Greek uses i18next plural suffixes `_one` and `_other`. Use the established |
| 129 | +plural forms from the glossary: |
| 130 | + |
| 131 | +```json |
| 132 | +"task_one": "Εργασία", |
| 133 | +"task_other": "Εργασίες" |
| 134 | +``` |
| 135 | + |
| 136 | +```json |
| 137 | +"dagRun_one": "Εκτέλεση Dag", |
| 138 | +"dagRun_other": "Εκτελέσεις Dag" |
| 139 | +``` |
| 140 | + |
| 141 | +```json |
| 142 | +"asset_one": "Οντότητα", |
| 143 | +"asset_other": "Οντότητες" |
| 144 | +``` |
| 145 | + |
| 146 | +### Genitive Case |
| 147 | + |
| 148 | +Greek uses the genitive case to express "of X" relationships. This commonly appears |
| 149 | +in compound terms where English uses a noun modifier: |
| 150 | + |
| 151 | +```json |
| 152 | +"dagRunId": "ID Εκτέλεσης Dag" // "ID of Run of Dag" |
| 153 | +"taskGroup": "Ομάδα Εργασιών" // "Group of Tasks" |
| 154 | +"auditLog": "Καταγραφή Ελέγχου" // "Log of Audit" |
| 155 | +"assetEvent_one":"Συμβάν Οντότητας" // "Event of Asset" |
| 156 | +"triggerRule": "Κανόνας Ενεργοποίησης" // "Rule of Triggering" |
| 157 | +``` |
| 158 | + |
| 159 | +### Capitalization |
| 160 | + |
| 161 | +- Use **sentence case** for descriptions and longer strings. |
| 162 | +- Use **title-like capitalization** for headers, labels, and button text |
| 163 | + (match the style of existing Greek translations). |
| 164 | +- Capitalize proper terms: "Dag", "XCom", "Backfill", "Pool", etc. |
| 165 | + |
| 166 | +### Diacritics |
| 167 | + |
| 168 | +Greek uses the **tonos** accent mark (΄). Always preserve accented characters — |
| 169 | +missing diacritics change the meaning or make text unreadable. Never write |
| 170 | +"Εκτελεση", "Συνδεση", "Εργασια", "Οντοτητα", "Καταγραφη", "Κατασταση" etc. |
| 171 | +Always use the correctly accented forms from §2. |
| 172 | + |
| 173 | +### Question Mark |
| 174 | + |
| 175 | +The Greek question mark is the **erotimatiko** (`;`), which looks like a semicolon. |
| 176 | +When translating English `?`, use `;` in Greek sentences: |
| 177 | + |
| 178 | +```json |
| 179 | +"confirmation": "Είστε σίγουροι ότι θέλετε να διαγράψετε το {{resourceName}}; Αυτή η ενέργεια δεν μπορεί να αναιρεθεί." |
| 180 | +``` |
| 181 | + |
| 182 | +### Placeholders and Variables |
| 183 | + |
| 184 | +Preserve all `{{variable}}` placeholders exactly — never translate placeholder names. |
| 185 | +Reorder phrases for natural Greek word order when needed. |
| 186 | + |
| 187 | +## 5. Terminology Reference |
| 188 | + |
| 189 | +The established Greek translations are defined in the existing locale files. |
| 190 | +Before translating, **read the existing el JSON files** to learn the |
| 191 | +established terminology: |
| 192 | + |
| 193 | +``` |
| 194 | +airflow-core/src/airflow/ui/public/i18n/locales/el/ |
| 195 | +``` |
| 196 | + |
| 197 | +Use the translations found in these files as the authoritative glossary. When |
| 198 | +translating a term, check how it has been translated elsewhere in the locale to |
| 199 | +maintain consistency. If a term has not been translated yet, refer to the English |
| 200 | +source in `en/` and apply the rules in this document. |
| 201 | + |
| 202 | +### Action Verbs (Buttons) |
| 203 | + |
| 204 | +``` |
| 205 | +Add → "Προσθήκη" |
| 206 | +Delete → "Διαγραφή" |
| 207 | +Edit → "Επεξεργασία" |
| 208 | +Save → "Αποθήκευση" |
| 209 | +Reset → "Επαναφορά" |
| 210 | +Cancel → "Ακύρωση" |
| 211 | +Confirm → "Επιβεβαίωση" |
| 212 | +Clear → "Εκκαθάριση" |
| 213 | +Search → "Αναζήτηση" |
| 214 | +Copy → "Αντιγραφή" |
| 215 | +``` |
| 216 | + |
| 217 | +## 6. Agent Instructions (DO / DON'T) |
| 218 | + |
| 219 | +**DO:** |
| 220 | + |
| 221 | +- Use formal Greek ("εσείς/σας" form) throughout |
| 222 | +- Preserve all i18next placeholders: `{{count}}`, `{{dagName}}`, `{{type}}`, etc. |
| 223 | +- Apply correct Greek genitive case for "of X" constructions |
| 224 | +- Provide `_one` and `_other` suffixes for every plural key |
| 225 | +- Translate "Asset" as "Οντότητα" (Greek-specific — not kept in English) |
| 226 | +- Translate log levels: "ΚΡΙΣΙΜΟ", "ΣΦΑΛΜΑ", "ΠΡΟΕΙΔΟΠΟΙΗΣΗ" for CRITICAL, ERROR, WARNING |
| 227 | +- Preserve Greek diacritics (tonos accent) on all Greek words |
| 228 | +- Use `;` (erotimatiko) for question marks in Greek sentences |
| 229 | + |
| 230 | +**DON'T:** |
| 231 | + |
| 232 | +- Write "DAG" — always use "Dag" |
| 233 | +- Translate `XCom`, `Backfill`, `Pool`, `Slot`, `ID`, `JSON`, `REST API`, `UTC`, `PID` |
| 234 | +- Translate `{{variable}}` placeholder names |
| 235 | +- Drop Greek diacritics (e.g., never write "Εκτελεση" for "Εκτέλεση") |
| 236 | +- Use the informal "εσύ" form |
| 237 | +- Translate "INFO" or "DEBUG" log level labels |
| 238 | +- Use English `?` for question marks in Greek sentences |
0 commit comments