Flutter localization works on both Android and iOS platforms, but localizing a Flutter app for iOS platform requires additional configuration compared to Android. One of the main reasons why localization may not work on iOS is that the Info.plist file needs to be updated with the supported locales configuration. This file is an essential configuration file in iOS development and contains information about the app's name, version, supported device orientations, and other critical details. To add support for localization, the developer must include a list of supported locales in the Info.plist file.
To make sure your Flutter app runs smoothly on iOS, you need to ensure that the list of supported locales in the Info.plist file matches the locales specified in your app. Here's a code snippet that demonstrates how to add configuration for the English and German (Germany) languages. Note that the entries are language IDs, so a regional variant is written with a hyphen (de-DE), not with an underscore.
The ios/Runner/Info.plist file:
<key>CFBundleLocalizations</key>
<array>
<string>en</string>
<string>de-DE</string>
</array>
Alternatively, you can add the languages in Xcode (select the Runner project, open the Info tab, and click + in the Localizations section), which is the approach the current Flutter documentation describes. Xcode then creates empty .strings files and records the languages in the project.pbxproj file.
Published Mar 29, 2023 · Last reviewed Oct 9, 2026 · Markdown version