Skip to content

Conversation

@4555jan
Copy link
Contributor

@4555jan 4555jan commented Oct 19, 2025

Description

Added full Marathi translation for the Resonate app. This includes the Marathi ARB file and updated app configuration to support Marathi locale.
Added lib/l10n/app_mr.arb with all UI strings translated to Marathi.
Updated lib/main.dart to include Marathi in supportedLocales.
Updated ios/Runner/Info.plist to include Marathi localization.

Fixes #545

##Type of change

New feature (non-breaking change which adds functionality)

How Has This Been Tested?

Ran the app locally with Marathi locale.
Verified that all UI strings appear correctly in Marathi.
Checked that placeholders and metadata are preserved.
Confirmed app functionality is unchanged in other languages.

Checklist:

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes
  • Any dependent changes have been merged and published in downstream modules
  • I have checked my code and corrected any misspellings

Maintainer Checklist

  • closes Marathi #545
  • tag the PR with appropriate labels (e.g., feature, translation, i18n)

Summary by CodeRabbit

  • New Features
    • Added Marathi (mr) language support across the app — full UI translations, notifications, time/relative formatting, and dynamic messages.
    • Marathi included in supported locales and language selection so users can choose Marathi for the entire interface and content.

@github-actions
Copy link
Contributor

🎉 Welcome @4555jan!
Thank you for your pull request! Our team will review it soon. 🔍

  • Please ensure your PR follows the contribution guidelines. ✅
  • All automated tests should pass before merging. 🔄
  • If this PR fixes an issue, link it in the description. 🔗

We appreciate your contribution! 🚀

@coderabbitai
Copy link

coderabbitai bot commented Oct 19, 2025

Walkthrough

Adds Marathi ("mr") localization: registers the locale in iOS Info.plist, updates localization wiring (supportedLocales, delegate lookup), and adds a new AppLocalizationsMr class with comprehensive Marathi translations and message builders.

Changes

Cohort / File(s) Summary
Localization registration & wiring
ios/Runner/Info.plist, lib/l10n/app_localizations.dart
Added mr to CFBundleLocalizations; imported AppLocalizationsMr; added Locale('mr') to supportedLocales; extended isSupported and lookupAppLocalizations to handle 'mr'.
Marathi translation implementation
lib/l10n/app_localizations_mr.dart
New AppLocalizationsMr class implementing comprehensive Marathi translations, parameterized messages, and locale-aware plural/select logic via intl.

Sequence Diagram(s)

sequenceDiagram
  participant UI as App UI
  participant LD as AppLocalizationsDelegate
  participant Lookup as lookupAppLocalizations
  participant MR as AppLocalizationsMr
  participant EN as AppLocalizationsEn/Default

  UI->>LD: request Locale('mr')
  LD->>Lookup: resolve locale
  alt locale == 'mr'
    Lookup->>MR: instantiate AppLocalizationsMr
    MR-->>LD: Marathi localization instance
  else other supported locale
    Lookup->>EN: instantiate fallback/localized class
    EN-->>LD: localization instance
  end
  LD-->>UI: return localized strings instance
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~30 minutes

Possibly related PRs

Suggested labels

enhancement

Poem

🐰 मी एक लहान ससा, उडालो शब्दांच्या फुलांवर,
मराठी आला, गोंद लावला कोडच्या अंगावर,
Info.plist मध्ये एक टॅग, delegate मधे एक पाऊल,
हजार शब्दांनी झाले आवाज, संपूर्ण झाला सगळा घरा,
आनंदात ससा उडी मारतो — भाषांचा उत्सव आला!

Pre-merge checks and finishing touches

✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title Check ✅ Passed The PR title "feat: add Marathi translation support" directly and clearly summarizes the main change in the pull request. The changeset adds comprehensive Marathi localization support across multiple files: the new app_localizations_mr.dart with extensive Marathi translations, updates to app_localizations.dart to register the MR locale in supportedLocales and locale lookup logic, and updates to ios/Runner/Info.plist to include "mr" in the CFBundleLocalizations array. The title is concise, specific, and accurately reflects the primary objective without unnecessary detail.
Linked Issues Check ✅ Passed The linked issue #545 tracks addition of Marathi translations with objectives to ensure Marathi localization files are added and the app configuration is updated to support the Marathi locale. The PR code changes meet these requirements: the new app_localizations_mr.dart file provides comprehensive Marathi translations for all UI elements, lib/l10n/app_localizations.dart registers the MR locale in supportedLocales and implements locale lookup for 'mr', and ios/Runner/Info.plist adds "mr" to CFBundleLocalizations for platform-level support. All primary coding-related objectives from the linked issue are addressed.
Out of Scope Changes Check ✅ Passed All code changes in this pull request are directly related to the objective of adding Marathi translation support as specified in issue #545. The modifications include: adding the new Marathi localization class with all necessary UI string translations, registering the MR locale in the app's localization system, and updating platform configuration files for iOS. No unrelated changes or out-of-scope modifications are present in the changeset.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

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.

@4555jan
Copy link
Contributor Author

4555jan commented Oct 19, 2025

@M4dhav all translations are correct as far as i know and i didnt added the untransated.txt as it was showing the same output as before if there are any major mistakes i did while making this pr please review it i will fix it asap

@M4dhav M4dhav self-requested a review October 19, 2025 06:31
@M4dhav M4dhav linked an issue Oct 19, 2025 that may be closed by this pull request
@M4dhav
Copy link
Contributor

M4dhav commented Oct 19, 2025

@coderabbitai review

@coderabbitai
Copy link

coderabbitai bot commented Oct 19, 2025

✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

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: 6

🧹 Nitpick comments (6)
lib/l10n/app_localizations_mr.dart (6)

82-89: Correct room label and consistency

Use 'कोठा' consistently and fix phrasing.

-      'true': 'कोण्ठा उपलब्ध नाही',
-      'false': 'आगामी कोण्ठा उपलब्ध नाही',
-      'other': 'कोण्ठा माहिती उपलब्ध नाही',
+      'true': 'कोठा उपलब्ध नाही',
+      'false': 'आगामी कोठा उपलब्ध नाही',
+      'other': 'कोठ्याची माहिती उपलब्ध नाही',

520-520: Natural Marathi for “Join Room”

Improve wording.

-  String get joinRoom => 'कोठामध्ये जोडा';
+  String get joinRoom => 'कोठ्यात सामील व्हा';

1180-1186: Use Marathi terms in report types

Replace Hindi nouns with Marathi.

-      'spam': 'स्पॅम / घोटाळे / धोखाधड़ी',
+      'spam': 'स्पॅम / घोटाळे / फसवणूक',
-      'selfharm': 'आत्महानि / आत्महत्या / मानसिक स्वास्थ्य',
+      'selfharm': 'आत्महानी / आत्महत्या / मानसिक आरोग्य',

98-105: Pronoun consistency (“आपण” vs “आप”)

Multiple lines use “आप”, which is Hindi. Prefer “आपण” in Marathi for polite second person.

-  String get you => 'आप';
+  String get you => 'आपण';
-  String get areYouSure => 'आप निश्चित आहात?';
+  String get areYouSure => 'आपण खात्री आहात?';
-  String get loggingOut => 'आप रेजोनेटमधून लॉगआउट करत आहात.';
+  String get loggingOut => 'आपण रेजोनेटमधून लॉगआउट करत आहात.';

254-254: Small wording tweak

“No connection” reads unnatural. Suggest concise Marathi.

-  String get noConnection => 'कोणता कनेक्शन नाही';
+  String get noConnection => 'कनेक्शन नाही';

1174-1176: Clarify removal notice

Optional phrasing for clarity and grammar.

-  String get removedFromRoom =>
-      'आपल्याला रिपोर्ट केली गई किंवा कोठ्यातून काढून देण्यात आली';
+  String get removedFromRoom =>
+      'आपल्यावर रिपोर्ट आली आहे किंवा आपण कोठ्यातून काढले गेले आहात';
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between e0a1ad2 and 58e9d35.

📒 Files selected for processing (3)
  • ios/Runner/Info.plist (1 hunks)
  • lib/l10n/app_localizations.dart (4 hunks)
  • lib/l10n/app_localizations_mr.dart (1 hunks)
🔇 Additional comments (1)
ios/Runner/Info.plist (1)

12-12: iOS locale registration looks good

"mr" added under CFBundleLocalizations is correct. No further changes needed here.

String get resonateLogo => 'रेजोनेट लोगो';

