-
Notifications
You must be signed in to change notification settings - Fork 348
feat: add Marathi translation support #572
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
Conversation
|
🎉 Welcome @4555jan!
We appreciate your contribution! 🚀 |
WalkthroughAdds 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
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
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~30 minutes Possibly related PRs
Suggested labels
Poem
Pre-merge checks and finishing touches✅ Passed checks (5 passed)
✨ Finishing touches🧪 Generate unit tests (beta)
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 |
|
@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 |
|
@coderabbitai review |
✅ Actions performedReview triggered.
|
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: 6
🧹 Nitpick comments (6)
lib/l10n/app_localizations_mr.dart (6)
82-89: Correct room label and consistencyUse 'कोठा' 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 typesReplace 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 noticeOptional phrasing for clarity and grammar.
- String get removedFromRoom => - 'आपल्याला रिपोर्ट केली गई किंवा कोठ्यातून काढून देण्यात आली'; + String get removedFromRoom => + 'आपल्यावर रिपोर्ट आली आहे किंवा आपण कोठ्यातून काढले गेले आहात';
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 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.
lib/l10n/app_localizations_mr.dart
Outdated
| String get resonateLogo => 'रेजोनेट लोगो'; | ||
|
|
||
| @override | ||
| String get iAlreadyHaveAnAccount => 'मेरे पास पहले से खाता है'; |
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.
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.
| 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 'माझ्याकडे आधीच खाते
आहे'.
| String addNewChaptersToStory(String storyName) { | ||
| return '$storyNameमध्ये नविन अध्याय जोडा'; | ||
| } |
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.
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.
|
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 |
|
@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 |
|
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 |
|
@coderabbitai review |
✅ Actions performedReview triggered.
|
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: 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 clarityAbbreviations 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 phrasesOptional: 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
📒 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 scaffoldClass 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 — thanksGetter now returns 'en'. All good.
980-1011: Pluralization looks correctPlural/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 linesThe 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" terminologyThe 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 guidelinesThe 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.
| @override | ||
| String get incorrectEmailOrPassword => 'गलत ईमेल किंवा पासवर्ड'; | ||
|
|
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.
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.
| @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 "गलत ईमेल किंवा पासवर्ड".
| @override | ||
| String get failed => 'अयोग्य'; | ||
|
|
||
| @override | ||
| String get emailChangeFailed => 'ईमेल बदलणे अयोग्य'; | ||
|
|
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.
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.
| @override | ||
| String get createNewAccount => 'नव्यान खाते तयार करा'; | ||
|
|
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.
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.
| String get noConnection => 'कोणता कनेक्शन नाही'; | ||
|
|
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.
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.
| 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.
| String get settings => 'सेटिंग्स'; | ||
|
|
||
| @override | ||
| String get accountSettings => 'खाता सेटिंग्स'; | ||
|
|
||
| @override | ||
| String get account => 'खाता'; | ||
|
|
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.
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.
| String get verificationCodeSent => 'आम्ही एक ६-अंकीय सत्यापन कोड\n'; | ||
|
|
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.
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
| String get newVersionAvailable => 'नविन संस्करण उपलब्ध आहे!'; | ||
|
|
||
| @override | ||
| String get upToDate => 'अद्यावधिक आहे'; | ||
|
|
||
| @override | ||
| String get latestVersion => 'आप नवीनतम संस्करण वापरत आहात'; | ||
|
|
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.
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.
| String get seconds => 'सेकंद.'; | ||
|
|
||
| @override | ||
| String get unsavedChangesWarning => | ||
| 'जर आप सेव केल्याशिवाय पुढे जाल तर कोणतेही न-सेव केलेले बदल गमावले जातील.'; |
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.
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.
| String reportType(String type) { | ||
| String _temp0 = intl.Intl.selectLogic(type, { | ||
| 'harassment': 'उत्पीडन / द्वेष भाषण', | ||
| 'abuse': 'अपमानजनक सामग्री / हिंसा', | ||
| 'spam': 'स्पॅम / घोटाळे / धोखाधरी', | ||
| 'impersonation': 'झूठी व्यक्तिमत्ता / खोटे खाते', | ||
| 'illegal': 'अवैध क्रियाकलाप', | ||
| 'selfharm': 'आत्महानि / आत्महत्या / मानसिक स्वास्थ्य', | ||
| 'misuse': 'मंचचा दुरुपयोग', |
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.
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.
| 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.
|
Great work on the PR, thank you for the contribution |
|
✅ PR Closed - Thank You, @4555jan!
We appreciate your effort and look forward to more contributions from you! 🤝 |
|
@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? |
|
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 |
|
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 |
|
@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 |
|
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 |
|
ofc contextually it is correct the meaning of strings right now bascially stays same even if we implement bot changes right now or not |
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:
Maintainer Checklist
Summary by CodeRabbit