Skip to content

Conversation

@Devvekariya711
Copy link

@Devvekariya711 Devvekariya711 commented Jan 17, 2026

Description

Adds Hindi (हिन्दी) and Russian (Русский) language support to LibrePods for both Android and Linux platforms.

Files Changed

Android:

  • android/app/src/main/res/values-hi/strings.xml (NEW - 218 strings)
  • android/app/src/main/res/values-ru/strings.xml (NEW - 218 strings)

Linux:

  • linux/translations/librepods_hi.ts (NEW)
  • linux/translations/librepods_ru.ts (NEW)

Translation Details

  • ✅ All placeholders preserved (%1$s, %d, etc.)
  • ✅ UTF-8 encoding verified (Devanagari & Cyrillic scripts)
  • ✅ Conversational style for better readability
  • ✅ No untranslated strings

Review Request

Hindi and Russian speakers: Please review for natural phrasing and technical term accuracy. Suggestions welcome!

- Add structured contribution guidelines with table of contents
- Include development setup for Android and Linux platforms
- Document code style guidelines and commit conventions
- Add PR submission process and checklists
- Include bug reporting and feature request guidelines
- Move translation guide to appendix for better organization
- Addresses the missing contribution documentation
- Add Hindi (hi-IN) translations for Android (218 strings)
- Add Hindi translations for Linux (~20 strings)
- Add Russian (ru-RU) translations for Android (218 strings)
- Add Russian translations for Linux (~20 strings)
- Use conversational Hindi (not formal Shudh Hindi)
- Use standard contemporary Russian
- All technical terms properly translated
- Tested XML syntax validity
@coderabbitai
Copy link

coderabbitai bot commented Jan 17, 2026

📝 Walkthrough

Walkthrough

This pull request adds internationalization support by introducing a contributor guide, Hindi and Russian translations for Android string resources, and corresponding Hindi and Russian translation files for the Linux application.

Changes

Cohort / File(s) Summary
Documentation
CONTRIBUTING.md
Introduces comprehensive contribution guide covering Code of Conduct, development setup, building, submitting changes, and style guidelines with detailed examples.
Android Localization
android/app/src/main/res/values-hi/strings.xml, android/app/src/main/res/values-ru/strings.xml
Adds Hindi and Russian translation files for Android UI strings. Russian file contains a syntax error (malformed attribute in noise\_control string element).
Linux Localization
linux/translations/librepods_hi.ts, linux/translations/librepods_ru.ts
Introduces Hindi and Russian Qt Linguist translation files mapping UI source strings to corresponding translations for the Linux application.

Possibly related PRs

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately describes the primary change: adding Hindi and Russian translations across Android and Linux platforms, which aligns with the main objectives.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

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

✨ Finishing touches
  • 📝 Generate docstrings

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.

Copy link

@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: 3

🤖 Fix all issues with AI agents
In `@android/app/src/main/res/values-ru/strings.xml`:
- Line 16: The XML attribute for the string entry is malformed — the attribute
`name` is missing an equals sign; update the <string> entry identified by the
`noise_control` resource so the attribute is correctly formatted (use
name="noise_control") to restore valid XML syntax in strings.xml.

In `@linux/translations/librepods_hi.ts`:
- Around line 1-87: The translation XML is malformed (spaces inside tags and
attributes and wrong XML declaration) — fix by regenerating or correcting the
file so tags are standard (e.g. replace '<?xml version="1.0" encoding = "utf-8"
?>' with a proper XML declaration, change '< message >', '< translation >', '<TS
version="2.1" language = "hi_IN" >' and other spaced tags to '<message>',
'<translation>', '<TS version="2.1" language="hi_IN">', trim trailing/leading
spaces inside element text (like '<name>Main</name>'), and normalize
indentation; best approach is to re-export the Hindi translations from Qt
Linguist (or manually remove the extra spaces and fix attribute quoting) so Qt
can parse elements such as message, source, translation, context, and TS
correctly.

In `@linux/translations/librepods_ru.ts`:
- Around line 1-87: The TS file is malformed: fix tag and attribute spacing and
trim trailing text spaces so Qt tools can parse it—replace occurrences of `<
message >`/`</ message >` and `< translation >`/`</ translation >` with
`<message>`/`</message>` and `<translation>`/`</translation>`, normalize the XML
declaration `<?xml version="1.0" encoding = "utf-8" ?>` to `<?xml version="1.0"
encoding="utf-8"?>` and the `<TS version="2.1" language = "ru_RU" >` to `<TS
version="2.1" language="ru_RU">`, trim trailing spaces inside every `<source>`
and `<translation>` text (e.g. source values like "Connected " → "Connected"),
and reindent/validate the overall structure so tags like `<TS>`, `<context>`,
`<name>Main</name>`, each `<message>` and its `<source>`/`<translation>`
children form a well-formed XML document acceptable to Qt Linguist/lrelease.
🧹 Nitpick comments (3)
linux/translations/librepods_hi.ts (1)

27-28: Consider translating "Adaptive" and "Settings" for consistency.

Several terms are left in English:

  • Line 28: Adaptive
  • Line 32: Adaptive शोर लेवल:
  • Line 44: Settings

The PR mentions conversational Hindi was intentional, but common Hindi equivalents exist (e.g., "सेटिंग्स" for Settings). The Russian translation fully translates these terms ("Адаптивный", "Настройки").

Also applies to: 43-44

CONTRIBUTING.md (2)

217-223: Add language specifier to fenced code blocks.

Per markdownlint, these code blocks showing commit message format should have a language specifier for consistency.

📝 Suggested fix
-```
+```text
 <type>(<scope>): <description>
-```
+```text
 feat(android): add German translation

Also applies to: 235-239


330-333: Update the "Needed Languages" list.

This PR adds Hindi and Russian translations, but they're still listed as high-priority needed languages. Consider updating the list to reflect this PR's contributions.

📝 Suggested fix
 ### Needed Languages
 
-High-priority: German, Japanese, Korean, Hindi, Arabic, Russian
+High-priority: German, Japanese, Korean, Arabic

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant