You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@struts.apache.org by jo...@apache.org on 2015/10/05 20:06:34 UTC

[29/52] [abbrv] [partial] struts-examples git commit: Add new rest plugin and angularjs based example application with support for bean validation and multi language support

http://git-wip-us.apache.org/repos/asf/struts-examples/blob/a183bf5c/rest-angular/src/main/webapp/js/lib/angular/errors.json
----------------------------------------------------------------------
diff --git a/rest-angular/src/main/webapp/js/lib/angular/errors.json b/rest-angular/src/main/webapp/js/lib/angular/errors.json
new file mode 100644
index 0000000..5ff8c96
--- /dev/null
+++ b/rest-angular/src/main/webapp/js/lib/angular/errors.json
@@ -0,0 +1 @@
+{"id":"ng","generated":"Fri Aug 28 2015 12:47:58 GMT-0700 (PDT)","errors":{"ng":{"areq":"Argument '{0}' is {1}","cpta":"Can't copy! TypedArray destination cannot be mutated.","test":"no injector found for element argument to getTestability","cpws":"Can't copy! Making copies of Window or Scope instances is not supported.","btstrpd":"App Already Bootstrapped with this Element '{0}'","cpi":"Can't copy! Source and destination are identical.","badname":"hasOwnProperty is not a valid {0} name"},"$http":{"legacy":"The method `{0}` on the promise returned from `$http` has been disabled.","badreq":"Http request configuration must be an object.  Received: {0}"},"ngRepeat":{"badident":"alias '{0}' is invalid --- must be a valid JS identifier which is not a reserved name.","iexp":"Expected expression in form of '_item_ in _collection_[ track by _id_]' but got '{0}'.","dupes":"Duplicates in a repeater are not allowed. Use 'track by' expression to specify unique keys. Repeater: {0}, Duplicate key
 : {1}, Duplicate value: {2}","iidexp":"'_item_' in '_item_ in _collection_' should be an identifier or '(_key_, _value_)' expression, but got '{0}'."},"$sce":{"imatcher":"Matchers may only be \"self\", string patterns or RegExp objects","icontext":"Attempted to trust a value in invalid context. Context: {0}; Value: {1}","iwcard":"Illegal sequence *** in string matcher.  String: {0}","insecurl":"Blocked loading resource from url not allowed by $sceDelegate policy.  URL: {0}","iequirks":"Strict Contextual Escaping does not support Internet Explorer version < 11 in quirks mode.  You can fix this by adding the text <!doctype html> to the top of your HTML document.  See http://docs.angularjs.org/api/ng.$sce for more information.","unsafe":"Attempting to use an unsafe value in a safe context.","itype":"Attempted to trust a non-string value in a content requiring a string: Context: {0}"},"ngPattern":{"noregexp":"Expected {0} to be a RegExp but was {1}. Element: {2}"},"$controller":{"ctrlfm
 t":"Badly formed controller string '{0}'. Must match `__name__ as __id__` or `__name__`.","noscp":"Cannot export controller '{0}' as '{1}'! No $scope object provided via `locals`."},"$parse":{"isecfn":"Referencing Function in Angular expressions is disallowed! Expression: {0}","isecwindow":"Referencing the Window in Angular expressions is disallowed! Expression: {0}","ueoe":"Unexpected end of expression: {0}","isecdom":"Referencing DOM nodes in Angular expressions is disallowed! Expression: {0}","lexerr":"Lexer Error: {0} at column{1} in expression [{2}].","esc":"IMPOSSIBLE","isecobj":"Referencing Object in Angular expressions is disallowed! Expression: {0}","lval":"Trying to assing a value to a non l-value","isecff":"Referencing call, apply or bind in Angular expressions is disallowed! Expression: {0}","syntax":"Syntax Error: Token '{0}' {1} at column {2} of the expression [{3}] starting at [{4}].","isecfld":"Attempting to access a disallowed field in Angular expressions! Expressio
 n: {0}"},"jqLite":{"offargs":"jqLite#off() does not support the `selector` argument","onargs":"jqLite#on() does not support the `selector` or `eventData` parameters","nosel":"Looking up elements via selectors is not supported by jqLite! See: http://docs.angularjs.org/api/angular.element"},"$animate":{"notcsel":"Expecting class selector starting with '.' got '{0}'.","nongcls":"$animateProvider.classNameFilter(regex) prohibits accepting a regex value which matches/contains the \"{0}\" CSS class."},"$q":{"norslvr":"Expected resolverFn, got '{0}'","qcycle":"Expected promise to be resolved with value other than itself '{0}'"},"$injector":{"pget":"Provider '{0}' must define $get factory method.","cdep":"Circular dependency found: {0}","nomod":"Module '{0}' is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument.","strictdi":"{0} is not using explicit annotation and cannot be invok
 ed in strict mode","modulerr":"Failed to instantiate module {0} due to:\n{1}","undef":"Provider '{0}' must return a value from $get factory method.","unpr":"Unknown provider: {0}","itkn":"Incorrect injection token! Expected service name as string, got {0}"},"filter":{"notarray":"Expected array but received: {0}"},"ngTransclude":{"orphan":"Illegal use of ngTransclude directive in the template! No parent directive that requires a transclusion found. Element: {0}"},"ngModel":{"nonassign":"Expression '{0}' is non-assignable. Element: {1}","datefmt":"Expected `{0}` to be a date","$asyncValidators":"Expected asynchronous validator to return a promise but got '{0}' instead.","constexpr":"Expected constant expression for `{0}`, but saw `{1}`.","numfmt":"Expected `{0}` to be a number"},"$location":{"nostate":"History API state support is available only in HTML5 mode and only in browsers supporting HTML5 History API","ipthprfx":"Invalid url \"{0}\", missing path prefix \"{1}\".","isrcharg":"T
 he first argument of the `$location#search()` call must be a string or an object.","nobase":"$location in HTML5 mode requires a <base> tag to be present!"},"$cacheFactory":{"iid":"CacheId '{0}' is already taken!"},"$interpolate":{"noconcat":"Error while interpolating: {0}\nStrict Contextual Escaping disallows interpolations that concatenate multiple expressions when a trusted value is required.  See http://docs.angularjs.org/api/ng.$sce","interr":"Can't interpolate: {0}\n{1}","nochgmustache":"angular-message-format.js currently does not allow you to use custom start and end symbols for interpolation.","reqcomma":"Expected a comma after the keyword “{0}” at line {1}, column {2} of text “{3}”","untermstr":"The string beginning at line {0}, column {1} is unterminated in text “{2}”","badexpr":"Unexpected operator “{0}” at line {1}, column {2} in text. Was expecting “{3}”. Text: “{4}”","dupvalue":"The choice “{0}” is specified more than once. Duplicate key is 
 at line {1}, column {2} in text “{3}”","unsafe":"Use of select/plural MessageFormat syntax is currently disallowed in a secure context ({0}).  At line {1}, column {2} of text “{3}”","reqother":"“other” is a required option.","reqendinterp":"Expecting end of interpolation symbol, “{0}”, at line {1}, column {2} in text “{3}”","reqarg":"Expected one of “plural” or “select” at line {0}, column {1} of text “{2}”","wantstring":"Expected the beginning of a string at line {0}, column {1} in text “{2}”","logicbug":"The messageformat parser has encountered an internal error.  Please file a github issue against the AngularJS project and provide this message text that triggers the bug.  Text: “{0}”","reqopenbrace":"The plural choice “{0}” must be followed by a message in braces at line {1}, column {2} in text “{3}”","unknarg":"Unsupported keyword “{0}” at line {0}, column {1}. Only “plural” and “select” are currently supported.  Text: 
 “{3}”","reqendbrace":"The plural/select choice “{0}” message starting at line {1}, column {2} does not have an ending closing brace. Text “{3}”"},"ngOptions":{"iexp":"Expected expression in form of '_select_ (as _label_)? for (_key_,)?_value_ in _collection_' but got '{0}'. Element: {1}"},"$rootScope":{"inprog":"{0} already in progress","infdig":"{0} $digest() iterations reached. Aborting!\nWatchers fired in the last 5 iterations: {1}"},"$compile":{"noident":"Cannot bind to controller without identifier for directive '{0}'.","selmulti":"Binding to the 'multiple' attribute is not supported. Element: {0}","nodomevents":"Interpolations for HTML DOM event attributes are disallowed.  Please use the ng- versions (such as ng-click instead of onclick) instead.","ctreq":"Controller '{0}', required by directive '{1}', can't be found!","nonassign":"Expression '{0}' used with directive '{1}' is non-assignable!","tplrt":"Template for directive '{0}' must have exactly one root element
 . {1}","iscp":"Invalid {3} for directive '{0}'. Definition: {... {1}: '{2}' ...}","baddir":"Directive name '{0}' is invalid. The name should not contain leading or trailing whitespaces","noctrl":"Cannot bind to controller without directive '{0}'s controller.","multidir":"Multiple directives [{0}{1}, {2}{3}] asking for {4} on: {5}","tpload":"Failed to load template: {0} (HTTP status: {1} {2})","uterdir":"Unterminated attribute, found '{0}' but no matching '{1}' found."},"$resource":{"badargs":"Expected up to 4 arguments [params, data, success, error], got {0} arguments","badmember":"Dotted member path \"@{0}\" is invalid.","badname":"hasOwnProperty is not a valid parameter name.","badcfg":"Error in resource configuration for action `{0}`. Expected response to contain an {1} but got an {2} (Request: {3} {4})"},"$route":{"norout":"Tried updating route when with no current route"},"$sanitize":{"badparse":"The sanitizer was unable to parse the following block of html: {0}"}}}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/struts-examples/blob/a183bf5c/rest-angular/src/main/webapp/js/lib/angular/i18n/angular-locale_aa-dj.js