@override
String get iAlreadyHaveAnAccount => 'मेरे पास पहले से खाता है';
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

Replace Hindi text with Marathi

The string is Hindi. Use Marathi.

-  String get iAlreadyHaveAnAccount => 'मेरे पास पहले से खाता है';
+  String get iAlreadyHaveAnAccount => 'माझ्याकडे आधीच खाते आहे';
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
String get iAlreadyHaveAnAccount => 'मेरे पास पहले से खाता है';
String get iAlreadyHaveAnAccount => 'माझ्याकडे आधीच खाते आहे';
🤖 Prompt for AI Agents
In lib/l10n/app_localizations_mr.dart around line 206, the string currently uses
Hindi; replace it with the Marathi equivalent. Change the value of
iAlreadyHaveAnAccount from 'मेरे पास पहले से खाता है' to 'माझ्याकडे आधीच खाते
आहे'.

Comment on lines 734 to 736
String addNewChaptersToStory(String storyName) {
return '$storyNameमध्ये नविन अध्याय जोडा';
}
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Add missing spaces around interpolations

Visual spacing issues in Marathi around variables.

-    return '$storyNameमध्ये नविन अध्याय जोडा';
+    return '$storyName मध्ये नविन अध्याय जोडा';

-    return '$dateला तयार केले';
+    return '$date ला तयार केले';

-    return '$creatorNameद्वारे निर्मित';
+    return '$creatorName द्वारे निर्मित';

Also applies to: 928-931, 939-941

🤖 Prompt for AI Agents
In lib/l10n/app_localizations_mr.dart around lines 734-736, the string
interpolation lacks surrounding spaces causing visual spacing issues; update the
string to include a space before and after the interpolation (i.e. ensure there
is a space between the variable and surrounding Marathi words) and apply the
same fix to the other occurrences flagged at lines ~928-931 and ~939-941 so all
interpolated variables are separated by spaces from adjacent text.

@M4dhav
Copy link
Contributor

M4dhav commented Oct 19, 2025

Hey @4555jan ,pls implement these changes as suggested by CodeRabbit. For Translation Accuracy related comments, if you think it is wrong in saying that the translation is incorrect, then you can leave that, but the other changes need to be implemented

@4555jan
Copy link
Contributor Author

4555jan commented Oct 19, 2025

@M4dhav i did implemented the changes are there any other major isssues please check/review it i will fix it asap are contributors allowed to use code rabbit ? so they fix it before hand

@M4dhav
Copy link
Contributor

M4dhav commented Oct 19, 2025

Yes, you can tag coderabbit to review your PRs. I will also probably change the settings for it to review PRs on dev by default

@M4dhav
Copy link
Contributor

M4dhav commented Oct 19, 2025

@coderabbitai review

@coderabbitai
Copy link

coderabbitai bot commented Oct 19, 2025

✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

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: 9

♻️ Duplicate comments (1)
lib/l10n/app_localizations_mr.dart (1)

206-206: Hindi carry‑over in “I already have an account”

Fully replace with Marathi and correct “खाते”.

-  String get iAlreadyHaveAnAccount => 'मेरे पास आधीच खाता आहे';
+  String get iAlreadyHaveAnAccount => 'माझ्याकडे आधीच खाते आहे';

This aligns with earlier feedback.

🧹 Nitpick comments (2)
lib/l10n/app_localizations_mr.dart (2)

561-595: Month labels: prefer full Marathi names for clarity

Abbreviations like ‘जान/फेब’ are ambiguous. Consider full names.

-  String get monthJan => 'जान';
+  String get monthJan => 'जानेवारी';
-  String get monthFeb => 'फेब';
+  String get monthFeb => 'फेब्रुवारी';
-  String get monthAug => 'ऑग';
+  String get monthAug => 'ऑगस्ट';
-  String get monthSep => 'सप्ट';
+  String get monthSep => 'सप्टेंबर';
-  String get monthOct => 'ऑक्ट';
+  String get monthOct => 'ऑक्टोबर';
-  String get monthNov => 'नोव';
+  String get monthNov => 'नोव्हेंबर';
-  String get monthDec => 'डिस';
+  String get monthDec => 'डिसेंबर';

641-647: Long marketing strings: a few unnatural phrases

Optional: I can rewrite these 3 blocks into more idiomatic Marathi (e.g., “जाहिरीकरण करा” → “सहभाग घ्या”, “व्हॉयस” → “आवाज/ध्वनी”, “एन्क्रिप्टेड” → “कूटबद्ध”).

Also applies to: 649-651, 846-857

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 58e9d35 and 2b0739b.

📒 Files selected for processing (1)
  • lib/l10n/app_localizations_mr.dart (1 hunks)
🔇 Additional comments (7)
lib/l10n/app_localizations_mr.dart (7)

7-10: Good localization scaffold

Class wiring and Intl usage look correct; locale default is 'mr'. Plural/select builders follow intl best practices.
If you’re on Flutter stable, ensure intl version matches flutter_localizations to avoid solver conflicts. Based on learnings


528-530: English code getter fixed — thanks

Getter now returns 'en'. All good.


980-1011: Pluralization looks correct

Plural/select logic for minutes/hours/days uses localeName and Marathi digits. LGTM.


489-496: Review comment is inaccurate—no inconsistency exists.

The search reveals only two distinct Marathi terms in the file, not three:

  • अपडेट (apduet, "update") used consistently for update actions/states across 15+ lines
  • अद्यावधिक (adhyavadhik, "up to date") used for status descriptions across 3 lines

The term अद्ययावत mentioned in the review does not appear in the file. The variations reflect proper semantic distinction between "update" (verb/action) and "up to date" (status), not inconsistency. No refactoring is needed.

Likely an incorrect or invalid review comment.


520-523: Clarify standardization strategy for Marathi "room" terminology

The script confirms variations of कोठा are used throughout the file (कोठा, कोठामध्ये, कोठ्याला, कोठे, कोठ्यातून), but these represent different grammatical cases of the same root word rather than mixed terminology. The suggested alternatives (खोली or रूम) do not appear in the current code.

Before applying changes, verify: Are these grammatical variations acceptable in your localization standard, or should all instances use a single dictionary form (e.g., कोठा everywhere)? If standardizing to a different base term (खोली or रूम), determine the appropriate grammatical form for context-dependent strings like joinRoom (कोठामध्ये), toRoomAction (कोठ्याला), etc.


98-105: Verify pronoun choice for Marathi localization against established guidelines

The review comment's premise is partially incorrect. आप (āp) appears as cognate with Marathi आपण (āpaṇ), and आप or तुम in Hindi corresponds to तुम्ही or आपण in Marathi. This means "आप" is indeed a valid Marathi word, not exclusively Hindi.

However, the linguistic analysis reveals that the proper Marathi formal second-person pronoun for general use is "तुम्ही" is used in day-to-day life to address someone with respect, while "आपण" is used in very formal conversation. आपण is categorized as "you (super-formal)", making it less suitable for standard UI than the standard formal pronoun.

The review's suggestion to replace "आप" with "आपण" addresses a pronoun consistency concern but may overcorrect toward excessive formality. For consistent Marathi UI localization, determine whether your project follows specific guidelines for formal pronouns (typically "तुम्ही" for standard formal address) before applying the suggested changes.


82-89: Verify app context for "जोडून" vs "तयार करून" verb choice before accepting sentence change.

The terminology fix is verified as correct: खोली (kholī) is the standard everyday Marathi word for "room", and "कोण्ठा" does not appear in standard Marathi language references. Replacing it with "खोली" is linguistically sound.

However, the suggested sentence change alters the meaning: "जोडून" means joining/adding (sequential action emphasizing addition), while "तयार करून" means after preparing/having prepared. The original "जोडून" conveys "adding," whereas the suggested "तयार करून" conveys "preparing/creating."

Confirm whether the copy should emphasize adding vs. preparing a room, then align the full translation accordingly.

Comment on lines +112 to +114
@override
String get incorrectEmailOrPassword => 'गलत ईमेल किंवा पासवर्ड';

Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🔴 Critical

Replace Hindi “गलत” with Marathi

Use “चुकीचा/चुकीचे” instead of “गलत”.

