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

2,604 tokens · o200k_base · 11,645 bytes

Thai (th)

This document provides Thai-specific guidelines for translating Apache Airflow terminology and documentation.

This document inherits all global rules from the parent SKILL.md.

Terms to Keep in English

The following technical terms should remain in English in Thai translations:

Core Technical Terms (คำศัพท์ทางเทคนิค)

  • Dag - Keep as "Dag" (Airflow convention; never write "DAG")
  • Dag Run - Keep as "Dag Run"
  • Task Instance - Keep as "Task Instance"
  • XCom - Keep as "XCom"
  • Asset - Keep as "Asset"
  • Backfill - Keep as "Backfill"
  • Dataset - Keep as "Dataset"
  • Pool - Keep as "Pool"
  • Sensor - Keep as "Sensor"
  • Hook - Keep as "Hook"
  • Operator - Keep as "Operator" (โอเปอเรเตอร์) or in English
  • DagBag - Keep as "DagBag"

UI Components (ส่วนประกอบของอินเทอร์เฟซ)

  • Tree View - Keep as "Tree View" or translate as "มุมมองต้นไม้"
  • Graph View - Keep as "Graph View" or translate as "มุมมองกราฟ"
  • Grid View - Keep as "Grid View" or translate as "มุมมองกริด"
  • Calendar View - Keep as "Calendar View" or translate as "มุมมองปฏิทิน"
  • Gantt Chart - Keep as "Gantt Chart" or translate as "แผนภูมิแกนต์"

Code and Technical References

  • All Python class names, function names, and variables
  • Configuration keys (e.g., dag_id, task_id)
  • Command-line arguments and flags
  • File paths and URLs

Common Airflow Terms in Thai

Core Concepts (แนวคิดหลัก)

EnglishThaiNotes
TaskงานStandard translation
Workflowเวิร์กโฟลว์Transliterated
Pipelineไปป์ไลน์Transliterated
Connectionการเชื่อมต่อStandard translation
VariableตัวแปรStandard translation
Providerผู้ให้บริการStandard translation
Triggerทริกเกอร์Transliterated
SchedulerตัวกำหนดการStandard translation
Executorผู้ดำเนินการStandard translation
Workerผู้ปฏิบัติงานStandard translation
Webserverเว็บเซิร์ฟเวอร์Transliterated
Databaseฐานข้อมูลStandard translation

Actions (การกระทำ)

EnglishThaiNotes
Runรัน / ทำงานUse "รัน" (transliterated) or "ทำงาน"
ExecuteดำเนินการStandard translation
Clearล้างStandard translation
Retryลองใหม่Standard translation
Failล้มเหลวStandard translation
Mark as Failedทำเครื่องหมายว่าล้มเหลวPhrase
Successสำเร็จStandard translation
Mark as Successทำเครื่องหมายว่าสำเร็จPhrase
Pauseหยุดชั่วคราวStandard translation
Unpauseยกเลิกการหยุดชั่วคราวPhrase

States (สถานะ)

EnglishThaiNotes
successสำเร็จStandard translation
runningกำลังดำเนินการStandard translation
failedล้มเหลวStandard translation
upstream_failedต้นน้ำล้มเหลวLiteral translation
skippedถูกข้ามStandard translation
queuedอยู่ในคิวStandard translation
scheduledมีกำหนดการStandard translation
deferredเลื่อนเวลาStandard translation

Pluralization Patterns in Thai

Thai language does not have grammatical plural forms like English. Nouns remain the same regardless of quantity. Numbers and quantifiers are used to indicate plurality.

Using Numerals with Thai

In Airflow UI and messages, numerals are typically formatted as:

  • 1 Task: 1 งาน (1 task)
  • 2 Tasks: 2 งาน (2 tasks) - noun form remains the same
  • Multiple Tasks: งานหลายงาน (multiple tasks) - using classifier "หลาย"
  • All Tasks: งานทั้งหมด (all tasks)

Quantity Indicators

  • ไม่มี (none) - 0 items
  • หนึ่ง (one) - 1 item
  • สอง (two) - 2 items
  • หลาย (multiple/several) - 3+ items
  • ทั้งหมด (all) - all items
  • บางส่วน (some) - some items

Script and Writing System

Thai Script

  1. Direction: Thai text is written from left to right (LTR) like English
  2. Script: Use Thai script (ตัวอักษรไทย) for Thai translations
  3. Mixed Content: When mixing Thai with English terms, maintain proper spacing
  4. Punctuation: Thai uses specific punctuation marks alongside standard punctuation
  5. Numbers: Arabic numerals (0-9) are commonly used in technical contexts

Example:

งาน Dag รันสำเร็จ (Dag run successful)

Translation Style Guidelines

1. Technical Terminology

Keep technical terms like Dag, XCom, Operator in English when:

  • They appear in code or configuration examples
  • No clear Thai equivalent exists
  • The term is widely used in English in the technical community
  • Transliteration would make the term less clear

2. Transliteration vs Translation

Prefer transliteration for:

  • Proper nouns and brand names (Python, Apache, GitHub)
  • Technical terms with no direct translation (Workflow, Pipeline, Plugin)

Prefer translation for:

  • Common concepts (Task = งาน, Variable = ตัวแปร, Connection = การเชื่อมต่อ)
  • UI elements (Button = ปุ่ม, Menu = เมนู, View = มุมมอง)

3. UI Labels

  • Keep UI labels concise and consistent
  • Use standard Thai technical translations where available
  • Example: "Tree View" → "มุมมองต้นไม้" or keep "Tree View"
  • For technical terms, English is often preferred for clarity

4. Verbs and Actions

  • Use polite form (รูปคำเป็นทางการ) for UI elements:
    • "Run" → "รัน" (imperative) or "ดำเนินการ" (formal)
    • "Clear" → "ล้าง" (imperative)
    • "Trigger" → "เรียก" (imperative) or "ทริกเกอร์" (transliterated)

5. Documentation

  • Use formal Thai language (ภาษาไทยรูปแบบทางการ)
  • Maintain consistency with terminology throughout
  • Provide English terms in parentheses when introducing new technical terms
  • Use appropriate honorifics and polite particles when applicable

6. Error Messages

  • Keep error messages clear and actionable
  • Include technical details in English when necessary
  • Example: "การรันงานล้มเหลว: Task instance not found"
  • Use polite but direct language for errors

Common Translation Patterns

1. "Run" Context

  • "Run Dag" → "รัน Dag" or "ดำเนินการ Dag"
  • "Dag run" (noun) → "การรัน Dag" or "Dag Run"
  • "Run ID" → "รันไอดี" or "Run ID"

2. "Task" Context

  • "Task failed" → "งานล้มเหลว"
  • "Task instance" → "Task Instance" or "อินสแตนซ์งาน"
  • "Task ID" → "Task ID" or "ไอดีงาน"

3. "Dag" Context

  • "Dag run" → "การรัน Dag" or "Dag Run"
  • "Dag ID" → "Dag ID" or "ไอดี Dag"
  • "Sub Dag" → "Dag ย่อย" or "Sub Dag"

4. Configuration

  • "Airflow Config" → "การกำหนดค่า Airflow" or "Airflow Config"
  • "Connection ID" → "Connection ID" or "ไอดีการเชื่อมต่อ"
  • "Pool name" → "Pool name" or "ชื่อพูล"

Thai Linguistic Considerations

1. Word Order

Thai follows SVO (Subject-Verb-Object) word order, similar to English:

  • English: "Task runs successfully"
  • Thai: "งานรันสำเร็จ" (Task run successful)

2. No Articles

Thai language does not use articles (a, an, the):

  • "the task" → "งาน" (task)
  • "a connection" → "การเชื่อมต่อ" (connection)

3. No Tense Inflection

Thai does not conjugate verbs for tense. Time words and context indicate when actions occur:

  • "ran" → "รันแล้ว" (ran already) or "รันไปแล้ว" (ran in the past)
  • "will run" → "จะรัน" (will run)

4. Politeness Markers

In formal documentation and UI, polite particles may be used:

  • ครับ (khrap) - for male speakers
  • ค่ะ (kha) - for female speakers

However, these are typically omitted in technical documentation to maintain conciseness. In UI text, polite particles are generally not used to maintain a gender-neutral tone.

Resources for Thai Translators

  1. Thai Technical Terms: Use established Thai computing terminology
  2. Style Guide: Follow formal Thai language conventions
  3. Glossary: Maintain consistency with previously translated Airflow content
  4. Testing: Test translations to ensure proper rendering and readability
  5. Community: Refer to Thai technical documentation communities for consistency
  6. Existing Thai Locale Files: Reference the existing Thai locale files as the authoritative terminology source for consistency with established translations

Examples

UI Label Examples

"Tree View" → "มุมมองต้นไม้" or "Tree View"
"Graph View" → "มุมมองกราฟ" or "Graph View"
"Task Instances" → "Task Instances" or "อินสแตนซ์งาน"
"Dag Runs" → "Dag Runs" or "การรัน Dag"

Message Examples

"Task failed" → "งานล้มเหลว"
"Dag run successful" → "การรัน Dag สำเร็จ"
"XCom pushed" → "ดัน XCom แล้ว" or "XCom pushed"
"Connection test failed" → "การทดสอบการเชื่อมต่อล้มเหลว"

Code Examples (Keep in English)

# Don't translate code comments unless necessary
dag = DAG("my_dag", schedule_interval="@daily")

Pluralization in gettext (for .po files)

Thai uses simple pluralization pattern with only two forms:

# Plural expression: 0
# Forms: _one, _other

msgid "%d task"
msgid_plural "%d tasks"
msgstr[0] "%d งาน"
msgstr[1] "%d งาน"

Both singular and plural forms use the same translation in Thai. The number suffix remains the same regardless of quantity. For plurality context, words like "ทั้งหมด" (all) can be used to express plurality when appropriate.

Notes

  • This document is based on analysis of existing Airflow locale files and Thai translation patterns
  • As translations evolve, update these guidelines to reflect community consensus
  • When in doubt, prefer keeping technical terms in English with Thai explanations
  • Consistency is key: use the same translation for the same term throughout the UI
  • Thai users are generally comfortable with English technical terms, so keeping terms in English is often acceptable
Referenced from SKILL.md