feat(i18n): add language-pack scaffold with English and Spanish
Introduces ``src/i18n`` with a tiny JSON-backed t() lookup, an in-session language preference, and a sidebar selector wired through ``hide_streamlit_chrome`` so every page picks up the same picker. Covers home, tool cards, findings panel, gate, shutdown, and pickup banner strings. Tests pin pack parity and the farewell-overlay JS escape so future packs can't silently regress. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
97
src/i18n/packs/en.json
Normal file
97
src/i18n/packs/en.json
Normal file
@@ -0,0 +1,97 @@
|
||||
{
|
||||
"chrome": {
|
||||
"language_label": "Language",
|
||||
"footer": "Runs locally. Your data never leaves this computer. | DataTools v3.0"
|
||||
},
|
||||
"home": {
|
||||
"page_title": "DataTools — Data Cleaning Mastery",
|
||||
"title": "🧹 DataTools — Data Cleaning Mastery",
|
||||
"caption": "A 9-tool suite for cleaning, standardizing, and validating tabular data. Runs 100% locally.",
|
||||
"findings_badge_one": "{n} finding",
|
||||
"findings_badge_other": "{n} findings"
|
||||
},
|
||||
"status": {
|
||||
"ready": "Ready",
|
||||
"coming_soon": "Coming Soon"
|
||||
},
|
||||
"upload": {
|
||||
"heading": "📤 Upload a file to start",
|
||||
"intro": "Optional: scan an uploaded file for data quality issues and see which tools can fix each one. Skip if you already know what you need.",
|
||||
"limits": "**Up to 1 GB.** Formats: CSV, TSV, XLSX, XLS. Delimiters auto-detected: comma, tab, semicolon, pipe. Encodings auto-detected: UTF-8 (with/without BOM), UTF-16, cp1252, Latin-1/9, cp1250, ISO-8859-2, cp1251, KOI8-R, Mac Roman, Shift_JIS, GB18030, Big5, EUC-KR — and override on the Review page.",
|
||||
"uploader_label": "Upload CSV or Excel",
|
||||
"uploader_help": "Up to 1 GB. Comma / tab / semicolon / pipe delimiters all auto-detected. Encoding auto-detected with override on the Review page if needed.",
|
||||
"run_button": "Run analysis",
|
||||
"skip_button": "Skip",
|
||||
"scanning": "Scanning…",
|
||||
"skipped_notice": "Analysis skipped. Open any tool below to start working.",
|
||||
"using_session_file": "Using **{name}** from the upload screen.",
|
||||
"use_different_file": "Use a different file",
|
||||
"switch_back": "Switch back to upload-screen file",
|
||||
"pickup_caption": "Up to 1 GB. Delimiters auto-detected: comma, tab, semicolon, pipe. Encoding auto-detected (UTF-8 / UTF-16 / cp1252 / Latin-1 family / cp1250 / cp1251 / KOI8-R / Mac Roman / Shift_JIS / GB18030 / Big5 / EUC-KR), with override on the Review page."
|
||||
},
|
||||
"findings": {
|
||||
"header": "Detected issues",
|
||||
"none": "No issues detected. Open any tool below to start working.",
|
||||
"severity_summary_segment": "{icon} {n} {severity}",
|
||||
"tool_section_label": "{tool} — {n} finding(s)",
|
||||
"other_section_label": "Other / file-level — {n} finding(s)",
|
||||
"open_tool": "Open {tool} →",
|
||||
"untargeted_label": "Informational"
|
||||
},
|
||||
"gate": {
|
||||
"warning": "**{name}** must pass the CSV-normalization gate before you can use this tool. Open the Review page to apply the fixes our analyzer recommends.",
|
||||
"default_name": "the uploaded file",
|
||||
"open_review": "Go to Review & Normalize"
|
||||
},
|
||||
"quit": {
|
||||
"button": "Quit app",
|
||||
"shutting_down": "Shutting down… you can close this window.",
|
||||
"farewell_title": "DataTools has shut down",
|
||||
"farewell_subtitle": "You can close this window."
|
||||
},
|
||||
"close_page": {
|
||||
"page_title": "DataTools — Close",
|
||||
"title": "🛑 Close DataTools",
|
||||
"caption": "Shut down the local app and free the terminal.",
|
||||
"body": "Clicking the button below will terminate the DataTools server. Any unsaved work in other tools will be lost. Once the app shuts down you can close this window.",
|
||||
"button": "Close the app"
|
||||
},
|
||||
"tools": {
|
||||
"01_deduplicator": {
|
||||
"name": "Deduplicator",
|
||||
"description": "Fuzzy matching, normalization, survivor selection, and interactive review."
|
||||
},
|
||||
"02_text_cleaner": {
|
||||
"name": "Text Cleaner",
|
||||
"description": "Whitespace trim, multi-space collapse, Unicode normalization, BOM and line-ending handling."
|
||||
},
|
||||
"03_format_standardizer": {
|
||||
"name": "Format Standardizer",
|
||||
"description": "Standardize dates, currencies, names, phone numbers, and addresses."
|
||||
},
|
||||
"04_missing_handler": {
|
||||
"name": "Missing Value Handler",
|
||||
"description": "Detect disguised nulls, missingness analysis, and imputation strategies."
|
||||
},
|
||||
"05_column_mapper": {
|
||||
"name": "Column Mapper",
|
||||
"description": "Rename columns, enforce a target schema, and coerce types."
|
||||
},
|
||||
"06_outlier_detector": {
|
||||
"name": "Outlier Detector",
|
||||
"description": "Z-score, IQR, and MAD detection with domain-rule violations and winsorization."
|
||||
},
|
||||
"07_multi_file_merger": {
|
||||
"name": "Multi-File Merger",
|
||||
"description": "Combine multiple CSV/Excel files with schema alignment."
|
||||
},
|
||||
"08_validator_reporter": {
|
||||
"name": "Validator & Reporter",
|
||||
"description": "Validate against rules and generate PDF/Excel quality reports."
|
||||
},
|
||||
"09_pipeline_runner": {
|
||||
"name": "Pipeline Runner",
|
||||
"description": "Chain tools in recommended order and pass output between steps."
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user