/**
 * DO NOT EDIT. This is code generated via package:intl/generate_localized.dart
 * This is a library that provides messages for a en locale. All the
 * messages from the main program should be duplicated here with the same
 * function name.
 */

library messages_en;
import 'package:intl/intl.dart';
import 'package:intl/message_lookup_by_library.dart';

final messages = new MessageLookup();

class MessageLookup extends MessageLookupByLibrary {

  get localeName => 'en';
  static market() => "MARKET";

  static portfolio() => "PORTFOLIO";

  static title() => "Stocks";


  final messages = const {
    "market" : market,
    "portfolio" : portfolio,
    "title" : title
  };
}