----------------------------------------------------------------------
diff --git a/rest-angular/src/main/webapp/js/lib/angular/i18n/angular-locale_aa-dj.js b/rest-angular/src/main/webapp/js/lib/angular/i18n/angular-locale_aa-dj.js
new file mode 100644
index 0000000..2fe0c30
--- /dev/null
+++ b/rest-angular/src/main/webapp/js/lib/angular/i18n/angular-locale_aa-dj.js
@@ -0,0 +1,128 @@
+'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": [
+      "saaku",
+      "carra"
+    ],
+    "DAY": [
+      "Acaada",
+      "Etleeni",
+      "Talaata",
+      "Arbaqa",
+      "Kamiisi",
+      "Gumqata",
+      "Sabti"
+    ],
+    "ERANAMES": [
+      "Yaasuusuk Duma",
+      "Yaasuusuk Wadir"
+    ],
+    "ERAS": [
+      "Yaasuusuk Duma",
+      "Yaasuusuk Wadir"
+    ],
+    "FIRSTDAYOFWEEK": 5,
+    "MONTH": [
+      "Qunxa Garablu",
+      "Kudo",
+      "Ciggilta Kudo",
+      "Agda Baxis",
+      "Caxah Alsa",
+      "Qasa Dirri",
+      "Qado Dirri",
+      "Leqeeni",
+      "Waysu",
+      "Diteli",
+      "Ximoli",
+      "Kaxxa Garablu"
+    ],
+    "SHORTDAY": [
+      "Aca",
+      "Etl",
+      "Tal",
+      "Arb",
+      "Kam",
+      "Gum",
+      "Sab"
+    ],
+    "SHORTMONTH": [
+      "Qun",
+      "Nah",
+      "Cig",
+      "Agd",
+      "Cax",
+      "Qas",
+      "Qad",
+      "Leq",
+      "Way",
+      "Dit",
+      "Xim",
+      "Kax"
+    ],
+    "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": "aa-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-examples/blob/a183bf5c/rest-angular/src/main/webapp/js/lib/angular/i18n/angular-locale_aa-er.js
----------------------------------------------------------------------
diff --git a/rest-angular/src/main/webapp/js/lib/angular/i18n/angular-locale_aa-er.js b/rest-angular/src/main/webapp/js/lib/angular/i18n/angular-locale_aa-er.js
new file mode 100644
index 0000000..48c1e7c
--- /dev/null
+++ b/rest-angular/src/main/webapp/js/lib/angular/i18n/angular-locale_aa-er.js
@@ -0,0 +1,128 @@
+'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": [
+      "saaku",
+      "carra"
+    ],
+    "DAY": [
+      "Acaada",
+      "Etleeni",
+      "Talaata",
+      "Arbaqa",
+      "Kamiisi",
+      "Gumqata",
+      "Sabti"
+    ],
+    "ERANAMES": [
+      "Yaasuusuk Duma",
+      "Yaasuusuk Wadir"
+    ],
+    "ERAS": [
+      "Yaasuusuk Duma",
+      "Yaasuusuk Wadir"
+    ],
+    "FIRSTDAYOFWEEK": 0,
+    "MONTH": [
+      "Qunxa Garablu",
+      "Kudo",
+      "Ciggilta Kudo",
+      "Agda Baxis",
+      "Caxah Alsa",
+      "Qasa Dirri",
+      "Qado Dirri",
+      "Liiqen",
+      "Waysu",
+      "Diteli",
+      "Ximoli",
+      "Kaxxa Garablu"
+    ],
+    "SHORTDAY": [
+      "Aca",
+      "Etl",
+      "Tal",
+      "Arb",
+      "Kam",
+      "Gum",
+      "Sab"
+    ],
+    "SHORTMONTH": [
+      "Qun",
+      "Nah",
+      "Cig",
+      "Agd",
+      "Cax",
+      "Qas",
+      "Qad",
+      "Leq",
+      "Way",
+      "Dit",
+      "Xim",
+      "Kax"
+    ],
+    "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": "Nfk",
+    "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": "aa-er",
+  "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-examples/blob/a183bf5c/rest-angular/src/main/webapp/js/lib/angular/i18n/angular-locale_aa-et.js
----------------------------------------------------------------------
diff --git a/rest-angular/src/main/webapp/js/lib/angular/i18n/angular-locale_aa-et.js b/rest-angular/src/main/webapp/js/lib/angular/i18n/angular-locale_aa-et.js
new file mode 100644
index 0000000..03b6255
--- /dev/null
+++ b/rest-angular/src/main/webapp/js/lib/angular/i18n/angular-locale_aa-et.js
@@ -0,0 +1,128 @@
+'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": [
+      "saaku",
+      "carra"
+    ],
+    "DAY": [
+      "Acaada",
+      "Etleeni",
+      "Talaata",
+      "Arbaqa",
+      "Kamiisi",
+      "Gumqata",
+      "Sabti"
+    ],
+    "ERANAMES": [
+      "Yaasuusuk Duma",
+      "Yaasuusuk Wadir"
+    ],
+    "ERAS": [
+      "Yaasuusuk Duma",
+      "Yaasuusuk Wadir"
+    ],
+    "FIRSTDAYOFWEEK": 0,
+    "MONTH": [
+      "Qunxa Garablu",
+      "Kudo",
+      "Ciggilta Kudo",
+      "Agda Baxis",
+      "Caxah Alsa",
+      "Qasa Dirri",
+      "Qado Dirri",
+      "Liiqen",
+      "Waysu",
+      "Diteli",
+      "Ximoli",
+      "Kaxxa Garablu"
+    ],
+    "SHORTDAY": [
+      "Aca",
+      "Etl",
+      "Tal",
+      "Arb",
+      "Kam",
+      "Gum",
+      "Sab"
+    ],
+    "SHORTMONTH": [
+      "Qun",
+      "Nah",
+      "Cig",
+      "Agd",
+      "Cax",
+      "Qas",
+      "Qad",
+      "Leq",
+      "Way",
+      "Dit",
+      "Xim",
+      "Kax"
+    ],
+    "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": "aa-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-examples/blob/a183bf5c/rest-angular/src/main/webapp/js/lib/angular/i18n/angular-locale_aa.js
----------------------------------------------------------------------
diff --git a/rest-angular/src/main/webapp/js/lib/angular/i18n/angular-locale_aa.js b/rest-angular/src/main/webapp/js/lib/angular/i18n/angular-locale_aa.js
new file mode 100644
index 0000000..661fa2e
--- /dev/null
+++ b/rest-angular/src/main/webapp/js/lib/angular/i18n/angular-locale_aa.js
@@ -0,0 +1,128 @@
+'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": [
+      "saaku",
+      "carra"
+    ],
+    "DAY": [
+      "Acaada",
+      "Etleeni",
+      "Talaata",
+      "Arbaqa",
+      "Kamiisi",
+      "Gumqata",
+      "Sabti"
+    ],
+    "ERANAMES": [
+      "Yaasuusuk Duma",
+      "Yaasuusuk Wadir"
+    ],
+    "ERAS": [
+      "Yaasuusuk Duma",
+      "Yaasuusuk Wadir"
+    ],
+    "FIRSTDAYOFWEEK": 0,
+    "MONTH": [
+      "Qunxa Garablu",
+      "Kudo",
+      "Ciggilta Kudo",
+      "Agda Baxis",
+      "Caxah Alsa",
+      "Qasa Dirri",
+      "Qado Dirri",
+      "Liiqen",
+      "Waysu",
+      "Diteli",
+      "Ximoli",
+      "Kaxxa Garablu"
+    ],
+    "SHORTDAY": [
+      "Aca",
+      "Etl",
+      "Tal",
+      "Arb",
+      "Kam",
+      "Gum",
+      "Sab"
+    ],
+    "SHORTMONTH": [
+      "Qun",
+      "Nah",
+      "Cig",
+      "Agd",
+      "Cax",
+      "Qas",
+      "Qad",
+      "Leq",
+      "Way",
+      "Dit",
+      "Xim",
+      "Kax"
+    ],
+    "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": "aa",
+  "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-examples/blob/a183bf5c/rest-angular/src/main/webapp/js/lib/angular/i18n/angular-locale_af-na.js
----------------------------------------------------------------------
diff --git a/rest-angular/src/main/webapp/js/lib/angular/i18n/angular-locale_af-na.js b/rest-angular/src/main/webapp/js/lib/angular/i18n/angular-locale_af-na.js
new file mode 100644
index 0000000..4647a92
--- /dev/null
+++ b/rest-angular/src/main/webapp/js/lib/angular/i18n/angular-locale_af-na.js
@@ -0,0 +1,110 @@
+'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": [
+      "vm.",
+      "nm."
+    ],
+    "DAY": [
+      "Sondag",
+      "Maandag",
+      "Dinsdag",
+      "Woensdag",
+      "Donderdag",
+      "Vrydag",
+      "Saterdag"
+    ],
+    "ERANAMES": [
+      "voor Christus",
+      "na Christus"
+    ],
+    "ERAS": [
+      "v.C.",
+      "n.C."
+    ],
+    "FIRSTDAYOFWEEK": 0,
+    "MONTH": [
+      "Januarie",
+      "Februarie",
+      "Maart",
+      "April",
+      "Mei",
+      "Junie",
+      "Julie",
+      "Augustus",
+      "September",
+      "Oktober",
+      "November",
+      "Desember"
+    ],
+    "SHORTDAY": [
+      "So",
+      "Ma",
+      "Di",
+      "Wo",
+      "Do",
+      "Vr",
+      "Sa"
+    ],
+    "SHORTMONTH": [
+      "Jan.",
+      "Feb.",
+      "Mrt.",
+      "Apr",
+      "Mei",
+      "Jun",
+      "Jul",
+      "Aug",
+      "Sep",
+      "Okt",
+      "Nov",
+      "Des"
+    ],
+    "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": "y-MM-dd HH:mm",
+    "shortDate": "y-MM-dd",
+    "shortTime": "HH:mm"
+  },
+  "NUMBER_FORMATS": {
+    "CURRENCY_SYM": "$",
+    "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": "-\u00a4",
+        "negSuf": "",
+        "posPre": "\u00a4",
+        "posSuf": ""
+      }
+    ]
+  },
+  "id": "af-na",
+  "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-examples/blob/a183bf5c/rest-angular/src/main/webapp/js/lib/angular/i18n/angular-locale_af-za.js
----------------------------------------------------------------------
diff --git a/rest-angular/src/main/webapp/js/lib/angular/i18n/angular-locale_af-za.js b/rest-angular/src/main/webapp/js/lib/angular/i18n/angular-locale_af-za.js
new file mode 100644
index 0000000..38c2217
--- /dev/null
+++ b/rest-angular/src/main/webapp/js/lib/angular/i18n/angular-locale_af-za.js
@@ -0,0 +1,110 @@
+'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": [
+      "vm.",
+      "nm."
+    ],
+    "DAY": [
+      "Sondag",
+      "Maandag",
+      "Dinsdag",
+      "Woensdag",
+      "Donderdag",
+      "Vrydag",
+      "Saterdag"
+    ],
+    "ERANAMES": [
+      "voor Christus",
+      "na Christus"
+    ],
+    "ERAS": [
+      "v.C.",
+      "n.C."
+    ],
+    "FIRSTDAYOFWEEK": 6,
+    "MONTH": [
+      "Januarie",
+      "Februarie",
+      "Maart",
+      "April",
+      "Mei",
+      "Junie",
+      "Julie",
+      "Augustus",
+      "September",
+      "Oktober",
+      "November",
+      "Desember"
+    ],
+    "SHORTDAY": [
+      "So",
+      "Ma",
+      "Di",
+      "Wo",
+      "Do",
+      "Vr",
+      "Sa"
+    ],
+    "SHORTMONTH": [
+      "Jan.",
+      "Feb.",
+      "Mrt.",
+      "Apr",
+      "Mei",
+      "Jun",
+      "Jul",
+      "Aug",
+      "Sep",
+      "Okt",
+      "Nov",
+      "Des"
+    ],
+    "WEEKENDRANGE": [
+      5,
+      6
+    ],
+    "fullDate": "EEEE, dd MMMM y",
+    "longDate": "dd MMMM y",
+    "medium": "dd MMM y h:mm:ss a",
+    "mediumDate": "dd MMM y",
+    "mediumTime": "h:mm:ss a",
+    "short": "y-MM-dd h:mm a",
+    "shortDate": "y-MM-dd",
+    "shortTime": "h:mm a"
+  },
+  "NUMBER_FORMATS": {
+    "CURRENCY_SYM": "R",
+    "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": "-\u00a4",
+        "negSuf": "",
+        "posPre": "\u00a4",
+        "posSuf": ""
+      }
+    ]
+  },
+  "id": "af-za",
+  "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-examples/blob/a183bf5c/rest-angular/src/main/webapp/js/lib/angular/i18n/angular-locale_af.js
----------------------------------------------------------------------
diff --git a/rest-angular/src/main/webapp/js/lib/angular/i18n/angular-locale_af.js b/rest-angular/src/main/webapp/js/lib/angular/i18n/angular-locale_af.js
new file mode 100644
index 0000000..9ed43d1
--- /dev/null
+++ b/rest-angular/src/main/webapp/js/lib/angular/i18n/angular-locale_af.js
@@ -0,0 +1,110 @@
+'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": [
+      "vm.",
+      "nm."
+    ],
+    "DAY": [
+      "Sondag",
+      "Maandag",
+      "Dinsdag",
+      "Woensdag",
+      "Donderdag",
+      "Vrydag",
+      "Saterdag"
+    ],
+    "ERANAMES": [
+      "voor Christus",
+      "na Christus"
+    ],
+    "ERAS": [
+      "v.C.",
+      "n.C."
+    ],
+    "FIRSTDAYOFWEEK": 6,
+    "MONTH": [
+      "Januarie",
+      "Februarie",
+      "Maart",
+      "April",
+      "Mei",
+      "Junie",
+      "Julie",
+      "Augustus",
+      "September",
+      "Oktober",
+      "November",
+      "Desember"
+    ],
+    "SHORTDAY": [
+      "So",
+      "Ma",
+      "Di",
+      "Wo",
+      "Do",
+      "Vr",
+      "Sa"
+    ],
+    "SHORTMONTH": [
+      "Jan.",
+      "Feb.",
+      "Mrt.",
+      "Apr",
+      "Mei",
+      "Jun",
+      "Jul",
+      "Aug",
+      "Sep",
+      "Okt",
+      "Nov",
+      "Des"
+    ],
+    "WEEKENDRANGE": [
+      5,
+      6
+    ],
+    "fullDate": "EEEE, dd MMMM y",
+    "longDate": "dd MMMM y",
+    "medium": "dd MMM y h:mm:ss a",
+    "mediumDate": "dd MMM y",
+    "mediumTime": "h:mm:ss a",
+    "short": "y-MM-dd h:mm a",
+    "shortDate": "y-MM-dd",
+    "shortTime": "h:mm a"
+  },
+  "NUMBER_FORMATS": {
+    "CURRENCY_SYM": "R",
+    "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": "-\u00a4",
+        "negSuf": "",
+        "posPre": "\u00a4",
+        "posSuf": ""
+      }
+    ]
+  },
+  "id": "af",
+  "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-examples/blob/a183bf5c/rest-angular/src/main/webapp/js/lib/angular/i18n/angular-locale_agq-cm.js
----------------------------------------------------------------------
diff --git a/rest-angular/src/main/webapp/js/lib/angular/i18n/angular-locale_agq-cm.js b/rest-angular/src/main/webapp/js/lib/angular/i18n/angular-locale_agq-cm.js
new file mode 100644
index 0000000..9d3f9e9
--- /dev/null
+++ b/rest-angular/src/main/webapp/js/lib/angular/i18n/angular-locale_agq-cm.js
@@ -0,0 +1,128 @@
+'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": [
+      "a.g",
+      "a.k"
+    ],
+    "DAY": [
+      "tsu\u0294nts\u0268",
+      "tsu\u0294ukp\u00e0",
+      "tsu\u0294ugh\u0254e",
+      "tsu\u0294ut\u0254\u0300ml\u00f2",
+      "tsu\u0294um\u00e8",
+      "tsu\u0294ugh\u0268\u0302m",
+      "tsu\u0294ndz\u0268k\u0254\u0294\u0254"
+    ],
+    "ERANAMES": [
+      "S\u011be K\u0268\u0300lesto",
+      "B\u01cea K\u0268\u0300lesto"
+    ],
+    "ERAS": [
+      "SK",
+      "BK"
+    ],
+    "FIRSTDAYOFWEEK": 0,
+    "MONTH": [
+      "ndz\u0254\u0300\u014b\u0254\u0300n\u00f9m",
+      "ndz\u0254\u0300\u014b\u0254\u0300k\u0197\u0300z\u00f9\u0294",
+      "ndz\u0254\u0300\u014b\u0254\u0300t\u0197\u0300d\u0289\u0300gh\u00e0",
+      "ndz\u0254\u0300\u014b\u0254\u0300t\u01ceaf\u0289\u0304gh\u0101",
+      "ndz\u0254\u0300\u014b\u00e8s\u00e8e",
+      "ndz\u0254\u0300\u014b\u0254\u0300nz\u00f9gh\u00f2",
+      "ndz\u0254\u0300\u014b\u0254\u0300d\u00f9mlo",
+      "ndz\u0254\u0300\u014b\u0254\u0300kw\u00eef\u0254\u0300e",
+      "ndz\u0254\u0300\u014b\u0254\u0300t\u0197\u0300f\u0289\u0300gh\u00e0dzugh\u00f9",
+      "ndz\u0254\u0300\u014b\u0254\u0300gh\u01d4uwel\u0254\u0300m",
+      "ndz\u0254\u0300\u014b\u0254\u0300chwa\u0294\u00e0kaa wo",
+      "ndz\u0254\u0300\u014b\u00e8fw\u00f2o"
+    ],
+    "SHORTDAY": [
+      "nts",
+      "kpa",
+      "gh\u0254",
+      "t\u0254m",
+      "ume",
+      "gh\u0268",
+      "dzk"
+    ],
+    "SHORTMONTH": [
+      "n\u00f9m",
+      "k\u0268z",
+      "t\u0268d",
+      "taa",
+      "see",
+      "nzu",
+      "dum",
+      "f\u0254e",
+      "dzu",
+      "l\u0254m",
+      "kaa",
+      "fwo"
+    ],
+    "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": "\u00a4",
+        "posPre": "",
+        "posSuf": "\u00a4"
+      }
+    ]
+  },
+  "id": "agq-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-examples/blob/a183bf5c/rest-angular/src/main/webapp/js/lib/angular/i18n/angular-locale_agq.js
----------------------------------------------------------------------
diff --git a/rest-angular/src/main/webapp/js/lib/angular/i18n/angular-locale_agq.js b/rest-angular/src/main/webapp/js/lib/angular/i18n/angular-locale_agq.js
new file mode 100644
index 0000000..2bd2826
--- /dev/null
+++ b/rest-angular/src/main/webapp/js/lib/angular/i18n/angular-locale_agq.js
@@ -0,0 +1,128 @@
+'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": [
+      "a.g",
+      "a.k"
+    ],
+    "DAY": [
+      "tsu\u0294nts\u0268",
+      "tsu\u0294ukp\u00e0",
+      "tsu\u0294ugh\u0254e",
+      "tsu\u0294ut\u0254\u0300ml\u00f2",
+      "tsu\u0294um\u00e8",
+      "tsu\u0294ugh\u0268\u0302m",
+      "tsu\u0294ndz\u0268k\u0254\u0294\u0254"
+    ],
+    "ERANAMES": [
+      "S\u011be K\u0268\u0300lesto",
+      "B\u01cea K\u0268\u0300lesto"
+    ],
+    "ERAS": [
+      "SK",
+      "BK"
+    ],
+    "FIRSTDAYOFWEEK": 0,
+    "MONTH": [
+      "ndz\u0254\u0300\u014b\u0254\u0300n\u00f9m",
+      "ndz\u0254\u0300\u014b\u0254\u0300k\u0197\u0300z\u00f9\u0294",
+      "ndz\u0254\u0300\u014b\u0254\u0300t\u0197\u0300d\u0289\u0300gh\u00e0",
+      "ndz\u0254\u0300\u014b\u0254\u0300t\u01ceaf\u0289\u0304gh\u0101",
+      "ndz\u0254\u0300\u014b\u00e8s\u00e8e",
+      "ndz\u0254\u0300\u014b\u0254\u0300nz\u00f9gh\u00f2",
+      "ndz\u0254\u0300\u014b\u0254\u0300d\u00f9mlo",
+      "ndz\u0254\u0300\u014b\u0254\u0300kw\u00eef\u0254\u0300e",
+      "ndz\u0254\u0300\u014b\u0254\u0300t\u0197\u0300f\u0289\u0300gh\u00e0dzugh\u00f9",
+      "ndz\u0254\u0300\u014b\u0254\u0300gh\u01d4uwel\u0254\u0300m",
+      "ndz\u0254\u0300\u014b\u0254\u0300chwa\u0294\u00e0kaa wo",
+      "ndz\u0254\u0300\u014b\u00e8fw\u00f2o"
+    ],
+    "SHORTDAY": [
+      "nts",
+      "kpa",
+      "gh\u0254",
+      "t\u0254m",
+      "ume",
+      "gh\u0268",
+      "dzk"
+    ],
+    "SHORTMONTH": [
+      "n\u00f9m",
+      "k\u0268z",
+      "t\u0268d",
+      "taa",
+      "see",
+      "nzu",
+      "dum",
+      "f\u0254e",
+      "dzu",
+      "l\u0254m",
+      "kaa",
+      "fwo"
+    ],
+    "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": "\u00a4",
+        "posPre": "",
+        "posSuf": "\u00a4"
+      }
+    ]
+  },
+  "id": "agq",
+  "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-examples/blob/a183bf5c/rest-angular/src/main/webapp/js/lib/angular/i18n/angular-locale_ak-gh.js
----------------------------------------------------------------------
diff --git a/rest-angular/src/main/webapp/js/lib/angular/i18n/angular-locale_ak-gh.js b/rest-angular/src/main/webapp/js/lib/angular/i18n/angular-locale_ak-gh.js
new file mode 100644
index 0000000..8407b96
--- /dev/null
+++ b/rest-angular/src/main/webapp/js/lib/angular/i18n/angular-locale_ak-gh.js
@@ -0,0 +1,128 @@
+'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": [
+      "AN",
+      "EW"
+    ],
+    "DAY": [
+      "Kwesida",
+      "Dwowda",
+      "Benada",
+      "Wukuda",
+      "Yawda",
+      "Fida",
+      "Memeneda"
+    ],
+    "ERANAMES": [
+      "Ansa Kristo",
+      "Kristo Ekyiri"
+    ],
+    "ERAS": [
+      "AK",
+      "KE"
+    ],
+    "FIRSTDAYOFWEEK": 0,
+    "MONTH": [
+      "Sanda-\u0186p\u025bp\u0254n",
+      "Kwakwar-\u0186gyefuo",
+      "Eb\u0254w-\u0186benem",
+      "Eb\u0254bira-Oforisuo",
+      "Esusow Aketseaba-K\u0254t\u0254nimba",
+      "Obirade-Ay\u025bwohomumu",
+      "Ay\u025bwoho-Kitawonsa",
+      "Difuu-\u0186sandaa",
+      "Fankwa-\u0190b\u0254",
+      "\u0186b\u025bs\u025b-Ahinime",
+      "\u0186ber\u025bf\u025bw-Obubuo",
+      "Mumu-\u0186p\u025bnimba"
+    ],
+    "SHORTDAY": [
+      "Kwe",
+      "Dwo",
+      "Ben",
+      "Wuk",
+      "Yaw",
+      "Fia",
+      "Mem"
+    ],
+    "SHORTMONTH": [
+      "S-\u0186",
+      "K-\u0186",
+      "E-\u0186",
+      "E-O",
+      "E-K",
+      "O-A",
+      "A-K",
+      "D-\u0186",
+      "F-\u0190",
+      "\u0186-A",
+      "\u0186-O",
+      "M-\u0186"
+    ],
+    "WEEKENDRANGE": [
+      5,
+      6
+    ],
+    "fullDate": "EEEE, y MMMM dd",
+    "longDate": "y MMMM d",
+    "medium": "y MMM d HH:mm:ss",
+    "mediumDate": "y MMM d",
+    "mediumTime": "HH:mm:ss",
+    "short": "yy/MM/dd HH:mm",
+    "shortDate": "yy/MM/dd",
+    "shortTime": "HH:mm"
+  },
+  "NUMBER_FORMATS": {
+    "CURRENCY_SYM": "GHS",
+    "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": "ak-gh",
+  "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-examples/blob/a183bf5c/rest-angular/src/main/webapp/js/lib/angular/i18n/angular-locale_ak.js
----------------------------------------------------------------------
diff --git a/rest-angular/src/main/webapp/js/lib/angular/i18n/angular-locale_ak.js b/rest-angular/src/main/webapp/js/lib/angular/i18n/angular-locale_ak.js
new file mode 100644
index 0000000..9117b35
--- /dev/null
+++ b/rest-angular/src/main/webapp/js/lib/angular/i18n/angular-locale_ak.js
@@ -0,0 +1,128 @@
+'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": [
+      "AN",
+      "EW"
+    ],
+    "DAY": [
+      "Kwesida",
+      "Dwowda",
+      "Benada",
+      "Wukuda",
+      "Yawda",
+      "Fida",
+      "Memeneda"
+    ],
+    "ERANAMES": [
+      "Ansa Kristo",
+      "Kristo Ekyiri"
+    ],
+    "ERAS": [
+      "AK",
+      "KE"
+    ],
+    "FIRSTDAYOFWEEK": 0,
+    "MONTH": [
+      "Sanda-\u0186p\u025bp\u0254n",
+      "Kwakwar-\u0186gyefuo",
+      "Eb\u0254w-\u0186benem",
+      "Eb\u0254bira-Oforisuo",
+      "Esusow Aketseaba-K\u0254t\u0254nimba",
+      "Obirade-Ay\u025bwohomumu",
+      "Ay\u025bwoho-Kitawonsa",
+      "Difuu-\u0186sandaa",
+      "Fankwa-\u0190b\u0254",
+      "\u0186b\u025bs\u025b-Ahinime",
+      "\u0186ber\u025bf\u025bw-Obubuo",
+      "Mumu-\u0186p\u025bnimba"
+    ],
+    "SHORTDAY": [
+      "Kwe",
+      "Dwo",
+      "Ben",
+      "Wuk",
+      "Yaw",
+      "Fia",
+      "Mem"
+    ],
+    "SHORTMONTH": [
+      "S-\u0186",
+      "K-\u0186",
+      "E-\u0186",
+      "E-O",
+      "E-K",
+      "O-A",
+      "A-K",
+      "D-\u0186",
+      "F-\u0190",
+      "\u0186-A",
+      "\u0186-O",
+      "M-\u0186"
+    ],
+    "WEEKENDRANGE": [
+      5,
+      6
+    ],
+    "fullDate": "EEEE, y MMMM dd",
+    "longDate": "y MMMM d",
+    "medium": "y MMM d HH:mm:ss",
+    "mediumDate": "y MMM d",
+    "mediumTime": "HH:mm:ss",
+    "short": "yy/MM/dd HH:mm",
+    "shortDate": "yy/MM/dd",
+    "shortTime": "HH:mm"
+  },
+  "NUMBER_FORMATS": {
+    "CURRENCY_SYM": "GHS",
+    "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": "ak",
+  "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-examples/blob/a183bf5c/rest-angular/src/main/webapp/js/lib/angular/i18n/angular-locale_am-et.js
----------------------------------------------------------------------
diff --git a/rest-angular/src/main/webapp/js/lib/angular/i18n/angular-locale_am-et.js b/rest-angular/src/main/webapp/js/lib/angular/i18n/angular-locale_am-et.js
new file mode 100644
index 0000000..77b38ff
--- /dev/null
+++ b/rest-angular/src/main/webapp/js/lib/angular/i18n/angular-locale_am-et.js
@@ -0,0 +1,110 @@
+'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": [
+      "\u1325\u12cb\u1275",
+      "\u12a8\u1230\u12d3\u1275"
+    ],
+    "DAY": [
+      "\u12a5\u1211\u12f5",
+      "\u1230\u129e",
+      "\u121b\u12ad\u1230\u129e",
+      "\u1228\u1261\u12d5",
+      "\u1210\u1219\u1235",
+      "\u12d3\u122d\u1265",
+      "\u1245\u12f3\u121c"
+    ],
+    "ERANAMES": [
+      "\u12d3\u1218\u1270 \u12d3\u1208\u121d",
+      "\u12d3\u1218\u1270 \u121d\u1215\u1228\u1275"
+    ],
+    "ERAS": [
+      "\u12d3/\u12d3",
+      "\u12d3/\u121d"
+    ],
+    "FIRSTDAYOFWEEK": 6,
+    "MONTH": [
+      "\u1303\u1295\u12e9\u12c8\u122a",
+      "\u134c\u1265\u1229\u12c8\u122a",
+      "\u121b\u122d\u127d",
+      "\u12a4\u1355\u122a\u120d",
+      "\u121c\u12ed",
+      "\u1301\u1295",
+      "\u1301\u120b\u12ed",
+      "\u12a6\u1308\u1235\u1275",
+      "\u1234\u1355\u1274\u121d\u1260\u122d",
+      "\u12a6\u12ad\u1276\u1260\u122d",
+      "\u1296\u126c\u121d\u1260\u122d",
+      "\u12f2\u1234\u121d\u1260\u122d"
+    ],
+    "SHORTDAY": [
+      "\u12a5\u1211\u12f5",
+      "\u1230\u129e",
+      "\u121b\u12ad\u1230",
+      "\u1228\u1261\u12d5",
+      "\u1210\u1219\u1235",
+      "\u12d3\u122d\u1265",
+      "\u1245\u12f3\u121c"
+    ],
+    "SHORTMONTH": [
+      "\u1303\u1295\u12e9",
+      "\u134c\u1265\u1229",
+      "\u121b\u122d\u127d",
+      "\u12a4\u1355\u122a",
+      "\u121c\u12ed",
+      "\u1301\u1295",
+      "\u1301\u120b\u12ed",
+      "\u12a6\u1308\u1235",
+      "\u1234\u1355\u1274",
+      "\u12a6\u12ad\u1276",
+      "\u1296\u126c\u121d",
+      "\u12f2\u1234\u121d"
+    ],
+    "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": "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": "am-et",
+  "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-examples/blob/a183bf5c/rest-angular/src/main/webapp/js/lib/angular/i18n/angular-locale_am.js
----------------------------------------------------------------------
diff --git a/rest-angular/src/main/webapp/js/lib/angular/i18n/angular-locale_am.js b/rest-angular/src/main/webapp/js/lib/angular/i18n/angular-locale_am.js
new file mode 100644
index 0000000..0314649
--- /dev/null
+++ b/rest-angular/src/main/webapp/js/lib/angular/i18n/angular-locale_am.js
@@ -0,0 +1,110 @@
+'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": [
+      "\u1325\u12cb\u1275",
+      "\u12a8\u1230\u12d3\u1275"
+    ],
+    "DAY": [
+      "\u12a5\u1211\u12f5",
+      "\u1230\u129e",
+      "\u121b\u12ad\u1230\u129e",
+      "\u1228\u1261\u12d5",
+      "\u1210\u1219\u1235",
+      "\u12d3\u122d\u1265",
+      "\u1245\u12f3\u121c"
+    ],
+    "ERANAMES": [
+      "\u12d3\u1218\u1270 \u12d3\u1208\u121d",
+      "\u12d3\u1218\u1270 \u121d\u1215\u1228\u1275"
+    ],
+    "ERAS": [
+      "\u12d3/\u12d3",
+      "\u12d3/\u121d"
+    ],
+    "FIRSTDAYOFWEEK": 6,
+    "MONTH": [
+      "\u1303\u1295\u12e9\u12c8\u122a",
+      "\u134c\u1265\u1229\u12c8\u122a",
+      "\u121b\u122d\u127d",
+      "\u12a4\u1355\u122a\u120d",
+      "\u121c\u12ed",
+      "\u1301\u1295",
+      "\u1301\u120b\u12ed",
+      "\u12a6\u1308\u1235\u1275",
+      "\u1234\u1355\u1274\u121d\u1260\u122d",
+      "\u12a6\u12ad\u1276\u1260\u122d",
+      "\u1296\u126c\u121d\u1260\u122d",
+      "\u12f2\u1234\u121d\u1260\u122d"
+    ],
+    "SHORTDAY": [
+      "\u12a5\u1211\u12f5",
+      "\u1230\u129e",
+      "\u121b\u12ad\u1230",
+      "\u1228\u1261\u12d5",
+      "\u1210\u1219\u1235",
+      "\u12d3\u122d\u1265",
+      "\u1245\u12f3\u121c"
+    ],
+    "SHORTMONTH": [
+      "\u1303\u1295\u12e9",
+      "\u134c\u1265\u1229",
+      "\u121b\u122d\u127d",
+      "\u12a4\u1355\u122a",
+      "\u121c\u12ed",
+      "\u1301\u1295",
+      "\u1301\u120b\u12ed",
+      "\u12a6\u1308\u1235",
+      "\u1234\u1355\u1274",
+      "\u12a6\u12ad\u1276",
+      "\u1296\u126c\u121d",
+      "\u12f2\u1234\u121d"
+    ],
+    "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": "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": "am",
+  "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-examples/blob/a183bf5c/rest-angular/src/main/webapp/js/lib/angular/i18n/angular-locale_ar-001.js
----------------------------------------------------------------------
diff --git a/rest-angular/src/main/webapp/js/lib/angular/i18n/angular-locale_ar-001.js b/rest-angular/src/main/webapp/js/lib/angular/i18n/angular-locale_ar-001.js
new file mode 100644
index 0000000..a9a7875
--- /dev/null
+++ b/rest-angular/src/main/webapp/js/lib/angular/i18n/angular-locale_ar-001.js
@@ -0,0 +1,110 @@
+'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": [
+      "\u0635",
+      "\u0645"
+    ],
+    "DAY": [
+      "\u0627\u0644\u0623\u062d\u062f",
+      "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
+      "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
+      "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
+      "\u0627\u0644\u062e\u0645\u064a\u0633",
+      "\u0627\u0644\u062c\u0645\u0639\u0629",
+      "\u0627\u0644\u0633\u0628\u062a"
+    ],
+    "ERANAMES": [
+      "\u0642\u0628\u0644 \u0627\u0644\u0645\u064a\u0644\u0627\u062f",
+      "\u0645\u064a\u0644\u0627\u062f\u064a"
+    ],
+    "ERAS": [
+      "\u0642.\u0645",
+      "\u0645"
+    ],
+    "FIRSTDAYOFWEEK": 5,
+    "MONTH": [
+      "\u064a\u0646\u0627\u064a\u0631",
+      "\u0641\u0628\u0631\u0627\u064a\u0631",
+      "\u0645\u0627\u0631\u0633",
+      "\u0623\u0628\u0631\u064a\u0644",
+      "\u0645\u0627\u064a\u0648",
+      "\u064a\u0648\u0646\u064a\u0648",
+      "\u064a\u0648\u0644\u064a\u0648",
+      "\u0623\u063a\u0633\u0637\u0633",
+      "\u0633\u0628\u062a\u0645\u0628\u0631",
+      "\u0623\u0643\u062a\u0648\u0628\u0631",
+      "\u0646\u0648\u0641\u0645\u0628\u0631",
+      "\u062f\u064a\u0633\u0645\u0628\u0631"
+    ],
+    "SHORTDAY": [
+      "\u0627\u0644\u0623\u062d\u062f",
+      "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
+      "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
+      "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
+      "\u0627\u0644\u062e\u0645\u064a\u0633",
+      "\u0627\u0644\u062c\u0645\u0639\u0629",
+      "\u0627\u0644\u0633\u0628\u062a"
+    ],
+    "SHORTMONTH": [
+      "\u064a\u0646\u0627\u064a\u0631",
+      "\u0641\u0628\u0631\u0627\u064a\u0631",
+      "\u0645\u0627\u0631\u0633",
+      "\u0623\u0628\u0631\u064a\u0644",
+      "\u0645\u0627\u064a\u0648",
+      "\u064a\u0648\u0646\u064a\u0648",
+      "\u064a\u0648\u0644\u064a\u0648",
+      "\u0623\u063a\u0633\u0637\u0633",
+      "\u0633\u0628\u062a\u0645\u0628\u0631",
+      "\u0623\u0643\u062a\u0648\u0628\u0631",
+      "\u0646\u0648\u0641\u0645\u0628\u0631",
+      "\u062f\u064a\u0633\u0645\u0628\u0631"
+    ],
+    "WEEKENDRANGE": [
+      4,
+      5
+    ],
+    "fullDate": "EEEE\u060c d MMMM\u060c y",
+    "longDate": "d MMMM\u060c y",
+    "medium": "dd\u200f/MM\u200f/y h:mm:ss a",
+    "mediumDate": "dd\u200f/MM\u200f/y",
+    "mediumTime": "h:mm:ss a",
+    "short": "d\u200f/M\u200f/y h:mm a",
+    "shortDate": "d\u200f/M\u200f/y",
+    "shortTime": "h:mm a"
+  },
+  "NUMBER_FORMATS": {
+    "CURRENCY_SYM": "\u00a3",
+    "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": "-\u00a4\u00a0",
+        "negSuf": "",
+        "posPre": "\u00a4\u00a0",
+        "posSuf": ""
+      }
+    ]
+  },
+  "id": "ar-001",
+  "pluralCat": function(n, opt_precision) {  if (n == 0) {    return PLURAL_CATEGORY.ZERO;  }  if (n == 1) {    return PLURAL_CATEGORY.ONE;  }  if (n == 2) {    return PLURAL_CATEGORY.TWO;  }  if (n % 100 >= 3 && n % 100 <= 10) {    return PLURAL_CATEGORY.FEW;  }  if (n % 100 >= 11 && n % 100 <= 99) {    return PLURAL_CATEGORY.MANY;  }  return PLURAL_CATEGORY.OTHER;}
+});
+}]);

