Files
datatools-dev/src/i18n/packs/en.json
Michael d436e34a45 feat(brand): rebrand to UNALOGIX DataTools + Clean. Normalize. Transform.
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>
2026-05-19 01:45:38 +00:00

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"
}
}