This is an automated email from the ASF dual-hosted git repository.
potiuk pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow.git
The following commit(s) were added to refs/heads/main by this push:
new cb2d949af4e UI: Complete Hindi (hi) translation coverage (#70111)
cb2d949af4e is described below
commit cb2d949af4e05256870fd2fa72e1097162078ae9
Author: Deepak kumar <[email protected]>
AuthorDate: Mon Jul 20 02:02:02 2026 -0700
UI: Complete Hindi (hi) translation coverage (#70111)
Adds the missing Hindi translations so the locale reaches full coverage
against the current English source, well above the 90% completeness
threshold defined in airflow-core/src/airflow/ui/public/i18n/README.md.
Covers:
- common.json: preset filters, keyboard-shortcut help dialog, note
edit/preview/write, dagRun.partitionDate.
- admin.json: variables import parsing status.
- components.json: triggerDag partitionKeyHelp.
- dags.json: any/last run-state filters and the run-state count block.
- dashboard.json: alert see more/less toggles and pluralized count.
- hitl.json: review drawer and required-action list strings.
Also removes stale Hindi keys that were renamed or dropped on the English
side (asset_other, dagWarnings.error_other, and four keyboard-shortcut
copies in dag.json) so the locale no longer carries unused entries.
---
.../airflow/ui/public/i18n/locales/hi/admin.json | 1 +
.../airflow/ui/public/i18n/locales/hi/assets.json | 1 -
.../airflow/ui/public/i18n/locales/hi/common.json | 64 +++++++++++++++++++++-
.../ui/public/i18n/locales/hi/components.json | 2 +-
.../airflow/ui/public/i18n/locales/hi/dags.json | 7 +++
.../ui/public/i18n/locales/hi/dashboard.json | 6 ++
.../airflow/ui/public/i18n/locales/hi/hitl.json | 14 +++++
7 files changed, 92 insertions(+), 3 deletions(-)
diff --git a/airflow-core/src/airflow/ui/public/i18n/locales/hi/admin.json
b/airflow-core/src/airflow/ui/public/i18n/locales/hi/admin.json
index ef336e9012c..27d20a30af8 100644
--- a/airflow-core/src/airflow/ui/public/i18n/locales/hi/admin.json
+++ b/airflow-core/src/airflow/ui/public/i18n/locales/hi/admin.json
@@ -177,6 +177,7 @@
"title": "छोड़ें"
}
},
+ "parsingFile": "फ़ाइल पार्स हो रही है...",
"title": "वेरिएबल आयात करें",
"upload": "JSON फ़ाइल अपलोड करें",
"uploadPlaceholder": "वेरिएबल वाली JSON फ़ाइल अपलोड करें (जैसे,
{\"key\": \"value\", ...})"
diff --git a/airflow-core/src/airflow/ui/public/i18n/locales/hi/assets.json
b/airflow-core/src/airflow/ui/public/i18n/locales/hi/assets.json
index a420d463515..800ef98ca75 100644
--- a/airflow-core/src/airflow/ui/public/i18n/locales/hi/assets.json
+++ b/airflow-core/src/airflow/ui/public/i18n/locales/hi/assets.json
@@ -2,7 +2,6 @@
"additional_data": "अतिरिक्त डेटा",
"asset_many": "एसेट्स",
"asset_one": "एसेट",
- "asset_other": "एसेट्स",
"assetStateStore": {
"add": "Asset State Store जोड़ें",
"clearAll": {
diff --git a/airflow-core/src/airflow/ui/public/i18n/locales/hi/common.json
b/airflow-core/src/airflow/ui/public/i18n/locales/hi/common.json
index 9cdbfe01b57..dbbb9622385 100644
--- a/airflow-core/src/airflow/ui/public/i18n/locales/hi/common.json
+++ b/airflow-core/src/airflow/ui/public/i18n/locales/hi/common.json
@@ -72,6 +72,7 @@
"expectedDuration": "अपेक्षित अवधि",
"lastSchedulingDecision": "अंतिम शेड्यूलिंग निर्णय",
"mappedPartitionKey": "मैप्ड पार्टीशन कुंजी",
+ "partitionDate": "पार्टीशन तिथि",
"partitionKey": "पार्टीशन कुंजी",
"queuedAt": "कतार में",
"runAfter": "के बाद चलाएं",
@@ -179,9 +180,12 @@
"note": {
"add": "नोट जोड़ें",
"dagRun": "डैग रन नोट",
+ "edit": "नोट संपादित करें",
"label": "नोट",
"placeholder": "नोट जोड़ें...",
- "taskInstance": "टास्क इंस्टेंस नोट"
+ "preview": "पूर्वावलोकन",
+ "taskInstance": "टास्क इंस्टेंस नोट",
+ "write": "लिखें"
},
"overallStatus": "समग्र स्थिति",
"partitionedDagRun_one": "विभाजित Dag रन",
@@ -191,6 +195,23 @@
},
"pendingDagRun_one": "{{count}} लंबित Dag रन",
"pendingDagRun_other": "{{count}} लंबित Dag रन",
+ "presetFilters": {
+ "deleteTitle": "प्रीसेट फ़िल्टर हटाएं",
+ "deleteWarning": "प्रीसेट फ़िल्टर केवल इस ब्राउज़र में संग्रहीत होते हैं।",
+ "duplicate": "प्रीसेट फ़िल्टर \"{{name}}\" पहले से ही ठीक यही सेटअप सहेजता
है।",
+ "empty": "अभी तक कोई प्रीसेट फ़िल्टर नहीं",
+ "info": {
+ "default": "किसी प्रीसेट फ़िल्टर को डिफ़ॉल्ट के रूप में पिन करें और जब
आप बिना किसी फ़िल्टर के इस पृष्ठ पर आते हैं तो यह स्वचालित रूप से लागू हो जाता
है।",
+ "save": "वर्तमान फ़िल्टर और सॉर्टिंग को नामित प्रीसेट फ़िल्टर के रूप में
सहेजें, फिर किसी भी समय उस पर वापस स्विच करें।",
+ "storage": "प्रीसेट फ़िल्टर इस ब्राउज़र में संग्रहीत होते हैं।"
+ },
+ "namePlaceholder": "प्रीसेट फ़िल्टर का नाम",
+ "nothingToSave": "सहेजने के लिए कुछ नहीं। प्रीसेट फ़िल्टर सहेजने के लिए
फ़िल्टर या सॉर्टिंग लागू करें।",
+ "save": "सहेजें",
+ "setDefault": "डिफ़ॉल्ट के रूप में सेट करें",
+ "title": "प्रीसेट फ़िल्टर",
+ "unsetDefault": "डिफ़ॉल्ट हटाएं"
+ },
"reset": "रीसेट करें",
"runId": "रन ID",
"runTypes": {
@@ -222,6 +243,47 @@
},
"selectLanguage": "भाषा चुनें",
"selected": "चयनित",
+ "shortcuts": {
+ "categories": {
+ "code": "कोड",
+ "dagView": "डैग व्यू",
+ "filters": "फ़िल्टर्स",
+ "global": "वैश्विक",
+ "logs": "लॉग्स",
+ "navigation": "नेविगेशन",
+ "runActions": "रन और टास्क क्रियाएं",
+ "search": "खोज"
+ },
+ "descriptions": {
+ "clearRun": "$t(dagRun_one) साफ़ करें",
+ "clearTaskInstance": "$t(taskInstance_one) साफ़ करें",
+ "downloadLogs": "लॉग्स डाउनलोड करें",
+ "focusFilterSearch": "फ़िल्टर खोज पर फ़ोकस करें",
+ "focusLogSearch": "लॉग्स खोजें",
+ "focusSearch": "खोज पर फ़ोकस करें",
+ "markRunFailed": "$t(dagRun_one) को विफल के रूप में चिह्नित करें",
+ "markRunSuccess": "$t(dagRun_one) को सफल के रूप में चिह्नित करें",
+ "markTaskFailed": "$t(task_one) को विफल के रूप में चिह्नित करें",
+ "markTaskGroupFailed": "$t(taskGroup_one) को विफल के रूप में चिह्नित
करें",
+ "markTaskGroupSuccess": "$t(taskGroup_one) को सफल के रूप में चिह्नित
करें",
+ "markTaskSuccess": "$t(task_one) को सफल के रूप में चिह्नित करें",
+ "navigateTasks": "$t(task_other) पर नेविगेट करें",
+ "openGraphFilters": "ग्राफ़ फ़िल्टर खोलें",
+ "scrollBottom": "नीचे तक स्क्रॉल करें",
+ "scrollTop": "ऊपर तक स्क्रॉल करें",
+ "searchDags": "$t(dag_other) खोजें",
+ "showHelp": "$t(shortcuts.title) दिखाएं",
+ "toggleExpand": "सभी ग्रुप्स को विस्तृत या संकुचित करें",
+ "toggleFullscreen": "फ़ुलस्क्रीन टॉगल करें",
+ "toggleGraphGrid": "ग्राफ़ / ग्रिड व्यू टॉगल करें",
+ "toggleSource": "स्रोत टॉगल करें",
+ "toggleTaskGroup": "$t(taskGroup_one) को विस्तृत या संकुचित करें",
+ "toggleTimestamp": "टाइमस्टैम्प टॉगल करें",
+ "toggleWrap": "$t(wrap.wrap) टॉगल करें"
+ },
+ "empty": "इस पेज पर कोई कीबोर्ड शॉर्टकट उपलब्ध नहीं है।",
+ "title": "कीबोर्ड शॉर्टकट"
+ },
"showDetailsPanel": "विवरण पैनल दिखाएं",
"signedInAs": "के रूप में लॉग इन",
"source": {
diff --git a/airflow-core/src/airflow/ui/public/i18n/locales/hi/components.json
b/airflow-core/src/airflow/ui/public/i18n/locales/hi/components.json
index 62a97d86bbe..52469fd505b 100644
--- a/airflow-core/src/airflow/ui/public/i18n/locales/hi/components.json
+++ b/airflow-core/src/airflow/ui/public/i18n/locales/hi/components.json
@@ -48,7 +48,6 @@
},
"dagWarnings": {
"error_one": "1 त्रुटि",
- "error_other": "{{count}} त्रुटियां",
"errorAndWarning": "1 त्रुटि और {{warningText}}",
"warning_one": "1 चेतावनी",
"warning_other": "{{count}} चेतावनियां"
@@ -138,6 +137,7 @@
"loading": "डैग जानकारी लोड हो रही है...",
"loadingFailed": "डैग जानकारी लोड करने में विफल। कृपया पुनः प्रयास करें।",
"manualRunDenied": "इस Dag के लिए मैनुअल रन की अनुमति नहीं है",
+ "partitionKeyHelp": "वैकल्पिक - केवल विभाजित Dags पर लागू होता है",
"runIdHelp": "वैकल्पिक - प्रदान न किए जाने पर जेनरेट किया जाएगा",
"selectDescription": "इस डैग का एक रन ट्रिगर करें",
"selectLabel": "सिंगल रन",
diff --git a/airflow-core/src/airflow/ui/public/i18n/locales/hi/dags.json
b/airflow-core/src/airflow/ui/public/i18n/locales/hi/dags.json
index 31ec698ce7f..b1766dfa899 100644
--- a/airflow-core/src/airflow/ui/public/i18n/locales/hi/dags.json
+++ b/airflow-core/src/airflow/ui/public/i18n/locales/hi/dags.json
@@ -10,11 +10,13 @@
"filters": {
"allRunTypes": "सभी रन प्रकार",
"allStates": "सभी स्थितियां",
+ "anyRunState": "कोई भी रन",
"favorite": {
"all": "सभी",
"favorite": "पसंदीदा",
"unfavorite": "गैर-पसंदीदा"
},
+ "lastRunState": "अंतिम रन",
"paused": {
"active": "सक्रिय",
"all": "सभी",
@@ -76,6 +78,11 @@
"upstream": "अपस्ट्रीम"
}
},
+ "runStateCounts": {
+ "label": "रन स्थितियां",
+ "loading": "रन स्थिति गणना लोड हो रही है",
+ "tooltip": "{{state}}: {{formattedCount}} — रन फ़िल्टर करने के लिए क्लिक
करें"
+ },
"search": {
"advanced": "उन्नत खोज",
"clear": "खोज साफ करें",
diff --git a/airflow-core/src/airflow/ui/public/i18n/locales/hi/dashboard.json
b/airflow-core/src/airflow/ui/public/i18n/locales/hi/dashboard.json
index a7eb567ce32..29262fe4769 100644
--- a/airflow-core/src/airflow/ui/public/i18n/locales/hi/dashboard.json
+++ b/airflow-core/src/airflow/ui/public/i18n/locales/hi/dashboard.json
@@ -1,4 +1,10 @@
{
+ "alerts": {
+ "seeLessContext": "कम दिखाएं",
+ "seeMoreContext": "अधिक दिखाएं",
+ "showMoreAlerts_one": "+{{count}} और अलर्ट",
+ "showMoreAlerts_other": "+{{count}} और अलर्ट्स"
+ },
"deadlines": {
"pending": {
"empty": "कोई आगामी डेडलाइन नहीं",
diff --git a/airflow-core/src/airflow/ui/public/i18n/locales/hi/hitl.json
b/airflow-core/src/airflow/ui/public/i18n/locales/hi/hitl.json
index 4da331ddfa9..7080bd0faea 100644
--- a/airflow-core/src/airflow/ui/public/i18n/locales/hi/hitl.json
+++ b/airflow-core/src/airflow/ui/public/i18n/locales/hi/hitl.json
@@ -24,6 +24,20 @@
"success": "{{taskId}} प्रतिक्रिया सफल",
"title": "मानव टास्क इंस्टेंस - {{taskId}}"
},
+ "review": {
+ "detail": {
+ "selectRequiredAction": "विवरण देखने के लिए एक आवश्यक क्रिया चुनें"
+ },
+ "list": {
+ "completedRequiredActions": "पूर्ण की गई आवश्यक क्रियाएं ({{count}})",
+ "loadError": "आवश्यक क्रियाएं लोड करने में असमर्थ",
+ "loadingActions": "आवश्यक क्रियाएं लोड हो रही हैं...",
+ "pendingRequiredActions": "लंबित आवश्यक क्रियाएं ({{count}})"
+ },
+ "openReviewDrawer": "समीक्षा ड्रॉअर खोलें",
+ "pageLimitHint": "यहाँ केवल पहली कुछ क्रियाएं दिखाई गई हैं। सभी देखने के
लिए \"$t(review.viewAll)\" का उपयोग करें।",
+ "viewAll": "सभी आवश्यक क्रियाएं देखें"
+ },
"state": {
"approvalReceived": "स्वीकृति प्राप्त",
"approvalRequired": "स्वीकृति आवश्यक",