Skip to content

feat: extract UI strings and add pt-BR localization#13

Merged
jvsena42 merged 2 commits into
mainfrom
feat/translations
Mar 29, 2026
Merged

feat: extract UI strings and add pt-BR localization#13
jvsena42 merged 2 commits into
mainfrom
feat/translations

Conversation

@jvsena42
Copy link
Copy Markdown
Owner

Summary

Extract all hardcoded UI strings (~130 per platform) to platform-native string resource files and add Brazilian Portuguese (pt-BR) translations for both Android and iOS.

Changes

  • Android string resources: Expanded values/strings.xml from 1 to ~130 strings + 4 plural entries; created values-pt-rBR/strings.xml with full pt-BR translations
  • iOS localization files: Created en.lproj/ and pt-BR.lproj/ with Localizable.strings, Localizable.stringsdict (plurals), and InfoPlist.strings
  • Android UI refactoring (14 files): Replaced all hardcoded strings with stringResource() / pluralStringResource() calls; converted enum display name functions (Category, Season, Fit, Material, Subcategory, BodyType, StyleProfile, AgeRange, Climate, Lifestyle) to @Composable backed by string resources; Tab enum now uses @StringRes
  • iOS UI refactoring (13 files): Replaced all hardcoded strings with String(localized:) / String(format:) calls; WornTab enum refactored with localized label computed property
  • Xcode project: Added pt-BR to knownRegions in project.pbxproj

Test plan

  • Build Android (./gradlew :composeApp:assembleDebug) — passes
  • Run ./gradlew detekt — passes with 0 issues
  • Launch Android app with device language set to English — all strings display correctly
  • Launch Android app with device language set to pt-BR — all strings display in Portuguese
  • Open iOS project in Xcode and build — compiles successfully
  • Launch iOS app with device language set to English — all strings display correctly
  • Launch iOS app with device language set to pt-BR — all strings display in Portuguese
  • Verify plurals work correctly (e.g., "1 selected" vs "2 selected", "Delete 1 item?" vs "Delete 3 items?")

Checklist

  • ./gradlew detekt passes
  • Tested on Android
  • Tested on iOS
  • Updated documentation (if applicable)

🤖 Generated with Claude Code

@jvsena42 jvsena42 enabled auto-merge March 28, 2026 23:57
@jvsena42 jvsena42 disabled auto-merge March 29, 2026 00:00
@jvsena42 jvsena42 enabled auto-merge March 29, 2026 00:00
@jvsena42 jvsena42 merged commit 696e200 into main Mar 29, 2026
1 check passed
@jvsena42 jvsena42 deleted the feat/translations branch March 29, 2026 00:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant