(For HighSierra )Is there a way to set CFBundleAllowMixedLocalizations to false

Issue #29 new
IJabz
created an issue

Currently gets created as true, but if user on HighSierra and configured OSX to use a preferred language that is not English then java applications menu bars do not work - see http://blog.jthink.net/2017/09/fix-for-osx-high-sierra-breaking.html

Can i use appbundler to configure this as false, I could not see a way

Comments (3)

  1. IJabz reporter

    Sorry I realized that you dont actually add this key, i had a script amending the Info.plist file created by appbundler and adding in the following

    <key>CFBundleHelpBookFolder</key> <string>SongKongHelp</string> <key>CFBundleHelpBookName</key> <string>com.jthink.songkong.Help</string> <key>CFBundleAllowMixedLocalizations</key> <false/>

    so i can fix this, but is there way I could configure these entries within AppBundler instead of using my hack

  2. Sean Reilly

    Hi IJabz, thanks for the pointer to the CFBundleAllowMixedLocalizations fix - I'd been searching for a workaround to this problem! Although because of the side-effects with the main menu text I wonder if it would be a good idea to keep this solution in the scripts and outside of appbundler itself.

    For another app I use the PListBuddy command-line tool on the mac to manipulate the Info.plist from a script. I think you might be able to use something like the following:

        /usr/libexec/PlistBuddy filename.plist -c Set :CFBundleAllowMixedLocalizations false
    
  3. IJabz reporter

    Currently appbundler doesnt add at all, I think in normal circumstances it should add to true as you would want this to fix https://bugs.openjdk.java.net/browse/JDK-8019464, but for time being want to be set to false as English menu text lesser of two evils. Seems to be the kind of thing that should be in AppBundler rather than having to use another tool but yes in meantime PlistBuddy would work for me, thanks I didnt know about it.

  4. Log in to comment