German Translation - per-org string overrides for MSC (e.g. formal vs. informal German)

4 views
Skip to first unread message

Daniel Hug

unread,
Nov 6, 2026, 12:36:15 PM (4 days ago) Nov 6
to munki-discuss
Hi all,

Feature idea for Managed Software Center. I'd like to check whether it would be welcome before writing any code.

USE CASE
We're rolling out Munki as the self-service software portal for our Macs (replacing the Intune Company Portal). Our IT department addresses colleagues informally in German ("du"), but MSC's German localization uses the formal "Sie". Custom templates let us brand the banners and footer nicely, but the built-in strings ("Ihre Software ist auf dem neuesten Stand.", "Sie müssen die folgenden Programme beenden...", etc.) can't be changed without modifying the app bundle, which breaks the signature.

Right now we work around this with a small JS in the footer that swaps the ~30 formal strings in the web views. That works for the HTML pages, but not for the native alerts (quit apps, restart, power source, force quit), and it's fragile.

PROPOSAL
Allow string overrides through client resources, similar to how custom/sidebar.plist already supports localized_strings. For example:

    site_default.zip
      templates/
      resources/
      strings/de.lproj/Localizable.strings   (only the keys you want to override)

MSC would look up the override first and fall back to its bundled translation. Since this happens at lookup time, it covers both the web views and native alerts. Optionally the same could be done through a managed preference (e.g. a LocalizationOverrides dict in the MSC/ManagedInstalls domain), but the client resources approach feels more consistent with the existing customization model.

It isn't only about du/Sie: it would also let orgs replace "contact your systems administrator" with their actual help desk name, or adjust wording for any language, without touching the localization upstream.

I'm explicitly NOT asking to change the shipped German translation to "du". Other orgs will want to keep "Sie".

RELATED, SMALLER THING
The German CFBundleDisplayName is "Geführte Softwareaktualisierung" ("guided software update"), which doesn't really describe what MSC is, and it's what users see in Finder, Spotlight and the Dock. Most other localizations (da, fi, ja, nb, nl, sv) simply keep "Managed Software Center". I've opened an issue suggesting to keep "Managed Software Center" in German as well:
https://github.com/munki/munki/issues/1411

Would something like this be acceptable? If so, I'd be happy to put together a PR against the Swift MSC (a small wrapper around the localized string lookup plus loading the overrides from the extracted client resources). Any hints on where you'd want that to live, or concerns about the approach, would be very welcome.

Thanks!

Gregory Neagle

unread,
Nov 6, 2026, 12:58:53 PM (4 days ago) Nov 6
to munki-...@googlegroups.com
This sounds like a nice feature that would allow admins to further customize Managed Software Center to their needs.

A function that replaces NSLocalizedString would cover most of the cases inside Managed Software Center. I do see some use of Bundle.main.localizedString, which may need to be converted/modified. (Not remembering why that’s used in those places.)

I’d love to hear others’ reactions.

-Greg

--
You received this message because you are subscribed to the Google Groups "munki-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to munki-discus...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/munki-discuss/13e77101-f7c8-4318-8b16-2ccd1e33df41n%40googlegroups.com.

Reply all
Reply to author
Forward
0 new messages