A great way to get introduced to AngularJS is to work through this tutorial, which walks you through
+the construction of an AngularJS web app. The app you will build is a catalog that displays a list
+of Android devices, lets you filter the list to see only devices that interest you, and then view
+details for any device.
+
+
+
+
Work through the tutorial to see how Angular makes browsers smarter — without the use of extensions
+or plug-ins. As you work through the tutorial, you will:
+
+
+- See examples of how to use client-side data binding and dependency injection to build dynamic
+views of data that change immediately in response to user actions.
+- See how Angular creates listeners on your data without the need for DOM manipulation.
+- Learn a better, easier way to test your web apps.
+- Learn how to use Angular services to make common web tasks, such as getting data into your app,
+easier.
+
+
+
And all of this works in any browser without modification to the browser!
+
+
When you finish the tutorial you will be able to:
+
+
+- Create a dynamic application that works in any browser.
+- Define the differences between Angular and common JavaScript frameworks.
+- Understand how data binding works in AngularJS.
+- Use the angular-seed project to quickly boot-strap your own projects.
+- Create and run tests.
+- Identify resources for learning more about AngularJS.
+
+
+
The tutorial guides you through the entire process of building a simple application, including
+writing and running unit and end-to-end tests. Experiments at the end of each step provide
+suggestions for you to learn more about AngularJS and the application you are building.
+
+
You can go through the whole tutorial in a couple of hours or you may want to spend a pleasant day
+really digging into it. If you're looking for a shorter introduction to AngularJS, check out the
+Getting Started document.
+
+
Working with the code
+
+
You can follow this tutorial and hack on the code in either the Mac/Linux or the Windows
+environment. The tutorial relies on the use of Git versioning system for source code management.
+You don't need to know anything about Git to follow the tutorial. Select one of the tabs below
+and follow the instructions for setting up your computer.
+
+
+
+
+ You will need Node.js and Testacular to run unit tests, so please verify that you have
+ Node.js v0.8 or better installed
+ and that the node
executable is on your PATH
by running the following
+ command in a terminal window:
+ node --version
+ Additionally install Testacular if you
+ don't have it already:
+ npm install -g testacular
+ You'll also need Git, which you can get from
+ the Git site.
+ Clone the angular-phonecat repository located at Github by running the following command:
+ git clone git://github.com/angular/angular-phonecat.git
+ This command creates the angular-phonecat
directory in your current
+directory.
+ Change your current directory to angular-phonecat
:
+ cd angular-phonecat
+ The tutorial instructions assume you are running all commands from the angular-phonecat
+directory.
+ You will need an http server running on your system. Mac and Linux machines typically
+have Apache pre-installed, but If you don't already have one installed, you can use node
+to run scripts/web-server.js
, a simple bundled http server.
+
+
+
+
+
+ You will need Node.js and Testacular to run unit tests, so please verify that you have
+ Node.js v0.8 or better installed
+ and that the node
executable is on your PATH
by running the following
+ command in a terminal window:
+ node --version
+ Additionally install Testacular if you
+ don't have it already:
+ npm install -g testacular
+
+ You'll also need Git, which you can get from
+ the Git site.
+ Clone the angular-phonecat repository located at Github by running the following command:
+ git clone git://github.com/angular/angular-phonecat.git
+ This command creates the angular-phonecat directory in your current directory.
+ Change your current directory to angular-phonecat.
+ cd angular-phonecat
+ The tutorial instructions assume you are running all commands from the angular-phonecat
+directory.
+ You should run all git
commands from Git bash.
+ Other commands like test.bat
or e2e-test.bat
should be
+executed from the Windows command line.
+ You need an http server running on your system, but if you don't already have one
+already installed, you can use node
to run scripts\web-server.js
, a simple
+bundled http server.
+
+
+
+
The last thing to do is to make sure your computer has a web browser and a good text editor
+installed. Now, let's get some cool stuff done!
+
+
Get Started!
diff --git a/1.1.1/docs/partials/tutorial/step_00.html b/1.1.1/docs/partials/tutorial/step_00.html
new file mode 100644
index 000000000..b47387b20
--- /dev/null
+++ b/1.1.1/docs/partials/tutorial/step_00.html
@@ -0,0 +1,206 @@
+
+
+
+
+
+
You are now ready to build the AngularJS phonecat app. In this step, you will become familiar
+with the most important source code files, learn how to start the development servers bundled with
+angular-seed, and run the application in the browser.
+
+
+
+
+ In angular-phonecat directory, run this command:
+ git checkout -f step-0
+ This resets your workspace to step 0 of the tutorial app.
+ You must repeat this for every future step in the tutorial and change the number to
+ the number of the step you are on. This will cause any changes you made within
+ your working directory to be lost.
+
+ - To see the app running in a browser, do one of the following:
+
+ - For node.js users:
+
+ - In a separate terminal tab or window, run
+
./scripts/web-server.js
to start the web server.
+ - Open a browser window for the app and navigate to http://localhost:8000/app/index.html
+
+
+ - For other http servers:
+
+ - Configure the server to serve the files in the
angular-phonecat
+directory.
+ - Navigate in your browser to
+
http://localhost:[port-number]/[context-path]/app/index.html
.
+
+
+
+
+
+
+
+
+
+
+ Open Git bash and run this command (in angular-phonecat directory):
+ git checkout -f step-0
+ This resets your workspace to step 0 of the tutorial app.
+ You must repeat this for every future step in the tutorial and change the number to
+ the number of the step you are on. This will cause any changes you made within
+ your working directory to be lost.
+ - To see the app running in a browser, do one of the following:
+
+ - For node.js users:
+
+ - In a separate terminal tab or window, run
node
+scripts\web-server.js
to start the web server.
+ - Open a browser window for the app and navigate to http://localhost:8000/app/index.html
+
+
+ - For other http servers:
+
+ - Configure the server to serve the files in the
angular-phonecat
+directory.
+ - Navigate in your browser to
+
http://localhost:[port-number]/[context-path]/app/index.html
.
+
+
+
+
+
+
+
+
+
You can now see the page in your browser. It's not very exciting, but that's OK.
+
+
The HTML page that displays "Nothing here yet!" was constructed with the HTML code shown below.
+The code contains some key Angular elements that we will need going forward.
+
+
app/index.html
:
+
+<!doctype html>
+<html lang="en" ng-app>
+<head>
+ <meta charset="utf-8">
+ <title>My HTML File</title>
+ <link rel="stylesheet" href="css/app.css">
+ <link rel="stylesheet" href="css/bootstrap.css">
+ <script src="lib/angular/angular.js"></script>
+</head>
+<body>
+
+ <p>Nothing here {{'yet' + '!'}}</p>
+
+</body>
+</html>
+
+
+
What is the code doing?
+
+
+ng-app
directive:
+
+ <html ng-app>
+
+
+The ng-app
attribute is represents an Angular directive (named ngApp
; Angular uses
+name-with-dashes
for attribute names and camelCase
for the corresponding directive name)
+used to flag an element which Angular should consider to be the root element of our application.
+This gives application developers the freedom to tell Angular if the entire html page or only a
+portion of it should be treated as the Angular application.
+AngularJS script tag:
+
+ <script src="lib/angular/angular.js">
+
+
+This code downloads the angular.js
script and registers a callback that will be executed by the
+browser when the containing HTML page is fully downloaded. When the callback is executed, Angular
+looks for the ngApp
directive. If
+Angular finds the directive, it will bootstrap the application with the root of the application DOM
+being the element on which the ngApp
directive was defined.
+Double-curly binding with an expression:
+
+ Nothing here {{'yet' + '!'}}`
+
+
+This line demonstrates the core feature of Angular's templating capabilities – a binding, denoted
+by double-curlies {{ }}
as well as a simple expression 'yet' + '!'
used in this binding.
+
+The binding tells Angular that it should evaluate an expression and insert the result into the
+DOM in place of the binding. Rather than a one-time insert, as we'll see in the next steps, a
+binding will result in efficient continuous updates whenever the result of the expression
+evaluation changes.
+
+Angular expression is a JavaScript-like code snippet that is
+evaluated by Angular in the context of the current model scope, rather than within the scope of
+the global context (window
).
+
+As expected, once this template is processed by Angular, the html page contains the text:
+"Nothing here yet!".
+
+
+
Bootstrapping AngularJS apps
+
+
Bootstrapping AngularJS apps automatically using the ngApp
directive is very easy and suitable
+for most cases. In advanced cases, such as when using script loaders, you can use
+imperative / manual way to bootstrap the app.
+
+
There are 3 important things that happen during the app bootstrap:
+
+
+The injector
that will be used for dependency injection
+within this app is created.
+The injector will then create the root scope
that will
+become the context for the model of our application.
+Angular will then "compile" the DOM starting at the ngApp
root element, processing any
+directives and bindings found along the way.
+
+
+
Once an application is bootstrapped, it will then wait for incoming browser events (such as mouse
+click, key press or incoming HTTP response) that might change the model. Once such an event occurs,
+Angular detects if it caused any model changes and if changes are found, Angular will reflect them
+in the view by updating all of the affected bindings.
+
+
The structure of our application is currently very simple. The template contains just one directive
+and one static binding, and our model is empty. That will soon change!
+
+
+
+
What are all these files in my working directory?
+
+
Most of the files in your working directory come from the angular-seed project which is typically used to bootstrap
+new Angular projects. The seed project includes the latest Angular libraries, test libraries,
+scripts and a simple example app, all pre-configured for developing a typical web app.
+
+
For the purposes of this tutorial, we modified the angular-seed with the following changes:
+
+
+- Removed the example app
+- Added phone images to
app/img/phones/
+- Added phone data files (JSON) to
app/phones/
+- Added Bootstrap files to
app/css/
and app/img/
+
+
+
Experiments
+
+
+
+
Summary
+
+
Now let's go to step 1 and add some content to the web app.
+
+
+
+
+Note: During the bootstrap the injector and the root scope will then be associated with the
+ element on which the `ngApp` directive was declared, so when debugging the app you can retrieve
+ them from browser console via `angular.element(rootElement).scope()` and
+ `angular.element(rootElement).injector()`.
+
diff --git a/1.1.1/docs/partials/tutorial/step_01.html b/1.1.1/docs/partials/tutorial/step_01.html
new file mode 100644
index 000000000..a62fa281e
--- /dev/null
+++ b/1.1.1/docs/partials/tutorial/step_01.html
@@ -0,0 +1,50 @@
+
+
+
+
+
+
In order to illustrate how angular enhances standard HTML, you will create a purely static HTML
+page and then examine how we can turn this HTML code into a template that angular will use to
+dynamically display the same result with any set of data.
+
+
In this step you will add some basic information about two cell phones to an HTML page.
+
+
+
+
+
The page now contains a list with information about two phones.
+
+
The most important changes are listed below. You can see the full diff on GitHub:
+
+
app/index.html
:
+
+ <ul>
+ <li>
+ <span>Nexus S</span>
+ <p>
+ Fast just got faster with Nexus S.
+ </p>
+ </li>
+ <li>
+ <span>Motorola XOOM™ with Wi-Fi</span>
+ <p>
+ The Next, Next Generation tablet.
+ </p>
+ </li>
+ </ul>
+
+
+
Experiments
+
+
+
+
Summary
+
+
This addition to your app uses static HTML to display the list. Now, let's go to step 2 to learn how to use AngularJS to dynamically generate the same list.
+
+
diff --git a/1.1.1/docs/partials/tutorial/step_02.html b/1.1.1/docs/partials/tutorial/step_02.html
new file mode 100644
index 000000000..58b6a805e
--- /dev/null
+++ b/1.1.1/docs/partials/tutorial/step_02.html
@@ -0,0 +1,194 @@
+
+
+
+
+
+
Now it's time to make the web page dynamic — with AngularJS. We'll also add a test that verifies the
+code for the controller we are going to add.
+
+
There are many ways to structure the code for an application. For Angular apps, we encourage the
+use of the Model-View-Controller (MVC) design pattern to decouple the code and to separate concerns. With that in mind, let's use a
+little Angular and JavaScript to add model, view, and controller components to our app.
+
+
+
+
+
The app now contains a list with three phones.
+
+
The most important changes are listed below. You can see the full diff on GitHub:
+
+
View and Template
+
+
In Angular, the view is a projection of the model through the HTML template. This means that
+whenever the model changes, Angular refreshes the appropriate binding points, which updates the
+view.
+
+
The view component is constructed by Angular from this template:
+
+
app/index.html
:
+
+<html ng-app>
+<head>
+ ...
+ <script src="lib/angular/angular.js"></script>
+ <script src="js/controllers.js"></script>
+</head>
+<body ng-controller="PhoneListCtrl">
+
+ <ul>
+ <li ng-repeat="phone in phones">
+ {{phone.name}}
+ <p>{{phone.snippet}}</p>
+ </li>
+ </ul>
+</body>
+</html>
+
+
+
We replaced the hard-coded phone list with the
+ngRepeat directive
and two
+Angular expressions enclosed in curly braces:
+{{phone.name}}
and {{phone.snippet}}
:
+
+
+The ng-repeat="phone in phones"
statement in the <li>
tag is an Angular repeater. The
+repeater tells Angular to create a <li>
element for each phone in the list using the first <li>
+tag as the template.
+As we've learned in step 0, the curly braces around phone.name
and phone.snippet
denote
+bindings. As opposed to evaluating constants, these expressions are referring to our application
+model, which was set up in our PhoneListCtrl
controller.
+
+
+
+
+
Model and Controller
+
+
The data model (a simple array of phones in object literal notation) is instantiated within
+the PhoneListCtrl
controller:
+
+
app/js/controllers.js
:
+
+function PhoneListCtrl($scope) {
+ $scope.phones = [
+ {"name": "Nexus S",
+ "snippet": "Fast just got faster with Nexus S."},
+ {"name": "Motorola XOOM™ with Wi-Fi",
+ "snippet": "The Next, Next Generation tablet."},
+ {"name": "MOTOROLA XOOM™",
+ "snippet": "The Next, Next Generation tablet."}
+ ];
+}
+
+
+
Although the controller is not yet doing very much controlling, it is playing a crucial role. By
+providing context for our data model, the controller allows us to establish data-binding between
+the model and the view. We connected the dots between the presentation, data, and logic components
+as follows:
+
+
+PhoneListCtrl
— the name of our controller function (located in the JavaScript file
+controllers.js
), matches the value of the
+ngController
directive located
+on the <body>
tag.
+The phone data is then attached to the scope ($scope
) that was injected into our controller
+function. The controller scope is a prototypical descendant of the root scope that was created
+when the application bootstrapped. This controller scope is available to all bindings located within
+the <body ng-controller="PhoneListCtrl">
tag.
+
+The concept of a scope in Angular is crucial; a scope can be seen as the glue which allows the
+template, model and controller to work together. Angular uses scopes, along with the information
+contained in the template, data model, and controller, to keep models and views separate, but in
+sync. Any changes made to the model are reflected in the view; any changes that occur in the view
+are reflected in the model.
+
+To learn more about Angular scopes, see the angular scope documentation
.
+
+
+
Tests
+
+
The "Angular way" makes it easy to test code as it is being developed. Take a look at the following
+unit test for your newly created controller:
+
+
test/unit/controllersSpec.js
:
+
+describe('PhoneCat controllers', function() {
+
+ describe('PhoneListCtrl', function(){
+
+ it('should create "phones" model with 3 phones', function() {
+ var scope = {},
+ ctrl = new PhoneListCtrl(scope);
+
+ expect(scope.phones.length).toBe(3);
+ });
+ });
+});
+
+
+
The test verifies that we have three records in the phones array and the example demonstrates how
+easy it is to create a unit test for code in Angular. Since testing is such a critical part of
+software development, we make it easy to create tests in Angular so that developers are encouraged
+to write them.
+
+
Angular developers prefer the syntax of Jasmine's Behavior-driven Development (BDD) framework when
+writing tests. Although Angular does not require you to use Jasmine, we wrote all of the tests in
+this tutorial in Jasmine. You can learn about Jasmine on the Jasmine home page and on the Jasmine wiki.
+
+
The angular-seed project is pre-configured to run all unit tests using Testacular. To run the test, do the following:
+
+
+In a separate terminal window or tab, go to the angular-phonecat
directory and run
+./scripts/test.sh
to start the Testacular server.
+Testacular will start a new instance of Chrome browser automatically. Just ignore it and let it run in
+the background. Testacular will use this browser for test execution.
+You should see the following or similar output in the terminal:
+
+ info: Testacular server started at http://localhost:9876/
+ info (launcher): Starting browser "Chrome"
+ info (Chrome 22.0): Connected on socket id tPUm9DXcLHtZTKbAEO-n
+ Chrome 22.0: Executed 1 of 1 SUCCESS (0.093 secs / 0.004 secs)
+
+
+Yay! The test passed! Or not...
+To rerun the tests, just change any of the source or test files. Testacular will notice the change
+and will rerun the tests for you. Now isn't that sweet?
+
+
+
Experiments
+
+
+Add another binding to index.html
. For example:
+
+ <p>Total number of phones: {{phones.length}}</p>
+
+Create a new model property in the controller and bind to it from the template. For example:
+
+ $scope.hello = "Hello, World!"
+
+
+Refresh your browser to make sure it says, "Hello, World!"
+Create a repeater that constructs a simple table:
+
+ <table>
+ <tr><th>row number</th></tr>
+ <tr ng-repeat="i in [0, 1, 2, 3, 4, 5, 6, 7]"><td>{{i}}</td></tr>
+ </table>
+
+
+Now, make the list 1-based by incrementing i
by one in the binding:
+
+ <table>
+ <tr><th>row number</th></tr>
+ <tr ng-repeat="i in [0, 1, 2, 3, 4, 5, 6, 7]"><td>{{i+1}}</td></tr>
+ </table>
+
+Make the unit test fail by changing the toBe(3)
statement to toBe(4)
.
+
+
+
Summary
+
+
You now have a dynamic app that features separate model, view, and controller components, and you
+are testing as you go. Now, let's go to step 3 to learn how to add full text search
+to the app.
+
+
diff --git a/1.1.1/docs/partials/tutorial/step_03.html b/1.1.1/docs/partials/tutorial/step_03.html
new file mode 100644
index 000000000..1c67b1ed9
--- /dev/null
+++ b/1.1.1/docs/partials/tutorial/step_03.html
@@ -0,0 +1,196 @@
+
+
+
+
+
+
We did a lot of work in laying a foundation for the app in the last step, so now we'll do something
+simple; we will add full text search (yes, it will be simple!). We will also write an end-to-end
+test, because a good end-to-end test is a good friend. It stays with your app, keeps an eye on it,
+and quickly detects regressions.
+
+
+
+
+
The app now has a search box. Notice that the phone list on the page changes depending on what a
+user types into the search box.
+
+
The most important differences between Steps 2 and 3 are listed below. You can see the full diff on
+GitHub:
+
+
Controller
+
+
We made no changes to the controller.
+
+
Template
+
+
app/index.html
:
+
+ <div class="container-fluid">
+ <div class="row-fluid">
+ <div class="span2">
+ <!--Sidebar content-->
+
+ Search: <input ng-model="query">
+
+ </div>
+ <div class="span10">
+ <!--Body content-->
+
+ <ul class="phones">
+ <li ng-repeat="phone in phones | filter:query">
+ {{phone.name}}
+ <p>{{phone.snippet}}</p>
+ </li>
+ </ul>
+
+ </div>
+ </div>
+ </div>
+
+
+
We added a standard HTML <input>
tag and used Angular's
+$filter
function to process the input for the
+ngRepeat
directive.
+
+
This lets a user enter search criteria and immediately see the effects of their search on the phone
+list. This new code demonstrates the following:
+
+
+Data-binding: This is one of the core features in Angular. When the page loads, Angular binds the
+name of the input box to a variable of the same name in the data model and keeps the two in sync.
+
+In this code, the data that a user types into the input box (named query
) is immediately
+available as a filter input in the list repeater (phone in phones | filter:
query
). When
+changes to the data model cause the repeater's input to change, the repeater efficiently updates
+the DOM to reflect the current state of the model.
+
+
+Use of the filter
filter: The filter
function uses the
+query
value to create a new array that contains only those records that match the query
.
+
+ngRepeat
automatically updates the view in response to the changing number of phones returned
+by the filter
filter. The process is completely transparent to the developer.
+
+
+
Test
+
+
In Step 2, we learned how to write and run unit tests. Unit tests are perfect for testing
+controllers and other components of our application written in JavaScript, but they can't easily
+test DOM manipulation or the wiring of our application. For these, an end-to-end test is a much
+better choice.
+
+
The search feature was fully implemented via templates and data-binding, so we'll write our first
+end-to-end test, to verify that the feature works.
+
+
test/e2e/scenarios.js
:
+
+describe('PhoneCat App', function() {
+
+ describe('Phone list view', function() {
+
+ beforeEach(function() {
+ browser().navigateTo('../../app/index.html');
+ });
+
+
+ it('should filter the phone list as user types into the search box', function() {
+ expect(repeater('.phones li').count()).toBe(3);
+
+ input('query').enter('nexus');
+ expect(repeater('.phones li').count()).toBe(1);
+
+ input('query').enter('motorola');
+ expect(repeater('.phones li').count()).toBe(2);
+ });
+ });
+});
+
+
+
Even though the syntax of this test looks very much like our controller unit test written with
+Jasmine, the end-to-end test uses APIs of Angular's end-to-end test runner.
+
+
To run the end-to-end test, open one of the following in a new browser tab:
+
+
+
+
Previously we've seen how Testacular can be used to execute unit tests. Well, it can also run the
+end-to-end tests! Use ./scripts/e2e-test.sh
script for that. End-to-end tests are slow, so unlike
+with unit tests, Testacular will exit after the test run and will not automatically rerun the test
+suite on every file change. To rerun the test suite, execute the e2e-test.sh
script again.
+
+
This test verifies that the search box and the repeater are correctly wired together. Notice how
+easy it is to write end-to-end tests in Angular. Although this example is for a simple test, it
+really is that easy to set up any functional, readable, end-to-end test.
+
+
Experiments
+
+
+Display the current value of the query
model by adding a {{query}}
binding into the
+index.html
template, and see how it changes when you type in the input box.
+Let's see how we can get the current value of the query
model to appear in the HTML page title.
+
+You might think you could just add the {{query}} to the title tag element as follows:
+
+ <title>Google Phone Gallery: {{query}}</title>
+
+
+However, when you reload the page, you won't see the expected result. This is because the "query"
+model lives in the scope defined by the body element:
+
+ <body ng-controller="PhoneListCtrl">
+
+
+If you want to bind to the query model from the <title>
element, you must move the
+ngController
declaration to the HTML element because it is the common parent of both the body
+and title elements:
+
+ <html ng-app ng-controller="PhoneListCtrl">
+
+
+Be sure to remove the ng-controller
declaration from the body element.
+
+While using double curlies works fine within the title element, you might have noticed that
+for a split second they are actually displayed to the user while the page is loading. A better
+solution would be to use the ngBind
or ngBindTemplate
directives, which are invisible to the user while the page is loading:
+
+ <title ng-bind-template="Google Phone Gallery: {{query}}">Google Phone Gallery</title>
+
+Add the following end-to-end test into the describe
block within test/e2e/scenarios.js
:
+
+
+ it('should display the current filter value within an element with id "status"',
+ function() {
+ expect(element('#status').text()).toMatch(/Current filter: \s*$/);
+
+ input('query').enter('nexus');
+
+ expect(element('#status').text()).toMatch(/Current filter: nexus\s*$/);
+
+ //alternative version of the last assertion that tests just the value of the binding
+ using('#status').expect(binding('query')).toBe('nexus');
+ });
+
+
+Refresh the browser tab with the end-to-end test runner to see the test fail. To make the test
+pass, edit the index.html
template to add a div
or p
element with id
"status"
and content
+with the query
binding, prefixed by "Current filter:". For instance:
+
+ <div id="status">Current filter: {{query}}</div>
+
+Add a pause()
statement inside of an end-to-end test and rerun it. You'll see the runner pause;
+this gives you the opportunity to explore the state of your application while it is displayed in
+the browser. The app is live! You can change the search query to prove it. Notice how useful this
+is for troubleshooting end-to-end tests.
+
+
+
Summary
+
+
We have now added full text search and included a test to verify that search works! Now let's go on
+to step 4 to learn how to add sorting capability to the phone app.
+
+
diff --git a/1.1.1/docs/partials/tutorial/step_04.html b/1.1.1/docs/partials/tutorial/step_04.html
new file mode 100644
index 000000000..f12f415f2
--- /dev/null
+++ b/1.1.1/docs/partials/tutorial/step_04.html
@@ -0,0 +1,178 @@
+
+
+
+
+
+
In this step, you will add a feature to let your users control the order of the items in the phone
+list. The dynamic ordering is implemented by creating a new model property, wiring it together with
+the repeater, and letting the data binding magic do the rest of the work.
+
+
+
+
+
You should see that in addition to the search box, the app displays a drop down menu that allows
+users to control the order in which the phones are listed.
+
+
The most important differences between Steps 3 and 4 are listed below. You can see the full diff on
+GitHub:
+
+
Template
+
+
app/index.html
:
+
+ Search: <input ng-model="query">
+ Sort by:
+ <select ng-model="orderProp">
+ <option value="name">Alphabetical</option>
+ <option value="age">Newest</option>
+ </select>
+
+
+ <ul class="phones">
+ <li ng-repeat="phone in phones | filter:query | orderBy:orderProp">
+ {{phone.name}}
+ <p>{{phone.snippet}}</p>
+ </li>
+ </ul>
+
+
+
We made the following changes to the index.html
template:
+
+
+First, we added a <select>
html element named orderProp
, so that our users can pick from the
+two provided sorting options.
+
+
+We then chained the filter
filter with orderBy
+filter to further process the input into the repeater. orderBy
is a filter that takes an input
+array, copies it and reorders the copy which is then returned.
+
+
+
Angular creates a two way data-binding between the select element and the orderProp
model.
+orderProp
is then used as the input for the orderBy
filter.
+
+
As we discussed in the section about data-binding and the repeater in step 3, whenever the model
+changes (for example because a user changes the order with the select drop down menu), Angular's
+data-binding will cause the view to automatically update. No bloated DOM manipulation code is
+necessary!
+
+
Controller
+
+
app/js/controllers.js
:
+
+function PhoneListCtrl($scope) {
+ $scope.phones = [
+ {"name": "Nexus S",
+ "snippet": "Fast just got faster with Nexus S.",
+ "age": 0},
+ {"name": "Motorola XOOM™ with Wi-Fi",
+ "snippet": "The Next, Next Generation tablet.",
+ "age": 1},
+ {"name": "MOTOROLA XOOM™",
+ "snippet": "The Next, Next Generation tablet.",
+ "age": 2}
+ ];
+
+ $scope.orderProp = 'age';
+}
+
+
+
+We modified the phones
model - the array of phones - and added an age
property to each phone
+record. This property is used to order phones by age.
+We added a line to the controller that sets the default value of orderProp
to age
. If we had
+not set the default value here, the model would stay uninitialized until our user would pick an
+option from the drop down menu.
+
+This is a good time to talk about two-way data-binding. Notice that when the app is loaded in the
+browser, "Newest" is selected in the drop down menu. This is because we set orderProp
to 'age'
+in the controller. So the binding works in the direction from our model to the UI. Now if you
+select "Alphabetically" in the drop down menu, the model will be updated as well and the phones
+will be reordered. That is the data-binding doing its job in the opposite direction — from the UI
+to the model.
+
+
+
Test
+
+
The changes we made should be verified with both a unit test and an end-to-end test. Let's look at
+the unit test first.
+
+
test/unit/controllersSpec.js
:
+
+describe('PhoneCat controllers', function() {
+
+ describe('PhoneListCtrl', function(){
+ var scope, ctrl;
+
+ beforeEach(function() {
+ scope = {},
+ ctrl = new PhoneListCtrl(scope);
+ });
+
+
+ it('should create "phones" model with 3 phones', function() {
+ expect(scope.phones.length).toBe(3);
+ });
+
+
+ it('should set the default value of orderProp model', function() {
+ expect(scope.orderProp).toBe('age');
+ });
+ });
+});
+
+
+
The unit test now verifies that the default ordering property is set.
+
+
We used Jasmine's API to extract the controller construction into a beforeEach
block, which is
+shared by all tests in the parent describe
block.
+
+
You should now see the following output in the Testacular tab:
+
+
Chrome 22.0: Executed 2 of 2 SUCCESS (0.021 secs / 0.001 secs)
+
+
+
Let's turn our attention to the end-to-end test.
+
+
test/e2e/scenarios.js
:
+
+...
+ it('should be possible to control phone order via the drop down select box',
+ function() {
+ //let's narrow the dataset to make the test assertions shorter
+ input('query').enter('tablet');
+
+ expect(repeater('.phones li', 'Phone List').column('phone.name')).
+ toEqual(["Motorola XOOM\u2122 with Wi-Fi",
+ "MOTOROLA XOOM\u2122"]);
+
+ select('orderProp').option('Alphabetical');
+
+ expect(repeater('.phones li', 'Phone List').column('phone.name')).
+ toEqual(["MOTOROLA XOOM\u2122",
+ "Motorola XOOM\u2122 with Wi-Fi"]);
+ });
+...
+
+
+
The end-to-end test verifies that the ordering mechanism of the select box is working correctly.
+
+
You can now rerun ./scripts/e2e-test.sh
or refresh the browser tab with the end-to-end test
+runner.html
to see the tests run, or you can see them running on Angular's server.
+
+
Experiments
+
+
+In the PhoneListCtrl
controller, remove the statement that sets the orderProp
value and
+you'll see that Angular will temporarily add a new "unknown" option to the drop-down list and the
+ordering will default to unordered/natural order.
+Add an {{orderProp}}
binding into the index.html
template to display its current value as
+text.
+
+
+
Summary
+
+
Now that you have added list sorting and tested the app, go to step 5 to learn
+about Angular services and how Angular uses dependency injection.
+
+
diff --git a/1.1.1/docs/partials/tutorial/step_05.html b/1.1.1/docs/partials/tutorial/step_05.html
new file mode 100644
index 000000000..d5f1d1eee
--- /dev/null
+++ b/1.1.1/docs/partials/tutorial/step_05.html
@@ -0,0 +1,227 @@
+
+
+
+
+
+
Enough of building an app with three phones in a hard-coded dataset! Let's fetch a larger dataset
+from our server using one of angular's built-in services called $http
. We will use angular's dependency injection (DI) to provide the service to the PhoneListCtrl
controller.
+
+
+
+
+
You should now see a list of 20 phones.
+
+
The most important changes are listed below. You can see the full diff on GitHub:
+
+
Data
+
+
The app/phones/phones.json
file in your project is a dataset that contains a larger list of phones
+stored in the JSON format.
+
+
Following is a sample of the file:
+
+[
+ {
+ "age": 13,
+ "id": "motorola-defy-with-motoblur",
+ "name": "Motorola DEFY\u2122 with MOTOBLUR\u2122",
+ "snippet": "Are you ready for everything life throws your way?"
+ ...
+ },
+...
+]
+
+
+
Controller
+
+
We'll use angular's $http
service in our controller to make an HTTP
+request to your web server to fetch the data in the app/phones/phones.json
file. $http
is just
+one of several built-in angular services that handle common operations
+in web apps. Angular injects these services for you where you need them.
+
+
Services are managed by angular's DI subsystem. Dependency injection
+helps to make your web apps both well-structured (e.g., separate components for presentation, data,
+and control) and loosely coupled (dependencies between components are not resolved by the
+components themselves, but by the DI subsystem).
+
+
app/js/controllers.js:
+
+function PhoneListCtrl($scope, $http) {
+ $http.get('phones/phones.json').success(function(data) {
+ $scope.phones = data;
+ });
+
+ $scope.orderProp = 'age';
+}
+
+//PhoneListCtrl.$inject = ['$scope', '$http'];
+
+
+
$http
makes an HTTP GET request to our web server, asking for phone/phones.json
(the url is
+relative to our index.html
file). The server responds by providing the data in the json file.
+(The response might just as well have been dynamically generated by a backend server. To the
+browser and our app they both look the same. For the sake of simplicity we used a json file in this
+tutorial.)
+
+
The $http
service returns a promise object
with a success
+method. We call this method to handle the asynchronous response and assign the phone data to the
+scope controlled by this controller, as a model called phones
. Notice that angular detected the
+json response and parsed it for us!
+
+
To use a service in angular, you simply declare the names of the dependencies you need as arguments
+to the controller's constructor function, as follows:
+
+
function PhoneListCtrl($scope, $http) {...}
+
+
+
Angular's dependency injector provides services to your controller when the controller is being
+constructed. The dependency injector also takes care of creating any transitive dependencies the
+service may have (services often depend upon other services).
+
+
Note that the names of arguments are significant, because the injector uses these to look up the
+dependencies.
+
+
+
+
'$' Prefix Naming Convention
+
+
You can create your own services, and in fact we will do exactly that in step 11. As a naming
+convention, angular's built-in services, Scope methods and a few other angular APIs have a '$'
+prefix in front of the name. Don't use a '$' prefix when naming your services and models, in order
+to avoid any possible naming collisions.
+
+
A Note on Minification
+
+
Since angular infers the controller's dependencies from the names of arguments to the controller's
+constructor function, if you were to minify the JavaScript code for PhoneListCtrl
controller, all of its function arguments would be
+minified as well, and the dependency injector would not be able to identify services correctly.
+
+
To overcome issues caused by minification, just assign an array with service identifier strings
+into the $inject
property of the controller function, just like the last line in the snippet
+(commented out) suggests:
+
+
PhoneListCtrl.$inject = ['$scope', '$http'];
+
+
+
There is also one more way to specify this dependency list and avoid minification issues — using the
+bracket notation which wraps the function to be injected into an array of strings (representing the
+dependency names) followed by the function to be injected:
+
+
var PhoneListCtrl = ['$scope', '$http', function($scope, $http) { /* constructor body */ }];
+
+
+
Both of these methods work with any function that can be injected by Angular, so it's up to your
+project's style guide to decide which one you use.
+
+
Test
+
+
test/unit/controllersSpec.js
:
+
+
Because we started using dependency injection and our controller has dependencies, constructing the
+controller in our tests is a bit more complicated. We could use the new
operator and provide the
+constructor with some kind of fake $http
implementation. However, the recommended (and easier) way
+is to create a controller in the test environment in the same way that angular does it in the
+production code behind the scenes, as follows:
+
+
+describe('PhoneCat controllers', function() {
+
+ describe('PhoneListCtrl', function(){
+ var scope, ctrl, $httpBackend;
+
+ beforeEach(inject(function(_$httpBackend_, $rootScope, $controller) {
+ $httpBackend = _$httpBackend_;
+ $httpBackend.expectGET('phones/phones.json').
+ respond([{name: 'Nexus S'}, {name: 'Motorola DROID'}]);
+
+ scope = $rootScope.$new();
+ ctrl = $controller(PhoneListCtrl, {$scope: scope});
+ }));
+
+
+
Note: Because we loaded Jasmine and angular-mocks.js
in our test environment, we got two helper
+methods module
and inject
that we'll
+use to access and configure the injector.
+
+
We created the controller in the test environment, as follows:
+
+
+We used the inject
helper method to inject instances of
+$rootScope
,
+$controller
and
+$httpBackend
services into the Jasmine's beforeEach
+function. These instances come from an injector which is recreated from scratch for every single
+test. This guarantees that each test starts from a well known starting point and each test is
+isolated from the work done in other tests.
+We created a new scope for our controller by calling $rootScope.$new()
+We called the injected $controller
function passing the PhoneListCtrl
function and the created
+scope as parameters.
+
+
+
Because our code now uses the $http
service to fetch the phone list data in our controller, before
+we create the PhoneListCtrl
child scope, we need to tell the testing harness to expect an
+incoming request from the controller. To do this we:
+
+
+Request $httpBackend
service to be injected into our beforeEach
function. This is a mock
+version of the service that in a production environment facilitates all XHR and JSONP requests.
+The mock version of this service allows you to write tests without having to deal with
+native APIs and the global state associated with them — both of which make testing a nightmare.
+Use the $httpBackend.expectGET
method to train the $httpBackend
service to expect an incoming
+HTTP request and tell it what to respond with. Note that the responses are not returned until we call
+the $httpBackend.flush
method.
+
+
+
Now, we will make assertions to verify that the phones
model doesn't exist on scope
before
+the response is received:
+
+
+ it('should create "phones" model with 2 phones fetched from xhr', function() {
+ expect(scope.phones).toBeUndefined();
+ $httpBackend.flush();
+
+ expect(scope.phones).toEqual([{name: 'Nexus S'},
+ {name: 'Motorola DROID'}]);
+ });
+
+
+
+We flush the request queue in the browser by calling $httpBackend.flush()
. This causes the
+promise returned by the $http
service to be resolved with the trained response.
+We make the assertions, verifying that the phone model now exists on the scope.
+
+
+
Finally, we verify that the default value of orderProp
is set correctly:
+
+
+ it('should set the default value of orderProp model', function() {
+ expect(scope.orderProp).toBe('age');
+ });
+ });
+});
+
+
+
You should now see the following output in the Testacular tab:
+
+
Chrome 22.0: Executed 2 of 2 SUCCESS (0.028 secs / 0.007 secs)
+
+
+
Experiments
+
+
+At the bottom of index.html
, add a {{phones | json}}
binding to see the list of phones
+displayed in json format.
+In the PhoneListCtrl
controller, pre-process the http response by limiting the number of phones
+to the first 5 in the list. Use the following code in the $http callback:
+
+ $scope.phones = data.splice(0, 5);
+
+
+
+
Summary
+
+
Now that you have learned how easy it is to use angular services (thanks to Angular's dependency
+injection), go to step 6, where you will add some
+thumbnail images of phones and some links.
+
+
diff --git a/1.1.1/docs/partials/tutorial/step_06.html b/1.1.1/docs/partials/tutorial/step_06.html
new file mode 100644
index 000000000..6179d062d
--- /dev/null
+++ b/1.1.1/docs/partials/tutorial/step_06.html
@@ -0,0 +1,99 @@
+
+
+
+
+
+
In this step, you will add thumbnail images for the phones in the phone list, and links that, for
+now, will go nowhere. In subsequent steps you will use the links to display additional information
+about the phones in the catalog.
+
+
+
+
+
You should now see links and images of the phones in the list.
+
+
The most important changes are listed below. You can see the full diff on GitHub:
+
+
Data
+
+
Note that the phones.json
file contains unique ids and image urls for each of the phones. The
+urls point to the app/img/phones/
directory.
+
+
app/phones/phones.json
(sample snippet):
+
+ [
+ {
+ ...
+ "id": "motorola-defy-with-motoblur",
+ "imageUrl": "img/phones/motorola-defy-with-motoblur.0.jpg",
+ "name": "Motorola DEFY\u2122 with MOTOBLUR\u2122",
+ ...
+ },
+ ...
+ ]
+
+
+
Template
+
+
app/index.html
:
+
+...
+ <ul class="phones">
+ <li ng-repeat="phone in phones | filter:query | orderBy:orderProp" class="thumbnail">
+ <a href="#/phones/{{phone.id}}" class="thumb"><img ng-src="{{phone.imageUrl}}"></a>
+ <a href="#/phones/{{phone.id}}">{{phone.name}}</a>
+ <p>{{phone.snippet}}</p>
+ </li>
+ </ul>
+...
+
+
+
To dynamically generate links that will in the future lead to phone detail pages, we used the
+now-familiar double-curly brace binding in the href
attribute values. In step 2, we added the
+{{phone.name}}
binding as the element content. In this step the {{phone.id}}
binding is used in
+the element attribute.
+
+
We also added phone images next to each record using an image tag with the ngSrc
directive. That directive prevents the
+browser from treating the angular {{ expression }}
markup literally, and initiating a request to
+invalid url http://localhost:8000/app/{{phone.imageUrl}}
, which it would have done if we had only
+specified an attribute binding in a regular src
attribute (<img class="diagram" src="{{phone.imageUrl}}">
).
+Using the ngSrc
directive prevents the browser from making an http request to an invalid location.
+
+
Test
+
+
test/e2e/scenarios.js
:
+
+...
+ it('should render phone specific links', function() {
+ input('query').enter('nexus');
+ element('.phones li a').click();
+ expect(browser().location().url()).toBe('/phones/nexus-s');
+ });
+...
+
+
+
We added a new end-to-end test to verify that the app is generating correct links to the phone
+views that we will implement in the upcoming steps.
+
+
You can now rerun ./scripts/e2e-test.sh
or refresh the browser tab with the end-to-end test
+runner to see the tests run, or you can see them running on Angular's server.
+
+
Experiments
+
+
+Replace the ng-src
directive with a plain old src
attribute. Using tools such as Firebug,
+or Chrome's Web Inspector, or inspecting the webserver access logs, confirm that the app is indeed
+making an extraneous request to /app/%7B%7Bphone.imageUrl%7D%7D
(or
+/app/{{phone.imageUrl}}
).
+
+The issue here is that the browser will fire a request for that invalid image address as soon as
+it hits the img
tag, which is before Angular has a chance to evaluate the expression and inject
+the valid address.
+
+
+
Summary
+
+
Now that you have added phone images and links, go to step 7 to learn about Angular
+layout templates and how Angular makes it easy to create applications that have multiple views.
+
+
diff --git a/1.1.1/docs/partials/tutorial/step_07.html b/1.1.1/docs/partials/tutorial/step_07.html
new file mode 100644
index 000000000..03fc220b6
--- /dev/null
+++ b/1.1.1/docs/partials/tutorial/step_07.html
@@ -0,0 +1,245 @@
+
+
+
+
+
+
In this step, you will learn how to create a layout template and how to build an app that has
+multiple views by adding routing.
+
+
+
+
+
Note that when you now navigate to app/index.html
, you are redirected to app/index.html#/phones
+and the same phone list appears in the browser. When you click on a phone link the stub of a phone
+detail page is displayed.
+
+
The most important changes are listed below. You can see the full diff on GitHub.
+
+
Multiple Views, Routing and Layout Template
+
+
Our app is slowly growing and becoming more complex. Before step 7, the app provided our users with
+a single view (the list of all phones), and all of the template code was located in the
+index.html
file. The next step in building the app is to add a view that will show detailed
+information about each of the devices in our list.
+
+
To add the detailed view, we could expand the index.html
file to contain template code for both
+views, but that would get messy very quickly. Instead, we are going to turn the index.html
+template into what we call a "layout template". This is a template that is common for all views in
+our application. Other "partial templates" are then included into this layout template depending on
+the current "route" — the view that is currently displayed to the user.
+
+
Application routes in Angular are declared via the
+$routeProvider
, which is the provider of the
+$route service
. This service makes it easy to wire together
+controllers, view templates, and the current
+URL location in the browser. Using this feature we can implement deep linking, which lets us utilize the browser's
+history (back and forward navigation) and bookmarks.
+
+
A Note About DI, Injector and Providers
+
+
As you noticed, dependency injection is the core feature of
+AngularJS, so it's important for you to understand a thing or two about how it works.
+
+
When the application bootstraps, Angular creates an injector that will be used for all DI stuff in
+this app. The injector itself doesn't know anything about what $http
or $route
services do, in
+fact it doesn't even know about the existence of these services unless it is configured with proper
+module definitions. The sole responsibilities of the injector are to load specified module
+definition(s), register all service providers defined in these modules and when asked inject
+a specified function with dependencies (services) that it lazily instantiates via their providers.
+
+
Providers are objects that provide (create) instances of services and expose configuration APIs
+that can be used to control the creation and runtime behavior of a service. In case of the $route
+service, the $routeProvider
exposes APIs that allow you to define routes for your application.
+
+
Angular modules solve the problem of removing global state from the application and provide a way
+of configuring the injector. As opposed to AMD or require.js modules, Angular modules don't try to
+solve the problem of script load ordering or lazy script fetching. These goals are orthogonal and
+both module systems can live side by side and fulfil their goals.
+
+
The App Module
+
+
app/js/app.js
:
+
+angular.module('phonecat', []).
+ config(['$routeProvider', function($routeProvider) {
+ $routeProvider.
+ when('/phones', {templateUrl: 'partials/phone-list.html', controller: PhoneListCtrl}).
+ when('/phones/:phoneId', {templateUrl: 'partials/phone-detail.html', controller: PhoneDetailCtrl}).
+ otherwise({redirectTo: '/phones'});
+}]);
+
+
+
In order to configure our application with routes, we need to create a module for our application.
+We call this module phonecat
and using the config
API we request the $routeProvider
to be
+injected into our config function and use $routeProvider.when
API to define our routes.
+
+
Note that during the injector configuration phase, the providers can be injected as well, but they
+will not be available for injection once the injector is created and starts creating service
+instances.
+
+
Our application routes were defined as follows:
+
+
+The phone list view will be shown when the URL hash fragment is /phones
. To construct this
+view, Angular will use the phone-list.html
template and the PhoneListCtrl
controller.
+The phone details view will be shown when the URL hash fragment matches '/phone/:phoneId', where
+:phoneId
is a variable part of the URL. To construct the phone details view, angular will use the
+phone-detail.html
template and the PhoneDetailCtrl
controller.
+
+
+
We reused the PhoneListCtrl
controller that we constructed in previous steps and we added a new,
+empty PhoneDetailCtrl
controller to the app/js/controllers.js
file for the phone details view.
+
+
The statement $route.otherwise({redirectTo: '/phones'})
triggers a redirection to /phones
when
+the browser address doesn't match either of our routes.
+
+
Note the use of the :phoneId
parameter in the second route declaration. The $route
service uses
+the route declaration — '/phones/:phoneId'
— as a template that is matched against the current
+URL. All variables defined with the :
notation are extracted into the
+$routeParams
object.
+
+
In order for our application to bootstrap with our newly created module we'll also need to specify
+the module name as the value of the ngApp
+directive:
+
+
app/index.html
:
+
+<!doctype html>
+<html lang="en" ng-app="phonecat">
+...
+
+
+
Controllers
+
+
app/js/controllers.js
:
+
+...
+function PhoneDetailCtrl($scope, $routeParams) {
+ $scope.phoneId = $routeParams.phoneId;
+}
+
+//PhoneDetailCtrl.$inject = ['$scope', '$routeParams'];
+
+
+
Template
+
+
The $route
service is usually used in conjunction with the ngView
directive. The role of the ngView
directive is to include the view template for the current
+route into the layout template, which makes it a perfect fit for our index.html
template.
+
+
app/index.html
:
+
+<html lang="en" ng-app="phonecat">
+<head>
+...
+ <script src="lib/angular/angular.js"></script>
+ <script src="js/app.js"></script>
+ <script src="js/controllers.js"></script>
+</head>
+<body>
+
+ <div ng-view></div>
+
+</body>
+</html>
+
+
+
Note that we removed most of the code in the index.html
template and replaced it with a single
+line containing a div with the ng-view
attribute. The code that we removed was placed into the
+phone-list.html
template:
+
+
app/partials/phone-list.html
:
+
+<div class="container-fluid">
+ <div class="row-fluid">
+ <div class="span2">
+ <!--Sidebar content-->
+
+ Search: <input ng-model="query">
+ Sort by:
+ <select ng-model="orderProp">
+ <option value="name">Alphabetical</option>
+ <option value="age">Newest</option>
+ </select>
+
+ </div>
+ <div class="span10">
+ <!--Body content-->
+
+ <ul class="phones">
+ <li ng-repeat="phone in phones | filter:query | orderBy:orderProp" class="thumbnail">
+ <a href="#/phones/{{phone.id}}" class="thumb"><img ng-src="{{phone.imageUrl}}"></a>
+ <a href="#/phones/{{phone.id}}">{{phone.name}}</a>
+ <p>{{phone.snippet}}</p>
+ </li>
+ </ul>
+
+ </div>
+ </div>
+</div>
+
+
+
+TODO!
+
+
+
+
We also added a placeholder template for the phone details view:
+
+
app/partials/phone-detail.html
:
+
+TBD: detail view for {{phoneId}}
+
+
+
Note how we are using phoneId
model defined in the PhoneDetailCtrl
controller.
+
+
Test
+
+
To automatically verify that everything is wired properly, we wrote end-to-end tests that navigate
+to various URLs and verify that the correct view was rendered.
+
+
+...
+ it('should redirect index.html to index.html#/phones', function() {
+ browser().navigateTo('../../app/index.html');
+ expect(browser().location().url()).toBe('/phones');
+ });
+...
+
+ describe('Phone detail view', function() {
+
+ beforeEach(function() {
+ browser().navigateTo('../../app/index.html#/phones/nexus-s');
+ });
+
+
+ it('should display placeholder page with phoneId', function() {
+ expect(binding('phoneId')).toBe('nexus-s');
+ });
+ });
+
+
+
You can now rerun ./scripts/e2e-test.sh
or refresh the browser tab with the end-to-end test
+runner to see the tests run, or you can see them running on Angular's server.
+
+
Experiments
+
+
+- Try to add an
{{orderProp}}
binding to index.html
, and you'll see that nothing happens even
+when you are in the phone list view. This is because the orderProp
model is visible only in the
+scope managed by PhoneListCtrl
, which is associated with the <div ng-view>
element. If you add
+the same binding into the phone-list.html
template, the binding will work as expected.
+
+
+
+* In `PhoneCatCtrl`, create a new model called "`hero`" with `this.hero = 'Zoro'`. In
+`PhoneListCtrl` let's shadow it with `this.hero = 'Batman'`, and in `PhoneDetailCtrl` we'll use
+`this.hero = "Captain Proton"`. Then add the `
hero = {{hero}}
` to all three of our templates
+(`index.html`, `phone-list.html`, and `phone-detail.html`). Open the app and you'll see scope
+inheritance and model property shadowing do some wonders.
+
+
+
Summary
+
+
With the routing set up and the phone list view implemented, we're ready to go to step 8 to implement the phone details view.
+
+
diff --git a/1.1.1/docs/partials/tutorial/step_08.html b/1.1.1/docs/partials/tutorial/step_08.html
new file mode 100644
index 000000000..2af9ac386
--- /dev/null
+++ b/1.1.1/docs/partials/tutorial/step_08.html
@@ -0,0 +1,181 @@
+
+
+
+
+
+
In this step, you will implement the phone details view, which is displayed when a user clicks on a
+phone in the phone list.
+
+
+
+
+
Now when you click on a phone on the list, the phone details page with phone-specific information
+is displayed.
+
+
To implement the phone details view we will use $http
to fetch
+our data, and we'll flesh out the phone-detail.html
view template.
+
+
The most important changes are listed below. You can see the full diff on GitHub:
+
+
Data
+
+
In addition to phones.json
, the app/phones/
directory also contains one json file for each
+phone:
+
+
app/phones/nexus-s.json
: (sample snippet)
+
+{
+ "additionalFeatures": "Contour Display, Near Field Communications (NFC),...",
+ "android": {
+ "os": "Android 2.3",
+ "ui": "Android"
+ },
+ ...
+ "images": [
+ "img/phones/nexus-s.0.jpg",
+ "img/phones/nexus-s.1.jpg",
+ "img/phones/nexus-s.2.jpg",
+ "img/phones/nexus-s.3.jpg"
+ ],
+ "storage": {
+ "flash": "16384MB",
+ "ram": "512MB"
+ }
+}
+
+
+
Each of these files describes various properties of the phone using the same data structure. We'll
+show this data in the phone detail view.
+
+
Controller
+
+
We'll expand the PhoneDetailCtrl
by using the $http
service to fetch the json files. This works
+the same way as the phone list controller.
+
+
app/js/controllers.js
:
+
+function PhoneDetailCtrl($scope, $routeParams, $http) {
+ $http.get('phones/' + $routeParams.phoneId + '.json').success(function(data) {
+ $scope.phone = data;
+ });
+}
+
+//PhoneDetailCtrl.$inject = ['$scope', '$routeParams', '$http'];
+
+
+
To construct the URL for the HTTP request, we use $routeParams.phoneId
extracted from the current
+route by the $route
service.
+
+
Template
+
+
The TBD placeholder line has been replaced with lists and bindings that comprise the phone details.
+Note where we use the angular {{expression}}
markup and ngRepeat
to project phone data from
+our model into the view.
+
+
app/partials/phone-detail.html
:
+
+<img ng-src="{{phone.images[0]}}" class="phone">
+
+<h1>{{phone.name}}</h1>
+
+<p>{{phone.description}}</p>
+
+<ul class="phone-thumbs">
+ <li ng-repeat="img in phone.images">
+ <img ng-src="{{img}}">
+ </li>
+</ul>
+
+<ul class="specs">
+ <li>
+ <span>Availability and Networks</span>
+ <dl>
+ <dt>Availability</dt>
+ <dd ng-repeat="availability in phone.availability">{{availability}}</dd>
+ </dl>
+ </li>
+ ...
+ </li>
+ <span>Additional Features</span>
+ <dd>{{phone.additionalFeatures}}</dd>
+ </li>
+</ul>
+
+
+
+TODO!
+
+
+
+
Test
+
+
We wrote a new unit test that is similar to the one we wrote for the PhoneListCtrl
controller in
+step 5.
+
+
test/unit/controllersSpec.js
:
+
+...
+ describe('PhoneDetailCtrl', function(){
+ var scope, $httpBackend, ctrl;
+
+ beforeEach(inject(function(_$httpBackend_, $rootScope, $routeParams, $controller) {
+ $httpBackend = _$httpBackend_;
+ $httpBackend.expectGET('phones/xyz.json').respond({name:'phone xyz'});
+
+ $routeParams.phoneId = 'xyz';
+ scope = $rootScope.$new();
+ ctrl = $controller(PhoneDetailCtrl, {$scope: scope});
+ }));
+
+
+ it('should fetch phone detail', function() {
+ expect(scope.phone).toBeUndefined();
+ $httpBackend.flush();
+
+ expect(scope.phone).toEqual({name:'phone xyz'});
+ });
+ });
+...
+
+
+
You should now see the following output in the Testacular tab:
+
+
Chrome 22.0: Executed 3 of 3 SUCCESS (0.039 secs / 0.012 secs)
+
+
+
We also added a new end-to-end test that navigates to the Nexus S detail page and verifies that the
+heading on the page is "Nexus S".
+
+
test/e2e/scenarios.js
:
+
+...
+ describe('Phone detail view', function() {
+
+ beforeEach(function() {
+ browser().navigateTo('../../app/index.html#/phones/nexus-s');
+ });
+
+
+ it('should display nexus-s page', function() {
+ expect(binding('phone.name')).toBe('Nexus S');
+ });
+ });
+...
+
+
+
You can now rerun ./scripts/e2e-test.sh
or refresh the browser tab with the end-to-end test
+runner to see the tests run, or you can see them running on Angular's server.
+
+
Experiments
+
+
+
+
Summary
+
+
Now that the phone details view is in place, proceed to step 9 to learn how to
+write your own custom display filter.
+
+
diff --git a/1.1.1/docs/partials/tutorial/step_09.html b/1.1.1/docs/partials/tutorial/step_09.html
new file mode 100644
index 000000000..7ae6d7190
--- /dev/null
+++ b/1.1.1/docs/partials/tutorial/step_09.html
@@ -0,0 +1,131 @@
+
+
+
+
+
+
In this step you will learn how to create your own custom display filter.
+
+
+
+
+
Navigate to one of the detail pages.
+
+
In the previous step, the details page displayed either "true" or "false" to indicate whether
+certain phone features were present or not. We have used a custom filter to convert those text
+strings into glyphs: ✓ for "true", and ✘ for "false". Let's see what the filter code looks like.
+
+
The most important changes are listed below. You can see the full diff on GitHub:
+
+
Custom Filter
+
+
In order to create a new filter, you are going to create a phonecatFilters
module and register
+your custom filter with this module:
+
+
app/js/filters.js
:
+
+angular.module('phonecatFilters', []).filter('checkmark', function() {
+ return function(input) {
+ return input ? '\u2713' : '\u2718';
+ };
+});
+
+
+
The name of our filter is "checkmark". The input
evaluates to either true
or false
, and we
+return one of two unicode characters we have chosen to represent true or false (\u2713
and
+\u2718
).
+
+
Now that our filter is ready, we need to register the phonecatFilters
module as a dependency for
+our main phonecat
module.
+
+
app/js/app.js
:
+
+...
+angular.module('phonecat', ['phonecatFilters']).
+...
+
+
+
Template
+
+
Since the filter code lives in the app/js/filters.js
file, we need to include this file in our
+layout template.
+
+
app/index.html
:
+
+...
+ <script src="js/controllers.js"></script>
+ <script src="js/filters.js"></script>
+...
+
+
+
The syntax for using filters in Angular templates is as follows:
+
+
{{ expression | filter }}
+
+
+
Let's employ the filter in the phone details template:
+
+
app/partials/phone-detail.html
:
+
+...
+ <dl>
+ <dt>Infrared</dt>
+ <dd>{{phone.connectivity.infrared | checkmark}}</dd>
+ <dt>GPS</dt>
+ <dd>{{phone.connectivity.gps | checkmark}}</dd>
+ </dl>
+...
+
+
+
Test
+
+
Filters, like any other component, should be tested and these tests are very easy to write.
+
+
test/unit/filtersSpec.js
:
+
+describe('filter', function() {
+
+ beforeEach(module('phonecatFilters'));
+
+
+ describe('checkmark', function() {
+
+ it('should convert boolean values to unicode checkmark or cross',
+ inject(function(checkmarkFilter) {
+ expect(checkmarkFilter(true)).toBe('\u2713');
+ expect(checkmarkFilter(false)).toBe('\u2718');
+ }));
+ });
+});
+
+
+
Note that you need to configure our test injector with the phonecatFilters
module before any of
+our filter tests execute.
+
+
You should now see the following output in the Testacular tab:
+
+
Chrome 22.0: Executed 4 of 4 SUCCESS (0.034 secs / 0.012 secs)
+
+
+
Experiments
+
+
+Let's experiment with some of the built-in Angular filters
and add the
+following bindings to index.html
:
+
+{{ "lower cap string" | uppercase }}
+{{ {foo: "bar", baz: 23} | json }}
+{{ 1304375948024 | date }}
+{{ 1304375948024 | date:"MM/dd/yyyy @ h:mma" }}
+We can also create a model with an input element, and combine it with a filtered binding. Add
+the following to index.html:
+
+<input ng-model="userInput"> Uppercased: {{ userInput | uppercase }}
+
+
+
+
Summary
+
+
Now that you have learned how to write and test a custom filter, go to step 10 to
+learn how we can use Angular to enhance the phone details page further.
+
+
diff --git a/1.1.1/docs/partials/tutorial/step_10.html b/1.1.1/docs/partials/tutorial/step_10.html
new file mode 100644
index 000000000..69bbbbbb5
--- /dev/null
+++ b/1.1.1/docs/partials/tutorial/step_10.html
@@ -0,0 +1,134 @@
+
+
+
+
+
+
In this step, you will add a clickable phone image swapper to the phone details page.
+
+
+
+
+
The phone details view displays one large image of the current phone and several smaller thumbnail
+images. It would be great if we could replace the large image with any of the thumbnails just by
+clicking on the desired thumbnail image. Let's have a look at how we can do this with Angular.
+
+
The most important changes are listed below. You can see the full diff on GitHub:
+
+
Controller
+
+
app/js/controllers.js
:
+
+...
+function PhoneDetailCtrl($scope, $routeParams, $http) {
+ $http.get('phones/' + $routeParams.phoneId + '.json').success(function(data) {
+ $scope.phone = data;
+ $scope.mainImageUrl = data.images[0];
+ });
+
+ $scope.setImage = function(imageUrl) {
+ $scope.mainImageUrl = imageUrl;
+ }
+}
+
+//PhoneDetailCtrl.$inject = ['$scope', '$routeParams', '$http'];
+
+
+
In the PhoneDetailCtrl
controller, we created the mainImageUrl
model property and set its
+default value to the first phone image URL.
+
+
We also created a setImage
event handler function that will change the value of mainImageUrl
.
+
+
Template
+
+
app/partials/phone-detail.html
:
+
+<img ng-src="{{mainImageUrl}}" class="phone">
+
+...
+
+<ul class="phone-thumbs">
+ <li ng-repeat="img in phone.images">
+ <img ng-src="{{img}}" ng-click="setImage(img)">
+ </li>
+</ul>
+...
+
+
+
We bound the ngSrc
directive of the large image to the mainImageUrl
property.
+
+
We also registered an ngClick
+handler with thumbnail images. When a user clicks on one of the thumbnail images, the handler will
+use the setImage
event handler function to change the value of the mainImageUrl
property to the
+URL of the thumbnail image.
+
+
+TODO!
+
+
+
+
Test
+
+
To verify this new feature, we added two end-to-end tests. One verifies that the main image is set
+to the first phone image by default. The second test clicks on several thumbnail images and
+verifies that the main image changed appropriately.
+
+
test/e2e/scenarios.js
:
+
+...
+ describe('Phone detail view', function() {
+
+...
+
+ it('should display the first phone image as the main phone image', function() {
+ expect(element('img.phone').attr('src')).toBe('img/phones/nexus-s.0.jpg');
+ });
+
+
+ it('should swap main image if a thumbnail image is clicked on', function() {
+ element('.phone-thumbs li:nth-child(3) img').click();
+ expect(element('img.phone').attr('src')).toBe('img/phones/nexus-s.2.jpg');
+
+ element('.phone-thumbs li:nth-child(1) img').click();
+ expect(element('img.phone').attr('src')).toBe('img/phones/nexus-s.0.jpg');
+ });
+ });
+});
+
+
+
You can now rerun ./scripts/e2e-test.sh
or refresh the browser tab with the end-to-end test
+runner to see the tests run, or you can see them running on Angular's server.
+
+
Experiments
+
+
+Let's add a new controller method to PhoneDetailCtrl
:
+
+ $scope.hello = function(name) {
+ alert('Hello ' + (name || 'world') + '!');
+ }
+
+
+and add:
+
+ <button ng-click="hello('Elmo')">Hello</button>
+
+
+to the phone-details.html
template.
+
+
+
+TODO!
+ The controller methods are inherited between controllers/scopes, so you can use the same snippet
+in the `phone-list.html` template as well.
+
+* Move the `hello` method from `PhoneCatCtrl` to `PhoneListCtrl` and you'll see that the button
+declared in `index.html` will stop working, while the one declared in the `phone-list.html`
+template remains operational.
+
+
+
Summary
+
+
With the phone image swapper in place, we're ready for step 11 (the last step!) to
+learn an even better way to fetch data.
+
+
diff --git a/1.1.1/docs/partials/tutorial/step_11.html b/1.1.1/docs/partials/tutorial/step_11.html
new file mode 100644
index 000000000..b5feb6f1f
--- /dev/null
+++ b/1.1.1/docs/partials/tutorial/step_11.html
@@ -0,0 +1,215 @@
+
+
+
+
+
+
In this step, you will improve the way our app fetches data.
+
+
+
+
+
The last improvement we will make to our app is to define a custom service that represents a RESTful client. Using this client we
+can make XHR requests for data in an easier way, without having to deal with the lower-level $http
API, HTTP methods and URLs.
+
+
The most important changes are listed below. You can see the full diff on GitHub:
+
+
Template
+
+
The custom service is defined in app/js/services.js
so we need to include this file in our layout
+template. Additionally, we also need to load the angular-resource.js
file, which contains the
+ngResource
module and in it the $resource
service, that we'll soon use:
+
+
app/index.html
.
+
+...
+ <script src="js/services.js"></script>
+ <script src="lib/angular/angular-resource.js"></script>
+...
+
+
+
Service
+
+
app/js/services.js
.
+
+angular.module('phonecatServices', ['ngResource']).
+ factory('Phone', function($resource){
+ return $resource('phones/:phoneId.json', {}, {
+ query: {method:'GET', params:{phoneId:'phones'}, isArray:true}
+ });
+});
+
+
+
We used the module API to register a custom service using a factory function. We passed in the name
+of the service - 'Phone' - and the factory function. The factory function is similar to a
+controller's constructor in that both can declare dependencies via function arguments. The Phone
+service declared a dependency on the $resource
service.
+
+
The $resource
service makes it easy to create a
+RESTful client with just a few
+lines of code. This client can then be used in our application, instead of the lower-level $http
service.
+
+
app/js/app.js
.
+
+...
+angular.module('phonecat', ['phonecatFilters', 'phonecatServices']).
+...
+
+
+
We need to add 'phonecatServices' to 'phonecat' application's requires array.
+
+
Controller
+
+
We simplified our sub-controllers (PhoneListCtrl
and PhoneDetailCtrl
) by factoring out the
+lower-level $http
service, replacing it with a new service called
+Phone
. Angular's $resource
service is easier to
+use than $http
for interacting with data sources exposed as RESTful resources. It is also easier
+now to understand what the code in our controllers is doing.
+
+
app/js/controllers.js
.
+
+...
+
+function PhoneListCtrl($scope, Phone) {
+ $scope.phones = Phone.query();
+ $scope.orderProp = 'age';
+}
+
+//PhoneListCtrl.$inject = ['$scope', 'Phone'];
+
+
+
+function PhoneDetailCtrl($scope, $routeParams, Phone) {
+ $scope.phone = Phone.get({phoneId: $routeParams.phoneId}, function(phone) {
+ $scope.mainImageUrl = phone.images[0];
+ });
+
+ $scope.setImage = function(imageUrl) {
+ $scope.mainImageUrl = imageUrl;
+ }
+}
+
+//PhoneDetailCtrl.$inject = ['$scope', '$routeParams', 'Phone'];
+
+
+
Notice how in PhoneListCtrl
we replaced:
+
+
$http.get('phones/phones.json').success(function(data) {
+ $scope.phones = data;
+});
+
+
+
with:
+
+
$scope.phones = Phone.query();
+
+
+
This is a simple statement that we want to query for all phones.
+
+
An important thing to notice in the code above is that we don't pass any callback functions when
+invoking methods of our Phone service. Although it looks as if the result were returned
+synchronously, that is not the case at all. What is returned synchronously is a "future" — an
+object, which will be filled with data when the XHR response returns. Because of the data-binding
+in Angular, we can use this future and bind it to our template. Then, when the data arrives, the
+view will automatically update.
+
+
Sometimes, relying on the future object and data-binding alone is not sufficient to do everything
+we require, so in these cases, we can add a callback to process the server response. The
+PhoneDetailCtrl
controller illustrates this by setting the mainImageUrl
in a callback.
+
+
Test
+
+
We have modified our unit tests to verify that our new service is issuing HTTP requests and
+processing them as expected. The tests also check that our controllers are interacting with the
+service correctly.
+
+
The $resource service augments the response object
+with methods for updating and deleting the resource. If we were to use the standard toEqual
+matcher, our tests would fail because the test values would not match the responses exactly. To
+solve the problem, we use a newly-defined toEqualData
Jasmine matcher. When the
+toEqualData
matcher compares two objects, it takes only object properties into account and
+ignores methods.
+
+
test/unit/controllersSpec.js
:
+
+describe('PhoneCat controllers', function() {
+
+ beforeEach(function(){
+ this.addMatchers({
+ toEqualData: function(expected) {
+ return angular.equals(this.actual, expected);
+ }
+ });
+ });
+
+
+ beforeEach(module('phonecatServices'));
+
+
+ describe('PhoneListCtrl', function(){
+ var scope, ctrl, $httpBackend;
+
+ beforeEach(inject(function(_$httpBackend_, $rootScope, $controller) {
+ $httpBackend = _$httpBackend_;
+ $httpBackend.expectGET('phones/phones.json').
+ respond([{name: 'Nexus S'}, {name: 'Motorola DROID'}]);
+
+ scope = $rootScope.$new();
+ ctrl = $controller(PhoneListCtrl, {$scope: scope});
+ }));
+
+
+ it('should create "phones" model with 2 phones fetched from xhr', function() {
+ expect(scope.phones).toEqual([]);
+ $httpBackend.flush();
+
+ expect(scope.phones).toEqualData(
+ [{name: 'Nexus S'}, {name: 'Motorola DROID'}]);
+ });
+
+
+ it('should set the default value of orderProp model', function() {
+ expect(scope.orderProp).toBe('age');
+ });
+ });
+
+
+ describe('PhoneDetailCtrl', function(){
+ var scope, $httpBackend, ctrl,
+ xyzPhoneData = function() {
+ return {
+ name: 'phone xyz',
+ images: ['image/url1.png', 'image/url2.png']
+ }
+ };
+
+
+ beforeEach(inject(function(_$httpBackend_, $rootScope, $routeParams, $controller) {
+ $httpBackend = _$httpBackend_;
+ $httpBackend.expectGET('phones/xyz.json').respond(xyzPhoneData());
+
+ $routeParams.phoneId = 'xyz';
+ scope = $rootScope.$new();
+ ctrl = $controller(PhoneDetailCtrl, {$scope: scope});
+ }));
+
+
+ it('should fetch phone detail', function() {
+ expect(scope.phone).toEqualData({});
+ $httpBackend.flush();
+
+ expect(scope.phone).toEqualData(xyzPhoneData());
+ });
+ });
+});
+
+
+
You should now see the following output in the Testacular tab:
+
+
Chrome 22.0: Executed 4 of 4 SUCCESS (0.038 secs / 0.01 secs)
+
+
+
Summary
+
+
There you have it! We have created a web app in a relatively short amount of time. In the closing notes we'll cover where to go from here.
+
+
diff --git a/1.1.1/docs/partials/tutorial/the_end.html b/1.1.1/docs/partials/tutorial/the_end.html
new file mode 100644
index 000000000..5d3758837
--- /dev/null
+++ b/1.1.1/docs/partials/tutorial/the_end.html
@@ -0,0 +1,19 @@
+
+
+
+
Our application is now complete. Feel free to experiment with the code further, and jump back to
+previous steps using the git checkout
commandx.
+
+
For more details and examples of the Angular concepts we touched on in this tutorial, see the
+Developer Guide.
+
+
For several more examples of code, see the Cookbook.
+
+
When you are ready to start developing a project using Angular, we recommend that you bootstrap
+your development with the angular-seed project.
+
+
We hope this tutorial was useful to you and that you learned enough about Angular to make you want
+to learn more. We especially hope you are inspired to go out and develop Angular web apps of your
+own, and that you might be interested in contributing to Angular.
+
+
If you have questions or feedback or just want to say "hi", please post a message at https://groups.google.com/forum/#!forum/angular.
diff --git a/1.1.1/docs/robots.txt b/1.1.1/docs/robots.txt
new file mode 100644
index 000000000..f93b7c063
--- /dev/null
+++ b/1.1.1/docs/robots.txt
@@ -0,0 +1 @@
+Sitemap: http://docs.angularjs.org/sitemap.xml
diff --git a/1.1.1/docs/sitemap.xml b/1.1.1/docs/sitemap.xml
new file mode 100644
index 000000000..a968ae38d
--- /dev/null
+++ b/1.1.1/docs/sitemap.xml
@@ -0,0 +1,210 @@
+
+
+ http://docs.angularjs.org/api/indexweekly
+ http://docs.angularjs.org/api/ngweekly
+ http://docs.angularjs.org/cookbook/advancedformweekly
+ http://docs.angularjs.org/cookbook/buzzweekly
+ http://docs.angularjs.org/cookbook/deeplinkingweekly
+ http://docs.angularjs.org/cookbook/formweekly
+ http://docs.angularjs.org/cookbook/helloworldweekly
+ http://docs.angularjs.org/cookbook/indexweekly
+ http://docs.angularjs.org/cookbook/mvcweekly
+ http://docs.angularjs.org/guide/conceptsweekly
+ http://docs.angularjs.org/guide/bootstrapweekly
+ http://docs.angularjs.org/guide/dev_guide.mvcweekly
+ http://docs.angularjs.org/guide/compilerweekly
+ http://docs.angularjs.org/guide/dev_guide.e2e-testingweekly
+ http://docs.angularjs.org/guide/dev_guide.services.$locationweekly
+ http://docs.angularjs.org/guide/dev_guide.mvc.understanding_viewweekly
+ http://docs.angularjs.org/guide/dev_guide.mvc.understanding_controllerweekly
+ http://docs.angularjs.org/guide/dev_guide.mvc.understanding_modelweekly
+ http://docs.angularjs.org/guide/dev_guide.services.creating_servicesweekly
+ http://docs.angularjs.org/guide/dev_guide.servicesweekly
+ http://docs.angularjs.org/guide/dev_guide.services.injecting_controllersweekly
+ http://docs.angularjs.org/guide/dev_guide.services.testing_servicesweekly
+ http://docs.angularjs.org/guide/dev_guide.services.managing_dependenciesweekly
+ http://docs.angularjs.org/guide/dev_guide.services.understanding_servicesweekly
+ http://docs.angularjs.org/guide/dev_guide.templates.css-stylingweekly
+ http://docs.angularjs.org/guide/dev_guide.templates.databindingweekly
+ http://docs.angularjs.org/guide/dev_guide.templates.filters.creating_filtersweekly
+ http://docs.angularjs.org/guide/dev_guide.templates.filtersweekly
+ http://docs.angularjs.org/guide/dev_guide.templates.filters.using_filtersweekly
+ http://docs.angularjs.org/guide/directiveweekly
+ http://docs.angularjs.org/guide/dev_guide.templatesweekly
+ http://docs.angularjs.org/guide/dev_guide.unit-testingweekly
+ http://docs.angularjs.org/guide/diweekly
+ http://docs.angularjs.org/guide/expressionweekly
+ http://docs.angularjs.org/guide/formsweekly
+ http://docs.angularjs.org/guide/i18nweekly
+ http://docs.angularjs.org/guide/ieweekly
+ http://docs.angularjs.org/guide/indexweekly
+ http://docs.angularjs.org/guide/introductionweekly
+ http://docs.angularjs.org/guide/moduleweekly
+ http://docs.angularjs.org/misc/contributeweekly
+ http://docs.angularjs.org/guide/scopeweekly
+ http://docs.angularjs.org/guide/overviewweekly
+ http://docs.angularjs.org/misc/startedweekly
+ http://docs.angularjs.org/tutorial/indexweekly
+ http://docs.angularjs.org/guide/typeweekly
+ http://docs.angularjs.org/tutorial/step_01weekly
+ http://docs.angularjs.org/misc/downloadingweekly
+ http://docs.angularjs.org/misc/faqweekly
+ http://docs.angularjs.org/tutorial/step_02weekly
+ http://docs.angularjs.org/tutorial/step_00weekly
+ http://docs.angularjs.org/tutorial/step_03weekly
+ http://docs.angularjs.org/tutorial/step_04weekly
+ http://docs.angularjs.org/tutorial/step_05weekly
+ http://docs.angularjs.org/tutorial/step_06weekly
+ http://docs.angularjs.org/tutorial/step_07weekly
+ http://docs.angularjs.org/tutorial/step_08weekly
+ http://docs.angularjs.org/tutorial/step_09weekly
+ http://docs.angularjs.org/tutorial/step_10weekly
+ http://docs.angularjs.org/tutorial/step_11weekly
+ http://docs.angularjs.org/tutorial/the_endweekly
+ http://docs.angularjs.org/api/angular.versionweekly
+ http://docs.angularjs.org/api/angular.lowercaseweekly
+ http://docs.angularjs.org/api/angular.uppercaseweekly
+ http://docs.angularjs.org/api/angular.forEachweekly
+ http://docs.angularjs.org/api/angular.extendweekly
+ http://docs.angularjs.org/api/angular.noopweekly
+ http://docs.angularjs.org/api/angular.identityweekly
+ http://docs.angularjs.org/api/angular.isUndefinedweekly
+ http://docs.angularjs.org/api/angular.isDefinedweekly
+ http://docs.angularjs.org/api/angular.isObjectweekly
+ http://docs.angularjs.org/api/angular.isStringweekly
+ http://docs.angularjs.org/api/angular.isNumberweekly
+ http://docs.angularjs.org/api/angular.isDateweekly
+ http://docs.angularjs.org/api/angular.isArrayweekly
+ http://docs.angularjs.org/api/angular.isFunctionweekly
+ http://docs.angularjs.org/api/angular.isElementweekly
+ http://docs.angularjs.org/api/angular.copyweekly
+ http://docs.angularjs.org/api/angular.equalsweekly
+ http://docs.angularjs.org/api/angular.bindweekly
+ http://docs.angularjs.org/api/angular.toJsonweekly
+ http://docs.angularjs.org/api/angular.fromJsonweekly
+ http://docs.angularjs.org/api/ng.directive:ngAppweekly
+ http://docs.angularjs.org/api/angular.bootstrapweekly
+ http://docs.angularjs.org/api/angular.injectorweekly
+ http://docs.angularjs.org/api/AUTOweekly
+ http://docs.angularjs.org/api/AUTO.$injectorweekly
+ http://docs.angularjs.org/api/AUTO.$provideweekly
+ http://docs.angularjs.org/api/angular.elementweekly
+ http://docs.angularjs.org/api/angular.Moduleweekly
+ http://docs.angularjs.org/api/angular.moduleweekly
+ http://docs.angularjs.org/api/ng.$anchorScrollweekly
+ http://docs.angularjs.org/api/ng.$cacheFactoryweekly
+ http://docs.angularjs.org/api/ng.$templateCacheweekly
+ http://docs.angularjs.org/api/ng.$compileweekly
+ http://docs.angularjs.org/api/ng.$compileProviderweekly
+ http://docs.angularjs.org/api/ng.$compile.directive.Attributesweekly
+ http://docs.angularjs.org/api/ng.$controllerProviderweekly
+ http://docs.angularjs.org/api/ng.$controllerweekly
+ http://docs.angularjs.org/api/ng.directive:aweekly
+ http://docs.angularjs.org/api/ng.directive:ngHrefweekly
+ http://docs.angularjs.org/api/ng.directive:ngSrcweekly
+ http://docs.angularjs.org/api/ng.directive:ngDisabledweekly
+ http://docs.angularjs.org/api/ng.directive:ngCheckedweekly
+ http://docs.angularjs.org/api/ng.directive:ngMultipleweekly
+ http://docs.angularjs.org/api/ng.directive:ngReadonlyweekly
+ http://docs.angularjs.org/api/ng.directive:ngSelectedweekly
+ http://docs.angularjs.org/api/ng.directive:form.FormControllerweekly
+ http://docs.angularjs.org/api/ng.directive:ngFormweekly
+ http://docs.angularjs.org/api/ng.directive:formweekly
+ http://docs.angularjs.org/api/ng.directive:ngBindweekly
+ http://docs.angularjs.org/api/ng.directive:ngBindTemplateweekly
+ http://docs.angularjs.org/api/ng.directive:ngBindHtmlUnsafeweekly
+ http://docs.angularjs.org/api/ng.directive:ngClassweekly
+ http://docs.angularjs.org/api/ng.directive:ngClassOddweekly
+ http://docs.angularjs.org/api/ng.directive:ngClassEvenweekly
+ http://docs.angularjs.org/api/ng.directive:input.textweekly
+ http://docs.angularjs.org/api/ng.directive:input.numberweekly
+ http://docs.angularjs.org/api/ng.directive:input.urlweekly
+ http://docs.angularjs.org/api/ng.directive:input.emailweekly
+ http://docs.angularjs.org/api/ng.directive:input.radioweekly
+ http://docs.angularjs.org/api/ng.directive:input.checkboxweekly
+ http://docs.angularjs.org/api/ng.directive:textareaweekly
+ http://docs.angularjs.org/api/ng.directive:inputweekly
+ http://docs.angularjs.org/api/ng.directive:ngModel.NgModelControllerweekly
+ http://docs.angularjs.org/api/ng.directive:ngModelweekly
+ http://docs.angularjs.org/api/ng.directive:ngChangeweekly
+ http://docs.angularjs.org/api/ng.directive:ngListweekly
+ http://docs.angularjs.org/api/ng.directive:ngCloakweekly
+ http://docs.angularjs.org/api/ng.directive:ngControllerweekly
+ http://docs.angularjs.org/api/ng.directive:ngCspweekly
+ http://docs.angularjs.org/api/ng.directive:ngClickweekly
+ http://docs.angularjs.org/api/ng.directive:ngDblclickweekly
+ http://docs.angularjs.org/api/ng.directive:ngMousedownweekly
+ http://docs.angularjs.org/api/ng.directive:ngMouseupweekly
+ http://docs.angularjs.org/api/ng.directive:ngMouseoverweekly
+ http://docs.angularjs.org/api/ng.directive:ngMouseenterweekly
+ http://docs.angularjs.org/api/ng.directive:ngMouseleaveweekly
+ http://docs.angularjs.org/api/ng.directive:ngMousemoveweekly
+ http://docs.angularjs.org/api/ng.directive:ngSubmitweekly
+ http://docs.angularjs.org/api/ng.directive:ngIncludeweekly
+ http://docs.angularjs.org/api/ng.directive:ngInitweekly
+ http://docs.angularjs.org/api/ng.directive:ngNonBindableweekly
+ http://docs.angularjs.org/api/ng.directive:ngPluralizeweekly
+ http://docs.angularjs.org/api/ng.directive:ngRepeatweekly
+ http://docs.angularjs.org/api/ng.directive:ngShowweekly
+ http://docs.angularjs.org/api/ng.directive:ngHideweekly
+ http://docs.angularjs.org/api/ng.directive:ngStyleweekly
+ http://docs.angularjs.org/api/ng.directive:ngSwitchweekly
+ http://docs.angularjs.org/api/ng.directive:ngTranscludeweekly
+ http://docs.angularjs.org/api/ng.directive:ngViewweekly
+ http://docs.angularjs.org/api/ng.directive:scriptweekly
+ http://docs.angularjs.org/api/ng.directive:selectweekly
+ http://docs.angularjs.org/api/ng.$documentweekly
+ http://docs.angularjs.org/api/ng.$exceptionHandlerweekly
+ http://docs.angularjs.org/api/ng.filter:filterweekly
+ http://docs.angularjs.org/api/ng.filter:currencyweekly
+ http://docs.angularjs.org/api/ng.filter:numberweekly
+ http://docs.angularjs.org/api/ng.filter:dateweekly
+ http://docs.angularjs.org/api/ng.filter:jsonweekly
+ http://docs.angularjs.org/api/ng.filter:lowercaseweekly
+ http://docs.angularjs.org/api/ng.filter:uppercaseweekly
+ http://docs.angularjs.org/api/ng.filter:limitToweekly
+ http://docs.angularjs.org/api/ng.filter:orderByweekly
+ http://docs.angularjs.org/api/ng.$filterProviderweekly
+ http://docs.angularjs.org/api/ng.$filterweekly
+ http://docs.angularjs.org/api/ng.$httpBackendweekly
+ http://docs.angularjs.org/api/ng.$httpweekly
+ http://docs.angularjs.org/api/ng.$interpolateProviderweekly
+ http://docs.angularjs.org/api/ng.$interpolateweekly
+ http://docs.angularjs.org/api/ng.$localeweekly
+ http://docs.angularjs.org/api/ng.$logweekly
+ http://docs.angularjs.org/api/ng.$locationweekly
+ http://docs.angularjs.org/api/ng.$locationProviderweekly
+ http://docs.angularjs.org/api/ng.$parseweekly
+ http://docs.angularjs.org/api/ng.$qweekly
+ http://docs.angularjs.org/api/ng.$rootScopeProviderweekly
+ http://docs.angularjs.org/api/ng.$rootScopeweekly
+ http://docs.angularjs.org/api/ng.$rootScope.Scopeweekly
+ http://docs.angularjs.org/api/ng.$routeParamsweekly
+ http://docs.angularjs.org/api/ng.$routeProviderweekly
+ http://docs.angularjs.org/api/ng.$routeweekly
+ http://docs.angularjs.org/api/ng.$timeoutweekly
+ http://docs.angularjs.org/api/ng.$windowweekly
+ http://docs.angularjs.org/api/ngCookiesweekly
+ http://docs.angularjs.org/api/ngCookies.$cookiesweekly
+ http://docs.angularjs.org/api/ngCookies.$cookieStoreweekly
+ http://docs.angularjs.org/api/ng.$rootElementweekly
+ http://docs.angularjs.org/api/ngResourceweekly
+ http://docs.angularjs.org/api/ngResource.$resourceweekly
+ http://docs.angularjs.org/api/angular.mockweekly
+ http://docs.angularjs.org/api/ngMock.$exceptionHandlerProviderweekly
+ http://docs.angularjs.org/api/ngMock.$exceptionHandlerweekly
+ http://docs.angularjs.org/api/ngMock.$logweekly
+ http://docs.angularjs.org/api/angular.mock.TzDateweekly
+ http://docs.angularjs.org/api/angular.mock.debugweekly
+ http://docs.angularjs.org/api/ngMock.$httpBackendweekly
+ http://docs.angularjs.org/api/ngMock.$timeoutweekly
+ http://docs.angularjs.org/api/ngMockweekly
+ http://docs.angularjs.org/api/ngMockE2Eweekly
+ http://docs.angularjs.org/api/ngMockE2E.$httpBackendweekly
+ http://docs.angularjs.org/api/angular.mock.moduleweekly
+ http://docs.angularjs.org/api/angular.mock.injectweekly
+ http://docs.angularjs.org/api/ngSanitize.directive:ngBindHtmlweekly
+ http://docs.angularjs.org/api/ngSanitize.filter:linkyweekly
+ http://docs.angularjs.org/api/ngSanitizeweekly
+ http://docs.angularjs.org/api/ngSanitize.$sanitizeweekly
+
diff --git a/1.1.1/i18n/angular-locale_am-et.js b/1.1.1/i18n/angular-locale_am-et.js
new file mode 100644
index 000000000..7abde0760
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_am-et.js
@@ -0,0 +1,4 @@
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
+$provide.value("$locale", {"NUMBER_FORMATS":{"DECIMAL_SEP":".","GROUP_SEP":",","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"\u00A4","posSuf":"","negPre":"(\u00A4","negSuf":")","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"Br"},"pluralCat":function (n) { if (n == 0 || n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"DATETIME_FORMATS":{"MONTH":["ጃንዩወሪ","ፌብሩወሪ","ማርች","ኤፕረል","ሜይ","ጁን","ጁላይ","ኦገስት","ሴፕቴምበር","ኦክተውበር","ኖቬምበር","ዲሴምበር"],"SHORTMONTH":["ጃንዩ","ፌብሩ","ማርች","ኤፕረ","ሜይ","ጁን","ጁላይ","ኦገስ","ሴፕቴ","ኦክተ","ኖቬም","ዲሴም"],"DAY":["እሑድ","ሰኞ","ማክሰኞ","ረቡዕ","ሐሙስ","ዓርብ","ቅዳሜ"],"SHORTDAY":["እሑድ","ሰኞ","ማክሰ","ረቡዕ","ሐሙስ","ዓርብ","ቅዳሜ"],"AMPMS":["ጡዋት","ከሳዓት"],"medium":"d MMM y h:mm:ss a","short":"dd/MM/yyyy h:mm a","fullDate":"EEEE, d MMMM y","longDate":"d MMMM y","mediumDate":"d MMM y","shortDate":"dd/MM/yyyy","mediumTime":"h:mm:ss a","shortTime":"h:mm a"},"id":"am-et"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_am.js b/1.1.1/i18n/angular-locale_am.js
new file mode 100644
index 000000000..4aaae03a1
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_am.js
@@ -0,0 +1,4 @@
+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":{"MONTH":["ጃንዩወሪ","ፌብሩወሪ","ማርች","ኤፕረል","ሜይ","ጁን","ጁላይ","ኦገስት","ሴፕቴምበር","ኦክተውበር","ኖቬምበር","ዲሴምበር"],"SHORTMONTH":["ጃንዩ","ፌብሩ","ማርች","ኤፕረ","ሜይ","ጁን","ጁላይ","ኦገስ","ሴፕቴ","ኦክተ","ኖቬም","ዲሴም"],"DAY":["እሑድ","ሰኞ","ማክሰኞ","ረቡዕ","ሐሙስ","ዓርብ","ቅዳሜ"],"SHORTDAY":["እሑድ","ሰኞ","ማክሰ","ረቡዕ","ሐሙስ","ዓርብ","ቅዳሜ"],"AMPMS":["ጡዋት","ከሳዓት"],"medium":"d MMM y h:mm:ss a","short":"dd/MM/yyyy h:mm a","fullDate":"EEEE, d MMMM y","longDate":"d MMMM y","mediumDate":"d MMM y","shortDate":"dd/MM/yyyy","mediumTime":"h:mm:ss a","shortTime":"h:mm a"},"NUMBER_FORMATS":{"DECIMAL_SEP":".","GROUP_SEP":",","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"\u00A4","posSuf":"","negPre":"(\u00A4","negSuf":")","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"Br"},"pluralCat":function (n) { if (n == 0 || n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"id":"am"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_ar-eg.js b/1.1.1/i18n/angular-locale_ar-eg.js
new file mode 100644
index 000000000..d2399cbab
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_ar-eg.js
@@ -0,0 +1,4 @@
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
+$provide.value("$locale", {"NUMBER_FORMATS":{"DECIMAL_SEP":",","GROUP_SEP":".","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"","negSuf":"-","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"\u00A4 ","posSuf":"","negPre":"\u00A4 ","negSuf":"-","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"£"},"pluralCat":function (n) { 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 && n == Math.floor(n)) { return PLURAL_CATEGORY.FEW; } if ((n % 100) >= 11 && (n % 100) <= 99 && n == Math.floor(n)) { return PLURAL_CATEGORY.MANY; } return PLURAL_CATEGORY.OTHER;},"DATETIME_FORMATS":{"MONTH":["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر"],"SHORTMONTH":["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر"],"DAY":["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],"SHORTDAY":["أحد","إثنين","ثلاثاء","أربعاء","خميس","جمعة","سبت"],"AMPMS":["ص","م"],"medium":"dd/MM/yyyy h:mm:ss a","short":"d/M/yyyy h:mm a","fullDate":"EEEE، d MMMM، y","longDate":"d MMMM، y","mediumDate":"dd/MM/yyyy","shortDate":"d/M/yyyy","mediumTime":"h:mm:ss a","shortTime":"h:mm a"},"id":"ar-eg"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_ar.js b/1.1.1/i18n/angular-locale_ar.js
new file mode 100644
index 000000000..49cd48d8c
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_ar.js
@@ -0,0 +1,4 @@
+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":{"MONTH":["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر"],"SHORTMONTH":["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر"],"DAY":["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],"SHORTDAY":["أحد","إثنين","ثلاثاء","أربعاء","خميس","جمعة","سبت"],"AMPMS":["ص","م"],"medium":"dd/MM/yyyy h:mm:ss a","short":"d/M/yyyy h:mm a","fullDate":"EEEE، d MMMM، y","longDate":"d MMMM، y","mediumDate":"dd/MM/yyyy","shortDate":"d/M/yyyy","mediumTime":"h:mm:ss a","shortTime":"h:mm a"},"NUMBER_FORMATS":{"DECIMAL_SEP":",","GROUP_SEP":".","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"","negSuf":"-","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"\u00A4 ","posSuf":"","negPre":"\u00A4 ","negSuf":"-","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"£"},"pluralCat":function (n) { 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 && n == Math.floor(n)) { return PLURAL_CATEGORY.FEW; } if ((n % 100) >= 11 && (n % 100) <= 99 && n == Math.floor(n)) { return PLURAL_CATEGORY.MANY; } return PLURAL_CATEGORY.OTHER;},"id":"ar"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_bg-bg.js b/1.1.1/i18n/angular-locale_bg-bg.js
new file mode 100644
index 000000000..7517358e2
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_bg-bg.js
@@ -0,0 +1,4 @@
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
+$provide.value("$locale", {"NUMBER_FORMATS":{"DECIMAL_SEP":",","GROUP_SEP":" ","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"","posSuf":" \u00A4","negPre":"-","negSuf":" \u00A4","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"лв"},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"DATETIME_FORMATS":{"MONTH":["януари","февруари","март","април","май","юни","юли","август","септември","октомври","ноември","декември"],"SHORTMONTH":["ян.","февр.","март","апр.","май","юни","юли","авг.","септ.","окт.","ноем.","дек."],"DAY":["неделя","понеделник","вторник","сряда","четвъртък","петък","събота"],"SHORTDAY":["нд","пн","вт","ср","чт","пт","сб"],"AMPMS":["пр. об.","сл. об."],"medium":"dd.MM.yyyy HH:mm:ss","short":"dd.MM.yy HH:mm","fullDate":"dd MMMM y, EEEE","longDate":"dd MMMM y","mediumDate":"dd.MM.yyyy","shortDate":"dd.MM.yy","mediumTime":"HH:mm:ss","shortTime":"HH:mm"},"id":"bg-bg"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_bg.js b/1.1.1/i18n/angular-locale_bg.js
new file mode 100644
index 000000000..d6849b326
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_bg.js
@@ -0,0 +1,4 @@
+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":{"MONTH":["януари","февруари","март","април","май","юни","юли","август","септември","октомври","ноември","декември"],"SHORTMONTH":["ян.","февр.","март","апр.","май","юни","юли","авг.","септ.","окт.","ноем.","дек."],"DAY":["неделя","понеделник","вторник","сряда","четвъртък","петък","събота"],"SHORTDAY":["нд","пн","вт","ср","чт","пт","сб"],"AMPMS":["пр. об.","сл. об."],"medium":"dd.MM.yyyy HH:mm:ss","short":"dd.MM.yy HH:mm","fullDate":"dd MMMM y, EEEE","longDate":"dd MMMM y","mediumDate":"dd.MM.yyyy","shortDate":"dd.MM.yy","mediumTime":"HH:mm:ss","shortTime":"HH:mm"},"NUMBER_FORMATS":{"DECIMAL_SEP":",","GROUP_SEP":" ","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"","posSuf":" \u00A4","negPre":"-","negSuf":" \u00A4","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"лв"},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"id":"bg"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_bn-bd.js b/1.1.1/i18n/angular-locale_bn-bd.js
new file mode 100644
index 000000000..481dead4d
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_bn-bd.js
@@ -0,0 +1,4 @@
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
+$provide.value("$locale", {"NUMBER_FORMATS":{"DECIMAL_SEP":".","GROUP_SEP":",","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":2,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"","posSuf":"\u00A4","negPre":"(","negSuf":"\u00A4)","gSize":2,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"৳"},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"DATETIME_FORMATS":{"MONTH":["জানুয়ারী","ফেব্রুয়ারী","মার্চ","এপ্রিল","মে","জুন","জুলাই","আগস্ট","সেপ্টেম্বর","অক্টোবর","নভেম্বর","ডিসেম্বর"],"SHORTMONTH":["জানুয়ারী","ফেব্রুয়ারী","মার্চ","এপ্রিল","মে","জুন","জুলাই","আগস্ট","সেপ্টেম্বর","অক্টোবর","নভেম্বর","ডিসেম্বর"],"DAY":["রবিবার","সোমবার","মঙ্গলবার","বুধবার","বৃহষ্পতিবার","শুক্রবার","শনিবার"],"SHORTDAY":["রবি","সোম","মঙ্গল","বুধ","বৃহস্পতি","শুক্র","শনি"],"AMPMS":["am","pm"],"medium":"d MMM, y h:mm:ss a","short":"d/M/yy h:mm a","fullDate":"EEEE, d MMMM, y","longDate":"d MMMM, y","mediumDate":"d MMM, y","shortDate":"d/M/yy","mediumTime":"h:mm:ss a","shortTime":"h:mm a"},"id":"bn-bd"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_bn.js b/1.1.1/i18n/angular-locale_bn.js
new file mode 100644
index 000000000..4054f1a79
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_bn.js
@@ -0,0 +1,4 @@
+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":{"MONTH":["জানুয়ারী","ফেব্রুয়ারী","মার্চ","এপ্রিল","মে","জুন","জুলাই","আগস্ট","সেপ্টেম্বর","অক্টোবর","নভেম্বর","ডিসেম্বর"],"SHORTMONTH":["জানুয়ারী","ফেব্রুয়ারী","মার্চ","এপ্রিল","মে","জুন","জুলাই","আগস্ট","সেপ্টেম্বর","অক্টোবর","নভেম্বর","ডিসেম্বর"],"DAY":["রবিবার","সোমবার","মঙ্গলবার","বুধবার","বৃহষ্পতিবার","শুক্রবার","শনিবার"],"SHORTDAY":["রবি","সোম","মঙ্গল","বুধ","বৃহস্পতি","শুক্র","শনি"],"AMPMS":["am","pm"],"medium":"d MMM, y h:mm:ss a","short":"d/M/yy h:mm a","fullDate":"EEEE, d MMMM, y","longDate":"d MMMM, y","mediumDate":"d MMM, y","shortDate":"d/M/yy","mediumTime":"h:mm:ss a","shortTime":"h:mm a"},"NUMBER_FORMATS":{"DECIMAL_SEP":".","GROUP_SEP":",","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":2,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"","posSuf":"\u00A4","negPre":"(","negSuf":"\u00A4)","gSize":2,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"৳"},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"id":"bn"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_ca-es.js b/1.1.1/i18n/angular-locale_ca-es.js
new file mode 100644
index 000000000..a26ca96c9
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_ca-es.js
@@ -0,0 +1,4 @@
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
+$provide.value("$locale", {"NUMBER_FORMATS":{"DECIMAL_SEP":",","GROUP_SEP":".","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"","posSuf":" \u00A4","negPre":"-","negSuf":" \u00A4","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"€"},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"DATETIME_FORMATS":{"MONTH":["de gener","de febrer","de març","d’abril","de maig","de juny","de juliol","d’agost","de setembre","d’octubre","de novembre","de desembre"],"SHORTMONTH":["de gen.","de febr.","de març","d’abr.","de maig","de juny","de jul.","d’ag.","de set.","d’oct.","de nov.","de des."],"DAY":["diumenge","dilluns","dimarts","dimecres","dijous","divendres","dissabte"],"SHORTDAY":["dg.","dl.","dt.","dc.","dj.","dv.","ds."],"AMPMS":["a.m.","p.m."],"medium":"dd/MM/yyyy H:mm:ss","short":"dd/MM/yy H:mm","fullDate":"EEEE d MMMM 'de' y","longDate":"d MMMM 'de' y","mediumDate":"dd/MM/yyyy","shortDate":"dd/MM/yy","mediumTime":"H:mm:ss","shortTime":"H:mm"},"id":"ca-es"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_ca.js b/1.1.1/i18n/angular-locale_ca.js
new file mode 100644
index 000000000..a2f9d6852
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_ca.js
@@ -0,0 +1,4 @@
+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":{"MONTH":["de gener","de febrer","de març","d’abril","de maig","de juny","de juliol","d’agost","de setembre","d’octubre","de novembre","de desembre"],"SHORTMONTH":["de gen.","de febr.","de març","d’abr.","de maig","de juny","de jul.","d’ag.","de set.","d’oct.","de nov.","de des."],"DAY":["diumenge","dilluns","dimarts","dimecres","dijous","divendres","dissabte"],"SHORTDAY":["dg.","dl.","dt.","dc.","dj.","dv.","ds."],"AMPMS":["a.m.","p.m."],"medium":"dd/MM/yyyy H:mm:ss","short":"dd/MM/yy H:mm","fullDate":"EEEE d MMMM 'de' y","longDate":"d MMMM 'de' y","mediumDate":"dd/MM/yyyy","shortDate":"dd/MM/yy","mediumTime":"H:mm:ss","shortTime":"H:mm"},"NUMBER_FORMATS":{"DECIMAL_SEP":",","GROUP_SEP":".","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"","posSuf":" \u00A4","negPre":"-","negSuf":" \u00A4","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"€"},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"id":"ca"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_cs-cz.js b/1.1.1/i18n/angular-locale_cs-cz.js
new file mode 100644
index 000000000..f78516649
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_cs-cz.js
@@ -0,0 +1,4 @@
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
+$provide.value("$locale", {"NUMBER_FORMATS":{"DECIMAL_SEP":",","GROUP_SEP":" ","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"","posSuf":" \u00A4","negPre":"-","negSuf":" \u00A4","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"Kč"},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } if (n == 2 || n == 3 || n == 4) { return PLURAL_CATEGORY.FEW; } return PLURAL_CATEGORY.OTHER;},"DATETIME_FORMATS":{"MONTH":["ledna","února","března","dubna","května","června","července","srpna","září","října","listopadu","prosince"],"SHORTMONTH":["1","2","3","4","5","6","7","8","9","10","11","12"],"DAY":["neděle","pondělí","úterý","středa","čtvrtek","pátek","sobota"],"SHORTDAY":["ne","po","út","st","čt","pá","so"],"AMPMS":["dop.","odp."],"medium":"d.M.yyyy H:mm:ss","short":"d.M.yy H:mm","fullDate":"EEEE, d. MMMM y","longDate":"d. MMMM y","mediumDate":"d.M.yyyy","shortDate":"d.M.yy","mediumTime":"H:mm:ss","shortTime":"H:mm"},"id":"cs-cz"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_cs.js b/1.1.1/i18n/angular-locale_cs.js
new file mode 100644
index 000000000..9834626b4
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_cs.js
@@ -0,0 +1,4 @@
+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":{"MONTH":["ledna","února","března","dubna","května","června","července","srpna","září","října","listopadu","prosince"],"SHORTMONTH":["1","2","3","4","5","6","7","8","9","10","11","12"],"DAY":["neděle","pondělí","úterý","středa","čtvrtek","pátek","sobota"],"SHORTDAY":["ne","po","út","st","čt","pá","so"],"AMPMS":["dop.","odp."],"medium":"d.M.yyyy H:mm:ss","short":"d.M.yy H:mm","fullDate":"EEEE, d. MMMM y","longDate":"d. MMMM y","mediumDate":"d.M.yyyy","shortDate":"d.M.yy","mediumTime":"H:mm:ss","shortTime":"H:mm"},"NUMBER_FORMATS":{"DECIMAL_SEP":",","GROUP_SEP":" ","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"","posSuf":" \u00A4","negPre":"-","negSuf":" \u00A4","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"Kč"},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } if (n == 2 || n == 3 || n == 4) { return PLURAL_CATEGORY.FEW; } return PLURAL_CATEGORY.OTHER;},"id":"cs"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_da-dk.js b/1.1.1/i18n/angular-locale_da-dk.js
new file mode 100644
index 000000000..b4d5e90bc
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_da-dk.js
@@ -0,0 +1,4 @@
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
+$provide.value("$locale", {"NUMBER_FORMATS":{"DECIMAL_SEP":",","GROUP_SEP":".","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"","posSuf":" \u00A4","negPre":"-","negSuf":" \u00A4","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"kr"},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"DATETIME_FORMATS":{"MONTH":["januar","februar","marts","april","maj","juni","juli","august","september","oktober","november","december"],"SHORTMONTH":["jan.","feb.","mar.","apr.","maj","jun.","jul.","aug.","sep.","okt.","nov.","dec."],"DAY":["søndag","mandag","tirsdag","onsdag","torsdag","fredag","lørdag"],"SHORTDAY":["søn","man","tir","ons","tor","fre","lør"],"AMPMS":["f.m.","e.m."],"medium":"dd/MM/yyyy HH.mm.ss","short":"dd/MM/yy HH.mm","fullDate":"EEEE 'den' d. MMMM y","longDate":"d. MMM y","mediumDate":"dd/MM/yyyy","shortDate":"dd/MM/yy","mediumTime":"HH.mm.ss","shortTime":"HH.mm"},"id":"da-dk"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_da.js b/1.1.1/i18n/angular-locale_da.js
new file mode 100644
index 000000000..4dbbec776
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_da.js
@@ -0,0 +1,4 @@
+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":{"MONTH":["januar","februar","marts","april","maj","juni","juli","august","september","oktober","november","december"],"SHORTMONTH":["jan.","feb.","mar.","apr.","maj","jun.","jul.","aug.","sep.","okt.","nov.","dec."],"DAY":["søndag","mandag","tirsdag","onsdag","torsdag","fredag","lørdag"],"SHORTDAY":["søn","man","tir","ons","tor","fre","lør"],"AMPMS":["f.m.","e.m."],"medium":"dd/MM/yyyy HH.mm.ss","short":"dd/MM/yy HH.mm","fullDate":"EEEE 'den' d. MMMM y","longDate":"d. MMM y","mediumDate":"dd/MM/yyyy","shortDate":"dd/MM/yy","mediumTime":"HH.mm.ss","shortTime":"HH.mm"},"NUMBER_FORMATS":{"DECIMAL_SEP":",","GROUP_SEP":".","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"","posSuf":" \u00A4","negPre":"-","negSuf":" \u00A4","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"kr"},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"id":"da"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_de-at.js b/1.1.1/i18n/angular-locale_de-at.js
new file mode 100644
index 000000000..08e0c244b
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_de-at.js
@@ -0,0 +1,4 @@
+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":{"MONTH":["Jänner","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],"SHORTMONTH":["Jän","Feb","Mär","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"],"DAY":["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],"SHORTDAY":["So.","Mo.","Di.","Mi.","Do.","Fr.","Sa."],"AMPMS":["vorm.","nachm."],"medium":"dd.MM.yyyy HH:mm:ss","short":"dd.MM.yy HH:mm","fullDate":"EEEE, dd. MMMM y","longDate":"dd. MMMM y","mediumDate":"dd.MM.yyyy","shortDate":"dd.MM.yy","mediumTime":"HH:mm:ss","shortTime":"HH:mm"},"NUMBER_FORMATS":{"DECIMAL_SEP":",","GROUP_SEP":".","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"\u00A4 ","posSuf":"","negPre":"\u00A4 -","negSuf":"","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"€"},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"id":"de-at"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_de-be.js b/1.1.1/i18n/angular-locale_de-be.js
new file mode 100644
index 000000000..5411841ce
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_de-be.js
@@ -0,0 +1,4 @@
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
+$provide.value("$locale", {"NUMBER_FORMATS":{"DECIMAL_SEP":",","GROUP_SEP":".","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"","posSuf":" \u00A4","negPre":"-","negSuf":" \u00A4","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"€"},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"DATETIME_FORMATS":{"MONTH":["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],"SHORTMONTH":["Jan","Feb","Mär","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"],"DAY":["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],"SHORTDAY":["So.","Mo.","Di.","Mi.","Do.","Fr.","Sa."],"AMPMS":["vorm.","nachm."],"medium":"dd.MM.yyyy HH:mm:ss","short":"dd.MM.yy HH:mm","fullDate":"EEEE, d. MMMM y","longDate":"d. MMMM y","mediumDate":"dd.MM.yyyy","shortDate":"dd.MM.yy","mediumTime":"HH:mm:ss","shortTime":"HH:mm"},"id":"de-be"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_de-ch.js b/1.1.1/i18n/angular-locale_de-ch.js
new file mode 100644
index 000000000..14dc84df9
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_de-ch.js
@@ -0,0 +1,4 @@
+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":{"MONTH":["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],"SHORTMONTH":["Jan","Feb","Mär","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"],"DAY":["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],"SHORTDAY":["So.","Mo.","Di.","Mi.","Do.","Fr.","Sa."],"AMPMS":["vorm.","nachm."],"medium":"dd.MM.yyyy HH:mm:ss","short":"dd.MM.yy HH:mm","fullDate":"EEEE, d. MMMM y","longDate":"d. MMMM y","mediumDate":"dd.MM.yyyy","shortDate":"dd.MM.yy","mediumTime":"HH:mm:ss","shortTime":"HH:mm"},"NUMBER_FORMATS":{"DECIMAL_SEP":".","GROUP_SEP":"'","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"\u00A4 ","posSuf":"","negPre":"\u00A4-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"Fr."},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"id":"de-ch"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_de-de.js b/1.1.1/i18n/angular-locale_de-de.js
new file mode 100644
index 000000000..a7c6ae3e1
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_de-de.js
@@ -0,0 +1,4 @@
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
+$provide.value("$locale", {"NUMBER_FORMATS":{"DECIMAL_SEP":",","GROUP_SEP":".","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"","posSuf":" \u00A4","negPre":"-","negSuf":" \u00A4","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"€"},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"DATETIME_FORMATS":{"MONTH":["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],"SHORTMONTH":["Jan","Feb","Mär","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"],"DAY":["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],"SHORTDAY":["So.","Mo.","Di.","Mi.","Do.","Fr.","Sa."],"AMPMS":["vorm.","nachm."],"medium":"dd.MM.yyyy HH:mm:ss","short":"dd.MM.yy HH:mm","fullDate":"EEEE, d. MMMM y","longDate":"d. MMMM y","mediumDate":"dd.MM.yyyy","shortDate":"dd.MM.yy","mediumTime":"HH:mm:ss","shortTime":"HH:mm"},"id":"de-de"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_de-lu.js b/1.1.1/i18n/angular-locale_de-lu.js
new file mode 100644
index 000000000..d60362344
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_de-lu.js
@@ -0,0 +1,4 @@
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
+$provide.value("$locale", {"NUMBER_FORMATS":{"DECIMAL_SEP":",","GROUP_SEP":".","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"","posSuf":" \u00A4","negPre":"-","negSuf":" \u00A4","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"€"},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"DATETIME_FORMATS":{"MONTH":["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],"SHORTMONTH":["Jan","Feb","Mär","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"],"DAY":["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],"SHORTDAY":["So.","Mo.","Di.","Mi.","Do.","Fr.","Sa."],"AMPMS":["vorm.","nachm."],"medium":"dd.MM.yyyy HH:mm:ss","short":"dd.MM.yy HH:mm","fullDate":"EEEE, d. MMMM y","longDate":"d. MMMM y","mediumDate":"dd.MM.yyyy","shortDate":"dd.MM.yy","mediumTime":"HH:mm:ss","shortTime":"HH:mm"},"id":"de-lu"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_de.js b/1.1.1/i18n/angular-locale_de.js
new file mode 100644
index 000000000..3a1e26061
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_de.js
@@ -0,0 +1,4 @@
+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":{"MONTH":["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],"SHORTMONTH":["Jan","Feb","Mär","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"],"DAY":["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],"SHORTDAY":["So.","Mo.","Di.","Mi.","Do.","Fr.","Sa."],"AMPMS":["vorm.","nachm."],"medium":"dd.MM.yyyy HH:mm:ss","short":"dd.MM.yy HH:mm","fullDate":"EEEE, d. MMMM y","longDate":"d. MMMM y","mediumDate":"dd.MM.yyyy","shortDate":"dd.MM.yy","mediumTime":"HH:mm:ss","shortTime":"HH:mm"},"NUMBER_FORMATS":{"DECIMAL_SEP":",","GROUP_SEP":".","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"","posSuf":" \u00A4","negPre":"-","negSuf":" \u00A4","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"€"},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"id":"de"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_el-gr.js b/1.1.1/i18n/angular-locale_el-gr.js
new file mode 100644
index 000000000..6c092a8f1
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_el-gr.js
@@ -0,0 +1,4 @@
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
+$provide.value("$locale", {"NUMBER_FORMATS":{"DECIMAL_SEP":",","GROUP_SEP":".","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"","posSuf":" \u00A4","negPre":"-","negSuf":" \u00A4","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"€"},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"DATETIME_FORMATS":{"MONTH":["Ιανουαρίου","Φεβρουαρίου","Μαρτίου","Απριλίου","Μαΐου","Ιουνίου","Ιουλίου","Αυγούστου","Σεπτεμβρίου","Οκτωβρίου","Νοεμβρίου","Δεκεμβρίου"],"SHORTMONTH":["Ιαν","Φεβ","Μαρ","Απρ","Μαϊ","Ιουν","Ιουλ","Αυγ","Σεπ","Οκτ","Νοε","Δεκ"],"DAY":["Κυριακή","Δευτέρα","Τρίτη","Τετάρτη","Πέμπτη","Παρασκευή","Σάββατο"],"SHORTDAY":["Κυρ","Δευ","Τρι","Τετ","Πεμ","Παρ","Σαβ"],"AMPMS":["π.μ.","μ.μ."],"medium":"d MMM y h:mm:ss a","short":"d/M/yy h:mm a","fullDate":"EEEE, d MMMM y","longDate":"d MMMM y","mediumDate":"d MMM y","shortDate":"d/M/yy","mediumTime":"h:mm:ss a","shortTime":"h:mm a"},"id":"el-gr"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_el-polyton.js b/1.1.1/i18n/angular-locale_el-polyton.js
new file mode 100644
index 000000000..d480d8332
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_el-polyton.js
@@ -0,0 +1,4 @@
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
+$provide.value("$locale", {"NUMBER_FORMATS":{"DECIMAL_SEP":",","GROUP_SEP":".","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"","posSuf":" \u00A4","negPre":"-","negSuf":" \u00A4","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"€"},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"DATETIME_FORMATS":{"MONTH":["Ιανουαρίου","Φεβρουαρίου","Μαρτίου","Απριλίου","Μαΐου","Ιουνίου","Ιουλίου","Αυγούστου","Σεπτεμβρίου","Οκτωβρίου","Νοεμβρίου","Δεκεμβρίου"],"SHORTMONTH":["Ιαν","Φεβ","Μαρ","Απρ","Μαϊ","Ιουν","Ιουλ","Αυγ","Σεπ","Οκτ","Νοε","Δεκ"],"DAY":["Κυριακή","Δευτέρα","Τρίτη","Τετάρτη","Πέμπτη","Παρασκευή","Σάββατο"],"SHORTDAY":["Κυρ","Δευ","Τρι","Τετ","Πεμ","Παρ","Σαβ"],"AMPMS":["π.μ.","μ.μ."],"medium":"d MMM y h:mm:ss a","short":"d/M/yy h:mm a","fullDate":"EEEE, d MMMM y","longDate":"d MMMM y","mediumDate":"d MMM y","shortDate":"d/M/yy","mediumTime":"h:mm:ss a","shortTime":"h:mm a"},"id":"el-polyton"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_el.js b/1.1.1/i18n/angular-locale_el.js
new file mode 100644
index 000000000..94e3b7b82
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_el.js
@@ -0,0 +1,4 @@
+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":{"MONTH":["Ιανουαρίου","Φεβρουαρίου","Μαρτίου","Απριλίου","Μαΐου","Ιουνίου","Ιουλίου","Αυγούστου","Σεπτεμβρίου","Οκτωβρίου","Νοεμβρίου","Δεκεμβρίου"],"SHORTMONTH":["Ιαν","Φεβ","Μαρ","Απρ","Μαϊ","Ιουν","Ιουλ","Αυγ","Σεπ","Οκτ","Νοε","Δεκ"],"DAY":["Κυριακή","Δευτέρα","Τρίτη","Τετάρτη","Πέμπτη","Παρασκευή","Σάββατο"],"SHORTDAY":["Κυρ","Δευ","Τρι","Τετ","Πεμ","Παρ","Σαβ"],"AMPMS":["π.μ.","μ.μ."],"medium":"d MMM y h:mm:ss a","short":"d/M/yy h:mm a","fullDate":"EEEE, d MMMM y","longDate":"d MMMM y","mediumDate":"d MMM y","shortDate":"d/M/yy","mediumTime":"h:mm:ss a","shortTime":"h:mm a"},"NUMBER_FORMATS":{"DECIMAL_SEP":",","GROUP_SEP":".","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"","posSuf":" \u00A4","negPre":"-","negSuf":" \u00A4","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"€"},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"id":"el"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_en-as.js b/1.1.1/i18n/angular-locale_en-as.js
new file mode 100644
index 000000000..a0b715284
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_en-as.js
@@ -0,0 +1,4 @@
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
+$provide.value("$locale", {"NUMBER_FORMATS":{"DECIMAL_SEP":".","GROUP_SEP":",","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"\u00A4","posSuf":"","negPre":"(\u00A4","negSuf":")","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"$"},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"DATETIME_FORMATS":{"MONTH":["January","February","March","April","May","June","July","August","September","October","November","December"],"SHORTMONTH":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],"DAY":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"SHORTDAY":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"AMPMS":["AM","PM"],"medium":"MMM d, y h:mm:ss a","short":"M/d/yy h:mm a","fullDate":"EEEE, MMMM d, y","longDate":"MMMM d, y","mediumDate":"MMM d, y","shortDate":"M/d/yy","mediumTime":"h:mm:ss a","shortTime":"h:mm a"},"id":"en-as"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_en-au.js b/1.1.1/i18n/angular-locale_en-au.js
new file mode 100644
index 000000000..be4b04e9d
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_en-au.js
@@ -0,0 +1,4 @@
+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":{"MONTH":["January","February","March","April","May","June","July","August","September","October","November","December"],"SHORTMONTH":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],"DAY":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"SHORTDAY":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"AMPMS":["AM","PM"],"medium":"dd/MM/yyyy h:mm:ss a","short":"d/MM/yy h:mm a","fullDate":"EEEE, d MMMM y","longDate":"d MMMM y","mediumDate":"dd/MM/yyyy","shortDate":"d/MM/yy","mediumTime":"h:mm:ss a","shortTime":"h:mm a"},"NUMBER_FORMATS":{"DECIMAL_SEP":".","GROUP_SEP":",","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"\u00A4","posSuf":"","negPre":"\u00A4-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"$"},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"id":"en-au"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_en-dsrt-us.js b/1.1.1/i18n/angular-locale_en-dsrt-us.js
new file mode 100644
index 000000000..9cd2fb274
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_en-dsrt-us.js
@@ -0,0 +1,4 @@
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
+$provide.value("$locale", {"NUMBER_FORMATS":{"DECIMAL_SEP":".","GROUP_SEP":",","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"\u00A4","posSuf":"","negPre":"(\u00A4","negSuf":")","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"$"},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"DATETIME_FORMATS":{"MONTH":["January","February","March","April","May","June","July","August","September","October","November","December"],"SHORTMONTH":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],"DAY":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"SHORTDAY":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"AMPMS":["AM","PM"],"medium":"MMM d, y h:mm:ss a","short":"M/d/yy h:mm a","fullDate":"EEEE, MMMM d, y","longDate":"MMMM d, y","mediumDate":"MMM d, y","shortDate":"M/d/yy","mediumTime":"h:mm:ss a","shortTime":"h:mm a"},"id":"en-dsrt-us"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_en-dsrt.js b/1.1.1/i18n/angular-locale_en-dsrt.js
new file mode 100644
index 000000000..3d336bbb0
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_en-dsrt.js
@@ -0,0 +1,4 @@
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
+$provide.value("$locale", {"NUMBER_FORMATS":{"DECIMAL_SEP":".","GROUP_SEP":",","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"\u00A4","posSuf":"","negPre":"(\u00A4","negSuf":")","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"$"},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"DATETIME_FORMATS":{"MONTH":["January","February","March","April","May","June","July","August","September","October","November","December"],"SHORTMONTH":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],"DAY":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"SHORTDAY":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"AMPMS":["AM","PM"],"medium":"MMM d, y h:mm:ss a","short":"M/d/yy h:mm a","fullDate":"EEEE, MMMM d, y","longDate":"MMMM d, y","mediumDate":"MMM d, y","shortDate":"M/d/yy","mediumTime":"h:mm:ss a","shortTime":"h:mm a"},"id":"en-dsrt"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_en-gb.js b/1.1.1/i18n/angular-locale_en-gb.js
new file mode 100644
index 000000000..58efa16b6
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_en-gb.js
@@ -0,0 +1,4 @@
+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":{"MONTH":["January","February","March","April","May","June","July","August","September","October","November","December"],"SHORTMONTH":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],"DAY":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"SHORTDAY":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"AMPMS":["AM","PM"],"medium":"d MMM y HH:mm:ss","short":"dd/MM/yyyy HH:mm","fullDate":"EEEE, d MMMM y","longDate":"d MMMM y","mediumDate":"d MMM y","shortDate":"dd/MM/yyyy","mediumTime":"HH:mm:ss","shortTime":"HH:mm"},"NUMBER_FORMATS":{"DECIMAL_SEP":".","GROUP_SEP":",","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"\u00A4","posSuf":"","negPre":"\u00A4-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"£"},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"id":"en-gb"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_en-gu.js b/1.1.1/i18n/angular-locale_en-gu.js
new file mode 100644
index 000000000..9f9294940
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_en-gu.js
@@ -0,0 +1,4 @@
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
+$provide.value("$locale", {"NUMBER_FORMATS":{"DECIMAL_SEP":".","GROUP_SEP":",","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"\u00A4","posSuf":"","negPre":"(\u00A4","negSuf":")","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"$"},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"DATETIME_FORMATS":{"MONTH":["January","February","March","April","May","June","July","August","September","October","November","December"],"SHORTMONTH":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],"DAY":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"SHORTDAY":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"AMPMS":["AM","PM"],"medium":"MMM d, y h:mm:ss a","short":"M/d/yy h:mm a","fullDate":"EEEE, MMMM d, y","longDate":"MMMM d, y","mediumDate":"MMM d, y","shortDate":"M/d/yy","mediumTime":"h:mm:ss a","shortTime":"h:mm a"},"id":"en-gu"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_en-ie.js b/1.1.1/i18n/angular-locale_en-ie.js
new file mode 100644
index 000000000..1cc8e2585
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_en-ie.js
@@ -0,0 +1,4 @@
+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":{"MONTH":["January","February","March","April","May","June","July","August","September","October","November","December"],"SHORTMONTH":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],"DAY":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"SHORTDAY":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"AMPMS":["a.m.","p.m."],"medium":"d MMM y HH:mm:ss","short":"dd/MM/yyyy HH:mm","fullDate":"EEEE d MMMM y","longDate":"d MMMM y","mediumDate":"d MMM y","shortDate":"dd/MM/yyyy","mediumTime":"HH:mm:ss","shortTime":"HH:mm"},"NUMBER_FORMATS":{"DECIMAL_SEP":".","GROUP_SEP":",","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"\u00A4","posSuf":"","negPre":"\u00A4-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"€"},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"id":"en-ie"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_en-in.js b/1.1.1/i18n/angular-locale_en-in.js
new file mode 100644
index 000000000..c6c5b9d4c
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_en-in.js
@@ -0,0 +1,4 @@
+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":{"MONTH":["January","February","March","April","May","June","July","August","September","October","November","December"],"SHORTMONTH":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],"DAY":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"SHORTDAY":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"AMPMS":["AM","PM"],"medium":"dd-MMM-y h:mm:ss a","short":"dd/MM/yy h:mm a","fullDate":"EEEE d MMMM y","longDate":"d MMMM y","mediumDate":"dd-MMM-y","shortDate":"dd/MM/yy","mediumTime":"h:mm:ss a","shortTime":"h:mm a"},"NUMBER_FORMATS":{"DECIMAL_SEP":".","GROUP_SEP":",","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":2,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"\u00A4 ","posSuf":"","negPre":"\u00A4 -","negSuf":"","gSize":2,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"Rs"},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"id":"en-in"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_en-iso.js b/1.1.1/i18n/angular-locale_en-iso.js
new file mode 100644
index 000000000..3852db511
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_en-iso.js
@@ -0,0 +1,4 @@
+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":{"MONTH":["January","February","March","April","May","June","July","August","September","October","November","December"],"SHORTMONTH":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],"DAY":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"SHORTDAY":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"AMPMS":["AM","PM"],"medium":"y MMM d HH:mm:ss","short":"yyyy-MM-dd HH:mm","fullDate":"EEEE, y MMMM dd","longDate":"y MMMM d","mediumDate":"y MMM d","shortDate":"yyyy-MM-dd","mediumTime":"HH:mm:ss","shortTime":"HH:mm"},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"NUMBER_FORMATS":{"DECIMAL_SEP":".","GROUP_SEP":",","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"\u00A4","posSuf":"","negPre":"(\u00A4","negSuf":")","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"$"},"id":"en-iso"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_en-mh.js b/1.1.1/i18n/angular-locale_en-mh.js
new file mode 100644
index 000000000..430f8b70f
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_en-mh.js
@@ -0,0 +1,4 @@
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
+$provide.value("$locale", {"NUMBER_FORMATS":{"DECIMAL_SEP":".","GROUP_SEP":",","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"\u00A4","posSuf":"","negPre":"(\u00A4","negSuf":")","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"$"},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"DATETIME_FORMATS":{"MONTH":["January","February","March","April","May","June","July","August","September","October","November","December"],"SHORTMONTH":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],"DAY":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"SHORTDAY":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"AMPMS":["AM","PM"],"medium":"MMM d, y h:mm:ss a","short":"M/d/yy h:mm a","fullDate":"EEEE, MMMM d, y","longDate":"MMMM d, y","mediumDate":"MMM d, y","shortDate":"M/d/yy","mediumTime":"h:mm:ss a","shortTime":"h:mm a"},"id":"en-mh"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_en-mp.js b/1.1.1/i18n/angular-locale_en-mp.js
new file mode 100644
index 000000000..b0dd47eda
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_en-mp.js
@@ -0,0 +1,4 @@
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
+$provide.value("$locale", {"NUMBER_FORMATS":{"DECIMAL_SEP":".","GROUP_SEP":",","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"\u00A4","posSuf":"","negPre":"(\u00A4","negSuf":")","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"$"},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"DATETIME_FORMATS":{"MONTH":["January","February","March","April","May","June","July","August","September","October","November","December"],"SHORTMONTH":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],"DAY":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"SHORTDAY":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"AMPMS":["AM","PM"],"medium":"MMM d, y h:mm:ss a","short":"M/d/yy h:mm a","fullDate":"EEEE, MMMM d, y","longDate":"MMMM d, y","mediumDate":"MMM d, y","shortDate":"M/d/yy","mediumTime":"h:mm:ss a","shortTime":"h:mm a"},"id":"en-mp"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_en-sg.js b/1.1.1/i18n/angular-locale_en-sg.js
new file mode 100644
index 000000000..ad6038713
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_en-sg.js
@@ -0,0 +1,4 @@
+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":{"MONTH":["January","February","March","April","May","June","July","August","September","October","November","December"],"SHORTMONTH":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],"DAY":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"SHORTDAY":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"AMPMS":["AM","PM"],"medium":"MMM d, y h:mm:ss a","short":"d/M/yy h:mm a","fullDate":"EEEE, MMMM d, y","longDate":"MMMM d, y","mediumDate":"MMM d, y","shortDate":"d/M/yy","mediumTime":"h:mm:ss a","shortTime":"h:mm a"},"NUMBER_FORMATS":{"DECIMAL_SEP":".","GROUP_SEP":",","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"\u00A4","posSuf":"","negPre":"(\u00A4","negSuf":")","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"$"},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"id":"en-sg"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_en-um.js b/1.1.1/i18n/angular-locale_en-um.js
new file mode 100644
index 000000000..b1bfd42dc
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_en-um.js
@@ -0,0 +1,4 @@
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
+$provide.value("$locale", {"NUMBER_FORMATS":{"DECIMAL_SEP":".","GROUP_SEP":",","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"\u00A4","posSuf":"","negPre":"(\u00A4","negSuf":")","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"$"},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"DATETIME_FORMATS":{"MONTH":["January","February","March","April","May","June","July","August","September","October","November","December"],"SHORTMONTH":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],"DAY":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"SHORTDAY":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"AMPMS":["AM","PM"],"medium":"MMM d, y h:mm:ss a","short":"M/d/yy h:mm a","fullDate":"EEEE, MMMM d, y","longDate":"MMMM d, y","mediumDate":"MMM d, y","shortDate":"M/d/yy","mediumTime":"h:mm:ss a","shortTime":"h:mm a"},"id":"en-um"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_en-us.js b/1.1.1/i18n/angular-locale_en-us.js
new file mode 100644
index 000000000..005c1140c
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_en-us.js
@@ -0,0 +1,4 @@
+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":{"MONTH":["January","February","March","April","May","June","July","August","September","October","November","December"],"SHORTMONTH":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],"DAY":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"SHORTDAY":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"AMPMS":["AM","PM"],"medium":"MMM d, y h:mm:ss a","short":"M/d/yy h:mm a","fullDate":"EEEE, MMMM d, y","longDate":"MMMM d, y","mediumDate":"MMM d, y","shortDate":"M/d/yy","mediumTime":"h:mm:ss a","shortTime":"h:mm a"},"NUMBER_FORMATS":{"DECIMAL_SEP":".","GROUP_SEP":",","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"\u00A4","posSuf":"","negPre":"(\u00A4","negSuf":")","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"$"},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"id":"en-us"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_en-vi.js b/1.1.1/i18n/angular-locale_en-vi.js
new file mode 100644
index 000000000..f83cd9de7
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_en-vi.js
@@ -0,0 +1,4 @@
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
+$provide.value("$locale", {"NUMBER_FORMATS":{"DECIMAL_SEP":".","GROUP_SEP":",","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"\u00A4","posSuf":"","negPre":"(\u00A4","negSuf":")","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"$"},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"DATETIME_FORMATS":{"MONTH":["January","February","March","April","May","June","July","August","September","October","November","December"],"SHORTMONTH":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],"DAY":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"SHORTDAY":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"AMPMS":["AM","PM"],"medium":"MMM d, y h:mm:ss a","short":"M/d/yy h:mm a","fullDate":"EEEE, MMMM d, y","longDate":"MMMM d, y","mediumDate":"MMM d, y","shortDate":"M/d/yy","mediumTime":"h:mm:ss a","shortTime":"h:mm a"},"id":"en-vi"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_en-za.js b/1.1.1/i18n/angular-locale_en-za.js
new file mode 100644
index 000000000..9af8898cb
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_en-za.js
@@ -0,0 +1,4 @@
+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":{"MONTH":["January","February","March","April","May","June","July","August","September","October","November","December"],"SHORTMONTH":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],"DAY":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"SHORTDAY":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"AMPMS":["AM","PM"],"medium":"dd MMM y h:mm:ss a","short":"yyyy/MM/dd h:mm a","fullDate":"EEEE dd MMMM y","longDate":"dd MMMM y","mediumDate":"dd MMM y","shortDate":"yyyy/MM/dd","mediumTime":"h:mm:ss a","shortTime":"h:mm a"},"NUMBER_FORMATS":{"DECIMAL_SEP":",","GROUP_SEP":" ","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"\u00A4","posSuf":"","negPre":"\u00A4-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"R"},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"id":"en-za"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_en-zz.js b/1.1.1/i18n/angular-locale_en-zz.js
new file mode 100644
index 000000000..b72c59236
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_en-zz.js
@@ -0,0 +1,4 @@
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
+$provide.value("$locale", {"NUMBER_FORMATS":{"DECIMAL_SEP":".","GROUP_SEP":",","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"\u00A4","posSuf":"","negPre":"(\u00A4","negSuf":")","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"$"},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"DATETIME_FORMATS":{"MONTH":["January","February","March","April","May","June","July","August","September","October","November","December"],"SHORTMONTH":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],"DAY":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"SHORTDAY":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"AMPMS":["AM","PM"],"medium":"MMM d, y h:mm:ss a","short":"M/d/yy h:mm a","fullDate":"EEEE, MMMM d, y","longDate":"MMMM d, y","mediumDate":"MMM d, y","shortDate":"M/d/yy","mediumTime":"h:mm:ss a","shortTime":"h:mm a"},"id":"en-zz"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_en.js b/1.1.1/i18n/angular-locale_en.js
new file mode 100644
index 000000000..24d9dba09
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_en.js
@@ -0,0 +1,4 @@
+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":{"MONTH":["January","February","March","April","May","June","July","August","September","October","November","December"],"SHORTMONTH":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],"DAY":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"SHORTDAY":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"AMPMS":["AM","PM"],"medium":"MMM d, y h:mm:ss a","short":"M/d/yy h:mm a","fullDate":"EEEE, MMMM d, y","longDate":"MMMM d, y","mediumDate":"MMM d, y","shortDate":"M/d/yy","mediumTime":"h:mm:ss a","shortTime":"h:mm a"},"NUMBER_FORMATS":{"DECIMAL_SEP":".","GROUP_SEP":",","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"\u00A4","posSuf":"","negPre":"(\u00A4","negSuf":")","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"$"},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"id":"en"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_es-es.js b/1.1.1/i18n/angular-locale_es-es.js
new file mode 100644
index 000000000..b5c41efe8
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_es-es.js
@@ -0,0 +1,4 @@
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
+$provide.value("$locale", {"NUMBER_FORMATS":{"DECIMAL_SEP":",","GROUP_SEP":".","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"\u00A4 ","posSuf":"","negPre":"\u00A4 -","negSuf":"","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"€"},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"DATETIME_FORMATS":{"MONTH":["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre"],"SHORTMONTH":["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic"],"DAY":["domingo","lunes","martes","miércoles","jueves","viernes","sábado"],"SHORTDAY":["dom","lun","mar","mié","jue","vie","sáb"],"AMPMS":["a.m.","p.m."],"medium":"dd/MM/yyyy HH:mm:ss","short":"dd/MM/yy HH:mm","fullDate":"EEEE d 'de' MMMM 'de' y","longDate":"d 'de' MMMM 'de' y","mediumDate":"dd/MM/yyyy","shortDate":"dd/MM/yy","mediumTime":"HH:mm:ss","shortTime":"HH:mm"},"id":"es-es"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_es.js b/1.1.1/i18n/angular-locale_es.js
new file mode 100644
index 000000000..5ba8e741a
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_es.js
@@ -0,0 +1,4 @@
+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":{"MONTH":["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre"],"SHORTMONTH":["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic"],"DAY":["domingo","lunes","martes","miércoles","jueves","viernes","sábado"],"SHORTDAY":["dom","lun","mar","mié","jue","vie","sáb"],"AMPMS":["a.m.","p.m."],"medium":"dd/MM/yyyy HH:mm:ss","short":"dd/MM/yy HH:mm","fullDate":"EEEE d 'de' MMMM 'de' y","longDate":"d 'de' MMMM 'de' y","mediumDate":"dd/MM/yyyy","shortDate":"dd/MM/yy","mediumTime":"HH:mm:ss","shortTime":"HH:mm"},"NUMBER_FORMATS":{"DECIMAL_SEP":",","GROUP_SEP":".","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"\u00A4 ","posSuf":"","negPre":"\u00A4 -","negSuf":"","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"€"},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"id":"es"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_et-ee.js b/1.1.1/i18n/angular-locale_et-ee.js
new file mode 100644
index 000000000..839d2335b
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_et-ee.js
@@ -0,0 +1,4 @@
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
+$provide.value("$locale", {"NUMBER_FORMATS":{"DECIMAL_SEP":",","GROUP_SEP":" ","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"","posSuf":" \u00A4","negPre":"-","negSuf":" \u00A4","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"€"},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"DATETIME_FORMATS":{"MONTH":["jaanuar","veebruar","märts","aprill","mai","juuni","juuli","august","september","oktoober","november","detsember"],"SHORTMONTH":["jaan","veebr","märts","apr","mai","juuni","juuli","aug","sept","okt","nov","dets"],"DAY":["pühapäev","esmaspäev","teisipäev","kolmapäev","neljapäev","reede","laupäev"],"SHORTDAY":["P","E","T","K","N","R","L"],"AMPMS":["enne keskpäeva","pärast keskpäeva"],"medium":"dd.MM.yyyy H:mm.ss","short":"dd.MM.yy H:mm","fullDate":"EEEE, d. MMMM y","longDate":"d. MMMM y","mediumDate":"dd.MM.yyyy","shortDate":"dd.MM.yy","mediumTime":"H:mm.ss","shortTime":"H:mm"},"id":"et-ee"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_et.js b/1.1.1/i18n/angular-locale_et.js
new file mode 100644
index 000000000..c5e5ebb25
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_et.js
@@ -0,0 +1,4 @@
+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":{"MONTH":["jaanuar","veebruar","märts","aprill","mai","juuni","juuli","august","september","oktoober","november","detsember"],"SHORTMONTH":["jaan","veebr","märts","apr","mai","juuni","juuli","aug","sept","okt","nov","dets"],"DAY":["pühapäev","esmaspäev","teisipäev","kolmapäev","neljapäev","reede","laupäev"],"SHORTDAY":["P","E","T","K","N","R","L"],"AMPMS":["enne keskpäeva","pärast keskpäeva"],"medium":"dd.MM.yyyy H:mm.ss","short":"dd.MM.yy H:mm","fullDate":"EEEE, d. MMMM y","longDate":"d. MMMM y","mediumDate":"dd.MM.yyyy","shortDate":"dd.MM.yy","mediumTime":"H:mm.ss","shortTime":"H:mm"},"NUMBER_FORMATS":{"DECIMAL_SEP":",","GROUP_SEP":" ","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"","posSuf":" \u00A4","negPre":"-","negSuf":" \u00A4","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"€"},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"id":"et"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_eu-es.js b/1.1.1/i18n/angular-locale_eu-es.js
new file mode 100644
index 000000000..7e12d22b1
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_eu-es.js
@@ -0,0 +1,4 @@
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
+$provide.value("$locale", {"NUMBER_FORMATS":{"DECIMAL_SEP":",","GROUP_SEP":".","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"","posSuf":" \u00A4","negPre":"-","negSuf":" \u00A4","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"€"},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"DATETIME_FORMATS":{"MONTH":["urtarrila","otsaila","martxoa","apirila","maiatza","ekaina","uztaila","abuztua","iraila","urria","azaroa","abendua"],"SHORTMONTH":["urt","ots","mar","api","mai","eka","uzt","abu","ira","urr","aza","abe"],"DAY":["igandea","astelehena","asteartea","asteazkena","osteguna","ostirala","larunbata"],"SHORTDAY":["ig","al","as","az","og","or","lr"],"AMPMS":["AM","PM"],"medium":"y MMM d HH:mm:ss","short":"yyyy-MM-dd HH:mm","fullDate":"EEEE, y'eko' MMMM'ren' dd'a'","longDate":"y'eko' MMM'ren' dd'a'","mediumDate":"y MMM d","shortDate":"yyyy-MM-dd","mediumTime":"HH:mm:ss","shortTime":"HH:mm"},"id":"eu-es"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_eu.js b/1.1.1/i18n/angular-locale_eu.js
new file mode 100644
index 000000000..188b4f588
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_eu.js
@@ -0,0 +1,4 @@
+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":{"MONTH":["urtarrila","otsaila","martxoa","apirila","maiatza","ekaina","uztaila","abuztua","iraila","urria","azaroa","abendua"],"SHORTMONTH":["urt","ots","mar","api","mai","eka","uzt","abu","ira","urr","aza","abe"],"DAY":["igandea","astelehena","asteartea","asteazkena","osteguna","ostirala","larunbata"],"SHORTDAY":["ig","al","as","az","og","or","lr"],"AMPMS":["AM","PM"],"medium":"y MMM d HH:mm:ss","short":"yyyy-MM-dd HH:mm","fullDate":"EEEE, y'eko' MMMM'ren' dd'a'","longDate":"y'eko' MMM'ren' dd'a'","mediumDate":"y MMM d","shortDate":"yyyy-MM-dd","mediumTime":"HH:mm:ss","shortTime":"HH:mm"},"NUMBER_FORMATS":{"DECIMAL_SEP":",","GROUP_SEP":".","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"","posSuf":" \u00A4","negPre":"-","negSuf":" \u00A4","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"€"},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"id":"eu"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_fa-ir.js b/1.1.1/i18n/angular-locale_fa-ir.js
new file mode 100644
index 000000000..3aa45dbb4
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_fa-ir.js
@@ -0,0 +1,4 @@
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
+$provide.value("$locale", {"NUMBER_FORMATS":{"DECIMAL_SEP":"/","GROUP_SEP":"،","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"","posSuf":" \u00A4","negPre":"-","negSuf":" \u00A4","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"﷼"},"pluralCat":function (n) { return PLURAL_CATEGORY.OTHER;},"DATETIME_FORMATS":{"MONTH":["ژانویهٔ","فوریهٔ","مارس","آوریل","می","جون","جولای","آگوست","سپتامبر","اکتبر","نوامبر","دسامبر"],"SHORTMONTH":["ژانویهٔ","فوریهٔ","مارس","آوریل","می","جون","جولای","اوت","سپتامبر","اکتبر","نوامبر","دسامبر"],"DAY":["یکشنبه","دوشنبه","سهشنبه","چهارشنبه","پنجشنبه","جمعه","شنبه"],"SHORTDAY":["یکشنبه","دوشنبه","سهشنبه","چهارشنبه","پنجشنبه","جمعه","شنبه"],"AMPMS":["قبل از ظهر","بعد از ظهر"],"medium":"MMM d, y H:mm:ss","short":"M/d/yy H:mm","fullDate":"EEEE, MMMM d, y","longDate":"MMMM d, y","mediumDate":"MMM d, y","shortDate":"M/d/yy","mediumTime":"H:mm:ss","shortTime":"H:mm"},"id":"fa-ir"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_fa.js b/1.1.1/i18n/angular-locale_fa.js
new file mode 100644
index 000000000..b44aceb45
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_fa.js
@@ -0,0 +1,4 @@
+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":{"MONTH":["ژانویهٔ","فوریهٔ","مارس","آوریل","می","جون","جولای","آگوست","سپتامبر","اکتبر","نوامبر","دسامبر"],"SHORTMONTH":["ژانویهٔ","فوریهٔ","مارس","آوریل","می","جون","جولای","اوت","سپتامبر","اکتبر","نوامبر","دسامبر"],"DAY":["یکشنبه","دوشنبه","سهشنبه","چهارشنبه","پنجشنبه","جمعه","شنبه"],"SHORTDAY":["یکشنبه","دوشنبه","سهشنبه","چهارشنبه","پنجشنبه","جمعه","شنبه"],"AMPMS":["قبل از ظهر","بعد از ظهر"],"medium":"MMM d, y H:mm:ss","short":"M/d/yy H:mm","fullDate":"EEEE, MMMM d, y","longDate":"MMMM d, y","mediumDate":"MMM d, y","shortDate":"M/d/yy","mediumTime":"H:mm:ss","shortTime":"H:mm"},"NUMBER_FORMATS":{"DECIMAL_SEP":"/","GROUP_SEP":"،","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"","posSuf":" \u00A4","negPre":"-","negSuf":" \u00A4","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"﷼"},"pluralCat":function (n) { return PLURAL_CATEGORY.OTHER;},"id":"fa"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_fi-fi.js b/1.1.1/i18n/angular-locale_fi-fi.js
new file mode 100644
index 000000000..cf1382e11
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_fi-fi.js
@@ -0,0 +1,4 @@
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
+$provide.value("$locale", {"NUMBER_FORMATS":{"DECIMAL_SEP":",","GROUP_SEP":" ","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"","posSuf":" \u00A4","negPre":"-","negSuf":" \u00A4","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"€"},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"DATETIME_FORMATS":{"MONTH":["tammikuuta","helmikuuta","maaliskuuta","huhtikuuta","toukokuuta","kesäkuuta","heinäkuuta","elokuuta","syyskuuta","lokakuuta","marraskuuta","joulukuuta"],"SHORTMONTH":["tammikuuta","helmikuuta","maaliskuuta","huhtikuuta","toukokuuta","kesäkuuta","heinäkuuta","elokuuta","syyskuuta","lokakuuta","marraskuuta","joulukuuta"],"DAY":["sunnuntaina","maanantaina","tiistaina","keskiviikkona","torstaina","perjantaina","lauantaina"],"SHORTDAY":["su","ma","ti","ke","to","pe","la"],"AMPMS":["ap.","ip."],"medium":"d.M.yyyy H.mm.ss","short":"d.M.yyyy H.mm","fullDate":"cccc d. MMMM y","longDate":"d. MMMM y","mediumDate":"d.M.yyyy","shortDate":"d.M.yyyy","mediumTime":"H.mm.ss","shortTime":"H.mm"},"id":"fi-fi"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_fi.js b/1.1.1/i18n/angular-locale_fi.js
new file mode 100644
index 000000000..9a9457fea
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_fi.js
@@ -0,0 +1,4 @@
+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":{"MONTH":["tammikuuta","helmikuuta","maaliskuuta","huhtikuuta","toukokuuta","kesäkuuta","heinäkuuta","elokuuta","syyskuuta","lokakuuta","marraskuuta","joulukuuta"],"SHORTMONTH":["tammikuuta","helmikuuta","maaliskuuta","huhtikuuta","toukokuuta","kesäkuuta","heinäkuuta","elokuuta","syyskuuta","lokakuuta","marraskuuta","joulukuuta"],"DAY":["sunnuntaina","maanantaina","tiistaina","keskiviikkona","torstaina","perjantaina","lauantaina"],"SHORTDAY":["su","ma","ti","ke","to","pe","la"],"AMPMS":["ap.","ip."],"medium":"d.M.yyyy H.mm.ss","short":"d.M.yyyy H.mm","fullDate":"cccc d. MMMM y","longDate":"d. MMMM y","mediumDate":"d.M.yyyy","shortDate":"d.M.yyyy","mediumTime":"H.mm.ss","shortTime":"H.mm"},"NUMBER_FORMATS":{"DECIMAL_SEP":",","GROUP_SEP":" ","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"","posSuf":" \u00A4","negPre":"-","negSuf":" \u00A4","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"€"},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"id":"fi"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_fil-ph.js b/1.1.1/i18n/angular-locale_fil-ph.js
new file mode 100644
index 000000000..e287755fd
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_fil-ph.js
@@ -0,0 +1,4 @@
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
+$provide.value("$locale", {"NUMBER_FORMATS":{"DECIMAL_SEP":".","GROUP_SEP":",","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"\u00A4 ","posSuf":"","negPre":"\u00A4 -","negSuf":"","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"P"},"pluralCat":function (n) { if (n == 0 || n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"DATETIME_FORMATS":{"MONTH":["Enero","Pebrero","Marso","Abril","Mayo","Hunyo","Hulyo","Agosto","Setyembre","Oktubre","Nobyembre","Disyembre"],"SHORTMONTH":["Ene","Peb","Mar","Abr","May","Hun","Hul","Ago","Set","Okt","Nob","Dis"],"DAY":["Linggo","Lunes","Martes","Miyerkules","Huwebes","Biyernes","Sabado"],"SHORTDAY":["Lin","Lun","Mar","Mye","Huw","Bye","Sab"],"AMPMS":["AM","PM"],"medium":"MMM d, y HH:mm:ss","short":"M/d/yy HH:mm","fullDate":"EEEE, MMMM dd y","longDate":"MMMM d, y","mediumDate":"MMM d, y","shortDate":"M/d/yy","mediumTime":"HH:mm:ss","shortTime":"HH:mm"},"id":"fil-ph"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_fil.js b/1.1.1/i18n/angular-locale_fil.js
new file mode 100644
index 000000000..f1f51956c
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_fil.js
@@ -0,0 +1,4 @@
+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":{"MONTH":["Enero","Pebrero","Marso","Abril","Mayo","Hunyo","Hulyo","Agosto","Setyembre","Oktubre","Nobyembre","Disyembre"],"SHORTMONTH":["Ene","Peb","Mar","Abr","May","Hun","Hul","Ago","Set","Okt","Nob","Dis"],"DAY":["Linggo","Lunes","Martes","Miyerkules","Huwebes","Biyernes","Sabado"],"SHORTDAY":["Lin","Lun","Mar","Mye","Huw","Bye","Sab"],"AMPMS":["AM","PM"],"medium":"MMM d, y HH:mm:ss","short":"M/d/yy HH:mm","fullDate":"EEEE, MMMM dd y","longDate":"MMMM d, y","mediumDate":"MMM d, y","shortDate":"M/d/yy","mediumTime":"HH:mm:ss","shortTime":"HH:mm"},"NUMBER_FORMATS":{"DECIMAL_SEP":".","GROUP_SEP":",","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"\u00A4 ","posSuf":"","negPre":"\u00A4 -","negSuf":"","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"P"},"pluralCat":function (n) { if (n == 0 || n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"id":"fil"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_fr-bl.js b/1.1.1/i18n/angular-locale_fr-bl.js
new file mode 100644
index 000000000..ec59fc0e9
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_fr-bl.js
@@ -0,0 +1,4 @@
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
+$provide.value("$locale", {"NUMBER_FORMATS":{"DECIMAL_SEP":",","GROUP_SEP":" ","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"","posSuf":" \u00A4","negPre":"-","negSuf":" \u00A4","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"€"},"pluralCat":function (n) { if (n >= 0 && n < 2) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"DATETIME_FORMATS":{"MONTH":["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"],"SHORTMONTH":["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc."],"DAY":["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],"SHORTDAY":["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],"AMPMS":["AM","PM"],"medium":"d MMM y HH:mm:ss","short":"dd/MM/yy HH:mm","fullDate":"EEEE d MMMM y","longDate":"d MMMM y","mediumDate":"d MMM y","shortDate":"dd/MM/yy","mediumTime":"HH:mm:ss","shortTime":"HH:mm"},"id":"fr-bl"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_fr-ca.js b/1.1.1/i18n/angular-locale_fr-ca.js
new file mode 100644
index 000000000..03f56937a
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_fr-ca.js
@@ -0,0 +1,4 @@
+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":{"MONTH":["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"],"SHORTMONTH":["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc."],"DAY":["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],"SHORTDAY":["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],"AMPMS":["AM","PM"],"medium":"yyyy-MM-dd HH:mm:ss","short":"yy-MM-dd HH:mm","fullDate":"EEEE d MMMM y","longDate":"d MMMM y","mediumDate":"yyyy-MM-dd","shortDate":"yy-MM-dd","mediumTime":"HH:mm:ss","shortTime":"HH:mm"},"NUMBER_FORMATS":{"DECIMAL_SEP":",","GROUP_SEP":" ","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"","posSuf":" \u00A4","negPre":"(","negSuf":" \u00A4)","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"$"},"pluralCat":function (n) { if (n >= 0 && n < 2) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"id":"fr-ca"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_fr-fr.js b/1.1.1/i18n/angular-locale_fr-fr.js
new file mode 100644
index 000000000..b7bad735f
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_fr-fr.js
@@ -0,0 +1,4 @@
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
+$provide.value("$locale", {"NUMBER_FORMATS":{"DECIMAL_SEP":",","GROUP_SEP":" ","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"","posSuf":" \u00A4","negPre":"-","negSuf":" \u00A4","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"€"},"pluralCat":function (n) { if (n >= 0 && n < 2) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"DATETIME_FORMATS":{"MONTH":["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"],"SHORTMONTH":["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc."],"DAY":["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],"SHORTDAY":["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],"AMPMS":["AM","PM"],"medium":"d MMM y HH:mm:ss","short":"dd/MM/yy HH:mm","fullDate":"EEEE d MMMM y","longDate":"d MMMM y","mediumDate":"d MMM y","shortDate":"dd/MM/yy","mediumTime":"HH:mm:ss","shortTime":"HH:mm"},"id":"fr-fr"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_fr-gp.js b/1.1.1/i18n/angular-locale_fr-gp.js
new file mode 100644
index 000000000..8f2e5097c
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_fr-gp.js
@@ -0,0 +1,4 @@
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
+$provide.value("$locale", {"NUMBER_FORMATS":{"DECIMAL_SEP":",","GROUP_SEP":" ","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"","posSuf":" \u00A4","negPre":"-","negSuf":" \u00A4","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"€"},"pluralCat":function (n) { if (n >= 0 && n < 2) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"DATETIME_FORMATS":{"MONTH":["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"],"SHORTMONTH":["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc."],"DAY":["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],"SHORTDAY":["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],"AMPMS":["AM","PM"],"medium":"d MMM y HH:mm:ss","short":"dd/MM/yy HH:mm","fullDate":"EEEE d MMMM y","longDate":"d MMMM y","mediumDate":"d MMM y","shortDate":"dd/MM/yy","mediumTime":"HH:mm:ss","shortTime":"HH:mm"},"id":"fr-gp"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_fr-mc.js b/1.1.1/i18n/angular-locale_fr-mc.js
new file mode 100644
index 000000000..aff9f7ca4
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_fr-mc.js
@@ -0,0 +1,4 @@
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
+$provide.value("$locale", {"NUMBER_FORMATS":{"DECIMAL_SEP":",","GROUP_SEP":" ","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"","posSuf":" \u00A4","negPre":"-","negSuf":" \u00A4","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"€"},"pluralCat":function (n) { if (n >= 0 && n < 2) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"DATETIME_FORMATS":{"MONTH":["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"],"SHORTMONTH":["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc."],"DAY":["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],"SHORTDAY":["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],"AMPMS":["AM","PM"],"medium":"d MMM y HH:mm:ss","short":"dd/MM/yy HH:mm","fullDate":"EEEE d MMMM y","longDate":"d MMMM y","mediumDate":"d MMM y","shortDate":"dd/MM/yy","mediumTime":"HH:mm:ss","shortTime":"HH:mm"},"id":"fr-mc"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_fr-mf.js b/1.1.1/i18n/angular-locale_fr-mf.js
new file mode 100644
index 000000000..4ecd6a73f
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_fr-mf.js
@@ -0,0 +1,4 @@
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
+$provide.value("$locale", {"NUMBER_FORMATS":{"DECIMAL_SEP":",","GROUP_SEP":" ","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"","posSuf":" \u00A4","negPre":"-","negSuf":" \u00A4","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"€"},"pluralCat":function (n) { if (n >= 0 && n < 2) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"DATETIME_FORMATS":{"MONTH":["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"],"SHORTMONTH":["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc."],"DAY":["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],"SHORTDAY":["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],"AMPMS":["AM","PM"],"medium":"d MMM y HH:mm:ss","short":"dd/MM/yy HH:mm","fullDate":"EEEE d MMMM y","longDate":"d MMMM y","mediumDate":"d MMM y","shortDate":"dd/MM/yy","mediumTime":"HH:mm:ss","shortTime":"HH:mm"},"id":"fr-mf"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_fr-mq.js b/1.1.1/i18n/angular-locale_fr-mq.js
new file mode 100644
index 000000000..d27a9e635
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_fr-mq.js
@@ -0,0 +1,4 @@
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
+$provide.value("$locale", {"NUMBER_FORMATS":{"DECIMAL_SEP":",","GROUP_SEP":" ","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"","posSuf":" \u00A4","negPre":"-","negSuf":" \u00A4","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"€"},"pluralCat":function (n) { if (n >= 0 && n < 2) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"DATETIME_FORMATS":{"MONTH":["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"],"SHORTMONTH":["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc."],"DAY":["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],"SHORTDAY":["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],"AMPMS":["AM","PM"],"medium":"d MMM y HH:mm:ss","short":"dd/MM/yy HH:mm","fullDate":"EEEE d MMMM y","longDate":"d MMMM y","mediumDate":"d MMM y","shortDate":"dd/MM/yy","mediumTime":"HH:mm:ss","shortTime":"HH:mm"},"id":"fr-mq"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_fr-re.js b/1.1.1/i18n/angular-locale_fr-re.js
new file mode 100644
index 000000000..7679c98af
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_fr-re.js
@@ -0,0 +1,4 @@
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
+$provide.value("$locale", {"NUMBER_FORMATS":{"DECIMAL_SEP":",","GROUP_SEP":" ","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"","posSuf":" \u00A4","negPre":"-","negSuf":" \u00A4","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"€"},"pluralCat":function (n) { if (n >= 0 && n < 2) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"DATETIME_FORMATS":{"MONTH":["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"],"SHORTMONTH":["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc."],"DAY":["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],"SHORTDAY":["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],"AMPMS":["AM","PM"],"medium":"d MMM y HH:mm:ss","short":"dd/MM/yy HH:mm","fullDate":"EEEE d MMMM y","longDate":"d MMMM y","mediumDate":"d MMM y","shortDate":"dd/MM/yy","mediumTime":"HH:mm:ss","shortTime":"HH:mm"},"id":"fr-re"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_fr.js b/1.1.1/i18n/angular-locale_fr.js
new file mode 100644
index 000000000..21e08b81d
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_fr.js
@@ -0,0 +1,4 @@
+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":{"MONTH":["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"],"SHORTMONTH":["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc."],"DAY":["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],"SHORTDAY":["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],"AMPMS":["AM","PM"],"medium":"d MMM y HH:mm:ss","short":"dd/MM/yy HH:mm","fullDate":"EEEE d MMMM y","longDate":"d MMMM y","mediumDate":"d MMM y","shortDate":"dd/MM/yy","mediumTime":"HH:mm:ss","shortTime":"HH:mm"},"NUMBER_FORMATS":{"DECIMAL_SEP":",","GROUP_SEP":" ","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"","posSuf":" \u00A4","negPre":"-","negSuf":" \u00A4","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"€"},"pluralCat":function (n) { if (n >= 0 && n < 2) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"id":"fr"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_gl-es.js b/1.1.1/i18n/angular-locale_gl-es.js
new file mode 100644
index 000000000..91350a560
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_gl-es.js
@@ -0,0 +1,4 @@
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
+$provide.value("$locale", {"NUMBER_FORMATS":{"DECIMAL_SEP":",","GROUP_SEP":".","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"","posSuf":" \u00A4","negPre":"-","negSuf":" \u00A4","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"€"},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"DATETIME_FORMATS":{"MONTH":["Xaneiro","Febreiro","Marzo","Abril","Maio","Xuño","Xullo","Agosto","Setembro","Outubro","Novembro","Decembro"],"SHORTMONTH":["Xan","Feb","Mar","Abr","Mai","Xuñ","Xul","Ago","Set","Out","Nov","Dec"],"DAY":["Domingo","Luns","Martes","Mércores","Xoves","Venres","Sábado"],"SHORTDAY":["Dom","Lun","Mar","Mér","Xov","Ven","Sáb"],"AMPMS":["AM","PM"],"medium":"d MMM, y HH:mm:ss","short":"dd/MM/yy HH:mm","fullDate":"EEEE dd MMMM y","longDate":"dd MMMM y","mediumDate":"d MMM, y","shortDate":"dd/MM/yy","mediumTime":"HH:mm:ss","shortTime":"HH:mm"},"id":"gl-es"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_gl.js b/1.1.1/i18n/angular-locale_gl.js
new file mode 100644
index 000000000..ac17ec8d4
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_gl.js
@@ -0,0 +1,4 @@
+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":{"MONTH":["Xaneiro","Febreiro","Marzo","Abril","Maio","Xuño","Xullo","Agosto","Setembro","Outubro","Novembro","Decembro"],"SHORTMONTH":["Xan","Feb","Mar","Abr","Mai","Xuñ","Xul","Ago","Set","Out","Nov","Dec"],"DAY":["Domingo","Luns","Martes","Mércores","Xoves","Venres","Sábado"],"SHORTDAY":["Dom","Lun","Mar","Mér","Xov","Ven","Sáb"],"AMPMS":["AM","PM"],"medium":"d MMM, y HH:mm:ss","short":"dd/MM/yy HH:mm","fullDate":"EEEE dd MMMM y","longDate":"dd MMMM y","mediumDate":"d MMM, y","shortDate":"dd/MM/yy","mediumTime":"HH:mm:ss","shortTime":"HH:mm"},"NUMBER_FORMATS":{"DECIMAL_SEP":",","GROUP_SEP":".","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"","posSuf":" \u00A4","negPre":"-","negSuf":" \u00A4","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"€"},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"id":"gl"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_gsw-ch.js b/1.1.1/i18n/angular-locale_gsw-ch.js
new file mode 100644
index 000000000..07d3d9834
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_gsw-ch.js
@@ -0,0 +1,4 @@
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
+$provide.value("$locale", {"NUMBER_FORMATS":{"DECIMAL_SEP":".","GROUP_SEP":"’","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"","posSuf":" \u00A4","negPre":"-","negSuf":" \u00A4","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"Fr."},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"DATETIME_FORMATS":{"MONTH":["Januar","Februar","März","April","Mai","Juni","Juli","Auguscht","Septämber","Oktoober","Novämber","Dezämber"],"SHORTMONTH":["Jan","Feb","Mär","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"],"DAY":["Sunntig","Määntig","Ziischtig","Mittwuch","Dunschtig","Friitig","Samschtig"],"SHORTDAY":["Su.","Mä.","Zi.","Mi.","Du.","Fr.","Sa."],"AMPMS":["vorm.","nam."],"medium":"dd.MM.yyyy HH:mm:ss","short":"dd.MM.yy HH:mm","fullDate":"EEEE, d. MMMM y","longDate":"d. MMMM y","mediumDate":"dd.MM.yyyy","shortDate":"dd.MM.yy","mediumTime":"HH:mm:ss","shortTime":"HH:mm"},"id":"gsw-ch"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_gsw.js b/1.1.1/i18n/angular-locale_gsw.js
new file mode 100644
index 000000000..1e7ec9de5
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_gsw.js
@@ -0,0 +1,4 @@
+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":{"MONTH":["Januar","Februar","März","April","Mai","Juni","Juli","Auguscht","Septämber","Oktoober","Novämber","Dezämber"],"SHORTMONTH":["Jan","Feb","Mär","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"],"DAY":["Sunntig","Määntig","Ziischtig","Mittwuch","Dunschtig","Friitig","Samschtig"],"SHORTDAY":["Su.","Mä.","Zi.","Mi.","Du.","Fr.","Sa."],"AMPMS":["vorm.","nam."],"medium":"dd.MM.yyyy HH:mm:ss","short":"dd.MM.yy HH:mm","fullDate":"EEEE, d. MMMM y","longDate":"d. MMMM y","mediumDate":"dd.MM.yyyy","shortDate":"dd.MM.yy","mediumTime":"HH:mm:ss","shortTime":"HH:mm"},"NUMBER_FORMATS":{"DECIMAL_SEP":".","GROUP_SEP":"’","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"","posSuf":" \u00A4","negPre":"-","negSuf":" \u00A4","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"Fr."},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"id":"gsw"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_gu-in.js b/1.1.1/i18n/angular-locale_gu-in.js
new file mode 100644
index 000000000..4abfb02b6
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_gu-in.js
@@ -0,0 +1,4 @@
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
+$provide.value("$locale", {"NUMBER_FORMATS":{"DECIMAL_SEP":".","GROUP_SEP":",","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":2,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"\u00A4 ","posSuf":"","negPre":"\u00A4 -","negSuf":"","gSize":2,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"Rs"},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"DATETIME_FORMATS":{"MONTH":["જાન્યુઆરી","ફેબ્રુઆરી","માર્ચ","એપ્રિલ","મે","જૂન","જુલાઈ","ઑગસ્ટ","સપ્ટેમ્બર","ઑક્ટ્બર","નવેમ્બર","ડિસેમ્બર"],"SHORTMONTH":["જાન્યુ","ફેબ્રુ","માર્ચ","એપ્રિલ","મે","જૂન","જુલાઈ","ઑગસ્ટ","સપ્ટે","ઑક્ટો","નવે","ડિસે"],"DAY":["રવિવાર","સોમવાર","મંગળવાર","બુધવાર","ગુરુવાર","શુક્રવાર","શનિવાર"],"SHORTDAY":["રવિ","સોમ","મંગળ","બુધ","ગુરુ","શુક્ર","શનિ"],"AMPMS":["પૂર્વ મધ્યાહ્ન","ઉત્તર મધ્યાહ્ન"],"medium":"d MMM, y hh:mm:ss a","short":"d-MM-yy hh:mm a","fullDate":"EEEE, d MMMM, y","longDate":"d MMMM, y","mediumDate":"d MMM, y","shortDate":"d-MM-yy","mediumTime":"hh:mm:ss a","shortTime":"hh:mm a"},"id":"gu-in"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_gu.js b/1.1.1/i18n/angular-locale_gu.js
new file mode 100644
index 000000000..5d5e1f991
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_gu.js
@@ -0,0 +1,4 @@
+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":{"MONTH":["જાન્યુઆરી","ફેબ્રુઆરી","માર્ચ","એપ્રિલ","મે","જૂન","જુલાઈ","ઑગસ્ટ","સપ્ટેમ્બર","ઑક્ટ્બર","નવેમ્બર","ડિસેમ્બર"],"SHORTMONTH":["જાન્યુ","ફેબ્રુ","માર્ચ","એપ્રિલ","મે","જૂન","જુલાઈ","ઑગસ્ટ","સપ્ટે","ઑક્ટો","નવે","ડિસે"],"DAY":["રવિવાર","સોમવાર","મંગળવાર","બુધવાર","ગુરુવાર","શુક્રવાર","શનિવાર"],"SHORTDAY":["રવિ","સોમ","મંગળ","બુધ","ગુરુ","શુક્ર","શનિ"],"AMPMS":["પૂર્વ મધ્યાહ્ન","ઉત્તર મધ્યાહ્ન"],"medium":"d MMM, y hh:mm:ss a","short":"d-MM-yy hh:mm a","fullDate":"EEEE, d MMMM, y","longDate":"d MMMM, y","mediumDate":"d MMM, y","shortDate":"d-MM-yy","mediumTime":"hh:mm:ss a","shortTime":"hh:mm a"},"NUMBER_FORMATS":{"DECIMAL_SEP":".","GROUP_SEP":",","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":2,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"\u00A4 ","posSuf":"","negPre":"\u00A4 -","negSuf":"","gSize":2,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"Rs"},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"id":"gu"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_he-il.js b/1.1.1/i18n/angular-locale_he-il.js
new file mode 100644
index 000000000..1e1f2002e
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_he-il.js
@@ -0,0 +1,4 @@
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
+$provide.value("$locale", {"NUMBER_FORMATS":{"DECIMAL_SEP":".","GROUP_SEP":",","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"","posSuf":" \u00A4","negPre":"-","negSuf":" \u00A4","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"₪"},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"DATETIME_FORMATS":{"MONTH":["ינואר","פברואר","מרס","אפריל","מאי","יוני","יולי","אוגוסט","ספטמבר","אוקטובר","נובמבר","דצמבר"],"SHORTMONTH":["ינו","פבר","מרס","אפר","מאי","יונ","יול","אוג","ספט","אוק","נוב","דצמ"],"DAY":["יום ראשון","יום שני","יום שלישי","יום רביעי","יום חמישי","יום שישי","יום שבת"],"SHORTDAY":["יום א׳","יום ב׳","יום ג׳","יום ד׳","יום ה׳","יום ו׳","שבת"],"AMPMS":["לפנה״צ","אחה״צ"],"medium":"d בMMM yyyy HH:mm:ss","short":"dd/MM/yy HH:mm","fullDate":"EEEE, d בMMMM y","longDate":"d בMMMM y","mediumDate":"d בMMM yyyy","shortDate":"dd/MM/yy","mediumTime":"HH:mm:ss","shortTime":"HH:mm"},"id":"he-il"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_he.js b/1.1.1/i18n/angular-locale_he.js
new file mode 100644
index 000000000..5f6a9181f
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_he.js
@@ -0,0 +1,4 @@
+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":{"MONTH":["ינואר","פברואר","מרס","אפריל","מאי","יוני","יולי","אוגוסט","ספטמבר","אוקטובר","נובמבר","דצמבר"],"SHORTMONTH":["ינו","פבר","מרס","אפר","מאי","יונ","יול","אוג","ספט","אוק","נוב","דצמ"],"DAY":["יום ראשון","יום שני","יום שלישי","יום רביעי","יום חמישי","יום שישי","יום שבת"],"SHORTDAY":["יום א׳","יום ב׳","יום ג׳","יום ד׳","יום ה׳","יום ו׳","שבת"],"AMPMS":["לפנה״צ","אחה״צ"],"medium":"d בMMM yyyy HH:mm:ss","short":"dd/MM/yy HH:mm","fullDate":"EEEE, d בMMMM y","longDate":"d בMMMM y","mediumDate":"d בMMM yyyy","shortDate":"dd/MM/yy","mediumTime":"HH:mm:ss","shortTime":"HH:mm"},"NUMBER_FORMATS":{"DECIMAL_SEP":".","GROUP_SEP":",","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"","posSuf":" \u00A4","negPre":"-","negSuf":" \u00A4","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"₪"},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"id":"he"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_hi-in.js b/1.1.1/i18n/angular-locale_hi-in.js
new file mode 100644
index 000000000..3bbadffc1
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_hi-in.js
@@ -0,0 +1,4 @@
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
+$provide.value("$locale", {"NUMBER_FORMATS":{"DECIMAL_SEP":".","GROUP_SEP":",","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":2,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"\u00A4 ","posSuf":"","negPre":"\u00A4 -","negSuf":"","gSize":2,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"Rs"},"pluralCat":function (n) { if (n == 0 || n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"DATETIME_FORMATS":{"MONTH":["जनवरी","फरवरी","मार्च","अप्रैल","मई","जून","जुलाई","अगस्त","सितम्बर","अक्तूबर","नवम्बर","दिसम्बर"],"SHORTMONTH":["जनवरी","फरवरी","मार्च","अप्रैल","मई","जून","जुलाई","अगस्त","सितम्बर","अक्तूबर","नवम्बर","दिसम्बर"],"DAY":["रविवार","सोमवार","मंगलवार","बुधवार","बृहस्पतिवार","शुक्रवार","शनिवार"],"SHORTDAY":["रवि.","सोम.","मंगल.","बुध.","बृह.","शुक्र.","शनि."],"AMPMS":["पूर्वाह्न","अपराह्न"],"medium":"dd-MM-yyyy h:mm:ss a","short":"d-M-yy h:mm a","fullDate":"EEEE, d MMMM y","longDate":"d MMMM y","mediumDate":"dd-MM-yyyy","shortDate":"d-M-yy","mediumTime":"h:mm:ss a","shortTime":"h:mm a"},"id":"hi-in"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_hi.js b/1.1.1/i18n/angular-locale_hi.js
new file mode 100644
index 000000000..eedc8a46e
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_hi.js
@@ -0,0 +1,4 @@
+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":{"MONTH":["जनवरी","फरवरी","मार्च","अप्रैल","मई","जून","जुलाई","अगस्त","सितम्बर","अक्तूबर","नवम्बर","दिसम्बर"],"SHORTMONTH":["जनवरी","फरवरी","मार्च","अप्रैल","मई","जून","जुलाई","अगस्त","सितम्बर","अक्तूबर","नवम्बर","दिसम्बर"],"DAY":["रविवार","सोमवार","मंगलवार","बुधवार","बृहस्पतिवार","शुक्रवार","शनिवार"],"SHORTDAY":["रवि.","सोम.","मंगल.","बुध.","बृह.","शुक्र.","शनि."],"AMPMS":["पूर्वाह्न","अपराह्न"],"medium":"dd-MM-yyyy h:mm:ss a","short":"d-M-yy h:mm a","fullDate":"EEEE, d MMMM y","longDate":"d MMMM y","mediumDate":"dd-MM-yyyy","shortDate":"d-M-yy","mediumTime":"h:mm:ss a","shortTime":"h:mm a"},"NUMBER_FORMATS":{"DECIMAL_SEP":".","GROUP_SEP":",","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":2,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"\u00A4 ","posSuf":"","negPre":"\u00A4 -","negSuf":"","gSize":2,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"Rs"},"pluralCat":function (n) { if (n == 0 || n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"id":"hi"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_hr-hr.js b/1.1.1/i18n/angular-locale_hr-hr.js
new file mode 100644
index 000000000..47dead456
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_hr-hr.js
@@ -0,0 +1,4 @@
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
+$provide.value("$locale", {"NUMBER_FORMATS":{"DECIMAL_SEP":",","GROUP_SEP":".","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"","posSuf":" \u00A4","negPre":"-","negSuf":" \u00A4","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"kn"},"pluralCat":function (n) { if ((n % 10) == 1 && (n % 100) != 11) { return PLURAL_CATEGORY.ONE; } if ((n % 10) >= 2 && (n % 10) <= 4 && ((n % 100) < 12 || (n % 100) > 14) && n == Math.floor(n)) { return PLURAL_CATEGORY.FEW; } if ((n % 10) == 0 || ((n % 10) >= 5 && (n % 10) <= 9) || ((n % 100) >= 11 && (n % 100) <= 14) && n == Math.floor(n)) { return PLURAL_CATEGORY.MANY; } return PLURAL_CATEGORY.OTHER;},"DATETIME_FORMATS":{"MONTH":["siječnja","veljače","ožujka","travnja","svibnja","lipnja","srpnja","kolovoza","rujna","listopada","studenoga","prosinca"],"SHORTMONTH":["sij","velj","ožu","tra","svi","lip","srp","kol","ruj","lis","stu","pro"],"DAY":["nedjelja","ponedjeljak","utorak","srijeda","četvrtak","petak","subota"],"SHORTDAY":["ned","pon","uto","sri","čet","pet","sub"],"AMPMS":["AM","PM"],"medium":"d. M. yyyy. HH:mm:ss","short":"dd. MM. yyyy. HH:mm","fullDate":"EEEE, d. MMMM y.","longDate":"d. MMMM y.","mediumDate":"d. M. yyyy.","shortDate":"dd. MM. yyyy.","mediumTime":"HH:mm:ss","shortTime":"HH:mm"},"id":"hr-hr"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_hr.js b/1.1.1/i18n/angular-locale_hr.js
new file mode 100644
index 000000000..17b503159
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_hr.js
@@ -0,0 +1,4 @@
+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":{"MONTH":["siječnja","veljače","ožujka","travnja","svibnja","lipnja","srpnja","kolovoza","rujna","listopada","studenoga","prosinca"],"SHORTMONTH":["sij","velj","ožu","tra","svi","lip","srp","kol","ruj","lis","stu","pro"],"DAY":["nedjelja","ponedjeljak","utorak","srijeda","četvrtak","petak","subota"],"SHORTDAY":["ned","pon","uto","sri","čet","pet","sub"],"AMPMS":["AM","PM"],"medium":"d. M. yyyy. HH:mm:ss","short":"dd. MM. yyyy. HH:mm","fullDate":"EEEE, d. MMMM y.","longDate":"d. MMMM y.","mediumDate":"d. M. yyyy.","shortDate":"dd. MM. yyyy.","mediumTime":"HH:mm:ss","shortTime":"HH:mm"},"NUMBER_FORMATS":{"DECIMAL_SEP":",","GROUP_SEP":".","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"","posSuf":" \u00A4","negPre":"-","negSuf":" \u00A4","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"kn"},"pluralCat":function (n) { if ((n % 10) == 1 && (n % 100) != 11) { return PLURAL_CATEGORY.ONE; } if ((n % 10) >= 2 && (n % 10) <= 4 && ((n % 100) < 12 || (n % 100) > 14) && n == Math.floor(n)) { return PLURAL_CATEGORY.FEW; } if ((n % 10) == 0 || ((n % 10) >= 5 && (n % 10) <= 9) || ((n % 100) >= 11 && (n % 100) <= 14) && n == Math.floor(n)) { return PLURAL_CATEGORY.MANY; } return PLURAL_CATEGORY.OTHER;},"id":"hr"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_hu-hu.js b/1.1.1/i18n/angular-locale_hu-hu.js
new file mode 100644
index 000000000..906769f0a
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_hu-hu.js
@@ -0,0 +1,4 @@
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
+$provide.value("$locale", {"NUMBER_FORMATS":{"DECIMAL_SEP":",","GROUP_SEP":" ","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"","posSuf":" \u00A4","negPre":"-","negSuf":" \u00A4","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"Ft"},"pluralCat":function (n) { return PLURAL_CATEGORY.OTHER;},"DATETIME_FORMATS":{"MONTH":["január","február","március","április","május","június","július","augusztus","szeptember","október","november","december"],"SHORTMONTH":["jan.","febr.","márc.","ápr.","máj.","jún.","júl.","aug.","szept.","okt.","nov.","dec."],"DAY":["vasárnap","hétfő","kedd","szerda","csütörtök","péntek","szombat"],"SHORTDAY":["V","H","K","Sze","Cs","P","Szo"],"AMPMS":["de.","du."],"medium":"yyyy.MM.dd. H:mm:ss","short":"yyyy.MM.dd. H:mm","fullDate":"y. MMMM d., EEEE","longDate":"y. MMMM d.","mediumDate":"yyyy.MM.dd.","shortDate":"yyyy.MM.dd.","mediumTime":"H:mm:ss","shortTime":"H:mm"},"id":"hu-hu"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_hu.js b/1.1.1/i18n/angular-locale_hu.js
new file mode 100644
index 000000000..024eaa41c
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_hu.js
@@ -0,0 +1,4 @@
+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":{"MONTH":["január","február","március","április","május","június","július","augusztus","szeptember","október","november","december"],"SHORTMONTH":["jan.","febr.","márc.","ápr.","máj.","jún.","júl.","aug.","szept.","okt.","nov.","dec."],"DAY":["vasárnap","hétfő","kedd","szerda","csütörtök","péntek","szombat"],"SHORTDAY":["V","H","K","Sze","Cs","P","Szo"],"AMPMS":["de.","du."],"medium":"yyyy.MM.dd. H:mm:ss","short":"yyyy.MM.dd. H:mm","fullDate":"y. MMMM d., EEEE","longDate":"y. MMMM d.","mediumDate":"yyyy.MM.dd.","shortDate":"yyyy.MM.dd.","mediumTime":"H:mm:ss","shortTime":"H:mm"},"NUMBER_FORMATS":{"DECIMAL_SEP":",","GROUP_SEP":" ","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"","posSuf":" \u00A4","negPre":"-","negSuf":" \u00A4","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"Ft"},"pluralCat":function (n) { return PLURAL_CATEGORY.OTHER;},"id":"hu"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_id-id.js b/1.1.1/i18n/angular-locale_id-id.js
new file mode 100644
index 000000000..8c4311e6f
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_id-id.js
@@ -0,0 +1,4 @@
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
+$provide.value("$locale", {"NUMBER_FORMATS":{"DECIMAL_SEP":",","GROUP_SEP":".","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"\u00A4","posSuf":"","negPre":"\u00A4-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"Rp"},"pluralCat":function (n) { return PLURAL_CATEGORY.OTHER;},"DATETIME_FORMATS":{"MONTH":["Januari","Februari","Maret","April","Mei","Juni","Juli","Agustus","September","Oktober","November","Desember"],"SHORTMONTH":["Jan","Feb","Mar","Apr","Mei","Jun","Jul","Agt","Sep","Okt","Nov","Des"],"DAY":["Minggu","Senin","Selasa","Rabu","Kamis","Jumat","Sabtu"],"SHORTDAY":["Min","Sen","Sel","Rab","Kam","Jum","Sab"],"AMPMS":["pagi","malam"],"medium":"d MMM yyyy HH:mm:ss","short":"dd/MM/yy HH:mm","fullDate":"EEEE, dd MMMM yyyy","longDate":"d MMMM yyyy","mediumDate":"d MMM yyyy","shortDate":"dd/MM/yy","mediumTime":"HH:mm:ss","shortTime":"HH:mm"},"id":"id-id"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_id.js b/1.1.1/i18n/angular-locale_id.js
new file mode 100644
index 000000000..23bee9fa6
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_id.js
@@ -0,0 +1,4 @@
+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":{"MONTH":["Januari","Februari","Maret","April","Mei","Juni","Juli","Agustus","September","Oktober","November","Desember"],"SHORTMONTH":["Jan","Feb","Mar","Apr","Mei","Jun","Jul","Agt","Sep","Okt","Nov","Des"],"DAY":["Minggu","Senin","Selasa","Rabu","Kamis","Jumat","Sabtu"],"SHORTDAY":["Min","Sen","Sel","Rab","Kam","Jum","Sab"],"AMPMS":["pagi","malam"],"medium":"d MMM yyyy HH:mm:ss","short":"dd/MM/yy HH:mm","fullDate":"EEEE, dd MMMM yyyy","longDate":"d MMMM yyyy","mediumDate":"d MMM yyyy","shortDate":"dd/MM/yy","mediumTime":"HH:mm:ss","shortTime":"HH:mm"},"NUMBER_FORMATS":{"DECIMAL_SEP":",","GROUP_SEP":".","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"\u00A4","posSuf":"","negPre":"\u00A4-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"Rp"},"pluralCat":function (n) { return PLURAL_CATEGORY.OTHER;},"id":"id"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_in.js b/1.1.1/i18n/angular-locale_in.js
new file mode 100644
index 000000000..c1ecdbe91
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_in.js
@@ -0,0 +1,4 @@
+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":{"MONTH":["Januari","Februari","Maret","April","Mei","Juni","Juli","Agustus","September","Oktober","November","Desember"],"SHORTMONTH":["Jan","Feb","Mar","Apr","Mei","Jun","Jul","Agt","Sep","Okt","Nov","Des"],"DAY":["Minggu","Senin","Selasa","Rabu","Kamis","Jumat","Sabtu"],"SHORTDAY":["Min","Sen","Sel","Rab","Kam","Jum","Sab"],"AMPMS":["pagi","malam"],"medium":"d MMM yyyy HH:mm:ss","short":"dd/MM/yy HH:mm","fullDate":"EEEE, dd MMMM yyyy","longDate":"d MMMM yyyy","mediumDate":"d MMM yyyy","shortDate":"dd/MM/yy","mediumTime":"HH:mm:ss","shortTime":"HH:mm"},"NUMBER_FORMATS":{"DECIMAL_SEP":",","GROUP_SEP":".","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"\u00A4","posSuf":"","negPre":"\u00A4-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"Rp"},"pluralCat":function (n) { return PLURAL_CATEGORY.OTHER;},"id":"in"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_is-is.js b/1.1.1/i18n/angular-locale_is-is.js
new file mode 100644
index 000000000..471201b86
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_is-is.js
@@ -0,0 +1,4 @@
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
+$provide.value("$locale", {"NUMBER_FORMATS":{"DECIMAL_SEP":",","GROUP_SEP":".","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"","posSuf":" \u00A4","negPre":"-","negSuf":" \u00A4","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"kr"},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"DATETIME_FORMATS":{"MONTH":["janúar","febrúar","mars","apríl","maí","júní","júlí","ágúst","september","október","nóvember","desember"],"SHORTMONTH":["jan","feb","mar","apr","maí","jún","júl","ágú","sep","okt","nóv","des"],"DAY":["sunnudagur","mánudagur","þriðjudagur","miðvikudagur","fimmtudagur","föstudagur","laugardagur"],"SHORTDAY":["sun","mán","þri","mið","fim","fös","lau"],"AMPMS":["f.h.","e.h."],"medium":"d.M.yyyy HH:mm:ss","short":"d.M.yyyy HH:mm","fullDate":"EEEE, d. MMMM y","longDate":"d. MMMM y","mediumDate":"d.M.yyyy","shortDate":"d.M.yyyy","mediumTime":"HH:mm:ss","shortTime":"HH:mm"},"id":"is-is"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_is.js b/1.1.1/i18n/angular-locale_is.js
new file mode 100644
index 000000000..d53228fe8
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_is.js
@@ -0,0 +1,4 @@
+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":{"MONTH":["janúar","febrúar","mars","apríl","maí","júní","júlí","ágúst","september","október","nóvember","desember"],"SHORTMONTH":["jan","feb","mar","apr","maí","jún","júl","ágú","sep","okt","nóv","des"],"DAY":["sunnudagur","mánudagur","þriðjudagur","miðvikudagur","fimmtudagur","föstudagur","laugardagur"],"SHORTDAY":["sun","mán","þri","mið","fim","fös","lau"],"AMPMS":["f.h.","e.h."],"medium":"d.M.yyyy HH:mm:ss","short":"d.M.yyyy HH:mm","fullDate":"EEEE, d. MMMM y","longDate":"d. MMMM y","mediumDate":"d.M.yyyy","shortDate":"d.M.yyyy","mediumTime":"HH:mm:ss","shortTime":"HH:mm"},"NUMBER_FORMATS":{"DECIMAL_SEP":",","GROUP_SEP":".","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"","posSuf":" \u00A4","negPre":"-","negSuf":" \u00A4","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"kr"},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"id":"is"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_it-it.js b/1.1.1/i18n/angular-locale_it-it.js
new file mode 100644
index 000000000..5818317f5
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_it-it.js
@@ -0,0 +1,4 @@
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
+$provide.value("$locale", {"NUMBER_FORMATS":{"DECIMAL_SEP":",","GROUP_SEP":".","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"\u00A4 ","posSuf":"","negPre":"\u00A4 -","negSuf":"","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"€"},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"DATETIME_FORMATS":{"MONTH":["gennaio","febbraio","marzo","aprile","maggio","giugno","luglio","agosto","settembre","ottobre","novembre","dicembre"],"SHORTMONTH":["gen","feb","mar","apr","mag","giu","lug","ago","set","ott","nov","dic"],"DAY":["domenica","lunedì","martedì","mercoledì","giovedì","venerdì","sabato"],"SHORTDAY":["dom","lun","mar","mer","gio","ven","sab"],"AMPMS":["m.","p."],"medium":"dd/MMM/y HH:mm:ss","short":"dd/MM/yy HH:mm","fullDate":"EEEE d MMMM y","longDate":"dd MMMM y","mediumDate":"dd/MMM/y","shortDate":"dd/MM/yy","mediumTime":"HH:mm:ss","shortTime":"HH:mm"},"id":"it-it"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_it.js b/1.1.1/i18n/angular-locale_it.js
new file mode 100644
index 000000000..2c6029f03
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_it.js
@@ -0,0 +1,4 @@
+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":{"MONTH":["gennaio","febbraio","marzo","aprile","maggio","giugno","luglio","agosto","settembre","ottobre","novembre","dicembre"],"SHORTMONTH":["gen","feb","mar","apr","mag","giu","lug","ago","set","ott","nov","dic"],"DAY":["domenica","lunedì","martedì","mercoledì","giovedì","venerdì","sabato"],"SHORTDAY":["dom","lun","mar","mer","gio","ven","sab"],"AMPMS":["m.","p."],"medium":"dd/MMM/y HH:mm:ss","short":"dd/MM/yy HH:mm","fullDate":"EEEE d MMMM y","longDate":"dd MMMM y","mediumDate":"dd/MMM/y","shortDate":"dd/MM/yy","mediumTime":"HH:mm:ss","shortTime":"HH:mm"},"NUMBER_FORMATS":{"DECIMAL_SEP":",","GROUP_SEP":".","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"\u00A4 ","posSuf":"","negPre":"\u00A4 -","negSuf":"","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"€"},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"id":"it"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_iw.js b/1.1.1/i18n/angular-locale_iw.js
new file mode 100644
index 000000000..8252cce6c
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_iw.js
@@ -0,0 +1,4 @@
+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":{"MONTH":["ינואר","פברואר","מרס","אפריל","מאי","יוני","יולי","אוגוסט","ספטמבר","אוקטובר","נובמבר","דצמבר"],"SHORTMONTH":["ינו","פבר","מרס","אפר","מאי","יונ","יול","אוג","ספט","אוק","נוב","דצמ"],"DAY":["יום ראשון","יום שני","יום שלישי","יום רביעי","יום חמישי","יום שישי","יום שבת"],"SHORTDAY":["יום א׳","יום ב׳","יום ג׳","יום ד׳","יום ה׳","יום ו׳","שבת"],"AMPMS":["לפנה״צ","אחה״צ"],"medium":"d בMMM yyyy HH:mm:ss","short":"dd/MM/yy HH:mm","fullDate":"EEEE, d בMMMM y","longDate":"d בMMMM y","mediumDate":"d בMMM yyyy","shortDate":"dd/MM/yy","mediumTime":"HH:mm:ss","shortTime":"HH:mm"},"NUMBER_FORMATS":{"DECIMAL_SEP":".","GROUP_SEP":",","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"","posSuf":" \u00A4","negPre":"-","negSuf":" \u00A4","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"₪"},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"id":"iw"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_ja-jp.js b/1.1.1/i18n/angular-locale_ja-jp.js
new file mode 100644
index 000000000..32fd7864d
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_ja-jp.js
@@ -0,0 +1,4 @@
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
+$provide.value("$locale", {"NUMBER_FORMATS":{"DECIMAL_SEP":".","GROUP_SEP":",","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"\u00A4","posSuf":"","negPre":"\u00A4-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"¥"},"pluralCat":function (n) { return PLURAL_CATEGORY.OTHER;},"DATETIME_FORMATS":{"MONTH":["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],"SHORTMONTH":["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],"DAY":["日曜日","月曜日","火曜日","水曜日","木曜日","金曜日","土曜日"],"SHORTDAY":["日","月","火","水","木","金","土"],"AMPMS":["午前","午後"],"medium":"yyyy/MM/dd H:mm:ss","short":"yy/MM/dd H:mm","fullDate":"y年M月d日EEEE","longDate":"y年M月d日","mediumDate":"yyyy/MM/dd","shortDate":"yy/MM/dd","mediumTime":"H:mm:ss","shortTime":"H:mm"},"id":"ja-jp"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_ja.js b/1.1.1/i18n/angular-locale_ja.js
new file mode 100644
index 000000000..a82356df4
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_ja.js
@@ -0,0 +1,4 @@
+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":{"MONTH":["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],"SHORTMONTH":["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],"DAY":["日曜日","月曜日","火曜日","水曜日","木曜日","金曜日","土曜日"],"SHORTDAY":["日","月","火","水","木","金","土"],"AMPMS":["午前","午後"],"medium":"yyyy/MM/dd H:mm:ss","short":"yy/MM/dd H:mm","fullDate":"y年M月d日EEEE","longDate":"y年M月d日","mediumDate":"yyyy/MM/dd","shortDate":"yy/MM/dd","mediumTime":"H:mm:ss","shortTime":"H:mm"},"NUMBER_FORMATS":{"DECIMAL_SEP":".","GROUP_SEP":",","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"\u00A4","posSuf":"","negPre":"\u00A4-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"¥"},"pluralCat":function (n) { return PLURAL_CATEGORY.OTHER;},"id":"ja"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_kn-in.js b/1.1.1/i18n/angular-locale_kn-in.js
new file mode 100644
index 000000000..cc4bf7ff0
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_kn-in.js
@@ -0,0 +1,4 @@
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
+$provide.value("$locale", {"NUMBER_FORMATS":{"DECIMAL_SEP":".","GROUP_SEP":",","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":2,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"\u00A4 ","posSuf":"","negPre":"\u00A4 -","negSuf":"","gSize":2,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"Rs"},"pluralCat":function (n) { return PLURAL_CATEGORY.OTHER;},"DATETIME_FORMATS":{"MONTH":["ಜನವರೀ","ಫೆಬ್ರವರೀ","ಮಾರ್ಚ್","ಎಪ್ರಿಲ್","ಮೆ","ಜೂನ್","ಜುಲೈ","ಆಗಸ್ಟ್","ಸಪ್ಟೆಂಬರ್","ಅಕ್ಟೋಬರ್","ನವೆಂಬರ್","ಡಿಸೆಂಬರ್"],"SHORTMONTH":["ಜನವರೀ","ಫೆಬ್ರವರೀ","ಮಾರ್ಚ್","ಎಪ್ರಿಲ್","ಮೆ","ಜೂನ್","ಜುಲೈ","ಆಗಸ್ಟ್","ಸಪ್ಟೆಂಬರ್","ಅಕ್ಟೋಬರ್","ನವೆಂಬರ್","ಡಿಸೆಂಬರ್"],"DAY":["ರವಿವಾರ","ಸೋಮವಾರ","ಮಂಗಳವಾರ","ಬುಧವಾರ","ಗುರುವಾರ","ಶುಕ್ರವಾರ","ಶನಿವಾರ"],"SHORTDAY":["ರ.","ಸೋ.","ಮಂ.","ಬು.","ಗು.","ಶು.","ಶನಿ."],"AMPMS":["am","pm"],"medium":"d MMM y hh:mm:ss a","short":"d-M-yy hh:mm a","fullDate":"EEEE d MMMM y","longDate":"d MMMM y","mediumDate":"d MMM y","shortDate":"d-M-yy","mediumTime":"hh:mm:ss a","shortTime":"hh:mm a"},"id":"kn-in"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_kn.js b/1.1.1/i18n/angular-locale_kn.js
new file mode 100644
index 000000000..38d1c8179
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_kn.js
@@ -0,0 +1,4 @@
+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":{"MONTH":["ಜನವರೀ","ಫೆಬ್ರವರೀ","ಮಾರ್ಚ್","ಎಪ್ರಿಲ್","ಮೆ","ಜೂನ್","ಜುಲೈ","ಆಗಸ್ಟ್","ಸಪ್ಟೆಂಬರ್","ಅಕ್ಟೋಬರ್","ನವೆಂಬರ್","ಡಿಸೆಂಬರ್"],"SHORTMONTH":["ಜನವರೀ","ಫೆಬ್ರವರೀ","ಮಾರ್ಚ್","ಎಪ್ರಿಲ್","ಮೆ","ಜೂನ್","ಜುಲೈ","ಆಗಸ್ಟ್","ಸಪ್ಟೆಂಬರ್","ಅಕ್ಟೋಬರ್","ನವೆಂಬರ್","ಡಿಸೆಂಬರ್"],"DAY":["ರವಿವಾರ","ಸೋಮವಾರ","ಮಂಗಳವಾರ","ಬುಧವಾರ","ಗುರುವಾರ","ಶುಕ್ರವಾರ","ಶನಿವಾರ"],"SHORTDAY":["ರ.","ಸೋ.","ಮಂ.","ಬು.","ಗು.","ಶು.","ಶನಿ."],"AMPMS":["am","pm"],"medium":"d MMM y hh:mm:ss a","short":"d-M-yy hh:mm a","fullDate":"EEEE d MMMM y","longDate":"d MMMM y","mediumDate":"d MMM y","shortDate":"d-M-yy","mediumTime":"hh:mm:ss a","shortTime":"hh:mm a"},"NUMBER_FORMATS":{"DECIMAL_SEP":".","GROUP_SEP":",","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":2,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"\u00A4 ","posSuf":"","negPre":"\u00A4 -","negSuf":"","gSize":2,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"Rs"},"pluralCat":function (n) { return PLURAL_CATEGORY.OTHER;},"id":"kn"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_ko-kr.js b/1.1.1/i18n/angular-locale_ko-kr.js
new file mode 100644
index 000000000..3d92e3de7
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_ko-kr.js
@@ -0,0 +1,4 @@
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
+$provide.value("$locale", {"NUMBER_FORMATS":{"DECIMAL_SEP":".","GROUP_SEP":",","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"\u00A4","posSuf":"","negPre":"\u00A4-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"₩"},"pluralCat":function (n) { return PLURAL_CATEGORY.OTHER;},"DATETIME_FORMATS":{"MONTH":["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],"SHORTMONTH":["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],"DAY":["일요일","월요일","화요일","수요일","목요일","금요일","토요일"],"SHORTDAY":["일","월","화","수","목","금","토"],"AMPMS":["오전","오후"],"medium":"yyyy. M. d. a h:mm:ss","short":"yy. M. d. a h:mm","fullDate":"y년 M월 d일 EEEE","longDate":"y년 M월 d일","mediumDate":"yyyy. M. d.","shortDate":"yy. M. d.","mediumTime":"a h:mm:ss","shortTime":"a h:mm"},"id":"ko-kr"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_ko.js b/1.1.1/i18n/angular-locale_ko.js
new file mode 100644
index 000000000..4a8e0886c
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_ko.js
@@ -0,0 +1,4 @@
+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":{"MONTH":["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],"SHORTMONTH":["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],"DAY":["일요일","월요일","화요일","수요일","목요일","금요일","토요일"],"SHORTDAY":["일","월","화","수","목","금","토"],"AMPMS":["오전","오후"],"medium":"yyyy. M. d. a h:mm:ss","short":"yy. M. d. a h:mm","fullDate":"y년 M월 d일 EEEE","longDate":"y년 M월 d일","mediumDate":"yyyy. M. d.","shortDate":"yy. M. d.","mediumTime":"a h:mm:ss","shortTime":"a h:mm"},"NUMBER_FORMATS":{"DECIMAL_SEP":".","GROUP_SEP":",","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"\u00A4","posSuf":"","negPre":"\u00A4-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"₩"},"pluralCat":function (n) { return PLURAL_CATEGORY.OTHER;},"id":"ko"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_ln-cd.js b/1.1.1/i18n/angular-locale_ln-cd.js
new file mode 100644
index 000000000..b66b8c3a4
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_ln-cd.js
@@ -0,0 +1,4 @@
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
+$provide.value("$locale", {"NUMBER_FORMATS":{"DECIMAL_SEP":".","GROUP_SEP":",","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"\u00A4 ","posSuf":"","negPre":"\u00A4 -","negSuf":"","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"F"},"pluralCat":function (n) { if (n == 0 || n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"DATETIME_FORMATS":{"MONTH":["sánzá ya yambo","sánzá ya míbalé","sánzá ya mísáto","sánzá ya mínei","sánzá ya mítáno","sánzá ya motóbá","sánzá ya nsambo","sánzá ya mwambe","sánzá ya libwa","sánzá ya zómi","sánzá ya zómi na mɔ̌kɔ́","sánzá ya zómi na míbalé"],"SHORTMONTH":["s1","s2","s3","s4","s5","s6","s7","s8","s9","s10","s11","s12"],"DAY":["eyenga","mokɔlɔ ya libosó","mokɔlɔ ya míbalé","mokɔlɔ ya mísáto","mokɔlɔ ya mínéi","mokɔlɔ ya mítáno","mpɔ́sɔ"],"SHORTDAY":["eye","m1","m2","m3","m4","m5","mps"],"AMPMS":["AM","PM"],"medium":"y MMM d HH:mm:ss","short":"yy/MM/dd HH:mm","fullDate":"EEEE, y MMMM dd","longDate":"y MMMM d","mediumDate":"y MMM d","shortDate":"yy/MM/dd","mediumTime":"HH:mm:ss","shortTime":"HH:mm"},"id":"ln-cd"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_ln.js b/1.1.1/i18n/angular-locale_ln.js
new file mode 100644
index 000000000..1e6b1daeb
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_ln.js
@@ -0,0 +1,4 @@
+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":{"MONTH":["sánzá ya yambo","sánzá ya míbalé","sánzá ya mísáto","sánzá ya mínei","sánzá ya mítáno","sánzá ya motóbá","sánzá ya nsambo","sánzá ya mwambe","sánzá ya libwa","sánzá ya zómi","sánzá ya zómi na mɔ̌kɔ́","sánzá ya zómi na míbalé"],"SHORTMONTH":["s1","s2","s3","s4","s5","s6","s7","s8","s9","s10","s11","s12"],"DAY":["eyenga","mokɔlɔ ya libosó","mokɔlɔ ya míbalé","mokɔlɔ ya mísáto","mokɔlɔ ya mínéi","mokɔlɔ ya mítáno","mpɔ́sɔ"],"SHORTDAY":["eye","m1","m2","m3","m4","m5","mps"],"AMPMS":["AM","PM"],"medium":"y MMM d HH:mm:ss","short":"yy/MM/dd HH:mm","fullDate":"EEEE, y MMMM dd","longDate":"y MMMM d","mediumDate":"y MMM d","shortDate":"yy/MM/dd","mediumTime":"HH:mm:ss","shortTime":"HH:mm"},"NUMBER_FORMATS":{"DECIMAL_SEP":".","GROUP_SEP":",","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"\u00A4 ","posSuf":"","negPre":"\u00A4 -","negSuf":"","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"F"},"pluralCat":function (n) { if (n == 0 || n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"id":"ln"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_lt-lt.js b/1.1.1/i18n/angular-locale_lt-lt.js
new file mode 100644
index 000000000..73d1ccf29
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_lt-lt.js
@@ -0,0 +1,4 @@
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
+$provide.value("$locale", {"NUMBER_FORMATS":{"DECIMAL_SEP":",","GROUP_SEP":".","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"","posSuf":" \u00A4","negPre":"-","negSuf":" \u00A4","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"Lt"},"pluralCat":function (n) { if ((n % 10) == 1 && ((n % 100) < 11 || (n % 100) > 19)) { return PLURAL_CATEGORY.ONE; } if ((n % 10) >= 2 && (n % 10) <= 9 && ((n % 100) < 11 || (n % 100) > 19) && n == Math.floor(n)) { return PLURAL_CATEGORY.FEW; } return PLURAL_CATEGORY.OTHER;},"DATETIME_FORMATS":{"MONTH":["sausis","vasaris","kovas","balandis","gegužė","birželis","liepa","rugpjūtis","rugsėjis","spalis","lapkritis","gruodis"],"SHORTMONTH":["Sau","Vas","Kov","Bal","Geg","Bir","Lie","Rgp","Rgs","Spl","Lap","Grd"],"DAY":["sekmadienis","pirmadienis","antradienis","trečiadienis","ketvirtadienis","penktadienis","šeštadienis"],"SHORTDAY":["Sk","Pr","An","Tr","Kt","Pn","Št"],"AMPMS":["priešpiet","popiet"],"medium":"yyyy.MM.dd HH:mm:ss","short":"yyyy-MM-dd HH:mm","fullDate":"y 'm'. MMMM d 'd'.,EEEE","longDate":"y 'm'. MMMM d 'd'.","mediumDate":"yyyy.MM.dd","shortDate":"yyyy-MM-dd","mediumTime":"HH:mm:ss","shortTime":"HH:mm"},"id":"lt-lt"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_lt.js b/1.1.1/i18n/angular-locale_lt.js
new file mode 100644
index 000000000..4e6cad0ad
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_lt.js
@@ -0,0 +1,4 @@
+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":{"MONTH":["sausis","vasaris","kovas","balandis","gegužė","birželis","liepa","rugpjūtis","rugsėjis","spalis","lapkritis","gruodis"],"SHORTMONTH":["Sau","Vas","Kov","Bal","Geg","Bir","Lie","Rgp","Rgs","Spl","Lap","Grd"],"DAY":["sekmadienis","pirmadienis","antradienis","trečiadienis","ketvirtadienis","penktadienis","šeštadienis"],"SHORTDAY":["Sk","Pr","An","Tr","Kt","Pn","Št"],"AMPMS":["priešpiet","popiet"],"medium":"yyyy.MM.dd HH:mm:ss","short":"yyyy-MM-dd HH:mm","fullDate":"y 'm'. MMMM d 'd'.,EEEE","longDate":"y 'm'. MMMM d 'd'.","mediumDate":"yyyy.MM.dd","shortDate":"yyyy-MM-dd","mediumTime":"HH:mm:ss","shortTime":"HH:mm"},"NUMBER_FORMATS":{"DECIMAL_SEP":",","GROUP_SEP":".","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"","posSuf":" \u00A4","negPre":"-","negSuf":" \u00A4","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"Lt"},"pluralCat":function (n) { if ((n % 10) == 1 && ((n % 100) < 11 || (n % 100) > 19)) { return PLURAL_CATEGORY.ONE; } if ((n % 10) >= 2 && (n % 10) <= 9 && ((n % 100) < 11 || (n % 100) > 19) && n == Math.floor(n)) { return PLURAL_CATEGORY.FEW; } return PLURAL_CATEGORY.OTHER;},"id":"lt"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_lv-lv.js b/1.1.1/i18n/angular-locale_lv-lv.js
new file mode 100644
index 000000000..30cf1dc47
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_lv-lv.js
@@ -0,0 +1,4 @@
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
+$provide.value("$locale", {"NUMBER_FORMATS":{"DECIMAL_SEP":",","GROUP_SEP":" ","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"","posSuf":" \u00A4","negPre":"-","negSuf":" \u00A4","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"Ls"},"pluralCat":function (n) { if (n == 0) { return PLURAL_CATEGORY.ZERO; } if ((n % 10) == 1 && (n % 100) != 11) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"DATETIME_FORMATS":{"MONTH":["janvāris","februāris","marts","aprīlis","maijs","jūnijs","jūlijs","augusts","septembris","oktobris","novembris","decembris"],"SHORTMONTH":["janv.","febr.","marts","apr.","maijs","jūn.","jūl.","aug.","sept.","okt.","nov.","dec."],"DAY":["svētdiena","pirmdiena","otrdiena","trešdiena","ceturtdiena","piektdiena","sestdiena"],"SHORTDAY":["Sv","Pr","Ot","Tr","Ce","Pk","Se"],"AMPMS":["priekšpusdienā","pēcpusdienā"],"medium":"y. 'gada' d. MMM HH:mm:ss","short":"dd.MM.yy HH:mm","fullDate":"EEEE, y. 'gada' d. MMMM","longDate":"y. 'gada' d. MMMM","mediumDate":"y. 'gada' d. MMM","shortDate":"dd.MM.yy","mediumTime":"HH:mm:ss","shortTime":"HH:mm"},"id":"lv-lv"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_lv.js b/1.1.1/i18n/angular-locale_lv.js
new file mode 100644
index 000000000..4db419181
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_lv.js
@@ -0,0 +1,4 @@
+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":{"MONTH":["janvāris","februāris","marts","aprīlis","maijs","jūnijs","jūlijs","augusts","septembris","oktobris","novembris","decembris"],"SHORTMONTH":["janv.","febr.","marts","apr.","maijs","jūn.","jūl.","aug.","sept.","okt.","nov.","dec."],"DAY":["svētdiena","pirmdiena","otrdiena","trešdiena","ceturtdiena","piektdiena","sestdiena"],"SHORTDAY":["Sv","Pr","Ot","Tr","Ce","Pk","Se"],"AMPMS":["priekšpusdienā","pēcpusdienā"],"medium":"y. 'gada' d. MMM HH:mm:ss","short":"dd.MM.yy HH:mm","fullDate":"EEEE, y. 'gada' d. MMMM","longDate":"y. 'gada' d. MMMM","mediumDate":"y. 'gada' d. MMM","shortDate":"dd.MM.yy","mediumTime":"HH:mm:ss","shortTime":"HH:mm"},"NUMBER_FORMATS":{"DECIMAL_SEP":",","GROUP_SEP":" ","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"","posSuf":" \u00A4","negPre":"-","negSuf":" \u00A4","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"Ls"},"pluralCat":function (n) { if (n == 0) { return PLURAL_CATEGORY.ZERO; } if ((n % 10) == 1 && (n % 100) != 11) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"id":"lv"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_ml-in.js b/1.1.1/i18n/angular-locale_ml-in.js
new file mode 100644
index 000000000..7df7c5b85
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_ml-in.js
@@ -0,0 +1,4 @@
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
+$provide.value("$locale", {"NUMBER_FORMATS":{"DECIMAL_SEP":".","GROUP_SEP":",","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":2,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"","posSuf":"\u00A4","negPre":"-","negSuf":"\u00A4","gSize":2,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"Rs"},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"DATETIME_FORMATS":{"MONTH":["ജനുവരി","ഫെബ്രുവരി","മാര്ച്ച്","ഏപ്രില്","മേയ്","ജൂണ്","ജൂലൈ","ആഗസ്റ്റ്","സെപ്റ്റംബര്","ഒക്ടോബര്","നവംബര്","ഡിസംബര്"],"SHORTMONTH":["ജനു","ഫെബ്രു","മാര്","ഏപ്രി","മേയ്","ജൂണ്","ജൂലൈ","ഓഗ","സെപ്റ്റം","ഒക്ടോ","നവം","ഡിസം"],"DAY":["ഞായറാഴ്ച","തിങ്കളാഴ്ച","ചൊവ്വാഴ്ച","ബുധനാഴ്ച","വ്യാഴാഴ്ച","വെള്ളിയാഴ്ച","ശനിയാഴ്ച"],"SHORTDAY":["ഞായര്","തിങ്കള്","ചൊവ്വ","ബുധന്","വ്യാഴം","വെള്ളി","ശനി"],"AMPMS":["രാവിലെ","വൈകുന്നേരം"],"medium":"y, MMM d h:mm:ss a","short":"dd/MM/yy h:mm a","fullDate":"y, MMMM d, EEEE","longDate":"y, MMMM d","mediumDate":"y, MMM d","shortDate":"dd/MM/yy","mediumTime":"h:mm:ss a","shortTime":"h:mm a"},"id":"ml-in"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_ml.js b/1.1.1/i18n/angular-locale_ml.js
new file mode 100644
index 000000000..516649a09
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_ml.js
@@ -0,0 +1,4 @@
+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":{"MONTH":["ജനുവരി","ഫെബ്രുവരി","മാര്ച്ച്","ഏപ്രില്","മേയ്","ജൂണ്","ജൂലൈ","ആഗസ്റ്റ്","സെപ്റ്റംബര്","ഒക്ടോബര്","നവംബര്","ഡിസംബര്"],"SHORTMONTH":["ജനു","ഫെബ്രു","മാര്","ഏപ്രി","മേയ്","ജൂണ്","ജൂലൈ","ഓഗ","സെപ്റ്റം","ഒക്ടോ","നവം","ഡിസം"],"DAY":["ഞായറാഴ്ച","തിങ്കളാഴ്ച","ചൊവ്വാഴ്ച","ബുധനാഴ്ച","വ്യാഴാഴ്ച","വെള്ളിയാഴ്ച","ശനിയാഴ്ച"],"SHORTDAY":["ഞായര്","തിങ്കള്","ചൊവ്വ","ബുധന്","വ്യാഴം","വെള്ളി","ശനി"],"AMPMS":["രാവിലെ","വൈകുന്നേരം"],"medium":"y, MMM d h:mm:ss a","short":"dd/MM/yy h:mm a","fullDate":"y, MMMM d, EEEE","longDate":"y, MMMM d","mediumDate":"y, MMM d","shortDate":"dd/MM/yy","mediumTime":"h:mm:ss a","shortTime":"h:mm a"},"NUMBER_FORMATS":{"DECIMAL_SEP":".","GROUP_SEP":",","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":2,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"","posSuf":"\u00A4","negPre":"-","negSuf":"\u00A4","gSize":2,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"Rs"},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"id":"ml"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_mo.js b/1.1.1/i18n/angular-locale_mo.js
new file mode 100644
index 000000000..22bc44a3f
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_mo.js
@@ -0,0 +1,4 @@
+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":{"MONTH":["ianuarie","februarie","martie","aprilie","mai","iunie","iulie","august","septembrie","octombrie","noiembrie","decembrie"],"SHORTMONTH":["ian.","feb.","mar.","apr.","mai","iun.","iul.","aug.","sept.","oct.","nov.","dec."],"DAY":["duminică","luni","marți","miercuri","joi","vineri","sâmbătă"],"SHORTDAY":["Du","Lu","Ma","Mi","Jo","Vi","Sâ"],"AMPMS":["AM","PM"],"medium":"dd.MM.yyyy HH:mm:ss","short":"dd.MM.yyyy HH:mm","fullDate":"EEEE, d MMMM y","longDate":"d MMMM y","mediumDate":"dd.MM.yyyy","shortDate":"dd.MM.yyyy","mediumTime":"HH:mm:ss","shortTime":"HH:mm"},"NUMBER_FORMATS":{"DECIMAL_SEP":",","GROUP_SEP":".","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"","posSuf":" \u00A4","negPre":"-","negSuf":" \u00A4","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"MDL"},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } if (n == 0 || n != 1 && (n % 100) >= 1 && (n % 100) <= 19 && n == Math.floor(n)) { return PLURAL_CATEGORY.FEW; } return PLURAL_CATEGORY.OTHER;},"id":"mo"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_mr-in.js b/1.1.1/i18n/angular-locale_mr-in.js
new file mode 100644
index 000000000..972c6e567
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_mr-in.js
@@ -0,0 +1,4 @@
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
+$provide.value("$locale", {"NUMBER_FORMATS":{"DECIMAL_SEP":".","GROUP_SEP":",","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":2,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"\u00A4 ","posSuf":"","negPre":"\u00A4 -","negSuf":"","gSize":2,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"Rs"},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"DATETIME_FORMATS":{"MONTH":["जानेवारी","फेब्रुवारी","मार्च","एप्रिल","मे","जून","जुलै","ऑगस्ट","सप्टेंबर","ऑक्टोबर","नोव्हेंबर","डिसेंबर"],"SHORTMONTH":["जानेवारी","फेब्रुवारी","मार्च","एप्रिल","मे","जून","जुलै","ऑगस्ट","सप्टेंबर","ऑक्टोबर","नोव्हेंबर","डिसेंबर"],"DAY":["रविवार","सोमवार","मंगळवार","बुधवार","गुरुवार","शुक्रवार","शनिवार"],"SHORTDAY":["रवि","सोम","मंगळ","बुध","गुरु","शुक्र","शनि"],"AMPMS":["am","pm"],"medium":"d MMM y h-mm-ss a","short":"d-M-yy h-mm a","fullDate":"EEEE d MMMM y","longDate":"d MMMM y","mediumDate":"d MMM y","shortDate":"d-M-yy","mediumTime":"h-mm-ss a","shortTime":"h-mm a"},"id":"mr-in"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_mr.js b/1.1.1/i18n/angular-locale_mr.js
new file mode 100644
index 000000000..74d6e73d3
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_mr.js
@@ -0,0 +1,4 @@
+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":{"MONTH":["जानेवारी","फेब्रुवारी","मार्च","एप्रिल","मे","जून","जुलै","ऑगस्ट","सप्टेंबर","ऑक्टोबर","नोव्हेंबर","डिसेंबर"],"SHORTMONTH":["जानेवारी","फेब्रुवारी","मार्च","एप्रिल","मे","जून","जुलै","ऑगस्ट","सप्टेंबर","ऑक्टोबर","नोव्हेंबर","डिसेंबर"],"DAY":["रविवार","सोमवार","मंगळवार","बुधवार","गुरुवार","शुक्रवार","शनिवार"],"SHORTDAY":["रवि","सोम","मंगळ","बुध","गुरु","शुक्र","शनि"],"AMPMS":["am","pm"],"medium":"d MMM y h-mm-ss a","short":"d-M-yy h-mm a","fullDate":"EEEE d MMMM y","longDate":"d MMMM y","mediumDate":"d MMM y","shortDate":"d-M-yy","mediumTime":"h-mm-ss a","shortTime":"h-mm a"},"NUMBER_FORMATS":{"DECIMAL_SEP":".","GROUP_SEP":",","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":2,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"\u00A4 ","posSuf":"","negPre":"\u00A4 -","negSuf":"","gSize":2,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"Rs"},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"id":"mr"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_ms-my.js b/1.1.1/i18n/angular-locale_ms-my.js
new file mode 100644
index 000000000..c99adc05e
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_ms-my.js
@@ -0,0 +1,4 @@
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
+$provide.value("$locale", {"NUMBER_FORMATS":{"DECIMAL_SEP":".","GROUP_SEP":",","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"\u00A4","posSuf":"","negPre":"(\u00A4","negSuf":")","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"RM"},"pluralCat":function (n) { return PLURAL_CATEGORY.OTHER;},"DATETIME_FORMATS":{"MONTH":["Januari","Februari","Mac","April","Mei","Jun","Julai","Ogos","September","Oktober","November","Disember"],"SHORTMONTH":["Jan","Feb","Mac","Apr","Mei","Jun","Jul","Ogos","Sep","Okt","Nov","Dis"],"DAY":["Ahad","Isnin","Selasa","Rabu","Khamis","Jumaat","Sabtu"],"SHORTDAY":["Ahd","Isn","Sel","Rab","Kha","Jum","Sab"],"AMPMS":["AM","PM"],"medium":"dd/MM/yyyy h:mm:ss a","short":"d/MM/yy h:mm a","fullDate":"EEEE, d MMMM y","longDate":"d MMMM y","mediumDate":"dd/MM/yyyy","shortDate":"d/MM/yy","mediumTime":"h:mm:ss a","shortTime":"h:mm a"},"id":"ms-my"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_ms.js b/1.1.1/i18n/angular-locale_ms.js
new file mode 100644
index 000000000..db78245db
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_ms.js
@@ -0,0 +1,4 @@
+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":{"MONTH":["Januari","Februari","Mac","April","Mei","Jun","Julai","Ogos","September","Oktober","November","Disember"],"SHORTMONTH":["Jan","Feb","Mac","Apr","Mei","Jun","Jul","Ogos","Sep","Okt","Nov","Dis"],"DAY":["Ahad","Isnin","Selasa","Rabu","Khamis","Jumaat","Sabtu"],"SHORTDAY":["Ahd","Isn","Sel","Rab","Kha","Jum","Sab"],"AMPMS":["AM","PM"],"medium":"dd/MM/yyyy h:mm:ss a","short":"d/MM/yy h:mm a","fullDate":"EEEE, d MMMM y","longDate":"d MMMM y","mediumDate":"dd/MM/yyyy","shortDate":"d/MM/yy","mediumTime":"h:mm:ss a","shortTime":"h:mm a"},"NUMBER_FORMATS":{"DECIMAL_SEP":".","GROUP_SEP":",","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"\u00A4","posSuf":"","negPre":"(\u00A4","negSuf":")","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"RM"},"pluralCat":function (n) { return PLURAL_CATEGORY.OTHER;},"id":"ms"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_mt-mt.js b/1.1.1/i18n/angular-locale_mt-mt.js
new file mode 100644
index 000000000..650f84044
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_mt-mt.js
@@ -0,0 +1,4 @@
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
+$provide.value("$locale", {"NUMBER_FORMATS":{"DECIMAL_SEP":".","GROUP_SEP":",","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"\u00A4","posSuf":"","negPre":"\u00A4-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"₤"},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } if (n == 0 || ((n % 100) >= 2 && (n % 100) <= 4 && n == Math.floor(n))) { return PLURAL_CATEGORY.FEW; } if ((n % 100) >= 11 && (n % 100) <= 19 && n == Math.floor(n)) { return PLURAL_CATEGORY.MANY; } return PLURAL_CATEGORY.OTHER;},"DATETIME_FORMATS":{"MONTH":["Jannar","Frar","Marzu","April","Mejju","Ġunju","Lulju","Awwissu","Settembru","Ottubru","Novembru","Diċembru"],"SHORTMONTH":["Jan","Fra","Mar","Apr","Mej","Ġun","Lul","Aww","Set","Ott","Nov","Diċ"],"DAY":["Il-Ħadd","It-Tnejn","It-Tlieta","L-Erbgħa","Il-Ħamis","Il-Ġimgħa","Is-Sibt"],"SHORTDAY":["Ħad","Tne","Tli","Erb","Ħam","Ġim","Sib"],"AMPMS":["QN","WN"],"medium":"dd MMM y HH:mm:ss","short":"dd/MM/yyyy HH:mm","fullDate":"EEEE, d 'ta'’ MMMM y","longDate":"d 'ta'’ MMMM y","mediumDate":"dd MMM y","shortDate":"dd/MM/yyyy","mediumTime":"HH:mm:ss","shortTime":"HH:mm"},"id":"mt-mt"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_mt.js b/1.1.1/i18n/angular-locale_mt.js
new file mode 100644
index 000000000..e8d0d1ed4
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_mt.js
@@ -0,0 +1,4 @@
+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":{"MONTH":["Jannar","Frar","Marzu","April","Mejju","Ġunju","Lulju","Awwissu","Settembru","Ottubru","Novembru","Diċembru"],"SHORTMONTH":["Jan","Fra","Mar","Apr","Mej","Ġun","Lul","Aww","Set","Ott","Nov","Diċ"],"DAY":["Il-Ħadd","It-Tnejn","It-Tlieta","L-Erbgħa","Il-Ħamis","Il-Ġimgħa","Is-Sibt"],"SHORTDAY":["Ħad","Tne","Tli","Erb","Ħam","Ġim","Sib"],"AMPMS":["QN","WN"],"medium":"dd MMM y HH:mm:ss","short":"dd/MM/yyyy HH:mm","fullDate":"EEEE, d 'ta'’ MMMM y","longDate":"d 'ta'’ MMMM y","mediumDate":"dd MMM y","shortDate":"dd/MM/yyyy","mediumTime":"HH:mm:ss","shortTime":"HH:mm"},"NUMBER_FORMATS":{"DECIMAL_SEP":".","GROUP_SEP":",","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"\u00A4","posSuf":"","negPre":"\u00A4-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"₤"},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } if (n == 0 || ((n % 100) >= 2 && (n % 100) <= 4 && n == Math.floor(n))) { return PLURAL_CATEGORY.FEW; } if ((n % 100) >= 11 && (n % 100) <= 19 && n == Math.floor(n)) { return PLURAL_CATEGORY.MANY; } return PLURAL_CATEGORY.OTHER;},"id":"mt"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_nl-nl.js b/1.1.1/i18n/angular-locale_nl-nl.js
new file mode 100644
index 000000000..4214893de
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_nl-nl.js
@@ -0,0 +1,4 @@
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
+$provide.value("$locale", {"NUMBER_FORMATS":{"DECIMAL_SEP":",","GROUP_SEP":".","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"\u00A4 ","posSuf":"","negPre":"\u00A4 ","negSuf":"-","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"€"},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"DATETIME_FORMATS":{"MONTH":["januari","februari","maart","april","mei","juni","juli","augustus","september","oktober","november","december"],"SHORTMONTH":["jan.","feb.","mrt.","apr.","mei","jun.","jul.","aug.","sep.","okt.","nov.","dec."],"DAY":["zondag","maandag","dinsdag","woensdag","donderdag","vrijdag","zaterdag"],"SHORTDAY":["zo","ma","di","wo","do","vr","za"],"AMPMS":["AM","PM"],"medium":"d MMM y HH:mm:ss","short":"dd-MM-yy HH:mm","fullDate":"EEEE d MMMM y","longDate":"d MMMM y","mediumDate":"d MMM y","shortDate":"dd-MM-yy","mediumTime":"HH:mm:ss","shortTime":"HH:mm"},"id":"nl-nl"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_nl.js b/1.1.1/i18n/angular-locale_nl.js
new file mode 100644
index 000000000..0400bb0b1
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_nl.js
@@ -0,0 +1,4 @@
+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":{"MONTH":["januari","februari","maart","april","mei","juni","juli","augustus","september","oktober","november","december"],"SHORTMONTH":["jan.","feb.","mrt.","apr.","mei","jun.","jul.","aug.","sep.","okt.","nov.","dec."],"DAY":["zondag","maandag","dinsdag","woensdag","donderdag","vrijdag","zaterdag"],"SHORTDAY":["zo","ma","di","wo","do","vr","za"],"AMPMS":["AM","PM"],"medium":"d MMM y HH:mm:ss","short":"dd-MM-yy HH:mm","fullDate":"EEEE d MMMM y","longDate":"d MMMM y","mediumDate":"d MMM y","shortDate":"dd-MM-yy","mediumTime":"HH:mm:ss","shortTime":"HH:mm"},"NUMBER_FORMATS":{"DECIMAL_SEP":",","GROUP_SEP":".","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"\u00A4 ","posSuf":"","negPre":"\u00A4 ","negSuf":"-","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"€"},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"id":"nl"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_no.js b/1.1.1/i18n/angular-locale_no.js
new file mode 100644
index 000000000..b7d82e9e9
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_no.js
@@ -0,0 +1,4 @@
+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":{"MONTH":["januar","februar","mars","april","mai","juni","juli","august","september","oktober","november","desember"],"SHORTMONTH":["jan.","feb.","mars","apr.","mai","juni","juli","aug.","sep.","okt.","nov.","des."],"DAY":["søndag","mandag","tirsdag","onsdag","torsdag","fredag","lørdag"],"SHORTDAY":["søn.","man.","tir.","ons.","tor.","fre.","lør."],"AMPMS":["AM","PM"],"medium":"d. MMM y HH:mm:ss","short":"dd.MM.yy HH:mm","fullDate":"EEEE d. MMMM y","longDate":"d. MMMM y","mediumDate":"d. MMM y","shortDate":"dd.MM.yy","mediumTime":"HH:mm:ss","shortTime":"HH:mm"},"NUMBER_FORMATS":{"DECIMAL_SEP":",","GROUP_SEP":" ","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"\u00A4 ","posSuf":"","negPre":"\u00A4 -","negSuf":"","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"kr"},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"id":"no"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_or-in.js b/1.1.1/i18n/angular-locale_or-in.js
new file mode 100644
index 000000000..2ffe77390
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_or-in.js
@@ -0,0 +1,4 @@
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
+$provide.value("$locale", {"NUMBER_FORMATS":{"DECIMAL_SEP":".","GROUP_SEP":",","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":2,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"\u00A4 ","posSuf":"","negPre":"\u00A4 -","negSuf":"","gSize":2,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"Rs"},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"DATETIME_FORMATS":{"MONTH":["ଜାନୁଆରୀ","ଫେବ୍ରୁୟାରୀ","ମାର୍ଚ୍ଚ","ଅପ୍ରେଲ","ମେ","ଜୁନ","ଜୁଲାଇ","ଅଗଷ୍ଟ","ସେପ୍ଟେମ୍ବର","ଅକ୍ଟୋବର","ନଭେମ୍ବର","ଡିସେମ୍ବର"],"SHORTMONTH":["ଜାନୁଆରୀ","ଫେବ୍ରୁୟାରୀ","ମାର୍ଚ୍ଚ","ଅପ୍ରେଲ","ମେ","ଜୁନ","ଜୁଲାଇ","ଅଗଷ୍ଟ","ସେପ୍ଟେମ୍ବର","ଅକ୍ଟୋବର","ନଭେମ୍ବର","ଡିସେମ୍ବର"],"DAY":["ରବିବାର","ସୋମବାର","ମଙ୍ଗଳବାର","ବୁଧବାର","ଗୁରୁବାର","ଶୁକ୍ରବାର","ଶନିବାର"],"SHORTDAY":["ରବି","ସୋମ","ମଙ୍ଗଳ","ବୁଧ","ଗୁରୁ","ଶୁକ୍ର","ଶନି"],"AMPMS":["am","pm"],"medium":"d MMM y h:mm:ss a","short":"d-M-yy h:mm a","fullDate":"EEEE, d MMMM y","longDate":"d MMMM y","mediumDate":"d MMM y","shortDate":"d-M-yy","mediumTime":"h:mm:ss a","shortTime":"h:mm a"},"id":"or-in"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_or.js b/1.1.1/i18n/angular-locale_or.js
new file mode 100644
index 000000000..9b85988b1
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_or.js
@@ -0,0 +1,4 @@
+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":{"MONTH":["ଜାନୁଆରୀ","ଫେବ୍ରୁୟାରୀ","ମାର୍ଚ୍ଚ","ଅପ୍ରେଲ","ମେ","ଜୁନ","ଜୁଲାଇ","ଅଗଷ୍ଟ","ସେପ୍ଟେମ୍ବର","ଅକ୍ଟୋବର","ନଭେମ୍ବର","ଡିସେମ୍ବର"],"SHORTMONTH":["ଜାନୁଆରୀ","ଫେବ୍ରୁୟାରୀ","ମାର୍ଚ୍ଚ","ଅପ୍ରେଲ","ମେ","ଜୁନ","ଜୁଲାଇ","ଅଗଷ୍ଟ","ସେପ୍ଟେମ୍ବର","ଅକ୍ଟୋବର","ନଭେମ୍ବର","ଡିସେମ୍ବର"],"DAY":["ରବିବାର","ସୋମବାର","ମଙ୍ଗଳବାର","ବୁଧବାର","ଗୁରୁବାର","ଶୁକ୍ରବାର","ଶନିବାର"],"SHORTDAY":["ରବି","ସୋମ","ମଙ୍ଗଳ","ବୁଧ","ଗୁରୁ","ଶୁକ୍ର","ଶନି"],"AMPMS":["am","pm"],"medium":"d MMM y h:mm:ss a","short":"d-M-yy h:mm a","fullDate":"EEEE, d MMMM y","longDate":"d MMMM y","mediumDate":"d MMM y","shortDate":"d-M-yy","mediumTime":"h:mm:ss a","shortTime":"h:mm a"},"NUMBER_FORMATS":{"DECIMAL_SEP":".","GROUP_SEP":",","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":2,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"\u00A4 ","posSuf":"","negPre":"\u00A4 -","negSuf":"","gSize":2,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"Rs"},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"id":"or"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_pl-pl.js b/1.1.1/i18n/angular-locale_pl-pl.js
new file mode 100644
index 000000000..18577a258
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_pl-pl.js
@@ -0,0 +1,4 @@
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
+$provide.value("$locale", {"NUMBER_FORMATS":{"DECIMAL_SEP":",","GROUP_SEP":" ","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"","posSuf":" \u00A4","negPre":"-","negSuf":" \u00A4","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"zł"},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } if ((n % 10) >= 2 && (n % 10) <= 4 && ((n % 100) < 12 || (n % 100) > 14) && n == Math.floor(n)) { return PLURAL_CATEGORY.FEW; } if ((n % 10) == 0 || n != 1 && (n % 10) == 1 || ((n % 10) >= 5 && (n % 10) <= 9 || (n % 100) >= 12 && (n % 100) <= 14) && n == Math.floor(n)) { return PLURAL_CATEGORY.MANY; } return PLURAL_CATEGORY.OTHER;},"DATETIME_FORMATS":{"MONTH":["stycznia","lutego","marca","kwietnia","maja","czerwca","lipca","sierpnia","września","października","listopada","grudnia"],"SHORTMONTH":["sty","lut","mar","kwi","maj","cze","lip","sie","wrz","paź","lis","gru"],"DAY":["niedziela","poniedziałek","wtorek","środa","czwartek","piątek","sobota"],"SHORTDAY":["niedz.","pon.","wt.","śr.","czw.","pt.","sob."],"AMPMS":["AM","PM"],"medium":"d MMM y HH:mm:ss","short":"dd.MM.yyyy HH:mm","fullDate":"EEEE, d MMMM y","longDate":"d MMMM y","mediumDate":"d MMM y","shortDate":"dd.MM.yyyy","mediumTime":"HH:mm:ss","shortTime":"HH:mm"},"id":"pl-pl"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_pl.js b/1.1.1/i18n/angular-locale_pl.js
new file mode 100644
index 000000000..7cd5aeaa8
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_pl.js
@@ -0,0 +1,4 @@
+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":{"MONTH":["stycznia","lutego","marca","kwietnia","maja","czerwca","lipca","sierpnia","września","października","listopada","grudnia"],"SHORTMONTH":["sty","lut","mar","kwi","maj","cze","lip","sie","wrz","paź","lis","gru"],"DAY":["niedziela","poniedziałek","wtorek","środa","czwartek","piątek","sobota"],"SHORTDAY":["niedz.","pon.","wt.","śr.","czw.","pt.","sob."],"AMPMS":["AM","PM"],"medium":"d MMM y HH:mm:ss","short":"dd.MM.yyyy HH:mm","fullDate":"EEEE, d MMMM y","longDate":"d MMMM y","mediumDate":"d MMM y","shortDate":"dd.MM.yyyy","mediumTime":"HH:mm:ss","shortTime":"HH:mm"},"NUMBER_FORMATS":{"DECIMAL_SEP":",","GROUP_SEP":" ","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"","posSuf":" \u00A4","negPre":"-","negSuf":" \u00A4","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"zł"},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } if ((n % 10) >= 2 && (n % 10) <= 4 && ((n % 100) < 12 || (n % 100) > 14) && n == Math.floor(n)) { return PLURAL_CATEGORY.FEW; } if ((n % 10) == 0 || n != 1 && (n % 10) == 1 || ((n % 10) >= 5 && (n % 10) <= 9 || (n % 100) >= 12 && (n % 100) <= 14) && n == Math.floor(n)) { return PLURAL_CATEGORY.MANY; } return PLURAL_CATEGORY.OTHER;},"id":"pl"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_pt-br.js b/1.1.1/i18n/angular-locale_pt-br.js
new file mode 100644
index 000000000..3568156b1
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_pt-br.js
@@ -0,0 +1,4 @@
+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":{"MONTH":["janeiro","fevereiro","março","abril","maio","junho","julho","agosto","setembro","outubro","novembro","dezembro"],"SHORTMONTH":["jan","fev","mar","abr","mai","jun","jul","ago","set","out","nov","dez"],"DAY":["domingo","segunda-feira","terça-feira","quarta-feira","quinta-feira","sexta-feira","sábado"],"SHORTDAY":["dom","seg","ter","qua","qui","sex","sáb"],"AMPMS":["AM","PM"],"medium":"dd/MM/yyyy HH:mm:ss","short":"dd/MM/yy HH:mm","fullDate":"EEEE, d 'de' MMMM 'de' y","longDate":"d 'de' MMMM 'de' y","mediumDate":"dd/MM/yyyy","shortDate":"dd/MM/yy","mediumTime":"HH:mm:ss","shortTime":"HH:mm"},"NUMBER_FORMATS":{"DECIMAL_SEP":",","GROUP_SEP":".","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"\u00A4","posSuf":"","negPre":"(\u00A4","negSuf":")","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"R$"},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"id":"pt-br"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_pt-pt.js b/1.1.1/i18n/angular-locale_pt-pt.js
new file mode 100644
index 000000000..bc2c34fb8
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_pt-pt.js
@@ -0,0 +1,4 @@
+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":{"MONTH":["Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"],"SHORTMONTH":["Jan","Fev","Mar","Abr","Mai","Jun","Jul","Ago","Set","Out","Nov","Dez"],"DAY":["Domingo","Segunda-feira","Terça-feira","Quarta-feira","Quinta-feira","Sexta-feira","Sábado"],"SHORTDAY":["dom","seg","ter","qua","qui","sex","sáb"],"AMPMS":["Antes do meio-dia","Depois do meio-dia"],"medium":"d 'de' MMM 'de' yyyy HH:mm:ss","short":"dd/MM/yy HH:mm","fullDate":"EEEE, d 'de' MMMM 'de' y","longDate":"d 'de' MMMM 'de' y","mediumDate":"d 'de' MMM 'de' yyyy","shortDate":"dd/MM/yy","mediumTime":"HH:mm:ss","shortTime":"HH:mm"},"NUMBER_FORMATS":{"DECIMAL_SEP":",","GROUP_SEP":" ","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"","posSuf":" \u00A4","negPre":"-","negSuf":" \u00A4","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"€"},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"id":"pt-pt"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_pt.js b/1.1.1/i18n/angular-locale_pt.js
new file mode 100644
index 000000000..e938261f5
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_pt.js
@@ -0,0 +1,4 @@
+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":{"MONTH":["janeiro","fevereiro","março","abril","maio","junho","julho","agosto","setembro","outubro","novembro","dezembro"],"SHORTMONTH":["jan","fev","mar","abr","mai","jun","jul","ago","set","out","nov","dez"],"DAY":["domingo","segunda-feira","terça-feira","quarta-feira","quinta-feira","sexta-feira","sábado"],"SHORTDAY":["dom","seg","ter","qua","qui","sex","sáb"],"AMPMS":["AM","PM"],"medium":"dd/MM/yyyy HH:mm:ss","short":"dd/MM/yy HH:mm","fullDate":"EEEE, d 'de' MMMM 'de' y","longDate":"d 'de' MMMM 'de' y","mediumDate":"dd/MM/yyyy","shortDate":"dd/MM/yy","mediumTime":"HH:mm:ss","shortTime":"HH:mm"},"NUMBER_FORMATS":{"DECIMAL_SEP":",","GROUP_SEP":".","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"\u00A4","posSuf":"","negPre":"(\u00A4","negSuf":")","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"R$"},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"id":"pt"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_ro-ro.js b/1.1.1/i18n/angular-locale_ro-ro.js
new file mode 100644
index 000000000..36c53ff13
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_ro-ro.js
@@ -0,0 +1,4 @@
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
+$provide.value("$locale", {"NUMBER_FORMATS":{"DECIMAL_SEP":",","GROUP_SEP":".","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"","posSuf":" \u00A4","negPre":"-","negSuf":" \u00A4","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"L"},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } if (n == 0 || n != 1 && (n % 100) >= 1 && (n % 100) <= 19 && n == Math.floor(n)) { return PLURAL_CATEGORY.FEW; } return PLURAL_CATEGORY.OTHER;},"DATETIME_FORMATS":{"MONTH":["ianuarie","februarie","martie","aprilie","mai","iunie","iulie","august","septembrie","octombrie","noiembrie","decembrie"],"SHORTMONTH":["ian.","feb.","mar.","apr.","mai","iun.","iul.","aug.","sept.","oct.","nov.","dec."],"DAY":["duminică","luni","marți","miercuri","joi","vineri","sâmbătă"],"SHORTDAY":["Du","Lu","Ma","Mi","Jo","Vi","Sâ"],"AMPMS":["AM","PM"],"medium":"dd.MM.yyyy HH:mm:ss","short":"dd.MM.yyyy HH:mm","fullDate":"EEEE, d MMMM y","longDate":"d MMMM y","mediumDate":"dd.MM.yyyy","shortDate":"dd.MM.yyyy","mediumTime":"HH:mm:ss","shortTime":"HH:mm"},"id":"ro-ro"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_ro.js b/1.1.1/i18n/angular-locale_ro.js
new file mode 100644
index 000000000..c80e712d8
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_ro.js
@@ -0,0 +1,4 @@
+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":{"MONTH":["ianuarie","februarie","martie","aprilie","mai","iunie","iulie","august","septembrie","octombrie","noiembrie","decembrie"],"SHORTMONTH":["ian.","feb.","mar.","apr.","mai","iun.","iul.","aug.","sept.","oct.","nov.","dec."],"DAY":["duminică","luni","marți","miercuri","joi","vineri","sâmbătă"],"SHORTDAY":["Du","Lu","Ma","Mi","Jo","Vi","Sâ"],"AMPMS":["AM","PM"],"medium":"dd.MM.yyyy HH:mm:ss","short":"dd.MM.yyyy HH:mm","fullDate":"EEEE, d MMMM y","longDate":"d MMMM y","mediumDate":"dd.MM.yyyy","shortDate":"dd.MM.yyyy","mediumTime":"HH:mm:ss","shortTime":"HH:mm"},"NUMBER_FORMATS":{"DECIMAL_SEP":",","GROUP_SEP":".","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"","posSuf":" \u00A4","negPre":"-","negSuf":" \u00A4","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"L"},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } if (n == 0 || n != 1 && (n % 100) >= 1 && (n % 100) <= 19 && n == Math.floor(n)) { return PLURAL_CATEGORY.FEW; } return PLURAL_CATEGORY.OTHER;},"id":"ro"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_ru-ru.js b/1.1.1/i18n/angular-locale_ru-ru.js
new file mode 100644
index 000000000..7224ecaea
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_ru-ru.js
@@ -0,0 +1,4 @@
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
+$provide.value("$locale", {"NUMBER_FORMATS":{"DECIMAL_SEP":",","GROUP_SEP":" ","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"","posSuf":" \u00A4","negPre":"-","negSuf":" \u00A4","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"руб"},"pluralCat":function (n) { if ((n % 10) == 1 && (n % 100) != 11) { return PLURAL_CATEGORY.ONE; } if ((n % 10) >= 2 && (n % 10) <= 4 && ((n % 100) < 12 || (n % 100) > 14) && n == Math.floor(n)) { return PLURAL_CATEGORY.FEW; } if ((n % 10) == 0 || ((n % 10) >= 5 && (n % 10) <= 9) || ((n % 100) >= 11 && (n % 100) <= 14) && n == Math.floor(n)) { return PLURAL_CATEGORY.MANY; } return PLURAL_CATEGORY.OTHER;},"DATETIME_FORMATS":{"MONTH":["января","февраля","марта","апреля","мая","июня","июля","августа","сентября","октября","ноября","декабря"],"SHORTMONTH":["янв.","февр.","марта","апр.","мая","июня","июля","авг.","сент.","окт.","нояб.","дек."],"DAY":["воскресенье","понедельник","вторник","среда","четверг","пятница","суббота"],"SHORTDAY":["вс","пн","вт","ср","чт","пт","сб"],"AMPMS":["AM","PM"],"medium":"dd.MM.yyyy H:mm:ss","short":"dd.MM.yy H:mm","fullDate":"EEEE, d MMMM y 'г'.","longDate":"d MMMM y 'г'.","mediumDate":"dd.MM.yyyy","shortDate":"dd.MM.yy","mediumTime":"H:mm:ss","shortTime":"H:mm"},"id":"ru-ru"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_ru.js b/1.1.1/i18n/angular-locale_ru.js
new file mode 100644
index 000000000..f4bd6ad6a
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_ru.js
@@ -0,0 +1,4 @@
+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":{"MONTH":["января","февраля","марта","апреля","мая","июня","июля","августа","сентября","октября","ноября","декабря"],"SHORTMONTH":["янв.","февр.","марта","апр.","мая","июня","июля","авг.","сент.","окт.","нояб.","дек."],"DAY":["воскресенье","понедельник","вторник","среда","четверг","пятница","суббота"],"SHORTDAY":["вс","пн","вт","ср","чт","пт","сб"],"AMPMS":["AM","PM"],"medium":"dd.MM.yyyy H:mm:ss","short":"dd.MM.yy H:mm","fullDate":"EEEE, d MMMM y 'г'.","longDate":"d MMMM y 'г'.","mediumDate":"dd.MM.yyyy","shortDate":"dd.MM.yy","mediumTime":"H:mm:ss","shortTime":"H:mm"},"NUMBER_FORMATS":{"DECIMAL_SEP":",","GROUP_SEP":" ","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"","posSuf":" \u00A4","negPre":"-","negSuf":" \u00A4","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"руб"},"pluralCat":function (n) { if ((n % 10) == 1 && (n % 100) != 11) { return PLURAL_CATEGORY.ONE; } if ((n % 10) >= 2 && (n % 10) <= 4 && ((n % 100) < 12 || (n % 100) > 14) && n == Math.floor(n)) { return PLURAL_CATEGORY.FEW; } if ((n % 10) == 0 || ((n % 10) >= 5 && (n % 10) <= 9) || ((n % 100) >= 11 && (n % 100) <= 14) && n == Math.floor(n)) { return PLURAL_CATEGORY.MANY; } return PLURAL_CATEGORY.OTHER;},"id":"ru"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_sk-sk.js b/1.1.1/i18n/angular-locale_sk-sk.js
new file mode 100644
index 000000000..1f24ed805
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_sk-sk.js
@@ -0,0 +1,4 @@
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
+$provide.value("$locale", {"NUMBER_FORMATS":{"DECIMAL_SEP":",","GROUP_SEP":" ","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"","posSuf":" \u00A4","negPre":"-","negSuf":" \u00A4","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"Sk"},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } if (n == 2 || n == 3 || n == 4) { return PLURAL_CATEGORY.FEW; } return PLURAL_CATEGORY.OTHER;},"DATETIME_FORMATS":{"MONTH":["januára","februára","marca","apríla","mája","júna","júla","augusta","septembra","októbra","novembra","decembra"],"SHORTMONTH":["jan","feb","mar","apr","máj","jún","júl","aug","sep","okt","nov","dec"],"DAY":["nedeľa","pondelok","utorok","streda","štvrtok","piatok","sobota"],"SHORTDAY":["ne","po","ut","st","št","pi","so"],"AMPMS":["dopoludnia","popoludní"],"medium":"d.M.yyyy H:mm:ss","short":"d.M.yyyy H:mm","fullDate":"EEEE, d. MMMM y","longDate":"d. MMMM y","mediumDate":"d.M.yyyy","shortDate":"d.M.yyyy","mediumTime":"H:mm:ss","shortTime":"H:mm"},"id":"sk-sk"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_sk.js b/1.1.1/i18n/angular-locale_sk.js
new file mode 100644
index 000000000..1a4c42763
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_sk.js
@@ -0,0 +1,4 @@
+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":{"MONTH":["januára","februára","marca","apríla","mája","júna","júla","augusta","septembra","októbra","novembra","decembra"],"SHORTMONTH":["jan","feb","mar","apr","máj","jún","júl","aug","sep","okt","nov","dec"],"DAY":["nedeľa","pondelok","utorok","streda","štvrtok","piatok","sobota"],"SHORTDAY":["ne","po","ut","st","št","pi","so"],"AMPMS":["dopoludnia","popoludní"],"medium":"d.M.yyyy H:mm:ss","short":"d.M.yyyy H:mm","fullDate":"EEEE, d. MMMM y","longDate":"d. MMMM y","mediumDate":"d.M.yyyy","shortDate":"d.M.yyyy","mediumTime":"H:mm:ss","shortTime":"H:mm"},"NUMBER_FORMATS":{"DECIMAL_SEP":",","GROUP_SEP":" ","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"","posSuf":" \u00A4","negPre":"-","negSuf":" \u00A4","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"Sk"},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } if (n == 2 || n == 3 || n == 4) { return PLURAL_CATEGORY.FEW; } return PLURAL_CATEGORY.OTHER;},"id":"sk"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_sl-si.js b/1.1.1/i18n/angular-locale_sl-si.js
new file mode 100644
index 000000000..6c19c601f
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_sl-si.js
@@ -0,0 +1,4 @@
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
+$provide.value("$locale", {"NUMBER_FORMATS":{"DECIMAL_SEP":",","GROUP_SEP":".","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"","posSuf":" \u00A4","negPre":"-","negSuf":" \u00A4","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"€"},"pluralCat":function (n) { if ((n % 100) == 1) { return PLURAL_CATEGORY.ONE; } if ((n % 100) == 2) { return PLURAL_CATEGORY.TWO; } if ((n % 100) == 3 || (n % 100) == 4) { return PLURAL_CATEGORY.FEW; } return PLURAL_CATEGORY.OTHER;},"DATETIME_FORMATS":{"MONTH":["januar","februar","marec","april","maj","junij","julij","avgust","september","oktober","november","december"],"SHORTMONTH":["jan.","feb.","mar.","apr.","maj","jun.","jul.","avg.","sep.","okt.","nov.","dec."],"DAY":["nedelja","ponedeljek","torek","sreda","četrtek","petek","sobota"],"SHORTDAY":["ned","pon","tor","sre","čet","pet","sob"],"AMPMS":["dop.","pop."],"medium":"d. MMM yyyy HH:mm:ss","short":"d. MM. yy HH:mm","fullDate":"EEEE, dd. MMMM y","longDate":"dd. MMMM y","mediumDate":"d. MMM yyyy","shortDate":"d. MM. yy","mediumTime":"HH:mm:ss","shortTime":"HH:mm"},"id":"sl-si"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_sl.js b/1.1.1/i18n/angular-locale_sl.js
new file mode 100644
index 000000000..4c22f2fea
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_sl.js
@@ -0,0 +1,4 @@
+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":{"MONTH":["januar","februar","marec","april","maj","junij","julij","avgust","september","oktober","november","december"],"SHORTMONTH":["jan.","feb.","mar.","apr.","maj","jun.","jul.","avg.","sep.","okt.","nov.","dec."],"DAY":["nedelja","ponedeljek","torek","sreda","četrtek","petek","sobota"],"SHORTDAY":["ned","pon","tor","sre","čet","pet","sob"],"AMPMS":["dop.","pop."],"medium":"d. MMM yyyy HH:mm:ss","short":"d. MM. yy HH:mm","fullDate":"EEEE, dd. MMMM y","longDate":"dd. MMMM y","mediumDate":"d. MMM yyyy","shortDate":"d. MM. yy","mediumTime":"HH:mm:ss","shortTime":"HH:mm"},"NUMBER_FORMATS":{"DECIMAL_SEP":",","GROUP_SEP":".","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"","posSuf":" \u00A4","negPre":"-","negSuf":" \u00A4","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"€"},"pluralCat":function (n) { if ((n % 100) == 1) { return PLURAL_CATEGORY.ONE; } if ((n % 100) == 2) { return PLURAL_CATEGORY.TWO; } if ((n % 100) == 3 || (n % 100) == 4) { return PLURAL_CATEGORY.FEW; } return PLURAL_CATEGORY.OTHER;},"id":"sl"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_sq-al.js b/1.1.1/i18n/angular-locale_sq-al.js
new file mode 100644
index 000000000..db68783fd
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_sq-al.js
@@ -0,0 +1,4 @@
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
+$provide.value("$locale", {"NUMBER_FORMATS":{"DECIMAL_SEP":",","GROUP_SEP":".","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"\u00A4","posSuf":"","negPre":"\u00A4-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"Lek"},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"DATETIME_FORMATS":{"MONTH":["janar","shkurt","mars","prill","maj","qershor","korrik","gusht","shtator","tetor","nëntor","dhjetor"],"SHORTMONTH":["Jan","Shk","Mar","Pri","Maj","Qer","Kor","Gsh","Sht","Tet","Nën","Dhj"],"DAY":["e diel","e hënë","e martë","e mërkurë","e enjte","e premte","e shtunë"],"SHORTDAY":["Die","Hën","Mar","Mër","Enj","Pre","Sht"],"AMPMS":["PD","MD"],"medium":"yyyy-MM-dd h.mm.ss.a","short":"yy-MM-dd h.mm.a","fullDate":"EEEE, dd MMMM y","longDate":"dd MMMM y","mediumDate":"yyyy-MM-dd","shortDate":"yy-MM-dd","mediumTime":"h.mm.ss.a","shortTime":"h.mm.a"},"id":"sq-al"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_sq.js b/1.1.1/i18n/angular-locale_sq.js
new file mode 100644
index 000000000..2edb644aa
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_sq.js
@@ -0,0 +1,4 @@
+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":{"MONTH":["janar","shkurt","mars","prill","maj","qershor","korrik","gusht","shtator","tetor","nëntor","dhjetor"],"SHORTMONTH":["Jan","Shk","Mar","Pri","Maj","Qer","Kor","Gsh","Sht","Tet","Nën","Dhj"],"DAY":["e diel","e hënë","e martë","e mërkurë","e enjte","e premte","e shtunë"],"SHORTDAY":["Die","Hën","Mar","Mër","Enj","Pre","Sht"],"AMPMS":["PD","MD"],"medium":"yyyy-MM-dd h.mm.ss.a","short":"yy-MM-dd h.mm.a","fullDate":"EEEE, dd MMMM y","longDate":"dd MMMM y","mediumDate":"yyyy-MM-dd","shortDate":"yy-MM-dd","mediumTime":"h.mm.ss.a","shortTime":"h.mm.a"},"NUMBER_FORMATS":{"DECIMAL_SEP":",","GROUP_SEP":".","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"\u00A4","posSuf":"","negPre":"\u00A4-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"Lek"},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"id":"sq"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_sr-cyrl-rs.js b/1.1.1/i18n/angular-locale_sr-cyrl-rs.js
new file mode 100644
index 000000000..2c8d555fc
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_sr-cyrl-rs.js
@@ -0,0 +1,4 @@
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
+$provide.value("$locale", {"NUMBER_FORMATS":{"DECIMAL_SEP":".","GROUP_SEP":",","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"","posSuf":" \u00A4","negPre":"-","negSuf":" \u00A4","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"РСД"},"pluralCat":function (n) { if ((n % 10) == 1 && (n % 100) != 11) { return PLURAL_CATEGORY.ONE; } if ((n % 10) >= 2 && (n % 10) <= 4 && ((n % 100) < 12 || (n % 100) > 14) && n == Math.floor(n)) { return PLURAL_CATEGORY.FEW; } if ((n % 10) == 0 || ((n % 10) >= 5 && (n % 10) <= 9) || ((n % 100) >= 11 && (n % 100) <= 14) && n == Math.floor(n)) { return PLURAL_CATEGORY.MANY; } return PLURAL_CATEGORY.OTHER;},"DATETIME_FORMATS":{"MONTH":["јануар","фебруар","март","април","мај","јун","јул","август","септембар","октобар","новембар","децембар"],"SHORTMONTH":["јан","феб","мар","апр","мај","јун","јул","авг","сеп","окт","нов","дец"],"DAY":["недеља","понедељак","уторак","среда","четвртак","петак","субота"],"SHORTDAY":["нед","пон","уто","сре","чет","пет","суб"],"AMPMS":["пре подне","поподне"],"medium":"dd.MM.y. HH.mm.ss","short":"d.M.yy. HH.mm","fullDate":"EEEE, dd. MMMM y.","longDate":"dd. MMMM y.","mediumDate":"dd.MM.y.","shortDate":"d.M.yy.","mediumTime":"HH.mm.ss","shortTime":"HH.mm"},"id":"sr-cyrl-rs"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_sr-latn-rs.js b/1.1.1/i18n/angular-locale_sr-latn-rs.js
new file mode 100644
index 000000000..60f25c046
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_sr-latn-rs.js
@@ -0,0 +1,4 @@
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
+$provide.value("$locale", {"NUMBER_FORMATS":{"DECIMAL_SEP":".","GROUP_SEP":",","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"","posSuf":" \u00A4","negPre":"-","negSuf":" \u00A4","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"РСД"},"pluralCat":function (n) { if ((n % 10) == 1 && (n % 100) != 11) { return PLURAL_CATEGORY.ONE; } if ((n % 10) >= 2 && (n % 10) <= 4 && ((n % 100) < 12 || (n % 100) > 14) && n == Math.floor(n)) { return PLURAL_CATEGORY.FEW; } if ((n % 10) == 0 || ((n % 10) >= 5 && (n % 10) <= 9) || ((n % 100) >= 11 && (n % 100) <= 14) && n == Math.floor(n)) { return PLURAL_CATEGORY.MANY; } return PLURAL_CATEGORY.OTHER;},"DATETIME_FORMATS":{"MONTH":["јануар","фебруар","март","април","мај","јун","јул","август","септембар","октобар","новембар","децембар"],"SHORTMONTH":["јан","феб","мар","апр","мај","јун","јул","авг","сеп","окт","нов","дец"],"DAY":["недеља","понедељак","уторак","среда","четвртак","петак","субота"],"SHORTDAY":["нед","пон","уто","сре","чет","пет","суб"],"AMPMS":["пре подне","поподне"],"medium":"dd.MM.y. HH.mm.ss","short":"d.M.yy. HH.mm","fullDate":"EEEE, dd. MMMM y.","longDate":"dd. MMMM y.","mediumDate":"dd.MM.y.","shortDate":"d.M.yy.","mediumTime":"HH.mm.ss","shortTime":"HH.mm"},"id":"sr-latn-rs"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_sr-rs.js b/1.1.1/i18n/angular-locale_sr-rs.js
new file mode 100644
index 000000000..9f4fccc79
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_sr-rs.js
@@ -0,0 +1,4 @@
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
+$provide.value("$locale", {"NUMBER_FORMATS":{"DECIMAL_SEP":".","GROUP_SEP":",","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"","posSuf":" \u00A4","negPre":"-","negSuf":" \u00A4","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"РСД"},"pluralCat":function (n) { if ((n % 10) == 1 && (n % 100) != 11) { return PLURAL_CATEGORY.ONE; } if ((n % 10) >= 2 && (n % 10) <= 4 && ((n % 100) < 12 || (n % 100) > 14) && n == Math.floor(n)) { return PLURAL_CATEGORY.FEW; } if ((n % 10) == 0 || ((n % 10) >= 5 && (n % 10) <= 9) || ((n % 100) >= 11 && (n % 100) <= 14) && n == Math.floor(n)) { return PLURAL_CATEGORY.MANY; } return PLURAL_CATEGORY.OTHER;},"DATETIME_FORMATS":{"MONTH":["јануар","фебруар","март","април","мај","јун","јул","август","септембар","октобар","новембар","децембар"],"SHORTMONTH":["јан","феб","мар","апр","мај","јун","јул","авг","сеп","окт","нов","дец"],"DAY":["недеља","понедељак","уторак","среда","четвртак","петак","субота"],"SHORTDAY":["нед","пон","уто","сре","чет","пет","суб"],"AMPMS":["пре подне","поподне"],"medium":"dd.MM.y. HH.mm.ss","short":"d.M.yy. HH.mm","fullDate":"EEEE, dd. MMMM y.","longDate":"dd. MMMM y.","mediumDate":"dd.MM.y.","shortDate":"d.M.yy.","mediumTime":"HH.mm.ss","shortTime":"HH.mm"},"id":"sr-rs"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_sr.js b/1.1.1/i18n/angular-locale_sr.js
new file mode 100644
index 000000000..f1533d250
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_sr.js
@@ -0,0 +1,4 @@
+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":{"MONTH":["јануар","фебруар","март","април","мај","јун","јул","август","септембар","октобар","новембар","децембар"],"SHORTMONTH":["јан","феб","мар","апр","мај","јун","јул","авг","сеп","окт","нов","дец"],"DAY":["недеља","понедељак","уторак","среда","четвртак","петак","субота"],"SHORTDAY":["нед","пон","уто","сре","чет","пет","суб"],"AMPMS":["пре подне","поподне"],"medium":"dd.MM.y. HH.mm.ss","short":"d.M.yy. HH.mm","fullDate":"EEEE, dd. MMMM y.","longDate":"dd. MMMM y.","mediumDate":"dd.MM.y.","shortDate":"d.M.yy.","mediumTime":"HH.mm.ss","shortTime":"HH.mm"},"NUMBER_FORMATS":{"DECIMAL_SEP":".","GROUP_SEP":",","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"","posSuf":" \u00A4","negPre":"-","negSuf":" \u00A4","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"РСД"},"pluralCat":function (n) { if ((n % 10) == 1 && (n % 100) != 11) { return PLURAL_CATEGORY.ONE; } if ((n % 10) >= 2 && (n % 10) <= 4 && ((n % 100) < 12 || (n % 100) > 14) && n == Math.floor(n)) { return PLURAL_CATEGORY.FEW; } if ((n % 10) == 0 || ((n % 10) >= 5 && (n % 10) <= 9) || ((n % 100) >= 11 && (n % 100) <= 14) && n == Math.floor(n)) { return PLURAL_CATEGORY.MANY; } return PLURAL_CATEGORY.OTHER;},"id":"sr"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_sv-se.js b/1.1.1/i18n/angular-locale_sv-se.js
new file mode 100644
index 000000000..ffe127754
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_sv-se.js
@@ -0,0 +1,4 @@
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
+$provide.value("$locale", {"NUMBER_FORMATS":{"DECIMAL_SEP":",","GROUP_SEP":" ","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"","posSuf":" \u00A4","negPre":"-","negSuf":" \u00A4","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"kr"},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"DATETIME_FORMATS":{"MONTH":["januari","februari","mars","april","maj","juni","juli","augusti","september","oktober","november","december"],"SHORTMONTH":["jan","feb","mar","apr","maj","jun","jul","aug","sep","okt","nov","dec"],"DAY":["söndag","måndag","tisdag","onsdag","torsdag","fredag","lördag"],"SHORTDAY":["sön","mån","tis","ons","tors","fre","lör"],"AMPMS":["fm","em"],"medium":"d MMM y HH:mm:ss","short":"yyyy-MM-dd HH:mm","fullDate":"EEEE'en' 'den' d:'e' MMMM y","longDate":"d MMMM y","mediumDate":"d MMM y","shortDate":"yyyy-MM-dd","mediumTime":"HH:mm:ss","shortTime":"HH:mm"},"id":"sv-se"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_sv.js b/1.1.1/i18n/angular-locale_sv.js
new file mode 100644
index 000000000..69c622d02
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_sv.js
@@ -0,0 +1,4 @@
+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":{"MONTH":["januari","februari","mars","april","maj","juni","juli","augusti","september","oktober","november","december"],"SHORTMONTH":["jan","feb","mar","apr","maj","jun","jul","aug","sep","okt","nov","dec"],"DAY":["söndag","måndag","tisdag","onsdag","torsdag","fredag","lördag"],"SHORTDAY":["sön","mån","tis","ons","tors","fre","lör"],"AMPMS":["fm","em"],"medium":"d MMM y HH:mm:ss","short":"yyyy-MM-dd HH:mm","fullDate":"EEEE'en' 'den' d:'e' MMMM y","longDate":"d MMMM y","mediumDate":"d MMM y","shortDate":"yyyy-MM-dd","mediumTime":"HH:mm:ss","shortTime":"HH:mm"},"NUMBER_FORMATS":{"DECIMAL_SEP":",","GROUP_SEP":" ","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"","posSuf":" \u00A4","negPre":"-","negSuf":" \u00A4","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"kr"},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"id":"sv"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_sw-tz.js b/1.1.1/i18n/angular-locale_sw-tz.js
new file mode 100644
index 000000000..c4d49fc7f
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_sw-tz.js
@@ -0,0 +1,4 @@
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
+$provide.value("$locale", {"NUMBER_FORMATS":{"DECIMAL_SEP":".","GROUP_SEP":",","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"","posSuf":" \u00A4","negPre":"-","negSuf":" \u00A4","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"TZS"},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"DATETIME_FORMATS":{"MONTH":["Januari","Februari","Machi","Aprili","Mei","Juni","Julai","Agosti","Septemba","Oktoba","Novemba","Desemba"],"SHORTMONTH":["Jan","Feb","Mac","Apr","Mei","Jun","Jul","Ago","Sep","Okt","Nov","Des"],"DAY":["Jumapili","Jumatatu","Jumanne","Jumatano","Alhamisi","Ijumaa","Jumamosi"],"SHORTDAY":["J2","J3","J4","J5","Alh","Ij","J1"],"AMPMS":["asubuhi","alasiri"],"medium":"d MMM y h:mm:ss a","short":"dd/MM/yyyy h:mm a","fullDate":"EEEE, d MMMM y","longDate":"d MMMM y","mediumDate":"d MMM y","shortDate":"dd/MM/yyyy","mediumTime":"h:mm:ss a","shortTime":"h:mm a"},"id":"sw-tz"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_sw.js b/1.1.1/i18n/angular-locale_sw.js
new file mode 100644
index 000000000..1452f5102
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_sw.js
@@ -0,0 +1,4 @@
+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":{"MONTH":["Januari","Februari","Machi","Aprili","Mei","Juni","Julai","Agosti","Septemba","Oktoba","Novemba","Desemba"],"SHORTMONTH":["Jan","Feb","Mac","Apr","Mei","Jun","Jul","Ago","Sep","Okt","Nov","Des"],"DAY":["Jumapili","Jumatatu","Jumanne","Jumatano","Alhamisi","Ijumaa","Jumamosi"],"SHORTDAY":["J2","J3","J4","J5","Alh","Ij","J1"],"AMPMS":["asubuhi","alasiri"],"medium":"d MMM y h:mm:ss a","short":"dd/MM/yyyy h:mm a","fullDate":"EEEE, d MMMM y","longDate":"d MMMM y","mediumDate":"d MMM y","shortDate":"dd/MM/yyyy","mediumTime":"h:mm:ss a","shortTime":"h:mm a"},"NUMBER_FORMATS":{"DECIMAL_SEP":".","GROUP_SEP":",","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"","posSuf":" \u00A4","negPre":"-","negSuf":" \u00A4","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"TZS"},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"id":"sw"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_ta-in.js b/1.1.1/i18n/angular-locale_ta-in.js
new file mode 100644
index 000000000..51f405b5b
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_ta-in.js
@@ -0,0 +1,4 @@
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
+$provide.value("$locale", {"NUMBER_FORMATS":{"DECIMAL_SEP":".","GROUP_SEP":",","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":2,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"\u00A4 ","posSuf":"","negPre":"\u00A4 -","negSuf":"","gSize":2,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"Rs"},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"DATETIME_FORMATS":{"MONTH":["ஜனவரி","பிப்ரவரி","மார்ச்","ஏப்ரல்","மே","ஜூன்","ஜூலை","ஆகஸ்ட்","செப்டெம்ப்ர்","அக்டோபர்","நவம்பர்","டிசம்பர்"],"SHORTMONTH":["ஜன.","பிப்.","மார்.","ஏப்.","மே","ஜூன்","ஜூலை","ஆக.","செப்.","அக்.","நவ.","டிச."],"DAY":["ஞாயிறு","திங்கள்","செவ்வாய்","புதன்","வியாழன்","வெள்ளி","சனி"],"SHORTDAY":["ஞா","தி","செ","பு","வி","வெ","ச"],"AMPMS":["am","pm"],"medium":"d MMM, y h:mm:ss a","short":"d-M-yy h:mm a","fullDate":"EEEE, d MMMM, y","longDate":"d MMMM, y","mediumDate":"d MMM, y","shortDate":"d-M-yy","mediumTime":"h:mm:ss a","shortTime":"h:mm a"},"id":"ta-in"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_ta.js b/1.1.1/i18n/angular-locale_ta.js
new file mode 100644
index 000000000..8cf71f6a6
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_ta.js
@@ -0,0 +1,4 @@
+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":{"MONTH":["ஜனவரி","பிப்ரவரி","மார்ச்","ஏப்ரல்","மே","ஜூன்","ஜூலை","ஆகஸ்ட்","செப்டெம்ப்ர்","அக்டோபர்","நவம்பர்","டிசம்பர்"],"SHORTMONTH":["ஜன.","பிப்.","மார்.","ஏப்.","மே","ஜூன்","ஜூலை","ஆக.","செப்.","அக்.","நவ.","டிச."],"DAY":["ஞாயிறு","திங்கள்","செவ்வாய்","புதன்","வியாழன்","வெள்ளி","சனி"],"SHORTDAY":["ஞா","தி","செ","பு","வி","வெ","ச"],"AMPMS":["am","pm"],"medium":"d MMM, y h:mm:ss a","short":"d-M-yy h:mm a","fullDate":"EEEE, d MMMM, y","longDate":"d MMMM, y","mediumDate":"d MMM, y","shortDate":"d-M-yy","mediumTime":"h:mm:ss a","shortTime":"h:mm a"},"NUMBER_FORMATS":{"DECIMAL_SEP":".","GROUP_SEP":",","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":2,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"\u00A4 ","posSuf":"","negPre":"\u00A4 -","negSuf":"","gSize":2,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"Rs"},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"id":"ta"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_te-in.js b/1.1.1/i18n/angular-locale_te-in.js
new file mode 100644
index 000000000..97c570119
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_te-in.js
@@ -0,0 +1,4 @@
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
+$provide.value("$locale", {"NUMBER_FORMATS":{"DECIMAL_SEP":".","GROUP_SEP":",","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":2,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"\u00A4 ","posSuf":"","negPre":"\u00A4 -","negSuf":"","gSize":2,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"Rs"},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"DATETIME_FORMATS":{"MONTH":["జనవరి","ఫిబ్రవరి","మార్చి","ఏప్రిల్","మే","జూన్","జూలై","ఆగస్టు","సెప్టెంబర్","అక్టోబర్","నవంబర్","డిసెంబర్"],"SHORTMONTH":["జనవరి","ఫిబ్రవరి","మార్చి","ఏప్రిల్","మే","జూన్","జూలై","ఆగస్టు","సెప్టెంబర్","అక్టోబర్","నవంబర్","డిసెంబర్"],"DAY":["ఆదివారం","సోమవారం","మంగళవారం","బుధవారం","గురువారం","శుక్రవారం","శనివారం"],"SHORTDAY":["ఆది","సోమ","మంగళ","బుధ","గురు","శుక్ర","శని"],"AMPMS":["ఉ","సా"],"medium":"d MMM y h:mm:ss a","short":"dd-MM-yy h:mm a","fullDate":"EEEE d MMMM y","longDate":"d MMMM y","mediumDate":"d MMM y","shortDate":"dd-MM-yy","mediumTime":"h:mm:ss a","shortTime":"h:mm a"},"id":"te-in"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_te.js b/1.1.1/i18n/angular-locale_te.js
new file mode 100644
index 000000000..b0a8d3d85
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_te.js
@@ -0,0 +1,4 @@
+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":{"MONTH":["జనవరి","ఫిబ్రవరి","మార్చి","ఏప్రిల్","మే","జూన్","జూలై","ఆగస్టు","సెప్టెంబర్","అక్టోబర్","నవంబర్","డిసెంబర్"],"SHORTMONTH":["జనవరి","ఫిబ్రవరి","మార్చి","ఏప్రిల్","మే","జూన్","జూలై","ఆగస్టు","సెప్టెంబర్","అక్టోబర్","నవంబర్","డిసెంబర్"],"DAY":["ఆదివారం","సోమవారం","మంగళవారం","బుధవారం","గురువారం","శుక్రవారం","శనివారం"],"SHORTDAY":["ఆది","సోమ","మంగళ","బుధ","గురు","శుక్ర","శని"],"AMPMS":["ఉ","సా"],"medium":"d MMM y h:mm:ss a","short":"dd-MM-yy h:mm a","fullDate":"EEEE d MMMM y","longDate":"d MMMM y","mediumDate":"d MMM y","shortDate":"dd-MM-yy","mediumTime":"h:mm:ss a","shortTime":"h:mm a"},"NUMBER_FORMATS":{"DECIMAL_SEP":".","GROUP_SEP":",","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":2,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"\u00A4 ","posSuf":"","negPre":"\u00A4 -","negSuf":"","gSize":2,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"Rs"},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"id":"te"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_th-th.js b/1.1.1/i18n/angular-locale_th-th.js
new file mode 100644
index 000000000..763782b56
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_th-th.js
@@ -0,0 +1,4 @@
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
+$provide.value("$locale", {"NUMBER_FORMATS":{"DECIMAL_SEP":".","GROUP_SEP":",","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"\u00A4","posSuf":"","negPre":"\u00A4-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"฿"},"pluralCat":function (n) { return PLURAL_CATEGORY.OTHER;},"DATETIME_FORMATS":{"MONTH":["มกราคม","กุมภาพันธ์","มีนาคม","เมษายน","พฤษภาคม","มิถุนายน","กรกฎาคม","สิงหาคม","กันยายน","ตุลาคม","พฤศจิกายน","ธันวาคม"],"SHORTMONTH":["ม.ค.","ก.พ.","มี.ค.","เม.ย.","พ.ค.","มิ.ย.","ก.ค.","ส.ค.","ก.ย.","ต.ค.","พ.ย.","ธ.ค."],"DAY":["วันอาทิตย์","วันจันทร์","วันอังคาร","วันพุธ","วันพฤหัสบดี","วันศุกร์","วันเสาร์"],"SHORTDAY":["อา.","จ.","อ.","พ.","พฤ.","ศ.","ส."],"AMPMS":["ก่อนเที่ยง","หลังเที่ยง"],"medium":"d MMM y H:mm:ss","short":"d/M/yyyy H:mm","fullDate":"EEEEที่ d MMMM G y","longDate":"d MMMM y","mediumDate":"d MMM y","shortDate":"d/M/yyyy","mediumTime":"H:mm:ss","shortTime":"H:mm"},"id":"th-th"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_th.js b/1.1.1/i18n/angular-locale_th.js
new file mode 100644
index 000000000..0b98be8c3
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_th.js
@@ -0,0 +1,4 @@
+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":{"MONTH":["มกราคม","กุมภาพันธ์","มีนาคม","เมษายน","พฤษภาคม","มิถุนายน","กรกฎาคม","สิงหาคม","กันยายน","ตุลาคม","พฤศจิกายน","ธันวาคม"],"SHORTMONTH":["ม.ค.","ก.พ.","มี.ค.","เม.ย.","พ.ค.","มิ.ย.","ก.ค.","ส.ค.","ก.ย.","ต.ค.","พ.ย.","ธ.ค."],"DAY":["วันอาทิตย์","วันจันทร์","วันอังคาร","วันพุธ","วันพฤหัสบดี","วันศุกร์","วันเสาร์"],"SHORTDAY":["อา.","จ.","อ.","พ.","พฤ.","ศ.","ส."],"AMPMS":["ก่อนเที่ยง","หลังเที่ยง"],"medium":"d MMM y H:mm:ss","short":"d/M/yyyy H:mm","fullDate":"EEEEที่ d MMMM G y","longDate":"d MMMM y","mediumDate":"d MMM y","shortDate":"d/M/yyyy","mediumTime":"H:mm:ss","shortTime":"H:mm"},"NUMBER_FORMATS":{"DECIMAL_SEP":".","GROUP_SEP":",","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"\u00A4","posSuf":"","negPre":"\u00A4-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"฿"},"pluralCat":function (n) { return PLURAL_CATEGORY.OTHER;},"id":"th"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_tl-ph.js b/1.1.1/i18n/angular-locale_tl-ph.js
new file mode 100644
index 000000000..2a424e181
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_tl-ph.js
@@ -0,0 +1,4 @@
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
+$provide.value("$locale", {"NUMBER_FORMATS":{"DECIMAL_SEP":".","GROUP_SEP":",","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"\u00A4 ","posSuf":"","negPre":"\u00A4 -","negSuf":"","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"P"},"pluralCat":function (n) { if (n == 0 || n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"DATETIME_FORMATS":{"MONTH":["Enero","Pebrero","Marso","Abril","Mayo","Hunyo","Hulyo","Agosto","Setyembre","Oktubre","Nobyembre","Disyembre"],"SHORTMONTH":["Ene","Peb","Mar","Abr","May","Hun","Hul","Ago","Set","Okt","Nob","Dis"],"DAY":["Linggo","Lunes","Martes","Miyerkules","Huwebes","Biyernes","Sabado"],"SHORTDAY":["Lin","Lun","Mar","Mye","Huw","Bye","Sab"],"AMPMS":["AM","PM"],"medium":"MMM d, y HH:mm:ss","short":"M/d/yy HH:mm","fullDate":"EEEE, MMMM dd y","longDate":"MMMM d, y","mediumDate":"MMM d, y","shortDate":"M/d/yy","mediumTime":"HH:mm:ss","shortTime":"HH:mm"},"id":"tl-ph"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_tl.js b/1.1.1/i18n/angular-locale_tl.js
new file mode 100644
index 000000000..323a15653
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_tl.js
@@ -0,0 +1,4 @@
+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":{"MONTH":["Enero","Pebrero","Marso","Abril","Mayo","Hunyo","Hulyo","Agosto","Setyembre","Oktubre","Nobyembre","Disyembre"],"SHORTMONTH":["Ene","Peb","Mar","Abr","May","Hun","Hul","Ago","Set","Okt","Nob","Dis"],"DAY":["Linggo","Lunes","Martes","Miyerkules","Huwebes","Biyernes","Sabado"],"SHORTDAY":["Lin","Lun","Mar","Mye","Huw","Bye","Sab"],"AMPMS":["AM","PM"],"medium":"MMM d, y HH:mm:ss","short":"M/d/yy HH:mm","fullDate":"EEEE, MMMM dd y","longDate":"MMMM d, y","mediumDate":"MMM d, y","shortDate":"M/d/yy","mediumTime":"HH:mm:ss","shortTime":"HH:mm"},"NUMBER_FORMATS":{"DECIMAL_SEP":".","GROUP_SEP":",","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"\u00A4 ","posSuf":"","negPre":"\u00A4 -","negSuf":"","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"P"},"pluralCat":function (n) { if (n == 0 || n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"id":"tl"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_tr-tr.js b/1.1.1/i18n/angular-locale_tr-tr.js
new file mode 100644
index 000000000..ea78a734f
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_tr-tr.js
@@ -0,0 +1,4 @@
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
+$provide.value("$locale", {"NUMBER_FORMATS":{"DECIMAL_SEP":",","GROUP_SEP":".","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"","posSuf":" \u00A4","negPre":"-","negSuf":" \u00A4","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"YTL"},"pluralCat":function (n) { return PLURAL_CATEGORY.OTHER;},"DATETIME_FORMATS":{"MONTH":["Ocak","Şubat","Mart","Nisan","Mayıs","Haziran","Temmuz","Ağustos","Eylül","Ekim","Kasım","Aralık"],"SHORTMONTH":["Oca","Şub","Mar","Nis","May","Haz","Tem","Ağu","Eyl","Eki","Kas","Ara"],"DAY":["Pazar","Pazartesi","Salı","Çarşamba","Perşembe","Cuma","Cumartesi"],"SHORTDAY":["Paz","Pzt","Sal","Çar","Per","Cum","Cmt"],"AMPMS":["AM","PM"],"medium":"dd MMM y HH:mm:ss","short":"dd MM yyyy HH:mm","fullDate":"dd MMMM y EEEE","longDate":"dd MMMM y","mediumDate":"dd MMM y","shortDate":"dd MM yyyy","mediumTime":"HH:mm:ss","shortTime":"HH:mm"},"id":"tr-tr"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_tr.js b/1.1.1/i18n/angular-locale_tr.js
new file mode 100644
index 000000000..e7522aeca
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_tr.js
@@ -0,0 +1,4 @@
+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":{"MONTH":["Ocak","Şubat","Mart","Nisan","Mayıs","Haziran","Temmuz","Ağustos","Eylül","Ekim","Kasım","Aralık"],"SHORTMONTH":["Oca","Şub","Mar","Nis","May","Haz","Tem","Ağu","Eyl","Eki","Kas","Ara"],"DAY":["Pazar","Pazartesi","Salı","Çarşamba","Perşembe","Cuma","Cumartesi"],"SHORTDAY":["Paz","Pzt","Sal","Çar","Per","Cum","Cmt"],"AMPMS":["AM","PM"],"medium":"dd MMM y HH:mm:ss","short":"dd MM yyyy HH:mm","fullDate":"dd MMMM y EEEE","longDate":"dd MMMM y","mediumDate":"dd MMM y","shortDate":"dd MM yyyy","mediumTime":"HH:mm:ss","shortTime":"HH:mm"},"NUMBER_FORMATS":{"DECIMAL_SEP":",","GROUP_SEP":".","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"","posSuf":" \u00A4","negPre":"-","negSuf":" \u00A4","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"YTL"},"pluralCat":function (n) { return PLURAL_CATEGORY.OTHER;},"id":"tr"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_uk-ua.js b/1.1.1/i18n/angular-locale_uk-ua.js
new file mode 100644
index 000000000..db5674ea1
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_uk-ua.js
@@ -0,0 +1,4 @@
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
+$provide.value("$locale", {"NUMBER_FORMATS":{"DECIMAL_SEP":",","GROUP_SEP":" ","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"","posSuf":" \u00A4","negPre":"-","negSuf":" \u00A4","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"₴"},"pluralCat":function (n) { if ((n % 10) == 1 && (n % 100) != 11) { return PLURAL_CATEGORY.ONE; } if ((n % 10) >= 2 && (n % 10) <= 4 && ((n % 100) < 12 || (n % 100) > 14) && n == Math.floor(n)) { return PLURAL_CATEGORY.FEW; } if ((n % 10) == 0 || ((n % 10) >= 5 && (n % 10) <= 9) || ((n % 100) >= 11 && (n % 100) <= 14) && n == Math.floor(n)) { return PLURAL_CATEGORY.MANY; } return PLURAL_CATEGORY.OTHER;},"DATETIME_FORMATS":{"MONTH":["січня","лютого","березня","квітня","травня","червня","липня","серпня","вересня","жовтня","листопада","грудня"],"SHORTMONTH":["січ.","лют.","бер.","квіт.","трав.","черв.","лип.","серп.","вер.","жовт.","лист.","груд."],"DAY":["Неділя","Понеділок","Вівторок","Середа","Четвер","Пʼятниця","Субота"],"SHORTDAY":["Нд","Пн","Вт","Ср","Чт","Пт","Сб"],"AMPMS":["дп","пп"],"medium":"d MMM y HH:mm:ss","short":"dd.MM.yy HH:mm","fullDate":"EEEE, d MMMM y 'р'.","longDate":"d MMMM y 'р'.","mediumDate":"d MMM y","shortDate":"dd.MM.yy","mediumTime":"HH:mm:ss","shortTime":"HH:mm"},"id":"uk-ua"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_uk.js b/1.1.1/i18n/angular-locale_uk.js
new file mode 100644
index 000000000..c6a3c95ce
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_uk.js
@@ -0,0 +1,4 @@
+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":{"MONTH":["січня","лютого","березня","квітня","травня","червня","липня","серпня","вересня","жовтня","листопада","грудня"],"SHORTMONTH":["січ.","лют.","бер.","квіт.","трав.","черв.","лип.","серп.","вер.","жовт.","лист.","груд."],"DAY":["Неділя","Понеділок","Вівторок","Середа","Четвер","Пʼятниця","Субота"],"SHORTDAY":["Нд","Пн","Вт","Ср","Чт","Пт","Сб"],"AMPMS":["дп","пп"],"medium":"d MMM y HH:mm:ss","short":"dd.MM.yy HH:mm","fullDate":"EEEE, d MMMM y 'р'.","longDate":"d MMMM y 'р'.","mediumDate":"d MMM y","shortDate":"dd.MM.yy","mediumTime":"HH:mm:ss","shortTime":"HH:mm"},"NUMBER_FORMATS":{"DECIMAL_SEP":",","GROUP_SEP":" ","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"","posSuf":" \u00A4","negPre":"-","negSuf":" \u00A4","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"₴"},"pluralCat":function (n) { if ((n % 10) == 1 && (n % 100) != 11) { return PLURAL_CATEGORY.ONE; } if ((n % 10) >= 2 && (n % 10) <= 4 && ((n % 100) < 12 || (n % 100) > 14) && n == Math.floor(n)) { return PLURAL_CATEGORY.FEW; } if ((n % 10) == 0 || ((n % 10) >= 5 && (n % 10) <= 9) || ((n % 100) >= 11 && (n % 100) <= 14) && n == Math.floor(n)) { return PLURAL_CATEGORY.MANY; } return PLURAL_CATEGORY.OTHER;},"id":"uk"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_ur-pk.js b/1.1.1/i18n/angular-locale_ur-pk.js
new file mode 100644
index 000000000..d13dd7794
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_ur-pk.js
@@ -0,0 +1,4 @@
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
+$provide.value("$locale", {"NUMBER_FORMATS":{"DECIMAL_SEP":".","GROUP_SEP":",","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"\u00A4","posSuf":"","negPre":"\u00A4-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"Rs."},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"DATETIME_FORMATS":{"MONTH":["جنوری","فروری","مار چ","اپريل","مئ","جون","جولائ","اگست","ستمبر","اکتوبر","نومبر","دسمبر"],"SHORTMONTH":["جنوری","فروری","مار چ","اپريل","مئ","جون","جولائ","اگست","ستمبر","اکتوبر","نومبر","دسمبر"],"DAY":["اتوار","پير","منگل","بده","جمعرات","جمعہ","ہفتہ"],"SHORTDAY":["اتوار","پير","منگل","بده","جمعرات","جمعہ","ہفتہ"],"AMPMS":["قبل دوپہر","بعد دوپہر"],"medium":"d, MMM y h:mm:ss a","short":"d/M/yy h:mm a","fullDate":"EEEE, d, MMMM y","longDate":"d, MMMM y","mediumDate":"d, MMM y","shortDate":"d/M/yy","mediumTime":"h:mm:ss a","shortTime":"h:mm a"},"id":"ur-pk"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_ur.js b/1.1.1/i18n/angular-locale_ur.js
new file mode 100644
index 000000000..995d77760
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_ur.js
@@ -0,0 +1,4 @@
+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":{"MONTH":["جنوری","فروری","مار چ","اپريل","مئ","جون","جولائ","اگست","ستمبر","اکتوبر","نومبر","دسمبر"],"SHORTMONTH":["جنوری","فروری","مار چ","اپريل","مئ","جون","جولائ","اگست","ستمبر","اکتوبر","نومبر","دسمبر"],"DAY":["اتوار","پير","منگل","بده","جمعرات","جمعہ","ہفتہ"],"SHORTDAY":["اتوار","پير","منگل","بده","جمعرات","جمعہ","ہفتہ"],"AMPMS":["قبل دوپہر","بعد دوپہر"],"medium":"d, MMM y h:mm:ss a","short":"d/M/yy h:mm a","fullDate":"EEEE, d, MMMM y","longDate":"d, MMMM y","mediumDate":"d, MMM y","shortDate":"d/M/yy","mediumTime":"h:mm:ss a","shortTime":"h:mm a"},"NUMBER_FORMATS":{"DECIMAL_SEP":".","GROUP_SEP":",","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"\u00A4","posSuf":"","negPre":"\u00A4-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"Rs."},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"id":"ur"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_vi-vn.js b/1.1.1/i18n/angular-locale_vi-vn.js
new file mode 100644
index 000000000..05b708e58
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_vi-vn.js
@@ -0,0 +1,4 @@
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
+$provide.value("$locale", {"NUMBER_FORMATS":{"DECIMAL_SEP":",","GROUP_SEP":".","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"","posSuf":" \u00A4","negPre":"-","negSuf":" \u00A4","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"₫"},"pluralCat":function (n) { return PLURAL_CATEGORY.OTHER;},"DATETIME_FORMATS":{"MONTH":["tháng một","tháng hai","tháng ba","tháng tư","tháng năm","tháng sáu","tháng bảy","tháng tám","tháng chín","tháng mười","tháng mười một","tháng mười hai"],"SHORTMONTH":["thg 1","thg 2","thg 3","thg 4","thg 5","thg 6","thg 7","thg 8","thg 9","thg 10","thg 11","thg 12"],"DAY":["Chủ nhật","Thứ hai","Thứ ba","Thứ tư","Thứ năm","Thứ sáu","Thứ bảy"],"SHORTDAY":["CN","Th 2","Th 3","Th 4","Th 5","Th 6","Th 7"],"AMPMS":["SA","CH"],"medium":"dd-MM-yyyy HH:mm:ss","short":"dd/MM/yyyy HH:mm","fullDate":"EEEE, 'ngày' dd MMMM 'năm' y","longDate":"'Ngày' dd 'tháng' M 'năm' y","mediumDate":"dd-MM-yyyy","shortDate":"dd/MM/yyyy","mediumTime":"HH:mm:ss","shortTime":"HH:mm"},"id":"vi-vn"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_vi.js b/1.1.1/i18n/angular-locale_vi.js
new file mode 100644
index 000000000..6b2cf0a96
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_vi.js
@@ -0,0 +1,4 @@
+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":{"MONTH":["tháng một","tháng hai","tháng ba","tháng tư","tháng năm","tháng sáu","tháng bảy","tháng tám","tháng chín","tháng mười","tháng mười một","tháng mười hai"],"SHORTMONTH":["thg 1","thg 2","thg 3","thg 4","thg 5","thg 6","thg 7","thg 8","thg 9","thg 10","thg 11","thg 12"],"DAY":["Chủ nhật","Thứ hai","Thứ ba","Thứ tư","Thứ năm","Thứ sáu","Thứ bảy"],"SHORTDAY":["CN","Th 2","Th 3","Th 4","Th 5","Th 6","Th 7"],"AMPMS":["SA","CH"],"medium":"dd-MM-yyyy HH:mm:ss","short":"dd/MM/yyyy HH:mm","fullDate":"EEEE, 'ngày' dd MMMM 'năm' y","longDate":"'Ngày' dd 'tháng' M 'năm' y","mediumDate":"dd-MM-yyyy","shortDate":"dd/MM/yyyy","mediumTime":"HH:mm:ss","shortTime":"HH:mm"},"NUMBER_FORMATS":{"DECIMAL_SEP":",","GROUP_SEP":".","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"","posSuf":" \u00A4","negPre":"-","negSuf":" \u00A4","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"₫"},"pluralCat":function (n) { return PLURAL_CATEGORY.OTHER;},"id":"vi"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_zh-cn.js b/1.1.1/i18n/angular-locale_zh-cn.js
new file mode 100644
index 000000000..52658017b
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_zh-cn.js
@@ -0,0 +1,4 @@
+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":{"MONTH":["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],"SHORTMONTH":["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],"DAY":["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],"SHORTDAY":["周日","周一","周二","周三","周四","周五","周六"],"AMPMS":["上午","下午"],"medium":"yyyy-M-d ah:mm:ss","short":"yy-M-d ah:mm","fullDate":"y年M月d日EEEE","longDate":"y年M月d日","mediumDate":"yyyy-M-d","shortDate":"yy-M-d","mediumTime":"ah:mm:ss","shortTime":"ah:mm"},"NUMBER_FORMATS":{"DECIMAL_SEP":".","GROUP_SEP":",","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"\u00A4","posSuf":"","negPre":"\u00A4-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"¥"},"pluralCat":function (n) { return PLURAL_CATEGORY.OTHER;},"id":"zh-cn"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_zh-hans-cn.js b/1.1.1/i18n/angular-locale_zh-hans-cn.js
new file mode 100644
index 000000000..a9a162b8b
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_zh-hans-cn.js
@@ -0,0 +1,4 @@
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
+$provide.value("$locale", {"NUMBER_FORMATS":{"DECIMAL_SEP":".","GROUP_SEP":",","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"\u00A4","posSuf":"","negPre":"\u00A4-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"¥"},"pluralCat":function (n) { return PLURAL_CATEGORY.OTHER;},"DATETIME_FORMATS":{"MONTH":["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],"SHORTMONTH":["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],"DAY":["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],"SHORTDAY":["周日","周一","周二","周三","周四","周五","周六"],"AMPMS":["上午","下午"],"medium":"yyyy-M-d ah:mm:ss","short":"yy-M-d ah:mm","fullDate":"y年M月d日EEEE","longDate":"y年M月d日","mediumDate":"yyyy-M-d","shortDate":"yy-M-d","mediumTime":"ah:mm:ss","shortTime":"ah:mm"},"id":"zh-hans-cn"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_zh-hans.js b/1.1.1/i18n/angular-locale_zh-hans.js
new file mode 100644
index 000000000..d966d8a26
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_zh-hans.js
@@ -0,0 +1,4 @@
+angular.module("ngLocale", [], ["$provide", function($provide) {
+var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
+$provide.value("$locale", {"NUMBER_FORMATS":{"DECIMAL_SEP":".","GROUP_SEP":",","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"\u00A4","posSuf":"","negPre":"\u00A4-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"¥"},"pluralCat":function (n) { return PLURAL_CATEGORY.OTHER;},"DATETIME_FORMATS":{"MONTH":["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],"SHORTMONTH":["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],"DAY":["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],"SHORTDAY":["周日","周一","周二","周三","周四","周五","周六"],"AMPMS":["上午","下午"],"medium":"yyyy-M-d ah:mm:ss","short":"yy-M-d ah:mm","fullDate":"y年M月d日EEEE","longDate":"y年M月d日","mediumDate":"yyyy-M-d","shortDate":"yy-M-d","mediumTime":"ah:mm:ss","shortTime":"ah:mm"},"id":"zh-hans"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_zh-hk.js b/1.1.1/i18n/angular-locale_zh-hk.js
new file mode 100644
index 000000000..c7a82ab7c
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_zh-hk.js
@@ -0,0 +1,4 @@
+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":{"MONTH":["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],"SHORTMONTH":["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],"DAY":["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],"SHORTDAY":["週日","週一","週二","週三","週四","週五","週六"],"AMPMS":["上午","下午"],"medium":"y年M月d日 ahh:mm:ss","short":"yy年M月d日 ah:mm","fullDate":"y年M月d日EEEE","longDate":"y年M月d日","mediumDate":"y年M月d日","shortDate":"yy年M月d日","mediumTime":"ahh:mm:ss","shortTime":"ah:mm"},"NUMBER_FORMATS":{"DECIMAL_SEP":".","GROUP_SEP":",","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"\u00A4","posSuf":"","negPre":"(\u00A4","negSuf":")","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"$"},"pluralCat":function (n) { return PLURAL_CATEGORY.OTHER;},"id":"zh-hk"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_zh-tw.js b/1.1.1/i18n/angular-locale_zh-tw.js
new file mode 100644
index 000000000..1fc184620
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_zh-tw.js
@@ -0,0 +1,4 @@
+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":{"MONTH":["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],"SHORTMONTH":["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],"DAY":["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],"SHORTDAY":["週日","週一","週二","週三","週四","週五","週六"],"AMPMS":["上午","下午"],"medium":"yyyy/M/d ah:mm:ss","short":"yy/M/d ah:mm","fullDate":"y年M月d日EEEE","longDate":"y年M月d日","mediumDate":"yyyy/M/d","shortDate":"yy/M/d","mediumTime":"ah:mm:ss","shortTime":"ah:mm"},"NUMBER_FORMATS":{"DECIMAL_SEP":".","GROUP_SEP":",","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"\u00A4","posSuf":"","negPre":"\u00A4-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"NT$"},"pluralCat":function (n) { return PLURAL_CATEGORY.OTHER;},"id":"zh-tw"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/i18n/angular-locale_zh.js b/1.1.1/i18n/angular-locale_zh.js
new file mode 100644
index 000000000..87785853d
--- /dev/null
+++ b/1.1.1/i18n/angular-locale_zh.js
@@ -0,0 +1,4 @@
+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":{"MONTH":["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],"SHORTMONTH":["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],"DAY":["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],"SHORTDAY":["周日","周一","周二","周三","周四","周五","周六"],"AMPMS":["上午","下午"],"medium":"yyyy-M-d ah:mm:ss","short":"yy-M-d ah:mm","fullDate":"y年M月d日EEEE","longDate":"y年M月d日","mediumDate":"yyyy-M-d","shortDate":"yy-M-d","mediumTime":"ah:mm:ss","shortTime":"ah:mm"},"NUMBER_FORMATS":{"DECIMAL_SEP":".","GROUP_SEP":",","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"\u00A4","posSuf":"","negPre":"\u00A4-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"¥"},"pluralCat":function (n) { return PLURAL_CATEGORY.OTHER;},"id":"zh"});
+}]);
\ No newline at end of file
diff --git a/1.1.1/version.txt b/1.1.1/version.txt
new file mode 100644
index 000000000..524cb5524
--- /dev/null
+++ b/1.1.1/version.txt
@@ -0,0 +1 @@
+1.1.1