-
Notifications
You must be signed in to change notification settings - Fork 18
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
[iOS] Internationalization Infrastructure #106
Comments
Candidate for edX development and support given existing context |
Goal: Have the app support multiple languages to increase ease of use for learners from a variety of geographical regions. The current prod edX app supports 11 different languages (including English). |
@e0d and @marcotuts fyi: We support a total of 11 languages in our app:
|
I believe the best path forward for internationalizing the iOS and Android apps is to follow the patterns established by OEP-58. This would mean:
I believe having the iOS and Android repos follow the same pattern for translations management as the rest of the repos in the Open edX GitHub organization will benefit maintainability. Following a consistent pattern for the translations workflow will make it much easier for anyone working with internationalization to understand. This proposal does not directly address the concerns surrounding duplicated strings. While I understand the desire to deduplicate, I feel doing so in a way that only applies to the iOS and Android repos is less than ideal. Transifex provides tools to aid with this such as Translation Memory, and I believe we should utilize that before looking into adding complexity in service of deduplication. |
Hello there. I've been asked by the Axim team to review how can we extend the I've worked on I'm not an iOS expert and I'll be asking a colleague to work on this. So, please let me know if I've missed anything regarding the build process in iOS. I've checked the code and noticed that strings are already extracted as part of the development process but they're not grouped. Transifex and Translators likewise makes prefers to group the translations files to avoid confusion. We've initiated a similar effort in the To illustrate the point, the
Same goes for the edx-app-android which admittedly has much more string resource files: Is it doable to combine those resources into one resource before pushing it to Transifex? This would make it easier for translators to find and translate the resources? We have 54 resources already in the Open edX project and we'd like to keep in general 1 resource per application. My suggestion to that solution is to write a build script to combine the source translations in a file to be sent to Transifex, then on pulling the translations the file is split based on the source The choice of the build script language can be any of Bash, Swift or Ruby depending on the iOS team preference. We could address the duplication issue during this process if needed -- but that'll extend the development scope a bit. A release-time script needs to be created to pull the latest translations from the openedx/openedx-translations repository via the As far as I understand, the workflow is somewhat similar to Android. So overall here's the ideal workflow would look like:
I'm happy to schedule a call to discuss the plan and get your feedback. We've implemented similar steps for projects with different tech-stacks and we believe it's suitable for beneficial for mobile. |
Being fixed by #422 |
We may have an open issue relating to iOS plural strings, may need to add issue to bug epic and close this if complete. |
Goal
Coming soon
Slack: #wg-product-mobile
Requirement Definition: coming soon
Tasks
The text was updated successfully, but these errors were encountered: