diff options
author | Stanislas Signoud <signez@stanisoft.net> | 2024-12-31 22:27:14 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-12-31 13:27:14 -0800 |
commit | 9f075b13405c7711edbd9309ab521738b74a50c5 (patch) | |
tree | 33acdca882ef027bc670bb38de3a9d054f6ce721 /src/view/com/composer/select-language | |
parent | 09297d92cb73fcf3b7eda7d683543661d3f30501 (diff) | |
download | voidsky-9f075b13405c7711edbd9309ab521738b74a50c5.tar.zst |
Localize lang selectors according to the app language (#6207)
* Localize lang selectors according to the app language * Explicitly ignore RangeError when translating locale names
Diffstat (limited to 'src/view/com/composer/select-language')
-rw-r--r-- | src/view/com/composer/select-language/SelectLangBtn.tsx | 6 | ||||
-rw-r--r-- | src/view/com/composer/select-language/SuggestedLanguage.tsx | 69 |
2 files changed, 44 insertions, 31 deletions
diff --git a/src/view/com/composer/select-language/SelectLangBtn.tsx b/src/view/com/composer/select-language/SelectLangBtn.tsx index cd3cb608d..f487b1244 100644 --- a/src/view/com/composer/select-language/SelectLangBtn.tsx +++ b/src/view/com/composer/select-language/SelectLangBtn.tsx @@ -48,7 +48,7 @@ export function SelectLangBtn() { function add(commaSeparatedLangCodes: string) { const langCodes = commaSeparatedLangCodes.split(',') const langName = langCodes - .map(code => codeToLanguageName(code)) + .map(code => codeToLanguageName(code, langPrefs.appLanguage)) .join(' + ') /* @@ -108,7 +108,9 @@ export function SelectLangBtn() { accessibilityHint=""> {postLanguagesPref.length > 0 ? ( <Text type="lg-bold" style={[pal.link, styles.label]} numberOfLines={1}> - {postLanguagesPref.map(lang => codeToLanguageName(lang)).join(', ')} + {postLanguagesPref + .map(lang => codeToLanguageName(lang, langPrefs.appLanguage)) + .join(', ')} </Text> ) : ( <FontAwesomeIcon diff --git a/src/view/com/composer/select-language/SuggestedLanguage.tsx b/src/view/com/composer/select-language/SuggestedLanguage.tsx index 6d55aeb53..472860a32 100644 --- a/src/view/com/composer/select-language/SuggestedLanguage.tsx +++ b/src/view/com/composer/select-language/SuggestedLanguage.tsx @@ -49,37 +49,48 @@ export function SuggestedLanguage({text}: {text: string}) { return () => cancelIdle(idle) }, [text]) - return suggestedLanguage && - !toPostLanguages(langPrefs.postLanguage).includes(suggestedLanguage) ? ( - <View style={[pal.border, styles.infoBar]}> - <FontAwesomeIcon - icon="language" - style={pal.text as FontAwesomeIconStyle} - size={24} - /> - <Text style={[pal.text, s.flex1]}> - <Trans> - Are you writing in{' '} - <Text type="sm-bold" style={pal.text}> - {codeToLanguageName(suggestedLanguage)} - </Text> - ? - </Trans> - </Text> + if ( + suggestedLanguage && + !toPostLanguages(langPrefs.postLanguage).includes(suggestedLanguage) + ) { + const suggestedLanguageName = codeToLanguageName( + suggestedLanguage, + langPrefs.appLanguage, + ) - <Button - type="default" - onPress={() => setLangPrefs.setPostLanguage(suggestedLanguage)} - accessibilityLabel={_( - msg`Change post language to ${codeToLanguageName(suggestedLanguage)}`, - )} - accessibilityHint=""> - <Text type="button" style={[pal.link, s.fw600]}> - <Trans>Yes</Trans> + return ( + <View style={[pal.border, styles.infoBar]}> + <FontAwesomeIcon + icon="language" + style={pal.text as FontAwesomeIconStyle} + size={24} + /> + <Text style={[pal.text, s.flex1]}> + <Trans> + Are you writing in{' '} + <Text type="sm-bold" style={pal.text}> + {suggestedLanguageName} + </Text> + ? + </Trans> </Text> - </Button> - </View> - ) : null + + <Button + type="default" + onPress={() => setLangPrefs.setPostLanguage(suggestedLanguage)} + accessibilityLabel={_( + msg`Change post language to ${suggestedLanguageName}`, + )} + accessibilityHint=""> + <Text type="button" style={[pal.link, s.fw600]}> + <Trans>Yes</Trans> + </Text> + </Button> + </View> + ) + } else { + return null + } } const styles = StyleSheet.create({ |