Repository navigation
feat(agent,agent-installer): add Swedish localization - #2031
Conversation
|
Implementation notes (supersedes #1984):
Testing:
I did not add a CI check that fails when generated files drift. It would need a Windows runner with Visual Studio's text templating component. Note Human-tuned, LLM-assisted content. |
Let maintainers know that an action is required on their side
|
There was a problem hiding this comment.
Copilot review overview
🔵 Needs a closer look
The Windows-only T4 generation and MSI transform embedding paths require confirmation from CI artifacts.
Review effort: Balanced
Findings: None
What changed in this PR
Adds Swedish localization for the Agent installer and Desktop Agent, while generalizing multilingual MSI assembly. No material static-review findings were identified.
Changes:
- Adds Swedish installer and tray resources.
- Embeds all configured language transforms.
- Documents and automates localization generation.
| File | Description |
|---|---|
package/WindowsManaged/Resources/Strings.g.tt |
Adds generated-file notice. |
package/WindowsManaged/Resources/DevolutionsGateway_fr-fr.wxl |
Regenerates French localization. |
package/WindowsManaged/Resources/DevolutionsGateway_en-us.wxl |
Regenerates English localization. |
package/WindowsManaged/Resources/DevolutionsGateway_de-de.wxl |
Regenerates German localization. |
package/WindowsManaged/README.md |
Documents localization workflow. |
package/Update-InstallerLocalization.ps1 |
Adds localization regeneration script. |
package/AgentWindowsManaged/Resources/Strings.g.tt |
Registers Swedish generation. |
package/AgentWindowsManaged/Resources/Strings_sv-SE.json |
Adds Swedish installer strings. |
package/AgentWindowsManaged/Resources/DevolutionsAgent_sv-se.wxl |
Adds generated Swedish WiX localization. |
package/AgentWindowsManaged/Resources/DevolutionsAgent_fr-fr.wxl |
Regenerates French localization. |
package/AgentWindowsManaged/Resources/DevolutionsAgent_en-us.wxl |
Regenerates English localization. |
package/AgentWindowsManaged/README.md |
Documents Agent regeneration command. |
package/AgentWindowsManaged/Program.cs |
Selects and embeds Swedish localization. |
package/AgentWindowsManaged/DevolutionsAgent.csproj |
Embeds the Swedish WiX resource. |
package/AgentWindowsManaged/.gitignore |
Ignores Swedish build outputs. |
dotnet/DesktopAgent/Properties/Resources.sv.resx |
Adds Swedish Desktop Agent strings. |
ci/tlk.ps1 |
Registers Swedish packaging metadata. |
ci/package-assembled.ps1 |
Embeds every configured transform. |
ci/package-agent-windows.ps1 |
Updates generated-output documentation. |
ci/Build/Build.psm1 |
Adds Swedish to Agent languages. |
AGENTS.md |
Establishes localization conventions. |
.agents/skills/installer-localization/SKILL.md |
Adds installer-localization workflow guidance. |
💡 Configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Devolutions Agent now installs in Swedish on systems using a Swedish UI language, and the Desktop Agent tray menu and messages are translated. Swedish was contributed by Daniel Nylander. Issue: #1983 Co-authored-by: Daniel Nylander <github@danielnylander.se> Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
f395591 to
58fc00b
Compare
I ran the .msi from CI with |
| #### Windows installer localization | ||
| The installer strings under `package/WindowsManaged/Resources` and `package/AgentWindowsManaged/Resources` are generated. | ||
| **Never edit `*.wxl` or `Strings.g.cs` by hand.** | ||
| Edit `Strings_<culture>.json` (`en-US` is the source of truth), then regenerate: | ||
| ```powershell | ||
| package\Update-InstallerLocalization.ps1 | ||
| ``` | ||
| Commit the JSON and the regenerated files together, and make sure regeneration leaves no further diff. | ||
| Missing keys in a non-English JSON fall back to English. | ||
| To add a language, follow `.agents/skills/installer-localization/SKILL.md`. | ||
| The `Resources.<culture>.resx` files of the Desktop Agent are ordinary .NET satellite resources and are edited directly. |
There was a problem hiding this comment.
issue: This is already a problem today, as-is, but I want to reduce the size of the AGENTS.md file in favor of smaller, targeted skills.
suggestion: Since you already added a skill, there is low value to this being here, and I suggest we don’t grow the top-level AGENTS.md file further.
As an alternative, I think it could be good to have that in a different AGENTS.md file living under package/ instead, or even better: under AgentWindowsManaged and WindowsManaged (duplicate the contents).
The reason is that I want to split Gateway and Agent in two repos, and these instructions are almost always relevant when modifying the installer specifically, and much less so when modifying the linux/Docker packages
There was a problem hiding this comment.
Fixed, thanks!
…ojects Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Devolutions Agent now installs in Swedish on systems using a Swedish UI language, and the Desktop Agent tray menu and messages are translated.
Swedish was contributed by Daniel Nylander.
Co-authored-by: Daniel Nylander github@danielnylander.se