Skip to content

QA-8465 - Added missing Hausa translation#3630

Open
Jignesh-dimagi wants to merge 2 commits intocommcare_2.62from
qa-8465-hause-translation-issue-1
Open

QA-8465 - Added missing Hausa translation#3630
Jignesh-dimagi wants to merge 2 commits intocommcare_2.62from
qa-8465-hause-translation-issue-1

Conversation

@Jignesh-dimagi
Copy link
Contributor

@Jignesh-dimagi Jignesh-dimagi commented Mar 20, 2026

Product Description

This PR will add the few translation strings to all languages, and it is adding the missing string for Hausa translation.

Technical Summary

https://dimagi.atlassian.net/browse/QA-8465

Added more strings to the Hausa translation. The strings added have the following statistics:

  • 147 strings are added and used via R.string.* in code

  • 17 strings are added and used in XML layouts/menus/manifest

This PR also adds 2 more strings, commcare_welcome_label and installation_method_label, which are getting displayed on the CommCare setup activity. Previously, it was dependent upon the HQ CommCare app translation, but it should be independent of that, so it was added to the strings.xml resource.

This PR also add string continue_label to localisation.

The mentioned QA ticket also demands translation for push notifications, which is not supported as of now.
Also, there is a mention of a PIN/biometric pop-up missing translations. I think that's the default behaviour of Android, which cannot be modified.

Labels and Review

  • Do we need to enhance the manual QA test coverage ? If yes, RELEASES.md is updated accordingly
  • Does the PR introduce any major changes worth communicating ? If yes, RELEASES.md is updated accordingly
  • Risk label is set correctly
  • The set of people pinged as reviewers is appropriate for the level of risk of the change

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Mar 20, 2026

📝 Walkthrough

Walkthrough

This change updates localized string resources across multiple language files (Spanish, French, Hindi, Portuguese, Swahili, Tigrinya, and English) by renaming the connect_recovery_button_phone resource to continue_label and adding two new UI labels: commcare_welcome_label and installation_method_label. Additionally, a complete set of Hausa language strings is introduced for the first time. A Java code change updates SelectInstallModeFragment to reference the new string resources via getString() instead of the legacy Localization.get() method.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~15 minutes

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately summarizes the main change: adding missing Hausa translation strings to the codebase.
Description check ✅ Passed The PR description provides a clear product description, technical summary with a ticket link, and acknowledges limitations around push notifications and PIN/biometric translations.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch qa-8465-hause-translation-issue-1
📝 Coding Plan
  • Generate coding plan for human review comments

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Tip

You can enable review details to help with troubleshooting, context usage and more.

Enable the reviews.review_details setting to include review details such as the model used, the time taken for each step and more in the review comments.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@app/res/values-ha/strings.xml`:
- Around line 386-390: Add the missing string resource named continue_label to
the Hausa strings resource so the locale no longer falls back to default; update
the strings.xml entry by adding a <string name="continue_label">...</string>
with the Hausa translation (e.g., "Ci gaba" or the correct localized wording)
near other UI labels (see existing keys like commcare_welcome_label and
installation_method_label) to ensure the continue button/localized text is
present for Hausa users.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: d3a305d8-c62b-471a-a484-97f8ffee04f1

📥 Commits

Reviewing files that changed from the base of the PR and between 9b2dd37 and d22339f.

📒 Files selected for processing (9)
  • app/res/values-es/strings.xml
  • app/res/values-fr/strings.xml
  • app/res/values-ha/strings.xml
  • app/res/values-hi/strings.xml
  • app/res/values-pt/strings.xml
  • app/res/values-sw/strings.xml
  • app/res/values-ti/strings.xml
  • app/res/values/strings.xml
  • app/src/org/commcare/fragments/SelectInstallModeFragment.java

Comment on lines +76 to +79
setupMsg.setText(getString(R.string.commcare_welcome_label));

TextView setupMsg2 = view.findViewById(R.id.str_setup_message_2);
setupMsg2.setText(Localization.get("install.barcode.bottom"));
setupMsg2.setText(getString(R.string.installation_method_label));
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • There are bunch of other such strings in https://github.com/dimagi/commcare-android/blob/master/app/assets/locales/android_startup_strings.txt , and if we are moving one of them we should move all of them.

  • These strings still need to support app translations and therefore we will need to use getStringRobust here.

  • We should not change the naming here and call them install_barcode_top (replace . with _) instead in strings.xml as there might be HQ apps out there that already defines these strings and we don't want to suddently break those apps



<string name="connect_recovery_button_phone">Continue</string>
<string name="continue_label">Continue</string>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Renaming the string resource like this breaks our guidelines for strings in the app, specifically this point:

Please name the strings as per the code area they are used in and group strings together as per the screen they are used in (Eg. personalid_ and connect_ prefixes)

What if we added the connect_ prefix back in?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

skip-integration-tests Skip android tests.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants