Unofficial Bavatar dart app for android, iOS and macOS

  Dart, Flutter App

Unofficial Bavatar dart app for android, iOS and macOS

Generated by the Very Good CLI robot


Getting Started rocket

This project contains 3 flavors:

  • development
  • staging
  • production

To run the desired flavor either use the launch configuration in VSCode/Android Studio or use the following commands:

# Development
$ flutter run --flavor development --target lib/main_development.dart # dont add --flavor for macos

# Staging
$ flutter run --flavor staging --target lib/main_staging.dart # dont add --flavor for macos

# Production
$ flutter run --flavor production --target lib/main_production.dart # dont add --flavor for macos

*Bavatar works on iOS, Android, and Web.


Running Tests test_tube

To run all unit and widget tests use the following command:

$ flutter test --coverage --test-randomize-ordering-seed random

To view the generated coverage report you can use lcov.

# Generate Coverage Report
$ genhtml coverage/lcov.info -o coverage/

# Open Coverage Report
$ open coverage/index.html

Working with Translations globe_with_meridians

This project relies on flutter_localizations and follows the official internationalization guide for Flutter.

Adding Strings

  1. To add a new localizable string, open the app_en.arb file at lib/l10n/arb/app_en.arb.
{
    "@@locale": "en",
    "bavatarAppBarTitle": "Bavatar",
    "@bavatarAppBarTitle": {
        "description": "Text shown in the AppBar of the Bavatar Page"
    }
}
  1. Then add a new key/value and description
{
    "@@locale": "en",
    "bavatarAppBarTitle": "Bavatar",
    "@bavatarAppBarTitle": {
        "description": "Text shown in the AppBar of the Bavatar Page"
    },
    "helloWorld": "Hello World",
    "@helloWorld": {
        "description": "Hello World Text"
    }
}
  1. Use the new string
import 'package:bavatar/l10n/l10n.dart';

@override
Widget build(BuildContext context) {
  final l10n = context.l10n;
  return Text(l10n.helloWorld);
}

Adding Supported Locales

Update the CFBundleLocalizations array in the Info.plist at ios/Runner/Info.plist to include the new locale.

    ...

    <key>CFBundleLocalizations</key>
	<array>
		<string>en</string>
		<string>es</string>
	</array>

    ...

Adding Translations

  1. For each supported locale, add a new ARB file in lib/l10n/arb.
├── l10n
│   ├── arb
│   │   ├── app_en.arb
│   │   └── app_es.arb
  1. Add the translated strings to each .arb file:

app_en.arb

{
    "@@locale": "en",
    "bavatarAppBarTitle": "Bavatar",
    "@bavatarAppBarTitle": {
        "description": "Text shown in the AppBar of the Bavatar Page"
    }
}

app_es.arb

{
    "@@locale": "es",
    "bavatarAppBarTitle": "Contador",
    "@bavatarAppBarTitle": {
        "description": "Texto mostrado en la AppBar de la página del contador"
    }
}

Download Bavatar dart app source code on GitHub

https://github.com/Pishure/bavatars_desktop