http://git-wip-us.apache.org/repos/asf/struts-archetypes/blob/3662396a/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_es.js
----------------------------------------------------------------------
diff --git 
a/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_es.js
 
b/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_es.js
new file mode 100644
index 0000000..07c4d2a
--- /dev/null
+++ 
b/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_es.js
@@ -0,0 +1,125 @@
+'use strict';
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: 
"many", OTHER: "other"};
+$provide.value("$locale", {
+  "DATETIME_FORMATS": {
+    "AMPMS": [
+      "a. m.",
+      "p. m."
+    ],
+    "DAY": [
+      "domingo",
+      "lunes",
+      "martes",
+      "mi\u00e9rcoles",
+      "jueves",
+      "viernes",
+      "s\u00e1bado"
+    ],
+    "ERANAMES": [
+      "antes de Cristo",
+      "despu\u00e9s de Cristo"
+    ],
+    "ERAS": [
+      "a. C.",
+      "d. C."
+    ],
+    "FIRSTDAYOFWEEK": 0,
+    "MONTH": [
+      "enero",
+      "febrero",
+      "marzo",
+      "abril",
+      "mayo",
+      "junio",
+      "julio",
+      "agosto",
+      "septiembre",
+      "octubre",
+      "noviembre",
+      "diciembre"
+    ],
+    "SHORTDAY": [
+      "dom.",
+      "lun.",
+      "mar.",
+      "mi\u00e9.",
+      "jue.",
+      "vie.",
+      "s\u00e1b."
+    ],
+    "SHORTMONTH": [
+      "ene.",
+      "feb.",
+      "mar.",
+      "abr.",
+      "may.",
+      "jun.",
+      "jul.",
+      "ago.",
+      "sept.",
+      "oct.",
+      "nov.",
+      "dic."
+    ],
+    "STANDALONEMONTH": [
+      "Enero",
+      "Febrero",
+      "Marzo",
+      "Abril",
+      "Mayo",
+      "Junio",
+      "Julio",
+      "Agosto",
+      "Septiembre",
+      "Octubre",
+      "Noviembre",
+      "Diciembre"
+    ],
+    "WEEKENDRANGE": [
+      5,
+      6
+    ],
+    "fullDate": "EEEE, d 'de' MMMM 'de' y",
+    "longDate": "d 'de' MMMM 'de' y",
+    "medium": "d MMM y H:mm:ss",
+    "mediumDate": "d MMM y",
+    "mediumTime": "H:mm:ss",
+    "short": "d/M/yy H:mm",
+    "shortDate": "d/M/yy",
+    "shortTime": "H:mm"
+  },
+  "NUMBER_FORMATS": {
+    "CURRENCY_SYM": "\u20ac",
+    "DECIMAL_SEP": ",",
+    "GROUP_SEP": ".",
+    "PATTERNS": [
+      {
+        "gSize": 3,
+        "lgSize": 3,
+        "maxFrac": 3,
+        "minFrac": 0,
+        "minInt": 1,
+        "negPre": "-",
+        "negSuf": "",
+        "posPre": "",
+        "posSuf": ""
+      },
+      {
+        "gSize": 3,
+        "lgSize": 3,
+        "maxFrac": 2,
+        "minFrac": 2,
+        "minInt": 1,
+        "negPre": "-",
+        "negSuf": "\u00a0\u00a4",
+        "posPre": "",
+        "posSuf": "\u00a0\u00a4"
+      }
+    ]
+  },
+  "id": "es",
+  "localeID": "es",
+  "pluralCat": function(n, opt_precision) {  if (n == 1) {    return 
PLURAL_CATEGORY.ONE;  }  return PLURAL_CATEGORY.OTHER;}
+});
+}]);

http://git-wip-us.apache.org/repos/asf/struts-archetypes/blob/3662396a/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_et-ee.js
----------------------------------------------------------------------
diff --git 
a/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_et-ee.js
 
b/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_et-ee.js
new file mode 100644
index 0000000..d891b9d
--- /dev/null
+++ 
b/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_et-ee.js
@@ -0,0 +1,143 @@
+'use strict';
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: 
"many", OTHER: "other"};
+function getDecimals(n) {
+  n = n + '';
+  var i = n.indexOf('.');
+  return (i == -1) ? 0 : n.length - i - 1;
+}
+
+function getVF(n, opt_precision) {
+  var v = opt_precision;
+
+  if (undefined === v) {
+    v = Math.min(getDecimals(n), 3);
+  }
+
+  var base = Math.pow(10, v);
+  var f = ((n * base) | 0) % base;
+  return {v: v, f: f};
+}
+
+$provide.value("$locale", {
+  "DATETIME_FORMATS": {
+    "AMPMS": [
+      "AM",
+      "PM"
+    ],
+    "DAY": [
+      "p\u00fchap\u00e4ev",
+      "esmasp\u00e4ev",
+      "teisip\u00e4ev",
+      "kolmap\u00e4ev",
+      "neljap\u00e4ev",
+      "reede",
+      "laup\u00e4ev"
+    ],
+    "ERANAMES": [
+      "enne meie aega",
+      "meie aja j\u00e4rgi"
+    ],
+    "ERAS": [
+      "e.m.a.",
+      "m.a.j."
+    ],
+    "FIRSTDAYOFWEEK": 0,
+    "MONTH": [
+      "jaanuar",
+      "veebruar",
+      "m\u00e4rts",
+      "aprill",
+      "mai",
+      "juuni",
+      "juuli",
+      "august",
+      "september",
+      "oktoober",
+      "november",
+      "detsember"
+    ],
+    "SHORTDAY": [
+      "P",
+      "E",
+      "T",
+      "K",
+      "N",
+      "R",
+      "L"
+    ],
+    "SHORTMONTH": [
+      "jaan",
+      "veebr",
+      "m\u00e4rts",
+      "apr",
+      "mai",
+      "juuni",
+      "juuli",
+      "aug",
+      "sept",
+      "okt",
+      "nov",
+      "dets"
+    ],
+    "STANDALONEMONTH": [
+      "jaanuar",
+      "veebruar",
+      "m\u00e4rts",
+      "aprill",
+      "mai",
+      "juuni",
+      "juuli",
+      "august",
+      "september",
+      "oktoober",
+      "november",
+      "detsember"
+    ],
+    "WEEKENDRANGE": [
+      5,
+      6
+    ],
+    "fullDate": "EEEE, d. MMMM y",
+    "longDate": "d. MMMM y",
+    "medium": "d. MMM y H:mm.ss",
+    "mediumDate": "d. MMM y",
+    "mediumTime": "H:mm.ss",
+    "short": "dd.MM.yy H:mm",
+    "shortDate": "dd.MM.yy",
+    "shortTime": "H:mm"
+  },
+  "NUMBER_FORMATS": {
+    "CURRENCY_SYM": "\u20ac",
+    "DECIMAL_SEP": ",",
+    "GROUP_SEP": "\u00a0",
+    "PATTERNS": [
+      {
+        "gSize": 3,
+        "lgSize": 3,
+        "maxFrac": 3,
+        "minFrac": 0,
+        "minInt": 1,
+        "negPre": "-",
+        "negSuf": "",
+        "posPre": "",
+        "posSuf": ""
+      },
+      {
+        "gSize": 3,
+        "lgSize": 3,
+        "maxFrac": 2,
+        "minFrac": 2,
+        "minInt": 1,
+        "negPre": "-",
+        "negSuf": "\u00a0\u00a4",
+        "posPre": "",
+        "posSuf": "\u00a0\u00a4"
+      }
+    ]
+  },
+  "id": "et-ee",
+  "localeID": "et_EE",
+  "pluralCat": function(n, opt_precision) {  var i = n | 0;  var vf = getVF(n, 
opt_precision);  if (i == 1 && vf.v == 0) {    return PLURAL_CATEGORY.ONE;  }  
return PLURAL_CATEGORY.OTHER;}
+});
+}]);

http://git-wip-us.apache.org/repos/asf/struts-archetypes/blob/3662396a/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_et.js
----------------------------------------------------------------------
diff --git 
a/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_et.js
 
b/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_et.js
new file mode 100644
index 0000000..3c545d8
--- /dev/null
+++ 
b/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_et.js
@@ -0,0 +1,143 @@
+'use strict';
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: 
"many", OTHER: "other"};
+function getDecimals(n) {
+  n = n + '';
+  var i = n.indexOf('.');
+  return (i == -1) ? 0 : n.length - i - 1;
+}
+
+function getVF(n, opt_precision) {
+  var v = opt_precision;
+
+  if (undefined === v) {
+    v = Math.min(getDecimals(n), 3);
+  }
+
+  var base = Math.pow(10, v);
+  var f = ((n * base) | 0) % base;
+  return {v: v, f: f};
+}
+
+$provide.value("$locale", {
+  "DATETIME_FORMATS": {
+    "AMPMS": [
+      "AM",
+      "PM"
+    ],
+    "DAY": [
+      "p\u00fchap\u00e4ev",
+      "esmasp\u00e4ev",
+      "teisip\u00e4ev",
+      "kolmap\u00e4ev",
+      "neljap\u00e4ev",
+      "reede",
+      "laup\u00e4ev"
+    ],
+    "ERANAMES": [
+      "enne meie aega",
+      "meie aja j\u00e4rgi"
+    ],
+    "ERAS": [
+      "e.m.a.",
+      "m.a.j."
+    ],
+    "FIRSTDAYOFWEEK": 0,
+    "MONTH": [
+      "jaanuar",
+      "veebruar",
+      "m\u00e4rts",
+      "aprill",
+      "mai",
+      "juuni",
+      "juuli",
+      "august",
+      "september",
+      "oktoober",
+      "november",
+      "detsember"
+    ],
+    "SHORTDAY": [
+      "P",
+      "E",
+      "T",
+      "K",
+      "N",
+      "R",
+      "L"
+    ],
+    "SHORTMONTH": [
+      "jaan",
+      "veebr",
+      "m\u00e4rts",
+      "apr",
+      "mai",
+      "juuni",
+      "juuli",
+      "aug",
+      "sept",
+      "okt",
+      "nov",
+      "dets"
+    ],
+    "STANDALONEMONTH": [
+      "jaanuar",
+      "veebruar",
+      "m\u00e4rts",
+      "aprill",
+      "mai",
+      "juuni",
+      "juuli",
+      "august",
+      "september",
+      "oktoober",
+      "november",
+      "detsember"
+    ],
+    "WEEKENDRANGE": [
+      5,
+      6
+    ],
+    "fullDate": "EEEE, d. MMMM y",
+    "longDate": "d. MMMM y",
+    "medium": "d. MMM y H:mm.ss",
+    "mediumDate": "d. MMM y",
+    "mediumTime": "H:mm.ss",
+    "short": "dd.MM.yy H:mm",
+    "shortDate": "dd.MM.yy",
+    "shortTime": "H:mm"
+  },
+  "NUMBER_FORMATS": {
+    "CURRENCY_SYM": "\u20ac",
+    "DECIMAL_SEP": ",",
+    "GROUP_SEP": "\u00a0",
+    "PATTERNS": [
+      {
+        "gSize": 3,
+        "lgSize": 3,
+        "maxFrac": 3,
+        "minFrac": 0,
+        "minInt": 1,
+        "negPre": "-",
+        "negSuf": "",
+        "posPre": "",
+        "posSuf": ""
+      },
+      {
+        "gSize": 3,
+        "lgSize": 3,
+        "maxFrac": 2,
+        "minFrac": 2,
+        "minInt": 1,
+        "negPre": "-",
+        "negSuf": "\u00a0\u00a4",
+        "posPre": "",
+        "posSuf": "\u00a0\u00a4"
+      }
+    ]
+  },
+  "id": "et",
+  "localeID": "et",
+  "pluralCat": function(n, opt_precision) {  var i = n | 0;  var vf = getVF(n, 
opt_precision);  if (i == 1 && vf.v == 0) {    return PLURAL_CATEGORY.ONE;  }  
return PLURAL_CATEGORY.OTHER;}
+});
+}]);

http://git-wip-us.apache.org/repos/asf/struts-archetypes/blob/3662396a/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_eu-es.js
----------------------------------------------------------------------
diff --git 
a/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_eu-es.js
 
b/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_eu-es.js
new file mode 100644
index 0000000..1f27109
--- /dev/null
+++ 
b/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_eu-es.js
@@ -0,0 +1,125 @@
+'use strict';
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: 
"many", OTHER: "other"};
+$provide.value("$locale", {
+  "DATETIME_FORMATS": {
+    "AMPMS": [
+      "AM",
+      "PM"
+    ],
+    "DAY": [
+      "igandea",
+      "astelehena",
+      "asteartea",
+      "asteazkena",
+      "osteguna",
+      "ostirala",
+      "larunbata"
+    ],
+    "ERANAMES": [
+      "K.a.",
+      "K.o."
+    ],
+    "ERAS": [
+      "K.a.",
+      "K.o."
+    ],
+    "FIRSTDAYOFWEEK": 0,
+    "MONTH": [
+      "urtarrilak",
+      "otsailak",
+      "martxoak",
+      "apirilak",
+      "maiatzak",
+      "ekainak",
+      "uztailak",
+      "abuztuak",
+      "irailak",
+      "urriak",
+      "azaroak",
+      "abenduak"
+    ],
+    "SHORTDAY": [
+      "ig.",
+      "al.",
+      "ar.",
+      "az.",
+      "og.",
+      "or.",
+      "lr."
+    ],
+    "SHORTMONTH": [
+      "urt.",
+      "ots.",
+      "mar.",
+      "api.",
+      "mai.",
+      "eka.",
+      "uzt.",
+      "abu.",
+      "ira.",
+      "urr.",
+      "aza.",
+      "abe."
+    ],
+    "STANDALONEMONTH": [
+      "Urtarrila",
+      "Otsaila",
+      "Martxoa",
+      "Apirila",
+      "Maiatza",
+      "Ekaina",
+      "Uztaila",
+      "Abuztua",
+      "Iraila",
+      "Urria",
+      "Azaroa",
+      "Abendua"
+    ],
+    "WEEKENDRANGE": [
+      5,
+      6
+    ],
+    "fullDate": "y('e')'ko' MMMM d, EEEE",
+    "longDate": "y('e')'ko' MMMM d",
+    "medium": "y MMM d HH:mm:ss",
+    "mediumDate": "y MMM d",
+    "mediumTime": "HH:mm:ss",
+    "short": "y/MM/dd HH:mm",
+    "shortDate": "y/MM/dd",
+    "shortTime": "HH:mm"
+  },
+  "NUMBER_FORMATS": {
+    "CURRENCY_SYM": "\u20ac",
+    "DECIMAL_SEP": ",",
+    "GROUP_SEP": ".",
+    "PATTERNS": [
+      {
+        "gSize": 3,
+        "lgSize": 3,
+        "maxFrac": 3,
+        "minFrac": 0,
+        "minInt": 1,
+        "negPre": "-",
+        "negSuf": "",
+        "posPre": "",
+        "posSuf": ""
+      },
+      {
+        "gSize": 3,
+        "lgSize": 3,
+        "maxFrac": 2,
+        "minFrac": 2,
+        "minInt": 1,
+        "negPre": "-",
+        "negSuf": "\u00a0\u00a4",
+        "posPre": "",
+        "posSuf": "\u00a0\u00a4"
+      }
+    ]
+  },
+  "id": "eu-es",
+  "localeID": "eu_ES",
+  "pluralCat": function(n, opt_precision) {  if (n == 1) {    return 
PLURAL_CATEGORY.ONE;  }  return PLURAL_CATEGORY.OTHER;}
+});
+}]);

http://git-wip-us.apache.org/repos/asf/struts-archetypes/blob/3662396a/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_eu.js
----------------------------------------------------------------------
diff --git 
a/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_eu.js
 
b/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_eu.js
new file mode 100644
index 0000000..c1ea375
--- /dev/null
+++ 
b/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_eu.js
@@ -0,0 +1,125 @@
+'use strict';
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: 
"many", OTHER: "other"};
+$provide.value("$locale", {
+  "DATETIME_FORMATS": {
+    "AMPMS": [
+      "AM",
+      "PM"
+    ],
+    "DAY": [
+      "igandea",
+      "astelehena",
+      "asteartea",
+      "asteazkena",
+      "osteguna",
+      "ostirala",
+      "larunbata"
+    ],
+    "ERANAMES": [
+      "K.a.",
+      "K.o."
+    ],
+    "ERAS": [
+      "K.a.",
+      "K.o."
+    ],
+    "FIRSTDAYOFWEEK": 0,
+    "MONTH": [
+      "urtarrilak",
+      "otsailak",
+      "martxoak",
+      "apirilak",
+      "maiatzak",
+      "ekainak",
+      "uztailak",
+      "abuztuak",
+      "irailak",
+      "urriak",
+      "azaroak",
+      "abenduak"
+    ],
+    "SHORTDAY": [
+      "ig.",
+      "al.",
+      "ar.",
+      "az.",
+      "og.",
+      "or.",
+      "lr."
+    ],
+    "SHORTMONTH": [
+      "urt.",
+      "ots.",
+      "mar.",
+      "api.",
+      "mai.",
+      "eka.",
+      "uzt.",
+      "abu.",
+      "ira.",
+      "urr.",
+      "aza.",
+      "abe."
+    ],
+    "STANDALONEMONTH": [
+      "Urtarrila",
+      "Otsaila",
+      "Martxoa",
+      "Apirila",
+      "Maiatza",
+      "Ekaina",
+      "Uztaila",
+      "Abuztua",
+      "Iraila",
+      "Urria",
+      "Azaroa",
+      "Abendua"
+    ],
+    "WEEKENDRANGE": [
+      5,
+      6
+    ],
+    "fullDate": "y('e')'ko' MMMM d, EEEE",
+    "longDate": "y('e')'ko' MMMM d",
+    "medium": "y MMM d HH:mm:ss",
+    "mediumDate": "y MMM d",
+    "mediumTime": "HH:mm:ss",
+    "short": "y/MM/dd HH:mm",
+    "shortDate": "y/MM/dd",
+    "shortTime": "HH:mm"
+  },
+  "NUMBER_FORMATS": {
+    "CURRENCY_SYM": "\u20ac",
+    "DECIMAL_SEP": ",",
+    "GROUP_SEP": ".",
+    "PATTERNS": [
+      {
+        "gSize": 3,
+        "lgSize": 3,
+        "maxFrac": 3,
+        "minFrac": 0,
+        "minInt": 1,
+        "negPre": "-",
+        "negSuf": "",
+        "posPre": "",
+        "posSuf": ""
+      },
+      {
+        "gSize": 3,
+        "lgSize": 3,
+        "maxFrac": 2,
+        "minFrac": 2,
+        "minInt": 1,
+        "negPre": "-",
+        "negSuf": "\u00a0\u00a4",
+        "posPre": "",
+        "posSuf": "\u00a0\u00a4"
+      }
+    ]
+  },
+  "id": "eu",
+  "localeID": "eu",
+  "pluralCat": function(n, opt_precision) {  if (n == 1) {    return 
PLURAL_CATEGORY.ONE;  }  return PLURAL_CATEGORY.OTHER;}
+});
+}]);

http://git-wip-us.apache.org/repos/asf/struts-archetypes/blob/3662396a/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_ewo-cm.js
----------------------------------------------------------------------
diff --git 
a/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_ewo-cm.js
 
b/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_ewo-cm.js
new file mode 100644
index 0000000..70c6fef
--- /dev/null
+++ 
b/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_ewo-cm.js
@@ -0,0 +1,143 @@
+'use strict';
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: 
"many", OTHER: "other"};
+function getDecimals(n) {
+  n = n + '';
+  var i = n.indexOf('.');
+  return (i == -1) ? 0 : n.length - i - 1;
+}
+
+function getVF(n, opt_precision) {
+  var v = opt_precision;
+
+  if (undefined === v) {
+    v = Math.min(getDecimals(n), 3);
+  }
+
+  var base = Math.pow(10, v);
+  var f = ((n * base) | 0) % base;
+  return {v: v, f: f};
+}
+
+$provide.value("$locale", {
+  "DATETIME_FORMATS": {
+    "AMPMS": [
+      "k\u00edk\u00edr\u00edg",
+      "ng\u0259g\u00f3g\u0259le"
+    ],
+    "DAY": [
+      "s\u0254\u0301nd\u0254",
+      "m\u0254\u0301ndi",
+      "s\u0254\u0301nd\u0254 m\u0259l\u00fa m\u0259\u0301b\u025b\u030c",
+      "s\u0254\u0301nd\u0254 m\u0259l\u00fa m\u0259\u0301l\u025b\u0301",
+      "s\u0254\u0301nd\u0254 m\u0259l\u00fa m\u0259\u0301nyi",
+      "f\u00falad\u00e9",
+      "s\u00e9rad\u00e9"
+    ],
+    "ERANAMES": [
+      "os\u00fas\u00faa Y\u00e9sus kiri",
+      "\u00e1mvus Y\u00e9sus Kir\u00eds"
+    ],
+    "ERAS": [
+      "oyk",
+      "ayk"
+    ],
+    "FIRSTDAYOFWEEK": 0,
+    "MONTH": [
+      "ng\u0254n os\u00fa",
+      "ng\u0254n b\u025b\u030c",
+      "ng\u0254n l\u00e1la",
+      "ng\u0254n nyina",
+      "ng\u0254n t\u00e1na",
+      "ng\u0254n sam\u0259na",
+      "ng\u0254n zamgb\u00e1la",
+      "ng\u0254n mwom",
+      "ng\u0254n ebul\u00fa",
+      "ng\u0254n aw\u00f3m",
+      "ng\u0254n aw\u00f3m ai dzi\u00e1",
+      "ng\u0254n aw\u00f3m ai b\u025b\u030c"
+    ],
+    "SHORTDAY": [
+      "s\u0254\u0301n",
+      "m\u0254\u0301n",
+      "smb",
+      "sml",
+      "smn",
+      "f\u00fal",
+      "s\u00e9r"
+    ],
+    "SHORTMONTH": [
+      "ngo",
+      "ngb",
+      "ngl",
+      "ngn",
+      "ngt",
+      "ngs",
+      "ngz",
+      "ngm",
+      "nge",
+      "nga",
+      "ngad",
+      "ngab"
+    ],
+    "STANDALONEMONTH": [
+      "ng\u0254n os\u00fa",
+      "ng\u0254n b\u025b\u030c",
+      "ng\u0254n l\u00e1la",
+      "ng\u0254n nyina",
+      "ng\u0254n t\u00e1na",
+      "ng\u0254n sam\u0259na",
+      "ng\u0254n zamgb\u00e1la",
+      "ng\u0254n mwom",
+      "ng\u0254n ebul\u00fa",
+      "ng\u0254n aw\u00f3m",
+      "ng\u0254n aw\u00f3m ai dzi\u00e1",
+      "ng\u0254n aw\u00f3m ai b\u025b\u030c"
+    ],
+    "WEEKENDRANGE": [
+      5,
+      6
+    ],
+    "fullDate": "EEEE d MMMM y",
+    "longDate": "d MMMM y",
+    "medium": "d MMM y HH:mm:ss",
+    "mediumDate": "d MMM y",
+    "mediumTime": "HH:mm:ss",
+    "short": "d/M/y HH:mm",
+    "shortDate": "d/M/y",
+    "shortTime": "HH:mm"
+  },
+  "NUMBER_FORMATS": {
+    "CURRENCY_SYM": "FCFA",
+    "DECIMAL_SEP": ",",
+    "GROUP_SEP": "\u00a0",
+    "PATTERNS": [
+      {
+        "gSize": 3,
+        "lgSize": 3,
+        "maxFrac": 3,
+        "minFrac": 0,
+        "minInt": 1,
+        "negPre": "-",
+        "negSuf": "",
+        "posPre": "",
+        "posSuf": ""
+      },
+      {
+        "gSize": 3,
+        "lgSize": 3,
+        "maxFrac": 2,
+        "minFrac": 2,
+        "minInt": 1,
+        "negPre": "-",
+        "negSuf": "\u00a0\u00a4",
+        "posPre": "",
+        "posSuf": "\u00a0\u00a4"
+      }
+    ]
+  },
+  "id": "ewo-cm",
+  "localeID": "ewo_CM",
+  "pluralCat": function(n, opt_precision) {  var i = n | 0;  var vf = getVF(n, 
opt_precision);  if (i == 1 && vf.v == 0) {    return PLURAL_CATEGORY.ONE;  }  
return PLURAL_CATEGORY.OTHER;}
+});
+}]);

http://git-wip-us.apache.org/repos/asf/struts-archetypes/blob/3662396a/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_ewo.js
----------------------------------------------------------------------
diff --git 
a/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_ewo.js
 
