Unable to localize driver name or description

I am trying to localize the CFBundleDisplayName and OSBundleUsageDescription of a driver that is part of an app.

I am able to use InfoPlist.strings files to localize the Bundle display name for the app, but when I try to use the same file as part of the driver, the name displayed in settings for the app does not change correctly.

In fact, it seems to follow the default language set in the xcode project. If the default language is not included in the suite of InfoPlist.strings files, it seems to take the string from the info.plist file. sometimes it just seems to take the English version regardless of the default language or tablet language.

Has anyone had success with this?

I am trying to localize the CFBundleDisplayName and OSBundleUsageDescription of a driver that is part of an app.

I am able to use InfoPlist.strings files to localize the Bundle display name for the app, but when I try to use the same file as part of the driver, the name displayed in settings for the app does not change correctly.

So, the basic localization process is the same for all bundles, so in theory, this should "just work". However, one thing that might be useful for testing/experimentation purposes is that the KEXT system is currently using NSBundle.localizedInfoDictionary, not localizing specific strings (which is somewhat different). I'd use that API to validate (and fix if necessary) your configuration, then worry about setting after that data is "right".

One other small testing suggestion I have here is to not use actual localized data, but instead use unique strings that unambiguously identify their "source", avoiding the "where did that string come from??" confusion.

Finally, if you haven't already, please file a bug on this that includes a copy of the DEXT you're trying to localize, then post the bug number back here.

In fact, it seems to follow the default language set in the Xcode project.

Yes. CFBundleDevelopmentRegion is the "fallback" localization that's used if/when the system can't match the localization of the system itself.

If the default language is not included in the suite of InfoPlist.strings files, it seems to take the string from the info.plist file.

Yes. That's the final string it will use if localization fails entirely.

Sometimes it just seems to take the English version regardless of the default language or tablet language.

I don't think the system will specifically choose English; however, the localization system is a sorted list of preferred languages, so it could have fallen back to it.

__
Kevin Elliott
DTS Engineer, CoreOS/Hardware

Thanks for the answer, though we still have not had any success.

https://feedbackassistant.apple.com/feedback/19418152 here is the bug with the dext uploaded

However, one thing that might be useful for testing/experimentation purposes is that the KEXT system is currently using NSBundle.localizedInfoDictionary, not localizing specific strings (which is somewhat different)

After loading the DEXT as a bundle and printing out the localizedInfoDictionary, the CFBundleDisplayName is localized according to the devices language from settings but the name of the driver on the settings screen doesn’t change.

After loading the DEXT as a bundle and printing out the localizedInfoDictionary, the CFBundleDisplayName is localized according to the devices language from settings but the name of the driver on the settings screen doesn’t change.

Have you been able to determine what key it's displaying? Is it the base value in the Info.plist or something else?

__
Kevin Elliott
DTS Engineer, CoreOS/Hardware

Unable to localize driver name or description
 
 
Q