From e83c4f34f1ae16290dc64655af50899e4cd88886 Mon Sep 17 00:00:00 2001 From: Dev Date: Thu, 2 Apr 2026 15:32:56 +0200 Subject: [PATCH] =?UTF-8?q?docs(03-06):=20complete=20Phase=203=20localizat?= =?UTF-8?q?ion=20plan=20=E2=80=94=2054=20EN/FR=20keys=20added=20for=20Stor?= =?UTF-8?q?age,=20Search,=20Duplicates=20tabs?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Sonnet 4.6 --- .planning/ROADMAP.md | 2 +- .planning/STATE.md | 11 +- .planning/phases/03-storage/03-06-SUMMARY.md | 115 +++++++++++++++++++ 3 files changed, 122 insertions(+), 6 deletions(-) create mode 100644 .planning/phases/03-storage/03-06-SUMMARY.md diff --git a/.planning/ROADMAP.md b/.planning/ROADMAP.md index 4dc3f63..5fd1ce0 100644 --- a/.planning/ROADMAP.md +++ b/.planning/ROADMAP.md @@ -125,6 +125,6 @@ Phases execute in numeric order: 1 → 2 → 3 → 4 → 5 |-------|----------------|--------|-----------| | 1. Foundation | 8/8 | Complete | 2026-04-02 | | 2. Permissions | 7/7 | Complete | 2026-04-02 | -| 3. Storage and File Operations | 3/8 | In Progress| | +| 3. Storage and File Operations | 4/8 | In Progress| | | 4. Bulk Operations and Provisioning | 0/? | Not started | - | | 5. Distribution and Hardening | 0/? | Not started | - | diff --git a/.planning/STATE.md b/.planning/STATE.md index d71ccf6..2c10f12 100644 --- a/.planning/STATE.md +++ b/.planning/STATE.md @@ -3,14 +3,14 @@ gsd_state_version: 1.0 milestone: v1.0 milestone_name: milestone status: executing -stopped_at: Completed 03-03-PLAN.md — Storage CSV and HTML export services -last_updated: "2026-04-02T13:31:45.058Z" +stopped_at: Completed 03-06-PLAN.md — Phase 3 EN/FR localization keys +last_updated: "2026-04-02T13:32:33.562Z" last_activity: 2026-04-02 — Plan 03-02 complete — StorageService CSOM scan engine implemented progress: total_phases: 5 completed_phases: 2 total_plans: 23 - completed_plans: 18 + completed_plans: 19 percent: 65 --- @@ -78,6 +78,7 @@ Progress: [██████░░░░] 65% | Phase 02-permissions P07 | 30min | 2 tasks | 6 files | | Phase 03-storage P01 | 10min | 2 tasks | 22 files | | Phase 03-storage P03 | 2min | 2 tasks | 2 files | +| Phase 03-storage P06 | 5min | 1 tasks | 3 files | ## Accumulated Context @@ -149,6 +150,6 @@ None yet. ## Session Continuity -Last session: 2026-04-02T13:31:45.056Z -Stopped at: Completed 03-03-PLAN.md — Storage CSV and HTML export services +Last session: 2026-04-02T13:32:33.560Z +Stopped at: Completed 03-06-PLAN.md — Phase 3 EN/FR localization keys Resume file: None diff --git a/.planning/phases/03-storage/03-06-SUMMARY.md b/.planning/phases/03-storage/03-06-SUMMARY.md new file mode 100644 index 0000000..32891b3 --- /dev/null +++ b/.planning/phases/03-storage/03-06-SUMMARY.md @@ -0,0 +1,115 @@ +--- +phase: 03-storage +plan: 06 +subsystem: ui +tags: [localization, resx, wpf, csharp, fr, en] + +# Dependency graph +requires: + - phase: 03-01 + provides: Models, interfaces, and project structure for Phase 3 tabs + +provides: + - EN and FR localization keys for Storage tab (14 keys each) + - EN and FR localization keys for File Search tab (26 keys each) + - EN and FR localization keys for Duplicates tab (14 keys each) + - Strongly-typed Strings.Designer.cs accessors for all 54 new keys + +affects: + - 03-07 (StorageViewModel/View — binds to storage keys via TranslationSource) + - 03-08 (SearchViewModel + DuplicatesViewModel + Views — binds to search/duplicates keys) + +# Tech tracking +tech-stack: + added: [] + patterns: + - "Dot-to-underscore key naming: key 'chk.per.lib' becomes accessor 'Strings.chk_per_lib'" + - "Manual Strings.Designer.cs maintenance (no ResXFileCodeGenerator — VS-only tool)" + - "Both .resx files use xml:space='preserve' on each element" + - "New keys appended before with comment block grouping by tab" + +key-files: + created: [] + modified: + - SharepointToolbox/Localization/Strings.resx + - SharepointToolbox/Localization/Strings.fr.resx + - SharepointToolbox/Localization/Strings.Designer.cs + +key-decisions: + - "Pre-existing keys grp.scan.opts, grp.export.fmt, btn.cancel verified present — not duplicated" + - "54 new designer properties follow established dot-to-underscore naming convention" + +patterns-established: + - "Phase grouping with XML comments: , , " + +requirements-completed: [STOR-01, STOR-02, STOR-04, STOR-05, SRCH-01, SRCH-02, SRCH-03, SRCH-04, DUPL-01, DUPL-02, DUPL-03] + +# Metrics +duration: 5min +completed: 2026-04-02 +--- + +# Phase 03 Plan 06: Localization — Phase 3 EN and FR Keys Summary + +**54 new EN/FR localization keys added across Storage, File Search, and Duplicates tabs with strongly-typed Strings.Designer.cs accessors using dot-to-underscore naming convention** + +## Performance + +- **Duration:** ~5 min +- **Started:** 2026-04-02T13:27:00Z +- **Completed:** 2026-04-02T13:31:33Z +- **Tasks:** 1 +- **Files modified:** 3 + +## Accomplishments +- Added 14 Storage tab keys in both EN (Strings.resx) and FR (Strings.fr.resx): per-library breakdown, subsites, note, generate/open buttons, 7 column headers, 2 radio buttons +- Added 26 File Search tab keys in both EN and FR: search filters group, extensions/regex/date filters, creator/modifier inputs, library filter, site URL, run/open buttons, 8 column headers, 2 radio buttons +- Added 14 Duplicates tab keys in both EN and FR: duplicate type radio buttons, comparison criteria group, 5 criteria checkboxes, subsites checkbox, library placeholder, run/open buttons +- Added 54 static properties to Strings.Designer.cs following established dot-to-underscore naming convention +- Build verified: 0 errors after all localization changes + +## Task Commits + +Each task was committed atomically: + +1. **Task 1: Add Phase 3 keys to Strings.resx, Strings.fr.resx, and Strings.Designer.cs** - `938de30` (feat) + +**Plan metadata:** (to be added by final commit) + +## Files Created/Modified +- `SharepointToolbox/Localization/Strings.resx` - 54 new EN data entries for Phase 3 tabs +- `SharepointToolbox/Localization/Strings.fr.resx` - 54 new FR data entries for Phase 3 tabs +- `SharepointToolbox/Localization/Strings.Designer.cs` - 54 new static property accessors + +## Decisions Made +None - followed plan as specified. Pre-existing keys verified with git stash/pop workflow to confirm build was clean before changes, and test failures confirmed pre-existing (from export service stubs planned for 03-03/03-05). + +## Deviations from Plan + +None - plan executed exactly as written. + +**Note:** Build had a transient CS1929 error on first invocation (stale compiled artifacts). Second `dotnet build` succeeded with 0 errors. The 9 test failures are pre-existing (export service stubs from plans 03-03/03-05, verified by stashing changes). + +## Issues Encountered +- Transient build error CS1929 on first `dotnet build` invocation (stale .NET temp project files). Resolved automatically on second build. + +## User Setup Required + +None - no external service configuration required. + +## Next Phase Readiness +- All Phase 3 localization keys now present — plans 03-07 and 03-08 can use `TranslationSource.Instance["key"]` XAML bindings without missing-key issues +- Wave 3: StorageViewModel/View (03-07) is unblocked +- Wave 4: SearchViewModel + DuplicatesViewModel + Views (03-08) is unblocked + +## Self-Check: PASSED + +- FOUND: SharepointToolbox/Localization/Strings.resx +- FOUND: SharepointToolbox/Localization/Strings.fr.resx +- FOUND: SharepointToolbox/Localization/Strings.Designer.cs +- FOUND: .planning/phases/03-storage/03-06-SUMMARY.md +- FOUND: commit 938de30 + +--- +*Phase: 03-storage* +*Completed: 2026-04-02*