truthound-dashboard 1.3.1__py3-none-any.whl → 1.4.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- truthound_dashboard/api/alerts.py +258 -0
- truthound_dashboard/api/anomaly.py +1302 -0
- truthound_dashboard/api/cross_alerts.py +352 -0
- truthound_dashboard/api/deps.py +143 -0
- truthound_dashboard/api/drift_monitor.py +540 -0
- truthound_dashboard/api/lineage.py +1151 -0
- truthound_dashboard/api/maintenance.py +363 -0
- truthound_dashboard/api/middleware.py +373 -1
- truthound_dashboard/api/model_monitoring.py +805 -0
- truthound_dashboard/api/notifications_advanced.py +2452 -0
- truthound_dashboard/api/plugins.py +2096 -0
- truthound_dashboard/api/profile.py +211 -14
- truthound_dashboard/api/reports.py +853 -0
- truthound_dashboard/api/router.py +147 -0
- truthound_dashboard/api/rule_suggestions.py +310 -0
- truthound_dashboard/api/schema_evolution.py +231 -0
- truthound_dashboard/api/sources.py +47 -3
- truthound_dashboard/api/triggers.py +190 -0
- truthound_dashboard/api/validations.py +13 -0
- truthound_dashboard/api/validators.py +333 -4
- truthound_dashboard/api/versioning.py +309 -0
- truthound_dashboard/api/websocket.py +301 -0
- truthound_dashboard/core/__init__.py +27 -0
- truthound_dashboard/core/anomaly.py +1395 -0
- truthound_dashboard/core/anomaly_explainer.py +633 -0
- truthound_dashboard/core/cache.py +206 -0
- truthound_dashboard/core/cached_services.py +422 -0
- truthound_dashboard/core/charts.py +352 -0
- truthound_dashboard/core/connections.py +1069 -42
- truthound_dashboard/core/cross_alerts.py +837 -0
- truthound_dashboard/core/drift_monitor.py +1477 -0
- truthound_dashboard/core/drift_sampling.py +669 -0
- truthound_dashboard/core/i18n/__init__.py +42 -0
- truthound_dashboard/core/i18n/detector.py +173 -0
- truthound_dashboard/core/i18n/messages.py +564 -0
- truthound_dashboard/core/lineage.py +971 -0
- truthound_dashboard/core/maintenance.py +443 -5
- truthound_dashboard/core/model_monitoring.py +1043 -0
- truthound_dashboard/core/notifications/channels.py +1020 -1
- truthound_dashboard/core/notifications/deduplication/__init__.py +143 -0
- truthound_dashboard/core/notifications/deduplication/policies.py +274 -0
- truthound_dashboard/core/notifications/deduplication/service.py +400 -0
- truthound_dashboard/core/notifications/deduplication/stores.py +2365 -0
- truthound_dashboard/core/notifications/deduplication/strategies.py +422 -0
- truthound_dashboard/core/notifications/dispatcher.py +43 -0
- truthound_dashboard/core/notifications/escalation/__init__.py +149 -0
- truthound_dashboard/core/notifications/escalation/backends.py +1384 -0
- truthound_dashboard/core/notifications/escalation/engine.py +429 -0
- truthound_dashboard/core/notifications/escalation/models.py +336 -0
- truthound_dashboard/core/notifications/escalation/scheduler.py +1187 -0
- truthound_dashboard/core/notifications/escalation/state_machine.py +330 -0
- truthound_dashboard/core/notifications/escalation/stores.py +2896 -0
- truthound_dashboard/core/notifications/events.py +49 -0
- truthound_dashboard/core/notifications/metrics/__init__.py +115 -0
- truthound_dashboard/core/notifications/metrics/base.py +528 -0
- truthound_dashboard/core/notifications/metrics/collectors.py +583 -0
- truthound_dashboard/core/notifications/routing/__init__.py +169 -0
- truthound_dashboard/core/notifications/routing/combinators.py +184 -0
- truthound_dashboard/core/notifications/routing/config.py +375 -0
- truthound_dashboard/core/notifications/routing/config_parser.py +867 -0
- truthound_dashboard/core/notifications/routing/engine.py +382 -0
- truthound_dashboard/core/notifications/routing/expression_engine.py +1269 -0
- truthound_dashboard/core/notifications/routing/jinja2_engine.py +774 -0
- truthound_dashboard/core/notifications/routing/rules.py +625 -0
- truthound_dashboard/core/notifications/routing/validator.py +678 -0
- truthound_dashboard/core/notifications/service.py +2 -0
- truthound_dashboard/core/notifications/stats_aggregator.py +850 -0
- truthound_dashboard/core/notifications/throttling/__init__.py +83 -0
- truthound_dashboard/core/notifications/throttling/builder.py +311 -0
- truthound_dashboard/core/notifications/throttling/stores.py +1859 -0
- truthound_dashboard/core/notifications/throttling/throttlers.py +633 -0
- truthound_dashboard/core/openlineage.py +1028 -0
- truthound_dashboard/core/plugins/__init__.py +39 -0
- truthound_dashboard/core/plugins/docs/__init__.py +39 -0
- truthound_dashboard/core/plugins/docs/extractor.py +703 -0
- truthound_dashboard/core/plugins/docs/renderers.py +804 -0
- truthound_dashboard/core/plugins/hooks/__init__.py +63 -0
- truthound_dashboard/core/plugins/hooks/decorators.py +367 -0
- truthound_dashboard/core/plugins/hooks/manager.py +403 -0
- truthound_dashboard/core/plugins/hooks/protocols.py +265 -0
- truthound_dashboard/core/plugins/lifecycle/__init__.py +41 -0
- truthound_dashboard/core/plugins/lifecycle/hot_reload.py +584 -0
- truthound_dashboard/core/plugins/lifecycle/machine.py +419 -0
- truthound_dashboard/core/plugins/lifecycle/states.py +266 -0
- truthound_dashboard/core/plugins/loader.py +504 -0
- truthound_dashboard/core/plugins/registry.py +810 -0
- truthound_dashboard/core/plugins/reporter_executor.py +588 -0
- truthound_dashboard/core/plugins/sandbox/__init__.py +59 -0
- truthound_dashboard/core/plugins/sandbox/code_validator.py +243 -0
- truthound_dashboard/core/plugins/sandbox/engines.py +770 -0
- truthound_dashboard/core/plugins/sandbox/protocols.py +194 -0
- truthound_dashboard/core/plugins/sandbox.py +617 -0
- truthound_dashboard/core/plugins/security/__init__.py +68 -0
- truthound_dashboard/core/plugins/security/analyzer.py +535 -0
- truthound_dashboard/core/plugins/security/policies.py +311 -0
- truthound_dashboard/core/plugins/security/protocols.py +296 -0
- truthound_dashboard/core/plugins/security/signing.py +842 -0
- truthound_dashboard/core/plugins/security.py +446 -0
- truthound_dashboard/core/plugins/validator_executor.py +401 -0
- truthound_dashboard/core/plugins/versioning/__init__.py +51 -0
- truthound_dashboard/core/plugins/versioning/constraints.py +377 -0
- truthound_dashboard/core/plugins/versioning/dependencies.py +541 -0
- truthound_dashboard/core/plugins/versioning/semver.py +266 -0
- truthound_dashboard/core/profile_comparison.py +601 -0
- truthound_dashboard/core/report_history.py +570 -0
- truthound_dashboard/core/reporters/__init__.py +57 -0
- truthound_dashboard/core/reporters/base.py +296 -0
- truthound_dashboard/core/reporters/csv_reporter.py +155 -0
- truthound_dashboard/core/reporters/html_reporter.py +598 -0
- truthound_dashboard/core/reporters/i18n/__init__.py +65 -0
- truthound_dashboard/core/reporters/i18n/base.py +494 -0
- truthound_dashboard/core/reporters/i18n/catalogs.py +930 -0
- truthound_dashboard/core/reporters/json_reporter.py +160 -0
- truthound_dashboard/core/reporters/junit_reporter.py +233 -0
- truthound_dashboard/core/reporters/markdown_reporter.py +207 -0
- truthound_dashboard/core/reporters/pdf_reporter.py +209 -0
- truthound_dashboard/core/reporters/registry.py +272 -0
- truthound_dashboard/core/rule_generator.py +2088 -0
- truthound_dashboard/core/scheduler.py +822 -12
- truthound_dashboard/core/schema_evolution.py +858 -0
- truthound_dashboard/core/services.py +152 -9
- truthound_dashboard/core/statistics.py +718 -0
- truthound_dashboard/core/streaming_anomaly.py +883 -0
- truthound_dashboard/core/triggers/__init__.py +45 -0
- truthound_dashboard/core/triggers/base.py +226 -0
- truthound_dashboard/core/triggers/evaluators.py +609 -0
- truthound_dashboard/core/triggers/factory.py +363 -0
- truthound_dashboard/core/unified_alerts.py +870 -0
- truthound_dashboard/core/validation_limits.py +509 -0
- truthound_dashboard/core/versioning.py +709 -0
- truthound_dashboard/core/websocket/__init__.py +59 -0
- truthound_dashboard/core/websocket/manager.py +512 -0
- truthound_dashboard/core/websocket/messages.py +130 -0
- truthound_dashboard/db/__init__.py +30 -0
- truthound_dashboard/db/models.py +3375 -3
- truthound_dashboard/main.py +22 -0
- truthound_dashboard/schemas/__init__.py +396 -1
- truthound_dashboard/schemas/anomaly.py +1258 -0
- truthound_dashboard/schemas/base.py +4 -0
- truthound_dashboard/schemas/cross_alerts.py +334 -0
- truthound_dashboard/schemas/drift_monitor.py +890 -0
- truthound_dashboard/schemas/lineage.py +428 -0
- truthound_dashboard/schemas/maintenance.py +154 -0
- truthound_dashboard/schemas/model_monitoring.py +374 -0
- truthound_dashboard/schemas/notifications_advanced.py +1363 -0
- truthound_dashboard/schemas/openlineage.py +704 -0
- truthound_dashboard/schemas/plugins.py +1293 -0
- truthound_dashboard/schemas/profile.py +420 -34
- truthound_dashboard/schemas/profile_comparison.py +242 -0
- truthound_dashboard/schemas/reports.py +285 -0
- truthound_dashboard/schemas/rule_suggestion.py +434 -0
- truthound_dashboard/schemas/schema_evolution.py +164 -0
- truthound_dashboard/schemas/source.py +117 -2
- truthound_dashboard/schemas/triggers.py +511 -0
- truthound_dashboard/schemas/unified_alerts.py +223 -0
- truthound_dashboard/schemas/validation.py +25 -1
- truthound_dashboard/schemas/validators/__init__.py +11 -0
- truthound_dashboard/schemas/validators/base.py +151 -0
- truthound_dashboard/schemas/versioning.py +152 -0
- truthound_dashboard/static/index.html +2 -2
- {truthound_dashboard-1.3.1.dist-info → truthound_dashboard-1.4.0.dist-info}/METADATA +142 -22
- truthound_dashboard-1.4.0.dist-info/RECORD +239 -0
- truthound_dashboard/static/assets/index-BZG20KuF.js +0 -586
- truthound_dashboard/static/assets/index-D_HyZ3pb.css +0 -1
- truthound_dashboard/static/assets/unmerged_dictionaries-CtpqQBm0.js +0 -1
- truthound_dashboard-1.3.1.dist-info/RECORD +0 -110
- {truthound_dashboard-1.3.1.dist-info → truthound_dashboard-1.4.0.dist-info}/WHEEL +0 -0
- {truthound_dashboard-1.3.1.dist-info → truthound_dashboard-1.4.0.dist-info}/entry_points.txt +0 -0
- {truthound_dashboard-1.3.1.dist-info → truthound_dashboard-1.4.0.dist-info}/licenses/LICENSE +0 -0
|
@@ -0,0 +1,930 @@
|
|
|
1
|
+
"""Message catalogs for report localization.
|
|
2
|
+
|
|
3
|
+
This module contains pre-defined message catalogs for all supported locales.
|
|
4
|
+
Each catalog contains all translatable strings used in report generation.
|
|
5
|
+
|
|
6
|
+
Message keys follow a hierarchical naming convention:
|
|
7
|
+
- report.*: General report elements
|
|
8
|
+
- summary.*: Summary section
|
|
9
|
+
- statistics.*: Statistics section
|
|
10
|
+
- issues.*: Issues section
|
|
11
|
+
- severity.*: Severity levels
|
|
12
|
+
- status.*: Validation status
|
|
13
|
+
- common.*: Common UI elements
|
|
14
|
+
"""
|
|
15
|
+
|
|
16
|
+
from .base import LocaleCatalog, SupportedLocale
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
# ============================================================================
|
|
20
|
+
# English (Base/Fallback)
|
|
21
|
+
# ============================================================================
|
|
22
|
+
ENGLISH_CATALOG = LocaleCatalog(
|
|
23
|
+
locale=SupportedLocale.ENGLISH,
|
|
24
|
+
messages={
|
|
25
|
+
# Report structure
|
|
26
|
+
"report.title": "Validation Report",
|
|
27
|
+
"report.generated_at": "Generated at",
|
|
28
|
+
"report.source": "Source",
|
|
29
|
+
"report.validation_id": "Validation ID",
|
|
30
|
+
"report.generated_by": "Generated by Truthound Dashboard",
|
|
31
|
+
|
|
32
|
+
# Summary section
|
|
33
|
+
"summary.title": "Validation Summary",
|
|
34
|
+
"summary.status": "Status",
|
|
35
|
+
"summary.total_issues": "Total Issues",
|
|
36
|
+
"summary.pass_rate": "Pass Rate",
|
|
37
|
+
|
|
38
|
+
# Statistics section
|
|
39
|
+
"statistics.title": "Data Statistics",
|
|
40
|
+
"statistics.row_count": "Row Count",
|
|
41
|
+
"statistics.column_count": "Column Count",
|
|
42
|
+
"statistics.duration": "Duration",
|
|
43
|
+
"statistics.started_at": "Started At",
|
|
44
|
+
"statistics.completed_at": "Completed At",
|
|
45
|
+
"statistics.na": "N/A",
|
|
46
|
+
|
|
47
|
+
# Issues section
|
|
48
|
+
"issues.title": "Issues",
|
|
49
|
+
"issues.no_issues": "No issues found. All validations passed.",
|
|
50
|
+
"issues.column": "Column",
|
|
51
|
+
"issues.type": "Issue Type",
|
|
52
|
+
"issues.severity": "Severity",
|
|
53
|
+
"issues.count": "Count",
|
|
54
|
+
"issues.details": "Details",
|
|
55
|
+
"issues.samples": "Sample Values",
|
|
56
|
+
|
|
57
|
+
# Severity levels
|
|
58
|
+
"severity.critical": "Critical",
|
|
59
|
+
"severity.high": "High",
|
|
60
|
+
"severity.medium": "Medium",
|
|
61
|
+
"severity.low": "Low",
|
|
62
|
+
"severity.info": "Info",
|
|
63
|
+
|
|
64
|
+
# Status indicators
|
|
65
|
+
"status.passed": "Passed",
|
|
66
|
+
"status.failed": "Failed",
|
|
67
|
+
"status.pending": "Pending",
|
|
68
|
+
"status.running": "Running",
|
|
69
|
+
|
|
70
|
+
# Plurals (using .one/.other pattern)
|
|
71
|
+
"issues.count.one": "{count} issue",
|
|
72
|
+
"issues.count.other": "{count} issues",
|
|
73
|
+
"rows.count.one": "{count} row",
|
|
74
|
+
"rows.count.other": "{count} rows",
|
|
75
|
+
|
|
76
|
+
# Time units
|
|
77
|
+
"time.seconds": "{value}s",
|
|
78
|
+
"time.milliseconds": "{value}ms",
|
|
79
|
+
|
|
80
|
+
# Common elements
|
|
81
|
+
"common.yes": "Yes",
|
|
82
|
+
"common.no": "No",
|
|
83
|
+
"common.true": "True",
|
|
84
|
+
"common.false": "False",
|
|
85
|
+
},
|
|
86
|
+
)
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
# ============================================================================
|
|
90
|
+
# Korean
|
|
91
|
+
# ============================================================================
|
|
92
|
+
KOREAN_CATALOG = LocaleCatalog(
|
|
93
|
+
locale=SupportedLocale.KOREAN,
|
|
94
|
+
messages={
|
|
95
|
+
# Report structure
|
|
96
|
+
"report.title": "검증 리포트",
|
|
97
|
+
"report.generated_at": "생성 시간",
|
|
98
|
+
"report.source": "데이터 소스",
|
|
99
|
+
"report.validation_id": "검증 ID",
|
|
100
|
+
"report.generated_by": "Truthound Dashboard에서 생성됨",
|
|
101
|
+
|
|
102
|
+
# Summary section
|
|
103
|
+
"summary.title": "검증 요약",
|
|
104
|
+
"summary.status": "상태",
|
|
105
|
+
"summary.total_issues": "총 이슈 수",
|
|
106
|
+
"summary.pass_rate": "통과율",
|
|
107
|
+
|
|
108
|
+
# Statistics section
|
|
109
|
+
"statistics.title": "데이터 통계",
|
|
110
|
+
"statistics.row_count": "행 수",
|
|
111
|
+
"statistics.column_count": "열 수",
|
|
112
|
+
"statistics.duration": "소요 시간",
|
|
113
|
+
"statistics.started_at": "시작 시간",
|
|
114
|
+
"statistics.completed_at": "완료 시간",
|
|
115
|
+
"statistics.na": "해당 없음",
|
|
116
|
+
|
|
117
|
+
# Issues section
|
|
118
|
+
"issues.title": "이슈 목록",
|
|
119
|
+
"issues.no_issues": "이슈가 없습니다. 모든 검증을 통과했습니다.",
|
|
120
|
+
"issues.column": "컬럼",
|
|
121
|
+
"issues.type": "이슈 유형",
|
|
122
|
+
"issues.severity": "심각도",
|
|
123
|
+
"issues.count": "개수",
|
|
124
|
+
"issues.details": "상세 내용",
|
|
125
|
+
"issues.samples": "샘플 값",
|
|
126
|
+
|
|
127
|
+
# Severity levels
|
|
128
|
+
"severity.critical": "심각",
|
|
129
|
+
"severity.high": "높음",
|
|
130
|
+
"severity.medium": "보통",
|
|
131
|
+
"severity.low": "낮음",
|
|
132
|
+
"severity.info": "정보",
|
|
133
|
+
|
|
134
|
+
# Status indicators
|
|
135
|
+
"status.passed": "통과",
|
|
136
|
+
"status.failed": "실패",
|
|
137
|
+
"status.pending": "대기 중",
|
|
138
|
+
"status.running": "실행 중",
|
|
139
|
+
|
|
140
|
+
# Plurals
|
|
141
|
+
"issues.count.one": "{count}개 이슈",
|
|
142
|
+
"issues.count.other": "{count}개 이슈",
|
|
143
|
+
"rows.count.one": "{count}개 행",
|
|
144
|
+
"rows.count.other": "{count}개 행",
|
|
145
|
+
|
|
146
|
+
# Time units
|
|
147
|
+
"time.seconds": "{value}초",
|
|
148
|
+
"time.milliseconds": "{value}밀리초",
|
|
149
|
+
|
|
150
|
+
# Common elements
|
|
151
|
+
"common.yes": "예",
|
|
152
|
+
"common.no": "아니오",
|
|
153
|
+
"common.true": "참",
|
|
154
|
+
"common.false": "거짓",
|
|
155
|
+
},
|
|
156
|
+
)
|
|
157
|
+
|
|
158
|
+
|
|
159
|
+
# ============================================================================
|
|
160
|
+
# Japanese
|
|
161
|
+
# ============================================================================
|
|
162
|
+
JAPANESE_CATALOG = LocaleCatalog(
|
|
163
|
+
locale=SupportedLocale.JAPANESE,
|
|
164
|
+
messages={
|
|
165
|
+
# Report structure
|
|
166
|
+
"report.title": "検証レポート",
|
|
167
|
+
"report.generated_at": "生成日時",
|
|
168
|
+
"report.source": "データソース",
|
|
169
|
+
"report.validation_id": "検証ID",
|
|
170
|
+
"report.generated_by": "Truthound Dashboardで生成",
|
|
171
|
+
|
|
172
|
+
# Summary section
|
|
173
|
+
"summary.title": "検証サマリー",
|
|
174
|
+
"summary.status": "ステータス",
|
|
175
|
+
"summary.total_issues": "総イシュー数",
|
|
176
|
+
"summary.pass_rate": "合格率",
|
|
177
|
+
|
|
178
|
+
# Statistics section
|
|
179
|
+
"statistics.title": "データ統計",
|
|
180
|
+
"statistics.row_count": "行数",
|
|
181
|
+
"statistics.column_count": "列数",
|
|
182
|
+
"statistics.duration": "所要時間",
|
|
183
|
+
"statistics.started_at": "開始時刻",
|
|
184
|
+
"statistics.completed_at": "完了時刻",
|
|
185
|
+
"statistics.na": "該当なし",
|
|
186
|
+
|
|
187
|
+
# Issues section
|
|
188
|
+
"issues.title": "イシュー一覧",
|
|
189
|
+
"issues.no_issues": "イシューはありません。すべての検証に合格しました。",
|
|
190
|
+
"issues.column": "カラム",
|
|
191
|
+
"issues.type": "イシュータイプ",
|
|
192
|
+
"issues.severity": "重要度",
|
|
193
|
+
"issues.count": "件数",
|
|
194
|
+
"issues.details": "詳細",
|
|
195
|
+
"issues.samples": "サンプル値",
|
|
196
|
+
|
|
197
|
+
# Severity levels
|
|
198
|
+
"severity.critical": "致命的",
|
|
199
|
+
"severity.high": "高",
|
|
200
|
+
"severity.medium": "中",
|
|
201
|
+
"severity.low": "低",
|
|
202
|
+
"severity.info": "情報",
|
|
203
|
+
|
|
204
|
+
# Status indicators
|
|
205
|
+
"status.passed": "合格",
|
|
206
|
+
"status.failed": "不合格",
|
|
207
|
+
"status.pending": "保留中",
|
|
208
|
+
"status.running": "実行中",
|
|
209
|
+
|
|
210
|
+
# Plurals
|
|
211
|
+
"issues.count.one": "{count}件のイシュー",
|
|
212
|
+
"issues.count.other": "{count}件のイシュー",
|
|
213
|
+
"rows.count.one": "{count}行",
|
|
214
|
+
"rows.count.other": "{count}行",
|
|
215
|
+
|
|
216
|
+
# Time units
|
|
217
|
+
"time.seconds": "{value}秒",
|
|
218
|
+
"time.milliseconds": "{value}ミリ秒",
|
|
219
|
+
|
|
220
|
+
# Common elements
|
|
221
|
+
"common.yes": "はい",
|
|
222
|
+
"common.no": "いいえ",
|
|
223
|
+
"common.true": "真",
|
|
224
|
+
"common.false": "偽",
|
|
225
|
+
},
|
|
226
|
+
)
|
|
227
|
+
|
|
228
|
+
|
|
229
|
+
# ============================================================================
|
|
230
|
+
# Chinese (Simplified)
|
|
231
|
+
# ============================================================================
|
|
232
|
+
CHINESE_CATALOG = LocaleCatalog(
|
|
233
|
+
locale=SupportedLocale.CHINESE,
|
|
234
|
+
messages={
|
|
235
|
+
# Report structure
|
|
236
|
+
"report.title": "验证报告",
|
|
237
|
+
"report.generated_at": "生成时间",
|
|
238
|
+
"report.source": "数据源",
|
|
239
|
+
"report.validation_id": "验证ID",
|
|
240
|
+
"report.generated_by": "由Truthound Dashboard生成",
|
|
241
|
+
|
|
242
|
+
# Summary section
|
|
243
|
+
"summary.title": "验证摘要",
|
|
244
|
+
"summary.status": "状态",
|
|
245
|
+
"summary.total_issues": "问题总数",
|
|
246
|
+
"summary.pass_rate": "通过率",
|
|
247
|
+
|
|
248
|
+
# Statistics section
|
|
249
|
+
"statistics.title": "数据统计",
|
|
250
|
+
"statistics.row_count": "行数",
|
|
251
|
+
"statistics.column_count": "列数",
|
|
252
|
+
"statistics.duration": "耗时",
|
|
253
|
+
"statistics.started_at": "开始时间",
|
|
254
|
+
"statistics.completed_at": "完成时间",
|
|
255
|
+
"statistics.na": "不适用",
|
|
256
|
+
|
|
257
|
+
# Issues section
|
|
258
|
+
"issues.title": "问题列表",
|
|
259
|
+
"issues.no_issues": "未发现问题。所有验证均已通过。",
|
|
260
|
+
"issues.column": "列",
|
|
261
|
+
"issues.type": "问题类型",
|
|
262
|
+
"issues.severity": "严重程度",
|
|
263
|
+
"issues.count": "数量",
|
|
264
|
+
"issues.details": "详情",
|
|
265
|
+
"issues.samples": "示例值",
|
|
266
|
+
|
|
267
|
+
# Severity levels
|
|
268
|
+
"severity.critical": "严重",
|
|
269
|
+
"severity.high": "高",
|
|
270
|
+
"severity.medium": "中",
|
|
271
|
+
"severity.low": "低",
|
|
272
|
+
"severity.info": "信息",
|
|
273
|
+
|
|
274
|
+
# Status indicators
|
|
275
|
+
"status.passed": "通过",
|
|
276
|
+
"status.failed": "失败",
|
|
277
|
+
"status.pending": "待处理",
|
|
278
|
+
"status.running": "运行中",
|
|
279
|
+
|
|
280
|
+
# Plurals
|
|
281
|
+
"issues.count.one": "{count}个问题",
|
|
282
|
+
"issues.count.other": "{count}个问题",
|
|
283
|
+
"rows.count.one": "{count}行",
|
|
284
|
+
"rows.count.other": "{count}行",
|
|
285
|
+
|
|
286
|
+
# Time units
|
|
287
|
+
"time.seconds": "{value}秒",
|
|
288
|
+
"time.milliseconds": "{value}毫秒",
|
|
289
|
+
|
|
290
|
+
# Common elements
|
|
291
|
+
"common.yes": "是",
|
|
292
|
+
"common.no": "否",
|
|
293
|
+
"common.true": "真",
|
|
294
|
+
"common.false": "假",
|
|
295
|
+
},
|
|
296
|
+
)
|
|
297
|
+
|
|
298
|
+
|
|
299
|
+
# ============================================================================
|
|
300
|
+
# German
|
|
301
|
+
# ============================================================================
|
|
302
|
+
GERMAN_CATALOG = LocaleCatalog(
|
|
303
|
+
locale=SupportedLocale.GERMAN,
|
|
304
|
+
messages={
|
|
305
|
+
# Report structure
|
|
306
|
+
"report.title": "Validierungsbericht",
|
|
307
|
+
"report.generated_at": "Erstellt am",
|
|
308
|
+
"report.source": "Datenquelle",
|
|
309
|
+
"report.validation_id": "Validierungs-ID",
|
|
310
|
+
"report.generated_by": "Erstellt von Truthound Dashboard",
|
|
311
|
+
|
|
312
|
+
# Summary section
|
|
313
|
+
"summary.title": "Validierungszusammenfassung",
|
|
314
|
+
"summary.status": "Status",
|
|
315
|
+
"summary.total_issues": "Gesamtanzahl Probleme",
|
|
316
|
+
"summary.pass_rate": "Erfolgsrate",
|
|
317
|
+
|
|
318
|
+
# Statistics section
|
|
319
|
+
"statistics.title": "Datenstatistik",
|
|
320
|
+
"statistics.row_count": "Zeilenanzahl",
|
|
321
|
+
"statistics.column_count": "Spaltenanzahl",
|
|
322
|
+
"statistics.duration": "Dauer",
|
|
323
|
+
"statistics.started_at": "Gestartet um",
|
|
324
|
+
"statistics.completed_at": "Abgeschlossen um",
|
|
325
|
+
"statistics.na": "Nicht verfügbar",
|
|
326
|
+
|
|
327
|
+
# Issues section
|
|
328
|
+
"issues.title": "Probleme",
|
|
329
|
+
"issues.no_issues": "Keine Probleme gefunden. Alle Validierungen bestanden.",
|
|
330
|
+
"issues.column": "Spalte",
|
|
331
|
+
"issues.type": "Problemtyp",
|
|
332
|
+
"issues.severity": "Schweregrad",
|
|
333
|
+
"issues.count": "Anzahl",
|
|
334
|
+
"issues.details": "Details",
|
|
335
|
+
"issues.samples": "Beispielwerte",
|
|
336
|
+
|
|
337
|
+
# Severity levels
|
|
338
|
+
"severity.critical": "Kritisch",
|
|
339
|
+
"severity.high": "Hoch",
|
|
340
|
+
"severity.medium": "Mittel",
|
|
341
|
+
"severity.low": "Niedrig",
|
|
342
|
+
"severity.info": "Info",
|
|
343
|
+
|
|
344
|
+
# Status indicators
|
|
345
|
+
"status.passed": "Bestanden",
|
|
346
|
+
"status.failed": "Fehlgeschlagen",
|
|
347
|
+
"status.pending": "Ausstehend",
|
|
348
|
+
"status.running": "Läuft",
|
|
349
|
+
|
|
350
|
+
# Plurals
|
|
351
|
+
"issues.count.one": "{count} Problem",
|
|
352
|
+
"issues.count.other": "{count} Probleme",
|
|
353
|
+
"rows.count.one": "{count} Zeile",
|
|
354
|
+
"rows.count.other": "{count} Zeilen",
|
|
355
|
+
|
|
356
|
+
# Time units
|
|
357
|
+
"time.seconds": "{value}s",
|
|
358
|
+
"time.milliseconds": "{value}ms",
|
|
359
|
+
|
|
360
|
+
# Common elements
|
|
361
|
+
"common.yes": "Ja",
|
|
362
|
+
"common.no": "Nein",
|
|
363
|
+
"common.true": "Wahr",
|
|
364
|
+
"common.false": "Falsch",
|
|
365
|
+
},
|
|
366
|
+
)
|
|
367
|
+
|
|
368
|
+
|
|
369
|
+
# ============================================================================
|
|
370
|
+
# French
|
|
371
|
+
# ============================================================================
|
|
372
|
+
FRENCH_CATALOG = LocaleCatalog(
|
|
373
|
+
locale=SupportedLocale.FRENCH,
|
|
374
|
+
messages={
|
|
375
|
+
# Report structure
|
|
376
|
+
"report.title": "Rapport de Validation",
|
|
377
|
+
"report.generated_at": "Généré le",
|
|
378
|
+
"report.source": "Source de données",
|
|
379
|
+
"report.validation_id": "ID de validation",
|
|
380
|
+
"report.generated_by": "Généré par Truthound Dashboard",
|
|
381
|
+
|
|
382
|
+
# Summary section
|
|
383
|
+
"summary.title": "Résumé de la Validation",
|
|
384
|
+
"summary.status": "Statut",
|
|
385
|
+
"summary.total_issues": "Total des problèmes",
|
|
386
|
+
"summary.pass_rate": "Taux de réussite",
|
|
387
|
+
|
|
388
|
+
# Statistics section
|
|
389
|
+
"statistics.title": "Statistiques des Données",
|
|
390
|
+
"statistics.row_count": "Nombre de lignes",
|
|
391
|
+
"statistics.column_count": "Nombre de colonnes",
|
|
392
|
+
"statistics.duration": "Durée",
|
|
393
|
+
"statistics.started_at": "Commencé à",
|
|
394
|
+
"statistics.completed_at": "Terminé à",
|
|
395
|
+
"statistics.na": "Non disponible",
|
|
396
|
+
|
|
397
|
+
# Issues section
|
|
398
|
+
"issues.title": "Problèmes",
|
|
399
|
+
"issues.no_issues": "Aucun problème trouvé. Toutes les validations ont réussi.",
|
|
400
|
+
"issues.column": "Colonne",
|
|
401
|
+
"issues.type": "Type de problème",
|
|
402
|
+
"issues.severity": "Gravité",
|
|
403
|
+
"issues.count": "Nombre",
|
|
404
|
+
"issues.details": "Détails",
|
|
405
|
+
"issues.samples": "Valeurs d'exemple",
|
|
406
|
+
|
|
407
|
+
# Severity levels
|
|
408
|
+
"severity.critical": "Critique",
|
|
409
|
+
"severity.high": "Élevé",
|
|
410
|
+
"severity.medium": "Moyen",
|
|
411
|
+
"severity.low": "Faible",
|
|
412
|
+
"severity.info": "Info",
|
|
413
|
+
|
|
414
|
+
# Status indicators
|
|
415
|
+
"status.passed": "Réussi",
|
|
416
|
+
"status.failed": "Échoué",
|
|
417
|
+
"status.pending": "En attente",
|
|
418
|
+
"status.running": "En cours",
|
|
419
|
+
|
|
420
|
+
# Plurals
|
|
421
|
+
"issues.count.one": "{count} problème",
|
|
422
|
+
"issues.count.other": "{count} problèmes",
|
|
423
|
+
"rows.count.one": "{count} ligne",
|
|
424
|
+
"rows.count.other": "{count} lignes",
|
|
425
|
+
|
|
426
|
+
# Time units
|
|
427
|
+
"time.seconds": "{value}s",
|
|
428
|
+
"time.milliseconds": "{value}ms",
|
|
429
|
+
|
|
430
|
+
# Common elements
|
|
431
|
+
"common.yes": "Oui",
|
|
432
|
+
"common.no": "Non",
|
|
433
|
+
"common.true": "Vrai",
|
|
434
|
+
"common.false": "Faux",
|
|
435
|
+
},
|
|
436
|
+
)
|
|
437
|
+
|
|
438
|
+
|
|
439
|
+
# ============================================================================
|
|
440
|
+
# Spanish
|
|
441
|
+
# ============================================================================
|
|
442
|
+
SPANISH_CATALOG = LocaleCatalog(
|
|
443
|
+
locale=SupportedLocale.SPANISH,
|
|
444
|
+
messages={
|
|
445
|
+
# Report structure
|
|
446
|
+
"report.title": "Informe de Validación",
|
|
447
|
+
"report.generated_at": "Generado el",
|
|
448
|
+
"report.source": "Fuente de datos",
|
|
449
|
+
"report.validation_id": "ID de validación",
|
|
450
|
+
"report.generated_by": "Generado por Truthound Dashboard",
|
|
451
|
+
|
|
452
|
+
# Summary section
|
|
453
|
+
"summary.title": "Resumen de Validación",
|
|
454
|
+
"summary.status": "Estado",
|
|
455
|
+
"summary.total_issues": "Total de problemas",
|
|
456
|
+
"summary.pass_rate": "Tasa de aprobación",
|
|
457
|
+
|
|
458
|
+
# Statistics section
|
|
459
|
+
"statistics.title": "Estadísticas de Datos",
|
|
460
|
+
"statistics.row_count": "Número de filas",
|
|
461
|
+
"statistics.column_count": "Número de columnas",
|
|
462
|
+
"statistics.duration": "Duración",
|
|
463
|
+
"statistics.started_at": "Iniciado a las",
|
|
464
|
+
"statistics.completed_at": "Completado a las",
|
|
465
|
+
"statistics.na": "No disponible",
|
|
466
|
+
|
|
467
|
+
# Issues section
|
|
468
|
+
"issues.title": "Problemas",
|
|
469
|
+
"issues.no_issues": "No se encontraron problemas. Todas las validaciones pasaron.",
|
|
470
|
+
"issues.column": "Columna",
|
|
471
|
+
"issues.type": "Tipo de problema",
|
|
472
|
+
"issues.severity": "Gravedad",
|
|
473
|
+
"issues.count": "Cantidad",
|
|
474
|
+
"issues.details": "Detalles",
|
|
475
|
+
"issues.samples": "Valores de ejemplo",
|
|
476
|
+
|
|
477
|
+
# Severity levels
|
|
478
|
+
"severity.critical": "Crítico",
|
|
479
|
+
"severity.high": "Alto",
|
|
480
|
+
"severity.medium": "Medio",
|
|
481
|
+
"severity.low": "Bajo",
|
|
482
|
+
"severity.info": "Info",
|
|
483
|
+
|
|
484
|
+
# Status indicators
|
|
485
|
+
"status.passed": "Aprobado",
|
|
486
|
+
"status.failed": "Fallido",
|
|
487
|
+
"status.pending": "Pendiente",
|
|
488
|
+
"status.running": "Ejecutando",
|
|
489
|
+
|
|
490
|
+
# Plurals
|
|
491
|
+
"issues.count.one": "{count} problema",
|
|
492
|
+
"issues.count.other": "{count} problemas",
|
|
493
|
+
"rows.count.one": "{count} fila",
|
|
494
|
+
"rows.count.other": "{count} filas",
|
|
495
|
+
|
|
496
|
+
# Time units
|
|
497
|
+
"time.seconds": "{value}s",
|
|
498
|
+
"time.milliseconds": "{value}ms",
|
|
499
|
+
|
|
500
|
+
# Common elements
|
|
501
|
+
"common.yes": "Sí",
|
|
502
|
+
"common.no": "No",
|
|
503
|
+
"common.true": "Verdadero",
|
|
504
|
+
"common.false": "Falso",
|
|
505
|
+
},
|
|
506
|
+
)
|
|
507
|
+
|
|
508
|
+
|
|
509
|
+
# ============================================================================
|
|
510
|
+
# Portuguese
|
|
511
|
+
# ============================================================================
|
|
512
|
+
PORTUGUESE_CATALOG = LocaleCatalog(
|
|
513
|
+
locale=SupportedLocale.PORTUGUESE,
|
|
514
|
+
messages={
|
|
515
|
+
"report.title": "Relatório de Validação",
|
|
516
|
+
"report.generated_at": "Gerado em",
|
|
517
|
+
"report.source": "Fonte de dados",
|
|
518
|
+
"report.validation_id": "ID de validação",
|
|
519
|
+
"report.generated_by": "Gerado pelo Truthound Dashboard",
|
|
520
|
+
"summary.title": "Resumo da Validação",
|
|
521
|
+
"summary.status": "Status",
|
|
522
|
+
"summary.total_issues": "Total de problemas",
|
|
523
|
+
"summary.pass_rate": "Taxa de aprovação",
|
|
524
|
+
"statistics.title": "Estatísticas dos Dados",
|
|
525
|
+
"statistics.row_count": "Número de linhas",
|
|
526
|
+
"statistics.column_count": "Número de colunas",
|
|
527
|
+
"statistics.duration": "Duração",
|
|
528
|
+
"statistics.started_at": "Iniciado em",
|
|
529
|
+
"statistics.completed_at": "Concluído em",
|
|
530
|
+
"statistics.na": "Não disponível",
|
|
531
|
+
"issues.title": "Problemas",
|
|
532
|
+
"issues.no_issues": "Nenhum problema encontrado. Todas as validações passaram.",
|
|
533
|
+
"issues.column": "Coluna",
|
|
534
|
+
"issues.type": "Tipo de problema",
|
|
535
|
+
"issues.severity": "Gravidade",
|
|
536
|
+
"issues.count": "Quantidade",
|
|
537
|
+
"issues.details": "Detalhes",
|
|
538
|
+
"issues.samples": "Valores de exemplo",
|
|
539
|
+
"severity.critical": "Crítico",
|
|
540
|
+
"severity.high": "Alto",
|
|
541
|
+
"severity.medium": "Médio",
|
|
542
|
+
"severity.low": "Baixo",
|
|
543
|
+
"severity.info": "Info",
|
|
544
|
+
"status.passed": "Aprovado",
|
|
545
|
+
"status.failed": "Falhou",
|
|
546
|
+
"status.pending": "Pendente",
|
|
547
|
+
"status.running": "Executando",
|
|
548
|
+
"issues.count.one": "{count} problema",
|
|
549
|
+
"issues.count.other": "{count} problemas",
|
|
550
|
+
"rows.count.one": "{count} linha",
|
|
551
|
+
"rows.count.other": "{count} linhas",
|
|
552
|
+
"time.seconds": "{value}s",
|
|
553
|
+
"time.milliseconds": "{value}ms",
|
|
554
|
+
"common.yes": "Sim",
|
|
555
|
+
"common.no": "Não",
|
|
556
|
+
"common.true": "Verdadeiro",
|
|
557
|
+
"common.false": "Falso",
|
|
558
|
+
},
|
|
559
|
+
)
|
|
560
|
+
|
|
561
|
+
|
|
562
|
+
# ============================================================================
|
|
563
|
+
# Italian
|
|
564
|
+
# ============================================================================
|
|
565
|
+
ITALIAN_CATALOG = LocaleCatalog(
|
|
566
|
+
locale=SupportedLocale.ITALIAN,
|
|
567
|
+
messages={
|
|
568
|
+
"report.title": "Report di Validazione",
|
|
569
|
+
"report.generated_at": "Generato il",
|
|
570
|
+
"report.source": "Origine dati",
|
|
571
|
+
"report.validation_id": "ID validazione",
|
|
572
|
+
"report.generated_by": "Generato da Truthound Dashboard",
|
|
573
|
+
"summary.title": "Riepilogo Validazione",
|
|
574
|
+
"summary.status": "Stato",
|
|
575
|
+
"summary.total_issues": "Totale problemi",
|
|
576
|
+
"summary.pass_rate": "Percentuale superamento",
|
|
577
|
+
"statistics.title": "Statistiche Dati",
|
|
578
|
+
"statistics.row_count": "Numero righe",
|
|
579
|
+
"statistics.column_count": "Numero colonne",
|
|
580
|
+
"statistics.duration": "Durata",
|
|
581
|
+
"statistics.started_at": "Iniziato alle",
|
|
582
|
+
"statistics.completed_at": "Completato alle",
|
|
583
|
+
"statistics.na": "Non disponibile",
|
|
584
|
+
"issues.title": "Problemi",
|
|
585
|
+
"issues.no_issues": "Nessun problema trovato. Tutte le validazioni sono passate.",
|
|
586
|
+
"issues.column": "Colonna",
|
|
587
|
+
"issues.type": "Tipo problema",
|
|
588
|
+
"issues.severity": "Gravità",
|
|
589
|
+
"issues.count": "Conteggio",
|
|
590
|
+
"issues.details": "Dettagli",
|
|
591
|
+
"issues.samples": "Valori di esempio",
|
|
592
|
+
"severity.critical": "Critico",
|
|
593
|
+
"severity.high": "Alto",
|
|
594
|
+
"severity.medium": "Medio",
|
|
595
|
+
"severity.low": "Basso",
|
|
596
|
+
"severity.info": "Info",
|
|
597
|
+
"status.passed": "Superato",
|
|
598
|
+
"status.failed": "Fallito",
|
|
599
|
+
"status.pending": "In attesa",
|
|
600
|
+
"status.running": "In esecuzione",
|
|
601
|
+
"issues.count.one": "{count} problema",
|
|
602
|
+
"issues.count.other": "{count} problemi",
|
|
603
|
+
"rows.count.one": "{count} riga",
|
|
604
|
+
"rows.count.other": "{count} righe",
|
|
605
|
+
"time.seconds": "{value}s",
|
|
606
|
+
"time.milliseconds": "{value}ms",
|
|
607
|
+
"common.yes": "Sì",
|
|
608
|
+
"common.no": "No",
|
|
609
|
+
"common.true": "Vero",
|
|
610
|
+
"common.false": "Falso",
|
|
611
|
+
},
|
|
612
|
+
)
|
|
613
|
+
|
|
614
|
+
|
|
615
|
+
# ============================================================================
|
|
616
|
+
# Russian
|
|
617
|
+
# ============================================================================
|
|
618
|
+
RUSSIAN_CATALOG = LocaleCatalog(
|
|
619
|
+
locale=SupportedLocale.RUSSIAN,
|
|
620
|
+
messages={
|
|
621
|
+
"report.title": "Отчёт о валидации",
|
|
622
|
+
"report.generated_at": "Сгенерировано",
|
|
623
|
+
"report.source": "Источник данных",
|
|
624
|
+
"report.validation_id": "ID валидации",
|
|
625
|
+
"report.generated_by": "Создано в Truthound Dashboard",
|
|
626
|
+
"summary.title": "Сводка валидации",
|
|
627
|
+
"summary.status": "Статус",
|
|
628
|
+
"summary.total_issues": "Всего проблем",
|
|
629
|
+
"summary.pass_rate": "Процент успеха",
|
|
630
|
+
"statistics.title": "Статистика данных",
|
|
631
|
+
"statistics.row_count": "Количество строк",
|
|
632
|
+
"statistics.column_count": "Количество столбцов",
|
|
633
|
+
"statistics.duration": "Продолжительность",
|
|
634
|
+
"statistics.started_at": "Начато",
|
|
635
|
+
"statistics.completed_at": "Завершено",
|
|
636
|
+
"statistics.na": "Недоступно",
|
|
637
|
+
"issues.title": "Проблемы",
|
|
638
|
+
"issues.no_issues": "Проблем не обнаружено. Все проверки пройдены.",
|
|
639
|
+
"issues.column": "Столбец",
|
|
640
|
+
"issues.type": "Тип проблемы",
|
|
641
|
+
"issues.severity": "Серьёзность",
|
|
642
|
+
"issues.count": "Количество",
|
|
643
|
+
"issues.details": "Детали",
|
|
644
|
+
"issues.samples": "Примеры значений",
|
|
645
|
+
"severity.critical": "Критическая",
|
|
646
|
+
"severity.high": "Высокая",
|
|
647
|
+
"severity.medium": "Средняя",
|
|
648
|
+
"severity.low": "Низкая",
|
|
649
|
+
"severity.info": "Инфо",
|
|
650
|
+
"status.passed": "Пройдено",
|
|
651
|
+
"status.failed": "Ошибка",
|
|
652
|
+
"status.pending": "Ожидание",
|
|
653
|
+
"status.running": "Выполняется",
|
|
654
|
+
"issues.count.one": "{count} проблема",
|
|
655
|
+
"issues.count.other": "{count} проблем",
|
|
656
|
+
"rows.count.one": "{count} строка",
|
|
657
|
+
"rows.count.other": "{count} строк",
|
|
658
|
+
"time.seconds": "{value}с",
|
|
659
|
+
"time.milliseconds": "{value}мс",
|
|
660
|
+
"common.yes": "Да",
|
|
661
|
+
"common.no": "Нет",
|
|
662
|
+
"common.true": "Истина",
|
|
663
|
+
"common.false": "Ложь",
|
|
664
|
+
},
|
|
665
|
+
)
|
|
666
|
+
|
|
667
|
+
|
|
668
|
+
# ============================================================================
|
|
669
|
+
# Arabic
|
|
670
|
+
# ============================================================================
|
|
671
|
+
ARABIC_CATALOG = LocaleCatalog(
|
|
672
|
+
locale=SupportedLocale.ARABIC,
|
|
673
|
+
messages={
|
|
674
|
+
"report.title": "تقرير التحقق",
|
|
675
|
+
"report.generated_at": "تم الإنشاء في",
|
|
676
|
+
"report.source": "مصدر البيانات",
|
|
677
|
+
"report.validation_id": "معرف التحقق",
|
|
678
|
+
"report.generated_by": "تم الإنشاء بواسطة Truthound Dashboard",
|
|
679
|
+
"summary.title": "ملخص التحقق",
|
|
680
|
+
"summary.status": "الحالة",
|
|
681
|
+
"summary.total_issues": "إجمالي المشاكل",
|
|
682
|
+
"summary.pass_rate": "معدل النجاح",
|
|
683
|
+
"statistics.title": "إحصائيات البيانات",
|
|
684
|
+
"statistics.row_count": "عدد الصفوف",
|
|
685
|
+
"statistics.column_count": "عدد الأعمدة",
|
|
686
|
+
"statistics.duration": "المدة",
|
|
687
|
+
"statistics.started_at": "بدأ في",
|
|
688
|
+
"statistics.completed_at": "انتهى في",
|
|
689
|
+
"statistics.na": "غير متاح",
|
|
690
|
+
"issues.title": "المشاكل",
|
|
691
|
+
"issues.no_issues": "لم يتم العثور على مشاكل. نجحت جميع عمليات التحقق.",
|
|
692
|
+
"issues.column": "العمود",
|
|
693
|
+
"issues.type": "نوع المشكلة",
|
|
694
|
+
"issues.severity": "الخطورة",
|
|
695
|
+
"issues.count": "العدد",
|
|
696
|
+
"issues.details": "التفاصيل",
|
|
697
|
+
"issues.samples": "قيم نموذجية",
|
|
698
|
+
"severity.critical": "حرج",
|
|
699
|
+
"severity.high": "عالي",
|
|
700
|
+
"severity.medium": "متوسط",
|
|
701
|
+
"severity.low": "منخفض",
|
|
702
|
+
"severity.info": "معلومات",
|
|
703
|
+
"status.passed": "نجح",
|
|
704
|
+
"status.failed": "فشل",
|
|
705
|
+
"status.pending": "قيد الانتظار",
|
|
706
|
+
"status.running": "قيد التشغيل",
|
|
707
|
+
"issues.count.one": "مشكلة واحدة",
|
|
708
|
+
"issues.count.other": "{count} مشاكل",
|
|
709
|
+
"rows.count.one": "صف واحد",
|
|
710
|
+
"rows.count.other": "{count} صفوف",
|
|
711
|
+
"time.seconds": "{value} ثانية",
|
|
712
|
+
"time.milliseconds": "{value} مللي ثانية",
|
|
713
|
+
"common.yes": "نعم",
|
|
714
|
+
"common.no": "لا",
|
|
715
|
+
"common.true": "صحيح",
|
|
716
|
+
"common.false": "خطأ",
|
|
717
|
+
},
|
|
718
|
+
)
|
|
719
|
+
|
|
720
|
+
|
|
721
|
+
# ============================================================================
|
|
722
|
+
# Thai
|
|
723
|
+
# ============================================================================
|
|
724
|
+
THAI_CATALOG = LocaleCatalog(
|
|
725
|
+
locale=SupportedLocale.THAI,
|
|
726
|
+
messages={
|
|
727
|
+
"report.title": "รายงานการตรวจสอบ",
|
|
728
|
+
"report.generated_at": "สร้างเมื่อ",
|
|
729
|
+
"report.source": "แหล่งข้อมูล",
|
|
730
|
+
"report.validation_id": "รหัสการตรวจสอบ",
|
|
731
|
+
"report.generated_by": "สร้างโดย Truthound Dashboard",
|
|
732
|
+
"summary.title": "สรุปการตรวจสอบ",
|
|
733
|
+
"summary.status": "สถานะ",
|
|
734
|
+
"summary.total_issues": "ปัญหาทั้งหมด",
|
|
735
|
+
"summary.pass_rate": "อัตราผ่าน",
|
|
736
|
+
"statistics.title": "สถิติข้อมูล",
|
|
737
|
+
"statistics.row_count": "จำนวนแถว",
|
|
738
|
+
"statistics.column_count": "จำนวนคอลัมน์",
|
|
739
|
+
"statistics.duration": "ระยะเวลา",
|
|
740
|
+
"statistics.started_at": "เริ่มเมื่อ",
|
|
741
|
+
"statistics.completed_at": "เสร็จเมื่อ",
|
|
742
|
+
"statistics.na": "ไม่มีข้อมูล",
|
|
743
|
+
"issues.title": "ปัญหา",
|
|
744
|
+
"issues.no_issues": "ไม่พบปัญหา การตรวจสอบทั้งหมดผ่าน",
|
|
745
|
+
"issues.column": "คอลัมน์",
|
|
746
|
+
"issues.type": "ประเภทปัญหา",
|
|
747
|
+
"issues.severity": "ความรุนแรง",
|
|
748
|
+
"issues.count": "จำนวน",
|
|
749
|
+
"issues.details": "รายละเอียด",
|
|
750
|
+
"issues.samples": "ค่าตัวอย่าง",
|
|
751
|
+
"severity.critical": "วิกฤต",
|
|
752
|
+
"severity.high": "สูง",
|
|
753
|
+
"severity.medium": "ปานกลาง",
|
|
754
|
+
"severity.low": "ต่ำ",
|
|
755
|
+
"severity.info": "ข้อมูล",
|
|
756
|
+
"status.passed": "ผ่าน",
|
|
757
|
+
"status.failed": "ไม่ผ่าน",
|
|
758
|
+
"status.pending": "รอดำเนินการ",
|
|
759
|
+
"status.running": "กำลังทำงาน",
|
|
760
|
+
"issues.count.one": "{count} ปัญหา",
|
|
761
|
+
"issues.count.other": "{count} ปัญหา",
|
|
762
|
+
"rows.count.one": "{count} แถว",
|
|
763
|
+
"rows.count.other": "{count} แถว",
|
|
764
|
+
"time.seconds": "{value} วินาที",
|
|
765
|
+
"time.milliseconds": "{value} มิลลิวินาที",
|
|
766
|
+
"common.yes": "ใช่",
|
|
767
|
+
"common.no": "ไม่",
|
|
768
|
+
"common.true": "จริง",
|
|
769
|
+
"common.false": "เท็จ",
|
|
770
|
+
},
|
|
771
|
+
)
|
|
772
|
+
|
|
773
|
+
|
|
774
|
+
# ============================================================================
|
|
775
|
+
# Vietnamese
|
|
776
|
+
# ============================================================================
|
|
777
|
+
VIETNAMESE_CATALOG = LocaleCatalog(
|
|
778
|
+
locale=SupportedLocale.VIETNAMESE,
|
|
779
|
+
messages={
|
|
780
|
+
"report.title": "Báo cáo Xác thực",
|
|
781
|
+
"report.generated_at": "Tạo lúc",
|
|
782
|
+
"report.source": "Nguồn dữ liệu",
|
|
783
|
+
"report.validation_id": "ID xác thực",
|
|
784
|
+
"report.generated_by": "Tạo bởi Truthound Dashboard",
|
|
785
|
+
"summary.title": "Tóm tắt Xác thực",
|
|
786
|
+
"summary.status": "Trạng thái",
|
|
787
|
+
"summary.total_issues": "Tổng số vấn đề",
|
|
788
|
+
"summary.pass_rate": "Tỷ lệ đạt",
|
|
789
|
+
"statistics.title": "Thống kê Dữ liệu",
|
|
790
|
+
"statistics.row_count": "Số hàng",
|
|
791
|
+
"statistics.column_count": "Số cột",
|
|
792
|
+
"statistics.duration": "Thời gian",
|
|
793
|
+
"statistics.started_at": "Bắt đầu lúc",
|
|
794
|
+
"statistics.completed_at": "Hoàn thành lúc",
|
|
795
|
+
"statistics.na": "Không có",
|
|
796
|
+
"issues.title": "Vấn đề",
|
|
797
|
+
"issues.no_issues": "Không tìm thấy vấn đề. Tất cả xác thực đều đạt.",
|
|
798
|
+
"issues.column": "Cột",
|
|
799
|
+
"issues.type": "Loại vấn đề",
|
|
800
|
+
"issues.severity": "Mức độ",
|
|
801
|
+
"issues.count": "Số lượng",
|
|
802
|
+
"issues.details": "Chi tiết",
|
|
803
|
+
"issues.samples": "Giá trị mẫu",
|
|
804
|
+
"severity.critical": "Nghiêm trọng",
|
|
805
|
+
"severity.high": "Cao",
|
|
806
|
+
"severity.medium": "Trung bình",
|
|
807
|
+
"severity.low": "Thấp",
|
|
808
|
+
"severity.info": "Thông tin",
|
|
809
|
+
"status.passed": "Đạt",
|
|
810
|
+
"status.failed": "Không đạt",
|
|
811
|
+
"status.pending": "Đang chờ",
|
|
812
|
+
"status.running": "Đang chạy",
|
|
813
|
+
"issues.count.one": "{count} vấn đề",
|
|
814
|
+
"issues.count.other": "{count} vấn đề",
|
|
815
|
+
"rows.count.one": "{count} hàng",
|
|
816
|
+
"rows.count.other": "{count} hàng",
|
|
817
|
+
"time.seconds": "{value} giây",
|
|
818
|
+
"time.milliseconds": "{value} ms",
|
|
819
|
+
"common.yes": "Có",
|
|
820
|
+
"common.no": "Không",
|
|
821
|
+
"common.true": "Đúng",
|
|
822
|
+
"common.false": "Sai",
|
|
823
|
+
},
|
|
824
|
+
)
|
|
825
|
+
|
|
826
|
+
|
|
827
|
+
# ============================================================================
|
|
828
|
+
# Indonesian
|
|
829
|
+
# ============================================================================
|
|
830
|
+
INDONESIAN_CATALOG = LocaleCatalog(
|
|
831
|
+
locale=SupportedLocale.INDONESIAN,
|
|
832
|
+
messages={
|
|
833
|
+
"report.title": "Laporan Validasi",
|
|
834
|
+
"report.generated_at": "Dibuat pada",
|
|
835
|
+
"report.source": "Sumber data",
|
|
836
|
+
"report.validation_id": "ID Validasi",
|
|
837
|
+
"report.generated_by": "Dibuat oleh Truthound Dashboard",
|
|
838
|
+
"summary.title": "Ringkasan Validasi",
|
|
839
|
+
"summary.status": "Status",
|
|
840
|
+
"summary.total_issues": "Total Masalah",
|
|
841
|
+
"summary.pass_rate": "Tingkat Kelulusan",
|
|
842
|
+
"statistics.title": "Statistik Data",
|
|
843
|
+
"statistics.row_count": "Jumlah Baris",
|
|
844
|
+
"statistics.column_count": "Jumlah Kolom",
|
|
845
|
+
"statistics.duration": "Durasi",
|
|
846
|
+
"statistics.started_at": "Dimulai pada",
|
|
847
|
+
"statistics.completed_at": "Selesai pada",
|
|
848
|
+
"statistics.na": "Tidak tersedia",
|
|
849
|
+
"issues.title": "Masalah",
|
|
850
|
+
"issues.no_issues": "Tidak ada masalah ditemukan. Semua validasi berhasil.",
|
|
851
|
+
"issues.column": "Kolom",
|
|
852
|
+
"issues.type": "Jenis Masalah",
|
|
853
|
+
"issues.severity": "Tingkat Keparahan",
|
|
854
|
+
"issues.count": "Jumlah",
|
|
855
|
+
"issues.details": "Detail",
|
|
856
|
+
"issues.samples": "Nilai Contoh",
|
|
857
|
+
"severity.critical": "Kritis",
|
|
858
|
+
"severity.high": "Tinggi",
|
|
859
|
+
"severity.medium": "Sedang",
|
|
860
|
+
"severity.low": "Rendah",
|
|
861
|
+
"severity.info": "Info",
|
|
862
|
+
"status.passed": "Lulus",
|
|
863
|
+
"status.failed": "Gagal",
|
|
864
|
+
"status.pending": "Menunggu",
|
|
865
|
+
"status.running": "Berjalan",
|
|
866
|
+
"issues.count.one": "{count} masalah",
|
|
867
|
+
"issues.count.other": "{count} masalah",
|
|
868
|
+
"rows.count.one": "{count} baris",
|
|
869
|
+
"rows.count.other": "{count} baris",
|
|
870
|
+
"time.seconds": "{value} detik",
|
|
871
|
+
"time.milliseconds": "{value} ms",
|
|
872
|
+
"common.yes": "Ya",
|
|
873
|
+
"common.no": "Tidak",
|
|
874
|
+
"common.true": "Benar",
|
|
875
|
+
"common.false": "Salah",
|
|
876
|
+
},
|
|
877
|
+
)
|
|
878
|
+
|
|
879
|
+
|
|
880
|
+
# ============================================================================
|
|
881
|
+
# Turkish
|
|
882
|
+
# ============================================================================
|
|
883
|
+
TURKISH_CATALOG = LocaleCatalog(
|
|
884
|
+
locale=SupportedLocale.TURKISH,
|
|
885
|
+
messages={
|
|
886
|
+
"report.title": "Doğrulama Raporu",
|
|
887
|
+
"report.generated_at": "Oluşturulma tarihi",
|
|
888
|
+
"report.source": "Veri kaynağı",
|
|
889
|
+
"report.validation_id": "Doğrulama ID",
|
|
890
|
+
"report.generated_by": "Truthound Dashboard tarafından oluşturuldu",
|
|
891
|
+
"summary.title": "Doğrulama Özeti",
|
|
892
|
+
"summary.status": "Durum",
|
|
893
|
+
"summary.total_issues": "Toplam Sorun",
|
|
894
|
+
"summary.pass_rate": "Başarı Oranı",
|
|
895
|
+
"statistics.title": "Veri İstatistikleri",
|
|
896
|
+
"statistics.row_count": "Satır Sayısı",
|
|
897
|
+
"statistics.column_count": "Sütun Sayısı",
|
|
898
|
+
"statistics.duration": "Süre",
|
|
899
|
+
"statistics.started_at": "Başlangıç",
|
|
900
|
+
"statistics.completed_at": "Bitiş",
|
|
901
|
+
"statistics.na": "Mevcut değil",
|
|
902
|
+
"issues.title": "Sorunlar",
|
|
903
|
+
"issues.no_issues": "Sorun bulunamadı. Tüm doğrulamalar başarılı.",
|
|
904
|
+
"issues.column": "Sütun",
|
|
905
|
+
"issues.type": "Sorun Türü",
|
|
906
|
+
"issues.severity": "Önem Derecesi",
|
|
907
|
+
"issues.count": "Sayı",
|
|
908
|
+
"issues.details": "Detaylar",
|
|
909
|
+
"issues.samples": "Örnek Değerler",
|
|
910
|
+
"severity.critical": "Kritik",
|
|
911
|
+
"severity.high": "Yüksek",
|
|
912
|
+
"severity.medium": "Orta",
|
|
913
|
+
"severity.low": "Düşük",
|
|
914
|
+
"severity.info": "Bilgi",
|
|
915
|
+
"status.passed": "Başarılı",
|
|
916
|
+
"status.failed": "Başarısız",
|
|
917
|
+
"status.pending": "Bekliyor",
|
|
918
|
+
"status.running": "Çalışıyor",
|
|
919
|
+
"issues.count.one": "{count} sorun",
|
|
920
|
+
"issues.count.other": "{count} sorun",
|
|
921
|
+
"rows.count.one": "{count} satır",
|
|
922
|
+
"rows.count.other": "{count} satır",
|
|
923
|
+
"time.seconds": "{value} saniye",
|
|
924
|
+
"time.milliseconds": "{value} ms",
|
|
925
|
+
"common.yes": "Evet",
|
|
926
|
+
"common.no": "Hayır",
|
|
927
|
+
"common.true": "Doğru",
|
|
928
|
+
"common.false": "Yanlış",
|
|
929
|
+
},
|
|
930
|
+
)
|