Skip to content

chore: sync alpha → alpha-backup (automated) - #4499

Merged
PWagner1 merged 1 commit into
alpha-backupfrom
alpha
Oct 6, 2026
Merged

PWagner1 merged 1 commit into
alpha-backupfrom
alpha

Conversation

@github-actions

@github-actions github-actions Bot commented Oct 6, 2026

Copy link
Copy Markdown

Automated PR: alpha has had commits in the last 24 hours. Merge to update alpha-backup.

Triggered by Alpha to Alpha-Backup Sync workflow.

# Feature: Translations catalogue follow-ups (#4370)

## Summary

Keeps culture files upgradeable as the toolkit and custom string catalogues grow: grouped coverage reports, opt-in strict import, custom-string Analyse / Merge Missing, and scripted smoke tests. Default import stays tolerant.

## Related issues

- Closes #4370
- Parent: #4088

## Type of change

- [ ] Bug fix (`Resolved`)
- [x] Feature / enhancement (`Implemented`)
- [ ] **Breaking change** (API removal/rename, behavior change requiring migration, assembly/namespace move)
- [ ] Documentation only

## Changes

- `ToolkitStringsCoverage.FormatGrouped` and `ExportReport` (CSV or JSON).
- Optional `strictCatalog` on toolkit and `KryptonCustomStrings` import. Default remains best-effort.
- Opt-in `KryptonStringTranslation.AutoTranslateMissingStrings` (default off) plus `IKryptonStringTranslator`. Merge Missing translates only newly added keys. No built-in online translator.
- `KryptonCustomStrings.AnalyzeTranslationsFromFile` / `MergeMissingTranslationsToFile`, plus a `ToolkitVersion` export stamp.
- Designer Analyse / Merge Missing verbs for `KryptonManager` and `KryptonCustomStringsManager`.
- TestForm grouped coverage, coverage-report save, strict-import checkbox, and custom-string Analyse / Merge Missing.
- `Scripts/UnitTests/UnitTest-ToolkitTranslationsCoverage.ps1` and `UnitTest-CustomTranslationsCoverage.ps1` (`# UnitTest-CI: include`).

## Affected packages & target frameworks

- Packages: `Krypton.Toolkit`, `Krypton.Toolkit.Utilities`, TestForm.
- TFMs verified: `net472` Debug.

## Validation

- TestForm: `TranslationsXmlDemoForm` and `ApplicationStringsTest` (start screen).
- Manual steps:
  1. Export a full `ToolkitTranslations.xml`, delete one key, Analyse — missing key is grouped by section.
  2. Merge Missing — missing count returns to zero and an edited value remains.
  3. Enable Strict catalog and import the stale file — import throws and does not apply.
- Scripts:
  - `powershell -NoProfile -ExecutionPolicy Bypass -STA -File .\Scripts\UnitTests\UnitTest-ToolkitTranslationsCoverage.ps1`
  - `powershell -NoProfile -ExecutionPolicy Bypass -STA -File .\Scripts\UnitTests\UnitTest-CustomTranslationsCoverage.ps1`
- Build: `dotnet build ".\Source\Krypton Components\Krypton.Toolkit\Krypton.Toolkit 2022.csproj" -c Debug -f net472` and the Utilities / TestForm projects (succeeded).

## Documentation

- Changelog entry under #4370.

## Migration / breaking changes

None. `strictCatalog` defaults to `false`.

## Demos

Standard-Toolkit-Demos has no dedicated toolkit-translations example. Analyse / Merge Missing was appended to **Application Menu** (it already edits `KryptonManager.Strings`) on branch `alpha-4370-translations-coverage`.
@github-actions
github-actions Bot requested a review from a team as a code owner October 6, 2026 03:09
@PWagner1
PWagner1 merged commit ba0f939 into alpha-backup Oct 6, 2026
13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant