Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Language Selector Implementation Request #4606

Closed
rolandbellerud opened this issue Sep 22, 2022 · 1 comment · Fixed by #4762
Closed

Language Selector Implementation Request #4606

rolandbellerud opened this issue Sep 22, 2022 · 1 comment · Fixed by #4762
Assignees
Labels
enhancement End user-perceivable enhancements. Impact: Medium Moderate perceived user impact (non-blocking bugs and general improvements). Work: High It's not clear what the solution is. Z-ibt Temporary label for Ben to keep track of issues he's triaged.

Comments

@rolandbellerud
Copy link

Is your feature request related to a problem? Please describe.
This feature is a core functionality for users, so that they are able to use the app in a language that they understand.

Describe the solution you'd like
A language selector that will be part of the initial onboarding flow, for when the user first downloads the app.
PRD: https://docs.google.com/document/d/14HUwpUev9N3_njg_mjxBBvej72NSMUox7W4ofK88P4U/edit

Describe alternatives you've considered
The app could default to the user's Android system language (set in their phone settings), but translation of the learning content on Oppia is dependent on contributors, and will not translate automatically.

Additional context
This work coincides with PRD's focusing on the language voiceover updates and onboarding flow updates.
PRD's:
https://docs.google.com/document/d/1AfHAizaDsz-NnsnIx42LZlYtROXOSXzUfgbMkNrAPx8/edit#heading=h.liiqbmwmz8j8
https://docs.google.com/document/d/1th_V3ykAS-mUP5HjclMwO-CTxINarqgBaKBOqiGXNf4/edit

@seanlip
Copy link
Member

seanlip commented Oct 11, 2022

Assigning @KevinGitonga -- he will be looking into the non-onboarding flow part of this, i.e. the language selector within the app after the learner is onboarded.

@BenHenning BenHenning added Impact: Medium Moderate perceived user impact (non-blocking bugs and general improvements). issue_type_enhancement Z-ibt Temporary label for Ben to keep track of issues he's triaged. labels Dec 23, 2022
@seanlip seanlip added enhancement End user-perceivable enhancements. and removed issue_user_learner labels Mar 29, 2023
@adhiamboperes adhiamboperes added Work: High It's not clear what the solution is. work label added labels May 3, 2023
BenHenning added a commit that referenced this issue Jun 1, 2023
## Explanation

Fixes part of #52
Fixes #4606

 Feature implementation for #4606
- This PR introduces the ability to change App level language through
the Options setting. It has involved below changes.
1. Refactored the codebase to accomodate feature changes by changing
from use of string variable to OppiaLanguage
            proto enum object.
2. Add Changes to allow display of languages loaded from proto in a
human readable form similar to AudioLanguage
           representation. 
- When fully functional this PR should allow users to modify app
language in App settings regardless of the language setting of their
device. PersistentCache is used to locally persist language which has
been selected by a user.

See also KevinGitonga#5 for an
additional explanation of more specific changes contained within this
PR.

## Essential Checklist
<!-- Please tick the relevant boxes by putting an "x" in them. -->
- [x] The PR title and explanation each start with "Fix #bugnum: " (If
this PR fixes part of an issue, prefix the title with "Fix part of
#bugnum: ...".)
- [x] Any changes to
[scripts/assets](https://github.com/oppia/oppia-android/tree/develop/scripts/assets)
files have their rationale included in the PR explanation.
- [x] The PR follows the [style
guide](https://github.com/oppia/oppia-android/wiki/Coding-style-guide).
- [x] The PR does not contain any unnecessary code changes from Android
Studio
([reference](https://github.com/oppia/oppia-android/wiki/Guidance-on-submitting-a-PR#undo-unnecessary-changes)).
- [x] The PR is made from a branch that's **not** called "develop" and
is up-to-date with "develop".
- [x] The PR is **assigned** to the appropriate reviewers
([reference](https://github.com/oppia/oppia-android/wiki/Guidance-on-submitting-a-PR#clarification-regarding-assignees-and-reviewers-section)).

## For UI-specific PRs only
<!-- Delete these section if this PR does not include UI-related
changes. -->
If your PR includes UI-related changes, then:
- Add screenshots for portrait/landscape for both a tablet & phone of
the before & after UI changes
- For the screenshots above, include both English and pseudo-localized
(RTL) screenshots (see [RTL
guide](https://github.com/oppia/oppia-android/wiki/RTL-Guidelines))
- Add a video showing the full UX flow with a screen reader enabled (see
[accessibility
guide](https://github.com/oppia/oppia-android/wiki/Accessibility-(A11y)-Guide))
- Add a screenshot demonstrating that you ran affected Espresso tests
locally & that they're passing

## Video demo of changes

https://user-images.githubusercontent.com/20886444/222683790-7b2d4fa8-7068-4774-8d1a-0494d4f9adf0.mp4

---------

Co-authored-by: Ben Henning <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement End user-perceivable enhancements. Impact: Medium Moderate perceived user impact (non-blocking bugs and general improvements). Work: High It's not clear what the solution is. Z-ibt Temporary label for Ben to keep track of issues he's triaged.
Development

Successfully merging a pull request may close this issue.

5 participants