b/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_ewo.js
new file mode 100644
index 0000000..f036bd8
--- /dev/null
+++ 
b/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_ewo.js
@@ -0,0 +1,143 @@
+'use strict';
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: 
"many", OTHER: "other"};
+function getDecimals(n) {
+  n = n + '';
+  var i = n.indexOf('.');
+  return (i == -1) ? 0 : n.length - i - 1;
+}
+
+function getVF(n, opt_precision) {
+  var v = opt_precision;
+
+  if (undefined === v) {
+    v = Math.min(getDecimals(n), 3);
+  }
+
+  var base = Math.pow(10, v);
+  var f = ((n * base) | 0) % base;
+  return {v: v, f: f};
+}
+
+$provide.value("$locale", {
+  "DATETIME_FORMATS": {
+    "AMPMS": [
+      "k\u00edk\u00edr\u00edg",
+      "ng\u0259g\u00f3g\u0259le"
+    ],
+    "DAY": [
+      "s\u0254\u0301nd\u0254",
+      "m\u0254\u0301ndi",
+      "s\u0254\u0301nd\u0254 m\u0259l\u00fa m\u0259\u0301b\u025b\u030c",
+      "s\u0254\u0301nd\u0254 m\u0259l\u00fa m\u0259\u0301l\u025b\u0301",
+      "s\u0254\u0301nd\u0254 m\u0259l\u00fa m\u0259\u0301nyi",
+      "f\u00falad\u00e9",
+      "s\u00e9rad\u00e9"
+    ],
+    "ERANAMES": [
+      "os\u00fas\u00faa Y\u00e9sus kiri",
+      "\u00e1mvus Y\u00e9sus Kir\u00eds"
+    ],
+    "ERAS": [
+      "oyk",
+      "ayk"
+    ],
+    "FIRSTDAYOFWEEK": 0,
+    "MONTH": [
+      "ng\u0254n os\u00fa",
+      "ng\u0254n b\u025b\u030c",
+      "ng\u0254n l\u00e1la",
+      "ng\u0254n nyina",
+      "ng\u0254n t\u00e1na",
+      "ng\u0254n sam\u0259na",
+      "ng\u0254n zamgb\u00e1la",
+      "ng\u0254n mwom",
+      "ng\u0254n ebul\u00fa",
+      "ng\u0254n aw\u00f3m",
+      "ng\u0254n aw\u00f3m ai dzi\u00e1",
+      "ng\u0254n aw\u00f3m ai b\u025b\u030c"
+    ],
+    "SHORTDAY": [
+      "s\u0254\u0301n",
+      "m\u0254\u0301n",
+      "smb",
+      "sml",
+      "smn",
+      "f\u00fal",
+      "s\u00e9r"
+    ],
+    "SHORTMONTH": [
+      "ngo",
+      "ngb",
+      "ngl",
+      "ngn",
+      "ngt",
+      "ngs",
+      "ngz",
+      "ngm",
+      "nge",
+      "nga",
+      "ngad",
+      "ngab"
+    ],
+    "STANDALONEMONTH": [
+      "ng\u0254n os\u00fa",
+      "ng\u0254n b\u025b\u030c",
+      "ng\u0254n l\u00e1la",
+      "ng\u0254n nyina",
+      "ng\u0254n t\u00e1na",
+      "ng\u0254n sam\u0259na",
+      "ng\u0254n zamgb\u00e1la",
+      "ng\u0254n mwom",
+      "ng\u0254n ebul\u00fa",
+      "ng\u0254n aw\u00f3m",
+      "ng\u0254n aw\u00f3m ai dzi\u00e1",
+      "ng\u0254n aw\u00f3m ai b\u025b\u030c"
+    ],
+    "WEEKENDRANGE": [
+      5,
+      6
+    ],
+    "fullDate": "EEEE d MMMM y",
+    "longDate": "d MMMM y",
+    "medium": "d MMM y HH:mm:ss",
+    "mediumDate": "d MMM y",
+    "mediumTime": "HH:mm:ss",
+    "short": "d/M/y HH:mm",
+    "shortDate": "d/M/y",
+    "shortTime": "HH:mm"
+  },
+  "NUMBER_FORMATS": {
+    "CURRENCY_SYM": "FCFA",
+    "DECIMAL_SEP": ",",
+    "GROUP_SEP": "\u00a0",
+    "PATTERNS": [
+      {
+        "gSize": 3,
+        "lgSize": 3,
+        "maxFrac": 3,
+        "minFrac": 0,
+        "minInt": 1,
+        "negPre": "-",
+        "negSuf": "",
+        "posPre": "",
+        "posSuf": ""
+      },
+      {
+        "gSize": 3,
+        "lgSize": 3,
+        "maxFrac": 2,
+        "minFrac": 2,
+        "minInt": 1,
+        "negPre": "-",
+        "negSuf": "\u00a0\u00a4",
+        "posPre": "",
+        "posSuf": "\u00a0\u00a4"
+      }
+    ]
+  },
+  "id": "ewo",
+  "localeID": "ewo",
+  "pluralCat": function(n, opt_precision) {  var i = n | 0;  var vf = getVF(n, 
opt_precision);  if (i == 1 && vf.v == 0) {    return PLURAL_CATEGORY.ONE;  }  
return PLURAL_CATEGORY.OTHER;}
+});
+}]);

http://git-wip-us.apache.org/repos/asf/struts-archetypes/blob/3662396a/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_fa-af.js
----------------------------------------------------------------------
diff --git 
a/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_fa-af.js
 
b/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_fa-af.js
new file mode 100644
index 0000000..a231b3c
--- /dev/null
+++ 
b/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_fa-af.js
@@ -0,0 +1,125 @@
+'use strict';
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: 
"many", OTHER: "other"};
+$provide.value("$locale", {
+  "DATETIME_FORMATS": {
+    "AMPMS": [
+      "\u0642\u0628\u0644\u200c\u0627\u0632\u0638\u0647\u0631",
+      "\u0628\u0639\u062f\u0627\u0632\u0638\u0647\u0631"
+    ],
+    "DAY": [
+      "\u06cc\u06a9\u0634\u0646\u0628\u0647",
+      "\u062f\u0648\u0634\u0646\u0628\u0647",
+      "\u0633\u0647\u200c\u0634\u0646\u0628\u0647",
+      "\u0686\u0647\u0627\u0631\u0634\u0646\u0628\u0647",
+      "\u067e\u0646\u062c\u0634\u0646\u0628\u0647",
+      "\u062c\u0645\u0639\u0647",
+      "\u0634\u0646\u0628\u0647"
+    ],
+    "ERANAMES": [
+      "\u0642\u0628\u0644 \u0627\u0632 \u0645\u06cc\u0644\u0627\u062f",
+      "\u0645\u06cc\u0644\u0627\u062f\u06cc"
+    ],
+    "ERAS": [
+      "\u0642.\u0645.",
+      "\u0645."
+    ],
+    "FIRSTDAYOFWEEK": 5,
+    "MONTH": [
+      "\u062c\u0646\u0648\u0631\u06cc",
+      "\u0641\u0628\u0631\u0648\u0631\u06cc",
+      "\u0645\u0627\u0631\u0686",
+      "\u0627\u067e\u0631\u06cc\u0644",
+      "\u0645\u06cc",
+      "\u062c\u0648\u0646",
+      "\u062c\u0648\u0644\u0627\u06cc",
+      "\u0627\u06af\u0633\u062a",
+      "\u0633\u067e\u062a\u0645\u0628\u0631",
+      "\u0627\u06a9\u062a\u0648\u0628\u0631",
+      "\u0646\u0648\u0645\u0628\u0631",
+      "\u062f\u0633\u0645\u0628\u0631"
+    ],
+    "SHORTDAY": [
+      "\u06cc\u06a9\u0634\u0646\u0628\u0647",
+      "\u062f\u0648\u0634\u0646\u0628\u0647",
+      "\u0633\u0647\u200c\u0634\u0646\u0628\u0647",
+      "\u0686\u0647\u0627\u0631\u0634\u0646\u0628\u0647",
+      "\u067e\u0646\u062c\u0634\u0646\u0628\u0647",
+      "\u062c\u0645\u0639\u0647",
+      "\u0634\u0646\u0628\u0647"
+    ],
+    "SHORTMONTH": [
+      "\u062c\u0646\u0648",
+      "\u0641\u0648\u0631\u06cc\u0647\u0654",
+      "\u0645\u0627\u0631\u0633",
+      "\u0622\u0648\u0631\u06cc\u0644",
+      "\u0645\u0640\u06cc",
+      "\u0698\u0648\u0626\u0646",
+      "\u062c\u0648\u0644",
+      "\u0627\u0648\u062a",
+      "\u0633\u067e\u062a\u0627\u0645\u0628\u0631",
+      "\u0627\u06a9\u062a\u0628\u0631",
+      "\u0646\u0648\u0627\u0645\u0628\u0631",
+      "\u062f\u0633\u0645"
+    ],
+    "STANDALONEMONTH": [
+      "\u0698\u0627\u0646\u0648\u06cc\u0647",
+      "\u0641\u0648\u0631\u06cc\u0647",
+      "\u0645\u0627\u0631\u0633",
+      "\u0622\u0648\u0631\u06cc\u0644",
+      "\u0645\u0647",
+      "\u0698\u0648\u0626\u0646",
+      "\u0698\u0648\u0626\u06cc\u0647",
+      "\u0627\u0648\u062a",
+      "\u0633\u067e\u062a\u0627\u0645\u0628\u0631",
+      "\u0627\u06a9\u062a\u0628\u0631",
+      "\u0646\u0648\u0627\u0645\u0628\u0631",
+      "\u062f\u0633\u0627\u0645\u0628\u0631"
+    ],
+    "WEEKENDRANGE": [
+      3,
+      4
+    ],
+    "fullDate": "EEEE d MMMM y",
+    "longDate": "d MMMM y",
+    "medium": "d MMM y H:mm:ss",
+    "mediumDate": "d MMM y",
+    "mediumTime": "H:mm:ss",
+    "short": "y/M/d H:mm",
+    "shortDate": "y/M/d",
+    "shortTime": "H:mm"
+  },
+  "NUMBER_FORMATS": {
+    "CURRENCY_SYM": "Af.",
+    "DECIMAL_SEP": "\u066b",
+    "GROUP_SEP": "\u066c",
+    "PATTERNS": [
+      {
+        "gSize": 3,
+        "lgSize": 3,
+        "maxFrac": 3,
+        "minFrac": 0,
+        "minInt": 1,
+        "negPre": "-",
+        "negSuf": "",
+        "posPre": "",
+        "posSuf": ""
+      },
+      {
+        "gSize": 3,
+        "lgSize": 3,
+        "maxFrac": 2,
+        "minFrac": 2,
+        "minInt": 1,
+        "negPre": "-\u200e\u00a4",
+        "negSuf": "",
+        "posPre": "\u200e\u00a4",
+        "posSuf": ""
+      }
+    ]
+  },
+  "id": "fa-af",
+  "localeID": "fa_AF",
+  "pluralCat": function(n, opt_precision) {  var i = n | 0;  if (i == 0 || n 
== 1) {    return PLURAL_CATEGORY.ONE;  }  return PLURAL_CATEGORY.OTHER;}
+});
+}]);

http://git-wip-us.apache.org/repos/asf/struts-archetypes/blob/3662396a/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_fa-ir.js
----------------------------------------------------------------------
diff --git 
a/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_fa-ir.js
 
b/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_fa-ir.js
new file mode 100644
index 0000000..01d13ad
--- /dev/null
+++ 
b/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_fa-ir.js
@@ -0,0 +1,125 @@
+'use strict';
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: 
"many", OTHER: "other"};
+$provide.value("$locale", {
+  "DATETIME_FORMATS": {
+    "AMPMS": [
+      "\u0642\u0628\u0644\u200c\u0627\u0632\u0638\u0647\u0631",
+      "\u0628\u0639\u062f\u0627\u0632\u0638\u0647\u0631"
+    ],
+    "DAY": [
+      "\u06cc\u06a9\u0634\u0646\u0628\u0647",
+      "\u062f\u0648\u0634\u0646\u0628\u0647",
+      "\u0633\u0647\u200c\u0634\u0646\u0628\u0647",
+      "\u0686\u0647\u0627\u0631\u0634\u0646\u0628\u0647",
+      "\u067e\u0646\u062c\u0634\u0646\u0628\u0647",
+      "\u062c\u0645\u0639\u0647",
+      "\u0634\u0646\u0628\u0647"
+    ],
+    "ERANAMES": [
+      "\u0642\u0628\u0644 \u0627\u0632 \u0645\u06cc\u0644\u0627\u062f",
+      "\u0645\u06cc\u0644\u0627\u062f\u06cc"
+    ],
+    "ERAS": [
+      "\u0642.\u0645.",
+      "\u0645."
+    ],
+    "FIRSTDAYOFWEEK": 5,
+    "MONTH": [
+      "\u0698\u0627\u0646\u0648\u06cc\u0647\u0654",
+      "\u0641\u0648\u0631\u06cc\u0647\u0654",
+      "\u0645\u0627\u0631\u0633",
+      "\u0622\u0648\u0631\u06cc\u0644",
+      "\u0645\u0647\u0654",
+      "\u0698\u0648\u0626\u0646",
+      "\u0698\u0648\u0626\u06cc\u0647\u0654",
+      "\u0627\u0648\u062a",
+      "\u0633\u067e\u062a\u0627\u0645\u0628\u0631",
+      "\u0627\u06a9\u062a\u0628\u0631",
+      "\u0646\u0648\u0627\u0645\u0628\u0631",
+      "\u062f\u0633\u0627\u0645\u0628\u0631"
+    ],
+    "SHORTDAY": [
+      "\u06cc\u06a9\u0634\u0646\u0628\u0647",
+      "\u062f\u0648\u0634\u0646\u0628\u0647",
+      "\u0633\u0647\u200c\u0634\u0646\u0628\u0647",
+      "\u0686\u0647\u0627\u0631\u0634\u0646\u0628\u0647",
+      "\u067e\u0646\u062c\u0634\u0646\u0628\u0647",
+      "\u062c\u0645\u0639\u0647",
+      "\u0634\u0646\u0628\u0647"
+    ],
+    "SHORTMONTH": [
+      "\u0698\u0627\u0646\u0648\u06cc\u0647\u0654",
+      "\u0641\u0648\u0631\u06cc\u0647\u0654",
+      "\u0645\u0627\u0631\u0633",
+      "\u0622\u0648\u0631\u06cc\u0644",
+      "\u0645\u0647\u0654",
+      "\u0698\u0648\u0626\u0646",
+      "\u0698\u0648\u0626\u06cc\u0647\u0654",
+      "\u0627\u0648\u062a",
+      "\u0633\u067e\u062a\u0627\u0645\u0628\u0631",
+      "\u0627\u06a9\u062a\u0628\u0631",
+      "\u0646\u0648\u0627\u0645\u0628\u0631",
+      "\u062f\u0633\u0627\u0645\u0628\u0631"
+    ],
+    "STANDALONEMONTH": [
+      "\u0698\u0627\u0646\u0648\u06cc\u0647",
+      "\u0641\u0648\u0631\u06cc\u0647",
+      "\u0645\u0627\u0631\u0633",
+      "\u0622\u0648\u0631\u06cc\u0644",
+      "\u0645\u0647",
+      "\u0698\u0648\u0626\u0646",
+      "\u0698\u0648\u0626\u06cc\u0647",
+      "\u0627\u0648\u062a",
+      "\u0633\u067e\u062a\u0627\u0645\u0628\u0631",
+      "\u0627\u06a9\u062a\u0628\u0631",
+      "\u0646\u0648\u0627\u0645\u0628\u0631",
+      "\u062f\u0633\u0627\u0645\u0628\u0631"
+    ],
+    "WEEKENDRANGE": [
+      4,
+      4
+    ],
+    "fullDate": "EEEE d MMMM y",
+    "longDate": "d MMMM y",
+    "medium": "d MMM y H:mm:ss",
+    "mediumDate": "d MMM y",
+    "mediumTime": "H:mm:ss",
+    "short": "y/M/d H:mm",
+    "shortDate": "y/M/d",
+    "shortTime": "H:mm"
+  },
+  "NUMBER_FORMATS": {
+    "CURRENCY_SYM": "Rial",
+    "DECIMAL_SEP": "\u066b",
+    "GROUP_SEP": "\u066c",
+    "PATTERNS": [
+      {
+        "gSize": 3,
+        "lgSize": 3,
+        "maxFrac": 3,
+        "minFrac": 0,
+        "minInt": 1,
+        "negPre": "-",
+        "negSuf": "",
+        "posPre": "",
+        "posSuf": ""
+      },
+      {
+        "gSize": 3,
+        "lgSize": 3,
+        "maxFrac": 2,
+        "minFrac": 2,
+        "minInt": 1,
+        "negPre": "-\u200e\u00a4",
+        "negSuf": "",
+        "posPre": "\u200e\u00a4",
+        "posSuf": ""
+      }
+    ]
+  },
+  "id": "fa-ir",
+  "localeID": "fa_IR",
+  "pluralCat": function(n, opt_precision) {  var i = n | 0;  if (i == 0 || n 
== 1) {    return PLURAL_CATEGORY.ONE;  }  return PLURAL_CATEGORY.OTHER;}
+});
+}]);

http://git-wip-us.apache.org/repos/asf/struts-archetypes/blob/3662396a/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_fa.js
----------------------------------------------------------------------
diff --git 
a/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_fa.js
 
b/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_fa.js
new file mode 100644
index 0000000..bc27623
--- /dev/null
+++ 
b/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_fa.js
@@ -0,0 +1,125 @@
+'use strict';
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: 
"many", OTHER: "other"};
+$provide.value("$locale", {
+  "DATETIME_FORMATS": {
+    "AMPMS": [
+      "\u0642\u0628\u0644\u200c\u0627\u0632\u0638\u0647\u0631",
+      "\u0628\u0639\u062f\u0627\u0632\u0638\u0647\u0631"
+    ],
+    "DAY": [
+      "\u06cc\u06a9\u0634\u0646\u0628\u0647",
+      "\u062f\u0648\u0634\u0646\u0628\u0647",
+      "\u0633\u0647\u200c\u0634\u0646\u0628\u0647",
+      "\u0686\u0647\u0627\u0631\u0634\u0646\u0628\u0647",
+      "\u067e\u0646\u062c\u0634\u0646\u0628\u0647",
+      "\u062c\u0645\u0639\u0647",
+      "\u0634\u0646\u0628\u0647"
+    ],
+    "ERANAMES": [
+      "\u0642\u0628\u0644 \u0627\u0632 \u0645\u06cc\u0644\u0627\u062f",
+      "\u0645\u06cc\u0644\u0627\u062f\u06cc"
+    ],
+    "ERAS": [
+      "\u0642.\u0645.",
+      "\u0645."
+    ],
+    "FIRSTDAYOFWEEK": 5,
+    "MONTH": [
+      "\u0698\u0627\u0646\u0648\u06cc\u0647\u0654",
+      "\u0641\u0648\u0631\u06cc\u0647\u0654",
+      "\u0645\u0627\u0631\u0633",
+      "\u0622\u0648\u0631\u06cc\u0644",
+      "\u0645\u0647\u0654",
+      "\u0698\u0648\u0626\u0646",
+      "\u0698\u0648\u0626\u06cc\u0647\u0654",
+      "\u0627\u0648\u062a",
+      "\u0633\u067e\u062a\u0627\u0645\u0628\u0631",
+      "\u0627\u06a9\u062a\u0628\u0631",
+      "\u0646\u0648\u0627\u0645\u0628\u0631",
+      "\u062f\u0633\u0627\u0645\u0628\u0631"
+    ],
+    "SHORTDAY": [
+      "\u06cc\u06a9\u0634\u0646\u0628\u0647",
+      "\u062f\u0648\u0634\u0646\u0628\u0647",
+      "\u0633\u0647\u200c\u0634\u0646\u0628\u0647",
+      "\u0686\u0647\u0627\u0631\u0634\u0646\u0628\u0647",
+      "\u067e\u0646\u062c\u0634\u0646\u0628\u0647",
+      "\u062c\u0645\u0639\u0647",
+      "\u0634\u0646\u0628\u0647"
+    ],
+    "SHORTMONTH": [
+      "\u0698\u0627\u0646\u0648\u06cc\u0647\u0654",
+      "\u0641\u0648\u0631\u06cc\u0647\u0654",
+      "\u0645\u0627\u0631\u0633",
+      "\u0622\u0648\u0631\u06cc\u0644",
+      "\u0645\u0647\u0654",
+      "\u0698\u0648\u0626\u0646",
+      "\u0698\u0648\u0626\u06cc\u0647\u0654",
+      "\u0627\u0648\u062a",
+      "\u0633\u067e\u062a\u0627\u0645\u0628\u0631",
+      "\u0627\u06a9\u062a\u0628\u0631",
+      "\u0646\u0648\u0627\u0645\u0628\u0631",
+      "\u062f\u0633\u0627\u0645\u0628\u0631"
+    ],
+    "STANDALONEMONTH": [
+      "\u0698\u0627\u0646\u0648\u06cc\u0647",
+      "\u0641\u0648\u0631\u06cc\u0647",
+      "\u0645\u0627\u0631\u0633",
+      "\u0622\u0648\u0631\u06cc\u0644",
+      "\u0645\u0647",
+      "\u0698\u0648\u0626\u0646",
+      "\u0698\u0648\u0626\u06cc\u0647",
+      "\u0627\u0648\u062a",
+      "\u0633\u067e\u062a\u0627\u0645\u0628\u0631",
+      "\u0627\u06a9\u062a\u0628\u0631",
+      "\u0646\u0648\u0627\u0645\u0628\u0631",
+      "\u062f\u0633\u0627\u0645\u0628\u0631"
+    ],
+    "WEEKENDRANGE": [
+      4,
+      4
+    ],
+    "fullDate": "EEEE d MMMM y",
+    "longDate": "d MMMM y",
+    "medium": "d MMM y H:mm:ss",
+    "mediumDate": "d MMM y",
+    "mediumTime": "H:mm:ss",
+    "short": "y/M/d H:mm",
+    "shortDate": "y/M/d",
+    "shortTime": "H:mm"
+  },
+  "NUMBER_FORMATS": {
+    "CURRENCY_SYM": "Rial",
+    "DECIMAL_SEP": "\u066b",
+    "GROUP_SEP": "\u066c",
+    "PATTERNS": [
+      {
+        "gSize": 3,
+        "lgSize": 3,
+        "maxFrac": 3,
+        "minFrac": 0,
+        "minInt": 1,
+        "negPre": "-",
+        "negSuf": "",
+        "posPre": "",
+        "posSuf": ""
+      },
+      {
+        "gSize": 3,
+        "lgSize": 3,
+        "maxFrac": 2,
+        "minFrac": 2,
+        "minInt": 1,
+        "negPre": "-\u200e\u00a4",
+        "negSuf": "",
+        "posPre": "\u200e\u00a4",
+        "posSuf": ""
+      }
+    ]
+  },
+  "id": "fa",
+  "localeID": "fa",
+  "pluralCat": function(n, opt_precision) {  var i = n | 0;  if (i == 0 || n 
== 1) {    return PLURAL_CATEGORY.ONE;  }  return PLURAL_CATEGORY.OTHER;}
+});
+}]);

http://git-wip-us.apache.org/repos/asf/struts-archetypes/blob/3662396a/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_ff-cm.js
----------------------------------------------------------------------
diff --git 
a/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_ff-cm.js
 
b/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_ff-cm.js
new file mode 100644
index 0000000..fc81b6e
--- /dev/null
+++ 
b/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_ff-cm.js
@@ -0,0 +1,143 @@
+'use strict';
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: 
"many", OTHER: "other"};
+function getDecimals(n) {
+  n = n + '';
+  var i = n.indexOf('.');
+  return (i == -1) ? 0 : n.length - i - 1;
+}
+
+function getVF(n, opt_precision) {
+  var v = opt_precision;
+
+  if (undefined === v) {
+    v = Math.min(getDecimals(n), 3);
+  }
+
+  var base = Math.pow(10, v);
+  var f = ((n * base) | 0) % base;
+  return {v: v, f: f};
+}
+
+$provide.value("$locale", {
+  "DATETIME_FORMATS": {
+    "AMPMS": [
+      "subaka",
+      "kikii\u0257e"
+    ],
+    "DAY": [
+      "dewo",
+      "aa\u0253nde",
+      "mawbaare",
+      "njeslaare",
+      "naasaande",
+      "mawnde",
+      "hoore-biir"
+    ],
+    "ERANAMES": [
+      "Hade Iisa",
+      "Caggal Iisa"
+    ],
+    "ERAS": [
+      "H-I",
+      "C-I"
+    ],
+    "FIRSTDAYOFWEEK": 0,
+    "MONTH": [
+      "siilo",
+      "colte",
+      "mbooy",
+      "see\u0257to",
+      "duujal",
+      "korse",
+      "morso",
+      "juko",
+      "siilto",
+      "yarkomaa",
+      "jolal",
+      "bowte"
+    ],
+    "SHORTDAY": [
+      "dew",
+      "aa\u0253",
+      "maw",
+      "nje",
+      "naa",
+      "mwd",
+      "hbi"
+    ],
+    "SHORTMONTH": [
+      "sii",
+      "col",
+      "mbo",
+      "see",
+      "duu",
+      "kor",
+      "mor",
+      "juk",
+      "slt",
+      "yar",
+      "jol",
+      "bow"
+    ],
+    "STANDALONEMONTH": [
+      "siilo",
+      "colte",
+      "mbooy",
+      "see\u0257to",
+      "duujal",
+      "korse",
+      "morso",
+      "juko",
+      "siilto",
+      "yarkomaa",
+      "jolal",
+      "bowte"
+    ],
+    "WEEKENDRANGE": [
+      5,
+      6
+    ],
+    "fullDate": "EEEE d MMMM y",
+    "longDate": "d MMMM y",
+    "medium": "d MMM, y HH:mm:ss",
+    "mediumDate": "d MMM, y",
+    "mediumTime": "HH:mm:ss",
+    "short": "d/M/y HH:mm",
+    "shortDate": "d/M/y",
+    "shortTime": "HH:mm"
+  },
+  "NUMBER_FORMATS": {
+    "CURRENCY_SYM": "FCFA",
+    "DECIMAL_SEP": ",",
+    "GROUP_SEP": "\u00a0",
+    "PATTERNS": [
+      {
+        "gSize": 3,
+        "lgSize": 3,
+        "maxFrac": 3,
+        "minFrac": 0,
+        "minInt": 1,
+        "negPre": "-",
+        "negSuf": "",
+        "posPre": "",
+        "posSuf": ""
+      },
+      {
+        "gSize": 3,
+        "lgSize": 3,
+        "maxFrac": 2,
+        "minFrac": 2,
+        "minInt": 1,
+        "negPre": "-",
+        "negSuf": "\u00a0\u00a4",
+        "posPre": "",
+        "posSuf": "\u00a0\u00a4"
+      }
+    ]
+  },
+  "id": "ff-cm",
+  "localeID": "ff_CM",
+  "pluralCat": function(n, opt_precision) {  var i = n | 0;  var vf = getVF(n, 
opt_precision);  if (i == 1 && vf.v == 0) {    return PLURAL_CATEGORY.ONE;  }  
return PLURAL_CATEGORY.OTHER;}
+});
+}]);

http://git-wip-us.apache.org/repos/asf/struts-archetypes/blob/3662396a/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_ff-gn.js
----------------------------------------------------------------------
diff --git 
a/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_ff-gn.js
 
b/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_ff-gn.js
new file mode 100644
index 0000000..f88c63e
--- /dev/null
+++ 
b/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_ff-gn.js
@@ -0,0 +1,143 @@
+'use strict';
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: 
"many", OTHER: "other"};
+function getDecimals(n) {
+  n = n + '';
+  var i = n.indexOf('.');
+  return (i == -1) ? 0 : n.length - i - 1;
+}
+
+function getVF(n, opt_precision) {
+  var v = opt_precision;
+
+  if (undefined === v) {
+    v = Math.min(getDecimals(n), 3);
+  }
+
+  var base = Math.pow(10, v);
+  var f = ((n * base) | 0) % base;
+  return {v: v, f: f};
+}
+
+$provide.value("$locale", {
+  "DATETIME_FORMATS": {
+    "AMPMS": [
+      "subaka",
+      "kikii\u0257e"
+    ],
+    "DAY": [
+      "dewo",
+      "aa\u0253nde",
+      "mawbaare",
+      "njeslaare",
+      "naasaande",
+      "mawnde",
+      "hoore-biir"
+    ],
+    "ERANAMES": [
+      "Hade Iisa",
+      "Caggal Iisa"
+    ],
+    "ERAS": [
+      "H-I",
+      "C-I"
+    ],
+    "FIRSTDAYOFWEEK": 0,
+    "MONTH": [
+      "siilo",
+      "colte",
+      "mbooy",
+      "see\u0257to",
+      "duujal",
+      "korse",
+      "morso",
+      "juko",
+      "siilto",
+      "yarkomaa",
+      "jolal",
+      "bowte"
+    ],
+    "SHORTDAY": [
+      "dew",
+      "aa\u0253",
+      "maw",
+      "nje",
+      "naa",
+      "mwd",
+      "hbi"
+    ],
+    "SHORTMONTH": [
+      "sii",
+      "col",
+      "mbo",
+      "see",
+      "duu",
+      "kor",
+      "mor",
+      "juk",
+      "slt",
+      "yar",
+      "jol",
+      "bow"
+    ],
+    "STANDALONEMONTH": [
+      "siilo",
+      "colte",
+      "mbooy",
+      "see\u0257to",
+      "duujal",
+      "korse",
+      "morso",
+      "juko",
+      "siilto",
+      "yarkomaa",
+      "jolal",
+      "bowte"
+    ],
+    "WEEKENDRANGE": [
+      5,
+      6
+    ],
+    "fullDate": "EEEE d MMMM y",
+    "longDate": "d MMMM y",
+    "medium": "d MMM, y HH:mm:ss",
+    "mediumDate": "d MMM, y",
+    "mediumTime": "HH:mm:ss",
+    "short": "d/M/y HH:mm",
+    "shortDate": "d/M/y",
+    "shortTime": "HH:mm"
+  },
+  "NUMBER_FORMATS": {
+    "CURRENCY_SYM": "FG",
+    "DECIMAL_SEP": ",",
+    "GROUP_SEP": "\u00a0",
+    "PATTERNS": [
+      {
+        "gSize": 3,
+        "lgSize": 3,
+        "maxFrac": 3,
+        "minFrac": 0,
+        "minInt": 1,
+        "negPre": "-",
+        "negSuf": "",
+        "posPre": "",
+        "posSuf": ""
+      },
+      {
+        "gSize": 3,
+        "lgSize": 3,
+        "maxFrac": 2,
+        "minFrac": 2,
+        "minInt": 1,
+        "negPre": "-",
+        "negSuf": "\u00a0\u00a4",
+        "posPre": "",
+        "posSuf": "\u00a0\u00a4"
+      }
+    ]
+  },
+  "id": "ff-gn",
+  "localeID": "ff_GN",
+  "pluralCat": function(n, opt_precision) {  var i = n | 0;  var vf = getVF(n, 
opt_precision);  if (i == 1 && vf.v == 0) {    return PLURAL_CATEGORY.ONE;  }  
return PLURAL_CATEGORY.OTHER;}
+});
+}]);

http://git-wip-us.apache.org/repos/asf/struts-archetypes/blob/3662396a/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_ff-mr.js
----------------------------------------------------------------------
diff --git 
a/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_ff-mr.js
 
b/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_ff-mr.js
new file mode 100644
index 0000000..841316e
--- /dev/null
+++ 
b/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_ff-mr.js
@@ -0,0 +1,143 @@
+'use strict';
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: 
"many", OTHER: "other"};
+function getDecimals(n) {
+  n = n + '';
+  var i = n.indexOf('.');
+  return (i == -1) ? 0 : n.length - i - 1;
+}
+
+function getVF(n, opt_precision) {
+  var v = opt_precision;
+
+  if (undefined === v) {
+    v = Math.min(getDecimals(n), 3);
+  }
+
+  var base = Math.pow(10, v);
+  var f = ((n * base) | 0) % base;
+  return {v: v, f: f};
+}
+
+$provide.value("$locale", {
+  "DATETIME_FORMATS": {
+    "AMPMS": [
+      "subaka",
+      "kikii\u0257e"
+    ],
+    "DAY": [
+      "dewo",
+      "aa\u0253nde",
+      "mawbaare",
+      "njeslaare",
+      "naasaande",
+      "mawnde",
+      "hoore-biir"
+    ],
+    "ERANAMES": [
+      "Hade Iisa",
+      "Caggal Iisa"
+    ],
+    "ERAS": [
+      "H-I",
+      "C-I"
+    ],
+    "FIRSTDAYOFWEEK": 0,
+    "MONTH": [
+      "siilo",
+      "colte",
+      "mbooy",
+      "see\u0257to",
+      "duujal",
+      "korse",
+      "morso",
+      "juko",
+      "siilto",
+      "yarkomaa",
+      "jolal",
+      "bowte"
+    ],
+    "SHORTDAY": [
+      "dew",
+      "aa\u0253",
+      "maw",
+      "nje",
+      "naa",
+      "mwd",
+      "hbi"
+    ],
+    "SHORTMONTH": [
+      "sii",
+      "col",
+      "mbo",
+      "see",
+      "duu",
+      "kor",
+      "mor",
+      "juk",
+      "slt",
+      "yar",
+      "jol",
+      "bow"
+    ],
+    "STANDALONEMONTH": [
+      "siilo",
+      "colte",
+      "mbooy",
+      "see\u0257to",
+      "duujal",
+      "korse",
+      "morso",
+      "juko",
+      "siilto",
+      "yarkomaa",
+      "jolal",
+      "bowte"
+    ],
+    "WEEKENDRANGE": [
+      5,
+      6
+    ],
+    "fullDate": "EEEE d MMMM y",
+    "longDate": "d MMMM y",
+    "medium": "d MMM, y HH:mm:ss",
+    "mediumDate": "d MMM, y",
+    "mediumTime": "HH:mm:ss",
+    "short": "d/M/y HH:mm",
+    "shortDate": "d/M/y",
+    "shortTime": "HH:mm"
+  },
+  "NUMBER_FORMATS": {
+    "CURRENCY_SYM": "MRO",
+    "DECIMAL_SEP": ",",
+    "GROUP_SEP": "\u00a0",
+    "PATTERNS": [
+      {
+        "gSize": 3,
+        "lgSize": 3,
+        "maxFrac": 3,
+        "minFrac": 0,
+        "minInt": 1,
+        "negPre": "-",
+        "negSuf": "",
+        "posPre": "",
+        "posSuf": ""
+      },
+      {
+        "gSize": 3,
+        "lgSize": 3,
+        "maxFrac": 2,
+        "minFrac": 2,
+        "minInt": 1,
+        "negPre": "-",
+        "negSuf": "\u00a0\u00a4",
+        "posPre": "",
+        "posSuf": "\u00a0\u00a4"
+      }
+    ]
+  },
+  "id": "ff-mr",
+  "localeID": "ff_MR",
+  "pluralCat": function(n, opt_precision) {  var i = n | 0;  var vf = getVF(n, 
opt_precision);  if (i == 1 && vf.v == 0) {    return PLURAL_CATEGORY.ONE;  }  
return PLURAL_CATEGORY.OTHER;}
+});
+}]);

http://git-wip-us.apache.org/repos/asf/struts-archetypes/blob/3662396a/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_ff-sn.js
----------------------------------------------------------------------
diff --git 
a/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_ff-sn.js
 
b/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_ff-sn.js
new file mode 100644
index 0000000..de6849e
--- /dev/null
+++ 
b/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_ff-sn.js
@@ -0,0 +1,143 @@
+'use strict';
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: 
"many", OTHER: "other"};
+function getDecimals(n) {
+  n = n + '';
+  var i = n.indexOf('.');
+  return (i == -1) ? 0 : n.length - i - 1;
+}
+
+function getVF(n, opt_precision) {
+  var v = opt_precision;
+
+  if (undefined === v) {
+    v = Math.min(getDecimals(n), 3);
+  }
+
+  var base = Math.pow(10, v);
+  var f = ((n * base) | 0) % base;
+  return {v: v, f: f};
+}
+
+$provide.value("$locale", {
+  "DATETIME_FORMATS": {
+    "AMPMS": [
+      "subaka",
+      "kikii\u0257e"
+    ],
+    "DAY": [
+      "dewo",
+      "aa\u0253nde",
+      "mawbaare",
+      "njeslaare",
+      "naasaande",
+      "mawnde",
+      "hoore-biir"
+    ],
+    "ERANAMES": [
+      "Hade Iisa",
+      "Caggal Iisa"
+    ],
+    "ERAS": [
+      "H-I",
+      "C-I"
+    ],
+    "FIRSTDAYOFWEEK": 0,
+    "MONTH": [
+      "siilo",
+      "colte",
+      "mbooy",
+      "see\u0257to",
+      "duujal",
+      "korse",
+      "morso",
+      "juko",
+      "siilto",
+      "yarkomaa",
+      "jolal",
+      "bowte"
+    ],
+    "SHORTDAY": [
+      "dew",
+      "aa\u0253",
+      "maw",
+      "nje",
+      "naa",
+      "mwd",
+      "hbi"
+    ],
+    "SHORTMONTH": [
+      "sii",
+      "col",
+      "mbo",
+      "see",
+      "duu",
+      "kor",
+      "mor",
+      "juk",
+      "slt",
+      "yar",
+      "jol",
+      "bow"
+    ],
+    "STANDALONEMONTH": [
+      "siilo",
+      "colte",
+      "mbooy",
+      "see\u0257to",
+      "duujal",
+      "korse",
+      "morso",
+      "juko",
+      "siilto",
+      "yarkomaa",
+      "jolal",
+      "bowte"
+    ],
+    "WEEKENDRANGE": [
+      5,
+      6
+    ],
+    "fullDate": "EEEE d MMMM y",
+    "longDate": "d MMMM y",
+    "medium": "d MMM, y HH:mm:ss",
+    "mediumDate": "d MMM, y",
+    "mediumTime": "HH:mm:ss",
+    "short": "d/M/y HH:mm",
+    "shortDate": "d/M/y",
+    "shortTime": "HH:mm"
+  },
+  "NUMBER_FORMATS": {
+    "CURRENCY_SYM": "CFA",
+    "DECIMAL_SEP": ",",
+    "GROUP_SEP": "\u00a0",
+    "PATTERNS": [
+      {
+        "gSize": 3,
+        "lgSize": 3,
+        "maxFrac": 3,
+        "minFrac": 0,
+        "minInt": 1,
+        "negPre": "-",
+        "negSuf": "",
+        "posPre": "",
+        "posSuf": ""
+      },
+      {
+        "gSize": 3,
+        "lgSize": 3,
+        "maxFrac": 2,
+        "minFrac": 2,
+        "minInt": 1,
+        "negPre": "-",
+        "negSuf": "\u00a0\u00a4",
+        "posPre": "",
+        "posSuf": "\u00a0\u00a4"
+      }
+    ]
+  },
+  "id": "ff-sn",
+  "localeID": "ff_SN",
+  "pluralCat": function(n, opt_precision) {  var i = n | 0;  var vf = getVF(n, 
opt_precision);  if (i == 1 && vf.v == 0) {    return PLURAL_CATEGORY.ONE;  }  
return PLURAL_CATEGORY.OTHER;}
+});
+}]);

http://git-wip-us.apache.org/repos/asf/struts-archetypes/blob/3662396a/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_ff.js
----------------------------------------------------------------------
diff --git 
a/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_ff.js
 
b/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_ff.js
new file mode 100644
index 0000000..da4684f
--- /dev/null
+++ 
b/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_ff.js
@@ -0,0 +1,143 @@
+'use strict';
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: 
"many", OTHER: "other"};
+function getDecimals(n) {
+  n = n + '';
+  var i = n.indexOf('.');
+  return (i == -1) ? 0 : n.length - i - 1;
+}
+
+function getVF(n, opt_precision) {
+  var v = opt_precision;
+
+  if (undefined === v) {
+    v = Math.min(getDecimals(n), 3);
+  }
+
+  var base = Math.pow(10, v);
+  var f = ((n * base) | 0) % base;
+  return {v: v, f: f};
+}
+
+$provide.value("$locale", {
+  "DATETIME_FORMATS": {
+    "AMPMS": [
+      "subaka",
+      "kikii\u0257e"
+    ],
+    "DAY": [
+      "dewo",
+      "aa\u0253nde",
+      "mawbaare",
+      "njeslaare",
+      "naasaande",
+      "mawnde",
+      "hoore-biir"
+    ],
+    "ERANAMES": [
+      "Hade Iisa",
+      "Caggal Iisa"
+    ],
+    "ERAS": [
+      "H-I",
+      "C-I"
+    ],
+    "FIRSTDAYOFWEEK": 0,
+    "MONTH": [
+      "siilo",
+      "colte",
+      "mbooy",
+      "see\u0257to",
+      "duujal",
+      "korse",
+      "morso",
+      "juko",
+      "siilto",
+      "yarkomaa",
+      "jolal",
+      "bowte"
+    ],
+    "SHORTDAY": [
+      "dew",
+      "aa\u0253",
+      "maw",
+      "nje",
+      "naa",
+      "mwd",
+      "hbi"
+    ],
+    "SHORTMONTH": [
+      "sii",
+      "col",
+      "mbo",
+      "see",
+      "duu",
+      "kor",
+      "mor",
+      "juk",
+      "slt",
+      "yar",
+      "jol",
+      "bow"
+    ],
+    "STANDALONEMONTH": [
+      "siilo",
+      "colte",
+      "mbooy",
+      "see\u0257to",
+      "duujal",
+      "korse",
+      "morso",
+      "juko",
+      "siilto",
+      "yarkomaa",
+      "jolal",
+      "bowte"
+    ],
+    "WEEKENDRANGE": [
+      5,
+      6
+    ],
+    "fullDate": "EEEE d MMMM y",
+    "longDate": "d MMMM y",
+    "medium": "d MMM, y HH:mm:ss",
+    "mediumDate": "d MMM, y",
+    "mediumTime": "HH:mm:ss",
+    "short": "d/M/y HH:mm",
+    "shortDate": "d/M/y",
+    "shortTime": "HH:mm"
+  },
+  "NUMBER_FORMATS": {
+    "CURRENCY_SYM": "CFA",
+    "DECIMAL_SEP": ",",
+    "GROUP_SEP": "\u00a0",
+    "PATTERNS": [
+      {
+        "gSize": 3,
+        "lgSize": 3,
+        "maxFrac": 3,
+        "minFrac": 0,
+        "minInt": 1,
+        "negPre": "-",
+        "negSuf": "",
+        "posPre": "",
+        "posSuf": ""
+      },
+      {
+        "gSize": 3,
+        "lgSize": 3,
+        "maxFrac": 2,
+        "minFrac": 2,
+        "minInt": 1,
+        "negPre": "-",
+        "negSuf": "\u00a0\u00a4",
+        "posPre": "",
+        "posSuf": "\u00a0\u00a4"
+      }
+    ]
+  },
+  "id": "ff",
+  "localeID": "ff",
+  "pluralCat": function(n, opt_precision) {  var i = n | 0;  var vf = getVF(n, 
opt_precision);  if (i == 1 && vf.v == 0) {    return PLURAL_CATEGORY.ONE;  }  
return PLURAL_CATEGORY.OTHER;}
+});
+}]);

http://git-wip-us.apache.org/repos/asf/struts-archetypes/blob/3662396a/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_fi-fi.js
----------------------------------------------------------------------
diff --git 
a/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_fi-fi.js
 
b/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_fi-fi.js
new file mode 100644
index 0000000..c3e6a46
--- /dev/null
+++ 
b/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_fi-fi.js
@@ -0,0 +1,143 @@
+'use strict';
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: 
"many", OTHER: "other"};
+function getDecimals(n) {
+  n = n + '';
+  var i = n.indexOf('.');
+  return (i == -1) ? 0 : n.length - i - 1;
+}
+
+function getVF(n, opt_precision) {
+  var v = opt_precision;
+
+  if (undefined === v) {
+    v = Math.min(getDecimals(n), 3);
+  }
+
+  var base = Math.pow(10, v);
+  var f = ((n * base) | 0) % base;
+  return {v: v, f: f};
+}
+
+$provide.value("$locale", {
+  "DATETIME_FORMATS": {
+    "AMPMS": [
+      "ap.",
+      "ip."
+    ],
+    "DAY": [
+      "sunnuntaina",
+      "maanantaina",
+      "tiistaina",
+      "keskiviikkona",
+      "torstaina",
+      "perjantaina",
+      "lauantaina"
+    ],
+    "ERANAMES": [
+      "ennen Kristuksen syntym\u00e4\u00e4",
+      "j\u00e4lkeen Kristuksen syntym\u00e4n"
+    ],
+    "ERAS": [
+      "eKr.",
+      "jKr."
+    ],
+    "FIRSTDAYOFWEEK": 0,
+    "MONTH": [
+      "tammikuuta",
+      "helmikuuta",
+      "maaliskuuta",
+      "huhtikuuta",
+      "toukokuuta",
+      "kes\u00e4kuuta",
+      "hein\u00e4kuuta",
+      "elokuuta",
+      "syyskuuta",
+      "lokakuuta",
+      "marraskuuta",
+      "joulukuuta"
+    ],
+    "SHORTDAY": [
+      "su",
+      "ma",
+      "ti",
+      "ke",
+      "to",
+      "pe",
+      "la"
+    ],
+    "SHORTMONTH": [
+      "tammikuuta",
+      "helmikuuta",
+      "maaliskuuta",
+      "huhtikuuta",
+      "toukokuuta",
+      "kes\u00e4kuuta",
+      "hein\u00e4kuuta",
+      "elokuuta",
+      "syyskuuta",
+      "lokakuuta",
+      "marraskuuta",
+      "joulukuuta"
+    ],
+    "STANDALONEMONTH": [
+      "tammikuu",
+      "helmikuu",
+      "maaliskuu",
+      "huhtikuu",
+      "toukokuu",
+      "kes\u00e4kuu",
+      "hein\u00e4kuu",
+      "elokuu",
+      "syyskuu",
+      "lokakuu",
+      "marraskuu",
+      "joulukuu"
+    ],
+    "WEEKENDRANGE": [
+      5,
+      6
+    ],
+    "fullDate": "cccc d. MMMM y",
+    "longDate": "d. MMMM y",
+    "medium": "d.M.y H.mm.ss",
+    "mediumDate": "d.M.y",
+    "mediumTime": "H.mm.ss",
+    "short": "d.M.y H.mm",
+    "shortDate": "d.M.y",
+    "shortTime": "H.mm"
+  },
+  "NUMBER_FORMATS": {
+    "CURRENCY_SYM": "\u20ac",
+    "DECIMAL_SEP": ",",
+    "GROUP_SEP": "\u00a0",
+    "PATTERNS": [
+      {
+        "gSize": 3,
+        "lgSize": 3,
+        "maxFrac": 3,
+        "minFrac": 0,
+        "minInt": 1,
+        "negPre": "-",
+        "negSuf": "",
+        "posPre": "",
+        "posSuf": ""
+      },
+      {
+        "gSize": 3,
+        "lgSize": 3,
+        "maxFrac": 2,
+        "minFrac": 2,
+        "minInt": 1,
+        "negPre": "-",
+        "negSuf": "\u00a0\u00a4",
+        "posPre": "",
+        "posSuf": "\u00a0\u00a4"
+      }
+    ]
+  },
+  "id": "fi-fi",
+  "localeID": "fi_FI",
+  "pluralCat": function(n, opt_precision) {  var i = n | 0;  var vf = getVF(n, 
opt_precision);  if (i == 1 && vf.v == 0) {    return PLURAL_CATEGORY.ONE;  }  
return PLURAL_CATEGORY.OTHER;}
+});
+}]);

http://git-wip-us.apache.org/repos/asf/struts-archetypes/blob/3662396a/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_fi.js
----------------------------------------------------------------------
diff --git 
a/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_fi.js
 
b/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_fi.js
new file mode 100644
index 0000000..f10f66e
--- /dev/null
+++ 
b/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_fi.js
@@ -0,0 +1,143 @@
+'use strict';
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: 
"many", OTHER: "other"};
+function getDecimals(n) {
+  n = n + '';
+  var i = n.indexOf('.');
+  return (i == -1) ? 0 : n.length - i - 1;
+}
+
+function getVF(n, opt_precision) {
+  var v = opt_precision;
+
+  if (undefined === v) {
+    v = Math.min(getDecimals(n), 3);
+  }
+
+  var base = Math.pow(10, v);
+  var f = ((n * base) | 0) % base;
+  return {v: v, f: f};
+}
+
+$provide.value("$locale", {
+  "DATETIME_FORMATS": {
+    "AMPMS": [
+      "ap.",
+      "ip."
+    ],
+    "DAY": [
+      "sunnuntaina",
+      "maanantaina",
+      "tiistaina",
+      "keskiviikkona",
+      "torstaina",
+      "perjantaina",
+      "lauantaina"
+    ],
+    "ERANAMES": [
+      "ennen Kristuksen syntym\u00e4\u00e4",
+      "j\u00e4lkeen Kristuksen syntym\u00e4n"
+    ],
+    "ERAS": [
+      "eKr.",
+      "jKr."
+    ],
+    "FIRSTDAYOFWEEK": 0,
+    "MONTH": [
+      "tammikuuta",
+      "helmikuuta",
+      "maaliskuuta",
+      "huhtikuuta",
+      "toukokuuta",
+      "kes\u00e4kuuta",
+      "hein\u00e4kuuta",
+      "elokuuta",
+      "syyskuuta",
+      "lokakuuta",
+      "marraskuuta",
+      "joulukuuta"
+    ],
+    "SHORTDAY": [
+      "su",
+      "ma",
+      "ti",
+      "ke",
+      "to",
+      "pe",
+      "la"
+    ],
+    "SHORTMONTH": [
+      "tammikuuta",
+      "helmikuuta",
+      "maaliskuuta",
+      "huhtikuuta",
+      "toukokuuta",
+      "kes\u00e4kuuta",
+      "hein\u00e4kuuta",
+      "elokuuta",
+      "syyskuuta",
+      "lokakuuta",
+      "marraskuuta",
+      "joulukuuta"
+    ],
+    "STANDALONEMONTH": [
+      "tammikuu",
+      "helmikuu",
+      "maaliskuu",
+      "huhtikuu",
+      "toukokuu",
+      "kes\u00e4kuu",
+      "hein\u00e4kuu",
+      "elokuu",
+      "syyskuu",
+      "lokakuu",
+      "marraskuu",
+      "joulukuu"
+    ],
+    "WEEKENDRANGE": [
+      5,
+      6
+    ],
+    "fullDate": "cccc d. MMMM y",
+    "longDate": "d. MMMM y",
+    "medium": "d.M.y H.mm.ss",
+    "mediumDate": "d.M.y",
+    "mediumTime": "H.mm.ss",
+    "short": "d.M.y H.mm",
+    "shortDate": "d.M.y",
+    "shortTime": "H.mm"
+  },
+  "NUMBER_FORMATS": {
+    "CURRENCY_SYM": "\u20ac",
+    "DECIMAL_SEP": ",",
+    "GROUP_SEP": "\u00a0",
+    "PATTERNS": [
+      {
+        "gSize": 3,
+        "lgSize": 3,
+        "maxFrac": 3,
+        "minFrac": 0,
+        "minInt": 1,
+        "negPre": "-",
+        "negSuf": "",
+        "posPre": "",
+        "posSuf": ""
+      },
+      {
+        "gSize": 3,
+        "lgSize": 3,
+        "maxFrac": 2,
+        "minFrac": 2,
+        "minInt": 1,
+        "negPre": "-",
+        "negSuf": "\u00a0\u00a4",
+        "posPre": "",
+        "posSuf": "\u00a0\u00a4"
+      }
+    ]
+  },
+  "id": "fi",
+  "localeID": "fi",
+  "pluralCat": function(n, opt_precision) {  var i = n | 0;  var vf = getVF(n, 
opt_precision);  if (i == 1 && vf.v == 0) {    return PLURAL_CATEGORY.ONE;  }  
return PLURAL_CATEGORY.OTHER;}
+});
+}]);

