Skip to content

An Android/iOS app that enables speakers of various languages to chat

Notifications You must be signed in to change notification settings

root458/Multilingual-Chat

Repository files navigation

Multilingual Chat

A Flutter messaging application that makes possible realtime communication between speakers of different languages.

Visuals


Installation

A Flutter installation is required to run this project. To install Flutter, visit the official installation documentation. Set up an editor of choice as specified here.

Download the project.

git clone https://github.com/root458/Multilingual-Chat.git

Run the below command inside the project directory to install necessary packages.

flutter pub get

To run the project in debug mode

flutter run

To generate a release build

flutter build apk

Locate the app-release.apk file from the directory build/app/outputs/flutter-apk/ and install in your Android smartphone or emulator to use.

Usage

On launching the application, it will require you to sign in using your Google account. You will then be able to see the home screen. Here, tap the floating bottom at the bottom to start a chat with available users. Tap the user you wish to chat with to send them a message.

You are then free to use whichever language you feel like as they will be able to translate your messages if they don't understand your language.

You can log out by clicking the options button available on the app bar in the HOME screen.

Fun worth trying! After translating a message, you can tap the message to listen to it as an audio. This is especially useful for long messages.

Important to note

  • Translations are available in Swahili, English, French, Dutch, Czech, German, Italian, Japanese, Portuguese and Spanish only. With no audio for messages translated to Swahili :(.
  • The messages are synced across all the devices you sign in to. So no worries at all regarding backing up messages.

Contributing

Contributions towards the project are welcome. Specifically:

  • Improvements towards enabling persistence for the Google authentication would be highly appreciated.
  • Enabling localizations for the application.
  • Notifications and a mechanism to show unread messages.
  • Fit different screen sizes.
  • Speech-to-text functionality when sending a message to improve efficiency.
  • Identification of a Text-To-Speech engine with Swahili support would be a plus.

License

MIT

Project Status

The requirements I set have been made possible. However, the application can still be improved. Additions/improvements can be made as specified in the Contributing section.