From c6d4b8a7f563ef29d74d5089c16f5077514f1702 Mon Sep 17 00:00:00 2001 From: Fortytwo Date: Wed, 17 Sep 2025 18:37:01 +0800 Subject: [PATCH 1/3] feat(i18n): Add Chinese (zh-CN) internationalization support This commit adds Simplified Chinese (zh-CN) internationalization support to Airflow UI. The changes include: - Added complete Simplified Chinese translation files - Updated i18n configuration to include zh-CN locale - Updated translation completeness check script - Updated CODEOWNERS for zh-CN translations - Optimized translations for better user experience - Unified terminology for consistency (e.g. backfill, login) - Updated DAG/DAGs capitalization according to #55099 Co-authored-by: @gyli --- .../ui/public/i18n/locales/zh-CN/admin.json | 304 +++++++++--------- .../ui/public/i18n/locales/zh-CN/common.json | 19 +- .../ui/public/i18n/locales/zh-CN/dag.json | 5 +- .../ui/public/i18n/locales/zh-CN/dags.json | 2 +- .../public/i18n/locales/zh-CN/dashboard.json | 4 +- .../ui/public/i18n/locales/zh-CN/hitl.json | 9 +- 6 files changed, 180 insertions(+), 163 deletions(-) diff --git a/airflow-core/src/airflow/ui/public/i18n/locales/zh-CN/admin.json b/airflow-core/src/airflow/ui/public/i18n/locales/zh-CN/admin.json index b0adebfe4b92c..ba0d2516ea9a2 100644 --- a/airflow-core/src/airflow/ui/public/i18n/locales/zh-CN/admin.json +++ b/airflow-core/src/airflow/ui/public/i18n/locales/zh-CN/admin.json @@ -1,166 +1,166 @@ { - "columns": { - "description": "描述", - "key": "键", - "name": "名称", - "value": "值" - }, - "config": { "columns": { - "section": "段落" - }, - "title": "Airflow 配置" - }, - "connections": { - "add": "添加连接", - "columns": { - "connectionId": "连接 ID", - "connectionType": "连接类型", - "host": "主机", - "port": "端口" - }, - "connection_one": "连接", - "connection_other": "连接", - "delete": { - "deleteConnection_one": "删除 1 个连接", - "deleteConnection_other": "删除 {{count}} 个连接", - "firstConfirmMessage_one": "您即将删除以下连接:", - "firstConfirmMessage_other": "您即将删除以下连接:", - "title": "删除连接" - }, - "edit": "编辑连接", - "form": { - "connectionIdRequired": "连接 ID 是必填的", - "connectionIdRequirement": "连接 ID 不能只包含空格", - "connectionTypeRequired": "连接类型是必填的", - "extraFields": "额外字段", - "extraFieldsJson": "额外字段 JSON", - "helperText": "找不到连接类型?请确保您已安装对应的 Airflow Providers 套件。", - "helperTextForRedactedFields": "已遮蔽的字段 ('***') 若未修改,将保持不变。", - "selectConnectionType": "选择连接类型", - "standardFields": "标准字段" + "description": "描述", + "key": "键", + "name": "名称", + "value": "值" }, - "nothingFound": { - "description": "通过环境变量或密钥管理器定义的连接不会列在此处。", - "documentationLink": "在 Airflow 文件中了解更多。", - "learnMore": "这些连接会在执行时解析,不会在 UI 显示。", - "title": "找不到连接" + "config": { + "columns": { + "section": "段落" + }, + "title": "Airflow 配置" }, - "searchPlaceholder": "搜索连接", - "test": "测试连接", - "testDisabled": "测试连接功能已停用。请联系管理员以启用。", - "typeMeta": { - "error": "获取连接类型元数据失败", - "standardFields": { - "description": "描述", - "host": "主机", - "login": "登录", - "password": "密码", - "port": "端口", - "url_schema": "Schema" + "connections": { + "add": "添加连接", + "columns": { + "connectionId": "连接 ID", + "connectionType": "连接类型", + "host": "主机地址", + "port": "端口" + }, + "connection_one": "连接", + "connection_other": "连接", + "delete": { + "deleteConnection_one": "删除 1 个连接", + "deleteConnection_other": "删除 {{count}} 个连接", + "firstConfirmMessage_one": "您即将删除以下连接:", + "firstConfirmMessage_other": "您即将删除以下连接:", + "title": "删除连接" + }, + "edit": "编辑连接", + "form": { + "connectionIdRequired": "连接 ID 是必填的", + "connectionIdRequirement": "连接 ID 不能只包含空格", + "connectionTypeRequired": "连接类型是必填的", + "extraFields": "额外字段", + "extraFieldsJson": "额外字段 JSON", + "helperText": "找不到连接类型?请确保您已安装对应的 Airflow Providers 套件。", + "helperTextForRedactedFields": "已遮蔽的字段 ('***') 若未修改,将保持不变。", + "selectConnectionType": "选择连接类型", + "standardFields": "标准字段" + }, + "nothingFound": { + "description": "通过环境变量或密钥管理器定义的连接不会列在此处。", + "documentationLink": "在 Airflow 文件中了解更多。", + "learnMore": "这些连接会在执行时解析,不会在 UI 显示。", + "title": "找不到连接" + }, + "searchPlaceholder": "搜索连接", + "test": "测试连接", + "testDisabled": "测试连接功能已停用。请联系管理员以启用。", + "typeMeta": { + "error": "获取连接类型元数据失败", + "standardFields": { + "description": "描述", + "host": "主机地址", + "login": "登录", + "password": "密码", + "port": "端口", + "url_schema": "Schema" + } } - } - }, - "deleteActions": { - "button": "删除", - "modal": { - "confirmButton": "确定删除", - "secondConfirmMessage": "此操作无法恢复。", - "thirdConfirmMessage": "您确定要继续吗?" }, - "selected": "已选择", - "tooltip": "删除所选连接" - }, - "formActions": { - "save": "保存" - }, - "plugins": { - "columns": { - "source": "来源" - }, - "importError_one": "插件导入错误", - "importError_other": "插件导入错误", - "searchPlaceholder": "搜索文件" - }, - "pools": { - "add": "新增资源池", - "deferredSlotsIncluded": "包含延迟任务", - "delete": { - "title": "删除资源池", - "warning": "这将删除所有与此资源池相关的系统数据,可能会影响使用此资源池的任务。" + "deleteActions": { + "button": "删除", + "modal": { + "confirmButton": "确定删除", + "secondConfirmMessage": "此操作无法恢复。", + "thirdConfirmMessage": "您确定要继续吗?" + }, + "selected": "已选择", + "tooltip": "删除所选连接" }, - "edit": "编辑资源池", - "form": { - "checkbox": "计算可用资源池配额时,将包含延迟的任务", - "description": "描述", - "includeDeferred": "包含延迟任务", - "nameMaxLength": "名称最多只能包含 256 个字符", - "nameRequired": "名称是必填的", - "slots": "配额" + "formActions": { + "save": "保存" }, - "noPoolsFound": "找不到资源池", - "pool_one": "资源池", - "pool_other": "资源池", - "searchPlaceholder": "搜索资源池", - "sort": { - "asc": "名称 (A-Z)", - "desc": "名称 (Z-A)", - "placeholder": "排序方式" - } - }, - "providers": { - "columns": { - "packageName": "插件名称", - "version": "版本" - } - }, - "variables": { - "add": "新增变量", - "columns": { - "isEncrypted": "是否加密" + "plugins": { + "columns": { + "source": "来源" + }, + "importError_one": "插件导入错误", + "importError_other": "插件导入错误", + "searchPlaceholder": "搜索文件" }, - "delete": { - "deleteVariable_one": "删除 1 个变量", - "deleteVariable_other": "删除 {{count}} 个变量", - "firstConfirmMessage_one": "您即将删除以下变量:", - "firstConfirmMessage_other": "您即将删除以下变量:", - "title": "删除变量", - "tooltip": "删除所选变量" + "pools": { + "add": "新增资源池", + "deferredSlotsIncluded": "包含延迟任务", + "delete": { + "title": "删除资源池", + "warning": "这将删除所有与此资源池相关的系统数据,可能会影响使用此资源池的任务。" + }, + "edit": "编辑资源池", + "form": { + "checkbox": "计算可用资源池配额时,将包含延迟的任务", + "description": "描述", + "includeDeferred": "包含延迟任务", + "nameMaxLength": "名称最多只能包含 256 个字符", + "nameRequired": "名称是必填的", + "slots": "配额" + }, + "noPoolsFound": "找不到资源池", + "pool_one": "资源池", + "pool_other": "资源池", + "searchPlaceholder": "搜索资源池", + "sort": { + "asc": "名称 (A-Z)", + "desc": "名称 (Z-A)", + "placeholder": "排序方式" + } }, - "edit": "编辑变量", - "export": "导出", - "exportTooltip": "导出所选变量", - "form": { - "invalidJson": "无效的 JSON", - "keyMaxLength": "键最多只能包含 250 个字符", - "keyRequired": "键是必填的", - "valueRequired": "值是必填的" + "providers": { + "columns": { + "packageName": "插件名称", + "version": "版本" + } }, - "import": { - "button": "导入", - "conflictResolution": "选择变量冲突解决方式", - "errorParsingJsonFile": "解析 JSON 文件时发生错误:请上传包含变量的 JSON 文件 (例如:{\"key\": \"value\", ...})。", - "options": { - "fail": { - "description": "如果检测到任何已存在的变量,则导入失败。", - "title": "失败" - }, - "overwrite": { - "description": "发生冲突时覆盖变量。", - "title": "覆盖" + "variables": { + "add": "新增变量", + "columns": { + "isEncrypted": "是否加密" + }, + "delete": { + "deleteVariable_one": "删除 1 个变量", + "deleteVariable_other": "删除 {{count}} 个变量", + "firstConfirmMessage_one": "您即将删除以下变量:", + "firstConfirmMessage_other": "您即将删除以下变量:", + "title": "删除变量", + "tooltip": "删除所选变量" + }, + "edit": "编辑变量", + "export": "导出", + "exportTooltip": "导出所选变量", + "form": { + "invalidJson": "无效的 JSON", + "keyMaxLength": "键最多只能包含 250 个字符", + "keyRequired": "键是必填的", + "valueRequired": "值是必填的" + }, + "import": { + "button": "导入", + "conflictResolution": "选择变量冲突解决方式", + "errorParsingJsonFile": "解析 JSON 文件时发生错误:请上传包含变量的 JSON 文件 (例如:{\"key\": \"value\", ...})。", + "options": { + "fail": { + "description": "如果检测到任何已存在的变量,则导入失败。", + "title": "严格模式" + }, + "overwrite": { + "description": "发生冲突时覆盖变量。", + "title": "覆盖模式" + }, + "skip": { + "description": "忽略导入已存在的变量。", + "title": "非严格模式" + } }, - "skip": { - "description": "忽略导入已存在的变量。", - "title": "跳过" - } + "title": "导入变量", + "upload": "上传 JSON 文件", + "uploadPlaceholder": "上传包含变量的 JSON 文件 (例如:{\"key\": \"value\", ...})" }, - "title": "导入变量", - "upload": "上传 JSON 文件", - "uploadPlaceholder": "上传包含变量的 JSON 文件 (例如:{\"key\": \"value\", ...})" - }, - "noRowsMessage": "找不到变量", - "searchPlaceholder": "搜索键", - "variable_one": "变量", - "variable_other": "变量" + "noRowsMessage": "找不到变量", + "searchPlaceholder": "搜索键", + "variable_one": "变量", + "variable_other": "变量" + } } -} diff --git a/airflow-core/src/airflow/ui/public/i18n/locales/zh-CN/common.json b/airflow-core/src/airflow/ui/public/i18n/locales/zh-CN/common.json index 9000a39b3bf41..abe3b9ea43d11 100644 --- a/airflow-core/src/airflow/ui/public/i18n/locales/zh-CN/common.json +++ b/airflow-core/src/airflow/ui/public/i18n/locales/zh-CN/common.json @@ -8,6 +8,12 @@ "Variables": "变量" }, "allOperators": "全部操作器", + "appearance": { + "appearance": "外观", + "darkMode": "深色模式", + "lightMode": "浅色模式", + "systemMode": "跟随系统设置" + }, "asset_one": "资源", "asset_other": "资源", "assetEvent_one": "资源事件", @@ -34,6 +40,7 @@ "hasTaskConcurrencyLimits": "有任务并发数限制", "lastExpired": "最后过期时间", "lastParsed": "最后解析时间", + "lastParseDuration": "最后解析耗时", "latestDagVersion": "最新 Dag 版本", "latestRun": "上次 Dag 执行", "maxActiveRuns": "活跃执行数上限", @@ -93,6 +100,12 @@ "or": "或" }, "filter": "筛选", + "filters": { + "logicalDateFrom": "逻辑日期起始", + "logicalDateTo": "逻辑结束日期", + "runAfterFrom": "执行时间起始", + "runAfterTo": "执行时间结束" + }, "logicalDate": "逻辑日期", "logout": "退出登录", "logoutConfirmation": "确定要退出登录吗?", @@ -184,8 +197,6 @@ "up_for_retry": "等待重试", "upstream_failed": "上游任务失败" }, - "switchToDarkMode": "切换到深色模式", - "switchToLightMode": "切换到浅色模式", "table": { "completedAt": "完成时间", "createdAt": "创建时间", @@ -193,7 +204,7 @@ "filterColumns": "筛选表格列", "filterReset_one": "重置筛选", "filterReset_other": "重置筛选", - "from": "从", + "from": "开始时间", "maxActiveRuns": "最大活跃执行数", "noTagsFound": "找不到标签", "tagMode": { @@ -201,7 +212,7 @@ "any": "任何" }, "tagPlaceholder": "按标签筛选", - "to": "到" + "to": "结束时间" }, "task": { "documentation": "任务文档", diff --git a/airflow-core/src/airflow/ui/public/i18n/locales/zh-CN/dag.json b/airflow-core/src/airflow/ui/public/i18n/locales/zh-CN/dag.json index 100cdc41be5c2..40587ff1fa757 100644 --- a/airflow-core/src/airflow/ui/public/i18n/locales/zh-CN/dag.json +++ b/airflow-core/src/airflow/ui/public/i18n/locales/zh-CN/dag.json @@ -35,7 +35,8 @@ "code": { "bundleUrl": "套件包链接", "noCode": "找不到代码", - "parsedAt": "解析时间:" + "parsedAt": "解析时间:", + "parseDuration": "解析耗时:" }, "extraLinks": "额外链接", "grid": { @@ -84,6 +85,8 @@ "assetEvent_other": "已创建资源事件" }, "failedLogs": { + "hideLogs": "隐藏日志", + "showLogs": "显示日志", "title": "最近失败任务的日志", "viewFullLogs": "查看完整日志" } diff --git a/airflow-core/src/airflow/ui/public/i18n/locales/zh-CN/dags.json b/airflow-core/src/airflow/ui/public/i18n/locales/zh-CN/dags.json index b4537e28e6900..b8e4f0929d4e0 100644 --- a/airflow-core/src/airflow/ui/public/i18n/locales/zh-CN/dags.json +++ b/airflow-core/src/airflow/ui/public/i18n/locales/zh-CN/dags.json @@ -16,7 +16,7 @@ "unfavorite": "未加入收藏" }, "paused": { - "active": "启用中", + "active": "已启用", "all": "全部", "paused": "暂停" }, diff --git a/airflow-core/src/airflow/ui/public/i18n/locales/zh-CN/dashboard.json b/airflow-core/src/airflow/ui/public/i18n/locales/zh-CN/dashboard.json index cf81101235354..89022de3eb740 100644 --- a/airflow-core/src/airflow/ui/public/i18n/locales/zh-CN/dashboard.json +++ b/airflow-core/src/airflow/ui/public/i18n/locales/zh-CN/dashboard.json @@ -33,10 +33,10 @@ }, "source": "来源", "stats": { - "activeDags": "启用中的 Dags", + "activeDags": "已启用的 Dags", "failedDags": "失败的 Dags", "queuedDags": "排队的 Dags", - "requiredActions": "待响应的任务实例", + "requiredActions": "待操作的任务实例", "runningDags": "执行中的 Dags", "stats": "统计" }, diff --git a/airflow-core/src/airflow/ui/public/i18n/locales/zh-CN/hitl.json b/airflow-core/src/airflow/ui/public/i18n/locales/zh-CN/hitl.json index ef0d75ecba824..12a7ebed06e8a 100644 --- a/airflow-core/src/airflow/ui/public/i18n/locales/zh-CN/hitl.json +++ b/airflow-core/src/airflow/ui/public/i18n/locales/zh-CN/hitl.json @@ -6,9 +6,11 @@ "received": "已响应" } }, - "requiredAction_one": "待响应的任务实例", - "requiredAction_other": "待响应的任务实例", - "requiredActionState": "待响应的任务实例状态", + "requiredAction_one": "待操作的任务实例", +"requiredAction_other": "待操作的任务实例", + "requiredActionCount_one": "待操作的任务实例 ({{count}})", + "requiredActionCount_other": "待操作的任务实例 ({{count}})", +"requiredActionState": "待操作的任务实例状态", "response": { "error": "响应失败", "optionsDescription": "请为此任务实例选择一个选项", @@ -23,6 +25,7 @@ "approvalRequired": "需要批准", "choiceReceived": "已选择", "choiceRequired": "需要选择", + "noResponseReceived": "未收到响应", "rejectionReceived": "已拒绝", "responseReceived": "已响应", "responseRequired": "需要响应" From e8db656efa6faccd7adbb89ffe357ed987144367 Mon Sep 17 00:00:00 2001 From: Kaxil Naik Date: Fri, 19 Sep 2025 14:37:41 +0100 Subject: [PATCH 2/3] Apply suggestions from code review --- .../src/airflow/ui/public/i18n/locales/zh-CN/hitl.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/airflow-core/src/airflow/ui/public/i18n/locales/zh-CN/hitl.json b/airflow-core/src/airflow/ui/public/i18n/locales/zh-CN/hitl.json index 12a7ebed06e8a..0c4cc910c60a4 100644 --- a/airflow-core/src/airflow/ui/public/i18n/locales/zh-CN/hitl.json +++ b/airflow-core/src/airflow/ui/public/i18n/locales/zh-CN/hitl.json @@ -7,10 +7,10 @@ } }, "requiredAction_one": "待操作的任务实例", -"requiredAction_other": "待操作的任务实例", + "requiredAction_other": "待操作的任务实例", "requiredActionCount_one": "待操作的任务实例 ({{count}})", "requiredActionCount_other": "待操作的任务实例 ({{count}})", -"requiredActionState": "待操作的任务实例状态", + "requiredActionState": "待操作的任务实例状态", "response": { "error": "响应失败", "optionsDescription": "请为此任务实例选择一个选项", From be515c4a95105c24031d78ae936950de006b7385 Mon Sep 17 00:00:00 2001 From: Kaxil Naik Date: Fri, 19 Sep 2025 15:10:11 +0100 Subject: [PATCH 3/3] fixup! Apply suggestions from code review --- .../ui/public/i18n/locales/zh-CN/admin.json | 302 +++++++++--------- .../ui/public/i18n/locales/zh-CN/common.json | 2 +- .../ui/public/i18n/locales/zh-CN/dag.json | 4 +- 3 files changed, 154 insertions(+), 154 deletions(-) diff --git a/airflow-core/src/airflow/ui/public/i18n/locales/zh-CN/admin.json b/airflow-core/src/airflow/ui/public/i18n/locales/zh-CN/admin.json index ba0d2516ea9a2..c8853ac873caf 100644 --- a/airflow-core/src/airflow/ui/public/i18n/locales/zh-CN/admin.json +++ b/airflow-core/src/airflow/ui/public/i18n/locales/zh-CN/admin.json @@ -1,166 +1,166 @@ { + "columns": { + "description": "描述", + "key": "键", + "name": "名称", + "value": "值" + }, + "config": { "columns": { - "description": "描述", - "key": "键", - "name": "名称", - "value": "值" + "section": "段落" }, - "config": { - "columns": { - "section": "段落" - }, - "title": "Airflow 配置" + "title": "Airflow 配置" + }, + "connections": { + "add": "添加连接", + "columns": { + "connectionId": "连接 ID", + "connectionType": "连接类型", + "host": "主机地址", + "port": "端口" + }, + "connection_one": "连接", + "connection_other": "连接", + "delete": { + "deleteConnection_one": "删除 1 个连接", + "deleteConnection_other": "删除 {{count}} 个连接", + "firstConfirmMessage_one": "您即将删除以下连接:", + "firstConfirmMessage_other": "您即将删除以下连接:", + "title": "删除连接" + }, + "edit": "编辑连接", + "form": { + "connectionIdRequired": "连接 ID 是必填的", + "connectionIdRequirement": "连接 ID 不能只包含空格", + "connectionTypeRequired": "连接类型是必填的", + "extraFields": "额外字段", + "extraFieldsJson": "额外字段 JSON", + "helperText": "找不到连接类型?请确保您已安装对应的 Airflow Providers 套件。", + "helperTextForRedactedFields": "已遮蔽的字段 ('***') 若未修改,将保持不变。", + "selectConnectionType": "选择连接类型", + "standardFields": "标准字段" }, - "connections": { - "add": "添加连接", - "columns": { - "connectionId": "连接 ID", - "connectionType": "连接类型", + "nothingFound": { + "description": "通过环境变量或密钥管理器定义的连接不会列在此处。", + "documentationLink": "在 Airflow 文件中了解更多。", + "learnMore": "这些连接会在执行时解析,不会在 UI 显示。", + "title": "找不到连接" + }, + "searchPlaceholder": "搜索连接", + "test": "测试连接", + "testDisabled": "测试连接功能已停用。请联系管理员以启用。", + "typeMeta": { + "error": "获取连接类型元数据失败", + "standardFields": { + "description": "描述", "host": "主机地址", - "port": "端口" - }, - "connection_one": "连接", - "connection_other": "连接", - "delete": { - "deleteConnection_one": "删除 1 个连接", - "deleteConnection_other": "删除 {{count}} 个连接", - "firstConfirmMessage_one": "您即将删除以下连接:", - "firstConfirmMessage_other": "您即将删除以下连接:", - "title": "删除连接" - }, - "edit": "编辑连接", - "form": { - "connectionIdRequired": "连接 ID 是必填的", - "connectionIdRequirement": "连接 ID 不能只包含空格", - "connectionTypeRequired": "连接类型是必填的", - "extraFields": "额外字段", - "extraFieldsJson": "额外字段 JSON", - "helperText": "找不到连接类型?请确保您已安装对应的 Airflow Providers 套件。", - "helperTextForRedactedFields": "已遮蔽的字段 ('***') 若未修改,将保持不变。", - "selectConnectionType": "选择连接类型", - "standardFields": "标准字段" - }, - "nothingFound": { - "description": "通过环境变量或密钥管理器定义的连接不会列在此处。", - "documentationLink": "在 Airflow 文件中了解更多。", - "learnMore": "这些连接会在执行时解析,不会在 UI 显示。", - "title": "找不到连接" - }, - "searchPlaceholder": "搜索连接", - "test": "测试连接", - "testDisabled": "测试连接功能已停用。请联系管理员以启用。", - "typeMeta": { - "error": "获取连接类型元数据失败", - "standardFields": { - "description": "描述", - "host": "主机地址", - "login": "登录", - "password": "密码", - "port": "端口", - "url_schema": "Schema" - } + "login": "登录", + "password": "密码", + "port": "端口", + "url_schema": "Schema" } + } + }, + "deleteActions": { + "button": "删除", + "modal": { + "confirmButton": "确定删除", + "secondConfirmMessage": "此操作无法恢复。", + "thirdConfirmMessage": "您确定要继续吗?" }, - "deleteActions": { - "button": "删除", - "modal": { - "confirmButton": "确定删除", - "secondConfirmMessage": "此操作无法恢复。", - "thirdConfirmMessage": "您确定要继续吗?" - }, - "selected": "已选择", - "tooltip": "删除所选连接" + "selected": "已选择", + "tooltip": "删除所选连接" + }, + "formActions": { + "save": "保存" + }, + "plugins": { + "columns": { + "source": "来源" }, - "formActions": { - "save": "保存" + "importError_one": "插件导入错误", + "importError_other": "插件导入错误", + "searchPlaceholder": "搜索文件" + }, + "pools": { + "add": "新增资源池", + "deferredSlotsIncluded": "包含延迟任务", + "delete": { + "title": "删除资源池", + "warning": "这将删除所有与此资源池相关的系统数据,可能会影响使用此资源池的任务。" }, - "plugins": { - "columns": { - "source": "来源" - }, - "importError_one": "插件导入错误", - "importError_other": "插件导入错误", - "searchPlaceholder": "搜索文件" + "edit": "编辑资源池", + "form": { + "checkbox": "计算可用资源池配额时,将包含延迟的任务", + "description": "描述", + "includeDeferred": "包含延迟任务", + "nameMaxLength": "名称最多只能包含 256 个字符", + "nameRequired": "名称是必填的", + "slots": "配额" }, - "pools": { - "add": "新增资源池", - "deferredSlotsIncluded": "包含延迟任务", - "delete": { - "title": "删除资源池", - "warning": "这将删除所有与此资源池相关的系统数据,可能会影响使用此资源池的任务。" - }, - "edit": "编辑资源池", - "form": { - "checkbox": "计算可用资源池配额时,将包含延迟的任务", - "description": "描述", - "includeDeferred": "包含延迟任务", - "nameMaxLength": "名称最多只能包含 256 个字符", - "nameRequired": "名称是必填的", - "slots": "配额" - }, - "noPoolsFound": "找不到资源池", - "pool_one": "资源池", - "pool_other": "资源池", - "searchPlaceholder": "搜索资源池", - "sort": { - "asc": "名称 (A-Z)", - "desc": "名称 (Z-A)", - "placeholder": "排序方式" - } + "noPoolsFound": "找不到资源池", + "pool_one": "资源池", + "pool_other": "资源池", + "searchPlaceholder": "搜索资源池", + "sort": { + "asc": "名称 (A-Z)", + "desc": "名称 (Z-A)", + "placeholder": "排序方式" + } + }, + "providers": { + "columns": { + "packageName": "插件名称", + "version": "版本" + } + }, + "variables": { + "add": "新增变量", + "columns": { + "isEncrypted": "是否加密" }, - "providers": { - "columns": { - "packageName": "插件名称", - "version": "版本" - } + "delete": { + "deleteVariable_one": "删除 1 个变量", + "deleteVariable_other": "删除 {{count}} 个变量", + "firstConfirmMessage_one": "您即将删除以下变量:", + "firstConfirmMessage_other": "您即将删除以下变量:", + "title": "删除变量", + "tooltip": "删除所选变量" }, - "variables": { - "add": "新增变量", - "columns": { - "isEncrypted": "是否加密" - }, - "delete": { - "deleteVariable_one": "删除 1 个变量", - "deleteVariable_other": "删除 {{count}} 个变量", - "firstConfirmMessage_one": "您即将删除以下变量:", - "firstConfirmMessage_other": "您即将删除以下变量:", - "title": "删除变量", - "tooltip": "删除所选变量" - }, - "edit": "编辑变量", - "export": "导出", - "exportTooltip": "导出所选变量", - "form": { - "invalidJson": "无效的 JSON", - "keyMaxLength": "键最多只能包含 250 个字符", - "keyRequired": "键是必填的", - "valueRequired": "值是必填的" - }, - "import": { - "button": "导入", - "conflictResolution": "选择变量冲突解决方式", - "errorParsingJsonFile": "解析 JSON 文件时发生错误:请上传包含变量的 JSON 文件 (例如:{\"key\": \"value\", ...})。", - "options": { - "fail": { - "description": "如果检测到任何已存在的变量,则导入失败。", - "title": "严格模式" - }, - "overwrite": { - "description": "发生冲突时覆盖变量。", - "title": "覆盖模式" - }, - "skip": { - "description": "忽略导入已存在的变量。", - "title": "非严格模式" - } + "edit": "编辑变量", + "export": "导出", + "exportTooltip": "导出所选变量", + "form": { + "invalidJson": "无效的 JSON", + "keyMaxLength": "键最多只能包含 250 个字符", + "keyRequired": "键是必填的", + "valueRequired": "值是必填的" + }, + "import": { + "button": "导入", + "conflictResolution": "选择变量冲突解决方式", + "errorParsingJsonFile": "解析 JSON 文件时发生错误:请上传包含变量的 JSON 文件 (例如:{\"key\": \"value\", ...})。", + "options": { + "fail": { + "description": "如果检测到任何已存在的变量,则导入失败。", + "title": "严格模式" }, - "title": "导入变量", - "upload": "上传 JSON 文件", - "uploadPlaceholder": "上传包含变量的 JSON 文件 (例如:{\"key\": \"value\", ...})" + "overwrite": { + "description": "发生冲突时覆盖变量。", + "title": "覆盖模式" + }, + "skip": { + "description": "忽略导入已存在的变量。", + "title": "非严格模式" + } }, - "noRowsMessage": "找不到变量", - "searchPlaceholder": "搜索键", - "variable_one": "变量", - "variable_other": "变量" - } + "title": "导入变量", + "upload": "上传 JSON 文件", + "uploadPlaceholder": "上传包含变量的 JSON 文件 (例如:{\"key\": \"value\", ...})" + }, + "noRowsMessage": "找不到变量", + "searchPlaceholder": "搜索键", + "variable_one": "变量", + "variable_other": "变量" } +} diff --git a/airflow-core/src/airflow/ui/public/i18n/locales/zh-CN/common.json b/airflow-core/src/airflow/ui/public/i18n/locales/zh-CN/common.json index abe3b9ea43d11..2f5d89306914e 100644 --- a/airflow-core/src/airflow/ui/public/i18n/locales/zh-CN/common.json +++ b/airflow-core/src/airflow/ui/public/i18n/locales/zh-CN/common.json @@ -39,8 +39,8 @@ "fileLocation": "文件位置", "hasTaskConcurrencyLimits": "有任务并发数限制", "lastExpired": "最后过期时间", - "lastParsed": "最后解析时间", "lastParseDuration": "最后解析耗时", + "lastParsed": "最后解析时间", "latestDagVersion": "最新 Dag 版本", "latestRun": "上次 Dag 执行", "maxActiveRuns": "活跃执行数上限", diff --git a/airflow-core/src/airflow/ui/public/i18n/locales/zh-CN/dag.json b/airflow-core/src/airflow/ui/public/i18n/locales/zh-CN/dag.json index 40587ff1fa757..6f9a498f7a2c2 100644 --- a/airflow-core/src/airflow/ui/public/i18n/locales/zh-CN/dag.json +++ b/airflow-core/src/airflow/ui/public/i18n/locales/zh-CN/dag.json @@ -35,8 +35,8 @@ "code": { "bundleUrl": "套件包链接", "noCode": "找不到代码", - "parsedAt": "解析时间:", - "parseDuration": "解析耗时:" + "parseDuration": "解析耗时:", + "parsedAt": "解析时间:" }, "extraLinks": "额外链接", "grid": {