http://git-wip-us.apache.org/repos/asf/struts-examples/blob/a183bf5c/rest-angular/src/main/webapp/js/lib/angular/i18n/angular-locale_ar-ae.js
----------------------------------------------------------------------
diff --git a/rest-angular/src/main/webapp/js/lib/angular/i18n/angular-locale_ar-ae.js b/rest-angular/src/main/webapp/js/lib/angular/i18n/angular-locale_ar-ae.js
new file mode 100644
index 0000000..6b335da
--- /dev/null
+++ b/rest-angular/src/main/webapp/js/lib/angular/i18n/angular-locale_ar-ae.js
@@ -0,0 +1,110 @@
+'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": [
+      "\u0635",
+      "\u0645"
+    ],
+    "DAY": [
+      "\u0627\u0644\u0623\u062d\u062f",
+      "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
+      "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
+      "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
+      "\u0627\u0644\u062e\u0645\u064a\u0633",
+      "\u0627\u0644\u062c\u0645\u0639\u0629",
+      "\u0627\u0644\u0633\u0628\u062a"
+    ],
+    "ERANAMES": [
+      "\u0642\u0628\u0644 \u0627\u0644\u0645\u064a\u0644\u0627\u062f",
+      "\u0645\u064a\u0644\u0627\u062f\u064a"
+    ],
+    "ERAS": [
+      "\u0642.\u0645",
+      "\u0645"
+    ],
+    "FIRSTDAYOFWEEK": 5,
+    "MONTH": [
+      "\u064a\u0646\u0627\u064a\u0631",
+      "\u0641\u0628\u0631\u0627\u064a\u0631",
+      "\u0645\u0627\u0631\u0633",
+      "\u0623\u0628\u0631\u064a\u0644",
+      "\u0645\u0627\u064a\u0648",
+      "\u064a\u0648\u0646\u064a\u0648",
+      "\u064a\u0648\u0644\u064a\u0648",
+      "\u0623\u063a\u0633\u0637\u0633",
+      "\u0633\u0628\u062a\u0645\u0628\u0631",
+      "\u0623\u0643\u062a\u0648\u0628\u0631",
+      "\u0646\u0648\u0641\u0645\u0628\u0631",
+      "\u062f\u064a\u0633\u0645\u0628\u0631"
+    ],
+    "SHORTDAY": [
+      "\u0627\u0644\u0623\u062d\u062f",
+      "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
+      "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
+      "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
+      "\u0627\u0644\u062e\u0645\u064a\u0633",
+      "\u0627\u0644\u062c\u0645\u0639\u0629",
+      "\u0627\u0644\u0633\u0628\u062a"
+    ],
+    "SHORTMONTH": [
+      "\u064a\u0646\u0627\u064a\u0631",
+      "\u0641\u0628\u0631\u0627\u064a\u0631",
+      "\u0645\u0627\u0631\u0633",
+      "\u0623\u0628\u0631\u064a\u0644",
+      "\u0645\u0627\u064a\u0648",
+      "\u064a\u0648\u0646\u064a\u0648",
+      "\u064a\u0648\u0644\u064a\u0648",
+      "\u0623\u063a\u0633\u0637\u0633",
+      "\u0633\u0628\u062a\u0645\u0628\u0631",
+      "\u0623\u0643\u062a\u0648\u0628\u0631",
+      "\u0646\u0648\u0641\u0645\u0628\u0631",
+      "\u062f\u064a\u0633\u0645\u0628\u0631"
+    ],
+    "WEEKENDRANGE": [
+      4,
+      5
+    ],
+    "fullDate": "EEEE\u060c d MMMM\u060c y",
+    "longDate": "d MMMM\u060c y",
+    "medium": "dd\u200f/MM\u200f/y h:mm:ss a",
+    "mediumDate": "dd\u200f/MM\u200f/y",
+    "mediumTime": "h:mm:ss a",
+    "short": "d\u200f/M\u200f/y h:mm a",
+    "shortDate": "d\u200f/M\u200f/y",
+    "shortTime": "h:mm a"
+  },
+  "NUMBER_FORMATS": {
+    "CURRENCY_SYM": "dh",
+    "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": "-\u00a4\u00a0",
+        "negSuf": "",
+        "posPre": "\u00a4\u00a0",
+        "posSuf": ""
+      }
+    ]
+  },
+  "id": "ar-ae",
+  "pluralCat": function(n, opt_precision) {  if (n == 0) {    return PLURAL_CATEGORY.ZERO;  }  if (n == 1) {    return PLURAL_CATEGORY.ONE;  }  if (n == 2) {    return PLURAL_CATEGORY.TWO;  }  if (n % 100 >= 3 && n % 100 <= 10) {    return PLURAL_CATEGORY.FEW;  }  if (n % 100 >= 11 && n % 100 <= 99) {    return PLURAL_CATEGORY.MANY;  }  return PLURAL_CATEGORY.OTHER;}
+});
+}]);

http://git-wip-us.apache.org/repos/asf/struts-examples/blob/a183bf5c/rest-angular/src/main/webapp/js/lib/angular/i18n/angular-locale_ar-bh.js
----------------------------------------------------------------------
diff --git a/rest-angular/src/main/webapp/js/lib/angular/i18n/angular-locale_ar-bh.js b/rest-angular/src/main/webapp/js/lib/angular/i18n/angular-locale_ar-bh.js
new file mode 100644
index 0000000..361f8ab
--- /dev/null
+++ b/rest-angular/src/main/webapp/js/lib/angular/i18n/angular-locale_ar-bh.js
@@ -0,0 +1,110 @@
+'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": [
+      "\u0635",
+      "\u0645"
+    ],
+    "DAY": [
+      "\u0627\u0644\u0623\u062d\u062f",
+      "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
+      "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
+      "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
+      "\u0627\u0644\u062e\u0645\u064a\u0633",
+      "\u0627\u0644\u062c\u0645\u0639\u0629",
+      "\u0627\u0644\u0633\u0628\u062a"
+    ],
+    "ERANAMES": [
+      "\u0642\u0628\u0644 \u0627\u0644\u0645\u064a\u0644\u0627\u062f",
+      "\u0645\u064a\u0644\u0627\u062f\u064a"
+    ],
+    "ERAS": [
+      "\u0642.\u0645",
+      "\u0645"
+    ],
+    "FIRSTDAYOFWEEK": 5,
+    "MONTH": [
+      "\u064a\u0646\u0627\u064a\u0631",
+      "\u0641\u0628\u0631\u0627\u064a\u0631",
+      "\u0645\u0627\u0631\u0633",
+      "\u0623\u0628\u0631\u064a\u0644",
+      "\u0645\u0627\u064a\u0648",
+      "\u064a\u0648\u0646\u064a\u0648",
+      "\u064a\u0648\u0644\u064a\u0648",
+      "\u0623\u063a\u0633\u0637\u0633",
+      "\u0633\u0628\u062a\u0645\u0628\u0631",
+      "\u0623\u0643\u062a\u0648\u0628\u0631",
+      "\u0646\u0648\u0641\u0645\u0628\u0631",
+      "\u062f\u064a\u0633\u0645\u0628\u0631"
+    ],
+    "SHORTDAY": [
+      "\u0627\u0644\u0623\u062d\u062f",
+      "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
+      "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
+      "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
+      "\u0627\u0644\u062e\u0645\u064a\u0633",
+      "\u0627\u0644\u062c\u0645\u0639\u0629",
+      "\u0627\u0644\u0633\u0628\u062a"
+    ],
+    "SHORTMONTH": [
+      "\u064a\u0646\u0627\u064a\u0631",
+      "\u0641\u0628\u0631\u0627\u064a\u0631",
+      "\u0645\u0627\u0631\u0633",
+      "\u0623\u0628\u0631\u064a\u0644",
+      "\u0645\u0627\u064a\u0648",
+      "\u064a\u0648\u0646\u064a\u0648",
+      "\u064a\u0648\u0644\u064a\u0648",
+      "\u0623\u063a\u0633\u0637\u0633",
+      "\u0633\u0628\u062a\u0645\u0628\u0631",
+      "\u0623\u0643\u062a\u0648\u0628\u0631",
+      "\u0646\u0648\u0641\u0645\u0628\u0631",
+      "\u062f\u064a\u0633\u0645\u0628\u0631"
+    ],
+    "WEEKENDRANGE": [
+      4,
+      5
+    ],
+    "fullDate": "EEEE\u060c d MMMM\u060c y",
+    "longDate": "d MMMM\u060c y",
+    "medium": "dd\u200f/MM\u200f/y h:mm:ss a",
+    "mediumDate": "dd\u200f/MM\u200f/y",
+    "mediumTime": "h:mm:ss a",
+    "short": "d\u200f/M\u200f/y h:mm a",
+    "shortDate": "d\u200f/M\u200f/y",
+    "shortTime": "h:mm a"
+  },
+  "NUMBER_FORMATS": {
+    "CURRENCY_SYM": "din",
+    "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": "-\u00a4\u00a0",
+        "negSuf": "",
+        "posPre": "\u00a4\u00a0",
+        "posSuf": ""
+      }
+    ]
+  },
+  "id": "ar-bh",
+  "pluralCat": function(n, opt_precision) {  if (n == 0) {    return PLURAL_CATEGORY.ZERO;  }  if (n == 1) {    return PLURAL_CATEGORY.ONE;  }  if (n == 2) {    return PLURAL_CATEGORY.TWO;  }  if (n % 100 >= 3 && n % 100 <= 10) {    return PLURAL_CATEGORY.FEW;  }  if (n % 100 >= 11 && n % 100 <= 99) {    return PLURAL_CATEGORY.MANY;  }  return PLURAL_CATEGORY.OTHER;}
+});
+}]);

