User-facing copy + brand updates landed together: - Page H1 + browser-tab title: "DataTools — Data Cleaning Mastery" → "UNALOGIX DataTools". Same change in es.json (was "DataTools — Maestría en limpieza de datos"). - Hero subtitle: long descriptive caption replaced with the tagline "Clean. Normalize. Transform." (es: "Limpia. Normaliza. Transforma."). - Sidebar brand block: wordmark is now two lines — UNALOGIX in tiny uppercase tracked eyebrow style on top, DataTools in the 15px semibold wordmark beneath. The 28px "D" chip stays as the recognizable mark. New ``.dt-brand-eyebrow`` rule in ``_DESIGN_TOKENS_CSS``. Top-right Streamlit chrome cleanup — the user reported two stacked icon buttons. ``.streamlit/config.toml`` bumped to ``toolbarMode = "viewer"`` (most aggressive — suppresses status indicator + deploy button + running glyph). CSS belt-and-suspenders hides ``stToolbar``, ``stToolbarActions``, ``stStatusWidget``, ``stDecoration`` for newer Streamlit releases that keep emitting these with inline styles even under toolbarMode=viewer. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
191 lines
9.5 KiB
JSON
191 lines
9.5 KiB
JSON
{
|
|
"chrome": {
|
|
"language_label": "Language",
|
|
"footer": "Runs locally. Your data never leaves this computer. | DataTools v3.0"
|
|
},
|
|
"home": {
|
|
"page_title": "UNALOGIX DataTools",
|
|
"title": "UNALOGIX DataTools",
|
|
"caption": "Clean. Normalize. Transform.",
|
|
"privacy_pill": "Runs 100% locally",
|
|
"findings_badge_one": "{n} finding",
|
|
"findings_badge_other": "{n} findings"
|
|
},
|
|
"status": {
|
|
"ready": "Ready",
|
|
"coming_soon": "Coming Soon"
|
|
},
|
|
"upload": {
|
|
"heading": "Import one or more files to start",
|
|
"intro": "Optional: scan an imported 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.5 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": "Import CSV or Excel",
|
|
"uploader_help": "Up to 1.5 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 import screen.",
|
|
"use_different_file": "Use a different file",
|
|
"switch_back": "Switch back to import-screen file",
|
|
"pickup_caption": "Up to 1.5 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.",
|
|
"intro_multi": "Drop files below. Each one is analyzed locally — nothing leaves this computer.",
|
|
"uploader_label_multi": "Import CSV, TSV, or Excel files",
|
|
"clear_results": "Clear results",
|
|
"empty_state": "Import one or more files to begin. Your data never leaves this computer."
|
|
},
|
|
"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 imported 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_window_button": "Close this window",
|
|
"close_hint": "Browsers don't let JavaScript close a tab you opened yourself — and they don't let it send Ctrl+W or Alt+F4 either (those keystrokes are intercepted by the OS, not the page). Launch DataTools with `python -m src.gui` to get a Chrome/Edge --app window that DOES close cleanly. In the meantime, this tab will fall back to a blank page in a moment — close it manually with Ctrl+W (or ⌘W on Mac)."
|
|
},
|
|
"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"
|
|
},
|
|
"activation": {
|
|
"page_title": "DataTools — Activate",
|
|
"title": "Activate DataTools",
|
|
"intro": "DataTools needs to be activated before any tools unlock. Enter the name and email tied to your purchase, then paste the license blob from your delivery email.",
|
|
"name_label": "Full name",
|
|
"name_help": "Must match the name on your purchase receipt.",
|
|
"email_label": "Email",
|
|
"email_help": "Must match the email on your purchase receipt.",
|
|
"blob_label": "License blob",
|
|
"blob_help": "Begins with `DTLIC1:` — paste the entire string.",
|
|
"activate_button": "Activate",
|
|
"renew_button": "Apply renewal",
|
|
"or_separator": "— or —",
|
|
"success": "Activated! Welcome, {name}. Your license is valid until {expires}.",
|
|
"renewed": "License renewed. New expiry: {expires}.",
|
|
"errors_heading": "Activation problem",
|
|
"deactivate_button": "Deactivate this device",
|
|
"deactivate_help": "Removes the local license file. You'll need to re-paste your blob to reactivate."
|
|
},
|
|
"license": {
|
|
"status_active": "{tier} · {days} days left",
|
|
"status_trial": "Trial · {days} days left",
|
|
"status_expired": "Expired",
|
|
"status_not_activated": "Not activated",
|
|
"status_invalid": "License invalid",
|
|
"renewal_warning_30": "⚠️ License expires in {days} days. Renew soon to avoid interruption.",
|
|
"renewal_warning_expired": "🛑 License expired on {date}. Renew to continue using DataTools.",
|
|
"tier_trial": "Trial",
|
|
"tier_lite": "Lite",
|
|
"tier_core": "Core",
|
|
"tier_pro": "Pro",
|
|
"tier_enterprise": "Enterprise",
|
|
"registered_to": "Registered to {name} · {email}",
|
|
"expires_on": "Expires on {date}",
|
|
"issued_on": "Issued on {date}",
|
|
"view_details": "License details",
|
|
"feature_locked_title": "🔒 This tool isn't on your {tier} license",
|
|
"feature_locked_body": "Your current license unlocks: {features}. Upgrade to access this tool.",
|
|
"upgrade_link": "Manage license",
|
|
"status_locked": "Locked"
|
|
},
|
|
"tools": {
|
|
"01_deduplicator": {
|
|
"name": "Find Duplicates",
|
|
"description": "Fuzzy matching, normalization, survivor selection, and interactive review.",
|
|
"page_title": "Find Duplicates",
|
|
"page_caption": "Find and remove duplicate rows in CSV, delimited text, and Excel files."
|
|
},
|
|
"02_text_cleaner": {
|
|
"name": "Clean Text",
|
|
"description": "Whitespace trim, multi-space collapse, Unicode normalization, BOM and line-ending handling.",
|
|
"page_title": "Clean Text",
|
|
"page_caption": "Trim whitespace, fold smart quotes, strip invisible characters, and normalize line endings. Runs locally — your data never leaves this computer."
|
|
},
|
|
"03_format_standardizer": {
|
|
"name": "Standardize Formats",
|
|
"description": "Standardize dates, currencies, names, phone numbers, and addresses.",
|
|
"page_title": "Standardize Formats",
|
|
"page_caption": "Canonicalize dates, phone numbers, currency, names, addresses, and booleans on a per-column basis. Runs locally — your data never leaves this computer."
|
|
},
|
|
"04_missing_handler": {
|
|
"name": "Fix Missing Values",
|
|
"description": "Detect disguised nulls, missingness analysis, and imputation strategies.",
|
|
"page_title": "Fix Missing Values",
|
|
"page_caption": "Detect disguised nulls, profile missingness, and apply imputation or drop strategies. Runs locally — your data never leaves this computer."
|
|
},
|
|
"05_column_mapper": {
|
|
"name": "Map Columns",
|
|
"description": "Rename columns, enforce a target schema, and coerce types.",
|
|
"page_title": "Map Columns",
|
|
"page_caption": "Rename columns, enforce a target schema, and coerce types. Runs locally — your data never leaves this computer."
|
|
},
|
|
"06_outlier_detector": {
|
|
"name": "Find Unusual Values",
|
|
"description": "Z-score, IQR, and MAD detection with domain-rule violations and winsorization.",
|
|
"page_title": "Find Unusual Values",
|
|
"page_caption": "Detect and handle outliers in numeric columns."
|
|
},
|
|
"07_multi_file_merger": {
|
|
"name": "Combine Files",
|
|
"description": "Combine multiple CSV/Excel files with schema alignment.",
|
|
"page_title": "Combine Files",
|
|
"page_caption": "Combine multiple CSV and Excel files into one dataset."
|
|
},
|
|
"08_validator_reporter": {
|
|
"name": "Quality Check",
|
|
"description": "Validate against rules and generate PDF/Excel quality reports.",
|
|
"page_title": "Quality Check",
|
|
"page_caption": "Validate data against rules and generate quality reports."
|
|
},
|
|
"09_pipeline_runner": {
|
|
"name": "Automated Workflows",
|
|
"description": "Chain tools in recommended order and pass output between steps.",
|
|
"page_title": "Automated Workflows",
|
|
"page_caption": "Chain DataTools cleaning steps into one repeatable workflow. The pipeline recommends an order; you stay in control."
|
|
}
|
|
},
|
|
"nav": {
|
|
"section_review": "Data Review",
|
|
"section_cleaners": "Data Cleaners",
|
|
"section_transformations": "Transformations",
|
|
"section_automations": "Automations",
|
|
"review_page_title": "Review",
|
|
"home_page_title": "Home",
|
|
"section_account": "Account",
|
|
"activate_title": "Activate",
|
|
"close_title": "Close",
|
|
"section_close": "Close",
|
|
"back_to_home": "← Back to Home"
|
|
},
|
|
"footer": {
|
|
"close": "Close",
|
|
"help": "Help",
|
|
"help_title": "DataTools",
|
|
"help_version": "Version {version}",
|
|
"help_support": "Support: {email}",
|
|
"help_license_label": "License",
|
|
"help_license_inactive": "Not activated",
|
|
"help_license_active": "{name}",
|
|
"help_license_expires": "Expires {date} ({days} days)",
|
|
"help_activate_link": "Activate now →",
|
|
"help_manage_link": "Manage license →",
|
|
"help_dismiss": "Close"
|
|
}
|
|
}
|