sekikn commented on code in PR #73784:
URL: https://github.com/apache/airflow/pull/73784#discussion_r4241894776
##########
airflow-core/src/airflow/ui/public/i18n/locales/ja/components.json:
##########
@@ -69,13 +85,15 @@
"files_other": "{{count}} 個のファイル"
},
"flexibleForm": {
+ "durationPlaceholder": "ISO 8601 形式の期間を入力してください",
"placeholder": "値を選択してください",
"placeholderArray": "各文字列を新しい行に入力してください",
"placeholderExamples": "入力を開始するとオプションが表示されます",
"placeholderMulti": "1 つまたは複数の値を選択してください",
"validationErrorArrayNotArray": "値は配列でなければなりません",
"validationErrorArrayNotNumbers": "配列内のすべての要素が数値でなければなりません",
"validationErrorArrayNotObject": "配列内のすべての要素がオブジェクトでなければなりません",
+ "validationErrorDuration": "無効な ISO 8601 期間形式",
Review Comment:
I prefer "不正な" as the translation of "invalid", because "無効な" is typically
used for "disabled".
##########
airflow-core/src/airflow/ui/public/i18n/locales/ja/components.json:
##########
@@ -104,17 +127,41 @@
"file": "ファイル",
"location": "{{name}} の {{line}} 行目"
},
+ "passwordToggle": {
+ "hide": "隠す",
+ "show": "表示する"
+ },
"reparseDag": "Dag の再パース",
+ "slowestTaskInstances": {
+ "empty": "この範囲内には、完了したタスクインスタンスはありません",
+ "title": "最も時間がかかったタスクインスタンス"
+ },
"sortedAscending": "昇順ソート",
"sortedDescending": "降順でソート",
"sortedUnsorted": "未ソート",
+ "sortMultiColumnHint": "複数列で並べ替えるには、 Shift を押しながらクリックします",
"taskTries": "タスクの試行",
+ "taskTryPlaceholder": "タスクの試行",
+ "team": {
+ "selector": {
+ "helperText": "任意:指定されたチームのみが使用できます。",
+ "label": "チーム",
+ "placeHolder": "チームを選択してください"
+ }
+ },
"toggleCardView": "カードビューを表示",
"toggleTableView": "テーブルビューを表示",
"triggerDag": {
"button": "トリガー",
+ "dataInterval": "データ範囲",
+ "dataIntervalAuto": "論理日付とスケジュールから推定する",
+ "dataIntervalManual": "手動で指定",
+ "intervalEnd": "終了",
+ "intervalStart": "開始",
"loading": "Dag 情報を読込中...",
"loadingFailed": "情報読込に失敗しました。もう一度試してください",
+ "manualRunDenied": "この Dag は手動実行が許可されていません",
+ "partitionKeyHelp": "オプション- パーティション化された Dag にのみ適用されます",
Review Comment:
Maybe we should use "任意" instead of "オプション" for consistency with the entry
above.
##########
airflow-core/src/airflow/ui/public/i18n/locales/ja/admin.json:
##########
@@ -73,12 +82,33 @@
"formActions": {
"save": "保存"
},
+ "jobs": {
+ "columns": {
+ "executorClass": "エクゼキュータクラス",
+ "hostname": "ホストネーム",
Review Comment:
"ホスト名" may be better than "ホストネーム" for consistency with "unixname (Unix 名)".
##########
airflow-core/src/airflow/ui/public/i18n/locales/ja/common.json:
##########
@@ -219,57 +399,81 @@
"up_for_retry": "再試行待ち",
"upstream_failed": "上流が失敗しました"
},
+ "switchDag": "$t(dag_one) の切替え",
"table": {
"completedAt": "完了時刻",
"createdAt": "作成時刻",
"filterByTag": "タグでフィルタします",
"filterColumns": "テーブルの列をフィルタします",
- "filterReset_one": "フィルタのリセット",
- "filterReset_other": "フィルタのリセット",
+ "filterReset_one": "フィルタ条件のリセット",
+ "filterReset_other": "フィルタ条件のリセット",
"from": "開始時間",
"maxActiveRuns": "最大アクティブ実行",
+ "noResultsFound": "検索結果が見つかりません",
"noTagsFound": "タグが見つかりません",
+ "noTeamsFound": "チームが見つかりません",
+ "ownerPlaceholder": "オーナーでフィルタします",
"tagMode": {
"all": "すべて",
"any": "いずれか"
},
"tagPlaceholder": "タグでフィルタします",
- "to": "終了時間"
+ "to": "終了時間",
+ "updatedAt": "更新日時"
},
"task": {
+ "dependsOnPast": "過去に依存する",
"documentation": "タスクドキュメント",
"lastInstance": "最終インスタンス",
"operator": "オペレータ",
- "triggerRule": "トリガールール"
+ "retries": "再試行",
+ "triggerRule": "トリガールール",
+ "waitForDownstream": "下流工程の完了を待つ"
Review Comment:
"工程" sounds verbose here. IMO it can be removed.
##########
airflow-core/src/airflow/ui/public/i18n/locales/ja/dashboard.json:
##########
@@ -1,4 +1,24 @@
{
+ "alerts": {
+ "seeLessContext": "表示を減らす",
+ "seeMoreContext": "もっと見る",
Review Comment:
"表示を増やす" would be better for symmetry with the above.
##########
airflow-core/src/airflow/ui/public/i18n/locales/ja/hitl.json:
##########
@@ -24,6 +24,20 @@
"success": "{{taskId}} の応答に成功しました",
"title": "ヒューマンタスクインスタンス - {{taskId}}"
},
+ "review": {
+ "detail": {
+ "selectRequiredAction": "詳細を表示するには必要なアクションを選択してください"
+ },
+ "list": {
+ "completedRequiredActions": "完了した必須アクション ({{count}})",
+ "loadError": "必須アクションを読み込めません",
+ "loadingActions": "必須アクションを読み込む中...",
Review Comment:
"読み込む中" is grammatically incorrect. It should be "読み込み中".
##########
airflow-core/src/airflow/ui/public/i18n/locales/ja/dags.json:
##########
@@ -83,9 +124,9 @@
"asc": "表示名で並び替え (A-Z)",
"desc": "表示名で並び替え (Z-A)"
},
- "lastRunStartDate": {
- "asc": "最新の実行開始日時で並び替え (旧-新)",
- "desc": "最新の実行開始日時で並び替え (新-旧)"
+ "lastRunAfter": {
+ "asc": "最終実行順(古いから新しい)で並べ替える",
+ "desc": "最終実行順(新しいから古い)で並べ替える"
Review Comment:
Both sides of "から" should be nouns rather than adjectives in Japanese, so it
should be "古い**もの**から新しい**もの**", or simply "旧→新".
##########
airflow-core/src/airflow/ui/public/i18n/locales/ja/common.json:
##########
@@ -183,16 +254,123 @@
},
"tooltip": "{{direction}} に動かすには {{hotkey}} を押してください"
},
+ "search": {
+ "advanced": {
+ "description": "部分文字列検索を実施します。大規模な環境では、デフォルトの B-tree
インデックスを使用できないため、処理速度が低下します。詳細については、ドキュメントのカスタムメタデータインデックススを参照してください",
+ "title": "部分一致"
+ }
+ },
"security": {
"actions": "アクション",
"permissions": "権限",
"resources": "リソース",
"roles": "ロール",
"users": "ユーザ"
},
+ "selected": "選択済み",
"selectLanguage": "言語を選択",
+ "settings": {
+ "clearing": {
+ "preventRunningTask": {
+ "helper": "タスクインスタンスを消去する際に、現在実行中のタスクをスキップする",
+ "label": "実行中のタスクの消去を防ぐ"
Review Comment:
Multiple Japanese translations are used for "clear" in this file, e.g.,
"消去", "クリア", "削除", and "リセット". We should standardize them to "クリア" unless
there's a specific reason not to, as users might assume that different
translations have different meanings.
##########
airflow-core/src/airflow/ui/public/i18n/locales/ja/admin.json:
##########
@@ -73,12 +82,33 @@
"formActions": {
"save": "保存"
},
+ "jobs": {
+ "columns": {
+ "executorClass": "エクゼキュータクラス",
+ "hostname": "ホストネーム",
+ "id": "ID",
+ "jobType": "ジョブタイプ",
+ "latestHeartbeat": "最新のハートビート",
+ "unixname": "Unix 名"
+ },
+ "filters": {
+ "allStates": "全状態",
+ "allTypes": "全タイプ",
+ "dagProcessorJob": "Dag プロセッサジョブ",
+ "schedulerJob": "スケジューラジョブ",
+ "triggererJob": "Triggerer ジョブ"
+ },
+ "job_one": "ジョブ",
+ "job_other": "ジョブ"
+ },
"plugins": {
"columns": {
"source": "ソース"
},
"importError_one": "プラグインのインポートエラー",
"importError_other": "プラグインのインポートエラー",
+ "plugin_one": "プラグイン",
+ "plugin_other": "プラグイン",
Review Comment:
We should use the English term "Plugin(s)" instead of the Japanese term
"プラグイン" to comply with [the translation
guidelines](https://github.com/apache/airflow/blob/3.3.2/.agents/skills/airflow-translations/locales/ja.md#1-core-airflow-terminology).
##########
airflow-core/src/airflow/ui/public/i18n/locales/ja/components.json:
##########
@@ -89,7 +107,12 @@
"otherDagRuns": "+その他の Dag 実行",
"taskCount_one": "{{count}} 個のタスク",
"taskCount_other": "{{count}} 個のタスク",
- "taskGroup": "タスクグループ"
+ "taskGroup": "タスクグループ",
+ "zoomToTask": "選択されたタスクにズームイン"
+ },
+ "jsonPreview": {
+ "items_one": "1 項目",
+ "items_other": "{{count}} 件項目"
Review Comment:
I don't think "件" is necessary for consistency with the entry above.
##########
airflow-core/src/airflow/ui/public/i18n/locales/ja/components.json:
##########
@@ -104,17 +127,41 @@
"file": "ファイル",
"location": "{{name}} の {{line}} 行目"
},
+ "passwordToggle": {
+ "hide": "隠す",
+ "show": "表示する"
+ },
"reparseDag": "Dag の再パース",
+ "slowestTaskInstances": {
+ "empty": "この範囲内には、完了したタスクインスタンスはありません",
+ "title": "最も時間がかかったタスクインスタンス"
+ },
"sortedAscending": "昇順ソート",
"sortedDescending": "降順でソート",
"sortedUnsorted": "未ソート",
+ "sortMultiColumnHint": "複数列で並べ替えるには、 Shift を押しながらクリックします",
"taskTries": "タスクの試行",
+ "taskTryPlaceholder": "タスクの試行",
+ "team": {
+ "selector": {
+ "helperText": "任意:指定されたチームのみが使用できます。",
+ "label": "チーム",
+ "placeHolder": "チームを選択してください"
+ }
+ },
"toggleCardView": "カードビューを表示",
"toggleTableView": "テーブルビューを表示",
"triggerDag": {
"button": "トリガー",
+ "dataInterval": "データ範囲",
+ "dataIntervalAuto": "論理日付とスケジュールから推定する",
+ "dataIntervalManual": "手動で指定",
+ "intervalEnd": "終了",
+ "intervalStart": "開始",
"loading": "Dag 情報を読込中...",
"loadingFailed": "情報読込に失敗しました。もう一度試してください",
+ "manualRunDenied": "この Dag は手動実行が許可されていません",
+ "partitionKeyHelp": "オプション- パーティション化された Dag にのみ適用されます",
"runIdHelp": "オプション- 指定しない場合自動的に生成されます",
Review Comment:
Same as above
##########
airflow-core/src/airflow/ui/public/i18n/locales/ja/dag.json:
##########
@@ -155,12 +220,36 @@
"renderedTemplates": "生成されたテンプレート",
"requiredActions": "要対応項目",
"runs": "実行",
+ "storage": "ストレージ",
"taskInstances": "タスクインスタンス",
+ "taskStateStore": "タスク状態ストア",
"tasks": "タスク",
"xcom": "XCom"
},
"taskGroups": {
"collapseAll": "タスクグループをすべて閉じる",
"expandAll": "タスクグループをすべて展開"
+ },
+ "taskStateStore": {
+ "add": "タスク状態ストアを追加する",
+ "clearAll": {
+ "resource": "すべてのタスク状態ストア",
+ "title": "すべてのタスク状態ストア消去する",
+ "warning":
"すべてのタスク状態ストアが削除されます。このストアを使用して外部ジョブを追跡しているタスクは復元できず、最初から再実行する必要があります"
+ },
+ "delete": "タスク状態ストアを消去する",
+ "deleteWarning": "このタスクでは当該の永続化データが失われます。タスクがこのキーを使用して外部の作業(外部ジョブ ID
など)を追跡している場合、その作業を復元することはできなくなります",
+ "edit": "タスク状態ストアを編集する",
+ "emptyStore": "タスク状態ストアは、再試行の間に永続化される足立が保存されます。ワーカーノードは、Task SDK
を使用してタスク状態ストアに書き込むことができます",
+ "entry_one": "項目",
+ "entry_other": "項目",
+ "expiresAt": {
+ "column": "有効期限",
+ "custom": "ユーザー定義",
+ "default": "デフォルト ({{interval}})",
+ "label": "期限切れ",
+ "never": "永遠に"
Review Comment:
"永遠に" (eternally or everlastingly) may convey the opposite of the intended
meaning here. Since this text refers to expiration, I think simply "なし" would
work better.
##########
airflow-core/src/airflow/ui/public/i18n/locales/ja/admin.json:
##########
@@ -111,7 +142,9 @@
"columns": {
"packageName": "パッケージ名",
"version": "バージョン"
- }
+ },
+ "provider_one": "プロバイダー",
+ "provider_other": "プロバイダー"
Review Comment:
We should use the English term "Provider(s)" instead of the Japanese term
"プロバイダー" to comply with [the translation
guidelines](https://github.com/apache/airflow/blob/3.3.2/.agents/skills/airflow-translations/locales/ja.md#1-core-airflow-terminology).
##########
airflow-core/src/airflow/ui/public/i18n/locales/ja/common.json:
##########
@@ -289,46 +493,78 @@
"utc": "UTC"
},
"toaster": {
+ "bulkClear": {
+ "error": "{{resourceName}} の一括リセットリクエストが失敗しました",
+ "success": {
+ "description": "{{count}} 件の {{resourceName}} リセットが完了しました。キー:
{{keys}}",
+ "title": "{{resourceName}} の一括リセットリクエストが送信されました"
+ }
+ },
"bulkDelete": {
- "error": "{{resourceName}} の一括削除が失敗しました",
+ "error": "{{resourceName}} の一括削除リクエストが失敗しました",
"success": {
- "description": "{{count}} {{resourceName}} が削除済。 キー: {{keys}}",
- "title": "{{resourceName}} 一括削除リクエストが送信済"
+ "description": "{{count}} 件の {{resourceName}} 削除が完了しました。キー: {{keys}}",
+ "title": "{{resourceName}} の一括削除リクエストが送信されました"
+ }
+ },
+ "bulkUpdate": {
+ "error": "{{resourceName}} の一括更新リクエストが失敗しました",
+ "success": {
+ "description": "{{count}} 件の {{resourceName}} 更新が完了しました。キー: {{keys}}",
+ "title": "{{resourceName}} の一括更新リクエストが送信されました"
}
},
"create": {
- "error": "{{resourceName}} の作成リクエストが失敗しました",
+ "error": "{{resourceName}} 作成リクエストが失敗しました",
"success": {
"description": "{{resourceName}} 作成が完了しました",
- "title": "{{resourceName}} 作成リクエスト送信済み"
+ "title": "{{resourceName}} 作成リクエストが送信されました"
}
},
"delete": {
"error": "{{resourceName}} 削除リクエストが失敗しました",
"success": {
- "description": "{{resourceName}} が削除済",
- "title": "{{resourceName}} の削除リクエスト送信済み"
+ "description": "{{resourceName}} 削除が完了しました",
+ "title": "{{resourceName}} 削除リクエストが送信されました"
}
},
"import": {
- "error": "{{resourceName}} のインポートに失敗しました",
+ "error": "{{resourceName}} インポートリクエストが失敗しました",
"success": {
- "description": "{{count}} {{resourceName}} のインポートが成功しました",
- "title": "{{resourceName}} インポートリクエスト送信済み"
+ "description": "{{count}} 件の {{resourceName}} インポートが完了しました",
+ "title": "{{resourceName}} インポートリクエストが送信されました"
}
},
"update": {
- "error": "{{resourceName}} の更新処理が失敗しました",
+ "error": "{{resourceName}} 更新リクエストが失敗しました",
"success": {
- "description": "{{resourceName}} の更新が成功しました",
- "title": "{{resourceName}} の更新リクエスト送信済み"
+ "description": "{{resourceName}} 更新が完了しました",
+ "title": "{{resourceName}} 更新リクエストが送信されました"
}
}
},
+ "tokenGeneration": {
+ "apiToken": "API トークン",
+ "cliToken": "CLI トークン",
+ "errorDescription": "トークンの生成中にエラーが発生しました。再試行してください",
+ "errorTitle": "トークン生成が失敗しました",
+ "generate": "生成",
+ "selectType": "生成するトークンの種類を選択してください",
+ "title": "トークンを生成する",
+ "tokenExpiresIn": "このトークは {{duration}} 後に失効します",
Review Comment:
"トーク" is missing the "ン" to correctly represent "token".
##########
airflow-core/src/airflow/ui/public/i18n/locales/ja/assets.json:
##########
@@ -25,11 +46,20 @@
},
"title": "{{name}} 用のアセットイベントを作成"
},
- "extra": "追加情報",
+ "events": "イベント",
+ "filters": {
+ "groupPlaceholder": "グループを検索",
+ "lastEventDateRange": "直近のイベントの日付"
+ },
"group": "グループ",
"lastAssetEvent": "最終アセットイベント",
"name": "名前",
"producingTasks": "タスクを生成",
"scheduledDags": "スケジュール済 Dag",
- "searchPlaceholder": "アセットを検索"
+ "scheduling": "スケジューリング",
+ "searchPlaceholder": "アセットを検索",
+ "taskDependencies": "タスク間の依存関係",
+ "watcher_one": "リスナー",
+ "watcher_other": "リスナー",
+ "watchers": "リスナー"
Review Comment:
We should use "ウォッチャー" as a transliteration of "Watcher", rather than
"リスナー", which is a transliteration of "Listener".
##########
airflow-core/src/airflow/ui/public/i18n/locales/ja/common.json:
##########
@@ -18,20 +19,31 @@
"asset_other": "アセット",
"assetEvent_one": "アセットのイベント",
"assetEvent_other": "アセットのイベント",
+ "assetInactive": {
+ "tooltip": "上流リソースが無効化されました。スケジューラは、そのリソースが再有効化されるまで、パーティションの評価を一時停止します"
+ },
"backfill_one": "過去分の再実行",
"backfill_other": "過去分の再実行",
+ "breadcrumb": "Breadcrumb",
Review Comment:
Breadcrumb is often translated as ["パンくず" or
"パンくずリスト"](https://ja.wikipedia.org/wiki/%E3%83%91%E3%83%B3%E3%81%8F%E3%81%9A%E3%83%AA%E3%82%B9%E3%83%88),
so I'd like to adopt the former here.
##########
airflow-core/src/airflow/ui/public/i18n/locales/ja/browse.json:
##########
@@ -10,12 +10,86 @@
"eventType": "イベントタイプ"
}
},
+ "dagBundles": {
+ "active": "アクティブ",
+ "columns": {
+ "active": "アクティブ",
+ "importErrors": "インポートエラー",
+ "lastRefreshed": "最終更新時刻",
+ "name": "名前",
+ "version": "バージョン"
+ },
+ "detail": {
+ "status": "ステータス"
+ },
+ "files": {
+ "columns": {
+ "file": "ファイル",
+ "lastParsed": "最終パース時刻",
+ "parseDuration": "パース時間"
+ },
+ "file_one": "ファイル",
+ "file_other": "ファイル",
+ "importErrorGone": "このインポートエラーは今後記録されません。再パースによって修正されたものと思われます",
+ "neverParsed": "一度もパースされていない",
+ "showImportError_one": "エラーを表示する",
+ "showImportError_other": "{{count}} 件のエラーを表示する"
+ },
+ "inactive": "無効化済み",
+ "neverRefreshed": "一度も更新されていない",
+ "notRefreshedYet": "まだ更新されていない",
+ "notVersioned": "バージョン管理が有効になっていない"
+ },
+ "deadlines": {
+ "columns": {
+ "alertName": "アラート名称",
Review Comment:
"アラート名" (without "称") would be better for consistency with other entries.
##########
airflow-core/src/airflow/ui/public/i18n/locales/ja/browse.json:
##########
@@ -10,12 +10,86 @@
"eventType": "イベントタイプ"
}
},
+ "dagBundles": {
+ "active": "アクティブ",
+ "columns": {
+ "active": "アクティブ",
+ "importErrors": "インポートエラー",
+ "lastRefreshed": "最終更新時刻",
+ "name": "名前",
+ "version": "バージョン"
+ },
+ "detail": {
+ "status": "ステータス"
+ },
+ "files": {
+ "columns": {
+ "file": "ファイル",
+ "lastParsed": "最終パース時刻",
+ "parseDuration": "パース時間"
+ },
+ "file_one": "ファイル",
+ "file_other": "ファイル",
+ "importErrorGone": "このインポートエラーは今後記録されません。再パースによって修正されたものと思われます",
Review Comment:
I don't think the original sentence conveys the nuance of "今後 ... されません".
Maybe "このインポートエラーはもう記録されていません" would be better?
##########
airflow-core/src/airflow/ui/public/i18n/locales/ja/dags.json:
##########
@@ -34,6 +45,11 @@
"error": "{{type}} の消去に失敗しました",
"title": "{{type}} を消去"
},
+ "clearAllMapped": {
+ "button": "マッピング済みすべてのタスクを消去する",
+ "buttonTooltip": "マッピング済みのタスクインスタンスをすべてクリアにするには shift+c を押してください",
Review Comment:
We should remove "に" from "クリアにする" because "クリアする" sounds more natural.
##########
airflow-core/src/airflow/ui/public/i18n/locales/ja/dag.json:
##########
@@ -40,17 +40,50 @@
"parseDuration": "パース時間:",
"parsedAt": "パース日時:"
},
+ "deadlineAlerts": {
+ "completionRule": "{{reference}} から {{interval}} 以内に完了する必要があります",
+ "completionRuleDynamic": "{{reference}} から測定される可変期間内に完了する必要があります",
+ "count_one": "{{count}} 件の期限",
+ "count_other": "{{count}} 件の期限",
+ "referenceType": {
+ "AverageRuntimeDeadline": "平均実行時間",
+ "DagRunLogicalDateDeadline": "論理日付",
+ "DagRunQueuedAtDeadline": "キュー登録時刻"
+ }
+ },
+ "deadlineStatus": {
+ "actual": "実際",
+ "expected": "見込み",
+ "finishedEarly": "期限の {{duration}} 前に完了",
+ "finishedLate": "期限の {{duration}} 後に完了",
+ "label": "期限",
+ "met": "達成した",
+ "missed": "過ぎた",
+ "missedCount_one": "{{count}} 件が期限切れ",
+ "missedCount_other": "{{count}} 件が期限切れ",
+ "mixedCount": "{{missedCount}} 件が期限切れになっています。 {{upcomingCount}}
件がまもなく期限期限切れになります",
Review Comment:
Duplicated "期限" should be removed.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]