How to localise a string inside the iOS info.plist file?

How to Localise a String inside the iOS info.plist file? π±π
Are you struggling with localising a string inside the info.plist file in iOS? Don't worry, you're not alone! Many developers face this challenge when trying to provide location services to their users. In this blog post, we will address common issues, provide easy solutions, and empower you to overcome this hurdle with ease. Let's dive in! πͺβ¨
The Context: Adding NSLocationWhenInUseUsageDescription π
As you may already know, starting from iOS 8, the NSLocationWhenInUseUsageDescription key is required when accessing a user's location. This key allows you to provide a clear description to the user about the purpose of accessing their location. Including this key value pair in your info.plist is essential to ensure a smooth user experience. Here's an example of how it looks like:
<key>NSLocationWhenInUseUsageDescription</key>
<string>We need access to your location to provide you with the best recommendations! π</string>The Dilemma: Using Translation Strings inside the plist file πβ
The real challenge arises when you want to localise this string inside the info.plist file. You may already have a Localizable.strings file set up for the rest of your app's localisation needs, but how can you leverage it for your info.plist localisation?
The Solution: NSLocalizedString to the Rescue! ππ€
Fortunately, there is a way to utilise your existing Localizable.strings file within the info.plist. By using the NSLocalizedString function, you can retrieve the localised version of your string from the Localizable.strings file based on the device's language preferences.
Here's how you can implement it:
Open your
info.plistfile.Locate the key-value pair for
NSLocationWhenInUseUsageDescription.Replace the original string with the
NSLocalizedStringmacro, passing your desired string as the first argument, andnilas the second argument.
Your modified info.plist should look like this:
<key>NSLocationWhenInUseUsageDescription</key>
<string>NSLocalizedString("LocationDescriptionKey", nil)</string>Now, head over to your
Localizable.stringsfile and add the key-value pair for the desired language. For example:
"LocationDescriptionKey" = "Nous avons besoin de votre position pour vous fournir des recommandations personnalisΓ©es ! π";Finally, ensure that your
Localizable.stringsfile is properly configured for your desired languages in Xcode's project settings. β
That's it! π Now, the NSLocalizedString function will automatically retrieve the appropriate translation for the NSLocationWhenInUseUsageDescription string based on the user's language preferences.
Your Turn! π£
We hope this guide has helped you to localise a string inside the iOS info.plist file seamlessly. Now, it's your turn to implement these steps and provide an enhanced localisation experience to your users. Let us know in the comments below if you have any questions or if there's anything else you need assistance with. Happy coding! π»π
Take Your Tech Career to the Next Level
Our application tracking tool helps you manage your job search effectively. Stay organized, track your progress, and land your dream tech job faster.



