You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@struts.apache.org by lu...@apache.org on 2016/07/14 17:57:24 UTC

[08/51] [abbrv] [partial] struts-archetypes git commit: WW-4316 Moves Struts archetypes into its own repo

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_shi-tfng.js
----------------------------------------------------------------------
diff --git a/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_shi-tfng.js b/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_shi-tfng.js
new file mode 100644
index 0000000..be8968d
--- /dev/null
+++ b/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_shi-tfng.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": [
+      "\u2d5c\u2d49\u2d3c\u2d30\u2d61\u2d5c",
+      "\u2d5c\u2d30\u2d37\u2d33\u2d33\u2d6f\u2d30\u2d5c"
+    ],
+    "DAY": [
+      "\u2d30\u2d59\u2d30\u2d4e\u2d30\u2d59",
+      "\u2d30\u2d62\u2d4f\u2d30\u2d59",
+      "\u2d30\u2d59\u2d49\u2d4f\u2d30\u2d59",
+      "\u2d30\u2d3d\u2d55\u2d30\u2d59",
+      "\u2d30\u2d3d\u2d61\u2d30\u2d59",
+      "\u2d59\u2d49\u2d4e\u2d61\u2d30\u2d59",
+      "\u2d30\u2d59\u2d49\u2d39\u2d62\u2d30\u2d59"
+    ],
+    "ERANAMES": [
+      "\u2d37\u2d30\u2d5c \u2d4f \u2d44\u2d49\u2d59\u2d30",
+      "\u2d37\u2d3c\u2d3c\u2d49\u2d54 \u2d4f \u2d44\u2d49\u2d59\u2d30"
+    ],
+    "ERAS": [
+      "\u2d37\u2d30\u2d44",
+      "\u2d37\u2d3c\u2d44"
+    ],
+    "FIRSTDAYOFWEEK": 0,
+    "MONTH": [
+      "\u2d49\u2d4f\u2d4f\u2d30\u2d62\u2d54",
+      "\u2d31\u2d55\u2d30\u2d62\u2d55",
+      "\u2d4e\u2d30\u2d55\u2d5a",
+      "\u2d49\u2d31\u2d54\u2d49\u2d54",
+      "\u2d4e\u2d30\u2d62\u2d62\u2d53",
+      "\u2d62\u2d53\u2d4f\u2d62\u2d53",
+      "\u2d62\u2d53\u2d4d\u2d62\u2d53\u2d63",
+      "\u2d56\u2d53\u2d5b\u2d5c",
+      "\u2d5b\u2d53\u2d5c\u2d30\u2d4f\u2d31\u2d49\u2d54",
+      "\u2d3d\u2d5c\u2d53\u2d31\u2d54",
+      "\u2d4f\u2d53\u2d61\u2d30\u2d4f\u2d31\u2d49\u2d54",
+      "\u2d37\u2d53\u2d4a\u2d30\u2d4f\u2d31\u2d49\u2d54"
+    ],
+    "SHORTDAY": [
+      "\u2d30\u2d59\u2d30",
+      "\u2d30\u2d62\u2d4f",
+      "\u2d30\u2d59\u2d49",
+      "\u2d30\u2d3d\u2d55",
+      "\u2d30\u2d3d\u2d61",
+      "\u2d30\u2d59\u2d49\u2d4e",
+      "\u2d30\u2d59\u2d49\u2d39"
+    ],
+    "SHORTMONTH": [
+      "\u2d49\u2d4f\u2d4f",
+      "\u2d31\u2d55\u2d30",
+      "\u2d4e\u2d30\u2d55",
+      "\u2d49\u2d31\u2d54",
+      "\u2d4e\u2d30\u2d62",
+      "\u2d62\u2d53\u2d4f",
+      "\u2d62\u2d53\u2d4d",
+      "\u2d56\u2d53\u2d5b",
+      "\u2d5b\u2d53\u2d5c",
+      "\u2d3d\u2d5c\u2d53",
+      "\u2d4f\u2d53\u2d61",
+      "\u2d37\u2d53\u2d4a"
+    ],
+    "STANDALONEMONTH": [
+      "\u2d49\u2d4f\u2d4f\u2d30\u2d62\u2d54",
+      "\u2d31\u2d55\u2d30\u2d62\u2d55",
+      "\u2d4e\u2d30\u2d55\u2d5a",
+      "\u2d49\u2d31\u2d54\u2d49\u2d54",
+      "\u2d4e\u2d30\u2d62\u2d62\u2d53",
+      "\u2d62\u2d53\u2d4f\u2d62\u2d53",
+      "\u2d62\u2d53\u2d4d\u2d62\u2d53\u2d63",
+      "\u2d56\u2d53\u2d5b\u2d5c",
+      "\u2d5b\u2d53\u2d5c\u2d30\u2d4f\u2d31\u2d49\u2d54",
+      "\u2d3d\u2d5c\u2d53\u2d31\u2d54",
+      "\u2d4f\u2d53\u2d61\u2d30\u2d4f\u2d31\u2d49\u2d54",
+      "\u2d37\u2d53\u2d4a\u2d30\u2d4f\u2d31\u2d49\u2d54"
+    ],
+    "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": "dh",
+    "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": "\u00a4",
+        "posPre": "",
+        "posSuf": "\u00a4"
+      }
+    ]
+  },
+  "id": "shi-tfng",
+  "localeID": "shi_Tfng",
+  "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_shi.js
----------------------------------------------------------------------
diff --git a/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_shi.js b/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_shi.js
new file mode 100644
index 0000000..cc1e531
--- /dev/null
+++ b/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_shi.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": [
+      "\u2d5c\u2d49\u2d3c\u2d30\u2d61\u2d5c",
+      "\u2d5c\u2d30\u2d37\u2d33\u2d33\u2d6f\u2d30\u2d5c"
+    ],
+    "DAY": [
+      "\u2d30\u2d59\u2d30\u2d4e\u2d30\u2d59",
+      "\u2d30\u2d62\u2d4f\u2d30\u2d59",
+      "\u2d30\u2d59\u2d49\u2d4f\u2d30\u2d59",
+      "\u2d30\u2d3d\u2d55\u2d30\u2d59",
+      "\u2d30\u2d3d\u2d61\u2d30\u2d59",
+      "\u2d59\u2d49\u2d4e\u2d61\u2d30\u2d59",
+      "\u2d30\u2d59\u2d49\u2d39\u2d62\u2d30\u2d59"
+    ],
+    "ERANAMES": [
+      "\u2d37\u2d30\u2d5c \u2d4f \u2d44\u2d49\u2d59\u2d30",
+      "\u2d37\u2d3c\u2d3c\u2d49\u2d54 \u2d4f \u2d44\u2d49\u2d59\u2d30"
+    ],
+    "ERAS": [
+      "\u2d37\u2d30\u2d44",
+      "\u2d37\u2d3c\u2d44"
+    ],
+    "FIRSTDAYOFWEEK": 0,
+    "MONTH": [
+      "\u2d49\u2d4f\u2d4f\u2d30\u2d62\u2d54",
+      "\u2d31\u2d55\u2d30\u2d62\u2d55",
+      "\u2d4e\u2d30\u2d55\u2d5a",
+      "\u2d49\u2d31\u2d54\u2d49\u2d54",
+      "\u2d4e\u2d30\u2d62\u2d62\u2d53",
+      "\u2d62\u2d53\u2d4f\u2d62\u2d53",
+      "\u2d62\u2d53\u2d4d\u2d62\u2d53\u2d63",
+      "\u2d56\u2d53\u2d5b\u2d5c",
+      "\u2d5b\u2d53\u2d5c\u2d30\u2d4f\u2d31\u2d49\u2d54",
+      "\u2d3d\u2d5c\u2d53\u2d31\u2d54",
+      "\u2d4f\u2d53\u2d61\u2d30\u2d4f\u2d31\u2d49\u2d54",
+      "\u2d37\u2d53\u2d4a\u2d30\u2d4f\u2d31\u2d49\u2d54"
+    ],
+    "SHORTDAY": [
+      "\u2d30\u2d59\u2d30",
+      "\u2d30\u2d62\u2d4f",
+      "\u2d30\u2d59\u2d49",
+      "\u2d30\u2d3d\u2d55",
+      "\u2d30\u2d3d\u2d61",
+      "\u2d30\u2d59\u2d49\u2d4e",
+      "\u2d30\u2d59\u2d49\u2d39"
+    ],
+    "SHORTMONTH": [
+      "\u2d49\u2d4f\u2d4f",
+      "\u2d31\u2d55\u2d30",
+      "\u2d4e\u2d30\u2d55",
+      "\u2d49\u2d31\u2d54",
+      "\u2d4e\u2d30\u2d62",
+      "\u2d62\u2d53\u2d4f",
+      "\u2d62\u2d53\u2d4d",
+      "\u2d56\u2d53\u2d5b",
+      "\u2d5b\u2d53\u2d5c",
+      "\u2d3d\u2d5c\u2d53",
+      "\u2d4f\u2d53\u2d61",
+      "\u2d37\u2d53\u2d4a"
+    ],
+    "STANDALONEMONTH": [
+      "\u2d49\u2d4f\u2d4f\u2d30\u2d62\u2d54",
+      "\u2d31\u2d55\u2d30\u2d62\u2d55",
+      "\u2d4e\u2d30\u2d55\u2d5a",
+      "\u2d49\u2d31\u2d54\u2d49\u2d54",
+      "\u2d4e\u2d30\u2d62\u2d62\u2d53",
+      "\u2d62\u2d53\u2d4f\u2d62\u2d53",
+      "\u2d62\u2d53\u2d4d\u2d62\u2d53\u2d63",
+      "\u2d56\u2d53\u2d5b\u2d5c",
+      "\u2d5b\u2d53\u2d5c\u2d30\u2d4f\u2d31\u2d49\u2d54",
+      "\u2d3d\u2d5c\u2d53\u2d31\u2d54",
+      "\u2d4f\u2d53\u2d61\u2d30\u2d4f\u2d31\u2d49\u2d54",
+      "\u2d37\u2d53\u2d4a\u2d30\u2d4f\u2d31\u2d49\u2d54"
+    ],
+    "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": "dh",
+    "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": "\u00a4",
+        "posPre": "",
+        "posSuf": "\u00a4"
+      }
+    ]
+  },
+  "id": "shi",
+  "localeID": "shi",
+  "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_si-lk.js
----------------------------------------------------------------------
diff --git a/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_si-lk.js b/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_si-lk.js
new file mode 100644
index 0000000..d509323
--- /dev/null
+++ b/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_si-lk.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": [
+      "\u0db4\u0dd9.\u0dc0.",
+      "\u0db4.\u0dc0."
+    ],
+    "DAY": [
+      "\u0d89\u0dbb\u0dd2\u0daf\u0dcf",
+      "\u0dc3\u0db3\u0dd4\u0daf\u0dcf",
+      "\u0d85\u0d9f\u0dc4\u0dbb\u0dd4\u0dc0\u0dcf\u0daf\u0dcf",
+      "\u0db6\u0daf\u0dcf\u0daf\u0dcf",
+      "\u0db6\u0dca\u200d\u0dbb\u0dc4\u0dc3\u0dca\u0db4\u0dad\u0dd2\u0db1\u0dca\u0daf\u0dcf",
+      "\u0dc3\u0dd2\u0d9a\u0dd4\u0dbb\u0dcf\u0daf\u0dcf",
+      "\u0dc3\u0dd9\u0db1\u0dc3\u0dd4\u0dbb\u0dcf\u0daf\u0dcf"
+    ],
+    "ERANAMES": [
+      "\u0d9a\u0dca\u200d\u0dbb\u0dd2\u0dc3\u0dca\u0dad\u0dd4 \u0db4\u0dd6\u0dbb\u0dca\u200d\u0dc0",
+      "\u0d9a\u0dca\u200d\u0dbb\u0dd2\u0dc3\u0dca\u0dad\u0dd4 \u0dc0\u0dbb\u0dca\u200d\u0dc2"
+    ],
+    "ERAS": [
+      "\u0d9a\u0dca\u200d\u0dbb\u0dd2.\u0db4\u0dd6.",
+      "\u0d9a\u0dca\u200d\u0dbb\u0dd2.\u0dc0."
+    ],
+    "FIRSTDAYOFWEEK": 0,
+    "MONTH": [
+      "\u0da2\u0db1\u0dc0\u0dcf\u0dbb\u0dd2",
+      "\u0db4\u0dd9\u0db6\u0dbb\u0dc0\u0dcf\u0dbb\u0dd2",
+      "\u0db8\u0dcf\u0dbb\u0dca\u0dad\u0dd4",
+      "\u0d85\u0db4\u0dca\u200d\u0dbb\u0dda\u0dbd\u0dca",
+      "\u0db8\u0dd0\u0dba\u0dd2",
+      "\u0da2\u0dd6\u0db1\u0dd2",
+      "\u0da2\u0dd6\u0dbd\u0dd2",
+      "\u0d85\u0d9c\u0ddd\u0dc3\u0dca\u0dad\u0dd4",
+      "\u0dc3\u0dd0\u0db4\u0dca\u0dad\u0dd0\u0db8\u0dca\u0db6\u0dbb\u0dca",
+      "\u0d94\u0d9a\u0dca\u0dad\u0ddd\u0db6\u0dbb\u0dca",
+      "\u0db1\u0ddc\u0dc0\u0dd0\u0db8\u0dca\u0db6\u0dbb\u0dca",
+      "\u0daf\u0dd9\u0dc3\u0dd0\u0db8\u0dca\u0db6\u0dbb\u0dca"
+    ],
+    "SHORTDAY": [
+      "\u0d89\u0dbb\u0dd2\u0daf\u0dcf",
+      "\u0dc3\u0db3\u0dd4\u0daf\u0dcf",
+      "\u0d85\u0d9f\u0dc4",
+      "\u0db6\u0daf\u0dcf\u0daf\u0dcf",
+      "\u0db6\u0dca\u200d\u0dbb\u0dc4\u0dc3\u0dca",
+      "\u0dc3\u0dd2\u0d9a\u0dd4",
+      "\u0dc3\u0dd9\u0db1"
+    ],
+    "SHORTMONTH": [
+      "\u0da2\u0db1",
+      "\u0db4\u0dd9\u0db6",
+      "\u0db8\u0dcf\u0dbb\u0dca\u0dad\u0dd4",
+      "\u0d85\u0db4\u0dca\u200d\u0dbb\u0dda\u0dbd\u0dca",
+      "\u0db8\u0dd0\u0dba\u0dd2",
+      "\u0da2\u0dd6\u0db1\u0dd2",
+      "\u0da2\u0dd6\u0dbd\u0dd2",
+      "\u0d85\u0d9c\u0ddd",
+      "\u0dc3\u0dd0\u0db4\u0dca",
+      "\u0d94\u0d9a\u0dca",
+      "\u0db1\u0ddc\u0dc0\u0dd0",
+      "\u0daf\u0dd9\u0dc3\u0dd0"
+    ],
+    "STANDALONEMONTH": [
+      "\u0da2\u0db1\u0dc0\u0dcf\u0dbb\u0dd2",
+      "\u0db4\u0dd9\u0db6\u0dbb\u0dc0\u0dcf\u0dbb\u0dd2",
+      "\u0db8\u0dcf\u0dbb\u0dca\u0dad\u0dd4",
+      "\u0d85\u0db4\u0dca\u200d\u0dbb\u0dda\u0dbd\u0dca",
+      "\u0db8\u0dd0\u0dba\u0dd2",
+      "\u0da2\u0dd6\u0db1\u0dd2",
+      "\u0da2\u0dd6\u0dbd\u0dd2",
+      "\u0d85\u0d9c\u0ddd\u0dc3\u0dca\u0dad\u0dd4",
+      "\u0dc3\u0dd0\u0db4\u0dca\u0dad\u0dd0\u0db8\u0dca\u0db6\u0dbb\u0dca",
+      "\u0d94\u0d9a\u0dca\u0dad\u0ddd\u0db6\u0dbb\u0dca",
+      "\u0db1\u0ddc\u0dc0\u0dd0\u0db8\u0dca\u0db6\u0dbb\u0dca",
+      "\u0daf\u0dd9\u0dc3\u0dd0\u0db8\u0dca\u0db6\u0dbb\u0dca"
+    ],
+    "WEEKENDRANGE": [
+      5,
+      6
+    ],
+    "fullDate": "y MMMM d, EEEE",
+    "longDate": "y MMMM d",
+    "medium": "y MMM d a h.mm.ss",
+    "mediumDate": "y MMM d",
+    "mediumTime": "a h.mm.ss",
+    "short": "y-MM-dd a h.mm",
+    "shortDate": "y-MM-dd",
+    "shortTime": "a h.mm"
+  },
+  "NUMBER_FORMATS": {
+    "CURRENCY_SYM": "Rs",
+    "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": "si-lk",
+  "localeID": "si_LK",
+  "pluralCat": function(n, opt_precision) {  var i = n | 0;  var vf = getVF(n, opt_precision);  if ((n == 0 || n == 1) || i == 0 && vf.f == 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_si.js
----------------------------------------------------------------------
diff --git a/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_si.js b/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_si.js
new file mode 100644
index 0000000..83f5fb5
--- /dev/null
+++ b/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_si.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": [
+      "\u0db4\u0dd9.\u0dc0.",
+      "\u0db4.\u0dc0."
+    ],
+    "DAY": [
+      "\u0d89\u0dbb\u0dd2\u0daf\u0dcf",
+      "\u0dc3\u0db3\u0dd4\u0daf\u0dcf",
+      "\u0d85\u0d9f\u0dc4\u0dbb\u0dd4\u0dc0\u0dcf\u0daf\u0dcf",
+      "\u0db6\u0daf\u0dcf\u0daf\u0dcf",
+      "\u0db6\u0dca\u200d\u0dbb\u0dc4\u0dc3\u0dca\u0db4\u0dad\u0dd2\u0db1\u0dca\u0daf\u0dcf",
+      "\u0dc3\u0dd2\u0d9a\u0dd4\u0dbb\u0dcf\u0daf\u0dcf",
+      "\u0dc3\u0dd9\u0db1\u0dc3\u0dd4\u0dbb\u0dcf\u0daf\u0dcf"
+    ],
+    "ERANAMES": [
+      "\u0d9a\u0dca\u200d\u0dbb\u0dd2\u0dc3\u0dca\u0dad\u0dd4 \u0db4\u0dd6\u0dbb\u0dca\u200d\u0dc0",
+      "\u0d9a\u0dca\u200d\u0dbb\u0dd2\u0dc3\u0dca\u0dad\u0dd4 \u0dc0\u0dbb\u0dca\u200d\u0dc2"
+    ],
+    "ERAS": [
+      "\u0d9a\u0dca\u200d\u0dbb\u0dd2.\u0db4\u0dd6.",
+      "\u0d9a\u0dca\u200d\u0dbb\u0dd2.\u0dc0."
+    ],
+    "FIRSTDAYOFWEEK": 0,
+    "MONTH": [
+      "\u0da2\u0db1\u0dc0\u0dcf\u0dbb\u0dd2",
+      "\u0db4\u0dd9\u0db6\u0dbb\u0dc0\u0dcf\u0dbb\u0dd2",
+      "\u0db8\u0dcf\u0dbb\u0dca\u0dad\u0dd4",
+      "\u0d85\u0db4\u0dca\u200d\u0dbb\u0dda\u0dbd\u0dca",
+      "\u0db8\u0dd0\u0dba\u0dd2",
+      "\u0da2\u0dd6\u0db1\u0dd2",
+      "\u0da2\u0dd6\u0dbd\u0dd2",
+      "\u0d85\u0d9c\u0ddd\u0dc3\u0dca\u0dad\u0dd4",
+      "\u0dc3\u0dd0\u0db4\u0dca\u0dad\u0dd0\u0db8\u0dca\u0db6\u0dbb\u0dca",
+      "\u0d94\u0d9a\u0dca\u0dad\u0ddd\u0db6\u0dbb\u0dca",
+      "\u0db1\u0ddc\u0dc0\u0dd0\u0db8\u0dca\u0db6\u0dbb\u0dca",
+      "\u0daf\u0dd9\u0dc3\u0dd0\u0db8\u0dca\u0db6\u0dbb\u0dca"
+    ],
+    "SHORTDAY": [
+      "\u0d89\u0dbb\u0dd2\u0daf\u0dcf",
+      "\u0dc3\u0db3\u0dd4\u0daf\u0dcf",
+      "\u0d85\u0d9f\u0dc4",
+      "\u0db6\u0daf\u0dcf\u0daf\u0dcf",
+      "\u0db6\u0dca\u200d\u0dbb\u0dc4\u0dc3\u0dca",
+      "\u0dc3\u0dd2\u0d9a\u0dd4",
+      "\u0dc3\u0dd9\u0db1"
+    ],
+    "SHORTMONTH": [
+      "\u0da2\u0db1",
+      "\u0db4\u0dd9\u0db6",
+      "\u0db8\u0dcf\u0dbb\u0dca\u0dad\u0dd4",
+      "\u0d85\u0db4\u0dca\u200d\u0dbb\u0dda\u0dbd\u0dca",
+      "\u0db8\u0dd0\u0dba\u0dd2",
+      "\u0da2\u0dd6\u0db1\u0dd2",
+      "\u0da2\u0dd6\u0dbd\u0dd2",
+      "\u0d85\u0d9c\u0ddd",
+      "\u0dc3\u0dd0\u0db4\u0dca",
+      "\u0d94\u0d9a\u0dca",
+      "\u0db1\u0ddc\u0dc0\u0dd0",
+      "\u0daf\u0dd9\u0dc3\u0dd0"
+    ],
+    "STANDALONEMONTH": [
+      "\u0da2\u0db1\u0dc0\u0dcf\u0dbb\u0dd2",
+      "\u0db4\u0dd9\u0db6\u0dbb\u0dc0\u0dcf\u0dbb\u0dd2",
+      "\u0db8\u0dcf\u0dbb\u0dca\u0dad\u0dd4",
+      "\u0d85\u0db4\u0dca\u200d\u0dbb\u0dda\u0dbd\u0dca",
+      "\u0db8\u0dd0\u0dba\u0dd2",
+      "\u0da2\u0dd6\u0db1\u0dd2",
+      "\u0da2\u0dd6\u0dbd\u0dd2",
+      "\u0d85\u0d9c\u0ddd\u0dc3\u0dca\u0dad\u0dd4",
+      "\u0dc3\u0dd0\u0db4\u0dca\u0dad\u0dd0\u0db8\u0dca\u0db6\u0dbb\u0dca",
+      "\u0d94\u0d9a\u0dca\u0dad\u0ddd\u0db6\u0dbb\u0dca",
+      "\u0db1\u0ddc\u0dc0\u0dd0\u0db8\u0dca\u0db6\u0dbb\u0dca",
+      "\u0daf\u0dd9\u0dc3\u0dd0\u0db8\u0dca\u0db6\u0dbb\u0dca"
+    ],
+    "WEEKENDRANGE": [
+      5,
+      6
+    ],
+    "fullDate": "y MMMM d, EEEE",
+    "longDate": "y MMMM d",
+    "medium": "y MMM d a h.mm.ss",
+    "mediumDate": "y MMM d",
+    "mediumTime": "a h.mm.ss",
+    "short": "y-MM-dd a h.mm",
+    "shortDate": "y-MM-dd",
+    "shortTime": "a h.mm"
+  },
+  "NUMBER_FORMATS": {
+    "CURRENCY_SYM": "Rs",
+    "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": "si",
+  "localeID": "si",
+  "pluralCat": function(n, opt_precision) {  var i = n | 0;  var vf = getVF(n, opt_precision);  if ((n == 0 || n == 1) || i == 0 && vf.f == 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_sk-sk.js
----------------------------------------------------------------------
diff --git a/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_sk-sk.js b/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_sk-sk.js
new file mode 100644
index 0000000..2f5ba5d
--- /dev/null
+++ b/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_sk-sk.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": [
+      "dopoludnia",
+      "odpoludnia"
+    ],
+    "DAY": [
+      "nede\u013ea",
+      "pondelok",
+      "utorok",
+      "streda",
+      "\u0161tvrtok",
+      "piatok",
+      "sobota"
+    ],
+    "ERANAMES": [
+      "pred Kristom",
+      "po Kristovi"
+    ],
+    "ERAS": [
+      "pred Kr.",
+      "po Kr."
+    ],
+    "FIRSTDAYOFWEEK": 0,
+    "MONTH": [
+      "janu\u00e1ra",
+      "febru\u00e1ra",
+      "marca",
+      "apr\u00edla",
+      "m\u00e1ja",
+      "j\u00fana",
+      "j\u00fala",
+      "augusta",
+      "septembra",
+      "okt\u00f3bra",
+      "novembra",
+      "decembra"
+    ],
+    "SHORTDAY": [
+      "ne",
+      "po",
+      "ut",
+      "st",
+      "\u0161t",
+      "pi",
+      "so"
+    ],
+    "SHORTMONTH": [
+      "jan",
+      "feb",
+      "mar",
+      "apr",
+      "m\u00e1j",
+      "j\u00fan",
+      "j\u00fal",
+      "aug",
+      "sep",
+      "okt",
+      "nov",
+      "dec"
+    ],
+    "STANDALONEMONTH": [
+      "janu\u00e1r",
+      "febru\u00e1r",
+      "marec",
+      "apr\u00edl",
+      "m\u00e1j",
+      "j\u00fan",
+      "j\u00fal",
+      "august",
+      "september",
+      "okt\u00f3ber",
+      "november",
+      "december"
+    ],
+    "WEEKENDRANGE": [
+      5,
+      6
+    ],
+    "fullDate": "EEEE, d. MMMM y",
+    "longDate": "d. MMMM y",
+    "medium": "d. M. y H:mm:ss",
+    "mediumDate": "d. M. 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": "sk-sk",
+  "localeID": "sk_SK",
+  "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;  }  if (i >= 2 && i <= 4 && vf.v == 0) {    return PLURAL_CATEGORY.FEW;  }  if (vf.v != 0) {    return PLURAL_CATEGORY.MANY;  }  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_sk.js
----------------------------------------------------------------------
diff --git a/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_sk.js b/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_sk.js
new file mode 100644
index 0000000..aa745cf
--- /dev/null
+++ b/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_sk.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": [
+      "dopoludnia",
+      "odpoludnia"
+    ],
+    "DAY": [
+      "nede\u013ea",
+      "pondelok",
+      "utorok",
+      "streda",
+      "\u0161tvrtok",
+      "piatok",
+      "sobota"
+    ],
+    "ERANAMES": [
+      "pred Kristom",
+      "po Kristovi"
+    ],
+    "ERAS": [
+      "pred Kr.",
+      "po Kr."
+    ],
+    "FIRSTDAYOFWEEK": 0,
+    "MONTH": [
+      "janu\u00e1ra",
+      "febru\u00e1ra",
+      "marca",
+      "apr\u00edla",
+      "m\u00e1ja",
+      "j\u00fana",
+      "j\u00fala",
+      "augusta",
+      "septembra",
+      "okt\u00f3bra",
+      "novembra",
+      "decembra"
+    ],
+    "SHORTDAY": [
+      "ne",
+      "po",
+      "ut",
+      "st",
+      "\u0161t",
+      "pi",
+      "so"
+    ],
+    "SHORTMONTH": [
+      "jan",
+      "feb",
+      "mar",
+      "apr",
+      "m\u00e1j",
+      "j\u00fan",
+      "j\u00fal",
+      "aug",
+      "sep",
+      "okt",
+      "nov",
+      "dec"
+    ],
+    "STANDALONEMONTH": [
+      "janu\u00e1r",
+      "febru\u00e1r",
+      "marec",
+      "apr\u00edl",
+      "m\u00e1j",
+      "j\u00fan",
+      "j\u00fal",
+      "august",
+      "september",
+      "okt\u00f3ber",
+      "november",
+      "december"
+    ],
+    "WEEKENDRANGE": [
+      5,
+      6
+    ],
+    "fullDate": "EEEE, d. MMMM y",
+    "longDate": "d. MMMM y",
+    "medium": "d. M. y H:mm:ss",
+    "mediumDate": "d. M. 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": "sk",
+  "localeID": "sk",
+  "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;  }  if (i >= 2 && i <= 4 && vf.v == 0) {    return PLURAL_CATEGORY.FEW;  }  if (vf.v != 0) {    return PLURAL_CATEGORY.MANY;  }  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_sl-si.js
----------------------------------------------------------------------
diff --git a/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_sl-si.js b/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_sl-si.js
new file mode 100644
index 0000000..6bec18e
--- /dev/null
+++ b/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_sl-si.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": [
+      "dop.",
+      "pop."
+    ],
+    "DAY": [
+      "nedelja",
+      "ponedeljek",
+      "torek",
+      "sreda",
+      "\u010detrtek",
+      "petek",
+      "sobota"
+    ],
+    "ERANAMES": [
+      "pred na\u0161im \u0161tetjem",
+      "na\u0161e \u0161tetje"
+    ],
+    "ERAS": [
+      "pr. n. \u0161t.",
+      "po Kr."
+    ],
+    "FIRSTDAYOFWEEK": 0,
+    "MONTH": [
+      "januar",
+      "februar",
+      "marec",
+      "april",
+      "maj",
+      "junij",
+      "julij",
+      "avgust",
+      "september",
+      "oktober",
+      "november",
+      "december"
+    ],
+    "SHORTDAY": [
+      "ned.",
+      "pon.",
+      "tor.",
+      "sre.",
+      "\u010det.",
+      "pet.",
+      "sob."
+    ],
+    "SHORTMONTH": [
+      "jan.",
+      "feb.",
+      "mar.",
+      "apr.",
+      "maj",
+      "jun.",
+      "jul.",
+      "avg.",
+      "sep.",
+      "okt.",
+      "nov.",
+      "dec."
+    ],
+    "STANDALONEMONTH": [
+      "januar",
+      "februar",
+      "marec",
+      "april",
+      "maj",
+      "junij",
+      "julij",
+      "avgust",
+      "september",
+      "oktober",
+      "november",
+      "december"
+    ],
+    "WEEKENDRANGE": [
+      5,
+      6
+    ],
+    "fullDate": "EEEE, dd. MMMM y",
+    "longDate": "dd. 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": "sl-si",
+  "localeID": "sl_SI",
+  "pluralCat": function(n, opt_precision) {  var i = n | 0;  var vf = getVF(n, opt_precision);  if (vf.v == 0 && i % 100 == 1) {    return PLURAL_CATEGORY.ONE;  }  if (vf.v == 0 && i % 100 == 2) {    return PLURAL_CATEGORY.TWO;  }  if (vf.v == 0 && i % 100 >= 3 && i % 100 <= 4 || vf.v != 0) {    return PLURAL_CATEGORY.FEW;  }  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_sl.js
----------------------------------------------------------------------
diff --git a/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_sl.js b/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_sl.js
new file mode 100644
index 0000000..8155bfc
--- /dev/null
+++ b/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_sl.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": [
+      "dop.",
+      "pop."
+    ],
+    "DAY": [
+      "nedelja",
+      "ponedeljek",
+      "torek",
+      "sreda",
+      "\u010detrtek",
+      "petek",
+      "sobota"
+    ],
+    "ERANAMES": [
+      "pred na\u0161im \u0161tetjem",
+      "na\u0161e \u0161tetje"
+    ],
+    "ERAS": [
+      "pr. n. \u0161t.",
+      "po Kr."
+    ],
+    "FIRSTDAYOFWEEK": 0,
+    "MONTH": [
+      "januar",
+      "februar",
+      "marec",
+      "april",
+      "maj",
+      "junij",
+      "julij",
+      "avgust",
+      "september",
+      "oktober",
+      "november",
+      "december"
+    ],
+    "SHORTDAY": [
+      "ned.",
+      "pon.",
+      "tor.",
+      "sre.",
+      "\u010det.",
+      "pet.",
+      "sob."
+    ],
+    "SHORTMONTH": [
+      "jan.",
+      "feb.",
+      "mar.",
+      "apr.",
+      "maj",
+      "jun.",
+      "jul.",
+      "avg.",
+      "sep.",
+      "okt.",
+      "nov.",
+      "dec."
+    ],
+    "STANDALONEMONTH": [
+      "januar",
+      "februar",
+      "marec",
+      "april",
+      "maj",
+      "junij",
+      "julij",
+      "avgust",
+      "september",
+      "oktober",
+      "november",
+      "december"
+    ],
+    "WEEKENDRANGE": [
+      5,
+      6
+    ],
+    "fullDate": "EEEE, dd. MMMM y",
+    "longDate": "dd. 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": "sl",
+  "localeID": "sl",
+  "pluralCat": function(n, opt_precision) {  var i = n | 0;  var vf = getVF(n, opt_precision);  if (vf.v == 0 && i % 100 == 1) {    return PLURAL_CATEGORY.ONE;  }  if (vf.v == 0 && i % 100 == 2) {    return PLURAL_CATEGORY.TWO;  }  if (vf.v == 0 && i % 100 >= 3 && i % 100 <= 4 || vf.v != 0) {    return PLURAL_CATEGORY.FEW;  }  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_smn-fi.js
----------------------------------------------------------------------
diff --git a/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_smn-fi.js b/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_smn-fi.js
new file mode 100644
index 0000000..912e218
--- /dev/null
+++ b/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_smn-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": [
+      "AM",
+      "PM"
+    ],
+    "DAY": [
+      "pasepeeivi",
+      "vuossaarg\u00e2",
+      "majebaarg\u00e2",
+      "koskoho",
+      "tuor\u00e2stuv",
+      "v\u00e1stuppeeivi",
+      "l\u00e1vurduv"
+    ],
+    "ERANAMES": [
+      "BCE",
+      "CE"
+    ],
+    "ERAS": [
+      "BCE",
+      "CE"
+    ],
+    "FIRSTDAYOFWEEK": 0,
+    "MONTH": [
+      "M01",
+      "M02",
+      "M03",
+      "M04",
+      "M05",
+      "M06",
+      "M07",
+      "M08",
+      "M09",
+      "M10",
+      "M11",
+      "M12"
+    ],
+    "SHORTDAY": [
+      "pa",
+      "vu",
+      "ma",
+      "ko",
+      "tu",
+      "v\u00e1",
+      "l\u00e1"
+    ],
+    "SHORTMONTH": [
+      "M01",
+      "M02",
+      "M03",
+      "M04",
+      "M05",
+      "M06",
+      "M07",
+      "M08",
+      "M09",
+      "M10",
+      "M11",
+      "M12"
+    ],
+    "STANDALONEMONTH": [
+      "u\u0111\u0111\u00e2ivem\u00e1\u00e1nu",
+      "kuov\u00e2m\u00e1\u00e1nu",
+      "njuh\u010d\u00e2m\u00e1\u00e1nu",
+      "cu\u00e1\u014buim\u00e1\u00e1nu",
+      "vyesim\u00e1\u00e1nu",
+      "kesim\u00e1\u00e1nu",
+      "syeinim\u00e1\u00e1nu",
+      "porgem\u00e1\u00e1nu",
+      "\u010doh\u010d\u00e2m\u00e1\u00e1nu",
+      "roovv\u00e2dm\u00e1\u00e1nu",
+      "skamm\u00e2m\u00e1\u00e1nu",
+      "juovl\u00e2m\u00e1\u00e1nu"
+    ],
+    "WEEKENDRANGE": [
+      5,
+      6
+    ],
+    "fullDate": "y MMMM d, EEEE",
+    "longDate": "y 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": "-\u00a4\u00a0",
+        "negSuf": "",
+        "posPre": "\u00a4\u00a0",
+        "posSuf": ""
+      }
+    ]
+  },
+  "id": "smn-fi",
+  "localeID": "smn_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_smn.js
----------------------------------------------------------------------
diff --git a/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_smn.js b/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_smn.js
new file mode 100644
index 0000000..c7cba3c
--- /dev/null
+++ b/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_smn.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": [
+      "pasepeeivi",
+      "vuossaarg\u00e2",
+      "majebaarg\u00e2",
+      "koskoho",
+      "tuor\u00e2stuv",
+      "v\u00e1stuppeeivi",
+      "l\u00e1vurduv"
+    ],
+    "ERANAMES": [
+      "BCE",
+      "CE"
+    ],
+    "ERAS": [
+      "BCE",
+      "CE"
+    ],
+    "FIRSTDAYOFWEEK": 0,
+    "MONTH": [
+      "M01",
+      "M02",
+      "M03",
+      "M04",
+      "M05",
+      "M06",
+      "M07",
+      "M08",
+      "M09",
+      "M10",
+      "M11",
+      "M12"
+    ],
+    "SHORTDAY": [
+      "pa",
+      "vu",
+      "ma",
+      "ko",
+      "tu",
+      "v\u00e1",
+      "l\u00e1"
+    ],
+    "SHORTMONTH": [
+      "M01",
+      "M02",
+      "M03",
+      "M04",
+      "M05",
+      "M06",
+      "M07",
+      "M08",
+      "M09",
+      "M10",
+      "M11",
+      "M12"
+    ],
+    "STANDALONEMONTH": [
+      "u\u0111\u0111\u00e2ivem\u00e1\u00e1nu",
+      "kuov\u00e2m\u00e1\u00e1nu",
+      "njuh\u010d\u00e2m\u00e1\u00e1nu",
+      "cu\u00e1\u014buim\u00e1\u00e1nu",
+      "vyesim\u00e1\u00e1nu",
+      "kesim\u00e1\u00e1nu",
+      "syeinim\u00e1\u00e1nu",
+      "porgem\u00e1\u00e1nu",
+      "\u010doh\u010d\u00e2m\u00e1\u00e1nu",
+      "roovv\u00e2dm\u00e1\u00e1nu",
+      "skamm\u00e2m\u00e1\u00e1nu",
+      "juovl\u00e2m\u00e1\u00e1nu"
+    ],
+    "WEEKENDRANGE": [
+      5,
+      6
+    ],
+    "fullDate": "y MMMM d, EEEE",
+    "longDate": "y 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": "-\u00a4\u00a0",
+        "negSuf": "",
+        "posPre": "\u00a4\u00a0",
+        "posSuf": ""
+      }
+    ]
+  },
+  "id": "smn",
+  "localeID": "smn",
+  "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_sn-zw.js
----------------------------------------------------------------------
diff --git a/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_sn-zw.js b/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_sn-zw.js
new file mode 100644
index 0000000..6a80289
--- /dev/null
+++ b/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_sn-zw.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": [
+      "Svondo",
+      "Muvhuro",
+      "Chipiri",
+      "Chitatu",
+      "China",
+      "Chishanu",
+      "Mugovera"
+    ],
+    "ERANAMES": [
+      "Kristo asati auya",
+      "Kristo ashaya"
+    ],
+    "ERAS": [
+      "BC",
+      "AD"
+    ],
+    "FIRSTDAYOFWEEK": 6,
+    "MONTH": [
+      "Ndira",
+      "Kukadzi",
+      "Kurume",
+      "Kubvumbi",
+      "Chivabvu",
+      "Chikumi",
+      "Chikunguru",
+      "Nyamavhuvhu",
+      "Gunyana",
+      "Gumiguru",
+      "Mbudzi",
+      "Zvita"
+    ],
+    "SHORTDAY": [
+      "Svo",
+      "Muv",
+      "Chip",
+      "Chit",
+      "Chin",
+      "Chis",
+      "Mug"
+    ],
+    "SHORTMONTH": [
+      "Ndi",
+      "Kuk",
+      "Kur",
+      "Kub",
+      "Chv",
+      "Chk",
+      "Chg",
+      "Nya",
+      "Gun",
+      "Gum",
+      "Mb",
+      "Zvi"
+    ],
+    "STANDALONEMONTH": [
+      "Ndira",
+      "Kukadzi",
+      "Kurume",
+      "Kubvumbi",
+      "Chivabvu",
+      "Chikumi",
+      "Chikunguru",
+      "Nyamavhuvhu",
+      "Gunyana",
+      "Gumiguru",
+      "Mbudzi",
+      "Zvita"
+    ],
+    "WEEKENDRANGE": [
+      5,
+      6
+    ],
+    "fullDate": "EEEE, d MMMM y",
+    "longDate": "d MMMM y",
+    "medium": "d MMM y h:mm:ss a",
+    "mediumDate": "d MMM y",
+    "mediumTime": "h:mm:ss a",
+    "short": "dd/MM/y h:mm a",
+    "shortDate": "dd/MM/y",
+    "shortTime": "h:mm a"
+  },
+  "NUMBER_FORMATS": {
+    "CURRENCY_SYM": "$",
+    "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": "sn-zw",
+  "localeID": "sn_ZW",
+  "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_sn.js
----------------------------------------------------------------------
diff --git a/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_sn.js b/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_sn.js
new file mode 100644
index 0000000..96f0168
--- /dev/null
+++ b/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_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": [
+      "AM",
+      "PM"
+    ],
+    "DAY": [
+      "Svondo",
+      "Muvhuro",
+      "Chipiri",
+      "Chitatu",
+      "China",
+      "Chishanu",
+      "Mugovera"
+    ],
+    "ERANAMES": [
+      "Kristo asati auya",
+      "Kristo ashaya"
+    ],
+    "ERAS": [
+      "BC",
+      "AD"
+    ],
+    "FIRSTDAYOFWEEK": 6,
+    "MONTH": [
+      "Ndira",
+      "Kukadzi",
+      "Kurume",
+      "Kubvumbi",
+      "Chivabvu",
+      "Chikumi",
+      "Chikunguru",
+      "Nyamavhuvhu",
+      "Gunyana",
+      "Gumiguru",
+      "Mbudzi",
+      "Zvita"
+    ],
+    "SHORTDAY": [
+      "Svo",
+      "Muv",
+      "Chip",
+      "Chit",
+      "Chin",
+      "Chis",
+      "Mug"
+    ],
+    "SHORTMONTH": [
+      "Ndi",
+      "Kuk",
+      "Kur",
+      "Kub",
+      "Chv",
+      "Chk",
+      "Chg",
+      "Nya",
+      "Gun",
+      "Gum",
+      "Mb",
+      "Zvi"
+    ],
+    "STANDALONEMONTH": [
+      "Ndira",
+      "Kukadzi",
+      "Kurume",
+      "Kubvumbi",
+      "Chivabvu",
+      "Chikumi",
+      "Chikunguru",
+      "Nyamavhuvhu",
+      "Gunyana",
+      "Gumiguru",
+      "Mbudzi",
+      "Zvita"
+    ],
+    "WEEKENDRANGE": [
+      5,
+      6
+    ],
+    "fullDate": "EEEE, d MMMM y",
+    "longDate": "d MMMM y",
+    "medium": "d MMM y h:mm:ss a",
+    "mediumDate": "d MMM y",
+    "mediumTime": "h:mm:ss a",
+    "short": "dd/MM/y h:mm a",
+    "shortDate": "dd/MM/y",
+    "shortTime": "h:mm a"
+  },
+  "NUMBER_FORMATS": {
+    "CURRENCY_SYM": "$",
+    "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": "sn",
+  "localeID": "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_so-dj.js
----------------------------------------------------------------------
diff --git a/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_so-dj.js b/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_so-dj.js
new file mode 100644
index 0000000..bc58c00
--- /dev/null
+++ b/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_so-dj.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": [
+      "sn.",
+      "gn."
+    ],
+    "DAY": [
+      "Axad",
+      "Isniin",
+      "Talaado",
+      "Arbaco",
+      "Khamiis",
+      "Jimco",
+      "Sabti"
+    ],
+    "ERANAMES": [
+      "Ciise ka hor (CS)",
+      "Ciise ka dib (CS)"
+    ],
+    "ERAS": [
+      "CK",
+      "CD"
+    ],
+    "FIRSTDAYOFWEEK": 0,
+    "MONTH": [
+      "Bisha Koobaad",
+      "Bisha Labaad",
+      "Bisha Saddexaad",
+      "Bisha Afraad",
+      "Bisha Shanaad",
+      "Bisha Lixaad",
+      "Bisha Todobaad",
+      "Bisha Sideedaad",
+      "Bisha Sagaalaad",
+      "Bisha Tobnaad",
+      "Bisha Kow iyo Tobnaad",
+      "Bisha Laba iyo Tobnaad"
+    ],
+    "SHORTDAY": [
+      "Axd",
+      "Isn",
+      "Tal",
+      "Arb",
+      "Kha",
+      "Jim",
+      "Sab"
+    ],
+    "SHORTMONTH": [
+      "Kob",
+      "Lab",
+      "Sad",
+      "Afr",
+      "Sha",
+      "Lix",
+      "Tod",
+      "Sid",
+      "Sag",
+      "Tob",
+      "KIT",
+      "LIT"
+    ],
+    "STANDALONEMONTH": [
+      "Bisha Koobaad",
+      "Bisha Labaad",
+      "Bisha Saddexaad",
+      "Bisha Afraad",
+      "Bisha Shanaad",
+      "Bisha Lixaad",
+      "Bisha Todobaad",
+      "Bisha Sideedaad",
+      "Bisha Sagaalaad",
+      "Bisha Tobnaad",
+      "Bisha Kow iyo Tobnaad",
+      "Bisha Laba iyo Tobnaad"
+    ],
+    "WEEKENDRANGE": [
+      5,
+      6
+    ],
+    "fullDate": "EEEE, MMMM dd, y",
+    "longDate": "dd MMMM y",
+    "medium": "dd-MMM-y h:mm:ss a",
+    "mediumDate": "dd-MMM-y",
+    "mediumTime": "h:mm:ss a",
+    "short": "dd/MM/yy h:mm a",
+    "shortDate": "dd/MM/yy",
+    "shortTime": "h:mm a"
+  },
+  "NUMBER_FORMATS": {
+    "CURRENCY_SYM": "Fdj",
+    "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": "so-dj",
+  "localeID": "so_DJ",
+  "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_so-et.js
----------------------------------------------------------------------
diff --git a/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_so-et.js b/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_so-et.js
new file mode 100644
index 0000000..98b5e4d
--- /dev/null
+++ b/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_so-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": [
+      "sn.",
+      "gn."
+    ],
+    "DAY": [
+      "Axad",
+      "Isniin",
+      "Talaado",
+      "Arbaco",
+      "Khamiis",
+      "Jimco",
+      "Sabti"
+    ],
+    "ERANAMES": [
+      "Ciise ka hor (CS)",
+      "Ciise ka dib (CS)"
+    ],
+    "ERAS": [
+      "CK",
+      "CD"
+    ],
+    "FIRSTDAYOFWEEK": 0,
+    "MONTH": [
+      "Bisha Koobaad",
+      "Bisha Labaad",
+      "Bisha Saddexaad",
+      "Bisha Afraad",
+      "Bisha Shanaad",
+      "Bisha Lixaad",
+      "Bisha Todobaad",
+      "Bisha Sideedaad",
+      "Bisha Sagaalaad",
+      "Bisha Tobnaad",
+      "Bisha Kow iyo Tobnaad",
+      "Bisha Laba iyo Tobnaad"
+    ],
+    "SHORTDAY": [
+      "Axd",
+      "Isn",
+      "Tal",
+      "Arb",
+      "Kha",
+      "Jim",
+      "Sab"
+    ],
+    "SHORTMONTH": [
+      "Kob",
+      "Lab",
+      "Sad",
+      "Afr",
+      "Sha",
+      "Lix",
+      "Tod",
+      "Sid",
+      "Sag",
+      "Tob",
+      "KIT",
+      "LIT"
+    ],
+    "STANDALONEMONTH": [
+      "Bisha Koobaad",
+      "Bisha Labaad",
+      "Bisha Saddexaad",
+      "Bisha Afraad",
+      "Bisha Shanaad",
+      "Bisha Lixaad",
+      "Bisha Todobaad",
+      "Bisha Sideedaad",
+      "Bisha Sagaalaad",
+      "Bisha Tobnaad",
+      "Bisha Kow iyo Tobnaad",
+      "Bisha Laba iyo Tobnaad"
+    ],
+    "WEEKENDRANGE": [
+      5,
+      6
+    ],
+    "fullDate": "EEEE, MMMM dd, y",
+    "longDate": "dd MMMM y",
+    "medium": "dd-MMM-y h:mm:ss a",
+    "mediumDate": "dd-MMM-y",
+    "mediumTime": "h:mm:ss a",
+    "short": "dd/MM/yy h:mm a",
+    "shortDate": "dd/MM/yy",
+    "shortTime": "h:mm a"
+  },
+  "NUMBER_FORMATS": {
+    "CURRENCY_SYM": "Birr",
+    "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": "so-et",
+  "localeID": "so_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_so-ke.js
----------------------------------------------------------------------
diff --git a/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_so-ke.js b/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_so-ke.js
new file mode 100644
index 0000000..55b8838
--- /dev/null
+++ b/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_so-ke.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": [
+      "sn.",
+      "gn."
+    ],
+    "DAY": [
+      "Axad",
+      "Isniin",
+      "Talaado",
+      "Arbaco",
+      "Khamiis",
+      "Jimco",
+      "Sabti"
+    ],
+    "ERANAMES": [
+      "Ciise ka hor (CS)",
+      "Ciise ka dib (CS)"
+    ],
+    "ERAS": [
+      "CK",
+      "CD"
+    ],
+    "FIRSTDAYOFWEEK": 0,
+    "MONTH": [
+      "Bisha Koobaad",
+      "Bisha Labaad",
+      "Bisha Saddexaad",
+      "Bisha Afraad",
+      "Bisha Shanaad",
+      "Bisha Lixaad",
+      "Bisha Todobaad",
+      "Bisha Sideedaad",
+      "Bisha Sagaalaad",
+      "Bisha Tobnaad",
+      "Bisha Kow iyo Tobnaad",
+      "Bisha Laba iyo Tobnaad"
+    ],
+    "SHORTDAY": [
+      "Axd",
+      "Isn",
+      "Tal",
+      "Arb",
+      "Kha",
+      "Jim",
+      "Sab"
+    ],
+    "SHORTMONTH": [
+      "Kob",
+      "Lab",
+      "Sad",
+      "Afr",
+      "Sha",
+      "Lix",
+      "Tod",
+      "Sid",
+      "Sag",
+      "Tob",
+      "KIT",
+      "LIT"
+    ],
+    "STANDALONEMONTH": [
+      "Bisha Koobaad",
+      "Bisha Labaad",
+      "Bisha Saddexaad",
+      "Bisha Afraad",
+      "Bisha Shanaad",
+      "Bisha Lixaad",
+      "Bisha Todobaad",
+      "Bisha Sideedaad",
+      "Bisha Sagaalaad",
+      "Bisha Tobnaad",
+      "Bisha Kow iyo Tobnaad",
+      "Bisha Laba iyo Tobnaad"
+    ],
+    "WEEKENDRANGE": [
+      5,
+      6
+    ],
+    "fullDate": "EEEE, MMMM dd, y",
+    "longDate": "dd MMMM y",
+    "medium": "dd-MMM-y h:mm:ss a",
+    "mediumDate": "dd-MMM-y",
+    "mediumTime": "h:mm:ss a",
+    "short": "dd/MM/yy h:mm a",
+    "shortDate": "dd/MM/yy",
+    "shortTime": "h:mm a"
+  },
+  "NUMBER_FORMATS": {
+    "CURRENCY_SYM": "Ksh",
+    "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": "so-ke",
+  "localeID": "so_KE",
+  "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_so-so.js
----------------------------------------------------------------------
diff --git a/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_so-so.js b/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_so-so.js
new file mode 100644
index 0000000..3278429
--- /dev/null
+++ b/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_so-so.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": [
+      "sn.",
+      "gn."
+    ],
+    "DAY": [
+      "Axad",
+      "Isniin",
+      "Talaado",
+      "Arbaco",
+      "Khamiis",
+      "Jimco",
+      "Sabti"
+    ],
+    "ERANAMES": [
+      "Ciise ka hor (CS)",
+      "Ciise ka dib (CS)"
+    ],
+    "ERAS": [
+      "CK",
+      "CD"
+    ],
+    "FIRSTDAYOFWEEK": 0,
+    "MONTH": [
+      "Bisha Koobaad",
+      "Bisha Labaad",
+      "Bisha Saddexaad",
+      "Bisha Afraad",
+      "Bisha Shanaad",
+      "Bisha Lixaad",
+      "Bisha Todobaad",
+      "Bisha Sideedaad",
+      "Bisha Sagaalaad",
+      "Bisha Tobnaad",
+      "Bisha Kow iyo Tobnaad",
+      "Bisha Laba iyo Tobnaad"
+    ],
+    "SHORTDAY": [
+      "Axd",
+      "Isn",
+      "Tal",
+      "Arb",
+      "Kha",
+      "Jim",
+      "Sab"
+    ],
+    "SHORTMONTH": [
+      "Kob",
+      "Lab",
+      "Sad",
+      "Afr",
+      "Sha",
+      "Lix",
+      "Tod",
+      "Sid",
+      "Sag",
+      "Tob",
+      "KIT",
+      "LIT"
+    ],
+    "STANDALONEMONTH": [
+      "Bisha Koobaad",
+      "Bisha Labaad",
+      "Bisha Saddexaad",
+      "Bisha Afraad",
+      "Bisha Shanaad",
+      "Bisha Lixaad",
+      "Bisha Todobaad",
+      "Bisha Sideedaad",
+      "Bisha Sagaalaad",
+      "Bisha Tobnaad",
+      "Bisha Kow iyo Tobnaad",
+      "Bisha Laba iyo Tobnaad"
+    ],
+    "WEEKENDRANGE": [
+      5,
+      6
+    ],
+    "fullDate": "EEEE, MMMM dd, y",
+    "longDate": "dd MMMM y",
+    "medium": "dd-MMM-y h:mm:ss a",
+    "mediumDate": "dd-MMM-y",
+    "mediumTime": "h:mm:ss a",
+    "short": "dd/MM/yy h:mm a",
+    "shortDate": "dd/MM/yy",
+    "shortTime": "h:mm a"
+  },
+  "NUMBER_FORMATS": {
+    "CURRENCY_SYM": "SOS",
+    "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": "so-so",
+  "localeID": "so_SO",
+  "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_so.js
----------------------------------------------------------------------
diff --git a/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_so.js b/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_so.js
new file mode 100644
index 0000000..33068e3
--- /dev/null
+++ b/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_so.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": [
+      "sn.",
+      "gn."
+    ],
+    "DAY": [
+      "Axad",
+      "Isniin",
+      "Talaado",
+      "Arbaco",
+      "Khamiis",
+      "Jimco",
+      "Sabti"
+    ],
+    "ERANAMES": [
+      "Ciise ka hor (CS)",
+      "Ciise ka dib (CS)"
+    ],
+    "ERAS": [
+      "CK",
+      "CD"
+    ],
+    "FIRSTDAYOFWEEK": 0,
+    "MONTH": [
+      "Bisha Koobaad",
+      "Bisha Labaad",
+      "Bisha Saddexaad",
+      "Bisha Afraad",
+      "Bisha Shanaad",
+      "Bisha Lixaad",
+      "Bisha Todobaad",
+      "Bisha Sideedaad",
+      "Bisha Sagaalaad",
+      "Bisha Tobnaad",
+      "Bisha Kow iyo Tobnaad",
+      "Bisha Laba iyo Tobnaad"
+    ],
+    "SHORTDAY": [
+      "Axd",
+      "Isn",
+      "Tal",
+      "Arb",
+      "Kha",
+      "Jim",
+      "Sab"
+    ],
+    "SHORTMONTH": [
+      "Kob",
+      "Lab",
+      "Sad",
+      "Afr",
+      "Sha",
+      "Lix",
+      "Tod",
+      "Sid",
+      "Sag",
+      "Tob",
+      "KIT",
+      "LIT"
+    ],
+    "STANDALONEMONTH": [
+      "Bisha Koobaad",
+      "Bisha Labaad",
+      "Bisha Saddexaad",
+      "Bisha Afraad",
+      "Bisha Shanaad",
+      "Bisha Lixaad",
+      "Bisha Todobaad",
+      "Bisha Sideedaad",
+      "Bisha Sagaalaad",
+      "Bisha Tobnaad",
+      "Bisha Kow iyo Tobnaad",
+      "Bisha Laba iyo Tobnaad"
+    ],
+    "WEEKENDRANGE": [
+      5,
+      6
+    ],
+    "fullDate": "EEEE, MMMM dd, y",
+    "longDate": "dd MMMM y",
+    "medium": "dd-MMM-y h:mm:ss a",
+    "mediumDate": "dd-MMM-y",
+    "mediumTime": "h:mm:ss a",
+    "short": "dd/MM/yy h:mm a",
+    "shortDate": "dd/MM/yy",
+    "shortTime": "h:mm a"
+  },
+  "NUMBER_FORMATS": {
+    "CURRENCY_SYM": "SOS",
+    "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": "so",
+  "localeID": "so",
+  "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_sq-al.js
----------------------------------------------------------------------
diff --git a/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_sq-al.js b/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_sq-al.js
new file mode 100644
index 0000000..d72e4dd
--- /dev/null
+++ b/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_sq-al.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": [
+      "paradite",
+      "pasdite"
+    ],
+    "DAY": [
+      "e diel",
+      "e h\u00ebn\u00eb",
+      "e mart\u00eb",
+      "e m\u00ebrkur\u00eb",
+      "e enjte",
+      "e premte",
+      "e shtun\u00eb"
+    ],
+    "ERANAMES": [
+      "para er\u00ebs s\u00eb re",
+      "er\u00ebs s\u00eb re"
+    ],
+    "ERAS": [
+      "p.e.r.",
+      "e.r."
+    ],
+    "FIRSTDAYOFWEEK": 0,
+    "MONTH": [
+      "janar",
+      "shkurt",
+      "mars",
+      "prill",
+      "maj",
+      "qershor",
+      "korrik",
+      "gusht",
+      "shtator",
+      "tetor",
+      "n\u00ebntor",
+      "dhjetor"
+    ],
+    "SHORTDAY": [
+      "Die",
+      "H\u00ebn",
+      "Mar",
+      "M\u00ebr",
+      "Enj",
+      "Pre",
+      "Sht"
+    ],
+    "SHORTMONTH": [
+      "Jan",
+      "Shk",
+      "Mar",
+      "Pri",
+      "Maj",
+      "Qer",
+      "Kor",
+      "Gsh",
+      "Sht",
+      "Tet",
+      "N\u00ebn",
+      "Dhj"
+    ],
+    "STANDALONEMONTH": [
+      "Janar",
+      "Shkurt",
+      "Mars",
+      "Prill",
+      "Maj",
+      "Qershor",
+      "Korrik",
+      "Gusht",
+      "Shtator",
+      "Tetor",
+      "N\u00ebntor",
+      "Dhjetor"
+    ],
+    "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.yy HH:mm",
+    "shortDate": "d.M.yy",
+    "shortTime": "HH:mm"
+  },
+  "NUMBER_FORMATS": {
+    "CURRENCY_SYM": "Lek",
+    "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": "sq-al",
+  "localeID": "sq_AL",
+  "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_sq-mk.js
----------------------------------------------------------------------
diff --git a/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_sq-mk.js b/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_sq-mk.js
new file mode 100644
index 0000000..c7cb626
--- /dev/null
+++ b/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_sq-mk.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": [
+      "paradite",
+      "pasdite"
+    ],
+    "DAY": [
+      "e diel",
+      "e h\u00ebn\u00eb",
+      "e mart\u00eb",
+      "e m\u00ebrkur\u00eb",
+      "e enjte",
+      "e premte",
+      "e shtun\u00eb"
+    ],
+    "ERANAMES": [
+      "para er\u00ebs s\u00eb re",
+      "er\u00ebs s\u00eb re"
+    ],
+    "ERAS": [
+      "p.e.r.",
+      "e.r."
+    ],
+    "FIRSTDAYOFWEEK": 0,
+    "MONTH": [
+      "janar",
+      "shkurt",
+      "mars",
+      "prill",
+      "maj",
+      "qershor",
+      "korrik",
+      "gusht",
+      "shtator",
+      "tetor",
+      "n\u00ebntor",
+      "dhjetor"
+    ],
+    "SHORTDAY": [
+      "Die",
+      "H\u00ebn",
+      "Mar",
+      "M\u00ebr",
+      "Enj",
+      "Pre",
+      "Sht"
+    ],
+    "SHORTMONTH": [
+      "Jan",
+      "Shk",
+      "Mar",
+      "Pri",
+      "Maj",
+      "Qer",
+      "Kor",
+      "Gsh",
+      "Sht",
+      "Tet",
+      "N\u00ebn",
+      "Dhj"
+    ],
+    "STANDALONEMONTH": [
+      "Janar",
+      "Shkurt",
+      "Mars",
+      "Prill",
+      "Maj",
+      "Qershor",
+      "Korrik",
+      "Gusht",
+      "Shtator",
+      "Tetor",
+      "N\u00ebntor",
+      "Dhjetor"
+    ],
+    "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.yy HH:mm",
+    "shortDate": "d.M.yy",
+    "shortTime": "HH:mm"
+  },
+  "NUMBER_FORMATS": {
+    "CURRENCY_SYM": "din",
+    "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": "sq-mk",
+  "localeID": "sq_MK",
+  "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_sq-xk.js
----------------------------------------------------------------------
diff --git a/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_sq-xk.js b/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_sq-xk.js
new file mode 100644
index 0000000..5b5e0c5
--- /dev/null
+++ b/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_sq-xk.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": [
+      "paradite",
+      "pasdite"
+    ],
+    "DAY": [
+      "e diel",
+      "e h\u00ebn\u00eb",
+      "e mart\u00eb",
+      "e m\u00ebrkur\u00eb",
+      "e enjte",
+      "e premte",
+      "e shtun\u00eb"
+    ],
+    "ERANAMES": [
+      "para er\u00ebs s\u00eb re",
+      "er\u00ebs s\u00eb re"
+    ],
+    "ERAS": [
+      "p.e.r.",
+      "e.r."
+    ],
+    "FIRSTDAYOFWEEK": 0,
+    "MONTH": [
+      "janar",
+      "shkurt",
+      "mars",
+      "prill",
+      "maj",
+      "qershor",
+      "korrik",
+      "gusht",
+      "shtator",
+      "tetor",
+      "n\u00ebntor",
+      "dhjetor"
+    ],
+    "SHORTDAY": [
+      "Die",
+      "H\u00ebn",
+      "Mar",
+      "M\u00ebr",
+      "Enj",
+      "Pre",
+      "Sht"
+    ],
+    "SHORTMONTH": [
+      "Jan",
+      "Shk",
+      "Mar",
+      "Pri",
+      "Maj",
+      "Qer",
+      "Kor",
+      "Gsh",
+      "Sht",
+      "Tet",
+      "N\u00ebn",
+      "Dhj"
+    ],
+    "STANDALONEMONTH": [
+      "Janar",
+      "Shkurt",
+      "Mars",
+      "Prill",
+      "Maj",
+      "Qershor",
+      "Korrik",
+      "Gusht",
+      "Shtator",
+      "Tetor",
+      "N\u00ebntor",
+      "Dhjetor"
+    ],
+    "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.yy HH:mm",
+    "shortDate": "d.M.yy",
+    "shortTime": "HH: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": "sq-xk",
+  "localeID": "sq_XK",
+  "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_sq.js
----------------------------------------------------------------------
diff --git a/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_sq.js b/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_sq.js
new file mode 100644
index 0000000..c39b126
--- /dev/null
+++ b/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_sq.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": [
+      "paradite",
+      "pasdite"
+    ],
+    "DAY": [
+      "e diel",
+      "e h\u00ebn\u00eb",
+      "e mart\u00eb",
+      "e m\u00ebrkur\u00eb",
+      "e enjte",
+      "e premte",
+      "e shtun\u00eb"
+    ],
+    "ERANAMES": [
+      "para er\u00ebs s\u00eb re",
+      "er\u00ebs s\u00eb re"
+    ],
+    "ERAS": [
+      "p.e.r.",
+      "e.r."
+    ],
+    "FIRSTDAYOFWEEK": 0,
+    "MONTH": [
+      "janar",
+      "shkurt",
+      "mars",
+      "prill",
+      "maj",
+      "qershor",
+      "korrik",
+      "gusht",
+      "shtator",
+      "tetor",
+      "n\u00ebntor",
+      "dhjetor"
+    ],
+    "SHORTDAY": [
+      "Die",
+      "H\u00ebn",
+      "Mar",
+      "M\u00ebr",
+      "Enj",
+      "Pre",
+      "Sht"
+    ],
+    "SHORTMONTH": [
+      "Jan",
+      "Shk",
+      "Mar",
+      "Pri",
+      "Maj",
+      "Qer",
+      "Kor",
+      "Gsh",
+      "Sht",
+      "Tet",
+      "N\u00ebn",
+      "Dhj"
+    ],
+    "STANDALONEMONTH": [
+      "Janar",
+      "Shkurt",
+      "Mars",
+      "Prill",
+      "Maj",
+      "Qershor",
+      "Korrik",
+      "Gusht",
+      "Shtator",
+      "Tetor",
+      "N\u00ebntor",
+      "Dhjetor"
+    ],
+    "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.yy HH:mm",
+    "shortDate": "d.M.yy",
+    "shortTime": "HH:mm"
+  },
+  "NUMBER_FORMATS": {
+    "CURRENCY_SYM": "Lek",
+    "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": "sq",
+  "localeID": "sq",
+  "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_sr-cyrl-ba.js
----------------------------------------------------------------------
diff --git a/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_sr-cyrl-ba.js b/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_sr-cyrl-ba.js
new file mode 100644
index 0000000..9db5486
--- /dev/null
+++ b/struts2-archetype-angularjs/src/main/resources/archetype-resources/src/main/webapp/js/lib/angular/i18n/angular-locale_sr-cyrl-ba.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": [
+      "\u043f\u0440\u0435 \u043f\u043e\u0434\u043d\u0435",
+      "\u043f\u043e \u043f\u043e\u0434\u043d\u0435"
+    ],
+    "DAY": [
+      "\u043d\u0435\u0434\u0435\u0459\u0430",
+      "\u043f\u043e\u043d\u0435\u0434\u0435\u0459\u0430\u043a",
+      "\u0443\u0442\u043e\u0440\u0430\u043a",
+      "\u0441\u0440\u0435\u0434\u0430",
+      "\u0447\u0435\u0442\u0432\u0440\u0442\u0430\u043a",
+      "\u043f\u0435\u0442\u0430\u043a",
+      "\u0441\u0443\u0431\u043e\u0442\u0430"
+    ],
+    "ERANAMES": [
+      "\u041f\u0440\u0435 \u043d\u043e\u0432\u0435 \u0435\u0440\u0435",
+      "\u041d\u043e\u0432\u0435 \u0435\u0440\u0435"
+    ],
+    "ERAS": [
+      "\u043f. \u043d. \u0435.",
+      "\u043d. \u0435."
+    ],
+    "FIRSTDAYOFWEEK": 0,
+    "MONTH": [
+      "\u0458\u0430\u043d\u0443\u0430\u0440",
+      "\u0444\u0435\u0431\u0440\u0443\u0430\u0440",
+      "\u043c\u0430\u0440\u0442",
+      "\u0430\u043f\u0440\u0438\u043b",
+      "\u043c\u0430\u0458",
+      "\u0458\u0443\u043d",
+      "\u0458\u0443\u043b",
+      "\u0430\u0432\u0433\u0443\u0441\u0442",
+      "\u0441\u0435\u043f\u0442\u0435\u043c\u0431\u0430\u0440",
+      "\u043e\u043a\u0442\u043e\u0431\u0430\u0440",
+      "\u043d\u043e\u0432\u0435\u043c\u0431\u0430\u0440",
+      "\u0434\u0435\u0446\u0435\u043c\u0431\u0430\u0440"
+    ],
+    "SHORTDAY": [
+      "\u043d\u0435\u0434",
+      "\u043f\u043e\u043d",
+      "\u0443\u0442\u043e",
+      "\u0441\u0440\u0435",
+      "\u0447\u0435\u0442",
+      "\u043f\u0435\u0442",
+      "\u0441\u0443\u0431"
+    ],
+    "SHORTMONTH": [
+      "\u0458\u0430\u043d",
+      "\u0444\u0435\u0431",
+      "\u043c\u0430\u0440",
+      "\u0430\u043f\u0440",
+      "\u043c\u0430\u0458",
+      "\u0458\u0443\u043d",
+      "\u0458\u0443\u043b",
+      "\u0430\u0432\u0433",
+      "\u0441\u0435\u043f",
+      "\u043e\u043a\u0442",
+      "\u043d\u043e\u0432",
+      "\u0434\u0435\u0446"
+    ],
+    "STANDALONEMONTH": [
+      "\u0458\u0430\u043d\u0443\u0430\u0440",
+      "\u0444\u0435\u0431\u0440\u0443\u0430\u0440",
+      "\u043c\u0430\u0440\u0442",
+      "\u0430\u043f\u0440\u0438\u043b",
+      "\u043c\u0430\u0458",
+      "\u0458\u0443\u043d",
+      "\u0458\u0443\u043b",
+      "\u0430\u0432\u0433\u0443\u0441\u0442",
+      "\u0441\u0435\u043f\u0442\u0435\u043c\u0431\u0430\u0440",
+      "\u043e\u043a\u0442\u043e\u0431\u0430\u0440",
+      "\u043d\u043e\u0432\u0435\u043c\u0431\u0430\u0440",
+      "\u0434\u0435\u0446\u0435\u043c\u0431\u0430\u0440"
+    ],
+    "WEEKENDRANGE": [
+      5,
+      6
+    ],
+    "fullDate": "EEEE, dd. MMMM y.",
+    "longDate": "dd. MMMM y.",
+    "medium": "dd.MM.y. HH:mm:ss",
+    "mediumDate": "dd.MM.y.",
+    "mediumTime": "HH:mm:ss",
+    "short": "d.M.yy. HH:mm",
+    "shortDate": "d.M.yy.",
+    "shortTime": "HH:mm"
+  },
+  "NUMBER_FORMATS": {
+    "CURRENCY_SYM": "KM",
+    "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": "sr-cyrl-ba",
+  "localeID": "sr_Cyrl_BA",
+  "pluralCat": function(n, opt_precision) {  var i = n | 0;  var vf = getVF(n, opt_precision);  if (vf.v == 0 && i % 10 == 1 && i % 100 != 11 || vf.f % 10 == 1 && vf.f % 100 != 11) {    return PLURAL_CATEGORY.ONE;  }  if (vf.v == 0 && i % 10 >= 2 && i % 10 <= 4 && (i % 100 < 12 || i % 100 > 14) || vf.f % 10 >= 2 && vf.f % 10 <= 4 && (vf.f % 100 < 12 || vf.f % 100 > 14)) {    return PLURAL_CATEGORY.FEW;  }  return PLURAL_CATEGORY.OTHER;}
+});
+}]);