Localization of Mac app names?

I am running into the same problem as jTouch describes here: https://forums.coronalabs.com/topic/59750-mac-desktop-app-name-i18n/

I am trying to submit a Mac build (ported from iOS) that has 11 language localizations. On iOS I localize the display name with the .lproj folders with InfoPlist.strings files inside as described here: http://lauratallardy.com/app-localization-made-easy/ and it works fine.

 

On mac builds this approach doesn’t work. Even though - as far as I can understand from reading apples documentation - it should work the same way for iOS/Mac. So I guess Corona should enable it somehow in the build process for desktop applications?

 

Right now this is a problem for me because apple rejected my app saying:

 

3.4

The app name to be displayed on the App Store does not sufficiently match the name of the app displayed when installed on Mac OS X.

Could someone please take a look at this? Thanks

The next Daily Build (CoronaSDK 2016.2809 or above) will contain a new build.settings option to allow the inclusion of arbitrary files in the Resource directory of your app which should address this issue.

From the docs:

Including Resources

Sometimes it’s necessary to include certain files in your application to support specific OS X features. One example of this is localization, which is achieved at the operating system level (e.g. the Finder’s label for an app) using .lproj directories in the application’s Resource directory. For background, see Apple’s internationalization page. Note that this mechanism to include arbitrary resources in your app is only intended to enable the knowledgable to complete certain tasks and is not intended to automate anything. 

To include arbitrary files in your app’s Resource directory add a  bundleResourcesDirectory  entry to your project’s build.settings for OS X builds.

For example:

osx = { bundleResourcesDirectory = "osx-resources", },

and in the project, the contents of the “osx-resources” directory might look something like:

fr.lproj/ osx-resources/fr.lproj: InfoPlist.strings

this results in the fr.lproj directory ending up in MyApp.app/Content/Resources/fr.proj.

You will probably want to add the directory you use as your  bundleResourcesDirectory  to your excluded files.

Thanks Perry

Once again you saved my day.

@Perry

Just want to confirm that localization of display names works with the new “inclusion of resources” option.

Thanks again.

For everyone else who want to localize their mac app display names ( following this guide http://lauratallardy.com/app-localization-made-easy/ ). Remember to add both CFBundleDisplayName and CFBundleName to the infoPlist files:

CFBundleDisplayName = "App name"; CFBundleName = "App name";

The CFBundleName entry is not mentioned in the guide, but if you don’t add it users will not be able to search for the localized app name in finder and spotlight search. And there may be more side-effects.

Thanks for the feedback … it’s good to know when things work the way we intended.

The next Daily Build (CoronaSDK 2016.2809 or above) will contain a new build.settings option to allow the inclusion of arbitrary files in the Resource directory of your app which should address this issue.

From the docs:

Including Resources

Sometimes it’s necessary to include certain files in your application to support specific OS X features. One example of this is localization, which is achieved at the operating system level (e.g. the Finder’s label for an app) using .lproj directories in the application’s Resource directory. For background, see Apple’s internationalization page. Note that this mechanism to include arbitrary resources in your app is only intended to enable the knowledgable to complete certain tasks and is not intended to automate anything. 

To include arbitrary files in your app’s Resource directory add a  bundleResourcesDirectory  entry to your project’s build.settings for OS X builds.

For example:

osx = { bundleResourcesDirectory = "osx-resources", },

and in the project, the contents of the “osx-resources” directory might look something like:

fr.lproj/ osx-resources/fr.lproj: InfoPlist.strings

this results in the fr.lproj directory ending up in MyApp.app/Content/Resources/fr.proj.

You will probably want to add the directory you use as your  bundleResourcesDirectory  to your excluded files.

Thanks Perry

Once again you saved my day.

@Perry

Just want to confirm that localization of display names works with the new “inclusion of resources” option.

Thanks again.

For everyone else who want to localize their mac app display names ( following this guide http://lauratallardy.com/app-localization-made-easy/ ). Remember to add both CFBundleDisplayName and CFBundleName to the infoPlist files:

CFBundleDisplayName = "App name"; CFBundleName = "App name";

The CFBundleName entry is not mentioned in the guide, but if you don’t add it users will not be able to search for the localized app name in finder and spotlight search. And there may be more side-effects.

Thanks for the feedback … it’s good to know when things work the way we intended.