-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
feat: Add Hindi and Russian translations #431
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
base: main
Are you sure you want to change the base?
feat: Add Hindi and Russian translations #431
Conversation
- 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
📝 WalkthroughWalkthroughThis 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
Possibly related PRs
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing touches
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. Comment |
There was a problem hiding this 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:
SettingsThe 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 translationAlso 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
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
%1$s,%d, etc.)Review Request
Hindi and Russian speakers: Please review for natural phrasing and technical term accuracy. Suggestions welcome!