AgentStack
SKILL verified MIT Self-run

Maui Localization

skill-davidortinau-maui-skills-maui-localization · by davidortinau

>-

No reviews yet
0 installs
8 views
0.0% view→install

Install

$ agentstack add skill-davidortinau-maui-skills-maui-localization

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

Are you the author of Maui Localization? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

.NET MAUI Localization

Common gotchas

| Issue | Fix | |---|---| | ResourceManager returns null for default culture | Set en-US in .csproj | | iOS ignores culture overrides | CFBundleLocalizations missing from Info.plist | | Windows doesn't show correct language | ` missing from Package.appxmanifest | | x:Static bindings don't update on language switch | x:Static is one-time — use binding approach with INotifyPropertyChanged | | .Designer.cs not regenerating in VS Code | Add PrepareResources;$(CoreCompileDependsOn) and run dotnet build` |

⚠️ NeutralLanguage is mandatory


  en-US

Platform declarations — don't forget these

iOS / Mac Catalyst

⚠️ Without this, iOS won't offer your app's languages in system Settings:


CFBundleLocalizations

  en
  es
  fr

Windows


  
  
  

Android

Android picks up .resx-based localization automatically. No additional manifest entries required. ✅

Runtime language switching — x:Static trap

When switching culture, set all three properties or formatting is inconsistent:

// ✅ Complete culture switch
var culture = new CultureInfo("es");
CultureInfo.CurrentUICulture = culture;  // resource lookup
CultureInfo.CurrentCulture = culture;     // dates/numbers
AppResources.Culture = culture;           // ResourceManager

// ❌ Only sets UI culture — dates/numbers stay in old culture
CultureInfo.CurrentUICulture = new CultureInfo("es");

RTL layout — set FlowDirection at page level


  

  

VS Code pitfall

⚠️ .Designer.cs may not regenerate on save. Add to .csproj and run dotnet build after .resx changes:

PrepareResources;$(CoreCompileDependsOn)

Decision framework

| Need | Approach | |---|---| | Static multilingual strings | .resx files with x:Static bindings | | Runtime language switching | LocalizationResourceManager with INotifyPropertyChanged bindings | | Culture-specific images | Name images banner_{culture}.png or store paths in .resx | | RTL support | Set FlowDirection at page level, detect with TextInfo.IsRightToLeft | | Date/number formatting | Set CultureInfo.CurrentCulture alongside CurrentUICulture |

Quick checklist

  • [ ] NeutralLanguage set in .csproj
  • [ ] Default AppResources.resx contains all keys
  • [ ] Each target language has its own AppResources.{culture}.resx
  • [ ] iOS/Mac: CFBundleLocalizations lists all supported languages
  • [ ] Windows: Package.appxmanifest declares ``
  • [ ] RTL cultures set FlowDirection at page/app level
  • [ ] Runtime switching sets all three: CurrentUICulture, CurrentCulture, AppResources.Culture
  • [ ] dotnet build regenerates .Designer.cs after .resx changes

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.