Add Translations for different languages to Resonate
This is a major issue that encompasses adding translations for various languages to the Resonate app.
Contributors can request a language and it will be added to this list and they will be assigned. Potential contributors are requested to only add translations for their Native/Bilingual Languages to ensure cultural and linguistic relevance.
Instructions to add Translations are available at TRANSLATIONS.md
Languages added
- [x] English (en) by @M4dhav
- [x] Hindi (hi) by @M4dhav
- [x] Gujarati (gu) by @4555jan
- [x] Marathi (mr) by @4555jan
- [x] Kannada (kn) by @Charan-BS
I am interested in adding translations for Punjabi, please assign.
Hi, I have read the Translation.md file, and i think i can work on this for Kannada or Telugu language. Let me know how can i proceed
Hey @Charan-BS , you can start by adding translations for Kannada and after that you can do so for Telugu!
Can you assign this task to me so that there is no duplicate work?
@Charan-BS as this is a major issue to track multiple languages by multiple contributors, I cannot assign this issue to you specifically. However, I have mentioned your involvement in the issue description.
Hi! @M4dhav, I'm trying to set up this project locally but running into multiple version conflicts. Could you please share the Flutter and Dart version used during development?
Hey @Charan-BS , it should be working with the latest stable versions of Flutter and Dart (Flutter v3.32.5 and Dart 3.8.1)
Can you make sure and let me know, iam facing multiple errors in the initial build itself.
Yes @Charan-BS , I just checked and it is indeed those versions. You can also verify this by looking at this Workflow file that I recently created that automatically compiles builds of resonate and it is also executing fine from a clean environment.
@M4dhav I can add other languages like Gujrati , telegu various other languages and foreign languages please assign this task to me
Hey @4555jan as mentioned above, it is preferred that contributors add translations only for their native/bilingual languages to ensure linguistic accuracy. If you have bilingual proficiency in a specific language, please mention that and you can work on adding that specific language to the translations.
Hey @M4dhav Gujarati, Marathi, etc I can contribute to it and sorry for earlier
Okay, you can start with Gujarati and after that you can take up Marathi
@M4dhav "Hi, I'm interested in contributing to this issue for Marathi translation. With my experience living in Maharashtra for over 7 years, I'm comfortable with the language and believe I can provide high-quality translations. I'd love to take on this task and ensure it aligns with the project's requirements. Please let me know if this is something you'd like me to work on."
Hey @raunaktastic , sure, you can go ahead with it, opening a sub issue for the same
Hi @M4dhav! 👋
🌍 Interest in Contributing to Translations
I'm very interested in contributing to the translation features for Resonate! I have prior experience contributing to translation/internationalization (i18n) features in open-source projects, and I'm excited to bring that expertise to this project.
📋 My Approach & Strategy
🔧 Setup Phase
- Clone the repository and set up the development environment
- Review the existing translation structure in
TRANSLATIONS.md - Ensure all Flutter/Dart dependencies are properly configured
✅ Accuracy & Quality Checks
- Work exclusively on my native/bilingual language(s) to ensure linguistic accuracy
- Maintain cultural relevance and context-appropriate translations
- Cross-verify translations for consistency across the app
📦 Language Pack Implementation
- Follow the project's i18n architecture
- Create properly formatted translation files
- Test translations in-app to ensure proper rendering
- Submit well-documented pull requests
💻 Code Snippet: Flutter i18n Implementation
Here's a demonstration of how I approach internationalization in Flutter:
import 'package:flutter/material.dart';
import 'package:intl/intl.dart';
// Translation manager class
class AppLocalizations {
final Locale locale;
AppLocalizations(this.locale);
static AppLocalizations? of(BuildContext context) {
return Localizations.of<AppLocalizations>(context, AppLocalizations);
}
// Translation map with fallback support
static final Map<String, Map<String, String>> _localizedValues = {
'en': {
'app_title': 'Resonate',
'welcome_message': 'Welcome to Resonate!',
'settings': 'Settings',
},
'hi': {
'app_title': 'रेज़ोनेट',
'welcome_message': 'रेज़ोनेट में आपका स्वागत है!',
'settings': 'सेटिंग्स',
},
};
// Method to get translated string
String translate(String key) {
return _localizedValues[locale.languageCode]?[key] ?? key;
}
}
// Usage in widgets
class HomeScreen extends StatelessWidget {
@override
Widget build(BuildContext context) {
final localizations = AppLocalizations.of(context);
return Scaffold(
appBar: AppBar(
title: Text(localizations?.translate('app_title') ?? 'Resonate'),
),
body: Center(
child: Text(localizations?.translate('welcome_message') ?? ''),
),
);
}
}
🙏 Request for Assignment
Could you please assign me to this issue (or create a sub-issue for my language)? I'm ready to contribute efficiently and follow all the guidelines mentioned in TRANSLATIONS.md. I understand the importance of maintaining high-quality, culturally relevant translations and am committed to delivering excellent work.
Looking forward to contributing to this amazing project! 🚀
Thank you for maintaining such a collaborative environment! ✨
Hey @ProblemShooter , welcome to Resonate. We aren't using a seperate class to manage localizations, and instead, flutter_localizations handles that for us. Please take a look at TRANSLATIONS.md to see how to contribute translations to Resonate, and if you have native/bilingual proficiency in a language that Resonate does not yet have translations for, feel free to request to be assigned to a sub issue for that Language
Hey @M4dhav , I’m working on the Rajasthani language for Resonate. Should I create a new issue and then raise a PR for this, or should I directly raise a PR for this existing issue? Thanks!
I'll make a sub issue for you
sure @M4dhav