-  String get incorrectEmailOrPassword => 'गलत ईमेल किंवा पासवर्ड';
+  String get incorrectEmailOrPassword => 'चुकीचा ईमेल किंवा पासवर्ड';
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
@override
String get incorrectEmailOrPassword => 'गलत ईमेल किंवा पासवर्ड';
@override
String get incorrectEmailOrPassword => 'चुकीचा ईमेल किंवा पासवर्ड';
🤖 Prompt for AI Agents
In lib/l10n/app_localizations_mr.dart around lines 112-114, the Marathi string
uses the Hindi word "गलत"; replace it with the Marathi term "चुकीचा" so the
getter returns "चुकीचा ईमेल किंवा पासवर्ड" instead of "गलत ईमेल किंवा पासवर्ड".

Comment on lines +148 to +153
@override
String get failed => 'अयोग्य';

@override
String get emailChangeFailed => 'ईमेल बदलणे अयोग्य';

Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

Use ‘अयशस्वी’ for “failed” (not ‘अयोग्य’)

‘अयोग्य’ means “inappropriate/invalid”. Replace with ‘अयशस्वी’.

-  String get failed => 'अयोग्य';
+  String get failed => 'अयशस्वी';
-  String get emailChangeFailed => 'ईमेल बदलणे अयोग्य';
+  String get emailChangeFailed => 'ईमेल बदलणे अयशस्वी झाले';
-  String get verificationFailed => 'सत्यापन अयोग्य';
+  String get verificationFailed => 'सत्यापन अयशस्वी';
-  String get connectionFailed => 'कनेक्शन अयोग्य';
+  String get connectionFailed => 'कनेक्शन अयशस्वी';
-  String get updateFailed => 'अपडेट अयोग्य';
+  String get updateFailed => 'अपडेट अयशस्वी';
-  String get updateCheckFailed => 'अपडेट तपास अयोग्य';
+  String get updateCheckFailed => 'अपडेट तपास अयशस्वी';
-  String get reportFailed => 'रिपोर्ट सबमिशन अयोग्य';
+  String get reportFailed => 'रिपोर्ट सबमिट करणे अयशस्वी';

Also applies to: 386-391, 705-717, 1127-1131, 1147-1153, 1204-1207

🤖 Prompt for AI Agents
In lib/l10n/app_localizations_mr.dart around lines 148-153 (and also update
occurrences at 386-391, 705-717, 1127-1131, 1147-1153, 1204-1207), the Marathi
translation uses 'अयोग्य' for "failed" which means "inappropriate/invalid";
replace those instances with 'अयशस्वी'. Search for all getters or strings mapped
to failed/emailChangeFailed (and similar contexts) and update their string
values to use 'अयशस्वी' while keeping surrounding code/formatting intact.

Comment on lines +208 to +210
@override
String get createNewAccount => 'नव्यान खाते तयार करा';

Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Misc. polish (natural Marathi + spacing OK)

  • “नव्यान” → “नवीन”.
  • Interpolation spacing already fixed in the shown lines — nice.
-  String get createNewAccount => 'नव्यान खाते तयार करा';
+  String get createNewAccount => 'नवीन खाते तयार करा';
-  String get newToResonate => 'रेजोनेटमध्ये नविन? ';
+  String get newToResonate => 'रेजोनेटमध्ये नवीन? ';
-  String get alreadyHaveAccount => 'पहिल्यापासून खाता आहे? ';
+  String get alreadyHaveAccount => 'पहिल्यापासून खाते आहे का? ';

Also applies to: 596-604, 733-736, 928-931, 939-941

