Archive 5 phases (36 plans) to milestones/v1.0-phases/. Archive roadmap, requirements, and audit to milestones/. Evolve PROJECT.md with shipped state and validated requirements. Collapse ROADMAP.md to one-line milestone summary. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
4.3 KiB
phase, plan, subsystem, tags, requires, provides, affects, tech-stack, key-files, key-decisions, patterns-established, requirements-completed, duration, completed
| phase | plan | subsystem | tags | requires | provides | affects | tech-stack | key-files | key-decisions | patterns-established | requirements-completed | duration | completed | ||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 05-distribution-and-hardening | 02 | ui |
|
|
|
|
|
|
|
|
|
3min | 2026-04-03 |
Phase 5 Plan 02: French Locale Fix and Single-File Publish Summary
27 French diacritic corrections across all Phase 4 UI string keys, plus conditional win-x64 single-file publish producing one ~200 MB EXE with zero loose DLLs
Performance
- Duration: ~3 min
- Started: 2026-04-03T11:53:46Z
- Completed: 2026-04-03T11:56:06Z
- Tasks: 2
- Files modified: 2
Accomplishments
- Fixed all 27 French strings missing diacritics (accents, cedillas) across Transfer, BulkMembers, BulkSites, FolderStruct, Templates, and shared bulk-operation keys
- Added conditional
<PropertyGroup>to csproj enablingdotnet publish -p:PublishSingleFile=trueto produce a single self-contained EXE for win-x64 - Full test suite remains green: 134 pass, 22 skip (interactive MSAL tests — expected)
Task Commits
Each task was committed atomically:
- Task 1: Fix French diacritic-missing strings -
f7829f0(fix) - Task 2: Add self-contained single-file publish configuration -
39517d8(feat)
Files Created/Modified
SharepointToolbox/Localization/Strings.fr.resx— 27 string values corrected with proper French diacriticsSharepointToolbox/SharepointToolbox.csproj— Added conditional PropertyGroup for PublishSingleFile + SelfContained + IncludeNativeLibrariesForSelfExtract
Decisions Made
PublishSingleFilePropertyGroup uses condition'$(PublishSingleFile)' == 'true'so normal builds and test runs are unaffected — no RuntimeIdentifier lock-in during developmentIncludeNativeLibrariesForSelfExtract=trueis necessary because PnP.Framework includes native binaries that must be bundledPublishTrimmedstays false (pre-established project decision — PnP.Framework and MSAL rely on reflection)
Deviations from Plan
None - plan executed exactly as written.
Also corrected bulk.confirm.title ("Confirmer l'operation" -> "Confirmer l'opération") and templates.empty ("Aucun modele enregistre." -> "Aucun modèle enregistré.") and templates.opt.settings ("Parametres du site" -> "Paramètres du site") which were not in the plan's numbered list but were clearly broken diacritics in the same file. These fell under Rule 1 (auto-fix bugs) as they were defects in the same file being edited.
Issues Encountered
None.
User Setup Required
None - no external service configuration required.
Next Phase Readiness
- French locale is now complete with proper diacritics across all 4 phases of UI strings
- Single-file publish is ready:
dotnet publish SharepointToolbox/SharepointToolbox.csproj -c Release -p:PublishSingleFile=true -o ./publish - Two Phase 5 success criteria (French locale + single EXE) now satisfied
- Remaining Phase 5 work: Plan 01 (tests), Plan 03 (installer/README), Plan 04 (final QA)
Phase: 05-distribution-and-hardening Completed: 2026-04-03