http://git-wip-us.apache.org/repos/asf/struts-archetypes/blob/3662396a/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_fil-ph.js
----------------------------------------------------------------------
diff --git 
a/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_fil-ph.js
 
b/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_fil-ph.js
new file mode 100644
index 0000000..2d222db
--- /dev/null
+++ 
b/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_fil-ph.js
@@ -0,0 +1,143 @@
+'use strict';
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: 
"many", OTHER: "other"};
+function getDecimals(n) {
+  n = n + '';
+  var i = n.indexOf('.');
+  return (i == -1) ? 0 : n.length - i - 1;
+}
+
+function getVF(n, opt_precision) {
+  var v = opt_precision;
+
+  if (undefined === v) {
+    v = Math.min(getDecimals(n), 3);
+  }
+
+  var base = Math.pow(10, v);
+  var f = ((n * base) | 0) % base;
+  return {v: v, f: f};
+}
+
+$provide.value("$locale", {
+  "DATETIME_FORMATS": {
+    "AMPMS": [
+      "AM",
+      "PM"
+    ],
+    "DAY": [
+      "Linggo",
+      "Lunes",
+      "Martes",
+      "Miyerkules",
+      "Huwebes",
+      "Biyernes",
+      "Sabado"
+    ],
+    "ERANAMES": [
+      "BC",
+      "AD"
+    ],
+    "ERAS": [
+      "BC",
+      "AD"
+    ],
+    "FIRSTDAYOFWEEK": 6,
+    "MONTH": [
+      "Enero",
+      "Pebrero",
+      "Marso",
+      "Abril",
+      "Mayo",
+      "Hunyo",
+      "Hulyo",
+      "Agosto",
+      "Setyembre",
+      "Oktubre",
+      "Nobyembre",
+      "Disyembre"
+    ],
+    "SHORTDAY": [
+      "Lin",
+      "Lun",
+      "Mar",
+      "Miy",
+      "Huw",
+      "Biy",
+      "Sab"
+    ],
+    "SHORTMONTH": [
+      "Ene",
+      "Peb",
+      "Mar",
+      "Abr",
+      "May",
+      "Hun",
+      "Hul",
+      "Ago",
+      "Set",
+      "Okt",
+      "Nob",
+      "Dis"
+    ],
+    "STANDALONEMONTH": [
+      "Enero",
+      "Pebrero",
+      "Marso",
+      "Abril",
+      "Mayo",
+      "Hunyo",
+      "Hulyo",
+      "Agosto",
+      "Setyembre",
+      "Oktubre",
+      "Nobyembre",
+      "Disyembre"
+    ],
+    "WEEKENDRANGE": [
+      5,
+      6
+    ],
+    "fullDate": "EEEE, MMMM d, y",
+    "longDate": "MMMM d, y",
+    "medium": "MMM d, y h:mm:ss a",
+    "mediumDate": "MMM d, y",
+    "mediumTime": "h:mm:ss a",
+    "short": "M/d/yy h:mm a",
+    "shortDate": "M/d/yy",
+    "shortTime": "h:mm a"
+  },
+  "NUMBER_FORMATS": {
+    "CURRENCY_SYM": "\u20b1",
+    "DECIMAL_SEP": ".",
+    "GROUP_SEP": ",",
+    "PATTERNS": [
+      {
+        "gSize": 3,
+        "lgSize": 3,
+        "maxFrac": 3,
+        "minFrac": 0,
+        "minInt": 1,
+        "negPre": "-",
+        "negSuf": "",
+        "posPre": "",
+        "posSuf": ""
+      },
+      {
+        "gSize": 3,
+        "lgSize": 3,
+        "maxFrac": 2,
+        "minFrac": 2,
+        "minInt": 1,
+        "negPre": "-\u00a4",
+        "negSuf": "",
+        "posPre": "\u00a4",
+        "posSuf": ""
+      }
+    ]
+  },
+  "id": "fil-ph",
+  "localeID": "fil_PH",
+  "pluralCat": function(n, opt_precision) {  var i = n | 0;  var vf = getVF(n, 
opt_precision);  if (vf.v == 0 && (i == 1 || i == 2 || i == 3) || vf.v == 0 && 
i % 10 != 4 && i % 10 != 6 && i % 10 != 9 || vf.v != 0 && vf.f % 10 != 4 && 
vf.f % 10 != 6 && vf.f % 10 != 9) {    return PLURAL_CATEGORY.ONE;  }  return 
PLURAL_CATEGORY.OTHER;}
+});
+}]);

http://git-wip-us.apache.org/repos/asf/struts-archetypes/blob/3662396a/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_fil.js
----------------------------------------------------------------------
diff --git 
a/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_fil.js
 
b/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_fil.js
new file mode 100644
index 0000000..b7e3074
--- /dev/null
+++ 
b/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_fil.js
@@ -0,0 +1,143 @@
+'use strict';
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: 
"many", OTHER: "other"};
+function getDecimals(n) {
+  n = n + '';
+  var i = n.indexOf('.');
+  return (i == -1) ? 0 : n.length - i - 1;
+}
+
+function getVF(n, opt_precision) {
+  var v = opt_precision;
+
+  if (undefined === v) {
+    v = Math.min(getDecimals(n), 3);
+  }
+
+  var base = Math.pow(10, v);
+  var f = ((n * base) | 0) % base;
+  return {v: v, f: f};
+}
+
+$provide.value("$locale", {
+  "DATETIME_FORMATS": {
+    "AMPMS": [
+      "AM",
+      "PM"
+    ],
+    "DAY": [
+      "Linggo",
+      "Lunes",
+      "Martes",
+      "Miyerkules",
+      "Huwebes",
+      "Biyernes",
+      "Sabado"
+    ],
+    "ERANAMES": [
+      "BC",
+      "AD"
+    ],
+    "ERAS": [
+      "BC",
+      "AD"
+    ],
+    "FIRSTDAYOFWEEK": 6,
+    "MONTH": [
+      "Enero",
+      "Pebrero",
+      "Marso",
+      "Abril",
+      "Mayo",
+      "Hunyo",
+      "Hulyo",
+      "Agosto",
+      "Setyembre",
+      "Oktubre",
+      "Nobyembre",
+      "Disyembre"
+    ],
+    "SHORTDAY": [
+      "Lin",
+      "Lun",
+      "Mar",
+      "Miy",
+      "Huw",
+      "Biy",
+      "Sab"
+    ],
+    "SHORTMONTH": [
+      "Ene",
+      "Peb",
+      "Mar",
+      "Abr",
+      "May",
+      "Hun",
+      "Hul",
+      "Ago",
+      "Set",
+      "Okt",
+      "Nob",
+      "Dis"
+    ],
+    "STANDALONEMONTH": [
+      "Enero",
+      "Pebrero",
+      "Marso",
+      "Abril",
+      "Mayo",
+      "Hunyo",
+      "Hulyo",
+      "Agosto",
+      "Setyembre",
+      "Oktubre",
+      "Nobyembre",
+      "Disyembre"
+    ],
+    "WEEKENDRANGE": [
+      5,
+      6
+    ],
+    "fullDate": "EEEE, MMMM d, y",
+    "longDate": "MMMM d, y",
+    "medium": "MMM d, y h:mm:ss a",
+    "mediumDate": "MMM d, y",
+    "mediumTime": "h:mm:ss a",
+    "short": "M/d/yy h:mm a",
+    "shortDate": "M/d/yy",
+    "shortTime": "h:mm a"
+  },
+  "NUMBER_FORMATS": {
+    "CURRENCY_SYM": "\u20b1",
+    "DECIMAL_SEP": ".",
+    "GROUP_SEP": ",",
+    "PATTERNS": [
+      {
+        "gSize": 3,
+        "lgSize": 3,
+        "maxFrac": 3,
+        "minFrac": 0,
+        "minInt": 1,
+        "negPre": "-",
+        "negSuf": "",
+        "posPre": "",
+        "posSuf": ""
+      },
+      {
+        "gSize": 3,
+        "lgSize": 3,
+        "maxFrac": 2,
+        "minFrac": 2,
+        "minInt": 1,
+        "negPre": "-\u00a4",
+        "negSuf": "",
+        "posPre": "\u00a4",
+        "posSuf": ""
+      }
+    ]
+  },
+  "id": "fil",
+  "localeID": "fil",
+  "pluralCat": function(n, opt_precision) {  var i = n | 0;  var vf = getVF(n, 
opt_precision);  if (vf.v == 0 && (i == 1 || i == 2 || i == 3) || vf.v == 0 && 
i % 10 != 4 && i % 10 != 6 && i % 10 != 9 || vf.v != 0 && vf.f % 10 != 4 && 
vf.f % 10 != 6 && vf.f % 10 != 9) {    return PLURAL_CATEGORY.ONE;  }  return 
PLURAL_CATEGORY.OTHER;}
+});
+}]);

http://git-wip-us.apache.org/repos/asf/struts-archetypes/blob/3662396a/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_fo-fo.js
----------------------------------------------------------------------
diff --git 
a/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_fo-fo.js
 
b/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_fo-fo.js
new file mode 100644
index 0000000..ef42c7a
--- /dev/null
+++ 
b/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_fo-fo.js
@@ -0,0 +1,143 @@
+'use strict';
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: 
"many", OTHER: "other"};
+function getDecimals(n) {
+  n = n + '';
+  var i = n.indexOf('.');
+  return (i == -1) ? 0 : n.length - i - 1;
+}
+
+function getVF(n, opt_precision) {
+  var v = opt_precision;
+
+  if (undefined === v) {
+    v = Math.min(getDecimals(n), 3);
+  }
+
+  var base = Math.pow(10, v);
+  var f = ((n * base) | 0) % base;
+  return {v: v, f: f};
+}
+
+$provide.value("$locale", {
+  "DATETIME_FORMATS": {
+    "AMPMS": [
+      "um fyrrapartur",
+      "um seinnapartur"
+    ],
+    "DAY": [
+      "sunnudagur",
+      "m\u00e1nadagur",
+      "t\u00fdsdagur",
+      "mikudagur",
+      "h\u00f3sdagur",
+      "fr\u00edggjadagur",
+      "leygardagur"
+    ],
+    "ERANAMES": [
+      "fyrir Krist",
+      "eftir Krist"
+    ],
+    "ERAS": [
+      "f.Kr.",
+      "e.Kr."
+    ],
+    "FIRSTDAYOFWEEK": 0,
+    "MONTH": [
+      "januar",
+      "februar",
+      "mars",
+      "apr\u00edl",
+      "mai",
+      "juni",
+      "juli",
+      "august",
+      "september",
+      "oktober",
+      "november",
+      "desember"
+    ],
+    "SHORTDAY": [
+      "sun",
+      "m\u00e1n",
+      "t\u00fds",
+      "mik",
+      "h\u00f3s",
+      "fr\u00ed",
+      "ley"
+    ],
+    "SHORTMONTH": [
+      "jan",
+      "feb",
+      "mar",
+      "apr",
+      "mai",
+      "jun",
+      "jul",
+      "aug",
+      "sep",
+      "okt",
+      "nov",
+      "des"
+    ],
+    "STANDALONEMONTH": [
+      "januar",
+      "februar",
+      "mars",
+      "apr\u00edl",
+      "mai",
+      "juni",
+      "juli",
+      "august",
+      "september",
+      "oktober",
+      "november",
+      "desember"
+    ],
+    "WEEKENDRANGE": [
+      5,
+      6
+    ],
+    "fullDate": "EEEE dd MMMM y",
+    "longDate": "d. MMM y",
+    "medium": "dd-MM-y HH:mm:ss",
+    "mediumDate": "dd-MM-y",
+    "mediumTime": "HH:mm:ss",
+    "short": "dd-MM-yy HH:mm",
+    "shortDate": "dd-MM-yy",
+    "shortTime": "HH:mm"
+  },
+  "NUMBER_FORMATS": {
+    "CURRENCY_SYM": "kr",
+    "DECIMAL_SEP": ",",
+    "GROUP_SEP": ".",
+    "PATTERNS": [
+      {
+        "gSize": 3,
+        "lgSize": 3,
+        "maxFrac": 3,
+        "minFrac": 0,
+        "minInt": 1,
+        "negPre": "-",
+        "negSuf": "",
+        "posPre": "",
+        "posSuf": ""
+      },
+      {
+        "gSize": 3,
+        "lgSize": 3,
+        "maxFrac": 2,
+        "minFrac": 2,
+        "minInt": 1,
+        "negPre": "\u00a4-",
+        "negSuf": "",
+        "posPre": "\u00a4",
+        "posSuf": ""
+      }
+    ]
+  },
+  "id": "fo-fo",
+  "localeID": "fo_FO",
+  "pluralCat": function(n, opt_precision) {  var i = n | 0;  var vf = getVF(n, 
opt_precision);  if (i == 1 && vf.v == 0) {    return PLURAL_CATEGORY.ONE;  }  
return PLURAL_CATEGORY.OTHER;}
+});
+}]);

http://git-wip-us.apache.org/repos/asf/struts-archetypes/blob/3662396a/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_fo.js
----------------------------------------------------------------------
diff --git 
a/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_fo.js
 
b/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_fo.js
new file mode 100644
index 0000000..9d83231
--- /dev/null
+++ 
b/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_fo.js
@@ -0,0 +1,143 @@
+'use strict';
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: 
"many", OTHER: "other"};
+function getDecimals(n) {
+  n = n + '';
+  var i = n.indexOf('.');
+  return (i == -1) ? 0 : n.length - i - 1;
+}
+
+function getVF(n, opt_precision) {
+  var v = opt_precision;
+
+  if (undefined === v) {
+    v = Math.min(getDecimals(n), 3);
+  }
+
+  var base = Math.pow(10, v);
+  var f = ((n * base) | 0) % base;
+  return {v: v, f: f};
+}
+
+$provide.value("$locale", {
+  "DATETIME_FORMATS": {
+    "AMPMS": [
+      "um fyrrapartur",
+      "um seinnapartur"
+    ],
+    "DAY": [
+      "sunnudagur",
+      "m\u00e1nadagur",
+      "t\u00fdsdagur",
+      "mikudagur",
+      "h\u00f3sdagur",
+      "fr\u00edggjadagur",
+      "leygardagur"
+    ],
+    "ERANAMES": [
+      "fyrir Krist",
+      "eftir Krist"
+    ],
+    "ERAS": [
+      "f.Kr.",
+      "e.Kr."
+    ],
+    "FIRSTDAYOFWEEK": 0,
+    "MONTH": [
+      "januar",
+      "februar",
+      "mars",
+      "apr\u00edl",
+      "mai",
+      "juni",
+      "juli",
+      "august",
+      "september",
+      "oktober",
+      "november",
+      "desember"
+    ],
+    "SHORTDAY": [
+      "sun",
+      "m\u00e1n",
+      "t\u00fds",
+      "mik",
+      "h\u00f3s",
+      "fr\u00ed",
+      "ley"
+    ],
+    "SHORTMONTH": [
+      "jan",
+      "feb",
+      "mar",
+      "apr",
+      "mai",
+      "jun",
+      "jul",
+      "aug",
+      "sep",
+      "okt",
+      "nov",
+      "des"
+    ],
+    "STANDALONEMONTH": [
+      "januar",
+      "februar",
+      "mars",
+      "apr\u00edl",
+      "mai",
+      "juni",
+      "juli",
+      "august",
+      "september",
+      "oktober",
+      "november",
+      "desember"
+    ],
+    "WEEKENDRANGE": [
+      5,
+      6
+    ],
+    "fullDate": "EEEE dd MMMM y",
+    "longDate": "d. MMM y",
+    "medium": "dd-MM-y HH:mm:ss",
+    "mediumDate": "dd-MM-y",
+    "mediumTime": "HH:mm:ss",
+    "short": "dd-MM-yy HH:mm",
+    "shortDate": "dd-MM-yy",
+    "shortTime": "HH:mm"
+  },
+  "NUMBER_FORMATS": {
+    "CURRENCY_SYM": "kr",
+    "DECIMAL_SEP": ",",
+    "GROUP_SEP": ".",
+    "PATTERNS": [
+      {
+        "gSize": 3,
+        "lgSize": 3,
+        "maxFrac": 3,
+        "minFrac": 0,
+        "minInt": 1,
+        "negPre": "-",
+        "negSuf": "",
+        "posPre": "",
+        "posSuf": ""
+      },
+      {
+        "gSize": 3,
+        "lgSize": 3,
+        "maxFrac": 2,
+        "minFrac": 2,
+        "minInt": 1,
+        "negPre": "\u00a4-",
+        "negSuf": "",
+        "posPre": "\u00a4",
+        "posSuf": ""
+      }
+    ]
+  },
+  "id": "fo",
+  "localeID": "fo",
+  "pluralCat": function(n, opt_precision) {  var i = n | 0;  var vf = getVF(n, 
opt_precision);  if (i == 1 && vf.v == 0) {    return PLURAL_CATEGORY.ONE;  }  
return PLURAL_CATEGORY.OTHER;}
+});
+}]);

http://git-wip-us.apache.org/repos/asf/struts-archetypes/blob/3662396a/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_fr-be.js
----------------------------------------------------------------------
diff --git 
a/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_fr-be.js
 
b/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_fr-be.js
new file mode 100644
index 0000000..a8d99bb
--- /dev/null
+++ 
b/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_fr-be.js
@@ -0,0 +1,125 @@
+'use strict';
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: 
"many", OTHER: "other"};
+$provide.value("$locale", {
+  "DATETIME_FORMATS": {
+    "AMPMS": [
+      "AM",
+      "PM"
+    ],
+    "DAY": [
+      "dimanche",
+      "lundi",
+      "mardi",
+      "mercredi",
+      "jeudi",
+      "vendredi",
+      "samedi"
+    ],
+    "ERANAMES": [
+      "avant J\u00e9sus-Christ",
+      "apr\u00e8s J\u00e9sus-Christ"
+    ],
+    "ERAS": [
+      "av. J.-C.",
+      "ap. J.-C."
+    ],
+    "FIRSTDAYOFWEEK": 0,
+    "MONTH": [
+      "janvier",
+      "f\u00e9vrier",
+      "mars",
+      "avril",
+      "mai",
+      "juin",
+      "juillet",
+      "ao\u00fbt",
+      "septembre",
+      "octobre",
+      "novembre",
+      "d\u00e9cembre"
+    ],
+    "SHORTDAY": [
+      "dim.",
+      "lun.",
+      "mar.",
+      "mer.",
+      "jeu.",
+      "ven.",
+      "sam."
+    ],
+    "SHORTMONTH": [
+      "janv.",
+      "f\u00e9vr.",
+      "mars",
+      "avr.",
+      "mai",
+      "juin",
+      "juil.",
+      "ao\u00fbt",
+      "sept.",
+      "oct.",
+      "nov.",
+      "d\u00e9c."
+    ],
+    "STANDALONEMONTH": [
+      "Janvier",
+      "F\u00e9vrier",
+      "Mars",
+      "Avril",
+      "Mai",
+      "Juin",
+      "Juillet",
+      "Ao\u00fbt",
+      "Septembre",
+      "Octobre",
+      "Novembre",
+      "D\u00e9cembre"
+    ],
+    "WEEKENDRANGE": [
+      5,
+      6
+    ],
+    "fullDate": "EEEE d MMMM y",
+    "longDate": "d MMMM y",
+    "medium": "d MMM y HH:mm:ss",
+    "mediumDate": "d MMM y",
+    "mediumTime": "HH:mm:ss",
+    "short": "d/MM/yy HH:mm",
+    "shortDate": "d/MM/yy",
+    "shortTime": "HH:mm"
+  },
+  "NUMBER_FORMATS": {
+    "CURRENCY_SYM": "\u20ac",
+    "DECIMAL_SEP": ",",
+    "GROUP_SEP": ".",
+    "PATTERNS": [
+      {
+        "gSize": 3,
+        "lgSize": 3,
+        "maxFrac": 3,
+        "minFrac": 0,
+        "minInt": 1,
+        "negPre": "-",
+        "negSuf": "",
+        "posPre": "",
+        "posSuf": ""
+      },
+      {
+        "gSize": 3,
+        "lgSize": 3,
+        "maxFrac": 2,
+        "minFrac": 2,
+        "minInt": 1,
+        "negPre": "-",
+        "negSuf": "\u00a0\u00a4",
+        "posPre": "",
+        "posSuf": "\u00a0\u00a4"
+      }
+    ]
+  },
+  "id": "fr-be",
+  "localeID": "fr_BE",
+  "pluralCat": function(n, opt_precision) {  var i = n | 0;  if (i == 0 || i 
== 1) {    return PLURAL_CATEGORY.ONE;  }  return PLURAL_CATEGORY.OTHER;}
+});
+}]);

http://git-wip-us.apache.org/repos/asf/struts-archetypes/blob/3662396a/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_fr-bf.js
----------------------------------------------------------------------
diff --git 
a/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_fr-bf.js
 
b/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_fr-bf.js
new file mode 100644
index 0000000..6e33697
--- /dev/null
+++ 
b/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_fr-bf.js
@@ -0,0 +1,125 @@
+'use strict';
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: 
"many", OTHER: "other"};
+$provide.value("$locale", {
+  "DATETIME_FORMATS": {
+    "AMPMS": [
+      "AM",
+      "PM"
+    ],
+    "DAY": [
+      "dimanche",
+      "lundi",
+      "mardi",
+      "mercredi",
+      "jeudi",
+      "vendredi",
+      "samedi"
+    ],
+    "ERANAMES": [
+      "avant J\u00e9sus-Christ",
+      "apr\u00e8s J\u00e9sus-Christ"
+    ],
+    "ERAS": [
+      "av. J.-C.",
+      "ap. J.-C."
+    ],
+    "FIRSTDAYOFWEEK": 0,
+    "MONTH": [
+      "janvier",
+      "f\u00e9vrier",
+      "mars",
+      "avril",
+      "mai",
+      "juin",
+      "juillet",
+      "ao\u00fbt",
+      "septembre",
+      "octobre",
+      "novembre",
+      "d\u00e9cembre"
+    ],
+    "SHORTDAY": [
+      "dim.",
+      "lun.",
+      "mar.",
+      "mer.",
+      "jeu.",
+      "ven.",
+      "sam."
+    ],
+    "SHORTMONTH": [
+      "janv.",
+      "f\u00e9vr.",
+      "mars",
+      "avr.",
+      "mai",
+      "juin",
+      "juil.",
+      "ao\u00fbt",
+      "sept.",
+      "oct.",
+      "nov.",
+      "d\u00e9c."
+    ],
+    "STANDALONEMONTH": [
+      "Janvier",
+      "F\u00e9vrier",
+      "Mars",
+      "Avril",
+      "Mai",
+      "Juin",
+      "Juillet",
+      "Ao\u00fbt",
+      "Septembre",
+      "Octobre",
+      "Novembre",
+      "D\u00e9cembre"
+    ],
+    "WEEKENDRANGE": [
+      5,
+      6
+    ],
+    "fullDate": "EEEE d MMMM y",
+    "longDate": "d MMMM y",
+    "medium": "d MMM y HH:mm:ss",
+    "mediumDate": "d MMM y",
+    "mediumTime": "HH:mm:ss",
+    "short": "dd/MM/y HH:mm",
+    "shortDate": "dd/MM/y",
+    "shortTime": "HH:mm"
+  },
+  "NUMBER_FORMATS": {
+    "CURRENCY_SYM": "CFA",
+    "DECIMAL_SEP": ",",
+    "GROUP_SEP": "\u00a0",
+    "PATTERNS": [
+      {
+        "gSize": 3,
+        "lgSize": 3,
+        "maxFrac": 3,
+        "minFrac": 0,
+        "minInt": 1,
+        "negPre": "-",
+        "negSuf": "",
+        "posPre": "",
+        "posSuf": ""
+      },
+      {
+        "gSize": 3,
+        "lgSize": 3,
+        "maxFrac": 2,
+        "minFrac": 2,
+        "minInt": 1,
+        "negPre": "-",
+        "negSuf": "\u00a0\u00a4",
+        "posPre": "",
+        "posSuf": "\u00a0\u00a4"
+      }
+    ]
+  },
+  "id": "fr-bf",
+  "localeID": "fr_BF",
+  "pluralCat": function(n, opt_precision) {  var i = n | 0;  if (i == 0 || i 
== 1) {    return PLURAL_CATEGORY.ONE;  }  return PLURAL_CATEGORY.OTHER;}
+});
+}]);

Reply via email to