🤖 Prompt for AI Agents
In lib/l10n/app_localizations_mr.dart around lines 208-210 (and also at ranges
596-604, 733-736, 928-931, 939-941), replace the Marathi word "नव्यान" with the
correct "नवीन" in the string values so they read naturally (e.g., change 'नव्यान
खाते तयार करा' to 'नवीन खाते तयार करा'); ensure you update each occurrence
exactly and keep existing spacing and interpolation intact.

Comment on lines +254 to +255
String get noConnection => 'कोणता कनेक्शन नाही';

Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

Natural Marathi for connection state

“कोणता कनेक्शन नाही” is unidiomatic; use “कोणतेही कनेक्शन नाही”.

-  String get noConnection => 'कोणता कनेक्शन नाही';
+  String get noConnection => 'कोणतेही कनेक्शन नाही';
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
String get noConnection => 'कोणता कनेक्शन नाही';
String get noConnection => 'कोणतेही कनेक्शन नाही';
🤖 Prompt for AI Agents
In lib/l10n/app_localizations_mr.dart around lines 254 to 255, the Marathi
string for noConnection is unidiomatic ("कोणता कनेक्शन नाही"); update the value
to the natural phrasing "कोणतेही कनेक्शन नाही". Replace the existing string
literal so the getter returns "कोणतेही कनेक्शन नाही" to improve naturalness and
correctness.

Comment on lines +297 to +304
String get settings => 'सेटिंग्स';

@override
String get accountSettings => 'खाता सेटिंग्स';

@override
String get account => 'खाता';

Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

Use ‘खाते’ (Marathi) instead of ‘खाता’ (Hindi)

Standardize “account” to “खाते”.

-  String get accountSettings => 'खाता सेटिंग्स';
+  String get accountSettings => 'खाते सेटिंग्ज';
...
-  String get account => 'खाता';
+  String get account => 'खाते';
...
-  String get deleteAccount => 'खाता हटवा';
+  String get deleteAccount => 'खाते हटवा';

Also applies to: 788-790

🤖 Prompt for AI Agents
In lib/l10n/app_localizations_mr.dart around lines 297-304 (and also update the
same occurrences at lines 788-790), replace the Hindi word "खाता" with the
Marathi plural "खाते" in the affected string literals; specifically change
accountSettings => 'खाता सेटिंग्स' to 'खाते सेटिंग्स' and account => 'खाता' to
'खाते' (and the matching entries at 788-790), save the file and run localization
builds/lints to ensure no formatting or generation errors.

Comment on lines +378 to +379
String get verificationCodeSent => 'आम्ही एक ६-अंकीय सत्यापन कोड\n';

Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

Replace Hindi passive “गई/गया” with Marathi passive

Use “…पाठवण्यात आली/झाला/झाले”, “… करण्यात आले/आली/आला” as appropriate.

-  String get verificationCodeSent => 'आम्ही एक ६-अंकीय सत्यापन कोड\n';
+  String get verificationCodeSent => 'आम्ही ६-अंकी सत्यापन कोड पाठवला आहे';
-  String get otpResent => 'ओटीपी पुन्हा पाठविली गई';
+  String get otpResent => 'ओटीपी पुन्हा पाठवण्यात आला';
-  String get mailSentMessage => 'ईमेल पाठविली गई';
+  String get mailSentMessage => 'ईमेल पाठवण्यात आली';
-  String friendRequestSentTo(String username) {
-    return 'आपल्या मित्र विनंती $username ला पाठविली गई आहे.';
+  String friendRequestSentTo(String username) {
+    return 'आपली मित्र विनंती $username ला पाठवण्यात आली आहे.';
   }
-  String friendRequestCancelledTo(String username) {
-    return 'आपल्या मित्र विनंती $username ला रद्द केली गई आहे.';
+  String friendRequestCancelledTo(String username) {
+    return 'आपली मित्र विनंती $username ला रद्द करण्यात आली आहे.';
   }
-  String get updateSuccessfulMessage => 'रेजोनेट यशस्वीरित्या अपडेट केली गई आहे!';
+  String get updateSuccessfulMessage => 'रेजोनेट यशस्वीरित्या अपडेट करण्यात आले आहे!';
-  String get updateCancelledMessage => 'अपडेट वापरकर्त्याद्वारे रद्द केली गई';
+  String get updateCancelledMessage => 'अपडेट वापरकर्त्याद्वारे रद्द करण्यात आली';
-  String get userBlockedFromResonate =>
-      'आपल्याला वापरकर्त्यांकडून अनेक रिपोर्ट प्राप्त झाली आहे आणि आपल्याला रेजोनेट वापरणे ब्लॉक केले गई आहे. आप यावर विश्वास करत नाही असल्यास कृपया AOSSIE शी संपर्क करा.';
+  String get userBlockedFromResonate =>
+      'आपल्याविरुद्ध अनेक रिपोर्ट प्राप्त झाले आहेत आणि रेजोनेट वापरणे ब्लॉक केले गेले आहे. आपण यावर सहमत नसल्यास कृपया AOSSIE शी संपर्क करा.';

Also applies to: 394-396, 545-547, 1055-1058, 1063-1066, 1116-1119, 1122-1125, 1193-1195

Comment on lines +501 to +508
String get newVersionAvailable => 'नविन संस्करण उपलब्ध आहे!';

@override
String get upToDate => 'अद्यावधिक आहे';

@override
String get latestVersion => 'आप नवीनतम संस्करण वापरत आहात';

Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

Prefer Marathi “आवृत्ती” and fix pronoun “आप” → “आपण”

Use “आवृत्ती” instead of “संस्करण”, and Marathi pronoun.

-  String get newVersionAvailable => 'नविन संस्करण उपलब्ध आहे!';
+  String get newVersionAvailable => 'नवीन आवृत्ती उपलब्ध आहे!';
-  String get latestVersion => 'आप नवीनतम संस्करण वापरत आहात';
+  String get latestVersion => 'आपण नवीनतम आवृत्ती वापरत आहात';
-  String get upToDateTitle => 'आप अद्यावधिक आहात!';
+  String get upToDateTitle => 'आपण अद्ययावत आहात!';
-  String get upToDateMessage => 'आप रेजोनेटचे नवीनतम संस्करण वापरत आहात';
+  String get upToDateMessage => 'आपण रेजोनेटची नवीनतम आवृत्ती वापरत आहात';

Also applies to: 1155-1159

🤖 Prompt for AI Agents
In lib/l10n/app_localizations_mr.dart around lines 501–508 (and also update the
same pattern at 1155–1159), the Marathi strings use the word "संस्करण" and the
pronoun "आप" which are incorrect per reviewer guidance; replace "संस्करण" with
"आवृत्ती" and change the pronoun "आप" to the more appropriate "आपण" in those
three getters (newVersionAvailable, upToDate, latestVersion) so the strings read
with "आवृत्ती" and "आपण" accordingly.

Comment on lines +627 to +631
String get seconds => 'सेकंद.';

@override
String get unsavedChangesWarning =>
'जर आप सेव केल्याशिवाय पुढे जाल तर कोणतेही न-सेव केलेले बदल गमावले जातील.';
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Minor wording/format nits

  • Remove trailing dot in unit label.
  • “मिनिटे” better fits plural usage for length.
-  String get seconds => 'सेकंद.';
+  String get seconds => 'सेकंद';
-  String get lengthMinutes => 'मिनिट';
+  String get lengthMinutes => 'मिनिटे';
-  String get unsavedChangesWarning =>
-      'जर आप सेव केल्याशिवाय पुढे जाल तर कोणतेही न-सेव केलेले बदल गमावले जातील.';
+  String get unsavedChangesWarning =>
+      'जर आपण सेव न करता पुढे गेलात तर न साठवलेले बदल गमावले जातील.';

Also applies to: 1019-1021

🤖 Prompt for AI Agents
lib/l10n/app_localizations_mr.dart around lines 627-631 and 1019-1021: remove
the trailing period from the seconds unit label (change 'सेकंद.' to 'सेकंद') and
update the minutes plural wording to use "मिनिटे" where plural length is used
(replace current singular/incorrect form with "मिनिटे"); ensure the same changes
are applied to both occurrences (lines ~627-631 and ~1019-1021) and that no
extra punctuation is left after the unit labels.

Comment on lines +1178 to +1186
String reportType(String type) {
String _temp0 = intl.Intl.selectLogic(type, {
'harassment': 'उत्पीडन / द्वेष भाषण',
'abuse': 'अपमानजनक सामग्री / हिंसा',
'spam': 'स्पॅम / घोटाळे / धोखाधरी',
'impersonation': 'झूठी व्यक्तिमत्ता / खोटे खाते',
'illegal': 'अवैध क्रियाकलाप',
'selfharm': 'आत्महानि / आत्महत्या / मानसिक स्वास्थ्य',
'misuse': 'मंचचा दुरुपयोग',
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

Use proper Marathi for “spam/fraud” and health

Replace mixed forms with native Marathi.

-      'spam': 'स्पॅम / घोटाळे / धोखाधरी',
+      'spam': 'स्पॅम / घोटाळे / फसवणूक',
-      'selfharm': 'आत्महानि / आत्महत्या / मानसिक स्वास्थ्य',
+      'selfharm': 'आत्महानी / आत्महत्या / मानसिक आरोग्य',
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
String reportType(String type) {
String _temp0 = intl.Intl.selectLogic(type, {
'harassment': 'उत्पीडन / द्वेष भाषण',
'abuse': 'अपमानजनक सामग्री / हिंसा',
'spam': 'स्पॅम / घोटाळे / धोखाधरी',
'impersonation': 'झूठी व्यक्तिमत्ता / खोटे खाते',
'illegal': 'अवैध क्रियाकलाप',
'selfharm': 'आत्महानि / आत्महत्या / मानसिक स्वास्थ्य',
'misuse': 'मंचचा दुरुपयोग',
String reportType(String type) {
String _temp0 = intl.Intl.selectLogic(type, {
'harassment': 'उत्पीडन / द्वेष भाषण',
'abuse': 'अपमानजनक सामग्री / हिंसा',
'spam': 'स्पॅम / घोटाळे / फसवणूक',
'impersonation': 'झूठी व्यक्तिमत्ता / खोटे खाते',
'illegal': 'अवैध क्रियाकलाप',
'selfharm': 'आत्महानी / आत्महत्या / मानसिक आरोग्य',
'misuse': 'मंचचा दुरुपयोग',
🤖 Prompt for AI Agents
In lib/l10n/app_localizations_mr.dart around lines 1178–1186, the Marathi
strings for the 'spam' and 'selfharm' report types use mixed/non-native
phrasing; replace them with proper Marathi translations (for 'spam' use a native
term like "स्पॅम / फसवणूक" or "स्पॅम / ठगवा" and for 'selfharm' use "स्वयंहानी /
आत्महत्या / मानसिक आरोग्य") ensuring the keys remain unchanged and string
encoding/escaping is correct.

@M4dhav
Copy link
Contributor

M4dhav commented Oct 19, 2025

Great work on the PR, thank you for the contribution

@M4dhav M4dhav merged commit 60ed0ab into AOSSIE-Org:dev Oct 19, 2025
2 checks passed
@github-actions
Copy link
Contributor

PR Closed - Thank You, @4555jan!

  • If this PR was merged: Congratulations! Your contribution is now part of the project. 🚀
  • If this PR was closed without merging: Don’t worry! You can always improve it and submit again. 💪

We appreciate your effort and look forward to more contributions from you! 🤝

@M4dhav M4dhav mentioned this pull request Oct 19, 2025
@4555jan
Copy link
Contributor Author

4555jan commented Oct 19, 2025

@M4dhav how we can merge it there are some changes code rabbit told us to do isnt tho those changes arent that big but still?

@M4dhav
Copy link
Contributor

M4dhav commented Oct 19, 2025

As CodeRabbit is an AI, it sometimes hallucinates, and so not all of it's suggested changes are to be implemented. After changes suggested by CodeRabbit, If i think something needs to be implemented I ask the contributor to do it, else I go ahead with the merge. In this case, all the changes were related to translation accuracy. Since you said that you verified the translations, I took your word for it

@M4dhav
Copy link
Contributor

M4dhav commented Oct 19, 2025

If you think it is right about the Translation Accuracy changes, then I can revert the PR and you can make changes, or you can open another PR for the same. One key thing about localization in apps is that it needs to be contextual and not just a direct translation, meaning that in some contexts, for example, transliteration might be a better choice than translation. What I mean to say is that for example when it comes to hindi, some words may have translated forms in words which people don't frequently use, and as such, i think transliteration is a better option for Localization in an application. So similarly in my opinion native speaking contributors should have some priority of opinion when it comes to localization because it is contextual

@4555jan
Copy link
Contributor Author

4555jan commented Oct 19, 2025

@M4dhav exactly the changes bot listed are about not using very core marathi langange /words in some strings the meaning mostly stays the same ig even if we dont implement bots changes right now but later if you see or come across major issues with marathi translations or some strings are not makeing sense in marathi i will fix it asap / solve it

@M4dhav
Copy link
Contributor

M4dhav commented Oct 19, 2025

I mean I'm not a Marathi speaker anyways so I wouldn't know if the translations are wrong. So if you think they are Contextually correct, then we can leave them as is

@4555jan
Copy link
Contributor Author

4555jan commented Oct 19, 2025

ofc contextually it is correct the meaning of strings right now bascially stays same even if we implement bot changes right now or not

@coderabbitai coderabbitai bot mentioned this pull request Oct 31, 2025
10 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Marathi

2 participants