android | ||
assets | ||
ios | ||
lib | ||
test | ||
web | ||
_config.yml | ||
.gitignore | ||
.gitlab-ci.yml | ||
.gitmodules | ||
.metadata | ||
analysis_options.yaml | ||
CHANGELOG.md | ||
Gemfile | ||
Gemfile.lock | ||
LICENSE | ||
pubspec.lock | ||
pubspec.yaml | ||
README.md |
Open FluffyChat in the browser - Join the community - Follow me on Mastodon - Translate the website - FAQ - Website
Features
- Single and group chats
- Send images and files
- Offline chat history
- Push Notifications
- Account settings
- Display user avatars
- Themes, chat wallpapers and dark mode
- Device management
- Edit chat settings and permissions
- Kick, ban and unban users
- Display and edit chat topics
- Change chat & user avatars
- Archived chats
- Discover public chats on the user's homeserver
- Registration
How to build
-
Clone the repo:
git clone --recurse-submodules https://gitlab.com/ChristianPauly/fluffychat-flutter
cd fluffychat-flutter
Android / iOS
-
For Android install CMake from the SDK Manager
-
Install ninja:
sudo apt install ninja-build
- Outcomment the Google Services plugin at the end of the file
android/app/build.gradle
:
// apply plugin: "com.google.gms.google-services"
flutter run
Web
-
flutter channel beta && flutter upgrade
-
flutter config --enable-web
-
flutter run
How to add translations for your language
- Replace the non-translated string in the codebase:
Text("Hello world"),
with a method call:
Text(I18n.of(context).helloWorld),
And add the method to /lib/i18n/i18n.dart
:
String get helloWorld => Intl.message('Hello world');
- Add the string to the .arb files with this command:
flutter pub run intl_translation:extract_to_arb --output-dir=lib/i18n lib/i18n/i18n.dart
-
Copy the new translation objects from
/lib/i18n/intl_message.arb
to/lib/i18n/intl_<yourlanguage>.arb
and translate it or create a new file for your language by copyingintl_message.arb
. -
Update the translations with this command:
flutter pub pub run intl_translation:generate_from_arb --output-dir=lib/i18n --no-use-deferred-loading lib/i18n/i18n.dart lib/i18n/intl_*.arb
- Make sure your language is in
supportedLocales
in/lib/main.dart
.
Special thanks to
-
Fabiyamada is a graphics designer from Brasil and has made the fluffychat logo and the banner. Big thanks for her great designs.
-
Advocatux has made the Spanish translation with great love and care. He always stands by my side and supports my work with great commitment.
-
Thanks to MTRNord and Sorunome for developing.
-
Thanks to Mark for all his support and the chat background.
-
Also thanks to all translators and testers! With your help, fluffychat is now available in more than 12 languages.