argv-minus-one / dmg-license

Generate license agreements for macOS .dmg files
MIT License
19 stars 6 forks source link

Localized names of some languages start with lowercase letter. #16

Open knaos opened 2 years ago

knaos commented 2 years ago

Hello. What is the reasoning behind using lowercase letters for some language's localizedNames? For example French or Italian? We are trying to add multiple license files to an application but in the language select some of them are with capital letters and some of them lowercase.

image

I tried to change those values by providing configuration in licenseButtons file but none seems to work.

argv-minus-one commented 2 years ago

First of all, a warning: you probably shouldn't be using this. DMG license functionality is deprecated by Apple, isn't fully functional any more (hdiutil attach no longer shows the license), and will probably be removed from macOS entirely soon. See issue #11 for details.

Anyway, the default language names are taken from Java, specifically the LocaleNames_*.properties files in this folder. Why some of them are capitalized and others not, I have no idea.

I would have preferred to use an Apple or JavaScript API for this, but I couldn't find one, so I went with Java. There now is a JavaScript API for this purpose, but I don't believe it existed when I wrote dmg-license. Moreover, it has the same problem (tested in Node.js 16.13.0 on Linux):

> new Intl.DisplayNames(['it'], {type: 'language'}).of('it')
'italiano'

You should be able to override the language name with a languageName field in your labels (that's what dmg-license calls them; electron-builder calls them licensebuttons, but it's mostly the same thing). Did you already try that? If so, did you use the correct field name?

Enoxyzz commented 1 year ago

I bumped upon the same thing. Hoped I could change that in the language-info.json file, but couldn't, no effect. Are you sure that DMG license functionality is deprecated by Apple? Can't find a source at Apple for that.

argv-minus-one commented 1 year ago

@Enoxyzz:

Hoped I could change that in the language-info.json file, but couldn't, no effect.

Again, you need to supply a languageName in your labels for that language if you want to change the displayed language name.

Are you sure that DMG license functionality is deprecated by Apple? Can't find a source at Apple for that.

If you run man hdiutil on an up-to-date Mac, type /Deprecated hdiutil, and press Return, you should see the deprecation notice from Apple.