What problem does it solve?
Helps developers implement robust multi-language support in .NET MAUI apps by providing guidance on .resx resource usage, culture resolution and runtime switching, RTL layout handling, and necessary platform-level declarations so apps display the correct language, formatting, and assets across iOS, Android, Mac Catalyst, and Windows.
Core Features & Use Cases
- Resource-based localization: Use AppResources.resx and culture-specific AppResources.{culture}.resx files to provide translated strings with a proper NeutralLanguage fallback.
- Runtime language switching: Use a LocalizationResourceManager pattern with INotifyPropertyChanged and set CultureInfo.CurrentUICulture and CurrentCulture so UI strings and date/number formatting update without restarting.
- Platform manifest and RTL handling: Ensure CFBundleLocalizations is set for iOS/Mac Catalyst and <Resource Language="..."/> entries are in Package.appxmanifest for Windows, and set FlowDirection per page when supporting right-to-left languages.
- Use Case: Switch an app from English to Spanish at runtime, load culture-specific images, and ensure Arabic displays with correct right-to-left layout and platform language visibility in system settings.
Quick Start
Set NeutralLanguage in the .csproj, add AppResources.resx and AppResources.{culture}.resx files, declare CFBundleLocalizations and Windows Resources, and use a LocalizationResourceManager to change CultureInfo values at runtime.