From ad092b8c15207d9b33269af9ddb69800576439ab Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 15 Mar 2026 17:55:49 +0000 Subject: [PATCH 1/2] Initial plan From 2bb47e7631836880873e51b131455ff8a500d2a6 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 15 Mar 2026 18:06:27 +0000 Subject: [PATCH 2/2] feat(i18n): localize admin files page (filemanager.html) Replace all hardcoded English strings in the admin file manager template with _() translation calls and add 47 new admin_files.* keys to en.json. Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com> --- frontend/templates/filemanager.html | 129 ++++++++++++++-------------- frontend/translations/en.json | 47 ++++++++++ 2 files changed, 111 insertions(+), 65 deletions(-) diff --git a/frontend/templates/filemanager.html b/frontend/templates/filemanager.html index db5e88ec..3d21d813 100644 --- a/frontend/templates/filemanager.html +++ b/frontend/templates/filemanager.html @@ -1,5 +1,5 @@ {% extends "base.html" %} -{% block title %}File Manager – Admin{% endblock %} +{% block title %}{{ _("admin_files.page_title") }}{% endblock %} {% block content %}
@@ -8,9 +8,9 @@

- - File Manager - Admin Only + + {{ _("admin_files.heading") }} + {{ _("admin_files.admin_only_badge") }}

{{ workdir }} @@ -19,15 +19,15 @@

- - {% if total_disk is none %}…{% else %}{{ total_disk }}{% endif %} on disk + + {% if total_disk is none %}…{% else %}{{ total_disk }}{% endif %} {{ _("admin_files.badge_on_disk") }} - {{ total_db }} in DB + {{ total_db }} {{ _("admin_files.badge_in_db") }} {% if total_disk is not none and total_disk != total_db %} - Delta detected + {{ _("admin_files.badge_delta_detected") }} {% endif %}
@@ -38,17 +38,17 @@ - Filesystem + {{ _("admin_files.tab_filesystem") }} - Database Records + {{ _("admin_files.tab_database") }} - Reconcile + {{ _("admin_files.tab_reconcile") }} {% if total_disk != total_db %} ! {% endif %} @@ -62,21 +62,21 @@
- Found in DB - Not in DB (orphan) + {{ _("admin_files.legend_found_in_db") }} + {{ _("admin_files.legend_not_in_db") }}
-
{% else %} -

No orphan files found.

+

{{ _("admin_files.no_orphan_files") }}

{% endif %}
@@ -314,7 +313,7 @@

- Ghost records (in DB, file(s) missing on disk) + {{ _("admin_files.ghost_records_heading") }} {{ _("admin_files.ghost_records_desc") }} {{ ghost_records | length }}

{% if ghost_records %} @@ -322,10 +321,10 @@ - - - - + + + + @@ -352,7 +351,7 @@
IDOriginal FilenameMissing paths{{ _("admin_files.col_id") }}{{ _("admin_files.col_original_filename") }}{{ _("admin_files.col_missing_paths") }}
{% else %} -

No ghost records found.

+

{{ _("admin_files.no_ghost_records") }}

{% endif %}
{% endif %} diff --git a/frontend/translations/en.json b/frontend/translations/en.json index bf8ee135..08eaf2de 100644 --- a/frontend/translations/en.json +++ b/frontend/translations/en.json @@ -149,6 +149,53 @@ "admin_plans.stripe_wizard_text": "Stripe Setup Wizard", "admin_plans.subheading": "Manage subscription plans shown on the public pricing page.", "admin_plans.table_aria_label": "Subscription plans", + "admin_files.admin_only_badge": "Admin Only", + "admin_files.aria_breadcrumb": "Breadcrumb", + "admin_files.badge_delta_detected": "Delta detected", + "admin_files.badge_duplicate": "dup", + "admin_files.badge_in_db": "in DB", + "admin_files.badge_on_disk": "on disk", + "admin_files.breadcrumb_workdir": "workdir", + "admin_files.btn_download": "Download", + "admin_files.col_actions": "Actions", + "admin_files.col_db": "DB", + "admin_files.col_health": "Health", + "admin_files.col_id": "ID", + "admin_files.col_ingested": "Ingested", + "admin_files.col_local_filename": "local_filename", + "admin_files.col_missing_paths": "Missing paths", + "admin_files.col_modified": "Modified", + "admin_files.col_name": "Name", + "admin_files.col_original_file_path": "original_file_path", + "admin_files.col_original_filename": "Original Filename", + "admin_files.col_path_relative": "Path (relative to workdir)", + "admin_files.col_processed_file_path": "processed_file_path", + "admin_files.col_size": "Size", + "admin_files.delta_detected_detail": "Found {orphan_count} orphan file(s) on disk with no DB record, and {ghost_count} DB record(s) with missing files on disk.", + "admin_files.delta_detected_title": "Delta detected.", + "admin_files.empty_database": "No file records found in the database.", + "admin_files.empty_directory": "This directory is empty.", + "admin_files.ghost_records_desc": "(in DB, file(s) missing on disk)", + "admin_files.ghost_records_heading": "Ghost records", + "admin_files.heading": "File Manager", + "admin_files.health_missing": "Missing", + "admin_files.health_ok": "OK", + "admin_files.legend_file_exists": "File exists on disk", + "admin_files.legend_file_missing": "File missing from disk", + "admin_files.legend_found_in_db": "Found in DB", + "admin_files.legend_not_in_db": "Not in DB (orphan)", + "admin_files.legend_path_not_set": "Path not set", + "admin_files.no_delta": "No delta found \u2014 filesystem and database are in sync.", + "admin_files.no_ghost_records": "No ghost records found.", + "admin_files.no_orphan_files": "No orphan files found.", + "admin_files.orphan_files_desc": "(on disk, no DB record)", + "admin_files.orphan_files_heading": "Orphan files", + "admin_files.page_title": "File Manager \u2013 Admin", + "admin_files.status_in_db": "In DB", + "admin_files.status_orphan": "Orphan", + "admin_files.tab_database": "Database Records", + "admin_files.tab_filesystem": "Filesystem", + "admin_files.tab_reconcile": "Reconcile", "admin_users.add_user_profile_btn": "Add User Profile", "admin_users.admin_only_badge": "Admin Only", "admin_users.btn_password": "Password",