Native FileChooser only in English language?

The native FileChooser does not consider the language of macOS and always appears in English language in my application. This applies to the FileChooser itself (the buttons are labelled in English) and to the displayed folder names (the German “Programme” is displayed as “Applications”, etc.). This only happens in macOS, whereas in Windows everything is fine.
I can’t find out how to switch the FileChooser to the native macOS language. Am I missing something?

Thank you very much for a hint how to achieve this.
Christoph

1 Like

It looks like there are a couple of options to get this to work in the way you expect:

  • Add an explicit localisation to your application that matches the system locale. It seems that macOS prefers not to mix localisations by default, so I think that the FileChooser locale is being chosen to match the locale of the app. You can declare support for particular locales by adding the following to your app’s plist. You can do this from the “Custom Plist” field in the Projucer, or the PLIST_TO_MERGE option in JUCE’s CMake support:
    <plist>
      <dict>
        <key>CFBundleLocalizations</key>
        <array>
          <string>en</string>
          <string>de</string>
        </array>
      </dict>
    </plist>
    
    
  • Alternatively, add this key to your plist, in the same way:
    <plist>
      <dict>
        <key>CFBundleAllowMixedLocalizations</key>
        <true/>
      </dict>
    </plist>
    
    This key allows localisation strings to be loaded from linked frameworks, so the strings for the file chooser will be loaded from the appropriate bundle. I suspect this technique is potentially slightly less safe, so I’d recommend going with the first approach.

Thank you very much for your hint - it works absolutely flawless!
All the best for 2022!