Skip to content

Develop - In-app translations#595

Merged
sameerasw merged 16 commits into
mainfrom
develop
Jul 22, 2026
Merged

Develop - In-app translations#595
sameerasw merged 16 commits into
mainfrom
develop

Conversation

@sameerasw

Copy link
Copy Markdown
Owner

This pull request introduces a comprehensive in-app translation workflow for community contributions, focusing on a seamless translation mode, GitHub authentication, and improved management of translation pull requests. It also adds ProGuard rules for SLF4J and cleans up legacy comments. The most important changes are organized below:


In-App Translation Workflow

  • Added a full translation mode in SettingsActivity, including UI for toggling translation mode, viewing/editing pending translations, and listing open translation pull requests for the signed-in user. This includes integration with TranslationManager, session state, and new bottom sheets for translation sessions, GitHub authentication, and warnings. [1] [2] [3]
  • Updated the main activity to display a translation mode badge when active, providing clear visual feedback.

GitHub Integration

  • Implemented GitHub authentication and sign-out flow in the translation UI, and added logic to fetch open translation pull requests for the current user via a new method in GitHubRepository. [1] [2]
  • Enhanced the GitHub Actions workflow (apply-translations.yml) to support user-provided OAuth tokens, improved branch and PR management (including updating existing PRs), and switched to a Python script for robust XML string editing. [1] [2]

User Experience & Settings

  • Added persistent suppression for the translation mode warning dialog, with new settings keys and repository methods to track user preference.
  • Improved translation mode toggle logic to require language selection (non-English) and authentication before enabling.

ProGuard & Build

  • Cleaned up legacy comments in proguard-rules.pro and added rules to keep SLF4J classes and suppress warnings, preventing R8 build issues. [1] [2] [3]

These changes together enable a robust, user-friendly translation contribution workflow, tightly integrated with GitHub and the app’s settings.

sameerasw and others added 15 commits July 22, 2026 15:39
… UI components for improved localization support
…standardize long-press interaction across UI cards
This pull request introduces a comprehensive in-app translation
contribution workflow, allowing users to translate app strings, manage
translation sessions, and submit or update translation pull requests
directly from the app. The changes span the GitHub Actions workflow,
ProGuard rules, and the main app UI and logic, with a focus on
translation mode and GitHub integration.

**Translation Contribution Workflow & UI:**

* Added a new "Translations" section in the settings UI, including
GitHub authentication, translation mode toggle, session management, and
open PR tracking (`SettingsActivity.kt`).
[[1]](diffhunk://#diff-576ba73ddab3e3ff415e6dc1c0b3b670b182d923408666f9be5a506cd6f9f5a1R279-R312)
[[2]](diffhunk://#diff-576ba73ddab3e3ff415e6dc1c0b3b670b182d923408666f9be5a506cd6f9f5a1R715-R842)
[[3]](diffhunk://#diff-576ba73ddab3e3ff415e6dc1c0b3b670b182d923408666f9be5a506cd6f9f5a1R1488-R1525)
* Translation mode now displays a badge in the main UI when active,
improving user feedback (`MainActivity.kt`).

**GitHub Integration:**

* Implemented a method in `GitHubRepository` to fetch open translation
pull requests for the current user, enabling the app to display and link
to existing PRs (`GitHubRepository.kt`).

**Workflow Improvements:**

* Updated the GitHub Actions workflow for applying translations:
  - Supports authenticated pushes using a user OAuth token.
  - Replaces shell scripting with Python for robust XML editing.
  - Handles updating existing PRs instead of always creating new ones.
- Switches PR base branch to `develop` and includes assignee/reviewer
fields (`.github/workflows/apply-translations.yml`).
[[1]](diffhunk://#diff-a3f7722207a73e6405f04440bc640173b93a9015cd581bab14d7a743ebe3b6efR18-R21)
[[2]](diffhunk://#diff-a3f7722207a73e6405f04440bc640173b93a9015cd581bab14d7a743ebe3b6efR32-R116)

**Settings & State Management:**

* Added persistent suppression for the translation mode warning dialog
in `SettingsRepository` (`SettingsRepository.kt`).

**Build & Dependency Updates:**

* Added ProGuard/R8 rules for SLF4J logging and cleaned up unused
comments, ensuring compatibility and smaller APKs
(`proguard-rules.pro`).
[[1]](diffhunk://#diff-24fc40bbf6fe503c74604e0477ff8f55aeab48cb521e1a844b9efa6c3771c15eL8-L22)
[[2]](diffhunk://#diff-24fc40bbf6fe503c74604e0477ff8f55aeab48cb521e1a844b9efa6c3771c15eR53-R56)

These changes collectively enable a seamless, user-friendly translation
contribution process, integrated with GitHub, and improve both developer
and contributor experience.
@sameerasw sameerasw self-assigned this Jul 22, 2026
@sameerasw sameerasw added the enhancement New feature or request label Jul 22, 2026
@sameerasw
sameerasw merged commit 24e1a16 into main Jul 22, 2026
@github-project-automation github-project-automation Bot moved this from Backlog to Done in Essentials Progress Jul 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

1 participant