Resonate icon indicating copy to clipboard operation
Resonate copied to clipboard

Add Translations for different languages to Resonate

Open M4dhav opened this issue 5 months ago • 20 comments

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

M4dhav avatar Jul 12 '25 15:07 M4dhav

I am interested in adding translations for Punjabi, please assign.

smriddhiparashar avatar Jul 12 '25 15:07 smriddhiparashar

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

Charan-BS avatar Jul 20 '25 07:07 Charan-BS

Hey @Charan-BS , you can start by adding translations for Kannada and after that you can do so for Telugu!

M4dhav avatar Jul 20 '25 07:07 M4dhav

Can you assign this task to me so that there is no duplicate work?

Charan-BS avatar Jul 21 '25 20:07 Charan-BS

@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.

M4dhav avatar Jul 22 '25 18:07 M4dhav

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?

Charan-BS avatar Jul 31 '25 17:07 Charan-BS

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)

M4dhav avatar Jul 31 '25 20:07 M4dhav

Can you make sure and let me know, iam facing multiple errors in the initial build itself.

Charan-BS avatar Aug 11 '25 18:08 Charan-BS

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 avatar Aug 12 '25 22:08 M4dhav

@M4dhav I can add other languages like Gujrati , telegu various other languages and foreign languages please assign this task to me

4555jan avatar Sep 20 '25 18:09 4555jan

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.

M4dhav avatar Sep 20 '25 19:09 M4dhav

Hey @M4dhav Gujarati, Marathi, etc I can contribute to it and sorry for earlier

4555jan avatar Sep 20 '25 19:09 4555jan

Okay, you can start with Gujarati and after that you can take up Marathi

M4dhav avatar Sep 20 '25 19:09 M4dhav

@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."

raunaktastic avatar Sep 24 '25 09:09 raunaktastic

Hey @raunaktastic , sure, you can go ahead with it, opening a sub issue for the same

M4dhav avatar Sep 24 '25 09:09 M4dhav

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! ✨

ProblemShooter avatar Nov 01 '25 06:11 ProblemShooter

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

M4dhav avatar Nov 03 '25 07:11 M4dhav

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!

rahul-vyas-dev avatar Nov 14 '25 14:11 rahul-vyas-dev

I'll make a sub issue for you

M4dhav avatar Nov 15 '25 08:11 M4dhav

sure @M4dhav

rahul-vyas-dev avatar Nov 15 '25 08:11 rahul-vyas-dev