[l10n] Project import generated by Copybara.

PiperOrigin-RevId: 265138710
Change-Id: Ib38dc976aa4c7f7095311ac8bd31655277dfab4f
diff --git a/examples/ui/localized_mod/lib/localization/messages_all.dart b/examples/ui/localized_mod/lib/localization/messages_all.dart
old mode 100644
new mode 100755
index a91b228..ec428cb
--- a/examples/ui/localized_mod/lib/localization/messages_all.dart
+++ b/examples/ui/localized_mod/lib/localization/messages_all.dart
@@ -9,21 +9,33 @@
 // ignore: implementation_imports
 import 'package:intl/src/intl_helpers.dart';
 
-import 'messages_messages.dart' deferred as messages_messages;
-import 'messages_he.dart' deferred as messages_he;
+import 'messages_ar-XB.dart' deferred as messages_ar_xb;
+import 'messages_en-XA.dart' deferred as messages_en_xa;
+import 'messages_en-XC.dart' deferred as messages_en_xc;
+import 'messages_sr-Latn.dart' deferred as messages_sr_latn;
+import 'messages_sr.dart' deferred as messages_sr;
 
 typedef Future<dynamic> LibraryLoader();
 Map<String, LibraryLoader> _deferredLibraries = {
-  'messages': () => messages_messages.loadLibrary(),
-  'he': () => messages_he.loadLibrary(),
+  'ar_XB': messages_ar_xb.loadLibrary,
+  'en_XA': messages_en_xa.loadLibrary,
+  'en_XC': messages_en_xc.loadLibrary,
+  'sr_Latn': messages_sr_latn.loadLibrary,
+  'sr': messages_sr.loadLibrary,
 };
 
 MessageLookupByLibrary _findExact(localeName) {
   switch (localeName) {
-    case 'messages':
-      return messages_messages.messages;
-    case 'he':
-      return messages_he.messages;
+    case 'ar_XB':
+      return messages_ar_xb.messages;
+    case 'en_XA':
+      return messages_en_xa.messages;
+    case 'en_XC':
+      return messages_en_xc.messages;
+    case 'sr_Latn':
+      return messages_sr_latn.messages;
+    case 'sr':
+      return messages_sr.messages;
     default:
       return null;
   }
@@ -32,21 +44,20 @@
 /// User programs should call this before using [localeName] for messages.
 Future<bool> initializeMessages(String localeName) async {
   var availableLocale = Intl.verifiedLocale(
-    localeName,
-    (locale) => _deferredLibraries[locale] != null,
-    onFailure: (_) => null);
+      localeName, (locale) => _deferredLibraries[locale] != null,
+      onFailure: (_) => null);
   if (availableLocale == null) {
     // ignore: unnecessary_new
-    return Future.value(false);
+    return new Future.value(false);
   }
   var lib = _deferredLibraries[availableLocale];
   // ignore: unnecessary_new
-  await (lib == null ? Future.value(false) : lib());
+  await (lib == null ? new Future.value(false) : lib());
   // ignore: unnecessary_new
-  initializeInternalMessageLookup(() => CompositeMessageLookup());
+  initializeInternalMessageLookup(() => new CompositeMessageLookup());
   messageLookup.addLocale(availableLocale, _findGeneratedMessagesFor);
   // ignore: unnecessary_new
-  return Future.value(true);
+  return new Future.value(true);
 }
 
 bool _messagesExistFor(String locale) {
@@ -58,8 +69,67 @@
 }
 
 MessageLookupByLibrary _findGeneratedMessagesFor(locale) {
-  var actualLocale = Intl.verifiedLocale(locale, _messagesExistFor,
-      onFailure: (_) => null);
+  var actualLocale =
+      Intl.verifiedLocale(locale, _messagesExistFor, onFailure: (_) => null);
   if (actualLocale == null) return null;
   return _findExact(actualLocale);
 }
+
+/// Turn the JSON template into a string.
+///
+/// We expect one of the following forms for the template.
+/// * null -> null
+/// * String s -> s
+/// * int n -> '${args[n]}'
+/// * List list, one of
+///   * ['Intl.plural', int howMany, (templates for zero, one, ...)]
+///   * ['Intl.gender', String gender, (templates for female, male, other)]
+///   * ['Intl.select', String choice, { 'case' : template, ...} ]
+///   * ['text alternating with ', 0 , ' indexes in the argument list']
+String evaluateJsonTemplate(Object input, List<dynamic> args) {
+  if (input == null) return null;
+  if (input is String) return input;
+  if (input is int) {
+    return "${args[input]}";
+  }
+
+  List<dynamic> template = input;
+  var messageName = template.first;
+  if (messageName == "Intl.plural") {
+    var howMany = args[template[1]];
+    return evaluateJsonTemplate(
+        Intl.pluralLogic(howMany,
+            zero: template[2],
+            one: template[3],
+            two: template[4],
+            few: template[5],
+            many: template[6],
+            other: template[7]),
+        args);
+  }
+  if (messageName == "Intl.gender") {
+    var gender = args[template[1]];
+    return evaluateJsonTemplate(
+        Intl.genderLogic(gender,
+            female: template[2], male: template[3], other: template[4]),
+        args);
+  }
+  if (messageName == "Intl.select") {
+    var select = args[template[1]];
+    var choices = template[2];
+    return evaluateJsonTemplate(Intl.selectLogic(select, choices), args);
+  }
+
+  // If we get this far, then we are a basic interpolation, just strings and
+  // ints.
+  // ignore: unnecessary_new
+  var output = new StringBuffer();
+  for (var entry in template) {
+    if (entry is int) {
+      output.write("${args[entry]}");
+    } else {
+      output.write("$entry");
+    }
+  }
+  return output.toString();
+}
diff --git a/examples/ui/localized_mod/lib/localization/messages_ar-XB.dart b/examples/ui/localized_mod/lib/localization/messages_ar-XB.dart
new file mode 100755
index 0000000..2945433
--- /dev/null
+++ b/examples/ui/localized_mod/lib/localization/messages_ar-XB.dart
@@ -0,0 +1,34 @@
+// DO NOT EDIT. This is code generated via package:intl/generate_localized.dart
+// This is a library that provides messages for a ar_XB locale. All the
+// messages from the main program should be duplicated here with the same
+// function name.
+
+// ignore_for_file: unnecessary_brace_in_string_interps
+
+import 'package:intl/intl.dart';
+import 'package:intl/message_lookup_by_library.dart';
+import 'dart:convert';
+import 'messages_all.dart' show evaluateJsonTemplate;
+
+// ignore: unnecessary_new
+final messages = new MessageLookup();
+
+// ignore: unused_element
+final _keepAnalysisHappy = Intl.defaultLocale;
+
+// ignore: non_constant_identifier_names
+typedef MessageIfAbsent(String message_str, List<dynamic> args);
+
+class MessageLookup extends MessageLookupByLibrary {
+  get localeName => 'ar_XB';
+
+  String evaluateMessage(translation, List<dynamic> args) {
+    return evaluateJsonTemplate(translation, args);
+  }
+
+  var _messages;
+  // ignore: unnecessary_new
+  get messages => _messages ??= new JsonDecoder().convert(messageText);
+  static final messageText = r'''
+{"appTitle":"‏‮Localized‬‏ ‏‮Mod‬‏","bodyText":["Intl.plural",0,"‏‮There‬‏ ‏‮are‬‏ ‏‮no‬‏ ‏‮messages‬‏.","‏‮There‬‏ ‏‮is‬‏ ‏‮one‬‏ ‏‮message‬‏.",["‏‮There‬‏ ‏‮are‬‏ ",0," ‏‮messages‬‏."],["‏‮There‬‏ ‏‮are‬‏ ",0," ‏‮messages‬‏."],["‏‮There‬‏ ‏‮are‬‏ ",0," ‏‮messages‬‏."],["‏‮There‬‏ ‏‮are‬‏ ",0," ‏‮messages‬‏."]],"footer":"‏‮Coming‬‏ ‏‮soon‬‏: ‏‮actually‬‏ ‏‮reading‬‏ ‏‮those‬‏ ‏‮messages‬‏!"}''';
+}
diff --git a/examples/ui/localized_mod/lib/localization/messages_en-XA.dart b/examples/ui/localized_mod/lib/localization/messages_en-XA.dart
new file mode 100755
index 0000000..fdd77f1
--- /dev/null
+++ b/examples/ui/localized_mod/lib/localization/messages_en-XA.dart
@@ -0,0 +1,34 @@
+// DO NOT EDIT. This is code generated via package:intl/generate_localized.dart
+// This is a library that provides messages for a en_XA locale. All the
+// messages from the main program should be duplicated here with the same
+// function name.
+
+// ignore_for_file: unnecessary_brace_in_string_interps
+
+import 'package:intl/intl.dart';
+import 'package:intl/message_lookup_by_library.dart';
+import 'dart:convert';
+import 'messages_all.dart' show evaluateJsonTemplate;
+
+// ignore: unnecessary_new
+final messages = new MessageLookup();
+
+// ignore: unused_element
+final _keepAnalysisHappy = Intl.defaultLocale;
+
+// ignore: non_constant_identifier_names
+typedef MessageIfAbsent(String message_str, List<dynamic> args);
+
+class MessageLookup extends MessageLookupByLibrary {
+  get localeName => 'en_XA';
+
+  String evaluateMessage(translation, List<dynamic> args) {
+    return evaluateJsonTemplate(translation, args);
+  }
+
+  var _messages;
+  // ignore: unnecessary_new
+  get messages => _messages ??= new JsonDecoder().convert(messageText);
+  static final messageText = r'''
+{"appTitle":"[Ļöçåļîžéð Möð one two]","bodyText":["Intl.plural",0,"[Ţĥéŕé åŕé ñö méššåĝéš. one two three four five]","[Ţĥéŕé îš öñé méššåĝé. one two three four five]",null,null,null,["[Ţĥéŕé åŕé ᐅ",0,"ᐊ méššåĝéš. one two three four five]"]],"footer":"[Çömîñĝ šööñ: åçţûåļļý ŕéåðîñĝ ţĥöšé méššåĝéš¡ one two three four five six seven eight nine]"}''';
+}
diff --git a/examples/ui/localized_mod/lib/localization/messages_en-XC.dart b/examples/ui/localized_mod/lib/localization/messages_en-XC.dart
new file mode 100755
index 0000000..dd7a49f
--- /dev/null
+++ b/examples/ui/localized_mod/lib/localization/messages_en-XC.dart
@@ -0,0 +1,34 @@
+// DO NOT EDIT. This is code generated via package:intl/generate_localized.dart
+// This is a library that provides messages for a en_XC locale. All the
+// messages from the main program should be duplicated here with the same
+// function name.
+
+// ignore_for_file: unnecessary_brace_in_string_interps
+
+import 'package:intl/intl.dart';
+import 'package:intl/message_lookup_by_library.dart';
+import 'dart:convert';
+import 'messages_all.dart' show evaluateJsonTemplate;
+
+// ignore: unnecessary_new
+final messages = new MessageLookup();
+
+// ignore: unused_element
+final _keepAnalysisHappy = Intl.defaultLocale;
+
+// ignore: non_constant_identifier_names
+typedef MessageIfAbsent(String message_str, List<dynamic> args);
+
+class MessageLookup extends MessageLookupByLibrary {
+  get localeName => 'en_XC';
+
+  String evaluateMessage(translation, List<dynamic> args) {
+    return evaluateJsonTemplate(translation, args);
+  }
+
+  var _messages;
+  // ignore: unnecessary_new
+  get messages => _messages ??= new JsonDecoder().convert(messageText);
+  static final messageText = r'''
+{"appTitle":"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‏‏‏‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‏‎‎‏‏‏‏‏‎‏‎‏‎‏‎‏‎‎‎‏‎‏‎‎‏‎‎‎‏‏‎‏‏‏‎‎‎‎‏‎‎‎‎‎‏‏‏‎‎‎‎‏‎‎‏‏‎‎‎Localized Mod‎‏‎‎‏‎","bodyText":["Intl.plural",0,"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‏‏‏‎‎‏‎‏‏‏‎‎‏‏‏‎‎‏‎‎‎‎‏‏‎‏‎‏‏‎‎‎‎‎‏‏‎‏‏‏‏‏‏‎‏‏‎‎‏‎‏‎‏‏‎‎‎‎‏‎‎‎‏‎‎‏‎‎‏‎‎There are no messages.‎‏‎‎‏‎","‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‏‏‏‎‎‏‎‏‏‏‎‎‏‏‏‎‎‏‎‎‎‎‏‏‎‏‎‏‏‎‎‎‎‎‏‏‎‏‏‏‏‏‏‎‏‏‎‎‏‎‏‎‏‏‎‎‎‎‏‎‎‎‏‎‎‏‎‎‏‎‎There is one message.‎‏‎‎‏‎",null,null,null,["‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‏‏‏‎‎‏‎‏‏‏‎‎‏‏‏‎‎‏‎‎‎‎‏‏‎‏‎‏‏‎‎‎‎‎‏‏‎‏‏‏‏‏‏‎‏‏‎‎‏‎‏‎‏‏‎‎‎‎‏‎‎‎‏‎‎‏‎‎‏‎‎There are ‎‏‎‎‏‏‎",0,"‎‏‎‎‏‏‏‎ messages.‎‏‎‎‏‎"]],"footer":"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‏‏‏‎‎‏‎‏‏‏‏‎‏‏‏‎‎‎‏‎‎‏‎‏‏‏‎‏‏‎‏‎‎‎‏‎‏‎‏‎‎‎‎‎‎‎‎‎‏‎‎‏‏‎‎‏‎‏‏‎‎‏‎‏‎‏‎‎‎‎‎‎‎‏‎Coming soon: actually reading those messages!‎‏‎‎‏‎"}''';
+}
diff --git a/examples/ui/localized_mod/lib/localization/messages_messages.dart b/examples/ui/localized_mod/lib/localization/messages_messages.dart
deleted file mode 100644
index c2d2c2c..0000000
--- a/examples/ui/localized_mod/lib/localization/messages_messages.dart
+++ /dev/null
@@ -1,29 +0,0 @@
-// DO NOT EDIT. This is code generated via package:intl/generate_localized.dart
-// This is a library that provides messages for a messages locale. All the
-// messages from the main program should be duplicated here with the same
-// function name.
-
-import 'package:intl/intl.dart';
-import 'package:intl/message_lookup_by_library.dart';
-
-// ignore: unnecessary_new
-final messages = MessageLookup();
-
-// ignore: unused_element
-final _keepAnalysisHappy = Intl.defaultLocale;
-
-// ignore: non_constant_identifier_names
-typedef MessageIfAbsent(String message_str, List args);
-
-class MessageLookup extends MessageLookupByLibrary {
-  get localeName => 'messages';
-
-  static m0(itemCount) => "${Intl.plural(itemCount, zero: 'There are no messages.', one: 'There is one message.', other: 'There are ${itemCount} messages.')}";
-
-  final messages = _notInlinedMessages(_notInlinedMessages);
-  static _notInlinedMessages(_) => <String, Function> {
-    "appTitle" : MessageLookupByLibrary.simpleMessage("Localized Mod"),
-    "bodyText" : m0,
-    "footer" : MessageLookupByLibrary.simpleMessage("Coming soon: actually reading those messages!")
-  };
-}
diff --git a/examples/ui/localized_mod/lib/localization/messages_sr-Latn.dart b/examples/ui/localized_mod/lib/localization/messages_sr-Latn.dart
new file mode 100755
index 0000000..8e0d562
--- /dev/null
+++ b/examples/ui/localized_mod/lib/localization/messages_sr-Latn.dart
@@ -0,0 +1,34 @@
+// DO NOT EDIT. This is code generated via package:intl/generate_localized.dart
+// This is a library that provides messages for a sr_Latn locale. All the
+// messages from the main program should be duplicated here with the same
+// function name.
+
+// ignore_for_file: unnecessary_brace_in_string_interps
+
+import 'package:intl/intl.dart';
+import 'package:intl/message_lookup_by_library.dart';
+import 'dart:convert';
+import 'messages_all.dart' show evaluateJsonTemplate;
+
+// ignore: unnecessary_new
+final messages = new MessageLookup();
+
+// ignore: unused_element
+final _keepAnalysisHappy = Intl.defaultLocale;
+
+// ignore: non_constant_identifier_names
+typedef MessageIfAbsent(String message_str, List<dynamic> args);
+
+class MessageLookup extends MessageLookupByLibrary {
+  get localeName => 'sr_Latn';
+
+  String evaluateMessage(translation, List<dynamic> args) {
+    return evaluateJsonTemplate(translation, args);
+  }
+
+  var _messages;
+  // ignore: unnecessary_new
+  get messages => _messages ??= new JsonDecoder().convert(messageText);
+  static final messageText = r'''
+{"appTitle":"Lokalizovani mod","bodyText":["Intl.plural",0,"Nema poruka.","Jedna poruka.",null,[0," poruke."],null,[0," poruka."]],"footer":"Dolazi uskoro: zapravo čitanje ovih poruka!"}''';
+}
diff --git a/examples/ui/localized_mod/lib/localization/messages_sr.dart b/examples/ui/localized_mod/lib/localization/messages_sr.dart
new file mode 100755
index 0000000..c7aa735
--- /dev/null
+++ b/examples/ui/localized_mod/lib/localization/messages_sr.dart
@@ -0,0 +1,34 @@
+// DO NOT EDIT. This is code generated via package:intl/generate_localized.dart
+// This is a library that provides messages for a sr locale. All the
+// messages from the main program should be duplicated here with the same
+// function name.
+
+// ignore_for_file: unnecessary_brace_in_string_interps
+
+import 'package:intl/intl.dart';
+import 'package:intl/message_lookup_by_library.dart';
+import 'dart:convert';
+import 'messages_all.dart' show evaluateJsonTemplate;
+
+// ignore: unnecessary_new
+final messages = new MessageLookup();
+
+// ignore: unused_element
+final _keepAnalysisHappy = Intl.defaultLocale;
+
+// ignore: non_constant_identifier_names
+typedef MessageIfAbsent(String message_str, List<dynamic> args);
+
+class MessageLookup extends MessageLookupByLibrary {
+  get localeName => 'sr';
+
+  String evaluateMessage(translation, List<dynamic> args) {
+    return evaluateJsonTemplate(translation, args);
+  }
+
+  var _messages;
+  // ignore: unnecessary_new
+  get messages => _messages ??= new JsonDecoder().convert(messageText);
+  static final messageText = r'''
+{"appTitle":"Локализовани мод","bodyText":["Intl.plural",0,"Нема порука.","Једна порука.",null,[0," поруке."],null,[0," порука."]],"footer":"Долази ускоро: заправо читање ових порука!"}''';
+}