feat: add Spanish and Italian language support with LanguagePicker - #37
Merged
Conversation
…Picker - Add full es and it translations for all namespaces - Add settings.spanish and settings.italian keys to all 5 language blocks - Export AppLanguage type from PreferencesProvider; extend to 5 languages - Update device language detection to include es and it - New LanguagePicker component: pressable trigger + bottom-sheet Modal, follows the CategoryPickerModal pattern from RecipeListScreen - Replace SegmentedControl with LanguagePicker in SettingsScreen and LoginScreen (LoginScreen now also gets the language picker for the first time on this branch) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Owner
|
Once again, thank you! |
Logarex
added a commit
that referenced
this pull request
Jun 25, 2026
feat: add Spanish and Italian language support with LanguagePicker
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes part of #13 (Spanish ✅, Italian ✅ — German was already added in #17)
Summary
es) and Italian (it) translations for all namespaces:common,auth,recipes,editor,importRecipe,settings,privacyspanishanditaliankeys to all 5 language blocks (fr, en, de, es, it)languagetype to"fr" | "en" | "de" | "es" | "it"and exportsit as
AppLanguagefromPreferencesProvideresanditNew component: LanguagePicker
With 5 languages, a
SegmentedControl(horizontal pill buttons) no longer fitsthe screen. The language selector is replaced by a
LanguagePickercomponent:a pressable trigger (selected language + chevron) that opens a bottom-sheet
Modal — following the same pattern as
CategoryPickerModalinRecipeListScreen.The API is identical to
SegmentedControl(value,options,onChange),so both
SettingsScreenandLoginScreenneeded only a simple swap.Files changed
src/i18n/index.tsesandittranslation blocks;spanish/italiankeys in all 5 language blocks; updated detection logicsrc/features/preferences/PreferencesProvider.tsxAppLanguagetype exported; extended to 5 languages;resolveInitialLanguagehelpersrc/components/LanguagePicker.tsxsrc/screens/SettingsScreen.tsxSegmentedControl→LanguagePickersrc/screens/LoginScreen.tsxSegmentedControl→LanguagePicker(language picker added for the first time on this branch)Testing
Tested on Apple iPhone with Expo Go. Language switching works in both
Settings and on the Login screen. Auto-detection correctly picks up the
device locale for all 5 supported languages.