http://git-wip-us.apache.org/repos/asf/struts-examples/blob/a183bf5c/rest-angular/src/main/webapp/js/lib/angular/i18n/angular-locale_ar-dj.js
----------------------------------------------------------------------
diff --git a/rest-angular/src/main/webapp/js/lib/angular/i18n/angular-locale_ar-dj.js b/rest-angular/src/main/webapp/js/lib/angular/i18n/angular-locale_ar-dj.js
new file mode 100644
index 0000000..d44bbce
--- /dev/null
+++ b/rest-angular/src/main/webapp/js/lib/angular/i18n/angular-locale_ar-dj.js
@@ -0,0 +1,110 @@
+'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": [
+      "\u0635",
+      "\u0645"
+    ],
+    "DAY": [
+      "\u0627\u0644\u0623\u062d\u062f",
+      "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
+      "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
+      "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
+      "\u0627\u0644\u062e\u0645\u064a\u0633",
+      "\u0627\u0644\u062c\u0645\u0639\u0629",
+      "\u0627\u0644\u0633\u0628\u062a"
+    ],
+    "ERANAMES": [
+      "\u0642\u0628\u0644 \u0627\u0644\u0645\u064a\u0644\u0627\u062f",
+      "\u0645\u064a\u0644\u0627\u062f\u064a"
+    ],
+    "ERAS": [
+      "\u0642.\u0645",
+      "\u0645"
+    ],
+    "FIRSTDAYOFWEEK": 5,
+    "MONTH": [
+      "\u064a\u0646\u0627\u064a\u0631",
+      "\u0641\u0628\u0631\u0627\u064a\u0631",
+      "\u0645\u0627\u0631\u0633",
+      "\u0623\u0628\u0631\u064a\u0644",
+      "\u0645\u0627\u064a\u0648",
+      "\u064a\u0648\u0646\u064a\u0648",
+      "\u064a\u0648\u0644\u064a\u0648",
+      "\u0623\u063a\u0633\u0637\u0633",
+      "\u0633\u0628\u062a\u0645\u0628\u0631",
+      "\u0623\u0643\u062a\u0648\u0628\u0631",
+      "\u0646\u0648\u0641\u0645\u0628\u0631",
+      "\u062f\u064a\u0633\u0645\u0628\u0631"
+    ],
+    "SHORTDAY": [
+      "\u0627\u0644\u0623\u062d\u062f",
+      "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
+      "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
+      "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
+      "\u0627\u0644\u062e\u0645\u064a\u0633",
+      "\u0627\u0644\u062c\u0645\u0639\u0629",
+      "\u0627\u0644\u0633\u0628\u062a"
+    ],
+    "SHORTMONTH": [
+      "\u064a\u0646\u0627\u064a\u0631",
+      "\u0641\u0628\u0631\u0627\u064a\u0631",
+      "\u0645\u0627\u0631\u0633",
+      "\u0623\u0628\u0631\u064a\u0644",
+      "\u0645\u0627\u064a\u0648",
+      "\u064a\u0648\u0646\u064a\u0648",
+      "\u064a\u0648\u0644\u064a\u0648",
+      "\u0623\u063a\u0633\u0637\u0633",
+      "\u0633\u0628\u062a\u0645\u0628\u0631",
+      "\u0623\u0643\u062a\u0648\u0628\u0631",
+      "\u0646\u0648\u0641\u0645\u0628\u0631",
+      "\u062f\u064a\u0633\u0645\u0628\u0631"
+    ],
+    "WEEKENDRANGE": [
+      5,
+      6
+    ],
+    "fullDate": "EEEE\u060c d MMMM\u060c y",
+    "longDate": "d MMMM\u060c y",
+    "medium": "dd\u200f/MM\u200f/y h:mm:ss a",
+    "mediumDate": "dd\u200f/MM\u200f/y",
+    "mediumTime": "h:mm:ss a",
+    "short": "d\u200f/M\u200f/y h:mm a",
+    "shortDate": "d\u200f/M\u200f/y",
+    "shortTime": "h:mm a"
+  },
+  "NUMBER_FORMATS": {
+    "CURRENCY_SYM": "Fdj",
+    "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": "-\u00a4\u00a0",
+        "negSuf": "",
+        "posPre": "\u00a4\u00a0",
+        "posSuf": ""
+      }
+    ]
+  },
+  "id": "ar-dj",
+  "pluralCat": function(n, opt_precision) {  if (n == 0) {    return PLURAL_CATEGORY.ZERO;  }  if (n == 1) {    return PLURAL_CATEGORY.ONE;  }  if (n == 2) {    return PLURAL_CATEGORY.TWO;  }  if (n % 100 >= 3 && n % 100 <= 10) {    return PLURAL_CATEGORY.FEW;  }  if (n % 100 >= 11 && n % 100 <= 99) {    return PLURAL_CATEGORY.MANY;  }  return PLURAL_CATEGORY.OTHER;}
+});
+}]);

http://git-wip-us.apache.org/repos/asf/struts-examples/blob/a183bf5c/rest-angular/src/main/webapp/js/lib/angular/i18n/angular-locale_ar-dz.js
----------------------------------------------------------------------
diff --git a/rest-angular/src/main/webapp/js/lib/angular/i18n/angular-locale_ar-dz.js b/rest-angular/src/main/webapp/js/lib/angular/i18n/angular-locale_ar-dz.js
new file mode 100644
index 0000000..871d2ce
--- /dev/null
+++ b/rest-angular/src/main/webapp/js/lib/angular/i18n/angular-locale_ar-dz.js
@@ -0,0 +1,110 @@
+'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": [
+      "\u0635",
+      "\u0645"
+    ],
+    "DAY": [
+      "\u0627\u0644\u0623\u062d\u062f",
+      "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
+      "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
+      "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
+      "\u0627\u0644\u062e\u0645\u064a\u0633",
+      "\u0627\u0644\u062c\u0645\u0639\u0629",
+      "\u0627\u0644\u0633\u0628\u062a"
+    ],
+    "ERANAMES": [
+      "\u0642\u0628\u0644 \u0627\u0644\u0645\u064a\u0644\u0627\u062f",
+      "\u0645\u064a\u0644\u0627\u062f\u064a"
+    ],
+    "ERAS": [
+      "\u0642.\u0645",
+      "\u0645"
+    ],
+    "FIRSTDAYOFWEEK": 5,
+    "MONTH": [
+      "\u062c\u0627\u0646\u0641\u064a",
+      "\u0641\u064a\u0641\u0631\u064a",
+      "\u0645\u0627\u0631\u0633",
+      "\u0623\u0641\u0631\u064a\u0644",
+      "\u0645\u0627\u064a",
+      "\u062c\u0648\u0627\u0646",
+      "\u062c\u0648\u064a\u0644\u064a\u0629",
+      "\u0623\u0648\u062a",
+      "\u0633\u0628\u062a\u0645\u0628\u0631",
+      "\u0623\u0643\u062a\u0648\u0628\u0631",
+      "\u0646\u0648\u0641\u0645\u0628\u0631",
+      "\u062f\u064a\u0633\u0645\u0628\u0631"
+    ],
+    "SHORTDAY": [
+      "\u0627\u0644\u0623\u062d\u062f",
+      "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
+      "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
+      "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
+      "\u0627\u0644\u062e\u0645\u064a\u0633",
+      "\u0627\u0644\u062c\u0645\u0639\u0629",
+      "\u0627\u0644\u0633\u0628\u062a"
+    ],
+    "SHORTMONTH": [
+      "\u062c\u0627\u0646\u0641\u064a",
+      "\u0641\u064a\u0641\u0631\u064a",
+      "\u0645\u0627\u0631\u0633",
+      "\u0623\u0641\u0631\u064a\u0644",
+      "\u0645\u0627\u064a",
+      "\u062c\u0648\u0627\u0646",
+      "\u062c\u0648\u064a\u0644\u064a\u0629",
+      "\u0623\u0648\u062a",
+      "\u0633\u0628\u062a\u0645\u0628\u0631",
+      "\u0623\u0643\u062a\u0648\u0628\u0631",
+      "\u0646\u0648\u0641\u0645\u0628\u0631",
+      "\u062f\u064a\u0633\u0645\u0628\u0631"
+    ],
+    "WEEKENDRANGE": [
+      4,
+      5
+    ],
+    "fullDate": "EEEE\u060c d MMMM\u060c y",
+    "longDate": "d MMMM\u060c y",
+    "medium": "dd\u200f/MM\u200f/y h:mm:ss a",
+    "mediumDate": "dd\u200f/MM\u200f/y",
+    "mediumTime": "h:mm:ss a",
+    "short": "d\u200f/M\u200f/y h:mm a",
+    "shortDate": "d\u200f/M\u200f/y",
+    "shortTime": "h:mm a"
+  },
+  "NUMBER_FORMATS": {
+    "CURRENCY_SYM": "din",
+    "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": "ar-dz",
+  "pluralCat": function(n, opt_precision) {  if (n == 0) {    return PLURAL_CATEGORY.ZERO;  }  if (n == 1) {    return PLURAL_CATEGORY.ONE;  }  if (n == 2) {    return PLURAL_CATEGORY.TWO;  }  if (n % 100 >= 3 && n % 100 <= 10) {    return PLURAL_CATEGORY.FEW;  }  if (n % 100 >= 11 && n % 100 <= 99) {    return PLURAL_CATEGORY.MANY;  }  return PLURAL_CATEGORY.OTHER;}
+});
+}]);

http://git-wip-us.apache.org/repos/asf/struts-examples/blob/a183bf5c/rest-angular/src/main/webapp/js/lib/angular/i18n/angular-locale_ar-eg.js
----------------------------------------------------------------------
diff --git a/rest-angular/src/main/webapp/js/lib/angular/i18n/angular-locale_ar-eg.js b/rest-angular/src/main/webapp/js/lib/angular/i18n/angular-locale_ar-eg.js
new file mode 100644
index 0000000..734c629
--- /dev/null
+++ b/rest-angular/src/main/webapp/js/lib/angular/i18n/angular-locale_ar-eg.js
@@ -0,0 +1,110 @@
+'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": [
+      "\u0635",
+      "\u0645"
+    ],
+    "DAY": [
+      "\u0627\u0644\u0623\u062d\u062f",
+      "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
+      "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
+      "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
+      "\u0627\u0644\u062e\u0645\u064a\u0633",
+      "\u0627\u0644\u062c\u0645\u0639\u0629",
+      "\u0627\u0644\u0633\u0628\u062a"
+    ],
+    "ERANAMES": [
+      "\u0642\u0628\u0644 \u0627\u0644\u0645\u064a\u0644\u0627\u062f",
+      "\u0645\u064a\u0644\u0627\u062f\u064a"
+    ],
+    "ERAS": [
+      "\u0642.\u0645",
+      "\u0645"
+    ],
+    "FIRSTDAYOFWEEK": 5,
+    "MONTH": [
+      "\u064a\u0646\u0627\u064a\u0631",
+      "\u0641\u0628\u0631\u0627\u064a\u0631",
+      "\u0645\u0627\u0631\u0633",
+      "\u0623\u0628\u0631\u064a\u0644",
+      "\u0645\u0627\u064a\u0648",
+      "\u064a\u0648\u0646\u064a\u0648",
+      "\u064a\u0648\u0644\u064a\u0648",
+      "\u0623\u063a\u0633\u0637\u0633",
+      "\u0633\u0628\u062a\u0645\u0628\u0631",
+      "\u0623\u0643\u062a\u0648\u0628\u0631",
+      "\u0646\u0648\u0641\u0645\u0628\u0631",
+      "\u062f\u064a\u0633\u0645\u0628\u0631"
+    ],
+    "SHORTDAY": [
+      "\u0627\u0644\u0623\u062d\u062f",
+      "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
+      "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
+      "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
+      "\u0627\u0644\u062e\u0645\u064a\u0633",
+      "\u0627\u0644\u062c\u0645\u0639\u0629",
+      "\u0627\u0644\u0633\u0628\u062a"
+    ],
+    "SHORTMONTH": [
+      "\u064a\u0646\u0627\u064a\u0631",
+      "\u0641\u0628\u0631\u0627\u064a\u0631",
+      "\u0645\u0627\u0631\u0633",
+      "\u0623\u0628\u0631\u064a\u0644",
+      "\u0645\u0627\u064a\u0648",
+      "\u064a\u0648\u0646\u064a\u0648",
+      "\u064a\u0648\u0644\u064a\u0648",
+      "\u0623\u063a\u0633\u0637\u0633",
+      "\u0633\u0628\u062a\u0645\u0628\u0631",
+      "\u0623\u0643\u062a\u0648\u0628\u0631",
+      "\u0646\u0648\u0641\u0645\u0628\u0631",
+      "\u062f\u064a\u0633\u0645\u0628\u0631"
+    ],
+    "WEEKENDRANGE": [
+      4,
+      5
+    ],
+    "fullDate": "EEEE\u060c d MMMM\u060c y",
+    "longDate": "d MMMM\u060c y",
+    "medium": "dd\u200f/MM\u200f/y h:mm:ss a",
+    "mediumDate": "dd\u200f/MM\u200f/y",
+    "mediumTime": "h:mm:ss a",
+    "short": "d\u200f/M\u200f/y h:mm a",
+    "shortDate": "d\u200f/M\u200f/y",
+    "shortTime": "h:mm a"
+  },
+  "NUMBER_FORMATS": {
+    "CURRENCY_SYM": "\u00a3",
+    "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": "-\u00a4\u00a0",
+        "negSuf": "",
+        "posPre": "\u00a4\u00a0",
+        "posSuf": ""
+      }
+    ]
+  },
+  "id": "ar-eg",
+  "pluralCat": function(n, opt_precision) {  if (n == 0) {    return PLURAL_CATEGORY.ZERO;  }  if (n == 1) {    return PLURAL_CATEGORY.ONE;  }  if (n == 2) {    return PLURAL_CATEGORY.TWO;  }  if (n % 100 >= 3 && n % 100 <= 10) {    return PLURAL_CATEGORY.FEW;  }  if (n % 100 >= 11 && n % 100 <= 99) {    return PLURAL_CATEGORY.MANY;  }  return PLURAL_CATEGORY.OTHER;}
+});
+}]);

http://git-wip-us.apache.org/repos/asf/struts-examples/blob/a183bf5c/rest-angular/src/main/webapp/js/lib/angular/i18n/angular-locale_ar-eh.js
----------------------------------------------------------------------
diff --git a/rest-angular/src/main/webapp/js/lib/angular/i18n/angular-locale_ar-eh.js b/rest-angular/src/main/webapp/js/lib/angular/i18n/angular-locale_ar-eh.js
new file mode 100644
index 0000000..f9c2666
--- /dev/null
+++ b/rest-angular/src/main/webapp/js/lib/angular/i18n/angular-locale_ar-eh.js
@@ -0,0 +1,110 @@
+'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": [
+      "\u0635",
+      "\u0645"
+    ],
+    "DAY": [
+      "\u0627\u0644\u0623\u062d\u062f",
+      "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
+      "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
+      "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
+      "\u0627\u0644\u062e\u0645\u064a\u0633",
+      "\u0627\u0644\u062c\u0645\u0639\u0629",
+      "\u0627\u0644\u0633\u0628\u062a"
+    ],
+    "ERANAMES": [
+      "\u0642\u0628\u0644 \u0627\u0644\u0645\u064a\u0644\u0627\u062f",
+      "\u0645\u064a\u0644\u0627\u062f\u064a"
+    ],
+    "ERAS": [
+      "\u0642.\u0645",
+      "\u0645"
+    ],
+    "FIRSTDAYOFWEEK": 0,
+    "MONTH": [
+      "\u064a\u0646\u0627\u064a\u0631",
+      "\u0641\u0628\u0631\u0627\u064a\u0631",
+      "\u0645\u0627\u0631\u0633",
+      "\u0623\u0628\u0631\u064a\u0644",
+      "\u0645\u0627\u064a\u0648",
+      "\u064a\u0648\u0646\u064a\u0648",
+      "\u064a\u0648\u0644\u064a\u0648",
+      "\u0623\u063a\u0633\u0637\u0633",
+      "\u0633\u0628\u062a\u0645\u0628\u0631",
+      "\u0623\u0643\u062a\u0648\u0628\u0631",
+      "\u0646\u0648\u0641\u0645\u0628\u0631",
+      "\u062f\u064a\u0633\u0645\u0628\u0631"
+    ],
+    "SHORTDAY": [
+      "\u0627\u0644\u0623\u062d\u062f",
+      "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
+      "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
+      "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
+      "\u0627\u0644\u062e\u0645\u064a\u0633",
+      "\u0627\u0644\u062c\u0645\u0639\u0629",
+      "\u0627\u0644\u0633\u0628\u062a"
+    ],
+    "SHORTMONTH": [
+      "\u064a\u0646\u0627\u064a\u0631",
+      "\u0641\u0628\u0631\u0627\u064a\u0631",
+      "\u0645\u0627\u0631\u0633",
+      "\u0623\u0628\u0631\u064a\u0644",
+      "\u0645\u0627\u064a\u0648",
+      "\u064a\u0648\u0646\u064a\u0648",
+      "\u064a\u0648\u0644\u064a\u0648",
+      "\u0623\u063a\u0633\u0637\u0633",
+      "\u0633\u0628\u062a\u0645\u0628\u0631",
+      "\u0623\u0643\u062a\u0648\u0628\u0631",
+      "\u0646\u0648\u0641\u0645\u0628\u0631",
+      "\u062f\u064a\u0633\u0645\u0628\u0631"
+    ],
+    "WEEKENDRANGE": [
+      5,
+      6
+    ],
+    "fullDate": "EEEE\u060c d MMMM\u060c y",
+    "longDate": "d MMMM\u060c y",
+    "medium": "dd\u200f/MM\u200f/y h:mm:ss a",
+    "mediumDate": "dd\u200f/MM\u200f/y",
+    "mediumTime": "h:mm:ss a",
+    "short": "d\u200f/M\u200f/y h:mm a",
+    "shortDate": "d\u200f/M\u200f/y",
+    "shortTime": "h:mm a"
+  },
+  "NUMBER_FORMATS": {
+    "CURRENCY_SYM": "dh",
+    "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": "ar-eh",
+  "pluralCat": function(n, opt_precision) {  if (n == 0) {    return PLURAL_CATEGORY.ZERO;  }  if (n == 1) {    return PLURAL_CATEGORY.ONE;  }  if (n == 2) {    return PLURAL_CATEGORY.TWO;  }  if (n % 100 >= 3 && n % 100 <= 10) {    return PLURAL_CATEGORY.FEW;  }  if (n % 100 >= 11 && n % 100 <= 99) {    return PLURAL_CATEGORY.MANY;  }  return PLURAL_CATEGORY.OTHER;}
+});
+}]);

