If your Info.plist contains the CFBundleDisplayName
key (shown as "Bundle display name" in your screenshot) and if its value matches the name of the app bundle on disk (minus the .app extension), then Launch Services searches the app bundle for a InfoPlist.strings file among the localizations matching the user's selected language(s). If it finds one and that has a localization for the CFBundleName
key, then it uses that localization as the display name for the bundle.
The Finder, Dock, file dialogs, etc. all use the display name as obtained from Launch Services when presenting files and directories to the user.
The comparison of the Info.plist value to the name on disk is to allow users to rename app bundles however they like. If the user has renamed it, the strings won't match and there's no attempt to localize the user-supplied name. However, if the strings do match, that suggests the user hasn't renamed it (or has carefully renamed it back to the real original value, not the apparent original value), so the app-provided localization is respected.
.app/Contents/MacOS
is somehow responsible. The executable should technically be namednw-demo
rather thannwjs
... – LeatheryInfo.plist
to referencenw-demo
instead ofnwjs
but it doesn't seem to make a difference. Plus, I've other apps which use annwjs
executable like that and they're fine. – Photophore