http://git-wip-us.apache.org/repos/asf/struts-examples/blob/a183bf5c/rest-angular/src/main/webapp/js/lib/angular/i18n/angular-locale_ar-er.js
----------------------------------------------------------------------
diff --git a/rest-angular/src/main/webapp/js/lib/angular/i18n/angular-locale_ar-er.js b/rest-angular/src/main/webapp/js/lib/angular/i18n/angular-locale_ar-er.js
new file mode 100644
index 0000000..0510d70
--- /dev/null
+++ b/rest-angular/src/main/webapp/js/lib/angular/i18n/angular-locale_ar-er.js
@@ -0,0 +1,110 @@
+'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": [
+      "\u0635",
+      "\u0645"
+    ],
+    "DAY": [
+      "\u0627\u0644\u0623\u062d\u062f",
+      "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
+      "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
+      "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
+      "\u0627\u0644\u062e\u0645\u064a\u0633",
+      "\u0627\u0644\u062c\u0645\u0639\u0629",
+      "\u0627\u0644\u0633\u0628\u062a"
+    ],
+    "ERANAMES": [
+      "\u0642\u0628\u0644 \u0627\u0644\u0645\u064a\u0644\u0627\u062f",
+      "\u0645\u064a\u0644\u0627\u062f\u064a"
+    ],
+    "ERAS": [
+      "\u0642.\u0645",
+      "\u0645"
+    ],
+    "FIRSTDAYOFWEEK": 0,
+    "MONTH": [
+      "\u064a\u0646\u0627\u064a\u0631",
+      "\u0641\u0628\u0631\u0627\u064a\u0631",
+      "\u0645\u0627\u0631\u0633",
+      "\u0623\u0628\u0631\u064a\u0644",
+      "\u0645\u0627\u064a\u0648",
+      "\u064a\u0648\u0646\u064a\u0648",
+      "\u064a\u0648\u0644\u064a\u0648",
+      "\u0623\u063a\u0633\u0637\u0633",
+      "\u0633\u0628\u062a\u0645\u0628\u0631",
+      "\u0623\u0643\u062a\u0648\u0628\u0631",
+      "\u0646\u0648\u0641\u0645\u0628\u0631",
+      "\u062f\u064a\u0633\u0645\u0628\u0631"
+    ],
+    "SHORTDAY": [
+      "\u0627\u0644\u0623\u062d\u062f",
+      "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
+      "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
+      "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
+      "\u0627\u0644\u062e\u0645\u064a\u0633",
+      "\u0627\u0644\u062c\u0645\u0639\u0629",
+      "\u0627\u0644\u0633\u0628\u062a"
+    ],
+    "SHORTMONTH": [
+      "\u064a\u0646\u0627\u064a\u0631",
+      "\u0641\u0628\u0631\u0627\u064a\u0631",
+      "\u0645\u0627\u0631\u0633",
+      "\u0623\u0628\u0631\u064a\u0644",
+      "\u0645\u0627\u064a\u0648",
+      "\u064a\u0648\u0646\u064a\u0648",
+      "\u064a\u0648\u0644\u064a\u0648",
+      "\u0623\u063a\u0633\u0637\u0633",
+      "\u0633\u0628\u062a\u0645\u0628\u0631",
+      "\u0623\u0643\u062a\u0648\u0628\u0631",
+      "\u0646\u0648\u0641\u0645\u0628\u0631",
+      "\u062f\u064a\u0633\u0645\u0628\u0631"
+    ],
+    "WEEKENDRANGE": [
+      5,
+      6
+    ],
+    "fullDate": "EEEE\u060c d MMMM\u060c y",
+    "longDate": "d MMMM\u060c y",
+    "medium": "dd\u200f/MM\u200f/y h:mm:ss a",
+    "mediumDate": "dd\u200f/MM\u200f/y",
+    "mediumTime": "h:mm:ss a",
+    "short": "d\u200f/M\u200f/y h:mm a",
+    "shortDate": "d\u200f/M\u200f/y",
+    "shortTime": "h:mm a"
+  },
+  "NUMBER_FORMATS": {
+    "CURRENCY_SYM": "Nfk",
+    "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": "-\u00a4\u00a0",
+        "negSuf": "",
+        "posPre": "\u00a4\u00a0",
+        "posSuf": ""
+      }
+    ]
+  },
+  "id": "ar-er",
+  "pluralCat": function(n, opt_precision) {  if (n == 0) {    return PLURAL_CATEGORY.ZERO;  }  if (n == 1) {    return PLURAL_CATEGORY.ONE;  }  if (n == 2) {    return PLURAL_CATEGORY.TWO;  }  if (n % 100 >= 3 && n % 100 <= 10) {    return PLURAL_CATEGORY.FEW;  }  if (n % 100 >= 11 && n % 100 <= 99) {    return PLURAL_CATEGORY.MANY;  }  return PLURAL_CATEGORY.OTHER;}
+});
+}]);

http://git-wip-us.apache.org/repos/asf/struts-examples/blob/a183bf5c/rest-angular/src/main/webapp/js/lib/angular/i18n/angular-locale_ar-il.js
----------------------------------------------------------------------
diff --git a/rest-angular/src/main/webapp/js/lib/angular/i18n/angular-locale_ar-il.js b/rest-angular/src/main/webapp/js/lib/angular/i18n/angular-locale_ar-il.js
new file mode 100644
index 0000000..ea6e893
--- /dev/null
+++ b/rest-angular/src/main/webapp/js/lib/angular/i18n/angular-locale_ar-il.js
@@ -0,0 +1,110 @@
+'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": [
+      "\u0635",
+      "\u0645"
+    ],
+    "DAY": [
+      "\u0627\u0644\u0623\u062d\u062f",
+      "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
+      "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
+      "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
+      "\u0627\u0644\u062e\u0645\u064a\u0633",
+      "\u0627\u0644\u062c\u0645\u0639\u0629",
+      "\u0627\u0644\u0633\u0628\u062a"
+    ],
+    "ERANAMES": [
+      "\u0642\u0628\u0644 \u0627\u0644\u0645\u064a\u0644\u0627\u062f",
+      "\u0645\u064a\u0644\u0627\u062f\u064a"
+    ],
+    "ERAS": [
+      "\u0642.\u0645",
+      "\u0645"
+    ],
+    "FIRSTDAYOFWEEK": 6,
+    "MONTH": [
+      "\u064a\u0646\u0627\u064a\u0631",
+      "\u0641\u0628\u0631\u0627\u064a\u0631",
+      "\u0645\u0627\u0631\u0633",
+      "\u0623\u0628\u0631\u064a\u0644",
+      "\u0645\u0627\u064a\u0648",
+      "\u064a\u0648\u0646\u064a\u0648",
+      "\u064a\u0648\u0644\u064a\u0648",
+      "\u0623\u063a\u0633\u0637\u0633",
+      "\u0633\u0628\u062a\u0645\u0628\u0631",
+      "\u0623\u0643\u062a\u0648\u0628\u0631",
+      "\u0646\u0648\u0641\u0645\u0628\u0631",
+      "\u062f\u064a\u0633\u0645\u0628\u0631"
+    ],
+    "SHORTDAY": [
+      "\u0627\u0644\u0623\u062d\u062f",
+      "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
+      "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
+      "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
+      "\u0627\u0644\u062e\u0645\u064a\u0633",
+      "\u0627\u0644\u062c\u0645\u0639\u0629",
+      "\u0627\u0644\u0633\u0628\u062a"
+    ],
+    "SHORTMONTH": [
+      "\u064a\u0646\u0627\u064a\u0631",
+      "\u0641\u0628\u0631\u0627\u064a\u0631",
+      "\u0645\u0627\u0631\u0633",
+      "\u0623\u0628\u0631\u064a\u0644",
+      "\u0645\u0627\u064a\u0648",
+      "\u064a\u0648\u0646\u064a\u0648",
+      "\u064a\u0648\u0644\u064a\u0648",
+      "\u0623\u063a\u0633\u0637\u0633",
+      "\u0633\u0628\u062a\u0645\u0628\u0631",
+      "\u0623\u0643\u062a\u0648\u0628\u0631",
+      "\u0646\u0648\u0641\u0645\u0628\u0631",
+      "\u062f\u064a\u0633\u0645\u0628\u0631"
+    ],
+    "WEEKENDRANGE": [
+      4,
+      5
+    ],
+    "fullDate": "EEEE\u060c d MMMM\u060c y",
+    "longDate": "d MMMM\u060c y",
+    "medium": "dd\u200f/MM\u200f/y h:mm:ss a",
+    "mediumDate": "dd\u200f/MM\u200f/y",
+    "mediumTime": "h:mm:ss a",
+    "short": "d\u200f/M\u200f/y h:mm a",
+    "shortDate": "d\u200f/M\u200f/y",
+    "shortTime": "h:mm a"
+  },
+  "NUMBER_FORMATS": {
+    "CURRENCY_SYM": "\u20aa",
+    "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": "-\u00a4\u00a0",
+        "negSuf": "",
+        "posPre": "\u00a4\u00a0",
+        "posSuf": ""
+      }
+    ]
+  },
+  "id": "ar-il",
+  "pluralCat": function(n, opt_precision) {  if (n == 0) {    return PLURAL_CATEGORY.ZERO;  }  if (n == 1) {    return PLURAL_CATEGORY.ONE;  }  if (n == 2) {    return PLURAL_CATEGORY.TWO;  }  if (n % 100 >= 3 && n % 100 <= 10) {    return PLURAL_CATEGORY.FEW;  }  if (n % 100 >= 11 && n % 100 <= 99) {    return PLURAL_CATEGORY.MANY;  }  return PLURAL_CATEGORY.OTHER;}
+});
+}]);