Nuiton-js-commits
Threads by month
- ----- 2026 -----
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- 636 discussions
r199 - in sandbox/nuiton-js-angular: . src/main/resources/META-INF/nuiton-js src/main/resources/nuiton-js-angular src/main/resources/nuiton-js-angular/extra src/main/resources/nuiton-js-angular/i18n
by echatellier@users.nuiton.org 14 Aug '13
by echatellier@users.nuiton.org 14 Aug '13
14 Aug '13
Author: echatellier
Date: 2013-08-14 10:20:29 +0200 (Wed, 14 Aug 2013)
New Revision: 199
Url: http://nuiton.org/projects/nuiton-js/repository/revisions/199
Log:
Update to angular 1.2.0-rc1
Added:
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/extra/angular-animate.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/extra/angular-mocks.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/extra/angular-route.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/extra/angular-touch.js
Removed:
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/extra/angular-mobile.js
Modified:
sandbox/nuiton-js-angular/pom.xml
sandbox/nuiton-js-angular/src/main/resources/META-INF/nuiton-js/wro-angular.xml
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/angular.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/extra/angular-cookies.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/extra/angular-loader.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/extra/angular-resource.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/extra/angular-sanitize.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_af-na.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_af-za.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_af.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_am-et.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_am.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ar-001.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ar-ae.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ar-bh.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ar-dz.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ar-eg.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ar-iq.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ar-jo.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ar-kw.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ar-lb.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ar-ly.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ar-ma.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ar-om.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ar-qa.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ar-sa.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ar-sd.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ar-sy.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ar-tn.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ar-ye.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ar.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_bg-bg.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_bg.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_bn-bd.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_bn-in.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_bn.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ca-ad.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ca-es.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ca.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_cs-cz.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_cs.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_da-dk.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_da.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_de-at.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_de-be.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_de-ch.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_de-de.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_de-li.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_de-lu.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_de.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_el-cy.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_el-gr.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_el.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-as.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-au.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-bb.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-be.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-bm.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-bw.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-bz.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-ca.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-dsrt-us.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-dsrt.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-fm.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-gb.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-gu.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-gy.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-hk.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-ie.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-in.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-iso.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-jm.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-mh.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-mp.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-mt.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-mu.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-na.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-nz.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-ph.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-pk.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-pr.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-pw.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-sg.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-tc.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-tt.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-um.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-us.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-vg.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-vi.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-za.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-zw.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es-419.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es-ar.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es-bo.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es-cl.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es-co.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es-cr.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es-do.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es-ea.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es-ec.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es-es.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es-gq.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es-gt.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es-hn.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es-ic.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es-mx.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es-ni.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es-pa.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es-pe.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es-pr.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es-py.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es-sv.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es-us.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es-uy.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es-ve.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_et-ee.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_et.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_eu-es.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_eu.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fa-af.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fa-ir.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fa.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fi-fi.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fi.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fil-ph.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fil.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-be.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-bf.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-bi.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-bj.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-bl.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-ca.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-cd.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-cf.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-cg.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-ch.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-ci.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-cm.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-dj.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-fr.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-ga.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-gf.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-gn.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-gp.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-gq.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-km.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-lu.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-mc.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-mf.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-mg.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-ml.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-mq.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-ne.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-re.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-yt.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_gl-es.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_gl.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_gsw-ch.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_gsw.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_gu-in.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_gu.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_he-il.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_he.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_hi-in.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_hi.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_hr-hr.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_hr.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_hu-hu.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_hu.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_id-id.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_id.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_in.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_is-is.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_is.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_it-it.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_it-sm.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_it.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_iw.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ja-jp.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ja.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_kn-in.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_kn.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ko-kr.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ko.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ln-cd.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ln.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_lt-lt.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_lt.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_lv-lv.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_lv.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ml-in.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ml.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_mr-in.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_mr.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ms-my.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ms.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_mt-mt.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_mt.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_nl-cw.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_nl-nl.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_nl-sx.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_nl.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_no.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_or-in.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_or.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_pl-pl.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_pl.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_pt-br.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_pt-pt.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_pt.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ro-ro.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ro.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ru-ru.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ru.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_sk-sk.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_sk.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_sl-si.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_sl.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_sq-al.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_sq.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_sr-cyrl-rs.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_sr-latn-rs.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_sr.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_sv-se.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_sv.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_sw-tz.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_sw.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ta-in.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ta.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_te-in.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_te.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_th-th.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_th.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_tl.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_tr-tr.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_tr.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_uk-ua.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_uk.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ur-pk.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ur.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_vi-vn.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_vi.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_zh-cn.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_zh-hans-cn.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_zh-hk.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_zh-tw.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_zh.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_zu-za.js
sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_zu.js
Modified: sandbox/nuiton-js-angular/pom.xml
===================================================================
--- sandbox/nuiton-js-angular/pom.xml 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/pom.xml 2013-08-14 08:20:29 UTC (rev 199)
@@ -14,7 +14,7 @@
</parent>
<artifactId>nuiton-js-angular</artifactId>
- <version>1.1.5-2-SNAPSHOT</version>
+ <version>1.2.0-rc1-1-SNAPSHOT</version>
<name>Nuiton JS :: Angular</name>
<description>Angular jar packaging</description>
@@ -29,9 +29,9 @@
</licenses>
<scm>
- <connection>scm:svn:http://svn.nuiton.org/svn/nuiton-js/tags/nuiton-js-angular-1.1.5-2</connection>
- <developerConnection>scm:svn:http://svn.nuiton.org/svn/nuiton-js/tags/nuiton-js-angular-1.1.5-2</developerConnection>
- <url>http://www.nuiton.org/repositories/browse/nuiton-js/tags/nuiton-js-angular-…</url>
+ <connection>scm:svn:http://svn.nuiton.org/svn/nuiton-js/tags/nuiton-js-angular-1.2.0-rc…</connection>
+ <developerConnection>scm:svn:http://svn.nuiton.org/svn/nuiton-js/tags/nuiton-js-angular-1.2.0-rc…</developerConnection>
+ <url>http://www.nuiton.org/repositories/browse/nuiton-js/tags/nuiton-js-angular-…</url>
</scm>
</project>
Modified: sandbox/nuiton-js-angular/src/main/resources/META-INF/nuiton-js/wro-angular.xml
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/META-INF/nuiton-js/wro-angular.xml 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/META-INF/nuiton-js/wro-angular.xml 2013-08-14 08:20:29 UTC (rev 199)
@@ -26,6 +26,10 @@
<js>classpath:nuiton-js-angular/angular.js</js>
</group>
+ <group name='angular-animate'>
+ <js>classpath:nuiton-js-angular/extra/angular-animate.js</js>
+ </group>
+
<group name='angular-cookies'>
<js>classpath:nuiton-js-angular/extra/angular-cookies.js</js>
</group>
@@ -34,18 +38,26 @@
<js>classpath:nuiton-js-angular/extra/angular-loader.js</js>
</group>
- <group name='angular-mobile'>
- <js>classpath:nuiton-js-angular/extra/angular-mobile.js</js>
+ <group name='angular-mocks'>
+ <js>classpath:nuiton-js-angular/extra/angular-mocks.js</js>
</group>
<group name='angular-resource'>
<js>classpath:nuiton-js-angular/extra/angular-resource.js</js>
</group>
+ <group name='angular-route'>
+ <js>classpath:nuiton-js-angular/extra/angular-route.js</js>
+ </group>
+
<group name='angular-sanitize'>
<js>classpath:nuiton-js-angular/extra/angular-sanitize.js</js>
</group>
+ <group name='angular-touch'>
+ <js>classpath:nuiton-js-angular/extra/angular-touch.js</js>
+ </group>
+
<group name='angular-af-na'>
<js>classpath:nuiton-js-angular/i18n/angular-locale_af-na.js</js>
</group>
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/angular.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/angular.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/angular.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -1,14 +1,79 @@
/** %%Ignore-License
- * @license AngularJS v1.1.5
+ * @license AngularJS v1.2.0rc1
* (c) 2010-2012 Google, Inc. http://angularjs.org
* License: MIT
*/
-(function(window, document, undefined) {
-'use strict';
+(function(window, document, undefined) {'use strict';
+/**
+ * @description
+ *
+ * This object provides a utility for producing rich Error messages within
+ * Angular. It can be called as follows:
+ *
+ * var exampleMinErr = minErr('example');
+ * throw exampleMinErr('one', 'This {0} is {1}', foo, bar);
+ *
+ * The above creates an instance of minErr in the example namespace. The
+ * resulting error will have a namespaced error code of example.one. The
+ * resulting error will replace {0} with the value of foo, and {1} with the
+ * value of bar. The object is not restricted in the number of arguments it can
+ * take.
+ *
+ * If fewer arguments are specified than necessary for interpolation, the extra
+ * interpolation markers will be preserved in the final string.
+ *
+ * Since data will be parsed statically during a build step, some restrictions
+ * are applied with respect to how minErr instances are created and called.
+ * Instances should have names of the form namespaceMinErr for a minErr created
+ * using minErr('namespace') . Error codes, namespaces and template strings
+ * should all be static strings, not variables or general expressions.
+ *
+ * @param {string} module The namespace to use for the new minErr instance.
+ * @returns {function(string, string, ...): Error} instance
+ */
+
+function minErr(module) {
+ return function () {
+ var prefix = '[' + (module ? module + ':' : '') + arguments[0] + '] ',
+ template = arguments[1],
+ templateArgs = arguments,
+ message;
+
+ message = prefix + template.replace(/\{\d+\}/g, function (match) {
+ var index = +match.slice(1, -1), arg;
+
+ if (index + 2 < templateArgs.length) {
+ arg = templateArgs[index + 2];
+ if (isFunction(arg)) {
+ return arg.toString().replace(/ ?\{[\s\S]*$/, '');
+ } else if (isUndefined(arg)) {
+ return 'undefined';
+ } else if (!isString(arg)) {
+ return toJson(arg);
+ }
+ return arg;
+ }
+ return match;
+ });
+
+ return new Error(message);
+ };
+}
+
////////////////////////////////////
/**
+ * hasOwnProperty may be overwritten by a property of the same name, or entirely
+ * absent from an object that does not inherit Object.prototype; this copy is
+ * used instead
+ */
+var hasOwnPropertyFn = Object.prototype.hasOwnProperty;
+var hasOwnPropertyLocal = function(obj, key) {
+ return hasOwnPropertyFn.call(obj, key);
+};
+
+/**
* @ngdoc function
* @name angular.lowercase
* @function
@@ -60,6 +125,7 @@
slice = [].slice,
push = [].push,
toString = Object.prototype.toString,
+ ngMinErr = minErr('ng'),
_angular = window.angular,
@@ -70,42 +136,24 @@
uid = ['0', '0', '0'];
/**
- * @ngdoc function
- * @name angular.noConflict
- * @function
- *
- * @description
- * Restores the previous global value of angular and returns the current instance. Other libraries may already use the
- * angular namespace. Or a previous version of angular is already loaded on the page. In these cases you may want to
- * restore the previous namespace and keep a reference to angular.
- *
- * @return {Object} The current angular namespace
- */
-function noConflict() {
- var a = window.angular;
- window.angular = _angular;
- return a;
-}
-
-/**
* @private
* @param {*} obj
* @return {boolean} Returns true if `obj` is an array or array-like object (NodeList, Arguments, ...)
*/
function isArrayLike(obj) {
- if (!obj || (typeof obj.length !== 'number')) return false;
+ if (obj == null || isWindow(obj)) {
+ return false;
+ }
+
+ var length = obj.length;
- // We have on object which has length property. Should we treat it as array?
- if (typeof obj.hasOwnProperty != 'function' &&
- typeof obj.constructor != 'function') {
- // This is here for IE8: it is a bogus object treat it as array;
+ if (obj.nodeType === 1 && length) {
return true;
- } else {
- return obj instanceof JQLite || // JQLite
- (jQuery && obj instanceof jQuery) || // jQuery
- toString.call(obj) !== '[object Object]' || // some browser native object
- typeof obj.callee === 'function'; // arguments (on IE8 looks like regular obj)
}
+
+ return isArray(obj) || !isFunction(obj) && (
+ length === 0 || typeof length === "number" && length > 0 && (length - 1) in obj
+ );
}
/**
@@ -221,7 +269,7 @@
/**
* Set or clear the hashkey for an object.
- * @param obj object
+ * @param obj object
* @param h the hashkey (!truthy to delete the hashkey)
*/
function setHashKey(obj, h) {
@@ -269,12 +317,6 @@
return extend(new (extend(function() {}, {prototype:parent}))(), extra);
}
-var START_SPACE = /^\s*/;
-var END_SPACE = /\s*$/;
-function stripWhitespace(str) {
- return isString(str) ? str.replace(START_SPACE, '').replace(END_SPACE, '') : str;
-}
-
/**
* @ngdoc function
* @name angular.noop
@@ -305,7 +347,7 @@
*
<pre>
function transformer(transformationFn, value) {
- return (transformationFn || identity)(value);
+ return (transformationFn || angular.identity)(value);
};
</pre>
*/
@@ -433,6 +475,18 @@
/**
+ * Determines if a value is a regular expression object.
+ *
+ * @private
+ * @param {*} value Reference to check.
+ * @returns {boolean} True if `value` is a `RegExp`.
+ */
+function isRegExp(value) {
+ return toString.apply(value) == '[object RegExp]';
+}
+
+
+/**
* Checks if `obj` is a window object.
*
* @private
@@ -459,10 +513,21 @@
}
-function trim(value) {
- return isString(value) ? value.replace(/^\s*/, '').replace(/\s*$/, '') : value;
-}
+var trim = (function() {
+ // native trim is way faster: http://jsperf.com/angular-trim-test
+ // but IE doesn't have it... :-(
+ // TODO: we should move this into IE/ES5 polyfill
+ if (!String.prototype.trim) {
+ return function(value) {
+ return isString(value) ? value.replace(/^\s*/, '').replace(/\s*$/, '') : value;
+ };
+ }
+ return function(value) {
+ return isString(value) ? value.trim() : value;
+ };
+})();
+
/**
* @ngdoc function
* @name angular.isElement
@@ -477,7 +542,7 @@
function isElement(node) {
return node &&
(node.nodeName // we are a direct element
- || (node.bind && node.find)); // we have a bind and find method part of jQuery API
+ || (node.on && node.find)); // we have an on and find method part of jQuery API
}
/**
@@ -596,7 +661,10 @@
* @returns {*} The copy or updated `destination`, if `destination` was specified.
*/
function copy(source, destination){
- if (isWindow(source) || isScope(source)) throw Error("Can't copy Window or Scope");
+ if (isWindow(source) || isScope(source)) {
+ throw ngMinErr('cpws', "Can't copy! Making copies of Window or Scope instances is not supported.");
+ }
+
if (!destination) {
destination = source;
if (source) {
@@ -604,12 +672,14 @@
destination = copy(source, []);
} else if (isDate(source)) {
destination = new Date(source.getTime());
+ } else if (isRegExp(source)) {
+ destination = new RegExp(source.source);
} else if (isObject(source)) {
destination = copy(source, {});
}
}
} else {
- if (source === destination) throw Error("Can't copy equivalent objects or arrays");
+ if (source === destination) throw ngMinErr('cpi', "Can't copy! Source and destination are identical.");
if (isArray(source)) {
destination.length = 0;
for ( var i = 0; i < source.length; i++) {
@@ -651,7 +721,7 @@
* @function
*
* @description
- * Determines if two objects or two values are equivalent. Supports value types, arrays and
+ * Determines if two objects or two values are equivalent. Supports value types, regular expressions, arrays and
* objects.
*
* Two objects or values are considered equivalent if at least one of the following is true:
@@ -659,6 +729,9 @@
* * Both objects or values pass `===` comparison.
* * Both objects or values are of the same type and all of their properties pass `===` comparison.
* * Both values are NaN. (In JavasScript, NaN == NaN => false. But we consider two NaN as equal)
+ * * Both values represent the same regular expression (In JavasScript,
+ * /abc/ == /abc/ => false. But we consider two regular expressions as equal when their textual
+ * representation matches).
*
* During a property comparison, properties of `function` type and properties with names
* that begin with `$` are ignored.
@@ -677,6 +750,7 @@
if (t1 == t2) {
if (t1 == 'object') {
if (isArray(o1)) {
+ if (!isArray(o2)) return false;
if ((length = o1.length) == o2.length) {
for(key=0; key<length; key++) {
if (!equals(o1[key], o2[key])) return false;
@@ -685,8 +759,10 @@
}
} else if (isDate(o1)) {
return isDate(o2) && o1.getTime() == o2.getTime();
+ } else if (isRegExp(o1) && isRegExp(o2)) {
+ return o1.toString() == o2.toString();
} else {
- if (isScope(o1) || isScope(o2) || isWindow(o1) || isWindow(o2)) return false;
+ if (isScope(o1) || isScope(o2) || isWindow(o1) || isWindow(o2) || isArray(o2)) return false;
keySet = {};
for(key in o1) {
if (key.charAt(0) === '$' || isFunction(o1[key])) continue;
@@ -694,7 +770,7 @@
keySet[key] = true;
}
for(key in o2) {
- if (!keySet[key] &&
+ if (!keySet.hasOwnProperty(key) &&
key.charAt(0) !== '$' &&
o2[key] !== undefined &&
!isFunction(o2[key])) return false;
@@ -775,13 +851,15 @@
* @function
*
* @description
- * Serializes input into a JSON-formatted string.
+ * Serializes input into a JSON-formatted string. Properties with leading $ characters will be
+ * stripped since angular uses this notation internally.
*
* @param {Object|Array|Date|string|number} obj Input to be serialized into JSON.
* @param {boolean=} pretty If set to true, the JSON output will contain newlines and whitespace.
- * @returns {string} Jsonified string representing `obj`.
+ * @returns {string|undefined} JSON-ified string representing `obj`.
*/
function toJson(obj, pretty) {
+ if (typeof obj === 'undefined') return undefined;
return JSON.stringify(obj, toJsonReplacer, pretty ? ' ' : null);
}
@@ -842,16 +920,42 @@
/////////////////////////////////////////////////
/**
+ * Tries to decode the URI component without throwing an exception.
+ *
+ * @private
+ * @param str value potential URI component to check.
+ * @returns {boolean} True if `value` can be decoded
+ * with the decodeURIComponent function.
+ */
+function tryDecodeURIComponent(value) {
+ try {
+ return decodeURIComponent(value);
+ } catch(e) {
+ // Ignore any invalid uri component
+ }
+}
+
+
+/**
* Parses an escaped url query string into key-value pairs.
* @returns Object.<(string|boolean)>
*/
function parseKeyValue(/**string*/keyValue) {
var obj = {}, key_value, key;
forEach((keyValue || "").split('&'), function(keyValue){
- if (keyValue) {
+ if ( keyValue ) {
key_value = keyValue.split('=');
- key = decodeURIComponent(key_value[0]);
- obj[key] = isDefined(key_value[1]) ? decodeURIComponent(key_value[1]) : true;
+ key = tryDecodeURIComponent(key_value[0]);
+ if ( isDefined(key) ) {
+ var val = isDefined(key_value[1]) ? tryDecodeURIComponent(key_value[1]) : true;
+ if (!obj[key]) {
+ obj[key] = val;
+ } else if(isArray(obj[key])) {
+ obj[key].push(val);
+ } else {
+ obj[key] = [obj[key],val];
+ }
+ }
}
});
return obj;
@@ -860,7 +964,13 @@
function toKeyValue(obj) {
var parts = [];
forEach(obj, function(value, key) {
+ if (isArray(value)) {
+ forEach(value, function(arrayValue) {
+ parts.push(encodeUriQuery(key, true) + (arrayValue === true ? '' : '=' + encodeUriQuery(arrayValue, true)));
+ });
+ } else {
parts.push(encodeUriQuery(key, true) + (value === true ? '' : '=' + encodeUriQuery(value, true)));
+ }
});
return parts.length ? parts.join('&') : '';
}
@@ -917,10 +1027,14 @@
* @description
*
* Use this directive to auto-bootstrap an application. Only
- * one directive can be used per HTML document. The directive
+ * one ngApp directive can be used per HTML document. The directive
* designates the root of the application and is typically placed
* at the root of the page.
*
+ * The first ngApp found in the document will be auto-bootstrapped. To use multiple applications in an
+ * HTML document you must manually bootstrap them using {@link angular.bootstrap}.
+ * Applications cannot be nested.
+ *
* In the example below if the `ngApp` directive would not be placed
* on the `html` element then the document would not be compiled
* and the `{{ 1+2 }}` would not be resolved to `3`.
@@ -986,26 +1100,35 @@
*
* See: {@link guide/bootstrap Bootstrap}
*
+ * Note that ngScenario-based end-to-end tests cannot use this function to bootstrap manually.
+ * They must use {@link api/ng.directive:ngApp ngApp}.
+ *
* @param {Element} element DOM element which is the root of angular application.
* @param {Array<String|Function>=} modules an array of module declarations. See: {@link angular.module modules}
* @returns {AUTO.$injector} Returns the newly created injector for this app.
*/
function bootstrap(element, modules) {
- var resumeBootstrapInternal = function() {
+ var doBootstrap = function() {
element = jqLite(element);
+
+ if (element.injector()) {
+ var tag = (element[0] === document) ? 'document' : startingTag(element);
+ throw ngMinErr('btstrpd', "App Already Bootstrapped with this Element '{0}'", tag);
+ }
+
modules = modules || [];
modules.unshift(['$provide', function($provide) {
$provide.value('$rootElement', element);
}]);
modules.unshift('ng');
var injector = createInjector(modules);
- injector.invoke(['$rootScope', '$rootElement', '$compile', '$injector', '$animator',
- function(scope, element, compile, injector, animator) {
+ injector.invoke(['$rootScope', '$rootElement', '$compile', '$injector', '$animate',
+ function(scope, element, compile, injector, animate) {
scope.$apply(function() {
element.data('$injector', injector);
compile(element)(scope);
});
- animator.enabled(true);
+ animate.enabled(true);
}]
);
return injector;
@@ -1014,7 +1137,7 @@
var NG_DEFER_BOOTSTRAP = /^NG_DEFER_BOOTSTRAP!/;
if (window && !NG_DEFER_BOOTSTRAP.test(window.name)) {
- return resumeBootstrapInternal();
+ return doBootstrap();
}
window.name = window.name.replace(NG_DEFER_BOOTSTRAP, '');
@@ -1022,7 +1145,7 @@
forEach(extraModules, function(module) {
modules.push(module);
});
- resumeBootstrapInternal();
+ doBootstrap();
};
}
@@ -1046,9 +1169,10 @@
injector: JQLitePrototype.injector,
inheritedData: JQLitePrototype.inheritedData
});
- JQLitePatchJQueryRemove('remove', true);
- JQLitePatchJQueryRemove('empty');
- JQLitePatchJQueryRemove('html');
+ // Method signature: JQLitePatchJQueryRemove(name, dispatchThis, filterElems, getterIfNoArguments)
+ JQLitePatchJQueryRemove('remove', true, true, false);
+ JQLitePatchJQueryRemove('empty', false, false, false);
+ JQLitePatchJQueryRemove('html', false, false, true);
} else {
jqLite = JQLite;
}
@@ -1060,7 +1184,7 @@
*/
function assertArg(arg, name, reason) {
if (!arg) {
- throw new Error("Argument '" + (name || '?') + "' is " + (reason || "required"));
+ throw ngMinErr('areq', "Argument '{0}' is {1}", (name || '?'), (reason || "required"));
}
return arg;
}
@@ -1076,6 +1200,33 @@
}
/**
+ * Return the value accessible from the object by path. Any undefined traversals are ignored
+ * @param {Object} obj starting object
+ * @param {string} path path to traverse
+ * @param {boolean=true} bindFnToScope
+ * @returns value as accessible by path
+ */
+//TODO(misko): this function needs to be removed
+function getter(obj, path, bindFnToScope) {
+ if (!path) return obj;
+ var keys = path.split('.');
+ var key;
+ var lastInstance = obj;
+ var len = keys.length;
+
+ for (var i = 0; i < len; i++) {
+ key = keys[i];
+ if (obj) {
+ obj = (lastInstance = obj)[key];
+ }
+ }
+ if (!bindFnToScope && isFunction(obj)) {
+ return bind(lastInstance, obj);
+ }
+ return obj;
+}
+
+/**
* @ngdoc interface
* @name angular.Module
* @description
@@ -1105,8 +1256,8 @@
*
* # Module
*
- * A module is a collocation of services, directives, filters, and configuration information. Module
- * is used to configure the {@link AUTO.$injector $injector}.
+ * A module is a collection of services, directives, filters, and configuration information.
+ * `angular.module` is used to configure the {@link AUTO.$injector $injector}.
*
* <pre>
* // Create a new module
@@ -1145,7 +1296,9 @@
}
return ensure(modules, name, function() {
if (!requires) {
- throw Error('No module: ' + name);
+ throw minErr('$injector')('nomod', "Module '{0}' is not available! You either misspelled the module name " +
+ "or forgot to load it. If registering a module ensure that you specify the dependencies as the second " +
+ "argument.", name);
}
/** @type {!Array.<Array.<*>>} */
@@ -1246,24 +1399,30 @@
* @param {Function} animationFactory Factory function for creating new instance of an animation.
* @description
*
- * Defines an animation hook that can be later used with {@link ng.directive:ngAnimate ngAnimate}
- * alongside {@link ng.directive:ngAnimate#Description common ng directives} as well as custom directives.
+ * **NOTE**: animations are take effect only if the **ngAnimate** module is loaded.
+ *
+ *
+ * Defines an animation hook that can be later used with {@link ngAnimate.$animate $animate} service and
+ * directives that use this service.
+ *
* <pre>
- * module.animation('animation-name', function($inject1, $inject2) {
+ * module.animation('.animation-name', function($inject1, $inject2) {
* return {
- * //this gets called in preparation to setup an animation
- * setup : function(element) { ... },
- *
- * //this gets called once the animation is run
- * start : function(element, done, memo) { ... }
+ * eventName : function(element, done) {
+ * //code to run the animation
+ * //once complete, then run done()
+ * return function cancellationFunction(element) {
+ * //code to cancel the animation
+ * }
+ * }
* }
* })
* </pre>
*
- * See {@link ng.$animationProvider#register $animationProvider.register()} and
- * {@link ng.directive:ngAnimate ngAnimate} for more information.
+ * See {@link ngAnimate.$animateProvider#register $animateProvider.register()} and
+ * {@link ngAnimate ngAnimate module} for more information.
*/
- animation: invokeLater('$animationProvider', 'register'),
+ animation: invokeLater('$animateProvider', 'register'),
/**
* @ngdoc method
@@ -1364,11 +1523,11 @@
* - `codeName` – `{string}` – Code name of the release, such as "jiggling-armfat".
*/
var version = {
- full: '1.1.5', // all of these placeholder strings will be replaced by grunt's
+ full: '1.2.0rc1', // all of these placeholder strings will be replaced by grunt's
major: 1, // package task
- minor: 1,
- dot: 5,
- codeName: 'triangle-squarification'
+ minor: 2,
+ dot: 0,
+ codeName: 'spooky-giraffe'
};
@@ -1394,12 +1553,12 @@
'isNumber': isNumber,
'isElement': isElement,
'isArray': isArray,
+ '$$minErr': minErr,
'version': version,
'isDate': isDate,
'lowercase': lowercase,
'uppercase': uppercase,
- 'callbacks': {counter: 0},
- 'noConflict': noConflict
+ 'callbacks': {counter: 0}
});
angularModule = setupModuleLoader(window);
@@ -1422,7 +1581,7 @@
style: styleDirective,
option: optionDirective,
ngBind: ngBindDirective,
- ngBindHtmlUnsafe: ngBindHtmlUnsafeDirective,
+ ngBindHtml: ngBindHtmlDirective,
ngBindTemplate: ngBindTemplateDirective,
ngClass: ngClassDirective,
ngClassEven: ngClassEvenDirective,
@@ -1439,13 +1598,11 @@
ngPluralize: ngPluralizeDirective,
ngRepeat: ngRepeatDirective,
ngShow: ngShowDirective,
- ngSubmit: ngSubmitDirective,
ngStyle: ngStyleDirective,
ngSwitch: ngSwitchDirective,
ngSwitchWhen: ngSwitchWhenDirective,
ngSwitchDefault: ngSwitchDefaultDirective,
ngOptions: ngOptionsDirective,
- ngView: ngViewDirective,
ngTransclude: ngTranscludeDirective,
ngModel: ngModelDirective,
ngList: ngListDirective,
@@ -1458,8 +1615,7 @@
directive(ngEventDirectives);
$provide.provider({
$anchorScroll: $AnchorScrollProvider,
- $animation: $AnimationProvider,
- $animator: $AnimatorProvider,
+ $animate: $AnimateProvider,
$browser: $BrowserProvider,
$cacheFactory: $CacheFactoryProvider,
$controller: $ControllerProvider,
@@ -1472,14 +1628,15 @@
$location: $LocationProvider,
$log: $LogProvider,
$parse: $ParseProvider,
- $route: $RouteProvider,
- $routeParams: $RouteParamsProvider,
$rootScope: $RootScopeProvider,
$q: $QProvider,
+ $sce: $SceProvider,
+ $sceDelegate: $SceDelegateProvider,
$sniffer: $SnifferProvider,
$templateCache: $TemplateCacheProvider,
$timeout: $TimeoutProvider,
- $window: $WindowProvider
+ $window: $WindowProvider,
+ $$urlUtils: $$UrlUtilsProvider
});
}
]);
@@ -1511,13 +1668,14 @@
* Note: All element references in Angular are always wrapped with jQuery or jqLite; they are never
* raw DOM references.
*
- * ## Angular's jQuery lite provides the following methods:
+ * ## Angular's jqLite
+ * Angular's lite version of jQuery provides only the following jQuery methods:
*
* - [addClass()](http://api.jquery.com/addClass/)
* - [after()](http://api.jquery.com/after/)
* - [append()](http://api.jquery.com/append/)
* - [attr()](http://api.jquery.com/attr/)
- * - [bind()](http://api.jquery.com/bind/) - Does not support namespaces
+ * - [bind()](http://api.jquery.com/on/) - Does not support namespaces, selectors or eventData
* - [children()](http://api.jquery.com/children/) - Does not support selectors
* - [clone()](http://api.jquery.com/clone/)
* - [contents()](http://api.jquery.com/contents/)
@@ -1528,6 +1686,8 @@
* - [hasClass()](http://api.jquery.com/hasClass/)
* - [html()](http://api.jquery.com/html/)
* - [next()](http://api.jquery.com/next/) - Does not support selectors
+ * - [on()](http://api.jquery.com/on/) - Does not support namespaces, selectors or eventData
+ * - [off()](http://api.jquery.com/off/) - Does not support namespaces or selectors
* - [parent()](http://api.jquery.com/parent/) - Does not support selectors
* - [prepend()](http://api.jquery.com/prepend/)
* - [prop()](http://api.jquery.com/prop/)
@@ -1540,12 +1700,18 @@
* - [text()](http://api.jquery.com/text/)
* - [toggleClass()](http://api.jquery.com/toggleClass/)
* - [triggerHandler()](http://api.jquery.com/triggerHandler/) - Passes a dummy event object to handlers.
- * - [unbind()](http://api.jquery.com/unbind/) - Does not support namespaces
+ * - [unbind()](http://api.jquery.com/off/) - Does not support namespaces
* - [val()](http://api.jquery.com/val/)
* - [wrap()](http://api.jquery.com/wrap/)
*
- * ## In addition to the above, Angular provides additional methods to both jQuery and jQuery lite:
+ * ## jQuery/jqLite Extras
+ * Angular also provides the following additional methods and events to both jQuery and jqLite:
*
+ * ### Events
+ * - `$destroy` - AngularJS intercepts all jqLite/jQuery's DOM destruction apis and fires this event
+ * on all DOM nodes being removed. This can be used to clean up and 3rd party bindings to the DOM
+ * element before it is removed.
+ * ### Methods
* - `controller(name)` - retrieves the controller of the current element or its parent. By default
* retrieves controller associated with the `ngController` directive. If `name` is provided as
* camelCase directive name, then the controller for this directive will be retrieved (e.g.
@@ -1575,6 +1741,7 @@
var SPECIAL_CHARS_REGEXP = /([\:\-\_]+(.))/g;
var MOZ_HACK_REGEXP = /^moz([A-Z])/;
+var jqLiteMinErr = minErr('jqLite');
/**
* Converts snake_case to camelCase.
@@ -1592,38 +1759,39 @@
/////////////////////////////////////////////
// jQuery mutation patch
//
-// In conjunction with bindJQuery intercepts all jQuery's DOM destruction apis and fires a
+// In conjunction with bindJQuery intercepts all jQuery's DOM destruction apis and fires a
// $destroy event on all DOM nodes being removed.
//
/////////////////////////////////////////////
-function JQLitePatchJQueryRemove(name, dispatchThis) {
+function JQLitePatchJQueryRemove(name, dispatchThis, filterElems, getterIfNoArguments) {
var originalJqFn = jQuery.fn[name];
originalJqFn = originalJqFn.$original || originalJqFn;
removePatch.$original = originalJqFn;
jQuery.fn[name] = removePatch;
- function removePatch() {
- var list = [this],
+ function removePatch(param) {
+ var list = filterElems && param ? [this.filter(param)] : [this],
fireEvent = dispatchThis,
set, setIndex, setLength,
- element, childIndex, childLength, children,
- fns, events;
+ element, childIndex, childLength, children;
- while(list.length) {
- set = list.shift();
- for(setIndex = 0, setLength = set.length; setIndex < setLength; setIndex++) {
- element = jqLite(set[setIndex]);
- if (fireEvent) {
- element.triggerHandler('$destroy');
- } else {
- fireEvent = !fireEvent;
+ if (!getterIfNoArguments || param != null) {
+ while(list.length) {
+ set = list.shift();
+ for(setIndex = 0, setLength = set.length; setIndex < setLength; setIndex++) {
+ element = jqLite(set[setIndex]);
+ if (fireEvent) {
+ element.triggerHandler('$destroy');
+ } else {
+ fireEvent = !fireEvent;
+ }
+ for(childIndex = 0, childLength = (children = element.children()).length;
+ childIndex < childLength;
+ childIndex++) {
+ list.push(jQuery(children[childIndex]));
+ }
}
- for(childIndex = 0, childLength = (children = element.children()).length;
- childIndex < childLength;
- childIndex++) {
- list.push(jQuery(children[childIndex]));
- }
}
}
return originalJqFn.apply(this, arguments);
@@ -1637,7 +1805,7 @@
}
if (!(this instanceof JQLite)) {
if (isString(element) && element.charAt(0) != '<') {
- throw Error('selectors not implemented');
+ throw jqLiteMinErr('nosel', 'Looking up elements via selectors is not supported by jqLite! See: http://docs.angularjs.org/api/angular.element');
}
return new JQLite(element);
}
@@ -1649,7 +1817,8 @@
div.innerHTML = '<div> </div>' + element; // IE insanity to make NoScope elements work!
div.removeChild(div.firstChild); // remove the superfluous div
JQLiteAddNodes(this, div.childNodes);
- this.remove(); // detach the elements from the temporary DOM div.
+ var fragment = jqLite(document.createDocumentFragment());
+ fragment.append(this); // detach the elements from the temporary DOM div.
} else {
JQLiteAddNodes(this, element);
}
@@ -1666,7 +1835,9 @@
}
}
-function JQLiteUnbind(element, type, fn) {
+function JQLiteOff(element, type, fn, unsupported) {
+ if (isDefined(unsupported)) throw jqLiteMinErr('offargs', 'jqLite#off() does not support the `selector` argument');
+
var events = JQLiteExpandoStore(element, 'events'),
handle = JQLiteExpandoStore(element, 'handle');
@@ -1678,23 +1849,30 @@
delete events[type];
});
} else {
- if (isUndefined(fn)) {
- removeEventListenerFn(element, type, events[type]);
- delete events[type];
- } else {
- arrayRemove(events[type], fn);
- }
+ forEach(type.split(' '), function(type) {
+ if (isUndefined(fn)) {
+ removeEventListenerFn(element, type, events[type]);
+ delete events[type];
+ } else {
+ arrayRemove(events[type] || [], fn);
+ }
+ });
}
}
-function JQLiteRemoveData(element) {
+function JQLiteRemoveData(element, name) {
var expandoId = element[jqName],
expandoStore = jqCache[expandoId];
if (expandoStore) {
+ if (name) {
+ delete jqCache[expandoId].data[name];
+ return;
+ }
+
if (expandoStore.handle) {
expandoStore.events.$destroy && expandoStore.handle({}, '$destroy');
- JQLiteUnbind(element);
+ JQLiteOff(element);
}
delete jqCache[expandoId];
element[jqName] = undefined; // ie does not allow deletion of attributes on elements.
@@ -1794,7 +1972,7 @@
}
while (element.length) {
- if (value = element.data(name)) return value;
+ if ((value = element.data(name)) !== undefined) return value;
element = element.parent();
}
}
@@ -1816,9 +1994,9 @@
if (document.readyState === 'complete'){
setTimeout(trigger);
} else {
- this.bind('DOMContentLoaded', trigger); // works for modern browsers and IE9
+ this.on('DOMContentLoaded', trigger); // works for modern browsers and IE9
// we can not use jqLite since we are not done loading and jQuery could be loaded later.
- JQLite(window).bind('load', trigger); // fallback to window.onload for others
+ JQLite(window).on('load', trigger); // fallback to window.onload for others
}
},
toString: function() {
@@ -1940,27 +2118,38 @@
}
},
- text: extend((msie < 9)
- ? function(element, value) {
- if (element.nodeType == 1 /** Element */) {
- if (isUndefined(value))
- return element.innerText;
- element.innerText = value;
- } else {
- if (isUndefined(value))
- return element.nodeValue;
- element.nodeValue = value;
- }
+ text: (function() {
+ var NODE_TYPE_TEXT_PROPERTY = [];
+ if (msie < 9) {
+ NODE_TYPE_TEXT_PROPERTY[1] = 'innerText'; /** Element **/
+ NODE_TYPE_TEXT_PROPERTY[3] = 'nodeValue'; /** Text **/
+ } else {
+ NODE_TYPE_TEXT_PROPERTY[1] = /** Element **/
+ NODE_TYPE_TEXT_PROPERTY[3] = 'textContent'; /** Text **/
+ }
+ getText.$dv = '';
+ return getText;
+
+ function getText(element, value) {
+ var textProp = NODE_TYPE_TEXT_PROPERTY[element.nodeType]
+ if (isUndefined(value)) {
+ return textProp ? element[textProp] : '';
}
- : function(element, value) {
- if (isUndefined(value)) {
- return element.textContent;
- }
- element.textContent = value;
- }, {$dv:''}),
+ element[textProp] = value;
+ }
+ })(),
val: function(element, value) {
if (isUndefined(value)) {
+ if (nodeName_(element) === 'SELECT' && element.multiple) {
+ var result = [];
+ forEach(element.options, function (option) {
+ if (option.selected) {
+ result.push(option.value || option.text);
+ }
+ });
+ return result.length === 0 ? null : result;
+ }
return element.value;
}
element.value = value;
@@ -2002,8 +2191,14 @@
return this;
} else {
// we are a read, so read the first child.
- if (this.length)
- return fn(this[0], arg1, arg2);
+ var value = fn.$dv;
+ // Only if we have $dv do we iterate over all, otherwise it is just the first element.
+ var jj = value == undefined ? Math.min(this.length, 1) : this.length;
+ for (var j = 0; j < jj; j++) {
+ var nodeValue = fn(this[j], arg1, arg2);
+ value = value ? value + nodeValue : nodeValue;
+ }
+ return value;
}
} else {
// we are a write, so apply to all children
@@ -2013,7 +2208,6 @@
// return self for chaining
return this;
}
- return fn.$dv;
};
});
@@ -2080,7 +2274,9 @@
dealoc: JQLiteDealoc,
- bind: function bindFn(element, type, fn){
+ on: function onFn(element, type, fn, unsupported){
+ if (isDefined(unsupported)) throw jqLiteMinErr('onargs', 'jqLite#on() does not support the `selector` or `eventData` parameters');
+
var events = JQLiteExpandoStore(element, 'events'),
handle = JQLiteExpandoStore(element, 'handle');
@@ -2111,22 +2307,22 @@
}
}
return false;
- };
+ };
events[type] = [];
-
- // Refer to jQuery's implementation of mouseenter & mouseleave
+
+ // Refer to jQuery's implementation of mouseenter & mouseleave
// Read about mouseenter and mouseleave:
// http://www.quirksmode.org/js/events_mouse.html#link8
- var eventmap = { mouseleave : "mouseout", mouseenter : "mouseover"}
- bindFn(element, eventmap[type], function(event) {
- var ret, target = this, related = event.relatedTarget;
+ var eventmap = { mouseleave : "mouseout", mouseenter : "mouseover"};
+
+ onFn(element, eventmap[type], function(event) {
+ var target = this, related = event.relatedTarget;
// For mousenter/leave call the handler if related is outside the target.
// NB: No relatedTarget if the mouse left/entered the browser window
if ( !related || (related !== target && !contains(target, related)) ){
handle(event, type);
- }
-
+ }
});
} else {
@@ -2139,7 +2335,7 @@
});
},
- unbind: JQLiteUnbind,
+ off: JQLiteOff,
replaceWith: function(element, replaceNode) {
var index, parent = element.parentNode;
@@ -2179,12 +2375,7 @@
if (element.nodeType === 1) {
var index = element.firstChild;
forEach(new JQLite(node), function(child){
- if (index) {
- element.insertBefore(child, index);
- } else {
- element.appendChild(child);
- index = child;
- }
+ element.insertBefore(child, index);
});
}
},
@@ -2246,33 +2437,40 @@
clone: JQLiteClone,
- triggerHandler: function(element, eventName) {
+ triggerHandler: function(element, eventName, eventData) {
var eventFns = (JQLiteExpandoStore(element, 'events') || {})[eventName];
- var event;
+ eventData = eventData || {
+ preventDefault: noop,
+ stopPropagation: noop
+ };
forEach(eventFns, function(fn) {
- fn.call(element, {preventDefault: noop});
+ fn.call(element, eventData);
});
}
}, function(fn, name){
/**
* chaining functions
*/
- JQLite.prototype[name] = function(arg1, arg2) {
+ JQLite.prototype[name] = function(arg1, arg2, arg3) {
var value;
for(var i=0; i < this.length; i++) {
if (value == undefined) {
- value = fn(this[i], arg1, arg2);
+ value = fn(this[i], arg1, arg2, arg3);
if (value !== undefined) {
// any function which returns a value needs to be wrapped
value = jqLite(value);
}
} else {
- JQLiteAddNodes(value, fn(this[i], arg1, arg2));
+ JQLiteAddNodes(value, fn(this[i], arg1, arg2, arg3));
}
}
return value == undefined ? this : value;
};
+
+ // bind legacy bind/unbind to on/off
+ JQLite.prototype.bind = JQLite.prototype.on;
+ JQLite.prototype.unbind = JQLite.prototype.off;
});
/**
@@ -2382,6 +2580,7 @@
var FN_ARG_SPLIT = /,/;
var FN_ARG = /^\s*(_?)(\S+?)\1\s*$/;
var STRIP_COMMENTS = /((\/\/.*$)|(\/\*[\s\S]*?\*\/))/mg;
+var $injectorMinErr = minErr('$injector');
function annotate(fn) {
var $inject,
fnText,
@@ -2541,7 +2740,7 @@
* expect(injector.annotate(MyController)).toEqual(['$scope', '$route']);
* </pre>
*
- * This method does not work with code minfication / obfuscation. For this reason the following annotation strategies
+ * This method does not work with code minification / obfuscation. For this reason the following annotation strategies
* are supported.
*
* # The `$inject` property
@@ -2762,7 +2961,7 @@
},
providerInjector = (providerCache.$injector =
createInternalInjector(providerCache, function() {
- throw Error("Unknown provider: " + path.join(' <- '));
+ throw $injectorMinErr('unpr', "Unknown provider: {0}", path.join(' <- '));
})),
instanceCache = {},
instanceInjector = (instanceCache.$injector =
@@ -2795,7 +2994,7 @@
provider_ = providerInjector.instantiate(provider_);
}
if (!provider_.$get) {
- throw Error('Provider ' + name + ' must define $get factory method.');
+ throw $injectorMinErr('pget', "Provider '{0}' must define $get factory method.", name);
}
return providerCache[name + providerSuffix] = provider_;
}
@@ -2833,37 +3032,36 @@
forEach(modulesToLoad, function(module) {
if (loadedModules.get(module)) return;
loadedModules.put(module, true);
- if (isString(module)) {
- var moduleFn = angularModule(module);
- runBlocks = runBlocks.concat(loadModules(moduleFn.requires)).concat(moduleFn._runBlocks);
- try {
+ try {
+ if (isString(module)) {
+ var moduleFn = angularModule(module);
+ runBlocks = runBlocks.concat(loadModules(moduleFn.requires)).concat(moduleFn._runBlocks);
+
for(var invokeQueue = moduleFn._invokeQueue, i = 0, ii = invokeQueue.length; i < ii; i++) {
var invokeArgs = invokeQueue[i],
provider = providerInjector.get(invokeArgs[0]);
provider[invokeArgs[1]].apply(provider, invokeArgs[2]);
}
- } catch (e) {
- if (e.message) e.message += ' from ' + module;
- throw e;
+ } else if (isFunction(module)) {
+ runBlocks.push(providerInjector.invoke(module));
+ } else if (isArray(module)) {
+ runBlocks.push(providerInjector.invoke(module));
+ } else {
+ assertArgFn(module, 'module');
}
- } else if (isFunction(module)) {
- try {
- runBlocks.push(providerInjector.invoke(module));
- } catch (e) {
- if (e.message) e.message += ' from ' + module;
- throw e;
+ } catch (e) {
+ if (isArray(module)) {
+ module = module[module.length - 1];
}
- } else if (isArray(module)) {
- try {
- runBlocks.push(providerInjector.invoke(module));
- } catch (e) {
- if (e.message) e.message += ' from ' + String(module[module.length - 1]);
- throw e;
+ if (e.message && e.stack && e.stack.indexOf(e.message) == -1) {
+ // Safari & FF's stack traces don't contain error.message content unlike those of Chrome and IE
+ // So if stack doesn't contain message, we create a new string that contains both.
+ // Since error.stack is read-only in Safari, I'm overriding e and not e.stack here.
+ e = e.message + '\n' + e.stack;
}
- } else {
- assertArgFn(module, 'module');
+ throw $injectorMinErr('modulerr', "Failed to instantiate module {0} due to:\n{1}", module, e.stack || e.message || e);
}
});
return runBlocks;
@@ -2876,12 +3074,9 @@
function createInternalInjector(cache, factory) {
function getService(serviceName) {
- if (typeof serviceName !== 'string') {
- throw Error('Service name expected');
- }
if (cache.hasOwnProperty(serviceName)) {
if (cache[serviceName] === INSTANTIATING) {
- throw Error('Circular dependency: ' + path.join(' <- '));
+ throw $injectorMinErr('cdep', 'Circular dependency found: {0}', path.join(' <- '));
}
return cache[serviceName];
} else {
@@ -2903,6 +3098,9 @@
for(i = 0, length = $inject.length; i < length; i++) {
key = $inject[i];
+ if (typeof key !== 'string') {
+ throw $injectorMinErr('itkn', 'Incorrect injection token! Expected service name as string, got {0}', key);
+ }
args.push(
locals && locals.hasOwnProperty(key)
? locals[key]
@@ -3024,505 +3222,191 @@
}];
}
+var $animateMinErr = minErr('$animate');
/**
* @ngdoc object
- * @name ng.$animationProvider
+ * @name ng.$animateProvider
+ *
* @description
+ * Default implementation of $animate that doesn't perform any animations, instead just synchronously performs DOM
+ * updates and calls done() callbacks.
*
- * The $AnimationProvider provider allows developers to register and access custom JavaScript animations directly inside
- * of a module.
+ * In order to enable animations the ngAnimate module has to be loaded.
*
+ * To see the functional implementation check out src/ngAnimate/animate.js
*/
-$AnimationProvider.$inject = ['$provide'];
-function $AnimationProvider($provide) {
- var suffix = 'Animation';
+var $AnimateProvider = ['$provide', function($provide) {
+ this.$$selectors = {};
+
+
/**
* @ngdoc function
- * @name ng.$animation#register
- * @methodOf ng.$animationProvider
+ * @name ng.$animateProvider#register
+ * @methodOf ng.$animateProvider
*
* @description
* Registers a new injectable animation factory function. The factory function produces the animation object which
- * has these two properties:
+ * contains callback functions for each event that is expected to be animated.
*
- * * `setup`: `function(Element):*` A function which receives the starting state of the element. The purpose
- * of this function is to get the element ready for animation. Optionally the function returns an memento which
- * is passed to the `start` function.
- * * `start`: `function(Element, doneFunction, *)` The element to animate, the `doneFunction` to be called on
- * element animation completion, and an optional memento from the `setup` function.
+ * * `eventFn`: `function(Element, doneFunction)` The element to animate, the `doneFunction` must be called once the
+ * element animation is complete. If a function is returned then the animation service will use this function to
+ * cancel the animation whenever a cancel event is triggered.
*
+ *
+ *<pre>
+ * return {
+ * eventFn : function(element, done) {
+ * //code to run the animation
+ * //once complete, then run done()
+ * return function cancellationFunction() {
+ * //code to cancel the animation
+ * }
+ * }
+ * }
+ *</pre>
+ *
* @param {string} name The name of the animation.
* @param {function} factory The factory function that will be executed to return the animation object.
- *
*/
this.register = function(name, factory) {
- $provide.factory(camelCase(name) + suffix, factory);
+ var key = name + '-animation';
+ if (name && name.charAt(0) != '.') throw $animateMinErr('notcsel',
+ "Expecting class selector starting with '.' got '{0}'.", name);
+ this.$$selectors[name.substr(1)] = key;
+ $provide.factory(key, factory);
};
- this.$get = ['$injector', function($injector) {
+ this.$get = ['$timeout', function($timeout) {
+
/**
- * @ngdoc function
- * @name ng.$animation
- * @function
+ * @ngdoc object
+ * @name ng.$animate
*
* @description
- * The $animation service is used to retrieve any defined animation functions. When executed, the $animation service
- * will return a object that contains the setup and start functions that were defined for the animation.
+ * The $animate service provides rudimentary DOM manipulation functions to insert, remove, move elements within
+ * the DOM as well as adding and removing classes. This service is the core service used by the ngAnimate $animator
+ * service which provides high-level animation hooks for CSS and JavaScript.
*
- * @param {String} name Name of the animation function to retrieve. Animation functions are registered and stored
- * inside of the AngularJS DI so a call to $animate('custom') is the same as injecting `customAnimation`
- * via dependency injection.
- * @return {Object} the animation object which contains the `setup` and `start` functions that perform the animation.
- */
- return function $animation(name) {
- if (name) {
- var animationName = camelCase(name) + suffix;
- if ($injector.has(animationName)) {
- return $injector.get(animationName);
- }
- }
- };
- }];
-}
-
-// NOTE: this is a pseudo directive.
-
-/**
- * @ngdoc directive
- * @name ng.directive:ngAnimate
- *
- * @description
- * The `ngAnimate` directive works as an attribute that is attached alongside pre-existing directives.
- * It effects how the directive will perform DOM manipulation. This allows for complex animations to take place
- * without burdening the directive which uses the animation with animation details. The built in directives
- * `ngRepeat`, `ngInclude`, `ngSwitch`, `ngShow`, `ngHide` and `ngView` already accept `ngAnimate` directive.
- * Custom directives can take advantage of animation through {@link ng.$animator $animator service}.
- *
- * Below is a more detailed breakdown of the supported callback events provided by pre-exisitng ng directives:
- *
- * | Directive | Supported Animations |
- * |========================================================== |====================================================|
- * | {@link ng.directive:ngRepeat#animations ngRepeat} | enter, leave and move |
- * | {@link ng.directive:ngView#animations ngView} | enter and leave |
- * | {@link ng.directive:ngInclude#animations ngInclude} | enter and leave |
- * | {@link ng.directive:ngSwitch#animations ngSwitch} | enter and leave |
- * | {@link ng.directive:ngIf#animations ngIf} | enter and leave |
- * | {@link ng.directive:ngShow#animations ngShow & ngHide} | show and hide |
- *
- * You can find out more information about animations upon visiting each directive page.
- *
- * Below is an example of a directive that makes use of the ngAnimate attribute:
- *
- * <pre>
- * <!-- you can also use data-ng-animate, ng:animate or x-ng-animate as well -->
- * <ANY ng-directive ng-animate="{event1: 'animation-name', event2: 'animation-name-2'}"></ANY>
- *
- * <!-- you can also use a short hand -->
- * <ANY ng-directive ng-animate=" 'animation' "></ANY>
- * <!-- which expands to -->
- * <ANY ng-directive ng-animate="{ enter: 'animation-enter', leave: 'animation-leave', ...}"></ANY>
- *
- * <!-- keep in mind that ng-animate can take expressions -->
- * <ANY ng-directive ng-animate=" computeCurrentAnimation() "></ANY>
- * </pre>
- *
- * The `event1` and `event2` attributes refer to the animation events specific to the directive that has been assigned.
- *
- * Keep in mind that if an animation is running, no child element of such animation can also be animated.
- *
- * <h2>CSS-defined Animations</h2>
- * By default, ngAnimate attaches two CSS classes per animation event to the DOM element to achieve the animation.
- * It is up to you, the developer, to ensure that the animations take place using cross-browser CSS3 transitions as
- * well as CSS animations.
- *
- * The following code below demonstrates how to perform animations using **CSS transitions** with ngAnimate:
- *
- * <pre>
- * <style type="text/css">
- * /*
- * The animate-enter CSS class is the event name that you
- * have provided within the ngAnimate attribute.
- * */
- * .animate-enter {
- * -webkit-transition: 1s linear all; /* Safari/Chrome */
- * -moz-transition: 1s linear all; /* Firefox */
- * -o-transition: 1s linear all; /* Opera */
- * transition: 1s linear all; /* IE10+ and Future Browsers */
- *
- * /* The animation preparation code */
- * opacity: 0;
- * }
- *
- * /*
- * Keep in mind that you want to combine both CSS
- * classes together to avoid any CSS-specificity
- * conflicts
- * */
- * .animate-enter.animate-enter-active {
- * /* The animation code itself */
- * opacity: 1;
- * }
- * </style>
- *
- * <div ng-directive ng-animate="{enter: 'animate-enter'}"></div>
- * </pre>
- *
- * The following code below demonstrates how to perform animations using **CSS animations** with ngAnimate:
- *
- * <pre>
- * <style type="text/css">
- * .animate-enter {
- * -webkit-animation: enter_sequence 1s linear; /* Safari/Chrome */
- * -moz-animation: enter_sequence 1s linear; /* Firefox */
- * -o-animation: enter_sequence 1s linear; /* Opera */
- * animation: enter_sequence 1s linear; /* IE10+ and Future Browsers */
- * }
- * @-webkit-keyframes enter_sequence {
- * from { opacity:0; }
- * to { opacity:1; }
- * }
- * @-moz-keyframes enter_sequence {
- * from { opacity:0; }
- * to { opacity:1; }
- * }
- * @-o-keyframes enter_sequence {
- * from { opacity:0; }
- * to { opacity:1; }
- * }
- * @keyframes enter_sequence {
- * from { opacity:0; }
- * to { opacity:1; }
- * }
- * </style>
- *
- * <div ng-directive ng-animate="{enter: 'animate-enter'}"></div>
- * </pre>
- *
- * ngAnimate will first examine any CSS animation code and then fallback to using CSS transitions.
- *
- * Upon DOM mutation, the event class is added first, then the browser is allowed to reflow the content and then,
- * the active class is added to trigger the animation. The ngAnimate directive will automatically extract the duration
- * of the animation to determine when the animation ends. Once the animation is over then both CSS classes will be
- * removed from the DOM. If a browser does not support CSS transitions or CSS animations then the animation will start and end
- * immediately resulting in a DOM element that is at it's final state. This final state is when the DOM element
- * has no CSS transition/animation classes surrounding it.
- *
- * <h2>JavaScript-defined Animations</h2>
- * In the event that you do not want to use CSS3 transitions or CSS3 animations or if you wish to offer animations to browsers that do not
- * yet support them, then you can make use of JavaScript animations defined inside of your AngularJS module.
- *
- * <pre>
- * var ngModule = angular.module('YourApp', []);
- * ngModule.animation('animate-enter', function() {
- * return {
- * setup : function(element) {
- * //prepare the element for animation
- * element.css({ 'opacity': 0 });
- * var memo = "..."; //this value is passed to the start function
- * return memo;
- * },
- * start : function(element, done, memo) {
- * //start the animation
- * element.animate({
- * 'opacity' : 1
- * }, function() {
- * //call when the animation is complete
- * done()
- * });
- * }
- * }
- * });
- * </pre>
- *
- * As you can see, the JavaScript code follows a similar template to the CSS3 animations. Once defined, the animation
- * can be used in the same way with the ngAnimate attribute. Keep in mind that, when using JavaScript-enabled
- * animations, ngAnimate will also add in the same CSS classes that CSS-enabled animations do (even if you're not using
- * CSS animations) to animated the element, but it will not attempt to find any CSS3 transition or animation duration/delay values.
- * It will instead close off the animation once the provided done function is executed. So it's important that you
- * make sure your animations remember to fire off the done function once the animations are complete.
- *
- * @param {expression} ngAnimate Used to configure the DOM manipulation animations.
- *
- */
-
-var $AnimatorProvider = function() {
- var NG_ANIMATE_CONTROLLER = '$ngAnimateController';
- var rootAnimateController = {running:true};
-
- this.$get = ['$animation', '$window', '$sniffer', '$rootElement', '$rootScope',
- function($animation, $window, $sniffer, $rootElement, $rootScope) {
- $rootElement.data(NG_ANIMATE_CONTROLLER, rootAnimateController);
-
- /**
- * @ngdoc function
- * @name ng.$animator
- * @function
+ * $animate is available in the AngularJS core, however, the ngAnimate module must be included to enable full out
+ * animation support. Otherwise, $animate will only perform simple DOM manipulation operations.
*
- * @description
- * The $animator.create service provides the DOM manipulation API which is decorated with animations.
- *
- * @param {Scope} scope the scope for the ng-animate.
- * @param {Attributes} attr the attributes object which contains the ngAnimate key / value pair. (The attributes are
- * passed into the linking function of the directive using the `$animator`.)
- * @return {object} the animator object which contains the enter, leave, move, show, hide and animate methods.
+ * To learn more about enabling animation support, click here to visit the {@link ngAnimate ngAnimate module page}
+ * as well as the {@link ngAnimate.$animate ngAnimate $animate service page}.
*/
- var AnimatorService = function(scope, attrs) {
- var animator = {};
-
- /**
- * @ngdoc function
- * @name ng.animator#enter
- * @methodOf ng.$animator
- * @function
- *
- * @description
- * Injects the element object into the DOM (inside of the parent element) and then runs the enter animation.
- *
- * @param {jQuery/jqLite element} element the element that will be the focus of the enter animation
- * @param {jQuery/jqLite element} parent the parent element of the element that will be the focus of the enter animation
- * @param {jQuery/jqLite element} after the sibling element (which is the previous element) of the element that will be the focus of the enter animation
- */
- animator.enter = animateActionFactory('enter', insert, noop);
-
- /**
- * @ngdoc function
- * @name ng.animator#leave
- * @methodOf ng.$animator
- * @function
- *
- * @description
- * Runs the leave animation operation and, upon completion, removes the element from the DOM.
- *
- * @param {jQuery/jqLite element} element the element that will be the focus of the leave animation
- * @param {jQuery/jqLite element} parent the parent element of the element that will be the focus of the leave animation
- */
- animator.leave = animateActionFactory('leave', noop, remove);
-
- /**
- * @ngdoc function
- * @name ng.animator#move
- * @methodOf ng.$animator
- * @function
- *
- * @description
- * Fires the move DOM operation. Just before the animation starts, the animator will either append it into the parent container or
- * add the element directly after the after element if present. Then the move animation will be run.
- *
- * @param {jQuery/jqLite element} element the element that will be the focus of the move animation
- * @param {jQuery/jqLite element} parent the parent element of the element that will be the focus of the move animation
- * @param {jQuery/jqLite element} after the sibling element (which is the previous element) of the element that will be the focus of the move animation
- */
- animator.move = animateActionFactory('move', move, noop);
-
- /**
- * @ngdoc function
- * @name ng.animator#show
- * @methodOf ng.$animator
- * @function
- *
- * @description
- * Reveals the element by setting the CSS property `display` to `block` and then starts the show animation directly after.
- *
- * @param {jQuery/jqLite element} element the element that will be rendered visible or hidden
- */
- animator.show = animateActionFactory('show', show, noop);
-
- /**
- * @ngdoc function
- * @name ng.animator#hide
- * @methodOf ng.$animator
- *
- * @description
- * Starts the hide animation first and sets the CSS `display` property to `none` upon completion.
- *
- * @param {jQuery/jqLite element} element the element that will be rendered visible or hidden
- */
- animator.hide = animateActionFactory('hide', noop, hide);
+ return {
- /**
- * @ngdoc function
- * @name ng.animator#animate
- * @methodOf ng.$animator
- *
- * @description
- * Triggers a custom animation event to be executed on the given element
- *
- * @param {jQuery/jqLite element} element that will be animated
- */
- animator.animate = function(event, element) {
- animateActionFactory(event, noop, noop)(element);
- }
- return animator;
-
- function animateActionFactory(type, beforeFn, afterFn) {
- return function(element, parent, after) {
- var ngAnimateValue = scope.$eval(attrs.ngAnimate);
- var className = ngAnimateValue
- ? isObject(ngAnimateValue) ? ngAnimateValue[type] : ngAnimateValue + '-' + type
- : '';
- var animationPolyfill = $animation(className);
- var polyfillSetup = animationPolyfill && animationPolyfill.setup;
- var polyfillStart = animationPolyfill && animationPolyfill.start;
- var polyfillCancel = animationPolyfill && animationPolyfill.cancel;
+ /**
+ * @ngdoc function
+ * @name ng.$animate#enter
+ * @methodOf ng.$animate
+ * @function
+ *
+ * @description
+ * Inserts the element into the DOM either after the `after` element or within the `parent` element. Once complete,
+ * the done() callback will be fired (if provided).
+ *
+ * @param {jQuery/jqLite element} element the element which will be inserted into the DOM
+ * @param {jQuery/jqLite element} parent the parent element which will append the element as a child (if the after element is not present)
+ * @param {jQuery/jqLite element} after the sibling element which will append the element after itself
+ * @param {function=} done callback function that will be called after the element has been inserted into the DOM
+ */
+ enter : function(element, parent, after, done) {
+ var afterNode = after && after[after.length - 1];
+ var parentNode = parent && parent[0] || afterNode && afterNode.parentNode;
+ // IE does not like undefined so we have to pass null.
+ var afterNextSibling = (afterNode && afterNode.nextSibling) || null;
+ forEach(element, function(node) {
+ parentNode.insertBefore(node, afterNextSibling);
+ });
+ $timeout(done || noop, 0, false);
+ },
- if (!className) {
- beforeFn(element, parent, after);
- afterFn(element, parent, after);
- } else {
- var activeClassName = className + '-active';
+ /**
+ * @ngdoc function
+ * @name ng.$animate#leave
+ * @methodOf ng.$animate
+ * @function
+ *
+ * @description
+ * Removes the element from the DOM. Once complete, the done() callback will be fired (if provided).
+ *
+ * @param {jQuery/jqLite element} element the element which will be removed from the DOM
+ * @param {function=} done callback function that will be called after the element has been removed from the DOM
+ */
+ leave : function(element, done) {
+ element.remove();
+ $timeout(done || noop, 0, false);
+ },
- if (!parent) {
- parent = after ? after.parent() : element.parent();
- }
- if ((!$sniffer.transitions && !polyfillSetup && !polyfillStart) ||
- (parent.inheritedData(NG_ANIMATE_CONTROLLER) || noop).running) {
- beforeFn(element, parent, after);
- afterFn(element, parent, after);
- return;
- }
+ /**
+ * @ngdoc function
+ * @name ng.$animate#move
+ * @methodOf ng.$animate
+ * @function
+ *
+ * @description
+ * Moves the position of the provided element within the DOM to be placed either after the `after` element or inside of the `parent` element.
+ * Once complete, the done() callback will be fired (if provided).
+ *
+ * @param {jQuery/jqLite element} element the element which will be moved around within the DOM
+ * @param {jQuery/jqLite element} parent the parent element where the element will be inserted into (if the after element is not present)
+ * @param {jQuery/jqLite element} after the sibling element where the element will be positioned next to
+ * @param {function=} done the callback function (if provided) that will be fired after the element has been moved to it's new position
+ */
+ move : function(element, parent, after, done) {
+ // Do not remove element before insert. Removing will cause data associated with the
+ // element to be dropped. Insert will implicitly do the remove.
+ this.enter(element, parent, after, done);
+ },
- var animationData = element.data(NG_ANIMATE_CONTROLLER) || {};
- if(animationData.running) {
- (polyfillCancel || noop)(element);
- animationData.done();
- }
+ /**
+ * @ngdoc function
+ * @name ng.$animate#addClass
+ * @methodOf ng.$animate
+ * @function
+ *
+ * @description
+ * Adds the provided className CSS class value to the provided element. Once complete, the done() callback will be fired (if provided).
+ *
+ * @param {jQuery/jqLite element} element the element which will have the className value added to it
+ * @param {string} className the CSS class which will be added to the element
+ * @param {function=} done the callback function (if provided) that will be fired after the className value has been added to the element
+ */
+ addClass : function(element, className, done) {
+ className = isString(className) ?
+ className :
+ isArray(className) ? className.join(' ') : '';
+ element.addClass(className);
+ $timeout(done || noop, 0, false);
+ },
- element.data(NG_ANIMATE_CONTROLLER, {running:true, done:done});
- element.addClass(className);
- beforeFn(element, parent, after);
- if (element.length == 0) return done();
+ /**
+ * @ngdoc function
+ * @name ng.$animate#removeClass
+ * @methodOf ng.$animate
+ * @function
+ *
+ * @description
+ * Removes the provided className CSS class value from the provided element. Once complete, the done() callback will be fired (if provided).
+ *
+ * @param {jQuery/jqLite element} element the element which will have the className value removed from it
+ * @param {string} className the CSS class which will be removed from the element
+ * @param {function=} done the callback function (if provided) that will be fired after the className value has been removed from the element
+ */
+ removeClass : function(element, className, done) {
+ className = isString(className) ?
+ className :
+ isArray(className) ? className.join(' ') : '';
+ element.removeClass(className);
+ $timeout(done || noop, 0, false);
+ },
- var memento = (polyfillSetup || noop)(element);
-
- // $window.setTimeout(beginAnimation, 0); this was causing the element not to animate
- // keep at 1 for animation dom rerender
- $window.setTimeout(beginAnimation, 1);
- }
-
- function parseMaxTime(str) {
- var total = 0, values = isString(str) ? str.split(/\s*,\s*/) : [];
- forEach(values, function(value) {
- total = Math.max(parseFloat(value) || 0, total);
- });
- return total;
- }
-
- function beginAnimation() {
- element.addClass(activeClassName);
- if (polyfillStart) {
- polyfillStart(element, done, memento);
- } else if (isFunction($window.getComputedStyle)) {
- //one day all browsers will have these properties
- var w3cAnimationProp = 'animation';
- var w3cTransitionProp = 'transition';
-
- //but some still use vendor-prefixed styles
- var vendorAnimationProp = $sniffer.vendorPrefix + 'Animation';
- var vendorTransitionProp = $sniffer.vendorPrefix + 'Transition';
-
- var durationKey = 'Duration',
- delayKey = 'Delay',
- animationIterationCountKey = 'IterationCount',
- duration = 0;
-
- //we want all the styles defined before and after
- var ELEMENT_NODE = 1;
- forEach(element, function(element) {
- if (element.nodeType == ELEMENT_NODE) {
- var w3cProp = w3cTransitionProp,
- vendorProp = vendorTransitionProp,
- iterations = 1,
- elementStyles = $window.getComputedStyle(element) || {};
-
- //use CSS Animations over CSS Transitions
- if(parseFloat(elementStyles[w3cAnimationProp + durationKey]) > 0 ||
- parseFloat(elementStyles[vendorAnimationProp + durationKey]) > 0) {
- w3cProp = w3cAnimationProp;
- vendorProp = vendorAnimationProp;
- iterations = Math.max(parseInt(elementStyles[w3cProp + animationIterationCountKey]) || 0,
- parseInt(elementStyles[vendorProp + animationIterationCountKey]) || 0,
- iterations);
- }
-
- var parsedDelay = Math.max(parseMaxTime(elementStyles[w3cProp + delayKey]),
- parseMaxTime(elementStyles[vendorProp + delayKey]));
-
- var parsedDuration = Math.max(parseMaxTime(elementStyles[w3cProp + durationKey]),
- parseMaxTime(elementStyles[vendorProp + durationKey]));
-
- duration = Math.max(parsedDelay + (iterations * parsedDuration), duration);
- }
- });
- $window.setTimeout(done, duration * 1000);
- } else {
- done();
- }
- }
-
- function done() {
- if(!done.run) {
- done.run = true;
- afterFn(element, parent, after);
- element.removeClass(className);
- element.removeClass(activeClassName);
- element.removeData(NG_ANIMATE_CONTROLLER);
- }
- }
- };
- }
-
- function show(element) {
- element.css('display', '');
- }
-
- function hide(element) {
- element.css('display', 'none');
- }
-
- function insert(element, parent, after) {
- if (after) {
- after.after(element);
- } else {
- parent.append(element);
- }
- }
-
- function remove(element) {
- element.remove();
- }
-
- function move(element, parent, after) {
- // Do not remove element before insert. Removing will cause data associated with the
- // element to be dropped. Insert will implicitly do the remove.
- insert(element, parent, after);
- }
- };
-
- /**
- * @ngdoc function
- * @name ng.animator#enabled
- * @methodOf ng.$animator
- * @function
- *
- * @param {Boolean=} If provided then set the animation on or off.
- * @return {Boolean} Current animation state.
- *
- * @description
- * Globally enables/disables animations.
- *
- */
- AnimatorService.enabled = function(value) {
- if (arguments.length) {
- rootAnimateController.running = !value;
- }
- return !rootAnimateController.running;
+ enabled : noop
};
-
- return AnimatorService;
}];
-};
+}];
/**
* ! This is a private undocumented service !
@@ -3648,7 +3532,8 @@
//////////////////////////////////////////////////////////////
var lastBrowserUrl = location.href,
- baseElement = document.find('base');
+ baseElement = document.find('base'),
+ replacedUrl = null;
/**
* @name ng.$browser#url
@@ -3683,14 +3568,21 @@
baseElement.attr('href', baseElement.attr('href'));
}
} else {
- if (replace) location.replace(url);
- else location.href = url;
+ if (replace) {
+ location.replace(url);
+ replacedUrl = url;
+ } else {
+ location.href = url;
+ replacedUrl = null;
+ }
}
return self;
// getter
} else {
- // the replacement is a workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=407172
- return location.href.replace(/%27/g,"'");
+ // - the replacedUrl is a workaround for an IE8-9 issue with location.replace method that doesn't update
+ // location.href synchronously
+ // - the replacement is a workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=407172
+ return replacedUrl || location.href.replace(/%27/g,"'");
}
};
@@ -3736,9 +3628,9 @@
// changed by push/replaceState
// html5 history api - popstate event
- if ($sniffer.history) jqLite(window).bind('popstate', fireUrlChange);
+ if ($sniffer.history) jqLite(window).on('popstate', fireUrlChange);
// hashchange event
- if ($sniffer.hashchange) jqLite(window).bind('hashchange', fireUrlChange);
+ if ($sniffer.hashchange) jqLite(window).on('hashchange', fireUrlChange);
// polling
else self.addPollFn(fireUrlChange);
@@ -3839,7 +3731,7 @@
/**
* @name ng.$browser#defer
* @methodOf ng.$browser
- * @param {function()} fn A function, who's execution should be defered.
+ * @param {function()} fn A function, who's execution should be deferred.
* @param {number=} [delay=0] of milliseconds to defer the function execution.
* @returns {*} DeferId that can be used to cancel the task via `$browser.defer.cancel()`.
*
@@ -3868,7 +3760,7 @@
* @methodOf ng.$browser.defer
*
* @description
- * Cancels a defered task identified with `deferId`.
+ * Cancels a deferred task identified with `deferId`.
*
* @param {*} deferId Token returned by the `$browser.defer` function.
* @returns {boolean} Returns `true` if the task hasn't executed yet and was successfully canceled.
@@ -3897,9 +3789,22 @@
* @name ng.$cacheFactory
*
* @description
- * Factory that constructs cache objects.
+ * Factory that constructs cache objects and gives access to them.
+ *
+ * <pre>
+ *
+ * var cache = $cacheFactory('cacheId');
+ * expect($cacheFactory.get('cacheId')).toBe(cache);
+ * expect($cacheFactory.get('noSuchCacheId')).not.toBeDefined();
*
+ * cache.put("key", "value");
+ * cache.put("another key", "another value");
+ *
+ * expect(cache.info()).toEqual({id: 'cacheId', size: 2}); // Since we've specified no options on creation
+ *
+ * </pre>
*
+ *
* @param {string} cacheId Name or id of the newly created cache.
* @param {object=} options Options object that specifies the cache behavior. Properties:
*
@@ -3922,7 +3827,7 @@
function cacheFactory(cacheId, options) {
if (cacheId in caches) {
- throw Error('cacheId ' + cacheId + ' taken');
+ throw minErr('$cacheFactory')('iid', "CacheId '{0}' is already taken!", cacheId);
}
var size = 0,
@@ -4031,6 +3936,16 @@
}
+ /**
+ * @ngdoc method
+ * @name ng.$cacheFactory#info
+ * @methodOf ng.$cacheFactory
+ *
+ * @description
+ * Get information about all the of the caches that have been created
+ *
+ * @returns {Object} - key-value map of `cacheId` to the result of calling `cache#info`
+ */
cacheFactory.info = function() {
var info = {};
forEach(caches, function(cache, cacheId) {
@@ -4040,6 +3955,17 @@
};
+ /**
+ * @ngdoc method
+ * @name ng.$cacheFactory#get
+ * @methodOf ng.$cacheFactory
+ *
+ * @description
+ * Get access to a cache object by the `cacheId` used when it was created.
+ *
+ * @param {string} cacheId Name or id of a cache to access.
+ * @returns {object} Cache object identified by the cacheId or undefined if no such cache.
+ */
cacheFactory.get = function(cacheId) {
return caches[cacheId];
};
@@ -4054,8 +3980,44 @@
* @name ng.$templateCache
*
* @description
- * Cache used for storing html templates.
- *
+ * The first time a template is used, it is loaded in the template cache for quick retrieval. You can
+ * load templates directly into the cache in a `script` tag, or by consuming the `$templateCache`
+ * service directly.
+ *
+ * Adding via the `script` tag:
+ * <pre>
+ * <html ng-app>
+ * <head>
+ * <script type="text/ng-template" id="templateId.html">
+ * This is the content of the template
+ * </script>
+ * </head>
+ * ...
+ * </html>
+ * </pre>
+ *
+ * **Note:** the `script` tag containing the template does not need to be included in the `head` of the document, but
+ * it must be below the `ng-app` definition.
+ *
+ * Adding via the $templateCache service:
+ *
+ * <pre>
+ * var myApp = angular.module('myApp', []);
+ * myApp.run(function($templateCache) {
+ * $templateCache.put('templateId.html', 'This is the content of the template');
+ * });
+ * </pre>
+ *
+ * To retrieve the template later, simply use it in your HTML:
+ * <pre>
+ * <div ng-include=" 'templateId.html' "></div>
+ * </pre>
+ *
+ * or get it via Javascript:
+ * <pre>
+ * $templateCache.get('templateId.html')
+ * </pre>
+ *
* See {@link ng.$cacheFactory $cacheFactory}.
*
*/
@@ -4083,9 +4045,6 @@
*/
-var NON_ASSIGNABLE_MODEL_EXPRESSION = 'Non-assignable model expression: ';
-
-
/**
* @ngdoc function
* @name ng.$compile
@@ -4206,6 +4165,7 @@
* {@link guide/compiler Angular HTML Compiler} section of the Developer Guide.
*/
+var $compileMinErr = minErr('$compile');
/**
* @ngdoc service
@@ -4220,9 +4180,13 @@
Suffix = 'Directive',
COMMENT_DIRECTIVE_REGEXP = /^\s*directive\:\s*([\d\w\-_]+)\s+(.*)$/,
CLASS_DIRECTIVE_REGEXP = /(([\d\w\-_]+)(?:\:([^;]+))?;?)/,
- MULTI_ROOT_TEMPLATE_ERROR = 'Template must have exactly one root element. was: ',
- urlSanitizationWhitelist = /^\s*(https?|ftp|mailto|file):/;
+ aHrefSanitizationWhitelist = /^\s*(https?|ftp|mailto|file):/,
+ imgSrcSanitizationWhitelist = /^\s*(https?|ftp|file):|data:image\//;
+ // Ref: http://developers.whatwg.org/webappapis.html#event-handler-idl-attributes
+ // The assumption is that future DOM event attribute names will begin with
+ // 'on' and be composed of only English letters.
+ var EVENT_HANDLER_ATTR_REGEXP = /^(on[a-z]*|formaction)$/;
/**
* @ngdoc function
@@ -4231,17 +4195,17 @@
* @function
*
* @description
- * Register a new directives with the compiler.
+ * Register a new directive with the compiler.
*
* @param {string} name Name of the directive in camel-case. (ie <code>ngBind</code> which will match as
* <code>ng-bind</code>).
- * @param {function} directiveFactory An injectable directive factory function. See {@link guide/directive} for more
+ * @param {function|Array} directiveFactory An injectable directive factory function. See {@link guide/directive} for more
* info.
* @returns {ng.$compileProvider} Self for chaining.
*/
this.directive = function registerDirective(name, directiveFactory) {
if (isString(name)) {
- assertArg(directiveFactory, 'directive');
+ assertArg(directiveFactory, 'directiveFactory');
if (!hasDirectives.hasOwnProperty(name)) {
hasDirectives[name] = [];
$provide.factory(name + Suffix, ['$injector', '$exceptionHandler',
@@ -4277,7 +4241,7 @@
/**
* @ngdoc function
- * @name ng.$compileProvider#urlSanitizationWhitelist
+ * @name ng.$compileProvider#aHrefSanitizationWhitelist
* @methodOf ng.$compileProvider
* @function
*
@@ -4287,29 +4251,59 @@
*
* The sanitization is a security measure aimed at prevent XSS attacks via html links.
*
- * Any url about to be assigned to a[href] via data-binding is first normalized and turned into an
- * absolute url. Afterwards the url is matched against the `urlSanitizationWhitelist` regular
- * expression. If a match is found the original url is written into the dom. Otherwise the
- * absolute url is prefixed with `'unsafe:'` string and only then it is written into the DOM.
+ * Any url about to be assigned to a[href] via data-binding is first normalized and turned into
+ * an absolute url. Afterwards, the url is matched against the `aHrefSanitizationWhitelist`
+ * regular expression. If a match is found, the original url is written into the dom. Otherwise,
+ * the absolute url is prefixed with `'unsafe:'` string and only then is it written into the DOM.
*
* @param {RegExp=} regexp New regexp to whitelist urls with.
* @returns {RegExp|ng.$compileProvider} Current RegExp if called without value or self for
* chaining otherwise.
*/
- this.urlSanitizationWhitelist = function(regexp) {
+ this.aHrefSanitizationWhitelist = function(regexp) {
if (isDefined(regexp)) {
- urlSanitizationWhitelist = regexp;
+ aHrefSanitizationWhitelist = regexp;
return this;
}
- return urlSanitizationWhitelist;
+ return aHrefSanitizationWhitelist;
};
+ /**
+ * @ngdoc function
+ * @name ng.$compileProvider#imgSrcSanitizationWhitelist
+ * @methodOf ng.$compileProvider
+ * @function
+ *
+ * @description
+ * Retrieves or overrides the default regular expression that is used for whitelisting of safe
+ * urls during img[src] sanitization.
+ *
+ * The sanitization is a security measure aimed at prevent XSS attacks via html links.
+ *
+ * Any url about to be assigned to img[src] via data-binding is first normalized and turned into an
+ * absolute url. Afterwards, the url is matched against the `imgSrcSanitizationWhitelist` regular
+ * expression. If a match is found, the original url is written into the dom. Otherwise, the
+ * absolute url is prefixed with `'unsafe:'` string and only then is it written into the DOM.
+ *
+ * @param {RegExp=} regexp New regexp to whitelist urls with.
+ * @returns {RegExp|ng.$compileProvider} Current RegExp if called without value or self for
+ * chaining otherwise.
+ */
+ this.imgSrcSanitizationWhitelist = function(regexp) {
+ if (isDefined(regexp)) {
+ imgSrcSanitizationWhitelist = regexp;
+ return this;
+ }
+ return imgSrcSanitizationWhitelist;
+ };
+
+
this.$get = [
'$injector', '$interpolate', '$exceptionHandler', '$http', '$templateCache', '$parse',
- '$controller', '$rootScope', '$document',
+ '$controller', '$rootScope', '$document', '$sce', '$$urlUtils', '$animate',
function($injector, $interpolate, $exceptionHandler, $http, $templateCache, $parse,
- $controller, $rootScope, $document) {
+ $controller, $rootScope, $document, $sce, $$urlUtils, $animate) {
var Attributes = function(element, attr) {
this.$$element = element;
@@ -4321,6 +4315,42 @@
/**
+ * @ngdoc function
+ * @name ng.$compile.directive.Attributes#$addClass
+ * @methodOf ng.$compile.directive.Attributes
+ * @function
+ *
+ * @description
+ * Adds the CSS class value specified by the classVal parameter to the element. If animations
+ * are enabled then an animation will be triggered for the class addition.
+ *
+ * @param {string} classVal The className value that will be added to the element
+ */
+ $addClass : function(classVal) {
+ if(classVal && classVal.length > 0) {
+ $animate.addClass(this.$$element, classVal);
+ }
+ },
+
+ /**
+ * @ngdoc function
+ * @name ng.$compile.directive.Attributes#$removeClass
+ * @methodOf ng.$compile.directive.Attributes
+ * @function
+ *
+ * @description
+ * Removes the CSS class value specified by the classVal parameter from the element. If animations
+ * are enabled then an animation will be triggered for the class removal.
+ *
+ * @param {string} classVal The className value that will be removed from the element
+ */
+ $removeClass : function(classVal) {
+ if(classVal && classVal.length > 0) {
+ $animate.removeClass(this.$$element, classVal);
+ }
+ },
+
+ /**
* Set a normalized attribute on the element in a way such that all directives
* can share the attribute. This function properly handles boolean attributes.
* @param {string} key Normalized key. (ie ngAttribute)
@@ -4330,49 +4360,64 @@
* @param {string=} attrName Optional none normalized name. Defaults to key.
*/
$set: function(key, value, writeAttr, attrName) {
- var booleanKey = getBooleanAttrName(this.$$element[0], key),
- $$observers = this.$$observers,
- normalizedVal;
+ //special case for class attribute addition + removal
+ //so that class changes can tap into the animation
+ //hooks provided by the $animate service
+ if(key == 'class') {
+ value = value || '';
+ var current = this.$$element.attr('class') || '';
+ this.$removeClass(tokenDifference(current, value).join(' '));
+ this.$addClass(tokenDifference(value, current).join(' '));
+ } else {
+ var booleanKey = getBooleanAttrName(this.$$element[0], key),
+ normalizedVal,
+ nodeName;
- if (booleanKey) {
- this.$$element.prop(key, value);
- attrName = booleanKey;
- }
+ if (booleanKey) {
+ this.$$element.prop(key, value);
+ attrName = booleanKey;
+ }
- this[key] = value;
+ this[key] = value;
- // translate normalized key to actual key
- if (attrName) {
- this.$attr[key] = attrName;
- } else {
- attrName = this.$attr[key];
- if (!attrName) {
- this.$attr[key] = attrName = snake_case(key, '-');
+ // translate normalized key to actual key
+ if (attrName) {
+ this.$attr[key] = attrName;
+ } else {
+ attrName = this.$attr[key];
+ if (!attrName) {
+ this.$attr[key] = attrName = snake_case(key, '-');
+ }
}
- }
+ nodeName = nodeName_(this.$$element);
- // sanitize a[href] values
- if (nodeName_(this.$$element[0]) === 'A' && key === 'href') {
- urlSanitizationNode.setAttribute('href', value);
-
- // href property always returns normalized absolute url, so we can match against that
- normalizedVal = urlSanitizationNode.href;
- if (!normalizedVal.match(urlSanitizationWhitelist)) {
- this[key] = value = 'unsafe:' + normalizedVal;
+ // sanitize a[href] and img[src] values
+ if ((nodeName === 'A' && key === 'href') ||
+ (nodeName === 'IMG' && key === 'src')) {
+ // NOTE: $$urlUtils.resolve() doesn't support IE < 8 so we don't sanitize for that case.
+ if (!msie || msie >= 8 ) {
+ normalizedVal = $$urlUtils.resolve(value);
+ if (normalizedVal !== '') {
+ if ((key === 'href' && !normalizedVal.match(aHrefSanitizationWhitelist)) ||
+ (key === 'src' && !normalizedVal.match(imgSrcSanitizationWhitelist))) {
+ this[key] = value = 'unsafe:' + normalizedVal;
+ }
+ }
+ }
}
- }
-
- if (writeAttr !== false) {
- if (value === null || value === undefined) {
- this.$$element.removeAttr(attrName);
- } else {
- this.$$element.attr(attrName, value);
+ if (writeAttr !== false) {
+ if (value === null || value === undefined) {
+ this.$$element.removeAttr(attrName);
+ } else {
+ this.$$element.attr(attrName, value);
+ }
}
}
// fire observers
+ var $$observers = this.$$observers;
$$observers && forEach($$observers[key], function(fn) {
try {
fn(value);
@@ -4380,6 +4425,22 @@
$exceptionHandler(e);
}
});
+
+ function tokenDifference(str1, str2) {
+ var values = [],
+ tokens1 = str1.split(/\s+/),
+ tokens2 = str2.split(/\s+/);
+
+ outer:
+ for(var i=0;i<tokens1.length;i++) {
+ var token = tokens1[i];
+ for(var j=0;j<tokens2.length;j++) {
+ if(token == tokens2[j]) continue outer;
+ }
+ values.push(token);
+ }
+ return values;
+ };
},
@@ -4422,7 +4483,7 @@
//================================
- function compile($compileNodes, transcludeFn, maxPriority) {
+ function compile($compileNodes, transcludeFn, maxPriority, ignoreDirective) {
if (!($compileNodes instanceof jqLite)) {
// jquery always rewraps, whereas we need to preserve the original selector so that we can modify it.
$compileNodes = jqLite($compileNodes);
@@ -4431,10 +4492,10 @@
// not be able to attach scope data to them, so we will wrap them in <span>
forEach($compileNodes, function(node, index){
if (node.nodeType == 3 /* text node */ && node.nodeValue.match(/\S+/) /* non-empty */ ) {
- $compileNodes[index] = jqLite(node).wrap('<span></span>').parent()[0];
+ $compileNodes[index] = node = jqLite(node).wrap('<span></span>').parent()[0];
}
});
- var compositeLinkFn = compileNodes($compileNodes, transcludeFn, $compileNodes, maxPriority);
+ var compositeLinkFn = compileNodes($compileNodes, transcludeFn, $compileNodes, maxPriority, ignoreDirective);
return function publicLinkFn(scope, cloneConnectFn){
assertArg(scope, 'scope');
// important!!: we must call our jqLite.clone() since the jQuery one is trying to be smart
@@ -4457,10 +4518,6 @@
};
}
- function wrongMode(localName, mode) {
- throw Error("Unsupported '" + mode + "' for '" + localName + "'.");
- }
-
function safeAddClass($element, className) {
try {
$element.addClass(className);
@@ -4485,7 +4542,7 @@
* @param {number=} max directive priority
* @returns {?function} A composite linking function of all of the matched directives or null.
*/
- function compileNodes(nodeList, transcludeFn, $rootElement, maxPriority) {
+ function compileNodes(nodeList, transcludeFn, $rootElement, maxPriority, ignoreDirective) {
var linkFns = [],
nodeLinkFn, childLinkFn, directives, attrs, linkFnFound;
@@ -4493,7 +4550,7 @@
attrs = new Attributes();
// we must always refer to nodeList[i] since the nodes can be replaced underneath us.
- directives = collectDirectives(nodeList[i], [], attrs, maxPriority);
+ directives = collectDirectives(nodeList[i], [], attrs, i == 0 ? maxPriority : undefined, ignoreDirective);
nodeLinkFn = (directives.length)
? applyDirectivesToNode(directives, nodeList[i], attrs, transcludeFn, $rootElement)
@@ -4542,7 +4599,7 @@
transcludeScope.$$transcluded = true;
return transcludeFn(transcludeScope, cloneFn).
- bind('$destroy', bind(transcludeScope, transcludeScope.$destroy));
+ on('$destroy', bind(transcludeScope, transcludeScope.$destroy));
};
})(childTranscludeFn || transcludeFn)
);
@@ -4567,7 +4624,7 @@
* @param attrs The shared attrs object which is used to populate the normalized attributes.
* @param {number=} maxPriority Max directive priority.
*/
- function collectDirectives(node, directives, attrs, maxPriority) {
+ function collectDirectives(node, directives, attrs, maxPriority, ignoreDirective) {
var nodeType = node.nodeType,
attrsMap = attrs.$attr,
match,
@@ -4577,19 +4634,28 @@
case 1: /* Element */
// use the node name: <directive>
addDirective(directives,
- directiveNormalize(nodeName_(node).toLowerCase()), 'E', maxPriority);
+ directiveNormalize(nodeName_(node).toLowerCase()), 'E', maxPriority, ignoreDirective);
// iterate over the attributes
for (var attr, name, nName, ngAttrName, value, nAttrs = node.attributes,
j = 0, jj = nAttrs && nAttrs.length; j < jj; j++) {
+ var attrStartName;
+ var attrEndName;
+ var index;
+
attr = nAttrs[j];
- if (attr.specified) {
+ if (!msie || msie >= 8 || attr.specified) {
name = attr.name;
// support ngAttr attribute binding
ngAttrName = directiveNormalize(name);
if (NG_ATTR_BINDING.test(ngAttrName)) {
name = ngAttrName.substr(6).toLowerCase();
}
+ if ((index = ngAttrName.lastIndexOf('Start')) != -1 && index == ngAttrName.length - 5) {
+ attrStartName = name;
+ attrEndName = name.substr(0, name.length - 5) + 'end';
+ name = name.substr(0, name.length - 6);
+ }
nName = directiveNormalize(name.toLowerCase());
attrsMap[nName] = name;
attrs[nName] = value = trim((msie && name == 'href')
@@ -4599,7 +4665,7 @@
attrs[nName] = true; // presence means true
}
addAttrInterpolateDirective(node, directives, value, nName);
- addDirective(directives, nName, 'A', maxPriority);
+ addDirective(directives, nName, 'A', maxPriority, ignoreDirective, attrStartName, attrEndName);
}
}
@@ -4608,7 +4674,7 @@
if (isString(className) && className !== '') {
while (match = CLASS_DIRECTIVE_REGEXP.exec(className)) {
nName = directiveNormalize(match[2]);
- if (addDirective(directives, nName, 'C', maxPriority)) {
+ if (addDirective(directives, nName, 'C', maxPriority, ignoreDirective)) {
attrs[nName] = trim(match[3]);
}
className = className.substr(match.index + match[0].length);
@@ -4623,7 +4689,7 @@
match = COMMENT_DIRECTIVE_REGEXP.exec(node.nodeValue);
if (match) {
nName = directiveNormalize(match[1]);
- if (addDirective(directives, nName, 'M', maxPriority)) {
+ if (addDirective(directives, nName, 'M', maxPriority, ignoreDirective)) {
attrs[nName] = trim(match[2]);
}
}
@@ -4638,8 +4704,51 @@
return directives;
}
+ /**
+ * Given a node with an directive-start it collects all of the siblings until it find directive-end.
+ * @param node
+ * @param attrStart
+ * @param attrEnd
+ * @returns {*}
+ */
+ function groupScan(node, attrStart, attrEnd) {
+ var nodes = [];
+ var depth = 0;
+ if (attrStart && node.hasAttribute && node.hasAttribute(attrStart)) {
+ var startNode = node;
+ do {
+ if (!node) {
+ throw $compileMinErr('uterdir', "Unterminated attribute, found '{0}' but no matching '{1}' found.", attrStart, attrEnd);
+ }
+ if (node.nodeType == 1 /** Element **/) {
+ if (node.hasAttribute(attrStart)) depth++;
+ if (node.hasAttribute(attrEnd)) depth--;
+ }
+ nodes.push(node);
+ node = node.nextSibling;
+ } while (depth > 0);
+ } else {
+ nodes.push(node);
+ }
+ return jqLite(nodes);
+ }
/**
+ * Wrapper for linking function which converts normal linking function into a grouped
+ * linking function.
+ * @param linkFn
+ * @param attrStart
+ * @param attrEnd
+ * @returns {Function}
+ */
+ function groupElementsLinkFnWrapper(linkFn, attrStart, attrEnd) {
+ return function(scope, element, attrs, controllers) {
+ element = groupScan(element[0], attrStart, attrEnd);
+ return linkFn(scope, element, attrs, controllers);
+ }
+ }
+
+ /**
* Once the directives have been collected, their compile functions are executed. This method
* is responsible for inlining directive templates as well as terminating the application
* of the directives if the terminal directive has been reached.
@@ -4654,7 +4763,7 @@
* argument has the root jqLite array so that we can replace nodes on it.
* @returns linkFn
*/
- function applyDirectivesToNode(directives, compileNode, templateAttrs, transcludeFn, jqCollection) {
+ function applyDirectivesToNode(directives, compileNode, templateAttrs, transcludeFn, jqCollection, originalReplaceDirective) {
var terminalPriority = -Number.MAX_VALUE,
preLinkFns = [],
postLinkFns = [],
@@ -4666,6 +4775,7 @@
directiveName,
$template,
transcludeDirective,
+ replaceDirective = originalReplaceDirective,
childTranscludeFn = transcludeFn,
controllerDirectives,
linkFn,
@@ -4674,6 +4784,13 @@
// executes all directives on the current element
for(var i = 0, ii = directives.length; i < ii; i++) {
directive = directives[i];
+ var attrStart = directive.$$start;
+ var attrEnd = directive.$$end;
+
+ // collect multiblock sections
+ if (attrStart) {
+ $compileNode = groupScan(compileNode, attrStart, attrEnd)
+ }
$template = undefined;
if (terminalPriority > directive.priority) {
@@ -4704,12 +4821,14 @@
transcludeDirective = directive;
terminalPriority = directive.priority;
if (directiveValue == 'element') {
- $template = jqLite(compileNode);
+ $template = groupScan(compileNode, attrStart, attrEnd)
$compileNode = templateAttrs.$$element =
jqLite(document.createComment(' ' + directiveName + ': ' + templateAttrs[directiveName] + ' '));
compileNode = $compileNode[0];
- replaceWith(jqCollection, jqLite($template[0]), compileNode);
- childTranscludeFn = compile($template, transcludeFn, terminalPriority);
+ replaceWith(jqCollection, jqLite(sliceArgs($template)), compileNode);
+
+ childTranscludeFn = compile($template, transcludeFn, terminalPriority,
+ replaceDirective && replaceDirective.name);
} else {
$template = jqLite(JQLiteClone(compileNode)).contents();
$compileNode.html(''); // clear contents
@@ -4728,13 +4847,14 @@
directiveValue = denormalizeTemplate(directiveValue);
if (directive.replace) {
+ replaceDirective = directive;
$template = jqLite('<div>' +
trim(directiveValue) +
'</div>').contents();
compileNode = $template[0];
if ($template.length != 1 || compileNode.nodeType !== 1) {
- throw new Error(MULTI_ROOT_TEMPLATE_ERROR + directiveValue);
+ throw $compileMinErr('tplrt', "Template for directive '{0}' must have exactly one root element. {1}", directiveName, '');
}
replaceWith(jqCollection, $compileNode, compileNode);
@@ -4764,17 +4884,20 @@
if (directive.templateUrl) {
assertNoDuplicate('template', templateDirective, directive, $compileNode);
templateDirective = directive;
+
+ if (directive.replace) {
+ replaceDirective = directive;
+ }
nodeLinkFn = compileTemplateUrl(directives.splice(i, directives.length - i),
- nodeLinkFn, $compileNode, templateAttrs, jqCollection, directive.replace,
- childTranscludeFn);
+ nodeLinkFn, $compileNode, templateAttrs, jqCollection, childTranscludeFn);
ii = directives.length;
} else if (directive.compile) {
try {
linkFn = directive.compile($compileNode, templateAttrs, childTranscludeFn);
if (isFunction(linkFn)) {
- addLinkFns(null, linkFn);
+ addLinkFns(null, linkFn, attrStart, attrEnd);
} else if (linkFn) {
- addLinkFns(linkFn.pre, linkFn.post);
+ addLinkFns(linkFn.pre, linkFn.post, attrStart, attrEnd);
}
} catch (e) {
$exceptionHandler(e, startingTag($compileNode));
@@ -4796,12 +4919,14 @@
////////////////////
- function addLinkFns(pre, post) {
+ function addLinkFns(pre, post, attrStart, attrEnd) {
if (pre) {
+ if (attrStart) pre = groupElementsLinkFnWrapper(pre, attrStart, attrEnd);
pre.require = directive.require;
preLinkFns.push(pre);
}
if (post) {
+ if (attrStart) post = groupElementsLinkFnWrapper(post, attrStart, attrEnd);
post.require = directive.require;
postLinkFns.push(post);
}
@@ -4820,7 +4945,7 @@
}
value = $element[retrievalMethod]('$' + require + 'Controller');
if (!value && !optional) {
- throw Error("No controller: " + require);
+ throw $compileMinErr('ctreq', "Controller '{0}', required by directive '{1}', can't be found!", require, directiveName);
}
return value;
} else if (isArray(require)) {
@@ -4848,8 +4973,8 @@
var parentScope = scope.$parent || scope;
- forEach(newIsolateScopeDirective.scope, function(definiton, scopeName) {
- var match = definiton.match(LOCAL_REGEXP) || [],
+ forEach(newIsolateScopeDirective.scope, function(definition, scopeName) {
+ var match = definition.match(LOCAL_REGEXP) || [],
attrName = match[3] || scopeName,
optional = (match[2] == '?'),
mode = match[1], // @, =, or &
@@ -4880,8 +5005,8 @@
parentSet = parentGet.assign || function() {
// reset the change, or we will throw this exception on every $digest
lastValue = scope[scopeName] = parentGet(parentScope);
- throw Error(NON_ASSIGNABLE_MODEL_EXPRESSION + attrs[attrName] +
- ' (directive: ' + newIsolateScopeDirective.name + ')');
+ throw $compileMinErr('nonassign', "Expression '{0}' used with directive '{1}' is non-assignable!",
+ attrs[attrName], newIsolateScopeDirective.name);
};
lastValue = scope[scopeName] = parentGet(parentScope);
scope.$watch(function parentValueWatch() {
@@ -4911,8 +5036,8 @@
}
default: {
- throw Error('Invalid isolate scope definition for directive ' +
- newIsolateScopeDirective.name + ': ' + definiton);
+ throw $compileMinErr('iscp', "Invalid isolate scope definition for directive '{0}'. Definition: {... {1}: '{2}' ...}",
+ newIsolateScopeDirective.name, scopeName, definition);
}
}
});
@@ -4925,16 +5050,20 @@
$element: $element,
$attrs: attrs,
$transclude: boundTranscludeFn
- };
+ }, controllerInstance;
controller = directive.controller;
if (controller == '@') {
controller = attrs[directive.name];
}
+ controllerInstance = $controller(controller, locals);
$element.data(
'$' + directive.name + 'Controller',
- $controller(controller, locals));
+ controllerInstance);
+ if (directive.controllerAs) {
+ locals.$scope[directive.controllerAs] = controllerInstance;
+ }
});
}
@@ -4980,8 +5109,9 @@
* * `M`: comment
* @returns true if directive was added.
*/
- function addDirective(tDirectives, name, location, maxPriority) {
- var match = false;
+ function addDirective(tDirectives, name, location, maxPriority, ignoreDirective, startAttrName, endAttrName) {
+ if (name === ignoreDirective) return null;
+ var match = null;
if (hasDirectives.hasOwnProperty(name)) {
for(var directive, directives = $injector.get(name + Suffix),
i = 0, ii = directives.length; i<ii; i++) {
@@ -4989,8 +5119,11 @@
directive = directives[i];
if ( (maxPriority === undefined || maxPriority > directive.priority) &&
directive.restrict.indexOf(location) != -1) {
+ if (startAttrName) {
+ directive = inherit(directive, {$$start: startAttrName, $$end: endAttrName});
+ }
tDirectives.push(directive);
- match = true;
+ match = directive;
}
} catch(e) { $exceptionHandler(e); }
}
@@ -5038,7 +5171,7 @@
function compileTemplateUrl(directives, beforeTemplateNodeLinkFn, $compileNode, tAttrs,
- $rootElement, replace, childTranscludeFn) {
+ $rootElement, childTranscludeFn) {
var linkQueue = [],
afterTemplateNodeLinkFn,
afterTemplateChildLinkFn,
@@ -5046,7 +5179,7 @@
origAsyncDirective = directives.shift(),
// The fact that we have to copy and patch the directive seems wrong!
derivedSyncDirective = extend({}, origAsyncDirective, {
- controller: null, templateUrl: null, transclude: null, scope: null
+ controller: null, templateUrl: null, transclude: null, scope: null, replace: null
}),
templateUrl = (isFunction(origAsyncDirective.templateUrl))
? origAsyncDirective.templateUrl($compileNode, tAttrs)
@@ -5054,18 +5187,19 @@
$compileNode.html('');
- $http.get(templateUrl, {cache: $templateCache}).
+ $http.get($sce.getTrustedResourceUrl(templateUrl), {cache: $templateCache}).
success(function(content) {
var compileNode, tempTemplateAttrs, $template;
content = denormalizeTemplate(content);
- if (replace) {
+ if (origAsyncDirective.replace) {
$template = jqLite('<div>' + trim(content) + '</div>').contents();
compileNode = $template[0];
if ($template.length != 1 || compileNode.nodeType !== 1) {
- throw new Error(MULTI_ROOT_TEMPLATE_ERROR + content);
+ throw $compileMinErr('tplrt', "Template for directive '{0}' must have exactly one root element. {1}",
+ origAsyncDirective.name, templateUrl);
}
tempTemplateAttrs = {$attr: {}};
@@ -5078,7 +5212,13 @@
}
directives.unshift(derivedSyncDirective);
- afterTemplateNodeLinkFn = applyDirectivesToNode(directives, compileNode, tAttrs, childTranscludeFn);
+
+ afterTemplateNodeLinkFn = applyDirectivesToNode(directives, compileNode, tAttrs, childTranscludeFn, $compileNode, origAsyncDirective);
+ forEach($rootElement, function(node, i) {
+ if (node == compileNode) {
+ $rootElement[i] = $compileNode[0];
+ }
+ });
afterTemplateChildLinkFn = compileNodes($compileNode[0].childNodes, childTranscludeFn);
@@ -5087,7 +5227,7 @@
beforeTemplateLinkNode = linkQueue.shift(),
linkRootElement = linkQueue.shift(),
controller = linkQueue.shift(),
- linkNode = compileNode;
+ linkNode = $compileNode[0];
if (beforeTemplateLinkNode !== beforeTemplateCompileNode) {
// it was cloned therefore we have to clone as well.
@@ -5095,14 +5235,15 @@
replaceWith(linkRootElement, jqLite(beforeTemplateLinkNode), linkNode);
}
- afterTemplateNodeLinkFn(function() {
- beforeTemplateNodeLinkFn(afterTemplateChildLinkFn, scope, linkNode, $rootElement, controller);
- }, scope, linkNode, $rootElement, controller);
+ afterTemplateNodeLinkFn(
+ beforeTemplateNodeLinkFn(afterTemplateChildLinkFn, scope, linkNode, $rootElement, controller),
+ scope, linkNode, $rootElement, controller
+ );
}
linkQueue = null;
}).
error(function(response, code, headers, config) {
- throw Error('Failed to load template: ' + config.url);
+ throw $compileMinErr('tpload', 'Failed to load template: {0}', config.url);
});
return function delayedNodeLinkFn(ignoreChildLinkFn, scope, node, rootElement, controller) {
@@ -5130,8 +5271,8 @@
function assertNoDuplicate(what, previousDirective, directive, element) {
if (previousDirective) {
- throw Error('Multiple directives [' + previousDirective.name + ', ' +
- directive.name + '] asking for ' + what + ' on: ' + startingTag(element));
+ throw $compileMinErr('multidir', 'Multiple directives [{0}, {1}] asking for {2} on: {3}',
+ previousDirective.name, directive.name, what, startingTag(element));
}
}
@@ -5155,6 +5296,16 @@
}
+ function getTrustedContext(node, attrNormalizedName) {
+ // maction[xlink:href] can source SVG. It's not limited to <maction>.
+ if (attrNormalizedName == "xlinkHref" ||
+ (nodeName_(node) != "IMG" && (attrNormalizedName == "src" ||
+ attrNormalizedName == "ngSrc"))) {
+ return $sce.RESOURCE_URL;
+ }
+ }
+
+
function addAttrInterpolateDirective(node, directives, value, name) {
var interpolateFn = $interpolate(value, true);
@@ -5162,14 +5313,25 @@
if (!interpolateFn) return;
+ if (name === "multiple" && nodeName_(node) === "SELECT") {
+ throw $compileMinErr("selmulti", "Binding to the 'multiple' attribute is not supported. Element: {0}",
+ startingTag(node));
+ }
+
directives.push({
priority: 100,
compile: valueFn(function attrInterpolateLinkFn(scope, element, attr) {
var $$observers = (attr.$$observers || (attr.$$observers = {}));
+ if (EVENT_HANDLER_ATTR_REGEXP.test(name)) {
+ throw $compileMinErr('nodomevents',
+ "Interpolations for HTML DOM event attributes are disallowed. Please use the ng- " +
+ "versions (such as ng-click instead of onclick) instead.");
+ }
+
// we need to interpolate again, in case the attribute value has been updated
// (e.g. by another directive's compile function)
- interpolateFn = $interpolate(attr[name], true);
+ interpolateFn = $interpolate(attr[name], true, getTrustedContext(node, name));
// if attribute was updated so that there is no interpolation going on we don't want to
// register any observers
@@ -5192,30 +5354,50 @@
*
* @param {JqLite=} $rootElement The root of the compile tree. Used so that we can replace nodes
* in the root of the tree.
- * @param {JqLite} $element The jqLite element which we are going to replace. We keep the shell,
+ * @param {JqLite} elementsToRemove The jqLite element which we are going to replace. We keep the shell,
* but replace its DOM node reference.
* @param {Node} newNode The new DOM node.
*/
- function replaceWith($rootElement, $element, newNode) {
- var oldNode = $element[0],
- parent = oldNode.parentNode,
+ function replaceWith($rootElement, elementsToRemove, newNode) {
+ var firstElementToRemove = elementsToRemove[0],
+ removeCount = elementsToRemove.length,
+ parent = firstElementToRemove.parentNode,
i, ii;
if ($rootElement) {
for(i = 0, ii = $rootElement.length; i < ii; i++) {
- if ($rootElement[i] == oldNode) {
- $rootElement[i] = newNode;
+ if ($rootElement[i] == firstElementToRemove) {
+ $rootElement[i++] = newNode;
+ for (var j = i, j2 = j + removeCount - 1,
+ jj = $rootElement.length;
+ j < jj; j++, j2++) {
+ if (j2 < jj) {
+ $rootElement[j] = $rootElement[j2];
+ } else {
+ delete $rootElement[j];
+ }
+ }
+ $rootElement.length -= removeCount - 1;
break;
}
}
}
if (parent) {
- parent.replaceChild(newNode, oldNode);
+ parent.replaceChild(newNode, firstElementToRemove);
}
+ var fragment = document.createDocumentFragment();
+ fragment.appendChild(firstElementToRemove);
+ newNode[jqLite.expando] = firstElementToRemove[jqLite.expando];
+ for (var k = 1, kk = elementsToRemove.length; k < kk; k++) {
+ var element = elementsToRemove[k];
+ jqLite(element).remove(); // must do this way to clean up expando
+ fragment.appendChild(element);
+ delete elementsToRemove[k];
+ }
- newNode[jqLite.expando] = oldNode[jqLite.expando];
- $element[0] = newNode;
+ elementsToRemove[0] = newNode;
+ elementsToRemove.length = 1
}
}];
}
@@ -5224,7 +5406,7 @@
/**
* Converts all accepted directives format into proper directive name.
* All of these will become 'myDirective':
- * my:DiRective
+ * my:Directive
* my-directive
* x-my-directive
* data-my:directive
@@ -5368,9 +5550,8 @@
instance = $injector.instantiate(expression, locals);
if (identifier) {
- if (typeof locals.$scope !== 'object') {
- throw new Error('Can not export controller as "' + identifier + '". ' +
- 'No scope object provided!');
+ if (!(locals && typeof locals.$scope == 'object')) {
+ throw minErr('$controller')('noscp', "Cannot export controller '{0}' as '{1}'! No $scope object provided via `locals`.", constructor || expression.name, identifier);
}
locals.$scope[identifier] = instance;
@@ -5423,13 +5604,1184 @@
}
/**
+ * Parse headers into key value object
+ *
+ * @param {string} headers Raw headers as a string
+ * @returns {Object} Parsed headers as key value object
+ */
+function parseHeaders(headers) {
+ var parsed = {}, key, val, i;
+
+ if (!headers) return parsed;
+
+ forEach(headers.split('\n'), function(line) {
+ i = line.indexOf(':');
+ key = lowercase(trim(line.substr(0, i)));
+ val = trim(line.substr(i + 1));
+
+ if (key) {
+ if (parsed[key]) {
+ parsed[key] += ', ' + val;
+ } else {
+ parsed[key] = val;
+ }
+ }
+ });
+
+ return parsed;
+}
+
+
+/**
+ * Returns a function that provides access to parsed headers.
+ *
+ * Headers are lazy parsed when first requested.
+ * @see parseHeaders
+ *
+ * @param {(string|Object)} headers Headers to provide access to.
+ * @returns {function(string=)} Returns a getter function which if called with:
+ *
+ * - if called with single an argument returns a single header value or null
+ * - if called with no arguments returns an object containing all headers.
+ */
+function headersGetter(headers) {
+ var headersObj = isObject(headers) ? headers : undefined;
+
+ return function(name) {
+ if (!headersObj) headersObj = parseHeaders(headers);
+
+ if (name) {
+ return headersObj[lowercase(name)] || null;
+ }
+
+ return headersObj;
+ };
+}
+
+
+/**
+ * Chain all given functions
+ *
+ * This function is used for both request and response transforming
+ *
+ * @param {*} data Data to transform.
+ * @param {function(string=)} headers Http headers getter fn.
+ * @param {(function|Array.<function>)} fns Function or an array of functions.
+ * @returns {*} Transformed data.
+ */
+function transformData(data, headers, fns) {
+ if (isFunction(fns))
+ return fns(data, headers);
+
+ forEach(fns, function(fn) {
+ data = fn(data, headers);
+ });
+
+ return data;
+}
+
+
+function isSuccess(status) {
+ return 200 <= status && status < 300;
+}
+
+
+function $HttpProvider() {
+ var JSON_START = /^\s*(\[|\{[^\{])/,
+ JSON_END = /[\}\]]\s*$/,
+ PROTECTION_PREFIX = /^\)\]\}',?\n/,
+ CONTENT_TYPE_APPLICATION_JSON = {'Content-Type': 'application/json;charset=utf-8'};
+
+ var defaults = this.defaults = {
+ // transform incoming response data
+ transformResponse: [function(data) {
+ if (isString(data)) {
+ // strip json vulnerability protection prefix
+ data = data.replace(PROTECTION_PREFIX, '');
+ if (JSON_START.test(data) && JSON_END.test(data))
+ data = fromJson(data, true);
+ }
+ return data;
+ }],
+
+ // transform outgoing request data
+ transformRequest: [function(d) {
+ return isObject(d) && !isFile(d) ? toJson(d) : d;
+ }],
+
+ // default headers
+ headers: {
+ common: {
+ 'Accept': 'application/json, text/plain, */*'
+ },
+ post: CONTENT_TYPE_APPLICATION_JSON,
+ put: CONTENT_TYPE_APPLICATION_JSON,
+ patch: CONTENT_TYPE_APPLICATION_JSON
+ },
+
+ xsrfCookieName: 'XSRF-TOKEN',
+ xsrfHeaderName: 'X-XSRF-TOKEN'
+ };
+
+ /**
+ * Are order by request. I.E. they are applied in the same order as
+ * array on request, but revers order on response.
+ */
+ var interceptorFactories = this.interceptors = [];
+ /**
+ * For historical reasons, response interceptors ordered by the order in which
+ * they are applied to response. (This is in revers to interceptorFactories)
+ */
+ var responseInterceptorFactories = this.responseInterceptors = [];
+
+ this.$get = ['$httpBackend', '$browser', '$cacheFactory', '$rootScope', '$q', '$injector', '$$urlUtils',
+ function($httpBackend, $browser, $cacheFactory, $rootScope, $q, $injector, $$urlUtils) {
+
+ var defaultCache = $cacheFactory('$http');
+
+ /**
+ * Interceptors stored in reverse order. Inner interceptors before outer interceptors.
+ * The reversal is needed so that we can build up the interception chain around the
+ * server request.
+ */
+ var reversedInterceptors = [];
+
+ forEach(interceptorFactories, function(interceptorFactory) {
+ reversedInterceptors.unshift(isString(interceptorFactory)
+ ? $injector.get(interceptorFactory) : $injector.invoke(interceptorFactory));
+ });
+
+ forEach(responseInterceptorFactories, function(interceptorFactory, index) {
+ var responseFn = isString(interceptorFactory)
+ ? $injector.get(interceptorFactory)
+ : $injector.invoke(interceptorFactory);
+
+ /**
+ * Response interceptors go before "around" interceptors (no real reason, just
+ * had to pick one.) But they are already reversed, so we can't use unshift, hence
+ * the splice.
+ */
+ reversedInterceptors.splice(index, 0, {
+ response: function(response) {
+ return responseFn($q.when(response));
+ },
+ responseError: function(response) {
+ return responseFn($q.reject(response));
+ }
+ });
+ });
+
+
+ /**
+ * @ngdoc function
+ * @name ng.$http
+ * @requires $httpBackend
+ * @requires $browser
+ * @requires $cacheFactory
+ * @requires $rootScope
+ * @requires $q
+ * @requires $injector
+ *
+ * @description
+ * The `$http` service is a core Angular service that facilitates communication with the remote
+ * HTTP servers via the browser's {@link https://developer.mozilla.org/en/xmlhttprequest
+ * XMLHttpRequest} object or via {@link http://en.wikipedia.org/wiki/JSONP JSONP}.
+ *
+ * For unit testing applications that use `$http` service, see
+ * {@link ngMock.$httpBackend $httpBackend mock}.
+ *
+ * For a higher level of abstraction, please check out the {@link ngResource.$resource
+ * $resource} service.
+ *
+ * The $http API is based on the {@link ng.$q deferred/promise APIs} exposed by
+ * the $q service. While for simple usage patterns this doesn't matter much, for advanced usage
+ * it is important to familiarize yourself with these APIs and the guarantees they provide.
+ *
+ *
+ * # General usage
+ * The `$http` service is a function which takes a single argument — a configuration object —
+ * that is used to generate an HTTP request and returns a {@link ng.$q promise}
+ * with two $http specific methods: `success` and `error`.
+ *
+ * <pre>
+ * $http({method: 'GET', url: '/someUrl'}).
+ * success(function(data, status, headers, config) {
+ * // this callback will be called asynchronously
+ * // when the response is available
+ * }).
+ * error(function(data, status, headers, config) {
+ * // called asynchronously if an error occurs
+ * // or server returns response with an error status.
+ * });
+ * </pre>
+ *
+ * Since the returned value of calling the $http function is a `promise`, you can also use
+ * the `then` method to register callbacks, and these callbacks will receive a single argument –
+ * an object representing the response. See the API signature and type info below for more
+ * details.
+ *
+ * A response status code between 200 and 299 is considered a success status and
+ * will result in the success callback being called. Note that if the response is a redirect,
+ * XMLHttpRequest will transparently follow it, meaning that the error callback will not be
+ * called for such responses.
+ *
+ * # Shortcut methods
+ *
+ * Since all invocations of the $http service require passing in an HTTP method and URL, and
+ * POST/PUT requests require request data to be provided as well, shortcut methods
+ * were created:
+ *
+ * <pre>
+ * $http.get('/someUrl').success(successCallback);
+ * $http.post('/someUrl', data).success(successCallback);
+ * </pre>
+ *
+ * Complete list of shortcut methods:
+ *
+ * - {@link ng.$http#get $http.get}
+ * - {@link ng.$http#head $http.head}
+ * - {@link ng.$http#post $http.post}
+ * - {@link ng.$http#put $http.put}
+ * - {@link ng.$http#delete $http.delete}
+ * - {@link ng.$http#jsonp $http.jsonp}
+ *
+ *
+ * # Setting HTTP Headers
+ *
+ * The $http service will automatically add certain HTTP headers to all requests. These defaults
+ * can be fully configured by accessing the `$httpProvider.defaults.headers` configuration
+ * object, which currently contains this default configuration:
+ *
+ * - `$httpProvider.defaults.headers.common` (headers that are common for all requests):
+ * - `Accept: application/json, text/plain, * / *`
+ * - `$httpProvider.defaults.headers.post`: (header defaults for POST requests)
+ * - `Content-Type: application/json`
+ * - `$httpProvider.defaults.headers.put` (header defaults for PUT requests)
+ * - `Content-Type: application/json`
+ *
+ * To add or overwrite these defaults, simply add or remove a property from these configuration
+ * objects. To add headers for an HTTP method other than POST or PUT, simply add a new object
+ * with the lowercased HTTP method name as the key, e.g.
+ * `$httpProvider.defaults.headers.get['My-Header']='value'`.
+ *
+ * Additionally, the defaults can be set at runtime via the `$http.defaults` object in the same
+ * fashion.
+ *
+ *
+ * # Transforming Requests and Responses
+ *
+ * Both requests and responses can be transformed using transform functions. By default, Angular
+ * applies these transformations:
+ *
+ * Request transformations:
+ *
+ * - If the `data` property of the request configuration object contains an object, serialize it into
+ * JSON format.
+ *
+ * Response transformations:
+ *
+ * - If XSRF prefix is detected, strip it (see Security Considerations section below).
+ * - If JSON response is detected, deserialize it using a JSON parser.
+ *
+ * To globally augment or override the default transforms, modify the `$httpProvider.defaults.transformRequest` and
+ * `$httpProvider.defaults.transformResponse` properties. These properties are by default an
+ * array of transform functions, which allows you to `push` or `unshift` a new transformation function into the
+ * transformation chain. You can also decide to completely override any default transformations by assigning your
+ * transformation functions to these properties directly without the array wrapper.
+ *
+ * Similarly, to locally override the request/response transforms, augment the `transformRequest` and/or
+ * `transformResponse` properties of the configuration object passed into `$http`.
+ *
+ *
+ * # Caching
+ *
+ * To enable caching, set the configuration property `cache` to `true`. When the cache is
+ * enabled, `$http` stores the response from the server in local cache. Next time the
+ * response is served from the cache without sending a request to the server.
+ *
+ * Note that even if the response is served from cache, delivery of the data is asynchronous in
+ * the same way that real requests are.
+ *
+ * If there are multiple GET requests for the same URL that should be cached using the same
+ * cache, but the cache is not populated yet, only one request to the server will be made and
+ * the remaining requests will be fulfilled using the response from the first request.
+ *
+ * A custom default cache built with $cacheFactory can be provided in $http.defaults.cache.
+ * To skip it, set configuration property `cache` to `false`.
+ *
+ *
+ * # Interceptors
+ *
+ * Before you start creating interceptors, be sure to understand the
+ * {@link ng.$q $q and deferred/promise APIs}.
+ *
+ * For purposes of global error handling, authentication, or any kind of synchronous or
+ * asynchronous pre-processing of request or postprocessing of responses, it is desirable to be
+ * able to intercept requests before they are handed to the server and
+ * responses before they are handed over to the application code that
+ * initiated these requests. The interceptors leverage the {@link ng.$q
+ * promise APIs} to fulfill this need for both synchronous and asynchronous pre-processing.
+ *
+ * The interceptors are service factories that are registered with the `$httpProvider` by
+ * adding them to the `$httpProvider.interceptors` array. The factory is called and
+ * injected with dependencies (if specified) and returns the interceptor.
+ *
+ * There are two kinds of interceptors (and two kinds of rejection interceptors):
+ *
+ * * `request`: interceptors get called with http `config` object. The function is free to modify
+ * the `config` or create a new one. The function needs to return the `config` directly or as a
+ * promise.
+ * * `requestError`: interceptor gets called when a previous interceptor threw an error or resolved
+ * with a rejection.
+ * * `response`: interceptors get called with http `response` object. The function is free to modify
+ * the `response` or create a new one. The function needs to return the `response` directly or as a
+ * promise.
+ * * `responseError`: interceptor gets called when a previous interceptor threw an error or resolved
+ * with a rejection.
+ *
+ *
+ * <pre>
+ * // register the interceptor as a service
+ * $provide.factory('myHttpInterceptor', function($q, dependency1, dependency2) {
+ * return {
+ * // optional method
+ * 'request': function(config) {
+ * // do something on success
+ * return config || $q.when(config);
+ * },
+ *
+ * // optional method
+ * 'requestError': function(rejection) {
+ * // do something on error
+ * if (canRecover(rejection)) {
+ * return responseOrNewPromise
+ * }
+ * return $q.reject(rejection);
+ * },
+ *
+ *
+ *
+ * // optional method
+ * 'response': function(response) {
+ * // do something on success
+ * return response || $q.when(response);
+ * },
+ *
+ * // optional method
+ * 'responseError': function(rejection) {
+ * // do something on error
+ * if (canRecover(rejection)) {
+ * return responseOrNewPromise
+ * }
+ * return $q.reject(rejection);
+ * };
+ * }
+ * });
+ *
+ * $httpProvider.interceptors.push('myHttpInterceptor');
+ *
+ *
+ * // register the interceptor via an anonymous factory
+ * $httpProvider.interceptors.push(function($q, dependency1, dependency2) {
+ * return {
+ * 'request': function(config) {
+ * // same as above
+ * },
+ * 'response': function(response) {
+ * // same as above
+ * }
+ * });
+ * </pre>
+ *
+ * # Response interceptors (DEPRECATED)
+ *
+ * Before you start creating interceptors, be sure to understand the
+ * {@link ng.$q $q and deferred/promise APIs}.
+ *
+ * For purposes of global error handling, authentication or any kind of synchronous or
+ * asynchronous preprocessing of received responses, it is desirable to be able to intercept
+ * responses for http requests before they are handed over to the application code that
+ * initiated these requests. The response interceptors leverage the {@link ng.$q
+ * promise apis} to fulfil this need for both synchronous and asynchronous preprocessing.
+ *
+ * The interceptors are service factories that are registered with the $httpProvider by
+ * adding them to the `$httpProvider.responseInterceptors` array. The factory is called and
+ * injected with dependencies (if specified) and returns the interceptor — a function that
+ * takes a {@link ng.$q promise} and returns the original or a new promise.
+ *
+ * <pre>
+ * // register the interceptor as a service
+ * $provide.factory('myHttpInterceptor', function($q, dependency1, dependency2) {
+ * return function(promise) {
+ * return promise.then(function(response) {
+ * // do something on success
+ * }, function(response) {
+ * // do something on error
+ * if (canRecover(response)) {
+ * return responseOrNewPromise
+ * }
+ * return $q.reject(response);
+ * });
+ * }
+ * });
+ *
+ * $httpProvider.responseInterceptors.push('myHttpInterceptor');
+ *
+ *
+ * // register the interceptor via an anonymous factory
+ * $httpProvider.responseInterceptors.push(function($q, dependency1, dependency2) {
+ * return function(promise) {
+ * // same as above
+ * }
+ * });
+ * </pre>
+ *
+ *
+ * # Security Considerations
+ *
+ * When designing web applications, consider security threats from:
+ *
+ * - {@link http://haacked.com/archive/2008/11/20/anatomy-of-a-subtle-json-vulnerabilit…
+ * JSON vulnerability}
+ * - {@link http://en.wikipedia.org/wiki/Cross-site_request_forgery XSRF}
+ *
+ * Both server and the client must cooperate in order to eliminate these threats. Angular comes
+ * pre-configured with strategies that address these issues, but for this to work backend server
+ * cooperation is required.
+ *
+ * ## JSON Vulnerability Protection
+ *
+ * A {@link http://haacked.com/archive/2008/11/20/anatomy-of-a-subtle-json-vulnerabilit…
+ * JSON vulnerability} allows third party website to turn your JSON resource URL into
+ * {@link http://en.wikipedia.org/wiki/JSONP JSONP} request under some conditions. To
+ * counter this your server can prefix all JSON requests with following string `")]}',\n"`.
+ * Angular will automatically strip the prefix before processing it as JSON.
+ *
+ * For example if your server needs to return:
+ * <pre>
+ * ['one','two']
+ * </pre>
+ *
+ * which is vulnerable to attack, your server can return:
+ * <pre>
+ * )]}',
+ * ['one','two']
+ * </pre>
+ *
+ * Angular will strip the prefix, before processing the JSON.
+ *
+ *
+ * ## Cross Site Request Forgery (XSRF) Protection
+ *
+ * {@link http://en.wikipedia.org/wiki/Cross-site_request_forgery XSRF} is a technique by which
+ * an unauthorized site can gain your user's private data. Angular provides a mechanism
+ * to counter XSRF. When performing XHR requests, the $http service reads a token from a cookie
+ * (by default, `XSRF-TOKEN`) and sets it as an HTTP header (`X-XSRF-TOKEN`). Since only
+ * JavaScript that runs on your domain could read the cookie, your server can be assured that
+ * the XHR came from JavaScript running on your domain. The header will not be set for
+ * cross-domain requests.
+ *
+ * To take advantage of this, your server needs to set a token in a JavaScript readable session
+ * cookie called `XSRF-TOKEN` on the first HTTP GET request. On subsequent XHR requests the
+ * server can verify that the cookie matches `X-XSRF-TOKEN` HTTP header, and therefore be sure
+ * that only JavaScript running on your domain could have sent the request. The token must be
+ * unique for each user and must be verifiable by the server (to prevent the JavaScript from making
+ * up its own tokens). We recommend that the token is a digest of your site's authentication
+ * cookie with a {@link https://en.wikipedia.org/wiki/Salt_(cryptography) salt} for added security.
+ *
+ * The name of the headers can be specified using the xsrfHeaderName and xsrfCookieName
+ * properties of either $httpProvider.defaults, or the per-request config object.
+ *
+ *
+ * @param {object} config Object describing the request to be made and how it should be
+ * processed. The object has following properties:
+ *
+ * - **method** – `{string}` – HTTP method (e.g. 'GET', 'POST', etc)
+ * - **url** – `{string}` – Absolute or relative URL of the resource that is being requested.
+ * - **params** – `{Object.<string|Object>}` – Map of strings or objects which will be turned to
+ * `?key1=value1&key2=value2` after the url. If the value is not a string, it will be JSONified.
+ * - **data** – `{string|Object}` – Data to be sent as the request message data.
+ * - **headers** – `{Object}` – Map of strings or functions which return strings representing
+ * HTTP headers to send to the server. If the return value of a function is null, the header will
+ * not be sent.
+ * - **xsrfHeaderName** – `{string}` – Name of HTTP header to populate with the XSRF token.
+ * - **xsrfCookieName** – `{string}` – Name of cookie containing the XSRF token.
+ * - **transformRequest** – `{function(data, headersGetter)|Array.<function(data, headersGetter)>}` –
+ * transform function or an array of such functions. The transform function takes the http
+ * request body and headers and returns its transformed (typically serialized) version.
+ * - **transformResponse** – `{function(data, headersGetter)|Array.<function(data, headersGetter)>}` –
+ * transform function or an array of such functions. The transform function takes the http
+ * response body and headers and returns its transformed (typically deserialized) version.
+ * - **cache** – `{boolean|Cache}` – If true, a default $http cache will be used to cache the
+ * GET request, otherwise if a cache instance built with
+ * {@link ng.$cacheFactory $cacheFactory}, this cache will be used for
+ * caching.
+ * - **timeout** – `{number|Promise}` – timeout in milliseconds, or {@link ng.$q promise}
+ * that should abort the request when resolved.
+ * - **withCredentials** - `{boolean}` - whether to to set the `withCredentials` flag on the
+ * XHR object. See {@link https://developer.mozilla.org/en/http_access_control#section_5
+ * requests with credentials} for more information.
+ * - **responseType** - `{string}` - see {@link
+ * https://developer.mozilla.org/en-US/docs/DOM/XMLHttpRequest#responseType requestType}.
+ *
+ * @returns {HttpPromise} Returns a {@link ng.$q promise} object with the
+ * standard `then` method and two http specific methods: `success` and `error`. The `then`
+ * method takes two arguments a success and an error callback which will be called with a
+ * response object. The `success` and `error` methods take a single argument - a function that
+ * will be called when the request succeeds or fails respectively. The arguments passed into
+ * these functions are destructured representation of the response object passed into the
+ * `then` method. The response object has these properties:
+ *
+ * - **data** – `{string|Object}` – The response body transformed with the transform functions.
+ * - **status** – `{number}` – HTTP status code of the response.
+ * - **headers** – `{function([headerName])}` – Header getter function.
+ * - **config** – `{Object}` – The configuration object that was used to generate the request.
+ *
+ * @property {Array.<Object>} pendingRequests Array of config objects for currently pending
+ * requests. This is primarily meant to be used for debugging purposes.
+ *
+ *
+ * @example
+ <example>
+ <file name="index.html">
+ <div ng-controller="FetchCtrl">
+ <select ng-model="method">
+ <option>GET</option>
+ <option>JSONP</option>
+ </select>
+ <input type="text" ng-model="url" size="80"/>
+ <button ng-click="fetch()">fetch</button><br>
+ <button ng-click="updateModel('GET', 'http-hello.html')">Sample GET</button>
+ <button ng-click="updateModel('JSONP', 'http://angularjs.org/greet.php?callback=JSON_CALLBACK&name=Super%20Hero')">Sample JSONP</button>
+ <button ng-click="updateModel('JSONP', 'http://angularjs.org/doesntexist&callback=JSON_CALLBACK')">Invalid JSONP</button>
+ <pre>http status code: {{status}}</pre>
+ <pre>http response data: {{data}}</pre>
+ </div>
+ </file>
+ <file name="script.js">
+ function FetchCtrl($scope, $http, $templateCache) {
+ $scope.method = 'GET';
+ $scope.url = 'http-hello.html';
+
+ $scope.fetch = function() {
+ $scope.code = null;
+ $scope.response = null;
+
+ $http({method: $scope.method, url: $scope.url, cache: $templateCache}).
+ success(function(data, status) {
+ $scope.status = status;
+ $scope.data = data;
+ }).
+ error(function(data, status) {
+ $scope.data = data || "Request failed";
+ $scope.status = status;
+ });
+ };
+
+ $scope.updateModel = function(method, url) {
+ $scope.method = method;
+ $scope.url = url;
+ };
+ }
+ </file>
+ <file name="http-hello.html">
+ Hello, $http!
+ </file>
+ <file name="scenario.js">
+ it('should make an xhr GET request', function() {
+ element(':button:contains("Sample GET")').click();
+ element(':button:contains("fetch")').click();
+ expect(binding('status')).toBe('200');
+ expect(binding('data')).toMatch(/Hello, \$http!/);
+ });
+
+ it('should make a JSONP request to angularjs.org', function() {
+ element(':button:contains("Sample JSONP")').click();
+ element(':button:contains("fetch")').click();
+ expect(binding('status')).toBe('200');
+ expect(binding('data')).toMatch(/Super Hero!/);
+ });
+
+ it('should make JSONP request to invalid URL and invoke the error handler',
+ function() {
+ element(':button:contains("Invalid JSONP")').click();
+ element(':button:contains("fetch")').click();
+ expect(binding('status')).toBe('0');
+ expect(binding('data')).toBe('Request failed');
+ });
+ </file>
+ </example>
+ */
+ function $http(requestConfig) {
+ var config = {
+ transformRequest: defaults.transformRequest,
+ transformResponse: defaults.transformResponse
+ };
+ var headers = mergeHeaders(requestConfig);
+
+ extend(config, requestConfig);
+ config.headers = headers;
+ config.method = uppercase(config.method);
+
+ var xsrfValue = $$urlUtils.isSameOrigin(config.url)
+ ? $browser.cookies()[config.xsrfCookieName || defaults.xsrfCookieName]
+ : undefined;
+ if (xsrfValue) {
+ headers[(config.xsrfHeaderName || defaults.xsrfHeaderName)] = xsrfValue;
+ }
+
+
+ var serverRequest = function(config) {
+ headers = config.headers;
+ var reqData = transformData(config.data, headersGetter(headers), config.transformRequest);
+
+ // strip content-type if data is undefined
+ if (isUndefined(config.data)) {
+ forEach(headers, function(value, header) {
+ if (lowercase(header) === 'content-type') {
+ delete headers[header];
+ }
+ });
+ }
+
+ if (isUndefined(config.withCredentials) && !isUndefined(defaults.withCredentials)) {
+ config.withCredentials = defaults.withCredentials;
+ }
+
+ // send request
+ return sendReq(config, reqData, headers).then(transformResponse, transformResponse);
+ };
+
+ var chain = [serverRequest, undefined];
+ var promise = $q.when(config);
+
+ // apply interceptors
+ forEach(reversedInterceptors, function(interceptor) {
+ if (interceptor.request || interceptor.requestError) {
+ chain.unshift(interceptor.request, interceptor.requestError);
+ }
+ if (interceptor.response || interceptor.responseError) {
+ chain.push(interceptor.response, interceptor.responseError);
+ }
+ });
+
+ while(chain.length) {
+ var thenFn = chain.shift();
+ var rejectFn = chain.shift();
+
+ promise = promise.then(thenFn, rejectFn);
+ }
+
+ promise.success = function(fn) {
+ promise.then(function(response) {
+ fn(response.data, response.status, response.headers, config);
+ });
+ return promise;
+ };
+
+ promise.error = function(fn) {
+ promise.then(null, function(response) {
+ fn(response.data, response.status, response.headers, config);
+ });
+ return promise;
+ };
+
+ return promise;
+
+ function transformResponse(response) {
+ // make a copy since the response must be cacheable
+ var resp = extend({}, response, {
+ data: transformData(response.data, response.headers, config.transformResponse)
+ });
+ return (isSuccess(response.status))
+ ? resp
+ : $q.reject(resp);
+ }
+
+ function mergeHeaders(config) {
+ var defHeaders = defaults.headers,
+ reqHeaders = extend({}, config.headers),
+ defHeaderName, lowercaseDefHeaderName, reqHeaderName;
+
+ defHeaders = extend({}, defHeaders.common, defHeaders[lowercase(config.method)]);
+
+ // execute if header value is function
+ execHeaders(defHeaders);
+ execHeaders(reqHeaders);
+
+ // using for-in instead of forEach to avoid unecessary iteration after header has been found
+ defaultHeadersIteration:
+ for (defHeaderName in defHeaders) {
+ lowercaseDefHeaderName = lowercase(defHeaderName);
+
+ for (reqHeaderName in reqHeaders) {
+ if (lowercase(reqHeaderName) === lowercaseDefHeaderName) {
+ continue defaultHeadersIteration;
+ }
+ }
+
+ reqHeaders[defHeaderName] = defHeaders[defHeaderName];
+ }
+
+ return reqHeaders;
+
+ function execHeaders(headers) {
+ var headerContent;
+
+ forEach(headers, function(headerFn, header) {
+ if (isFunction(headerFn)) {
+ headerContent = headerFn();
+ if (headerContent != null) {
+ headers[header] = headerContent;
+ } else {
+ delete headers[header];
+ }
+ }
+ });
+ }
+ }
+ }
+
+ $http.pendingRequests = [];
+
+ /**
+ * @ngdoc method
+ * @name ng.$http#get
+ * @methodOf ng.$http
+ *
+ * @description
+ * Shortcut method to perform `GET` request.
+ *
+ * @param {string} url Relative or absolute URL specifying the destination of the request
+ * @param {Object=} config Optional configuration object
+ * @returns {HttpPromise} Future object
+ */
+
+ /**
+ * @ngdoc method
+ * @name ng.$http#delete
+ * @methodOf ng.$http
+ *
+ * @description
+ * Shortcut method to perform `DELETE` request.
+ *
+ * @param {string} url Relative or absolute URL specifying the destination of the request
+ * @param {Object=} config Optional configuration object
+ * @returns {HttpPromise} Future object
+ */
+
+ /**
+ * @ngdoc method
+ * @name ng.$http#head
+ * @methodOf ng.$http
+ *
+ * @description
+ * Shortcut method to perform `HEAD` request.
+ *
+ * @param {string} url Relative or absolute URL specifying the destination of the request
+ * @param {Object=} config Optional configuration object
+ * @returns {HttpPromise} Future object
+ */
+
+ /**
+ * @ngdoc method
+ * @name ng.$http#jsonp
+ * @methodOf ng.$http
+ *
+ * @description
+ * Shortcut method to perform `JSONP` request.
+ *
+ * @param {string} url Relative or absolute URL specifying the destination of the request.
+ * Should contain `JSON_CALLBACK` string.
+ * @param {Object=} config Optional configuration object
+ * @returns {HttpPromise} Future object
+ */
+ createShortMethods('get', 'delete', 'head', 'jsonp');
+
+ /**
+ * @ngdoc method
+ * @name ng.$http#post
+ * @methodOf ng.$http
+ *
+ * @description
+ * Shortcut method to perform `POST` request.
+ *
+ * @param {string} url Relative or absolute URL specifying the destination of the request
+ * @param {*} data Request content
+ * @param {Object=} config Optional configuration object
+ * @returns {HttpPromise} Future object
+ */
+
+ /**
+ * @ngdoc method
+ * @name ng.$http#put
+ * @methodOf ng.$http
+ *
+ * @description
+ * Shortcut method to perform `PUT` request.
+ *
+ * @param {string} url Relative or absolute URL specifying the destination of the request
+ * @param {*} data Request content
+ * @param {Object=} config Optional configuration object
+ * @returns {HttpPromise} Future object
+ */
+ createShortMethodsWithData('post', 'put');
+
+ /**
+ * @ngdoc property
+ * @name ng.$http#defaults
+ * @propertyOf ng.$http
+ *
+ * @description
+ * Runtime equivalent of the `$httpProvider.defaults` property. Allows configuration of
+ * default headers, withCredentials as well as request and response transformations.
+ *
+ * See "Setting HTTP Headers" and "Transforming Requests and Responses" sections above.
+ */
+ $http.defaults = defaults;
+
+
+ return $http;
+
+
+ function createShortMethods(names) {
+ forEach(arguments, function(name) {
+ $http[name] = function(url, config) {
+ return $http(extend(config || {}, {
+ method: name,
+ url: url
+ }));
+ };
+ });
+ }
+
+
+ function createShortMethodsWithData(name) {
+ forEach(arguments, function(name) {
+ $http[name] = function(url, data, config) {
+ return $http(extend(config || {}, {
+ method: name,
+ url: url,
+ data: data
+ }));
+ };
+ });
+ }
+
+
+ /**
+ * Makes the request.
+ *
+ * !!! ACCESSES CLOSURE VARS:
+ * $httpBackend, defaults, $log, $rootScope, defaultCache, $http.pendingRequests
+ */
+ function sendReq(config, reqData, reqHeaders) {
+ var deferred = $q.defer(),
+ promise = deferred.promise,
+ cache,
+ cachedResp,
+ url = buildUrl(config.url, config.params);
+
+ $http.pendingRequests.push(config);
+ promise.then(removePendingReq, removePendingReq);
+
+
+ if ((config.cache || defaults.cache) && config.cache !== false && config.method == 'GET') {
+ cache = isObject(config.cache) ? config.cache
+ : isObject(defaults.cache) ? defaults.cache
+ : defaultCache;
+ }
+
+ if (cache) {
+ cachedResp = cache.get(url);
+ if (cachedResp) {
+ if (cachedResp.then) {
+ // cached request has already been sent, but there is no response yet
+ cachedResp.then(removePendingReq, removePendingReq);
+ return cachedResp;
+ } else {
+ // serving from cache
+ if (isArray(cachedResp)) {
+ resolvePromise(cachedResp[1], cachedResp[0], copy(cachedResp[2]));
+ } else {
+ resolvePromise(cachedResp, 200, {});
+ }
+ }
+ } else {
+ // put the promise for the non-transformed response into cache as a placeholder
+ cache.put(url, promise);
+ }
+ }
+
+ // if we won't have the response in cache, send the request to the backend
+ if (!cachedResp) {
+ $httpBackend(config.method, url, reqData, done, reqHeaders, config.timeout,
+ config.withCredentials, config.responseType);
+ }
+
+ return promise;
+
+
+ /**
+ * Callback registered to $httpBackend():
+ * - caches the response if desired
+ * - resolves the raw $http promise
+ * - calls $apply
+ */
+ function done(status, response, headersString) {
+ if (cache) {
+ if (isSuccess(status)) {
+ cache.put(url, [status, response, parseHeaders(headersString)]);
+ } else {
+ // remove promise from the cache
+ cache.remove(url);
+ }
+ }
+
+ resolvePromise(response, status, headersString);
+ if (!$rootScope.$$phase) $rootScope.$apply();
+ }
+
+
+ /**
+ * Resolves the raw $http promise.
+ */
+ function resolvePromise(response, status, headers) {
+ // normalize internal statuses to 0
+ status = Math.max(status, 0);
+
+ (isSuccess(status) ? deferred.resolve : deferred.reject)({
+ data: response,
+ status: status,
+ headers: headersGetter(headers),
+ config: config
+ });
+ }
+
+
+ function removePendingReq() {
+ var idx = indexOf($http.pendingRequests, config);
+ if (idx !== -1) $http.pendingRequests.splice(idx, 1);
+ }
+ }
+
+
+ function buildUrl(url, params) {
+ if (!params) return url;
+ var parts = [];
+ forEachSorted(params, function(value, key) {
+ if (value == null || value == undefined) return;
+ if (!isArray(value)) value = [value];
+
+ forEach(value, function(v) {
+ if (isObject(v)) {
+ v = toJson(v);
+ }
+ parts.push(encodeUriQuery(key) + '=' +
+ encodeUriQuery(v));
+ });
+ });
+ return url + ((url.indexOf('?') == -1) ? '?' : '&') + parts.join('&');
+ }
+
+
+ }];
+}
+
+var XHR = window.XMLHttpRequest || function() {
+ try { return new ActiveXObject("Msxml2.XMLHTTP.6.0"); } catch (e1) {}
+ try { return new ActiveXObject("Msxml2.XMLHTTP.3.0"); } catch (e2) {}
+ try { return new ActiveXObject("Msxml2.XMLHTTP"); } catch (e3) {}
+ throw minErr('$httpBackend')('noxhr', "This browser does not support XMLHttpRequest.");
+};
+
+
+/**
* @ngdoc object
+ * @name ng.$httpBackend
+ * @requires $browser
+ * @requires $window
+ * @requires $document
+ *
+ * @description
+ * HTTP backend used by the {@link ng.$http service} that delegates to
+ * XMLHttpRequest object or JSONP and deals with browser incompatibilities.
+ *
+ * You should never need to use this service directly, instead use the higher-level abstractions:
+ * {@link ng.$http $http} or {@link ngResource.$resource $resource}.
+ *
+ * During testing this implementation is swapped with {@link ngMock.$httpBackend mock
+ * $httpBackend} which can be trained with responses.
+ */
+function $HttpBackendProvider() {
+ this.$get = ['$browser', '$window', '$document', function($browser, $window, $document) {
+ return createHttpBackend($browser, XHR, $browser.defer, $window.angular.callbacks,
+ $document[0], $window.location.protocol.replace(':', ''));
+ }];
+}
+
+function createHttpBackend($browser, XHR, $browserDefer, callbacks, rawDocument, locationProtocol) {
+ // TODO(vojta): fix the signature
+ return function(method, url, post, callback, headers, timeout, withCredentials, responseType) {
+ var status;
+ $browser.$$incOutstandingRequestCount();
+ url = url || $browser.url();
+
+ if (lowercase(method) == 'jsonp') {
+ var callbackId = '_' + (callbacks.counter++).toString(36);
+ callbacks[callbackId] = function(data) {
+ callbacks[callbackId].data = data;
+ };
+
+ var jsonpDone = jsonpReq(url.replace('JSON_CALLBACK', 'angular.callbacks.' + callbackId),
+ function() {
+ if (callbacks[callbackId].data) {
+ completeRequest(callback, 200, callbacks[callbackId].data);
+ } else {
+ completeRequest(callback, status || -2);
+ }
+ delete callbacks[callbackId];
+ });
+ } else {
+ var xhr = new XHR();
+ xhr.open(method, url, true);
+ forEach(headers, function(value, key) {
+ if (value) xhr.setRequestHeader(key, value);
+ });
+
+ // In IE6 and 7, this might be called synchronously when xhr.send below is called and the
+ // response is in the cache. the promise api will ensure that to the app code the api is
+ // always async
+ xhr.onreadystatechange = function() {
+ if (xhr.readyState == 4) {
+ var responseHeaders = xhr.getAllResponseHeaders();
+
+ // TODO(vojta): remove once Firefox 21 gets released.
+ // begin: workaround to overcome Firefox CORS http response headers bug
+ // https://bugzilla.mozilla.org/show_bug.cgi?id=608735
+ // Firefox already patched in nightly. Should land in Firefox 21.
+
+ // CORS "simple response headers" http://www.w3.org/TR/cors/
+ var value,
+ simpleHeaders = ["Cache-Control", "Content-Language", "Content-Type",
+ "Expires", "Last-Modified", "Pragma"];
+ if (!responseHeaders) {
+ responseHeaders = "";
+ forEach(simpleHeaders, function (header) {
+ var value = xhr.getResponseHeader(header);
+ if (value) {
+ responseHeaders += header + ": " + value + "\n";
+ }
+ });
+ }
+ // end of the workaround.
+
+ // responseText is the old-school way of retrieving response (supported by IE8 & 9)
+ // response and responseType properties were introduced in XHR Level2 spec (supported by IE10)
+ completeRequest(callback,
+ status || xhr.status,
+ (xhr.responseType ? xhr.response : xhr.responseText),
+ responseHeaders);
+ }
+ };
+
+ if (withCredentials) {
+ xhr.withCredentials = true;
+ }
+
+ if (responseType) {
+ xhr.responseType = responseType;
+ }
+
+ xhr.send(post || '');
+ }
+
+ if (timeout > 0) {
+ var timeoutId = $browserDefer(timeoutRequest, timeout);
+ } else if (timeout && timeout.then) {
+ timeout.then(timeoutRequest);
+ }
+
+
+ function timeoutRequest() {
+ status = -1;
+ jsonpDone && jsonpDone();
+ xhr && xhr.abort();
+ }
+
+ function completeRequest(callback, status, response, headersString) {
+ // URL_MATCH is defined in src/service/location.js
+ var protocol = (url.match(SERVER_MATCH) || ['', locationProtocol])[1];
+
+ // cancel timeout and subsequent timeout promise resolution
+ timeoutId && $browserDefer.cancel(timeoutId);
+ jsonpDone = xhr = null;
+
+ // fix status code for file protocol (it's always 0)
+ status = (protocol == 'file') ? (response ? 200 : 404) : status;
+
+ // normalize IE bug (http://bugs.jquery.com/ticket/1450)
+ status = status == 1223 ? 204 : status;
+
+ callback(status, response, headersString);
+ $browser.$$completeOutstandingRequest(noop);
+ }
+ };
+
+ function jsonpReq(url, done) {
+ // we can't use jQuery/jqLite here because jQuery does crazy shit with script elements, e.g.:
+ // - fetches local scripts via XHR and evals them
+ // - adds and immediately removes script elements from the document
+ var script = rawDocument.createElement('script'),
+ doneWrapper = function() {
+ rawDocument.body.removeChild(script);
+ if (done) done();
+ };
+
+ script.type = 'text/javascript';
+ script.src = url;
+
+ if (msie) {
+ script.onreadystatechange = function() {
+ if (/loaded|complete/.test(script.readyState)) doneWrapper();
+ };
+ } else {
+ script.onload = script.onerror = doneWrapper;
+ }
+
+ rawDocument.body.appendChild(script);
+ return doneWrapper;
+ }
+}
+
+var $interpolateMinErr = minErr('$interpolate');
+
+/**
+ * @ngdoc object
* @name ng.$interpolateProvider
* @function
*
* @description
*
* Used for configuring the interpolation markup. Defaults to `{{` and `}}`.
+ *
+ * @example
+ <doc:example>
+ <doc:source>
+ <script>
+ var myApp = angular.module('App', [], function($interpolateProvider) {
+ $interpolateProvider.startSymbol('//');
+ $interpolateProvider.endSymbol('//');
+ });
+ function Controller($scope) {
+ $scope.label = "Interpolation Provider Sample";
+ }
+ </script>
+ <div ng-app="App" ng-controller="Controller">
+ //label//
+ </div>
+ </doc:source>
+ </doc:example>
*/
function $InterpolateProvider() {
var startSymbol = '{{';
@@ -5474,7 +6826,7 @@
};
- this.$get = ['$parse', '$exceptionHandler', function($parse, $exceptionHandler) {
+ this.$get = ['$parse', '$exceptionHandler', '$sce', function($parse, $exceptionHandler, $sce) {
var startSymbolLength = startSymbol.length,
endSymbolLength = endSymbol.length;
@@ -5484,6 +6836,7 @@
* @function
*
* @requires $parse
+ * @requires $sce
*
* @description
*
@@ -5504,6 +6857,10 @@
* @param {boolean=} mustHaveExpression if set to true then the interpolation string must have
* embedded expression in order to return an interpolation function. Strings with no
* embedded expression will return null for the interpolation function.
+ * @param {string=} trustedContext when provided, the returned function passes the interpolated
+ * result through {@link ng.$sce#getTrusted $sce.getTrusted(interpolatedResult,
+ * trustedContext)} before returning it. Refer to the {@link ng.$sce $sce} service that
+ * provides Strict Contextual Escaping for details.
* @returns {function(context)} an interpolation function which is used to compute the interpolated
* string. The function has these parameters:
*
@@ -5511,7 +6868,7 @@
* against.
*
*/
- function $interpolate(text, mustHaveExpression) {
+ function $interpolate(text, mustHaveExpression, trustedContext) {
var startIndex,
endIndex,
index = 0,
@@ -5543,6 +6900,19 @@
length = 1;
}
+ // Concatenating expressions makes it hard to reason about whether some combination of concatenated
+ // values are unsafe to use and could easily lead to XSS. By requiring that a single
+ // expression be used for iframe[src], object[src], etc., we ensure that the value that's used
+ // is assigned or constructed by some JS code somewhere that is more testable or make it
+ // obvious that you bound the value to some user controlled value. This helps reduce the load
+ // when auditing for XSS issues.
+ if (trustedContext && parts.length > 1) {
+ throw $interpolateMinErr('noconcat',
+ "Error while interpolating: {0}\nStrict Contextual Escaping disallows " +
+ "interpolations that concatenate multiple expressions when a trusted value is " +
+ "required. See http://docs.angularjs.org/api/ng.$sce", text);
+ }
+
if (!mustHaveExpression || hasInterpolation) {
concat.length = length;
fn = function(context) {
@@ -5550,6 +6920,11 @@
for(var i = 0, ii = length, part; i<ii; i++) {
if (typeof (part = parts[i]) == 'function') {
part = part(context);
+ if (trustedContext) {
+ part = $sce.getTrusted(trustedContext, part);
+ } else {
+ part = $sce.valueOf(part);
+ }
if (part == null || part == undefined) {
part = '';
} else if (typeof part != 'string') {
@@ -5561,7 +6936,7 @@
return concat.join('');
}
catch(err) {
- var newErr = new Error('Error while interpolating: ' + text + '\n' + err.toString());
+ var newErr = $interpolateMinErr('interr', "Can't interpolate: {0}\n{1}", text, err.toString());
$exceptionHandler(newErr);
}
};
@@ -5609,9 +6984,81 @@
}];
}
+/**
+ * @ngdoc object
+ * @name ng.$locale
+ *
+ * @description
+ * $locale service provides localization rules for various Angular components. As of right now the
+ * only public api is:
+ *
+ * * `id` – `{string}` – locale id formatted as `languageId-countryId` (e.g. `en-us`)
+ */
+function $LocaleProvider(){
+ this.$get = function() {
+ return {
+ id: 'en-us',
+
+ NUMBER_FORMATS: {
+ DECIMAL_SEP: '.',
+ GROUP_SEP: ',',
+ PATTERNS: [
+ { // Decimal Pattern
+ minInt: 1,
+ minFrac: 0,
+ maxFrac: 3,
+ posPre: '',
+ posSuf: '',
+ negPre: '-',
+ negSuf: '',
+ gSize: 3,
+ lgSize: 3
+ },{ //Currency Pattern
+ minInt: 1,
+ minFrac: 2,
+ maxFrac: 2,
+ posPre: '\u00A4',
+ posSuf: '',
+ negPre: '(\u00A4',
+ negSuf: ')',
+ gSize: 3,
+ lgSize: 3
+ }
+ ],
+ CURRENCY_SYM: '$'
+ },
+
+ DATETIME_FORMATS: {
+ MONTH: 'January,February,March,April,May,June,July,August,September,October,November,December'
+ .split(','),
+ SHORTMONTH: 'Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec'.split(','),
+ DAY: 'Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday'.split(','),
+ SHORTDAY: 'Sun,Mon,Tue,Wed,Thu,Fri,Sat'.split(','),
+ 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'
+ },
+
+ pluralCat: function(num) {
+ if (num === 1) {
+ return 'one';
+ }
+ return 'other';
+ }
+ };
+ };
+}
+
var SERVER_MATCH = /^([^:]+):\/\/(\w+:{0,1}\w*@)?(\{?[\w\.-]*\}?)(:([0-9]+))?(\/[^\?#]*)?(\?([^#]*))?(#(.*))?$/,
PATH_MATCH = /^([^\?#]*)(\?([^#]*))?(#(.*))?$/,
DEFAULT_PORTS = {'http': 80, 'https': 443, 'ftp': 21};
+var $locationMinErr = minErr('$location');
/**
@@ -5677,7 +7124,7 @@
return url.substr(0, stripHash(url).lastIndexOf('/') + 1);
}
-/* return the server only */
+/* return the server only (scheme://host:port) */
function serverBase(url) {
return url.substring(0, url.indexOf('/', url.indexOf('//') + 2));
}
@@ -5692,6 +7139,7 @@
* @param {string} basePrefix url path prefix
*/
function LocationHtml5Url(appBase, basePrefix) {
+ this.$$html5 = true;
basePrefix = basePrefix || '';
var appBaseNoFile = stripFile(appBase);
/**
@@ -5704,7 +7152,7 @@
matchUrl(url, parsed);
var pathUrl = beginsWith(appBaseNoFile, url);
if (!isString(pathUrl)) {
- throw Error('Invalid url "' + url + '", missing path prefix "' + appBaseNoFile + '".');
+ throw $locationMinErr('ipthprfx', 'Invalid url "{0}", missing path prefix "{1}".', url, appBaseNoFile);
}
matchAppUrl(pathUrl, parsed);
extend(this, parsed);
@@ -5748,7 +7196,8 @@
/**
* LocationHashbangUrl represents url
- * This object is exposed as $location service when html5 history api is disabled or not supported
+ * This object is exposed as $location service when developer doesn't opt into html5 mode.
+ * It also serves as the base class for html5 mode fallback on legacy browsers.
*
* @constructor
* @param {string} appBase application base URL
@@ -5757,20 +7206,24 @@
function LocationHashbangUrl(appBase, hashPrefix) {
var appBaseNoFile = stripFile(appBase);
+ matchUrl(appBase, this);
+
+
/**
* Parse given hashbang url into properties
* @param {string} url Hashbang url
* @private
*/
this.$$parse = function(url) {
- matchUrl(url, this);
var withoutBaseUrl = beginsWith(appBase, url) || beginsWith(appBaseNoFile, url);
- if (!isString(withoutBaseUrl)) {
- throw new Error('Invalid url "' + url + '", does not start with "' + appBase + '".');
- }
- var withoutHashUrl = withoutBaseUrl.charAt(0) == '#' ? beginsWith(hashPrefix, withoutBaseUrl) : withoutBaseUrl;
+ var withoutHashUrl = withoutBaseUrl.charAt(0) == '#'
+ ? beginsWith(hashPrefix, withoutBaseUrl)
+ : (this.$$html5)
+ ? withoutBaseUrl
+ : '';
+
if (!isString(withoutHashUrl)) {
- throw new Error('Invalid url "' + url + '", missing hash prefix "' + hashPrefix + '".');
+ throw $locationMinErr('ihshprfx', 'Invalid url "{0}", missing hash prefix "{1}".', url, hashPrefix);
}
matchAppUrl(withoutHashUrl, this);
this.$$compose();
@@ -5806,6 +7259,7 @@
* @param {string} hashPrefix hashbang prefix
*/
function LocationHashbangInHtml5Url(appBase, hashPrefix) {
+ this.$$html5 = true;
LocationHashbangUrl.apply(this, arguments);
var appBaseNoFile = stripFile(appBase);
@@ -5829,6 +7283,12 @@
LocationHtml5Url.prototype = {
/**
+ * Are we in html5 mode?
+ * @private
+ */
+ $$html5: false,
+
+ /**
* Has any change been replacing ?
* @private
*/
@@ -5862,6 +7322,7 @@
* Change path, search and hash, when called with parameter and return `$location`.
*
* @param {string=} url New url without base prefix (e.g. `/path?a=b#hash`)
+ * @param {string=} replace The path that will be changed
* @return {string} url
*/
url: function(url, replace) {
@@ -5952,24 +7413,32 @@
*
* Change search part when called with parameter and return `$location`.
*
- * @param {string|object<string,string>=} search New search params - string or hash object
+ * @param {string|Object.<string>|Object.<Array.<string>>} search New search params - string or hash object. Hash object
+ * may contain an array of values, which will be decoded as duplicates in the url.
* @param {string=} paramValue If `search` is a string, then `paramValue` will override only a
* single search parameter. If the value is `null`, the parameter will be deleted.
*
* @return {string} search
*/
search: function(search, paramValue) {
- if (isUndefined(search))
- return this.$$search;
-
- if (isDefined(paramValue)) {
- if (paramValue === null) {
- delete this.$$search[search];
- } else {
- this.$$search[search] = paramValue;
- }
- } else {
- this.$$search = isString(search) ? parseKeyValue(search) : search;
+ switch (arguments.length) {
+ case 0:
+ return this.$$search;
+ case 1:
+ if (isString(search)) {
+ this.$$search = parseKeyValue(search);
+ } else if (isObject(search)) {
+ this.$$search = search;
+ } else {
+ throw $locationMinErr('isrcharg', 'The first argument of the `$location#search()` call must be a string or an object.');
+ }
+ break;
+ default:
+ if (paramValue == undefined || paramValue == null) {
+ delete this.$$search[search];
+ } else {
+ this.$$search[search] = paramValue;
+ }
}
this.$$compose();
@@ -6105,12 +7574,12 @@
function( $rootScope, $browser, $sniffer, $rootElement) {
var $location,
LocationMode,
- baseHref = $browser.baseHref(),
+ baseHref = $browser.baseHref(), // if base[href] is undefined, it defaults to ''
initialUrl = $browser.url(),
appBase;
if (html5Mode) {
- appBase = baseHref ? serverBase(initialUrl) + baseHref : initialUrl;
+ appBase = serverBase(initialUrl) + (baseHref || '/');
LocationMode = $sniffer.history ? LocationHtml5Url : LocationHashbangInHtml5Url;
} else {
appBase = stripHash(initialUrl);
@@ -6119,7 +7588,7 @@
$location = new LocationMode(appBase, '#' + hashPrefix);
$location.$$parse($location.$$rewrite(initialUrl));
- $rootElement.bind('click', function(event) {
+ $rootElement.on('click', function(event) {
// TODO(vojta): rewrite link when opening in new tab/window (in legacy browser)
// currently we open nice url link and redirect then
@@ -6276,23 +7745,23 @@
/**
* @ngdoc method
- * @name ng.$log#warn
+ * @name ng.$log#info
* @methodOf ng.$log
*
* @description
- * Write a warning message
+ * Write an information message
*/
- warn: consoleLog('warn'),
+ info: consoleLog('info'),
/**
* @ngdoc method
- * @name ng.$log#info
+ * @name ng.$log#warn
* @methodOf ng.$log
*
* @description
- * Write an information message
+ * Write a warning message
*/
- info: consoleLog('info'),
+ warn: consoleLog('warn'),
/**
* @ngdoc method
@@ -6359,6 +7828,55 @@
}];
}
+var $parseMinErr = minErr('$parse');
+
+// Sandboxing Angular Expressions
+// ------------------------------
+// Angular expressions are generally considered safe because these expressions only have direct access to $scope and
+// locals. However, one can obtain the ability to execute arbitrary JS code by obtaining a reference to native JS
+// functions such as the Function constructor.
+//
+// As an example, consider the following Angular expression:
+//
+// {}.toString.constructor(alert("evil JS code"))
+//
+// We want to prevent this type of access. For the sake of performance, during the lexing phase we disallow any "dotted"
+// access to any member named "constructor".
+//
+// For reflective calls (a[b]) we check that the value of the lookup is not the Function constructor while evaluating
+// For reflective calls (a[b]) we check that the value of the lookup is not the Function constructor while evaluating
+// the expression, which is a stronger but more expensive test. Since reflective calls are expensive anyway, this is not
+// such a big deal compared to static dereferencing.
+//
+// This sandboxing technique is not perfect and doesn't aim to be. The goal is to prevent exploits against the
+// expression language, but not to prevent exploits that were enabled by exposing sensitive JavaScript or browser apis
+// on Scope. Exposing such objects on a Scope is never a good practice and therefore we are not even trying to protect
+// against interaction with an object explicitly exposed in this way.
+//
+// A developer could foil the name check by aliasing the Function constructor under a different name on the scope.
+//
+// In general, it is not possible to access a Window object from an angular expression unless a window or some DOM
+// object that has a reference to window is published onto a Scope.
+
+function ensureSafeMemberName(name, fullExpression) {
+ if (name === "constructor") {
+ throw $parseMinErr('isecfld',
+ 'Referencing "constructor" field in Angular expressions is disallowed! Expression: {0}', fullExpression);
+ }
+ return name;
+};
+
+function ensureSafeObject(obj, fullExpression) {
+ // nifty check if obj is Function that is fast and works across iframes and other contexts
+ if (obj && obj.constructor === obj) {
+ throw $parseMinErr('isecfn',
+ 'Referencing Function in Angular expressions is disallowed! Expression: {0}', fullExpression);
+ } else {
+ return obj;
+ }
+}
+
+
var OPERATORS = {
'null':function(){return null;},
'true':function(){return true;},
@@ -6482,11 +8000,11 @@
function throwError(error, start, end) {
end = end || index;
- throw Error("Lexer Error: " + error + " at column" +
- (isDefined(start)
- ? "s " + start + "-" + index + " [" + text.substring(start, end) + "]"
- : " " + end) +
- " in expression [" + text + "].");
+ var colStr = (isDefined(start) ?
+ "s " + start + "-" + index + " [" + text.substring(start, end) + "]"
+ : " " + end);
+ throw $parseMinErr('lexerr', "Lexer Error: {0} at column{1} in expression [{2}].",
+ error, colStr, text);
}
function readNumber() {
@@ -6562,12 +8080,12 @@
if (OPERATORS.hasOwnProperty(ident)) {
token.fn = token.json = OPERATORS[ident];
} else {
- var getter = getterFn(ident, csp);
+ var getter = getterFn(ident, csp, text);
token.fn = extend(function(self, locals) {
return (getter(self, locals));
}, {
assign: function(self, value) {
- return setter(self, ident, value);
+ return setter(self, ident, value, text);
}
});
}
@@ -6668,15 +8186,14 @@
///////////////////////////////////
function throwError(msg, token) {
- throw Error("Syntax Error: Token '" + token.text +
- "' " + msg + " at column " +
- (token.index + 1) + " of the expression [" +
- text + "] starting at [" + text.substring(token.index) + "].");
+ throw $parseMinErr('syntax',
+ "Syntax Error: Token '{0}' {1} at column {2} of the expression [{3}] starting at [{4}].",
+ token.text, msg, (token.index + 1), text, text.substring(token.index));
}
function peekToken() {
if (tokens.length === 0)
- throw Error("Unexpected end of expression: " + text);
+ throw $parseMinErr('ueoe', "Unexpected end of expression: {0}", text);
return tokens[0];
}
@@ -6725,7 +8242,7 @@
constant: left.constant && middle.constant && right.constant
});
}
-
+
function binaryFn(left, fn, right) {
return extend(function(self, locals) {
return fn(self, locals, left, right);
@@ -6830,7 +8347,7 @@
return left;
}
}
-
+
function logicalOR() {
var left = logicalAND();
var token;
@@ -6942,14 +8459,14 @@
function _fieldAccess(object) {
var field = expect().text;
- var getter = getterFn(field, csp);
+ var getter = getterFn(field, csp, text);
return extend(
function(scope, locals, self) {
return getter(self || object(scope, locals), locals);
},
{
assign:function(scope, value, locals) {
- return setter(object(scope, locals), field, value);
+ return setter(object(scope, locals), field, value, text);
}
}
);
@@ -6965,7 +8482,7 @@
v, p;
if (!o) return undefined;
- v = o[i];
+ v = ensureSafeObject(o[i], text);
if (v && v.then) {
p = v;
if (!('$$v' in v)) {
@@ -6977,7 +8494,9 @@
return v;
}, {
assign:function(self, value, locals){
- return obj(self, locals)[indexFn(self, locals)] = value;
+ var key = indexFn(self, locals);
+ // prevent overwriting of Function.constructor which would break ensureSafeObject check
+ return ensureSafeObject(obj(self, locals), text)[key] = value;
}
});
}
@@ -7065,48 +8584,33 @@
// Parser helper functions
//////////////////////////////////////////////////
-function setter(obj, path, setValue) {
- var element = path.split('.');
+function setter(obj, path, setValue, fullExp) {
+ var element = path.split('.'), key;
for (var i = 0; element.length > 1; i++) {
- var key = element.shift();
+ key = ensureSafeMemberName(element.shift(), fullExp);
var propertyObj = obj[key];
if (!propertyObj) {
propertyObj = {};
obj[key] = propertyObj;
}
obj = propertyObj;
+ if (obj.then) {
+ if (!("$$v" in obj)) {
+ (function(promise) {
+ promise.then(function(val) { promise.$$v = val; }); }
+ )(obj);
+ }
+ if (obj.$$v === undefined) {
+ obj.$$v = {};
+ }
+ obj = obj.$$v;
+ }
}
- obj[element.shift()] = setValue;
+ key = ensureSafeMemberName(element.shift(), fullExp);
+ obj[key] = setValue;
return setValue;
}
-/**
- * Return the value accessible from the object by path. Any undefined traversals are ignored
- * @param {Object} obj starting object
- * @param {string} path path to traverse
- * @param {boolean=true} bindFnToScope
- * @returns value as accessible by path
- */
-//TODO(misko): this function needs to be removed
-function getter(obj, path, bindFnToScope) {
- if (!path) return obj;
- var keys = path.split('.');
- var key;
- var lastInstance = obj;
- var len = keys.length;
-
- for (var i = 0; i < len; i++) {
- key = keys[i];
- if (obj) {
- obj = (lastInstance = obj)[key];
- }
- }
- if (!bindFnToScope && isFunction(obj)) {
- return bind(lastInstance, obj);
- }
- return obj;
-}
-
var getterFnCache = {};
/**
@@ -7114,7 +8618,12 @@
* - http://jsperf.com/angularjs-parse-getter/4
* - http://jsperf.com/path-evaluation-simplified/7
*/
-function cspSafeGetterFn(key0, key1, key2, key3, key4) {
+function cspSafeGetterFn(key0, key1, key2, key3, key4, fullExp) {
+ ensureSafeMemberName(key0, fullExp);
+ ensureSafeMemberName(key1, fullExp);
+ ensureSafeMemberName(key2, fullExp);
+ ensureSafeMemberName(key3, fullExp);
+ ensureSafeMemberName(key4, fullExp);
return function(scope, locals) {
var pathVal = (locals && locals.hasOwnProperty(key0)) ? locals : scope,
promise;
@@ -7178,7 +8687,7 @@
};
}
-function getterFn(path, csp) {
+function getterFn(path, csp, fullExp) {
if (getterFnCache.hasOwnProperty(path)) {
return getterFnCache[path];
}
@@ -7189,12 +8698,12 @@
if (csp) {
fn = (pathKeysLength < 6)
- ? cspSafeGetterFn(pathKeys[0], pathKeys[1], pathKeys[2], pathKeys[3], pathKeys[4])
+ ? cspSafeGetterFn(pathKeys[0], pathKeys[1], pathKeys[2], pathKeys[3], pathKeys[4], fullExp)
: function(scope, locals) {
var i = 0, val;
do {
val = cspSafeGetterFn(
- pathKeys[i++], pathKeys[i++], pathKeys[i++], pathKeys[i++], pathKeys[i++]
+ pathKeys[i++], pathKeys[i++], pathKeys[i++], pathKeys[i++], pathKeys[i++], fullExp
)(scope, locals);
locals = undefined; // clear after first iteration
@@ -7205,6 +8714,7 @@
} else {
var code = 'var l, fn, p;\n';
forEach(pathKeys, function(key, index) {
+ ensureSafeMemberName(key, fullExp);
code += 'if(s === null || s === undefined) return s;\n' +
'l=s;\n' +
's='+ (index
@@ -7373,21 +8883,27 @@
* **Methods**
*
* - `then(successCallback, errorCallback)` – regardless of when the promise was or will be resolved
- * or rejected calls one of the success or error callbacks asynchronously as soon as the result
- * is available. The callbacks are called with a single argument the result or rejection reason.
+ * or rejected, `then` calls one of the success or error callbacks asynchronously as soon as the result
+ * is available. The callbacks are called with a single argument: the result or rejection reason.
*
* This method *returns a new promise* which is resolved or rejected via the return value of the
* `successCallback` or `errorCallback`.
*
- * - `always(callback)` – allows you to observe either the fulfillment or rejection of a promise,
+ * - `catch(errorCallback)` – shorthand for `promise.then(null, errorCallback)`
+ *
+ * - `finally(callback)` – allows you to observe either the fulfillment or rejection of a promise,
* but to do so without modifying the final value. This is useful to release resources or do some
* clean-up that needs to be done whether the promise was rejected or resolved. See the [full
* specification](https://github.com/kriskowal/q/wiki/API-Reference#promisefin… for
* more information.
*
+ * Because `finally` is a reserved word in JavaScript and reserved keywords are not supported as
+ * property names by ES3, you'll need to invoke the method like `promise['finally'](callback)` to
+ * make your code IE8 compatible.
+ *
* # Chaining promises
*
- * Because calling `then` api of a promise returns a new derived promise, it is easily possible
+ * Because calling the `then` method of a promise returns a new derived promise, it is easily possible
* to create a chain of promises:
*
* <pre>
@@ -7395,13 +8911,13 @@
* return result + 1;
* });
*
- * // promiseB will be resolved immediately after promiseA is resolved and its value will be
- * // the result of promiseA incremented by 1
+ * // promiseB will be resolved immediately after promiseA is resolved and its value
+ * // will be the result of promiseA incremented by 1
* </pre>
*
* It is possible to create chains of any length and since a promise can be resolved with another
* promise (which will defer its resolution further), it is possible to pause/defer resolution of
- * the promises at any point in the chain. This makes it possible to implement powerful apis like
+ * the promises at any point in the chain. This makes it possible to implement powerful APIs like
* $http's response interceptors.
*
*
@@ -7416,25 +8932,25 @@
* you can treat promises attached to a scope as if they were the resulting values.
* - Q has many more features than $q, but that comes at a cost of bytes. $q is tiny, but contains
* all the important functionality needed for common async tasks.
- *
+ *
* # Testing
- *
+ *
* <pre>
* it('should simulate promise', inject(function($q, $rootScope) {
* var deferred = $q.defer();
* var promise = deferred.promise;
* var resolvedValue;
- *
+ *
* promise.then(function(value) { resolvedValue = value; });
* expect(resolvedValue).toBeUndefined();
- *
+ *
* // Simulate resolving of promise
* deferred.resolve(123);
* // Note that the 'then' function does not get called synchronously.
* // This is because we want the promise API to always be async, whether or not
* // it got called synchronously or asynchronously.
* expect(resolvedValue).toBeUndefined();
- *
+ *
* // Propagate promise resolution to 'then' functions using $apply().
* $rootScope.$apply();
* expect(resolvedValue).toEqual(123);
@@ -7487,7 +9003,7 @@
var callback;
for (var i = 0, ii = callbacks.length; i < ii; i++) {
callback = callbacks[i];
- value.then(callback[0], callback[1]);
+ value.then(callback[0], callback[1], callback[2]);
}
});
}
@@ -7500,16 +9016,33 @@
},
+ notify: function(progress) {
+ if (pending) {
+ var callbacks = pending;
+
+ if (pending.length) {
+ nextTick(function() {
+ var callback;
+ for (var i = 0, ii = callbacks.length; i < ii; i++) {
+ callback = callbacks[i];
+ callback[2](progress);
+ }
+ });
+ }
+ }
+ },
+
+
promise: {
- then: function(callback, errback) {
+ then: function(callback, errback, progressback) {
var result = defer();
var wrappedCallback = function(value) {
try {
result.resolve((callback || defaultCallback)(value));
} catch(e) {
+ result.reject(e);
exceptionHandler(e);
- result.reject(e);
}
};
@@ -7517,21 +9050,34 @@
try {
result.resolve((errback || defaultErrback)(reason));
} catch(e) {
+ result.reject(e);
exceptionHandler(e);
- result.reject(e);
}
};
+ var wrappedProgressback = function(progress) {
+ try {
+ result.notify((progressback || defaultCallback)(progress));
+ } catch(e) {
+ exceptionHandler(e);
+ }
+ };
+
if (pending) {
- pending.push([wrappedCallback, wrappedErrback]);
+ pending.push([wrappedCallback, wrappedErrback, wrappedProgressback]);
} else {
- value.then(wrappedCallback, wrappedErrback);
+ value.then(wrappedCallback, wrappedErrback, wrappedProgressback);
}
return result.promise;
},
- always: function(callback) {
-
+
+ "catch": function(callback) {
+ return this.then(null, callback);
+ },
+
+ "finally": function(callback) {
+
function makePromise(value, resolved) {
var result = defer();
if (resolved) {
@@ -7541,14 +9087,14 @@
}
return result.promise;
}
-
+
function handleCallback(value, isResolved) {
- var callbackOutput = null;
+ var callbackOutput = null;
try {
callbackOutput = (callback ||defaultCallback)();
} catch(e) {
return makePromise(e, false);
- }
+ }
if (callbackOutput && callbackOutput.then) {
return callbackOutput.then(function() {
return makePromise(value, isResolved);
@@ -7559,7 +9105,7 @@
return makePromise(value, isResolved);
}
}
-
+
return this.then(function(value) {
return handleCallback(value, true);
}, function(error) {
@@ -7647,7 +9193,7 @@
* @param {*} value Value or a promise
* @returns {Promise} Returns a promise of the passed value or promise
*/
- var when = function(value, callback, errback) {
+ var when = function(value, callback, errback, progressback) {
var result = defer(),
done;
@@ -7669,15 +9215,26 @@
}
};
+ var wrappedProgressback = function(progress) {
+ try {
+ return (progressback || defaultCallback)(progress);
+ } catch (e) {
+ exceptionHandler(e);
+ }
+ };
+
nextTick(function() {
ref(value).then(function(value) {
if (done) return;
done = true;
- result.resolve(ref(value).then(wrappedCallback, wrappedErrback));
+ result.resolve(ref(value).then(wrappedCallback, wrappedErrback, wrappedProgressback));
}, function(reason) {
if (done) return;
done = true;
result.resolve(wrappedErrback(reason));
+ }, function(progress) {
+ if (done) return;
+ result.notify(wrappedProgressback(progress));
});
});
@@ -7742,542 +9299,6 @@
}
/**
- * @ngdoc object
- * @name ng.$routeProvider
- * @function
- *
- * @description
- *
- * Used for configuring routes. See {@link ng.$route $route} for an example.
- */
-function $RouteProvider(){
- var routes = {};
-
- /**
- * @ngdoc method
- * @name ng.$routeProvider#when
- * @methodOf ng.$routeProvider
- *
- * @param {string} path Route path (matched against `$location.path`). If `$location.path`
- * contains redundant trailing slash or is missing one, the route will still match and the
- * `$location.path` will be updated to add or drop the trailing slash to exactly match the
- * route definition.
- *
- * * `path` can contain named groups starting with a colon (`:name`). All characters up
- * to the next slash are matched and stored in `$routeParams` under the given `name`
- * when the route matches.
- * * `path` can contain named groups starting with a star (`*name`). All characters are
- * eagerly stored in `$routeParams` under the given `name` when the route matches.
- *
- * For example, routes like `/color/:color/largecode/*largecode/edit` will match
- * `/color/brown/largecode/code/with/slashs/edit` and extract:
- *
- * * `color: brown`
- * * `largecode: code/with/slashs`.
- *
- *
- * @param {Object} route Mapping information to be assigned to `$route.current` on route
- * match.
- *
- * Object properties:
- *
- * - `controller` – `{(string|function()=}` – Controller fn that should be associated with newly
- * created scope or the name of a {@link angular.Module#controller registered controller}
- * if passed as a string.
- * - `controllerAs` – `{string=}` – A controller alias name. If present the controller will be
- * published to scope under the `controllerAs` name.
- * - `template` – `{string=|function()=}` – html template as a string or function that returns
- * an html template as a string which should be used by {@link ng.directive:ngView ngView} or
- * {@link ng.directive:ngInclude ngInclude} directives.
- * This property takes precedence over `templateUrl`.
- *
- * If `template` is a function, it will be called with the following parameters:
- *
- * - `{Array.<Object>}` - route parameters extracted from the current
- * `$location.path()` by applying the current route
- *
- * - `templateUrl` – `{string=|function()=}` – path or function that returns a path to an html
- * template that should be used by {@link ng.directive:ngView ngView}.
- *
- * If `templateUrl` is a function, it will be called with the following parameters:
- *
- * - `{Array.<Object>}` - route parameters extracted from the current
- * `$location.path()` by applying the current route
- *
- * - `resolve` - `{Object.<string, function>=}` - An optional map of dependencies which should
- * be injected into the controller. If any of these dependencies are promises, they will be
- * resolved and converted to a value before the controller is instantiated and the
- * `$routeChangeSuccess` event is fired. The map object is:
- *
- * - `key` – `{string}`: a name of a dependency to be injected into the controller.
- * - `factory` - `{string|function}`: If `string` then it is an alias for a service.
- * Otherwise if function, then it is {@link api/AUTO.$injector#invoke injected}
- * and the return value is treated as the dependency. If the result is a promise, it is resolved
- * before its value is injected into the controller.
- *
- * - `redirectTo` – {(string|function())=} – value to update
- * {@link ng.$location $location} path with and trigger route redirection.
- *
- * If `redirectTo` is a function, it will be called with the following parameters:
- *
- * - `{Object.<string>}` - route parameters extracted from the current
- * `$location.path()` by applying the current route templateUrl.
- * - `{string}` - current `$location.path()`
- * - `{Object}` - current `$location.search()`
- *
- * The custom `redirectTo` function is expected to return a string which will be used
- * to update `$location.path()` and `$location.search()`.
- *
- * - `[reloadOnSearch=true]` - {boolean=} - reload route when only $location.search()
- * changes.
- *
- * If the option is set to `false` and url in the browser changes, then
- * `$routeUpdate` event is broadcasted on the root scope.
- *
- * - `[caseInsensitiveMatch=false]` - {boolean=} - match routes without being case sensitive
- *
- * If the option is set to `true`, then the particular route can be matched without being
- * case sensitive
- *
- * @returns {Object} self
- *
- * @description
- * Adds a new route definition to the `$route` service.
- */
- this.when = function(path, route) {
- routes[path] = extend({reloadOnSearch: true, caseInsensitiveMatch: false}, route);
-
- // create redirection for trailing slashes
- if (path) {
- var redirectPath = (path[path.length-1] == '/')
- ? path.substr(0, path.length-1)
- : path +'/';
-
- routes[redirectPath] = {redirectTo: path};
- }
-
- return this;
- };
-
- /**
- * @ngdoc method
- * @name ng.$routeProvider#otherwise
- * @methodOf ng.$routeProvider
- *
- * @description
- * Sets route definition that will be used on route change when no other route definition
- * is matched.
- *
- * @param {Object} params Mapping information to be assigned to `$route.current`.
- * @returns {Object} self
- */
- this.otherwise = function(params) {
- this.when(null, params);
- return this;
- };
-
-
- this.$get = ['$rootScope', '$location', '$routeParams', '$q', '$injector', '$http', '$templateCache',
- function( $rootScope, $location, $routeParams, $q, $injector, $http, $templateCache) {
-
- /**
- * @ngdoc object
- * @name ng.$route
- * @requires $location
- * @requires $routeParams
- *
- * @property {Object} current Reference to the current route definition.
- * The route definition contains:
- *
- * - `controller`: The controller constructor as define in route definition.
- * - `locals`: A map of locals which is used by {@link ng.$controller $controller} service for
- * controller instantiation. The `locals` contain
- * the resolved values of the `resolve` map. Additionally the `locals` also contain:
- *
- * - `$scope` - The current route scope.
- * - `$template` - The current route template HTML.
- *
- * @property {Array.<Object>} routes Array of all configured routes.
- *
- * @description
- * Is used for deep-linking URLs to controllers and views (HTML partials).
- * It watches `$location.url()` and tries to map the path to an existing route definition.
- *
- * You can define routes through {@link ng.$routeProvider $routeProvider}'s API.
- *
- * The `$route` service is typically used in conjunction with {@link ng.directive:ngView ngView}
- * directive and the {@link ng.$routeParams $routeParams} service.
- *
- * @example
- This example shows how changing the URL hash causes the `$route` to match a route against the
- URL, and the `ngView` pulls in the partial.
-
- Note that this example is using {@link ng.directive:script inlined templates}
- to get it working on jsfiddle as well.
-
- <example module="ngView">
- <file name="index.html">
- <div ng-controller="MainCntl">
- Choose:
- <a href="Book/Moby">Moby</a> |
- <a href="Book/Moby/ch/1">Moby: Ch1</a> |
- <a href="Book/Gatsby">Gatsby</a> |
- <a href="Book/Gatsby/ch/4?key=value">Gatsby: Ch4</a> |
- <a href="Book/Scarlet">Scarlet Letter</a><br/>
-
- <div ng-view></div>
- <hr />
-
- <pre>$location.path() = {{$location.path()}}</pre>
- <pre>$route.current.templateUrl = {{$route.current.templateUrl}}</pre>
- <pre>$route.current.params = {{$route.current.params}}</pre>
- <pre>$route.current.scope.name = {{$route.current.scope.name}}</pre>
- <pre>$routeParams = {{$routeParams}}</pre>
- </div>
- </file>
-
- <file name="book.html">
- controller: {{name}}<br />
- Book Id: {{params.bookId}}<br />
- </file>
-
- <file name="chapter.html">
- controller: {{name}}<br />
- Book Id: {{params.bookId}}<br />
- Chapter Id: {{params.chapterId}}
- </file>
-
- <file name="script.js">
- angular.module('ngView', [], function($routeProvider, $locationProvider) {
- $routeProvider.when('/Book/:bookId', {
- templateUrl: 'book.html',
- controller: BookCntl,
- resolve: {
- // I will cause a 1 second delay
- delay: function($q, $timeout) {
- var delay = $q.defer();
- $timeout(delay.resolve, 1000);
- return delay.promise;
- }
- }
- });
- $routeProvider.when('/Book/:bookId/ch/:chapterId', {
- templateUrl: 'chapter.html',
- controller: ChapterCntl
- });
-
- // configure html5 to get links working on jsfiddle
- $locationProvider.html5Mode(true);
- });
-
- function MainCntl($scope, $route, $routeParams, $location) {
- $scope.$route = $route;
- $scope.$location = $location;
- $scope.$routeParams = $routeParams;
- }
-
- function BookCntl($scope, $routeParams) {
- $scope.name = "BookCntl";
- $scope.params = $routeParams;
- }
-
- function ChapterCntl($scope, $routeParams) {
- $scope.name = "ChapterCntl";
- $scope.params = $routeParams;
- }
- </file>
-
- <file name="scenario.js">
- it('should load and compile correct template', function() {
- element('a:contains("Moby: Ch1")').click();
- var content = element('.doc-example-live [ng-view]').text();
- expect(content).toMatch(/controller\: ChapterCntl/);
- expect(content).toMatch(/Book Id\: Moby/);
- expect(content).toMatch(/Chapter Id\: 1/);
-
- element('a:contains("Scarlet")').click();
- sleep(2); // promises are not part of scenario waiting
- content = element('.doc-example-live [ng-view]').text();
- expect(content).toMatch(/controller\: BookCntl/);
- expect(content).toMatch(/Book Id\: Scarlet/);
- });
- </file>
- </example>
- */
-
- /**
- * @ngdoc event
- * @name ng.$route#$routeChangeStart
- * @eventOf ng.$route
- * @eventType broadcast on root scope
- * @description
- * Broadcasted before a route change. At this point the route services starts
- * resolving all of the dependencies needed for the route change to occurs.
- * Typically this involves fetching the view template as well as any dependencies
- * defined in `resolve` route property. Once all of the dependencies are resolved
- * `$routeChangeSuccess` is fired.
- *
- * @param {Route} next Future route information.
- * @param {Route} current Current route information.
- */
-
- /**
- * @ngdoc event
- * @name ng.$route#$routeChangeSuccess
- * @eventOf ng.$route
- * @eventType broadcast on root scope
- * @description
- * Broadcasted after a route dependencies are resolved.
- * {@link ng.directive:ngView ngView} listens for the directive
- * to instantiate the controller and render the view.
- *
- * @param {Object} angularEvent Synthetic event object.
- * @param {Route} current Current route information.
- * @param {Route|Undefined} previous Previous route information, or undefined if current is first route entered.
- */
-
- /**
- * @ngdoc event
- * @name ng.$route#$routeChangeError
- * @eventOf ng.$route
- * @eventType broadcast on root scope
- * @description
- * Broadcasted if any of the resolve promises are rejected.
- *
- * @param {Route} current Current route information.
- * @param {Route} previous Previous route information.
- * @param {Route} rejection Rejection of the promise. Usually the error of the failed promise.
- */
-
- /**
- * @ngdoc event
- * @name ng.$route#$routeUpdate
- * @eventOf ng.$route
- * @eventType broadcast on root scope
- * @description
- *
- * The `reloadOnSearch` property has been set to false, and we are reusing the same
- * instance of the Controller.
- */
-
- var forceReload = false,
- $route = {
- routes: routes,
-
- /**
- * @ngdoc method
- * @name ng.$route#reload
- * @methodOf ng.$route
- *
- * @description
- * Causes `$route` service to reload the current route even if
- * {@link ng.$location $location} hasn't changed.
- *
- * As a result of that, {@link ng.directive:ngView ngView}
- * creates new scope, reinstantiates the controller.
- */
- reload: function() {
- forceReload = true;
- $rootScope.$evalAsync(updateRoute);
- }
- };
-
- $rootScope.$on('$locationChangeSuccess', updateRoute);
-
- return $route;
-
- /////////////////////////////////////////////////////
-
- /**
- * @param on {string} current url
- * @param when {string} route when template to match the url against
- * @param whenProperties {Object} properties to define when's matching behavior
- * @return {?Object}
- */
- function switchRouteMatcher(on, when, whenProperties) {
- // TODO(i): this code is convoluted and inefficient, we should construct the route matching
- // regex only once and then reuse it
-
- // Escape regexp special characters.
- when = '^' + when.replace(/[-\/\\^$:*+?.()|[\]{}]/g, "\\$&") + '$';
-
- var regex = '',
- params = [],
- dst = {};
-
- var re = /\\([:*])(\w+)/g,
- paramMatch,
- lastMatchedIndex = 0;
-
- while ((paramMatch = re.exec(when)) !== null) {
- // Find each :param in `when` and replace it with a capturing group.
- // Append all other sections of when unchanged.
- regex += when.slice(lastMatchedIndex, paramMatch.index);
- switch(paramMatch[1]) {
- case ':':
- regex += '([^\\/]*)';
- break;
- case '*':
- regex += '(.*)';
- break;
- }
- params.push(paramMatch[2]);
- lastMatchedIndex = re.lastIndex;
- }
- // Append trailing path part.
- regex += when.substr(lastMatchedIndex);
-
- var match = on.match(new RegExp(regex, whenProperties.caseInsensitiveMatch ? 'i' : ''));
- if (match) {
- forEach(params, function(name, index) {
- dst[name] = match[index + 1];
- });
- }
- return match ? dst : null;
- }
-
- function updateRoute() {
- var next = parseRoute(),
- last = $route.current;
-
- if (next && last && next.$$route === last.$$route
- && equals(next.pathParams, last.pathParams) && !next.reloadOnSearch && !forceReload) {
- last.params = next.params;
- copy(last.params, $routeParams);
- $rootScope.$broadcast('$routeUpdate', last);
- } else if (next || last) {
- forceReload = false;
- $rootScope.$broadcast('$routeChangeStart', next, last);
- $route.current = next;
- if (next) {
- if (next.redirectTo) {
- if (isString(next.redirectTo)) {
- $location.path(interpolate(next.redirectTo, next.params)).search(next.params)
- .replace();
- } else {
- $location.url(next.redirectTo(next.pathParams, $location.path(), $location.search()))
- .replace();
- }
- }
- }
-
- $q.when(next).
- then(function() {
- if (next) {
- var locals = extend({}, next.resolve),
- template;
-
- forEach(locals, function(value, key) {
- locals[key] = isString(value) ? $injector.get(value) : $injector.invoke(value);
- });
-
- if (isDefined(template = next.template)) {
- if (isFunction(template)) {
- template = template(next.params);
- }
- } else if (isDefined(template = next.templateUrl)) {
- if (isFunction(template)) {
- template = template(next.params);
- }
- if (isDefined(template)) {
- next.loadedTemplateUrl = template;
- template = $http.get(template, {cache: $templateCache}).
- then(function(response) { return response.data; });
- }
- }
- if (isDefined(template)) {
- locals['$template'] = template;
- }
- return $q.all(locals);
- }
- }).
- // after route change
- then(function(locals) {
- if (next == $route.current) {
- if (next) {
- next.locals = locals;
- copy(next.params, $routeParams);
- }
- $rootScope.$broadcast('$routeChangeSuccess', next, last);
- }
- }, function(error) {
- if (next == $route.current) {
- $rootScope.$broadcast('$routeChangeError', next, last, error);
- }
- });
- }
- }
-
-
- /**
- * @returns the current active route, by matching it against the URL
- */
- function parseRoute() {
- // Match a route
- var params, match;
- forEach(routes, function(route, path) {
- if (!match && (params = switchRouteMatcher($location.path(), path, route))) {
- match = inherit(route, {
- params: extend({}, $location.search(), params),
- pathParams: params});
- match.$$route = route;
- }
- });
- // No route matched; fallback to "otherwise" route
- return match || routes[null] && inherit(routes[null], {params: {}, pathParams:{}});
- }
-
- /**
- * @returns interpolation of the redirect path with the parameters
- */
- function interpolate(string, params) {
- var result = [];
- forEach((string||'').split(':'), function(segment, i) {
- if (i == 0) {
- result.push(segment);
- } else {
- var segmentMatch = segment.match(/(\w+)(.*)/);
- var key = segmentMatch[1];
- result.push(params[key]);
- result.push(segmentMatch[2] || '');
- delete params[key];
- }
- });
- return result.join('');
- }
- }];
-}
-
-/**
- * @ngdoc object
- * @name ng.$routeParams
- * @requires $route
- *
- * @description
- * Current set of route parameters. The route parameters are a combination of the
- * {@link ng.$location $location} `search()`, and `path()`. The `path` parameters
- * are extracted when the {@link ng.$route $route} path is matched.
- *
- * In case of parameter name collision, `path` params take precedence over `search` params.
- *
- * The service guarantees that the identity of the `$routeParams` object will remain unchanged
- * (but its properties will likely change) even when a route change occurs.
- *
- * @example
- * <pre>
- * // Given:
- * // URL: http://server.com/index.html#/Chapter/1/Section/2?search=moby
- * // Route: /Chapter/:chapterId/Section/:sectionId
- * //
- * // Then
- * $routeParams ==> {chapterId:1, sectionId:2, search:'moby'}
- * </pre>
- */
-function $RouteParamsProvider() {
- this.$get = valueFn({});
-}
-
-/**
* DESIGN NOTES
*
* The design decisions behind the scope are heavily favored for speed and memory consumption.
@@ -8337,6 +9358,7 @@
*/
function $RootScopeProvider(){
var TTL = 10;
+ var $rootScopeMinErr = minErr('$rootScope');
this.digestTtl = function(value) {
if (arguments.length) {
@@ -8438,13 +9460,11 @@
var Child,
child;
- if (isFunction(isolate)) {
- // TODO: remove at some point
- throw Error('API-CHANGE: Use $controller to instantiate controllers.');
- }
if (isolate) {
child = new Scope();
child.$root = this.$root;
+ // ensure that there is just one async queue per $rootScope and it's children
+ child.$$asyncQueue = this.$$asyncQueue;
} else {
Child = function() {}; // should be anonymous; This is so that when the minifier munges
// the name it does not become random set of chars. These will then show up as class
@@ -8801,7 +9821,7 @@
watch = watchers[length];
// Most common watches are on primitives, in which case we can short
// circuit it with === operator, only when === fails do we use .equals
- if ((value = watch.get(current)) !== (last = watch.last) &&
+ if (watch && (value = watch.get(current)) !== (last = watch.last) &&
!(watch.eq
? equals(value, last)
: (typeof value == 'number' && typeof last == 'number'
@@ -8837,8 +9857,9 @@
if(dirty && !(ttl--)) {
clearPhase();
- throw Error(TTL + ' $digest() iterations reached. Aborting!\n' +
- 'Watchers fired in the last 5 iterations: ' + toJson(watchLog));
+ throw $rootScopeMinErr('infdig',
+ '{0} $digest() iterations reached. Aborting!\nWatchers fired in the last 5 iterations: {1}',
+ TTL, toJson(watchLog));
}
} while (dirty || asyncQueue.length);
@@ -8854,6 +9875,9 @@
*
* @description
* Broadcasted when a scope and its children are being destroyed.
+ *
+ * Note that, in AngularJS, there is also a `$destroy` jQuery event, which can be used to
+ * clean up DOM bindings before an element is removed from the DOM.
*/
/**
@@ -8875,6 +9899,9 @@
* Just before a scope is destroyed a `$destroy` event is broadcasted on this scope.
* Application code can register a `$destroy` event handler that will give it chance to
* perform any necessary cleanup.
+ *
+ * Note that, in AngularJS, there is also a `$destroy` jQuery event, which can be used to
+ * clean up DOM bindings before an element is removed from the DOM.
*/
$destroy: function() {
// we can't destroy the root scope or a scope that has been already destroyed
@@ -9200,7 +10227,7 @@
function beginPhase(phase) {
if ($rootScope.$$phase) {
- throw Error($rootScope.$$phase + ' already in progress');
+ throw $rootScopeMinErr('inprog', '{0} already in progress', $rootScope.$$phase);
}
$rootScope.$$phase = phase;
@@ -9224,1328 +10251,1027 @@
}];
}
-/**
- * !!! This is an undocumented "private" service !!!
- *
- * @name ng.$sniffer
- * @requires $window
- * @requires $document
- *
- * @property {boolean} history Does the browser support html5 history api ?
- * @property {boolean} hashchange Does the browser support hashchange event ?
- * @property {boolean} transitions Does the browser support CSS transition events ?
- * @property {boolean} animations Does the browser support CSS animation events ?
- *
- * @description
- * This is very simple implementation of testing browser's features.
- */
-function $SnifferProvider() {
- this.$get = ['$window', '$document', function($window, $document) {
- var eventSupport = {},
- android = int((/android (\d+)/.exec(lowercase(($window.navigator || {}).userAgent)) || [])[1]),
- document = $document[0] || {},
- vendorPrefix,
- vendorRegex = /^(Moz|webkit|O|ms)(?=[A-Z])/,
- bodyStyle = document.body && document.body.style,
- transitions = false,
- animations = false,
- match;
+var $sceMinErr = minErr('$sce');
- if (bodyStyle) {
- for(var prop in bodyStyle) {
- if(match = vendorRegex.exec(prop)) {
- vendorPrefix = match[0];
- vendorPrefix = vendorPrefix.substr(0, 1).toUpperCase() + vendorPrefix.substr(1);
- break;
- }
- }
- transitions = !!(('transition' in bodyStyle) || (vendorPrefix + 'Transition' in bodyStyle));
- animations = !!(('animation' in bodyStyle) || (vendorPrefix + 'Animation' in bodyStyle));
- }
+var SCE_CONTEXTS = {
+ HTML: 'html',
+ CSS: 'css',
+ URL: 'url',
+ // RESOURCE_URL is a subtype of URL used in contexts where a privileged resource is sourced from a
+ // url. (e.g. ng-include, script src, templateUrl)
+ RESOURCE_URL: 'resourceUrl',
+ JS: 'js'
+};
- return {
- // Android has history.pushState, but it does not update location correctly
- // so let's not use the history API at all.
- // http://code.google.com/p/android/issues/detail?id=17471
- // https://github.com/angular/angular.js/issues/904
- history: !!($window.history && $window.history.pushState && !(android < 4)),
- hashchange: 'onhashchange' in $window &&
- // IE8 compatible mode lies
- (!document.documentMode || document.documentMode > 7),
- hasEvent: function(event) {
- // IE9 implements 'input' event it's so fubared that we rather pretend that it doesn't have
- // it. In particular the event is not fired when backspace or delete key are pressed or
- // when cut operation is performed.
- if (event == 'input' && msie == 9) return false;
-
- if (isUndefined(eventSupport[event])) {
- var divElm = document.createElement('div');
- eventSupport[event] = 'on' + event in divElm;
- }
-
- return eventSupport[event];
- },
- csp: document.securityPolicy ? document.securityPolicy.isActive : false,
- vendorPrefix: vendorPrefix,
- transitions : transitions,
- animations : animations
- };
- }];
-}
-
/**
- * @ngdoc object
- * @name ng.$window
+ * @ngdoc service
+ * @name ng.$sceDelegate
+ * @function
*
* @description
- * A reference to the browser's `window` object. While `window`
- * is globally available in JavaScript, it causes testability problems, because
- * it is a global variable. In angular we always refer to it through the
- * `$window` service, so it may be overridden, removed or mocked for testing.
*
- * All expressions are evaluated with respect to current scope so they don't
- * suffer from window globality.
+ * `$sceDelegate` is a service that is used by the `$sce` service to provide {@link ng.$sce Strict
+ * Contextual Escaping (SCE)} services to AngularJS.
*
- * @example
- <doc:example>
- <doc:source>
- <script>
- function Ctrl($scope, $window) {
- $scope.$window = $window;
- $scope.greeting = 'Hello, World!';
- }
- </script>
- <div ng-controller="Ctrl">
- <input type="text" ng-model="greeting" />
- <button ng-click="$window.alert(greeting)">ALERT</button>
- </div>
- </doc:source>
- <doc:scenario>
- it('should display the greeting in the input box', function() {
- input('greeting').enter('Hello, E2E Tests');
- // If we click the button it will block the test runner
- // element(':button').click();
- });
- </doc:scenario>
- </doc:example>
+ * Typically, you would configure or override the {@link ng.$sceDelegate $sceDelegate} instead of
+ * the `$sce` service to customize the way Strict Contextual Escaping works in AngularJS. This is
+ * because, while the `$sce` provides numerous shorthand methods, etc., you really only need to
+ * override 3 core functions (`trustAs`, `getTrusted` and `valueOf`) to replace the way things
+ * work because `$sce` delegates to `$sceDelegate` for these operations.
+ *
+ * Refer {@link ng.$sceDelegateProvider $sceDelegateProvider} to configure this service.
+ *
+ * The default instance of `$sceDelegate` should work out of the box with little pain. While you
+ * can override it completely to change the behavior of `$sce`, the common case would
+ * involve configuring the {@link ng.$sceDelegateProvider $sceDelegateProvider} instead by setting
+ * your own whitelists and blacklists for trusting URLs used for loading AngularJS resources such as
+ * templates. Refer {@link ng.$sceDelegateProvider#resourceUrlWhitelist
+ * $sceDelegateProvider.resourceUrlWhitelist} and {@link
+ * ng.$sceDelegateProvider#resourceUrlBlacklist $sceDelegateProvider.resourceUrlBlacklist}
*/
-function $WindowProvider(){
- this.$get = valueFn(window);
-}
/**
- * Parse headers into key value object
+ * @ngdoc object
+ * @name ng.$sceDelegateProvider
+ * @description
*
- * @param {string} headers Raw headers as a string
- * @returns {Object} Parsed headers as key value object
+ * The $sceDelegateProvider provider allows developers to configure the {@link ng.$sceDelegate
+ * $sceDelegate} service. This allows one to get/set the whitelists and blacklists used to ensure
+ * that URLs used for sourcing Angular templates are safe. Refer {@link
+ * ng.$sceDelegateProvider#resourceUrlWhitelist $sceDelegateProvider.resourceUrlWhitelist} and
+ * {@link ng.$sceDelegateProvider#resourceUrlBlacklist $sceDelegateProvider.resourceUrlBlacklist}
+ *
+ * Read more about {@link ng.$sce Strict Contextual Escaping (SCE)}.
*/
-function parseHeaders(headers) {
- var parsed = {}, key, val, i;
- if (!headers) return parsed;
+function $SceDelegateProvider() {
+ this.SCE_CONTEXTS = SCE_CONTEXTS;
- forEach(headers.split('\n'), function(line) {
- i = line.indexOf(':');
- key = lowercase(trim(line.substr(0, i)));
- val = trim(line.substr(i + 1));
+ // Resource URLs can also be trusted by policy.
+ var resourceUrlWhitelist = ['self'],
+ resourceUrlBlacklist = [];
- if (key) {
- if (parsed[key]) {
- parsed[key] += ', ' + val;
- } else {
- parsed[key] = val;
- }
+ /**
+ * @ngdoc function
+ * @name ng.sceDelegateProvider#resourceUrlWhitelist
+ * @methodOf ng.$sceDelegateProvider
+ * @function
+ *
+ * @param {Array=} whitelist When provided, replaces the resourceUrlWhitelist with the value
+ * provided. This must be an array.
+ *
+ * Each element of this array must either be a regex or the special string `'self'`.
+ *
+ * When a regex is used, it is matched against the normalized / absolute URL of the resource
+ * being tested.
+ *
+ * The **special string** `'self'` can be used to match against all URLs of the same domain as the
+ * application document with the same protocol (allows sourcing https resources from http documents.)
+ *
+ * Please note that **an empty whitelist array will block all URLs**!
+ *
+ * @return {Array} the currently set whitelist array.
+ *
+ * The **default value** when no whitelist has been explicitly set is `['self']`.
+ *
+ * @description
+ * Sets/Gets the whitelist of trusted resource URLs.
+ */
+ this.resourceUrlWhitelist = function (value) {
+ if (arguments.length) {
+ resourceUrlWhitelist = value;
}
- });
+ return resourceUrlWhitelist;
+ };
- return parsed;
-}
+ /**
+ * @ngdoc function
+ * @name ng.sceDelegateProvider#resourceUrlBlacklist
+ * @methodOf ng.$sceDelegateProvider
+ * @function
+ *
+ * @param {Array=} blacklist When provided, replaces the resourceUrlBlacklist with the value
+ * provided. This must be an array.
+ *
+ * Each element of this array must either be a regex or the special string `'self'` (see
+ * `resourceUrlWhitelist` for meaning - it's only really useful there.)
+ *
+ * When a regex is used, it is matched against the normalized / absolute URL of the resource
+ * being tested.
+ *
+ * The typical usage for the blacklist is to **block [open redirects](http://cwe.mitre.org/data/definitions/601.html)**
+ * served by your domain as these would otherwise be trusted but actually return content from the redirected
+ * domain.
+ *
+ * Finally, **the blacklist overrides the whitelist** and has the final say.
+ *
+ * @return {Array} the currently set blacklist array.
+ *
+ * The **default value** when no whitelist has been explicitly set is the empty array (i.e. there is
+ * no blacklist.)
+ *
+ * @description
+ * Sets/Gets the blacklist of trusted resource URLs.
+ */
+ this.resourceUrlBlacklist = function (value) {
+ if (arguments.length) {
+ resourceUrlBlacklist = value;
+ }
+ return resourceUrlBlacklist;
+ };
-var IS_SAME_DOMAIN_URL_MATCH = /^(([^:]+):)?\/\/(\w+:{0,1}\w*@)?([\w\.-]*)?(:([0-9]+))?(.*)$/;
+ // Helper functions for matching resource urls by policy.
+ function isCompatibleProtocol(documentProtocol, resourceProtocol) {
+ return ((documentProtocol === resourceProtocol) ||
+ (documentProtocol === "http:" && resourceProtocol === "https:"));
+ }
+ this.$get = ['$log', '$document', '$injector', '$$urlUtils', function(
+ $log, $document, $injector, $$urlUtils) {
-/**
- * Parse a request and location URL and determine whether this is a same-domain request.
- *
- * @param {string} requestUrl The url of the request.
- * @param {string} locationUrl The current browser location url.
- * @returns {boolean} Whether the request is for the same domain.
- */
-function isSameDomain(requestUrl, locationUrl) {
- var match = IS_SAME_DOMAIN_URL_MATCH.exec(requestUrl);
- // if requestUrl is relative, the regex does not match.
- if (match == null) return true;
-
- var domain1 = {
- protocol: match[2],
- host: match[4],
- port: int(match[6]) || DEFAULT_PORTS[match[2]] || null,
- // IE8 sets unmatched groups to '' instead of undefined.
- relativeProtocol: match[2] === undefined || match[2] === ''
+ var htmlSanitizer = function htmlSanitizer(html) {
+ throw $sceMinErr('unsafe', 'Attempting to use an unsafe value in a safe context.');
};
- match = SERVER_MATCH.exec(locationUrl);
- var domain2 = {
- protocol: match[1],
- host: match[3],
- port: int(match[5]) || DEFAULT_PORTS[match[1]] || null
- };
+ if ($injector.has('$sanitize')) {
+ htmlSanitizer = $injector.get('$sanitize');
+ }
- return (domain1.protocol == domain2.protocol || domain1.relativeProtocol) &&
- domain1.host == domain2.host &&
- (domain1.port == domain2.port || (domain1.relativeProtocol &&
- domain2.port == DEFAULT_PORTS[domain2.protocol]));
-}
+ function matchUrl(matcher, parsedUrl) {
+ if (matcher === 'self') {
+ return $$urlUtils.isSameOrigin(parsedUrl);
+ } else {
+ return !!parsedUrl.href.match(matcher);
+ }
+ }
-/**
- * Returns a function that provides access to parsed headers.
- *
- * Headers are lazy parsed when first requested.
- * @see parseHeaders
- *
- * @param {(string|Object)} headers Headers to provide access to.
- * @returns {function(string=)} Returns a getter function which if called with:
- *
- * - if called with single an argument returns a single header value or null
- * - if called with no arguments returns an object containing all headers.
- */
-function headersGetter(headers) {
- var headersObj = isObject(headers) ? headers : undefined;
+ function isResourceUrlAllowedByPolicy(url) {
+ var parsedUrl = $$urlUtils.resolve(url.toString(), true);
+ var i, n, allowed = false;
+ // Ensure that at least one item from the whitelist allows this url.
+ for (i = 0, n = resourceUrlWhitelist.length; i < n; i++) {
+ if (matchUrl(resourceUrlWhitelist[i], parsedUrl)) {
+ allowed = true;
+ break;
+ }
+ }
+ if (allowed) {
+ // Ensure that no item from the blacklist blocked this url.
+ for (i = 0, n = resourceUrlBlacklist.length; i < n; i++) {
+ if (matchUrl(resourceUrlBlacklist[i], parsedUrl)) {
+ allowed = false;
+ break;
+ }
+ }
+ }
+ return allowed;
+ }
- return function(name) {
- if (!headersObj) headersObj = parseHeaders(headers);
+ function generateHolderType(base) {
+ var holderType = function TrustedValueHolderType(trustedValue) {
+ this.$$unwrapTrustedValue = function() {
+ return trustedValue;
+ };
+ };
+ if (base) {
+ holderType.prototype = new base();
+ }
+ holderType.prototype.valueOf = function sceValueOf() {
+ return this.$$unwrapTrustedValue();
+ }
+ holderType.prototype.toString = function sceToString() {
+ return this.$$unwrapTrustedValue().toString();
+ }
+ return holderType;
+ }
- if (name) {
- return headersObj[lowercase(name)] || null;
+ var trustedValueHolderBase = generateHolderType(),
+ byType = {};
+
+ byType[SCE_CONTEXTS.HTML] = generateHolderType(trustedValueHolderBase);
+ byType[SCE_CONTEXTS.CSS] = generateHolderType(trustedValueHolderBase);
+ byType[SCE_CONTEXTS.URL] = generateHolderType(trustedValueHolderBase);
+ byType[SCE_CONTEXTS.JS] = generateHolderType(trustedValueHolderBase);
+ byType[SCE_CONTEXTS.RESOURCE_URL] = generateHolderType(byType[SCE_CONTEXTS.URL]);
+
+ /**
+ * @ngdoc method
+ * @name ng.$sceDelegate#trustAs
+ * @methodOf ng.$sceDelegate
+ *
+ * @description
+ * Returns an object that is trusted by angular for use in specified strict
+ * contextual escaping contexts (such as ng-html-bind-unsafe, ng-include, any src
+ * attribute interpolation, any dom event binding attribute interpolation
+ * such as for onclick, etc.) that uses the provided value.
+ * See {@link ng.$sce $sce} for enabling strict contextual escaping.
+ *
+ * @param {string} type The kind of context in which this value is safe for use. e.g. url,
+ * resourceUrl, html, js and css.
+ * @param {*} value The value that that should be considered trusted/safe.
+ * @returns {*} A value that can be used to stand in for the provided `value` in places
+ * where Angular expects a $sce.trustAs() return value.
+ */
+ function trustAs(type, trustedValue) {
+ var constructor = (byType.hasOwnProperty(type) ? byType[type] : null);
+ if (!constructor) {
+ throw $sceMinErr('icontext', 'Attempted to trust a value in invalid context. Context: {0}; Value: {1}',
+ type, trustedValue);
+ }
+ if (trustedValue === null || trustedValue === undefined || trustedValue === '') {
+ return trustedValue;
+ }
+ // All the current contexts in SCE_CONTEXTS happen to be strings. In order to avoid trusting
+ // mutable objects, we ensure here that the value passed in is actually a string.
+ if (typeof trustedValue !== 'string') {
+ throw $sceMinErr('itype',
+ 'Attempted to trust a non-string value in a content requiring a string: Context: {0}',
+ type);
+ }
+ return new constructor(trustedValue);
}
- return headersObj;
- };
+ /**
+ * @ngdoc method
+ * @name ng.$sceDelegate#valueOf
+ * @methodOf ng.$sceDelegate
+ *
+ * @description
+ * If the passed parameter had been returned by a prior call to {@link ng.$sceDelegate#trustAs
+ * `$sceDelegate.trustAs`}, returns the value that had been passed to {@link
+ * ng.$sceDelegate#trustAs `$sceDelegate.trustAs`}.
+ *
+ * If the passed parameter is not a value that had been returned by {@link
+ * ng.$sceDelegate#trustAs `$sceDelegate.trustAs`}, returns it as-is.
+ *
+ * @param {*} value The result of a prior {@link ng.$sceDelegate#trustAs `$sceDelegate.trustAs`}
+ * call or anything else.
+ * @returns {*} The value the was originally provided to {@link ng.$sceDelegate#trustAs
+ * `$sceDelegate.trustAs`} if `value` is the result of such a call. Otherwise, returns `value`
+ * unchanged.
+ */
+ function valueOf(maybeTrusted) {
+ if (maybeTrusted instanceof trustedValueHolderBase) {
+ return maybeTrusted.$$unwrapTrustedValue();
+ } else {
+ return maybeTrusted;
+ }
+ }
+
+ /**
+ * @ngdoc method
+ * @name ng.$sceDelegate#getTrusted
+ * @methodOf ng.$sceDelegate
+ *
+ * @description
+ * Takes the result of a {@link ng.$sceDelegate#trustAs `$sceDelegate.trustAs`} call and returns the
+ * originally supplied value if the queried context type is a supertype of the created type. If
+ * this condition isn't satisfied, throws an exception.
+ *
+ * @param {string} type The kind of context in which this value is to be used.
+ * @param {*} maybeTrusted The result of a prior {@link ng.$sceDelegate#trustAs
+ * `$sceDelegate.trustAs`} call.
+ * @returns {*} The value the was originally provided to {@link ng.$sceDelegate#trustAs
+ * `$sceDelegate.trustAs`} if valid in this context. Otherwise, throws an exception.
+ */
+ function getTrusted(type, maybeTrusted) {
+ if (maybeTrusted === null || maybeTrusted === undefined || maybeTrusted === '') {
+ return maybeTrusted;
+ }
+ var constructor = (byType.hasOwnProperty(type) ? byType[type] : null);
+ if (constructor && maybeTrusted instanceof constructor) {
+ return maybeTrusted.$$unwrapTrustedValue();
+ }
+ // If we get here, then we may only take one of two actions.
+ // 1. sanitize the value for the requested type, or
+ // 2. throw an exception.
+ if (type === SCE_CONTEXTS.RESOURCE_URL) {
+ if (isResourceUrlAllowedByPolicy(maybeTrusted)) {
+ return maybeTrusted;
+ } else {
+ throw $sceMinErr('insecurl',
+ 'Blocked loading resource from url not allowed by $sceDelegate policy. URL: {0}', maybeTrusted.toString());
+ }
+ } else if (type === SCE_CONTEXTS.HTML) {
+ return htmlSanitizer(maybeTrusted);
+ }
+ throw $sceMinErr('unsafe', 'Attempting to use an unsafe value in a safe context.');
+ }
+
+ return { trustAs: trustAs,
+ getTrusted: getTrusted,
+ valueOf: valueOf };
+ }];
}
/**
- * Chain all given functions
+ * @ngdoc object
+ * @name ng.$sceProvider
+ * @description
*
- * This function is used for both request and response transforming
+ * The $sceProvider provider allows developers to configure the {@link ng.$sce $sce} service.
+ * - enable/disable Strict Contextual Escaping (SCE) in a module
+ * - override the default implementation with a custom delegate
*
- * @param {*} data Data to transform.
- * @param {function(string=)} headers Http headers getter fn.
- * @param {(function|Array.<function>)} fns Function or an array of functions.
- * @returns {*} Transformed data.
+ * Read more about {@link ng.$sce Strict Contextual Escaping (SCE)}.
*/
-function transformData(data, headers, fns) {
- if (isFunction(fns))
- return fns(data, headers);
- forEach(fns, function(fn) {
- data = fn(data, headers);
- });
+/**
+ * @ngdoc service
+ * @name ng.$sce
+ * @function
+ *
+ * @description
+ *
+ * `$sce` is a service that provides Strict Contextual Escaping services to AngularJS.
+ *
+ * # Strict Contextual Escaping
+ *
+ * Strict Contextual Escaping (SCE) is a mode in which AngularJS requires bindings in certain
+ * contexts to result in a value that is marked as safe to use for that context One example of such
+ * a context is binding arbitrary html controlled by the user via `ng-bind-html`. We refer to these
+ * contexts as privileged or SCE contexts.
+ *
+ * As of version 1.2, Angular ships with SCE enabled by default.
+ *
+ * Note: When enabled (the default), IE8 in quirks mode is not supported. In this mode, IE8 allows
+ * one to execute arbitrary javascript by the use of the expression() syntax. Refer
+ * <http://blogs.msdn.com/b/ie/archive/2008/10/16/ending-expressions.aspx> to learn more about them.
+ * You can ensure your document is in standards mode and not quirks mode by adding `<!doctype html>`
+ * to the top of your HTML document.
+ *
+ * SCE assists in writing code in way that (a) is secure by default and (b) makes auditing for
+ * security vulnerabilities such as XSS, clickjacking, etc. a lot easier.
+ *
+ * Here's an example of a binding in a privileged context:
+ *
+ * <pre class="prettyprint">
+ * <input ng-model="userHtml">
+ * <div ng-bind-html="{{userHtml}}">
+ * </pre>
+ *
+ * Notice that `ng-bind-html` is bound to `{{userHtml}}` controlled by the user. With SCE
+ * disabled, this application allows the user to render arbitrary HTML into the DIV.
+ * In a more realistic example, one may be rendering user comments, blog articles, etc. via
+ * bindings. (HTML is just one example of a context where rendering user controlled input creates
+ * security vulnerabilities.)
+ *
+ * For the case of HTML, you might use a library, either on the client side, or on the server side,
+ * to sanitize unsafe HTML before binding to the value and rendering it in the document.
+ *
+ * How would you ensure that every place that used these types of bindings was bound to a value that
+ * was sanitized by your library (or returned as safe for rendering by your server?) How can you
+ * ensure that you didn't accidentally delete the line that sanitized the value, or renamed some
+ * properties/fields and forgot to update the binding to the sanitized value?
+ *
+ * To be secure by default, you want to ensure that any such bindings are disallowed unless you can
+ * determine that something explicitly says it's safe to use a value for binding in that
+ * context. You can then audit your code (a simple grep would do) to ensure that this is only done
+ * for those values that you can easily tell are safe - because they were received from your server,
+ * sanitized by your library, etc. You can organize your codebase to help with this - perhaps
+ * allowing only the files in a specific directory to do this. Ensuring that the internal API
+ * exposed by that code doesn't markup arbitrary values as safe then becomes a more manageable task.
+ *
+ * In the case of AngularJS' SCE service, one uses {@link ng.$sce#trustAs $sce.trustAs} (and shorthand
+ * methods such as {@link ng.$sce#trustAsHtml $sce.trustAsHtml}, etc.) to obtain values that will be
+ * accepted by SCE / privileged contexts.
+ *
+ *
+ * ## How does it work?
+ *
+ * In privileged contexts, directives and code will bind to the result of {@link ng.$sce#getTrusted
+ * $sce.getTrusted(context, value)} rather than to the value directly. Directives use {@link
+ * ng.$sce#parse $sce.parseAs} rather than `$parse` to watch attribute bindings, which performs the
+ * {@link ng.$sce#getTrusted $sce.getTrusted} behind the scenes on non-constant literals.
+ *
+ * As an example, {@link ng.directive:ngBindHtml ngBindHtml} uses {@link
+ * ng.$sce#parseHtml $sce.parseAsHtml(binding expression)}. Here's the actual code (slightly
+ * simplified):
+ *
+ * <pre class="prettyprint">
+ * var ngBindHtmlDirective = ['$sce', function($sce) {
+ * return function(scope, element, attr) {
+ * scope.$watch($sce.parseAsHtml(attr.ngBindHtml), function(value) {
+ * element.html(value || '');
+ * });
+ * };
+ * }];
+ * </pre>
+ *
+ * ## Impact on loading templates
+ *
+ * This applies both to the {@link ng.directive:ngInclude `ng-include`} directive as well as
+ * `templateUrl`'s specified by {@link guide/directive directives}.
+ *
+ * By default, Angular only loads templates from the same domain and protocol as the application
+ * document. This is done by calling {@link ng.$sce#getTrustedResourceUrl
+ * $sce.getTrustedResourceUrl} on the template URL. To load templates from other domains and/or
+ * protocols, you may either either {@link ng.$sceDelegateProvider#resourceUrlWhitelist whitelist
+ * them} or {@link ng.$sce#trustAsResourceUrl wrap it} into a trusted value.
+ *
+ * *Please note*:
+ * The browser's
+ * {@link https://code.google.com/p/browsersec/wiki/Part2#Same-origin_policy_for_XMLH…
+ * Same Origin Policy} and {@link http://www.w3.org/TR/cors/ Cross-Origin Resource Sharing (CORS)}
+ * policy apply in addition to this and may further restrict whether the template is successfully
+ * loaded. This means that without the right CORS policy, loading templates from a different domain
+ * won't work on all browsers. Also, loading templates from `file://` URL does not work on some
+ * browsers.
+ *
+ * ## This feels like too much overhead for the developer?
+ *
+ * It's important to remember that SCE only applies to interpolation expressions.
+ *
+ * If your expressions are constant literals, they're automatically trusted and you don't need to
+ * call `$sce.trustAs` on them. (e.g.
+ * `<div ng-html-bind-unsafe="'<b>implicitly trusted</b>'"></div>`) just works.
+ *
+ * Additionally, `a[href]` and `img[src]` automatically sanitize their URLs and do not pass them
+ * through {@link ng.$sce#getTrusted $sce.getTrusted}. SCE doesn't play a role here.
+ *
+ * The included {@link ng.$sceDelegate $sceDelegate} comes with sane defaults to allow you to load
+ * templates in `ng-include` from your application's domain without having to even know about SCE.
+ * It blocks loading templates from other domains or loading templates over http from an https
+ * served document. You can change these by setting your own custom {@link
+ * ng.$sceDelegateProvider#resourceUrlWhitelist whitelists} and {@link
+ * ng.$sceDelegateProvider#resourceUrlBlacklist blacklists} for matching such URLs.
+ *
+ * This significantly reduces the overhead. It is far easier to pay the small overhead and have an
+ * application that's secure and can be audited to verify that with much more ease than bolting
+ * security onto an application later.
+ *
+ * ## What trusted context types are supported?<a name="contexts"></a>
+ *
+ * | Context | Notes |
+ * |=====================|================|
+ * | `$sce.HTML` | For HTML that's safe to source into the application. The {@link ng.directive:ngBindHtml ngBindHtml} directive uses this context for bindings. |
+ * | `$sce.CSS` | For CSS that's safe to source into the application. Currently unused. Feel free to use it in your own directives. |
+ * | `$sce.URL` | For URLs that are safe to follow as links. Currently unused (`<a href=` and `<img src=` sanitize their urls and don't consititute an SCE context. |
+ * | `$sce.RESOURCE_URL` | For URLs that are not only safe to follow as links, but whose contens are also safe to include in your application. Examples include `ng-include`, `src` / `ngSrc` bindings for tags other than `IMG` (e.g. `IFRAME`, `OBJECT`, etc.) <br><br>Note that `$sce.RESOURCE_URL` makes a stronger statement about the URL than `$sce.URL` does and therefore contexts requiring values trusted for `$sce.RESOURCE_URL` can be used anywhere that values trusted for `$sce.URL` are required. |
+ * | `$sce.JS` | For JavaScript that is safe to execute in your application's context. Currently unused. Feel free to use it in your own directives. |
+ *
+ * ## Show me an example.
+ *
+ *
+ *
+ * @example
+ <example module="mySceApp">
+ <file name="index.html">
+ <div ng-controller="myAppController as myCtrl">
+ <i ng-bind-html="myCtrl.explicitlyTrustedHtml" id="explicitlyTrustedHtml"></i><br><br>
+ <b>User comments</b><br>
+ By default, HTML that isn't explicitly trusted (e.g. Alice's comment) is sanitized when $sanitize is available. If $sanitize isn't available, this results in an error instead of an exploit.
+ <div class="well">
+ <div ng-repeat="userComment in myCtrl.userComments">
+ <b>{{userComment.name}}</b>:
+ <span ng-bind-html="userComment.htmlComment" class="htmlComment"></span>
+ <br>
+ </div>
+ </div>
+ </div>
+ </file>
- return data;
-}
+ <file name="script.js">
+ var mySceApp = angular.module('mySceApp', ['ngSanitize']);
+ mySceApp.controller("myAppController", function myAppController($http, $templateCache, $sce) {
+ var self = this;
+ $http.get("test_data.json", {cache: $templateCache}).success(function(userComments) {
+ self.userComments = userComments;
+ });
+ self.explicitlyTrustedHtml = $sce.trustAsHtml(
+ '<span onmouseover="this.textContent="Explicitly trusted HTML bypasses ' +
+ 'sanitization."">Hover over this text.</span>');
+ });
+ </file>
-function isSuccess(status) {
- return 200 <= status && status < 300;
-}
-
-
-function $HttpProvider() {
- var JSON_START = /^\s*(\[|\{[^\{])/,
- JSON_END = /[\}\]]\s*$/,
- PROTECTION_PREFIX = /^\)\]\}',?\n/,
- CONTENT_TYPE_APPLICATION_JSON = {'Content-Type': 'application/json;charset=utf-8'};
-
- var defaults = this.defaults = {
- // transform incoming response data
- transformResponse: [function(data) {
- if (isString(data)) {
- // strip json vulnerability protection prefix
- data = data.replace(PROTECTION_PREFIX, '');
- if (JSON_START.test(data) && JSON_END.test(data))
- data = fromJson(data, true);
+ <file name="test_data.json">
+ [
+ { "name": "Alice",
+ "htmlComment": "<span onmouseover='this.textContent=\"PWN3D!\"'>Is <i>anyone</i> reading this?</span>"
+ },
+ { "name": "Bob",
+ "htmlComment": "<i>Yes!</i> Am I the only other one?"
}
- return data;
- }],
+ ]
+ </file>
- // transform outgoing request data
- transformRequest: [function(d) {
- return isObject(d) && !isFile(d) ? toJson(d) : d;
- }],
+ <file name="scenario.js">
+ describe('SCE doc demo', function() {
+ it('should sanitize untrusted values', function() {
+ expect(element('.htmlComment').html()).toBe('<span>Is <i>anyone</i> reading this?</span>');
+ });
+ it('should NOT sanitize explicitly trusted values', function() {
+ expect(element('#explicitlyTrustedHtml').html()).toBe(
+ '<span onmouseover="this.textContent="Explicitly trusted HTML bypasses ' +
+ 'sanitization."">Hover over this text.</span>');
+ });
+ });
+ </file>
+ </example>
+ *
+ *
+ *
+ * ## Can I disable SCE completely?
+ *
+ * Yes, you can. However, this is strongly discouraged. SCE gives you a lot of security benefits
+ * for little coding overhead. It will be much harder to take an SCE disabled application and
+ * either secure it on your own or enable SCE at a later stage. It might make sense to disable SCE
+ * for cases where you have a lot of existing code that was written before SCE was introduced and
+ * you're migrating them a module at a time.
+ *
+ * That said, here's how you can completely disable SCE:
+ *
+ * <pre class="prettyprint">
+ * angular.module('myAppWithSceDisabledmyApp', []).config(function($sceProvider) {
+ * // Completely disable SCE. For demonstration purposes only!
+ * // Do not use in new projects.
+ * $sceProvider.enabled(false);
+ * });
+ * </pre>
+ *
+ */
- // default headers
- headers: {
- common: {
- 'Accept': 'application/json, text/plain, */*'
- },
- post: CONTENT_TYPE_APPLICATION_JSON,
- put: CONTENT_TYPE_APPLICATION_JSON,
- patch: CONTENT_TYPE_APPLICATION_JSON
- },
+function $SceProvider() {
+ var enabled = true;
- xsrfCookieName: 'XSRF-TOKEN',
- xsrfHeaderName: 'X-XSRF-TOKEN'
+ /**
+ * @ngdoc function
+ * @name ng.sceProvider#enabled
+ * @methodOf ng.$sceProvider
+ * @function
+ *
+ * @param {boolean=} value If provided, then enables/disables SCE.
+ * @return {boolean} true if SCE is enabled, false otherwise.
+ *
+ * @description
+ * Enables/disables SCE and returns the current value.
+ */
+ this.enabled = function (value) {
+ if (arguments.length) {
+ enabled = !!value;
+ }
+ return enabled;
};
- /**
- * Are order by request. I.E. they are applied in the same order as
- * array on request, but revers order on response.
+
+ /* Design notes on the default implementation for SCE.
+ *
+ * The API contract for the SCE delegate
+ * -------------------------------------
+ * The SCE delegate object must provide the following 3 methods:
+ *
+ * - trustAs(contextEnum, value)
+ * This method is used to tell the SCE service that the provided value is OK to use in the
+ * contexts specified by contextEnum. It must return an object that will be accepted by
+ * getTrusted() for a compatible contextEnum and return this value.
+ *
+ * - valueOf(value)
+ * For values that were not produced by trustAs(), return them as is. For values that were
+ * produced by trustAs(), return the corresponding input value to trustAs. Basically, if
+ * trustAs is wrapping the given values into some type, this operation unwraps it when given
+ * such a value.
+ *
+ * - getTrusted(contextEnum, value)
+ * This function should return the a value that is safe to use in the context specified by
+ * contextEnum or throw and exception otherwise.
+ *
+ * NOTE: This contract deliberately does NOT state that values returned by trustAs() must be opaque
+ * or wrapped in some holder object. That happens to be an implementation detail. For instance,
+ * an implementation could maintain a registry of all trusted objects by context. In such a case,
+ * trustAs() would return the same object that was passed in. getTrusted() would return the same
+ * object passed in if it was found in the registry under a compatible context or throw an
+ * exception otherwise. An implementation might only wrap values some of the time based on
+ * some criteria. getTrusted() might return a value and not throw an exception for special
+ * constants or objects even if not wrapped. All such implementations fulfill this contract.
+ *
+ *
+ * A note on the inheritance model for SCE contexts
+ * ------------------------------------------------
+ * I've used inheritance and made RESOURCE_URL wrapped types a subtype of URL wrapped types. This
+ * is purely an implementation details.
+ *
+ * The contract is simply this:
+ *
+ * getTrusted($sce.RESOURCE_URL, value) succeeding implies that getTrusted($sce.URL, value)
+ * will also succeed.
+ *
+ * Inheritance happens to capture this in a natural way. In some future, we
+ * may not use inheritance anymore. That is OK because no code outside of
+ * sce.js and sceSpecs.js would need to be aware of this detail.
*/
- var interceptorFactories = this.interceptors = [];
- /**
- * For historical reasons, response interceptors ordered by the order in which
- * they are applied to response. (This is in revers to interceptorFactories)
- */
- var responseInterceptorFactories = this.responseInterceptors = [];
- this.$get = ['$httpBackend', '$browser', '$cacheFactory', '$rootScope', '$q', '$injector',
- function($httpBackend, $browser, $cacheFactory, $rootScope, $q, $injector) {
+ this.$get = ['$parse', '$document', '$sceDelegate', function(
+ $parse, $document, $sceDelegate) {
+ // Prereq: Ensure that we're not running in IE8 quirks mode. In that mode, IE allows
+ // the "expression(javascript expression)" syntax which is insecure.
+ if (enabled && msie) {
+ var documentMode = $document[0].documentMode;
+ if (documentMode !== undefined && documentMode < 8) {
+ throw $sceMinErr('iequirks',
+ 'Strict Contextual Escaping does not support Internet Explorer version < 9 in quirks ' +
+ 'mode. You can fix this by adding the text <!doctype html> to the top of your HTML ' +
+ 'document. See http://docs.angularjs.org/api/ng.$sce for more information.');
+ }
+ }
- var defaultCache = $cacheFactory('$http');
+ var sce = copy(SCE_CONTEXTS);
/**
- * Interceptors stored in reverse order. Inner interceptors before outer interceptors.
- * The reversal is needed so that we can build up the interception chain around the
- * server request.
+ * @ngdoc function
+ * @name ng.sce#isEnabled
+ * @methodOf ng.$sce
+ * @function
+ *
+ * @return {Boolean} true if SCE is enabled, false otherwise. If you want to set the value, you
+ * have to do it at module config time on {@link ng.$sceProvider $sceProvider}.
+ *
+ * @description
+ * Returns a boolean indicating if SCE is enabled.
*/
- var reversedInterceptors = [];
+ sce.isEnabled = function () {
+ return enabled;
+ };
+ sce.trustAs = $sceDelegate.trustAs;
+ sce.getTrusted = $sceDelegate.getTrusted;
+ sce.valueOf = $sceDelegate.valueOf;
- forEach(interceptorFactories, function(interceptorFactory) {
- reversedInterceptors.unshift(isString(interceptorFactory)
- ? $injector.get(interceptorFactory) : $injector.invoke(interceptorFactory));
- });
+ if (!enabled) {
+ sce.trustAs = sce.getTrusted = function(type, value) { return value; },
+ sce.valueOf = identity
+ }
- forEach(responseInterceptorFactories, function(interceptorFactory, index) {
- var responseFn = isString(interceptorFactory)
- ? $injector.get(interceptorFactory)
- : $injector.invoke(interceptorFactory);
-
- /**
- * Response interceptors go before "around" interceptors (no real reason, just
- * had to pick one.) But they are already revesed, so we can't use unshift, hence
- * the splice.
- */
- reversedInterceptors.splice(index, 0, {
- response: function(response) {
- return responseFn($q.when(response));
- },
- responseError: function(response) {
- return responseFn($q.reject(response));
- }
- });
- });
-
-
/**
- * @ngdoc function
- * @name ng.$http
- * @requires $httpBackend
- * @requires $browser
- * @requires $cacheFactory
- * @requires $rootScope
- * @requires $q
- * @requires $injector
+ * @ngdoc method
+ * @name ng.$sce#parse
+ * @methodOf ng.$sce
*
* @description
- * The `$http` service is a core Angular service that facilitates communication with the remote
- * HTTP servers via the browser's {@link https://developer.mozilla.org/en/xmlhttprequest
- * XMLHttpRequest} object or via {@link http://en.wikipedia.org/wiki/JSONP JSONP}.
+ * Converts Angular {@link guide/expression expression} into a function. This is like {@link
+ * ng.$parse $parse} and is identical when the expression is a literal constant. Otherwise, it
+ * wraps the expression in a call to {@link ng.$sce#getTrusted $sce.getTrusted(*type*,
+ * *result*)}
*
- * For unit testing applications that use `$http` service, see
- * {@link ngMock.$httpBackend $httpBackend mock}.
+ * @param {string} type The kind of SCE context in which this result will be used.
+ * @param {string} expression String expression to compile.
+ * @returns {function(context, locals)} a function which represents the compiled expression:
*
- * For a higher level of abstraction, please check out the {@link ngResource.$resource
- * $resource} service.
+ * * `context` – `{object}` – an object against which any expressions embedded in the strings
+ * are evaluated against (typically a scope object).
+ * * `locals` – `{object=}` – local variables context object, useful for overriding values in
+ * `context`.
+ */
+ sce.parseAs = function sceParseAs(type, expr) {
+ var parsed = $parse(expr);
+ if (parsed.literal && parsed.constant) {
+ return parsed;
+ } else {
+ return function sceParseAsTrusted(self, locals) {
+ return sce.getTrusted(type, parsed(self, locals));
+ }
+ }
+ };
+
+ /**
+ * @ngdoc method
+ * @name ng.$sce#trustAs
+ * @methodOf ng.$sce
*
- * The $http API is based on the {@link ng.$q deferred/promise APIs} exposed by
- * the $q service. While for simple usage patterns this doesn't matter much, for advanced usage
- * it is important to familiarize yourself with these APIs and the guarantees they provide.
+ * @description
+ * Delegates to {@link ng.$sceDelegate#trustAs `$sceDelegate.trustAs`}. As such, returns an object
+ * that is trusted by angular for use in specified strict contextual escaping contexts (such as
+ * ng-html-bind-unsafe, ng-include, any src attribute interpolation, any dom event binding
+ * attribute interpolation such as for onclick, etc.) that uses the provided value. See *
+ * {@link ng.$sce $sce} for enabling strict contextual escaping.
*
+ * @param {string} type The kind of context in which this value is safe for use. e.g. url,
+ * resource_url, html, js and css.
+ * @param {*} value The value that that should be considered trusted/safe.
+ * @returns {*} A value that can be used to stand in for the provided `value` in places
+ * where Angular expects a $sce.trustAs() return value.
+ */
+
+ /**
+ * @ngdoc method
+ * @name ng.$sce#trustAsHtml
+ * @methodOf ng.$sce
*
- * # General usage
- * The `$http` service is a function which takes a single argument — a configuration object —
- * that is used to generate an HTTP request and returns a {@link ng.$q promise}
- * with two $http specific methods: `success` and `error`.
+ * @description
+ * Shorthand method. `$sce.trustAsHtml(value)` → {@link ng.$sceDelegate#trustAs `$sceDelegate.trustAs($sce.HTML, value)`}
*
- * <pre>
- * $http({method: 'GET', url: '/someUrl'}).
- * success(function(data, status, headers, config) {
- * // this callback will be called asynchronously
- * // when the response is available
- * }).
- * error(function(data, status, headers, config) {
- * // called asynchronously if an error occurs
- * // or server returns response with an error status.
- * });
- * </pre>
+ * @param {*} value The value to trustAs.
+ * @returns {*} An object that can be passed to {@link ng.$sce#getTrustedHtml
+ * $sce.getTrustedHtml(value)} to obtain the original value. (privileged directives
+ * only accept expressions that are either literal constants or are the
+ * return value of {@link ng.$sce#trustAs $sce.trustAs}.)
+ */
+
+ /**
+ * @ngdoc method
+ * @name ng.$sce#trustAsUrl
+ * @methodOf ng.$sce
*
- * Since the returned value of calling the $http function is a `promise`, you can also use
- * the `then` method to register callbacks, and these callbacks will receive a single argument –
- * an object representing the response. See the API signature and type info below for more
- * details.
+ * @description
+ * Shorthand method. `$sce.trustAsUrl(value)` → {@link ng.$sceDelegate#trustAs `$sceDelegate.trustAs($sce.URL, value)`}
*
- * A response status code between 200 and 299 is considered a success status and
- * will result in the success callback being called. Note that if the response is a redirect,
- * XMLHttpRequest will transparently follow it, meaning that the error callback will not be
- * called for such responses.
+ * @param {*} value The value to trustAs.
+ * @returns {*} An object that can be passed to {@link ng.$sce#getTrustedUrl
+ * $sce.getTrustedUrl(value)} to obtain the original value. (privileged directives
+ * only accept expressions that are either literal constants or are the
+ * return value of {@link ng.$sce#trustAs $sce.trustAs}.)
+ */
+
+ /**
+ * @ngdoc method
+ * @name ng.$sce#trustAsResourceUrl
+ * @methodOf ng.$sce
*
- * # Shortcut methods
+ * @description
+ * Shorthand method. `$sce.trustAsResourceUrl(value)` → {@link ng.$sceDelegate#trustAs `$sceDelegate.trustAs($sce.RESOURCE_URL, value)`}
*
- * Since all invocations of the $http service require passing in an HTTP method and URL, and
- * POST/PUT requests require request data to be provided as well, shortcut methods
- * were created:
+ * @param {*} value The value to trustAs.
+ * @returns {*} An object that can be passed to {@link ng.$sce#getTrustedResourceUrl
+ * $sce.getTrustedResourceUrl(value)} to obtain the original value. (privileged directives
+ * only accept expressions that are either literal constants or are the return
+ * value of {@link ng.$sce#trustAs $sce.trustAs}.)
+ */
+
+ /**
+ * @ngdoc method
+ * @name ng.$sce#trustAsJs
+ * @methodOf ng.$sce
*
- * <pre>
- * $http.get('/someUrl').success(successCallback);
- * $http.post('/someUrl', data).success(successCallback);
- * </pre>
+ * @description
+ * Shorthand method. `$sce.trustAsJs(value)` → {@link ng.$sceDelegate#trustAs `$sceDelegate.trustAs($sce.JS, value)`}
*
- * Complete list of shortcut methods:
+ * @param {*} value The value to trustAs.
+ * @returns {*} An object that can be passed to {@link ng.$sce#getTrustedJs
+ * $sce.getTrustedJs(value)} to obtain the original value. (privileged directives
+ * only accept expressions that are either literal constants or are the
+ * return value of {@link ng.$sce#trustAs $sce.trustAs}.)
+ */
+
+ /**
+ * @ngdoc method
+ * @name ng.$sce#getTrusted
+ * @methodOf ng.$sce
*
- * - {@link ng.$http#get $http.get}
- * - {@link ng.$http#head $http.head}
- * - {@link ng.$http#post $http.post}
- * - {@link ng.$http#put $http.put}
- * - {@link ng.$http#delete $http.delete}
- * - {@link ng.$http#jsonp $http.jsonp}
+ * @description
+ * Delegates to {@link ng.$sceDelegate#getTrusted `$sceDelegate.getTrusted`}. As such, takes
+ * the result of a {@link ng.$sce#trustAs `$sce.trustAs`}() call and returns the originally supplied
+ * value if the queried context type is a supertype of the created type. If this condition
+ * isn't satisfied, throws an exception.
*
+ * @param {string} type The kind of context in which this value is to be used.
+ * @param {*} maybeTrusted The result of a prior {@link ng.$sce#trustAs `$sce.trustAs`} call.
+ * @returns {*} The value the was originally provided to {@link ng.$sce#trustAs `$sce.trustAs`} if
+ * valid in this context. Otherwise, throws an exception.
+ */
+
+ /**
+ * @ngdoc method
+ * @name ng.$sce#getTrustedHtml
+ * @methodOf ng.$sce
*
- * # Setting HTTP Headers
+ * @description
+ * Shorthand method. `$sce.getTrustedHtml(value)` → {@link ng.$sceDelegate#getTrusted `$sceDelegate.getTrusted($sce.HTML, value)`}
*
- * The $http service will automatically add certain HTTP headers to all requests. These defaults
- * can be fully configured by accessing the `$httpProvider.defaults.headers` configuration
- * object, which currently contains this default configuration:
+ * @param {*} value The value to pass to `$sce.getTrusted`.
+ * @returns {*} The return value of `$sce.getTrusted($sce.HTML, value)`
+ */
+
+ /**
+ * @ngdoc method
+ * @name ng.$sce#getTrustedCss
+ * @methodOf ng.$sce
*
- * - `$httpProvider.defaults.headers.common` (headers that are common for all requests):
- * - `Accept: application/json, text/plain, * / *`
- * - `$httpProvider.defaults.headers.post`: (header defaults for POST requests)
- * - `Content-Type: application/json`
- * - `$httpProvider.defaults.headers.put` (header defaults for PUT requests)
- * - `Content-Type: application/json`
+ * @description
+ * Shorthand method. `$sce.getTrustedCss(value)` → {@link ng.$sceDelegate#getTrusted `$sceDelegate.getTrusted($sce.CSS, value)`}
*
- * To add or overwrite these defaults, simply add or remove a property from these configuration
- * objects. To add headers for an HTTP method other than POST or PUT, simply add a new object
- * with the lowercased HTTP method name as the key, e.g.
- * `$httpProvider.defaults.headers.get['My-Header']='value'`.
+ * @param {*} value The value to pass to `$sce.getTrusted`.
+ * @returns {*} The return value of `$sce.getTrusted($sce.CSS, value)`
+ */
+
+ /**
+ * @ngdoc method
+ * @name ng.$sce#getTrustedUrl
+ * @methodOf ng.$sce
*
- * Additionally, the defaults can be set at runtime via the `$http.defaults` object in the same
- * fashion.
+ * @description
+ * Shorthand method. `$sce.getTrustedUrl(value)` → {@link ng.$sceDelegate#getTrusted `$sceDelegate.getTrusted($sce.URL, value)`}
*
- *
- * # Transforming Requests and Responses
- *
- * Both requests and responses can be transformed using transform functions. By default, Angular
- * applies these transformations:
- *
- * Request transformations:
- *
- * - If the `data` property of the request configuration object contains an object, serialize it into
- * JSON format.
- *
- * Response transformations:
- *
- * - If XSRF prefix is detected, strip it (see Security Considerations section below).
- * - If JSON response is detected, deserialize it using a JSON parser.
- *
- * To globally augment or override the default transforms, modify the `$httpProvider.defaults.transformRequest` and
- * `$httpProvider.defaults.transformResponse` properties. These properties are by default an
- * array of transform functions, which allows you to `push` or `unshift` a new transformation function into the
- * transformation chain. You can also decide to completely override any default transformations by assigning your
- * transformation functions to these properties directly without the array wrapper.
- *
- * Similarly, to locally override the request/response transforms, augment the `transformRequest` and/or
- * `transformResponse` properties of the configuration object passed into `$http`.
- *
- *
- * # Caching
- *
- * To enable caching, set the configuration property `cache` to `true`. When the cache is
- * enabled, `$http` stores the response from the server in local cache. Next time the
- * response is served from the cache without sending a request to the server.
- *
- * Note that even if the response is served from cache, delivery of the data is asynchronous in
- * the same way that real requests are.
- *
- * If there are multiple GET requests for the same URL that should be cached using the same
- * cache, but the cache is not populated yet, only one request to the server will be made and
- * the remaining requests will be fulfilled using the response from the first request.
- *
- * A custom default cache built with $cacheFactory can be provided in $http.defaults.cache.
- * To skip it, set configuration property `cache` to `false`.
- *
- *
- * # Interceptors
- *
- * Before you start creating interceptors, be sure to understand the
- * {@link ng.$q $q and deferred/promise APIs}.
- *
- * For purposes of global error handling, authentication, or any kind of synchronous or
- * asynchronous pre-processing of request or postprocessing of responses, it is desirable to be
- * able to intercept requests before they are handed to the server and
- * responses before they are handed over to the application code that
- * initiated these requests. The interceptors leverage the {@link ng.$q
- * promise APIs} to fulfill this need for both synchronous and asynchronous pre-processing.
- *
- * The interceptors are service factories that are registered with the `$httpProvider` by
- * adding them to the `$httpProvider.interceptors` array. The factory is called and
- * injected with dependencies (if specified) and returns the interceptor.
- *
- * There are two kinds of interceptors (and two kinds of rejection interceptors):
- *
- * * `request`: interceptors get called with http `config` object. The function is free to modify
- * the `config` or create a new one. The function needs to return the `config` directly or as a
- * promise.
- * * `requestError`: interceptor gets called when a previous interceptor threw an error or resolved
- * with a rejection.
- * * `response`: interceptors get called with http `response` object. The function is free to modify
- * the `response` or create a new one. The function needs to return the `response` directly or as a
- * promise.
- * * `responseError`: interceptor gets called when a previous interceptor threw an error or resolved
- * with a rejection.
- *
- *
- * <pre>
- * // register the interceptor as a service
- * $provide.factory('myHttpInterceptor', function($q, dependency1, dependency2) {
- * return {
- * // optional method
- * 'request': function(config) {
- * // do something on success
- * return config || $q.when(config);
- * },
- *
- * // optional method
- * 'requestError': function(rejection) {
- * // do something on error
- * if (canRecover(rejection)) {
- * return responseOrNewPromise
- * }
- * return $q.reject(rejection);
- * },
- *
- *
- *
- * // optional method
- * 'response': function(response) {
- * // do something on success
- * return response || $q.when(response);
- * },
- *
- * // optional method
- * 'responseError': function(rejection) {
- * // do something on error
- * if (canRecover(rejection)) {
- * return responseOrNewPromise
- * }
- * return $q.reject(rejection);
- * };
- * }
- * });
- *
- * $httpProvider.interceptors.push('myHttpInterceptor');
- *
- *
- * // register the interceptor via an anonymous factory
- * $httpProvider.interceptors.push(function($q, dependency1, dependency2) {
- * return {
- * 'request': function(config) {
- * // same as above
- * },
- * 'response': function(response) {
- * // same as above
- * }
- * });
- * </pre>
- *
- * # Response interceptors (DEPRECATED)
- *
- * Before you start creating interceptors, be sure to understand the
- * {@link ng.$q $q and deferred/promise APIs}.
- *
- * For purposes of global error handling, authentication or any kind of synchronous or
- * asynchronous preprocessing of received responses, it is desirable to be able to intercept
- * responses for http requests before they are handed over to the application code that
- * initiated these requests. The response interceptors leverage the {@link ng.$q
- * promise apis} to fulfil this need for both synchronous and asynchronous preprocessing.
- *
- * The interceptors are service factories that are registered with the $httpProvider by
- * adding them to the `$httpProvider.responseInterceptors` array. The factory is called and
- * injected with dependencies (if specified) and returns the interceptor — a function that
- * takes a {@link ng.$q promise} and returns the original or a new promise.
- *
- * <pre>
- * // register the interceptor as a service
- * $provide.factory('myHttpInterceptor', function($q, dependency1, dependency2) {
- * return function(promise) {
- * return promise.then(function(response) {
- * // do something on success
- * }, function(response) {
- * // do something on error
- * if (canRecover(response)) {
- * return responseOrNewPromise
- * }
- * return $q.reject(response);
- * });
- * }
- * });
- *
- * $httpProvider.responseInterceptors.push('myHttpInterceptor');
- *
- *
- * // register the interceptor via an anonymous factory
- * $httpProvider.responseInterceptors.push(function($q, dependency1, dependency2) {
- * return function(promise) {
- * // same as above
- * }
- * });
- * </pre>
- *
- *
- * # Security Considerations
- *
- * When designing web applications, consider security threats from:
- *
- * - {@link http://haacked.com/archive/2008/11/20/anatomy-of-a-subtle-json-vulnerabilit…
- * JSON vulnerability}
- * - {@link http://en.wikipedia.org/wiki/Cross-site_request_forgery XSRF}
- *
- * Both server and the client must cooperate in order to eliminate these threats. Angular comes
- * pre-configured with strategies that address these issues, but for this to work backend server
- * cooperation is required.
- *
- * ## JSON Vulnerability Protection
- *
- * A {@link http://haacked.com/archive/2008/11/20/anatomy-of-a-subtle-json-vulnerabilit…
- * JSON vulnerability} allows third party website to turn your JSON resource URL into
- * {@link http://en.wikipedia.org/wiki/JSONP JSONP} request under some conditions. To
- * counter this your server can prefix all JSON requests with following string `")]}',\n"`.
- * Angular will automatically strip the prefix before processing it as JSON.
- *
- * For example if your server needs to return:
- * <pre>
- * ['one','two']
- * </pre>
- *
- * which is vulnerable to attack, your server can return:
- * <pre>
- * )]}',
- * ['one','two']
- * </pre>
- *
- * Angular will strip the prefix, before processing the JSON.
- *
- *
- * ## Cross Site Request Forgery (XSRF) Protection
- *
- * {@link http://en.wikipedia.org/wiki/Cross-site_request_forgery XSRF} is a technique by which
- * an unauthorized site can gain your user's private data. Angular provides a mechanism
- * to counter XSRF. When performing XHR requests, the $http service reads a token from a cookie
- * (by default, `XSRF-TOKEN`) and sets it as an HTTP header (`X-XSRF-TOKEN`). Since only
- * JavaScript that runs on your domain could read the cookie, your server can be assured that
- * the XHR came from JavaScript running on your domain. The header will not be set for
- * cross-domain requests.
- *
- * To take advantage of this, your server needs to set a token in a JavaScript readable session
- * cookie called `XSRF-TOKEN` on the first HTTP GET request. On subsequent XHR requests the
- * server can verify that the cookie matches `X-XSRF-TOKEN` HTTP header, and therefore be sure
- * that only JavaScript running on your domain could have sent the request. The token must be
- * unique for each user and must be verifiable by the server (to prevent the JavaScript from making
- * up its own tokens). We recommend that the token is a digest of your site's authentication
- * cookie with a {@link https://en.wikipedia.org/wiki/Salt_(cryptography) salt} for added security.
- *
- * The name of the headers can be specified using the xsrfHeaderName and xsrfCookieName
- * properties of either $httpProvider.defaults, or the per-request config object.
- *
- *
- * @param {object} config Object describing the request to be made and how it should be
- * processed. The object has following properties:
- *
- * - **method** – `{string}` – HTTP method (e.g. 'GET', 'POST', etc)
- * - **url** – `{string}` – Absolute or relative URL of the resource that is being requested.
- * - **params** – `{Object.<string|Object>}` – Map of strings or objects which will be turned to
- * `?key1=value1&key2=value2` after the url. If the value is not a string, it will be JSONified.
- * - **data** – `{string|Object}` – Data to be sent as the request message data.
- * - **headers** – `{Object}` – Map of strings representing HTTP headers to send to the server.
- * - **xsrfHeaderName** – `{string}` – Name of HTTP header to populate with the XSRF token.
- * - **xsrfCookieName** – `{string}` – Name of cookie containing the XSRF token.
- * - **transformRequest** – `{function(data, headersGetter)|Array.<function(data, headersGetter)>}` –
- * transform function or an array of such functions. The transform function takes the http
- * request body and headers and returns its transformed (typically serialized) version.
- * - **transformResponse** – `{function(data, headersGetter)|Array.<function(data, headersGetter)>}` –
- * transform function or an array of such functions. The transform function takes the http
- * response body and headers and returns its transformed (typically deserialized) version.
- * - **cache** – `{boolean|Cache}` – If true, a default $http cache will be used to cache the
- * GET request, otherwise if a cache instance built with
- * {@link ng.$cacheFactory $cacheFactory}, this cache will be used for
- * caching.
- * - **timeout** – `{number|Promise}` – timeout in milliseconds, or {@link ng.$q promise}
- * that should abort the request when resolved.
- * - **withCredentials** - `{boolean}` - whether to to set the `withCredentials` flag on the
- * XHR object. See {@link https://developer.mozilla.org/en/http_access_control#section_5
- * requests with credentials} for more information.
- * - **responseType** - `{string}` - see {@link
- * https://developer.mozilla.org/en-US/docs/DOM/XMLHttpRequest#responseType requestType}.
- *
- * @returns {HttpPromise} Returns a {@link ng.$q promise} object with the
- * standard `then` method and two http specific methods: `success` and `error`. The `then`
- * method takes two arguments a success and an error callback which will be called with a
- * response object. The `success` and `error` methods take a single argument - a function that
- * will be called when the request succeeds or fails respectively. The arguments passed into
- * these functions are destructured representation of the response object passed into the
- * `then` method. The response object has these properties:
- *
- * - **data** – `{string|Object}` – The response body transformed with the transform functions.
- * - **status** – `{number}` – HTTP status code of the response.
- * - **headers** – `{function([headerName])}` – Header getter function.
- * - **config** – `{Object}` – The configuration object that was used to generate the request.
- *
- * @property {Array.<Object>} pendingRequests Array of config objects for currently pending
- * requests. This is primarily meant to be used for debugging purposes.
- *
- *
- * @example
- <example>
- <file name="index.html">
- <div ng-controller="FetchCtrl">
- <select ng-model="method">
- <option>GET</option>
- <option>JSONP</option>
- </select>
- <input type="text" ng-model="url" size="80"/>
- <button ng-click="fetch()">fetch</button><br>
- <button ng-click="updateModel('GET', 'http-hello.html')">Sample GET</button>
- <button ng-click="updateModel('JSONP', 'http://angularjs.org/greet.php?callback=JSON_CALLBACK&name=Super%20Hero')">Sample JSONP</button>
- <button ng-click="updateModel('JSONP', 'http://angularjs.org/doesntexist&callback=JSON_CALLBACK')">Invalid JSONP</button>
- <pre>http status code: {{status}}</pre>
- <pre>http response data: {{data}}</pre>
- </div>
- </file>
- <file name="script.js">
- function FetchCtrl($scope, $http, $templateCache) {
- $scope.method = 'GET';
- $scope.url = 'http-hello.html';
-
- $scope.fetch = function() {
- $scope.code = null;
- $scope.response = null;
-
- $http({method: $scope.method, url: $scope.url, cache: $templateCache}).
- success(function(data, status) {
- $scope.status = status;
- $scope.data = data;
- }).
- error(function(data, status) {
- $scope.data = data || "Request failed";
- $scope.status = status;
- });
- };
-
- $scope.updateModel = function(method, url) {
- $scope.method = method;
- $scope.url = url;
- };
- }
- </file>
- <file name="http-hello.html">
- Hello, $http!
- </file>
- <file name="scenario.js">
- it('should make an xhr GET request', function() {
- element(':button:contains("Sample GET")').click();
- element(':button:contains("fetch")').click();
- expect(binding('status')).toBe('200');
- expect(binding('data')).toMatch(/Hello, \$http!/);
- });
-
- it('should make a JSONP request to angularjs.org', function() {
- element(':button:contains("Sample JSONP")').click();
- element(':button:contains("fetch")').click();
- expect(binding('status')).toBe('200');
- expect(binding('data')).toMatch(/Super Hero!/);
- });
-
- it('should make JSONP request to invalid URL and invoke the error handler',
- function() {
- element(':button:contains("Invalid JSONP")').click();
- element(':button:contains("fetch")').click();
- expect(binding('status')).toBe('0');
- expect(binding('data')).toBe('Request failed');
- });
- </file>
- </example>
+ * @param {*} value The value to pass to `$sce.getTrusted`.
+ * @returns {*} The return value of `$sce.getTrusted($sce.URL, value)`
*/
- function $http(requestConfig) {
- var config = {
- transformRequest: defaults.transformRequest,
- transformResponse: defaults.transformResponse
- };
- var headers = {};
- extend(config, requestConfig);
- config.headers = headers;
- config.method = uppercase(config.method);
-
- extend(headers,
- defaults.headers.common,
- defaults.headers[lowercase(config.method)],
- requestConfig.headers);
-
- var xsrfValue = isSameDomain(config.url, $browser.url())
- ? $browser.cookies()[config.xsrfCookieName || defaults.xsrfCookieName]
- : undefined;
- if (xsrfValue) {
- headers[(config.xsrfHeaderName || defaults.xsrfHeaderName)] = xsrfValue;
- }
-
-
- var serverRequest = function(config) {
- var reqData = transformData(config.data, headersGetter(headers), config.transformRequest);
-
- // strip content-type if data is undefined
- if (isUndefined(config.data)) {
- delete headers['Content-Type'];
- }
-
- if (isUndefined(config.withCredentials) && !isUndefined(defaults.withCredentials)) {
- config.withCredentials = defaults.withCredentials;
- }
-
- // send request
- return sendReq(config, reqData, headers).then(transformResponse, transformResponse);
- };
-
- var chain = [serverRequest, undefined];
- var promise = $q.when(config);
-
- // apply interceptors
- forEach(reversedInterceptors, function(interceptor) {
- if (interceptor.request || interceptor.requestError) {
- chain.unshift(interceptor.request, interceptor.requestError);
- }
- if (interceptor.response || interceptor.responseError) {
- chain.push(interceptor.response, interceptor.responseError);
- }
- });
-
- while(chain.length) {
- var thenFn = chain.shift();
- var rejectFn = chain.shift();
-
- promise = promise.then(thenFn, rejectFn);
- }
-
- promise.success = function(fn) {
- promise.then(function(response) {
- fn(response.data, response.status, response.headers, config);
- });
- return promise;
- };
-
- promise.error = function(fn) {
- promise.then(null, function(response) {
- fn(response.data, response.status, response.headers, config);
- });
- return promise;
- };
-
- return promise;
-
- function transformResponse(response) {
- // make a copy since the response must be cacheable
- var resp = extend({}, response, {
- data: transformData(response.data, response.headers, config.transformResponse)
- });
- return (isSuccess(response.status))
- ? resp
- : $q.reject(resp);
- }
- }
-
- $http.pendingRequests = [];
-
/**
* @ngdoc method
- * @name ng.$http#get
- * @methodOf ng.$http
+ * @name ng.$sce#getTrustedResourceUrl
+ * @methodOf ng.$sce
*
* @description
- * Shortcut method to perform `GET` request.
+ * Shorthand method. `$sce.getTrustedResourceUrl(value)` → {@link ng.$sceDelegate#getTrusted `$sceDelegate.getTrusted($sce.RESOURCE_URL, value)`}
*
- * @param {string} url Relative or absolute URL specifying the destination of the request
- * @param {Object=} config Optional configuration object
- * @returns {HttpPromise} Future object
+ * @param {*} value The value to pass to `$sceDelegate.getTrusted`.
+ * @returns {*} The return value of `$sce.getTrusted($sce.RESOURCE_URL, value)`
*/
/**
* @ngdoc method
- * @name ng.$http#delete
- * @methodOf ng.$http
+ * @name ng.$sce#getTrustedJs
+ * @methodOf ng.$sce
*
* @description
- * Shortcut method to perform `DELETE` request.
+ * Shorthand method. `$sce.getTrustedJs(value)` → {@link ng.$sceDelegate#getTrusted `$sceDelegate.getTrusted($sce.JS, value)`}
*
- * @param {string} url Relative or absolute URL specifying the destination of the request
- * @param {Object=} config Optional configuration object
- * @returns {HttpPromise} Future object
+ * @param {*} value The value to pass to `$sce.getTrusted`.
+ * @returns {*} The return value of `$sce.getTrusted($sce.JS, value)`
*/
/**
* @ngdoc method
- * @name ng.$http#head
- * @methodOf ng.$http
+ * @name ng.$sce#parseAsHtml
+ * @methodOf ng.$sce
*
* @description
- * Shortcut method to perform `HEAD` request.
+ * Shorthand method. `$sce.parseAsHtml(expression string)` → {@link ng.$sce#parse `$sce.parseAs($sce.HTML, value)`}
*
- * @param {string} url Relative or absolute URL specifying the destination of the request
- * @param {Object=} config Optional configuration object
- * @returns {HttpPromise} Future object
+ * @param {string} expression String expression to compile.
+ * @returns {function(context, locals)} a function which represents the compiled expression:
+ *
+ * * `context` – `{object}` – an object against which any expressions embedded in the strings
+ * are evaluated against (typically a scope object).
+ * * `locals` – `{object=}` – local variables context object, useful for overriding values in
+ * `context`.
*/
/**
* @ngdoc method
- * @name ng.$http#jsonp
- * @methodOf ng.$http
+ * @name ng.$sce#parseAsCss
+ * @methodOf ng.$sce
*
* @description
- * Shortcut method to perform `JSONP` request.
+ * Shorthand method. `$sce.parseAsCss(value)` → {@link ng.$sce#parse `$sce.parseAs($sce.CSS, value)`}
*
- * @param {string} url Relative or absolute URL specifying the destination of the request.
- * Should contain `JSON_CALLBACK` string.
- * @param {Object=} config Optional configuration object
- * @returns {HttpPromise} Future object
+ * @param {string} expression String expression to compile.
+ * @returns {function(context, locals)} a function which represents the compiled expression:
+ *
+ * * `context` – `{object}` – an object against which any expressions embedded in the strings
+ * are evaluated against (typically a scope object).
+ * * `locals` – `{object=}` – local variables context object, useful for overriding values in
+ * `context`.
*/
- createShortMethods('get', 'delete', 'head', 'jsonp');
/**
* @ngdoc method
- * @name ng.$http#post
- * @methodOf ng.$http
+ * @name ng.$sce#parseAsUrl
+ * @methodOf ng.$sce
*
* @description
- * Shortcut method to perform `POST` request.
+ * Shorthand method. `$sce.parseAsUrl(value)` → {@link ng.$sce#parse `$sce.parseAs($sce.URL, value)`}
*
- * @param {string} url Relative or absolute URL specifying the destination of the request
- * @param {*} data Request content
- * @param {Object=} config Optional configuration object
- * @returns {HttpPromise} Future object
+ * @param {string} expression String expression to compile.
+ * @returns {function(context, locals)} a function which represents the compiled expression:
+ *
+ * * `context` – `{object}` – an object against which any expressions embedded in the strings
+ * are evaluated against (typically a scope object).
+ * * `locals` – `{object=}` – local variables context object, useful for overriding values in
+ * `context`.
*/
/**
* @ngdoc method
- * @name ng.$http#put
- * @methodOf ng.$http
+ * @name ng.$sce#parseAsResourceUrl
+ * @methodOf ng.$sce
*
* @description
- * Shortcut method to perform `PUT` request.
+ * Shorthand method. `$sce.parseAsResourceUrl(value)` → {@link ng.$sce#parse `$sce.parseAs($sce.RESOURCE_URL, value)`}
*
- * @param {string} url Relative or absolute URL specifying the destination of the request
- * @param {*} data Request content
- * @param {Object=} config Optional configuration object
- * @returns {HttpPromise} Future object
+ * @param {string} expression String expression to compile.
+ * @returns {function(context, locals)} a function which represents the compiled expression:
+ *
+ * * `context` – `{object}` – an object against which any expressions embedded in the strings
+ * are evaluated against (typically a scope object).
+ * * `locals` – `{object=}` – local variables context object, useful for overriding values in
+ * `context`.
*/
- createShortMethodsWithData('post', 'put');
- /**
- * @ngdoc property
- * @name ng.$http#defaults
- * @propertyOf ng.$http
- *
- * @description
- * Runtime equivalent of the `$httpProvider.defaults` property. Allows configuration of
- * default headers, withCredentials as well as request and response transformations.
- *
- * See "Setting HTTP Headers" and "Transforming Requests and Responses" sections above.
- */
- $http.defaults = defaults;
-
-
- return $http;
-
-
- function createShortMethods(names) {
- forEach(arguments, function(name) {
- $http[name] = function(url, config) {
- return $http(extend(config || {}, {
- method: name,
- url: url
- }));
- };
- });
- }
-
-
- function createShortMethodsWithData(name) {
- forEach(arguments, function(name) {
- $http[name] = function(url, data, config) {
- return $http(extend(config || {}, {
- method: name,
- url: url,
- data: data
- }));
- };
- });
- }
-
-
/**
- * Makes the request.
+ * @ngdoc method
+ * @name ng.$sce#parseAsJs
+ * @methodOf ng.$sce
*
- * !!! ACCESSES CLOSURE VARS:
- * $httpBackend, defaults, $log, $rootScope, defaultCache, $http.pendingRequests
+ * @description
+ * Shorthand method. `$sce.parseAsJs(value)` → {@link ng.$sce#parse `$sce.parseAs($sce.JS, value)`}
+ *
+ * @param {string} expression String expression to compile.
+ * @returns {function(context, locals)} a function which represents the compiled expression:
+ *
+ * * `context` – `{object}` – an object against which any expressions embedded in the strings
+ * are evaluated against (typically a scope object).
+ * * `locals` – `{object=}` – local variables context object, useful for overriding values in
+ * `context`.
*/
- function sendReq(config, reqData, reqHeaders) {
- var deferred = $q.defer(),
- promise = deferred.promise,
- cache,
- cachedResp,
- url = buildUrl(config.url, config.params);
- $http.pendingRequests.push(config);
- promise.then(removePendingReq, removePendingReq);
+ // Shorthand delegations.
+ var parse = sce.parseAs,
+ getTrusted = sce.getTrusted,
+ trustAs = sce.trustAs;
-
- if ((config.cache || defaults.cache) && config.cache !== false && config.method == 'GET') {
- cache = isObject(config.cache) ? config.cache
- : isObject(defaults.cache) ? defaults.cache
- : defaultCache;
+ angular.forEach(SCE_CONTEXTS, function (enumValue, name) {
+ var lName = lowercase(name);
+ sce[camelCase("parse_as_" + lName)] = function (expr) {
+ return parse(enumValue, expr);
}
-
- if (cache) {
- cachedResp = cache.get(url);
- if (cachedResp) {
- if (cachedResp.then) {
- // cached request has already been sent, but there is no response yet
- cachedResp.then(removePendingReq, removePendingReq);
- return cachedResp;
- } else {
- // serving from cache
- if (isArray(cachedResp)) {
- resolvePromise(cachedResp[1], cachedResp[0], copy(cachedResp[2]));
- } else {
- resolvePromise(cachedResp, 200, {});
- }
- }
- } else {
- // put the promise for the non-transformed response into cache as a placeholder
- cache.put(url, promise);
- }
+ sce[camelCase("get_trusted_" + lName)] = function (value) {
+ return getTrusted(enumValue, value);
}
-
- // if we won't have the response in cache, send the request to the backend
- if (!cachedResp) {
- $httpBackend(config.method, url, reqData, done, reqHeaders, config.timeout,
- config.withCredentials, config.responseType);
+ sce[camelCase("trust_as_" + lName)] = function (value) {
+ return trustAs(enumValue, value);
}
+ });
- return promise;
-
-
- /**
- * Callback registered to $httpBackend():
- * - caches the response if desired
- * - resolves the raw $http promise
- * - calls $apply
- */
- function done(status, response, headersString) {
- if (cache) {
- if (isSuccess(status)) {
- cache.put(url, [status, response, parseHeaders(headersString)]);
- } else {
- // remove promise from the cache
- cache.remove(url);
- }
- }
-
- resolvePromise(response, status, headersString);
- if (!$rootScope.$$phase) $rootScope.$apply();
- }
-
-
- /**
- * Resolves the raw $http promise.
- */
- function resolvePromise(response, status, headers) {
- // normalize internal statuses to 0
- status = Math.max(status, 0);
-
- (isSuccess(status) ? deferred.resolve : deferred.reject)({
- data: response,
- status: status,
- headers: headersGetter(headers),
- config: config
- });
- }
-
-
- function removePendingReq() {
- var idx = indexOf($http.pendingRequests, config);
- if (idx !== -1) $http.pendingRequests.splice(idx, 1);
- }
- }
-
-
- function buildUrl(url, params) {
- if (!params) return url;
- var parts = [];
- forEachSorted(params, function(value, key) {
- if (value == null || value == undefined) return;
- if (!isArray(value)) value = [value];
-
- forEach(value, function(v) {
- if (isObject(v)) {
- v = toJson(v);
- }
- parts.push(encodeUriQuery(key) + '=' +
- encodeUriQuery(v));
- });
- });
- return url + ((url.indexOf('?') == -1) ? '?' : '&') + parts.join('&');
- }
-
-
+ return sce;
}];
}
-var XHR = window.XMLHttpRequest || function() {
- try { return new ActiveXObject("Msxml2.XMLHTTP.6.0"); } catch (e1) {}
- try { return new ActiveXObject("Msxml2.XMLHTTP.3.0"); } catch (e2) {}
- try { return new ActiveXObject("Msxml2.XMLHTTP"); } catch (e3) {}
- throw new Error("This browser does not support XMLHttpRequest.");
-};
-
-
/**
- * @ngdoc object
- * @name ng.$httpBackend
- * @requires $browser
+ * !!! This is an undocumented "private" service !!!
+ *
+ * @name ng.$sniffer
* @requires $window
* @requires $document
*
+ * @property {boolean} history Does the browser support html5 history api ?
+ * @property {boolean} hashchange Does the browser support hashchange event ?
+ * @property {boolean} transitions Does the browser support CSS transition events ?
+ * @property {boolean} animations Does the browser support CSS animation events ?
+ *
* @description
- * HTTP backend used by the {@link ng.$http service} that delegates to
- * XMLHttpRequest object or JSONP and deals with browser incompatibilities.
- *
- * You should never need to use this service directly, instead use the higher-level abstractions:
- * {@link ng.$http $http} or {@link ngResource.$resource $resource}.
- *
- * During testing this implementation is swapped with {@link ngMock.$httpBackend mock
- * $httpBackend} which can be trained with responses.
+ * This is very simple implementation of testing browser's features.
*/
-function $HttpBackendProvider() {
- this.$get = ['$browser', '$window', '$document', function($browser, $window, $document) {
- return createHttpBackend($browser, XHR, $browser.defer, $window.angular.callbacks,
- $document[0], $window.location.protocol.replace(':', ''));
- }];
-}
+function $SnifferProvider() {
+ this.$get = ['$window', '$document', function($window, $document) {
+ var eventSupport = {},
+ android = int((/android (\d+)/.exec(lowercase(($window.navigator || {}).userAgent)) || [])[1]),
+ document = $document[0] || {},
+ vendorPrefix,
+ vendorRegex = /^(Moz|webkit|O|ms)(?=[A-Z])/,
+ bodyStyle = document.body && document.body.style,
+ transitions = false,
+ animations = false,
+ match;
-function createHttpBackend($browser, XHR, $browserDefer, callbacks, rawDocument, locationProtocol) {
- // TODO(vojta): fix the signature
- return function(method, url, post, callback, headers, timeout, withCredentials, responseType) {
- var status;
- $browser.$$incOutstandingRequestCount();
- url = url || $browser.url();
-
- if (lowercase(method) == 'jsonp') {
- var callbackId = '_' + (callbacks.counter++).toString(36);
- callbacks[callbackId] = function(data) {
- callbacks[callbackId].data = data;
- };
-
- var jsonpDone = jsonpReq(url.replace('JSON_CALLBACK', 'angular.callbacks.' + callbackId),
- function() {
- if (callbacks[callbackId].data) {
- completeRequest(callback, 200, callbacks[callbackId].data);
- } else {
- completeRequest(callback, status || -2);
+ if (bodyStyle) {
+ for(var prop in bodyStyle) {
+ if(match = vendorRegex.exec(prop)) {
+ vendorPrefix = match[0];
+ vendorPrefix = vendorPrefix.substr(0, 1).toUpperCase() + vendorPrefix.substr(1);
+ break;
}
- delete callbacks[callbackId];
- });
- } else {
- var xhr = new XHR();
- xhr.open(method, url, true);
- forEach(headers, function(value, key) {
- if (value) xhr.setRequestHeader(key, value);
- });
-
- // In IE6 and 7, this might be called synchronously when xhr.send below is called and the
- // response is in the cache. the promise api will ensure that to the app code the api is
- // always async
- xhr.onreadystatechange = function() {
- if (xhr.readyState == 4) {
- var responseHeaders = xhr.getAllResponseHeaders();
-
- // TODO(vojta): remove once Firefox 21 gets released.
- // begin: workaround to overcome Firefox CORS http response headers bug
- // https://bugzilla.mozilla.org/show_bug.cgi?id=608735
- // Firefox already patched in nightly. Should land in Firefox 21.
-
- // CORS "simple response headers" http://www.w3.org/TR/cors/
- var value,
- simpleHeaders = ["Cache-Control", "Content-Language", "Content-Type",
- "Expires", "Last-Modified", "Pragma"];
- if (!responseHeaders) {
- responseHeaders = "";
- forEach(simpleHeaders, function (header) {
- var value = xhr.getResponseHeader(header);
- if (value) {
- responseHeaders += header + ": " + value + "\n";
- }
- });
- }
- // end of the workaround.
-
- // responseText is the old-school way of retrieving response (supported by IE8 & 9)
- // response and responseType properties were introduced in XHR Level2 spec (supported by IE10)
- completeRequest(callback,
- status || xhr.status,
- (xhr.responseType ? xhr.response : xhr.responseText),
- responseHeaders);
- }
- };
-
- if (withCredentials) {
- xhr.withCredentials = true;
}
-
- if (responseType) {
- xhr.responseType = responseType;
+ transitions = !!(('transition' in bodyStyle) || (vendorPrefix + 'Transition' in bodyStyle));
+ animations = !!(('animation' in bodyStyle) || (vendorPrefix + 'Animation' in bodyStyle));
+
+ if (android && (!transitions||!animations)) {
+ transitions = isString(document.body.style.webkitTransition);
+ animations = isString(document.body.style.webkitAnimation);
}
-
- xhr.send(post || '');
}
- if (timeout > 0) {
- var timeoutId = $browserDefer(timeoutRequest, timeout);
- } else if (timeout && timeout.then) {
- timeout.then(timeoutRequest);
- }
-
- function timeoutRequest() {
- status = -1;
- jsonpDone && jsonpDone();
- xhr && xhr.abort();
- }
-
- function completeRequest(callback, status, response, headersString) {
- // URL_MATCH is defined in src/service/location.js
- var protocol = (url.match(SERVER_MATCH) || ['', locationProtocol])[1];
-
- // cancel timeout and subsequent timeout promise resolution
- timeoutId && $browserDefer.cancel(timeoutId);
- jsonpDone = xhr = null;
-
- // fix status code for file protocol (it's always 0)
- status = (protocol == 'file') ? (response ? 200 : 404) : status;
-
- // normalize IE bug (http://bugs.jquery.com/ticket/1450)
- status = status == 1223 ? 204 : status;
-
- callback(status, response, headersString);
- $browser.$$completeOutstandingRequest(noop);
- }
- };
-
- function jsonpReq(url, done) {
- // we can't use jQuery/jqLite here because jQuery does crazy shit with script elements, e.g.:
- // - fetches local scripts via XHR and evals them
- // - adds and immediately removes script elements from the document
- var script = rawDocument.createElement('script'),
- doneWrapper = function() {
- rawDocument.body.removeChild(script);
- if (done) done();
- };
-
- script.type = 'text/javascript';
- script.src = url;
-
- if (msie) {
- script.onreadystatechange = function() {
- if (/loaded|complete/.test(script.readyState)) doneWrapper();
- };
- } else {
- script.onload = script.onerror = doneWrapper;
- }
-
- rawDocument.body.appendChild(script);
- return doneWrapper;
- }
-}
-
-/**
- * @ngdoc object
- * @name ng.$locale
- *
- * @description
- * $locale service provides localization rules for various Angular components. As of right now the
- * only public api is:
- *
- * * `id` – `{string}` – locale id formatted as `languageId-countryId` (e.g. `en-us`)
- */
-function $LocaleProvider(){
- this.$get = function() {
return {
- id: 'en-us',
+ // Android has history.pushState, but it does not update location correctly
+ // so let's not use the history API at all.
+ // http://code.google.com/p/android/issues/detail?id=17471
+ // https://github.com/angular/angular.js/issues/904
+ history: !!($window.history && $window.history.pushState && !(android < 4)),
+ hashchange: 'onhashchange' in $window &&
+ // IE8 compatible mode lies
+ (!document.documentMode || document.documentMode > 7),
+ hasEvent: function(event) {
+ // IE9 implements 'input' event it's so fubared that we rather pretend that it doesn't have
+ // it. In particular the event is not fired when backspace or delete key are pressed or
+ // when cut operation is performed.
+ if (event == 'input' && msie == 9) return false;
- NUMBER_FORMATS: {
- DECIMAL_SEP: '.',
- GROUP_SEP: ',',
- PATTERNS: [
- { // Decimal Pattern
- minInt: 1,
- minFrac: 0,
- maxFrac: 3,
- posPre: '',
- posSuf: '',
- negPre: '-',
- negSuf: '',
- gSize: 3,
- lgSize: 3
- },{ //Currency Pattern
- minInt: 1,
- minFrac: 2,
- maxFrac: 2,
- posPre: '\u00A4',
- posSuf: '',
- negPre: '(\u00A4',
- negSuf: ')',
- gSize: 3,
- lgSize: 3
- }
- ],
- CURRENCY_SYM: '$'
- },
+ if (isUndefined(eventSupport[event])) {
+ var divElm = document.createElement('div');
+ eventSupport[event] = 'on' + event in divElm;
+ }
- DATETIME_FORMATS: {
- MONTH: 'January,February,March,April,May,June,July,August,September,October,November,December'
- .split(','),
- SHORTMONTH: 'Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec'.split(','),
- DAY: 'Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday'.split(','),
- SHORTDAY: 'Sun,Mon,Tue,Wed,Thu,Fri,Sat'.split(','),
- 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'
+ return eventSupport[event];
},
-
- pluralCat: function(num) {
- if (num === 1) {
- return 'one';
- }
- return 'other';
- }
+ csp: document.securityPolicy ? document.securityPolicy.isActive : false,
+ vendorPrefix: vendorPrefix,
+ transitions : transitions,
+ animations : animations
};
- };
+ }];
}
function $TimeoutProvider() {
@@ -10633,8 +11359,168 @@
}];
}
+function $$UrlUtilsProvider() {
+ this.$get = [function() {
+ var urlParsingNode = document.createElement("a"),
+ // NOTE: The usage of window and document instead of $window and $document here is
+ // deliberate. This service depends on the specific behavior of anchor nodes created by the
+ // browser (resolving and parsing URLs) that is unlikely to be provided by mock objects and
+ // cause us to break tests. In addition, when the browser resolves a URL for XHR, it
+ // doesn't know about mocked locations and resolves URLs to the real document - which is
+ // exactly the behavior needed here. There is little value is mocking these our for this
+ // service.
+ originUrl = resolve(window.location.href, true);
+
+ /**
+ * @description
+ * Normalizes and optionally parses a URL.
+ *
+ * NOTE: This is a private service. The API is subject to change unpredictably in any commit.
+ *
+ * Implementation Notes for non-IE browsers
+ * ----------------------------------------
+ * Assigning a URL to the href property of an anchor DOM node, even one attached to the DOM,
+ * results both in the normalizing and parsing of the URL. Normalizing means that a relative
+ * URL will be resolved into an absolute URL in the context of the application document.
+ * Parsing means that the anchor node's host, hostname, protocol, port, pathname and related
+ * properties are all populated to reflect the normalized URL. This approach has wide
+ * compatibility - Safari 1+, Mozilla 1+, Opera 7+,e etc. See
+ * http://www.aptana.com/reference/html/api/HTMLAnchorElement.html
+ *
+ * Implementation Notes for IE
+ * ---------------------------
+ * IE >= 8 and <= 10 normalizes the URL when assigned to the anchor node similar to the other
+ * browsers. However, the parsed components will not be set if the URL assigned did not specify
+ * them. (e.g. if you assign a.href = "foo", then a.protocol, a.host, etc. will be empty.) We
+ * work around that by performing the parsing in a 2nd step by taking a previously normalized
+ * URL (e.g. by assining to a.href) and assigning it a.href again. This correctly populates the
+ * properties such as protocol, hostname, port, etc.
+ *
+ * IE7 does not normalize the URL when assigned to an anchor node. (Apparently, it does, if one
+ * uses the inner HTML approach to assign the URL as part of an HTML snippet -
+ * http://stackoverflow.com/a/472729) However, setting img[src] does normalize the URL.
+ * Unfortunately, setting img[src] to something like "javascript:foo" on IE throws an exception.
+ * Since the primary usage for normalizing URLs is to sanitize such URLs, we can't use that
+ * method and IE < 8 is unsupported.
+ *
+ * References:
+ * http://developer.mozilla.org/en-US/docs/Web/API/HTMLAnchorElement
+ * http://www.aptana.com/reference/html/api/HTMLAnchorElement.html
+ * http://url.spec.whatwg.org/#urlutils
+ * https://github.com/angular/angular.js/pull/2902
+ * http://james.padolsey.com/javascript/parsing-urls-with-the-dom/
+ *
+ * @param {string} url The URL to be parsed.
+ * @param {boolean=} parse When true, returns an object for the parsed URL. Otherwise, returns
+ * a single string that is the normalized URL.
+ * @returns {object|string} When parse is true, returns the normalized URL as a string.
+ * Otherwise, returns an object with the following members.
+ *
+ * | member name | Description |
+ * |===============|================|
+ * | href | A normalized version of the provided URL if it was not an absolute URL |
+ * | protocol | The protocol including the trailing colon |
+ * | host | The host and port (if the port is non-default) of the normalizedUrl |
+ *
+ * These fields from the UrlUtils interface are currently not needed and hence not returned.
+ *
+ * | member name | Description |
+ * |===============|================|
+ * | hostname | The host without the port of the normalizedUrl |
+ * | pathname | The path following the host in the normalizedUrl |
+ * | hash | The URL hash if present |
+ * | search | The query string |
+ *
+ */
+ function resolve(url, parse) {
+ var href = url;
+ if (msie) {
+ // Normalize before parse. Refer Implementation Notes on why this is
+ // done in two steps on IE.
+ urlParsingNode.setAttribute("href", href);
+ href = urlParsingNode.href;
+ }
+ urlParsingNode.setAttribute('href', href);
+
+ if (!parse) {
+ return urlParsingNode.href;
+ }
+ // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils
+ return {
+ href: urlParsingNode.href,
+ protocol: urlParsingNode.protocol,
+ host: urlParsingNode.host
+ // Currently unused and hence commented out.
+ // hostname: urlParsingNode.hostname,
+ // port: urlParsingNode.port,
+ // pathname: urlParsingNode.pathname,
+ // hash: urlParsingNode.hash,
+ // search: urlParsingNode.search
+ };
+ }
+
+ return {
+ resolve: resolve,
+ /**
+ * Parse a request URL and determine whether this is a same-origin request as the application document.
+ *
+ * @param {string|object} requestUrl The url of the request as a string that will be resolved
+ * or a parsed URL object.
+ * @returns {boolean} Whether the request is for the same origin as the application document.
+ */
+ isSameOrigin: function isSameOrigin(requestUrl) {
+ var parsed = (typeof requestUrl === 'string') ? resolve(requestUrl, true) : requestUrl;
+ return (parsed.protocol === originUrl.protocol &&
+ parsed.host === originUrl.host);
+ }
+ };
+ }];
+}
+
/**
* @ngdoc object
+ * @name ng.$window
+ *
+ * @description
+ * A reference to the browser's `window` object. While `window`
+ * is globally available in JavaScript, it causes testability problems, because
+ * it is a global variable. In angular we always refer to it through the
+ * `$window` service, so it may be overridden, removed or mocked for testing.
+ *
+ * Expressions, like the one defined for the `ngClick` directive in the example
+ * below, are evaluated with respect to the current scope. Therefore, there is
+ * no risk of inadvertently coding in a dependency on a global value in such an
+ * expression.
+ *
+ * @example
+ <doc:example>
+ <doc:source>
+ <script>
+ function Ctrl($scope, $window) {
+ $scope.$window = $window;
+ $scope.greeting = 'Hello, World!';
+ }
+ </script>
+ <div ng-controller="Ctrl">
+ <input type="text" ng-model="greeting" />
+ <button ng-click="$window.alert(greeting)">ALERT</button>
+ </div>
+ </doc:source>
+ <doc:scenario>
+ it('should display the greeting in the input box', function() {
+ input('greeting').enter('Hello, E2E Tests');
+ // If we click the button it will block the test runner
+ // element(':button').click();
+ });
+ </doc:scenario>
+ </doc:example>
+ */
+function $WindowProvider(){
+ this.$get = valueFn(window);
+}
+
+/**
+ * @ngdoc object
* @name ng.$filterProvider
* @description
*
@@ -10663,7 +11549,7 @@
* }
* </pre>
*
- * The filter function is registered with the `$injector` under the filter name suffixe with `Filter`.
+ * The filter function is registered with the `$injector` under the filter name suffix with `Filter`.
* <pre>
* it('should be the same instance', inject(
* function($filterProvider) {
@@ -11006,7 +11892,9 @@
* If the input is not a number an empty string is returned.
*
* @param {number|string} number Number to format.
- * @param {(number|string)=} [fractionSize=2] Number of decimal places to round the number to.
+ * @param {(number|string)=} fractionSize Number of decimal places to round the number to.
+ * If this is not provided then the fraction size is computed from the current locale's number
+ * formatting pattern. In the case of the default locale, it will be 3.
* @returns {string} Number rounded to decimalPlaces and places a “,” after each third digit.
*
* @example
@@ -11113,6 +12001,11 @@
}
if (fractionSize && fractionSize !== "0") formatedText += decimalSep + fraction.substr(0, fractionSize);
+ } else {
+
+ if (fractionSize > 0 && number > -1 && number < 1) {
+ formatedText = number.toFixed(fractionSize);
+ }
}
parts.push(isNegative ? pattern.negPre : pattern.posPre);
@@ -11187,7 +12080,7 @@
m: dateGetter('Minutes', 1),
ss: dateGetter('Seconds', 2),
s: dateGetter('Seconds', 1),
- // while ISO 8601 requires fractions to be prefixed with `.` or `,`
+ // while ISO 8601 requires fractions to be prefixed with `.` or `,`
// we can be just safely rely on using `sss` since we currently don't support single or two digit fractions
sss: dateGetter('Milliseconds', 3),
EEEE: dateStrGetter('Day'),
@@ -11240,7 +12133,7 @@
* * `'short'`: equivalent to `'M/d/yy h:mm a'` for en_US locale (e.g. 9/3/10 12:05 pm)
* * `'fullDate'`: equivalent to `'EEEE, MMMM d,y'` for en_US locale
* (e.g. Friday, September 3, 2010)
- * * `'longDate'`: equivalent to `'MMMM d, y'` for en_US locale (e.g. September 3, 2010
+ * * `'longDate'`: equivalent to `'MMMM d, y'` for en_US locale (e.g. September 3, 2010)
* * `'mediumDate'`: equivalent to `'MMM d, y'` for en_US locale (e.g. Sep 3, 2010)
* * `'shortDate'`: equivalent to `'M/d/yy'` for en_US locale (e.g. 9/3/10)
* * `'mediumTime'`: equivalent to `'h:mm:ss a'` for en_US locale (e.g. 12:05:08 pm)
@@ -11248,7 +12141,7 @@
*
* `format` string can contain literal values. These need to be quoted with single quotes (e.g.
* `"h 'in the morning'"`). In order to output single quote, use two single quotes in a sequence
- * (e.g. `"h o''clock"`).
+ * (e.g. `"h 'o''clock'"`).
*
* @param {(Date|number|string)} date Date to format either as Date object, milliseconds (string or
* number) or various ISO 8601 datetime string formats (e.g. yyyy-MM-ddTHH:mm:ss.SSSZ and its
@@ -11694,7 +12587,7 @@
}
return function(scope, element) {
- element.bind('click', function(event){
+ element.on('click', function(event){
// if we have no href url, then don't navigate anywhere.
if (!element.attr('href')) {
event.preventDefault();
@@ -11905,42 +12798,6 @@
/**
* @ngdoc directive
- * @name ng.directive:ngMultiple
- * @restrict A
- *
- * @description
- * The HTML specs do not require browsers to preserve the special attributes such as multiple.
- * (The presence of them means true and absence means false)
- * This prevents the angular compiler from correctly retrieving the binding expression.
- * To solve this problem, we introduce the `ngMultiple` directive.
- *
- * @example
- <doc:example>
- <doc:source>
- Check me check multiple: <input type="checkbox" ng-model="checked"><br/>
- <select id="select" ng-multiple="checked">
- <option>Misko</option>
- <option>Igor</option>
- <option>Vojta</option>
- <option>Di</option>
- </select>
- </doc:source>
- <doc:scenario>
- it('should toggle multiple', function() {
- expect(element('.doc-example-live #select').prop('multiple')).toBeFalsy();
- input('checked').check();
- expect(element('.doc-example-live #select').prop('multiple')).toBeTruthy();
- });
- </doc:scenario>
- </doc:example>
- *
- * @element SELECT
- * @param {expression} ngMultiple Angular expression that will be evaluated.
- */
-
-
-/**
- * @ngdoc directive
* @name ng.directive:ngReadonly
* @restrict A
*
@@ -12038,6 +12895,9 @@
// boolean attrs are evaluated
forEach(BOOLEAN_ATTR, function(propName, attrName) {
+ // binding to multiple is not supported
+ if (propName == "multiple") return;
+
var normalized = directiveNormalize('ng-' + attrName);
ngAttributeAliasDirectives[normalized] = function() {
return {
@@ -12119,7 +12979,7 @@
controls = [];
// init state
- form.$name = attrs.name;
+ form.$name = attrs.name || attrs.ngForm;
form.$dirty = false;
form.$pristine = true;
form.$valid = true;
@@ -12139,6 +12999,16 @@
addClass((isValid ? VALID_CLASS : INVALID_CLASS) + validationErrorKey);
}
+ /**
+ * @ngdoc function
+ * @name ng.directive:form.FormController#$addControl
+ * @methodOf ng.directive:form.FormController
+ *
+ * @description
+ * Register a control with the form.
+ *
+ * Input elements using ngModelController do this automatically when they are linked.
+ */
form.$addControl = function(control) {
controls.push(control);
@@ -12147,6 +13017,16 @@
}
};
+ /**
+ * @ngdoc function
+ * @name ng.directive:form.FormController#$removeControl
+ * @methodOf ng.directive:form.FormController
+ *
+ * @description
+ * Deregister a control from the form.
+ *
+ * Input elements using ngModelController do this automatically when they are destroyed.
+ */
form.$removeControl = function(control) {
if (control.$name && form[control.$name] === control) {
delete form[control.$name];
@@ -12158,6 +13038,16 @@
arrayRemove(controls, control);
};
+ /**
+ * @ngdoc function
+ * @name ng.directive:form.FormController#$setValidity
+ * @methodOf ng.directive:form.FormController
+ *
+ * @description
+ * Sets the validity of a form control.
+ *
+ * This method will also propagate to parent forms.
+ */
form.$setValidity = function(validationToken, isValid, control) {
var queue = errors[validationToken];
@@ -12196,6 +13086,17 @@
}
};
+ /**
+ * @ngdoc function
+ * @name ng.directive:form.FormController#$setDirty
+ * @methodOf ng.directive:form.FormController
+ *
+ * @description
+ * Sets the form to a dirty state.
+ *
+ * This method can be called to add the 'ng-dirty' class and set the form to a dirty
+ * state (ng-dirty class). This method will also propagate to parent forms.
+ */
form.$setDirty = function() {
element.removeClass(PRISTINE_CLASS).addClass(DIRTY_CLASS);
form.$dirty = true;
@@ -12360,7 +13261,7 @@
// unregister the preventDefault listener so that we don't not leak memory but in a
// way that will achieve the prevention of the default action.
- formElement.bind('$destroy', function() {
+ formElement.on('$destroy', function() {
$timeout(function() {
removeEventListenerFn(formElement[0], 'submit', preventDefaultListener);
}, 0, false);
@@ -12371,13 +13272,13 @@
alias = attr.name || attr.ngForm;
if (alias) {
- scope[alias] = controller;
+ setter(scope, alias, controller, alias);
}
if (parentFormCtrl) {
- formElement.bind('$destroy', function() {
+ formElement.on('$destroy', function() {
parentFormCtrl.$removeControl(controller);
if (alias) {
- scope[alias] = undefined;
+ setter(scope, alias, undefined, alias);
}
extend(controller, nullFormCtrl); //stop propagating child destruction handlers upwards
});
@@ -12395,7 +13296,7 @@
var ngFormDirective = formDirectiveFactory(true);
var URL_REGEXP = /^(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?$/;
-var EMAIL_REGEXP = /^[A-Za-z0-9._%+-]+(a)[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/;
+var EMAIL_REGEXP = /^[A-Za-z0-9._%+-]+(a)[A-Za-z0-9.-]+\.[A-Za-z]{2,6}$/;
var NUMBER_REGEXP = /^\s*(\-|\+)?(\d+|(\d*(\.\d*)))\s*$/;
var inputType = {
@@ -12514,9 +13415,9 @@
<form name="myForm" ng-controller="Ctrl">
Number: <input type="number" name="input" ng-model="value"
min="0" max="99" required>
- <span class="error" ng-show="myForm.list.$error.required">
+ <span class="error" ng-show="myForm.input.$error.required">
Required!</span>
- <span class="error" ng-show="myForm.list.$error.number">
+ <span class="error" ng-show="myForm.input.$error.number">
Not valid number!</span>
<tt>value = {{value}}</tt><br/>
<tt>myForm.input.$valid = {{myForm.input.$valid}}</tt><br/>
@@ -12637,6 +13538,8 @@
* @param {string=} ngPattern Sets `pattern` validation error key if the value does not match the
* RegExp pattern expression. Expected value is `/regexp/` for inline patterns or `regexp` for
* patterns defined as scope expressions.
+ * @param {string=} ngChange Angular expression to be executed when input changes due to user
+ * interaction with the input element.
*
* @example
<doc:example>
@@ -12803,7 +13706,7 @@
// if the browser does support "input" event, we are fine - except on IE9 which doesn't fire the
// input event on backspace, delete or cut
if ($sniffer.hasEvent('input')) {
- element.bind('input', listener);
+ element.on('input', listener);
} else {
var timeout;
@@ -12816,7 +13719,7 @@
}
};
- element.bind('keydown', function(event) {
+ element.on('keydown', function(event) {
var key = event.keyCode;
// ignore
@@ -12827,11 +13730,11 @@
});
// if user paste into input using mouse, we need "change" event to catch it
- element.bind('change', listener);
+ element.on('change', listener);
// if user modifies input value using context menu in IE, we need "paste" and "cut" events to catch it
if ($sniffer.hasEvent('paste')) {
- element.bind('paste cut', deferListener);
+ element.on('paste cut', deferListener);
}
}
@@ -12867,7 +13770,9 @@
var patternObj = scope.$eval(pattern);
if (!patternObj || !patternObj.test) {
- throw new Error('Expected ' + pattern + ' to be a RegExp but was ' + patternObj);
+ throw minErr('ngPattern')('noregexp',
+ 'Expected {0} to be a RegExp but was {1}. Element: {2}', pattern,
+ patternObj, startingTag(element));
}
return validate(patternObj, value);
};
@@ -13014,7 +13919,7 @@
element.attr('name', nextUid());
}
- element.bind('click', function() {
+ element.on('click', function() {
if (element[0].checked) {
scope.$apply(function() {
ctrl.$setViewValue(attr.value);
@@ -13037,7 +13942,7 @@
if (!isString(trueValue)) trueValue = true;
if (!isString(falseValue)) falseValue = false;
- element.bind('click', function() {
+ element.on('click', function() {
scope.$apply(function() {
ctrl.$setViewValue(element[0].checked);
});
@@ -13204,12 +14109,25 @@
*
* @property {string} $viewValue Actual string value in the view.
* @property {*} $modelValue The value in the model, that the control is bound to.
- * @property {Array.<Function>} $parsers Whenever the control reads value from the DOM, it executes
- * all of these functions to sanitize / convert the value as well as validate.
+ * @property {Array.<Function>} $parsers Array of functions to execute, as a pipeline, whenever
+ the control reads value from the DOM. Each function is called, in turn, passing the value
+ through to the next. Used to sanitize / convert the value as well as validation.
+ For validation, the parsers should update the validity state using
+ {@link ng.directive:ngModel.NgModelController#$setValidity $setValidity()},
+ and return `undefined` for invalid values.
+
*
- * @property {Array.<Function>} $formatters Whenever the model value changes, it executes all of
- * these functions to convert the value as well as validate.
- *
+ * @property {Array.<Function>} $formatters Array of functions to execute, as a pipeline, whenever
+ the model value changes. Each function is called, in turn, passing the value through to the
+ next. Used to format / convert values for display in the control and validation.
+ * <pre>
+ * function formatter(value) {
+ * if (value) {
+ * return value.toUpperCase();
+ * }
+ * }
+ * ngModel.$formatters.push(formatter);
+ * </pre>
* @property {Object} $error An object hash with all errors as keys.
*
* @property {boolean} $pristine True if user has not interacted with the control yet.
@@ -13224,7 +14142,11 @@
* specifically does not contain any logic which deals with DOM rendering or listening to
* DOM events. The `NgModelController` is meant to be extended by other directives where, the
* directive provides DOM manipulation and the `NgModelController` provides the data-binding.
+ * Note that you cannot use `NgModelController` in a directive with an isolated scope,
+ * as, in that case, the `ng-model` value gets put into the isolated scope and does not get
+ * propogated to the parent scope.
*
+ *
* This example shows how to use `NgModelController` with a custom control to achieve
* data-binding. Notice how different directives (`contenteditable`, `ng-model`, and `required`)
* collaborate together to achieve the desired result.
@@ -13257,14 +14179,20 @@
};
// Listen for change events to enable binding
- element.bind('blur keyup change', function() {
+ element.on('blur keyup change', function() {
scope.$apply(read);
});
read(); // initialize
// Write data to the model
function read() {
- ngModel.$setViewValue(element.html());
+ var html = element.html();
+ // When we clear the content editable the browser leaves a <br> behind
+ // If strip-br attribute is provided then we strip this out
+ if( attrs.stripBr && html == '<br>' ) {
+ html = '';
+ }
+ ngModel.$setViewValue(html);
}
}
};
@@ -13274,6 +14202,7 @@
<form name="myForm">
<div contenteditable
name="myWidget" ng-model="userContent"
+ strip-br="true"
required>Change me!</div>
<span ng-show="myForm.myWidget.$error.required">Required!</span>
<hr>
@@ -13310,8 +14239,8 @@
ngModelSet = ngModelGet.assign;
if (!ngModelSet) {
- throw Error(NON_ASSIGNABLE_MODEL_EXPRESSION + $attr.ngModel +
- ' (' + startingTag($element) + ')');
+ throw minErr('ngModel')('nonassign', "Expression '{0}' is non-assignable. Element: {1}",
+ $attr.ngModel, startingTag($element));
}
/**
@@ -13412,8 +14341,8 @@
* For example {@link ng.directive:input input} or
* {@link ng.directive:select select} directives call it.
*
- * It internally calls all `parsers` and if resulted value is valid, updates the model and
- * calls all registered change listeners.
+ * It internally calls all `$parsers` (including validators) and updates the `$modelValue` and the actual model path.
+ * Lastly it calls all registered change listeners.
*
* @param {string} value Value from the view.
*/
@@ -13478,8 +14407,9 @@
* @element input
*
* @description
- * Is directive that tells Angular to do two-way data binding. It works together with `input`,
- * `select`, `textarea`. You can easily write your own directives to use `ngModel` as well.
+ * Is a directive that tells Angular to do two-way data binding. It works together with `input`,
+ * `select`, `textarea` and even custom form controls that use {@link ng.directive:ngModel.NgModelController
+ * NgModelController} exposed by this directive.
*
* `ngModel` is responsible for:
*
@@ -13490,6 +14420,10 @@
* - setting related css class onto the element (`ng-valid`, `ng-invalid`, `ng-dirty`, `ng-pristine`),
* - register the control with parent {@link ng.directive:form form}.
*
+ * Note: `ngModel` will try to bind to the property given by evaluating the expression on the
+ * current scope. If the property doesn't already exist on this scope, it will be created
+ * implicitly and added to the scope.
+ *
* For basic examples, how to use `ngModel`, see:
*
* - {@link ng.directive:input input}
@@ -13515,7 +14449,7 @@
formCtrl.$addControl(modelCtrl);
- element.bind('$destroy', function() {
+ element.on('$destroy', function() {
formCtrl.$removeControl(modelCtrl);
});
}
@@ -13630,8 +14564,9 @@
</script>
<form name="myForm" ng-controller="Ctrl">
List: <input name="namesInput" ng-model="names" ng-list required>
- <span class="error" ng-show="myForm.list.$error.required">
+ <span class="error" ng-show="myForm.namesInput.$error.required">
Required!</span>
+ <br>
<tt>names = {{names}}</tt><br/>
<tt>myForm.namesInput.$valid = {{myForm.namesInput.$valid}}</tt><br/>
<tt>myForm.namesInput.$error = {{myForm.namesInput.$error}}</tt><br/>
@@ -13643,12 +14578,14 @@
it('should initialize to model', function() {
expect(binding('names')).toEqual('["igor","misko","vojta"]');
expect(binding('myForm.namesInput.$valid')).toEqual('true');
+ expect(element('span.error').css('display')).toBe('none');
});
it('should be invalid if empty', function() {
input('names').enter('');
expect(binding('names')).toEqual('[]');
expect(binding('myForm.namesInput.$valid')).toEqual('false');
+ expect(element('span.error').css('display')).not().toBe('none');
});
</doc:scenario>
</doc:example>
@@ -13698,7 +14635,7 @@
} else {
return function(scope, elm, attr) {
scope.$watch(attr.ngValue, function valueWatchAction(value) {
- attr.$set('value', value, false);
+ attr.$set('value', value);
});
};
}
@@ -13718,10 +14655,9 @@
* Typically, you don't use `ngBind` directly, but instead you use the double curly markup like
* `{{ expression }}` which is similar but less verbose.
*
- * One scenario in which the use of `ngBind` is preferred over `{{ expression }}` binding is when
- * it's desirable to put bindings into template that is momentarily displayed by the browser in its
- * raw state before Angular compiles it. Since `ngBind` is an element attribute, it makes the
- * bindings invisible to the user while the page is loading.
+ * It is preferrable to use `ngBind` instead of `{{ expression }}` when a template is momentarily
+ * displayed by the browser in its raw state before Angular compiles it. Since `ngBind` is an
+ * element attribute, it makes the bindings invisible to the user while the page is loading.
*
* An alternative solution to this problem would be using the
* {@link ng.directive:ngCloak ngCloak} directive.
@@ -13767,10 +14703,11 @@
*
* @description
* The `ngBindTemplate` directive specifies that the element
- * text should be replaced with the template in ngBindTemplate.
- * Unlike ngBind the ngBindTemplate can contain multiple `{{` `}}`
- * expressions. (This is required since some HTML elements
- * can not have SPAN elements such as TITLE, or OPTION to name a few.)
+ * text content should be replaced with the interpolation of the template
+ * in the `ngBindTemplate` attribute.
+ * Unlike `ngBind`, the `ngBindTemplate` can contain multiple `{{` `}}`
+ * expressions. This directive is needed since some HTML elements
+ * (such as TITLE and OPTION) cannot contain SPAN elements.
*
* @element ANY
* @param {string} ngBindTemplate template of form
@@ -13822,23 +14759,27 @@
/**
* @ngdoc directive
- * @name ng.directive:ngBindHtmlUnsafe
+ * @name ng.directive:ngBindHtml
*
* @description
* Creates a binding that will innerHTML the result of evaluating the `expression` into the current
- * element. *The innerHTML-ed content will not be sanitized!* You should use this directive only if
- * {@link ngSanitize.directive:ngBindHtml ngBindHtml} directive is too
- * restrictive and when you absolutely trust the source of the content you are binding to.
+ * element in a secure way. By default, the innerHTML-ed content will be sanitized using the {@link
+ * ngSanitize.$sanitize $sanitize} service. To utilize this functionality, ensure that `$sanitize`
+ * is available, for example, by including {@link ngSanitize} in your module's dependencies (not in
+ * core Angular.) You may also bypass sanitization for values you know are safe. To do so, bind to
+ * an explicitly trusted value via {@link ng.$sce#trustAsHtml $sce.trustAsHtml}. See the example
+ * under {@link ng.$sce#Example Strict Contextual Escaping (SCE)}.
*
- * See {@link ngSanitize.$sanitize $sanitize} docs for examples.
+ * Note: If a `$sanitize` service is unavailable and the bound value isn't explicitly trusted, you
+ * will have an exception (instead of an exploit.)
*
* @element ANY
- * @param {expression} ngBindHtmlUnsafe {@link guide/expression Expression} to evaluate.
+ * @param {expression} ngBindHtml {@link guide/expression Expression} to evaluate.
*/
-var ngBindHtmlUnsafeDirective = [function() {
+var ngBindHtmlDirective = ['$sce', function($sce) {
return function(scope, element, attr) {
- element.addClass('ng-binding').data('$binding', attr.ngBindHtmlUnsafe);
- scope.$watch(attr.ngBindHtmlUnsafe, function ngBindHtmlUnsafeWatchAction(value) {
+ element.addClass('ng-binding').data('$binding', attr.ngBindHtml);
+ scope.$watch($sce.parseAsHtml(attr.ngBindHtml), function ngBindHtmlWatchAction(value) {
element.html(value || '');
});
};
@@ -13846,59 +14787,71 @@
function classDirective(name, selector) {
name = 'ngClass' + name;
- return ngDirective(function(scope, element, attr) {
- var oldVal = undefined;
+ return function() {
+ return {
+ restrict: 'AC',
+ link: function(scope, element, attr) {
+ var oldVal = undefined;
- scope.$watch(attr[name], ngClassWatchAction, true);
+ scope.$watch(attr[name], ngClassWatchAction, true);
- attr.$observe('class', function(value) {
- var ngClass = scope.$eval(attr[name]);
- ngClassWatchAction(ngClass, ngClass);
- });
+ attr.$observe('class', function(value) {
+ ngClassWatchAction(scope.$eval(attr[name]));
+ });
- if (name !== 'ngClass') {
- scope.$watch('$index', function($index, old$index) {
- var mod = $index & 1;
- if (mod !== old$index & 1) {
- if (mod === selector) {
- addClass(scope.$eval(attr[name]));
- } else {
- removeClass(scope.$eval(attr[name]));
+ if (name !== 'ngClass') {
+ scope.$watch('$index', function($index, old$index) {
+ var mod = $index & 1;
+ if (mod !== old$index & 1) {
+ if (mod === selector) {
+ addClass(scope.$eval(attr[name]));
+ } else {
+ removeClass(scope.$eval(attr[name]));
+ }
+ }
+ });
+ }
+
+
+ function ngClassWatchAction(newVal) {
+ if (selector === true || scope.$index % 2 === selector) {
+ if (oldVal && !equals(newVal,oldVal)) {
+ removeClass(oldVal);
+ }
+ addClass(newVal);
}
+ oldVal = copy(newVal);
}
- });
- }
- function ngClassWatchAction(newVal) {
- if (selector === true || scope.$index % 2 === selector) {
- if (oldVal && !equals(newVal,oldVal)) {
- removeClass(oldVal);
+ function removeClass(classVal) {
+ attr.$removeClass(flattenClasses(classVal));
}
- addClass(newVal);
- }
- oldVal = copy(newVal);
- }
- function removeClass(classVal) {
- if (isObject(classVal) && !isArray(classVal)) {
- classVal = map(classVal, function(v, k) { if (v) return k });
- }
- element.removeClass(isArray(classVal) ? classVal.join(' ') : classVal);
- }
+ function addClass(classVal) {
+ attr.$addClass(flattenClasses(classVal));
+ }
+ function flattenClasses(classVal) {
+ if(isArray(classVal)) {
+ return classVal.join(' ');
+ } else if (isObject(classVal)) {
+ var classes = [], i = 0;
+ forEach(classVal, function(v, k) {
+ if (v) {
+ classes.push(k);
+ }
+ });
+ return classes.join(' ');
+ }
- function addClass(classVal) {
- if (isObject(classVal) && !isArray(classVal)) {
- classVal = map(classVal, function(v, k) { if (v) return k });
+ return classVal;
+ };
}
- if (classVal) {
- element.addClass(isArray(classVal) ? classVal.join(' ') : classVal);
- }
- }
- });
+ };
+ };
}
/**
@@ -13906,31 +14859,110 @@
* @name ng.directive:ngClass
*
* @description
- * The `ngClass` allows you to set CSS class on HTML element dynamically by databinding an
- * expression that represents all classes to be added.
+ * The `ngClass` allows you to set CSS classes on HTML an element, dynamically, by databinding
+ * an expression that represents all classes to be added.
*
* The directive won't add duplicate classes if a particular class was already set.
*
* When the expression changes, the previously added classes are removed and only then the
* new classes are added.
*
+ * @animations
+ * add - happens just before the class is applied to the element
+ * remove - happens just before the class is removed from the element
+ *
* @element ANY
* @param {expression} ngClass {@link guide/expression Expression} to eval. The result
* of the evaluation can be a string representing space delimited class
- * names, an array, or a map of class names to boolean values.
+ * names, an array, or a map of class names to boolean values. In the case of a map, the
+ * names of the properties whose values are truthy will be added as css classes to the
+ * element.
*
- * @example
+ * @example Example that demostrates basic bindings via ngClass directive.
<example>
<file name="index.html">
+ <p ng-class="{strike: strike, bold: bold, red: red}">Map Syntax Example</p>
+ <input type="checkbox" ng-model="bold"> bold
+ <input type="checkbox" ng-model="strike"> strike
+ <input type="checkbox" ng-model="red"> red
+ <hr>
+ <p ng-class="style">Using String Syntax</p>
+ <input type="text" ng-model="style" placeholder="Type: bold strike red">
+ <hr>
+ <p ng-class="[style1, style2, style3]">Using Array Syntax</p>
+ <input ng-model="style1" placeholder="Type: bold"><br>
+ <input ng-model="style2" placeholder="Type: strike"><br>
+ <input ng-model="style3" placeholder="Type: red"><br>
+ </file>
+ <file name="style.css">
+ .strike {
+ text-decoration: line-through;
+ }
+ .bold {
+ font-weight: bold;
+ }
+ .red {
+ color: red;
+ }
+ </file>
+ <file name="scenario.js">
+ it('should let you toggle the class', function() {
+
+ expect(element('.doc-example-live p:first').prop('className')).not().toMatch(/bold/);
+ expect(element('.doc-example-live p:first').prop('className')).not().toMatch(/red/);
+
+ input('bold').check();
+ expect(element('.doc-example-live p:first').prop('className')).toMatch(/bold/);
+
+ input('red').check();
+ expect(element('.doc-example-live p:first').prop('className')).toMatch(/red/);
+ });
+
+ it('should let you toggle string example', function() {
+ expect(element('.doc-example-live p:nth-of-type(2)').prop('className')).toBe('');
+ input('style').enter('red');
+ expect(element('.doc-example-live p:nth-of-type(2)').prop('className')).toBe('red');
+ });
+
+ it('array example should have 3 classes', function() {
+ expect(element('.doc-example-live p:last').prop('className')).toBe('');
+ input('style1').enter('bold');
+ input('style2').enter('strike');
+ input('style3').enter('red');
+ expect(element('.doc-example-live p:last').prop('className')).toBe('bold strike red');
+ });
+ </file>
+ </example>
+
+ ## Animations
+
+ Example that demostrates how addition and removal of classes can be animated.
+
+ <example animations="true">
+ <file name="index.html">
<input type="button" value="set" ng-click="myVar='my-class'">
<input type="button" value="clear" ng-click="myVar=''">
<br>
<span ng-class="myVar">Sample Text</span>
</file>
<file name="style.css">
- .my-class {
+ .my-class-add, .my-class-remove {
+ -webkit-transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 0.5s;
+ -moz-transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 0.5s;
+ -o-transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 0.5s;
+ transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 0.5s;
+ }
+
+ .my-class,
+ .my-class-add.my-class-add-active {
color: red;
+ font-size:3em;
}
+
+ .my-class-remove.my-class-remove-active {
+ font-size:1.0em;
+ color:black;
+ }
</file>
<file name="scenario.js">
it('should check ng-class', function() {
@@ -14063,7 +15095,7 @@
*
* <pre>
* [ng\:cloak], [ng-cloak], [data-ng-cloak], [x-ng-cloak], .ng-cloak, .x-ng-cloak {
- * display: none;
+ * display: none !important;
* }
* </pre>
*
@@ -14121,7 +15153,7 @@
* * Controller — The `ngController` directive specifies a Controller class; the class has
* methods that typically express the business logic behind the application.
*
- * Note that an alternative way to define controllers is via the {@link ng.$route $route} service.
+ * Note that an alternative way to define controllers is via the {@link ngRoute.$route $route} service.
*
* @element ANY
* @scope
@@ -14141,32 +15173,32 @@
<doc:example>
<doc:source>
<script>
- function SettingsController() {
+ function SettingsController1() {
this.name = "John Smith";
this.contacts = [
{type: 'phone', value: '408 555 1212'},
{type: 'email', value: 'john.smith(a)example.org'} ];
};
- SettingsController.prototype.greet = function() {
+ SettingsController1.prototype.greet = function() {
alert(this.name);
};
- SettingsController.prototype.addContact = function() {
+ SettingsController1.prototype.addContact = function() {
this.contacts.push({type: 'email', value: 'yourname(a)example.org'});
};
- SettingsController.prototype.removeContact = function(contactToRemove) {
+ SettingsController1.prototype.removeContact = function(contactToRemove) {
var index = this.contacts.indexOf(contactToRemove);
this.contacts.splice(index, 1);
};
- SettingsController.prototype.clearContact = function(contact) {
+ SettingsController1.prototype.clearContact = function(contact) {
contact.type = 'phone';
contact.value = '';
};
</script>
- <div ng-controller="SettingsController as settings">
+ <div id="ctrl-as-exmpl" ng-controller="SettingsController1 as settings">
Name: <input type="text" ng-model="settings.name"/>
[ <a href="" ng-click="settings.greet()">greet</a> ]<br/>
Contact:
@@ -14185,29 +15217,26 @@
</div>
</doc:source>
<doc:scenario>
- it('should check controller', function() {
- expect(element('.doc-example-live div>:input').val()).toBe('John Smith');
- expect(element('.doc-example-live li:nth-child(1) input').val())
+ it('should check controller as', function() {
+ expect(element('#ctrl-as-exmpl>:input').val()).toBe('John Smith');
+ expect(element('#ctrl-as-exmpl li:nth-child(1) input').val())
.toBe('408 555 1212');
- expect(element('.doc-example-live li:nth-child(2) input').val())
+ expect(element('#ctrl-as-exmpl li:nth-child(2) input').val())
.toBe('john.smith(a)example.org');
- element('.doc-example-live li:first a:contains("clear")').click();
- expect(element('.doc-example-live li:first input').val()).toBe('');
+ element('#ctrl-as-exmpl li:first a:contains("clear")').click();
+ expect(element('#ctrl-as-exmpl li:first input').val()).toBe('');
- element('.doc-example-live li:last a:contains("add")').click();
- expect(element('.doc-example-live li:nth-child(3) input').val())
+ element('#ctrl-as-exmpl li:last a:contains("add")').click();
+ expect(element('#ctrl-as-exmpl li:nth-child(3) input').val())
.toBe('yourname(a)example.org');
});
</doc:scenario>
</doc:example>
-
-
-
<doc:example>
<doc:source>
<script>
- function SettingsController($scope) {
+ function SettingsController2($scope) {
$scope.name = "John Smith";
$scope.contacts = [
{type:'phone', value:'408 555 1212'},
@@ -14232,7 +15261,7 @@
};
}
</script>
- <div ng-controller="SettingsController">
+ <div id="ctrl-exmpl" ng-controller="SettingsController2">
Name: <input type="text" ng-model="name"/>
[ <a href="" ng-click="greet()">greet</a> ]<br/>
Contact:
@@ -14252,17 +15281,17 @@
</doc:source>
<doc:scenario>
it('should check controller', function() {
- expect(element('.doc-example-live div>:input').val()).toBe('John Smith');
- expect(element('.doc-example-live li:nth-child(1) input').val())
+ expect(element('#ctrl-exmpl>:input').val()).toBe('John Smith');
+ expect(element('#ctrl-exmpl li:nth-child(1) input').val())
.toBe('408 555 1212');
- expect(element('.doc-example-live li:nth-child(2) input').val())
+ expect(element('#ctrl-exmpl li:nth-child(2) input').val())
.toBe('john.smith(a)example.org');
- element('.doc-example-live li:first a:contains("clear")').click();
- expect(element('.doc-example-live li:first input').val()).toBe('');
+ element('#ctrl-exmpl li:first a:contains("clear")').click();
+ expect(element('#ctrl-exmpl li:first input').val()).toBe('');
- element('.doc-example-live li:last a:contains("add")').click();
- expect(element('.doc-example-live li:nth-child(3) input').val())
+ element('#ctrl-exmpl li:last a:contains("add")').click();
+ expect(element('#ctrl-exmpl li:nth-child(3) input').val())
.toBe('yourname(a)example.org');
});
</doc:scenario>
@@ -14355,13 +15384,13 @@
*/
var ngEventDirectives = {};
forEach(
- 'click dblclick mousedown mouseup mouseover mouseout mousemove mouseenter mouseleave keydown keyup keypress'.split(' '),
+ 'click dblclick mousedown mouseup mouseover mouseout mousemove mouseenter mouseleave keydown keyup keypress submit focus blur'.split(' '),
function(name) {
var directiveName = directiveNormalize('ng-' + name);
ngEventDirectives[directiveName] = ['$parse', function($parse) {
return function(scope, element, attr) {
var fn = $parse(attr[directiveName]);
- element.bind(lowercase(name), function(event) {
+ element.on(lowercase(name), function(event) {
scope.$apply(function() {
fn(scope, {$event:event});
});
@@ -14538,10 +15567,11 @@
* Enables binding angular expressions to onsubmit events.
*
* Additionally it prevents the default action (which for form means sending the request to the
- * server and reloading the current page).
+ * server and reloading the current page) **but only if the form does not contain an `action`
+ * attribute**.
*
* @element form
- * @param {expression} ngSubmit {@link guide/expression Expression} to eval.
+ * @param {expression} ngSubmit {@link guide/expression Expression} to eval. (Event object is available as `$event`)
*
* @example
<doc:example>
@@ -14581,14 +15611,39 @@
</doc:scenario>
</doc:example>
*/
-var ngSubmitDirective = ngDirective(function(scope, element, attrs) {
- element.bind('submit', function() {
- scope.$apply(attrs.ngSubmit);
- });
-});
/**
* @ngdoc directive
+ * @name ng.directive:ngFocus
+ *
+ * @description
+ * Specify custom behavior on focus event.
+ *
+ * @element window, input, select, textarea, a
+ * @param {expression} ngFocus {@link guide/expression Expression} to evaluate upon
+ * focus. (Event object is available as `$event`)
+ *
+ * @example
+ * See {@link ng.directive:ngClick ngClick}
+ */
+
+/**
+ * @ngdoc directive
+ * @name ng.directive:ngBlur
+ *
+ * @description
+ * Specify custom behavior on blur event.
+ *
+ * @element window, input, select, textarea, a
+ * @param {expression} ngBlur {@link guide/expression Expression} to evaluate upon
+ * blur. (Event object is available as `$event`)
+ *
+ * @example
+ * See {@link ng.directive:ngClick ngClick}
+ */
+
+/**
+ * @ngdoc directive
* @name ng.directive:ngIf
* @restrict A
*
@@ -14617,7 +15672,7 @@
* jQuery's `.addClass()` method, and the element is later removed. When `ngIf` recreates the element
* the added class will be lost because the original compiled state is used to regenerate the element.
*
- * Additionally, you can provide animations via the ngAnimate attribute to animate the **enter**
+ * Additionally, you can provide animations via the ngAnimate module to animate the **enter**
* and **leave** effects.
*
* @animations
@@ -14634,36 +15689,37 @@
<file name="index.html">
Click me: <input type="checkbox" ng-model="checked" ng-init="checked=true" /><br/>
Show when checked:
- <span ng-if="checked" ng-animate="'example'">
+ <span ng-if="checked" class="animate-if">
I'm removed when the checkbox is unchecked.
</span>
</file>
<file name="animations.css">
- .example-leave, .example-enter {
+ .animate-if {
+ background:white;
+ border:1px solid black;
+ padding:10px;
+ }
+
+ .animate-if.ng-enter, .animate-if.ng-leave {
-webkit-transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 0.5s;
-moz-transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 0.5s;
- -ms-transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 0.5s;
-o-transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 0.5s;
transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 0.5s;
}
- .example-enter {
+ .animate-if.ng-enter,
+ .animate-if.ng-leave.ng-leave-active {
opacity:0;
}
- .example-enter.example-enter-active {
- opacity:1;
- }
- .example-leave {
+ .animate-if.ng-enter.ng-enter-active,
+ .animate-if.ng-leave {
opacity:1;
}
- .example-leave.example-leave-active {
- opacity:0;
- }
</file>
</example>
*/
-var ngIfDirective = ['$animator', function($animator) {
+var ngIfDirective = ['$animate', function($animate) {
return {
transclude: 'element',
priority: 1000,
@@ -14671,11 +15727,10 @@
restrict: 'A',
compile: function (element, attr, transclude) {
return function ($scope, $element, $attr) {
- var animate = $animator($scope, $attr);
var childElement, childScope;
$scope.$watch($attr.ngIf, function ngIfWatchAction(value) {
if (childElement) {
- animate.leave(childElement);
+ $animate.leave(childElement);
childElement = undefined;
}
if (childScope) {
@@ -14686,7 +15741,7 @@
childScope = $scope.$new();
transclude(childScope, function (clone) {
childElement = clone;
- animate.enter(clone, $element.parent(), $element);
+ $animate.enter(clone, $element.parent(), $element);
});
}
});
@@ -14703,17 +15758,27 @@
* @description
* Fetches, compiles and includes an external HTML fragment.
*
- * Keep in mind that Same Origin Policy applies to included resources
- * (e.g. ngInclude won't work for cross-domain requests on all browsers and for
- * file:// access on some browsers).
+ * Keep in mind that:
*
- * Additionally, you can also provide animations via the ngAnimate attribute to animate the **enter**
- * and **leave** effects.
+ * - by default, the template URL is restricted to the same domain and protocol as the
+ * application document. This is done by calling {@link ng.$sce#getTrustedResourceUrl
+ * $sce.getTrustedResourceUrl} on it. To load templates from other domains and/or protocols,
+ * you may either either {@link ng.$sceDelegateProvider#resourceUrlWhitelist whitelist them} or
+ * {@link ng.$sce#trustAsResourceUrl wrap it} into a trusted value. Refer Angular's {@link
+ * ng.$sce Strict Contextual Escaping}.
+ * - in addition, the browser's
+ * {@link https://code.google.com/p/browsersec/wiki/Part2#Same-origin_policy_for_XMLH…
+ * Same Origin Policy} and {@link http://www.w3.org/TR/cors/ Cross-Origin Resource Sharing
+ * (CORS)} policy apply that may further restrict whether the template is successfully loaded.
+ * (e.g. ngInclude won't work for cross-domain requests on all browsers and for `file://`
+ * access on some browsers)
*
* @animations
- * enter - happens just after the ngInclude contents change and a new DOM element is created and injected into the ngInclude container
- * leave - happens just after the ngInclude contents change and just before the former contents are removed from the DOM
+ * enter - animation is used to bring new content into the browser.
+ * leave - animation is used to animate existing content away.
*
+ * The enter and leave animation occur concurrently.
+ *
* @scope
*
* @param {string} ngInclude|src angular expression evaluating to URL. If the source is a string constant,
@@ -14736,9 +15801,9 @@
</select>
url of the template: <tt>{{template.url}}</tt>
<hr/>
- <div class="example-animate-container"
- ng-include="template.url"
- ng-animate="{enter: 'example-enter', leave: 'example-leave'}"></div>
+ <div class="example-animate-container">
+ <div class="include-example" ng-include="template.url"></div>
+ </div>
</div>
</file>
<file name="script.js">
@@ -14750,17 +15815,27 @@
}
</file>
<file name="template1.html">
- <div>Content of template1.html</div>
+ Content of template1.html
</file>
<file name="template2.html">
- <div>Content of template2.html</div>
+ Content of template2.html
</file>
<file name="animations.css">
- .example-leave,
- .example-enter {
+ .example-animate-container {
+ position:relative;
+ background:white;
+ border:1px solid black;
+ height:40px;
+ overflow:hidden;
+ }
+
+ .example-animate-container > div {
+ padding:10px;
+ }
+
+ .include-example.ng-enter, .include-example.ng-leave {
-webkit-transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 0.5s;
-moz-transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 0.5s;
- -ms-transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 0.5s;
-o-transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 0.5s;
transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 0.5s;
@@ -14769,24 +15844,21 @@
left:0;
right:0;
bottom:0;
- }
-
- .example-animate-container > * {
display:block;
padding:10px;
}
- .example-enter {
+ .include-example.ng-enter {
top:-50px;
}
- .example-enter.example-enter-active {
+ .include-example.ng-enter.ng-enter-active {
top:0;
}
- .example-leave {
+ .include-example.ng-leave {
top:0;
}
- .example-leave.example-leave-active {
+ .include-example.ng-leave.ng-leave-active {
top:50px;
}
</file>
@@ -14802,7 +15874,7 @@
});
it('should change to blank', function() {
select('template').option('');
- expect(element('.doc-example-live [ng-include]').text()).toEqual('');
+ expect(element('.doc-example-live [ng-include]')).toBe(undefined);
});
</file>
</example>
@@ -14827,57 +15899,67 @@
* @description
* Emitted every time the ngInclude content is reloaded.
*/
-var ngIncludeDirective = ['$http', '$templateCache', '$anchorScroll', '$compile', '$animator',
- function($http, $templateCache, $anchorScroll, $compile, $animator) {
+var NG_INCLUDE_PRIORITY = 500;
+var ngIncludeDirective = ['$http', '$templateCache', '$anchorScroll', '$compile', '$animate', '$sce',
+ function($http, $templateCache, $anchorScroll, $compile, $animate, $sce) {
return {
restrict: 'ECA',
terminal: true,
+ priority: NG_INCLUDE_PRIORITY,
compile: function(element, attr) {
var srcExp = attr.ngInclude || attr.src,
onloadExp = attr.onload || '',
autoScrollExp = attr.autoscroll;
- return function(scope, element, attr) {
- var animate = $animator(scope, attr);
+ element.html('');
+ var anchor = jqLite(document.createComment(' ngInclude: ' + srcExp + ' '));
+ element.replaceWith(anchor);
+
+ return function(scope) {
var changeCounter = 0,
- childScope;
+ currentScope,
+ currentElement;
- var clearContent = function() {
- if (childScope) {
- childScope.$destroy();
- childScope = null;
+ var cleanupLastIncludeContent = function() {
+ if (currentScope) {
+ currentScope.$destroy();
+ currentScope = null;
}
- animate.leave(element.contents(), element);
+ if(currentElement) {
+ $animate.leave(currentElement);
+ currentElement = null;
+ }
};
- scope.$watch(srcExp, function ngIncludeWatchAction(src) {
+ scope.$watch($sce.parseAsResourceUrl(srcExp), function ngIncludeWatchAction(src) {
var thisChangeId = ++changeCounter;
if (src) {
$http.get(src, {cache: $templateCache}).success(function(response) {
if (thisChangeId !== changeCounter) return;
+ var newScope = scope.$new();
- if (childScope) childScope.$destroy();
- childScope = scope.$new();
- animate.leave(element.contents(), element);
+ cleanupLastIncludeContent();
- var contents = jqLite('<div/>').html(response).contents();
+ currentScope = newScope;
+ currentElement = element.clone();
+ currentElement.html(response);
+ $animate.enter(currentElement, null, anchor);
- animate.enter(contents, element);
- $compile(contents)(childScope);
+ $compile(currentElement, false, NG_INCLUDE_PRIORITY - 1)(currentScope);
if (isDefined(autoScrollExp) && (!autoScrollExp || scope.$eval(autoScrollExp))) {
$anchorScroll();
}
- childScope.$emit('$includeContentLoaded');
+ currentScope.$emit('$includeContentLoaded');
scope.$eval(onloadExp);
}).error(function() {
- if (thisChangeId === changeCounter) clearContent();
+ if (thisChangeId === changeCounter) cleanupLastIncludeContent();
});
scope.$emit('$includeContentRequested');
} else {
- clearContent();
+ cleanupLastIncludeContent();
}
});
};
@@ -14961,7 +16043,7 @@
* @description
* # Overview
* `ngPluralize` is a directive that displays messages according to en-US localization rules.
- * These rules are bundled with angular.js and the rules can be overridden
+ * These rules are bundled with angular.js, but can be overridden
* (see {@link guide/i18n Angular i18n} dev guide). You configure ngPluralize directive
* by specifying the mappings between
* {@link http://unicode.org/repos/cldr-tmp/trunk/diff/supplemental/language_plural_r…
@@ -14974,8 +16056,8 @@
*
* While a plural category may match many numbers (for example, in en-US locale, "other" can match
* any number that is not 1), an explicit number rule can only match one number. For example, the
- * explicit number rule for "3" matches the number 3. You will see the use of plural categories
- * and explicit number rules throughout later parts of this documentation.
+ * explicit number rule for "3" matches the number 3. There are examples of plural categories
+ * and explicit number rules throughout the rest of this documentation.
*
* # Configuring ngPluralize
* You configure ngPluralize by providing 2 attributes: `count` and `when`.
@@ -14985,8 +16067,7 @@
* Angular expression}; these are evaluated on the current scope for its bound value.
*
* The `when` attribute specifies the mappings between plural categories and the actual
- * string to be displayed. The value of the attribute should be a JSON object so that Angular
- * can interpret it correctly.
+ * string to be displayed. The value of the attribute should be a JSON object.
*
* The following example shows how to configure ngPluralize:
*
@@ -15128,13 +16209,20 @@
restrict: 'EA',
link: function(scope, element, attr) {
var numberExp = attr.count,
- whenExp = element.attr(attr.$attr.when), // this is because we have {{}} in attrs
+ whenExp = attr.$attr.when && element.attr(attr.$attr.when), // we have {{}} in attrs
offset = attr.offset || 0,
- whens = scope.$eval(whenExp),
+ whens = scope.$eval(whenExp) || {},
whensExpFns = {},
startSymbol = $interpolate.startSymbol(),
- endSymbol = $interpolate.endSymbol();
+ endSymbol = $interpolate.endSymbol(),
+ isWhen = /^when(Minus)?(.+)$/;
+ forEach(attr, function(expression, attributeName) {
+ if (isWhen.test(attributeName)) {
+ whens[lowercase(attributeName.replace('when', '').replace('Minus', '-'))] =
+ element.attr(attr.$attr[attributeName]);
+ }
+ });
forEach(whens, function(expression, key) {
whensExpFns[key] =
$interpolate(expression.replace(BRACE, startSymbol + numberExp + '-' +
@@ -15170,14 +16258,60 @@
*
* Special properties are exposed on the local scope of each template instance, including:
*
- * * `$index` – `{number}` – iterator offset of the repeated element (0..length-1)
- * * `$first` – `{boolean}` – true if the repeated element is first in the iterator.
- * * `$middle` – `{boolean}` – true if the repeated element is between the first and last in the iterator.
- * * `$last` – `{boolean}` – true if the repeated element is last in the iterator.
+ * | Variable | Type | Details |
+ * |-----------|-----------------|-----------------------------------------------------------------------------|
+ * | `$index` | {@type number} | iterator offset of the repeated element (0..length-1) |
+ * | `$first` | {@type boolean} | true if the repeated element is first in the iterator. |
+ * | `$middle` | {@type boolean} | true if the repeated element is between the first and last in the iterator. |
+ * | `$last` | {@type boolean} | true if the repeated element is last in the iterator. |
+ * | `$even` | {@type boolean} | true if the iterator position `$index` is even (otherwise false). |
+ * | `$odd` | {@type boolean} | true if the iterator position `$index` is odd (otherwise false). |
*
- * Additionally, you can also provide animations via the ngAnimate attribute to animate the **enter**,
- * **leave** and **move** effects.
*
+ * # Special repeat start and end points
+ * To repeat a series of elements instead of just one parent element, ngRepeat (as well as other ng directives) supports extending
+ * the range of the repeater by defining explicit start and end points by using **ng-repeat-start** and **ng-repeat-end** respectively.
+ * The **ng-repeat-start** directive works the same as **ng-repeat**, but will repeat all the HTML code (including the tag it's defined on)
+ * up to and including the ending HTML tag where **ng-repeat-end** is placed.
+ *
+ * The example below makes use of this feature:
+ * <pre>
+ * <header ng-repeat-start="item in items">
+ * Header {{ item }}
+ * </header>
+ * <div class="body">
+ * Body {{ item }}
+ * </div>
+ * <footer ng-repeat-end>
+ * Footer {{ item }}
+ * </footer>
+ * </pre>
+ *
+ * And with an input of {@type ['A','B']} for the items variable in the example above, the output will evaluate to:
+ * <pre>
+ * <header>
+ * Header A
+ * </header>
+ * <div class="body">
+ * Body A
+ * </div>
+ * <footer>
+ * Footer A
+ * </footer>
+ * <header>
+ * Header B
+ * </header>
+ * <div class="body">
+ * Body B
+ * </div>
+ * <footer>
+ * Footer B
+ * </footer>
+ * </pre>
+ *
+ * The custom start and end points for ngRepeat also support all other HTML directive syntax flavors provided in AngularJS (such
+ * as **data-ng-repeat-start**, **x-ng-repeat-start** and **ng:repeat-start**).
+ *
* @animations
* enter - when a new item is added to the list or when an item is revealed after a filter
* leave - when an item is removed from the list or when an item is filtered out
@@ -15192,7 +16326,7 @@
* * `variable in expression` – where variable is the user defined loop variable and `expression`
* is a scope expression giving the collection to enumerate.
*
- * For example: `track in cd.tracks`.
+ * For example: `album in artist.albums`.
*
* * `(key, value) in expression` – where `key` and `value` can be any user defined identifiers,
* and `expression` is the scope expression giving the collection to enumerate.
@@ -15200,10 +16334,11 @@
* For example: `(name, age) in {'adam':10, 'amalie':12}`.
*
* * `variable in expression track by tracking_expression` – You can also provide an optional tracking function
- * which can be used to associate the objects in the collection with the DOM elements. If no tractking function
+ * which can be used to associate the objects in the collection with the DOM elements. If no tracking function
* is specified the ng-repeat associates elements by identity in the collection. It is an error to have
- * more then one tractking function to resolve to the same key. (This would mean that two distinct objects are
- * mapped to the same DOM element, which is not possible.)
+ * more than one tracking function to resolve to the same key. (This would mean that two distinct objects are
+ * mapped to the same DOM element, which is not possible.) Filters should be applied to the expression,
+ * before specifying a tracking expression.
*
* For example: `item in items` is equivalent to `item in items track by $id(item)'. This implies that the DOM elements
* will be associated by item identity in the array.
@@ -15213,10 +16348,13 @@
* with the corresponding item in the array by identity. Moving the same object in array would move the DOM
* element in the same way ian the DOM.
*
- * For example: `item in items track by item.id` Is a typical pattern when the items come from the database. In this
+ * For example: `item in items track by item.id` is a typical pattern when the items come from the database. In this
* case the object identity does not matter. Two objects are considered equivalent as long as their `id`
* property is same.
*
+ * For example: `item in items | filter:searchText track by item.id` is a pattern that might be used to apply a filter
+ * to items in conjunction with a tracking expression.
+ *
* @example
* This example initializes the scope to a list of names and
* then uses `ngRepeat` to display every person:
@@ -15236,47 +16374,62 @@
]">
I have {{friends.length}} friends. They are:
<input type="search" ng-model="q" placeholder="filter friends..." />
- <ul>
- <li ng-repeat="friend in friends | filter:q"
- ng-animate="{enter: 'example-repeat-enter',
- leave: 'example-repeat-leave',
- move: 'example-repeat-move'}">
+ <ul class="example-animate-container">
+ <li class="animate-repeat" ng-repeat="friend in friends | filter:q">
[{{$index + 1}}] {{friend.name}} who is {{friend.age}} years old.
</li>
</ul>
</div>
</file>
<file name="animations.css">
- .example-repeat-enter,
- .example-repeat-leave,
- .example-repeat-move {
+ .example-animate-container {
+ background:white;
+ border:1px solid black;
+ list-style:none;
+ margin:0;
+ padding:0;
+ }
+
+ .example-animate-container > li {
+ padding:10px;
+ list-style:none;
+ }
+
+ .animate-repeat.ng-enter,
+ .animate-repeat.ng-leave,
+ .animate-repeat.ng-move {
-webkit-transition:all linear 0.5s;
-moz-transition:all linear 0.5s;
- -ms-transition:all linear 0.5s;
-o-transition:all linear 0.5s;
transition:all linear 0.5s;
}
- .example-repeat-enter {
+ .animate-repeat.ng-enter {
line-height:0;
opacity:0;
+ padding-top:0;
+ padding-bottom:0;
}
- .example-repeat-enter.example-repeat-enter-active {
+ .animate-repeat.ng-enter.ng-enter-active {
line-height:20px;
opacity:1;
+ padding:10px;
}
- .example-repeat-leave {
+ .animate-repeat.ng-leave {
opacity:1;
line-height:20px;
+ padding:10px;
}
- .example-repeat-leave.example-repeat-leave-active {
+ .animate-repeat.ng-leave.ng-leave-active {
opacity:0;
line-height:0;
+ padding-top:0;
+ padding-bottom:0;
}
- .example-repeat-move { }
- .example-repeat-move.example-repeat-move-active { }
+ .animate-repeat.ng-move { }
+ .animate-repeat.ng-move.ng-move-active { }
</file>
<file name="scenario.js">
it('should render initial data set', function() {
@@ -15301,23 +16454,23 @@
</file>
</example>
*/
-var ngRepeatDirective = ['$parse', '$animator', function($parse, $animator) {
+var ngRepeatDirective = ['$parse', '$animate', function($parse, $animate) {
var NG_REMOVED = '$$NG_REMOVED';
+ var ngRepeatMinErr = minErr('ngRepeat');
return {
transclude: 'element',
priority: 1000,
terminal: true,
compile: function(element, attr, linker) {
return function($scope, $element, $attr){
- var animate = $animator($scope, $attr);
var expression = $attr.ngRepeat;
var match = expression.match(/^\s*(.+)\s+in\s+(.*?)\s*(\s+track\s+by\s+(.+)\s*)?$/),
- trackByExp, trackByExpGetter, trackByIdFn, lhs, rhs, valueIdentifier, keyIdentifier,
+ trackByExp, trackByExpGetter, trackByIdFn, trackByIdArrayFn, trackByIdObjFn, lhs, rhs, valueIdentifier, keyIdentifier,
hashFnLocals = {$id: hashKey};
if (!match) {
- throw Error("Expected ngRepeat in form of '_item_ in _collection_[ track by _id_]' but got '" +
- expression + "'.");
+ throw ngRepeatMinErr('iexp', "Expected expression in form of '_item_ in _collection_[ track by _id_]' but got '{0}'.",
+ expression);
}
lhs = match[1];
@@ -15334,15 +16487,18 @@
return trackByExpGetter($scope, hashFnLocals);
};
} else {
- trackByIdFn = function(key, value) {
+ trackByIdArrayFn = function(key, value) {
return hashKey(value);
}
+ trackByIdObjFn = function(key) {
+ return key;
+ }
}
match = lhs.match(/^(?:([\$\w]+)|\(([\$\w]+)\s*,\s*([\$\w]+)\))$/);
if (!match) {
- throw Error("'item' in 'item in collection' should be identifier or (key, value) but got '" +
- lhs + "'.");
+ throw ngRepeatMinErr('iidexp', "'_item_' in '_item_ in _collection_' should be an identifier or '(_key_, _value_)' expression, but got '{0}'.",
+ lhs);
}
valueIdentifier = match[3] || match[1];
keyIdentifier = match[2];
@@ -15357,8 +16513,8 @@
//watch props
$scope.$watchCollection(rhs, function ngRepeatAction(collection){
var index, length,
- cursor = $element, // current position of the node
- nextCursor,
+ previousNode = $element[0], // current position of the node
+ nextNode,
// Same as lastBlockMap but it has the current state. It will become the
// lastBlockMap on the next iteration.
nextBlockMap = {},
@@ -15373,7 +16529,9 @@
if (isArrayLike(collection)) {
collectionKeys = collection;
+ trackByIdFn = trackByIdFn || trackByIdArrayFn;
} else {
+ trackByIdFn = trackByIdFn || trackByIdObjFn;
// if object, extract keys, sort them and use to determine order of iteration over obj props
collectionKeys = [];
for (key in collection) {
@@ -15400,11 +16558,11 @@
} else if (nextBlockMap.hasOwnProperty(trackById)) {
// restore lastBlockMap
forEach(nextBlockOrder, function(block) {
- if (block && block.element) lastBlockMap[block.id] = block;
+ if (block && block.startNode) lastBlockMap[block.id] = block;
});
// This is a duplicate and we need to throw an error
- throw new Error('Duplicates in a repeater are not allowed. Repeater: ' + expression +
- ' key: ' + trackById);
+ throw ngRepeatMinErr('dupes', "Duplicates in a repeater are not allowed. Use 'track by' expression to specify unique keys. Repeater: {0}, Duplicate key: {1}",
+ expression, trackById);
} else {
// new never before seen block
nextBlockOrder[index] = { id: trackById };
@@ -15416,8 +16574,8 @@
for (key in lastBlockMap) {
if (lastBlockMap.hasOwnProperty(key)) {
block = lastBlockMap[key];
- animate.leave(block.element);
- block.element[0][NG_REMOVED] = true;
+ $animate.leave(block.elements);
+ forEach(block.elements, function(element) { element[NG_REMOVED] = true});
block.scope.$destroy();
}
}
@@ -15428,24 +16586,23 @@
value = collection[key];
block = nextBlockOrder[index];
- if (block.element) {
+ if (block.startNode) {
// if we have already seen this object, then we need to reuse the
// associated scope/element
childScope = block.scope;
- nextCursor = cursor[0];
+ nextNode = previousNode;
do {
- nextCursor = nextCursor.nextSibling;
- } while(nextCursor && nextCursor[NG_REMOVED]);
+ nextNode = nextNode.nextSibling;
+ } while(nextNode && nextNode[NG_REMOVED]);
- if (block.element[0] == nextCursor) {
+ if (block.startNode == nextNode) {
// do nothing
- cursor = block.element;
} else {
// existing item which got moved
- animate.move(block.element, null, cursor);
- cursor = block.element;
+ $animate.move(block.elements, null, jqLite(previousNode));
}
+ previousNode = block.endNode;
} else {
// new item which we don't know about
childScope = $scope.$new();
@@ -15457,13 +16614,16 @@
childScope.$first = (index === 0);
childScope.$last = (index === (arrayLength - 1));
childScope.$middle = !(childScope.$first || childScope.$last);
+ childScope.$odd = !(childScope.$even = index%2==0);
- if (!block.element) {
+ if (!block.startNode) {
linker(childScope, function(clone) {
- animate.enter(clone, null, cursor);
- cursor = clone;
+ $animate.enter(clone, null, jqLite(previousNode));
+ previousNode = clone;
block.scope = childScope;
- block.element = clone;
+ block.startNode = clone[0];
+ block.elements = clone;
+ block.endNode = clone[clone.length - 1];
nextBlockMap[block.id] = block;
});
}
@@ -15480,19 +16640,77 @@
* @name ng.directive:ngShow
*
* @description
- * The `ngShow` and `ngHide` directives show or hide a portion of the DOM tree (HTML)
- * conditionally based on **"truthy"** values evaluated within an {expression}. In other
- * words, if the expression assigned to **ngShow evaluates to a true value** then **the element is set to visible**
- * (via `display:block` in css) and **if false** then **the element is set to hidden** (so display:none).
- * With ngHide this is the reverse whereas true values cause the element itself to become
- * hidden.
+ * The `ngShow` directive shows and hides the given HTML element conditionally based on the expression
+ * provided to the ngShow attribute. The show and hide mechanism is a achieved by removing and adding
+ * the `ng-hide` CSS class onto the element. The `.ng-hide` CSS class is a predefined CSS class present
+ * in AngularJS which sets the display style to none (using an !important flag).
*
- * Additionally, you can also provide animations via the ngAnimate attribute to animate the **show**
- * and **hide** effects.
+ * <pre>
+ * <!-- when $scope.myValue is truthy (element is visible) -->
+ * <div ng-show="myValue"></div>
*
+ * <!-- when $scope.myValue is falsy (element is hidden) -->
+ * <div ng-show="myValue" class="ng-hide"></div>
+ * </pre>
+ *
+ * When the ngShow expression evaluates to false then the ng-hide CSS class is added to the class attribute
+ * on the element causing it to become hidden. When true, the ng-hide CSS class is removed
+ * from the element causing the element not to appear hidden.
+ *
+ * ## Why is !important used?
+ *
+ * You may be wondering why !important is used for the .ng-hide CSS class. This is because the `.ng-hide` selector
+ * can be easily overridden by heavier selectors. For example, something as simple
+ * as changing the display style on a HTML list item would make hidden elements appear visible.
+ * This also becomes a bigger issue when dealing with CSS frameworks.
+ *
+ * By using !important, the show and hide behavior will work as expected despite any clash between CSS selector
+ * specificity (when !important isn't used with any conflicting styles). If a developer chooses to override the
+ * styling to change how to hide an element then it is just a matter of using !important in their own CSS code.
+ *
+ * ### Overriding .ng-hide
+ *
+ * If you wish to change the hide behavior with ngShow/ngHide then this can be achieved by
+ * restating the styles for the .ng-hide class in CSS:
+ * <pre>
+ * .ng-hide {
+ * //!annotate CSS Specificity|Not to worry, this will override the AngularJS default...
+ * display:block!important;
+ *
+ * //this is just another form of hiding an element
+ * position:absolute;
+ * top:-9999px;
+ * left:-9999px;
+ * }
+ * </pre>
+ *
+ * Just remember to include the important flag so the CSS override will function.
+ *
+ * ## A note about animations with ngShow
+ *
+ * Animations in ngShow/ngHide work with the show and hide events that are triggered when the directive expression
+ * is true and false. This system works similar to the animation system present with ngClass, however, the
+ * only difference is that you must also include the !important flag to override the display property so
+ * that you can perform an animation when the element is hidden during the time of the animation.
+ *
+ * <pre>
+ * //
+ * //a working example can be found at the bottom of this page
+ * //
+ * .my-element.ng-hide-add, .my-element.ng-hide-remove {
+ * transition:0.5s linear all;
+ * display:block!important;
+ * }
+ *
+ * .my-element.ng-hide-add { ... }
+ * .my-element.ng-hide-add.ng-hide-add-active { ... }
+ * .my-element.ng-hide-remove { ... }
+ * .my-element.ng-hide-remove.ng-hide-remove-active { ... }
+ * </pre>
+ *
* @animations
- * show - happens after the ngShow expression evaluates to a truthy value and the contents are set to visible
- * hide - happens before the ngShow expression evaluates to a non truthy value and just before the contents are set to hidden
+ * addClass: .ng-hide - happens after the ngShow expression evaluates to a truthy value and the just before contents are set to visible
+ * removeClass: .ng-hide - happens after the ngShow expression evaluates to a non truthy value and just before the contents are set to hidden
*
* @element ANY
* @param {expression} ngShow If the {@link guide/expression expression} is truthy
@@ -15504,55 +16722,42 @@
Click me: <input type="checkbox" ng-model="checked"><br/>
<div>
Show:
- <span class="check-element"
- ng-show="checked"
- ng-animate="{show: 'example-show', hide: 'example-hide'}">
+ <div class="check-element animate-show" ng-show="checked">
<span class="icon-thumbs-up"></span> I show up when your checkbox is checked.
- </span>
+ </div>
</div>
<div>
Hide:
- <span class="check-element"
- ng-hide="checked"
- ng-animate="{show: 'example-show', hide: 'example-hide'}">
+ <div class="check-element animate-show" ng-hide="checked">
<span class="icon-thumbs-down"></span> I hide when your checkbox is checked.
- </span>
+ </div>
</div>
</file>
<file name="animations.css">
- .example-show, .example-hide {
+ .animate-show.ng-hide-add,
+ .animate-show.ng-hide-remove {
-webkit-transition:all linear 0.5s;
-moz-transition:all linear 0.5s;
- -ms-transition:all linear 0.5s;
-o-transition:all linear 0.5s;
transition:all linear 0.5s;
+ display:block!important;
}
- .example-show {
+ .animate-show.ng-hide-add.ng-hide-add-active,
+ .animate-show.ng-hide-remove {
line-height:0;
opacity:0;
padding:0 10px;
}
- .example-show-active.example-show-active {
- line-height:20px;
- opacity:1;
- padding:10px;
- border:1px solid black;
- background:white;
- }
- .example-hide {
+ .animate-show.ng-hide-add,
+ .animate-show.ng-hide-remove.ng-hide-remove-active {
line-height:20px;
opacity:1;
padding:10px;
border:1px solid black;
background:white;
}
- .example-hide-active.example-hide-active {
- line-height:0;
- opacity:0;
- padding:0 10px;
- }
.check-element {
padding:10px;
@@ -15573,12 +16778,10 @@
</file>
</example>
*/
-//TODO(misko): refactor to remove element from the DOM
-var ngShowDirective = ['$animator', function($animator) {
+var ngShowDirective = ['$animate', function($animate) {
return function(scope, element, attr) {
- var animate = $animator(scope, attr);
scope.$watch(attr.ngShow, function ngShowWatchAction(value){
- animate[toBoolean(value) ? 'show' : 'hide'](element);
+ $animate[toBoolean(value) ? 'removeClass' : 'addClass'](element, 'ng-hide');
});
};
}];
@@ -15589,19 +16792,77 @@
* @name ng.directive:ngHide
*
* @description
- * The `ngShow` and `ngHide` directives show or hide a portion of the DOM tree (HTML)
- * conditionally based on **"truthy"** values evaluated within an {expression}. In other
- * words, if the expression assigned to **ngShow evaluates to a true value** then **the element is set to visible**
- * (via `display:block` in css) and **if false** then **the element is set to hidden** (so display:none).
- * With ngHide this is the reverse whereas true values cause the element itself to become
- * hidden.
+ * The `ngHide` directive shows and hides the given HTML element conditionally based on the expression
+ * provided to the ngHide attribute. The show and hide mechanism is a achieved by removing and adding
+ * the `ng-hide` CSS class onto the element. The `.ng-hide` CSS class is a predefined CSS class present
+ * in AngularJS which sets the display style to none (using an !important flag).
*
- * Additionally, you can also provide animations via the ngAnimate attribute to animate the **show**
- * and **hide** effects.
+ * <pre>
+ * <!-- when $scope.myValue is truthy (element is hidden) -->
+ * <div ng-hide="myValue"></div>
*
+ * <!-- when $scope.myValue is falsy (element is visible) -->
+ * <div ng-hide="myValue" class="ng-hide"></div>
+ * </pre>
+ *
+ * When the ngHide expression evaluates to true then the .ng-hide CSS class is added to the class attribute
+ * on the element causing it to become hidden. When false, the ng-hide CSS class is removed
+ * from the element causing the element not to appear hidden.
+ *
+ * ## Why is !important used?
+ *
+ * You may be wondering why !important is used for the .ng-hide CSS class. This is because the `.ng-hide` selector
+ * can be easily overridden by heavier selectors. For example, something as simple
+ * as changing the display style on a HTML list item would make hidden elements appear visible.
+ * This also becomes a bigger issue when dealing with CSS frameworks.
+ *
+ * By using !important, the show and hide behavior will work as expected despite any clash between CSS selector
+ * specificity (when !important isn't used with any conflicting styles). If a developer chooses to override the
+ * styling to change how to hide an element then it is just a matter of using !important in their own CSS code.
+ *
+ * ### Overriding .ng-hide
+ *
+ * If you wish to change the hide behavior with ngShow/ngHide then this can be achieved by
+ * restating the styles for the .ng-hide class in CSS:
+ * <pre>
+ * .ng-hide {
+ * //!annotate CSS Specificity|Not to worry, this will override the AngularJS default...
+ * display:block!important;
+ *
+ * //this is just another form of hiding an element
+ * position:absolute;
+ * top:-9999px;
+ * left:-9999px;
+ * }
+ * </pre>
+ *
+ * Just remember to include the important flag so the CSS override will function.
+ *
+ * ## A note about animations with ngHide
+ *
+ * Animations in ngShow/ngHide work with the show and hide events that are triggered when the directive expression
+ * is true and false. This system works similar to the animation system present with ngClass, however, the
+ * only difference is that you must also include the !important flag to override the display property so
+ * that you can perform an animation when the element is hidden during the time of the animation.
+ *
+ * <pre>
+ * //
+ * //a working example can be found at the bottom of this page
+ * //
+ * .my-element.ng-hide-add, .my-element.ng-hide-remove {
+ * transition:0.5s linear all;
+ * display:block!important;
+ * }
+ *
+ * .my-element.ng-hide-add { ... }
+ * .my-element.ng-hide-add.ng-hide-add-active { ... }
+ * .my-element.ng-hide-remove { ... }
+ * .my-element.ng-hide-remove.ng-hide-remove-active { ... }
+ * </pre>
+ *
* @animations
- * show - happens after the ngHide expression evaluates to a non truthy value and the contents are set to visible
- * hide - happens after the ngHide expression evaluates to a truthy value and just before the contents are set to hidden
+ * removeClass: .ng-hide - happens after the ngHide expression evaluates to a truthy value and just before the contents are set to hidden
+ * addClass: .ng-hide - happens after the ngHide expression evaluates to a non truthy value and just before the contents are set to visible
*
* @element ANY
* @param {expression} ngHide If the {@link guide/expression expression} is truthy then
@@ -15613,55 +16874,42 @@
Click me: <input type="checkbox" ng-model="checked"><br/>
<div>
Show:
- <span class="check-element"
- ng-show="checked"
- ng-animate="{show: 'example-show', hide: 'example-hide'}">
+ <div class="check-element animate-hide" ng-show="checked">
<span class="icon-thumbs-up"></span> I show up when your checkbox is checked.
- </span>
+ </div>
</div>
<div>
Hide:
- <span class="check-element"
- ng-hide="checked"
- ng-animate="{show: 'example-show', hide: 'example-hide'}">
+ <div class="check-element animate-hide" ng-hide="checked">
<span class="icon-thumbs-down"></span> I hide when your checkbox is checked.
- </span>
+ </div>
</div>
</file>
<file name="animations.css">
- .example-show, .example-hide {
+ .animate-hide.ng-hide-add,
+ .animate-hide.ng-hide-remove {
-webkit-transition:all linear 0.5s;
-moz-transition:all linear 0.5s;
- -ms-transition:all linear 0.5s;
-o-transition:all linear 0.5s;
transition:all linear 0.5s;
+ display:block!important;
}
- .example-show {
+ .animate-hide.ng-hide-add.ng-hide-add-active,
+ .animate-hide.ng-hide-remove {
line-height:0;
opacity:0;
padding:0 10px;
}
- .example-show.example-show-active {
- line-height:20px;
- opacity:1;
- padding:10px;
- border:1px solid black;
- background:white;
- }
- .example-hide {
+ .animate-hide.ng-hide-add,
+ .animate-hide.ng-hide-remove.ng-hide-remove-active {
line-height:20px;
opacity:1;
padding:10px;
border:1px solid black;
background:white;
}
- .example-hide.example-hide-active {
- line-height:0;
- opacity:0;
- padding:0 10px;
- }
.check-element {
padding:10px;
@@ -15682,12 +16930,10 @@
</file>
</example>
*/
-//TODO(misko): refactor to remove element from the DOM
-var ngHideDirective = ['$animator', function($animator) {
+var ngHideDirective = ['$animate', function($animate) {
return function(scope, element, attr) {
- var animate = $animator(scope, attr);
scope.$watch(attr.ngHide, function ngHideWatchAction(value){
- animate[toBoolean(value) ? 'hide' : 'show'](element);
+ $animate[toBoolean(value) ? 'addClass' : 'removeClass'](element, 'ng-hide');
});
};
}];
@@ -15757,9 +17003,6 @@
* expression is evaluated. If a matching expression is not found via a when attribute then an element with the default
* attribute is displayed.
*
- * Additionally, you can also provide animations via the ngAnimate attribute to animate the **enter**
- * and **leave** effects.
- *
* @animations
* enter - happens after the ngSwtich contents change and the matched child element is placed inside the container
* leave - happens just after the ngSwitch contents change and just before the former contents are removed from the DOM
@@ -15792,10 +17035,8 @@
</select>
<tt>selection={{selection}}</tt>
<hr/>
- <div
- class="example-animate-container"
- ng-switch on="selection"
- ng-animate="{enter: 'example-enter', leave: 'example-leave'}">
+ <div class="animate-switch-container"
+ ng-switch on="selection">
<div ng-switch-when="settings">Settings Div</div>
<div ng-switch-when="home">Home Span</div>
<div ng-switch-default>default</div>
@@ -15809,10 +17050,22 @@
}
</file>
<file name="animations.css">
- .example-leave, .example-enter {
+ .animate-switch-container {
+ position:relative;
+ background:white;
+ border:1px solid black;
+ height:40px;
+ overflow:hidden;
+ }
+
+ .animate-switch-container > div {
+ padding:10px;
+ }
+
+ .animate-switch-container > .ng-enter,
+ .animate-switch-container > .ng-leave {
-webkit-transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 0.5s;
-moz-transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 0.5s;
- -ms-transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 0.5s;
-o-transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 0.5s;
transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 0.5s;
@@ -15823,22 +17076,17 @@
bottom:0;
}
- .example-animate-container > * {
- display:block;
- padding:10px;
- }
-
- .example-enter {
+ .animate-switch-container > .ng-enter {
top:-50px;
}
- .example-enter.example-enter-active {
+ .animate-switch-container > .ng-enter.ng-enter-active {
top:0;
}
- .example-leave {
+ .animate-switch-container > .ng-leave {
top:0;
}
- .example-leave.example-leave-active {
+ .animate-switch-container > .ng-leave.ng-leave-active {
top:50px;
}
</file>
@@ -15857,7 +17105,7 @@
</file>
</example>
*/
-var ngSwitchDirective = ['$animator', function($animator) {
+var ngSwitchDirective = ['$animate', function($animate) {
return {
restrict: 'EA',
require: 'ngSwitch',
@@ -15867,7 +17115,6 @@
this.cases = {};
}],
link: function(scope, element, attr, ngSwitchController) {
- var animate = $animator(scope, attr);
var watchExpr = attr.ngSwitch || attr.on,
selectedTranscludes,
selectedElements,
@@ -15876,7 +17123,7 @@
scope.$watch(watchExpr, function ngSwitchWatchAction(value) {
for (var i= 0, ii=selectedScopes.length; i<ii; i++) {
selectedScopes[i].$destroy();
- animate.leave(selectedElements[i]);
+ $animate.leave(selectedElements[i]);
}
selectedElements = [];
@@ -15891,7 +17138,7 @@
var anchor = selectedTransclude.element;
selectedElements.push(caseElement);
- animate.enter(caseElement, anchor.parent(), anchor);
+ $animate.enter(caseElement, anchor.parent(), anchor);
});
});
}
@@ -15947,8 +17194,7 @@
return {
restrict: 'E',
transclude: true,
- scope: 'isolate',
- locals: { title:'bind' },
+ scope: { title:'@' },
template: '<div style="border: 1px solid black;">' +
'<div style="background-color: gray">{{title}}</div>' +
'<div ng-transclude></div>' +
@@ -15974,240 +17220,20 @@
*
*/
var ngTranscludeDirective = ngDirective({
- controller: ['$transclude', '$element', function($transclude, $element) {
- $transclude(function(clone) {
- $element.append(clone);
+ controller: ['$transclude', '$element', '$scope', function($transclude, $element, $scope) {
+ // use evalAsync so that we don't process transclusion before directives on the parent element even when the
+ // transclusion replaces the current element. (we can't use priority here because that applies only to compile fns
+ // and not controllers
+ $scope.$evalAsync(function() {
+ $transclude(function(clone) {
+ $element.append(clone);
+ });
});
}]
});
/**
* @ngdoc directive
- * @name ng.directive:ngView
- * @restrict ECA
- *
- * @description
- * # Overview
- * `ngView` is a directive that complements the {@link ng.$route $route} service by
- * including the rendered template of the current route into the main layout (`index.html`) file.
- * Every time the current route changes, the included view changes with it according to the
- * configuration of the `$route` service.
- *
- * Additionally, you can also provide animations via the ngAnimate attribute to animate the **enter**
- * and **leave** effects.
- *
- * @animations
- * enter - happens just after the ngView contents are changed (when the new view DOM element is inserted into the DOM)
- * leave - happens just after the current ngView contents change and just before the former contents are removed from the DOM
- *
- * @scope
- * @example
- <example module="ngView" animations="true">
- <file name="index.html">
- <div ng-controller="MainCntl as main">
- Choose:
- <a href="Book/Moby">Moby</a> |
- <a href="Book/Moby/ch/1">Moby: Ch1</a> |
- <a href="Book/Gatsby">Gatsby</a> |
- <a href="Book/Gatsby/ch/4?key=value">Gatsby: Ch4</a> |
- <a href="Book/Scarlet">Scarlet Letter</a><br/>
-
- <div
- ng-view
- class="example-animate-container"
- ng-animate="{enter: 'example-enter', leave: 'example-leave'}"></div>
- <hr />
-
- <pre>$location.path() = {{main.$location.path()}}</pre>
- <pre>$route.current.templateUrl = {{main.$route.current.templateUrl}}</pre>
- <pre>$route.current.params = {{main.$route.current.params}}</pre>
- <pre>$route.current.scope.name = {{main.$route.current.scope.name}}</pre>
- <pre>$routeParams = {{main.$routeParams}}</pre>
- </div>
- </file>
-
- <file name="book.html">
- <div>
- controller: {{book.name}}<br />
- Book Id: {{book.params.bookId}}<br />
- </div>
- </file>
-
- <file name="chapter.html">
- <div>
- controller: {{chapter.name}}<br />
- Book Id: {{chapter.params.bookId}}<br />
- Chapter Id: {{chapter.params.chapterId}}
- </div>
- </file>
-
- <file name="animations.css">
- .example-leave, .example-enter {
- -webkit-transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 1.5s;
- -moz-transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 1.5s;
- -ms-transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 1.5s;
- -o-transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 1.5s;
- transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 1.5s;
- }
-
- .example-animate-container {
- position:relative;
- height:100px;
- }
-
- .example-animate-container > * {
- display:block;
- width:100%;
- border-left:1px solid black;
-
- position:absolute;
- top:0;
- left:0;
- right:0;
- bottom:0;
- padding:10px;
- }
-
- .example-enter {
- left:100%;
- }
- .example-enter.example-enter-active {
- left:0;
- }
-
- .example-leave { }
- .example-leave.example-leave-active {
- left:-100%;
- }
- </file>
-
- <file name="script.js">
- angular.module('ngView', [], function($routeProvider, $locationProvider) {
- $routeProvider.when('/Book/:bookId', {
- templateUrl: 'book.html',
- controller: BookCntl,
- controllerAs: 'book'
- });
- $routeProvider.when('/Book/:bookId/ch/:chapterId', {
- templateUrl: 'chapter.html',
- controller: ChapterCntl,
- controllerAs: 'chapter'
- });
-
- // configure html5 to get links working on jsfiddle
- $locationProvider.html5Mode(true);
- });
-
- function MainCntl($route, $routeParams, $location) {
- this.$route = $route;
- this.$location = $location;
- this.$routeParams = $routeParams;
- }
-
- function BookCntl($routeParams) {
- this.name = "BookCntl";
- this.params = $routeParams;
- }
-
- function ChapterCntl($routeParams) {
- this.name = "ChapterCntl";
- this.params = $routeParams;
- }
- </file>
-
- <file name="scenario.js">
- it('should load and compile correct template', function() {
- element('a:contains("Moby: Ch1")').click();
- var content = element('.doc-example-live [ng-view]').text();
- expect(content).toMatch(/controller\: ChapterCntl/);
- expect(content).toMatch(/Book Id\: Moby/);
- expect(content).toMatch(/Chapter Id\: 1/);
-
- element('a:contains("Scarlet")').click();
- content = element('.doc-example-live [ng-view]').text();
- expect(content).toMatch(/controller\: BookCntl/);
- expect(content).toMatch(/Book Id\: Scarlet/);
- });
- </file>
- </example>
- */
-
-
-/**
- * @ngdoc event
- * @name ng.directive:ngView#$viewContentLoaded
- * @eventOf ng.directive:ngView
- * @eventType emit on the current ngView scope
- * @description
- * Emitted every time the ngView content is reloaded.
- */
-var ngViewDirective = ['$http', '$templateCache', '$route', '$anchorScroll', '$compile',
- '$controller', '$animator',
- function($http, $templateCache, $route, $anchorScroll, $compile,
- $controller, $animator) {
- return {
- restrict: 'ECA',
- terminal: true,
- link: function(scope, element, attr) {
- var lastScope,
- onloadExp = attr.onload || '',
- animate = $animator(scope, attr);
-
- scope.$on('$routeChangeSuccess', update);
- update();
-
-
- function destroyLastScope() {
- if (lastScope) {
- lastScope.$destroy();
- lastScope = null;
- }
- }
-
- function clearContent() {
- animate.leave(element.contents(), element);
- destroyLastScope();
- }
-
- function update() {
- var locals = $route.current && $route.current.locals,
- template = locals && locals.$template;
-
- if (template) {
- clearContent();
- var enterElements = jqLite('<div></div>').html(template).contents();
- animate.enter(enterElements, element);
-
- var link = $compile(enterElements),
- current = $route.current,
- controller;
-
- lastScope = current.scope = scope.$new();
- if (current.controller) {
- locals.$scope = lastScope;
- controller = $controller(current.controller, locals);
- if (current.controllerAs) {
- lastScope[current.controllerAs] = controller;
- }
- element.children().data('$ngControllerController', controller);
- }
-
- link(lastScope);
- lastScope.$emit('$viewContentLoaded');
- lastScope.$eval(onloadExp);
-
- // $anchorScroll might listen on event...
- $anchorScroll();
- } else {
- clearContent();
- }
- }
- }
- };
-}];
-
-/**
- * @ngdoc directive
* @name ng.directive:script
*
* @description
@@ -16264,8 +17290,8 @@
* Optionally `ngOptions` attribute can be used to dynamically generate a list of `<option>`
* elements for a `<select>` element using an array or an object obtained by evaluating the
* `ngOptions` expression.
- *˝˝
- * When an item in the select menu is select, the value of array element or object property
+ *
+ * When an item in the `<select>` menu is selected, the value of array element or object property
* represented by the selected option will be bound to the model identified by the `ngModel`
* directive of the parent select element.
*
@@ -16508,7 +17534,7 @@
}
};
- selectElement.bind('change', function() {
+ selectElement.on('change', function() {
scope.$apply(function() {
if (unknownOption.parent()) unknownOption.remove();
ngModelCtrl.$setViewValue(selectElement.val());
@@ -16534,7 +17560,7 @@
}
});
- selectElement.bind('change', function() {
+ selectElement.on('change', function() {
scope.$apply(function() {
var array = [];
forEach(selectElement.find('option'), function(option) {
@@ -16551,9 +17577,9 @@
var match;
if (! (match = optionsExp.match(NG_OPTIONS_REGEXP))) {
- throw Error(
- "Expected ngOptions in form of '_select_ (as _label_)? for (_key_,)?_value_ in _collection_ (track by _expr_)?'" +
- " but got '" + optionsExp + "'.");
+ throw minErr('ngOptions')('iexp',
+ "Expected expression in form of '_select_ (as _label_)? for (_key_,)?_value_ in _collection_' but got '{0}'. Element: {1}",
+ optionsExp, startingTag(selectElement));
}
var displayFn = $parse(match[2] || match[1]),
@@ -16585,7 +17611,7 @@
// clear contents, we'll add what's needed based on the model
selectElement.html('');
- selectElement.bind('change', function() {
+ selectElement.on('change', function() {
scope.$apply(function() {
var optionGroup,
collection = valuesFn(scope) || [],
@@ -16608,7 +17634,7 @@
for (var trackIndex = 0; trackIndex < collection.length; trackIndex++) {
locals[valueName] = collection[trackIndex];
if (trackFn(scope, locals) == key) break;
- }
+ }
} else {
locals[valueName] = collection[key];
}
@@ -16849,7 +17875,7 @@
selectCtrl.addOption(attr.value);
}
- element.bind('$destroy', function() {
+ element.on('$destroy', function() {
selectCtrl.removeOption(attr.value);
});
};
@@ -16873,4 +17899,4 @@
});
})(window, document);
-angular.element(document).find('head').append('<style type="text/css">@charset "UTF-8";[ng\\:cloak],[ng-cloak],[data-ng-cloak],[x-ng-cloak],.ng-cloak,.x-ng-cloak{display:none;}ng\\:form{display:block;}</style>');
\ No newline at end of file
+angular.element(document).find('head').prepend('<style type="text/css">@charset "UTF-8";[ng\\:cloak],[ng-cloak],[data-ng-cloak],[x-ng-cloak],.ng-cloak,.x-ng-cloak,.ng-hide{display:none !important;}ng\\:form{display:block;}</style>');
\ No newline at end of file
Added: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/extra/angular-animate.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/extra/angular-animate.js (rev 0)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/extra/angular-animate.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -0,0 +1,677 @@
+/** %%Ignore-License
+ * @license AngularJS v1.2.0rc1
+ * (c) 2010-2012 Google, Inc. http://angularjs.org
+ * License: MIT
+ */
+(function(window, angular, undefined) {'use strict';
+
+/**
+ * @ngdoc overview
+ * @name ngAnimate
+ * @description
+ *
+ * ngAnimate
+ * =========
+ *
+ * The ngAnimate module is an optional module that comes packed with AngularJS that can be included within an AngularJS
+ * application to provide support for CSS and JavaScript animation hooks.
+ *
+ * To make use of animations with AngularJS, the `angular-animate.js` JavaScript file must be included into your application
+ * and the `ngAnimate` module must be included as a dependency.
+ *
+ * <pre>
+ * angular.module('App', ['ngAnimate']);
+ * </pre>
+ *
+ * Then, to see animations in action, all that is required is to define the appropriate CSS classes
+ * or to register a JavaScript animation via the $animation service. The directives that support animation automatically are:
+ * `ngRepeat`, `ngInclude`, `ngSwitch`, `ngShow`, `ngHide` and `ngView`. Custom directives can take advantage of animation
+ * by using the `$animate` service.
+ *
+ * Below is a more detailed breakdown of the supported animation events provided by pre-existing ng directives:
+ *
+ * | Directive | Supported Animations |
+ * |---------------------------------------------------------- |----------------------------------------------------|
+ * | {@link ng.directive:ngRepeat#animations ngRepeat} | enter, leave and move |
+ * | {@link ngRoute.directive:ngView#animations ngView} | enter and leave |
+ * | {@link ng.directive:ngInclude#animations ngInclude} | enter and leave |
+ * | {@link ng.directive:ngSwitch#animations ngSwitch} | enter and leave |
+ * | {@link ng.directive:ngIf#animations ngIf} | enter and leave |
+ * | {@link ng.directive:ngShow#animations ngClass} | add and remove |
+ * | {@link ng.directive:ngShow#animations ngShow & ngHide} | add and remove (the ng-hide class value) |
+ *
+ * You can find out more information about animations upon visiting each directive page.
+ *
+ * Below is an example of how to apply animations to a directive that supports animation hooks:
+ *
+ * <pre>
+ * <style type="text/css">
+ * .slide.ng-enter > div,
+ * .slide.ng-leave > div {
+ * -webkit-transition:0.5s linear all;
+ * -moz-transition:0.5s linear all;
+ * -o-transition:0.5s linear all;
+ * transition:0.5s linear all;
+ * }
+ *
+ * .slide.ng-enter { } /* starting animations for enter */
+ * .slide.ng-enter-active { } /* terminal animations for enter */
+ * .slide.ng-leave { } /* starting animations for leave */
+ * .slide.ng-leave-active { } /* terminal animations for leave */
+ * </style>
+ *
+ * <!--
+ * the animate service will automatically add .ng-enter and .ng-leave to the element
+ * to trigger the CSS transition/animations
+ * -->
+ * <ANY class="slide" ng-include="..."></ANY>
+ * </pre>
+ *
+ * Keep in mind that if an animation is running, any child elements cannot be animated until the parent element's
+ * animation has completed.
+ *
+ * <h2>CSS-defined Animations</h2>
+ * The animate service will automatically apply two CSS classes to the animated element and these two CSS classes
+ * are designed to contain the start and end CSS styling. Both CSS transitions and keyframe animations are supported
+ * and can be used to play along with this naming structure.
+ *
+ * The following code below demonstrates how to perform animations using **CSS transitions** with Angular:
+ *
+ * <pre>
+ * <style type="text/css">
+ * /*
+ * The animate class is apart of the element and the ng-enter class
+ * is attached to the element once the enter animation event is triggered
+ * */
+ * .reveal-animation.ng-enter {
+ * -webkit-transition: 1s linear all; /* Safari/Chrome */
+ * -moz-transition: 1s linear all; /* Firefox */
+ * -o-transition: 1s linear all; /* Opera */
+ * transition: 1s linear all; /* IE10+ and Future Browsers */
+ *
+ * /* The animation preparation code */
+ * opacity: 0;
+ * }
+ *
+ * /*
+ * Keep in mind that you want to combine both CSS
+ * classes together to avoid any CSS-specificity
+ * conflicts
+ * */
+ * .reveal-animation.ng-enter.ng-enter-active {
+ * /* The animation code itself */
+ * opacity: 1;
+ * }
+ * </style>
+ *
+ * <div class="view-container">
+ * <div ng-view class="reveal-animation"></div>
+ * </div>
+ * </pre>
+ *
+ * The following code below demonstrates how to perform animations using **CSS animations** with Angular:
+ *
+ * <pre>
+ * <style type="text/css">
+ * .reveal-animation.ng-enter {
+ * -webkit-animation: enter_sequence 1s linear; /* Safari/Chrome */
+ * -moz-animation: enter_sequence 1s linear; /* Firefox */
+ * -o-animation: enter_sequence 1s linear; /* Opera */
+ * animation: enter_sequence 1s linear; /* IE10+ and Future Browsers */
+ * }
+ * @-webkit-keyframes enter_sequence {
+ * from { opacity:0; }
+ * to { opacity:1; }
+ * }
+ * @-moz-keyframes enter_sequence {
+ * from { opacity:0; }
+ * to { opacity:1; }
+ * }
+ * @-o-keyframes enter_sequence {
+ * from { opacity:0; }
+ * to { opacity:1; }
+ * }
+ * @keyframes enter_sequence {
+ * from { opacity:0; }
+ * to { opacity:1; }
+ * }
+ * </style>
+ *
+ * <div class="view-container">
+ * <div ng-view class="reveal-animation"></div>
+ * </div>
+ * </pre>
+ *
+ * Both CSS3 animations and transitions can be used together and the animate service will figure out the correct duration and delay timing.
+ *
+ * Upon DOM mutation, the event class is added first (something like `ng-enter`), then the browser prepares itself to add
+ * the active class (in this case `ng-enter-active`) which then triggers the animation. The animation module will automatically
+ * detect the CSS code to determine when the animation ends. Once the animation is over then both CSS classes will be
+ * removed from the DOM. If a browser does not support CSS transitions or CSS animations then the animation will start and end
+ * immediately resulting in a DOM element that is at its final state. This final state is when the DOM element
+ * has no CSS transition/animation classes applied to it.
+ *
+ * <h2>JavaScript-defined Animations</h2>
+ * In the event that you do not want to use CSS3 transitions or CSS3 animations or if you wish to offer animations on browsers that do not
+ * yet support CSS transitions/animations, then you can make use of JavaScript animations defined inside of your AngularJS module.
+ *
+ * <pre>
+ * //!annotate="YourApp" Your AngularJS Module|Replace this or ngModule with the module that you used to define your application.
+ * var ngModule = angular.module('YourApp', []);
+ * ngModule.animation('.my-crazy-animation', function() {
+ * return {
+ * enter: function(element, done) {
+ * //run the animation
+ * //!annotate Cancel Animation|This function (if provided) will perform the cancellation of the animation when another is triggered
+ * return function(element, done) {
+ * //cancel the animation
+ * }
+ * }
+ * leave: function(element, done) { },
+ * move: function(element, done) { },
+ * show: function(element, done) { },
+ * hide: function(element, done) { },
+ * addClass: function(element, className, done) { },
+ * removeClass: function(element, className, done) { },
+ * }
+ * });
+ * </pre>
+ *
+ * JavaScript-defined animations are created with a CSS-like class selector and a collection of events which are set to run
+ * a javascript callback function. When an animation is triggered, $animate will look for a matching animation which fits
+ * the element's CSS class attribute value and then run the matching animation event function (if found).
+ * In other words, if the CSS classes present on the animated element match any of the JavaScript animations then the callback function
+ * be executed. It should be also noted that only simple class selectors are allowed.
+ *
+ * Within a JavaScript animation, an object containing various event callback animation functions is expected to be returned.
+ * As explained above, these callbacks are triggered based on the animation event. Therefore if an enter animation is run,
+ * and the JavaScript animation is found, then the enter callback will handle that animation (in addition to the CSS keyframe animation
+ * or transition code that is defined via a stylesheet).
+ *
+ */
+
+angular.module('ngAnimate', ['ng'])
+
+ /**
+ * @ngdoc object
+ * @name ngAnimate.$animateProvider
+ * @description
+ *
+ * The $AnimationProvider provider allows developers to register and access custom JavaScript animations directly inside
+ * of a module. When an animation is triggered, the $animate service will query the $animation function to find any
+ * animations that match the provided name value.
+ *
+ * Please visit the {@link ngAnimate ngAnimate} module overview page learn more about how to use animations in your application.
+ *
+ */
+ .config(['$provide', '$animateProvider', function($provide, $animateProvider) {
+ var noop = angular.noop;
+ var forEach = angular.forEach;
+ var selectors = $animateProvider.$$selectors;
+
+ var NG_ANIMATE_STATE = '$$ngAnimateState';
+ var rootAnimateState = {running:true};
+ $provide.decorator('$animate', ['$delegate', '$injector', '$sniffer', '$rootElement', '$timeout',
+ function($delegate, $injector, $sniffer, $rootElement, $timeout) {
+
+ $rootElement.data(NG_ANIMATE_STATE, rootAnimateState);
+
+ function lookup(name) {
+ if (name) {
+ var matches = [],
+ flagMap = {},
+ classes = name.substr(1).split('.');
+
+ //the empty string value is the default animation
+ //operation which performs CSS transition and keyframe
+ //animations sniffing. This is always included for each
+ //element animation procedure
+ classes.push('');
+
+ for(var i=0; i < classes.length; i++) {
+ var klass = classes[i],
+ selectorFactoryName = selectors[klass];
+ if(selectorFactoryName && !flagMap[klass]) {
+ matches.push($injector.get(selectorFactoryName));
+ flagMap[klass] = true;
+ }
+ }
+ return matches;
+ }
+ }
+
+ /**
+ * @ngdoc object
+ * @name ngAnimate.$animate
+ * @requires $timeout, $sniffer, $rootElement
+ * @function
+ *
+ * @description
+ * The `$animate` service provides animation detection support while performing DOM operations (enter, leave and move)
+ * as well as during addClass and removeClass operations. When any of these operations are run, the $animate service
+ * will examine any JavaScript-defined animations (which are defined by using the $animateProvider provider object)
+ * as well as any CSS-defined animations against the CSS classes present on the element once the DOM operation is run.
+ *
+ * The `$animate` service is used behind the scenes with pre-existing directives and animation with these directives
+ * will work out of the box without any extra configuration.
+ *
+ * Please visit the {@link ngAnimate ngAnimate} module overview page learn more about how to use animations in your application.
+ *
+ */
+ return {
+ /**
+ * @ngdoc function
+ * @name ngAnimate.$animate#enter
+ * @methodOf ngAnimate.$animate
+ * @function
+ *
+ * @description
+ * Appends the element to the parent element that resides in the document and then runs the enter animation. Once
+ * the animation is started, the following CSS classes will be present on the element for the duration of the animation:
+ *
+ * Below is a breakdown of each step that occurs during enter animation:
+ *
+ * | Animation Step | What the element class attribute looks like |
+ * |----------------------------------------------------------------------------------------------|-----------------------------------------------|
+ * | 1. $animate.enter(...) is called | class="my-animation" |
+ * | 2. element is inserted into the parent element or beside the after element | class="my-animation" |
+ * | 3. the .ng-enter class is added to the element | class="my-animation ng-enter" |
+ * | 4. $animate runs any JavaScript-defined animations on the element | class="my-animation ng-enter" |
+ * | 5. $animate scans the element styles to get the CSS transition/animation duration and delay | class="my-animation ng-enter" |
+ * | 6. the .ng-enter-active class is added (this triggers the CSS transition/animation) | class="my-animation ng-enter ng-enter-active" |
+ * | 7. $animate waits for X milliseconds for the animation to complete | class="my-animation ng-enter ng-enter-active" |
+ * | 8. The animation ends and both CSS classes are removed from the element | class="my-animation" |
+ * | 9. The done() callback is fired (if provided) | class="my-animation" |
+ *
+ * @param {jQuery/jqLite element} element the element that will be the focus of the enter animation
+ * @param {jQuery/jqLite element} parent the parent element of the element that will be the focus of the enter animation
+ * @param {jQuery/jqLite element} after the sibling element (which is the previous element) of the element that will be the focus of the enter animation
+ * @param {function()=} done callback function that will be called once the animation is complete
+ */
+ enter : function(element, parent, after, done) {
+ $delegate.enter(element, parent, after);
+ performAnimation('enter', 'ng-enter', element, parent, after, done);
+ },
+
+ /**
+ * @ngdoc function
+ * @name ngAnimate.$animate#leave
+ * @methodOf ngAnimate.$animate
+ * @function
+ *
+ * @description
+ * Runs the leave animation operation and, upon completion, removes the element from the DOM. Once
+ * the animation is started, the following CSS classes will be added for the duration of the animation:
+ *
+ * Below is a breakdown of each step that occurs during enter animation:
+ *
+ * | Animation Step | What the element class attribute looks like |
+ * |----------------------------------------------------------------------------------------------|----------------------------------------------|
+ * | 1. $animate.leave(...) is called | class="my-animation" |
+ * | 2. the .ng-leave class is added to the element | class="my-animation ng-leave" |
+ * | 3. $animate runs any JavaScript-defined animations on the element | class="my-animation ng-leave" |
+ * | 4. $animate scans the element styles to get the CSS transition/animation duration and delay | class="my-animation ng-leave" |
+ * | 5. the .ng-leave-active class is added (this triggers the CSS transition/animation) | class="my-animation ng-leave ng-leave-active |
+ * | 6. $animate waits for X milliseconds for the animation to complete | class="my-animation ng-leave ng-leave-active |
+ * | 7. The animation ends and both CSS classes are removed from the element | class="my-animation" |
+ * | 8. The element is removed from the DOM | ... |
+ * | 9. The done() callback is fired (if provided) | ... |
+ *
+ * @param {jQuery/jqLite element} element the element that will be the focus of the leave animation
+ * @param {function()=} done callback function that will be called once the animation is complete
+ */
+ leave : function(element, done) {
+ performAnimation('leave', 'ng-leave', element, null, null, function() {
+ $delegate.leave(element, done);
+ });
+ },
+
+ /**
+ * @ngdoc function
+ * @name ngAnimate.$animate#move
+ * @methodOf ngAnimate.$animate
+ * @function
+ *
+ * @description
+ * Fires the move DOM operation. Just before the animation starts, the animate service will either append it into the parent container or
+ * add the element directly after the after element if present. Then the move animation will be run. Once
+ * the animation is started, the following CSS classes will be added for the duration of the animation:
+ *
+ * Below is a breakdown of each step that occurs during move animation:
+ *
+ * | Animation Step | What the element class attribute looks like |
+ * |----------------------------------------------------------------------------------------------|---------------------------------------------|
+ * | 1. $animate.move(...) is called | class="my-animation" |
+ * | 2. element is moved into the parent element or beside the after element | class="my-animation" |
+ * | 3. the .ng-move class is added to the element | class="my-animation ng-move" |
+ * | 4. $animate runs any JavaScript-defined animations on the element | class="my-animation ng-move" |
+ * | 5. $animate scans the element styles to get the CSS transition/animation duration and delay | class="my-animation ng-move" |
+ * | 6. the .ng-move-active class is added (this triggers the CSS transition/animation) | class="my-animation ng-move ng-move-active" |
+ * | 7. $animate waits for X milliseconds for the animation to complete | class="my-animation ng-move ng-move-active" |
+ * | 8. The animation ends and both CSS classes are removed from the element | class="my-animation" |
+ * | 9. The done() callback is fired (if provided) | class="my-animation" |
+ *
+ * @param {jQuery/jqLite element} element the element that will be the focus of the move animation
+ * @param {jQuery/jqLite element} parent the parent element of the element that will be the focus of the move animation
+ * @param {jQuery/jqLite element} after the sibling element (which is the previous element) of the element that will be the focus of the move animation
+ * @param {function()=} done callback function that will be called once the animation is complete
+ */
+ move : function(element, parent, after, done) {
+ $delegate.move(element, parent, after);
+ performAnimation('move', 'ng-move', element, null, null, done);
+ },
+
+ /**
+ * @ngdoc function
+ * @name ngAnimate.$animate#addClass
+ * @methodOf ngAnimate.$animate
+ *
+ * @description
+ * Triggers a custom animation event based off the className variable and then attaches the className value to the element as a CSS class.
+ * Unlike the other animation methods, the animate service will suffix the className value with {@type -add} in order to provide
+ * the animate service the setup and active CSS classes in order to trigger the animation.
+ *
+ * Below is a breakdown of each step that occurs during addClass animation:
+ *
+ * | Animation Step | What the element class attribute looks like |
+ * |------------------------------------------------------------------------------------------------|---------------------------------------------|
+ * | 1. $animate.addClass(element, 'super') is called | class="" |
+ * | 2. the .super-add class is added to the element | class="super-add" |
+ * | 3. $animate runs any JavaScript-defined animations on the element | class="super-add" |
+ * | 4. $animate scans the element styles to get the CSS transition/animation duration and delay | class="super-add" |
+ * | 5. the .super-add-active class is added (this triggers the CSS transition/animation) | class="super-add super-add-active" |
+ * | 6. $animate waits for X milliseconds for the animation to complete | class="super-add super-add-active" |
+ * | 7. The animation ends and both CSS classes are removed from the element | class="" |
+ * | 8. The super class is added to the element | class="super" |
+ * | 9. The done() callback is fired (if provided) | class="super" |
+ *
+ * @param {jQuery/jqLite element} element the element that will be animated
+ * @param {string} className the CSS class that will be animated and then attached to the element
+ * @param {function()=} done callback function that will be called once the animation is complete
+ */
+ addClass : function(element, className, done) {
+ performAnimation('addClass', className, element, null, null, function() {
+ $delegate.addClass(element, className, done);
+ });
+ },
+
+ /**
+ * @ngdoc function
+ * @name ngAnimate.$animate#removeClass
+ * @methodOf ngAnimate.$animate
+ *
+ * @description
+ * Triggers a custom animation event based off the className variable and then removes the CSS class provided by the className value
+ * from the element. Unlike the other animation methods, the animate service will suffix the className value with {@type -remove} in
+ * order to provide the animate service the setup and active CSS classes in order to trigger the animation.
+ *
+ * Below is a breakdown of each step that occurs during removeClass animation:
+ *
+ * | Animation Step | What the element class attribute looks like |
+ * |-----------------------------------------------------------------------------------------------|-------------------------------------------------|
+ * | 1. $animate.removeClass(element, 'super') is called | class="super" |
+ * | 2. the .super-remove class is added to the element | class="super super-remove" |
+ * | 3. $animate runs any JavaScript-defined animations on the element | class="super super-remove" |
+ * | 4. $animate scans the element styles to get the CSS transition/animation duration and delay | class="super super-remove" |
+ * | 5. the .super-remove-active class is added (this triggers the CSS transition/animation) | class="super super-remove super-remove-active" |
+ * | 6. $animate waits for X milliseconds for the animation to complete | class="super super-remove super-remove-active" |
+ * | 7. The animation ends and both CSS all three classes are removed from the element | class="" |
+ * | 8. The done() callback is fired (if provided) | class="" |
+ *
+ * @param {jQuery/jqLite element} element the element that will be animated
+ * @param {string} className the CSS class that will be animated and then removed from the element
+ * @param {function()=} done callback function that will be called once the animation is complete
+ */
+ removeClass : function(element, className, done) {
+ performAnimation('removeClass', className, element, null, null, function() {
+ $delegate.removeClass(element, className, done);
+ });
+ },
+
+ /**
+ * @ngdoc function
+ * @name ngAnimate.$animate#enabled
+ * @methodOf ngAnimate.$animate
+ * @function
+ *
+ * @param {boolean=} value If provided then set the animation on or off.
+ * @return {boolean} Current animation state.
+ *
+ * @description
+ * Globally enables/disables animations.
+ *
+ */
+ enabled : function(value) {
+ if (arguments.length) {
+ rootAnimateState.running = !value;
+ }
+ return !rootAnimateState.running;
+ }
+ };
+
+ /*
+ all animations call this shared animation triggering function internally.
+ The event variable refers to the JavaScript animation event that will be triggered
+ and the className value is the name of the animation that will be applied within the
+ CSS code. Element, parent and after are provided DOM elements for the animation
+ and the onComplete callback will be fired once the animation is fully complete.
+ */
+ function performAnimation(event, className, element, parent, after, onComplete) {
+ var classes = (element.attr('class') || '') + ' ' + className;
+ var animationLookup = (' ' + classes).replace(/\s+/g,'.'),
+ animations = [];
+ forEach(lookup(animationLookup), function(animation, index) {
+ animations.push({
+ start : animation[event]
+ });
+ });
+
+ if (!parent) {
+ parent = after ? after.parent() : element.parent();
+ }
+ var disabledAnimation = { running : true };
+
+ //skip the animation if animations are disabled, a parent is already being animated
+ //or the element is not currently attached to the document body.
+ if ((parent.inheritedData(NG_ANIMATE_STATE) || disabledAnimation).running) {
+ //avoid calling done() since there is no need to remove any
+ //data or className values since this happens earlier than that
+ //and also use a timeout so that it won't be asynchronous
+ $timeout(onComplete || noop, 0, false);
+ return;
+ }
+
+ var ngAnimateState = element.data(NG_ANIMATE_STATE) || {};
+
+ //if an animation is currently running on the element then lets take the steps
+ //to cancel that animation and fire any required callbacks
+ if(ngAnimateState.running) {
+ cancelAnimations(ngAnimateState.animations);
+ ngAnimateState.done();
+ }
+
+ element.data(NG_ANIMATE_STATE, {
+ running:true,
+ animations:animations,
+ done:done
+ });
+
+ var baseClassName = className;
+ if(event == 'addClass') {
+ className = suffixClasses(className, '-add');
+ } else if(event == 'removeClass') {
+ className = suffixClasses(className, '-remove');
+ }
+
+ element.addClass(className);
+
+ forEach(animations, function(animation, index) {
+ var fn = function() {
+ progress(index);
+ };
+
+ if(animation.start) {
+ if(event == 'addClass' || event == 'removeClass') {
+ animation.endFn = animation.start(element, baseClassName, fn);
+ } else {
+ animation.endFn = animation.start(element, fn);
+ }
+ } else {
+ fn();
+ }
+ });
+
+ function cancelAnimations(animations) {
+ var isCancelledFlag = true;
+ forEach(animations, function(animation) {
+ (animation.endFn || noop)(isCancelledFlag);
+ });
+ }
+
+ function progress(index) {
+ animations[index].done = true;
+ (animations[index].endFn || noop)();
+ for(var i=0;i<animations.length;i++) {
+ if(!animations[i].done) return;
+ }
+ done();
+ }
+
+ function done() {
+ if(!done.hasBeenRun) {
+ done.hasBeenRun = true;
+ element.removeClass(className);
+ element.removeData(NG_ANIMATE_STATE);
+ (onComplete || noop)();
+ }
+ }
+ }
+ }]);
+
+ $animateProvider.register('', ['$window','$sniffer', '$timeout', function($window, $sniffer, $timeout) {
+ var noop = angular.noop;
+ var forEach = angular.forEach;
+ function animate(element, className, done) {
+ if (!($sniffer.transitions || $sniffer.animations)) {
+ done();
+ } else {
+ var activeClassName = '';
+ $timeout(startAnimation, 1, false);
+
+ //this acts as the cancellation function in case
+ //a new animation is triggered while another animation
+ //is still going on (otherwise the active className
+ //would still hang around until the timer is complete).
+ return onEnd;
+ }
+
+ function parseMaxTime(str) {
+ var total = 0, values = angular.isString(str) ? str.split(/\s*,\s*/) : [];
+ forEach(values, function(value) {
+ total = Math.max(parseFloat(value) || 0, total);
+ });
+ return total;
+ }
+
+ function startAnimation() {
+ var duration = 0;
+ forEach(className.split(' '), function(klass, i) {
+ activeClassName += (i > 0 ? ' ' : '') + klass + '-active';
+ });
+
+ element.addClass(activeClassName);
+
+ //one day all browsers will have these properties
+ var w3cAnimationProp = 'animation';
+ var w3cTransitionProp = 'transition';
+
+ //but some still use vendor-prefixed styles
+ var vendorAnimationProp = $sniffer.vendorPrefix + 'Animation';
+ var vendorTransitionProp = $sniffer.vendorPrefix + 'Transition';
+
+ var durationKey = 'Duration',
+ delayKey = 'Delay',
+ animationIterationCountKey = 'IterationCount';
+
+ //we want all the styles defined before and after
+ var ELEMENT_NODE = 1;
+ forEach(element, function(element) {
+ if (element.nodeType == ELEMENT_NODE) {
+ var elementStyles = $window.getComputedStyle(element) || {};
+
+ var transitionDelay = Math.max(parseMaxTime(elementStyles[w3cTransitionProp + delayKey]),
+ parseMaxTime(elementStyles[vendorTransitionProp + delayKey]));
+
+ var animationDelay = Math.max(parseMaxTime(elementStyles[w3cAnimationProp + delayKey]),
+ parseMaxTime(elementStyles[vendorAnimationProp + delayKey]));
+
+ var transitionDuration = Math.max(parseMaxTime(elementStyles[w3cTransitionProp + durationKey]),
+ parseMaxTime(elementStyles[vendorTransitionProp + durationKey]));
+
+ var animationDuration = Math.max(parseMaxTime(elementStyles[w3cAnimationProp + durationKey]),
+ parseMaxTime(elementStyles[vendorAnimationProp + durationKey]));
+
+ if(animationDuration > 0) {
+ animationDuration *= Math.max(parseInt(elementStyles[w3cAnimationProp + animationIterationCountKey]) || 0,
+ parseInt(elementStyles[vendorAnimationProp + animationIterationCountKey]) || 0,
+ 1);
+ }
+
+ duration = Math.max(animationDelay + animationDuration,
+ transitionDelay + transitionDuration,
+ duration);
+ }
+ });
+
+ $timeout(done, duration * 1000, false);
+ }
+
+ //this will automatically be called by $animate so
+ //there is no need to attach this internally to the
+ //timeout done method
+ function onEnd(cancelled) {
+ element.removeClass(activeClassName);
+
+ //only when the animation is cancelled is the done()
+ //function not called for this animation therefore
+ //this must be also called
+ if(cancelled) {
+ done();
+ }
+ }
+ }
+
+ return {
+ enter : function(element, done) {
+ return animate(element, 'ng-enter', done);
+ },
+ leave : function(element, done) {
+ return animate(element, 'ng-leave', done);
+ },
+ move : function(element, done) {
+ return animate(element, 'ng-move', done);
+ },
+ addClass : function(element, className, done) {
+ return animate(element, suffixClasses(className, '-add'), done);
+ },
+ removeClass : function(element, className, done) {
+ return animate(element, suffixClasses(className, '-remove'), done);
+ }
+ };
+
+ }]);
+
+ function suffixClasses(classes, suffix) {
+ var className = '';
+ classes = angular.isArray(classes) ? classes : classes.split(/\s+/);
+ forEach(classes, function(klass, i) {
+ if(klass && klass.length > 0) {
+ className += (i > 0 ? ' ' : '') + klass + suffix;
+ }
+ });
+ return className;
+ }
+ }]);
+
+
+})(window, window.angular);
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/extra/angular-cookies.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/extra/angular-cookies.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/extra/angular-cookies.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -1,10 +1,9 @@
/** %%Ignore-License
- * @license AngularJS v1.1.5
+ * @license AngularJS v1.2.0rc1
* (c) 2010-2012 Google, Inc. http://angularjs.org
* License: MIT
*/
-(function(window, angular, undefined) {
-'use strict';
+(function(window, angular, undefined) {'use strict';
/**
* @ngdoc overview
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/extra/angular-loader.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/extra/angular-loader.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/extra/angular-loader.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -1,5 +1,5 @@
/** %%Ignore-License
- * @license AngularJS v1.1.5
+ * @license AngularJS v1.2.0rc1
* (c) 2010-2012 Google, Inc. http://angularjs.org
* License: MIT
*/
@@ -36,8 +36,8 @@
*
* # Module
*
- * A module is a collocation of services, directives, filters, and configuration information. Module
- * is used to configure the {@link AUTO.$injector $injector}.
+ * A module is a collection of services, directives, filters, and configuration information.
+ * `angular.module` is used to configure the {@link AUTO.$injector $injector}.
*
* <pre>
* // Create a new module
@@ -47,8 +47,7 @@
* myModule.value('appName', 'MyCoolApp');
*
* // configure existing services inside initialization blocks.
- * myModule.config(function($locationProvider) {
-'use strict';
+ * myModule.config(function($locationProvider) {'use strict';
* // Configure existing providers
* $locationProvider.hashPrefix('!');
* });
@@ -77,7 +76,9 @@
}
return ensure(modules, name, function() {
if (!requires) {
- throw Error('No module: ' + name);
+ throw minErr('$injector')('nomod', "Module '{0}' is not available! You either misspelled the module name " +
+ "or forgot to load it. If registering a module ensure that you specify the dependencies as the second " +
+ "argument.", name);
}
/** @type {!Array.<Array.<*>>} */
@@ -178,24 +179,30 @@
* @param {Function} animationFactory Factory function for creating new instance of an animation.
* @description
*
- * Defines an animation hook that can be later used with {@link ng.directive:ngAnimate ngAnimate}
- * alongside {@link ng.directive:ngAnimate#Description common ng directives} as well as custom directives.
+ * **NOTE**: animations are take effect only if the **ngAnimate** module is loaded.
+ *
+ *
+ * Defines an animation hook that can be later used with {@link ngAnimate.$animate $animate} service and
+ * directives that use this service.
+ *
* <pre>
- * module.animation('animation-name', function($inject1, $inject2) {
+ * module.animation('.animation-name', function($inject1, $inject2) {
* return {
- * //this gets called in preparation to setup an animation
- * setup : function(element) { ... },
- *
- * //this gets called once the animation is run
- * start : function(element, done, memo) { ... }
+ * eventName : function(element, done) {
+ * //code to run the animation
+ * //once complete, then run done()
+ * return function cancellationFunction(element) {
+ * //code to cancel the animation
+ * }
+ * }
* }
* })
* </pre>
*
- * See {@link ng.$animationProvider#register $animationProvider.register()} and
- * {@link ng.directive:ngAnimate ngAnimate} for more information.
+ * See {@link ngAnimate.$animateProvider#register $animateProvider.register()} and
+ * {@link ngAnimate ngAnimate module} for more information.
*/
- animation: invokeLater('$animationProvider', 'register'),
+ animation: invokeLater('$animateProvider', 'register'),
/**
* @ngdoc method
Deleted: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/extra/angular-mobile.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/extra/angular-mobile.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/extra/angular-mobile.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -1,460 +0,0 @@
-/** %%Ignore-License
- * @license AngularJS v1.1.5
- * (c) 2010-2012 Google, Inc. http://angularjs.org
- * License: MIT
- */
-(function(window, angular, undefined) {
-'use strict';
-
-/**
- * @ngdoc overview
- * @name ngMobile
- * @description
- * Touch events and other mobile helpers.
- * Based on jQuery Mobile touch event handling (jquerymobile.com)
- */
-
-// define ngMobile module
-var ngMobile = angular.module('ngMobile', []);
-
-/**
- * @ngdoc directive
- * @name ngMobile.directive:ngClick
- *
- * @description
- * A more powerful replacement for the default ngClick designed to be used on touchscreen
- * devices. Most mobile browsers wait about 300ms after a tap-and-release before sending
- * the click event. This version handles them immediately, and then prevents the
- * following click event from propagating.
- *
- * This directive can fall back to using an ordinary click event, and so works on desktop
- * browsers as well as mobile.
- *
- * This directive also sets the CSS class `ng-click-active` while the element is being held
- * down (by a mouse click or touch) so you can restyle the depressed element if you wish.
- *
- * @element ANY
- * @param {expression} ngClick {@link guide/expression Expression} to evaluate
- * upon tap. (Event object is available as `$event`)
- *
- * @example
- <doc:example>
- <doc:source>
- <button ng-click="count = count + 1" ng-init="count=0">
- Increment
- </button>
- count: {{ count }}
- </doc:source>
- </doc:example>
- */
-
-ngMobile.config(['$provide', function($provide) {
- $provide.decorator('ngClickDirective', ['$delegate', function($delegate) {
- // drop the default ngClick directive
- $delegate.shift();
- return $delegate;
- }]);
-}]);
-
-ngMobile.directive('ngClick', ['$parse', '$timeout', '$rootElement',
- function($parse, $timeout, $rootElement) {
- var TAP_DURATION = 750; // Shorter than 750ms is a tap, longer is a taphold or drag.
- var MOVE_TOLERANCE = 12; // 12px seems to work in most mobile browsers.
- var PREVENT_DURATION = 2500; // 2.5 seconds maximum from preventGhostClick call to click
- var CLICKBUSTER_THRESHOLD = 25; // 25 pixels in any dimension is the limit for busting clicks.
-
- var ACTIVE_CLASS_NAME = 'ng-click-active';
- var lastPreventedTime;
- var touchCoordinates;
-
-
- // TAP EVENTS AND GHOST CLICKS
- //
- // Why tap events?
- // Mobile browsers detect a tap, then wait a moment (usually ~300ms) to see if you're
- // double-tapping, and then fire a click event.
- //
- // This delay sucks and makes mobile apps feel unresponsive.
- // So we detect touchstart, touchmove, touchcancel and touchend ourselves and determine when
- // the user has tapped on something.
- //
- // What happens when the browser then generates a click event?
- // The browser, of course, also detects the tap and fires a click after a delay. This results in
- // tapping/clicking twice. So we do "clickbusting" to prevent it.
- //
- // How does it work?
- // We attach global touchstart and click handlers, that run during the capture (early) phase.
- // So the sequence for a tap is:
- // - global touchstart: Sets an "allowable region" at the point touched.
- // - element's touchstart: Starts a touch
- // (- touchmove or touchcancel ends the touch, no click follows)
- // - element's touchend: Determines if the tap is valid (didn't move too far away, didn't hold
- // too long) and fires the user's tap handler. The touchend also calls preventGhostClick().
- // - preventGhostClick() removes the allowable region the global touchstart created.
- // - The browser generates a click event.
- // - The global click handler catches the click, and checks whether it was in an allowable region.
- // - If preventGhostClick was called, the region will have been removed, the click is busted.
- // - If the region is still there, the click proceeds normally. Therefore clicks on links and
- // other elements without ngTap on them work normally.
- //
- // This is an ugly, terrible hack!
- // Yeah, tell me about it. The alternatives are using the slow click events, or making our users
- // deal with the ghost clicks, so I consider this the least of evils. Fortunately Angular
- // encapsulates this ugly logic away from the user.
- //
- // Why not just put click handlers on the element?
- // We do that too, just to be sure. The problem is that the tap event might have caused the DOM
- // to change, so that the click fires in the same position but something else is there now. So
- // the handlers are global and care only about coordinates and not elements.
-
- // Checks if the coordinates are close enough to be within the region.
- function hit(x1, y1, x2, y2) {
- return Math.abs(x1 - x2) < CLICKBUSTER_THRESHOLD && Math.abs(y1 - y2) < CLICKBUSTER_THRESHOLD;
- }
-
- // Checks a list of allowable regions against a click location.
- // Returns true if the click should be allowed.
- // Splices out the allowable region from the list after it has been used.
- function checkAllowableRegions(touchCoordinates, x, y) {
- for (var i = 0; i < touchCoordinates.length; i += 2) {
- if (hit(touchCoordinates[i], touchCoordinates[i+1], x, y)) {
- touchCoordinates.splice(i, i + 2);
- return true; // allowable region
- }
- }
- return false; // No allowable region; bust it.
- }
-
- // Global click handler that prevents the click if it's in a bustable zone and preventGhostClick
- // was called recently.
- function onClick(event) {
- if (Date.now() - lastPreventedTime > PREVENT_DURATION) {
- return; // Too old.
- }
-
- var touches = event.touches && event.touches.length ? event.touches : [event];
- var x = touches[0].clientX;
- var y = touches[0].clientY;
- // Work around desktop Webkit quirk where clicking a label will fire two clicks (on the label
- // and on the input element). Depending on the exact browser, this second click we don't want
- // to bust has either (0,0) or negative coordinates.
- if (x < 1 && y < 1) {
- return; // offscreen
- }
-
- // Look for an allowable region containing this click.
- // If we find one, that means it was created by touchstart and not removed by
- // preventGhostClick, so we don't bust it.
- if (checkAllowableRegions(touchCoordinates, x, y)) {
- return;
- }
-
- // If we didn't find an allowable region, bust the click.
- event.stopPropagation();
- event.preventDefault();
- }
-
-
- // Global touchstart handler that creates an allowable region for a click event.
- // This allowable region can be removed by preventGhostClick if we want to bust it.
- function onTouchStart(event) {
- var touches = event.touches && event.touches.length ? event.touches : [event];
- var x = touches[0].clientX;
- var y = touches[0].clientY;
- touchCoordinates.push(x, y);
-
- $timeout(function() {
- // Remove the allowable region.
- for (var i = 0; i < touchCoordinates.length; i += 2) {
- if (touchCoordinates[i] == x && touchCoordinates[i+1] == y) {
- touchCoordinates.splice(i, i + 2);
- return;
- }
- }
- }, PREVENT_DURATION, false);
- }
-
- // On the first call, attaches some event handlers. Then whenever it gets called, it creates a
- // zone around the touchstart where clicks will get busted.
- function preventGhostClick(x, y) {
- if (!touchCoordinates) {
- $rootElement[0].addEventListener('click', onClick, true);
- $rootElement[0].addEventListener('touchstart', onTouchStart, true);
- touchCoordinates = [];
- }
-
- lastPreventedTime = Date.now();
-
- checkAllowableRegions(touchCoordinates, x, y);
- }
-
- // Actual linking function.
- return function(scope, element, attr) {
- var clickHandler = $parse(attr.ngClick),
- tapping = false,
- tapElement, // Used to blur the element after a tap.
- startTime, // Used to check if the tap was held too long.
- touchStartX,
- touchStartY;
-
- function resetState() {
- tapping = false;
- element.removeClass(ACTIVE_CLASS_NAME);
- }
-
- element.bind('touchstart', function(event) {
- tapping = true;
- tapElement = event.target ? event.target : event.srcElement; // IE uses srcElement.
- // Hack for Safari, which can target text nodes instead of containers.
- if(tapElement.nodeType == 3) {
- tapElement = tapElement.parentNode;
- }
-
- element.addClass(ACTIVE_CLASS_NAME);
-
- startTime = Date.now();
-
- var touches = event.touches && event.touches.length ? event.touches : [event];
- var e = touches[0].originalEvent || touches[0];
- touchStartX = e.clientX;
- touchStartY = e.clientY;
- });
-
- element.bind('touchmove', function(event) {
- resetState();
- });
-
- element.bind('touchcancel', function(event) {
- resetState();
- });
-
- element.bind('touchend', function(event) {
- var diff = Date.now() - startTime;
-
- var touches = (event.changedTouches && event.changedTouches.length) ? event.changedTouches :
- ((event.touches && event.touches.length) ? event.touches : [event]);
- var e = touches[0].originalEvent || touches[0];
- var x = e.clientX;
- var y = e.clientY;
- var dist = Math.sqrt( Math.pow(x - touchStartX, 2) + Math.pow(y - touchStartY, 2) );
-
- if (tapping && diff < TAP_DURATION && dist < MOVE_TOLERANCE) {
- // Call preventGhostClick so the clickbuster will catch the corresponding click.
- preventGhostClick(x, y);
-
- // Blur the focused element (the button, probably) before firing the callback.
- // This doesn't work perfectly on Android Chrome, but seems to work elsewhere.
- // I couldn't get anything to work reliably on Android Chrome.
- if (tapElement) {
- tapElement.blur();
- }
-
- scope.$apply(function() {
- // TODO(braden): This is sending the touchend, not a tap or click. Is that kosher?
- clickHandler(scope, {$event: event});
- });
- }
-
- resetState();
- });
-
- // Hack for iOS Safari's benefit. It goes searching for onclick handlers and is liable to click
- // something else nearby.
- element.onclick = function(event) { };
-
- // Fallback click handler.
- // Busted clicks don't get this far, and adding this handler allows ng-tap to be used on
- // desktop as well, to allow more portable sites.
- element.bind('click', function(event) {
- scope.$apply(function() {
- clickHandler(scope, {$event: event});
- });
- });
-
- element.bind('mousedown', function(event) {
- element.addClass(ACTIVE_CLASS_NAME);
- });
-
- element.bind('mousemove mouseup', function(event) {
- element.removeClass(ACTIVE_CLASS_NAME);
- });
-
- };
-}]);
-
-/**
- * @ngdoc directive
- * @name ngMobile.directive:ngSwipeLeft
- *
- * @description
- * Specify custom behavior when an element is swiped to the left on a touchscreen device.
- * A leftward swipe is a quick, right-to-left slide of the finger.
- * Though ngSwipeLeft is designed for touch-based devices, it will work with a mouse click and drag too.
- *
- * @element ANY
- * @param {expression} ngSwipeLeft {@link guide/expression Expression} to evaluate
- * upon left swipe. (Event object is available as `$event`)
- *
- * @example
- <doc:example>
- <doc:source>
- <div ng-show="!showActions" ng-swipe-left="showActions = true">
- Some list content, like an email in the inbox
- </div>
- <div ng-show="showActions" ng-swipe-right="showActions = false">
- <button ng-click="reply()">Reply</button>
- <button ng-click="delete()">Delete</button>
- </div>
- </doc:source>
- </doc:example>
- */
-
-/**
- * @ngdoc directive
- * @name ngMobile.directive:ngSwipeRight
- *
- * @description
- * Specify custom behavior when an element is swiped to the right on a touchscreen device.
- * A rightward swipe is a quick, left-to-right slide of the finger.
- * Though ngSwipeRight is designed for touch-based devices, it will work with a mouse click and drag too.
- *
- * @element ANY
- * @param {expression} ngSwipeRight {@link guide/expression Expression} to evaluate
- * upon right swipe. (Event object is available as `$event`)
- *
- * @example
- <doc:example>
- <doc:source>
- <div ng-show="!showActions" ng-swipe-left="showActions = true">
- Some list content, like an email in the inbox
- </div>
- <div ng-show="showActions" ng-swipe-right="showActions = false">
- <button ng-click="reply()">Reply</button>
- <button ng-click="delete()">Delete</button>
- </div>
- </doc:source>
- </doc:example>
- */
-
-function makeSwipeDirective(directiveName, direction) {
- ngMobile.directive(directiveName, ['$parse', function($parse) {
- // The maximum vertical delta for a swipe should be less than 75px.
- var MAX_VERTICAL_DISTANCE = 75;
- // Vertical distance should not be more than a fraction of the horizontal distance.
- var MAX_VERTICAL_RATIO = 0.3;
- // At least a 30px lateral motion is necessary for a swipe.
- var MIN_HORIZONTAL_DISTANCE = 30;
- // The total distance in any direction before we make the call on swipe vs. scroll.
- var MOVE_BUFFER_RADIUS = 10;
-
- function getCoordinates(event) {
- var touches = event.touches && event.touches.length ? event.touches : [event];
- var e = (event.changedTouches && event.changedTouches[0]) ||
- (event.originalEvent && event.originalEvent.changedTouches &&
- event.originalEvent.changedTouches[0]) ||
- touches[0].originalEvent || touches[0];
-
- return {
- x: e.clientX,
- y: e.clientY
- };
- }
-
- return function(scope, element, attr) {
- var swipeHandler = $parse(attr[directiveName]);
- var startCoords, valid;
- var totalX, totalY;
- var lastX, lastY;
-
- function validSwipe(event) {
- // Check that it's within the coordinates.
- // Absolute vertical distance must be within tolerances.
- // Horizontal distance, we take the current X - the starting X.
- // This is negative for leftward swipes and positive for rightward swipes.
- // After multiplying by the direction (-1 for left, +1 for right), legal swipes
- // (ie. same direction as the directive wants) will have a positive delta and
- // illegal ones a negative delta.
- // Therefore this delta must be positive, and larger than the minimum.
- if (!startCoords) return false;
- var coords = getCoordinates(event);
- var deltaY = Math.abs(coords.y - startCoords.y);
- var deltaX = (coords.x - startCoords.x) * direction;
- return valid && // Short circuit for already-invalidated swipes.
- deltaY < MAX_VERTICAL_DISTANCE &&
- deltaX > 0 &&
- deltaX > MIN_HORIZONTAL_DISTANCE &&
- deltaY / deltaX < MAX_VERTICAL_RATIO;
- }
-
- element.bind('touchstart mousedown', function(event) {
- startCoords = getCoordinates(event);
- valid = true;
- totalX = 0;
- totalY = 0;
- lastX = startCoords.x;
- lastY = startCoords.y;
- });
-
- element.bind('touchcancel', function(event) {
- valid = false;
- });
-
- element.bind('touchmove mousemove', function(event) {
- if (!valid) return;
-
- // Android will send a touchcancel if it thinks we're starting to scroll.
- // So when the total distance (+ or - or both) exceeds 10px in either direction,
- // we either:
- // - On totalX > totalY, we send preventDefault() and treat this as a swipe.
- // - On totalY > totalX, we let the browser handle it as a scroll.
-
- // Invalidate a touch while it's in progress if it strays too far away vertically.
- // We don't want a scroll down and back up while drifting sideways to be a swipe just
- // because you happened to end up vertically close in the end.
- if (!startCoords) return;
- var coords = getCoordinates(event);
-
- if (Math.abs(coords.y - startCoords.y) > MAX_VERTICAL_DISTANCE) {
- valid = false;
- return;
- }
-
- totalX += Math.abs(coords.x - lastX);
- totalY += Math.abs(coords.y - lastY);
-
- lastX = coords.x;
- lastY = coords.y;
-
- if (totalX < MOVE_BUFFER_RADIUS && totalY < MOVE_BUFFER_RADIUS) {
- return;
- }
-
- // One of totalX or totalY has exceeded the buffer, so decide on swipe vs. scroll.
- if (totalY > totalX) {
- valid = false;
- return;
- } else {
- event.preventDefault();
- }
- });
-
- element.bind('touchend mouseup', function(event) {
- if (validSwipe(event)) {
- // Prevent this swipe from bubbling up to any other elements with ngSwipes.
- event.stopPropagation();
- scope.$apply(function() {
- swipeHandler(scope, {$event:event});
- });
- }
- });
- };
- }]);
-}
-
-// Left is negative X-coordinate, right is positive.
-makeSwipeDirective('ngSwipeLeft', -1);
-makeSwipeDirective('ngSwipeRight', 1);
-
-
-
-})(window, window.angular);
Added: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/extra/angular-mocks.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/extra/angular-mocks.js (rev 0)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/extra/angular-mocks.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -0,0 +1,1952 @@
+/** %%Ignore-License
+ * @license AngularJS v1.2.0rc1
+ * (c) 2010-2012 Google, Inc. http://angularjs.org
+ * License: MIT
+ *
+ * TODO(vojta): wrap whole file into closure during build
+ */
+
+/**
+ * @ngdoc overview
+ * @name angular.mock
+ * @description
+ *
+ * Namespace from 'angular-mocks.js' which contains testing related code.
+ */
+angular.mock = {};
+
+/**
+ * ! This is a private undocumented service !
+ *
+ * @name ngMock.$browser
+ *
+ * @description
+ * This service is a mock implementation of {@link ng.$browser}. It provides fake
+ * implementation for commonly used browser apis that are hard to test, e.g. setTimeout, xhr,
+ * cookies, etc...
+ *
+ * The api of this service is the same as that of the real {@link ng.$browser $browser}, except
+ * that there are several helper methods available which can be used in tests.
+ */
+angular.mock.$BrowserProvider = function() {
+ this.$get = function() {
+ return new angular.mock.$Browser();
+ };
+};
+
+angular.mock.$Browser = function() {
+ var self = this;
+
+ this.isMock = true;
+ self.$$url = "http://server/";
+ self.$$lastUrl = self.$$url; // used by url polling fn
+ self.pollFns = [];
+
+ // TODO(vojta): remove this temporary api
+ self.$$completeOutstandingRequest = angular.noop;
+ self.$$incOutstandingRequestCount = angular.noop;
+
+
+ // register url polling fn
+
+ self.onUrlChange = function(listener) {
+ self.pollFns.push(
+ function() {
+ if (self.$$lastUrl != self.$$url) {
+ self.$$lastUrl = self.$$url;
+ listener(self.$$url);
+ }
+ }
+ );
+
+ return listener;
+ };
+
+ self.cookieHash = {};
+ self.lastCookieHash = {};
+ self.deferredFns = [];
+ self.deferredNextId = 0;
+
+ self.defer = function(fn, delay) {
+ delay = delay || 0;
+ self.deferredFns.push({time:(self.defer.now + delay), fn:fn, id: self.deferredNextId});
+ self.deferredFns.sort(function(a,b){ return a.time - b.time;});
+ return self.deferredNextId++;
+ };
+
+
+ self.defer.now = 0;
+
+
+ self.defer.cancel = function(deferId) {
+ var fnIndex;
+
+ angular.forEach(self.deferredFns, function(fn, index) {
+ if (fn.id === deferId) fnIndex = index;
+ });
+
+ if (fnIndex !== undefined) {
+ self.deferredFns.splice(fnIndex, 1);
+ return true;
+ }
+
+ return false;
+ };
+
+
+ /**
+ * @name ngMock.$browser#defer.flush
+ * @methodOf ngMock.$browser
+ *
+ * @description
+ * Flushes all pending requests and executes the defer callbacks.
+ *
+ * @param {number=} number of milliseconds to flush. See {@link #defer.now}
+ */
+ self.defer.flush = function(delay) {
+ if (angular.isDefined(delay)) {
+ self.defer.now += delay;
+ } else {
+ if (self.deferredFns.length) {
+ self.defer.now = self.deferredFns[self.deferredFns.length-1].time;
+ } else {
+ throw Error('No deferred tasks to be flushed');
+ }
+ }
+
+ while (self.deferredFns.length && self.deferredFns[0].time <= self.defer.now) {
+ self.deferredFns.shift().fn();
+ }
+ };
+
+ /**
+ * @name ngMock.$browser#defer.flushNext
+ * @methodOf ngMock.$browser
+ *
+ * @description
+ * Flushes next pending request and compares it to the provided delay
+ *
+ * @param {number=} expectedDelay the delay value that will be asserted against the delay of the next timeout function
+ */
+ self.defer.flushNext = function(expectedDelay) {
+ var tick = self.deferredFns.shift();
+ expect(tick.time).toEqual(expectedDelay);
+ tick.fn();
+ };
+
+ /**
+ * @name ngMock.$browser#defer.now
+ * @propertyOf ngMock.$browser
+ *
+ * @description
+ * Current milliseconds mock time.
+ */
+
+ self.$$baseHref = '';
+ self.baseHref = function() {
+ return this.$$baseHref;
+ };
+};
+angular.mock.$Browser.prototype = {
+
+/**
+ * @name ngMock.$browser#poll
+ * @methodOf ngMock.$browser
+ *
+ * @description
+ * run all fns in pollFns
+ */
+ poll: function poll() {
+ angular.forEach(this.pollFns, function(pollFn){
+ pollFn();
+ });
+ },
+
+ addPollFn: function(pollFn) {
+ this.pollFns.push(pollFn);
+ return pollFn;
+ },
+
+ url: function(url, replace) {
+ if (url) {
+ this.$$url = url;
+ return this;
+ }
+
+ return this.$$url;
+ },
+
+ cookies: function(name, value) {
+ if (name) {
+ if (value == undefined) {
+ delete this.cookieHash[name];
+ } else {
+ if (angular.isString(value) && //strings only
+ value.length <= 4096) { //strict cookie storage limits
+ this.cookieHash[name] = value;
+ }
+ }
+ } else {
+ if (!angular.equals(this.cookieHash, this.lastCookieHash)) {
+ this.lastCookieHash = angular.copy(this.cookieHash);
+ this.cookieHash = angular.copy(this.cookieHash);
+ }
+ return this.cookieHash;
+ }
+ },
+
+ notifyWhenNoOutstandingRequests: function(fn) {
+ fn();
+ }
+};
+
+
+/**
+ * @ngdoc object
+ * @name ngMock.$exceptionHandlerProvider
+ *
+ * @description
+ * Configures the mock implementation of {@link ng.$exceptionHandler} to rethrow or to log errors passed
+ * into the `$exceptionHandler`.
+ */
+
+/**
+ * @ngdoc object
+ * @name ngMock.$exceptionHandler
+ *
+ * @description
+ * Mock implementation of {@link ng.$exceptionHandler} that rethrows or logs errors passed
+ * into it. See {@link ngMock.$exceptionHandlerProvider $exceptionHandlerProvider} for configuration
+ * information.
+ *
+ *
+ * <pre>
+ * describe('$exceptionHandlerProvider', function() {
+ *
+ * it('should capture log messages and exceptions', function() {
+ *
+ * module(function($exceptionHandlerProvider) {
+ * $exceptionHandlerProvider.mode('log');
+ * });
+ *
+ * inject(function($log, $exceptionHandler, $timeout) {
+ * $timeout(function() { $log.log(1); });
+ * $timeout(function() { $log.log(2); throw 'banana peel'; });
+ * $timeout(function() { $log.log(3); });
+ * expect($exceptionHandler.errors).toEqual([]);
+ * expect($log.assertEmpty());
+ * $timeout.flush();
+ * expect($exceptionHandler.errors).toEqual(['banana peel']);
+ * expect($log.log.logs).toEqual([[1], [2], [3]]);
+ * });
+ * });
+ * });
+ * </pre>
+ */
+
+angular.mock.$ExceptionHandlerProvider = function() {
+ var handler;
+
+ /**
+ * @ngdoc method
+ * @name ngMock.$exceptionHandlerProvider#mode
+ * @methodOf ngMock.$exceptionHandlerProvider
+ *
+ * @description
+ * Sets the logging mode.
+ *
+ * @param {string} mode Mode of operation, defaults to `rethrow`.
+ *
+ * - `rethrow`: If any errors are passed into the handler in tests, it typically
+ * means that there is a bug in the application or test, so this mock will
+ * make these tests fail.
+ * - `log`: Sometimes it is desirable to test that an error is thrown, for this case the `log` mode stores an
+ * array of errors in `$exceptionHandler.errors`, to allow later assertion of them.
+ * See {@link ngMock.$log#assertEmpty assertEmpty()} and
+ * {@link ngMock.$log#reset reset()}
+ */
+ this.mode = function(mode) {
+ switch(mode) {
+ case 'rethrow':
+ handler = function(e) {
+ throw e;
+ };
+ break;
+ case 'log':
+ var errors = [];
+
+ handler = function(e) {
+ if (arguments.length == 1) {
+ errors.push(e);
+ } else {
+ errors.push([].slice.call(arguments, 0));
+ }
+ };
+
+ handler.errors = errors;
+ break;
+ default:
+ throw Error("Unknown mode '" + mode + "', only 'log'/'rethrow' modes are allowed!");
+ }
+ };
+
+ this.$get = function() {
+ return handler;
+ };
+
+ this.mode('rethrow');
+};
+
+
+/**
+ * @ngdoc service
+ * @name ngMock.$log
+ *
+ * @description
+ * Mock implementation of {@link ng.$log} that gathers all logged messages in arrays
+ * (one array per logging level). These arrays are exposed as `logs` property of each of the
+ * level-specific log function, e.g. for level `error` the array is exposed as `$log.error.logs`.
+ *
+ */
+angular.mock.$LogProvider = function() {
+ var debug = true;
+
+ function concat(array1, array2, index) {
+ return array1.concat(Array.prototype.slice.call(array2, index));
+ }
+
+ this.debugEnabled = function(flag) {
+ if (isDefined(flag)) {
+ debug = flag;
+ return this;
+ } else {
+ return debug;
+ }
+ };
+
+ this.$get = function () {
+ var $log = {
+ log: function() { $log.log.logs.push(concat([], arguments, 0)); },
+ warn: function() { $log.warn.logs.push(concat([], arguments, 0)); },
+ info: function() { $log.info.logs.push(concat([], arguments, 0)); },
+ error: function() { $log.error.logs.push(concat([], arguments, 0)); },
+ debug: function() {
+ if (debug) {
+ $log.debug.logs.push(concat([], arguments, 0));
+ }
+ }
+ };
+
+ /**
+ * @ngdoc method
+ * @name ngMock.$log#reset
+ * @methodOf ngMock.$log
+ *
+ * @description
+ * Reset all of the logging arrays to empty.
+ */
+ $log.reset = function () {
+ /**
+ * @ngdoc property
+ * @name ngMock.$log#log.logs
+ * @propertyOf ngMock.$log
+ *
+ * @description
+ * Array of messages logged using {@link ngMock.$log#log}.
+ *
+ * @example
+ * <pre>
+ * $log.log('Some Log');
+ * var first = $log.log.logs.unshift();
+ * </pre>
+ */
+ $log.log.logs = [];
+ /**
+ * @ngdoc property
+ * @name ngMock.$log#info.logs
+ * @propertyOf ngMock.$log
+ *
+ * @description
+ * Array of messages logged using {@link ngMock.$log#info}.
+ *
+ * @example
+ * <pre>
+ * $log.info('Some Info');
+ * var first = $log.info.logs.unshift();
+ * </pre>
+ */
+ $log.info.logs = [];
+ /**
+ * @ngdoc property
+ * @name ngMock.$log#warn.logs
+ * @propertyOf ngMock.$log
+ *
+ * @description
+ * Array of messages logged using {@link ngMock.$log#warn}.
+ *
+ * @example
+ * <pre>
+ * $log.warn('Some Warning');
+ * var first = $log.warn.logs.unshift();
+ * </pre>
+ */
+ $log.warn.logs = [];
+ /**
+ * @ngdoc property
+ * @name ngMock.$log#error.logs
+ * @propertyOf ngMock.$log
+ *
+ * @description
+ * Array of messages logged using {@link ngMock.$log#error}.
+ *
+ * @example
+ * <pre>
+ * $log.log('Some Error');
+ * var first = $log.error.logs.unshift();
+ * </pre>
+ */
+ $log.error.logs = [];
+ /**
+ * @ngdoc property
+ * @name ngMock.$log#debug.logs
+ * @propertyOf ngMock.$log
+ *
+ * @description
+ * Array of messages logged using {@link ngMock.$log#debug}.
+ *
+ * @example
+ * <pre>
+ * $log.debug('Some Error');
+ * var first = $log.debug.logs.unshift();
+ * </pre>
+ */
+ $log.debug.logs = []
+ };
+
+ /**
+ * @ngdoc method
+ * @name ngMock.$log#assertEmpty
+ * @methodOf ngMock.$log
+ *
+ * @description
+ * Assert that the all of the logging methods have no logged messages. If messages present, an exception is thrown.
+ */
+ $log.assertEmpty = function() {
+ var errors = [];
+ angular.forEach(['error', 'warn', 'info', 'log', 'debug'], function(logLevel) {
+ angular.forEach($log[logLevel].logs, function(log) {
+ angular.forEach(log, function (logItem) {
+ errors.push('MOCK $log (' + logLevel + '): ' + String(logItem) + '\n' + (logItem.stack || ''));
+ });
+ });
+ });
+ if (errors.length) {
+ errors.unshift("Expected $log to be empty! Either a message was logged unexpectedly, or an expected " +
+ "log message was not checked and removed:");
+ errors.push('');
+ throw new Error(errors.join('\n---------\n'));
+ }
+ };
+
+ $log.reset();
+ return $log;
+ };
+};
+
+
+(function() {
+ var R_ISO8061_STR = /^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?:\:?(\d\d)(?:\:?(\d\d)(?:\.(\d{3}))?)?)?(Z|([+-])(\d\d):?(\d\d)))?$/;
+
+ function jsonStringToDate(string) {
+ var match;
+ if (match = string.match(R_ISO8061_STR)) {
+ var date = new Date(0),
+ tzHour = 0,
+ tzMin = 0;
+ if (match[9]) {
+ tzHour = int(match[9] + match[10]);
+ tzMin = int(match[9] + match[11]);
+ }
+ date.setUTCFullYear(int(match[1]), int(match[2]) - 1, int(match[3]));
+ date.setUTCHours(int(match[4]||0) - tzHour, int(match[5]||0) - tzMin, int(match[6]||0), int(match[7]||0));
+ return date;
+ }
+ return string;
+ }
+
+ function int(str) {
+ return parseInt(str, 10);
+ }
+
+ function padNumber(num, digits, trim) {
+ var neg = '';
+ if (num < 0) {
+ neg = '-';
+ num = -num;
+ }
+ num = '' + num;
+ while(num.length < digits) num = '0' + num;
+ if (trim)
+ num = num.substr(num.length - digits);
+ return neg + num;
+ }
+
+
+ /**
+ * @ngdoc object
+ * @name angular.mock.TzDate
+ * @description
+ *
+ * *NOTE*: this is not an injectable instance, just a globally available mock class of `Date`.
+ *
+ * Mock of the Date type which has its timezone specified via constructor arg.
+ *
+ * The main purpose is to create Date-like instances with timezone fixed to the specified timezone
+ * offset, so that we can test code that depends on local timezone settings without dependency on
+ * the time zone settings of the machine where the code is running.
+ *
+ * @param {number} offset Offset of the *desired* timezone in hours (fractions will be honored)
+ * @param {(number|string)} timestamp Timestamp representing the desired time in *UTC*
+ *
+ * @example
+ * !!!! WARNING !!!!!
+ * This is not a complete Date object so only methods that were implemented can be called safely.
+ * To make matters worse, TzDate instances inherit stuff from Date via a prototype.
+ *
+ * We do our best to intercept calls to "unimplemented" methods, but since the list of methods is
+ * incomplete we might be missing some non-standard methods. This can result in errors like:
+ * "Date.prototype.foo called on incompatible Object".
+ *
+ * <pre>
+ * var newYearInBratislava = new TzDate(-1, '2009-12-31T23:00:00Z');
+ * newYearInBratislava.getTimezoneOffset() => -60;
+ * newYearInBratislava.getFullYear() => 2010;
+ * newYearInBratislava.getMonth() => 0;
+ * newYearInBratislava.getDate() => 1;
+ * newYearInBratislava.getHours() => 0;
+ * newYearInBratislava.getMinutes() => 0;
+ * newYearInBratislava.getSeconds() => 0;
+ * </pre>
+ *
+ */
+ angular.mock.TzDate = function (offset, timestamp) {
+ var self = new Date(0);
+ if (angular.isString(timestamp)) {
+ var tsStr = timestamp;
+
+ self.origDate = jsonStringToDate(timestamp);
+
+ timestamp = self.origDate.getTime();
+ if (isNaN(timestamp))
+ throw {
+ name: "Illegal Argument",
+ message: "Arg '" + tsStr + "' passed into TzDate constructor is not a valid date string"
+ };
+ } else {
+ self.origDate = new Date(timestamp);
+ }
+
+ var localOffset = new Date(timestamp).getTimezoneOffset();
+ self.offsetDiff = localOffset*60*1000 - offset*1000*60*60;
+ self.date = new Date(timestamp + self.offsetDiff);
+
+ self.getTime = function() {
+ return self.date.getTime() - self.offsetDiff;
+ };
+
+ self.toLocaleDateString = function() {
+ return self.date.toLocaleDateString();
+ };
+
+ self.getFullYear = function() {
+ return self.date.getFullYear();
+ };
+
+ self.getMonth = function() {
+ return self.date.getMonth();
+ };
+
+ self.getDate = function() {
+ return self.date.getDate();
+ };
+
+ self.getHours = function() {
+ return self.date.getHours();
+ };
+
+ self.getMinutes = function() {
+ return self.date.getMinutes();
+ };
+
+ self.getSeconds = function() {
+ return self.date.getSeconds();
+ };
+
+ self.getMilliseconds = function() {
+ return self.date.getMilliseconds();
+ };
+
+ self.getTimezoneOffset = function() {
+ return offset * 60;
+ };
+
+ self.getUTCFullYear = function() {
+ return self.origDate.getUTCFullYear();
+ };
+
+ self.getUTCMonth = function() {
+ return self.origDate.getUTCMonth();
+ };
+
+ self.getUTCDate = function() {
+ return self.origDate.getUTCDate();
+ };
+
+ self.getUTCHours = function() {
+ return self.origDate.getUTCHours();
+ };
+
+ self.getUTCMinutes = function() {
+ return self.origDate.getUTCMinutes();
+ };
+
+ self.getUTCSeconds = function() {
+ return self.origDate.getUTCSeconds();
+ };
+
+ self.getUTCMilliseconds = function() {
+ return self.origDate.getUTCMilliseconds();
+ };
+
+ self.getDay = function() {
+ return self.date.getDay();
+ };
+
+ // provide this method only on browsers that already have it
+ if (self.toISOString) {
+ self.toISOString = function() {
+ return padNumber(self.origDate.getUTCFullYear(), 4) + '-' +
+ padNumber(self.origDate.getUTCMonth() + 1, 2) + '-' +
+ padNumber(self.origDate.getUTCDate(), 2) + 'T' +
+ padNumber(self.origDate.getUTCHours(), 2) + ':' +
+ padNumber(self.origDate.getUTCMinutes(), 2) + ':' +
+ padNumber(self.origDate.getUTCSeconds(), 2) + '.' +
+ padNumber(self.origDate.getUTCMilliseconds(), 3) + 'Z'
+ }
+ }
+
+ //hide all methods not implemented in this mock that the Date prototype exposes
+ var unimplementedMethods = ['getUTCDay',
+ 'getYear', 'setDate', 'setFullYear', 'setHours', 'setMilliseconds',
+ 'setMinutes', 'setMonth', 'setSeconds', 'setTime', 'setUTCDate', 'setUTCFullYear',
+ 'setUTCHours', 'setUTCMilliseconds', 'setUTCMinutes', 'setUTCMonth', 'setUTCSeconds',
+ 'setYear', 'toDateString', 'toGMTString', 'toJSON', 'toLocaleFormat', 'toLocaleString',
+ 'toLocaleTimeString', 'toSource', 'toString', 'toTimeString', 'toUTCString', 'valueOf'];
+
+ angular.forEach(unimplementedMethods, function(methodName) {
+ self[methodName] = function() {
+ throw Error("Method '" + methodName + "' is not implemented in the TzDate mock");
+ };
+ });
+
+ return self;
+ };
+
+ //make "tzDateInstance instanceof Date" return true
+ angular.mock.TzDate.prototype = Date.prototype;
+})();
+
+angular.mock.animate = angular.module('mock.animate', ['ng'])
+
+ .config(['$provide', function($provide) {
+
+ $provide.decorator('$animate', function($delegate) {
+ var animate = {
+ queue : [],
+ enabled : $delegate.enabled,
+ flushNext : function(name) {
+ var tick = animate.queue.shift();
+ expect(tick.method).toBe(name);
+ tick.fn();
+ return tick;
+ }
+ };
+
+ forEach(['enter','leave','move','addClass','removeClass'], function(method) {
+ animate[method] = function() {
+ var params = arguments;
+ animate.queue.push({
+ method : method,
+ params : params,
+ element : angular.isElement(params[0]) && params[0],
+ parent : angular.isElement(params[1]) && params[1],
+ after : angular.isElement(params[2]) && params[2],
+ fn : function() {
+ $delegate[method].apply($delegate, params);
+ }
+ });
+ };
+ });
+
+ return animate;
+ });
+
+ }]);
+
+
+/**
+ * @ngdoc function
+ * @name angular.mock.dump
+ * @description
+ *
+ * *NOTE*: this is not an injectable instance, just a globally available function.
+ *
+ * Method for serializing common angular objects (scope, elements, etc..) into strings, useful for debugging.
+ *
+ * This method is also available on window, where it can be used to display objects on debug console.
+ *
+ * @param {*} object - any object to turn into string.
+ * @return {string} a serialized string of the argument
+ */
+angular.mock.dump = function(object) {
+ return serialize(object);
+
+ function serialize(object) {
+ var out;
+
+ if (angular.isElement(object)) {
+ object = angular.element(object);
+ out = angular.element('<div></div>');
+ angular.forEach(object, function(element) {
+ out.append(angular.element(element).clone());
+ });
+ out = out.html();
+ } else if (angular.isArray(object)) {
+ out = [];
+ angular.forEach(object, function(o) {
+ out.push(serialize(o));
+ });
+ out = '[ ' + out.join(', ') + ' ]';
+ } else if (angular.isObject(object)) {
+ if (angular.isFunction(object.$eval) && angular.isFunction(object.$apply)) {
+ out = serializeScope(object);
+ } else if (object instanceof Error) {
+ out = object.stack || ('' + object.name + ': ' + object.message);
+ } else {
+ // TODO(i): this prevents methods to be logged, we should have a better way to serialize objects
+ out = angular.toJson(object, true);
+ }
+ } else {
+ out = String(object);
+ }
+
+ return out;
+ }
+
+ function serializeScope(scope, offset) {
+ offset = offset || ' ';
+ var log = [offset + 'Scope(' + scope.$id + '): {'];
+ for ( var key in scope ) {
+ if (scope.hasOwnProperty(key) && !key.match(/^(\$|this)/)) {
+ log.push(' ' + key + ': ' + angular.toJson(scope[key]));
+ }
+ }
+ var child = scope.$$childHead;
+ while(child) {
+ log.push(serializeScope(child, offset + ' '));
+ child = child.$$nextSibling;
+ }
+ log.push('}');
+ return log.join('\n' + offset);
+ }
+};
+
+/**
+ * @ngdoc object
+ * @name ngMock.$httpBackend
+ * @description
+ * Fake HTTP backend implementation suitable for unit testing applications that use the
+ * {@link ng.$http $http service}.
+ *
+ * *Note*: For fake HTTP backend implementation suitable for end-to-end testing or backend-less
+ * development please see {@link ngMockE2E.$httpBackend e2e $httpBackend mock}.
+ *
+ * During unit testing, we want our unit tests to run quickly and have no external dependencies so
+ * we don’t want to send {@link https://developer.mozilla.org/en/xmlhttprequest XHR} or
+ * {@link http://en.wikipedia.org/wiki/JSONP JSONP} requests to a real server. All we really need is
+ * to verify whether a certain request has been sent or not, or alternatively just let the
+ * application make requests, respond with pre-trained responses and assert that the end result is
+ * what we expect it to be.
+ *
+ * This mock implementation can be used to respond with static or dynamic responses via the
+ * `expect` and `when` apis and their shortcuts (`expectGET`, `whenPOST`, etc).
+ *
+ * When an Angular application needs some data from a server, it calls the $http service, which
+ * sends the request to a real server using $httpBackend service. With dependency injection, it is
+ * easy to inject $httpBackend mock (which has the same API as $httpBackend) and use it to verify
+ * the requests and respond with some testing data without sending a request to real server.
+ *
+ * There are two ways to specify what test data should be returned as http responses by the mock
+ * backend when the code under test makes http requests:
+ *
+ * - `$httpBackend.expect` - specifies a request expectation
+ * - `$httpBackend.when` - specifies a backend definition
+ *
+ *
+ * # Request Expectations vs Backend Definitions
+ *
+ * Request expectations provide a way to make assertions about requests made by the application and
+ * to define responses for those requests. The test will fail if the expected requests are not made
+ * or they are made in the wrong order.
+ *
+ * Backend definitions allow you to define a fake backend for your application which doesn't assert
+ * if a particular request was made or not, it just returns a trained response if a request is made.
+ * The test will pass whether or not the request gets made during testing.
+ *
+ *
+ * <table class="table">
+ * <tr><th width="220px"></th><th>Request expectations</th><th>Backend definitions</th></tr>
+ * <tr>
+ * <th>Syntax</th>
+ * <td>.expect(...).respond(...)</td>
+ * <td>.when(...).respond(...)</td>
+ * </tr>
+ * <tr>
+ * <th>Typical usage</th>
+ * <td>strict unit tests</td>
+ * <td>loose (black-box) unit testing</td>
+ * </tr>
+ * <tr>
+ * <th>Fulfills multiple requests</th>
+ * <td>NO</td>
+ * <td>YES</td>
+ * </tr>
+ * <tr>
+ * <th>Order of requests matters</th>
+ * <td>YES</td>
+ * <td>NO</td>
+ * </tr>
+ * <tr>
+ * <th>Request required</th>
+ * <td>YES</td>
+ * <td>NO</td>
+ * </tr>
+ * <tr>
+ * <th>Response required</th>
+ * <td>optional (see below)</td>
+ * <td>YES</td>
+ * </tr>
+ * </table>
+ *
+ * In cases where both backend definitions and request expectations are specified during unit
+ * testing, the request expectations are evaluated first.
+ *
+ * If a request expectation has no response specified, the algorithm will search your backend
+ * definitions for an appropriate response.
+ *
+ * If a request didn't match any expectation or if the expectation doesn't have the response
+ * defined, the backend definitions are evaluated in sequential order to see if any of them match
+ * the request. The response from the first matched definition is returned.
+ *
+ *
+ * # Flushing HTTP requests
+ *
+ * The $httpBackend used in production, always responds to requests with responses asynchronously.
+ * If we preserved this behavior in unit testing, we'd have to create async unit tests, which are
+ * hard to write, follow and maintain. At the same time the testing mock, can't respond
+ * synchronously because that would change the execution of the code under test. For this reason the
+ * mock $httpBackend has a `flush()` method, which allows the test to explicitly flush pending
+ * requests and thus preserving the async api of the backend, while allowing the test to execute
+ * synchronously.
+ *
+ *
+ * # Unit testing with mock $httpBackend
+ * The following code shows how to setup and use the mock backend in unit testing a controller.
+ * First we create the controller under test
+ *
+ <pre>
+ // The controller code
+ function MyController($scope, $http) {
+ var authToken;
+
+ $http.get('/auth.py').success(function(data, status, headers) {
+ authToken = headers('A-Token');
+ $scope.user = data;
+ });
+
+ $scope.saveMessage = function(message) {
+ var headers = { 'Authorization': authToken };
+ $scope.status = 'Saving...';
+
+ $http.post('/add-msg.py', message, { headers: headers } ).success(function(response) {
+ $scope.status = '';
+ }).error(function() {
+ $scope.status = 'ERROR!';
+ });
+ };
+ }
+ </pre>
+ *
+ * Now we setup the mock backend and create the test specs.
+ *
+ <pre>
+ // testing controller
+ describe('MyController', function() {
+ var $httpBackend, $rootScope, createController;
+
+ beforeEach(inject(function($injector) {
+ // Set up the mock http service responses
+ $httpBackend = $injector.get('$httpBackend');
+ // backend definition common for all tests
+ $httpBackend.when('GET', '/auth.py').respond({userId: 'userX'}, {'A-Token': 'xxx'});
+
+ // Get hold of a scope (i.e. the root scope)
+ $rootScope = $injector.get('$rootScope');
+ // The $controller service is used to create instances of controllers
+ var $controller = $injector.get('$controller');
+
+ createController = function() {
+ return $controller('MyController', {'$scope' : $rootScope });
+ };
+ }));
+
+
+ afterEach(function() {
+ $httpBackend.verifyNoOutstandingExpectation();
+ $httpBackend.verifyNoOutstandingRequest();
+ });
+
+
+ it('should fetch authentication token', function() {
+ $httpBackend.expectGET('/auth.py');
+ var controller = createController();
+ $httpBackend.flush();
+ });
+
+
+ it('should send msg to server', function() {
+ var controller = createController();
+ $httpBackend.flush();
+
+ // now you don’t care about the authentication, but
+ // the controller will still send the request and
+ // $httpBackend will respond without you having to
+ // specify the expectation and response for this request
+
+ $httpBackend.expectPOST('/add-msg.py', 'message content').respond(201, '');
+ $rootScope.saveMessage('message content');
+ expect($rootScope.status).toBe('Saving...');
+ $httpBackend.flush();
+ expect($rootScope.status).toBe('');
+ });
+
+
+ it('should send auth header', function() {
+ var controller = createController();
+ $httpBackend.flush();
+
+ $httpBackend.expectPOST('/add-msg.py', undefined, function(headers) {
+ // check if the header was send, if it wasn't the expectation won't
+ // match the request and the test will fail
+ return headers['Authorization'] == 'xxx';
+ }).respond(201, '');
+
+ $rootScope.saveMessage('whatever');
+ $httpBackend.flush();
+ });
+ });
+ </pre>
+ */
+angular.mock.$HttpBackendProvider = function() {
+ this.$get = ['$rootScope', createHttpBackendMock];
+};
+
+/**
+ * General factory function for $httpBackend mock.
+ * Returns instance for unit testing (when no arguments specified):
+ * - passing through is disabled
+ * - auto flushing is disabled
+ *
+ * Returns instance for e2e testing (when `$delegate` and `$browser` specified):
+ * - passing through (delegating request to real backend) is enabled
+ * - auto flushing is enabled
+ *
+ * @param {Object=} $delegate Real $httpBackend instance (allow passing through if specified)
+ * @param {Object=} $browser Auto-flushing enabled if specified
+ * @return {Object} Instance of $httpBackend mock
+ */
+function createHttpBackendMock($rootScope, $delegate, $browser) {
+ var definitions = [],
+ expectations = [],
+ responses = [],
+ responsesPush = angular.bind(responses, responses.push);
+
+ function createResponse(status, data, headers) {
+ if (angular.isFunction(status)) return status;
+
+ return function() {
+ return angular.isNumber(status)
+ ? [status, data, headers]
+ : [200, status, data];
+ };
+ }
+
+ // TODO(vojta): change params to: method, url, data, headers, callback
+ function $httpBackend(method, url, data, callback, headers, timeout, withCredentials) {
+ var xhr = new MockXhr(),
+ expectation = expectations[0],
+ wasExpected = false;
+
+ function prettyPrint(data) {
+ return (angular.isString(data) || angular.isFunction(data) || data instanceof RegExp)
+ ? data
+ : angular.toJson(data);
+ }
+
+ function wrapResponse(wrapped) {
+ if (!$browser && timeout && timeout.then) timeout.then(handleTimeout);
+
+ return handleResponse;
+
+ function handleResponse() {
+ var response = wrapped.response(method, url, data, headers);
+ xhr.$$respHeaders = response[2];
+ callback(response[0], response[1], xhr.getAllResponseHeaders());
+ }
+
+ function handleTimeout() {
+ for (var i = 0, ii = responses.length; i < ii; i++) {
+ if (responses[i] === handleResponse) {
+ responses.splice(i, 1);
+ callback(-1, undefined, '');
+ break;
+ }
+ }
+ }
+ }
+
+ if (expectation && expectation.match(method, url)) {
+ if (!expectation.matchData(data))
+ throw new Error('Expected ' + expectation + ' with different data\n' +
+ 'EXPECTED: ' + prettyPrint(expectation.data) + '\nGOT: ' + data);
+
+ if (!expectation.matchHeaders(headers))
+ throw new Error('Expected ' + expectation + ' with different headers\n' +
+ 'EXPECTED: ' + prettyPrint(expectation.headers) + '\nGOT: ' + prettyPrint(headers));
+
+ expectations.shift();
+
+ if (expectation.response) {
+ responses.push(wrapResponse(expectation));
+ return;
+ }
+ wasExpected = true;
+ }
+
+ var i = -1, definition;
+ while ((definition = definitions[++i])) {
+ if (definition.match(method, url, data, headers || {})) {
+ if (definition.response) {
+ // if $browser specified, we do auto flush all requests
+ ($browser ? $browser.defer : responsesPush)(wrapResponse(definition));
+ } else if (definition.passThrough) {
+ $delegate(method, url, data, callback, headers, timeout, withCredentials);
+ } else throw Error('No response defined !');
+ return;
+ }
+ }
+ throw wasExpected ?
+ new Error('No response defined !') :
+ new Error('Unexpected request: ' + method + ' ' + url + '\n' +
+ (expectation ? 'Expected ' + expectation : 'No more request expected'));
+ }
+
+ /**
+ * @ngdoc method
+ * @name ngMock.$httpBackend#when
+ * @methodOf ngMock.$httpBackend
+ * @description
+ * Creates a new backend definition.
+ *
+ * @param {string} method HTTP method.
+ * @param {string|RegExp} url HTTP url.
+ * @param {(string|RegExp|function(string))=} data HTTP request body or function that receives
+ * data string and returns true if the data is as expected.
+ * @param {(Object|function(Object))=} headers HTTP headers or function that receives http header
+ * object and returns true if the headers match the current definition.
+ * @returns {requestHandler} Returns an object with `respond` method that control how a matched
+ * request is handled.
+ *
+ * - respond – `{function([status,] data[, headers])|function(function(method, url, data, headers)}`
+ * – The respond method takes a set of static data to be returned or a function that can return
+ * an array containing response status (number), response data (string) and response headers
+ * (Object).
+ */
+ $httpBackend.when = function(method, url, data, headers) {
+ var definition = new MockHttpExpectation(method, url, data, headers),
+ chain = {
+ respond: function(status, data, headers) {
+ definition.response = createResponse(status, data, headers);
+ }
+ };
+
+ if ($browser) {
+ chain.passThrough = function() {
+ definition.passThrough = true;
+ };
+ }
+
+ definitions.push(definition);
+ return chain;
+ };
+
+ /**
+ * @ngdoc method
+ * @name ngMock.$httpBackend#whenGET
+ * @methodOf ngMock.$httpBackend
+ * @description
+ * Creates a new backend definition for GET requests. For more info see `when()`.
+ *
+ * @param {string|RegExp} url HTTP url.
+ * @param {(Object|function(Object))=} headers HTTP headers.
+ * @returns {requestHandler} Returns an object with `respond` method that control how a matched
+ * request is handled.
+ */
+
+ /**
+ * @ngdoc method
+ * @name ngMock.$httpBackend#whenHEAD
+ * @methodOf ngMock.$httpBackend
+ * @description
+ * Creates a new backend definition for HEAD requests. For more info see `when()`.
+ *
+ * @param {string|RegExp} url HTTP url.
+ * @param {(Object|function(Object))=} headers HTTP headers.
+ * @returns {requestHandler} Returns an object with `respond` method that control how a matched
+ * request is handled.
+ */
+
+ /**
+ * @ngdoc method
+ * @name ngMock.$httpBackend#whenDELETE
+ * @methodOf ngMock.$httpBackend
+ * @description
+ * Creates a new backend definition for DELETE requests. For more info see `when()`.
+ *
+ * @param {string|RegExp} url HTTP url.
+ * @param {(Object|function(Object))=} headers HTTP headers.
+ * @returns {requestHandler} Returns an object with `respond` method that control how a matched
+ * request is handled.
+ */
+
+ /**
+ * @ngdoc method
+ * @name ngMock.$httpBackend#whenPOST
+ * @methodOf ngMock.$httpBackend
+ * @description
+ * Creates a new backend definition for POST requests. For more info see `when()`.
+ *
+ * @param {string|RegExp} url HTTP url.
+ * @param {(string|RegExp|function(string))=} data HTTP request body or function that receives
+ * data string and returns true if the data is as expected.
+ * @param {(Object|function(Object))=} headers HTTP headers.
+ * @returns {requestHandler} Returns an object with `respond` method that control how a matched
+ * request is handled.
+ */
+
+ /**
+ * @ngdoc method
+ * @name ngMock.$httpBackend#whenPUT
+ * @methodOf ngMock.$httpBackend
+ * @description
+ * Creates a new backend definition for PUT requests. For more info see `when()`.
+ *
+ * @param {string|RegExp} url HTTP url.
+ * @param {(string|RegExp|function(string))=} data HTTP request body or function that receives
+ * data string and returns true if the data is as expected.
+ * @param {(Object|function(Object))=} headers HTTP headers.
+ * @returns {requestHandler} Returns an object with `respond` method that control how a matched
+ * request is handled.
+ */
+
+ /**
+ * @ngdoc method
+ * @name ngMock.$httpBackend#whenJSONP
+ * @methodOf ngMock.$httpBackend
+ * @description
+ * Creates a new backend definition for JSONP requests. For more info see `when()`.
+ *
+ * @param {string|RegExp} url HTTP url.
+ * @returns {requestHandler} Returns an object with `respond` method that control how a matched
+ * request is handled.
+ */
+ createShortMethods('when');
+
+
+ /**
+ * @ngdoc method
+ * @name ngMock.$httpBackend#expect
+ * @methodOf ngMock.$httpBackend
+ * @description
+ * Creates a new request expectation.
+ *
+ * @param {string} method HTTP method.
+ * @param {string|RegExp} url HTTP url.
+ * @param {(string|RegExp|function(string)|Object)=} data HTTP request body or function that
+ * receives data string and returns true if the data is as expected, or Object if request body
+ * is in JSON format.
+ * @param {(Object|function(Object))=} headers HTTP headers or function that receives http header
+ * object and returns true if the headers match the current expectation.
+ * @returns {requestHandler} Returns an object with `respond` method that control how a matched
+ * request is handled.
+ *
+ * - respond – `{function([status,] data[, headers])|function(function(method, url, data, headers)}`
+ * – The respond method takes a set of static data to be returned or a function that can return
+ * an array containing response status (number), response data (string) and response headers
+ * (Object).
+ */
+ $httpBackend.expect = function(method, url, data, headers) {
+ var expectation = new MockHttpExpectation(method, url, data, headers);
+ expectations.push(expectation);
+ return {
+ respond: function(status, data, headers) {
+ expectation.response = createResponse(status, data, headers);
+ }
+ };
+ };
+
+
+ /**
+ * @ngdoc method
+ * @name ngMock.$httpBackend#expectGET
+ * @methodOf ngMock.$httpBackend
+ * @description
+ * Creates a new request expectation for GET requests. For more info see `expect()`.
+ *
+ * @param {string|RegExp} url HTTP url.
+ * @param {Object=} headers HTTP headers.
+ * @returns {requestHandler} Returns an object with `respond` method that control how a matched
+ * request is handled. See #expect for more info.
+ */
+
+ /**
+ * @ngdoc method
+ * @name ngMock.$httpBackend#expectHEAD
+ * @methodOf ngMock.$httpBackend
+ * @description
+ * Creates a new request expectation for HEAD requests. For more info see `expect()`.
+ *
+ * @param {string|RegExp} url HTTP url.
+ * @param {Object=} headers HTTP headers.
+ * @returns {requestHandler} Returns an object with `respond` method that control how a matched
+ * request is handled.
+ */
+
+ /**
+ * @ngdoc method
+ * @name ngMock.$httpBackend#expectDELETE
+ * @methodOf ngMock.$httpBackend
+ * @description
+ * Creates a new request expectation for DELETE requests. For more info see `expect()`.
+ *
+ * @param {string|RegExp} url HTTP url.
+ * @param {Object=} headers HTTP headers.
+ * @returns {requestHandler} Returns an object with `respond` method that control how a matched
+ * request is handled.
+ */
+
+ /**
+ * @ngdoc method
+ * @name ngMock.$httpBackend#expectPOST
+ * @methodOf ngMock.$httpBackend
+ * @description
+ * Creates a new request expectation for POST requests. For more info see `expect()`.
+ *
+ * @param {string|RegExp} url HTTP url.
+ * @param {(string|RegExp|function(string)|Object)=} data HTTP request body or function that
+ * receives data string and returns true if the data is as expected, or Object if request body
+ * is in JSON format.
+ * @param {Object=} headers HTTP headers.
+ * @returns {requestHandler} Returns an object with `respond` method that control how a matched
+ * request is handled.
+ */
+
+ /**
+ * @ngdoc method
+ * @name ngMock.$httpBackend#expectPUT
+ * @methodOf ngMock.$httpBackend
+ * @description
+ * Creates a new request expectation for PUT requests. For more info see `expect()`.
+ *
+ * @param {string|RegExp} url HTTP url.
+ * @param {(string|RegExp|function(string)|Object)=} data HTTP request body or function that
+ * receives data string and returns true if the data is as expected, or Object if request body
+ * is in JSON format.
+ * @param {Object=} headers HTTP headers.
+ * @returns {requestHandler} Returns an object with `respond` method that control how a matched
+ * request is handled.
+ */
+
+ /**
+ * @ngdoc method
+ * @name ngMock.$httpBackend#expectPATCH
+ * @methodOf ngMock.$httpBackend
+ * @description
+ * Creates a new request expectation for PATCH requests. For more info see `expect()`.
+ *
+ * @param {string|RegExp} url HTTP url.
+ * @param {(string|RegExp|function(string)|Object)=} data HTTP request body or function that
+ * receives data string and returns true if the data is as expected, or Object if request body
+ * is in JSON format.
+ * @param {Object=} headers HTTP headers.
+ * @returns {requestHandler} Returns an object with `respond` method that control how a matched
+ * request is handled.
+ */
+
+ /**
+ * @ngdoc method
+ * @name ngMock.$httpBackend#expectJSONP
+ * @methodOf ngMock.$httpBackend
+ * @description
+ * Creates a new request expectation for JSONP requests. For more info see `expect()`.
+ *
+ * @param {string|RegExp} url HTTP url.
+ * @returns {requestHandler} Returns an object with `respond` method that control how a matched
+ * request is handled.
+ */
+ createShortMethods('expect');
+
+
+ /**
+ * @ngdoc method
+ * @name ngMock.$httpBackend#flush
+ * @methodOf ngMock.$httpBackend
+ * @description
+ * Flushes all pending requests using the trained responses.
+ *
+ * @param {number=} count Number of responses to flush (in the order they arrived). If undefined,
+ * all pending requests will be flushed. If there are no pending requests when the flush method
+ * is called an exception is thrown (as this typically a sign of programming error).
+ */
+ $httpBackend.flush = function(count) {
+ $rootScope.$digest();
+ if (!responses.length) throw Error('No pending request to flush !');
+
+ if (angular.isDefined(count)) {
+ while (count--) {
+ if (!responses.length) throw Error('No more pending request to flush !');
+ responses.shift()();
+ }
+ } else {
+ while (responses.length) {
+ responses.shift()();
+ }
+ }
+ $httpBackend.verifyNoOutstandingExpectation();
+ };
+
+
+ /**
+ * @ngdoc method
+ * @name ngMock.$httpBackend#verifyNoOutstandingExpectation
+ * @methodOf ngMock.$httpBackend
+ * @description
+ * Verifies that all of the requests defined via the `expect` api were made. If any of the
+ * requests were not made, verifyNoOutstandingExpectation throws an exception.
+ *
+ * Typically, you would call this method following each test case that asserts requests using an
+ * "afterEach" clause.
+ *
+ * <pre>
+ * afterEach($httpBackend.verifyNoOutstandingExpectation);
+ * </pre>
+ */
+ $httpBackend.verifyNoOutstandingExpectation = function() {
+ $rootScope.$digest();
+ if (expectations.length) {
+ throw new Error('Unsatisfied requests: ' + expectations.join(', '));
+ }
+ };
+
+
+ /**
+ * @ngdoc method
+ * @name ngMock.$httpBackend#verifyNoOutstandingRequest
+ * @methodOf ngMock.$httpBackend
+ * @description
+ * Verifies that there are no outstanding requests that need to be flushed.
+ *
+ * Typically, you would call this method following each test case that asserts requests using an
+ * "afterEach" clause.
+ *
+ * <pre>
+ * afterEach($httpBackend.verifyNoOutstandingRequest);
+ * </pre>
+ */
+ $httpBackend.verifyNoOutstandingRequest = function() {
+ if (responses.length) {
+ throw Error('Unflushed requests: ' + responses.length);
+ }
+ };
+
+
+ /**
+ * @ngdoc method
+ * @name ngMock.$httpBackend#resetExpectations
+ * @methodOf ngMock.$httpBackend
+ * @description
+ * Resets all request expectations, but preserves all backend definitions. Typically, you would
+ * call resetExpectations during a multiple-phase test when you want to reuse the same instance of
+ * $httpBackend mock.
+ */
+ $httpBackend.resetExpectations = function() {
+ expectations.length = 0;
+ responses.length = 0;
+ };
+
+ return $httpBackend;
+
+
+ function createShortMethods(prefix) {
+ angular.forEach(['GET', 'DELETE', 'JSONP'], function(method) {
+ $httpBackend[prefix + method] = function(url, headers) {
+ return $httpBackend[prefix](method, url, undefined, headers)
+ }
+ });
+
+ angular.forEach(['PUT', 'POST', 'PATCH'], function(method) {
+ $httpBackend[prefix + method] = function(url, data, headers) {
+ return $httpBackend[prefix](method, url, data, headers)
+ }
+ });
+ }
+}
+
+function MockHttpExpectation(method, url, data, headers) {
+
+ this.data = data;
+ this.headers = headers;
+
+ this.match = function(m, u, d, h) {
+ if (method != m) return false;
+ if (!this.matchUrl(u)) return false;
+ if (angular.isDefined(d) && !this.matchData(d)) return false;
+ if (angular.isDefined(h) && !this.matchHeaders(h)) return false;
+ return true;
+ };
+
+ this.matchUrl = function(u) {
+ if (!url) return true;
+ if (angular.isFunction(url.test)) return url.test(u);
+ return url == u;
+ };
+
+ this.matchHeaders = function(h) {
+ if (angular.isUndefined(headers)) return true;
+ if (angular.isFunction(headers)) return headers(h);
+ return angular.equals(headers, h);
+ };
+
+ this.matchData = function(d) {
+ if (angular.isUndefined(data)) return true;
+ if (data && angular.isFunction(data.test)) return data.test(d);
+ if (data && angular.isFunction(data)) return data(d);
+ if (data && !angular.isString(data)) return angular.toJson(data) == d;
+ return data == d;
+ };
+
+ this.toString = function() {
+ return method + ' ' + url;
+ };
+}
+
+function MockXhr() {
+
+ // hack for testing $http, $httpBackend
+ MockXhr.$$lastInstance = this;
+
+ this.open = function(method, url, async) {
+ this.$$method = method;
+ this.$$url = url;
+ this.$$async = async;
+ this.$$reqHeaders = {};
+ this.$$respHeaders = {};
+ };
+
+ this.send = function(data) {
+ this.$$data = data;
+ };
+
+ this.setRequestHeader = function(key, value) {
+ this.$$reqHeaders[key] = value;
+ };
+
+ this.getResponseHeader = function(name) {
+ // the lookup must be case insensitive, that's why we try two quick lookups and full scan at last
+ var header = this.$$respHeaders[name];
+ if (header) return header;
+
+ name = angular.lowercase(name);
+ header = this.$$respHeaders[name];
+ if (header) return header;
+
+ header = undefined;
+ angular.forEach(this.$$respHeaders, function(headerVal, headerName) {
+ if (!header && angular.lowercase(headerName) == name) header = headerVal;
+ });
+ return header;
+ };
+
+ this.getAllResponseHeaders = function() {
+ var lines = [];
+
+ angular.forEach(this.$$respHeaders, function(value, key) {
+ lines.push(key + ': ' + value);
+ });
+ return lines.join('\n');
+ };
+
+ this.abort = angular.noop;
+}
+
+
+/**
+ * @ngdoc function
+ * @name ngMock.$timeout
+ * @description
+ *
+ * This service is just a simple decorator for {@link ng.$timeout $timeout} service
+ * that adds a "flush" and "verifyNoPendingTasks" methods.
+ */
+
+angular.mock.$TimeoutDecorator = function($delegate, $browser) {
+
+ /**
+ * @ngdoc method
+ * @name ngMock.$timeout#flush
+ * @methodOf ngMock.$timeout
+ * @description
+ *
+ * Flushes the queue of pending tasks.
+ *
+ * @param {number=} delay maximum timeout amount to flush up until
+ */
+ $delegate.flush = function(delay) {
+ $browser.defer.flush(delay);
+ };
+
+ /**
+ * @ngdoc method
+ * @name ngMock.$timeout#flushNext
+ * @methodOf ngMock.$timeout
+ * @description
+ *
+ * Flushes the next timeout in the queue and compares it to the provided delay
+ *
+ * @param {number=} expectedDelay the delay value that will be asserted against the delay of the next timeout function
+ */
+ $delegate.flushNext = function(expectedDelay) {
+ $browser.defer.flushNext(expectedDelay);
+ };
+
+ /**
+ * @ngdoc method
+ * @name ngMock.$timeout#verifyNoPendingTasks
+ * @methodOf ngMock.$timeout
+ * @description
+ *
+ * Verifies that there are no pending tasks that need to be flushed.
+ */
+ $delegate.verifyNoPendingTasks = function() {
+ if ($browser.deferredFns.length) {
+ throw new Error('Deferred tasks to flush (' + $browser.deferredFns.length + '): ' +
+ formatPendingTasksAsString($browser.deferredFns));
+ }
+ };
+
+ function formatPendingTasksAsString(tasks) {
+ var result = [];
+ angular.forEach(tasks, function(task) {
+ result.push('{id: ' + task.id + ', ' + 'time: ' + task.time + '}');
+ });
+
+ return result.join(', ');
+ }
+
+ return $delegate;
+};
+
+/**
+ *
+ */
+angular.mock.$RootElementProvider = function() {
+ this.$get = function() {
+ return angular.element('<div ng-app></div>');
+ }
+};
+
+/**
+ * @ngdoc overview
+ * @name ngMock
+ * @description
+ *
+ * The `ngMock` is an angular module which is used with `ng` module and adds unit-test configuration as well as useful
+ * mocks to the {@link AUTO.$injector $injector}.
+ */
+angular.module('ngMock', ['ng']).provider({
+ $browser: angular.mock.$BrowserProvider,
+ $exceptionHandler: angular.mock.$ExceptionHandlerProvider,
+ $log: angular.mock.$LogProvider,
+ $httpBackend: angular.mock.$HttpBackendProvider,
+ $rootElement: angular.mock.$RootElementProvider
+}).config(function($provide) {
+ $provide.decorator('$timeout', angular.mock.$TimeoutDecorator);
+});
+
+/**
+ * @ngdoc overview
+ * @name ngMockE2E
+ * @description
+ *
+ * The `ngMockE2E` is an angular module which contains mocks suitable for end-to-end testing.
+ * Currently there is only one mock present in this module -
+ * the {@link ngMockE2E.$httpBackend e2e $httpBackend} mock.
+ */
+angular.module('ngMockE2E', ['ng']).config(function($provide) {
+ $provide.decorator('$httpBackend', angular.mock.e2e.$httpBackendDecorator);
+});
+
+/**
+ * @ngdoc object
+ * @name ngMockE2E.$httpBackend
+ * @description
+ * Fake HTTP backend implementation suitable for end-to-end testing or backend-less development of
+ * applications that use the {@link ng.$http $http service}.
+ *
+ * *Note*: For fake http backend implementation suitable for unit testing please see
+ * {@link ngMock.$httpBackend unit-testing $httpBackend mock}.
+ *
+ * This implementation can be used to respond with static or dynamic responses via the `when` api
+ * and its shortcuts (`whenGET`, `whenPOST`, etc) and optionally pass through requests to the
+ * real $httpBackend for specific requests (e.g. to interact with certain remote apis or to fetch
+ * templates from a webserver).
+ *
+ * As opposed to unit-testing, in an end-to-end testing scenario or in scenario when an application
+ * is being developed with the real backend api replaced with a mock, it is often desirable for
+ * certain category of requests to bypass the mock and issue a real http request (e.g. to fetch
+ * templates or static files from the webserver). To configure the backend with this behavior
+ * use the `passThrough` request handler of `when` instead of `respond`.
+ *
+ * Additionally, we don't want to manually have to flush mocked out requests like we do during unit
+ * testing. For this reason the e2e $httpBackend automatically flushes mocked out requests
+ * automatically, closely simulating the behavior of the XMLHttpRequest object.
+ *
+ * To setup the application to run with this http backend, you have to create a module that depends
+ * on the `ngMockE2E` and your application modules and defines the fake backend:
+ *
+ * <pre>
+ * myAppDev = angular.module('myAppDev', ['myApp', 'ngMockE2E']);
+ * myAppDev.run(function($httpBackend) {
+ * phones = [{name: 'phone1'}, {name: 'phone2'}];
+ *
+ * // returns the current list of phones
+ * $httpBackend.whenGET('/phones').respond(phones);
+ *
+ * // adds a new phone to the phones array
+ * $httpBackend.whenPOST('/phones').respond(function(method, url, data) {
+ * phones.push(angular.fromJson(data));
+ * });
+ * $httpBackend.whenGET(/^\/templates\//).passThrough();
+ * //...
+ * });
+ * </pre>
+ *
+ * Afterwards, bootstrap your app with this new module.
+ */
+
+/**
+ * @ngdoc method
+ * @name ngMockE2E.$httpBackend#when
+ * @methodOf ngMockE2E.$httpBackend
+ * @description
+ * Creates a new backend definition.
+ *
+ * @param {string} method HTTP method.
+ * @param {string|RegExp} url HTTP url.
+ * @param {(string|RegExp)=} data HTTP request body.
+ * @param {(Object|function(Object))=} headers HTTP headers or function that receives http header
+ * object and returns true if the headers match the current definition.
+ * @returns {requestHandler} Returns an object with `respond` and `passThrough` methods that
+ * control how a matched request is handled.
+ *
+ * - respond – `{function([status,] data[, headers])|function(function(method, url, data, headers)}`
+ * – The respond method takes a set of static data to be returned or a function that can return
+ * an array containing response status (number), response data (string) and response headers
+ * (Object).
+ * - passThrough – `{function()}` – Any request matching a backend definition with `passThrough`
+ * handler, will be pass through to the real backend (an XHR request will be made to the
+ * server.
+ */
+
+/**
+ * @ngdoc method
+ * @name ngMockE2E.$httpBackend#whenGET
+ * @methodOf ngMockE2E.$httpBackend
+ * @description
+ * Creates a new backend definition for GET requests. For more info see `when()`.
+ *
+ * @param {string|RegExp} url HTTP url.
+ * @param {(Object|function(Object))=} headers HTTP headers.
+ * @returns {requestHandler} Returns an object with `respond` and `passThrough` methods that
+ * control how a matched request is handled.
+ */
+
+/**
+ * @ngdoc method
+ * @name ngMockE2E.$httpBackend#whenHEAD
+ * @methodOf ngMockE2E.$httpBackend
+ * @description
+ * Creates a new backend definition for HEAD requests. For more info see `when()`.
+ *
+ * @param {string|RegExp} url HTTP url.
+ * @param {(Object|function(Object))=} headers HTTP headers.
+ * @returns {requestHandler} Returns an object with `respond` and `passThrough` methods that
+ * control how a matched request is handled.
+ */
+
+/**
+ * @ngdoc method
+ * @name ngMockE2E.$httpBackend#whenDELETE
+ * @methodOf ngMockE2E.$httpBackend
+ * @description
+ * Creates a new backend definition for DELETE requests. For more info see `when()`.
+ *
+ * @param {string|RegExp} url HTTP url.
+ * @param {(Object|function(Object))=} headers HTTP headers.
+ * @returns {requestHandler} Returns an object with `respond` and `passThrough` methods that
+ * control how a matched request is handled.
+ */
+
+/**
+ * @ngdoc method
+ * @name ngMockE2E.$httpBackend#whenPOST
+ * @methodOf ngMockE2E.$httpBackend
+ * @description
+ * Creates a new backend definition for POST requests. For more info see `when()`.
+ *
+ * @param {string|RegExp} url HTTP url.
+ * @param {(string|RegExp)=} data HTTP request body.
+ * @param {(Object|function(Object))=} headers HTTP headers.
+ * @returns {requestHandler} Returns an object with `respond` and `passThrough` methods that
+ * control how a matched request is handled.
+ */
+
+/**
+ * @ngdoc method
+ * @name ngMockE2E.$httpBackend#whenPUT
+ * @methodOf ngMockE2E.$httpBackend
+ * @description
+ * Creates a new backend definition for PUT requests. For more info see `when()`.
+ *
+ * @param {string|RegExp} url HTTP url.
+ * @param {(string|RegExp)=} data HTTP request body.
+ * @param {(Object|function(Object))=} headers HTTP headers.
+ * @returns {requestHandler} Returns an object with `respond` and `passThrough` methods that
+ * control how a matched request is handled.
+ */
+
+/**
+ * @ngdoc method
+ * @name ngMockE2E.$httpBackend#whenPATCH
+ * @methodOf ngMockE2E.$httpBackend
+ * @description
+ * Creates a new backend definition for PATCH requests. For more info see `when()`.
+ *
+ * @param {string|RegExp} url HTTP url.
+ * @param {(string|RegExp)=} data HTTP request body.
+ * @param {(Object|function(Object))=} headers HTTP headers.
+ * @returns {requestHandler} Returns an object with `respond` and `passThrough` methods that
+ * control how a matched request is handled.
+ */
+
+/**
+ * @ngdoc method
+ * @name ngMockE2E.$httpBackend#whenJSONP
+ * @methodOf ngMockE2E.$httpBackend
+ * @description
+ * Creates a new backend definition for JSONP requests. For more info see `when()`.
+ *
+ * @param {string|RegExp} url HTTP url.
+ * @returns {requestHandler} Returns an object with `respond` and `passThrough` methods that
+ * control how a matched request is handled.
+ */
+angular.mock.e2e = {};
+angular.mock.e2e.$httpBackendDecorator = ['$rootScope', '$delegate', '$browser', createHttpBackendMock];
+
+
+angular.mock.clearDataCache = function() {
+ var key,
+ cache = angular.element.cache;
+
+ for(key in cache) {
+ if (cache.hasOwnProperty(key)) {
+ var handle = cache[key].handle;
+
+ handle && angular.element(handle.elem).off();
+ delete cache[key];
+ }
+ }
+};
+
+
+
+(window.jasmine || window.mocha) && (function(window) {
+
+ var currentSpec = null;
+
+ beforeEach(function() {
+ currentSpec = this;
+ });
+
+ afterEach(function() {
+ var injector = currentSpec.$injector;
+
+ currentSpec.$injector = null;
+ currentSpec.$modules = null;
+ currentSpec = null;
+
+ if (injector) {
+ injector.get('$rootElement').off();
+ injector.get('$browser').pollFns.length = 0;
+ }
+
+ angular.mock.clearDataCache();
+
+ // clean up jquery's fragment cache
+ angular.forEach(angular.element.fragments, function(val, key) {
+ delete angular.element.fragments[key];
+ });
+
+ MockXhr.$$lastInstance = null;
+
+ angular.forEach(angular.callbacks, function(val, key) {
+ delete angular.callbacks[key];
+ });
+ angular.callbacks.counter = 0;
+ });
+
+ function isSpecRunning() {
+ return currentSpec && (window.mocha || currentSpec.queue.running);
+ }
+
+ /**
+ * @ngdoc function
+ * @name angular.mock.module
+ * @description
+ *
+ * *NOTE*: This function is also published on window for easy access.<br>
+ *
+ * This function registers a module configuration code. It collects the configuration information
+ * which will be used when the injector is created by {@link angular.mock.inject inject}.
+ *
+ * See {@link angular.mock.inject inject} for usage example
+ *
+ * @param {...(string|Function)} fns any number of modules which are represented as string
+ * aliases or as anonymous module initialization functions. The modules are used to
+ * configure the injector. The 'ng' and 'ngMock' modules are automatically loaded.
+ */
+ window.module = angular.mock.module = function() {
+ var moduleFns = Array.prototype.slice.call(arguments, 0);
+ return isSpecRunning() ? workFn() : workFn;
+ /////////////////////
+ function workFn() {
+ if (currentSpec.$injector) {
+ throw Error('Injector already created, can not register a module!');
+ } else {
+ var modules = currentSpec.$modules || (currentSpec.$modules = []);
+ angular.forEach(moduleFns, function(module) {
+ modules.push(module);
+ });
+ }
+ }
+ };
+
+ /**
+ * @ngdoc function
+ * @name angular.mock.inject
+ * @description
+ *
+ * *NOTE*: This function is also published on window for easy access.<br>
+ *
+ * The inject function wraps a function into an injectable function. The inject() creates new
+ * instance of {@link AUTO.$injector $injector} per test, which is then used for
+ * resolving references.
+ *
+ * See also {@link angular.mock.module module}
+ *
+ * Example of what a typical jasmine tests looks like with the inject method.
+ * <pre>
+ *
+ * angular.module('myApplicationModule', [])
+ * .value('mode', 'app')
+ * .value('version', 'v1.0.1');
+ *
+ *
+ * describe('MyApp', function() {
+ *
+ * // You need to load modules that you want to test,
+ * // it loads only the "ng" module by default.
+ * beforeEach(module('myApplicationModule'));
+ *
+ *
+ * // inject() is used to inject arguments of all given functions
+ * it('should provide a version', inject(function(mode, version) {
+ * expect(version).toEqual('v1.0.1');
+ * expect(mode).toEqual('app');
+ * }));
+ *
+ *
+ * // The inject and module method can also be used inside of the it or beforeEach
+ * it('should override a version and test the new version is injected', function() {
+ * // module() takes functions or strings (module aliases)
+ * module(function($provide) {
+ * $provide.value('version', 'overridden'); // override version here
+ * });
+ *
+ * inject(function(version) {
+ * expect(version).toEqual('overridden');
+ * });
+ * ));
+ * });
+ *
+ * </pre>
+ *
+ * @param {...Function} fns any number of functions which will be injected using the injector.
+ */
+ window.inject = angular.mock.inject = function() {
+ var blockFns = Array.prototype.slice.call(arguments, 0);
+ var errorForStack = new Error('Declaration Location');
+ return isSpecRunning() ? workFn() : workFn;
+ /////////////////////
+ function workFn() {
+ var modules = currentSpec.$modules || [];
+
+ modules.unshift('ngMock');
+ modules.unshift('ng');
+ var injector = currentSpec.$injector;
+ if (!injector) {
+ injector = currentSpec.$injector = angular.injector(modules);
+ }
+ for(var i = 0, ii = blockFns.length; i < ii; i++) {
+ try {
+ injector.invoke(blockFns[i] || angular.noop, this);
+ } catch (e) {
+ if(e.stack && errorForStack) e.stack += '\n' + errorForStack.stack;
+ throw e;
+ } finally {
+ errorForStack = null;
+ }
+ }
+ }
+ };
+})(window);
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/extra/angular-resource.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/extra/angular-resource.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/extra/angular-resource.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -1,11 +1,12 @@
/** %%Ignore-License
- * @license AngularJS v1.1.5
+ * @license AngularJS v1.2.0rc1
* (c) 2010-2012 Google, Inc. http://angularjs.org
* License: MIT
*/
-(function(window, angular, undefined) {
-'use strict';
+(function(window, angular, undefined) {'use strict';
+var $resourceMinErr = angular.$$minErr('$resource');
+
/**
* @ngdoc overview
* @name ngResource
@@ -37,12 +38,11 @@
*
* @param {string} url A parametrized URL template with parameters prefixed by `:` as in
* `/user/:username`. If you are using a URL with a port number (e.g.
- * `http://example.com:8080/api`), you'll need to escape the colon character before the port
- * number, like this: `$resource('http://example.com\\:8080/api')`.
+ * `http://example.com:8080/api`), it will be respected.
*
- * If you are using a url with a suffix, just add the suffix, like this:
+ * If you are using a url with a suffix, just add the suffix, like this:
* `$resource('http://example.com/resource.json')` or `$resource('http://example.com/:id.json')
- * or even `$resource('http://example.com/resource/:resource_id.:format')`
+ * or even `$resource('http://example.com/resource/:resource_id.:format')`
* If the parameter before the suffix is empty, :resource_id in this case, then the `/.` will be
* collapsed down to a single `.`. If you need this sequence to appear and not collapse then you
* can escape it with `/\.`.
@@ -98,6 +98,9 @@
* requests with credentials} for more information.
* - **`responseType`** - `{string}` - see {@link
* https://developer.mozilla.org/en-US/docs/DOM/XMLHttpRequest#responseType requestType}.
+ * - **`interceptor`** - `{Object=}` - The interceptor object has two optional methods -
+ * `response` and `responseError`. Both `response` and `responseError` interceptors get called
+ * with `http response` object. See {@link ng.$http $http interceptors}.
*
* @returns {Object} A resource "class" object with methods for the default set of resource actions
* optionally extended with custom `actions`. The default set contains these actions:
@@ -136,25 +139,28 @@
* - non-GET "class" actions: `Resource.action([parameters], postData, [success], [error])`
* - non-GET instance actions: `instance.$action([parameters], [success], [error])`
*
+ * Success callback is called with (value, responseHeaders) arguments. Error callback is called
+ * with (httpResponse) argument.
*
+ * Class actions return empty instance (with additional properties below).
+ * Instance actions return promise of the action.
+ *
* The Resource instances and collection have these additional properties:
*
- * - `$then`: the `then` method of a {@link ng.$q promise} derived from the underlying
- * {@link ng.$http $http} call.
+ * - `$promise`: the {@link ng.$q promise} of the original server interaction that created this
+ * instance or collection.
*
- * The success callback for the `$then` method will be resolved if the underlying `$http` requests
- * succeeds.
+ * On success, the promise is resolved with the same resource instance or collection object,
+ * updated with data from server. This makes it easy to use in
+ * {@link ngRoute.$routeProvider resolve section of $routeProvider.when()} to defer view rendering
+ * until the resource(s) are loaded.
*
- * The success callback is called with a single object which is the {@link ng.$http http response}
- * object extended with a new property `resource`. This `resource` property is a reference to the
- * result of the resource action — resource object or array of resources.
+ * On failure, the promise is resolved with the {@link ng.$http http response} object,
+ * without the `resource` property.
*
- * The error callback is called with the {@link ng.$http http response} object when an http
- * error occurs.
+ * - `$resolved`: `true` after first server interaction is completed (either with success or rejection),
+ * `false` before that. Knowing if the Resource has been resolved is useful in data-binding.
*
- * - `$resolved`: true if the promise has been resolved (either with success or rejection);
- * Knowing if the Resource has been resolved is useful in data-binding.
- *
* @example
*
* # Credit card resource
@@ -274,7 +280,7 @@
</doc:example>
*/
angular.module('ngResource', ['ng']).
- factory('$resource', ['$http', '$parse', function($http, $parse) {
+ factory('$resource', ['$http', '$parse', '$q', function($http, $parse, $q) {
var DEFAULT_ACTIONS = {
'get': {method:'GET'},
'save': {method:'POST'},
@@ -345,7 +351,7 @@
var urlParams = self.urlParams = {};
forEach(url.split(/\W/), function(param){
- if (param && (new RegExp("(^|[^\\\\]):" + param + "(\\W|$)").test(url))) {
+ if (!(new RegExp("^\\d+$").test(param)) && param && (new RegExp("(^|[^\\\\]):" + param + "(\\W|$)").test(url))) {
urlParams[param] = true;
}
});
@@ -376,8 +382,8 @@
url = url.replace(/\/\.(?=\w+($|\?))/, '.');
// replace escaped `/\.` with `/.`
config.url = url.replace(/\/\\\./, '/.');
-
+
// set params - delegate param encoding to $http
forEach(params, function(value, key){
if (!self.urlParams[key]) {
@@ -404,19 +410,19 @@
return ids;
}
+ function defaultResponseInterceptor(response) {
+ return response.resource;
+ }
+
function Resource(value){
copy(value || {}, this);
}
forEach(actions, function(action, name) {
- action.method = angular.uppercase(action.method);
- var hasBody = action.method == 'POST' || action.method == 'PUT' || action.method == 'PATCH';
+ var hasBody = /^(POST|PUT|PATCH)$/i.test(action.method);
+
Resource[name] = function(a1, a2, a3, a4) {
- var params = {};
- var data;
- var success = noop;
- var error = null;
- var promise;
+ var params = {}, data, success, error;
switch(arguments.length) {
case 4:
@@ -448,33 +454,35 @@
break;
case 0: break;
default:
- throw "Expected between 0-4 arguments [params, data, success, error], got " +
- arguments.length + " arguments.";
+ throw $resourceMinErr('badargs',
+ "Expected up to 4 arguments [params, data, success, error], got {0} arguments", arguments.length);
}
- var value = this instanceof Resource ? this : (action.isArray ? [] : new Resource(data));
- var httpConfig = {},
- promise;
+ var isInstanceCall = data instanceof Resource;
+ var value = isInstanceCall ? data : (action.isArray ? [] : new Resource(data));
+ var httpConfig = {};
+ var responseInterceptor = action.interceptor && action.interceptor.response || defaultResponseInterceptor;
+ var responseErrorInterceptor = action.interceptor && action.interceptor.responseError || undefined;
forEach(action, function(value, key) {
- if (key != 'params' && key != 'isArray' ) {
+ if (key != 'params' && key != 'isArray' && key != 'interceptor') {
httpConfig[key] = copy(value);
}
});
+
httpConfig.data = data;
route.setUrlParams(httpConfig, extend({}, extractParams(data, action.params || {}), params), action.url);
- function markResolved() { value.$resolved = true; }
+ var promise = $http(httpConfig).then(function(response) {
+ var data = response.data,
+ promise = value.$promise;
- promise = $http(httpConfig);
- value.$resolved = false;
-
- promise.then(markResolved, markResolved);
- value.$then = promise.then(function(response) {
- var data = response.data;
- var then = value.$then, resolved = value.$resolved;
-
if (data) {
+ if ( angular.isArray(data) != !!action.isArray ) {
+ throw $resourceMinErr('badcfg', 'Error in resource configuration. Expected response' +
+ ' to contain an {0} but got an {1}',
+ action.isArray?'array':'object', angular.isArray(data)?'array':'object');
+ }
if (action.isArray) {
value.length = 0;
forEach(data, function(item) {
@@ -482,45 +490,48 @@
});
} else {
copy(data, value);
- value.$then = then;
- value.$resolved = resolved;
+ value.$promise = promise;
}
}
+ value.$resolved = true;
+
(success||noop)(value, response.headers);
response.resource = value;
+
return response;
- }, error).then;
+ }, function(response) {
+ value.$resolved = true;
- return value;
- };
+ (error||noop)(response);
+ return $q.reject(response);
+ }).then(responseInterceptor, responseErrorInterceptor);
- Resource.prototype['$' + name] = function(a1, a2, a3) {
- var params = extractParams(this),
- success = noop,
- error;
- switch(arguments.length) {
- case 3: params = a1; success = a2; error = a3; break;
- case 2:
- case 1:
- if (isFunction(a1)) {
- success = a1;
- error = a2;
- } else {
- params = a1;
- success = a2 || noop;
- }
- case 0: break;
- default:
- throw "Expected between 1-3 arguments [params, success, error], got " +
- arguments.length + " arguments.";
+ if (!isInstanceCall) {
+ // we are creating instance / collection
+ // - set the initial promise
+ // - return the instance / collection
+ value.$promise = promise;
+ value.$resolved = false;
+
+ return value;
}
- var data = hasBody ? this : undefined;
- Resource[name].call(this, params, data, success, error);
+
+ // instance call
+ return promise;
};
+
+
+ Resource.prototype['$' + name] = function(params, success, error) {
+ if (isFunction(params)) {
+ error = success; success = params; params = {};
+ }
+ var result = Resource[name](params, this, success, error);
+ return result.$promise || result;
+ };
});
Resource.bind = function(additionalParamDefaults){
Added: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/extra/angular-route.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/extra/angular-route.js (rev 0)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/extra/angular-route.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -0,0 +1,860 @@
+/** %%Ignore-License
+ * @license AngularJS v1.2.0rc1
+ * (c) 2010-2012 Google, Inc. http://angularjs.org
+ * License: MIT
+ */
+(function(window, angular, undefined) {'use strict';
+
+var copy = angular.copy,
+ equals = angular.equals,
+ extend = angular.extend,
+ forEach = angular.forEach,
+ isDefined = angular.isDefined,
+ isFunction = angular.isFunction,
+ isString = angular.isString,
+ jqLite = angular.element,
+ noop = angular.noop,
+ toJson = angular.toJson;
+
+
+function inherit(parent, extra) {
+ return extend(new (extend(function() {}, {prototype:parent}))(), extra);
+}
+
+/**
+ * @ngdoc overview
+ * @name ngRoute
+ * @description
+ *
+ * Module that provides routing and deeplinking services and directives for angular apps.
+ */
+
+var ngRouteModule = angular.module('ngRoute', ['ng']).
+ provider('$route', $RouteProvider);
+
+/**
+ * @ngdoc object
+ * @name ngRoute.$routeProvider
+ * @function
+ *
+ * @description
+ *
+ * Used for configuring routes. See {@link ngRoute.$route $route} for an example.
+ */
+function $RouteProvider(){
+ var routes = {};
+
+ /**
+ * @ngdoc method
+ * @name ngRoute.$routeProvider#when
+ * @methodOf ngRoute.$routeProvider
+ *
+ * @param {string} path Route path (matched against `$location.path`). If `$location.path`
+ * contains redundant trailing slash or is missing one, the route will still match and the
+ * `$location.path` will be updated to add or drop the trailing slash to exactly match the
+ * route definition.
+ *
+ * * `path` can contain named groups starting with a colon (`:name`). All characters up
+ * to the next slash are matched and stored in `$routeParams` under the given `name`
+ * when the route matches.
+ * * `path` can contain named groups starting with a colon and ending with a star (`:name*`).
+ * All characters are eagerly stored in `$routeParams` under the given `name`
+ * when the route matches.
+ * * `path` can contain optional named groups with a question mark (`:name?`).
+ *
+ * For example, routes like `/color/:color/largecode/:largecode*\/edit` will match
+ * `/color/brown/largecode/code/with/slashs/edit` and extract:
+ *
+ * * `color: brown`
+ * * `largecode: code/with/slashs`.
+ *
+ *
+ * @param {Object} route Mapping information to be assigned to `$route.current` on route
+ * match.
+ *
+ * Object properties:
+ *
+ * - `controller` – `{(string|function()=}` – Controller fn that should be associated with newly
+ * created scope or the name of a {@link angular.Module#controller registered controller}
+ * if passed as a string.
+ * - `controllerAs` – `{string=}` – A controller alias name. If present the controller will be
+ * published to scope under the `controllerAs` name.
+ * - `template` – `{string=|function()=}` – html template as a string or a function that
+ * returns an html template as a string which should be used by {@link
+ * ngRoute.directive:ngView ngView} or {@link ng.directive:ngInclude ngInclude} directives.
+ * This property takes precedence over `templateUrl`.
+ *
+ * If `template` is a function, it will be called with the following parameters:
+ *
+ * - `{Array.<Object>}` - route parameters extracted from the current
+ * `$location.path()` by applying the current route
+ *
+ * - `templateUrl` – `{string=|function()=}` – path or function that returns a path to an html
+ * template that should be used by {@link ngRoute.directive:ngView ngView}.
+ *
+ * If `templateUrl` is a function, it will be called with the following parameters:
+ *
+ * - `{Array.<Object>}` - route parameters extracted from the current
+ * `$location.path()` by applying the current route
+ *
+ * - `resolve` - `{Object.<string, function>=}` - An optional map of dependencies which should
+ * be injected into the controller. If any of these dependencies are promises, they will be
+ * resolved and converted to a value before the controller is instantiated and the
+ * `$routeChangeSuccess` event is fired. The map object is:
+ *
+ * - `key` – `{string}`: a name of a dependency to be injected into the controller.
+ * - `factory` - `{string|function}`: If `string` then it is an alias for a service.
+ * Otherwise if function, then it is {@link api/AUTO.$injector#invoke injected}
+ * and the return value is treated as the dependency. If the result is a promise, it is resolved
+ * before its value is injected into the controller. Be aware that `ngRoute.$routeParams` will
+ * still refer to the previous route within these resolve functions. Use `$route.current.params`
+ * to access the new route parameters, instead.
+ *
+ * - `redirectTo` – {(string|function())=} – value to update
+ * {@link ng.$location $location} path with and trigger route redirection.
+ *
+ * If `redirectTo` is a function, it will be called with the following parameters:
+ *
+ * - `{Object.<string>}` - route parameters extracted from the current
+ * `$location.path()` by applying the current route templateUrl.
+ * - `{string}` - current `$location.path()`
+ * - `{Object}` - current `$location.search()`
+ *
+ * The custom `redirectTo` function is expected to return a string which will be used
+ * to update `$location.path()` and `$location.search()`.
+ *
+ * - `[reloadOnSearch=true]` - {boolean=} - reload route when only $location.search()
+ * changes.
+ *
+ * If the option is set to `false` and url in the browser changes, then
+ * `$routeUpdate` event is broadcasted on the root scope.
+ *
+ * - `[caseInsensitiveMatch=false]` - {boolean=} - match routes without being case sensitive
+ *
+ * If the option is set to `true`, then the particular route can be matched without being
+ * case sensitive
+ *
+ * @returns {Object} self
+ *
+ * @description
+ * Adds a new route definition to the `$route` service.
+ */
+ this.when = function(path, route) {
+ routes[path] = extend(
+ {reloadOnSearch: true},
+ route,
+ path && pathRegExp(path, route)
+ );
+
+ // create redirection for trailing slashes
+ if (path) {
+ var redirectPath = (path[path.length-1] == '/')
+ ? path.substr(0, path.length-1)
+ : path +'/';
+
+ routes[redirectPath] = extend(
+ {redirectTo: path},
+ pathRegExp(redirectPath, route)
+ );
+ }
+
+ return this;
+ };
+
+ /**
+ * @param path {string} path
+ * @param opts {Object} options
+ * @return {?Object}
+ *
+ * @description
+ * Normalizes the given path, returning a regular expression
+ * and the original path.
+ *
+ * Inspired by pathRexp in visionmedia/express/lib/utils.js.
+ */
+ function pathRegExp(path, opts) {
+ var insensitive = opts.caseInsensitiveMatch,
+ ret = {
+ originalPath: path,
+ regexp: path
+ },
+ keys = ret.keys = [];
+
+ path = path
+ .replace(/([().])/g, '\\$1')
+ .replace(/(\/)?:(\w+)([\?|\*])?/g, function(_, slash, key, option){
+ var optional = option === '?' ? option : null;
+ var star = option === '*' ? option : null;
+ keys.push({ name: key, optional: !!optional });
+ slash = slash || '';
+ return ''
+ + (optional ? '' : slash)
+ + '(?:'
+ + (optional ? slash : '')
+ + (star && '(.+)?' || '([^/]+)?') + ')'
+ + (optional || '');
+ })
+ .replace(/([\/$\*])/g, '\\$1');
+
+ ret.regexp = new RegExp('^' + path + '$', insensitive ? 'i' : '');
+ return ret;
+ }
+
+ /**
+ * @ngdoc method
+ * @name ngRoute.$routeProvider#otherwise
+ * @methodOf ngRoute.$routeProvider
+ *
+ * @description
+ * Sets route definition that will be used on route change when no other route definition
+ * is matched.
+ *
+ * @param {Object} params Mapping information to be assigned to `$route.current`.
+ * @returns {Object} self
+ */
+ this.otherwise = function(params) {
+ this.when(null, params);
+ return this;
+ };
+
+
+ this.$get = ['$rootScope', '$location', '$routeParams', '$q', '$injector', '$http', '$templateCache', '$sce',
+ function( $rootScope, $location, $routeParams, $q, $injector, $http, $templateCache, $sce) {
+
+ /**
+ * @ngdoc object
+ * @name ngRoute.$route
+ * @requires $location
+ * @requires $routeParams
+ *
+ * @property {Object} current Reference to the current route definition.
+ * The route definition contains:
+ *
+ * - `controller`: The controller constructor as define in route definition.
+ * - `locals`: A map of locals which is used by {@link ng.$controller $controller} service for
+ * controller instantiation. The `locals` contain
+ * the resolved values of the `resolve` map. Additionally the `locals` also contain:
+ *
+ * - `$scope` - The current route scope.
+ * - `$template` - The current route template HTML.
+ *
+ * @property {Array.<Object>} routes Array of all configured routes.
+ *
+ * @description
+ * Is used for deep-linking URLs to controllers and views (HTML partials).
+ * It watches `$location.url()` and tries to map the path to an existing route definition.
+ *
+ * You can define routes through {@link ngRoute.$routeProvider $routeProvider}'s API.
+ *
+ * The `$route` service is typically used in conjunction with {@link ngRoute.directive:ngView ngView}
+ * directive and the {@link ngRoute.$routeParams $routeParams} service.
+ *
+ * @example
+ This example shows how changing the URL hash causes the `$route` to match a route against the
+ URL, and the `ngView` pulls in the partial.
+
+ Note that this example is using {@link ng.directive:script inlined templates}
+ to get it working on jsfiddle as well.
+
+ <example module="ngView" deps="angular-route.js">
+ <file name="index.html">
+ <div ng-controller="MainCntl">
+ Choose:
+ <a href="Book/Moby">Moby</a> |
+ <a href="Book/Moby/ch/1">Moby: Ch1</a> |
+ <a href="Book/Gatsby">Gatsby</a> |
+ <a href="Book/Gatsby/ch/4?key=value">Gatsby: Ch4</a> |
+ <a href="Book/Scarlet">Scarlet Letter</a><br/>
+
+ <div ng-view></div>
+ <hr />
+
+ <pre>$location.path() = {{$location.path()}}</pre>
+ <pre>$route.current.templateUrl = {{$route.current.templateUrl}}</pre>
+ <pre>$route.current.params = {{$route.current.params}}</pre>
+ <pre>$route.current.scope.name = {{$route.current.scope.name}}</pre>
+ <pre>$routeParams = {{$routeParams}}</pre>
+ </div>
+ </file>
+
+ <file name="book.html">
+ controller: {{name}}<br />
+ Book Id: {{params.bookId}}<br />
+ </file>
+
+ <file name="chapter.html">
+ controller: {{name}}<br />
+ Book Id: {{params.bookId}}<br />
+ Chapter Id: {{params.chapterId}}
+ </file>
+
+ <file name="script.js">
+ angular.module('ngView', ['ngRoute']).config(function($routeProvider, $locationProvider) {
+ $routeProvider.when('/Book/:bookId', {
+ templateUrl: 'book.html',
+ controller: BookCntl,
+ resolve: {
+ // I will cause a 1 second delay
+ delay: function($q, $timeout) {
+ var delay = $q.defer();
+ $timeout(delay.resolve, 1000);
+ return delay.promise;
+ }
+ }
+ });
+ $routeProvider.when('/Book/:bookId/ch/:chapterId', {
+ templateUrl: 'chapter.html',
+ controller: ChapterCntl
+ });
+
+ // configure html5 to get links working on jsfiddle
+ $locationProvider.html5Mode(true);
+ });
+
+ function MainCntl($scope, $route, $routeParams, $location) {
+ $scope.$route = $route;
+ $scope.$location = $location;
+ $scope.$routeParams = $routeParams;
+ }
+
+ function BookCntl($scope, $routeParams) {
+ $scope.name = "BookCntl";
+ $scope.params = $routeParams;
+ }
+
+ function ChapterCntl($scope, $routeParams) {
+ $scope.name = "ChapterCntl";
+ $scope.params = $routeParams;
+ }
+ </file>
+
+ <file name="scenario.js">
+ it('should load and compile correct template', function() {
+ element('a:contains("Moby: Ch1")').click();
+ var content = element('.doc-example-live [ng-view]').text();
+ expect(content).toMatch(/controller\: ChapterCntl/);
+ expect(content).toMatch(/Book Id\: Moby/);
+ expect(content).toMatch(/Chapter Id\: 1/);
+
+ element('a:contains("Scarlet")').click();
+ sleep(2); // promises are not part of scenario waiting
+ content = element('.doc-example-live [ng-view]').text();
+ expect(content).toMatch(/controller\: BookCntl/);
+ expect(content).toMatch(/Book Id\: Scarlet/);
+ });
+ </file>
+ </example>
+ */
+
+ /**
+ * @ngdoc event
+ * @name ngRoute.$route#$routeChangeStart
+ * @eventOf ngRoute.$route
+ * @eventType broadcast on root scope
+ * @description
+ * Broadcasted before a route change. At this point the route services starts
+ * resolving all of the dependencies needed for the route change to occurs.
+ * Typically this involves fetching the view template as well as any dependencies
+ * defined in `resolve` route property. Once all of the dependencies are resolved
+ * `$routeChangeSuccess` is fired.
+ *
+ * @param {Route} next Future route information.
+ * @param {Route} current Current route information.
+ */
+
+ /**
+ * @ngdoc event
+ * @name ngRoute.$route#$routeChangeSuccess
+ * @eventOf ngRoute.$route
+ * @eventType broadcast on root scope
+ * @description
+ * Broadcasted after a route dependencies are resolved.
+ * {@link ngRoute.directive:ngView ngView} listens for the directive
+ * to instantiate the controller and render the view.
+ *
+ * @param {Object} angularEvent Synthetic event object.
+ * @param {Route} current Current route information.
+ * @param {Route|Undefined} previous Previous route information, or undefined if current is first route entered.
+ */
+
+ /**
+ * @ngdoc event
+ * @name ngRoute.$route#$routeChangeError
+ * @eventOf ngRoute.$route
+ * @eventType broadcast on root scope
+ * @description
+ * Broadcasted if any of the resolve promises are rejected.
+ *
+ * @param {Route} current Current route information.
+ * @param {Route} previous Previous route information.
+ * @param {Route} rejection Rejection of the promise. Usually the error of the failed promise.
+ */
+
+ /**
+ * @ngdoc event
+ * @name ngRoute.$route#$routeUpdate
+ * @eventOf ngRoute.$route
+ * @eventType broadcast on root scope
+ * @description
+ *
+ * The `reloadOnSearch` property has been set to false, and we are reusing the same
+ * instance of the Controller.
+ */
+
+ var forceReload = false,
+ $route = {
+ routes: routes,
+
+ /**
+ * @ngdoc method
+ * @name ngRoute.$route#reload
+ * @methodOf ngRoute.$route
+ *
+ * @description
+ * Causes `$route` service to reload the current route even if
+ * {@link ng.$location $location} hasn't changed.
+ *
+ * As a result of that, {@link ngRoute.directive:ngView ngView}
+ * creates new scope, reinstantiates the controller.
+ */
+ reload: function() {
+ forceReload = true;
+ $rootScope.$evalAsync(updateRoute);
+ }
+ };
+
+ $rootScope.$on('$locationChangeSuccess', updateRoute);
+
+ return $route;
+
+ /////////////////////////////////////////////////////
+
+ /**
+ * @param on {string} current url
+ * @param route {Object} route regexp to match the url against
+ * @return {?Object}
+ *
+ * @description
+ * Check if the route matches the current url.
+ *
+ * Inspired by match in
+ * visionmedia/express/lib/router/router.js.
+ */
+ function switchRouteMatcher(on, route) {
+ var keys = route.keys,
+ params = {};
+
+ if (!route.regexp) return null;
+
+ var m = route.regexp.exec(on);
+ if (!m) return null;
+
+ var N = 0;
+ for (var i = 1, len = m.length; i < len; ++i) {
+ var key = keys[i - 1];
+
+ var val = 'string' == typeof m[i]
+ ? decodeURIComponent(m[i])
+ : m[i];
+
+ if (key && val) {
+ params[key.name] = val;
+ }
+ }
+ return params;
+ }
+
+ function updateRoute() {
+ var next = parseRoute(),
+ last = $route.current;
+
+ if (next && last && next.$$route === last.$$route
+ && equals(next.pathParams, last.pathParams) && !next.reloadOnSearch && !forceReload) {
+ last.params = next.params;
+ copy(last.params, $routeParams);
+ $rootScope.$broadcast('$routeUpdate', last);
+ } else if (next || last) {
+ forceReload = false;
+ $rootScope.$broadcast('$routeChangeStart', next, last);
+ $route.current = next;
+ if (next) {
+ if (next.redirectTo) {
+ if (isString(next.redirectTo)) {
+ $location.path(interpolate(next.redirectTo, next.params)).search(next.params)
+ .replace();
+ } else {
+ $location.url(next.redirectTo(next.pathParams, $location.path(), $location.search()))
+ .replace();
+ }
+ }
+ }
+
+ $q.when(next).
+ then(function() {
+ if (next) {
+ var locals = extend({}, next.resolve),
+ template, templateUrl;
+
+ forEach(locals, function(value, key) {
+ locals[key] = isString(value) ? $injector.get(value) : $injector.invoke(value);
+ });
+
+ if (isDefined(template = next.template)) {
+ if (isFunction(template)) {
+ template = template(next.params);
+ }
+ } else if (isDefined(templateUrl = next.templateUrl)) {
+ if (isFunction(templateUrl)) {
+ templateUrl = templateUrl(next.params);
+ }
+ templateUrl = $sce.getTrustedResourceUrl(templateUrl);
+ if (isDefined(templateUrl)) {
+ next.loadedTemplateUrl = templateUrl;
+ template = $http.get(templateUrl, {cache: $templateCache}).
+ then(function(response) { return response.data; });
+ }
+ }
+ if (isDefined(template)) {
+ locals['$template'] = template;
+ }
+ return $q.all(locals);
+ }
+ }).
+ // after route change
+ then(function(locals) {
+ if (next == $route.current) {
+ if (next) {
+ next.locals = locals;
+ copy(next.params, $routeParams);
+ }
+ $rootScope.$broadcast('$routeChangeSuccess', next, last);
+ }
+ }, function(error) {
+ if (next == $route.current) {
+ $rootScope.$broadcast('$routeChangeError', next, last, error);
+ }
+ });
+ }
+ }
+
+
+ /**
+ * @returns the current active route, by matching it against the URL
+ */
+ function parseRoute() {
+ // Match a route
+ var params, match;
+ forEach(routes, function(route, path) {
+ if (!match && (params = switchRouteMatcher($location.path(), route))) {
+ match = inherit(route, {
+ params: extend({}, $location.search(), params),
+ pathParams: params});
+ match.$$route = route;
+ }
+ });
+ // No route matched; fallback to "otherwise" route
+ return match || routes[null] && inherit(routes[null], {params: {}, pathParams:{}});
+ }
+
+ /**
+ * @returns interpolation of the redirect path with the parameters
+ */
+ function interpolate(string, params) {
+ var result = [];
+ forEach((string||'').split(':'), function(segment, i) {
+ if (i == 0) {
+ result.push(segment);
+ } else {
+ var segmentMatch = segment.match(/(\w+)(.*)/);
+ var key = segmentMatch[1];
+ result.push(params[key]);
+ result.push(segmentMatch[2] || '');
+ delete params[key];
+ }
+ });
+ return result.join('');
+ }
+ }];
+}
+
+ngRouteModule.provider('$routeParams', $RouteParamsProvider);
+
+
+/**
+ * @ngdoc object
+ * @name ngRoute.$routeParams
+ * @requires $route
+ *
+ * @description
+ * Current set of route parameters. The route parameters are a combination of the
+ * {@link ng.$location $location} `search()`, and `path()`. The `path` parameters
+ * are extracted when the {@link ngRoute.$route $route} path is matched.
+ *
+ * In case of parameter name collision, `path` params take precedence over `search` params.
+ *
+ * The service guarantees that the identity of the `$routeParams` object will remain unchanged
+ * (but its properties will likely change) even when a route change occurs.
+ *
+ * Note that the `$routeParams` are only updated *after* a route change completes successfully.
+ * This means that you cannot rely on `$routeParams` being correct in route resolve functions.
+ * Instead you can use `$route.current.params` to access the new route's parameters.
+ *
+ * @example
+ * <pre>
+ * // Given:
+ * // URL: http://server.com/index.html#/Chapter/1/Section/2?search=moby
+ * // Route: /Chapter/:chapterId/Section/:sectionId
+ * //
+ * // Then
+ * $routeParams ==> {chapterId:1, sectionId:2, search:'moby'}
+ * </pre>
+ */
+function $RouteParamsProvider() {
+ this.$get = function() { return {}; };
+}
+
+/**
+ * @ngdoc directive
+ * @name ngRoute.directive:ngView
+ * @restrict ECA
+ *
+ * @description
+ * # Overview
+ * `ngView` is a directive that complements the {@link ngRoute.$route $route} service by
+ * including the rendered template of the current route into the main layout (`index.html`) file.
+ * Every time the current route changes, the included view changes with it according to the
+ * configuration of the `$route` service.
+ *
+ * @animations
+ * enter - animation is used to bring new content into the browser.
+ * leave - animation is used to animate existing content away.
+ *
+ * The enter and leave animation occur concurrently.
+ *
+ * @scope
+ * @example
+ <example module="ngViewExample" deps="angular-route.js" animations="true">
+ <file name="index.html">
+ <div ng-controller="MainCntl as main">
+ Choose:
+ <a href="Book/Moby">Moby</a> |
+ <a href="Book/Moby/ch/1">Moby: Ch1</a> |
+ <a href="Book/Gatsby">Gatsby</a> |
+ <a href="Book/Gatsby/ch/4?key=value">Gatsby: Ch4</a> |
+ <a href="Book/Scarlet">Scarlet Letter</a><br/>
+
+ <div class="example-animate-container">
+ <div ng-view class="view-example"></div>
+ </div>
+ <hr />
+
+ <pre>$location.path() = {{main.$location.path()}}</pre>
+ <pre>$route.current.templateUrl = {{main.$route.current.templateUrl}}</pre>
+ <pre>$route.current.params = {{main.$route.current.params}}</pre>
+ <pre>$route.current.scope.name = {{main.$route.current.scope.name}}</pre>
+ <pre>$routeParams = {{main.$routeParams}}</pre>
+ </div>
+ </file>
+
+ <file name="book.html">
+ <div>
+ controller: {{book.name}}<br />
+ Book Id: {{book.params.bookId}}<br />
+ </div>
+ </file>
+
+ <file name="chapter.html">
+ <div>
+ controller: {{chapter.name}}<br />
+ Book Id: {{chapter.params.bookId}}<br />
+ Chapter Id: {{chapter.params.chapterId}}
+ </div>
+ </file>
+
+ <file name="animations.css">
+ .example-animate-container {
+ position:relative;
+ background:white;
+ border:1px solid black;
+ height:40px;
+ overflow:hidden;
+ }
+
+ .example-animate-container > div {
+ padding:10px;
+ }
+
+ .view-example.ng-enter, .view-example.ng-leave {
+ -webkit-transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 1.5s;
+ -moz-transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 1.5s;
+ -o-transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 1.5s;
+ transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 1.5s;
+
+ display:block;
+ width:100%;
+ border-left:1px solid black;
+
+ position:absolute;
+ top:0;
+ left:0;
+ right:0;
+ bottom:0;
+ padding:10px;
+ }
+
+ .example-animate-container {
+ position:relative;
+ height:100px;
+ }
+
+ .view-example.ng-enter {
+ left:100%;
+ }
+ .view-example.ng-enter.ng-enter-active {
+ left:0;
+ }
+
+ .view-example.ng-leave { }
+ .view-example.ng-leave.ng-leave-active {
+ left:-100%;
+ }
+ </file>
+
+ <file name="script.js">
+ angular.module('ngViewExample', ['ngRoute', 'ngAnimate'], function($routeProvider, $locationProvider) {
+ $routeProvider.when('/Book/:bookId', {
+ templateUrl: 'book.html',
+ controller: BookCntl,
+ controllerAs: 'book'
+ });
+ $routeProvider.when('/Book/:bookId/ch/:chapterId', {
+ templateUrl: 'chapter.html',
+ controller: ChapterCntl,
+ controllerAs: 'chapter'
+ });
+
+ // configure html5 to get links working on jsfiddle
+ $locationProvider.html5Mode(true);
+ });
+
+ function MainCntl($route, $routeParams, $location) {
+ this.$route = $route;
+ this.$location = $location;
+ this.$routeParams = $routeParams;
+ }
+
+ function BookCntl($routeParams) {
+ this.name = "BookCntl";
+ this.params = $routeParams;
+ }
+
+ function ChapterCntl($routeParams) {
+ this.name = "ChapterCntl";
+ this.params = $routeParams;
+ }
+ </file>
+
+ <file name="scenario.js">
+ it('should load and compile correct template', function() {
+ element('a:contains("Moby: Ch1")').click();
+ var content = element('.doc-example-live [ng-view]').text();
+ expect(content).toMatch(/controller\: ChapterCntl/);
+ expect(content).toMatch(/Book Id\: Moby/);
+ expect(content).toMatch(/Chapter Id\: 1/);
+
+ element('a:contains("Scarlet")').click();
+ content = element('.doc-example-live [ng-view]').text();
+ expect(content).toMatch(/controller\: BookCntl/);
+ expect(content).toMatch(/Book Id\: Scarlet/);
+ });
+ </file>
+ </example>
+ */
+
+
+/**
+ * @ngdoc event
+ * @name ngRoute.directive:ngView#$viewContentLoaded
+ * @eventOf ngRoute.directive:ngView
+ * @eventType emit on the current ngView scope
+ * @description
+ * Emitted every time the ngView content is reloaded.
+ */
+var NG_VIEW_PRIORITY = 500;
+var ngViewDirective = ['$route', '$anchorScroll', '$compile', '$controller', '$animate',
+ function($route, $anchorScroll, $compile, $controller, $animate) {
+ return {
+ restrict: 'ECA',
+ terminal: true,
+ priority: NG_VIEW_PRIORITY,
+ compile: function(element, attr) {
+ var onloadExp = attr.onload || '';
+
+ element.html('');
+ var anchor = jqLite(document.createComment(' ngView '));
+ element.replaceWith(anchor);
+
+ return function(scope) {
+ var currentScope, currentElement;
+
+ scope.$on('$routeChangeSuccess', update);
+ update();
+
+ function cleanupLastView() {
+ if (currentScope) {
+ currentScope.$destroy();
+ currentScope = null;
+ }
+ if(currentElement) {
+ $animate.leave(currentElement);
+ currentElement = null;
+ }
+ }
+
+ function update() {
+ var locals = $route.current && $route.current.locals,
+ template = locals && locals.$template;
+
+ if (template) {
+ cleanupLastView();
+
+ currentScope = scope.$new();
+ currentElement = element.clone();
+ currentElement.html(template);
+ $animate.enter(currentElement, null, anchor);
+
+ var link = $compile(currentElement, false, NG_VIEW_PRIORITY - 1),
+ current = $route.current;
+
+ if (current.controller) {
+ locals.$scope = currentScope;
+ var controller = $controller(current.controller, locals);
+ if (current.controllerAs) {
+ currentScope[current.controllerAs] = controller;
+ }
+ currentElement.data('$ngControllerController', controller);
+ currentElement.children().data('$ngControllerController', controller);
+ }
+
+ current.scope = currentScope;
+
+ link(currentScope);
+
+ currentScope.$emit('$viewContentLoaded');
+ currentScope.$eval(onloadExp);
+
+ // $anchorScroll might listen on event...
+ $anchorScroll();
+ } else {
+ cleanupLastView();
+ }
+ }
+ }
+ }
+ };
+}];
+
+ngRouteModule.directive('ngView', ngViewDirective);
+
+
+})(window, window.angular);
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/extra/angular-sanitize.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/extra/angular-sanitize.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/extra/angular-sanitize.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -1,15 +1,35 @@
/** %%Ignore-License
- * @license AngularJS v1.1.5
+ * @license AngularJS v1.2.0rc1
* (c) 2010-2012 Google, Inc. http://angularjs.org
* License: MIT
*/
-(function(window, angular, undefined) {
-'use strict';
+(function(window, angular, undefined) {'use strict';
+var $sanitizeMinErr = angular.$$minErr('$sanitize');
+
/**
* @ngdoc overview
* @name ngSanitize
* @description
+ *
+ * The `ngSanitize` module provides functionality to sanitize HTML.
+ *
+ * # Installation
+ * As a separate module, it must be loaded after Angular core is loaded; otherwise, an 'Uncaught Error:
+ * No module: ngSanitize' runtime error will occur.
+ *
+ * <pre>
+ * <script src="angular.js"></script>
+ * <script src="angular-sanitize.js"></script>
+ * </pre>
+ *
+ * # Usage
+ * To make sure the module is available to your application, declare it as a dependency of you application
+ * module.
+ *
+ * <pre>
+ * angular.module('app', ['ngSanitize']);
+ * </pre>
*/
/*
@@ -48,68 +68,71 @@
<doc:example module="ngSanitize">
<doc:source>
<script>
- function Ctrl($scope) {
+ function Ctrl($scope, $sce) {
$scope.snippet =
'<p style="color:blue">an html\n' +
'<em onmouseover="this.textContent=\'PWN3D!\'">click here</em>\n' +
'snippet</p>';
+ $scope.deliberatelyTrustDangerousSnippet = function() {
+ return $sce.trustAsHtml($scope.snippet);
+ };
}
</script>
<div ng-controller="Ctrl">
Snippet: <textarea ng-model="snippet" cols="60" rows="3"></textarea>
<table>
<tr>
- <td>Filter</td>
+ <td>Directive</td>
+ <td>How</td>
<td>Source</td>
<td>Rendered</td>
</tr>
- <tr id="html-filter">
- <td>html filter</td>
- <td>
- <pre><div ng-bind-html="snippet"><br/></div></pre>
- </td>
- <td>
- <div ng-bind-html="snippet"></div>
- </td>
+ <tr id="bind-html-with-sanitize">
+ <td>ng-bind-html</td>
+ <td>Automatically uses $sanitize</td>
+ <td><pre><div ng-bind-html="snippet"><br/></div></pre></td>
+ <td><div ng-bind-html="snippet"></div></td>
</tr>
- <tr id="escaped-html">
- <td>no filter</td>
+ <tr id="bind-html-with-trust">
+ <td>ng-bind-html</td>
+ <td>Bypass $sanitize by explicitly trusting the dangerous value</td>
+ <td><pre><div ng-bind-html="deliberatelyTrustDangerousSnippet()"><br/></div></pre></td>
+ <td><div ng-bind-html="deliberatelyTrustDangerousSnippet()"></div></td>
+ </tr>
+ <tr id="bind-default">
+ <td>ng-bind</td>
+ <td>Automatically escapes</td>
<td><pre><div ng-bind="snippet"><br/></div></pre></td>
<td><div ng-bind="snippet"></div></td>
</tr>
- <tr id="html-unsafe-filter">
- <td>unsafe html filter</td>
- <td><pre><div ng-bind-html-unsafe="snippet"><br/></div></pre></td>
- <td><div ng-bind-html-unsafe="snippet"></div></td>
- </tr>
</table>
</div>
</doc:source>
<doc:scenario>
- it('should sanitize the html snippet ', function() {
- expect(using('#html-filter').element('div').html()).
+ it('should sanitize the html snippet by default', function() {
+ expect(using('#bind-html-with-sanitize').element('div').html()).
toBe('<p>an html\n<em>click here</em>\nsnippet</p>');
});
+ it('should inline raw snippet if bound to a trusted value', function() {
+ expect(using('#bind-html-with-trust').element("div").html()).
+ toBe("<p style=\"color:blue\">an html\n" +
+ "<em onmouseover=\"this.textContent='PWN3D!'\">click here</em>\n" +
+ "snippet</p>");
+ });
+
it('should escape snippet without any filter', function() {
- expect(using('#escaped-html').element('div').html()).
+ expect(using('#bind-default').element('div').html()).
toBe("<p style=\"color:blue\">an html\n" +
"<em onmouseover=\"this.textContent='PWN3D!'\">click here</em>\n" +
"snippet</p>");
});
- it('should inline raw snippet if filtered as unsafe', function() {
- expect(using('#html-unsafe-filter').element("div").html()).
- toBe("<p style=\"color:blue\">an html\n" +
- "<em onmouseover=\"this.textContent='PWN3D!'\">click here</em>\n" +
- "snippet</p>");
- });
-
it('should update', function() {
- input('snippet').enter('new <b>text</b>');
- expect(using('#html-filter').binding('snippet')).toBe('new <b>text</b>');
- expect(using('#escaped-html').element('div').html()).toBe("new <b>text</b>");
- expect(using('#html-unsafe-filter').binding("snippet")).toBe('new <b>text</b>');
+ input('snippet').enter('new <b onclick="alert(1)">text</b>');
+ expect(using('#bind-html-with-sanitize').element('div').html()).toBe('new <b>text</b>');
+ expect(using('#bind-html-with-trust').element('div').html()).toBe('new <b onclick="alert(1)">text</b>');
+ expect(using('#bind-default').element('div').html()).toBe("new <b onclick=\"alert(1)\">text</b>");
});
</doc:scenario>
</doc:example>
@@ -129,7 +152,7 @@
BEGING_END_TAGE_REGEXP = /^<\s*\//,
COMMENT_REGEXP = /<!--(.*?)-->/g,
CDATA_REGEXP = /<!\[CDATA\[(.*?)]]>/g,
- URI_REGEXP = /^((ftp|https?):\/\/|mailto:|tel:|#)/,
+ URI_REGEXP = /^((ftp|https?):\/\/|mailto:|tel:|#)/i,
NON_ALPHANUMERIC_REGEXP = /([^\#-~| |!])/g; // Match everything outside of normal chars and " (quote character)
@@ -256,7 +279,7 @@
}
if ( html == last ) {
- throw "Parse Error: " + html;
+ throw $sanitizeMinErr('badparse', "The sanitizer was unable to parse the following block of html: {0}", html);
}
last = html;
}
@@ -283,10 +306,10 @@
var attrs = {};
- rest.replace(ATTR_REGEXP, function(match, name, doubleQuotedValue, singleQoutedValue, unqoutedValue) {
+ rest.replace(ATTR_REGEXP, function(match, name, doubleQuotedValue, singleQuotedValue, unquotedValue) {
var value = doubleQuotedValue
- || singleQoutedValue
- || unqoutedValue
+ || singleQuotedValue
+ || unquotedValue
|| '';
attrs[name] = decodeEntities(value);
@@ -401,29 +424,6 @@
angular.module('ngSanitize', []).value('$sanitize', $sanitize);
/**
- * @ngdoc directive
- * @name ngSanitize.directive:ngBindHtml
- *
- * @description
- * Creates a binding that will sanitize the result of evaluating the `expression` with the
- * {@link ngSanitize.$sanitize $sanitize} service and innerHTML the result into the current element.
- *
- * See {@link ngSanitize.$sanitize $sanitize} docs for examples.
- *
- * @element ANY
- * @param {expression} ngBindHtml {@link guide/expression Expression} to evaluate.
- */
-angular.module('ngSanitize').directive('ngBindHtml', ['$sanitize', function($sanitize) {
- return function(scope, element, attr) {
- element.addClass('ng-binding').data('$binding', attr.ngBindHtml);
- scope.$watch(attr.ngBindHtml, function ngBindHtmlWatchAction(value) {
- value = $sanitize(value);
- element.html(value || '');
- });
- };
-}]);
-
-/**
* @ngdoc filter
* @name ngSanitize.filter:linky
* @function
Added: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/extra/angular-touch.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/extra/angular-touch.js (rev 0)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/extra/angular-touch.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -0,0 +1,536 @@
+/** %%Ignore-License
+ * @license AngularJS v1.2.0rc1
+ * (c) 2010-2012 Google, Inc. http://angularjs.org
+ * License: MIT
+ */
+(function(window, angular, undefined) {'use strict';
+
+/**
+ * @ngdoc overview
+ * @name ngTouch
+ * @description
+ * Touch events and other mobile helpers.
+ * Based on jQuery Mobile touch event handling (jquerymobile.com)
+ */
+
+// define ngTouch module
+var ngTouch = angular.module('ngTouch', []);
+
+/**
+ * @ngdoc object
+ * @name ngTouch.$swipe
+ *
+ * @description
+ * The `$swipe` service is a service that abstracts the messier details of hold-and-drag swipe
+ * behavior, to make implementing swipe-related directives more convenient.
+ *
+ * It is used by the `ngSwipeLeft` and `ngSwipeRight` directives in `ngTouch`, and by
+ * `ngCarousel` in a separate component.
+ *
+ * # Usage
+ * The `$swipe` service is an object with a single method: `bind`. `bind` takes an element
+ * which is to be watched for swipes, and an object with four handler functions. See the
+ * documentation for `bind` below.
+ */
+
+ngTouch.factory('$swipe', [function() {
+ // The total distance in any direction before we make the call on swipe vs. scroll.
+ var MOVE_BUFFER_RADIUS = 10;
+
+ function getCoordinates(event) {
+ var touches = event.touches && event.touches.length ? event.touches : [event];
+ var e = (event.changedTouches && event.changedTouches[0]) ||
+ (event.originalEvent && event.originalEvent.changedTouches &&
+ event.originalEvent.changedTouches[0]) ||
+ touches[0].originalEvent || touches[0];
+
+ return {
+ x: e.clientX,
+ y: e.clientY
+ };
+ }
+
+ return {
+ /**
+ * @ngdoc method
+ * @name ngTouch.$swipe#bind
+ * @methodOf ngTouch.$swipe
+ *
+ * @description
+ * The main method of `$swipe`. It takes an element to be watched for swipe motions, and an
+ * object containing event handlers.
+ *
+ * The four events are `start`, `move`, `end`, and `cancel`. `start`, `move`, and `end`
+ * receive as a parameter a coordinates object of the form `{ x: 150, y: 310 }`.
+ *
+ * `start` is called on either `mousedown` or `touchstart`. After this event, `$swipe` is
+ * watching for `touchmove` or `mousemove` events. These events are ignored until the total
+ * distance moved in either dimension exceeds a small threshold.
+ *
+ * Once this threshold is exceeded, either the horizontal or vertical delta is greater.
+ * - If the horizontal distance is greater, this is a swipe and `move` and `end` events follow.
+ * - If the vertical distance is greater, this is a scroll, and we let the browser take over.
+ * A `cancel` event is sent.
+ *
+ * `move` is called on `mousemove` and `touchmove` after the above logic has determined that
+ * a swipe is in progress.
+ *
+ * `end` is called when a swipe is successfully completed with a `touchend` or `mouseup`.
+ *
+ * `cancel` is called either on a `touchcancel` from the browser, or when we begin scrolling
+ * as described above.
+ *
+ */
+ bind: function(element, eventHandlers) {
+ // Absolute total movement, used to control swipe vs. scroll.
+ var totalX, totalY;
+ // Coordinates of the start position.
+ var startCoords;
+ // Last event's position.
+ var lastPos;
+ // Whether a swipe is active.
+ var active = false;
+
+ element.on('touchstart mousedown', function(event) {
+ startCoords = getCoordinates(event);
+ active = true;
+ totalX = 0;
+ totalY = 0;
+ lastPos = startCoords;
+ eventHandlers['start'] && eventHandlers['start'](startCoords);
+ });
+
+ element.on('touchcancel', function(event) {
+ active = false;
+ eventHandlers['cancel'] && eventHandlers['cancel']();
+ });
+
+ element.on('touchmove mousemove', function(event) {
+ if (!active) return;
+
+ // Android will send a touchcancel if it thinks we're starting to scroll.
+ // So when the total distance (+ or - or both) exceeds 10px in either direction,
+ // we either:
+ // - On totalX > totalY, we send preventDefault() and treat this as a swipe.
+ // - On totalY > totalX, we let the browser handle it as a scroll.
+
+ if (!startCoords) return;
+ var coords = getCoordinates(event);
+
+ totalX += Math.abs(coords.x - lastPos.x);
+ totalY += Math.abs(coords.y - lastPos.y);
+
+ lastPos = coords;
+
+ if (totalX < MOVE_BUFFER_RADIUS && totalY < MOVE_BUFFER_RADIUS) {
+ return;
+ }
+
+ // One of totalX or totalY has exceeded the buffer, so decide on swipe vs. scroll.
+ if (totalY > totalX) {
+ // Allow native scrolling to take over.
+ active = false;
+ eventHandlers['cancel'] && eventHandlers['cancel']();
+ return;
+ } else {
+ // Prevent the browser from scrolling.
+ event.preventDefault();
+
+ eventHandlers['move'] && eventHandlers['move'](coords);
+ }
+ });
+
+ element.on('touchend mouseup', function(event) {
+ if (!active) return;
+ active = false;
+ eventHandlers['end'] && eventHandlers['end'](getCoordinates(event));
+ });
+ }
+ };
+}]);
+
+/**
+ * @ngdoc directive
+ * @name ngTouch.directive:ngClick
+ *
+ * @description
+ * A more powerful replacement for the default ngClick designed to be used on touchscreen
+ * devices. Most mobile browsers wait about 300ms after a tap-and-release before sending
+ * the click event. This version handles them immediately, and then prevents the
+ * following click event from propagating.
+ *
+ * This directive can fall back to using an ordinary click event, and so works on desktop
+ * browsers as well as mobile.
+ *
+ * This directive also sets the CSS class `ng-click-active` while the element is being held
+ * down (by a mouse click or touch) so you can restyle the depressed element if you wish.
+ *
+ * @element ANY
+ * @param {expression} ngClick {@link guide/expression Expression} to evaluate
+ * upon tap. (Event object is available as `$event`)
+ *
+ * @example
+ <doc:example>
+ <doc:source>
+ <button ng-click="count = count + 1" ng-init="count=0">
+ Increment
+ </button>
+ count: {{ count }}
+ </doc:source>
+ </doc:example>
+ */
+
+ngTouch.config(['$provide', function($provide) {
+ $provide.decorator('ngClickDirective', ['$delegate', function($delegate) {
+ // drop the default ngClick directive
+ $delegate.shift();
+ return $delegate;
+ }]);
+}]);
+
+ngTouch.directive('ngClick', ['$parse', '$timeout', '$rootElement',
+ function($parse, $timeout, $rootElement) {
+ var TAP_DURATION = 750; // Shorter than 750ms is a tap, longer is a taphold or drag.
+ var MOVE_TOLERANCE = 12; // 12px seems to work in most mobile browsers.
+ var PREVENT_DURATION = 2500; // 2.5 seconds maximum from preventGhostClick call to click
+ var CLICKBUSTER_THRESHOLD = 25; // 25 pixels in any dimension is the limit for busting clicks.
+
+ var ACTIVE_CLASS_NAME = 'ng-click-active';
+ var lastPreventedTime;
+ var touchCoordinates;
+
+
+ // TAP EVENTS AND GHOST CLICKS
+ //
+ // Why tap events?
+ // Mobile browsers detect a tap, then wait a moment (usually ~300ms) to see if you're
+ // double-tapping, and then fire a click event.
+ //
+ // This delay sucks and makes mobile apps feel unresponsive.
+ // So we detect touchstart, touchmove, touchcancel and touchend ourselves and determine when
+ // the user has tapped on something.
+ //
+ // What happens when the browser then generates a click event?
+ // The browser, of course, also detects the tap and fires a click after a delay. This results in
+ // tapping/clicking twice. So we do "clickbusting" to prevent it.
+ //
+ // How does it work?
+ // We attach global touchstart and click handlers, that run during the capture (early) phase.
+ // So the sequence for a tap is:
+ // - global touchstart: Sets an "allowable region" at the point touched.
+ // - element's touchstart: Starts a touch
+ // (- touchmove or touchcancel ends the touch, no click follows)
+ // - element's touchend: Determines if the tap is valid (didn't move too far away, didn't hold
+ // too long) and fires the user's tap handler. The touchend also calls preventGhostClick().
+ // - preventGhostClick() removes the allowable region the global touchstart created.
+ // - The browser generates a click event.
+ // - The global click handler catches the click, and checks whether it was in an allowable region.
+ // - If preventGhostClick was called, the region will have been removed, the click is busted.
+ // - If the region is still there, the click proceeds normally. Therefore clicks on links and
+ // other elements without ngTap on them work normally.
+ //
+ // This is an ugly, terrible hack!
+ // Yeah, tell me about it. The alternatives are using the slow click events, or making our users
+ // deal with the ghost clicks, so I consider this the least of evils. Fortunately Angular
+ // encapsulates this ugly logic away from the user.
+ //
+ // Why not just put click handlers on the element?
+ // We do that too, just to be sure. The problem is that the tap event might have caused the DOM
+ // to change, so that the click fires in the same position but something else is there now. So
+ // the handlers are global and care only about coordinates and not elements.
+
+ // Checks if the coordinates are close enough to be within the region.
+ function hit(x1, y1, x2, y2) {
+ return Math.abs(x1 - x2) < CLICKBUSTER_THRESHOLD && Math.abs(y1 - y2) < CLICKBUSTER_THRESHOLD;
+ }
+
+ // Checks a list of allowable regions against a click location.
+ // Returns true if the click should be allowed.
+ // Splices out the allowable region from the list after it has been used.
+ function checkAllowableRegions(touchCoordinates, x, y) {
+ for (var i = 0; i < touchCoordinates.length; i += 2) {
+ if (hit(touchCoordinates[i], touchCoordinates[i+1], x, y)) {
+ touchCoordinates.splice(i, i + 2);
+ return true; // allowable region
+ }
+ }
+ return false; // No allowable region; bust it.
+ }
+
+ // Global click handler that prevents the click if it's in a bustable zone and preventGhostClick
+ // was called recently.
+ function onClick(event) {
+ if (Date.now() - lastPreventedTime > PREVENT_DURATION) {
+ return; // Too old.
+ }
+
+ var touches = event.touches && event.touches.length ? event.touches : [event];
+ var x = touches[0].clientX;
+ var y = touches[0].clientY;
+ // Work around desktop Webkit quirk where clicking a label will fire two clicks (on the label
+ // and on the input element). Depending on the exact browser, this second click we don't want
+ // to bust has either (0,0) or negative coordinates.
+ if (x < 1 && y < 1) {
+ return; // offscreen
+ }
+
+ // Look for an allowable region containing this click.
+ // If we find one, that means it was created by touchstart and not removed by
+ // preventGhostClick, so we don't bust it.
+ if (checkAllowableRegions(touchCoordinates, x, y)) {
+ return;
+ }
+
+ // If we didn't find an allowable region, bust the click.
+ event.stopPropagation();
+ event.preventDefault();
+
+ // Blur focused form elements
+ event.target && event.target.blur();
+ }
+
+
+ // Global touchstart handler that creates an allowable region for a click event.
+ // This allowable region can be removed by preventGhostClick if we want to bust it.
+ function onTouchStart(event) {
+ var touches = event.touches && event.touches.length ? event.touches : [event];
+ var x = touches[0].clientX;
+ var y = touches[0].clientY;
+ touchCoordinates.push(x, y);
+
+ $timeout(function() {
+ // Remove the allowable region.
+ for (var i = 0; i < touchCoordinates.length; i += 2) {
+ if (touchCoordinates[i] == x && touchCoordinates[i+1] == y) {
+ touchCoordinates.splice(i, i + 2);
+ return;
+ }
+ }
+ }, PREVENT_DURATION, false);
+ }
+
+ // On the first call, attaches some event handlers. Then whenever it gets called, it creates a
+ // zone around the touchstart where clicks will get busted.
+ function preventGhostClick(x, y) {
+ if (!touchCoordinates) {
+ $rootElement[0].addEventListener('click', onClick, true);
+ $rootElement[0].addEventListener('touchstart', onTouchStart, true);
+ touchCoordinates = [];
+ }
+
+ lastPreventedTime = Date.now();
+
+ checkAllowableRegions(touchCoordinates, x, y);
+ }
+
+ // Actual linking function.
+ return function(scope, element, attr) {
+ var clickHandler = $parse(attr.ngClick),
+ tapping = false,
+ tapElement, // Used to blur the element after a tap.
+ startTime, // Used to check if the tap was held too long.
+ touchStartX,
+ touchStartY;
+
+ function resetState() {
+ tapping = false;
+ element.removeClass(ACTIVE_CLASS_NAME);
+ }
+
+ element.on('touchstart', function(event) {
+ tapping = true;
+ tapElement = event.target ? event.target : event.srcElement; // IE uses srcElement.
+ // Hack for Safari, which can target text nodes instead of containers.
+ if(tapElement.nodeType == 3) {
+ tapElement = tapElement.parentNode;
+ }
+
+ element.addClass(ACTIVE_CLASS_NAME);
+
+ startTime = Date.now();
+
+ var touches = event.touches && event.touches.length ? event.touches : [event];
+ var e = touches[0].originalEvent || touches[0];
+ touchStartX = e.clientX;
+ touchStartY = e.clientY;
+ });
+
+ element.on('touchmove', function(event) {
+ resetState();
+ });
+
+ element.on('touchcancel', function(event) {
+ resetState();
+ });
+
+ element.on('touchend', function(event) {
+ var diff = Date.now() - startTime;
+
+ var touches = (event.changedTouches && event.changedTouches.length) ? event.changedTouches :
+ ((event.touches && event.touches.length) ? event.touches : [event]);
+ var e = touches[0].originalEvent || touches[0];
+ var x = e.clientX;
+ var y = e.clientY;
+ var dist = Math.sqrt( Math.pow(x - touchStartX, 2) + Math.pow(y - touchStartY, 2) );
+
+ if (tapping && diff < TAP_DURATION && dist < MOVE_TOLERANCE) {
+ // Call preventGhostClick so the clickbuster will catch the corresponding click.
+ preventGhostClick(x, y);
+
+ // Blur the focused element (the button, probably) before firing the callback.
+ // This doesn't work perfectly on Android Chrome, but seems to work elsewhere.
+ // I couldn't get anything to work reliably on Android Chrome.
+ if (tapElement) {
+ tapElement.blur();
+ }
+
+ if (!angular.isDefined(attr.disabled) || attr.disabled === false) {
+ element.triggerHandler('click', event);
+ }
+ }
+
+ resetState();
+ });
+
+ // Hack for iOS Safari's benefit. It goes searching for onclick handlers and is liable to click
+ // something else nearby.
+ element.onclick = function(event) { };
+
+ // Actual click handler.
+ // There are three different kinds of clicks, only two of which reach this point.
+ // - On desktop browsers without touch events, their clicks will always come here.
+ // - On mobile browsers, the simulated "fast" click will call this.
+ // - But the browser's follow-up slow click will be "busted" before it reaches this handler.
+ // Therefore it's safe to use this directive on both mobile and desktop.
+ element.on('click', function(event) {
+ scope.$apply(function() {
+ clickHandler(scope, {$event: event});
+ });
+ });
+
+ element.on('mousedown', function(event) {
+ element.addClass(ACTIVE_CLASS_NAME);
+ });
+
+ element.on('mousemove mouseup', function(event) {
+ element.removeClass(ACTIVE_CLASS_NAME);
+ });
+
+ };
+}]);
+
+/**
+ * @ngdoc directive
+ * @name ngTouch.directive:ngSwipeLeft
+ *
+ * @description
+ * Specify custom behavior when an element is swiped to the left on a touchscreen device.
+ * A leftward swipe is a quick, right-to-left slide of the finger.
+ * Though ngSwipeLeft is designed for touch-based devices, it will work with a mouse click and drag too.
+ *
+ * @element ANY
+ * @param {expression} ngSwipeLeft {@link guide/expression Expression} to evaluate
+ * upon left swipe. (Event object is available as `$event`)
+ *
+ * @example
+ <doc:example>
+ <doc:source>
+ <div ng-show="!showActions" ng-swipe-left="showActions = true">
+ Some list content, like an email in the inbox
+ </div>
+ <div ng-show="showActions" ng-swipe-right="showActions = false">
+ <button ng-click="reply()">Reply</button>
+ <button ng-click="delete()">Delete</button>
+ </div>
+ </doc:source>
+ </doc:example>
+ */
+
+/**
+ * @ngdoc directive
+ * @name ngTouch.directive:ngSwipeRight
+ *
+ * @description
+ * Specify custom behavior when an element is swiped to the right on a touchscreen device.
+ * A rightward swipe is a quick, left-to-right slide of the finger.
+ * Though ngSwipeRight is designed for touch-based devices, it will work with a mouse click and drag too.
+ *
+ * @element ANY
+ * @param {expression} ngSwipeRight {@link guide/expression Expression} to evaluate
+ * upon right swipe. (Event object is available as `$event`)
+ *
+ * @example
+ <doc:example>
+ <doc:source>
+ <div ng-show="!showActions" ng-swipe-left="showActions = true">
+ Some list content, like an email in the inbox
+ </div>
+ <div ng-show="showActions" ng-swipe-right="showActions = false">
+ <button ng-click="reply()">Reply</button>
+ <button ng-click="delete()">Delete</button>
+ </div>
+ </doc:source>
+ </doc:example>
+ */
+
+function makeSwipeDirective(directiveName, direction, eventName) {
+ ngTouch.directive(directiveName, ['$parse', '$swipe', function($parse, $swipe) {
+ // The maximum vertical delta for a swipe should be less than 75px.
+ var MAX_VERTICAL_DISTANCE = 75;
+ // Vertical distance should not be more than a fraction of the horizontal distance.
+ var MAX_VERTICAL_RATIO = 0.3;
+ // At least a 30px lateral motion is necessary for a swipe.
+ var MIN_HORIZONTAL_DISTANCE = 30;
+
+ return function(scope, element, attr) {
+ var swipeHandler = $parse(attr[directiveName]);
+
+ var startCoords, valid;
+
+ function validSwipe(coords) {
+ // Check that it's within the coordinates.
+ // Absolute vertical distance must be within tolerances.
+ // Horizontal distance, we take the current X - the starting X.
+ // This is negative for leftward swipes and positive for rightward swipes.
+ // After multiplying by the direction (-1 for left, +1 for right), legal swipes
+ // (ie. same direction as the directive wants) will have a positive delta and
+ // illegal ones a negative delta.
+ // Therefore this delta must be positive, and larger than the minimum.
+ if (!startCoords) return false;
+ var deltaY = Math.abs(coords.y - startCoords.y);
+ var deltaX = (coords.x - startCoords.x) * direction;
+ return valid && // Short circuit for already-invalidated swipes.
+ deltaY < MAX_VERTICAL_DISTANCE &&
+ deltaX > 0 &&
+ deltaX > MIN_HORIZONTAL_DISTANCE &&
+ deltaY / deltaX < MAX_VERTICAL_RATIO;
+ }
+
+ $swipe.bind(element, {
+ 'start': function(coords) {
+ startCoords = coords;
+ valid = true;
+ },
+ 'cancel': function() {
+ valid = false;
+ },
+ 'end': function(coords) {
+ if (validSwipe(coords)) {
+ scope.$apply(function() {
+ element.triggerHandler(eventName);
+ swipeHandler(scope);
+ });
+ }
+ }
+ });
+ };
+ }]);
+}
+
+// Left is negative X-coordinate, right is positive.
+makeSwipeDirective('ngSwipeLeft', -1, 'swipeleft');
+makeSwipeDirective('ngSwipeRight', 1, 'swiperight');
+
+
+
+})(window, window.angular);
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_af-na.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_af-na.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_af-na.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "vm.",
- "1": "nm."
- },
- "DAY": {
- "0": "Sondag",
- "1": "Maandag",
- "2": "Dinsdag",
- "3": "Woensdag",
- "4": "Donderdag",
- "5": "Vrydag",
- "6": "Saterdag"
- },
- "MONTH": {
- "0": "Januarie",
- "1": "Februarie",
- "2": "Maart",
- "3": "April",
- "4": "Mei",
- "5": "Junie",
- "6": "Julie",
- "7": "Augustus",
- "8": "September",
- "9": "Oktober",
- "10": "November",
- "11": "Desember"
- },
- "SHORTDAY": {
- "0": "So",
- "1": "Ma",
- "2": "Di",
- "3": "Wo",
- "4": "Do",
- "5": "Vr",
- "6": "Sa"
- },
- "SHORTMONTH": {
- "0": "Jan",
- "1": "Feb",
- "2": "Mar",
- "3": "Apr",
- "4": "Mei",
- "5": "Jun",
- "6": "Jul",
- "7": "Aug",
- "8": "Sep",
- "9": "Okt",
- "10": "Nov",
- "11": "Des"
- },
+ "AMPMS": [
+ "vm.",
+ "nm."
+ ],
+ "DAY": [
+ "Sondag",
+ "Maandag",
+ "Dinsdag",
+ "Woensdag",
+ "Donderdag",
+ "Vrydag",
+ "Saterdag"
+ ],
+ "MONTH": [
+ "Januarie",
+ "Februarie",
+ "Maart",
+ "April",
+ "Mei",
+ "Junie",
+ "Julie",
+ "Augustus",
+ "September",
+ "Oktober",
+ "November",
+ "Desember"
+ ],
+ "SHORTDAY": [
+ "So",
+ "Ma",
+ "Di",
+ "Wo",
+ "Do",
+ "Vr",
+ "Sa"
+ ],
+ "SHORTMONTH": [
+ "Jan",
+ "Feb",
+ "Mar",
+ "Apr",
+ "Mei",
+ "Jun",
+ "Jul",
+ "Aug",
+ "Sep",
+ "Okt",
+ "Nov",
+ "Des"
+ ],
"fullDate": "EEEE d MMMM y",
"longDate": "d MMMM y",
"medium": "d MMM y HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "R",
"DECIMAL_SEP": ",",
"GROUP_SEP": "\u00a0",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4",
"posSuf": ""
}
- }
+ ]
},
"id": "af-na",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_af-za.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_af-za.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_af-za.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "vm.",
- "1": "nm."
- },
- "DAY": {
- "0": "Sondag",
- "1": "Maandag",
- "2": "Dinsdag",
- "3": "Woensdag",
- "4": "Donderdag",
- "5": "Vrydag",
- "6": "Saterdag"
- },
- "MONTH": {
- "0": "Januarie",
- "1": "Februarie",
- "2": "Maart",
- "3": "April",
- "4": "Mei",
- "5": "Junie",
- "6": "Julie",
- "7": "Augustus",
- "8": "September",
- "9": "Oktober",
- "10": "November",
- "11": "Desember"
- },
- "SHORTDAY": {
- "0": "So",
- "1": "Ma",
- "2": "Di",
- "3": "Wo",
- "4": "Do",
- "5": "Vr",
- "6": "Sa"
- },
- "SHORTMONTH": {
- "0": "Jan",
- "1": "Feb",
- "2": "Mar",
- "3": "Apr",
- "4": "Mei",
- "5": "Jun",
- "6": "Jul",
- "7": "Aug",
- "8": "Sep",
- "9": "Okt",
- "10": "Nov",
- "11": "Des"
- },
+ "AMPMS": [
+ "vm.",
+ "nm."
+ ],
+ "DAY": [
+ "Sondag",
+ "Maandag",
+ "Dinsdag",
+ "Woensdag",
+ "Donderdag",
+ "Vrydag",
+ "Saterdag"
+ ],
+ "MONTH": [
+ "Januarie",
+ "Februarie",
+ "Maart",
+ "April",
+ "Mei",
+ "Junie",
+ "Julie",
+ "Augustus",
+ "September",
+ "Oktober",
+ "November",
+ "Desember"
+ ],
+ "SHORTDAY": [
+ "So",
+ "Ma",
+ "Di",
+ "Wo",
+ "Do",
+ "Vr",
+ "Sa"
+ ],
+ "SHORTMONTH": [
+ "Jan",
+ "Feb",
+ "Mar",
+ "Apr",
+ "Mei",
+ "Jun",
+ "Jul",
+ "Aug",
+ "Sep",
+ "Okt",
+ "Nov",
+ "Des"
+ ],
"fullDate": "EEEE dd MMMM y",
"longDate": "dd MMMM y",
"medium": "dd MMM y h:mm:ss a",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "R",
"DECIMAL_SEP": ",",
"GROUP_SEP": "\u00a0",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4",
"posSuf": ""
}
- }
+ ]
},
"id": "af-za",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_af.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_af.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_af.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "vm.",
- "1": "nm."
- },
- "DAY": {
- "0": "Sondag",
- "1": "Maandag",
- "2": "Dinsdag",
- "3": "Woensdag",
- "4": "Donderdag",
- "5": "Vrydag",
- "6": "Saterdag"
- },
- "MONTH": {
- "0": "Januarie",
- "1": "Februarie",
- "2": "Maart",
- "3": "April",
- "4": "Mei",
- "5": "Junie",
- "6": "Julie",
- "7": "Augustus",
- "8": "September",
- "9": "Oktober",
- "10": "November",
- "11": "Desember"
- },
- "SHORTDAY": {
- "0": "So",
- "1": "Ma",
- "2": "Di",
- "3": "Wo",
- "4": "Do",
- "5": "Vr",
- "6": "Sa"
- },
- "SHORTMONTH": {
- "0": "Jan",
- "1": "Feb",
- "2": "Mar",
- "3": "Apr",
- "4": "Mei",
- "5": "Jun",
- "6": "Jul",
- "7": "Aug",
- "8": "Sep",
- "9": "Okt",
- "10": "Nov",
- "11": "Des"
- },
+ "AMPMS": [
+ "vm.",
+ "nm."
+ ],
+ "DAY": [
+ "Sondag",
+ "Maandag",
+ "Dinsdag",
+ "Woensdag",
+ "Donderdag",
+ "Vrydag",
+ "Saterdag"
+ ],
+ "MONTH": [
+ "Januarie",
+ "Februarie",
+ "Maart",
+ "April",
+ "Mei",
+ "Junie",
+ "Julie",
+ "Augustus",
+ "September",
+ "Oktober",
+ "November",
+ "Desember"
+ ],
+ "SHORTDAY": [
+ "So",
+ "Ma",
+ "Di",
+ "Wo",
+ "Do",
+ "Vr",
+ "Sa"
+ ],
+ "SHORTMONTH": [
+ "Jan",
+ "Feb",
+ "Mar",
+ "Apr",
+ "Mei",
+ "Jun",
+ "Jul",
+ "Aug",
+ "Sep",
+ "Okt",
+ "Nov",
+ "Des"
+ ],
"fullDate": "EEEE dd MMMM y",
"longDate": "dd MMMM y",
"medium": "dd MMM y h:mm:ss a",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "R",
"DECIMAL_SEP": ",",
"GROUP_SEP": "\u00a0",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4",
"posSuf": ""
}
- }
+ ]
},
"id": "af",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_am-et.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_am-et.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_am-et.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "\u1321\u12cb\u1275",
- "1": "\u12a8\u1233\u12d3\u1275"
- },
- "DAY": {
- "0": "\u12a5\u1211\u12f5",
- "1": "\u1230\u129e",
- "2": "\u121b\u12ad\u1230\u129e",
- "3": "\u1228\u1261\u12d5",
- "4": "\u1210\u1219\u1235",
- "5": "\u12d3\u122d\u1265",
- "6": "\u1245\u12f3\u121c"
- },
- "MONTH": {
- "0": "\u1303\u1295\u12e9\u12c8\u122a",
- "1": "\u134c\u1265\u1229\u12c8\u122a",
- "2": "\u121b\u122d\u127d",
- "3": "\u12a4\u1355\u1228\u120d",
- "4": "\u121c\u12ed",
- "5": "\u1301\u1295",
- "6": "\u1301\u120b\u12ed",
- "7": "\u12a6\u1308\u1235\u1275",
- "8": "\u1234\u1355\u1274\u121d\u1260\u122d",
- "9": "\u12a6\u12ad\u1270\u12cd\u1260\u122d",
- "10": "\u1296\u126c\u121d\u1260\u122d",
- "11": "\u12f2\u1234\u121d\u1260\u122d"
- },
- "SHORTDAY": {
- "0": "\u12a5\u1211\u12f5",
- "1": "\u1230\u129e",
- "2": "\u121b\u12ad\u1230",
- "3": "\u1228\u1261\u12d5",
- "4": "\u1210\u1219\u1235",
- "5": "\u12d3\u122d\u1265",
- "6": "\u1245\u12f3\u121c"
- },
- "SHORTMONTH": {
- "0": "\u1303\u1295\u12e9",
- "1": "\u134c\u1265\u1229",
- "2": "\u121b\u122d\u127d",
- "3": "\u12a4\u1355\u1228",
- "4": "\u121c\u12ed",
- "5": "\u1301\u1295",
- "6": "\u1301\u120b\u12ed",
- "7": "\u12a6\u1308\u1235",
- "8": "\u1234\u1355\u1274",
- "9": "\u12a6\u12ad\u1270",
- "10": "\u1296\u126c\u121d",
- "11": "\u12f2\u1234\u121d"
- },
+ "AMPMS": [
+ "\u1321\u12cb\u1275",
+ "\u12a8\u1233\u12d3\u1275"
+ ],
+ "DAY": [
+ "\u12a5\u1211\u12f5",
+ "\u1230\u129e",
+ "\u121b\u12ad\u1230\u129e",
+ "\u1228\u1261\u12d5",
+ "\u1210\u1219\u1235",
+ "\u12d3\u122d\u1265",
+ "\u1245\u12f3\u121c"
+ ],
+ "MONTH": [
+ "\u1303\u1295\u12e9\u12c8\u122a",
+ "\u134c\u1265\u1229\u12c8\u122a",
+ "\u121b\u122d\u127d",
+ "\u12a4\u1355\u1228\u120d",
+ "\u121c\u12ed",
+ "\u1301\u1295",
+ "\u1301\u120b\u12ed",
+ "\u12a6\u1308\u1235\u1275",
+ "\u1234\u1355\u1274\u121d\u1260\u122d",
+ "\u12a6\u12ad\u1270\u12cd\u1260\u122d",
+ "\u1296\u126c\u121d\u1260\u122d",
+ "\u12f2\u1234\u121d\u1260\u122d"
+ ],
+ "SHORTDAY": [
+ "\u12a5\u1211\u12f5",
+ "\u1230\u129e",
+ "\u121b\u12ad\u1230",
+ "\u1228\u1261\u12d5",
+ "\u1210\u1219\u1235",
+ "\u12d3\u122d\u1265",
+ "\u1245\u12f3\u121c"
+ ],
+ "SHORTMONTH": [
+ "\u1303\u1295\u12e9",
+ "\u134c\u1265\u1229",
+ "\u121b\u122d\u127d",
+ "\u12a4\u1355\u1228",
+ "\u121c\u12ed",
+ "\u1301\u1295",
+ "\u1301\u120b\u12ed",
+ "\u12a6\u1308\u1235",
+ "\u1234\u1355\u1274",
+ "\u12a6\u12ad\u1270",
+ "\u1296\u126c\u121d",
+ "\u12f2\u1234\u121d"
+ ],
"fullDate": "EEEE, d MMMM y",
"longDate": "d MMMM y",
"medium": "d MMM y h:mm:ss a",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "Birr",
"DECIMAL_SEP": ".",
"GROUP_SEP": ",",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4",
"posSuf": ""
}
- }
+ ]
},
"id": "am-et",
"pluralCat": function (n) { if (n == 0 || n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_am.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_am.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_am.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "\u1321\u12cb\u1275",
- "1": "\u12a8\u1233\u12d3\u1275"
- },
- "DAY": {
- "0": "\u12a5\u1211\u12f5",
- "1": "\u1230\u129e",
- "2": "\u121b\u12ad\u1230\u129e",
- "3": "\u1228\u1261\u12d5",
- "4": "\u1210\u1219\u1235",
- "5": "\u12d3\u122d\u1265",
- "6": "\u1245\u12f3\u121c"
- },
- "MONTH": {
- "0": "\u1303\u1295\u12e9\u12c8\u122a",
- "1": "\u134c\u1265\u1229\u12c8\u122a",
- "2": "\u121b\u122d\u127d",
- "3": "\u12a4\u1355\u1228\u120d",
- "4": "\u121c\u12ed",
- "5": "\u1301\u1295",
- "6": "\u1301\u120b\u12ed",
- "7": "\u12a6\u1308\u1235\u1275",
- "8": "\u1234\u1355\u1274\u121d\u1260\u122d",
- "9": "\u12a6\u12ad\u1270\u12cd\u1260\u122d",
- "10": "\u1296\u126c\u121d\u1260\u122d",
- "11": "\u12f2\u1234\u121d\u1260\u122d"
- },
- "SHORTDAY": {
- "0": "\u12a5\u1211\u12f5",
- "1": "\u1230\u129e",
- "2": "\u121b\u12ad\u1230",
- "3": "\u1228\u1261\u12d5",
- "4": "\u1210\u1219\u1235",
- "5": "\u12d3\u122d\u1265",
- "6": "\u1245\u12f3\u121c"
- },
- "SHORTMONTH": {
- "0": "\u1303\u1295\u12e9",
- "1": "\u134c\u1265\u1229",
- "2": "\u121b\u122d\u127d",
- "3": "\u12a4\u1355\u1228",
- "4": "\u121c\u12ed",
- "5": "\u1301\u1295",
- "6": "\u1301\u120b\u12ed",
- "7": "\u12a6\u1308\u1235",
- "8": "\u1234\u1355\u1274",
- "9": "\u12a6\u12ad\u1270",
- "10": "\u1296\u126c\u121d",
- "11": "\u12f2\u1234\u121d"
- },
+ "AMPMS": [
+ "\u1321\u12cb\u1275",
+ "\u12a8\u1233\u12d3\u1275"
+ ],
+ "DAY": [
+ "\u12a5\u1211\u12f5",
+ "\u1230\u129e",
+ "\u121b\u12ad\u1230\u129e",
+ "\u1228\u1261\u12d5",
+ "\u1210\u1219\u1235",
+ "\u12d3\u122d\u1265",
+ "\u1245\u12f3\u121c"
+ ],
+ "MONTH": [
+ "\u1303\u1295\u12e9\u12c8\u122a",
+ "\u134c\u1265\u1229\u12c8\u122a",
+ "\u121b\u122d\u127d",
+ "\u12a4\u1355\u1228\u120d",
+ "\u121c\u12ed",
+ "\u1301\u1295",
+ "\u1301\u120b\u12ed",
+ "\u12a6\u1308\u1235\u1275",
+ "\u1234\u1355\u1274\u121d\u1260\u122d",
+ "\u12a6\u12ad\u1270\u12cd\u1260\u122d",
+ "\u1296\u126c\u121d\u1260\u122d",
+ "\u12f2\u1234\u121d\u1260\u122d"
+ ],
+ "SHORTDAY": [
+ "\u12a5\u1211\u12f5",
+ "\u1230\u129e",
+ "\u121b\u12ad\u1230",
+ "\u1228\u1261\u12d5",
+ "\u1210\u1219\u1235",
+ "\u12d3\u122d\u1265",
+ "\u1245\u12f3\u121c"
+ ],
+ "SHORTMONTH": [
+ "\u1303\u1295\u12e9",
+ "\u134c\u1265\u1229",
+ "\u121b\u122d\u127d",
+ "\u12a4\u1355\u1228",
+ "\u121c\u12ed",
+ "\u1301\u1295",
+ "\u1301\u120b\u12ed",
+ "\u12a6\u1308\u1235",
+ "\u1234\u1355\u1274",
+ "\u12a6\u12ad\u1270",
+ "\u1296\u126c\u121d",
+ "\u12f2\u1234\u121d"
+ ],
"fullDate": "EEEE, d MMMM y",
"longDate": "d MMMM y",
"medium": "d MMM y h:mm:ss a",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "Birr",
"DECIMAL_SEP": ".",
"GROUP_SEP": ",",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4",
"posSuf": ""
}
- }
+ ]
},
"id": "am",
"pluralCat": function (n) { if (n == 0 || n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ar-001.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ar-001.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ar-001.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "\u0635",
- "1": "\u0645"
- },
- "DAY": {
- "0": "\u0627\u0644\u0623\u062d\u062f",
- "1": "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
- "2": "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
- "3": "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
- "4": "\u0627\u0644\u062e\u0645\u064a\u0633",
- "5": "\u0627\u0644\u062c\u0645\u0639\u0629",
- "6": "\u0627\u0644\u0633\u0628\u062a"
- },
- "MONTH": {
- "0": "\u064a\u0646\u0627\u064a\u0631",
- "1": "\u0641\u0628\u0631\u0627\u064a\u0631",
- "2": "\u0645\u0627\u0631\u0633",
- "3": "\u0623\u0628\u0631\u064a\u0644",
- "4": "\u0645\u0627\u064a\u0648",
- "5": "\u064a\u0648\u0646\u064a\u0648",
- "6": "\u064a\u0648\u0644\u064a\u0648",
- "7": "\u0623\u063a\u0633\u0637\u0633",
- "8": "\u0633\u0628\u062a\u0645\u0628\u0631",
- "9": "\u0623\u0643\u062a\u0648\u0628\u0631",
- "10": "\u0646\u0648\u0641\u0645\u0628\u0631",
- "11": "\u062f\u064a\u0633\u0645\u0628\u0631"
- },
- "SHORTDAY": {
- "0": "\u0627\u0644\u0623\u062d\u062f",
- "1": "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
- "2": "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
- "3": "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
- "4": "\u0627\u0644\u062e\u0645\u064a\u0633",
- "5": "\u0627\u0644\u062c\u0645\u0639\u0629",
- "6": "\u0627\u0644\u0633\u0628\u062a"
- },
- "SHORTMONTH": {
- "0": "\u064a\u0646\u0627\u064a\u0631",
- "1": "\u0641\u0628\u0631\u0627\u064a\u0631",
- "2": "\u0645\u0627\u0631\u0633",
- "3": "\u0623\u0628\u0631\u064a\u0644",
- "4": "\u0645\u0627\u064a\u0648",
- "5": "\u064a\u0648\u0646\u064a\u0648",
- "6": "\u064a\u0648\u0644\u064a\u0648",
- "7": "\u0623\u063a\u0633\u0637\u0633",
- "8": "\u0633\u0628\u062a\u0645\u0628\u0631",
- "9": "\u0623\u0643\u062a\u0648\u0628\u0631",
- "10": "\u0646\u0648\u0641\u0645\u0628\u0631",
- "11": "\u062f\u064a\u0633\u0645\u0628\u0631"
- },
+ "AMPMS": [
+ "\u0635",
+ "\u0645"
+ ],
+ "DAY": [
+ "\u0627\u0644\u0623\u062d\u062f",
+ "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
+ "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
+ "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
+ "\u0627\u0644\u062e\u0645\u064a\u0633",
+ "\u0627\u0644\u062c\u0645\u0639\u0629",
+ "\u0627\u0644\u0633\u0628\u062a"
+ ],
+ "MONTH": [
+ "\u064a\u0646\u0627\u064a\u0631",
+ "\u0641\u0628\u0631\u0627\u064a\u0631",
+ "\u0645\u0627\u0631\u0633",
+ "\u0623\u0628\u0631\u064a\u0644",
+ "\u0645\u0627\u064a\u0648",
+ "\u064a\u0648\u0646\u064a\u0648",
+ "\u064a\u0648\u0644\u064a\u0648",
+ "\u0623\u063a\u0633\u0637\u0633",
+ "\u0633\u0628\u062a\u0645\u0628\u0631",
+ "\u0623\u0643\u062a\u0648\u0628\u0631",
+ "\u0646\u0648\u0641\u0645\u0628\u0631",
+ "\u062f\u064a\u0633\u0645\u0628\u0631"
+ ],
+ "SHORTDAY": [
+ "\u0627\u0644\u0623\u062d\u062f",
+ "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
+ "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
+ "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
+ "\u0627\u0644\u062e\u0645\u064a\u0633",
+ "\u0627\u0644\u062c\u0645\u0639\u0629",
+ "\u0627\u0644\u0633\u0628\u062a"
+ ],
+ "SHORTMONTH": [
+ "\u064a\u0646\u0627\u064a\u0631",
+ "\u0641\u0628\u0631\u0627\u064a\u0631",
+ "\u0645\u0627\u0631\u0633",
+ "\u0623\u0628\u0631\u064a\u0644",
+ "\u0645\u0627\u064a\u0648",
+ "\u064a\u0648\u0646\u064a\u0648",
+ "\u064a\u0648\u0644\u064a\u0648",
+ "\u0623\u063a\u0633\u0637\u0633",
+ "\u0633\u0628\u062a\u0645\u0628\u0631",
+ "\u0623\u0643\u062a\u0648\u0628\u0631",
+ "\u0646\u0648\u0641\u0645\u0628\u0631",
+ "\u062f\u064a\u0633\u0645\u0628\u0631"
+ ],
"fullDate": "EEEE\u060c d MMMM\u060c y",
"longDate": "d MMMM\u060c y",
"medium": "dd\u200f/MM\u200f/yyyy h:mm:ss a",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u00a3",
"DECIMAL_SEP": "\u066b",
"GROUP_SEP": "\u066c",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 0,
"lgSize": 0,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 0,
"lgSize": 0,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4\u00a0",
"posSuf": ""
}
- }
+ ]
},
"id": "ar-001",
"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 == (n | 0) && n % 100 >= 3 && n % 100 <= 10) { return PLURAL_CATEGORY.FEW; } if (n == (n | 0) && n % 100 >= 11 && n % 100 <= 99) { return PLURAL_CATEGORY.MANY; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ar-ae.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ar-ae.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ar-ae.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "\u0635",
- "1": "\u0645"
- },
- "DAY": {
- "0": "\u0627\u0644\u0623\u062d\u062f",
- "1": "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
- "2": "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
- "3": "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
- "4": "\u0627\u0644\u062e\u0645\u064a\u0633",
- "5": "\u0627\u0644\u062c\u0645\u0639\u0629",
- "6": "\u0627\u0644\u0633\u0628\u062a"
- },
- "MONTH": {
- "0": "\u064a\u0646\u0627\u064a\u0631",
- "1": "\u0641\u0628\u0631\u0627\u064a\u0631",
- "2": "\u0645\u0627\u0631\u0633",
- "3": "\u0623\u0628\u0631\u064a\u0644",
- "4": "\u0645\u0627\u064a\u0648",
- "5": "\u064a\u0648\u0646\u064a\u0648",
- "6": "\u064a\u0648\u0644\u064a\u0648",
- "7": "\u0623\u063a\u0633\u0637\u0633",
- "8": "\u0633\u0628\u062a\u0645\u0628\u0631",
- "9": "\u0623\u0643\u062a\u0648\u0628\u0631",
- "10": "\u0646\u0648\u0641\u0645\u0628\u0631",
- "11": "\u062f\u064a\u0633\u0645\u0628\u0631"
- },
- "SHORTDAY": {
- "0": "\u0627\u0644\u0623\u062d\u062f",
- "1": "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
- "2": "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
- "3": "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
- "4": "\u0627\u0644\u062e\u0645\u064a\u0633",
- "5": "\u0627\u0644\u062c\u0645\u0639\u0629",
- "6": "\u0627\u0644\u0633\u0628\u062a"
- },
- "SHORTMONTH": {
- "0": "\u064a\u0646\u0627\u064a\u0631",
- "1": "\u0641\u0628\u0631\u0627\u064a\u0631",
- "2": "\u0645\u0627\u0631\u0633",
- "3": "\u0623\u0628\u0631\u064a\u0644",
- "4": "\u0645\u0627\u064a\u0648",
- "5": "\u064a\u0648\u0646\u064a\u0648",
- "6": "\u064a\u0648\u0644\u064a\u0648",
- "7": "\u0623\u063a\u0633\u0637\u0633",
- "8": "\u0633\u0628\u062a\u0645\u0628\u0631",
- "9": "\u0623\u0643\u062a\u0648\u0628\u0631",
- "10": "\u0646\u0648\u0641\u0645\u0628\u0631",
- "11": "\u062f\u064a\u0633\u0645\u0628\u0631"
- },
+ "AMPMS": [
+ "\u0635",
+ "\u0645"
+ ],
+ "DAY": [
+ "\u0627\u0644\u0623\u062d\u062f",
+ "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
+ "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
+ "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
+ "\u0627\u0644\u062e\u0645\u064a\u0633",
+ "\u0627\u0644\u062c\u0645\u0639\u0629",
+ "\u0627\u0644\u0633\u0628\u062a"
+ ],
+ "MONTH": [
+ "\u064a\u0646\u0627\u064a\u0631",
+ "\u0641\u0628\u0631\u0627\u064a\u0631",
+ "\u0645\u0627\u0631\u0633",
+ "\u0623\u0628\u0631\u064a\u0644",
+ "\u0645\u0627\u064a\u0648",
+ "\u064a\u0648\u0646\u064a\u0648",
+ "\u064a\u0648\u0644\u064a\u0648",
+ "\u0623\u063a\u0633\u0637\u0633",
+ "\u0633\u0628\u062a\u0645\u0628\u0631",
+ "\u0623\u0643\u062a\u0648\u0628\u0631",
+ "\u0646\u0648\u0641\u0645\u0628\u0631",
+ "\u062f\u064a\u0633\u0645\u0628\u0631"
+ ],
+ "SHORTDAY": [
+ "\u0627\u0644\u0623\u062d\u062f",
+ "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
+ "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
+ "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
+ "\u0627\u0644\u062e\u0645\u064a\u0633",
+ "\u0627\u0644\u062c\u0645\u0639\u0629",
+ "\u0627\u0644\u0633\u0628\u062a"
+ ],
+ "SHORTMONTH": [
+ "\u064a\u0646\u0627\u064a\u0631",
+ "\u0641\u0628\u0631\u0627\u064a\u0631",
+ "\u0645\u0627\u0631\u0633",
+ "\u0623\u0628\u0631\u064a\u0644",
+ "\u0645\u0627\u064a\u0648",
+ "\u064a\u0648\u0646\u064a\u0648",
+ "\u064a\u0648\u0644\u064a\u0648",
+ "\u0623\u063a\u0633\u0637\u0633",
+ "\u0633\u0628\u062a\u0645\u0628\u0631",
+ "\u0623\u0643\u062a\u0648\u0628\u0631",
+ "\u0646\u0648\u0641\u0645\u0628\u0631",
+ "\u062f\u064a\u0633\u0645\u0628\u0631"
+ ],
"fullDate": "EEEE\u060c d MMMM\u060c y",
"longDate": "d MMMM\u060c y",
"medium": "dd\u200f/MM\u200f/yyyy h:mm:ss a",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u00a3",
"DECIMAL_SEP": "\u066b",
"GROUP_SEP": "\u066c",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 0,
"lgSize": 0,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 0,
"lgSize": 0,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4\u00a0",
"posSuf": ""
}
- }
+ ]
},
"id": "ar-ae",
"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 == (n | 0) && n % 100 >= 3 && n % 100 <= 10) { return PLURAL_CATEGORY.FEW; } if (n == (n | 0) && n % 100 >= 11 && n % 100 <= 99) { return PLURAL_CATEGORY.MANY; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ar-bh.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ar-bh.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ar-bh.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "\u0635",
- "1": "\u0645"
- },
- "DAY": {
- "0": "\u0627\u0644\u0623\u062d\u062f",
- "1": "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
- "2": "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
- "3": "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
- "4": "\u0627\u0644\u062e\u0645\u064a\u0633",
- "5": "\u0627\u0644\u062c\u0645\u0639\u0629",
- "6": "\u0627\u0644\u0633\u0628\u062a"
- },
- "MONTH": {
- "0": "\u064a\u0646\u0627\u064a\u0631",
- "1": "\u0641\u0628\u0631\u0627\u064a\u0631",
- "2": "\u0645\u0627\u0631\u0633",
- "3": "\u0623\u0628\u0631\u064a\u0644",
- "4": "\u0645\u0627\u064a\u0648",
- "5": "\u064a\u0648\u0646\u064a\u0648",
- "6": "\u064a\u0648\u0644\u064a\u0648",
- "7": "\u0623\u063a\u0633\u0637\u0633",
- "8": "\u0633\u0628\u062a\u0645\u0628\u0631",
- "9": "\u0623\u0643\u062a\u0648\u0628\u0631",
- "10": "\u0646\u0648\u0641\u0645\u0628\u0631",
- "11": "\u062f\u064a\u0633\u0645\u0628\u0631"
- },
- "SHORTDAY": {
- "0": "\u0627\u0644\u0623\u062d\u062f",
- "1": "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
- "2": "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
- "3": "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
- "4": "\u0627\u0644\u062e\u0645\u064a\u0633",
- "5": "\u0627\u0644\u062c\u0645\u0639\u0629",
- "6": "\u0627\u0644\u0633\u0628\u062a"
- },
- "SHORTMONTH": {
- "0": "\u064a\u0646\u0627\u064a\u0631",
- "1": "\u0641\u0628\u0631\u0627\u064a\u0631",
- "2": "\u0645\u0627\u0631\u0633",
- "3": "\u0623\u0628\u0631\u064a\u0644",
- "4": "\u0645\u0627\u064a\u0648",
- "5": "\u064a\u0648\u0646\u064a\u0648",
- "6": "\u064a\u0648\u0644\u064a\u0648",
- "7": "\u0623\u063a\u0633\u0637\u0633",
- "8": "\u0633\u0628\u062a\u0645\u0628\u0631",
- "9": "\u0623\u0643\u062a\u0648\u0628\u0631",
- "10": "\u0646\u0648\u0641\u0645\u0628\u0631",
- "11": "\u062f\u064a\u0633\u0645\u0628\u0631"
- },
+ "AMPMS": [
+ "\u0635",
+ "\u0645"
+ ],
+ "DAY": [
+ "\u0627\u0644\u0623\u062d\u062f",
+ "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
+ "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
+ "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
+ "\u0627\u0644\u062e\u0645\u064a\u0633",
+ "\u0627\u0644\u062c\u0645\u0639\u0629",
+ "\u0627\u0644\u0633\u0628\u062a"
+ ],
+ "MONTH": [
+ "\u064a\u0646\u0627\u064a\u0631",
+ "\u0641\u0628\u0631\u0627\u064a\u0631",
+ "\u0645\u0627\u0631\u0633",
+ "\u0623\u0628\u0631\u064a\u0644",
+ "\u0645\u0627\u064a\u0648",
+ "\u064a\u0648\u0646\u064a\u0648",
+ "\u064a\u0648\u0644\u064a\u0648",
+ "\u0623\u063a\u0633\u0637\u0633",
+ "\u0633\u0628\u062a\u0645\u0628\u0631",
+ "\u0623\u0643\u062a\u0648\u0628\u0631",
+ "\u0646\u0648\u0641\u0645\u0628\u0631",
+ "\u062f\u064a\u0633\u0645\u0628\u0631"
+ ],
+ "SHORTDAY": [
+ "\u0627\u0644\u0623\u062d\u062f",
+ "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
+ "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
+ "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
+ "\u0627\u0644\u062e\u0645\u064a\u0633",
+ "\u0627\u0644\u062c\u0645\u0639\u0629",
+ "\u0627\u0644\u0633\u0628\u062a"
+ ],
+ "SHORTMONTH": [
+ "\u064a\u0646\u0627\u064a\u0631",
+ "\u0641\u0628\u0631\u0627\u064a\u0631",
+ "\u0645\u0627\u0631\u0633",
+ "\u0623\u0628\u0631\u064a\u0644",
+ "\u0645\u0627\u064a\u0648",
+ "\u064a\u0648\u0646\u064a\u0648",
+ "\u064a\u0648\u0644\u064a\u0648",
+ "\u0623\u063a\u0633\u0637\u0633",
+ "\u0633\u0628\u062a\u0645\u0628\u0631",
+ "\u0623\u0643\u062a\u0648\u0628\u0631",
+ "\u0646\u0648\u0641\u0645\u0628\u0631",
+ "\u062f\u064a\u0633\u0645\u0628\u0631"
+ ],
"fullDate": "EEEE\u060c d MMMM\u060c y",
"longDate": "d MMMM\u060c y",
"medium": "dd\u200f/MM\u200f/yyyy h:mm:ss a",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u00a3",
"DECIMAL_SEP": "\u066b",
"GROUP_SEP": "\u066c",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 0,
"lgSize": 0,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 0,
"lgSize": 0,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4\u00a0",
"posSuf": ""
}
- }
+ ]
},
"id": "ar-bh",
"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 == (n | 0) && n % 100 >= 3 && n % 100 <= 10) { return PLURAL_CATEGORY.FEW; } if (n == (n | 0) && n % 100 >= 11 && n % 100 <= 99) { return PLURAL_CATEGORY.MANY; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ar-dz.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ar-dz.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ar-dz.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "\u0635",
- "1": "\u0645"
- },
- "DAY": {
- "0": "\u0627\u0644\u0623\u062d\u062f",
- "1": "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
- "2": "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
- "3": "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
- "4": "\u0627\u0644\u062e\u0645\u064a\u0633",
- "5": "\u0627\u0644\u062c\u0645\u0639\u0629",
- "6": "\u0627\u0644\u0633\u0628\u062a"
- },
- "MONTH": {
- "0": "\u064a\u0646\u0627\u064a\u0631",
- "1": "\u0641\u0628\u0631\u0627\u064a\u0631",
- "2": "\u0645\u0627\u0631\u0633",
- "3": "\u0623\u0628\u0631\u064a\u0644",
- "4": "\u0645\u0627\u064a\u0648",
- "5": "\u064a\u0648\u0646\u064a\u0648",
- "6": "\u064a\u0648\u0644\u064a\u0648",
- "7": "\u0623\u063a\u0633\u0637\u0633",
- "8": "\u0633\u0628\u062a\u0645\u0628\u0631",
- "9": "\u0623\u0643\u062a\u0648\u0628\u0631",
- "10": "\u0646\u0648\u0641\u0645\u0628\u0631",
- "11": "\u062f\u064a\u0633\u0645\u0628\u0631"
- },
- "SHORTDAY": {
- "0": "\u0627\u0644\u0623\u062d\u062f",
- "1": "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
- "2": "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
- "3": "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
- "4": "\u0627\u0644\u062e\u0645\u064a\u0633",
- "5": "\u0627\u0644\u062c\u0645\u0639\u0629",
- "6": "\u0627\u0644\u0633\u0628\u062a"
- },
- "SHORTMONTH": {
- "0": "\u064a\u0646\u0627\u064a\u0631",
- "1": "\u0641\u0628\u0631\u0627\u064a\u0631",
- "2": "\u0645\u0627\u0631\u0633",
- "3": "\u0623\u0628\u0631\u064a\u0644",
- "4": "\u0645\u0627\u064a\u0648",
- "5": "\u064a\u0648\u0646\u064a\u0648",
- "6": "\u064a\u0648\u0644\u064a\u0648",
- "7": "\u0623\u063a\u0633\u0637\u0633",
- "8": "\u0633\u0628\u062a\u0645\u0628\u0631",
- "9": "\u0623\u0643\u062a\u0648\u0628\u0631",
- "10": "\u0646\u0648\u0641\u0645\u0628\u0631",
- "11": "\u062f\u064a\u0633\u0645\u0628\u0631"
- },
+ "AMPMS": [
+ "\u0635",
+ "\u0645"
+ ],
+ "DAY": [
+ "\u0627\u0644\u0623\u062d\u062f",
+ "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
+ "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
+ "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
+ "\u0627\u0644\u062e\u0645\u064a\u0633",
+ "\u0627\u0644\u062c\u0645\u0639\u0629",
+ "\u0627\u0644\u0633\u0628\u062a"
+ ],
+ "MONTH": [
+ "\u064a\u0646\u0627\u064a\u0631",
+ "\u0641\u0628\u0631\u0627\u064a\u0631",
+ "\u0645\u0627\u0631\u0633",
+ "\u0623\u0628\u0631\u064a\u0644",
+ "\u0645\u0627\u064a\u0648",
+ "\u064a\u0648\u0646\u064a\u0648",
+ "\u064a\u0648\u0644\u064a\u0648",
+ "\u0623\u063a\u0633\u0637\u0633",
+ "\u0633\u0628\u062a\u0645\u0628\u0631",
+ "\u0623\u0643\u062a\u0648\u0628\u0631",
+ "\u0646\u0648\u0641\u0645\u0628\u0631",
+ "\u062f\u064a\u0633\u0645\u0628\u0631"
+ ],
+ "SHORTDAY": [
+ "\u0627\u0644\u0623\u062d\u062f",
+ "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
+ "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
+ "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
+ "\u0627\u0644\u062e\u0645\u064a\u0633",
+ "\u0627\u0644\u062c\u0645\u0639\u0629",
+ "\u0627\u0644\u0633\u0628\u062a"
+ ],
+ "SHORTMONTH": [
+ "\u064a\u0646\u0627\u064a\u0631",
+ "\u0641\u0628\u0631\u0627\u064a\u0631",
+ "\u0645\u0627\u0631\u0633",
+ "\u0623\u0628\u0631\u064a\u0644",
+ "\u0645\u0627\u064a\u0648",
+ "\u064a\u0648\u0646\u064a\u0648",
+ "\u064a\u0648\u0644\u064a\u0648",
+ "\u0623\u063a\u0633\u0637\u0633",
+ "\u0633\u0628\u062a\u0645\u0628\u0631",
+ "\u0623\u0643\u062a\u0648\u0628\u0631",
+ "\u0646\u0648\u0641\u0645\u0628\u0631",
+ "\u062f\u064a\u0633\u0645\u0628\u0631"
+ ],
"fullDate": "EEEE\u060c d MMMM\u060c y",
"longDate": "d MMMM\u060c y",
"medium": "yyyy/MM/dd h:mm:ss a",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u00a3",
"DECIMAL_SEP": "\u066b",
"GROUP_SEP": "\u066c",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 0,
"lgSize": 0,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 0,
"lgSize": 0,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4\u00a0",
"posSuf": ""
}
- }
+ ]
},
"id": "ar-dz",
"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 == (n | 0) && n % 100 >= 3 && n % 100 <= 10) { return PLURAL_CATEGORY.FEW; } if (n == (n | 0) && n % 100 >= 11 && n % 100 <= 99) { return PLURAL_CATEGORY.MANY; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ar-eg.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ar-eg.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ar-eg.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "\u0635",
- "1": "\u0645"
- },
- "DAY": {
- "0": "\u0627\u0644\u0623\u062d\u062f",
- "1": "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
- "2": "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
- "3": "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
- "4": "\u0627\u0644\u062e\u0645\u064a\u0633",
- "5": "\u0627\u0644\u062c\u0645\u0639\u0629",
- "6": "\u0627\u0644\u0633\u0628\u062a"
- },
- "MONTH": {
- "0": "\u064a\u0646\u0627\u064a\u0631",
- "1": "\u0641\u0628\u0631\u0627\u064a\u0631",
- "2": "\u0645\u0627\u0631\u0633",
- "3": "\u0623\u0628\u0631\u064a\u0644",
- "4": "\u0645\u0627\u064a\u0648",
- "5": "\u064a\u0648\u0646\u064a\u0648",
- "6": "\u064a\u0648\u0644\u064a\u0648",
- "7": "\u0623\u063a\u0633\u0637\u0633",
- "8": "\u0633\u0628\u062a\u0645\u0628\u0631",
- "9": "\u0623\u0643\u062a\u0648\u0628\u0631",
- "10": "\u0646\u0648\u0641\u0645\u0628\u0631",
- "11": "\u062f\u064a\u0633\u0645\u0628\u0631"
- },
- "SHORTDAY": {
- "0": "\u0627\u0644\u0623\u062d\u062f",
- "1": "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
- "2": "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
- "3": "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
- "4": "\u0627\u0644\u062e\u0645\u064a\u0633",
- "5": "\u0627\u0644\u062c\u0645\u0639\u0629",
- "6": "\u0627\u0644\u0633\u0628\u062a"
- },
- "SHORTMONTH": {
- "0": "\u064a\u0646\u0627\u064a\u0631",
- "1": "\u0641\u0628\u0631\u0627\u064a\u0631",
- "2": "\u0645\u0627\u0631\u0633",
- "3": "\u0623\u0628\u0631\u064a\u0644",
- "4": "\u0645\u0627\u064a\u0648",
- "5": "\u064a\u0648\u0646\u064a\u0648",
- "6": "\u064a\u0648\u0644\u064a\u0648",
- "7": "\u0623\u063a\u0633\u0637\u0633",
- "8": "\u0633\u0628\u062a\u0645\u0628\u0631",
- "9": "\u0623\u0643\u062a\u0648\u0628\u0631",
- "10": "\u0646\u0648\u0641\u0645\u0628\u0631",
- "11": "\u062f\u064a\u0633\u0645\u0628\u0631"
- },
+ "AMPMS": [
+ "\u0635",
+ "\u0645"
+ ],
+ "DAY": [
+ "\u0627\u0644\u0623\u062d\u062f",
+ "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
+ "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
+ "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
+ "\u0627\u0644\u062e\u0645\u064a\u0633",
+ "\u0627\u0644\u062c\u0645\u0639\u0629",
+ "\u0627\u0644\u0633\u0628\u062a"
+ ],
+ "MONTH": [
+ "\u064a\u0646\u0627\u064a\u0631",
+ "\u0641\u0628\u0631\u0627\u064a\u0631",
+ "\u0645\u0627\u0631\u0633",
+ "\u0623\u0628\u0631\u064a\u0644",
+ "\u0645\u0627\u064a\u0648",
+ "\u064a\u0648\u0646\u064a\u0648",
+ "\u064a\u0648\u0644\u064a\u0648",
+ "\u0623\u063a\u0633\u0637\u0633",
+ "\u0633\u0628\u062a\u0645\u0628\u0631",
+ "\u0623\u0643\u062a\u0648\u0628\u0631",
+ "\u0646\u0648\u0641\u0645\u0628\u0631",
+ "\u062f\u064a\u0633\u0645\u0628\u0631"
+ ],
+ "SHORTDAY": [
+ "\u0627\u0644\u0623\u062d\u062f",
+ "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
+ "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
+ "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
+ "\u0627\u0644\u062e\u0645\u064a\u0633",
+ "\u0627\u0644\u062c\u0645\u0639\u0629",
+ "\u0627\u0644\u0633\u0628\u062a"
+ ],
+ "SHORTMONTH": [
+ "\u064a\u0646\u0627\u064a\u0631",
+ "\u0641\u0628\u0631\u0627\u064a\u0631",
+ "\u0645\u0627\u0631\u0633",
+ "\u0623\u0628\u0631\u064a\u0644",
+ "\u0645\u0627\u064a\u0648",
+ "\u064a\u0648\u0646\u064a\u0648",
+ "\u064a\u0648\u0644\u064a\u0648",
+ "\u0623\u063a\u0633\u0637\u0633",
+ "\u0633\u0628\u062a\u0645\u0628\u0631",
+ "\u0623\u0643\u062a\u0648\u0628\u0631",
+ "\u0646\u0648\u0641\u0645\u0628\u0631",
+ "\u062f\u064a\u0633\u0645\u0628\u0631"
+ ],
"fullDate": "EEEE\u060c d MMMM\u060c y",
"longDate": "d MMMM\u060c y",
"medium": "dd\u200f/MM\u200f/yyyy h:mm:ss a",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u00a3",
"DECIMAL_SEP": "\u066b",
"GROUP_SEP": "\u066c",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 0,
"lgSize": 0,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 0,
"lgSize": 0,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4\u00a0",
"posSuf": ""
}
- }
+ ]
},
"id": "ar-eg",
"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 == (n | 0) && n % 100 >= 3 && n % 100 <= 10) { return PLURAL_CATEGORY.FEW; } if (n == (n | 0) && n % 100 >= 11 && n % 100 <= 99) { return PLURAL_CATEGORY.MANY; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ar-iq.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ar-iq.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ar-iq.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "\u0635",
- "1": "\u0645"
- },
- "DAY": {
- "0": "\u0627\u0644\u0623\u062d\u062f",
- "1": "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
- "2": "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
- "3": "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
- "4": "\u0627\u0644\u062e\u0645\u064a\u0633",
- "5": "\u0627\u0644\u062c\u0645\u0639\u0629",
- "6": "\u0627\u0644\u0633\u0628\u062a"
- },
- "MONTH": {
- "0": "\u064a\u0646\u0627\u064a\u0631",
- "1": "\u0641\u0628\u0631\u0627\u064a\u0631",
- "2": "\u0645\u0627\u0631\u0633",
- "3": "\u0623\u0628\u0631\u064a\u0644",
- "4": "\u0645\u0627\u064a\u0648",
- "5": "\u064a\u0648\u0646\u064a\u0648",
- "6": "\u064a\u0648\u0644\u064a\u0648",
- "7": "\u0623\u063a\u0633\u0637\u0633",
- "8": "\u0633\u0628\u062a\u0645\u0628\u0631",
- "9": "\u0623\u0643\u062a\u0648\u0628\u0631",
- "10": "\u0646\u0648\u0641\u0645\u0628\u0631",
- "11": "\u062f\u064a\u0633\u0645\u0628\u0631"
- },
- "SHORTDAY": {
- "0": "\u0627\u0644\u0623\u062d\u062f",
- "1": "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
- "2": "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
- "3": "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
- "4": "\u0627\u0644\u062e\u0645\u064a\u0633",
- "5": "\u0627\u0644\u062c\u0645\u0639\u0629",
- "6": "\u0627\u0644\u0633\u0628\u062a"
- },
- "SHORTMONTH": {
- "0": "\u064a\u0646\u0627\u064a\u0631",
- "1": "\u0641\u0628\u0631\u0627\u064a\u0631",
- "2": "\u0645\u0627\u0631\u0633",
- "3": "\u0623\u0628\u0631\u064a\u0644",
- "4": "\u0645\u0627\u064a\u0648",
- "5": "\u064a\u0648\u0646\u064a\u0648",
- "6": "\u064a\u0648\u0644\u064a\u0648",
- "7": "\u0623\u063a\u0633\u0637\u0633",
- "8": "\u0633\u0628\u062a\u0645\u0628\u0631",
- "9": "\u0623\u0643\u062a\u0648\u0628\u0631",
- "10": "\u0646\u0648\u0641\u0645\u0628\u0631",
- "11": "\u062f\u064a\u0633\u0645\u0628\u0631"
- },
+ "AMPMS": [
+ "\u0635",
+ "\u0645"
+ ],
+ "DAY": [
+ "\u0627\u0644\u0623\u062d\u062f",
+ "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
+ "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
+ "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
+ "\u0627\u0644\u062e\u0645\u064a\u0633",
+ "\u0627\u0644\u062c\u0645\u0639\u0629",
+ "\u0627\u0644\u0633\u0628\u062a"
+ ],
+ "MONTH": [
+ "\u064a\u0646\u0627\u064a\u0631",
+ "\u0641\u0628\u0631\u0627\u064a\u0631",
+ "\u0645\u0627\u0631\u0633",
+ "\u0623\u0628\u0631\u064a\u0644",
+ "\u0645\u0627\u064a\u0648",
+ "\u064a\u0648\u0646\u064a\u0648",
+ "\u064a\u0648\u0644\u064a\u0648",
+ "\u0623\u063a\u0633\u0637\u0633",
+ "\u0633\u0628\u062a\u0645\u0628\u0631",
+ "\u0623\u0643\u062a\u0648\u0628\u0631",
+ "\u0646\u0648\u0641\u0645\u0628\u0631",
+ "\u062f\u064a\u0633\u0645\u0628\u0631"
+ ],
+ "SHORTDAY": [
+ "\u0627\u0644\u0623\u062d\u062f",
+ "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
+ "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
+ "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
+ "\u0627\u0644\u062e\u0645\u064a\u0633",
+ "\u0627\u0644\u062c\u0645\u0639\u0629",
+ "\u0627\u0644\u0633\u0628\u062a"
+ ],
+ "SHORTMONTH": [
+ "\u064a\u0646\u0627\u064a\u0631",
+ "\u0641\u0628\u0631\u0627\u064a\u0631",
+ "\u0645\u0627\u0631\u0633",
+ "\u0623\u0628\u0631\u064a\u0644",
+ "\u0645\u0627\u064a\u0648",
+ "\u064a\u0648\u0646\u064a\u0648",
+ "\u064a\u0648\u0644\u064a\u0648",
+ "\u0623\u063a\u0633\u0637\u0633",
+ "\u0633\u0628\u062a\u0645\u0628\u0631",
+ "\u0623\u0643\u062a\u0648\u0628\u0631",
+ "\u0646\u0648\u0641\u0645\u0628\u0631",
+ "\u062f\u064a\u0633\u0645\u0628\u0631"
+ ],
"fullDate": "EEEE\u060c d MMMM\u060c y",
"longDate": "d MMMM\u060c y",
"medium": "dd\u200f/MM\u200f/yyyy h:mm:ss a",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u00a3",
"DECIMAL_SEP": "\u066b",
"GROUP_SEP": "\u066c",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 0,
"lgSize": 0,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 0,
"lgSize": 0,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4\u00a0",
"posSuf": ""
}
- }
+ ]
},
"id": "ar-iq",
"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 == (n | 0) && n % 100 >= 3 && n % 100 <= 10) { return PLURAL_CATEGORY.FEW; } if (n == (n | 0) && n % 100 >= 11 && n % 100 <= 99) { return PLURAL_CATEGORY.MANY; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ar-jo.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ar-jo.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ar-jo.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "\u0635",
- "1": "\u0645"
- },
- "DAY": {
- "0": "\u0627\u0644\u0623\u062d\u062f",
- "1": "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
- "2": "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
- "3": "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
- "4": "\u0627\u0644\u062e\u0645\u064a\u0633",
- "5": "\u0627\u0644\u062c\u0645\u0639\u0629",
- "6": "\u0627\u0644\u0633\u0628\u062a"
- },
- "MONTH": {
- "0": "\u0643\u0627\u0646\u0648\u0646 \u0627\u0644\u062b\u0627\u0646\u064a",
- "1": "\u0634\u0628\u0627\u0637",
- "2": "\u0622\u0630\u0627\u0631",
- "3": "\u0646\u064a\u0633\u0627\u0646",
- "4": "\u0623\u064a\u0627\u0631",
- "5": "\u062d\u0632\u064a\u0631\u0627\u0646",
- "6": "\u062a\u0645\u0648\u0632",
- "7": "\u0622\u0628",
- "8": "\u0623\u064a\u0644\u0648\u0644",
- "9": "\u062a\u0634\u0631\u064a\u0646 \u0627\u0644\u0623\u0648\u0644",
- "10": "\u062a\u0634\u0631\u064a\u0646 \u0627\u0644\u062b\u0627\u0646\u064a",
- "11": "\u0643\u0627\u0646\u0648\u0646 \u0627\u0644\u0623\u0648\u0644"
- },
- "SHORTDAY": {
- "0": "\u0627\u0644\u0623\u062d\u062f",
- "1": "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
- "2": "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
- "3": "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
- "4": "\u0627\u0644\u062e\u0645\u064a\u0633",
- "5": "\u0627\u0644\u062c\u0645\u0639\u0629",
- "6": "\u0627\u0644\u0633\u0628\u062a"
- },
- "SHORTMONTH": {
- "0": "\u0643\u0627\u0646\u0648\u0646 \u0627\u0644\u062b\u0627\u0646\u064a",
- "1": "\u0634\u0628\u0627\u0637",
- "2": "\u0622\u0630\u0627\u0631",
- "3": "\u0646\u064a\u0633\u0627\u0646",
- "4": "\u0623\u064a\u0627\u0631",
- "5": "\u062d\u0632\u064a\u0631\u0627\u0646",
- "6": "\u062a\u0645\u0648\u0632",
- "7": "\u0622\u0628",
- "8": "\u0623\u064a\u0644\u0648\u0644",
- "9": "\u062a\u0634\u0631\u064a\u0646 \u0627\u0644\u0623\u0648\u0644",
- "10": "\u062a\u0634\u0631\u064a\u0646 \u0627\u0644\u062b\u0627\u0646\u064a",
- "11": "\u0643\u0627\u0646\u0648\u0646 \u0627\u0644\u0623\u0648\u0644"
- },
+ "AMPMS": [
+ "\u0635",
+ "\u0645"
+ ],
+ "DAY": [
+ "\u0627\u0644\u0623\u062d\u062f",
+ "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
+ "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
+ "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
+ "\u0627\u0644\u062e\u0645\u064a\u0633",
+ "\u0627\u0644\u062c\u0645\u0639\u0629",
+ "\u0627\u0644\u0633\u0628\u062a"
+ ],
+ "MONTH": [
+ "\u0643\u0627\u0646\u0648\u0646 \u0627\u0644\u062b\u0627\u0646\u064a",
+ "\u0634\u0628\u0627\u0637",
+ "\u0622\u0630\u0627\u0631",
+ "\u0646\u064a\u0633\u0627\u0646",
+ "\u0623\u064a\u0627\u0631",
+ "\u062d\u0632\u064a\u0631\u0627\u0646",
+ "\u062a\u0645\u0648\u0632",
+ "\u0622\u0628",
+ "\u0623\u064a\u0644\u0648\u0644",
+ "\u062a\u0634\u0631\u064a\u0646 \u0627\u0644\u0623\u0648\u0644",
+ "\u062a\u0634\u0631\u064a\u0646 \u0627\u0644\u062b\u0627\u0646\u064a",
+ "\u0643\u0627\u0646\u0648\u0646 \u0627\u0644\u0623\u0648\u0644"
+ ],
+ "SHORTDAY": [
+ "\u0627\u0644\u0623\u062d\u062f",
+ "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
+ "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
+ "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
+ "\u0627\u0644\u062e\u0645\u064a\u0633",
+ "\u0627\u0644\u062c\u0645\u0639\u0629",
+ "\u0627\u0644\u0633\u0628\u062a"
+ ],
+ "SHORTMONTH": [
+ "\u0643\u0627\u0646\u0648\u0646 \u0627\u0644\u062b\u0627\u0646\u064a",
+ "\u0634\u0628\u0627\u0637",
+ "\u0622\u0630\u0627\u0631",
+ "\u0646\u064a\u0633\u0627\u0646",
+ "\u0623\u064a\u0627\u0631",
+ "\u062d\u0632\u064a\u0631\u0627\u0646",
+ "\u062a\u0645\u0648\u0632",
+ "\u0622\u0628",
+ "\u0623\u064a\u0644\u0648\u0644",
+ "\u062a\u0634\u0631\u064a\u0646 \u0627\u0644\u0623\u0648\u0644",
+ "\u062a\u0634\u0631\u064a\u0646 \u0627\u0644\u062b\u0627\u0646\u064a",
+ "\u0643\u0627\u0646\u0648\u0646 \u0627\u0644\u0623\u0648\u0644"
+ ],
"fullDate": "EEEE\u060c d MMMM\u060c y",
"longDate": "d MMMM\u060c y",
"medium": "dd\u200f/MM\u200f/yyyy h:mm:ss a",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u00a3",
"DECIMAL_SEP": "\u066b",
"GROUP_SEP": "\u066c",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 0,
"lgSize": 0,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 0,
"lgSize": 0,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4\u00a0",
"posSuf": ""
}
- }
+ ]
},
"id": "ar-jo",
"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 == (n | 0) && n % 100 >= 3 && n % 100 <= 10) { return PLURAL_CATEGORY.FEW; } if (n == (n | 0) && n % 100 >= 11 && n % 100 <= 99) { return PLURAL_CATEGORY.MANY; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ar-kw.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ar-kw.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ar-kw.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "\u0635",
- "1": "\u0645"
- },
- "DAY": {
- "0": "\u0627\u0644\u0623\u062d\u062f",
- "1": "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
- "2": "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
- "3": "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
- "4": "\u0627\u0644\u062e\u0645\u064a\u0633",
- "5": "\u0627\u0644\u062c\u0645\u0639\u0629",
- "6": "\u0627\u0644\u0633\u0628\u062a"
- },
- "MONTH": {
- "0": "\u064a\u0646\u0627\u064a\u0631",
- "1": "\u0641\u0628\u0631\u0627\u064a\u0631",
- "2": "\u0645\u0627\u0631\u0633",
- "3": "\u0623\u0628\u0631\u064a\u0644",
- "4": "\u0645\u0627\u064a\u0648",
- "5": "\u064a\u0648\u0646\u064a\u0648",
- "6": "\u064a\u0648\u0644\u064a\u0648",
- "7": "\u0623\u063a\u0633\u0637\u0633",
- "8": "\u0633\u0628\u062a\u0645\u0628\u0631",
- "9": "\u0623\u0643\u062a\u0648\u0628\u0631",
- "10": "\u0646\u0648\u0641\u0645\u0628\u0631",
- "11": "\u062f\u064a\u0633\u0645\u0628\u0631"
- },
- "SHORTDAY": {
- "0": "\u0627\u0644\u0623\u062d\u062f",
- "1": "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
- "2": "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
- "3": "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
- "4": "\u0627\u0644\u062e\u0645\u064a\u0633",
- "5": "\u0627\u0644\u062c\u0645\u0639\u0629",
- "6": "\u0627\u0644\u0633\u0628\u062a"
- },
- "SHORTMONTH": {
- "0": "\u064a\u0646\u0627\u064a\u0631",
- "1": "\u0641\u0628\u0631\u0627\u064a\u0631",
- "2": "\u0645\u0627\u0631\u0633",
- "3": "\u0623\u0628\u0631\u064a\u0644",
- "4": "\u0645\u0627\u064a\u0648",
- "5": "\u064a\u0648\u0646\u064a\u0648",
- "6": "\u064a\u0648\u0644\u064a\u0648",
- "7": "\u0623\u063a\u0633\u0637\u0633",
- "8": "\u0633\u0628\u062a\u0645\u0628\u0631",
- "9": "\u0623\u0643\u062a\u0648\u0628\u0631",
- "10": "\u0646\u0648\u0641\u0645\u0628\u0631",
- "11": "\u062f\u064a\u0633\u0645\u0628\u0631"
- },
+ "AMPMS": [
+ "\u0635",
+ "\u0645"
+ ],
+ "DAY": [
+ "\u0627\u0644\u0623\u062d\u062f",
+ "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
+ "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
+ "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
+ "\u0627\u0644\u062e\u0645\u064a\u0633",
+ "\u0627\u0644\u062c\u0645\u0639\u0629",
+ "\u0627\u0644\u0633\u0628\u062a"
+ ],
+ "MONTH": [
+ "\u064a\u0646\u0627\u064a\u0631",
+ "\u0641\u0628\u0631\u0627\u064a\u0631",
+ "\u0645\u0627\u0631\u0633",
+ "\u0623\u0628\u0631\u064a\u0644",
+ "\u0645\u0627\u064a\u0648",
+ "\u064a\u0648\u0646\u064a\u0648",
+ "\u064a\u0648\u0644\u064a\u0648",
+ "\u0623\u063a\u0633\u0637\u0633",
+ "\u0633\u0628\u062a\u0645\u0628\u0631",
+ "\u0623\u0643\u062a\u0648\u0628\u0631",
+ "\u0646\u0648\u0641\u0645\u0628\u0631",
+ "\u062f\u064a\u0633\u0645\u0628\u0631"
+ ],
+ "SHORTDAY": [
+ "\u0627\u0644\u0623\u062d\u062f",
+ "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
+ "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
+ "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
+ "\u0627\u0644\u062e\u0645\u064a\u0633",
+ "\u0627\u0644\u062c\u0645\u0639\u0629",
+ "\u0627\u0644\u0633\u0628\u062a"
+ ],
+ "SHORTMONTH": [
+ "\u064a\u0646\u0627\u064a\u0631",
+ "\u0641\u0628\u0631\u0627\u064a\u0631",
+ "\u0645\u0627\u0631\u0633",
+ "\u0623\u0628\u0631\u064a\u0644",
+ "\u0645\u0627\u064a\u0648",
+ "\u064a\u0648\u0646\u064a\u0648",
+ "\u064a\u0648\u0644\u064a\u0648",
+ "\u0623\u063a\u0633\u0637\u0633",
+ "\u0633\u0628\u062a\u0645\u0628\u0631",
+ "\u0623\u0643\u062a\u0648\u0628\u0631",
+ "\u0646\u0648\u0641\u0645\u0628\u0631",
+ "\u062f\u064a\u0633\u0645\u0628\u0631"
+ ],
"fullDate": "EEEE\u060c d MMMM\u060c y",
"longDate": "d MMMM\u060c y",
"medium": "dd\u200f/MM\u200f/yyyy h:mm:ss a",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u00a3",
"DECIMAL_SEP": "\u066b",
"GROUP_SEP": "\u066c",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 0,
"lgSize": 0,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 0,
"lgSize": 0,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4\u00a0",
"posSuf": ""
}
- }
+ ]
},
"id": "ar-kw",
"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 == (n | 0) && n % 100 >= 3 && n % 100 <= 10) { return PLURAL_CATEGORY.FEW; } if (n == (n | 0) && n % 100 >= 11 && n % 100 <= 99) { return PLURAL_CATEGORY.MANY; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ar-lb.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ar-lb.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ar-lb.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "\u0635",
- "1": "\u0645"
- },
- "DAY": {
- "0": "\u0627\u0644\u0623\u062d\u062f",
- "1": "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
- "2": "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
- "3": "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
- "4": "\u0627\u0644\u062e\u0645\u064a\u0633",
- "5": "\u0627\u0644\u062c\u0645\u0639\u0629",
- "6": "\u0627\u0644\u0633\u0628\u062a"
- },
- "MONTH": {
- "0": "\u0643\u0627\u0646\u0648\u0646 \u0627\u0644\u062b\u0627\u0646\u064a",
- "1": "\u0634\u0628\u0627\u0637",
- "2": "\u0622\u0630\u0627\u0631",
- "3": "\u0646\u064a\u0633\u0627\u0646",
- "4": "\u0623\u064a\u0627\u0631",
- "5": "\u062d\u0632\u064a\u0631\u0627\u0646",
- "6": "\u062a\u0645\u0648\u0632",
- "7": "\u0622\u0628",
- "8": "\u0623\u064a\u0644\u0648\u0644",
- "9": "\u062a\u0634\u0631\u064a\u0646 \u0627\u0644\u0623\u0648\u0644",
- "10": "\u062a\u0634\u0631\u064a\u0646 \u0627\u0644\u062b\u0627\u0646\u064a",
- "11": "\u0643\u0627\u0646\u0648\u0646 \u0627\u0644\u0623\u0648\u0644"
- },
- "SHORTDAY": {
- "0": "\u0627\u0644\u0623\u062d\u062f",
- "1": "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
- "2": "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
- "3": "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
- "4": "\u0627\u0644\u062e\u0645\u064a\u0633",
- "5": "\u0627\u0644\u062c\u0645\u0639\u0629",
- "6": "\u0627\u0644\u0633\u0628\u062a"
- },
- "SHORTMONTH": {
- "0": "\u0643\u0627\u0646\u0648\u0646 \u0627\u0644\u062b\u0627\u0646\u064a",
- "1": "\u0634\u0628\u0627\u0637",
- "2": "\u0622\u0630\u0627\u0631",
- "3": "\u0646\u064a\u0633\u0627\u0646",
- "4": "\u0623\u064a\u0627\u0631",
- "5": "\u062d\u0632\u064a\u0631\u0627\u0646",
- "6": "\u062a\u0645\u0648\u0632",
- "7": "\u0622\u0628",
- "8": "\u0623\u064a\u0644\u0648\u0644",
- "9": "\u062a\u0634\u0631\u064a\u0646 \u0627\u0644\u0623\u0648\u0644",
- "10": "\u062a\u0634\u0631\u064a\u0646 \u0627\u0644\u062b\u0627\u0646\u064a",
- "11": "\u0643\u0627\u0646\u0648\u0646 \u0627\u0644\u0623\u0648\u0644"
- },
+ "AMPMS": [
+ "\u0635",
+ "\u0645"
+ ],
+ "DAY": [
+ "\u0627\u0644\u0623\u062d\u062f",
+ "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
+ "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
+ "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
+ "\u0627\u0644\u062e\u0645\u064a\u0633",
+ "\u0627\u0644\u062c\u0645\u0639\u0629",
+ "\u0627\u0644\u0633\u0628\u062a"
+ ],
+ "MONTH": [
+ "\u0643\u0627\u0646\u0648\u0646 \u0627\u0644\u062b\u0627\u0646\u064a",
+ "\u0634\u0628\u0627\u0637",
+ "\u0622\u0630\u0627\u0631",
+ "\u0646\u064a\u0633\u0627\u0646",
+ "\u0623\u064a\u0627\u0631",
+ "\u062d\u0632\u064a\u0631\u0627\u0646",
+ "\u062a\u0645\u0648\u0632",
+ "\u0622\u0628",
+ "\u0623\u064a\u0644\u0648\u0644",
+ "\u062a\u0634\u0631\u064a\u0646 \u0627\u0644\u0623\u0648\u0644",
+ "\u062a\u0634\u0631\u064a\u0646 \u0627\u0644\u062b\u0627\u0646\u064a",
+ "\u0643\u0627\u0646\u0648\u0646 \u0627\u0644\u0623\u0648\u0644"
+ ],
+ "SHORTDAY": [
+ "\u0627\u0644\u0623\u062d\u062f",
+ "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
+ "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
+ "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
+ "\u0627\u0644\u062e\u0645\u064a\u0633",
+ "\u0627\u0644\u062c\u0645\u0639\u0629",
+ "\u0627\u0644\u0633\u0628\u062a"
+ ],
+ "SHORTMONTH": [
+ "\u0643\u0627\u0646\u0648\u0646 \u0627\u0644\u062b\u0627\u0646\u064a",
+ "\u0634\u0628\u0627\u0637",
+ "\u0622\u0630\u0627\u0631",
+ "\u0646\u064a\u0633\u0627\u0646",
+ "\u0623\u064a\u0627\u0631",
+ "\u062d\u0632\u064a\u0631\u0627\u0646",
+ "\u062a\u0645\u0648\u0632",
+ "\u0622\u0628",
+ "\u0623\u064a\u0644\u0648\u0644",
+ "\u062a\u0634\u0631\u064a\u0646 \u0627\u0644\u0623\u0648\u0644",
+ "\u062a\u0634\u0631\u064a\u0646 \u0627\u0644\u062b\u0627\u0646\u064a",
+ "\u0643\u0627\u0646\u0648\u0646 \u0627\u0644\u0623\u0648\u0644"
+ ],
"fullDate": "EEEE\u060c d MMMM\u060c y",
"longDate": "d MMMM\u060c y",
"medium": "dd\u200f/MM\u200f/yyyy h:mm:ss a",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u00a3",
"DECIMAL_SEP": "\u066b",
"GROUP_SEP": "\u066c",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 0,
"lgSize": 0,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 0,
"lgSize": 0,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4\u00a0",
"posSuf": ""
}
- }
+ ]
},
"id": "ar-lb",
"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 == (n | 0) && n % 100 >= 3 && n % 100 <= 10) { return PLURAL_CATEGORY.FEW; } if (n == (n | 0) && n % 100 >= 11 && n % 100 <= 99) { return PLURAL_CATEGORY.MANY; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ar-ly.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ar-ly.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ar-ly.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "\u0635",
- "1": "\u0645"
- },
- "DAY": {
- "0": "\u0627\u0644\u0623\u062d\u062f",
- "1": "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
- "2": "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
- "3": "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
- "4": "\u0627\u0644\u062e\u0645\u064a\u0633",
- "5": "\u0627\u0644\u062c\u0645\u0639\u0629",
- "6": "\u0627\u0644\u0633\u0628\u062a"
- },
- "MONTH": {
- "0": "\u064a\u0646\u0627\u064a\u0631",
- "1": "\u0641\u0628\u0631\u0627\u064a\u0631",
- "2": "\u0645\u0627\u0631\u0633",
- "3": "\u0623\u0628\u0631\u064a\u0644",
- "4": "\u0645\u0627\u064a\u0648",
- "5": "\u064a\u0648\u0646\u064a\u0648",
- "6": "\u064a\u0648\u0644\u064a\u0648",
- "7": "\u0623\u063a\u0633\u0637\u0633",
- "8": "\u0633\u0628\u062a\u0645\u0628\u0631",
- "9": "\u0623\u0643\u062a\u0648\u0628\u0631",
- "10": "\u0646\u0648\u0641\u0645\u0628\u0631",
- "11": "\u062f\u064a\u0633\u0645\u0628\u0631"
- },
- "SHORTDAY": {
- "0": "\u0627\u0644\u0623\u062d\u062f",
- "1": "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
- "2": "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
- "3": "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
- "4": "\u0627\u0644\u062e\u0645\u064a\u0633",
- "5": "\u0627\u0644\u062c\u0645\u0639\u0629",
- "6": "\u0627\u0644\u0633\u0628\u062a"
- },
- "SHORTMONTH": {
- "0": "\u064a\u0646\u0627\u064a\u0631",
- "1": "\u0641\u0628\u0631\u0627\u064a\u0631",
- "2": "\u0645\u0627\u0631\u0633",
- "3": "\u0623\u0628\u0631\u064a\u0644",
- "4": "\u0645\u0627\u064a\u0648",
- "5": "\u064a\u0648\u0646\u064a\u0648",
- "6": "\u064a\u0648\u0644\u064a\u0648",
- "7": "\u0623\u063a\u0633\u0637\u0633",
- "8": "\u0633\u0628\u062a\u0645\u0628\u0631",
- "9": "\u0623\u0643\u062a\u0648\u0628\u0631",
- "10": "\u0646\u0648\u0641\u0645\u0628\u0631",
- "11": "\u062f\u064a\u0633\u0645\u0628\u0631"
- },
+ "AMPMS": [
+ "\u0635",
+ "\u0645"
+ ],
+ "DAY": [
+ "\u0627\u0644\u0623\u062d\u062f",
+ "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
+ "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
+ "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
+ "\u0627\u0644\u062e\u0645\u064a\u0633",
+ "\u0627\u0644\u062c\u0645\u0639\u0629",
+ "\u0627\u0644\u0633\u0628\u062a"
+ ],
+ "MONTH": [
+ "\u064a\u0646\u0627\u064a\u0631",
+ "\u0641\u0628\u0631\u0627\u064a\u0631",
+ "\u0645\u0627\u0631\u0633",
+ "\u0623\u0628\u0631\u064a\u0644",
+ "\u0645\u0627\u064a\u0648",
+ "\u064a\u0648\u0646\u064a\u0648",
+ "\u064a\u0648\u0644\u064a\u0648",
+ "\u0623\u063a\u0633\u0637\u0633",
+ "\u0633\u0628\u062a\u0645\u0628\u0631",
+ "\u0623\u0643\u062a\u0648\u0628\u0631",
+ "\u0646\u0648\u0641\u0645\u0628\u0631",
+ "\u062f\u064a\u0633\u0645\u0628\u0631"
+ ],
+ "SHORTDAY": [
+ "\u0627\u0644\u0623\u062d\u062f",
+ "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
+ "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
+ "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
+ "\u0627\u0644\u062e\u0645\u064a\u0633",
+ "\u0627\u0644\u062c\u0645\u0639\u0629",
+ "\u0627\u0644\u0633\u0628\u062a"
+ ],
+ "SHORTMONTH": [
+ "\u064a\u0646\u0627\u064a\u0631",
+ "\u0641\u0628\u0631\u0627\u064a\u0631",
+ "\u0645\u0627\u0631\u0633",
+ "\u0623\u0628\u0631\u064a\u0644",
+ "\u0645\u0627\u064a\u0648",
+ "\u064a\u0648\u0646\u064a\u0648",
+ "\u064a\u0648\u0644\u064a\u0648",
+ "\u0623\u063a\u0633\u0637\u0633",
+ "\u0633\u0628\u062a\u0645\u0628\u0631",
+ "\u0623\u0643\u062a\u0648\u0628\u0631",
+ "\u0646\u0648\u0641\u0645\u0628\u0631",
+ "\u062f\u064a\u0633\u0645\u0628\u0631"
+ ],
"fullDate": "EEEE\u060c d MMMM\u060c y",
"longDate": "d MMMM\u060c y",
"medium": "dd\u200f/MM\u200f/yyyy h:mm:ss a",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u00a3",
"DECIMAL_SEP": "\u066b",
"GROUP_SEP": "\u066c",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 0,
"lgSize": 0,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 0,
"lgSize": 0,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4\u00a0",
"posSuf": ""
}
- }
+ ]
},
"id": "ar-ly",
"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 == (n | 0) && n % 100 >= 3 && n % 100 <= 10) { return PLURAL_CATEGORY.FEW; } if (n == (n | 0) && n % 100 >= 11 && n % 100 <= 99) { return PLURAL_CATEGORY.MANY; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ar-ma.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ar-ma.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ar-ma.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "\u0635",
- "1": "\u0645"
- },
- "DAY": {
- "0": "\u0627\u0644\u0623\u062d\u062f",
- "1": "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
- "2": "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
- "3": "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
- "4": "\u0627\u0644\u062e\u0645\u064a\u0633",
- "5": "\u0627\u0644\u062c\u0645\u0639\u0629",
- "6": "\u0627\u0644\u0633\u0628\u062a"
- },
- "MONTH": {
- "0": "\u064a\u0646\u0627\u064a\u0631",
- "1": "\u0641\u0628\u0631\u0627\u064a\u0631",
- "2": "\u0645\u0627\u0631\u0633",
- "3": "\u0623\u0628\u0631\u064a\u0644",
- "4": "\u0645\u0627\u064a\u0648",
- "5": "\u064a\u0648\u0646\u064a\u0648",
- "6": "\u064a\u0648\u0644\u064a\u0648",
- "7": "\u0623\u063a\u0633\u0637\u0633",
- "8": "\u0633\u0628\u062a\u0645\u0628\u0631",
- "9": "\u0623\u0643\u062a\u0648\u0628\u0631",
- "10": "\u0646\u0648\u0641\u0645\u0628\u0631",
- "11": "\u062f\u064a\u0633\u0645\u0628\u0631"
- },
- "SHORTDAY": {
- "0": "\u0627\u0644\u0623\u062d\u062f",
- "1": "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
- "2": "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
- "3": "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
- "4": "\u0627\u0644\u062e\u0645\u064a\u0633",
- "5": "\u0627\u0644\u062c\u0645\u0639\u0629",
- "6": "\u0627\u0644\u0633\u0628\u062a"
- },
- "SHORTMONTH": {
- "0": "\u064a\u0646\u0627\u064a\u0631",
- "1": "\u0641\u0628\u0631\u0627\u064a\u0631",
- "2": "\u0645\u0627\u0631\u0633",
- "3": "\u0623\u0628\u0631\u064a\u0644",
- "4": "\u0645\u0627\u064a\u0648",
- "5": "\u064a\u0648\u0646\u064a\u0648",
- "6": "\u064a\u0648\u0644\u064a\u0648",
- "7": "\u0623\u063a\u0633\u0637\u0633",
- "8": "\u0633\u0628\u062a\u0645\u0628\u0631",
- "9": "\u0623\u0643\u062a\u0648\u0628\u0631",
- "10": "\u0646\u0648\u0641\u0645\u0628\u0631",
- "11": "\u062f\u064a\u0633\u0645\u0628\u0631"
- },
+ "AMPMS": [
+ "\u0635",
+ "\u0645"
+ ],
+ "DAY": [
+ "\u0627\u0644\u0623\u062d\u062f",
+ "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
+ "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
+ "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
+ "\u0627\u0644\u062e\u0645\u064a\u0633",
+ "\u0627\u0644\u062c\u0645\u0639\u0629",
+ "\u0627\u0644\u0633\u0628\u062a"
+ ],
+ "MONTH": [
+ "\u064a\u0646\u0627\u064a\u0631",
+ "\u0641\u0628\u0631\u0627\u064a\u0631",
+ "\u0645\u0627\u0631\u0633",
+ "\u0623\u0628\u0631\u064a\u0644",
+ "\u0645\u0627\u064a\u0648",
+ "\u064a\u0648\u0646\u064a\u0648",
+ "\u064a\u0648\u0644\u064a\u0648",
+ "\u0623\u063a\u0633\u0637\u0633",
+ "\u0633\u0628\u062a\u0645\u0628\u0631",
+ "\u0623\u0643\u062a\u0648\u0628\u0631",
+ "\u0646\u0648\u0641\u0645\u0628\u0631",
+ "\u062f\u064a\u0633\u0645\u0628\u0631"
+ ],
+ "SHORTDAY": [
+ "\u0627\u0644\u0623\u062d\u062f",
+ "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
+ "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
+ "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
+ "\u0627\u0644\u062e\u0645\u064a\u0633",
+ "\u0627\u0644\u062c\u0645\u0639\u0629",
+ "\u0627\u0644\u0633\u0628\u062a"
+ ],
+ "SHORTMONTH": [
+ "\u064a\u0646\u0627\u064a\u0631",
+ "\u0641\u0628\u0631\u0627\u064a\u0631",
+ "\u0645\u0627\u0631\u0633",
+ "\u0623\u0628\u0631\u064a\u0644",
+ "\u0645\u0627\u064a\u0648",
+ "\u064a\u0648\u0646\u064a\u0648",
+ "\u064a\u0648\u0644\u064a\u0648",
+ "\u0623\u063a\u0633\u0637\u0633",
+ "\u0633\u0628\u062a\u0645\u0628\u0631",
+ "\u0623\u0643\u062a\u0648\u0628\u0631",
+ "\u0646\u0648\u0641\u0645\u0628\u0631",
+ "\u062f\u064a\u0633\u0645\u0628\u0631"
+ ],
"fullDate": "EEEE\u060c d MMMM\u060c y",
"longDate": "d MMMM\u060c y",
"medium": "yyyy/MM/dd h:mm:ss a",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u00a3",
"DECIMAL_SEP": "\u066b",
"GROUP_SEP": "\u066c",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 0,
"lgSize": 0,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 0,
"lgSize": 0,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4\u00a0",
"posSuf": ""
}
- }
+ ]
},
"id": "ar-ma",
"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 == (n | 0) && n % 100 >= 3 && n % 100 <= 10) { return PLURAL_CATEGORY.FEW; } if (n == (n | 0) && n % 100 >= 11 && n % 100 <= 99) { return PLURAL_CATEGORY.MANY; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ar-om.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ar-om.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ar-om.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "\u0635",
- "1": "\u0645"
- },
- "DAY": {
- "0": "\u0627\u0644\u0623\u062d\u062f",
- "1": "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
- "2": "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
- "3": "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
- "4": "\u0627\u0644\u062e\u0645\u064a\u0633",
- "5": "\u0627\u0644\u062c\u0645\u0639\u0629",
- "6": "\u0627\u0644\u0633\u0628\u062a"
- },
- "MONTH": {
- "0": "\u064a\u0646\u0627\u064a\u0631",
- "1": "\u0641\u0628\u0631\u0627\u064a\u0631",
- "2": "\u0645\u0627\u0631\u0633",
- "3": "\u0623\u0628\u0631\u064a\u0644",
- "4": "\u0645\u0627\u064a\u0648",
- "5": "\u064a\u0648\u0646\u064a\u0648",
- "6": "\u064a\u0648\u0644\u064a\u0648",
- "7": "\u0623\u063a\u0633\u0637\u0633",
- "8": "\u0633\u0628\u062a\u0645\u0628\u0631",
- "9": "\u0623\u0643\u062a\u0648\u0628\u0631",
- "10": "\u0646\u0648\u0641\u0645\u0628\u0631",
- "11": "\u062f\u064a\u0633\u0645\u0628\u0631"
- },
- "SHORTDAY": {
- "0": "\u0627\u0644\u0623\u062d\u062f",
- "1": "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
- "2": "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
- "3": "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
- "4": "\u0627\u0644\u062e\u0645\u064a\u0633",
- "5": "\u0627\u0644\u062c\u0645\u0639\u0629",
- "6": "\u0627\u0644\u0633\u0628\u062a"
- },
- "SHORTMONTH": {
- "0": "\u064a\u0646\u0627\u064a\u0631",
- "1": "\u0641\u0628\u0631\u0627\u064a\u0631",
- "2": "\u0645\u0627\u0631\u0633",
- "3": "\u0623\u0628\u0631\u064a\u0644",
- "4": "\u0645\u0627\u064a\u0648",
- "5": "\u064a\u0648\u0646\u064a\u0648",
- "6": "\u064a\u0648\u0644\u064a\u0648",
- "7": "\u0623\u063a\u0633\u0637\u0633",
- "8": "\u0633\u0628\u062a\u0645\u0628\u0631",
- "9": "\u0623\u0643\u062a\u0648\u0628\u0631",
- "10": "\u0646\u0648\u0641\u0645\u0628\u0631",
- "11": "\u062f\u064a\u0633\u0645\u0628\u0631"
- },
+ "AMPMS": [
+ "\u0635",
+ "\u0645"
+ ],
+ "DAY": [
+ "\u0627\u0644\u0623\u062d\u062f",
+ "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
+ "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
+ "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
+ "\u0627\u0644\u062e\u0645\u064a\u0633",
+ "\u0627\u0644\u062c\u0645\u0639\u0629",
+ "\u0627\u0644\u0633\u0628\u062a"
+ ],
+ "MONTH": [
+ "\u064a\u0646\u0627\u064a\u0631",
+ "\u0641\u0628\u0631\u0627\u064a\u0631",
+ "\u0645\u0627\u0631\u0633",
+ "\u0623\u0628\u0631\u064a\u0644",
+ "\u0645\u0627\u064a\u0648",
+ "\u064a\u0648\u0646\u064a\u0648",
+ "\u064a\u0648\u0644\u064a\u0648",
+ "\u0623\u063a\u0633\u0637\u0633",
+ "\u0633\u0628\u062a\u0645\u0628\u0631",
+ "\u0623\u0643\u062a\u0648\u0628\u0631",
+ "\u0646\u0648\u0641\u0645\u0628\u0631",
+ "\u062f\u064a\u0633\u0645\u0628\u0631"
+ ],
+ "SHORTDAY": [
+ "\u0627\u0644\u0623\u062d\u062f",
+ "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
+ "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
+ "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
+ "\u0627\u0644\u062e\u0645\u064a\u0633",
+ "\u0627\u0644\u062c\u0645\u0639\u0629",
+ "\u0627\u0644\u0633\u0628\u062a"
+ ],
+ "SHORTMONTH": [
+ "\u064a\u0646\u0627\u064a\u0631",
+ "\u0641\u0628\u0631\u0627\u064a\u0631",
+ "\u0645\u0627\u0631\u0633",
+ "\u0623\u0628\u0631\u064a\u0644",
+ "\u0645\u0627\u064a\u0648",
+ "\u064a\u0648\u0646\u064a\u0648",
+ "\u064a\u0648\u0644\u064a\u0648",
+ "\u0623\u063a\u0633\u0637\u0633",
+ "\u0633\u0628\u062a\u0645\u0628\u0631",
+ "\u0623\u0643\u062a\u0648\u0628\u0631",
+ "\u0646\u0648\u0641\u0645\u0628\u0631",
+ "\u062f\u064a\u0633\u0645\u0628\u0631"
+ ],
"fullDate": "EEEE\u060c d MMMM\u060c y",
"longDate": "d MMMM\u060c y",
"medium": "dd\u200f/MM\u200f/yyyy h:mm:ss a",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u00a3",
"DECIMAL_SEP": "\u066b",
"GROUP_SEP": "\u066c",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 0,
"lgSize": 0,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 0,
"lgSize": 0,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4\u00a0",
"posSuf": ""
}
- }
+ ]
},
"id": "ar-om",
"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 == (n | 0) && n % 100 >= 3 && n % 100 <= 10) { return PLURAL_CATEGORY.FEW; } if (n == (n | 0) && n % 100 >= 11 && n % 100 <= 99) { return PLURAL_CATEGORY.MANY; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ar-qa.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ar-qa.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ar-qa.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "\u0635",
- "1": "\u0645"
- },
- "DAY": {
- "0": "\u0627\u0644\u0623\u062d\u062f",
- "1": "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
- "2": "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
- "3": "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
- "4": "\u0627\u0644\u062e\u0645\u064a\u0633",
- "5": "\u0627\u0644\u062c\u0645\u0639\u0629",
- "6": "\u0627\u0644\u0633\u0628\u062a"
- },
- "MONTH": {
- "0": "\u064a\u0646\u0627\u064a\u0631",
- "1": "\u0641\u0628\u0631\u0627\u064a\u0631",
- "2": "\u0645\u0627\u0631\u0633",
- "3": "\u0623\u0628\u0631\u064a\u0644",
- "4": "\u0645\u0627\u064a\u0648",
- "5": "\u064a\u0648\u0646\u064a\u0648",
- "6": "\u064a\u0648\u0644\u064a\u0648",
- "7": "\u0623\u063a\u0633\u0637\u0633",
- "8": "\u0633\u0628\u062a\u0645\u0628\u0631",
- "9": "\u0623\u0643\u062a\u0648\u0628\u0631",
- "10": "\u0646\u0648\u0641\u0645\u0628\u0631",
- "11": "\u062f\u064a\u0633\u0645\u0628\u0631"
- },
- "SHORTDAY": {
- "0": "\u0627\u0644\u0623\u062d\u062f",
- "1": "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
- "2": "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
- "3": "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
- "4": "\u0627\u0644\u062e\u0645\u064a\u0633",
- "5": "\u0627\u0644\u062c\u0645\u0639\u0629",
- "6": "\u0627\u0644\u0633\u0628\u062a"
- },
- "SHORTMONTH": {
- "0": "\u064a\u0646\u0627\u064a\u0631",
- "1": "\u0641\u0628\u0631\u0627\u064a\u0631",
- "2": "\u0645\u0627\u0631\u0633",
- "3": "\u0623\u0628\u0631\u064a\u0644",
- "4": "\u0645\u0627\u064a\u0648",
- "5": "\u064a\u0648\u0646\u064a\u0648",
- "6": "\u064a\u0648\u0644\u064a\u0648",
- "7": "\u0623\u063a\u0633\u0637\u0633",
- "8": "\u0633\u0628\u062a\u0645\u0628\u0631",
- "9": "\u0623\u0643\u062a\u0648\u0628\u0631",
- "10": "\u0646\u0648\u0641\u0645\u0628\u0631",
- "11": "\u062f\u064a\u0633\u0645\u0628\u0631"
- },
+ "AMPMS": [
+ "\u0635",
+ "\u0645"
+ ],
+ "DAY": [
+ "\u0627\u0644\u0623\u062d\u062f",
+ "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
+ "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
+ "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
+ "\u0627\u0644\u062e\u0645\u064a\u0633",
+ "\u0627\u0644\u062c\u0645\u0639\u0629",
+ "\u0627\u0644\u0633\u0628\u062a"
+ ],
+ "MONTH": [
+ "\u064a\u0646\u0627\u064a\u0631",
+ "\u0641\u0628\u0631\u0627\u064a\u0631",
+ "\u0645\u0627\u0631\u0633",
+ "\u0623\u0628\u0631\u064a\u0644",
+ "\u0645\u0627\u064a\u0648",
+ "\u064a\u0648\u0646\u064a\u0648",
+ "\u064a\u0648\u0644\u064a\u0648",
+ "\u0623\u063a\u0633\u0637\u0633",
+ "\u0633\u0628\u062a\u0645\u0628\u0631",
+ "\u0623\u0643\u062a\u0648\u0628\u0631",
+ "\u0646\u0648\u0641\u0645\u0628\u0631",
+ "\u062f\u064a\u0633\u0645\u0628\u0631"
+ ],
+ "SHORTDAY": [
+ "\u0627\u0644\u0623\u062d\u062f",
+ "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
+ "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
+ "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
+ "\u0627\u0644\u062e\u0645\u064a\u0633",
+ "\u0627\u0644\u062c\u0645\u0639\u0629",
+ "\u0627\u0644\u0633\u0628\u062a"
+ ],
+ "SHORTMONTH": [
+ "\u064a\u0646\u0627\u064a\u0631",
+ "\u0641\u0628\u0631\u0627\u064a\u0631",
+ "\u0645\u0627\u0631\u0633",
+ "\u0623\u0628\u0631\u064a\u0644",
+ "\u0645\u0627\u064a\u0648",
+ "\u064a\u0648\u0646\u064a\u0648",
+ "\u064a\u0648\u0644\u064a\u0648",
+ "\u0623\u063a\u0633\u0637\u0633",
+ "\u0633\u0628\u062a\u0645\u0628\u0631",
+ "\u0623\u0643\u062a\u0648\u0628\u0631",
+ "\u0646\u0648\u0641\u0645\u0628\u0631",
+ "\u062f\u064a\u0633\u0645\u0628\u0631"
+ ],
"fullDate": "EEEE\u060c d MMMM\u060c y",
"longDate": "d MMMM\u060c y",
"medium": "dd\u200f/MM\u200f/yyyy h:mm:ss a",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u00a3",
"DECIMAL_SEP": "\u066b",
"GROUP_SEP": "\u066c",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 0,
"lgSize": 0,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 0,
"lgSize": 0,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4\u00a0",
"posSuf": ""
}
- }
+ ]
},
"id": "ar-qa",
"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 == (n | 0) && n % 100 >= 3 && n % 100 <= 10) { return PLURAL_CATEGORY.FEW; } if (n == (n | 0) && n % 100 >= 11 && n % 100 <= 99) { return PLURAL_CATEGORY.MANY; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ar-sa.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ar-sa.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ar-sa.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "\u0635",
- "1": "\u0645"
- },
- "DAY": {
- "0": "\u0627\u0644\u0623\u062d\u062f",
- "1": "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
- "2": "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
- "3": "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
- "4": "\u0627\u0644\u062e\u0645\u064a\u0633",
- "5": "\u0627\u0644\u062c\u0645\u0639\u0629",
- "6": "\u0627\u0644\u0633\u0628\u062a"
- },
- "MONTH": {
- "0": "\u064a\u0646\u0627\u064a\u0631",
- "1": "\u0641\u0628\u0631\u0627\u064a\u0631",
- "2": "\u0645\u0627\u0631\u0633",
- "3": "\u0623\u0628\u0631\u064a\u0644",
- "4": "\u0645\u0627\u064a\u0648",
- "5": "\u064a\u0648\u0646\u064a\u0648",
- "6": "\u064a\u0648\u0644\u064a\u0648",
- "7": "\u0623\u063a\u0633\u0637\u0633",
- "8": "\u0633\u0628\u062a\u0645\u0628\u0631",
- "9": "\u0623\u0643\u062a\u0648\u0628\u0631",
- "10": "\u0646\u0648\u0641\u0645\u0628\u0631",
- "11": "\u062f\u064a\u0633\u0645\u0628\u0631"
- },
- "SHORTDAY": {
- "0": "\u0627\u0644\u0623\u062d\u062f",
- "1": "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
- "2": "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
- "3": "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
- "4": "\u0627\u0644\u062e\u0645\u064a\u0633",
- "5": "\u0627\u0644\u062c\u0645\u0639\u0629",
- "6": "\u0627\u0644\u0633\u0628\u062a"
- },
- "SHORTMONTH": {
- "0": "\u064a\u0646\u0627\u064a\u0631",
- "1": "\u0641\u0628\u0631\u0627\u064a\u0631",
- "2": "\u0645\u0627\u0631\u0633",
- "3": "\u0623\u0628\u0631\u064a\u0644",
- "4": "\u0645\u0627\u064a\u0648",
- "5": "\u064a\u0648\u0646\u064a\u0648",
- "6": "\u064a\u0648\u0644\u064a\u0648",
- "7": "\u0623\u063a\u0633\u0637\u0633",
- "8": "\u0633\u0628\u062a\u0645\u0628\u0631",
- "9": "\u0623\u0643\u062a\u0648\u0628\u0631",
- "10": "\u0646\u0648\u0641\u0645\u0628\u0631",
- "11": "\u062f\u064a\u0633\u0645\u0628\u0631"
- },
+ "AMPMS": [
+ "\u0635",
+ "\u0645"
+ ],
+ "DAY": [
+ "\u0627\u0644\u0623\u062d\u062f",
+ "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
+ "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
+ "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
+ "\u0627\u0644\u062e\u0645\u064a\u0633",
+ "\u0627\u0644\u062c\u0645\u0639\u0629",
+ "\u0627\u0644\u0633\u0628\u062a"
+ ],
+ "MONTH": [
+ "\u064a\u0646\u0627\u064a\u0631",
+ "\u0641\u0628\u0631\u0627\u064a\u0631",
+ "\u0645\u0627\u0631\u0633",
+ "\u0623\u0628\u0631\u064a\u0644",
+ "\u0645\u0627\u064a\u0648",
+ "\u064a\u0648\u0646\u064a\u0648",
+ "\u064a\u0648\u0644\u064a\u0648",
+ "\u0623\u063a\u0633\u0637\u0633",
+ "\u0633\u0628\u062a\u0645\u0628\u0631",
+ "\u0623\u0643\u062a\u0648\u0628\u0631",
+ "\u0646\u0648\u0641\u0645\u0628\u0631",
+ "\u062f\u064a\u0633\u0645\u0628\u0631"
+ ],
+ "SHORTDAY": [
+ "\u0627\u0644\u0623\u062d\u062f",
+ "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
+ "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
+ "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
+ "\u0627\u0644\u062e\u0645\u064a\u0633",
+ "\u0627\u0644\u062c\u0645\u0639\u0629",
+ "\u0627\u0644\u0633\u0628\u062a"
+ ],
+ "SHORTMONTH": [
+ "\u064a\u0646\u0627\u064a\u0631",
+ "\u0641\u0628\u0631\u0627\u064a\u0631",
+ "\u0645\u0627\u0631\u0633",
+ "\u0623\u0628\u0631\u064a\u0644",
+ "\u0645\u0627\u064a\u0648",
+ "\u064a\u0648\u0646\u064a\u0648",
+ "\u064a\u0648\u0644\u064a\u0648",
+ "\u0623\u063a\u0633\u0637\u0633",
+ "\u0633\u0628\u062a\u0645\u0628\u0631",
+ "\u0623\u0643\u062a\u0648\u0628\u0631",
+ "\u0646\u0648\u0641\u0645\u0628\u0631",
+ "\u062f\u064a\u0633\u0645\u0628\u0631"
+ ],
"fullDate": "EEEE\u060c d MMMM\u060c y",
"longDate": "d MMMM\u060c y",
"medium": "dd\u200f/MM\u200f/yyyy h:mm:ss a",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u00a3",
"DECIMAL_SEP": "\u066b",
"GROUP_SEP": "\u066c",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 0,
"lgSize": 0,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 0,
"lgSize": 0,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4\u00a0",
"posSuf": ""
}
- }
+ ]
},
"id": "ar-sa",
"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 == (n | 0) && n % 100 >= 3 && n % 100 <= 10) { return PLURAL_CATEGORY.FEW; } if (n == (n | 0) && n % 100 >= 11 && n % 100 <= 99) { return PLURAL_CATEGORY.MANY; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ar-sd.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ar-sd.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ar-sd.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "\u0635",
- "1": "\u0645"
- },
- "DAY": {
- "0": "\u0627\u0644\u0623\u062d\u062f",
- "1": "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
- "2": "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
- "3": "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
- "4": "\u0627\u0644\u062e\u0645\u064a\u0633",
- "5": "\u0627\u0644\u062c\u0645\u0639\u0629",
- "6": "\u0627\u0644\u0633\u0628\u062a"
- },
- "MONTH": {
- "0": "\u064a\u0646\u0627\u064a\u0631",
- "1": "\u0641\u0628\u0631\u0627\u064a\u0631",
- "2": "\u0645\u0627\u0631\u0633",
- "3": "\u0623\u0628\u0631\u064a\u0644",
- "4": "\u0645\u0627\u064a\u0648",
- "5": "\u064a\u0648\u0646\u064a\u0648",
- "6": "\u064a\u0648\u0644\u064a\u0648",
- "7": "\u0623\u063a\u0633\u0637\u0633",
- "8": "\u0633\u0628\u062a\u0645\u0628\u0631",
- "9": "\u0623\u0643\u062a\u0648\u0628\u0631",
- "10": "\u0646\u0648\u0641\u0645\u0628\u0631",
- "11": "\u062f\u064a\u0633\u0645\u0628\u0631"
- },
- "SHORTDAY": {
- "0": "\u0627\u0644\u0623\u062d\u062f",
- "1": "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
- "2": "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
- "3": "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
- "4": "\u0627\u0644\u062e\u0645\u064a\u0633",
- "5": "\u0627\u0644\u062c\u0645\u0639\u0629",
- "6": "\u0627\u0644\u0633\u0628\u062a"
- },
- "SHORTMONTH": {
- "0": "\u064a\u0646\u0627\u064a\u0631",
- "1": "\u0641\u0628\u0631\u0627\u064a\u0631",
- "2": "\u0645\u0627\u0631\u0633",
- "3": "\u0623\u0628\u0631\u064a\u0644",
- "4": "\u0645\u0627\u064a\u0648",
- "5": "\u064a\u0648\u0646\u064a\u0648",
- "6": "\u064a\u0648\u0644\u064a\u0648",
- "7": "\u0623\u063a\u0633\u0637\u0633",
- "8": "\u0633\u0628\u062a\u0645\u0628\u0631",
- "9": "\u0623\u0643\u062a\u0648\u0628\u0631",
- "10": "\u0646\u0648\u0641\u0645\u0628\u0631",
- "11": "\u062f\u064a\u0633\u0645\u0628\u0631"
- },
+ "AMPMS": [
+ "\u0635",
+ "\u0645"
+ ],
+ "DAY": [
+ "\u0627\u0644\u0623\u062d\u062f",
+ "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
+ "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
+ "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
+ "\u0627\u0644\u062e\u0645\u064a\u0633",
+ "\u0627\u0644\u062c\u0645\u0639\u0629",
+ "\u0627\u0644\u0633\u0628\u062a"
+ ],
+ "MONTH": [
+ "\u064a\u0646\u0627\u064a\u0631",
+ "\u0641\u0628\u0631\u0627\u064a\u0631",
+ "\u0645\u0627\u0631\u0633",
+ "\u0623\u0628\u0631\u064a\u0644",
+ "\u0645\u0627\u064a\u0648",
+ "\u064a\u0648\u0646\u064a\u0648",
+ "\u064a\u0648\u0644\u064a\u0648",
+ "\u0623\u063a\u0633\u0637\u0633",
+ "\u0633\u0628\u062a\u0645\u0628\u0631",
+ "\u0623\u0643\u062a\u0648\u0628\u0631",
+ "\u0646\u0648\u0641\u0645\u0628\u0631",
+ "\u062f\u064a\u0633\u0645\u0628\u0631"
+ ],
+ "SHORTDAY": [
+ "\u0627\u0644\u0623\u062d\u062f",
+ "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
+ "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
+ "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
+ "\u0627\u0644\u062e\u0645\u064a\u0633",
+ "\u0627\u0644\u062c\u0645\u0639\u0629",
+ "\u0627\u0644\u0633\u0628\u062a"
+ ],
+ "SHORTMONTH": [
+ "\u064a\u0646\u0627\u064a\u0631",
+ "\u0641\u0628\u0631\u0627\u064a\u0631",
+ "\u0645\u0627\u0631\u0633",
+ "\u0623\u0628\u0631\u064a\u0644",
+ "\u0645\u0627\u064a\u0648",
+ "\u064a\u0648\u0646\u064a\u0648",
+ "\u064a\u0648\u0644\u064a\u0648",
+ "\u0623\u063a\u0633\u0637\u0633",
+ "\u0633\u0628\u062a\u0645\u0628\u0631",
+ "\u0623\u0643\u062a\u0648\u0628\u0631",
+ "\u0646\u0648\u0641\u0645\u0628\u0631",
+ "\u062f\u064a\u0633\u0645\u0628\u0631"
+ ],
"fullDate": "EEEE\u060c d MMMM\u060c y",
"longDate": "d MMMM\u060c y",
"medium": "dd\u200f/MM\u200f/yyyy h:mm:ss a",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u00a3",
"DECIMAL_SEP": "\u066b",
"GROUP_SEP": "\u066c",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 0,
"lgSize": 0,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 0,
"lgSize": 0,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4\u00a0",
"posSuf": ""
}
- }
+ ]
},
"id": "ar-sd",
"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 == (n | 0) && n % 100 >= 3 && n % 100 <= 10) { return PLURAL_CATEGORY.FEW; } if (n == (n | 0) && n % 100 >= 11 && n % 100 <= 99) { return PLURAL_CATEGORY.MANY; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ar-sy.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ar-sy.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ar-sy.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "\u0635",
- "1": "\u0645"
- },
- "DAY": {
- "0": "\u0627\u0644\u0623\u062d\u062f",
- "1": "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
- "2": "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
- "3": "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
- "4": "\u0627\u0644\u062e\u0645\u064a\u0633",
- "5": "\u0627\u0644\u062c\u0645\u0639\u0629",
- "6": "\u0627\u0644\u0633\u0628\u062a"
- },
- "MONTH": {
- "0": "\u0643\u0627\u0646\u0648\u0646 \u0627\u0644\u062b\u0627\u0646\u064a",
- "1": "\u0634\u0628\u0627\u0637",
- "2": "\u0622\u0630\u0627\u0631",
- "3": "\u0646\u064a\u0633\u0627\u0646",
- "4": "\u0623\u064a\u0627\u0631",
- "5": "\u062d\u0632\u064a\u0631\u0627\u0646",
- "6": "\u062a\u0645\u0648\u0632",
- "7": "\u0622\u0628",
- "8": "\u0623\u064a\u0644\u0648\u0644",
- "9": "\u062a\u0634\u0631\u064a\u0646 \u0627\u0644\u0623\u0648\u0644",
- "10": "\u062a\u0634\u0631\u064a\u0646 \u0627\u0644\u062b\u0627\u0646\u064a",
- "11": "\u0643\u0627\u0646\u0648\u0646 \u0627\u0644\u0623\u0648\u0644"
- },
- "SHORTDAY": {
- "0": "\u0627\u0644\u0623\u062d\u062f",
- "1": "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
- "2": "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
- "3": "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
- "4": "\u0627\u0644\u062e\u0645\u064a\u0633",
- "5": "\u0627\u0644\u062c\u0645\u0639\u0629",
- "6": "\u0627\u0644\u0633\u0628\u062a"
- },
- "SHORTMONTH": {
- "0": "\u0643\u0627\u0646\u0648\u0646 \u0627\u0644\u062b\u0627\u0646\u064a",
- "1": "\u0634\u0628\u0627\u0637",
- "2": "\u0622\u0630\u0627\u0631",
- "3": "\u0646\u064a\u0633\u0627\u0646",
- "4": "\u0623\u064a\u0627\u0631",
- "5": "\u062d\u0632\u064a\u0631\u0627\u0646",
- "6": "\u062a\u0645\u0648\u0632",
- "7": "\u0622\u0628",
- "8": "\u0623\u064a\u0644\u0648\u0644",
- "9": "\u062a\u0634\u0631\u064a\u0646 \u0627\u0644\u0623\u0648\u0644",
- "10": "\u062a\u0634\u0631\u064a\u0646 \u0627\u0644\u062b\u0627\u0646\u064a",
- "11": "\u0643\u0627\u0646\u0648\u0646 \u0627\u0644\u0623\u0648\u0644"
- },
+ "AMPMS": [
+ "\u0635",
+ "\u0645"
+ ],
+ "DAY": [
+ "\u0627\u0644\u0623\u062d\u062f",
+ "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
+ "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
+ "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
+ "\u0627\u0644\u062e\u0645\u064a\u0633",
+ "\u0627\u0644\u062c\u0645\u0639\u0629",
+ "\u0627\u0644\u0633\u0628\u062a"
+ ],
+ "MONTH": [
+ "\u0643\u0627\u0646\u0648\u0646 \u0627\u0644\u062b\u0627\u0646\u064a",
+ "\u0634\u0628\u0627\u0637",
+ "\u0622\u0630\u0627\u0631",
+ "\u0646\u064a\u0633\u0627\u0646",
+ "\u0623\u064a\u0627\u0631",
+ "\u062d\u0632\u064a\u0631\u0627\u0646",
+ "\u062a\u0645\u0648\u0632",
+ "\u0622\u0628",
+ "\u0623\u064a\u0644\u0648\u0644",
+ "\u062a\u0634\u0631\u064a\u0646 \u0627\u0644\u0623\u0648\u0644",
+ "\u062a\u0634\u0631\u064a\u0646 \u0627\u0644\u062b\u0627\u0646\u064a",
+ "\u0643\u0627\u0646\u0648\u0646 \u0627\u0644\u0623\u0648\u0644"
+ ],
+ "SHORTDAY": [
+ "\u0627\u0644\u0623\u062d\u062f",
+ "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
+ "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
+ "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
+ "\u0627\u0644\u062e\u0645\u064a\u0633",
+ "\u0627\u0644\u062c\u0645\u0639\u0629",
+ "\u0627\u0644\u0633\u0628\u062a"
+ ],
+ "SHORTMONTH": [
+ "\u0643\u0627\u0646\u0648\u0646 \u0627\u0644\u062b\u0627\u0646\u064a",
+ "\u0634\u0628\u0627\u0637",
+ "\u0622\u0630\u0627\u0631",
+ "\u0646\u064a\u0633\u0627\u0646",
+ "\u0623\u064a\u0627\u0631",
+ "\u062d\u0632\u064a\u0631\u0627\u0646",
+ "\u062a\u0645\u0648\u0632",
+ "\u0622\u0628",
+ "\u0623\u064a\u0644\u0648\u0644",
+ "\u062a\u0634\u0631\u064a\u0646 \u0627\u0644\u0623\u0648\u0644",
+ "\u062a\u0634\u0631\u064a\u0646 \u0627\u0644\u062b\u0627\u0646\u064a",
+ "\u0643\u0627\u0646\u0648\u0646 \u0627\u0644\u0623\u0648\u0644"
+ ],
"fullDate": "EEEE\u060c d MMMM\u060c y",
"longDate": "d MMMM\u060c y",
"medium": "dd\u200f/MM\u200f/yyyy h:mm:ss a",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u00a3",
"DECIMAL_SEP": "\u066b",
"GROUP_SEP": "\u066c",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 0,
"lgSize": 0,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 0,
"lgSize": 0,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4\u00a0",
"posSuf": ""
}
- }
+ ]
},
"id": "ar-sy",
"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 == (n | 0) && n % 100 >= 3 && n % 100 <= 10) { return PLURAL_CATEGORY.FEW; } if (n == (n | 0) && n % 100 >= 11 && n % 100 <= 99) { return PLURAL_CATEGORY.MANY; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ar-tn.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ar-tn.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ar-tn.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "\u0635",
- "1": "\u0645"
- },
- "DAY": {
- "0": "\u0627\u0644\u0623\u062d\u062f",
- "1": "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
- "2": "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
- "3": "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
- "4": "\u0627\u0644\u062e\u0645\u064a\u0633",
- "5": "\u0627\u0644\u062c\u0645\u0639\u0629",
- "6": "\u0627\u0644\u0633\u0628\u062a"
- },
- "MONTH": {
- "0": "\u064a\u0646\u0627\u064a\u0631",
- "1": "\u0641\u0628\u0631\u0627\u064a\u0631",
- "2": "\u0645\u0627\u0631\u0633",
- "3": "\u0623\u0628\u0631\u064a\u0644",
- "4": "\u0645\u0627\u064a\u0648",
- "5": "\u064a\u0648\u0646\u064a\u0648",
- "6": "\u064a\u0648\u0644\u064a\u0648",
- "7": "\u0623\u063a\u0633\u0637\u0633",
- "8": "\u0633\u0628\u062a\u0645\u0628\u0631",
- "9": "\u0623\u0643\u062a\u0648\u0628\u0631",
- "10": "\u0646\u0648\u0641\u0645\u0628\u0631",
- "11": "\u062f\u064a\u0633\u0645\u0628\u0631"
- },
- "SHORTDAY": {
- "0": "\u0627\u0644\u0623\u062d\u062f",
- "1": "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
- "2": "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
- "3": "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
- "4": "\u0627\u0644\u062e\u0645\u064a\u0633",
- "5": "\u0627\u0644\u062c\u0645\u0639\u0629",
- "6": "\u0627\u0644\u0633\u0628\u062a"
- },
- "SHORTMONTH": {
- "0": "\u064a\u0646\u0627\u064a\u0631",
- "1": "\u0641\u0628\u0631\u0627\u064a\u0631",
- "2": "\u0645\u0627\u0631\u0633",
- "3": "\u0623\u0628\u0631\u064a\u0644",
- "4": "\u0645\u0627\u064a\u0648",
- "5": "\u064a\u0648\u0646\u064a\u0648",
- "6": "\u064a\u0648\u0644\u064a\u0648",
- "7": "\u0623\u063a\u0633\u0637\u0633",
- "8": "\u0633\u0628\u062a\u0645\u0628\u0631",
- "9": "\u0623\u0643\u062a\u0648\u0628\u0631",
- "10": "\u0646\u0648\u0641\u0645\u0628\u0631",
- "11": "\u062f\u064a\u0633\u0645\u0628\u0631"
- },
+ "AMPMS": [
+ "\u0635",
+ "\u0645"
+ ],
+ "DAY": [
+ "\u0627\u0644\u0623\u062d\u062f",
+ "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
+ "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
+ "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
+ "\u0627\u0644\u062e\u0645\u064a\u0633",
+ "\u0627\u0644\u062c\u0645\u0639\u0629",
+ "\u0627\u0644\u0633\u0628\u062a"
+ ],
+ "MONTH": [
+ "\u064a\u0646\u0627\u064a\u0631",
+ "\u0641\u0628\u0631\u0627\u064a\u0631",
+ "\u0645\u0627\u0631\u0633",
+ "\u0623\u0628\u0631\u064a\u0644",
+ "\u0645\u0627\u064a\u0648",
+ "\u064a\u0648\u0646\u064a\u0648",
+ "\u064a\u0648\u0644\u064a\u0648",
+ "\u0623\u063a\u0633\u0637\u0633",
+ "\u0633\u0628\u062a\u0645\u0628\u0631",
+ "\u0623\u0643\u062a\u0648\u0628\u0631",
+ "\u0646\u0648\u0641\u0645\u0628\u0631",
+ "\u062f\u064a\u0633\u0645\u0628\u0631"
+ ],
+ "SHORTDAY": [
+ "\u0627\u0644\u0623\u062d\u062f",
+ "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
+ "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
+ "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
+ "\u0627\u0644\u062e\u0645\u064a\u0633",
+ "\u0627\u0644\u062c\u0645\u0639\u0629",
+ "\u0627\u0644\u0633\u0628\u062a"
+ ],
+ "SHORTMONTH": [
+ "\u064a\u0646\u0627\u064a\u0631",
+ "\u0641\u0628\u0631\u0627\u064a\u0631",
+ "\u0645\u0627\u0631\u0633",
+ "\u0623\u0628\u0631\u064a\u0644",
+ "\u0645\u0627\u064a\u0648",
+ "\u064a\u0648\u0646\u064a\u0648",
+ "\u064a\u0648\u0644\u064a\u0648",
+ "\u0623\u063a\u0633\u0637\u0633",
+ "\u0633\u0628\u062a\u0645\u0628\u0631",
+ "\u0623\u0643\u062a\u0648\u0628\u0631",
+ "\u0646\u0648\u0641\u0645\u0628\u0631",
+ "\u062f\u064a\u0633\u0645\u0628\u0631"
+ ],
"fullDate": "EEEE\u060c d MMMM\u060c y",
"longDate": "d MMMM\u060c y",
"medium": "yyyy/MM/dd h:mm:ss a",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u00a3",
"DECIMAL_SEP": "\u066b",
"GROUP_SEP": "\u066c",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 0,
"lgSize": 0,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 0,
"lgSize": 0,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4\u00a0",
"posSuf": ""
}
- }
+ ]
},
"id": "ar-tn",
"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 == (n | 0) && n % 100 >= 3 && n % 100 <= 10) { return PLURAL_CATEGORY.FEW; } if (n == (n | 0) && n % 100 >= 11 && n % 100 <= 99) { return PLURAL_CATEGORY.MANY; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ar-ye.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ar-ye.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ar-ye.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "\u0635",
- "1": "\u0645"
- },
- "DAY": {
- "0": "\u0627\u0644\u0623\u062d\u062f",
- "1": "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
- "2": "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
- "3": "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
- "4": "\u0627\u0644\u062e\u0645\u064a\u0633",
- "5": "\u0627\u0644\u062c\u0645\u0639\u0629",
- "6": "\u0627\u0644\u0633\u0628\u062a"
- },
- "MONTH": {
- "0": "\u064a\u0646\u0627\u064a\u0631",
- "1": "\u0641\u0628\u0631\u0627\u064a\u0631",
- "2": "\u0645\u0627\u0631\u0633",
- "3": "\u0623\u0628\u0631\u064a\u0644",
- "4": "\u0645\u0627\u064a\u0648",
- "5": "\u064a\u0648\u0646\u064a\u0648",
- "6": "\u064a\u0648\u0644\u064a\u0648",
- "7": "\u0623\u063a\u0633\u0637\u0633",
- "8": "\u0633\u0628\u062a\u0645\u0628\u0631",
- "9": "\u0623\u0643\u062a\u0648\u0628\u0631",
- "10": "\u0646\u0648\u0641\u0645\u0628\u0631",
- "11": "\u062f\u064a\u0633\u0645\u0628\u0631"
- },
- "SHORTDAY": {
- "0": "\u0627\u0644\u0623\u062d\u062f",
- "1": "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
- "2": "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
- "3": "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
- "4": "\u0627\u0644\u062e\u0645\u064a\u0633",
- "5": "\u0627\u0644\u062c\u0645\u0639\u0629",
- "6": "\u0627\u0644\u0633\u0628\u062a"
- },
- "SHORTMONTH": {
- "0": "\u064a\u0646\u0627\u064a\u0631",
- "1": "\u0641\u0628\u0631\u0627\u064a\u0631",
- "2": "\u0645\u0627\u0631\u0633",
- "3": "\u0623\u0628\u0631\u064a\u0644",
- "4": "\u0645\u0627\u064a\u0648",
- "5": "\u064a\u0648\u0646\u064a\u0648",
- "6": "\u064a\u0648\u0644\u064a\u0648",
- "7": "\u0623\u063a\u0633\u0637\u0633",
- "8": "\u0633\u0628\u062a\u0645\u0628\u0631",
- "9": "\u0623\u0643\u062a\u0648\u0628\u0631",
- "10": "\u0646\u0648\u0641\u0645\u0628\u0631",
- "11": "\u062f\u064a\u0633\u0645\u0628\u0631"
- },
+ "AMPMS": [
+ "\u0635",
+ "\u0645"
+ ],
+ "DAY": [
+ "\u0627\u0644\u0623\u062d\u062f",
+ "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
+ "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
+ "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
+ "\u0627\u0644\u062e\u0645\u064a\u0633",
+ "\u0627\u0644\u062c\u0645\u0639\u0629",
+ "\u0627\u0644\u0633\u0628\u062a"
+ ],
+ "MONTH": [
+ "\u064a\u0646\u0627\u064a\u0631",
+ "\u0641\u0628\u0631\u0627\u064a\u0631",
+ "\u0645\u0627\u0631\u0633",
+ "\u0623\u0628\u0631\u064a\u0644",
+ "\u0645\u0627\u064a\u0648",
+ "\u064a\u0648\u0646\u064a\u0648",
+ "\u064a\u0648\u0644\u064a\u0648",
+ "\u0623\u063a\u0633\u0637\u0633",
+ "\u0633\u0628\u062a\u0645\u0628\u0631",
+ "\u0623\u0643\u062a\u0648\u0628\u0631",
+ "\u0646\u0648\u0641\u0645\u0628\u0631",
+ "\u062f\u064a\u0633\u0645\u0628\u0631"
+ ],
+ "SHORTDAY": [
+ "\u0627\u0644\u0623\u062d\u062f",
+ "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
+ "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
+ "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
+ "\u0627\u0644\u062e\u0645\u064a\u0633",
+ "\u0627\u0644\u062c\u0645\u0639\u0629",
+ "\u0627\u0644\u0633\u0628\u062a"
+ ],
+ "SHORTMONTH": [
+ "\u064a\u0646\u0627\u064a\u0631",
+ "\u0641\u0628\u0631\u0627\u064a\u0631",
+ "\u0645\u0627\u0631\u0633",
+ "\u0623\u0628\u0631\u064a\u0644",
+ "\u0645\u0627\u064a\u0648",
+ "\u064a\u0648\u0646\u064a\u0648",
+ "\u064a\u0648\u0644\u064a\u0648",
+ "\u0623\u063a\u0633\u0637\u0633",
+ "\u0633\u0628\u062a\u0645\u0628\u0631",
+ "\u0623\u0643\u062a\u0648\u0628\u0631",
+ "\u0646\u0648\u0641\u0645\u0628\u0631",
+ "\u062f\u064a\u0633\u0645\u0628\u0631"
+ ],
"fullDate": "EEEE\u060c d MMMM\u060c y",
"longDate": "d MMMM\u060c y",
"medium": "dd\u200f/MM\u200f/yyyy h:mm:ss a",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u00a3",
"DECIMAL_SEP": "\u066b",
"GROUP_SEP": "\u066c",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 0,
"lgSize": 0,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 0,
"lgSize": 0,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4\u00a0",
"posSuf": ""
}
- }
+ ]
},
"id": "ar-ye",
"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 == (n | 0) && n % 100 >= 3 && n % 100 <= 10) { return PLURAL_CATEGORY.FEW; } if (n == (n | 0) && n % 100 >= 11 && n % 100 <= 99) { return PLURAL_CATEGORY.MANY; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ar.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ar.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ar.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "\u0635",
- "1": "\u0645"
- },
- "DAY": {
- "0": "\u0627\u0644\u0623\u062d\u062f",
- "1": "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
- "2": "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
- "3": "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
- "4": "\u0627\u0644\u062e\u0645\u064a\u0633",
- "5": "\u0627\u0644\u062c\u0645\u0639\u0629",
- "6": "\u0627\u0644\u0633\u0628\u062a"
- },
- "MONTH": {
- "0": "\u064a\u0646\u0627\u064a\u0631",
- "1": "\u0641\u0628\u0631\u0627\u064a\u0631",
- "2": "\u0645\u0627\u0631\u0633",
- "3": "\u0623\u0628\u0631\u064a\u0644",
- "4": "\u0645\u0627\u064a\u0648",
- "5": "\u064a\u0648\u0646\u064a\u0648",
- "6": "\u064a\u0648\u0644\u064a\u0648",
- "7": "\u0623\u063a\u0633\u0637\u0633",
- "8": "\u0633\u0628\u062a\u0645\u0628\u0631",
- "9": "\u0623\u0643\u062a\u0648\u0628\u0631",
- "10": "\u0646\u0648\u0641\u0645\u0628\u0631",
- "11": "\u062f\u064a\u0633\u0645\u0628\u0631"
- },
- "SHORTDAY": {
- "0": "\u0627\u0644\u0623\u062d\u062f",
- "1": "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
- "2": "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
- "3": "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
- "4": "\u0627\u0644\u062e\u0645\u064a\u0633",
- "5": "\u0627\u0644\u062c\u0645\u0639\u0629",
- "6": "\u0627\u0644\u0633\u0628\u062a"
- },
- "SHORTMONTH": {
- "0": "\u064a\u0646\u0627\u064a\u0631",
- "1": "\u0641\u0628\u0631\u0627\u064a\u0631",
- "2": "\u0645\u0627\u0631\u0633",
- "3": "\u0623\u0628\u0631\u064a\u0644",
- "4": "\u0645\u0627\u064a\u0648",
- "5": "\u064a\u0648\u0646\u064a\u0648",
- "6": "\u064a\u0648\u0644\u064a\u0648",
- "7": "\u0623\u063a\u0633\u0637\u0633",
- "8": "\u0633\u0628\u062a\u0645\u0628\u0631",
- "9": "\u0623\u0643\u062a\u0648\u0628\u0631",
- "10": "\u0646\u0648\u0641\u0645\u0628\u0631",
- "11": "\u062f\u064a\u0633\u0645\u0628\u0631"
- },
+ "AMPMS": [
+ "\u0635",
+ "\u0645"
+ ],
+ "DAY": [
+ "\u0627\u0644\u0623\u062d\u062f",
+ "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
+ "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
+ "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
+ "\u0627\u0644\u062e\u0645\u064a\u0633",
+ "\u0627\u0644\u062c\u0645\u0639\u0629",
+ "\u0627\u0644\u0633\u0628\u062a"
+ ],
+ "MONTH": [
+ "\u064a\u0646\u0627\u064a\u0631",
+ "\u0641\u0628\u0631\u0627\u064a\u0631",
+ "\u0645\u0627\u0631\u0633",
+ "\u0623\u0628\u0631\u064a\u0644",
+ "\u0645\u0627\u064a\u0648",
+ "\u064a\u0648\u0646\u064a\u0648",
+ "\u064a\u0648\u0644\u064a\u0648",
+ "\u0623\u063a\u0633\u0637\u0633",
+ "\u0633\u0628\u062a\u0645\u0628\u0631",
+ "\u0623\u0643\u062a\u0648\u0628\u0631",
+ "\u0646\u0648\u0641\u0645\u0628\u0631",
+ "\u062f\u064a\u0633\u0645\u0628\u0631"
+ ],
+ "SHORTDAY": [
+ "\u0627\u0644\u0623\u062d\u062f",
+ "\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
+ "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
+ "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
+ "\u0627\u0644\u062e\u0645\u064a\u0633",
+ "\u0627\u0644\u062c\u0645\u0639\u0629",
+ "\u0627\u0644\u0633\u0628\u062a"
+ ],
+ "SHORTMONTH": [
+ "\u064a\u0646\u0627\u064a\u0631",
+ "\u0641\u0628\u0631\u0627\u064a\u0631",
+ "\u0645\u0627\u0631\u0633",
+ "\u0623\u0628\u0631\u064a\u0644",
+ "\u0645\u0627\u064a\u0648",
+ "\u064a\u0648\u0646\u064a\u0648",
+ "\u064a\u0648\u0644\u064a\u0648",
+ "\u0623\u063a\u0633\u0637\u0633",
+ "\u0633\u0628\u062a\u0645\u0628\u0631",
+ "\u0623\u0643\u062a\u0648\u0628\u0631",
+ "\u0646\u0648\u0641\u0645\u0628\u0631",
+ "\u062f\u064a\u0633\u0645\u0628\u0631"
+ ],
"fullDate": "EEEE\u060c d MMMM\u060c y",
"longDate": "d MMMM\u060c y",
"medium": "dd\u200f/MM\u200f/yyyy h:mm:ss a",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u00a3",
"DECIMAL_SEP": "\u066b",
"GROUP_SEP": "\u066c",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 0,
"lgSize": 0,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 0,
"lgSize": 0,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4\u00a0",
"posSuf": ""
}
- }
+ ]
},
"id": "ar",
"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 == (n | 0) && n % 100 >= 3 && n % 100 <= 10) { return PLURAL_CATEGORY.FEW; } if (n == (n | 0) && n % 100 >= 11 && n % 100 <= 99) { return PLURAL_CATEGORY.MANY; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_bg-bg.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_bg-bg.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_bg-bg.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "\u043f\u0440. \u043e\u0431.",
- "1": "\u0441\u043b. \u043e\u0431."
- },
- "DAY": {
- "0": "\u043d\u0435\u0434\u0435\u043b\u044f",
- "1": "\u043f\u043e\u043d\u0435\u0434\u0435\u043b\u043d\u0438\u043a",
- "2": "\u0432\u0442\u043e\u0440\u043d\u0438\u043a",
- "3": "\u0441\u0440\u044f\u0434\u0430",
- "4": "\u0447\u0435\u0442\u0432\u044a\u0440\u0442\u044a\u043a",
- "5": "\u043f\u0435\u0442\u044a\u043a",
- "6": "\u0441\u044a\u0431\u043e\u0442\u0430"
- },
- "MONTH": {
- "0": "\u044f\u043d\u0443\u0430\u0440\u0438",
- "1": "\u0444\u0435\u0432\u0440\u0443\u0430\u0440\u0438",
- "2": "\u043c\u0430\u0440\u0442",
- "3": "\u0430\u043f\u0440\u0438\u043b",
- "4": "\u043c\u0430\u0439",
- "5": "\u044e\u043d\u0438",
- "6": "\u044e\u043b\u0438",
- "7": "\u0430\u0432\u0433\u0443\u0441\u0442",
- "8": "\u0441\u0435\u043f\u0442\u0435\u043c\u0432\u0440\u0438",
- "9": "\u043e\u043a\u0442\u043e\u043c\u0432\u0440\u0438",
- "10": "\u043d\u043e\u0435\u043c\u0432\u0440\u0438",
- "11": "\u0434\u0435\u043a\u0435\u043c\u0432\u0440\u0438"
- },
- "SHORTDAY": {
- "0": "\u043d\u0434",
- "1": "\u043f\u043d",
- "2": "\u0432\u0442",
- "3": "\u0441\u0440",
- "4": "\u0447\u0442",
- "5": "\u043f\u0442",
- "6": "\u0441\u0431"
- },
- "SHORTMONTH": {
- "0": "\u044f\u043d.",
- "1": "\u0444\u0435\u0432\u0440.",
- "2": "\u043c\u0430\u0440\u0442",
- "3": "\u0430\u043f\u0440.",
- "4": "\u043c\u0430\u0439",
- "5": "\u044e\u043d\u0438",
- "6": "\u044e\u043b\u0438",
- "7": "\u0430\u0432\u0433.",
- "8": "\u0441\u0435\u043f\u0442.",
- "9": "\u043e\u043a\u0442.",
- "10": "\u043d\u043e\u0435\u043c.",
- "11": "\u0434\u0435\u043a."
- },
+ "AMPMS": [
+ "\u043f\u0440. \u043e\u0431.",
+ "\u0441\u043b. \u043e\u0431."
+ ],
+ "DAY": [
+ "\u043d\u0435\u0434\u0435\u043b\u044f",
+ "\u043f\u043e\u043d\u0435\u0434\u0435\u043b\u043d\u0438\u043a",
+ "\u0432\u0442\u043e\u0440\u043d\u0438\u043a",
+ "\u0441\u0440\u044f\u0434\u0430",
+ "\u0447\u0435\u0442\u0432\u044a\u0440\u0442\u044a\u043a",
+ "\u043f\u0435\u0442\u044a\u043a",
+ "\u0441\u044a\u0431\u043e\u0442\u0430"
+ ],
+ "MONTH": [
+ "\u044f\u043d\u0443\u0430\u0440\u0438",
+ "\u0444\u0435\u0432\u0440\u0443\u0430\u0440\u0438",
+ "\u043c\u0430\u0440\u0442",
+ "\u0430\u043f\u0440\u0438\u043b",
+ "\u043c\u0430\u0439",
+ "\u044e\u043d\u0438",
+ "\u044e\u043b\u0438",
+ "\u0430\u0432\u0433\u0443\u0441\u0442",
+ "\u0441\u0435\u043f\u0442\u0435\u043c\u0432\u0440\u0438",
+ "\u043e\u043a\u0442\u043e\u043c\u0432\u0440\u0438",
+ "\u043d\u043e\u0435\u043c\u0432\u0440\u0438",
+ "\u0434\u0435\u043a\u0435\u043c\u0432\u0440\u0438"
+ ],
+ "SHORTDAY": [
+ "\u043d\u0434",
+ "\u043f\u043d",
+ "\u0432\u0442",
+ "\u0441\u0440",
+ "\u0447\u0442",
+ "\u043f\u0442",
+ "\u0441\u0431"
+ ],
+ "SHORTMONTH": [
+ "\u044f\u043d.",
+ "\u0444\u0435\u0432\u0440.",
+ "\u043c\u0430\u0440\u0442",
+ "\u0430\u043f\u0440.",
+ "\u043c\u0430\u0439",
+ "\u044e\u043d\u0438",
+ "\u044e\u043b\u0438",
+ "\u0430\u0432\u0433.",
+ "\u0441\u0435\u043f\u0442.",
+ "\u043e\u043a\u0442.",
+ "\u043d\u043e\u0435\u043c.",
+ "\u0434\u0435\u043a."
+ ],
"fullDate": "dd MMMM y, EEEE",
"longDate": "dd MMMM y",
"medium": "dd.MM.yyyy HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "lev",
"DECIMAL_SEP": ",",
"GROUP_SEP": "\u00a0",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "bg-bg",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_bg.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_bg.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_bg.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "\u043f\u0440. \u043e\u0431.",
- "1": "\u0441\u043b. \u043e\u0431."
- },
- "DAY": {
- "0": "\u043d\u0435\u0434\u0435\u043b\u044f",
- "1": "\u043f\u043e\u043d\u0435\u0434\u0435\u043b\u043d\u0438\u043a",
- "2": "\u0432\u0442\u043e\u0440\u043d\u0438\u043a",
- "3": "\u0441\u0440\u044f\u0434\u0430",
- "4": "\u0447\u0435\u0442\u0432\u044a\u0440\u0442\u044a\u043a",
- "5": "\u043f\u0435\u0442\u044a\u043a",
- "6": "\u0441\u044a\u0431\u043e\u0442\u0430"
- },
- "MONTH": {
- "0": "\u044f\u043d\u0443\u0430\u0440\u0438",
- "1": "\u0444\u0435\u0432\u0440\u0443\u0430\u0440\u0438",
- "2": "\u043c\u0430\u0440\u0442",
- "3": "\u0430\u043f\u0440\u0438\u043b",
- "4": "\u043c\u0430\u0439",
- "5": "\u044e\u043d\u0438",
- "6": "\u044e\u043b\u0438",
- "7": "\u0430\u0432\u0433\u0443\u0441\u0442",
- "8": "\u0441\u0435\u043f\u0442\u0435\u043c\u0432\u0440\u0438",
- "9": "\u043e\u043a\u0442\u043e\u043c\u0432\u0440\u0438",
- "10": "\u043d\u043e\u0435\u043c\u0432\u0440\u0438",
- "11": "\u0434\u0435\u043a\u0435\u043c\u0432\u0440\u0438"
- },
- "SHORTDAY": {
- "0": "\u043d\u0434",
- "1": "\u043f\u043d",
- "2": "\u0432\u0442",
- "3": "\u0441\u0440",
- "4": "\u0447\u0442",
- "5": "\u043f\u0442",
- "6": "\u0441\u0431"
- },
- "SHORTMONTH": {
- "0": "\u044f\u043d.",
- "1": "\u0444\u0435\u0432\u0440.",
- "2": "\u043c\u0430\u0440\u0442",
- "3": "\u0430\u043f\u0440.",
- "4": "\u043c\u0430\u0439",
- "5": "\u044e\u043d\u0438",
- "6": "\u044e\u043b\u0438",
- "7": "\u0430\u0432\u0433.",
- "8": "\u0441\u0435\u043f\u0442.",
- "9": "\u043e\u043a\u0442.",
- "10": "\u043d\u043e\u0435\u043c.",
- "11": "\u0434\u0435\u043a."
- },
+ "AMPMS": [
+ "\u043f\u0440. \u043e\u0431.",
+ "\u0441\u043b. \u043e\u0431."
+ ],
+ "DAY": [
+ "\u043d\u0435\u0434\u0435\u043b\u044f",
+ "\u043f\u043e\u043d\u0435\u0434\u0435\u043b\u043d\u0438\u043a",
+ "\u0432\u0442\u043e\u0440\u043d\u0438\u043a",
+ "\u0441\u0440\u044f\u0434\u0430",
+ "\u0447\u0435\u0442\u0432\u044a\u0440\u0442\u044a\u043a",
+ "\u043f\u0435\u0442\u044a\u043a",
+ "\u0441\u044a\u0431\u043e\u0442\u0430"
+ ],
+ "MONTH": [
+ "\u044f\u043d\u0443\u0430\u0440\u0438",
+ "\u0444\u0435\u0432\u0440\u0443\u0430\u0440\u0438",
+ "\u043c\u0430\u0440\u0442",
+ "\u0430\u043f\u0440\u0438\u043b",
+ "\u043c\u0430\u0439",
+ "\u044e\u043d\u0438",
+ "\u044e\u043b\u0438",
+ "\u0430\u0432\u0433\u0443\u0441\u0442",
+ "\u0441\u0435\u043f\u0442\u0435\u043c\u0432\u0440\u0438",
+ "\u043e\u043a\u0442\u043e\u043c\u0432\u0440\u0438",
+ "\u043d\u043e\u0435\u043c\u0432\u0440\u0438",
+ "\u0434\u0435\u043a\u0435\u043c\u0432\u0440\u0438"
+ ],
+ "SHORTDAY": [
+ "\u043d\u0434",
+ "\u043f\u043d",
+ "\u0432\u0442",
+ "\u0441\u0440",
+ "\u0447\u0442",
+ "\u043f\u0442",
+ "\u0441\u0431"
+ ],
+ "SHORTMONTH": [
+ "\u044f\u043d.",
+ "\u0444\u0435\u0432\u0440.",
+ "\u043c\u0430\u0440\u0442",
+ "\u0430\u043f\u0440.",
+ "\u043c\u0430\u0439",
+ "\u044e\u043d\u0438",
+ "\u044e\u043b\u0438",
+ "\u0430\u0432\u0433.",
+ "\u0441\u0435\u043f\u0442.",
+ "\u043e\u043a\u0442.",
+ "\u043d\u043e\u0435\u043c.",
+ "\u0434\u0435\u043a."
+ ],
"fullDate": "dd MMMM y, EEEE",
"longDate": "dd MMMM y",
"medium": "dd.MM.yyyy HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "lev",
"DECIMAL_SEP": ",",
"GROUP_SEP": "\u00a0",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "bg",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_bn-bd.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_bn-bd.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_bn-bd.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "am",
- "1": "pm"
- },
- "DAY": {
- "0": "\u09b0\u09ac\u09bf\u09ac\u09be\u09b0",
- "1": "\u09b8\u09cb\u09ae\u09ac\u09be\u09b0",
- "2": "\u09ae\u0999\u09cd\u0997\u09b2\u09ac\u09be\u09b0",
- "3": "\u09ac\u09c1\u09a7\u09ac\u09be\u09b0",
- "4": "\u09ac\u09c3\u09b9\u09b7\u09cd\u09aa\u09a4\u09bf\u09ac\u09be\u09b0",
- "5": "\u09b6\u09c1\u0995\u09cd\u09b0\u09ac\u09be\u09b0",
- "6": "\u09b6\u09a8\u09bf\u09ac\u09be\u09b0"
- },
- "MONTH": {
- "0": "\u099c\u09be\u09a8\u09c1\u09af\u09bc\u09be\u09b0\u09c0",
- "1": "\u09ab\u09c7\u09ac\u09cd\u09b0\u09c1\u09af\u09bc\u09be\u09b0\u09c0",
- "2": "\u09ae\u09be\u09b0\u09cd\u099a",
- "3": "\u098f\u09aa\u09cd\u09b0\u09bf\u09b2",
- "4": "\u09ae\u09c7",
- "5": "\u099c\u09c1\u09a8",
- "6": "\u099c\u09c1\u09b2\u09be\u0987",
- "7": "\u0986\u0997\u09b8\u09cd\u099f",
- "8": "\u09b8\u09c7\u09aa\u09cd\u099f\u09c7\u09ae\u09cd\u09ac\u09b0",
- "9": "\u0985\u0995\u09cd\u099f\u09cb\u09ac\u09b0",
- "10": "\u09a8\u09ad\u09c7\u09ae\u09cd\u09ac\u09b0",
- "11": "\u09a1\u09bf\u09b8\u09c7\u09ae\u09cd\u09ac\u09b0"
- },
- "SHORTDAY": {
- "0": "\u09b0\u09ac\u09bf",
- "1": "\u09b8\u09cb\u09ae",
- "2": "\u09ae\u0999\u09cd\u0997\u09b2",
- "3": "\u09ac\u09c1\u09a7",
- "4": "\u09ac\u09c3\u09b9\u09b8\u09cd\u09aa\u09a4\u09bf",
- "5": "\u09b6\u09c1\u0995\u09cd\u09b0",
- "6": "\u09b6\u09a8\u09bf"
- },
- "SHORTMONTH": {
- "0": "\u099c\u09be\u09a8\u09c1\u09af\u09bc\u09be\u09b0\u09c0",
- "1": "\u09ab\u09c7\u09ac\u09cd\u09b0\u09c1\u09af\u09bc\u09be\u09b0\u09c0",
- "2": "\u09ae\u09be\u09b0\u09cd\u099a",
- "3": "\u098f\u09aa\u09cd\u09b0\u09bf\u09b2",
- "4": "\u09ae\u09c7",
- "5": "\u099c\u09c1\u09a8",
- "6": "\u099c\u09c1\u09b2\u09be\u0987",
- "7": "\u0986\u0997\u09b8\u09cd\u099f",
- "8": "\u09b8\u09c7\u09aa\u09cd\u099f\u09c7\u09ae\u09cd\u09ac\u09b0",
- "9": "\u0985\u0995\u09cd\u099f\u09cb\u09ac\u09b0",
- "10": "\u09a8\u09ad\u09c7\u09ae\u09cd\u09ac\u09b0",
- "11": "\u09a1\u09bf\u09b8\u09c7\u09ae\u09cd\u09ac\u09b0"
- },
+ "AMPMS": [
+ "am",
+ "pm"
+ ],
+ "DAY": [
+ "\u09b0\u09ac\u09bf\u09ac\u09be\u09b0",
+ "\u09b8\u09cb\u09ae\u09ac\u09be\u09b0",
+ "\u09ae\u0999\u09cd\u0997\u09b2\u09ac\u09be\u09b0",
+ "\u09ac\u09c1\u09a7\u09ac\u09be\u09b0",
+ "\u09ac\u09c3\u09b9\u09b7\u09cd\u09aa\u09a4\u09bf\u09ac\u09be\u09b0",
+ "\u09b6\u09c1\u0995\u09cd\u09b0\u09ac\u09be\u09b0",
+ "\u09b6\u09a8\u09bf\u09ac\u09be\u09b0"
+ ],
+ "MONTH": [
+ "\u099c\u09be\u09a8\u09c1\u09af\u09bc\u09be\u09b0\u09c0",
+ "\u09ab\u09c7\u09ac\u09cd\u09b0\u09c1\u09af\u09bc\u09be\u09b0\u09c0",
+ "\u09ae\u09be\u09b0\u09cd\u099a",
+ "\u098f\u09aa\u09cd\u09b0\u09bf\u09b2",
+ "\u09ae\u09c7",
+ "\u099c\u09c1\u09a8",
+ "\u099c\u09c1\u09b2\u09be\u0987",
+ "\u0986\u0997\u09b8\u09cd\u099f",
+ "\u09b8\u09c7\u09aa\u09cd\u099f\u09c7\u09ae\u09cd\u09ac\u09b0",
+ "\u0985\u0995\u09cd\u099f\u09cb\u09ac\u09b0",
+ "\u09a8\u09ad\u09c7\u09ae\u09cd\u09ac\u09b0",
+ "\u09a1\u09bf\u09b8\u09c7\u09ae\u09cd\u09ac\u09b0"
+ ],
+ "SHORTDAY": [
+ "\u09b0\u09ac\u09bf",
+ "\u09b8\u09cb\u09ae",
+ "\u09ae\u0999\u09cd\u0997\u09b2",
+ "\u09ac\u09c1\u09a7",
+ "\u09ac\u09c3\u09b9\u09b8\u09cd\u09aa\u09a4\u09bf",
+ "\u09b6\u09c1\u0995\u09cd\u09b0",
+ "\u09b6\u09a8\u09bf"
+ ],
+ "SHORTMONTH": [
+ "\u099c\u09be\u09a8\u09c1\u09af\u09bc\u09be\u09b0\u09c0",
+ "\u09ab\u09c7\u09ac\u09cd\u09b0\u09c1\u09af\u09bc\u09be\u09b0\u09c0",
+ "\u09ae\u09be\u09b0\u09cd\u099a",
+ "\u098f\u09aa\u09cd\u09b0\u09bf\u09b2",
+ "\u09ae\u09c7",
+ "\u099c\u09c1\u09a8",
+ "\u099c\u09c1\u09b2\u09be\u0987",
+ "\u0986\u0997\u09b8\u09cd\u099f",
+ "\u09b8\u09c7\u09aa\u09cd\u099f\u09c7\u09ae\u09cd\u09ac\u09b0",
+ "\u0985\u0995\u09cd\u099f\u09cb\u09ac\u09b0",
+ "\u09a8\u09ad\u09c7\u09ae\u09cd\u09ac\u09b0",
+ "\u09a1\u09bf\u09b8\u09c7\u09ae\u09cd\u09ac\u09b0"
+ ],
"fullDate": "EEEE, d MMMM, y",
"longDate": "d MMMM, y",
"medium": "d MMM, y h:mm:ss a",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u09f3",
"DECIMAL_SEP": ".",
"GROUP_SEP": ",",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 2,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 2,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a4"
}
- }
+ ]
},
"id": "bn-bd",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_bn-in.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_bn-in.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_bn-in.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "am",
- "1": "pm"
- },
- "DAY": {
- "0": "\u09b0\u09ac\u09bf\u09ac\u09be\u09b0",
- "1": "\u09b8\u09cb\u09ae\u09ac\u09be\u09b0",
- "2": "\u09ae\u0999\u09cd\u0997\u09b2\u09ac\u09be\u09b0",
- "3": "\u09ac\u09c1\u09a7\u09ac\u09be\u09b0",
- "4": "\u09ac\u09c3\u09b9\u09b7\u09cd\u09aa\u09a4\u09bf\u09ac\u09be\u09b0",
- "5": "\u09b6\u09c1\u0995\u09cd\u09b0\u09ac\u09be\u09b0",
- "6": "\u09b6\u09a8\u09bf\u09ac\u09be\u09b0"
- },
- "MONTH": {
- "0": "\u099c\u09be\u09a8\u09c1\u09af\u09bc\u09be\u09b0\u09c0",
- "1": "\u09ab\u09c7\u09ac\u09cd\u09b0\u09c1\u09af\u09bc\u09be\u09b0\u09c0",
- "2": "\u09ae\u09be\u09b0\u09cd\u099a",
- "3": "\u098f\u09aa\u09cd\u09b0\u09bf\u09b2",
- "4": "\u09ae\u09c7",
- "5": "\u099c\u09c1\u09a8",
- "6": "\u099c\u09c1\u09b2\u09be\u0987",
- "7": "\u0986\u0997\u09b8\u09cd\u099f",
- "8": "\u09b8\u09c7\u09aa\u09cd\u099f\u09c7\u09ae\u09cd\u09ac\u09b0",
- "9": "\u0985\u0995\u09cd\u099f\u09cb\u09ac\u09b0",
- "10": "\u09a8\u09ad\u09c7\u09ae\u09cd\u09ac\u09b0",
- "11": "\u09a1\u09bf\u09b8\u09c7\u09ae\u09cd\u09ac\u09b0"
- },
- "SHORTDAY": {
- "0": "\u09b0\u09ac\u09bf",
- "1": "\u09b8\u09cb\u09ae",
- "2": "\u09ae\u0999\u09cd\u0997\u09b2",
- "3": "\u09ac\u09c1\u09a7",
- "4": "\u09ac\u09c3\u09b9\u09b8\u09cd\u09aa\u09a4\u09bf",
- "5": "\u09b6\u09c1\u0995\u09cd\u09b0",
- "6": "\u09b6\u09a8\u09bf"
- },
- "SHORTMONTH": {
- "0": "\u099c\u09be\u09a8\u09c1\u09af\u09bc\u09be\u09b0\u09c0",
- "1": "\u09ab\u09c7\u09ac\u09cd\u09b0\u09c1\u09af\u09bc\u09be\u09b0\u09c0",
- "2": "\u09ae\u09be\u09b0\u09cd\u099a",
- "3": "\u098f\u09aa\u09cd\u09b0\u09bf\u09b2",
- "4": "\u09ae\u09c7",
- "5": "\u099c\u09c1\u09a8",
- "6": "\u099c\u09c1\u09b2\u09be\u0987",
- "7": "\u0986\u0997\u09b8\u09cd\u099f",
- "8": "\u09b8\u09c7\u09aa\u09cd\u099f\u09c7\u09ae\u09cd\u09ac\u09b0",
- "9": "\u0985\u0995\u09cd\u099f\u09cb\u09ac\u09b0",
- "10": "\u09a8\u09ad\u09c7\u09ae\u09cd\u09ac\u09b0",
- "11": "\u09a1\u09bf\u09b8\u09c7\u09ae\u09cd\u09ac\u09b0"
- },
+ "AMPMS": [
+ "am",
+ "pm"
+ ],
+ "DAY": [
+ "\u09b0\u09ac\u09bf\u09ac\u09be\u09b0",
+ "\u09b8\u09cb\u09ae\u09ac\u09be\u09b0",
+ "\u09ae\u0999\u09cd\u0997\u09b2\u09ac\u09be\u09b0",
+ "\u09ac\u09c1\u09a7\u09ac\u09be\u09b0",
+ "\u09ac\u09c3\u09b9\u09b7\u09cd\u09aa\u09a4\u09bf\u09ac\u09be\u09b0",
+ "\u09b6\u09c1\u0995\u09cd\u09b0\u09ac\u09be\u09b0",
+ "\u09b6\u09a8\u09bf\u09ac\u09be\u09b0"
+ ],
+ "MONTH": [
+ "\u099c\u09be\u09a8\u09c1\u09af\u09bc\u09be\u09b0\u09c0",
+ "\u09ab\u09c7\u09ac\u09cd\u09b0\u09c1\u09af\u09bc\u09be\u09b0\u09c0",
+ "\u09ae\u09be\u09b0\u09cd\u099a",
+ "\u098f\u09aa\u09cd\u09b0\u09bf\u09b2",
+ "\u09ae\u09c7",
+ "\u099c\u09c1\u09a8",
+ "\u099c\u09c1\u09b2\u09be\u0987",
+ "\u0986\u0997\u09b8\u09cd\u099f",
+ "\u09b8\u09c7\u09aa\u09cd\u099f\u09c7\u09ae\u09cd\u09ac\u09b0",
+ "\u0985\u0995\u09cd\u099f\u09cb\u09ac\u09b0",
+ "\u09a8\u09ad\u09c7\u09ae\u09cd\u09ac\u09b0",
+ "\u09a1\u09bf\u09b8\u09c7\u09ae\u09cd\u09ac\u09b0"
+ ],
+ "SHORTDAY": [
+ "\u09b0\u09ac\u09bf",
+ "\u09b8\u09cb\u09ae",
+ "\u09ae\u0999\u09cd\u0997\u09b2",
+ "\u09ac\u09c1\u09a7",
+ "\u09ac\u09c3\u09b9\u09b8\u09cd\u09aa\u09a4\u09bf",
+ "\u09b6\u09c1\u0995\u09cd\u09b0",
+ "\u09b6\u09a8\u09bf"
+ ],
+ "SHORTMONTH": [
+ "\u099c\u09be\u09a8\u09c1\u09af\u09bc\u09be\u09b0\u09c0",
+ "\u09ab\u09c7\u09ac\u09cd\u09b0\u09c1\u09af\u09bc\u09be\u09b0\u09c0",
+ "\u09ae\u09be\u09b0\u09cd\u099a",
+ "\u098f\u09aa\u09cd\u09b0\u09bf\u09b2",
+ "\u09ae\u09c7",
+ "\u099c\u09c1\u09a8",
+ "\u099c\u09c1\u09b2\u09be\u0987",
+ "\u0986\u0997\u09b8\u09cd\u099f",
+ "\u09b8\u09c7\u09aa\u09cd\u099f\u09c7\u09ae\u09cd\u09ac\u09b0",
+ "\u0985\u0995\u09cd\u099f\u09cb\u09ac\u09b0",
+ "\u09a8\u09ad\u09c7\u09ae\u09cd\u09ac\u09b0",
+ "\u09a1\u09bf\u09b8\u09c7\u09ae\u09cd\u09ac\u09b0"
+ ],
"fullDate": "EEEE, d MMMM, y",
"longDate": "d MMMM, y",
"medium": "d MMM, y h:mm:ss a",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u09f3",
"DECIMAL_SEP": ".",
"GROUP_SEP": ",",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 2,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 2,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a4"
}
- }
+ ]
},
"id": "bn-in",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_bn.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_bn.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_bn.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "am",
- "1": "pm"
- },
- "DAY": {
- "0": "\u09b0\u09ac\u09bf\u09ac\u09be\u09b0",
- "1": "\u09b8\u09cb\u09ae\u09ac\u09be\u09b0",
- "2": "\u09ae\u0999\u09cd\u0997\u09b2\u09ac\u09be\u09b0",
- "3": "\u09ac\u09c1\u09a7\u09ac\u09be\u09b0",
- "4": "\u09ac\u09c3\u09b9\u09b7\u09cd\u09aa\u09a4\u09bf\u09ac\u09be\u09b0",
- "5": "\u09b6\u09c1\u0995\u09cd\u09b0\u09ac\u09be\u09b0",
- "6": "\u09b6\u09a8\u09bf\u09ac\u09be\u09b0"
- },
- "MONTH": {
- "0": "\u099c\u09be\u09a8\u09c1\u09af\u09bc\u09be\u09b0\u09c0",
- "1": "\u09ab\u09c7\u09ac\u09cd\u09b0\u09c1\u09af\u09bc\u09be\u09b0\u09c0",
- "2": "\u09ae\u09be\u09b0\u09cd\u099a",
- "3": "\u098f\u09aa\u09cd\u09b0\u09bf\u09b2",
- "4": "\u09ae\u09c7",
- "5": "\u099c\u09c1\u09a8",
- "6": "\u099c\u09c1\u09b2\u09be\u0987",
- "7": "\u0986\u0997\u09b8\u09cd\u099f",
- "8": "\u09b8\u09c7\u09aa\u09cd\u099f\u09c7\u09ae\u09cd\u09ac\u09b0",
- "9": "\u0985\u0995\u09cd\u099f\u09cb\u09ac\u09b0",
- "10": "\u09a8\u09ad\u09c7\u09ae\u09cd\u09ac\u09b0",
- "11": "\u09a1\u09bf\u09b8\u09c7\u09ae\u09cd\u09ac\u09b0"
- },
- "SHORTDAY": {
- "0": "\u09b0\u09ac\u09bf",
- "1": "\u09b8\u09cb\u09ae",
- "2": "\u09ae\u0999\u09cd\u0997\u09b2",
- "3": "\u09ac\u09c1\u09a7",
- "4": "\u09ac\u09c3\u09b9\u09b8\u09cd\u09aa\u09a4\u09bf",
- "5": "\u09b6\u09c1\u0995\u09cd\u09b0",
- "6": "\u09b6\u09a8\u09bf"
- },
- "SHORTMONTH": {
- "0": "\u099c\u09be\u09a8\u09c1\u09af\u09bc\u09be\u09b0\u09c0",
- "1": "\u09ab\u09c7\u09ac\u09cd\u09b0\u09c1\u09af\u09bc\u09be\u09b0\u09c0",
- "2": "\u09ae\u09be\u09b0\u09cd\u099a",
- "3": "\u098f\u09aa\u09cd\u09b0\u09bf\u09b2",
- "4": "\u09ae\u09c7",
- "5": "\u099c\u09c1\u09a8",
- "6": "\u099c\u09c1\u09b2\u09be\u0987",
- "7": "\u0986\u0997\u09b8\u09cd\u099f",
- "8": "\u09b8\u09c7\u09aa\u09cd\u099f\u09c7\u09ae\u09cd\u09ac\u09b0",
- "9": "\u0985\u0995\u09cd\u099f\u09cb\u09ac\u09b0",
- "10": "\u09a8\u09ad\u09c7\u09ae\u09cd\u09ac\u09b0",
- "11": "\u09a1\u09bf\u09b8\u09c7\u09ae\u09cd\u09ac\u09b0"
- },
+ "AMPMS": [
+ "am",
+ "pm"
+ ],
+ "DAY": [
+ "\u09b0\u09ac\u09bf\u09ac\u09be\u09b0",
+ "\u09b8\u09cb\u09ae\u09ac\u09be\u09b0",
+ "\u09ae\u0999\u09cd\u0997\u09b2\u09ac\u09be\u09b0",
+ "\u09ac\u09c1\u09a7\u09ac\u09be\u09b0",
+ "\u09ac\u09c3\u09b9\u09b7\u09cd\u09aa\u09a4\u09bf\u09ac\u09be\u09b0",
+ "\u09b6\u09c1\u0995\u09cd\u09b0\u09ac\u09be\u09b0",
+ "\u09b6\u09a8\u09bf\u09ac\u09be\u09b0"
+ ],
+ "MONTH": [
+ "\u099c\u09be\u09a8\u09c1\u09af\u09bc\u09be\u09b0\u09c0",
+ "\u09ab\u09c7\u09ac\u09cd\u09b0\u09c1\u09af\u09bc\u09be\u09b0\u09c0",
+ "\u09ae\u09be\u09b0\u09cd\u099a",
+ "\u098f\u09aa\u09cd\u09b0\u09bf\u09b2",
+ "\u09ae\u09c7",
+ "\u099c\u09c1\u09a8",
+ "\u099c\u09c1\u09b2\u09be\u0987",
+ "\u0986\u0997\u09b8\u09cd\u099f",
+ "\u09b8\u09c7\u09aa\u09cd\u099f\u09c7\u09ae\u09cd\u09ac\u09b0",
+ "\u0985\u0995\u09cd\u099f\u09cb\u09ac\u09b0",
+ "\u09a8\u09ad\u09c7\u09ae\u09cd\u09ac\u09b0",
+ "\u09a1\u09bf\u09b8\u09c7\u09ae\u09cd\u09ac\u09b0"
+ ],
+ "SHORTDAY": [
+ "\u09b0\u09ac\u09bf",
+ "\u09b8\u09cb\u09ae",
+ "\u09ae\u0999\u09cd\u0997\u09b2",
+ "\u09ac\u09c1\u09a7",
+ "\u09ac\u09c3\u09b9\u09b8\u09cd\u09aa\u09a4\u09bf",
+ "\u09b6\u09c1\u0995\u09cd\u09b0",
+ "\u09b6\u09a8\u09bf"
+ ],
+ "SHORTMONTH": [
+ "\u099c\u09be\u09a8\u09c1\u09af\u09bc\u09be\u09b0\u09c0",
+ "\u09ab\u09c7\u09ac\u09cd\u09b0\u09c1\u09af\u09bc\u09be\u09b0\u09c0",
+ "\u09ae\u09be\u09b0\u09cd\u099a",
+ "\u098f\u09aa\u09cd\u09b0\u09bf\u09b2",
+ "\u09ae\u09c7",
+ "\u099c\u09c1\u09a8",
+ "\u099c\u09c1\u09b2\u09be\u0987",
+ "\u0986\u0997\u09b8\u09cd\u099f",
+ "\u09b8\u09c7\u09aa\u09cd\u099f\u09c7\u09ae\u09cd\u09ac\u09b0",
+ "\u0985\u0995\u09cd\u099f\u09cb\u09ac\u09b0",
+ "\u09a8\u09ad\u09c7\u09ae\u09cd\u09ac\u09b0",
+ "\u09a1\u09bf\u09b8\u09c7\u09ae\u09cd\u09ac\u09b0"
+ ],
"fullDate": "EEEE, d MMMM, y",
"longDate": "d MMMM, y",
"medium": "d MMM, y h:mm:ss a",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u09f3",
"DECIMAL_SEP": ".",
"GROUP_SEP": ",",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 2,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 2,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a4"
}
- }
+ ]
},
"id": "bn",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ca-ad.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ca-ad.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ca-ad.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "a.m.",
- "1": "p.m."
- },
- "DAY": {
- "0": "diumenge",
- "1": "dilluns",
- "2": "dimarts",
- "3": "dimecres",
- "4": "dijous",
- "5": "divendres",
- "6": "dissabte"
- },
- "MONTH": {
- "0": "de gener",
- "1": "de febrer",
- "2": "de mar\u00e7",
- "3": "d\u2019abril",
- "4": "de maig",
- "5": "de juny",
- "6": "de juliol",
- "7": "d\u2019agost",
- "8": "de setembre",
- "9": "d\u2019octubre",
- "10": "de novembre",
- "11": "de desembre"
- },
- "SHORTDAY": {
- "0": "dg.",
- "1": "dl.",
- "2": "dt.",
- "3": "dc.",
- "4": "dj.",
- "5": "dv.",
- "6": "ds."
- },
- "SHORTMONTH": {
- "0": "de gen.",
- "1": "de febr.",
- "2": "de mar\u00e7",
- "3": "d\u2019abr.",
- "4": "de maig",
- "5": "de juny",
- "6": "de jul.",
- "7": "d\u2019ag.",
- "8": "de set.",
- "9": "d\u2019oct.",
- "10": "de nov.",
- "11": "de des."
- },
+ "AMPMS": [
+ "a.m.",
+ "p.m."
+ ],
+ "DAY": [
+ "diumenge",
+ "dilluns",
+ "dimarts",
+ "dimecres",
+ "dijous",
+ "divendres",
+ "dissabte"
+ ],
+ "MONTH": [
+ "de gener",
+ "de febrer",
+ "de mar\u00e7",
+ "d\u2019abril",
+ "de maig",
+ "de juny",
+ "de juliol",
+ "d\u2019agost",
+ "de setembre",
+ "d\u2019octubre",
+ "de novembre",
+ "de desembre"
+ ],
+ "SHORTDAY": [
+ "dg.",
+ "dl.",
+ "dt.",
+ "dc.",
+ "dj.",
+ "dv.",
+ "ds."
+ ],
+ "SHORTMONTH": [
+ "de gen.",
+ "de febr.",
+ "de mar\u00e7",
+ "d\u2019abr.",
+ "de maig",
+ "de juny",
+ "de jul.",
+ "d\u2019ag.",
+ "de set.",
+ "d\u2019oct.",
+ "de nov.",
+ "de des."
+ ],
"fullDate": "EEEE d MMMM 'de' y",
"longDate": "d MMMM 'de' y",
"medium": "dd/MM/yyyy H:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20ac",
"DECIMAL_SEP": ",",
"GROUP_SEP": ".",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4",
"posSuf": ""
}
- }
+ ]
},
"id": "ca-ad",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ca-es.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ca-es.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ca-es.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "a.m.",
- "1": "p.m."
- },
- "DAY": {
- "0": "diumenge",
- "1": "dilluns",
- "2": "dimarts",
- "3": "dimecres",
- "4": "dijous",
- "5": "divendres",
- "6": "dissabte"
- },
- "MONTH": {
- "0": "de gener",
- "1": "de febrer",
- "2": "de mar\u00e7",
- "3": "d\u2019abril",
- "4": "de maig",
- "5": "de juny",
- "6": "de juliol",
- "7": "d\u2019agost",
- "8": "de setembre",
- "9": "d\u2019octubre",
- "10": "de novembre",
- "11": "de desembre"
- },
- "SHORTDAY": {
- "0": "dg.",
- "1": "dl.",
- "2": "dt.",
- "3": "dc.",
- "4": "dj.",
- "5": "dv.",
- "6": "ds."
- },
- "SHORTMONTH": {
- "0": "de gen.",
- "1": "de febr.",
- "2": "de mar\u00e7",
- "3": "d\u2019abr.",
- "4": "de maig",
- "5": "de juny",
- "6": "de jul.",
- "7": "d\u2019ag.",
- "8": "de set.",
- "9": "d\u2019oct.",
- "10": "de nov.",
- "11": "de des."
- },
+ "AMPMS": [
+ "a.m.",
+ "p.m."
+ ],
+ "DAY": [
+ "diumenge",
+ "dilluns",
+ "dimarts",
+ "dimecres",
+ "dijous",
+ "divendres",
+ "dissabte"
+ ],
+ "MONTH": [
+ "de gener",
+ "de febrer",
+ "de mar\u00e7",
+ "d\u2019abril",
+ "de maig",
+ "de juny",
+ "de juliol",
+ "d\u2019agost",
+ "de setembre",
+ "d\u2019octubre",
+ "de novembre",
+ "de desembre"
+ ],
+ "SHORTDAY": [
+ "dg.",
+ "dl.",
+ "dt.",
+ "dc.",
+ "dj.",
+ "dv.",
+ "ds."
+ ],
+ "SHORTMONTH": [
+ "de gen.",
+ "de febr.",
+ "de mar\u00e7",
+ "d\u2019abr.",
+ "de maig",
+ "de juny",
+ "de jul.",
+ "d\u2019ag.",
+ "de set.",
+ "d\u2019oct.",
+ "de nov.",
+ "de des."
+ ],
"fullDate": "EEEE d MMMM 'de' y",
"longDate": "d MMMM 'de' y",
"medium": "dd/MM/yyyy H:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20ac",
"DECIMAL_SEP": ",",
"GROUP_SEP": ".",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4",
"posSuf": ""
}
- }
+ ]
},
"id": "ca-es",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ca.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ca.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ca.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "a.m.",
- "1": "p.m."
- },
- "DAY": {
- "0": "diumenge",
- "1": "dilluns",
- "2": "dimarts",
- "3": "dimecres",
- "4": "dijous",
- "5": "divendres",
- "6": "dissabte"
- },
- "MONTH": {
- "0": "de gener",
- "1": "de febrer",
- "2": "de mar\u00e7",
- "3": "d\u2019abril",
- "4": "de maig",
- "5": "de juny",
- "6": "de juliol",
- "7": "d\u2019agost",
- "8": "de setembre",
- "9": "d\u2019octubre",
- "10": "de novembre",
- "11": "de desembre"
- },
- "SHORTDAY": {
- "0": "dg.",
- "1": "dl.",
- "2": "dt.",
- "3": "dc.",
- "4": "dj.",
- "5": "dv.",
- "6": "ds."
- },
- "SHORTMONTH": {
- "0": "de gen.",
- "1": "de febr.",
- "2": "de mar\u00e7",
- "3": "d\u2019abr.",
- "4": "de maig",
- "5": "de juny",
- "6": "de jul.",
- "7": "d\u2019ag.",
- "8": "de set.",
- "9": "d\u2019oct.",
- "10": "de nov.",
- "11": "de des."
- },
+ "AMPMS": [
+ "a.m.",
+ "p.m."
+ ],
+ "DAY": [
+ "diumenge",
+ "dilluns",
+ "dimarts",
+ "dimecres",
+ "dijous",
+ "divendres",
+ "dissabte"
+ ],
+ "MONTH": [
+ "de gener",
+ "de febrer",
+ "de mar\u00e7",
+ "d\u2019abril",
+ "de maig",
+ "de juny",
+ "de juliol",
+ "d\u2019agost",
+ "de setembre",
+ "d\u2019octubre",
+ "de novembre",
+ "de desembre"
+ ],
+ "SHORTDAY": [
+ "dg.",
+ "dl.",
+ "dt.",
+ "dc.",
+ "dj.",
+ "dv.",
+ "ds."
+ ],
+ "SHORTMONTH": [
+ "de gen.",
+ "de febr.",
+ "de mar\u00e7",
+ "d\u2019abr.",
+ "de maig",
+ "de juny",
+ "de jul.",
+ "d\u2019ag.",
+ "de set.",
+ "d\u2019oct.",
+ "de nov.",
+ "de des."
+ ],
"fullDate": "EEEE d MMMM 'de' y",
"longDate": "d MMMM 'de' y",
"medium": "dd/MM/yyyy H:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20ac",
"DECIMAL_SEP": ",",
"GROUP_SEP": ".",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4",
"posSuf": ""
}
- }
+ ]
},
"id": "ca",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_cs-cz.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_cs-cz.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_cs-cz.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "dop.",
- "1": "odp."
- },
- "DAY": {
- "0": "ned\u011ble",
- "1": "pond\u011bl\u00ed",
- "2": "\u00fater\u00fd",
- "3": "st\u0159eda",
- "4": "\u010dtvrtek",
- "5": "p\u00e1tek",
- "6": "sobota"
- },
- "MONTH": {
- "0": "ledna",
- "1": "\u00fanora",
- "2": "b\u0159ezna",
- "3": "dubna",
- "4": "kv\u011btna",
- "5": "\u010dervna",
- "6": "\u010dervence",
- "7": "srpna",
- "8": "z\u00e1\u0159\u00ed",
- "9": "\u0159\u00edjna",
- "10": "listopadu",
- "11": "prosince"
- },
- "SHORTDAY": {
- "0": "ne",
- "1": "po",
- "2": "\u00fat",
- "3": "st",
- "4": "\u010dt",
- "5": "p\u00e1",
- "6": "so"
- },
- "SHORTMONTH": {
- "0": "Led",
- "1": "\u00dano",
- "2": "B\u0159e",
- "3": "Dub",
- "4": "Kv\u011b",
- "5": "\u010cer",
- "6": "\u010cvc",
- "7": "Srp",
- "8": "Z\u00e1\u0159",
- "9": "\u0158\u00edj",
- "10": "Lis",
- "11": "Pro"
- },
+ "AMPMS": [
+ "dop.",
+ "odp."
+ ],
+ "DAY": [
+ "ned\u011ble",
+ "pond\u011bl\u00ed",
+ "\u00fater\u00fd",
+ "st\u0159eda",
+ "\u010dtvrtek",
+ "p\u00e1tek",
+ "sobota"
+ ],
+ "MONTH": [
+ "ledna",
+ "\u00fanora",
+ "b\u0159ezna",
+ "dubna",
+ "kv\u011btna",
+ "\u010dervna",
+ "\u010dervence",
+ "srpna",
+ "z\u00e1\u0159\u00ed",
+ "\u0159\u00edjna",
+ "listopadu",
+ "prosince"
+ ],
+ "SHORTDAY": [
+ "ne",
+ "po",
+ "\u00fat",
+ "st",
+ "\u010dt",
+ "p\u00e1",
+ "so"
+ ],
+ "SHORTMONTH": [
+ "Led",
+ "\u00dano",
+ "B\u0159e",
+ "Dub",
+ "Kv\u011b",
+ "\u010cer",
+ "\u010cvc",
+ "Srp",
+ "Z\u00e1\u0159",
+ "\u0158\u00edj",
+ "Lis",
+ "Pro"
+ ],
"fullDate": "EEEE, d. MMMM y",
"longDate": "d. MMMM y",
"medium": "d. M. yyyy H:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "K\u010d",
"DECIMAL_SEP": ",",
"GROUP_SEP": "\u00a0",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "cs-cz",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } if (n == (n | 0) && n >= 2 && n <= 4) { return PLURAL_CATEGORY.FEW; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_cs.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_cs.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_cs.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "dop.",
- "1": "odp."
- },
- "DAY": {
- "0": "ned\u011ble",
- "1": "pond\u011bl\u00ed",
- "2": "\u00fater\u00fd",
- "3": "st\u0159eda",
- "4": "\u010dtvrtek",
- "5": "p\u00e1tek",
- "6": "sobota"
- },
- "MONTH": {
- "0": "ledna",
- "1": "\u00fanora",
- "2": "b\u0159ezna",
- "3": "dubna",
- "4": "kv\u011btna",
- "5": "\u010dervna",
- "6": "\u010dervence",
- "7": "srpna",
- "8": "z\u00e1\u0159\u00ed",
- "9": "\u0159\u00edjna",
- "10": "listopadu",
- "11": "prosince"
- },
- "SHORTDAY": {
- "0": "ne",
- "1": "po",
- "2": "\u00fat",
- "3": "st",
- "4": "\u010dt",
- "5": "p\u00e1",
- "6": "so"
- },
- "SHORTMONTH": {
- "0": "Led",
- "1": "\u00dano",
- "2": "B\u0159e",
- "3": "Dub",
- "4": "Kv\u011b",
- "5": "\u010cer",
- "6": "\u010cvc",
- "7": "Srp",
- "8": "Z\u00e1\u0159",
- "9": "\u0158\u00edj",
- "10": "Lis",
- "11": "Pro"
- },
+ "AMPMS": [
+ "dop.",
+ "odp."
+ ],
+ "DAY": [
+ "ned\u011ble",
+ "pond\u011bl\u00ed",
+ "\u00fater\u00fd",
+ "st\u0159eda",
+ "\u010dtvrtek",
+ "p\u00e1tek",
+ "sobota"
+ ],
+ "MONTH": [
+ "ledna",
+ "\u00fanora",
+ "b\u0159ezna",
+ "dubna",
+ "kv\u011btna",
+ "\u010dervna",
+ "\u010dervence",
+ "srpna",
+ "z\u00e1\u0159\u00ed",
+ "\u0159\u00edjna",
+ "listopadu",
+ "prosince"
+ ],
+ "SHORTDAY": [
+ "ne",
+ "po",
+ "\u00fat",
+ "st",
+ "\u010dt",
+ "p\u00e1",
+ "so"
+ ],
+ "SHORTMONTH": [
+ "Led",
+ "\u00dano",
+ "B\u0159e",
+ "Dub",
+ "Kv\u011b",
+ "\u010cer",
+ "\u010cvc",
+ "Srp",
+ "Z\u00e1\u0159",
+ "\u0158\u00edj",
+ "Lis",
+ "Pro"
+ ],
"fullDate": "EEEE, d. MMMM y",
"longDate": "d. MMMM y",
"medium": "d. M. yyyy H:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "K\u010d",
"DECIMAL_SEP": ",",
"GROUP_SEP": "\u00a0",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "cs",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } if (n == (n | 0) && n >= 2 && n <= 4) { return PLURAL_CATEGORY.FEW; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_da-dk.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_da-dk.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_da-dk.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "f.m.",
- "1": "e.m."
- },
- "DAY": {
- "0": "s\u00f8ndag",
- "1": "mandag",
- "2": "tirsdag",
- "3": "onsdag",
- "4": "torsdag",
- "5": "fredag",
- "6": "l\u00f8rdag"
- },
- "MONTH": {
- "0": "januar",
- "1": "februar",
- "2": "marts",
- "3": "april",
- "4": "maj",
- "5": "juni",
- "6": "juli",
- "7": "august",
- "8": "september",
- "9": "oktober",
- "10": "november",
- "11": "december"
- },
- "SHORTDAY": {
- "0": "s\u00f8n",
- "1": "man",
- "2": "tir",
- "3": "ons",
- "4": "tor",
- "5": "fre",
- "6": "l\u00f8r"
- },
- "SHORTMONTH": {
- "0": "jan.",
- "1": "feb.",
- "2": "mar.",
- "3": "apr.",
- "4": "maj",
- "5": "jun.",
- "6": "jul.",
- "7": "aug.",
- "8": "sep.",
- "9": "okt.",
- "10": "nov.",
- "11": "dec."
- },
+ "AMPMS": [
+ "f.m.",
+ "e.m."
+ ],
+ "DAY": [
+ "s\u00f8ndag",
+ "mandag",
+ "tirsdag",
+ "onsdag",
+ "torsdag",
+ "fredag",
+ "l\u00f8rdag"
+ ],
+ "MONTH": [
+ "januar",
+ "februar",
+ "marts",
+ "april",
+ "maj",
+ "juni",
+ "juli",
+ "august",
+ "september",
+ "oktober",
+ "november",
+ "december"
+ ],
+ "SHORTDAY": [
+ "s\u00f8n",
+ "man",
+ "tir",
+ "ons",
+ "tor",
+ "fre",
+ "l\u00f8r"
+ ],
+ "SHORTMONTH": [
+ "jan.",
+ "feb.",
+ "mar.",
+ "apr.",
+ "maj",
+ "jun.",
+ "jul.",
+ "aug.",
+ "sep.",
+ "okt.",
+ "nov.",
+ "dec."
+ ],
"fullDate": "EEEE 'den' d. MMMM y",
"longDate": "d. MMM y",
"medium": "dd/MM/yyyy HH.mm.ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "kr",
"DECIMAL_SEP": ",",
"GROUP_SEP": ".",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "da-dk",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_da.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_da.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_da.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "f.m.",
- "1": "e.m."
- },
- "DAY": {
- "0": "s\u00f8ndag",
- "1": "mandag",
- "2": "tirsdag",
- "3": "onsdag",
- "4": "torsdag",
- "5": "fredag",
- "6": "l\u00f8rdag"
- },
- "MONTH": {
- "0": "januar",
- "1": "februar",
- "2": "marts",
- "3": "april",
- "4": "maj",
- "5": "juni",
- "6": "juli",
- "7": "august",
- "8": "september",
- "9": "oktober",
- "10": "november",
- "11": "december"
- },
- "SHORTDAY": {
- "0": "s\u00f8n",
- "1": "man",
- "2": "tir",
- "3": "ons",
- "4": "tor",
- "5": "fre",
- "6": "l\u00f8r"
- },
- "SHORTMONTH": {
- "0": "jan.",
- "1": "feb.",
- "2": "mar.",
- "3": "apr.",
- "4": "maj",
- "5": "jun.",
- "6": "jul.",
- "7": "aug.",
- "8": "sep.",
- "9": "okt.",
- "10": "nov.",
- "11": "dec."
- },
+ "AMPMS": [
+ "f.m.",
+ "e.m."
+ ],
+ "DAY": [
+ "s\u00f8ndag",
+ "mandag",
+ "tirsdag",
+ "onsdag",
+ "torsdag",
+ "fredag",
+ "l\u00f8rdag"
+ ],
+ "MONTH": [
+ "januar",
+ "februar",
+ "marts",
+ "april",
+ "maj",
+ "juni",
+ "juli",
+ "august",
+ "september",
+ "oktober",
+ "november",
+ "december"
+ ],
+ "SHORTDAY": [
+ "s\u00f8n",
+ "man",
+ "tir",
+ "ons",
+ "tor",
+ "fre",
+ "l\u00f8r"
+ ],
+ "SHORTMONTH": [
+ "jan.",
+ "feb.",
+ "mar.",
+ "apr.",
+ "maj",
+ "jun.",
+ "jul.",
+ "aug.",
+ "sep.",
+ "okt.",
+ "nov.",
+ "dec."
+ ],
"fullDate": "EEEE 'den' d. MMMM y",
"longDate": "d. MMM y",
"medium": "dd/MM/yyyy HH.mm.ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "kr",
"DECIMAL_SEP": ",",
"GROUP_SEP": ".",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "da",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_de-at.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_de-at.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_de-at.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "vorm.",
- "1": "nachm."
- },
- "DAY": {
- "0": "Sonntag",
- "1": "Montag",
- "2": "Dienstag",
- "3": "Mittwoch",
- "4": "Donnerstag",
- "5": "Freitag",
- "6": "Samstag"
- },
- "MONTH": {
- "0": "J\u00e4nner",
- "1": "Februar",
- "2": "M\u00e4rz",
- "3": "April",
- "4": "Mai",
- "5": "Juni",
- "6": "Juli",
- "7": "August",
- "8": "September",
- "9": "Oktober",
- "10": "November",
- "11": "Dezember"
- },
- "SHORTDAY": {
- "0": "So.",
- "1": "Mo.",
- "2": "Di.",
- "3": "Mi.",
- "4": "Do.",
- "5": "Fr.",
- "6": "Sa."
- },
- "SHORTMONTH": {
- "0": "J\u00e4n",
- "1": "Feb",
- "2": "M\u00e4r",
- "3": "Apr",
- "4": "Mai",
- "5": "Jun",
- "6": "Jul",
- "7": "Aug",
- "8": "Sep",
- "9": "Okt",
- "10": "Nov",
- "11": "Dez"
- },
+ "AMPMS": [
+ "vorm.",
+ "nachm."
+ ],
+ "DAY": [
+ "Sonntag",
+ "Montag",
+ "Dienstag",
+ "Mittwoch",
+ "Donnerstag",
+ "Freitag",
+ "Samstag"
+ ],
+ "MONTH": [
+ "J\u00e4nner",
+ "Februar",
+ "M\u00e4rz",
+ "April",
+ "Mai",
+ "Juni",
+ "Juli",
+ "August",
+ "September",
+ "Oktober",
+ "November",
+ "Dezember"
+ ],
+ "SHORTDAY": [
+ "So.",
+ "Mo.",
+ "Di.",
+ "Mi.",
+ "Do.",
+ "Fr.",
+ "Sa."
+ ],
+ "SHORTMONTH": [
+ "J\u00e4n",
+ "Feb",
+ "M\u00e4r",
+ "Apr",
+ "Mai",
+ "Jun",
+ "Jul",
+ "Aug",
+ "Sep",
+ "Okt",
+ "Nov",
+ "Dez"
+ ],
"fullDate": "EEEE, dd. MMMM y",
"longDate": "dd. MMMM y",
"medium": "dd.MM.yyyy HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20ac",
"DECIMAL_SEP": ",",
"GROUP_SEP": ".",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4\u00a0",
"posSuf": ""
}
- }
+ ]
},
"id": "de-at",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_de-be.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_de-be.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_de-be.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "vorm.",
- "1": "nachm."
- },
- "DAY": {
- "0": "Sonntag",
- "1": "Montag",
- "2": "Dienstag",
- "3": "Mittwoch",
- "4": "Donnerstag",
- "5": "Freitag",
- "6": "Samstag"
- },
- "MONTH": {
- "0": "Januar",
- "1": "Februar",
- "2": "M\u00e4rz",
- "3": "April",
- "4": "Mai",
- "5": "Juni",
- "6": "Juli",
- "7": "August",
- "8": "September",
- "9": "Oktober",
- "10": "November",
- "11": "Dezember"
- },
- "SHORTDAY": {
- "0": "So.",
- "1": "Mo.",
- "2": "Di.",
- "3": "Mi.",
- "4": "Do.",
- "5": "Fr.",
- "6": "Sa."
- },
- "SHORTMONTH": {
- "0": "Jan",
- "1": "Feb",
- "2": "M\u00e4r",
- "3": "Apr",
- "4": "Mai",
- "5": "Jun",
- "6": "Jul",
- "7": "Aug",
- "8": "Sep",
- "9": "Okt",
- "10": "Nov",
- "11": "Dez"
- },
+ "AMPMS": [
+ "vorm.",
+ "nachm."
+ ],
+ "DAY": [
+ "Sonntag",
+ "Montag",
+ "Dienstag",
+ "Mittwoch",
+ "Donnerstag",
+ "Freitag",
+ "Samstag"
+ ],
+ "MONTH": [
+ "Januar",
+ "Februar",
+ "M\u00e4rz",
+ "April",
+ "Mai",
+ "Juni",
+ "Juli",
+ "August",
+ "September",
+ "Oktober",
+ "November",
+ "Dezember"
+ ],
+ "SHORTDAY": [
+ "So.",
+ "Mo.",
+ "Di.",
+ "Mi.",
+ "Do.",
+ "Fr.",
+ "Sa."
+ ],
+ "SHORTMONTH": [
+ "Jan",
+ "Feb",
+ "M\u00e4r",
+ "Apr",
+ "Mai",
+ "Jun",
+ "Jul",
+ "Aug",
+ "Sep",
+ "Okt",
+ "Nov",
+ "Dez"
+ ],
"fullDate": "EEEE, d. MMMM y",
"longDate": "d. MMMM y",
"medium": "dd.MM.yyyy HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20ac",
"DECIMAL_SEP": ",",
"GROUP_SEP": ".",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "de-be",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_de-ch.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_de-ch.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_de-ch.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "vorm.",
- "1": "nachm."
- },
- "DAY": {
- "0": "Sonntag",
- "1": "Montag",
- "2": "Dienstag",
- "3": "Mittwoch",
- "4": "Donnerstag",
- "5": "Freitag",
- "6": "Samstag"
- },
- "MONTH": {
- "0": "Januar",
- "1": "Februar",
- "2": "M\u00e4rz",
- "3": "April",
- "4": "Mai",
- "5": "Juni",
- "6": "Juli",
- "7": "August",
- "8": "September",
- "9": "Oktober",
- "10": "November",
- "11": "Dezember"
- },
- "SHORTDAY": {
- "0": "So.",
- "1": "Mo.",
- "2": "Di.",
- "3": "Mi.",
- "4": "Do.",
- "5": "Fr.",
- "6": "Sa."
- },
- "SHORTMONTH": {
- "0": "Jan",
- "1": "Feb",
- "2": "M\u00e4r",
- "3": "Apr",
- "4": "Mai",
- "5": "Jun",
- "6": "Jul",
- "7": "Aug",
- "8": "Sep",
- "9": "Okt",
- "10": "Nov",
- "11": "Dez"
- },
+ "AMPMS": [
+ "vorm.",
+ "nachm."
+ ],
+ "DAY": [
+ "Sonntag",
+ "Montag",
+ "Dienstag",
+ "Mittwoch",
+ "Donnerstag",
+ "Freitag",
+ "Samstag"
+ ],
+ "MONTH": [
+ "Januar",
+ "Februar",
+ "M\u00e4rz",
+ "April",
+ "Mai",
+ "Juni",
+ "Juli",
+ "August",
+ "September",
+ "Oktober",
+ "November",
+ "Dezember"
+ ],
+ "SHORTDAY": [
+ "So.",
+ "Mo.",
+ "Di.",
+ "Mi.",
+ "Do.",
+ "Fr.",
+ "Sa."
+ ],
+ "SHORTMONTH": [
+ "Jan",
+ "Feb",
+ "M\u00e4r",
+ "Apr",
+ "Mai",
+ "Jun",
+ "Jul",
+ "Aug",
+ "Sep",
+ "Okt",
+ "Nov",
+ "Dez"
+ ],
"fullDate": "EEEE, d. MMMM y",
"longDate": "d. MMMM y",
"medium": "dd.MM.yyyy HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "CHF",
"DECIMAL_SEP": ".",
"GROUP_SEP": "'",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4\u00a0",
"posSuf": ""
}
- }
+ ]
},
"id": "de-ch",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_de-de.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_de-de.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_de-de.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "vorm.",
- "1": "nachm."
- },
- "DAY": {
- "0": "Sonntag",
- "1": "Montag",
- "2": "Dienstag",
- "3": "Mittwoch",
- "4": "Donnerstag",
- "5": "Freitag",
- "6": "Samstag"
- },
- "MONTH": {
- "0": "Januar",
- "1": "Februar",
- "2": "M\u00e4rz",
- "3": "April",
- "4": "Mai",
- "5": "Juni",
- "6": "Juli",
- "7": "August",
- "8": "September",
- "9": "Oktober",
- "10": "November",
- "11": "Dezember"
- },
- "SHORTDAY": {
- "0": "So.",
- "1": "Mo.",
- "2": "Di.",
- "3": "Mi.",
- "4": "Do.",
- "5": "Fr.",
- "6": "Sa."
- },
- "SHORTMONTH": {
- "0": "Jan",
- "1": "Feb",
- "2": "M\u00e4r",
- "3": "Apr",
- "4": "Mai",
- "5": "Jun",
- "6": "Jul",
- "7": "Aug",
- "8": "Sep",
- "9": "Okt",
- "10": "Nov",
- "11": "Dez"
- },
+ "AMPMS": [
+ "vorm.",
+ "nachm."
+ ],
+ "DAY": [
+ "Sonntag",
+ "Montag",
+ "Dienstag",
+ "Mittwoch",
+ "Donnerstag",
+ "Freitag",
+ "Samstag"
+ ],
+ "MONTH": [
+ "Januar",
+ "Februar",
+ "M\u00e4rz",
+ "April",
+ "Mai",
+ "Juni",
+ "Juli",
+ "August",
+ "September",
+ "Oktober",
+ "November",
+ "Dezember"
+ ],
+ "SHORTDAY": [
+ "So.",
+ "Mo.",
+ "Di.",
+ "Mi.",
+ "Do.",
+ "Fr.",
+ "Sa."
+ ],
+ "SHORTMONTH": [
+ "Jan",
+ "Feb",
+ "M\u00e4r",
+ "Apr",
+ "Mai",
+ "Jun",
+ "Jul",
+ "Aug",
+ "Sep",
+ "Okt",
+ "Nov",
+ "Dez"
+ ],
"fullDate": "EEEE, d. MMMM y",
"longDate": "d. MMMM y",
"medium": "dd.MM.yyyy HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20ac",
"DECIMAL_SEP": ",",
"GROUP_SEP": ".",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "de-de",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_de-li.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_de-li.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_de-li.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "vorm.",
- "1": "nachm."
- },
- "DAY": {
- "0": "Sonntag",
- "1": "Montag",
- "2": "Dienstag",
- "3": "Mittwoch",
- "4": "Donnerstag",
- "5": "Freitag",
- "6": "Samstag"
- },
- "MONTH": {
- "0": "Januar",
- "1": "Februar",
- "2": "M\u00e4rz",
- "3": "April",
- "4": "Mai",
- "5": "Juni",
- "6": "Juli",
- "7": "August",
- "8": "September",
- "9": "Oktober",
- "10": "November",
- "11": "Dezember"
- },
- "SHORTDAY": {
- "0": "So.",
- "1": "Mo.",
- "2": "Di.",
- "3": "Mi.",
- "4": "Do.",
- "5": "Fr.",
- "6": "Sa."
- },
- "SHORTMONTH": {
- "0": "Jan",
- "1": "Feb",
- "2": "M\u00e4r",
- "3": "Apr",
- "4": "Mai",
- "5": "Jun",
- "6": "Jul",
- "7": "Aug",
- "8": "Sep",
- "9": "Okt",
- "10": "Nov",
- "11": "Dez"
- },
+ "AMPMS": [
+ "vorm.",
+ "nachm."
+ ],
+ "DAY": [
+ "Sonntag",
+ "Montag",
+ "Dienstag",
+ "Mittwoch",
+ "Donnerstag",
+ "Freitag",
+ "Samstag"
+ ],
+ "MONTH": [
+ "Januar",
+ "Februar",
+ "M\u00e4rz",
+ "April",
+ "Mai",
+ "Juni",
+ "Juli",
+ "August",
+ "September",
+ "Oktober",
+ "November",
+ "Dezember"
+ ],
+ "SHORTDAY": [
+ "So.",
+ "Mo.",
+ "Di.",
+ "Mi.",
+ "Do.",
+ "Fr.",
+ "Sa."
+ ],
+ "SHORTMONTH": [
+ "Jan",
+ "Feb",
+ "M\u00e4r",
+ "Apr",
+ "Mai",
+ "Jun",
+ "Jul",
+ "Aug",
+ "Sep",
+ "Okt",
+ "Nov",
+ "Dez"
+ ],
"fullDate": "EEEE, d. MMMM y",
"longDate": "d. MMMM y",
"medium": "dd.MM.yyyy HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20ac",
"DECIMAL_SEP": ",",
"GROUP_SEP": ".",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "de-li",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_de-lu.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_de-lu.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_de-lu.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "vorm.",
- "1": "nachm."
- },
- "DAY": {
- "0": "Sonntag",
- "1": "Montag",
- "2": "Dienstag",
- "3": "Mittwoch",
- "4": "Donnerstag",
- "5": "Freitag",
- "6": "Samstag"
- },
- "MONTH": {
- "0": "Januar",
- "1": "Februar",
- "2": "M\u00e4rz",
- "3": "April",
- "4": "Mai",
- "5": "Juni",
- "6": "Juli",
- "7": "August",
- "8": "September",
- "9": "Oktober",
- "10": "November",
- "11": "Dezember"
- },
- "SHORTDAY": {
- "0": "So.",
- "1": "Mo.",
- "2": "Di.",
- "3": "Mi.",
- "4": "Do.",
- "5": "Fr.",
- "6": "Sa."
- },
- "SHORTMONTH": {
- "0": "Jan",
- "1": "Feb",
- "2": "M\u00e4r",
- "3": "Apr",
- "4": "Mai",
- "5": "Jun",
- "6": "Jul",
- "7": "Aug",
- "8": "Sep",
- "9": "Okt",
- "10": "Nov",
- "11": "Dez"
- },
+ "AMPMS": [
+ "vorm.",
+ "nachm."
+ ],
+ "DAY": [
+ "Sonntag",
+ "Montag",
+ "Dienstag",
+ "Mittwoch",
+ "Donnerstag",
+ "Freitag",
+ "Samstag"
+ ],
+ "MONTH": [
+ "Januar",
+ "Februar",
+ "M\u00e4rz",
+ "April",
+ "Mai",
+ "Juni",
+ "Juli",
+ "August",
+ "September",
+ "Oktober",
+ "November",
+ "Dezember"
+ ],
+ "SHORTDAY": [
+ "So.",
+ "Mo.",
+ "Di.",
+ "Mi.",
+ "Do.",
+ "Fr.",
+ "Sa."
+ ],
+ "SHORTMONTH": [
+ "Jan",
+ "Feb",
+ "M\u00e4r",
+ "Apr",
+ "Mai",
+ "Jun",
+ "Jul",
+ "Aug",
+ "Sep",
+ "Okt",
+ "Nov",
+ "Dez"
+ ],
"fullDate": "EEEE, d. MMMM y",
"longDate": "d. MMMM y",
"medium": "dd.MM.yyyy HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20ac",
"DECIMAL_SEP": ",",
"GROUP_SEP": ".",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "de-lu",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_de.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_de.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_de.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "vorm.",
- "1": "nachm."
- },
- "DAY": {
- "0": "Sonntag",
- "1": "Montag",
- "2": "Dienstag",
- "3": "Mittwoch",
- "4": "Donnerstag",
- "5": "Freitag",
- "6": "Samstag"
- },
- "MONTH": {
- "0": "Januar",
- "1": "Februar",
- "2": "M\u00e4rz",
- "3": "April",
- "4": "Mai",
- "5": "Juni",
- "6": "Juli",
- "7": "August",
- "8": "September",
- "9": "Oktober",
- "10": "November",
- "11": "Dezember"
- },
- "SHORTDAY": {
- "0": "So.",
- "1": "Mo.",
- "2": "Di.",
- "3": "Mi.",
- "4": "Do.",
- "5": "Fr.",
- "6": "Sa."
- },
- "SHORTMONTH": {
- "0": "Jan",
- "1": "Feb",
- "2": "M\u00e4r",
- "3": "Apr",
- "4": "Mai",
- "5": "Jun",
- "6": "Jul",
- "7": "Aug",
- "8": "Sep",
- "9": "Okt",
- "10": "Nov",
- "11": "Dez"
- },
+ "AMPMS": [
+ "vorm.",
+ "nachm."
+ ],
+ "DAY": [
+ "Sonntag",
+ "Montag",
+ "Dienstag",
+ "Mittwoch",
+ "Donnerstag",
+ "Freitag",
+ "Samstag"
+ ],
+ "MONTH": [
+ "Januar",
+ "Februar",
+ "M\u00e4rz",
+ "April",
+ "Mai",
+ "Juni",
+ "Juli",
+ "August",
+ "September",
+ "Oktober",
+ "November",
+ "Dezember"
+ ],
+ "SHORTDAY": [
+ "So.",
+ "Mo.",
+ "Di.",
+ "Mi.",
+ "Do.",
+ "Fr.",
+ "Sa."
+ ],
+ "SHORTMONTH": [
+ "Jan",
+ "Feb",
+ "M\u00e4r",
+ "Apr",
+ "Mai",
+ "Jun",
+ "Jul",
+ "Aug",
+ "Sep",
+ "Okt",
+ "Nov",
+ "Dez"
+ ],
"fullDate": "EEEE, d. MMMM y",
"longDate": "d. MMMM y",
"medium": "dd.MM.yyyy HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20ac",
"DECIMAL_SEP": ",",
"GROUP_SEP": ".",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "de",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_el-cy.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_el-cy.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_el-cy.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "\u03c0.\u03bc.",
- "1": "\u03bc.\u03bc."
- },
- "DAY": {
- "0": "\u039a\u03c5\u03c1\u03b9\u03b1\u03ba\u03ae",
- "1": "\u0394\u03b5\u03c5\u03c4\u03ad\u03c1\u03b1",
- "2": "\u03a4\u03c1\u03af\u03c4\u03b7",
- "3": "\u03a4\u03b5\u03c4\u03ac\u03c1\u03c4\u03b7",
- "4": "\u03a0\u03ad\u03bc\u03c0\u03c4\u03b7",
- "5": "\u03a0\u03b1\u03c1\u03b1\u03c3\u03ba\u03b5\u03c5\u03ae",
- "6": "\u03a3\u03ac\u03b2\u03b2\u03b1\u03c4\u03bf"
- },
- "MONTH": {
- "0": "\u0399\u03b1\u03bd\u03bf\u03c5\u03b1\u03c1\u03af\u03bf\u03c5",
- "1": "\u03a6\u03b5\u03b2\u03c1\u03bf\u03c5\u03b1\u03c1\u03af\u03bf\u03c5",
- "2": "\u039c\u03b1\u03c1\u03c4\u03af\u03bf\u03c5",
- "3": "\u0391\u03c0\u03c1\u03b9\u03bb\u03af\u03bf\u03c5",
- "4": "\u039c\u03b1\u0390\u03bf\u03c5",
- "5": "\u0399\u03bf\u03c5\u03bd\u03af\u03bf\u03c5",
- "6": "\u0399\u03bf\u03c5\u03bb\u03af\u03bf\u03c5",
- "7": "\u0391\u03c5\u03b3\u03bf\u03cd\u03c3\u03c4\u03bf\u03c5",
- "8": "\u03a3\u03b5\u03c0\u03c4\u03b5\u03bc\u03b2\u03c1\u03af\u03bf\u03c5",
- "9": "\u039f\u03ba\u03c4\u03c9\u03b2\u03c1\u03af\u03bf\u03c5",
- "10": "\u039d\u03bf\u03b5\u03bc\u03b2\u03c1\u03af\u03bf\u03c5",
- "11": "\u0394\u03b5\u03ba\u03b5\u03bc\u03b2\u03c1\u03af\u03bf\u03c5"
- },
- "SHORTDAY": {
- "0": "\u039a\u03c5\u03c1",
- "1": "\u0394\u03b5\u03c5",
- "2": "\u03a4\u03c1\u03b9",
- "3": "\u03a4\u03b5\u03c4",
- "4": "\u03a0\u03b5\u03bc",
- "5": "\u03a0\u03b1\u03c1",
- "6": "\u03a3\u03b1\u03b2"
- },
- "SHORTMONTH": {
- "0": "\u0399\u03b1\u03bd",
- "1": "\u03a6\u03b5\u03b2",
- "2": "\u039c\u03b1\u03c1",
- "3": "\u0391\u03c0\u03c1",
- "4": "\u039c\u03b1\u03ca",
- "5": "\u0399\u03bf\u03c5\u03bd",
- "6": "\u0399\u03bf\u03c5\u03bb",
- "7": "\u0391\u03c5\u03b3",
- "8": "\u03a3\u03b5\u03c0",
- "9": "\u039f\u03ba\u03c4",
- "10": "\u039d\u03bf\u03b5",
- "11": "\u0394\u03b5\u03ba"
- },
+ "AMPMS": [
+ "\u03c0.\u03bc.",
+ "\u03bc.\u03bc."
+ ],
+ "DAY": [
+ "\u039a\u03c5\u03c1\u03b9\u03b1\u03ba\u03ae",
+ "\u0394\u03b5\u03c5\u03c4\u03ad\u03c1\u03b1",
+ "\u03a4\u03c1\u03af\u03c4\u03b7",
+ "\u03a4\u03b5\u03c4\u03ac\u03c1\u03c4\u03b7",
+ "\u03a0\u03ad\u03bc\u03c0\u03c4\u03b7",
+ "\u03a0\u03b1\u03c1\u03b1\u03c3\u03ba\u03b5\u03c5\u03ae",
+ "\u03a3\u03ac\u03b2\u03b2\u03b1\u03c4\u03bf"
+ ],
+ "MONTH": [
+ "\u0399\u03b1\u03bd\u03bf\u03c5\u03b1\u03c1\u03af\u03bf\u03c5",
+ "\u03a6\u03b5\u03b2\u03c1\u03bf\u03c5\u03b1\u03c1\u03af\u03bf\u03c5",
+ "\u039c\u03b1\u03c1\u03c4\u03af\u03bf\u03c5",
+ "\u0391\u03c0\u03c1\u03b9\u03bb\u03af\u03bf\u03c5",
+ "\u039c\u03b1\u0390\u03bf\u03c5",
+ "\u0399\u03bf\u03c5\u03bd\u03af\u03bf\u03c5",
+ "\u0399\u03bf\u03c5\u03bb\u03af\u03bf\u03c5",
+ "\u0391\u03c5\u03b3\u03bf\u03cd\u03c3\u03c4\u03bf\u03c5",
+ "\u03a3\u03b5\u03c0\u03c4\u03b5\u03bc\u03b2\u03c1\u03af\u03bf\u03c5",
+ "\u039f\u03ba\u03c4\u03c9\u03b2\u03c1\u03af\u03bf\u03c5",
+ "\u039d\u03bf\u03b5\u03bc\u03b2\u03c1\u03af\u03bf\u03c5",
+ "\u0394\u03b5\u03ba\u03b5\u03bc\u03b2\u03c1\u03af\u03bf\u03c5"
+ ],
+ "SHORTDAY": [
+ "\u039a\u03c5\u03c1",
+ "\u0394\u03b5\u03c5",
+ "\u03a4\u03c1\u03b9",
+ "\u03a4\u03b5\u03c4",
+ "\u03a0\u03b5\u03bc",
+ "\u03a0\u03b1\u03c1",
+ "\u03a3\u03b1\u03b2"
+ ],
+ "SHORTMONTH": [
+ "\u0399\u03b1\u03bd",
+ "\u03a6\u03b5\u03b2",
+ "\u039c\u03b1\u03c1",
+ "\u0391\u03c0\u03c1",
+ "\u039c\u03b1\u03ca",
+ "\u0399\u03bf\u03c5\u03bd",
+ "\u0399\u03bf\u03c5\u03bb",
+ "\u0391\u03c5\u03b3",
+ "\u03a3\u03b5\u03c0",
+ "\u039f\u03ba\u03c4",
+ "\u039d\u03bf\u03b5",
+ "\u0394\u03b5\u03ba"
+ ],
"fullDate": "EEEE, d MMMM y",
"longDate": "d MMMM y",
"medium": "d MMM y h:mm:ss a",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20ac",
"DECIMAL_SEP": ",",
"GROUP_SEP": ".",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "el-cy",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_el-gr.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_el-gr.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_el-gr.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "\u03c0.\u03bc.",
- "1": "\u03bc.\u03bc."
- },
- "DAY": {
- "0": "\u039a\u03c5\u03c1\u03b9\u03b1\u03ba\u03ae",
- "1": "\u0394\u03b5\u03c5\u03c4\u03ad\u03c1\u03b1",
- "2": "\u03a4\u03c1\u03af\u03c4\u03b7",
- "3": "\u03a4\u03b5\u03c4\u03ac\u03c1\u03c4\u03b7",
- "4": "\u03a0\u03ad\u03bc\u03c0\u03c4\u03b7",
- "5": "\u03a0\u03b1\u03c1\u03b1\u03c3\u03ba\u03b5\u03c5\u03ae",
- "6": "\u03a3\u03ac\u03b2\u03b2\u03b1\u03c4\u03bf"
- },
- "MONTH": {
- "0": "\u0399\u03b1\u03bd\u03bf\u03c5\u03b1\u03c1\u03af\u03bf\u03c5",
- "1": "\u03a6\u03b5\u03b2\u03c1\u03bf\u03c5\u03b1\u03c1\u03af\u03bf\u03c5",
- "2": "\u039c\u03b1\u03c1\u03c4\u03af\u03bf\u03c5",
- "3": "\u0391\u03c0\u03c1\u03b9\u03bb\u03af\u03bf\u03c5",
- "4": "\u039c\u03b1\u0390\u03bf\u03c5",
- "5": "\u0399\u03bf\u03c5\u03bd\u03af\u03bf\u03c5",
- "6": "\u0399\u03bf\u03c5\u03bb\u03af\u03bf\u03c5",
- "7": "\u0391\u03c5\u03b3\u03bf\u03cd\u03c3\u03c4\u03bf\u03c5",
- "8": "\u03a3\u03b5\u03c0\u03c4\u03b5\u03bc\u03b2\u03c1\u03af\u03bf\u03c5",
- "9": "\u039f\u03ba\u03c4\u03c9\u03b2\u03c1\u03af\u03bf\u03c5",
- "10": "\u039d\u03bf\u03b5\u03bc\u03b2\u03c1\u03af\u03bf\u03c5",
- "11": "\u0394\u03b5\u03ba\u03b5\u03bc\u03b2\u03c1\u03af\u03bf\u03c5"
- },
- "SHORTDAY": {
- "0": "\u039a\u03c5\u03c1",
- "1": "\u0394\u03b5\u03c5",
- "2": "\u03a4\u03c1\u03b9",
- "3": "\u03a4\u03b5\u03c4",
- "4": "\u03a0\u03b5\u03bc",
- "5": "\u03a0\u03b1\u03c1",
- "6": "\u03a3\u03b1\u03b2"
- },
- "SHORTMONTH": {
- "0": "\u0399\u03b1\u03bd",
- "1": "\u03a6\u03b5\u03b2",
- "2": "\u039c\u03b1\u03c1",
- "3": "\u0391\u03c0\u03c1",
- "4": "\u039c\u03b1\u03ca",
- "5": "\u0399\u03bf\u03c5\u03bd",
- "6": "\u0399\u03bf\u03c5\u03bb",
- "7": "\u0391\u03c5\u03b3",
- "8": "\u03a3\u03b5\u03c0",
- "9": "\u039f\u03ba\u03c4",
- "10": "\u039d\u03bf\u03b5",
- "11": "\u0394\u03b5\u03ba"
- },
+ "AMPMS": [
+ "\u03c0.\u03bc.",
+ "\u03bc.\u03bc."
+ ],
+ "DAY": [
+ "\u039a\u03c5\u03c1\u03b9\u03b1\u03ba\u03ae",
+ "\u0394\u03b5\u03c5\u03c4\u03ad\u03c1\u03b1",
+ "\u03a4\u03c1\u03af\u03c4\u03b7",
+ "\u03a4\u03b5\u03c4\u03ac\u03c1\u03c4\u03b7",
+ "\u03a0\u03ad\u03bc\u03c0\u03c4\u03b7",
+ "\u03a0\u03b1\u03c1\u03b1\u03c3\u03ba\u03b5\u03c5\u03ae",
+ "\u03a3\u03ac\u03b2\u03b2\u03b1\u03c4\u03bf"
+ ],
+ "MONTH": [
+ "\u0399\u03b1\u03bd\u03bf\u03c5\u03b1\u03c1\u03af\u03bf\u03c5",
+ "\u03a6\u03b5\u03b2\u03c1\u03bf\u03c5\u03b1\u03c1\u03af\u03bf\u03c5",
+ "\u039c\u03b1\u03c1\u03c4\u03af\u03bf\u03c5",
+ "\u0391\u03c0\u03c1\u03b9\u03bb\u03af\u03bf\u03c5",
+ "\u039c\u03b1\u0390\u03bf\u03c5",
+ "\u0399\u03bf\u03c5\u03bd\u03af\u03bf\u03c5",
+ "\u0399\u03bf\u03c5\u03bb\u03af\u03bf\u03c5",
+ "\u0391\u03c5\u03b3\u03bf\u03cd\u03c3\u03c4\u03bf\u03c5",
+ "\u03a3\u03b5\u03c0\u03c4\u03b5\u03bc\u03b2\u03c1\u03af\u03bf\u03c5",
+ "\u039f\u03ba\u03c4\u03c9\u03b2\u03c1\u03af\u03bf\u03c5",
+ "\u039d\u03bf\u03b5\u03bc\u03b2\u03c1\u03af\u03bf\u03c5",
+ "\u0394\u03b5\u03ba\u03b5\u03bc\u03b2\u03c1\u03af\u03bf\u03c5"
+ ],
+ "SHORTDAY": [
+ "\u039a\u03c5\u03c1",
+ "\u0394\u03b5\u03c5",
+ "\u03a4\u03c1\u03b9",
+ "\u03a4\u03b5\u03c4",
+ "\u03a0\u03b5\u03bc",
+ "\u03a0\u03b1\u03c1",
+ "\u03a3\u03b1\u03b2"
+ ],
+ "SHORTMONTH": [
+ "\u0399\u03b1\u03bd",
+ "\u03a6\u03b5\u03b2",
+ "\u039c\u03b1\u03c1",
+ "\u0391\u03c0\u03c1",
+ "\u039c\u03b1\u03ca",
+ "\u0399\u03bf\u03c5\u03bd",
+ "\u0399\u03bf\u03c5\u03bb",
+ "\u0391\u03c5\u03b3",
+ "\u03a3\u03b5\u03c0",
+ "\u039f\u03ba\u03c4",
+ "\u039d\u03bf\u03b5",
+ "\u0394\u03b5\u03ba"
+ ],
"fullDate": "EEEE, d MMMM y",
"longDate": "d MMMM y",
"medium": "d MMM y h:mm:ss a",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20ac",
"DECIMAL_SEP": ",",
"GROUP_SEP": ".",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "el-gr",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_el.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_el.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_el.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "\u03c0.\u03bc.",
- "1": "\u03bc.\u03bc."
- },
- "DAY": {
- "0": "\u039a\u03c5\u03c1\u03b9\u03b1\u03ba\u03ae",
- "1": "\u0394\u03b5\u03c5\u03c4\u03ad\u03c1\u03b1",
- "2": "\u03a4\u03c1\u03af\u03c4\u03b7",
- "3": "\u03a4\u03b5\u03c4\u03ac\u03c1\u03c4\u03b7",
- "4": "\u03a0\u03ad\u03bc\u03c0\u03c4\u03b7",
- "5": "\u03a0\u03b1\u03c1\u03b1\u03c3\u03ba\u03b5\u03c5\u03ae",
- "6": "\u03a3\u03ac\u03b2\u03b2\u03b1\u03c4\u03bf"
- },
- "MONTH": {
- "0": "\u0399\u03b1\u03bd\u03bf\u03c5\u03b1\u03c1\u03af\u03bf\u03c5",
- "1": "\u03a6\u03b5\u03b2\u03c1\u03bf\u03c5\u03b1\u03c1\u03af\u03bf\u03c5",
- "2": "\u039c\u03b1\u03c1\u03c4\u03af\u03bf\u03c5",
- "3": "\u0391\u03c0\u03c1\u03b9\u03bb\u03af\u03bf\u03c5",
- "4": "\u039c\u03b1\u0390\u03bf\u03c5",
- "5": "\u0399\u03bf\u03c5\u03bd\u03af\u03bf\u03c5",
- "6": "\u0399\u03bf\u03c5\u03bb\u03af\u03bf\u03c5",
- "7": "\u0391\u03c5\u03b3\u03bf\u03cd\u03c3\u03c4\u03bf\u03c5",
- "8": "\u03a3\u03b5\u03c0\u03c4\u03b5\u03bc\u03b2\u03c1\u03af\u03bf\u03c5",
- "9": "\u039f\u03ba\u03c4\u03c9\u03b2\u03c1\u03af\u03bf\u03c5",
- "10": "\u039d\u03bf\u03b5\u03bc\u03b2\u03c1\u03af\u03bf\u03c5",
- "11": "\u0394\u03b5\u03ba\u03b5\u03bc\u03b2\u03c1\u03af\u03bf\u03c5"
- },
- "SHORTDAY": {
- "0": "\u039a\u03c5\u03c1",
- "1": "\u0394\u03b5\u03c5",
- "2": "\u03a4\u03c1\u03b9",
- "3": "\u03a4\u03b5\u03c4",
- "4": "\u03a0\u03b5\u03bc",
- "5": "\u03a0\u03b1\u03c1",
- "6": "\u03a3\u03b1\u03b2"
- },
- "SHORTMONTH": {
- "0": "\u0399\u03b1\u03bd",
- "1": "\u03a6\u03b5\u03b2",
- "2": "\u039c\u03b1\u03c1",
- "3": "\u0391\u03c0\u03c1",
- "4": "\u039c\u03b1\u03ca",
- "5": "\u0399\u03bf\u03c5\u03bd",
- "6": "\u0399\u03bf\u03c5\u03bb",
- "7": "\u0391\u03c5\u03b3",
- "8": "\u03a3\u03b5\u03c0",
- "9": "\u039f\u03ba\u03c4",
- "10": "\u039d\u03bf\u03b5",
- "11": "\u0394\u03b5\u03ba"
- },
+ "AMPMS": [
+ "\u03c0.\u03bc.",
+ "\u03bc.\u03bc."
+ ],
+ "DAY": [
+ "\u039a\u03c5\u03c1\u03b9\u03b1\u03ba\u03ae",
+ "\u0394\u03b5\u03c5\u03c4\u03ad\u03c1\u03b1",
+ "\u03a4\u03c1\u03af\u03c4\u03b7",
+ "\u03a4\u03b5\u03c4\u03ac\u03c1\u03c4\u03b7",
+ "\u03a0\u03ad\u03bc\u03c0\u03c4\u03b7",
+ "\u03a0\u03b1\u03c1\u03b1\u03c3\u03ba\u03b5\u03c5\u03ae",
+ "\u03a3\u03ac\u03b2\u03b2\u03b1\u03c4\u03bf"
+ ],
+ "MONTH": [
+ "\u0399\u03b1\u03bd\u03bf\u03c5\u03b1\u03c1\u03af\u03bf\u03c5",
+ "\u03a6\u03b5\u03b2\u03c1\u03bf\u03c5\u03b1\u03c1\u03af\u03bf\u03c5",
+ "\u039c\u03b1\u03c1\u03c4\u03af\u03bf\u03c5",
+ "\u0391\u03c0\u03c1\u03b9\u03bb\u03af\u03bf\u03c5",
+ "\u039c\u03b1\u0390\u03bf\u03c5",
+ "\u0399\u03bf\u03c5\u03bd\u03af\u03bf\u03c5",
+ "\u0399\u03bf\u03c5\u03bb\u03af\u03bf\u03c5",
+ "\u0391\u03c5\u03b3\u03bf\u03cd\u03c3\u03c4\u03bf\u03c5",
+ "\u03a3\u03b5\u03c0\u03c4\u03b5\u03bc\u03b2\u03c1\u03af\u03bf\u03c5",
+ "\u039f\u03ba\u03c4\u03c9\u03b2\u03c1\u03af\u03bf\u03c5",
+ "\u039d\u03bf\u03b5\u03bc\u03b2\u03c1\u03af\u03bf\u03c5",
+ "\u0394\u03b5\u03ba\u03b5\u03bc\u03b2\u03c1\u03af\u03bf\u03c5"
+ ],
+ "SHORTDAY": [
+ "\u039a\u03c5\u03c1",
+ "\u0394\u03b5\u03c5",
+ "\u03a4\u03c1\u03b9",
+ "\u03a4\u03b5\u03c4",
+ "\u03a0\u03b5\u03bc",
+ "\u03a0\u03b1\u03c1",
+ "\u03a3\u03b1\u03b2"
+ ],
+ "SHORTMONTH": [
+ "\u0399\u03b1\u03bd",
+ "\u03a6\u03b5\u03b2",
+ "\u039c\u03b1\u03c1",
+ "\u0391\u03c0\u03c1",
+ "\u039c\u03b1\u03ca",
+ "\u0399\u03bf\u03c5\u03bd",
+ "\u0399\u03bf\u03c5\u03bb",
+ "\u0391\u03c5\u03b3",
+ "\u03a3\u03b5\u03c0",
+ "\u039f\u03ba\u03c4",
+ "\u039d\u03bf\u03b5",
+ "\u0394\u03b5\u03ba"
+ ],
"fullDate": "EEEE, d MMMM y",
"longDate": "d MMMM y",
"medium": "d MMM y h:mm:ss a",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20ac",
"DECIMAL_SEP": ",",
"GROUP_SEP": ".",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "el",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-as.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-as.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-as.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "AM",
- "1": "PM"
- },
- "DAY": {
- "0": "Sunday",
- "1": "Monday",
- "2": "Tuesday",
- "3": "Wednesday",
- "4": "Thursday",
- "5": "Friday",
- "6": "Saturday"
- },
- "MONTH": {
- "0": "January",
- "1": "February",
- "2": "March",
- "3": "April",
- "4": "May",
- "5": "June",
- "6": "July",
- "7": "August",
- "8": "September",
- "9": "October",
- "10": "November",
- "11": "December"
- },
- "SHORTDAY": {
- "0": "Sun",
- "1": "Mon",
- "2": "Tue",
- "3": "Wed",
- "4": "Thu",
- "5": "Fri",
- "6": "Sat"
- },
- "SHORTMONTH": {
- "0": "Jan",
- "1": "Feb",
- "2": "Mar",
- "3": "Apr",
- "4": "May",
- "5": "Jun",
- "6": "Jul",
- "7": "Aug",
- "8": "Sep",
- "9": "Oct",
- "10": "Nov",
- "11": "Dec"
- },
+ "AMPMS": [
+ "AM",
+ "PM"
+ ],
+ "DAY": [
+ "Sunday",
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday",
+ "Saturday"
+ ],
+ "MONTH": [
+ "January",
+ "February",
+ "March",
+ "April",
+ "May",
+ "June",
+ "July",
+ "August",
+ "September",
+ "October",
+ "November",
+ "December"
+ ],
+ "SHORTDAY": [
+ "Sun",
+ "Mon",
+ "Tue",
+ "Wed",
+ "Thu",
+ "Fri",
+ "Sat"
+ ],
+ "SHORTMONTH": [
+ "Jan",
+ "Feb",
+ "Mar",
+ "Apr",
+ "May",
+ "Jun",
+ "Jul",
+ "Aug",
+ "Sep",
+ "Oct",
+ "Nov",
+ "Dec"
+ ],
"fullDate": "EEEE, MMMM d, y",
"longDate": "MMMM d, y",
"medium": "MMM d, y h:mm:ss a",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "$",
"DECIMAL_SEP": ".",
"GROUP_SEP": ",",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4",
"posSuf": ""
}
- }
+ ]
},
"id": "en-as",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-au.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-au.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-au.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "AM",
- "1": "PM"
- },
- "DAY": {
- "0": "Sunday",
- "1": "Monday",
- "2": "Tuesday",
- "3": "Wednesday",
- "4": "Thursday",
- "5": "Friday",
- "6": "Saturday"
- },
- "MONTH": {
- "0": "January",
- "1": "February",
- "2": "March",
- "3": "April",
- "4": "May",
- "5": "June",
- "6": "July",
- "7": "August",
- "8": "September",
- "9": "October",
- "10": "November",
- "11": "December"
- },
- "SHORTDAY": {
- "0": "Sun",
- "1": "Mon",
- "2": "Tue",
- "3": "Wed",
- "4": "Thu",
- "5": "Fri",
- "6": "Sat"
- },
- "SHORTMONTH": {
- "0": "Jan",
- "1": "Feb",
- "2": "Mar",
- "3": "Apr",
- "4": "May",
- "5": "Jun",
- "6": "Jul",
- "7": "Aug",
- "8": "Sep",
- "9": "Oct",
- "10": "Nov",
- "11": "Dec"
- },
+ "AMPMS": [
+ "AM",
+ "PM"
+ ],
+ "DAY": [
+ "Sunday",
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday",
+ "Saturday"
+ ],
+ "MONTH": [
+ "January",
+ "February",
+ "March",
+ "April",
+ "May",
+ "June",
+ "July",
+ "August",
+ "September",
+ "October",
+ "November",
+ "December"
+ ],
+ "SHORTDAY": [
+ "Sun",
+ "Mon",
+ "Tue",
+ "Wed",
+ "Thu",
+ "Fri",
+ "Sat"
+ ],
+ "SHORTMONTH": [
+ "Jan",
+ "Feb",
+ "Mar",
+ "Apr",
+ "May",
+ "Jun",
+ "Jul",
+ "Aug",
+ "Sep",
+ "Oct",
+ "Nov",
+ "Dec"
+ ],
"fullDate": "EEEE, d MMMM y",
"longDate": "d MMMM y",
"medium": "dd/MM/yyyy h:mm:ss a",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "$",
"DECIMAL_SEP": ".",
"GROUP_SEP": ",",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4",
"posSuf": ""
}
- }
+ ]
},
"id": "en-au",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-bb.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-bb.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-bb.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "AM",
- "1": "PM"
- },
- "DAY": {
- "0": "Sunday",
- "1": "Monday",
- "2": "Tuesday",
- "3": "Wednesday",
- "4": "Thursday",
- "5": "Friday",
- "6": "Saturday"
- },
- "MONTH": {
- "0": "January",
- "1": "February",
- "2": "March",
- "3": "April",
- "4": "May",
- "5": "June",
- "6": "July",
- "7": "August",
- "8": "September",
- "9": "October",
- "10": "November",
- "11": "December"
- },
- "SHORTDAY": {
- "0": "Sun",
- "1": "Mon",
- "2": "Tue",
- "3": "Wed",
- "4": "Thu",
- "5": "Fri",
- "6": "Sat"
- },
- "SHORTMONTH": {
- "0": "Jan",
- "1": "Feb",
- "2": "Mar",
- "3": "Apr",
- "4": "May",
- "5": "Jun",
- "6": "Jul",
- "7": "Aug",
- "8": "Sep",
- "9": "Oct",
- "10": "Nov",
- "11": "Dec"
- },
+ "AMPMS": [
+ "AM",
+ "PM"
+ ],
+ "DAY": [
+ "Sunday",
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday",
+ "Saturday"
+ ],
+ "MONTH": [
+ "January",
+ "February",
+ "March",
+ "April",
+ "May",
+ "June",
+ "July",
+ "August",
+ "September",
+ "October",
+ "November",
+ "December"
+ ],
+ "SHORTDAY": [
+ "Sun",
+ "Mon",
+ "Tue",
+ "Wed",
+ "Thu",
+ "Fri",
+ "Sat"
+ ],
+ "SHORTMONTH": [
+ "Jan",
+ "Feb",
+ "Mar",
+ "Apr",
+ "May",
+ "Jun",
+ "Jul",
+ "Aug",
+ "Sep",
+ "Oct",
+ "Nov",
+ "Dec"
+ ],
"fullDate": "EEEE, MMMM d, y",
"longDate": "MMMM d, y",
"medium": "MMM d, y h:mm:ss a",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "$",
"DECIMAL_SEP": ".",
"GROUP_SEP": ",",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4",
"posSuf": ""
}
- }
+ ]
},
"id": "en-bb",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-be.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-be.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-be.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "AM",
- "1": "PM"
- },
- "DAY": {
- "0": "Sunday",
- "1": "Monday",
- "2": "Tuesday",
- "3": "Wednesday",
- "4": "Thursday",
- "5": "Friday",
- "6": "Saturday"
- },
- "MONTH": {
- "0": "January",
- "1": "February",
- "2": "March",
- "3": "April",
- "4": "May",
- "5": "June",
- "6": "July",
- "7": "August",
- "8": "September",
- "9": "October",
- "10": "November",
- "11": "December"
- },
- "SHORTDAY": {
- "0": "Sun",
- "1": "Mon",
- "2": "Tue",
- "3": "Wed",
- "4": "Thu",
- "5": "Fri",
- "6": "Sat"
- },
- "SHORTMONTH": {
- "0": "Jan",
- "1": "Feb",
- "2": "Mar",
- "3": "Apr",
- "4": "May",
- "5": "Jun",
- "6": "Jul",
- "7": "Aug",
- "8": "Sep",
- "9": "Oct",
- "10": "Nov",
- "11": "Dec"
- },
+ "AMPMS": [
+ "AM",
+ "PM"
+ ],
+ "DAY": [
+ "Sunday",
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday",
+ "Saturday"
+ ],
+ "MONTH": [
+ "January",
+ "February",
+ "March",
+ "April",
+ "May",
+ "June",
+ "July",
+ "August",
+ "September",
+ "October",
+ "November",
+ "December"
+ ],
+ "SHORTDAY": [
+ "Sun",
+ "Mon",
+ "Tue",
+ "Wed",
+ "Thu",
+ "Fri",
+ "Sat"
+ ],
+ "SHORTMONTH": [
+ "Jan",
+ "Feb",
+ "Mar",
+ "Apr",
+ "May",
+ "Jun",
+ "Jul",
+ "Aug",
+ "Sep",
+ "Oct",
+ "Nov",
+ "Dec"
+ ],
"fullDate": "EEEE d MMMM y",
"longDate": "d MMM y",
"medium": "dd MMM y HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "$",
"DECIMAL_SEP": ".",
"GROUP_SEP": ",",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4",
"posSuf": ""
}
- }
+ ]
},
"id": "en-be",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-bm.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-bm.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-bm.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "AM",
- "1": "PM"
- },
- "DAY": {
- "0": "Sunday",
- "1": "Monday",
- "2": "Tuesday",
- "3": "Wednesday",
- "4": "Thursday",
- "5": "Friday",
- "6": "Saturday"
- },
- "MONTH": {
- "0": "January",
- "1": "February",
- "2": "March",
- "3": "April",
- "4": "May",
- "5": "June",
- "6": "July",
- "7": "August",
- "8": "September",
- "9": "October",
- "10": "November",
- "11": "December"
- },
- "SHORTDAY": {
- "0": "Sun",
- "1": "Mon",
- "2": "Tue",
- "3": "Wed",
- "4": "Thu",
- "5": "Fri",
- "6": "Sat"
- },
- "SHORTMONTH": {
- "0": "Jan",
- "1": "Feb",
- "2": "Mar",
- "3": "Apr",
- "4": "May",
- "5": "Jun",
- "6": "Jul",
- "7": "Aug",
- "8": "Sep",
- "9": "Oct",
- "10": "Nov",
- "11": "Dec"
- },
+ "AMPMS": [
+ "AM",
+ "PM"
+ ],
+ "DAY": [
+ "Sunday",
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday",
+ "Saturday"
+ ],
+ "MONTH": [
+ "January",
+ "February",
+ "March",
+ "April",
+ "May",
+ "June",
+ "July",
+ "August",
+ "September",
+ "October",
+ "November",
+ "December"
+ ],
+ "SHORTDAY": [
+ "Sun",
+ "Mon",
+ "Tue",
+ "Wed",
+ "Thu",
+ "Fri",
+ "Sat"
+ ],
+ "SHORTMONTH": [
+ "Jan",
+ "Feb",
+ "Mar",
+ "Apr",
+ "May",
+ "Jun",
+ "Jul",
+ "Aug",
+ "Sep",
+ "Oct",
+ "Nov",
+ "Dec"
+ ],
"fullDate": "EEEE, MMMM d, y",
"longDate": "MMMM d, y",
"medium": "MMM d, y h:mm:ss a",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "$",
"DECIMAL_SEP": ".",
"GROUP_SEP": ",",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4",
"posSuf": ""
}
- }
+ ]
},
"id": "en-bm",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-bw.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-bw.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-bw.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "AM",
- "1": "PM"
- },
- "DAY": {
- "0": "Sunday",
- "1": "Monday",
- "2": "Tuesday",
- "3": "Wednesday",
- "4": "Thursday",
- "5": "Friday",
- "6": "Saturday"
- },
- "MONTH": {
- "0": "January",
- "1": "February",
- "2": "March",
- "3": "April",
- "4": "May",
- "5": "June",
- "6": "July",
- "7": "August",
- "8": "September",
- "9": "October",
- "10": "November",
- "11": "December"
- },
- "SHORTDAY": {
- "0": "Sun",
- "1": "Mon",
- "2": "Tue",
- "3": "Wed",
- "4": "Thu",
- "5": "Fri",
- "6": "Sat"
- },
- "SHORTMONTH": {
- "0": "Jan",
- "1": "Feb",
- "2": "Mar",
- "3": "Apr",
- "4": "May",
- "5": "Jun",
- "6": "Jul",
- "7": "Aug",
- "8": "Sep",
- "9": "Oct",
- "10": "Nov",
- "11": "Dec"
- },
+ "AMPMS": [
+ "AM",
+ "PM"
+ ],
+ "DAY": [
+ "Sunday",
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday",
+ "Saturday"
+ ],
+ "MONTH": [
+ "January",
+ "February",
+ "March",
+ "April",
+ "May",
+ "June",
+ "July",
+ "August",
+ "September",
+ "October",
+ "November",
+ "December"
+ ],
+ "SHORTDAY": [
+ "Sun",
+ "Mon",
+ "Tue",
+ "Wed",
+ "Thu",
+ "Fri",
+ "Sat"
+ ],
+ "SHORTMONTH": [
+ "Jan",
+ "Feb",
+ "Mar",
+ "Apr",
+ "May",
+ "Jun",
+ "Jul",
+ "Aug",
+ "Sep",
+ "Oct",
+ "Nov",
+ "Dec"
+ ],
"fullDate": "EEEE dd MMMM y",
"longDate": "dd MMMM y",
"medium": "MMM d, y h:mm:ss a",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "$",
"DECIMAL_SEP": ".",
"GROUP_SEP": ",",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4",
"posSuf": ""
}
- }
+ ]
},
"id": "en-bw",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-bz.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-bz.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-bz.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "AM",
- "1": "PM"
- },
- "DAY": {
- "0": "Sunday",
- "1": "Monday",
- "2": "Tuesday",
- "3": "Wednesday",
- "4": "Thursday",
- "5": "Friday",
- "6": "Saturday"
- },
- "MONTH": {
- "0": "January",
- "1": "February",
- "2": "March",
- "3": "April",
- "4": "May",
- "5": "June",
- "6": "July",
- "7": "August",
- "8": "September",
- "9": "October",
- "10": "November",
- "11": "December"
- },
- "SHORTDAY": {
- "0": "Sun",
- "1": "Mon",
- "2": "Tue",
- "3": "Wed",
- "4": "Thu",
- "5": "Fri",
- "6": "Sat"
- },
- "SHORTMONTH": {
- "0": "Jan",
- "1": "Feb",
- "2": "Mar",
- "3": "Apr",
- "4": "May",
- "5": "Jun",
- "6": "Jul",
- "7": "Aug",
- "8": "Sep",
- "9": "Oct",
- "10": "Nov",
- "11": "Dec"
- },
+ "AMPMS": [
+ "AM",
+ "PM"
+ ],
+ "DAY": [
+ "Sunday",
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday",
+ "Saturday"
+ ],
+ "MONTH": [
+ "January",
+ "February",
+ "March",
+ "April",
+ "May",
+ "June",
+ "July",
+ "August",
+ "September",
+ "October",
+ "November",
+ "December"
+ ],
+ "SHORTDAY": [
+ "Sun",
+ "Mon",
+ "Tue",
+ "Wed",
+ "Thu",
+ "Fri",
+ "Sat"
+ ],
+ "SHORTMONTH": [
+ "Jan",
+ "Feb",
+ "Mar",
+ "Apr",
+ "May",
+ "Jun",
+ "Jul",
+ "Aug",
+ "Sep",
+ "Oct",
+ "Nov",
+ "Dec"
+ ],
"fullDate": "dd MMMM y",
"longDate": "dd MMMM y",
"medium": "dd-MMM-y HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "$",
"DECIMAL_SEP": ".",
"GROUP_SEP": ",",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4",
"posSuf": ""
}
- }
+ ]
},
"id": "en-bz",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-ca.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-ca.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-ca.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "AM",
- "1": "PM"
- },
- "DAY": {
- "0": "Sunday",
- "1": "Monday",
- "2": "Tuesday",
- "3": "Wednesday",
- "4": "Thursday",
- "5": "Friday",
- "6": "Saturday"
- },
- "MONTH": {
- "0": "January",
- "1": "February",
- "2": "March",
- "3": "April",
- "4": "May",
- "5": "June",
- "6": "July",
- "7": "August",
- "8": "September",
- "9": "October",
- "10": "November",
- "11": "December"
- },
- "SHORTDAY": {
- "0": "Sun",
- "1": "Mon",
- "2": "Tue",
- "3": "Wed",
- "4": "Thu",
- "5": "Fri",
- "6": "Sat"
- },
- "SHORTMONTH": {
- "0": "Jan",
- "1": "Feb",
- "2": "Mar",
- "3": "Apr",
- "4": "May",
- "5": "Jun",
- "6": "Jul",
- "7": "Aug",
- "8": "Sep",
- "9": "Oct",
- "10": "Nov",
- "11": "Dec"
- },
+ "AMPMS": [
+ "AM",
+ "PM"
+ ],
+ "DAY": [
+ "Sunday",
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday",
+ "Saturday"
+ ],
+ "MONTH": [
+ "January",
+ "February",
+ "March",
+ "April",
+ "May",
+ "June",
+ "July",
+ "August",
+ "September",
+ "October",
+ "November",
+ "December"
+ ],
+ "SHORTDAY": [
+ "Sun",
+ "Mon",
+ "Tue",
+ "Wed",
+ "Thu",
+ "Fri",
+ "Sat"
+ ],
+ "SHORTMONTH": [
+ "Jan",
+ "Feb",
+ "Mar",
+ "Apr",
+ "May",
+ "Jun",
+ "Jul",
+ "Aug",
+ "Sep",
+ "Oct",
+ "Nov",
+ "Dec"
+ ],
"fullDate": "EEEE, d MMMM, y",
"longDate": "d MMMM, y",
"medium": "yyyy-MM-dd h:mm:ss a",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "$",
"DECIMAL_SEP": ".",
"GROUP_SEP": ",",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4",
"posSuf": ""
}
- }
+ ]
},
"id": "en-ca",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-dsrt-us.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-dsrt-us.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-dsrt-us.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "\ud801\udc08\ud801\udc23",
- "1": "\ud801\udc11\ud801\udc23"
- },
- "DAY": {
- "0": "\ud801\udc1d\ud801\udc32\ud801\udc4c\ud801\udc3c\ud801\udc29",
- "1": "\ud801\udc23\ud801\udc32\ud801\udc4c\ud801\udc3c\ud801\udc29",
- "2": "\ud801\udc13\ud801\udc2d\ud801\udc46\ud801\udc3c\ud801\udc29",
- "3": "\ud801\udc0e\ud801\udc2f\ud801\udc4c\ud801\udc46\ud801\udc3c\ud801\udc29",
- "4": "\ud801\udc1b\ud801\udc32\ud801\udc49\ud801\udc46\ud801\udc3c\ud801\udc29",
- "5": "\ud801\udc19\ud801\udc49\ud801\udc34\ud801\udc3c\ud801\udc29",
- "6": "\ud801\udc1d\ud801\udc30\ud801\udc3b\ud801\udc32\ud801\udc49\ud801\udc3c\ud801\udc29"
- },
- "MONTH": {
- "0": "\ud801\udc16\ud801\udc30\ud801\udc4c\ud801\udc37\ud801\udc2d\ud801\udc2f\ud801\udc49\ud801\udc28",
- "1": "\ud801\udc19\ud801\udc2f\ud801\udc3a\ud801\udc49\ud801\udc2d\ud801\udc2f\ud801\udc49\ud801\udc28",
- "2": "\ud801\udc23\ud801\udc2a\ud801\udc49\ud801\udc3d",
- "3": "\ud801\udc01\ud801\udc39\ud801\udc49\ud801\udc2e\ud801\udc4a",
- "4": "\ud801\udc23\ud801\udc29",
- "5": "\ud801\udc16\ud801\udc2d\ud801\udc4c",
- "6": "\ud801\udc16\ud801\udc2d\ud801\udc4a\ud801\udc34",
- "7": "\ud801\udc02\ud801\udc40\ud801\udc32\ud801\udc45\ud801\udc3b",
- "8": "\ud801\udc1d\ud801\udc2f\ud801\udc39\ud801\udc3b\ud801\udc2f\ud801\udc4b\ud801\udc3a\ud801\udc32\ud801\udc49",
- "9": "\ud801\udc09\ud801\udc3f\ud801\udc3b\ud801\udc2c\ud801\udc3a\ud801\udc32\ud801\udc49",
- "10": "\ud801\udc24\ud801\udc2c\ud801\udc42\ud801\udc2f\ud801\udc4b\ud801\udc3a\ud801\udc32\ud801\udc49",
- "11": "\ud801\udc14\ud801\udc28\ud801\udc45\ud801\udc2f\ud801\udc4b\ud801\udc3a\ud801\udc32\ud801\udc49"
- },
- "SHORTDAY": {
- "0": "\ud801\udc1d\ud801\udc32\ud801\udc4c",
- "1": "\ud801\udc23\ud801\udc32\ud801\udc4c",
- "2": "\ud801\udc13\ud801\udc2d\ud801\udc46",
- "3": "\ud801\udc0e\ud801\udc2f\ud801\udc4c",
- "4": "\ud801\udc1b\ud801\udc32\ud801\udc49",
- "5": "\ud801\udc19\ud801\udc49\ud801\udc34",
- "6": "\ud801\udc1d\ud801\udc30\ud801\udc3b"
- },
- "SHORTMONTH": {
- "0": "\ud801\udc16\ud801\udc30\ud801\udc4c",
- "1": "\ud801\udc19\ud801\udc2f\ud801\udc3a",
- "2": "\ud801\udc23\ud801\udc2a\ud801\udc49",
- "3": "\ud801\udc01\ud801\udc39\ud801\udc49",
- "4": "\ud801\udc23\ud801\udc29",
- "5": "\ud801\udc16\ud801\udc2d\ud801\udc4c",
- "6": "\ud801\udc16\ud801\udc2d\ud801\udc4a",
- "7": "\ud801\udc02\ud801\udc40",
- "8": "\ud801\udc1d\ud801\udc2f\ud801\udc39",
- "9": "\ud801\udc09\ud801\udc3f\ud801\udc3b",
- "10": "\ud801\udc24\ud801\udc2c\ud801\udc42",
- "11": "\ud801\udc14\ud801\udc28\ud801\udc45"
- },
+ "AMPMS": [
+ "\ud801\udc08\ud801\udc23",
+ "\ud801\udc11\ud801\udc23"
+ ],
+ "DAY": [
+ "\ud801\udc1d\ud801\udc32\ud801\udc4c\ud801\udc3c\ud801\udc29",
+ "\ud801\udc23\ud801\udc32\ud801\udc4c\ud801\udc3c\ud801\udc29",
+ "\ud801\udc13\ud801\udc2d\ud801\udc46\ud801\udc3c\ud801\udc29",
+ "\ud801\udc0e\ud801\udc2f\ud801\udc4c\ud801\udc46\ud801\udc3c\ud801\udc29",
+ "\ud801\udc1b\ud801\udc32\ud801\udc49\ud801\udc46\ud801\udc3c\ud801\udc29",
+ "\ud801\udc19\ud801\udc49\ud801\udc34\ud801\udc3c\ud801\udc29",
+ "\ud801\udc1d\ud801\udc30\ud801\udc3b\ud801\udc32\ud801\udc49\ud801\udc3c\ud801\udc29"
+ ],
+ "MONTH": [
+ "\ud801\udc16\ud801\udc30\ud801\udc4c\ud801\udc37\ud801\udc2d\ud801\udc2f\ud801\udc49\ud801\udc28",
+ "\ud801\udc19\ud801\udc2f\ud801\udc3a\ud801\udc49\ud801\udc2d\ud801\udc2f\ud801\udc49\ud801\udc28",
+ "\ud801\udc23\ud801\udc2a\ud801\udc49\ud801\udc3d",
+ "\ud801\udc01\ud801\udc39\ud801\udc49\ud801\udc2e\ud801\udc4a",
+ "\ud801\udc23\ud801\udc29",
+ "\ud801\udc16\ud801\udc2d\ud801\udc4c",
+ "\ud801\udc16\ud801\udc2d\ud801\udc4a\ud801\udc34",
+ "\ud801\udc02\ud801\udc40\ud801\udc32\ud801\udc45\ud801\udc3b",
+ "\ud801\udc1d\ud801\udc2f\ud801\udc39\ud801\udc3b\ud801\udc2f\ud801\udc4b\ud801\udc3a\ud801\udc32\ud801\udc49",
+ "\ud801\udc09\ud801\udc3f\ud801\udc3b\ud801\udc2c\ud801\udc3a\ud801\udc32\ud801\udc49",
+ "\ud801\udc24\ud801\udc2c\ud801\udc42\ud801\udc2f\ud801\udc4b\ud801\udc3a\ud801\udc32\ud801\udc49",
+ "\ud801\udc14\ud801\udc28\ud801\udc45\ud801\udc2f\ud801\udc4b\ud801\udc3a\ud801\udc32\ud801\udc49"
+ ],
+ "SHORTDAY": [
+ "\ud801\udc1d\ud801\udc32\ud801\udc4c",
+ "\ud801\udc23\ud801\udc32\ud801\udc4c",
+ "\ud801\udc13\ud801\udc2d\ud801\udc46",
+ "\ud801\udc0e\ud801\udc2f\ud801\udc4c",
+ "\ud801\udc1b\ud801\udc32\ud801\udc49",
+ "\ud801\udc19\ud801\udc49\ud801\udc34",
+ "\ud801\udc1d\ud801\udc30\ud801\udc3b"
+ ],
+ "SHORTMONTH": [
+ "\ud801\udc16\ud801\udc30\ud801\udc4c",
+ "\ud801\udc19\ud801\udc2f\ud801\udc3a",
+ "\ud801\udc23\ud801\udc2a\ud801\udc49",
+ "\ud801\udc01\ud801\udc39\ud801\udc49",
+ "\ud801\udc23\ud801\udc29",
+ "\ud801\udc16\ud801\udc2d\ud801\udc4c",
+ "\ud801\udc16\ud801\udc2d\ud801\udc4a",
+ "\ud801\udc02\ud801\udc40",
+ "\ud801\udc1d\ud801\udc2f\ud801\udc39",
+ "\ud801\udc09\ud801\udc3f\ud801\udc3b",
+ "\ud801\udc24\ud801\udc2c\ud801\udc42",
+ "\ud801\udc14\ud801\udc28\ud801\udc45"
+ ],
"fullDate": "EEEE, MMMM d, y",
"longDate": "MMMM d, y",
"medium": "MMM d, y h:mm:ss a",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "$",
"DECIMAL_SEP": ".",
"GROUP_SEP": ",",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4",
"posSuf": ""
}
- }
+ ]
},
"id": "en-dsrt-us",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-dsrt.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-dsrt.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-dsrt.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "\ud801\udc08\ud801\udc23",
- "1": "\ud801\udc11\ud801\udc23"
- },
- "DAY": {
- "0": "\ud801\udc1d\ud801\udc32\ud801\udc4c\ud801\udc3c\ud801\udc29",
- "1": "\ud801\udc23\ud801\udc32\ud801\udc4c\ud801\udc3c\ud801\udc29",
- "2": "\ud801\udc13\ud801\udc2d\ud801\udc46\ud801\udc3c\ud801\udc29",
- "3": "\ud801\udc0e\ud801\udc2f\ud801\udc4c\ud801\udc46\ud801\udc3c\ud801\udc29",
- "4": "\ud801\udc1b\ud801\udc32\ud801\udc49\ud801\udc46\ud801\udc3c\ud801\udc29",
- "5": "\ud801\udc19\ud801\udc49\ud801\udc34\ud801\udc3c\ud801\udc29",
- "6": "\ud801\udc1d\ud801\udc30\ud801\udc3b\ud801\udc32\ud801\udc49\ud801\udc3c\ud801\udc29"
- },
- "MONTH": {
- "0": "\ud801\udc16\ud801\udc30\ud801\udc4c\ud801\udc37\ud801\udc2d\ud801\udc2f\ud801\udc49\ud801\udc28",
- "1": "\ud801\udc19\ud801\udc2f\ud801\udc3a\ud801\udc49\ud801\udc2d\ud801\udc2f\ud801\udc49\ud801\udc28",
- "2": "\ud801\udc23\ud801\udc2a\ud801\udc49\ud801\udc3d",
- "3": "\ud801\udc01\ud801\udc39\ud801\udc49\ud801\udc2e\ud801\udc4a",
- "4": "\ud801\udc23\ud801\udc29",
- "5": "\ud801\udc16\ud801\udc2d\ud801\udc4c",
- "6": "\ud801\udc16\ud801\udc2d\ud801\udc4a\ud801\udc34",
- "7": "\ud801\udc02\ud801\udc40\ud801\udc32\ud801\udc45\ud801\udc3b",
- "8": "\ud801\udc1d\ud801\udc2f\ud801\udc39\ud801\udc3b\ud801\udc2f\ud801\udc4b\ud801\udc3a\ud801\udc32\ud801\udc49",
- "9": "\ud801\udc09\ud801\udc3f\ud801\udc3b\ud801\udc2c\ud801\udc3a\ud801\udc32\ud801\udc49",
- "10": "\ud801\udc24\ud801\udc2c\ud801\udc42\ud801\udc2f\ud801\udc4b\ud801\udc3a\ud801\udc32\ud801\udc49",
- "11": "\ud801\udc14\ud801\udc28\ud801\udc45\ud801\udc2f\ud801\udc4b\ud801\udc3a\ud801\udc32\ud801\udc49"
- },
- "SHORTDAY": {
- "0": "\ud801\udc1d\ud801\udc32\ud801\udc4c",
- "1": "\ud801\udc23\ud801\udc32\ud801\udc4c",
- "2": "\ud801\udc13\ud801\udc2d\ud801\udc46",
- "3": "\ud801\udc0e\ud801\udc2f\ud801\udc4c",
- "4": "\ud801\udc1b\ud801\udc32\ud801\udc49",
- "5": "\ud801\udc19\ud801\udc49\ud801\udc34",
- "6": "\ud801\udc1d\ud801\udc30\ud801\udc3b"
- },
- "SHORTMONTH": {
- "0": "\ud801\udc16\ud801\udc30\ud801\udc4c",
- "1": "\ud801\udc19\ud801\udc2f\ud801\udc3a",
- "2": "\ud801\udc23\ud801\udc2a\ud801\udc49",
- "3": "\ud801\udc01\ud801\udc39\ud801\udc49",
- "4": "\ud801\udc23\ud801\udc29",
- "5": "\ud801\udc16\ud801\udc2d\ud801\udc4c",
- "6": "\ud801\udc16\ud801\udc2d\ud801\udc4a",
- "7": "\ud801\udc02\ud801\udc40",
- "8": "\ud801\udc1d\ud801\udc2f\ud801\udc39",
- "9": "\ud801\udc09\ud801\udc3f\ud801\udc3b",
- "10": "\ud801\udc24\ud801\udc2c\ud801\udc42",
- "11": "\ud801\udc14\ud801\udc28\ud801\udc45"
- },
+ "AMPMS": [
+ "\ud801\udc08\ud801\udc23",
+ "\ud801\udc11\ud801\udc23"
+ ],
+ "DAY": [
+ "\ud801\udc1d\ud801\udc32\ud801\udc4c\ud801\udc3c\ud801\udc29",
+ "\ud801\udc23\ud801\udc32\ud801\udc4c\ud801\udc3c\ud801\udc29",
+ "\ud801\udc13\ud801\udc2d\ud801\udc46\ud801\udc3c\ud801\udc29",
+ "\ud801\udc0e\ud801\udc2f\ud801\udc4c\ud801\udc46\ud801\udc3c\ud801\udc29",
+ "\ud801\udc1b\ud801\udc32\ud801\udc49\ud801\udc46\ud801\udc3c\ud801\udc29",
+ "\ud801\udc19\ud801\udc49\ud801\udc34\ud801\udc3c\ud801\udc29",
+ "\ud801\udc1d\ud801\udc30\ud801\udc3b\ud801\udc32\ud801\udc49\ud801\udc3c\ud801\udc29"
+ ],
+ "MONTH": [
+ "\ud801\udc16\ud801\udc30\ud801\udc4c\ud801\udc37\ud801\udc2d\ud801\udc2f\ud801\udc49\ud801\udc28",
+ "\ud801\udc19\ud801\udc2f\ud801\udc3a\ud801\udc49\ud801\udc2d\ud801\udc2f\ud801\udc49\ud801\udc28",
+ "\ud801\udc23\ud801\udc2a\ud801\udc49\ud801\udc3d",
+ "\ud801\udc01\ud801\udc39\ud801\udc49\ud801\udc2e\ud801\udc4a",
+ "\ud801\udc23\ud801\udc29",
+ "\ud801\udc16\ud801\udc2d\ud801\udc4c",
+ "\ud801\udc16\ud801\udc2d\ud801\udc4a\ud801\udc34",
+ "\ud801\udc02\ud801\udc40\ud801\udc32\ud801\udc45\ud801\udc3b",
+ "\ud801\udc1d\ud801\udc2f\ud801\udc39\ud801\udc3b\ud801\udc2f\ud801\udc4b\ud801\udc3a\ud801\udc32\ud801\udc49",
+ "\ud801\udc09\ud801\udc3f\ud801\udc3b\ud801\udc2c\ud801\udc3a\ud801\udc32\ud801\udc49",
+ "\ud801\udc24\ud801\udc2c\ud801\udc42\ud801\udc2f\ud801\udc4b\ud801\udc3a\ud801\udc32\ud801\udc49",
+ "\ud801\udc14\ud801\udc28\ud801\udc45\ud801\udc2f\ud801\udc4b\ud801\udc3a\ud801\udc32\ud801\udc49"
+ ],
+ "SHORTDAY": [
+ "\ud801\udc1d\ud801\udc32\ud801\udc4c",
+ "\ud801\udc23\ud801\udc32\ud801\udc4c",
+ "\ud801\udc13\ud801\udc2d\ud801\udc46",
+ "\ud801\udc0e\ud801\udc2f\ud801\udc4c",
+ "\ud801\udc1b\ud801\udc32\ud801\udc49",
+ "\ud801\udc19\ud801\udc49\ud801\udc34",
+ "\ud801\udc1d\ud801\udc30\ud801\udc3b"
+ ],
+ "SHORTMONTH": [
+ "\ud801\udc16\ud801\udc30\ud801\udc4c",
+ "\ud801\udc19\ud801\udc2f\ud801\udc3a",
+ "\ud801\udc23\ud801\udc2a\ud801\udc49",
+ "\ud801\udc01\ud801\udc39\ud801\udc49",
+ "\ud801\udc23\ud801\udc29",
+ "\ud801\udc16\ud801\udc2d\ud801\udc4c",
+ "\ud801\udc16\ud801\udc2d\ud801\udc4a",
+ "\ud801\udc02\ud801\udc40",
+ "\ud801\udc1d\ud801\udc2f\ud801\udc39",
+ "\ud801\udc09\ud801\udc3f\ud801\udc3b",
+ "\ud801\udc24\ud801\udc2c\ud801\udc42",
+ "\ud801\udc14\ud801\udc28\ud801\udc45"
+ ],
"fullDate": "EEEE, MMMM d, y",
"longDate": "MMMM d, y",
"medium": "MMM d, y h:mm:ss a",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "$",
"DECIMAL_SEP": ".",
"GROUP_SEP": ",",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4",
"posSuf": ""
}
- }
+ ]
},
"id": "en-dsrt",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-fm.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-fm.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-fm.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "AM",
- "1": "PM"
- },
- "DAY": {
- "0": "Sunday",
- "1": "Monday",
- "2": "Tuesday",
- "3": "Wednesday",
- "4": "Thursday",
- "5": "Friday",
- "6": "Saturday"
- },
- "MONTH": {
- "0": "January",
- "1": "February",
- "2": "March",
- "3": "April",
- "4": "May",
- "5": "June",
- "6": "July",
- "7": "August",
- "8": "September",
- "9": "October",
- "10": "November",
- "11": "December"
- },
- "SHORTDAY": {
- "0": "Sun",
- "1": "Mon",
- "2": "Tue",
- "3": "Wed",
- "4": "Thu",
- "5": "Fri",
- "6": "Sat"
- },
- "SHORTMONTH": {
- "0": "Jan",
- "1": "Feb",
- "2": "Mar",
- "3": "Apr",
- "4": "May",
- "5": "Jun",
- "6": "Jul",
- "7": "Aug",
- "8": "Sep",
- "9": "Oct",
- "10": "Nov",
- "11": "Dec"
- },
+ "AMPMS": [
+ "AM",
+ "PM"
+ ],
+ "DAY": [
+ "Sunday",
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday",
+ "Saturday"
+ ],
+ "MONTH": [
+ "January",
+ "February",
+ "March",
+ "April",
+ "May",
+ "June",
+ "July",
+ "August",
+ "September",
+ "October",
+ "November",
+ "December"
+ ],
+ "SHORTDAY": [
+ "Sun",
+ "Mon",
+ "Tue",
+ "Wed",
+ "Thu",
+ "Fri",
+ "Sat"
+ ],
+ "SHORTMONTH": [
+ "Jan",
+ "Feb",
+ "Mar",
+ "Apr",
+ "May",
+ "Jun",
+ "Jul",
+ "Aug",
+ "Sep",
+ "Oct",
+ "Nov",
+ "Dec"
+ ],
"fullDate": "EEEE, MMMM d, y",
"longDate": "MMMM d, y",
"medium": "MMM d, y h:mm:ss a",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "$",
"DECIMAL_SEP": ".",
"GROUP_SEP": ",",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4",
"posSuf": ""
}
- }
+ ]
},
"id": "en-fm",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-gb.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-gb.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-gb.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "AM",
- "1": "PM"
- },
- "DAY": {
- "0": "Sunday",
- "1": "Monday",
- "2": "Tuesday",
- "3": "Wednesday",
- "4": "Thursday",
- "5": "Friday",
- "6": "Saturday"
- },
- "MONTH": {
- "0": "January",
- "1": "February",
- "2": "March",
- "3": "April",
- "4": "May",
- "5": "June",
- "6": "July",
- "7": "August",
- "8": "September",
- "9": "October",
- "10": "November",
- "11": "December"
- },
- "SHORTDAY": {
- "0": "Sun",
- "1": "Mon",
- "2": "Tue",
- "3": "Wed",
- "4": "Thu",
- "5": "Fri",
- "6": "Sat"
- },
- "SHORTMONTH": {
- "0": "Jan",
- "1": "Feb",
- "2": "Mar",
- "3": "Apr",
- "4": "May",
- "5": "Jun",
- "6": "Jul",
- "7": "Aug",
- "8": "Sep",
- "9": "Oct",
- "10": "Nov",
- "11": "Dec"
- },
+ "AMPMS": [
+ "AM",
+ "PM"
+ ],
+ "DAY": [
+ "Sunday",
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday",
+ "Saturday"
+ ],
+ "MONTH": [
+ "January",
+ "February",
+ "March",
+ "April",
+ "May",
+ "June",
+ "July",
+ "August",
+ "September",
+ "October",
+ "November",
+ "December"
+ ],
+ "SHORTDAY": [
+ "Sun",
+ "Mon",
+ "Tue",
+ "Wed",
+ "Thu",
+ "Fri",
+ "Sat"
+ ],
+ "SHORTMONTH": [
+ "Jan",
+ "Feb",
+ "Mar",
+ "Apr",
+ "May",
+ "Jun",
+ "Jul",
+ "Aug",
+ "Sep",
+ "Oct",
+ "Nov",
+ "Dec"
+ ],
"fullDate": "EEEE, d MMMM y",
"longDate": "d MMMM y",
"medium": "d MMM y HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u00a3",
"DECIMAL_SEP": ".",
"GROUP_SEP": ",",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4",
"posSuf": ""
}
- }
+ ]
},
"id": "en-gb",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-gu.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-gu.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-gu.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "AM",
- "1": "PM"
- },
- "DAY": {
- "0": "Sunday",
- "1": "Monday",
- "2": "Tuesday",
- "3": "Wednesday",
- "4": "Thursday",
- "5": "Friday",
- "6": "Saturday"
- },
- "MONTH": {
- "0": "January",
- "1": "February",
- "2": "March",
- "3": "April",
- "4": "May",
- "5": "June",
- "6": "July",
- "7": "August",
- "8": "September",
- "9": "October",
- "10": "November",
- "11": "December"
- },
- "SHORTDAY": {
- "0": "Sun",
- "1": "Mon",
- "2": "Tue",
- "3": "Wed",
- "4": "Thu",
- "5": "Fri",
- "6": "Sat"
- },
- "SHORTMONTH": {
- "0": "Jan",
- "1": "Feb",
- "2": "Mar",
- "3": "Apr",
- "4": "May",
- "5": "Jun",
- "6": "Jul",
- "7": "Aug",
- "8": "Sep",
- "9": "Oct",
- "10": "Nov",
- "11": "Dec"
- },
+ "AMPMS": [
+ "AM",
+ "PM"
+ ],
+ "DAY": [
+ "Sunday",
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday",
+ "Saturday"
+ ],
+ "MONTH": [
+ "January",
+ "February",
+ "March",
+ "April",
+ "May",
+ "June",
+ "July",
+ "August",
+ "September",
+ "October",
+ "November",
+ "December"
+ ],
+ "SHORTDAY": [
+ "Sun",
+ "Mon",
+ "Tue",
+ "Wed",
+ "Thu",
+ "Fri",
+ "Sat"
+ ],
+ "SHORTMONTH": [
+ "Jan",
+ "Feb",
+ "Mar",
+ "Apr",
+ "May",
+ "Jun",
+ "Jul",
+ "Aug",
+ "Sep",
+ "Oct",
+ "Nov",
+ "Dec"
+ ],
"fullDate": "EEEE, MMMM d, y",
"longDate": "MMMM d, y",
"medium": "MMM d, y h:mm:ss a",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "$",
"DECIMAL_SEP": ".",
"GROUP_SEP": ",",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4",
"posSuf": ""
}
- }
+ ]
},
"id": "en-gu",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-gy.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-gy.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-gy.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "AM",
- "1": "PM"
- },
- "DAY": {
- "0": "Sunday",
- "1": "Monday",
- "2": "Tuesday",
- "3": "Wednesday",
- "4": "Thursday",
- "5": "Friday",
- "6": "Saturday"
- },
- "MONTH": {
- "0": "January",
- "1": "February",
- "2": "March",
- "3": "April",
- "4": "May",
- "5": "June",
- "6": "July",
- "7": "August",
- "8": "September",
- "9": "October",
- "10": "November",
- "11": "December"
- },
- "SHORTDAY": {
- "0": "Sun",
- "1": "Mon",
- "2": "Tue",
- "3": "Wed",
- "4": "Thu",
- "5": "Fri",
- "6": "Sat"
- },
- "SHORTMONTH": {
- "0": "Jan",
- "1": "Feb",
- "2": "Mar",
- "3": "Apr",
- "4": "May",
- "5": "Jun",
- "6": "Jul",
- "7": "Aug",
- "8": "Sep",
- "9": "Oct",
- "10": "Nov",
- "11": "Dec"
- },
+ "AMPMS": [
+ "AM",
+ "PM"
+ ],
+ "DAY": [
+ "Sunday",
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday",
+ "Saturday"
+ ],
+ "MONTH": [
+ "January",
+ "February",
+ "March",
+ "April",
+ "May",
+ "June",
+ "July",
+ "August",
+ "September",
+ "October",
+ "November",
+ "December"
+ ],
+ "SHORTDAY": [
+ "Sun",
+ "Mon",
+ "Tue",
+ "Wed",
+ "Thu",
+ "Fri",
+ "Sat"
+ ],
+ "SHORTMONTH": [
+ "Jan",
+ "Feb",
+ "Mar",
+ "Apr",
+ "May",
+ "Jun",
+ "Jul",
+ "Aug",
+ "Sep",
+ "Oct",
+ "Nov",
+ "Dec"
+ ],
"fullDate": "EEEE, MMMM d, y",
"longDate": "MMMM d, y",
"medium": "MMM d, y h:mm:ss a",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "$",
"DECIMAL_SEP": ".",
"GROUP_SEP": ",",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4",
"posSuf": ""
}
- }
+ ]
},
"id": "en-gy",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-hk.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-hk.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-hk.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "AM",
- "1": "PM"
- },
- "DAY": {
- "0": "Sunday",
- "1": "Monday",
- "2": "Tuesday",
- "3": "Wednesday",
- "4": "Thursday",
- "5": "Friday",
- "6": "Saturday"
- },
- "MONTH": {
- "0": "January",
- "1": "February",
- "2": "March",
- "3": "April",
- "4": "May",
- "5": "June",
- "6": "July",
- "7": "August",
- "8": "September",
- "9": "October",
- "10": "November",
- "11": "December"
- },
- "SHORTDAY": {
- "0": "Sun",
- "1": "Mon",
- "2": "Tue",
- "3": "Wed",
- "4": "Thu",
- "5": "Fri",
- "6": "Sat"
- },
- "SHORTMONTH": {
- "0": "Jan",
- "1": "Feb",
- "2": "Mar",
- "3": "Apr",
- "4": "May",
- "5": "Jun",
- "6": "Jul",
- "7": "Aug",
- "8": "Sep",
- "9": "Oct",
- "10": "Nov",
- "11": "Dec"
- },
+ "AMPMS": [
+ "AM",
+ "PM"
+ ],
+ "DAY": [
+ "Sunday",
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday",
+ "Saturday"
+ ],
+ "MONTH": [
+ "January",
+ "February",
+ "March",
+ "April",
+ "May",
+ "June",
+ "July",
+ "August",
+ "September",
+ "October",
+ "November",
+ "December"
+ ],
+ "SHORTDAY": [
+ "Sun",
+ "Mon",
+ "Tue",
+ "Wed",
+ "Thu",
+ "Fri",
+ "Sat"
+ ],
+ "SHORTMONTH": [
+ "Jan",
+ "Feb",
+ "Mar",
+ "Apr",
+ "May",
+ "Jun",
+ "Jul",
+ "Aug",
+ "Sep",
+ "Oct",
+ "Nov",
+ "Dec"
+ ],
"fullDate": "EEEE, d MMMM, y",
"longDate": "d MMMM, y",
"medium": "d MMM, y h:mm:ss a",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "$",
"DECIMAL_SEP": ".",
"GROUP_SEP": ",",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4",
"posSuf": ""
}
- }
+ ]
},
"id": "en-hk",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-ie.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-ie.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-ie.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "a.m.",
- "1": "p.m."
- },
- "DAY": {
- "0": "Sunday",
- "1": "Monday",
- "2": "Tuesday",
- "3": "Wednesday",
- "4": "Thursday",
- "5": "Friday",
- "6": "Saturday"
- },
- "MONTH": {
- "0": "January",
- "1": "February",
- "2": "March",
- "3": "April",
- "4": "May",
- "5": "June",
- "6": "July",
- "7": "August",
- "8": "September",
- "9": "October",
- "10": "November",
- "11": "December"
- },
- "SHORTDAY": {
- "0": "Sun",
- "1": "Mon",
- "2": "Tue",
- "3": "Wed",
- "4": "Thu",
- "5": "Fri",
- "6": "Sat"
- },
- "SHORTMONTH": {
- "0": "Jan",
- "1": "Feb",
- "2": "Mar",
- "3": "Apr",
- "4": "May",
- "5": "Jun",
- "6": "Jul",
- "7": "Aug",
- "8": "Sep",
- "9": "Oct",
- "10": "Nov",
- "11": "Dec"
- },
+ "AMPMS": [
+ "a.m.",
+ "p.m."
+ ],
+ "DAY": [
+ "Sunday",
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday",
+ "Saturday"
+ ],
+ "MONTH": [
+ "January",
+ "February",
+ "March",
+ "April",
+ "May",
+ "June",
+ "July",
+ "August",
+ "September",
+ "October",
+ "November",
+ "December"
+ ],
+ "SHORTDAY": [
+ "Sun",
+ "Mon",
+ "Tue",
+ "Wed",
+ "Thu",
+ "Fri",
+ "Sat"
+ ],
+ "SHORTMONTH": [
+ "Jan",
+ "Feb",
+ "Mar",
+ "Apr",
+ "May",
+ "Jun",
+ "Jul",
+ "Aug",
+ "Sep",
+ "Oct",
+ "Nov",
+ "Dec"
+ ],
"fullDate": "EEEE d MMMM y",
"longDate": "d MMMM y",
"medium": "d MMM y h:mm:ss a",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20ac",
"DECIMAL_SEP": ".",
"GROUP_SEP": ",",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4",
"posSuf": ""
}
- }
+ ]
},
"id": "en-ie",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-in.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-in.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-in.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "AM",
- "1": "PM"
- },
- "DAY": {
- "0": "Sunday",
- "1": "Monday",
- "2": "Tuesday",
- "3": "Wednesday",
- "4": "Thursday",
- "5": "Friday",
- "6": "Saturday"
- },
- "MONTH": {
- "0": "January",
- "1": "February",
- "2": "March",
- "3": "April",
- "4": "May",
- "5": "June",
- "6": "July",
- "7": "August",
- "8": "September",
- "9": "October",
- "10": "November",
- "11": "December"
- },
- "SHORTDAY": {
- "0": "Sun",
- "1": "Mon",
- "2": "Tue",
- "3": "Wed",
- "4": "Thu",
- "5": "Fri",
- "6": "Sat"
- },
- "SHORTMONTH": {
- "0": "Jan",
- "1": "Feb",
- "2": "Mar",
- "3": "Apr",
- "4": "May",
- "5": "Jun",
- "6": "Jul",
- "7": "Aug",
- "8": "Sep",
- "9": "Oct",
- "10": "Nov",
- "11": "Dec"
- },
+ "AMPMS": [
+ "AM",
+ "PM"
+ ],
+ "DAY": [
+ "Sunday",
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday",
+ "Saturday"
+ ],
+ "MONTH": [
+ "January",
+ "February",
+ "March",
+ "April",
+ "May",
+ "June",
+ "July",
+ "August",
+ "September",
+ "October",
+ "November",
+ "December"
+ ],
+ "SHORTDAY": [
+ "Sun",
+ "Mon",
+ "Tue",
+ "Wed",
+ "Thu",
+ "Fri",
+ "Sat"
+ ],
+ "SHORTMONTH": [
+ "Jan",
+ "Feb",
+ "Mar",
+ "Apr",
+ "May",
+ "Jun",
+ "Jul",
+ "Aug",
+ "Sep",
+ "Oct",
+ "Nov",
+ "Dec"
+ ],
"fullDate": "EEEE d MMMM y",
"longDate": "d MMMM y",
"medium": "dd-MMM-y h:mm:ss a",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20b9",
"DECIMAL_SEP": ".",
"GROUP_SEP": ",",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 2,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 2,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4\u00a0",
"posSuf": ""
}
- }
+ ]
},
"id": "en-in",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-iso.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-iso.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-iso.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "AM",
- "1": "PM"
- },
- "DAY": {
- "0": "Sunday",
- "1": "Monday",
- "2": "Tuesday",
- "3": "Wednesday",
- "4": "Thursday",
- "5": "Friday",
- "6": "Saturday"
- },
- "MONTH": {
- "0": "January",
- "1": "February",
- "2": "March",
- "3": "April",
- "4": "May",
- "5": "June",
- "6": "July",
- "7": "August",
- "8": "September",
- "9": "October",
- "10": "November",
- "11": "December"
- },
- "SHORTDAY": {
- "0": "Sun",
- "1": "Mon",
- "2": "Tue",
- "3": "Wed",
- "4": "Thu",
- "5": "Fri",
- "6": "Sat"
- },
- "SHORTMONTH": {
- "0": "Jan",
- "1": "Feb",
- "2": "Mar",
- "3": "Apr",
- "4": "May",
- "5": "Jun",
- "6": "Jul",
- "7": "Aug",
- "8": "Sep",
- "9": "Oct",
- "10": "Nov",
- "11": "Dec"
- },
+ "AMPMS": [
+ "AM",
+ "PM"
+ ],
+ "DAY": [
+ "Sunday",
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday",
+ "Saturday"
+ ],
+ "MONTH": [
+ "January",
+ "February",
+ "March",
+ "April",
+ "May",
+ "June",
+ "July",
+ "August",
+ "September",
+ "October",
+ "November",
+ "December"
+ ],
+ "SHORTDAY": [
+ "Sun",
+ "Mon",
+ "Tue",
+ "Wed",
+ "Thu",
+ "Fri",
+ "Sat"
+ ],
+ "SHORTMONTH": [
+ "Jan",
+ "Feb",
+ "Mar",
+ "Apr",
+ "May",
+ "Jun",
+ "Jul",
+ "Aug",
+ "Sep",
+ "Oct",
+ "Nov",
+ "Dec"
+ ],
"fullDate": "EEEE, y MMMM dd",
"longDate": "y MMMM d",
"medium": "y MMM d HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "$",
"DECIMAL_SEP": ".",
"GROUP_SEP": ",",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4",
"posSuf": ""
}
- }
+ ]
},
"id": "en-iso",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-jm.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-jm.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-jm.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "AM",
- "1": "PM"
- },
- "DAY": {
- "0": "Sunday",
- "1": "Monday",
- "2": "Tuesday",
- "3": "Wednesday",
- "4": "Thursday",
- "5": "Friday",
- "6": "Saturday"
- },
- "MONTH": {
- "0": "January",
- "1": "February",
- "2": "March",
- "3": "April",
- "4": "May",
- "5": "June",
- "6": "July",
- "7": "August",
- "8": "September",
- "9": "October",
- "10": "November",
- "11": "December"
- },
- "SHORTDAY": {
- "0": "Sun",
- "1": "Mon",
- "2": "Tue",
- "3": "Wed",
- "4": "Thu",
- "5": "Fri",
- "6": "Sat"
- },
- "SHORTMONTH": {
- "0": "Jan",
- "1": "Feb",
- "2": "Mar",
- "3": "Apr",
- "4": "May",
- "5": "Jun",
- "6": "Jul",
- "7": "Aug",
- "8": "Sep",
- "9": "Oct",
- "10": "Nov",
- "11": "Dec"
- },
+ "AMPMS": [
+ "AM",
+ "PM"
+ ],
+ "DAY": [
+ "Sunday",
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday",
+ "Saturday"
+ ],
+ "MONTH": [
+ "January",
+ "February",
+ "March",
+ "April",
+ "May",
+ "June",
+ "July",
+ "August",
+ "September",
+ "October",
+ "November",
+ "December"
+ ],
+ "SHORTDAY": [
+ "Sun",
+ "Mon",
+ "Tue",
+ "Wed",
+ "Thu",
+ "Fri",
+ "Sat"
+ ],
+ "SHORTMONTH": [
+ "Jan",
+ "Feb",
+ "Mar",
+ "Apr",
+ "May",
+ "Jun",
+ "Jul",
+ "Aug",
+ "Sep",
+ "Oct",
+ "Nov",
+ "Dec"
+ ],
"fullDate": "EEEE, MMMM d, y",
"longDate": "MMMM d, y",
"medium": "MMM d, y h:mm:ss a",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "$",
"DECIMAL_SEP": ".",
"GROUP_SEP": ",",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4",
"posSuf": ""
}
- }
+ ]
},
"id": "en-jm",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-mh.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-mh.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-mh.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "AM",
- "1": "PM"
- },
- "DAY": {
- "0": "Sunday",
- "1": "Monday",
- "2": "Tuesday",
- "3": "Wednesday",
- "4": "Thursday",
- "5": "Friday",
- "6": "Saturday"
- },
- "MONTH": {
- "0": "January",
- "1": "February",
- "2": "March",
- "3": "April",
- "4": "May",
- "5": "June",
- "6": "July",
- "7": "August",
- "8": "September",
- "9": "October",
- "10": "November",
- "11": "December"
- },
- "SHORTDAY": {
- "0": "Sun",
- "1": "Mon",
- "2": "Tue",
- "3": "Wed",
- "4": "Thu",
- "5": "Fri",
- "6": "Sat"
- },
- "SHORTMONTH": {
- "0": "Jan",
- "1": "Feb",
- "2": "Mar",
- "3": "Apr",
- "4": "May",
- "5": "Jun",
- "6": "Jul",
- "7": "Aug",
- "8": "Sep",
- "9": "Oct",
- "10": "Nov",
- "11": "Dec"
- },
+ "AMPMS": [
+ "AM",
+ "PM"
+ ],
+ "DAY": [
+ "Sunday",
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday",
+ "Saturday"
+ ],
+ "MONTH": [
+ "January",
+ "February",
+ "March",
+ "April",
+ "May",
+ "June",
+ "July",
+ "August",
+ "September",
+ "October",
+ "November",
+ "December"
+ ],
+ "SHORTDAY": [
+ "Sun",
+ "Mon",
+ "Tue",
+ "Wed",
+ "Thu",
+ "Fri",
+ "Sat"
+ ],
+ "SHORTMONTH": [
+ "Jan",
+ "Feb",
+ "Mar",
+ "Apr",
+ "May",
+ "Jun",
+ "Jul",
+ "Aug",
+ "Sep",
+ "Oct",
+ "Nov",
+ "Dec"
+ ],
"fullDate": "EEEE, MMMM d, y",
"longDate": "MMMM d, y",
"medium": "MMM d, y h:mm:ss a",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "$",
"DECIMAL_SEP": ".",
"GROUP_SEP": ",",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4",
"posSuf": ""
}
- }
+ ]
},
"id": "en-mh",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-mp.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-mp.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-mp.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "AM",
- "1": "PM"
- },
- "DAY": {
- "0": "Sunday",
- "1": "Monday",
- "2": "Tuesday",
- "3": "Wednesday",
- "4": "Thursday",
- "5": "Friday",
- "6": "Saturday"
- },
- "MONTH": {
- "0": "January",
- "1": "February",
- "2": "March",
- "3": "April",
- "4": "May",
- "5": "June",
- "6": "July",
- "7": "August",
- "8": "September",
- "9": "October",
- "10": "November",
- "11": "December"
- },
- "SHORTDAY": {
- "0": "Sun",
- "1": "Mon",
- "2": "Tue",
- "3": "Wed",
- "4": "Thu",
- "5": "Fri",
- "6": "Sat"
- },
- "SHORTMONTH": {
- "0": "Jan",
- "1": "Feb",
- "2": "Mar",
- "3": "Apr",
- "4": "May",
- "5": "Jun",
- "6": "Jul",
- "7": "Aug",
- "8": "Sep",
- "9": "Oct",
- "10": "Nov",
- "11": "Dec"
- },
+ "AMPMS": [
+ "AM",
+ "PM"
+ ],
+ "DAY": [
+ "Sunday",
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday",
+ "Saturday"
+ ],
+ "MONTH": [
+ "January",
+ "February",
+ "March",
+ "April",
+ "May",
+ "June",
+ "July",
+ "August",
+ "September",
+ "October",
+ "November",
+ "December"
+ ],
+ "SHORTDAY": [
+ "Sun",
+ "Mon",
+ "Tue",
+ "Wed",
+ "Thu",
+ "Fri",
+ "Sat"
+ ],
+ "SHORTMONTH": [
+ "Jan",
+ "Feb",
+ "Mar",
+ "Apr",
+ "May",
+ "Jun",
+ "Jul",
+ "Aug",
+ "Sep",
+ "Oct",
+ "Nov",
+ "Dec"
+ ],
"fullDate": "EEEE, MMMM d, y",
"longDate": "MMMM d, y",
"medium": "MMM d, y h:mm:ss a",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "$",
"DECIMAL_SEP": ".",
"GROUP_SEP": ",",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4",
"posSuf": ""
}
- }
+ ]
},
"id": "en-mp",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-mt.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-mt.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-mt.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "AM",
- "1": "PM"
- },
- "DAY": {
- "0": "Sunday",
- "1": "Monday",
- "2": "Tuesday",
- "3": "Wednesday",
- "4": "Thursday",
- "5": "Friday",
- "6": "Saturday"
- },
- "MONTH": {
- "0": "January",
- "1": "February",
- "2": "March",
- "3": "April",
- "4": "May",
- "5": "June",
- "6": "July",
- "7": "August",
- "8": "September",
- "9": "October",
- "10": "November",
- "11": "December"
- },
- "SHORTDAY": {
- "0": "Sun",
- "1": "Mon",
- "2": "Tue",
- "3": "Wed",
- "4": "Thu",
- "5": "Fri",
- "6": "Sat"
- },
- "SHORTMONTH": {
- "0": "Jan",
- "1": "Feb",
- "2": "Mar",
- "3": "Apr",
- "4": "May",
- "5": "Jun",
- "6": "Jul",
- "7": "Aug",
- "8": "Sep",
- "9": "Oct",
- "10": "Nov",
- "11": "Dec"
- },
+ "AMPMS": [
+ "AM",
+ "PM"
+ ],
+ "DAY": [
+ "Sunday",
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday",
+ "Saturday"
+ ],
+ "MONTH": [
+ "January",
+ "February",
+ "March",
+ "April",
+ "May",
+ "June",
+ "July",
+ "August",
+ "September",
+ "October",
+ "November",
+ "December"
+ ],
+ "SHORTDAY": [
+ "Sun",
+ "Mon",
+ "Tue",
+ "Wed",
+ "Thu",
+ "Fri",
+ "Sat"
+ ],
+ "SHORTMONTH": [
+ "Jan",
+ "Feb",
+ "Mar",
+ "Apr",
+ "May",
+ "Jun",
+ "Jul",
+ "Aug",
+ "Sep",
+ "Oct",
+ "Nov",
+ "Dec"
+ ],
"fullDate": "EEEE, d MMMM y",
"longDate": "dd MMMM y",
"medium": "dd MMM y h:mm:ss a",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "$",
"DECIMAL_SEP": ".",
"GROUP_SEP": ",",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4",
"posSuf": ""
}
- }
+ ]
},
"id": "en-mt",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-mu.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-mu.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-mu.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "AM",
- "1": "PM"
- },
- "DAY": {
- "0": "Sunday",
- "1": "Monday",
- "2": "Tuesday",
- "3": "Wednesday",
- "4": "Thursday",
- "5": "Friday",
- "6": "Saturday"
- },
- "MONTH": {
- "0": "January",
- "1": "February",
- "2": "March",
- "3": "April",
- "4": "May",
- "5": "June",
- "6": "July",
- "7": "August",
- "8": "September",
- "9": "October",
- "10": "November",
- "11": "December"
- },
- "SHORTDAY": {
- "0": "Sun",
- "1": "Mon",
- "2": "Tue",
- "3": "Wed",
- "4": "Thu",
- "5": "Fri",
- "6": "Sat"
- },
- "SHORTMONTH": {
- "0": "Jan",
- "1": "Feb",
- "2": "Mar",
- "3": "Apr",
- "4": "May",
- "5": "Jun",
- "6": "Jul",
- "7": "Aug",
- "8": "Sep",
- "9": "Oct",
- "10": "Nov",
- "11": "Dec"
- },
+ "AMPMS": [
+ "AM",
+ "PM"
+ ],
+ "DAY": [
+ "Sunday",
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday",
+ "Saturday"
+ ],
+ "MONTH": [
+ "January",
+ "February",
+ "March",
+ "April",
+ "May",
+ "June",
+ "July",
+ "August",
+ "September",
+ "October",
+ "November",
+ "December"
+ ],
+ "SHORTDAY": [
+ "Sun",
+ "Mon",
+ "Tue",
+ "Wed",
+ "Thu",
+ "Fri",
+ "Sat"
+ ],
+ "SHORTMONTH": [
+ "Jan",
+ "Feb",
+ "Mar",
+ "Apr",
+ "May",
+ "Jun",
+ "Jul",
+ "Aug",
+ "Sep",
+ "Oct",
+ "Nov",
+ "Dec"
+ ],
"fullDate": "EEEE, MMMM d, y",
"longDate": "MMMM d, y",
"medium": "MMM d, y h:mm:ss a",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "$",
"DECIMAL_SEP": ".",
"GROUP_SEP": ",",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4",
"posSuf": ""
}
- }
+ ]
},
"id": "en-mu",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-na.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-na.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-na.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "AM",
- "1": "PM"
- },
- "DAY": {
- "0": "Sunday",
- "1": "Monday",
- "2": "Tuesday",
- "3": "Wednesday",
- "4": "Thursday",
- "5": "Friday",
- "6": "Saturday"
- },
- "MONTH": {
- "0": "January",
- "1": "February",
- "2": "March",
- "3": "April",
- "4": "May",
- "5": "June",
- "6": "July",
- "7": "August",
- "8": "September",
- "9": "October",
- "10": "November",
- "11": "December"
- },
- "SHORTDAY": {
- "0": "Sun",
- "1": "Mon",
- "2": "Tue",
- "3": "Wed",
- "4": "Thu",
- "5": "Fri",
- "6": "Sat"
- },
- "SHORTMONTH": {
- "0": "Jan",
- "1": "Feb",
- "2": "Mar",
- "3": "Apr",
- "4": "May",
- "5": "Jun",
- "6": "Jul",
- "7": "Aug",
- "8": "Sep",
- "9": "Oct",
- "10": "Nov",
- "11": "Dec"
- },
+ "AMPMS": [
+ "AM",
+ "PM"
+ ],
+ "DAY": [
+ "Sunday",
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday",
+ "Saturday"
+ ],
+ "MONTH": [
+ "January",
+ "February",
+ "March",
+ "April",
+ "May",
+ "June",
+ "July",
+ "August",
+ "September",
+ "October",
+ "November",
+ "December"
+ ],
+ "SHORTDAY": [
+ "Sun",
+ "Mon",
+ "Tue",
+ "Wed",
+ "Thu",
+ "Fri",
+ "Sat"
+ ],
+ "SHORTMONTH": [
+ "Jan",
+ "Feb",
+ "Mar",
+ "Apr",
+ "May",
+ "Jun",
+ "Jul",
+ "Aug",
+ "Sep",
+ "Oct",
+ "Nov",
+ "Dec"
+ ],
"fullDate": "EEEE, MMMM d, y",
"longDate": "MMMM d, y",
"medium": "MMM d, y h:mm:ss a",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "$",
"DECIMAL_SEP": ".",
"GROUP_SEP": ",",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4",
"posSuf": ""
}
- }
+ ]
},
"id": "en-na",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-nz.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-nz.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-nz.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "AM",
- "1": "PM"
- },
- "DAY": {
- "0": "Sunday",
- "1": "Monday",
- "2": "Tuesday",
- "3": "Wednesday",
- "4": "Thursday",
- "5": "Friday",
- "6": "Saturday"
- },
- "MONTH": {
- "0": "January",
- "1": "February",
- "2": "March",
- "3": "April",
- "4": "May",
- "5": "June",
- "6": "July",
- "7": "August",
- "8": "September",
- "9": "October",
- "10": "November",
- "11": "December"
- },
- "SHORTDAY": {
- "0": "Sun",
- "1": "Mon",
- "2": "Tue",
- "3": "Wed",
- "4": "Thu",
- "5": "Fri",
- "6": "Sat"
- },
- "SHORTMONTH": {
- "0": "Jan",
- "1": "Feb",
- "2": "Mar",
- "3": "Apr",
- "4": "May",
- "5": "Jun",
- "6": "Jul",
- "7": "Aug",
- "8": "Sep",
- "9": "Oct",
- "10": "Nov",
- "11": "Dec"
- },
+ "AMPMS": [
+ "AM",
+ "PM"
+ ],
+ "DAY": [
+ "Sunday",
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday",
+ "Saturday"
+ ],
+ "MONTH": [
+ "January",
+ "February",
+ "March",
+ "April",
+ "May",
+ "June",
+ "July",
+ "August",
+ "September",
+ "October",
+ "November",
+ "December"
+ ],
+ "SHORTDAY": [
+ "Sun",
+ "Mon",
+ "Tue",
+ "Wed",
+ "Thu",
+ "Fri",
+ "Sat"
+ ],
+ "SHORTMONTH": [
+ "Jan",
+ "Feb",
+ "Mar",
+ "Apr",
+ "May",
+ "Jun",
+ "Jul",
+ "Aug",
+ "Sep",
+ "Oct",
+ "Nov",
+ "Dec"
+ ],
"fullDate": "EEEE, d MMMM y",
"longDate": "d MMMM y",
"medium": "d/MM/yyyy h:mm:ss a",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "$",
"DECIMAL_SEP": ".",
"GROUP_SEP": ",",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4",
"posSuf": ""
}
- }
+ ]
},
"id": "en-nz",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-ph.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-ph.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-ph.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "AM",
- "1": "PM"
- },
- "DAY": {
- "0": "Sunday",
- "1": "Monday",
- "2": "Tuesday",
- "3": "Wednesday",
- "4": "Thursday",
- "5": "Friday",
- "6": "Saturday"
- },
- "MONTH": {
- "0": "January",
- "1": "February",
- "2": "March",
- "3": "April",
- "4": "May",
- "5": "June",
- "6": "July",
- "7": "August",
- "8": "September",
- "9": "October",
- "10": "November",
- "11": "December"
- },
- "SHORTDAY": {
- "0": "Sun",
- "1": "Mon",
- "2": "Tue",
- "3": "Wed",
- "4": "Thu",
- "5": "Fri",
- "6": "Sat"
- },
- "SHORTMONTH": {
- "0": "Jan",
- "1": "Feb",
- "2": "Mar",
- "3": "Apr",
- "4": "May",
- "5": "Jun",
- "6": "Jul",
- "7": "Aug",
- "8": "Sep",
- "9": "Oct",
- "10": "Nov",
- "11": "Dec"
- },
+ "AMPMS": [
+ "AM",
+ "PM"
+ ],
+ "DAY": [
+ "Sunday",
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday",
+ "Saturday"
+ ],
+ "MONTH": [
+ "January",
+ "February",
+ "March",
+ "April",
+ "May",
+ "June",
+ "July",
+ "August",
+ "September",
+ "October",
+ "November",
+ "December"
+ ],
+ "SHORTDAY": [
+ "Sun",
+ "Mon",
+ "Tue",
+ "Wed",
+ "Thu",
+ "Fri",
+ "Sat"
+ ],
+ "SHORTMONTH": [
+ "Jan",
+ "Feb",
+ "Mar",
+ "Apr",
+ "May",
+ "Jun",
+ "Jul",
+ "Aug",
+ "Sep",
+ "Oct",
+ "Nov",
+ "Dec"
+ ],
"fullDate": "EEEE, MMMM d, y",
"longDate": "MMMM d, y",
"medium": "MMM d, y h:mm:ss a",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "$",
"DECIMAL_SEP": ".",
"GROUP_SEP": ",",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4",
"posSuf": ""
}
- }
+ ]
},
"id": "en-ph",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-pk.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-pk.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-pk.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "AM",
- "1": "PM"
- },
- "DAY": {
- "0": "Sunday",
- "1": "Monday",
- "2": "Tuesday",
- "3": "Wednesday",
- "4": "Thursday",
- "5": "Friday",
- "6": "Saturday"
- },
- "MONTH": {
- "0": "January",
- "1": "February",
- "2": "March",
- "3": "April",
- "4": "May",
- "5": "June",
- "6": "July",
- "7": "August",
- "8": "September",
- "9": "October",
- "10": "November",
- "11": "December"
- },
- "SHORTDAY": {
- "0": "Sun",
- "1": "Mon",
- "2": "Tue",
- "3": "Wed",
- "4": "Thu",
- "5": "Fri",
- "6": "Sat"
- },
- "SHORTMONTH": {
- "0": "Jan",
- "1": "Feb",
- "2": "Mar",
- "3": "Apr",
- "4": "May",
- "5": "Jun",
- "6": "Jul",
- "7": "Aug",
- "8": "Sep",
- "9": "Oct",
- "10": "Nov",
- "11": "Dec"
- },
+ "AMPMS": [
+ "AM",
+ "PM"
+ ],
+ "DAY": [
+ "Sunday",
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday",
+ "Saturday"
+ ],
+ "MONTH": [
+ "January",
+ "February",
+ "March",
+ "April",
+ "May",
+ "June",
+ "July",
+ "August",
+ "September",
+ "October",
+ "November",
+ "December"
+ ],
+ "SHORTDAY": [
+ "Sun",
+ "Mon",
+ "Tue",
+ "Wed",
+ "Thu",
+ "Fri",
+ "Sat"
+ ],
+ "SHORTMONTH": [
+ "Jan",
+ "Feb",
+ "Mar",
+ "Apr",
+ "May",
+ "Jun",
+ "Jul",
+ "Aug",
+ "Sep",
+ "Oct",
+ "Nov",
+ "Dec"
+ ],
"fullDate": "EEEE d MMMM y",
"longDate": "d MMMM y",
"medium": "dd-MMM-y h:mm:ss a",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "$",
"DECIMAL_SEP": ".",
"GROUP_SEP": ",",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4",
"posSuf": ""
}
- }
+ ]
},
"id": "en-pk",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-pr.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-pr.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-pr.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "AM",
- "1": "PM"
- },
- "DAY": {
- "0": "Sunday",
- "1": "Monday",
- "2": "Tuesday",
- "3": "Wednesday",
- "4": "Thursday",
- "5": "Friday",
- "6": "Saturday"
- },
- "MONTH": {
- "0": "January",
- "1": "February",
- "2": "March",
- "3": "April",
- "4": "May",
- "5": "June",
- "6": "July",
- "7": "August",
- "8": "September",
- "9": "October",
- "10": "November",
- "11": "December"
- },
- "SHORTDAY": {
- "0": "Sun",
- "1": "Mon",
- "2": "Tue",
- "3": "Wed",
- "4": "Thu",
- "5": "Fri",
- "6": "Sat"
- },
- "SHORTMONTH": {
- "0": "Jan",
- "1": "Feb",
- "2": "Mar",
- "3": "Apr",
- "4": "May",
- "5": "Jun",
- "6": "Jul",
- "7": "Aug",
- "8": "Sep",
- "9": "Oct",
- "10": "Nov",
- "11": "Dec"
- },
+ "AMPMS": [
+ "AM",
+ "PM"
+ ],
+ "DAY": [
+ "Sunday",
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday",
+ "Saturday"
+ ],
+ "MONTH": [
+ "January",
+ "February",
+ "March",
+ "April",
+ "May",
+ "June",
+ "July",
+ "August",
+ "September",
+ "October",
+ "November",
+ "December"
+ ],
+ "SHORTDAY": [
+ "Sun",
+ "Mon",
+ "Tue",
+ "Wed",
+ "Thu",
+ "Fri",
+ "Sat"
+ ],
+ "SHORTMONTH": [
+ "Jan",
+ "Feb",
+ "Mar",
+ "Apr",
+ "May",
+ "Jun",
+ "Jul",
+ "Aug",
+ "Sep",
+ "Oct",
+ "Nov",
+ "Dec"
+ ],
"fullDate": "EEEE, MMMM d, y",
"longDate": "MMMM d, y",
"medium": "MMM d, y h:mm:ss a",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "$",
"DECIMAL_SEP": ".",
"GROUP_SEP": ",",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4",
"posSuf": ""
}
- }
+ ]
},
"id": "en-pr",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-pw.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-pw.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-pw.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "AM",
- "1": "PM"
- },
- "DAY": {
- "0": "Sunday",
- "1": "Monday",
- "2": "Tuesday",
- "3": "Wednesday",
- "4": "Thursday",
- "5": "Friday",
- "6": "Saturday"
- },
- "MONTH": {
- "0": "January",
- "1": "February",
- "2": "March",
- "3": "April",
- "4": "May",
- "5": "June",
- "6": "July",
- "7": "August",
- "8": "September",
- "9": "October",
- "10": "November",
- "11": "December"
- },
- "SHORTDAY": {
- "0": "Sun",
- "1": "Mon",
- "2": "Tue",
- "3": "Wed",
- "4": "Thu",
- "5": "Fri",
- "6": "Sat"
- },
- "SHORTMONTH": {
- "0": "Jan",
- "1": "Feb",
- "2": "Mar",
- "3": "Apr",
- "4": "May",
- "5": "Jun",
- "6": "Jul",
- "7": "Aug",
- "8": "Sep",
- "9": "Oct",
- "10": "Nov",
- "11": "Dec"
- },
+ "AMPMS": [
+ "AM",
+ "PM"
+ ],
+ "DAY": [
+ "Sunday",
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday",
+ "Saturday"
+ ],
+ "MONTH": [
+ "January",
+ "February",
+ "March",
+ "April",
+ "May",
+ "June",
+ "July",
+ "August",
+ "September",
+ "October",
+ "November",
+ "December"
+ ],
+ "SHORTDAY": [
+ "Sun",
+ "Mon",
+ "Tue",
+ "Wed",
+ "Thu",
+ "Fri",
+ "Sat"
+ ],
+ "SHORTMONTH": [
+ "Jan",
+ "Feb",
+ "Mar",
+ "Apr",
+ "May",
+ "Jun",
+ "Jul",
+ "Aug",
+ "Sep",
+ "Oct",
+ "Nov",
+ "Dec"
+ ],
"fullDate": "EEEE, MMMM d, y",
"longDate": "MMMM d, y",
"medium": "MMM d, y h:mm:ss a",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "$",
"DECIMAL_SEP": ".",
"GROUP_SEP": ",",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4",
"posSuf": ""
}
- }
+ ]
},
"id": "en-pw",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-sg.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-sg.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-sg.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "AM",
- "1": "PM"
- },
- "DAY": {
- "0": "Sunday",
- "1": "Monday",
- "2": "Tuesday",
- "3": "Wednesday",
- "4": "Thursday",
- "5": "Friday",
- "6": "Saturday"
- },
- "MONTH": {
- "0": "January",
- "1": "February",
- "2": "March",
- "3": "April",
- "4": "May",
- "5": "June",
- "6": "July",
- "7": "August",
- "8": "September",
- "9": "October",
- "10": "November",
- "11": "December"
- },
- "SHORTDAY": {
- "0": "Sun",
- "1": "Mon",
- "2": "Tue",
- "3": "Wed",
- "4": "Thu",
- "5": "Fri",
- "6": "Sat"
- },
- "SHORTMONTH": {
- "0": "Jan",
- "1": "Feb",
- "2": "Mar",
- "3": "Apr",
- "4": "May",
- "5": "Jun",
- "6": "Jul",
- "7": "Aug",
- "8": "Sep",
- "9": "Oct",
- "10": "Nov",
- "11": "Dec"
- },
+ "AMPMS": [
+ "AM",
+ "PM"
+ ],
+ "DAY": [
+ "Sunday",
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday",
+ "Saturday"
+ ],
+ "MONTH": [
+ "January",
+ "February",
+ "March",
+ "April",
+ "May",
+ "June",
+ "July",
+ "August",
+ "September",
+ "October",
+ "November",
+ "December"
+ ],
+ "SHORTDAY": [
+ "Sun",
+ "Mon",
+ "Tue",
+ "Wed",
+ "Thu",
+ "Fri",
+ "Sat"
+ ],
+ "SHORTMONTH": [
+ "Jan",
+ "Feb",
+ "Mar",
+ "Apr",
+ "May",
+ "Jun",
+ "Jul",
+ "Aug",
+ "Sep",
+ "Oct",
+ "Nov",
+ "Dec"
+ ],
"fullDate": "EEEE, d MMMM, y",
"longDate": "d MMMM, y",
"medium": "d MMM, y h:mm:ss a",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "$",
"DECIMAL_SEP": ".",
"GROUP_SEP": ",",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4",
"posSuf": ""
}
- }
+ ]
},
"id": "en-sg",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-tc.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-tc.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-tc.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "AM",
- "1": "PM"
- },
- "DAY": {
- "0": "Sunday",
- "1": "Monday",
- "2": "Tuesday",
- "3": "Wednesday",
- "4": "Thursday",
- "5": "Friday",
- "6": "Saturday"
- },
- "MONTH": {
- "0": "January",
- "1": "February",
- "2": "March",
- "3": "April",
- "4": "May",
- "5": "June",
- "6": "July",
- "7": "August",
- "8": "September",
- "9": "October",
- "10": "November",
- "11": "December"
- },
- "SHORTDAY": {
- "0": "Sun",
- "1": "Mon",
- "2": "Tue",
- "3": "Wed",
- "4": "Thu",
- "5": "Fri",
- "6": "Sat"
- },
- "SHORTMONTH": {
- "0": "Jan",
- "1": "Feb",
- "2": "Mar",
- "3": "Apr",
- "4": "May",
- "5": "Jun",
- "6": "Jul",
- "7": "Aug",
- "8": "Sep",
- "9": "Oct",
- "10": "Nov",
- "11": "Dec"
- },
+ "AMPMS": [
+ "AM",
+ "PM"
+ ],
+ "DAY": [
+ "Sunday",
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday",
+ "Saturday"
+ ],
+ "MONTH": [
+ "January",
+ "February",
+ "March",
+ "April",
+ "May",
+ "June",
+ "July",
+ "August",
+ "September",
+ "October",
+ "November",
+ "December"
+ ],
+ "SHORTDAY": [
+ "Sun",
+ "Mon",
+ "Tue",
+ "Wed",
+ "Thu",
+ "Fri",
+ "Sat"
+ ],
+ "SHORTMONTH": [
+ "Jan",
+ "Feb",
+ "Mar",
+ "Apr",
+ "May",
+ "Jun",
+ "Jul",
+ "Aug",
+ "Sep",
+ "Oct",
+ "Nov",
+ "Dec"
+ ],
"fullDate": "EEEE, MMMM d, y",
"longDate": "MMMM d, y",
"medium": "MMM d, y h:mm:ss a",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "$",
"DECIMAL_SEP": ".",
"GROUP_SEP": ",",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4",
"posSuf": ""
}
- }
+ ]
},
"id": "en-tc",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-tt.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-tt.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-tt.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "AM",
- "1": "PM"
- },
- "DAY": {
- "0": "Sunday",
- "1": "Monday",
- "2": "Tuesday",
- "3": "Wednesday",
- "4": "Thursday",
- "5": "Friday",
- "6": "Saturday"
- },
- "MONTH": {
- "0": "January",
- "1": "February",
- "2": "March",
- "3": "April",
- "4": "May",
- "5": "June",
- "6": "July",
- "7": "August",
- "8": "September",
- "9": "October",
- "10": "November",
- "11": "December"
- },
- "SHORTDAY": {
- "0": "Sun",
- "1": "Mon",
- "2": "Tue",
- "3": "Wed",
- "4": "Thu",
- "5": "Fri",
- "6": "Sat"
- },
- "SHORTMONTH": {
- "0": "Jan",
- "1": "Feb",
- "2": "Mar",
- "3": "Apr",
- "4": "May",
- "5": "Jun",
- "6": "Jul",
- "7": "Aug",
- "8": "Sep",
- "9": "Oct",
- "10": "Nov",
- "11": "Dec"
- },
+ "AMPMS": [
+ "AM",
+ "PM"
+ ],
+ "DAY": [
+ "Sunday",
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday",
+ "Saturday"
+ ],
+ "MONTH": [
+ "January",
+ "February",
+ "March",
+ "April",
+ "May",
+ "June",
+ "July",
+ "August",
+ "September",
+ "October",
+ "November",
+ "December"
+ ],
+ "SHORTDAY": [
+ "Sun",
+ "Mon",
+ "Tue",
+ "Wed",
+ "Thu",
+ "Fri",
+ "Sat"
+ ],
+ "SHORTMONTH": [
+ "Jan",
+ "Feb",
+ "Mar",
+ "Apr",
+ "May",
+ "Jun",
+ "Jul",
+ "Aug",
+ "Sep",
+ "Oct",
+ "Nov",
+ "Dec"
+ ],
"fullDate": "EEEE, MMMM d, y",
"longDate": "MMMM d, y",
"medium": "MMM d, y h:mm:ss a",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "$",
"DECIMAL_SEP": ".",
"GROUP_SEP": ",",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4",
"posSuf": ""
}
- }
+ ]
},
"id": "en-tt",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-um.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-um.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-um.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "AM",
- "1": "PM"
- },
- "DAY": {
- "0": "Sunday",
- "1": "Monday",
- "2": "Tuesday",
- "3": "Wednesday",
- "4": "Thursday",
- "5": "Friday",
- "6": "Saturday"
- },
- "MONTH": {
- "0": "January",
- "1": "February",
- "2": "March",
- "3": "April",
- "4": "May",
- "5": "June",
- "6": "July",
- "7": "August",
- "8": "September",
- "9": "October",
- "10": "November",
- "11": "December"
- },
- "SHORTDAY": {
- "0": "Sun",
- "1": "Mon",
- "2": "Tue",
- "3": "Wed",
- "4": "Thu",
- "5": "Fri",
- "6": "Sat"
- },
- "SHORTMONTH": {
- "0": "Jan",
- "1": "Feb",
- "2": "Mar",
- "3": "Apr",
- "4": "May",
- "5": "Jun",
- "6": "Jul",
- "7": "Aug",
- "8": "Sep",
- "9": "Oct",
- "10": "Nov",
- "11": "Dec"
- },
+ "AMPMS": [
+ "AM",
+ "PM"
+ ],
+ "DAY": [
+ "Sunday",
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday",
+ "Saturday"
+ ],
+ "MONTH": [
+ "January",
+ "February",
+ "March",
+ "April",
+ "May",
+ "June",
+ "July",
+ "August",
+ "September",
+ "October",
+ "November",
+ "December"
+ ],
+ "SHORTDAY": [
+ "Sun",
+ "Mon",
+ "Tue",
+ "Wed",
+ "Thu",
+ "Fri",
+ "Sat"
+ ],
+ "SHORTMONTH": [
+ "Jan",
+ "Feb",
+ "Mar",
+ "Apr",
+ "May",
+ "Jun",
+ "Jul",
+ "Aug",
+ "Sep",
+ "Oct",
+ "Nov",
+ "Dec"
+ ],
"fullDate": "EEEE, MMMM d, y",
"longDate": "MMMM d, y",
"medium": "MMM d, y h:mm:ss a",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "$",
"DECIMAL_SEP": ".",
"GROUP_SEP": ",",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4",
"posSuf": ""
}
- }
+ ]
},
"id": "en-um",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-us.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-us.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-us.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "AM",
- "1": "PM"
- },
- "DAY": {
- "0": "Sunday",
- "1": "Monday",
- "2": "Tuesday",
- "3": "Wednesday",
- "4": "Thursday",
- "5": "Friday",
- "6": "Saturday"
- },
- "MONTH": {
- "0": "January",
- "1": "February",
- "2": "March",
- "3": "April",
- "4": "May",
- "5": "June",
- "6": "July",
- "7": "August",
- "8": "September",
- "9": "October",
- "10": "November",
- "11": "December"
- },
- "SHORTDAY": {
- "0": "Sun",
- "1": "Mon",
- "2": "Tue",
- "3": "Wed",
- "4": "Thu",
- "5": "Fri",
- "6": "Sat"
- },
- "SHORTMONTH": {
- "0": "Jan",
- "1": "Feb",
- "2": "Mar",
- "3": "Apr",
- "4": "May",
- "5": "Jun",
- "6": "Jul",
- "7": "Aug",
- "8": "Sep",
- "9": "Oct",
- "10": "Nov",
- "11": "Dec"
- },
+ "AMPMS": [
+ "AM",
+ "PM"
+ ],
+ "DAY": [
+ "Sunday",
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday",
+ "Saturday"
+ ],
+ "MONTH": [
+ "January",
+ "February",
+ "March",
+ "April",
+ "May",
+ "June",
+ "July",
+ "August",
+ "September",
+ "October",
+ "November",
+ "December"
+ ],
+ "SHORTDAY": [
+ "Sun",
+ "Mon",
+ "Tue",
+ "Wed",
+ "Thu",
+ "Fri",
+ "Sat"
+ ],
+ "SHORTMONTH": [
+ "Jan",
+ "Feb",
+ "Mar",
+ "Apr",
+ "May",
+ "Jun",
+ "Jul",
+ "Aug",
+ "Sep",
+ "Oct",
+ "Nov",
+ "Dec"
+ ],
"fullDate": "EEEE, MMMM d, y",
"longDate": "MMMM d, y",
"medium": "MMM d, y h:mm:ss a",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "$",
"DECIMAL_SEP": ".",
"GROUP_SEP": ",",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4",
"posSuf": ""
}
- }
+ ]
},
"id": "en-us",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-vg.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-vg.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-vg.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "AM",
- "1": "PM"
- },
- "DAY": {
- "0": "Sunday",
- "1": "Monday",
- "2": "Tuesday",
- "3": "Wednesday",
- "4": "Thursday",
- "5": "Friday",
- "6": "Saturday"
- },
- "MONTH": {
- "0": "January",
- "1": "February",
- "2": "March",
- "3": "April",
- "4": "May",
- "5": "June",
- "6": "July",
- "7": "August",
- "8": "September",
- "9": "October",
- "10": "November",
- "11": "December"
- },
- "SHORTDAY": {
- "0": "Sun",
- "1": "Mon",
- "2": "Tue",
- "3": "Wed",
- "4": "Thu",
- "5": "Fri",
- "6": "Sat"
- },
- "SHORTMONTH": {
- "0": "Jan",
- "1": "Feb",
- "2": "Mar",
- "3": "Apr",
- "4": "May",
- "5": "Jun",
- "6": "Jul",
- "7": "Aug",
- "8": "Sep",
- "9": "Oct",
- "10": "Nov",
- "11": "Dec"
- },
+ "AMPMS": [
+ "AM",
+ "PM"
+ ],
+ "DAY": [
+ "Sunday",
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday",
+ "Saturday"
+ ],
+ "MONTH": [
+ "January",
+ "February",
+ "March",
+ "April",
+ "May",
+ "June",
+ "July",
+ "August",
+ "September",
+ "October",
+ "November",
+ "December"
+ ],
+ "SHORTDAY": [
+ "Sun",
+ "Mon",
+ "Tue",
+ "Wed",
+ "Thu",
+ "Fri",
+ "Sat"
+ ],
+ "SHORTMONTH": [
+ "Jan",
+ "Feb",
+ "Mar",
+ "Apr",
+ "May",
+ "Jun",
+ "Jul",
+ "Aug",
+ "Sep",
+ "Oct",
+ "Nov",
+ "Dec"
+ ],
"fullDate": "EEEE, MMMM d, y",
"longDate": "MMMM d, y",
"medium": "MMM d, y h:mm:ss a",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "$",
"DECIMAL_SEP": ".",
"GROUP_SEP": ",",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4",
"posSuf": ""
}
- }
+ ]
},
"id": "en-vg",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-vi.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-vi.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-vi.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "AM",
- "1": "PM"
- },
- "DAY": {
- "0": "Sunday",
- "1": "Monday",
- "2": "Tuesday",
- "3": "Wednesday",
- "4": "Thursday",
- "5": "Friday",
- "6": "Saturday"
- },
- "MONTH": {
- "0": "January",
- "1": "February",
- "2": "March",
- "3": "April",
- "4": "May",
- "5": "June",
- "6": "July",
- "7": "August",
- "8": "September",
- "9": "October",
- "10": "November",
- "11": "December"
- },
- "SHORTDAY": {
- "0": "Sun",
- "1": "Mon",
- "2": "Tue",
- "3": "Wed",
- "4": "Thu",
- "5": "Fri",
- "6": "Sat"
- },
- "SHORTMONTH": {
- "0": "Jan",
- "1": "Feb",
- "2": "Mar",
- "3": "Apr",
- "4": "May",
- "5": "Jun",
- "6": "Jul",
- "7": "Aug",
- "8": "Sep",
- "9": "Oct",
- "10": "Nov",
- "11": "Dec"
- },
+ "AMPMS": [
+ "AM",
+ "PM"
+ ],
+ "DAY": [
+ "Sunday",
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday",
+ "Saturday"
+ ],
+ "MONTH": [
+ "January",
+ "February",
+ "March",
+ "April",
+ "May",
+ "June",
+ "July",
+ "August",
+ "September",
+ "October",
+ "November",
+ "December"
+ ],
+ "SHORTDAY": [
+ "Sun",
+ "Mon",
+ "Tue",
+ "Wed",
+ "Thu",
+ "Fri",
+ "Sat"
+ ],
+ "SHORTMONTH": [
+ "Jan",
+ "Feb",
+ "Mar",
+ "Apr",
+ "May",
+ "Jun",
+ "Jul",
+ "Aug",
+ "Sep",
+ "Oct",
+ "Nov",
+ "Dec"
+ ],
"fullDate": "EEEE, MMMM d, y",
"longDate": "MMMM d, y",
"medium": "MMM d, y h:mm:ss a",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "$",
"DECIMAL_SEP": ".",
"GROUP_SEP": ",",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4",
"posSuf": ""
}
- }
+ ]
},
"id": "en-vi",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-za.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-za.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-za.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "AM",
- "1": "PM"
- },
- "DAY": {
- "0": "Sunday",
- "1": "Monday",
- "2": "Tuesday",
- "3": "Wednesday",
- "4": "Thursday",
- "5": "Friday",
- "6": "Saturday"
- },
- "MONTH": {
- "0": "January",
- "1": "February",
- "2": "March",
- "3": "April",
- "4": "May",
- "5": "June",
- "6": "July",
- "7": "August",
- "8": "September",
- "9": "October",
- "10": "November",
- "11": "December"
- },
- "SHORTDAY": {
- "0": "Sun",
- "1": "Mon",
- "2": "Tue",
- "3": "Wed",
- "4": "Thu",
- "5": "Fri",
- "6": "Sat"
- },
- "SHORTMONTH": {
- "0": "Jan",
- "1": "Feb",
- "2": "Mar",
- "3": "Apr",
- "4": "May",
- "5": "Jun",
- "6": "Jul",
- "7": "Aug",
- "8": "Sep",
- "9": "Oct",
- "10": "Nov",
- "11": "Dec"
- },
+ "AMPMS": [
+ "AM",
+ "PM"
+ ],
+ "DAY": [
+ "Sunday",
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday",
+ "Saturday"
+ ],
+ "MONTH": [
+ "January",
+ "February",
+ "March",
+ "April",
+ "May",
+ "June",
+ "July",
+ "August",
+ "September",
+ "October",
+ "November",
+ "December"
+ ],
+ "SHORTDAY": [
+ "Sun",
+ "Mon",
+ "Tue",
+ "Wed",
+ "Thu",
+ "Fri",
+ "Sat"
+ ],
+ "SHORTMONTH": [
+ "Jan",
+ "Feb",
+ "Mar",
+ "Apr",
+ "May",
+ "Jun",
+ "Jul",
+ "Aug",
+ "Sep",
+ "Oct",
+ "Nov",
+ "Dec"
+ ],
"fullDate": "EEEE dd MMMM y",
"longDate": "dd MMMM y",
"medium": "dd MMM y h:mm:ss a",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "R",
"DECIMAL_SEP": ",",
"GROUP_SEP": "\u00a0",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4",
"posSuf": ""
}
- }
+ ]
},
"id": "en-za",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-zw.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-zw.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en-zw.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "AM",
- "1": "PM"
- },
- "DAY": {
- "0": "Sunday",
- "1": "Monday",
- "2": "Tuesday",
- "3": "Wednesday",
- "4": "Thursday",
- "5": "Friday",
- "6": "Saturday"
- },
- "MONTH": {
- "0": "January",
- "1": "February",
- "2": "March",
- "3": "April",
- "4": "May",
- "5": "June",
- "6": "July",
- "7": "August",
- "8": "September",
- "9": "October",
- "10": "November",
- "11": "December"
- },
- "SHORTDAY": {
- "0": "Sun",
- "1": "Mon",
- "2": "Tue",
- "3": "Wed",
- "4": "Thu",
- "5": "Fri",
- "6": "Sat"
- },
- "SHORTMONTH": {
- "0": "Jan",
- "1": "Feb",
- "2": "Mar",
- "3": "Apr",
- "4": "May",
- "5": "Jun",
- "6": "Jul",
- "7": "Aug",
- "8": "Sep",
- "9": "Oct",
- "10": "Nov",
- "11": "Dec"
- },
+ "AMPMS": [
+ "AM",
+ "PM"
+ ],
+ "DAY": [
+ "Sunday",
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday",
+ "Saturday"
+ ],
+ "MONTH": [
+ "January",
+ "February",
+ "March",
+ "April",
+ "May",
+ "June",
+ "July",
+ "August",
+ "September",
+ "October",
+ "November",
+ "December"
+ ],
+ "SHORTDAY": [
+ "Sun",
+ "Mon",
+ "Tue",
+ "Wed",
+ "Thu",
+ "Fri",
+ "Sat"
+ ],
+ "SHORTMONTH": [
+ "Jan",
+ "Feb",
+ "Mar",
+ "Apr",
+ "May",
+ "Jun",
+ "Jul",
+ "Aug",
+ "Sep",
+ "Oct",
+ "Nov",
+ "Dec"
+ ],
"fullDate": "EEEE dd MMMM y",
"longDate": "dd MMMM y",
"medium": "dd MMM,y h:mm:ss a",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "$",
"DECIMAL_SEP": ".",
"GROUP_SEP": ",",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4",
"posSuf": ""
}
- }
+ ]
},
"id": "en-zw",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_en.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "AM",
- "1": "PM"
- },
- "DAY": {
- "0": "Sunday",
- "1": "Monday",
- "2": "Tuesday",
- "3": "Wednesday",
- "4": "Thursday",
- "5": "Friday",
- "6": "Saturday"
- },
- "MONTH": {
- "0": "January",
- "1": "February",
- "2": "March",
- "3": "April",
- "4": "May",
- "5": "June",
- "6": "July",
- "7": "August",
- "8": "September",
- "9": "October",
- "10": "November",
- "11": "December"
- },
- "SHORTDAY": {
- "0": "Sun",
- "1": "Mon",
- "2": "Tue",
- "3": "Wed",
- "4": "Thu",
- "5": "Fri",
- "6": "Sat"
- },
- "SHORTMONTH": {
- "0": "Jan",
- "1": "Feb",
- "2": "Mar",
- "3": "Apr",
- "4": "May",
- "5": "Jun",
- "6": "Jul",
- "7": "Aug",
- "8": "Sep",
- "9": "Oct",
- "10": "Nov",
- "11": "Dec"
- },
+ "AMPMS": [
+ "AM",
+ "PM"
+ ],
+ "DAY": [
+ "Sunday",
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday",
+ "Saturday"
+ ],
+ "MONTH": [
+ "January",
+ "February",
+ "March",
+ "April",
+ "May",
+ "June",
+ "July",
+ "August",
+ "September",
+ "October",
+ "November",
+ "December"
+ ],
+ "SHORTDAY": [
+ "Sun",
+ "Mon",
+ "Tue",
+ "Wed",
+ "Thu",
+ "Fri",
+ "Sat"
+ ],
+ "SHORTMONTH": [
+ "Jan",
+ "Feb",
+ "Mar",
+ "Apr",
+ "May",
+ "Jun",
+ "Jul",
+ "Aug",
+ "Sep",
+ "Oct",
+ "Nov",
+ "Dec"
+ ],
"fullDate": "EEEE, MMMM d, y",
"longDate": "MMMM d, y",
"medium": "MMM d, y h:mm:ss a",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "$",
"DECIMAL_SEP": ".",
"GROUP_SEP": ",",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4",
"posSuf": ""
}
- }
+ ]
},
"id": "en",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es-419.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es-419.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es-419.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "a.m.",
- "1": "p.m."
- },
- "DAY": {
- "0": "domingo",
- "1": "lunes",
- "2": "martes",
- "3": "mi\u00e9rcoles",
- "4": "jueves",
- "5": "viernes",
- "6": "s\u00e1bado"
- },
- "MONTH": {
- "0": "enero",
- "1": "febrero",
- "2": "marzo",
- "3": "abril",
- "4": "mayo",
- "5": "junio",
- "6": "julio",
- "7": "agosto",
- "8": "septiembre",
- "9": "octubre",
- "10": "noviembre",
- "11": "diciembre"
- },
- "SHORTDAY": {
- "0": "dom",
- "1": "lun",
- "2": "mar",
- "3": "mi\u00e9",
- "4": "jue",
- "5": "vie",
- "6": "s\u00e1b"
- },
- "SHORTMONTH": {
- "0": "ene",
- "1": "feb",
- "2": "mar",
- "3": "abr",
- "4": "may",
- "5": "jun",
- "6": "jul",
- "7": "ago",
- "8": "sep",
- "9": "oct",
- "10": "nov",
- "11": "dic"
- },
+ "AMPMS": [
+ "a.m.",
+ "p.m."
+ ],
+ "DAY": [
+ "domingo",
+ "lunes",
+ "martes",
+ "mi\u00e9rcoles",
+ "jueves",
+ "viernes",
+ "s\u00e1bado"
+ ],
+ "MONTH": [
+ "enero",
+ "febrero",
+ "marzo",
+ "abril",
+ "mayo",
+ "junio",
+ "julio",
+ "agosto",
+ "septiembre",
+ "octubre",
+ "noviembre",
+ "diciembre"
+ ],
+ "SHORTDAY": [
+ "dom",
+ "lun",
+ "mar",
+ "mi\u00e9",
+ "jue",
+ "vie",
+ "s\u00e1b"
+ ],
+ "SHORTMONTH": [
+ "ene",
+ "feb",
+ "mar",
+ "abr",
+ "may",
+ "jun",
+ "jul",
+ "ago",
+ "sep",
+ "oct",
+ "nov",
+ "dic"
+ ],
"fullDate": "EEEE, d 'de' MMMM 'de' y",
"longDate": "d 'de' MMMM 'de' y",
"medium": "dd/MM/yyyy HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "$",
"DECIMAL_SEP": ".",
"GROUP_SEP": ",",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4",
"posSuf": ""
}
- }
+ ]
},
"id": "es-419",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es-ar.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es-ar.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es-ar.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "a.m.",
- "1": "p.m."
- },
- "DAY": {
- "0": "domingo",
- "1": "lunes",
- "2": "martes",
- "3": "mi\u00e9rcoles",
- "4": "jueves",
- "5": "viernes",
- "6": "s\u00e1bado"
- },
- "MONTH": {
- "0": "enero",
- "1": "febrero",
- "2": "marzo",
- "3": "abril",
- "4": "mayo",
- "5": "junio",
- "6": "julio",
- "7": "agosto",
- "8": "septiembre",
- "9": "octubre",
- "10": "noviembre",
- "11": "diciembre"
- },
- "SHORTDAY": {
- "0": "dom",
- "1": "lun",
- "2": "mar",
- "3": "mi\u00e9",
- "4": "jue",
- "5": "vie",
- "6": "s\u00e1b"
- },
- "SHORTMONTH": {
- "0": "ene",
- "1": "feb",
- "2": "mar",
- "3": "abr",
- "4": "may",
- "5": "jun",
- "6": "jul",
- "7": "ago",
- "8": "sep",
- "9": "oct",
- "10": "nov",
- "11": "dic"
- },
+ "AMPMS": [
+ "a.m.",
+ "p.m."
+ ],
+ "DAY": [
+ "domingo",
+ "lunes",
+ "martes",
+ "mi\u00e9rcoles",
+ "jueves",
+ "viernes",
+ "s\u00e1bado"
+ ],
+ "MONTH": [
+ "enero",
+ "febrero",
+ "marzo",
+ "abril",
+ "mayo",
+ "junio",
+ "julio",
+ "agosto",
+ "septiembre",
+ "octubre",
+ "noviembre",
+ "diciembre"
+ ],
+ "SHORTDAY": [
+ "dom",
+ "lun",
+ "mar",
+ "mi\u00e9",
+ "jue",
+ "vie",
+ "s\u00e1b"
+ ],
+ "SHORTMONTH": [
+ "ene",
+ "feb",
+ "mar",
+ "abr",
+ "may",
+ "jun",
+ "jul",
+ "ago",
+ "sep",
+ "oct",
+ "nov",
+ "dic"
+ ],
"fullDate": "EEEE, d 'de' MMMM 'de' y",
"longDate": "d 'de' MMMM 'de' y",
"medium": "dd/MM/yyyy HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20ac",
"DECIMAL_SEP": ",",
"GROUP_SEP": ".",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "es-ar",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es-bo.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es-bo.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es-bo.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "a.m.",
- "1": "p.m."
- },
- "DAY": {
- "0": "domingo",
- "1": "lunes",
- "2": "martes",
- "3": "mi\u00e9rcoles",
- "4": "jueves",
- "5": "viernes",
- "6": "s\u00e1bado"
- },
- "MONTH": {
- "0": "enero",
- "1": "febrero",
- "2": "marzo",
- "3": "abril",
- "4": "mayo",
- "5": "junio",
- "6": "julio",
- "7": "agosto",
- "8": "septiembre",
- "9": "octubre",
- "10": "noviembre",
- "11": "diciembre"
- },
- "SHORTDAY": {
- "0": "dom",
- "1": "lun",
- "2": "mar",
- "3": "mi\u00e9",
- "4": "jue",
- "5": "vie",
- "6": "s\u00e1b"
- },
- "SHORTMONTH": {
- "0": "ene",
- "1": "feb",
- "2": "mar",
- "3": "abr",
- "4": "may",
- "5": "jun",
- "6": "jul",
- "7": "ago",
- "8": "sep",
- "9": "oct",
- "10": "nov",
- "11": "dic"
- },
+ "AMPMS": [
+ "a.m.",
+ "p.m."
+ ],
+ "DAY": [
+ "domingo",
+ "lunes",
+ "martes",
+ "mi\u00e9rcoles",
+ "jueves",
+ "viernes",
+ "s\u00e1bado"
+ ],
+ "MONTH": [
+ "enero",
+ "febrero",
+ "marzo",
+ "abril",
+ "mayo",
+ "junio",
+ "julio",
+ "agosto",
+ "septiembre",
+ "octubre",
+ "noviembre",
+ "diciembre"
+ ],
+ "SHORTDAY": [
+ "dom",
+ "lun",
+ "mar",
+ "mi\u00e9",
+ "jue",
+ "vie",
+ "s\u00e1b"
+ ],
+ "SHORTMONTH": [
+ "ene",
+ "feb",
+ "mar",
+ "abr",
+ "may",
+ "jun",
+ "jul",
+ "ago",
+ "sep",
+ "oct",
+ "nov",
+ "dic"
+ ],
"fullDate": "EEEE, d 'de' MMMM 'de' y",
"longDate": "d 'de' MMMM 'de' y",
"medium": "dd/MM/yyyy HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20ac",
"DECIMAL_SEP": ",",
"GROUP_SEP": ".",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "es-bo",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es-cl.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es-cl.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es-cl.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "a.m.",
- "1": "p.m."
- },
- "DAY": {
- "0": "domingo",
- "1": "lunes",
- "2": "martes",
- "3": "mi\u00e9rcoles",
- "4": "jueves",
- "5": "viernes",
- "6": "s\u00e1bado"
- },
- "MONTH": {
- "0": "enero",
- "1": "febrero",
- "2": "marzo",
- "3": "abril",
- "4": "mayo",
- "5": "junio",
- "6": "julio",
- "7": "agosto",
- "8": "septiembre",
- "9": "octubre",
- "10": "noviembre",
- "11": "diciembre"
- },
- "SHORTDAY": {
- "0": "dom",
- "1": "lun",
- "2": "mar",
- "3": "mi\u00e9",
- "4": "jue",
- "5": "vie",
- "6": "s\u00e1b"
- },
- "SHORTMONTH": {
- "0": "ene",
- "1": "feb",
- "2": "mar",
- "3": "abr",
- "4": "may",
- "5": "jun",
- "6": "jul",
- "7": "ago",
- "8": "sep",
- "9": "oct",
- "10": "nov",
- "11": "dic"
- },
+ "AMPMS": [
+ "a.m.",
+ "p.m."
+ ],
+ "DAY": [
+ "domingo",
+ "lunes",
+ "martes",
+ "mi\u00e9rcoles",
+ "jueves",
+ "viernes",
+ "s\u00e1bado"
+ ],
+ "MONTH": [
+ "enero",
+ "febrero",
+ "marzo",
+ "abril",
+ "mayo",
+ "junio",
+ "julio",
+ "agosto",
+ "septiembre",
+ "octubre",
+ "noviembre",
+ "diciembre"
+ ],
+ "SHORTDAY": [
+ "dom",
+ "lun",
+ "mar",
+ "mi\u00e9",
+ "jue",
+ "vie",
+ "s\u00e1b"
+ ],
+ "SHORTMONTH": [
+ "ene",
+ "feb",
+ "mar",
+ "abr",
+ "may",
+ "jun",
+ "jul",
+ "ago",
+ "sep",
+ "oct",
+ "nov",
+ "dic"
+ ],
"fullDate": "EEEE, d 'de' MMMM 'de' y",
"longDate": "d 'de' MMMM 'de' y",
"medium": "dd-MM-yyyy H:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20ac",
"DECIMAL_SEP": ",",
"GROUP_SEP": ".",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "es-cl",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es-co.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es-co.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es-co.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "a.m.",
- "1": "p.m."
- },
- "DAY": {
- "0": "domingo",
- "1": "lunes",
- "2": "martes",
- "3": "mi\u00e9rcoles",
- "4": "jueves",
- "5": "viernes",
- "6": "s\u00e1bado"
- },
- "MONTH": {
- "0": "enero",
- "1": "febrero",
- "2": "marzo",
- "3": "abril",
- "4": "mayo",
- "5": "junio",
- "6": "julio",
- "7": "agosto",
- "8": "septiembre",
- "9": "octubre",
- "10": "noviembre",
- "11": "diciembre"
- },
- "SHORTDAY": {
- "0": "dom",
- "1": "lun",
- "2": "mar",
- "3": "mi\u00e9",
- "4": "jue",
- "5": "vie",
- "6": "s\u00e1b"
- },
- "SHORTMONTH": {
- "0": "ene",
- "1": "feb",
- "2": "mar",
- "3": "abr",
- "4": "may",
- "5": "jun",
- "6": "jul",
- "7": "ago",
- "8": "sep",
- "9": "oct",
- "10": "nov",
- "11": "dic"
- },
+ "AMPMS": [
+ "a.m.",
+ "p.m."
+ ],
+ "DAY": [
+ "domingo",
+ "lunes",
+ "martes",
+ "mi\u00e9rcoles",
+ "jueves",
+ "viernes",
+ "s\u00e1bado"
+ ],
+ "MONTH": [
+ "enero",
+ "febrero",
+ "marzo",
+ "abril",
+ "mayo",
+ "junio",
+ "julio",
+ "agosto",
+ "septiembre",
+ "octubre",
+ "noviembre",
+ "diciembre"
+ ],
+ "SHORTDAY": [
+ "dom",
+ "lun",
+ "mar",
+ "mi\u00e9",
+ "jue",
+ "vie",
+ "s\u00e1b"
+ ],
+ "SHORTMONTH": [
+ "ene",
+ "feb",
+ "mar",
+ "abr",
+ "may",
+ "jun",
+ "jul",
+ "ago",
+ "sep",
+ "oct",
+ "nov",
+ "dic"
+ ],
"fullDate": "EEEE, d 'de' MMMM 'de' y",
"longDate": "d 'de' MMMM 'de' y",
"medium": "d/MM/yyyy H:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20ac",
"DECIMAL_SEP": ",",
"GROUP_SEP": ".",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "es-co",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es-cr.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es-cr.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es-cr.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "a.m.",
- "1": "p.m."
- },
- "DAY": {
- "0": "domingo",
- "1": "lunes",
- "2": "martes",
- "3": "mi\u00e9rcoles",
- "4": "jueves",
- "5": "viernes",
- "6": "s\u00e1bado"
- },
- "MONTH": {
- "0": "enero",
- "1": "febrero",
- "2": "marzo",
- "3": "abril",
- "4": "mayo",
- "5": "junio",
- "6": "julio",
- "7": "agosto",
- "8": "septiembre",
- "9": "octubre",
- "10": "noviembre",
- "11": "diciembre"
- },
- "SHORTDAY": {
- "0": "dom",
- "1": "lun",
- "2": "mar",
- "3": "mi\u00e9",
- "4": "jue",
- "5": "vie",
- "6": "s\u00e1b"
- },
- "SHORTMONTH": {
- "0": "ene",
- "1": "feb",
- "2": "mar",
- "3": "abr",
- "4": "may",
- "5": "jun",
- "6": "jul",
- "7": "ago",
- "8": "sep",
- "9": "oct",
- "10": "nov",
- "11": "dic"
- },
+ "AMPMS": [
+ "a.m.",
+ "p.m."
+ ],
+ "DAY": [
+ "domingo",
+ "lunes",
+ "martes",
+ "mi\u00e9rcoles",
+ "jueves",
+ "viernes",
+ "s\u00e1bado"
+ ],
+ "MONTH": [
+ "enero",
+ "febrero",
+ "marzo",
+ "abril",
+ "mayo",
+ "junio",
+ "julio",
+ "agosto",
+ "septiembre",
+ "octubre",
+ "noviembre",
+ "diciembre"
+ ],
+ "SHORTDAY": [
+ "dom",
+ "lun",
+ "mar",
+ "mi\u00e9",
+ "jue",
+ "vie",
+ "s\u00e1b"
+ ],
+ "SHORTMONTH": [
+ "ene",
+ "feb",
+ "mar",
+ "abr",
+ "may",
+ "jun",
+ "jul",
+ "ago",
+ "sep",
+ "oct",
+ "nov",
+ "dic"
+ ],
"fullDate": "EEEE, d 'de' MMMM 'de' y",
"longDate": "d 'de' MMMM 'de' y",
"medium": "dd/MM/yyyy HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20ac",
"DECIMAL_SEP": ",",
"GROUP_SEP": ".",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "es-cr",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es-do.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es-do.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es-do.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "a.m.",
- "1": "p.m."
- },
- "DAY": {
- "0": "domingo",
- "1": "lunes",
- "2": "martes",
- "3": "mi\u00e9rcoles",
- "4": "jueves",
- "5": "viernes",
- "6": "s\u00e1bado"
- },
- "MONTH": {
- "0": "enero",
- "1": "febrero",
- "2": "marzo",
- "3": "abril",
- "4": "mayo",
- "5": "junio",
- "6": "julio",
- "7": "agosto",
- "8": "septiembre",
- "9": "octubre",
- "10": "noviembre",
- "11": "diciembre"
- },
- "SHORTDAY": {
- "0": "dom",
- "1": "lun",
- "2": "mar",
- "3": "mi\u00e9",
- "4": "jue",
- "5": "vie",
- "6": "s\u00e1b"
- },
- "SHORTMONTH": {
- "0": "ene",
- "1": "feb",
- "2": "mar",
- "3": "abr",
- "4": "may",
- "5": "jun",
- "6": "jul",
- "7": "ago",
- "8": "sep",
- "9": "oct",
- "10": "nov",
- "11": "dic"
- },
+ "AMPMS": [
+ "a.m.",
+ "p.m."
+ ],
+ "DAY": [
+ "domingo",
+ "lunes",
+ "martes",
+ "mi\u00e9rcoles",
+ "jueves",
+ "viernes",
+ "s\u00e1bado"
+ ],
+ "MONTH": [
+ "enero",
+ "febrero",
+ "marzo",
+ "abril",
+ "mayo",
+ "junio",
+ "julio",
+ "agosto",
+ "septiembre",
+ "octubre",
+ "noviembre",
+ "diciembre"
+ ],
+ "SHORTDAY": [
+ "dom",
+ "lun",
+ "mar",
+ "mi\u00e9",
+ "jue",
+ "vie",
+ "s\u00e1b"
+ ],
+ "SHORTMONTH": [
+ "ene",
+ "feb",
+ "mar",
+ "abr",
+ "may",
+ "jun",
+ "jul",
+ "ago",
+ "sep",
+ "oct",
+ "nov",
+ "dic"
+ ],
"fullDate": "EEEE, d 'de' MMMM 'de' y",
"longDate": "d 'de' MMMM 'de' y",
"medium": "dd/MM/yyyy HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20ac",
"DECIMAL_SEP": ",",
"GROUP_SEP": ".",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "es-do",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es-ea.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es-ea.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es-ea.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "a.m.",
- "1": "p.m."
- },
- "DAY": {
- "0": "domingo",
- "1": "lunes",
- "2": "martes",
- "3": "mi\u00e9rcoles",
- "4": "jueves",
- "5": "viernes",
- "6": "s\u00e1bado"
- },
- "MONTH": {
- "0": "enero",
- "1": "febrero",
- "2": "marzo",
- "3": "abril",
- "4": "mayo",
- "5": "junio",
- "6": "julio",
- "7": "agosto",
- "8": "septiembre",
- "9": "octubre",
- "10": "noviembre",
- "11": "diciembre"
- },
- "SHORTDAY": {
- "0": "dom",
- "1": "lun",
- "2": "mar",
- "3": "mi\u00e9",
- "4": "jue",
- "5": "vie",
- "6": "s\u00e1b"
- },
- "SHORTMONTH": {
- "0": "ene",
- "1": "feb",
- "2": "mar",
- "3": "abr",
- "4": "may",
- "5": "jun",
- "6": "jul",
- "7": "ago",
- "8": "sep",
- "9": "oct",
- "10": "nov",
- "11": "dic"
- },
+ "AMPMS": [
+ "a.m.",
+ "p.m."
+ ],
+ "DAY": [
+ "domingo",
+ "lunes",
+ "martes",
+ "mi\u00e9rcoles",
+ "jueves",
+ "viernes",
+ "s\u00e1bado"
+ ],
+ "MONTH": [
+ "enero",
+ "febrero",
+ "marzo",
+ "abril",
+ "mayo",
+ "junio",
+ "julio",
+ "agosto",
+ "septiembre",
+ "octubre",
+ "noviembre",
+ "diciembre"
+ ],
+ "SHORTDAY": [
+ "dom",
+ "lun",
+ "mar",
+ "mi\u00e9",
+ "jue",
+ "vie",
+ "s\u00e1b"
+ ],
+ "SHORTMONTH": [
+ "ene",
+ "feb",
+ "mar",
+ "abr",
+ "may",
+ "jun",
+ "jul",
+ "ago",
+ "sep",
+ "oct",
+ "nov",
+ "dic"
+ ],
"fullDate": "EEEE, d 'de' MMMM 'de' y",
"longDate": "d 'de' MMMM 'de' y",
"medium": "dd/MM/yyyy HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20ac",
"DECIMAL_SEP": ",",
"GROUP_SEP": ".",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "es-ea",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es-ec.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es-ec.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es-ec.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "a.m.",
- "1": "p.m."
- },
- "DAY": {
- "0": "domingo",
- "1": "lunes",
- "2": "martes",
- "3": "mi\u00e9rcoles",
- "4": "jueves",
- "5": "viernes",
- "6": "s\u00e1bado"
- },
- "MONTH": {
- "0": "enero",
- "1": "febrero",
- "2": "marzo",
- "3": "abril",
- "4": "mayo",
- "5": "junio",
- "6": "julio",
- "7": "agosto",
- "8": "septiembre",
- "9": "octubre",
- "10": "noviembre",
- "11": "diciembre"
- },
- "SHORTDAY": {
- "0": "dom",
- "1": "lun",
- "2": "mar",
- "3": "mi\u00e9",
- "4": "jue",
- "5": "vie",
- "6": "s\u00e1b"
- },
- "SHORTMONTH": {
- "0": "ene",
- "1": "feb",
- "2": "mar",
- "3": "abr",
- "4": "may",
- "5": "jun",
- "6": "jul",
- "7": "ago",
- "8": "sep",
- "9": "oct",
- "10": "nov",
- "11": "dic"
- },
+ "AMPMS": [
+ "a.m.",
+ "p.m."
+ ],
+ "DAY": [
+ "domingo",
+ "lunes",
+ "martes",
+ "mi\u00e9rcoles",
+ "jueves",
+ "viernes",
+ "s\u00e1bado"
+ ],
+ "MONTH": [
+ "enero",
+ "febrero",
+ "marzo",
+ "abril",
+ "mayo",
+ "junio",
+ "julio",
+ "agosto",
+ "septiembre",
+ "octubre",
+ "noviembre",
+ "diciembre"
+ ],
+ "SHORTDAY": [
+ "dom",
+ "lun",
+ "mar",
+ "mi\u00e9",
+ "jue",
+ "vie",
+ "s\u00e1b"
+ ],
+ "SHORTMONTH": [
+ "ene",
+ "feb",
+ "mar",
+ "abr",
+ "may",
+ "jun",
+ "jul",
+ "ago",
+ "sep",
+ "oct",
+ "nov",
+ "dic"
+ ],
"fullDate": "EEEE, d 'de' MMMM 'de' y",
"longDate": "d 'de' MMMM 'de' y",
"medium": "dd/MM/yyyy H:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20ac",
"DECIMAL_SEP": ",",
"GROUP_SEP": ".",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "es-ec",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es-es.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es-es.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es-es.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "a.m.",
- "1": "p.m."
- },
- "DAY": {
- "0": "domingo",
- "1": "lunes",
- "2": "martes",
- "3": "mi\u00e9rcoles",
- "4": "jueves",
- "5": "viernes",
- "6": "s\u00e1bado"
- },
- "MONTH": {
- "0": "enero",
- "1": "febrero",
- "2": "marzo",
- "3": "abril",
- "4": "mayo",
- "5": "junio",
- "6": "julio",
- "7": "agosto",
- "8": "septiembre",
- "9": "octubre",
- "10": "noviembre",
- "11": "diciembre"
- },
- "SHORTDAY": {
- "0": "dom",
- "1": "lun",
- "2": "mar",
- "3": "mi\u00e9",
- "4": "jue",
- "5": "vie",
- "6": "s\u00e1b"
- },
- "SHORTMONTH": {
- "0": "ene",
- "1": "feb",
- "2": "mar",
- "3": "abr",
- "4": "may",
- "5": "jun",
- "6": "jul",
- "7": "ago",
- "8": "sep",
- "9": "oct",
- "10": "nov",
- "11": "dic"
- },
+ "AMPMS": [
+ "a.m.",
+ "p.m."
+ ],
+ "DAY": [
+ "domingo",
+ "lunes",
+ "martes",
+ "mi\u00e9rcoles",
+ "jueves",
+ "viernes",
+ "s\u00e1bado"
+ ],
+ "MONTH": [
+ "enero",
+ "febrero",
+ "marzo",
+ "abril",
+ "mayo",
+ "junio",
+ "julio",
+ "agosto",
+ "septiembre",
+ "octubre",
+ "noviembre",
+ "diciembre"
+ ],
+ "SHORTDAY": [
+ "dom",
+ "lun",
+ "mar",
+ "mi\u00e9",
+ "jue",
+ "vie",
+ "s\u00e1b"
+ ],
+ "SHORTMONTH": [
+ "ene",
+ "feb",
+ "mar",
+ "abr",
+ "may",
+ "jun",
+ "jul",
+ "ago",
+ "sep",
+ "oct",
+ "nov",
+ "dic"
+ ],
"fullDate": "EEEE, d 'de' MMMM 'de' y",
"longDate": "d 'de' MMMM 'de' y",
"medium": "dd/MM/yyyy HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20ac",
"DECIMAL_SEP": ",",
"GROUP_SEP": ".",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "es-es",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es-gq.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es-gq.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es-gq.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "a.m.",
- "1": "p.m."
- },
- "DAY": {
- "0": "domingo",
- "1": "lunes",
- "2": "martes",
- "3": "mi\u00e9rcoles",
- "4": "jueves",
- "5": "viernes",
- "6": "s\u00e1bado"
- },
- "MONTH": {
- "0": "enero",
- "1": "febrero",
- "2": "marzo",
- "3": "abril",
- "4": "mayo",
- "5": "junio",
- "6": "julio",
- "7": "agosto",
- "8": "septiembre",
- "9": "octubre",
- "10": "noviembre",
- "11": "diciembre"
- },
- "SHORTDAY": {
- "0": "dom",
- "1": "lun",
- "2": "mar",
- "3": "mi\u00e9",
- "4": "jue",
- "5": "vie",
- "6": "s\u00e1b"
- },
- "SHORTMONTH": {
- "0": "ene",
- "1": "feb",
- "2": "mar",
- "3": "abr",
- "4": "may",
- "5": "jun",
- "6": "jul",
- "7": "ago",
- "8": "sep",
- "9": "oct",
- "10": "nov",
- "11": "dic"
- },
+ "AMPMS": [
+ "a.m.",
+ "p.m."
+ ],
+ "DAY": [
+ "domingo",
+ "lunes",
+ "martes",
+ "mi\u00e9rcoles",
+ "jueves",
+ "viernes",
+ "s\u00e1bado"
+ ],
+ "MONTH": [
+ "enero",
+ "febrero",
+ "marzo",
+ "abril",
+ "mayo",
+ "junio",
+ "julio",
+ "agosto",
+ "septiembre",
+ "octubre",
+ "noviembre",
+ "diciembre"
+ ],
+ "SHORTDAY": [
+ "dom",
+ "lun",
+ "mar",
+ "mi\u00e9",
+ "jue",
+ "vie",
+ "s\u00e1b"
+ ],
+ "SHORTMONTH": [
+ "ene",
+ "feb",
+ "mar",
+ "abr",
+ "may",
+ "jun",
+ "jul",
+ "ago",
+ "sep",
+ "oct",
+ "nov",
+ "dic"
+ ],
"fullDate": "EEEE, d 'de' MMMM 'de' y",
"longDate": "d 'de' MMMM 'de' y",
"medium": "dd/MM/yyyy HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20ac",
"DECIMAL_SEP": ",",
"GROUP_SEP": ".",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "es-gq",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es-gt.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es-gt.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es-gt.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "a.m.",
- "1": "p.m."
- },
- "DAY": {
- "0": "domingo",
- "1": "lunes",
- "2": "martes",
- "3": "mi\u00e9rcoles",
- "4": "jueves",
- "5": "viernes",
- "6": "s\u00e1bado"
- },
- "MONTH": {
- "0": "enero",
- "1": "febrero",
- "2": "marzo",
- "3": "abril",
- "4": "mayo",
- "5": "junio",
- "6": "julio",
- "7": "agosto",
- "8": "septiembre",
- "9": "octubre",
- "10": "noviembre",
- "11": "diciembre"
- },
- "SHORTDAY": {
- "0": "dom",
- "1": "lun",
- "2": "mar",
- "3": "mi\u00e9",
- "4": "jue",
- "5": "vie",
- "6": "s\u00e1b"
- },
- "SHORTMONTH": {
- "0": "ene",
- "1": "feb",
- "2": "mar",
- "3": "abr",
- "4": "may",
- "5": "jun",
- "6": "jul",
- "7": "ago",
- "8": "sep",
- "9": "oct",
- "10": "nov",
- "11": "dic"
- },
+ "AMPMS": [
+ "a.m.",
+ "p.m."
+ ],
+ "DAY": [
+ "domingo",
+ "lunes",
+ "martes",
+ "mi\u00e9rcoles",
+ "jueves",
+ "viernes",
+ "s\u00e1bado"
+ ],
+ "MONTH": [
+ "enero",
+ "febrero",
+ "marzo",
+ "abril",
+ "mayo",
+ "junio",
+ "julio",
+ "agosto",
+ "septiembre",
+ "octubre",
+ "noviembre",
+ "diciembre"
+ ],
+ "SHORTDAY": [
+ "dom",
+ "lun",
+ "mar",
+ "mi\u00e9",
+ "jue",
+ "vie",
+ "s\u00e1b"
+ ],
+ "SHORTMONTH": [
+ "ene",
+ "feb",
+ "mar",
+ "abr",
+ "may",
+ "jun",
+ "jul",
+ "ago",
+ "sep",
+ "oct",
+ "nov",
+ "dic"
+ ],
"fullDate": "EEEE, d 'de' MMMM 'de' y",
"longDate": "d 'de' MMMM 'de' y",
"medium": "d/MM/yyyy HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20ac",
"DECIMAL_SEP": ",",
"GROUP_SEP": ".",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "es-gt",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es-hn.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es-hn.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es-hn.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "a.m.",
- "1": "p.m."
- },
- "DAY": {
- "0": "domingo",
- "1": "lunes",
- "2": "martes",
- "3": "mi\u00e9rcoles",
- "4": "jueves",
- "5": "viernes",
- "6": "s\u00e1bado"
- },
- "MONTH": {
- "0": "enero",
- "1": "febrero",
- "2": "marzo",
- "3": "abril",
- "4": "mayo",
- "5": "junio",
- "6": "julio",
- "7": "agosto",
- "8": "septiembre",
- "9": "octubre",
- "10": "noviembre",
- "11": "diciembre"
- },
- "SHORTDAY": {
- "0": "dom",
- "1": "lun",
- "2": "mar",
- "3": "mi\u00e9",
- "4": "jue",
- "5": "vie",
- "6": "s\u00e1b"
- },
- "SHORTMONTH": {
- "0": "ene",
- "1": "feb",
- "2": "mar",
- "3": "abr",
- "4": "may",
- "5": "jun",
- "6": "jul",
- "7": "ago",
- "8": "sep",
- "9": "oct",
- "10": "nov",
- "11": "dic"
- },
+ "AMPMS": [
+ "a.m.",
+ "p.m."
+ ],
+ "DAY": [
+ "domingo",
+ "lunes",
+ "martes",
+ "mi\u00e9rcoles",
+ "jueves",
+ "viernes",
+ "s\u00e1bado"
+ ],
+ "MONTH": [
+ "enero",
+ "febrero",
+ "marzo",
+ "abril",
+ "mayo",
+ "junio",
+ "julio",
+ "agosto",
+ "septiembre",
+ "octubre",
+ "noviembre",
+ "diciembre"
+ ],
+ "SHORTDAY": [
+ "dom",
+ "lun",
+ "mar",
+ "mi\u00e9",
+ "jue",
+ "vie",
+ "s\u00e1b"
+ ],
+ "SHORTMONTH": [
+ "ene",
+ "feb",
+ "mar",
+ "abr",
+ "may",
+ "jun",
+ "jul",
+ "ago",
+ "sep",
+ "oct",
+ "nov",
+ "dic"
+ ],
"fullDate": "EEEE dd 'de' MMMM 'de' y",
"longDate": "dd 'de' MMMM 'de' y",
"medium": "dd/MM/yyyy HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20ac",
"DECIMAL_SEP": ",",
"GROUP_SEP": ".",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "es-hn",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es-ic.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es-ic.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es-ic.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "a.m.",
- "1": "p.m."
- },
- "DAY": {
- "0": "domingo",
- "1": "lunes",
- "2": "martes",
- "3": "mi\u00e9rcoles",
- "4": "jueves",
- "5": "viernes",
- "6": "s\u00e1bado"
- },
- "MONTH": {
- "0": "enero",
- "1": "febrero",
- "2": "marzo",
- "3": "abril",
- "4": "mayo",
- "5": "junio",
- "6": "julio",
- "7": "agosto",
- "8": "septiembre",
- "9": "octubre",
- "10": "noviembre",
- "11": "diciembre"
- },
- "SHORTDAY": {
- "0": "dom",
- "1": "lun",
- "2": "mar",
- "3": "mi\u00e9",
- "4": "jue",
- "5": "vie",
- "6": "s\u00e1b"
- },
- "SHORTMONTH": {
- "0": "ene",
- "1": "feb",
- "2": "mar",
- "3": "abr",
- "4": "may",
- "5": "jun",
- "6": "jul",
- "7": "ago",
- "8": "sep",
- "9": "oct",
- "10": "nov",
- "11": "dic"
- },
+ "AMPMS": [
+ "a.m.",
+ "p.m."
+ ],
+ "DAY": [
+ "domingo",
+ "lunes",
+ "martes",
+ "mi\u00e9rcoles",
+ "jueves",
+ "viernes",
+ "s\u00e1bado"
+ ],
+ "MONTH": [
+ "enero",
+ "febrero",
+ "marzo",
+ "abril",
+ "mayo",
+ "junio",
+ "julio",
+ "agosto",
+ "septiembre",
+ "octubre",
+ "noviembre",
+ "diciembre"
+ ],
+ "SHORTDAY": [
+ "dom",
+ "lun",
+ "mar",
+ "mi\u00e9",
+ "jue",
+ "vie",
+ "s\u00e1b"
+ ],
+ "SHORTMONTH": [
+ "ene",
+ "feb",
+ "mar",
+ "abr",
+ "may",
+ "jun",
+ "jul",
+ "ago",
+ "sep",
+ "oct",
+ "nov",
+ "dic"
+ ],
"fullDate": "EEEE, d 'de' MMMM 'de' y",
"longDate": "d 'de' MMMM 'de' y",
"medium": "dd/MM/yyyy HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20ac",
"DECIMAL_SEP": ",",
"GROUP_SEP": ".",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "es-ic",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es-mx.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es-mx.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es-mx.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "a.m.",
- "1": "p.m."
- },
- "DAY": {
- "0": "domingo",
- "1": "lunes",
- "2": "martes",
- "3": "mi\u00e9rcoles",
- "4": "jueves",
- "5": "viernes",
- "6": "s\u00e1bado"
- },
- "MONTH": {
- "0": "enero",
- "1": "febrero",
- "2": "marzo",
- "3": "abril",
- "4": "mayo",
- "5": "junio",
- "6": "julio",
- "7": "agosto",
- "8": "septiembre",
- "9": "octubre",
- "10": "noviembre",
- "11": "diciembre"
- },
- "SHORTDAY": {
- "0": "dom",
- "1": "lun",
- "2": "mar",
- "3": "mi\u00e9",
- "4": "jue",
- "5": "vie",
- "6": "s\u00e1b"
- },
- "SHORTMONTH": {
- "0": "ene",
- "1": "feb",
- "2": "mar",
- "3": "abr",
- "4": "may",
- "5": "jun",
- "6": "jul",
- "7": "ago",
- "8": "sep",
- "9": "oct",
- "10": "nov",
- "11": "dic"
- },
+ "AMPMS": [
+ "a.m.",
+ "p.m."
+ ],
+ "DAY": [
+ "domingo",
+ "lunes",
+ "martes",
+ "mi\u00e9rcoles",
+ "jueves",
+ "viernes",
+ "s\u00e1bado"
+ ],
+ "MONTH": [
+ "enero",
+ "febrero",
+ "marzo",
+ "abril",
+ "mayo",
+ "junio",
+ "julio",
+ "agosto",
+ "septiembre",
+ "octubre",
+ "noviembre",
+ "diciembre"
+ ],
+ "SHORTDAY": [
+ "dom",
+ "lun",
+ "mar",
+ "mi\u00e9",
+ "jue",
+ "vie",
+ "s\u00e1b"
+ ],
+ "SHORTMONTH": [
+ "ene",
+ "feb",
+ "mar",
+ "abr",
+ "may",
+ "jun",
+ "jul",
+ "ago",
+ "sep",
+ "oct",
+ "nov",
+ "dic"
+ ],
"fullDate": "EEEE, d 'de' MMMM 'de' y",
"longDate": "d 'de' MMMM 'de' y",
"medium": "dd/MM/yyyy HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20ac",
"DECIMAL_SEP": ",",
"GROUP_SEP": ".",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "es-mx",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es-ni.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es-ni.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es-ni.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "a.m.",
- "1": "p.m."
- },
- "DAY": {
- "0": "domingo",
- "1": "lunes",
- "2": "martes",
- "3": "mi\u00e9rcoles",
- "4": "jueves",
- "5": "viernes",
- "6": "s\u00e1bado"
- },
- "MONTH": {
- "0": "enero",
- "1": "febrero",
- "2": "marzo",
- "3": "abril",
- "4": "mayo",
- "5": "junio",
- "6": "julio",
- "7": "agosto",
- "8": "septiembre",
- "9": "octubre",
- "10": "noviembre",
- "11": "diciembre"
- },
- "SHORTDAY": {
- "0": "dom",
- "1": "lun",
- "2": "mar",
- "3": "mi\u00e9",
- "4": "jue",
- "5": "vie",
- "6": "s\u00e1b"
- },
- "SHORTMONTH": {
- "0": "ene",
- "1": "feb",
- "2": "mar",
- "3": "abr",
- "4": "may",
- "5": "jun",
- "6": "jul",
- "7": "ago",
- "8": "sep",
- "9": "oct",
- "10": "nov",
- "11": "dic"
- },
+ "AMPMS": [
+ "a.m.",
+ "p.m."
+ ],
+ "DAY": [
+ "domingo",
+ "lunes",
+ "martes",
+ "mi\u00e9rcoles",
+ "jueves",
+ "viernes",
+ "s\u00e1bado"
+ ],
+ "MONTH": [
+ "enero",
+ "febrero",
+ "marzo",
+ "abril",
+ "mayo",
+ "junio",
+ "julio",
+ "agosto",
+ "septiembre",
+ "octubre",
+ "noviembre",
+ "diciembre"
+ ],
+ "SHORTDAY": [
+ "dom",
+ "lun",
+ "mar",
+ "mi\u00e9",
+ "jue",
+ "vie",
+ "s\u00e1b"
+ ],
+ "SHORTMONTH": [
+ "ene",
+ "feb",
+ "mar",
+ "abr",
+ "may",
+ "jun",
+ "jul",
+ "ago",
+ "sep",
+ "oct",
+ "nov",
+ "dic"
+ ],
"fullDate": "EEEE, d 'de' MMMM 'de' y",
"longDate": "d 'de' MMMM 'de' y",
"medium": "dd/MM/yyyy HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20ac",
"DECIMAL_SEP": ",",
"GROUP_SEP": ".",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "es-ni",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es-pa.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es-pa.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es-pa.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "a.m.",
- "1": "p.m."
- },
- "DAY": {
- "0": "domingo",
- "1": "lunes",
- "2": "martes",
- "3": "mi\u00e9rcoles",
- "4": "jueves",
- "5": "viernes",
- "6": "s\u00e1bado"
- },
- "MONTH": {
- "0": "enero",
- "1": "febrero",
- "2": "marzo",
- "3": "abril",
- "4": "mayo",
- "5": "junio",
- "6": "julio",
- "7": "agosto",
- "8": "septiembre",
- "9": "octubre",
- "10": "noviembre",
- "11": "diciembre"
- },
- "SHORTDAY": {
- "0": "dom",
- "1": "lun",
- "2": "mar",
- "3": "mi\u00e9",
- "4": "jue",
- "5": "vie",
- "6": "s\u00e1b"
- },
- "SHORTMONTH": {
- "0": "ene",
- "1": "feb",
- "2": "mar",
- "3": "abr",
- "4": "may",
- "5": "jun",
- "6": "jul",
- "7": "ago",
- "8": "sep",
- "9": "oct",
- "10": "nov",
- "11": "dic"
- },
+ "AMPMS": [
+ "a.m.",
+ "p.m."
+ ],
+ "DAY": [
+ "domingo",
+ "lunes",
+ "martes",
+ "mi\u00e9rcoles",
+ "jueves",
+ "viernes",
+ "s\u00e1bado"
+ ],
+ "MONTH": [
+ "enero",
+ "febrero",
+ "marzo",
+ "abril",
+ "mayo",
+ "junio",
+ "julio",
+ "agosto",
+ "septiembre",
+ "octubre",
+ "noviembre",
+ "diciembre"
+ ],
+ "SHORTDAY": [
+ "dom",
+ "lun",
+ "mar",
+ "mi\u00e9",
+ "jue",
+ "vie",
+ "s\u00e1b"
+ ],
+ "SHORTMONTH": [
+ "ene",
+ "feb",
+ "mar",
+ "abr",
+ "may",
+ "jun",
+ "jul",
+ "ago",
+ "sep",
+ "oct",
+ "nov",
+ "dic"
+ ],
"fullDate": "EEEE, d 'de' MMMM 'de' y",
"longDate": "d 'de' MMMM 'de' y",
"medium": "MM/dd/yyyy HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20ac",
"DECIMAL_SEP": ",",
"GROUP_SEP": ".",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "es-pa",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es-pe.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es-pe.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es-pe.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "a.m.",
- "1": "p.m."
- },
- "DAY": {
- "0": "domingo",
- "1": "lunes",
- "2": "martes",
- "3": "mi\u00e9rcoles",
- "4": "jueves",
- "5": "viernes",
- "6": "s\u00e1bado"
- },
- "MONTH": {
- "0": "enero",
- "1": "febrero",
- "2": "marzo",
- "3": "abril",
- "4": "mayo",
- "5": "junio",
- "6": "julio",
- "7": "agosto",
- "8": "septiembre",
- "9": "octubre",
- "10": "noviembre",
- "11": "diciembre"
- },
- "SHORTDAY": {
- "0": "dom",
- "1": "lun",
- "2": "mar",
- "3": "mi\u00e9",
- "4": "jue",
- "5": "vie",
- "6": "s\u00e1b"
- },
- "SHORTMONTH": {
- "0": "ene",
- "1": "feb",
- "2": "mar",
- "3": "abr",
- "4": "may",
- "5": "jun",
- "6": "jul",
- "7": "ago",
- "8": "sep",
- "9": "oct",
- "10": "nov",
- "11": "dic"
- },
+ "AMPMS": [
+ "a.m.",
+ "p.m."
+ ],
+ "DAY": [
+ "domingo",
+ "lunes",
+ "martes",
+ "mi\u00e9rcoles",
+ "jueves",
+ "viernes",
+ "s\u00e1bado"
+ ],
+ "MONTH": [
+ "enero",
+ "febrero",
+ "marzo",
+ "abril",
+ "mayo",
+ "junio",
+ "julio",
+ "agosto",
+ "septiembre",
+ "octubre",
+ "noviembre",
+ "diciembre"
+ ],
+ "SHORTDAY": [
+ "dom",
+ "lun",
+ "mar",
+ "mi\u00e9",
+ "jue",
+ "vie",
+ "s\u00e1b"
+ ],
+ "SHORTMONTH": [
+ "ene",
+ "feb",
+ "mar",
+ "abr",
+ "may",
+ "jun",
+ "jul",
+ "ago",
+ "sep",
+ "oct",
+ "nov",
+ "dic"
+ ],
"fullDate": "EEEE, d 'de' MMMM 'de' y",
"longDate": "d 'de' MMMM 'de' y",
"medium": "dd/MM/yyyy HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20ac",
"DECIMAL_SEP": ",",
"GROUP_SEP": ".",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "es-pe",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es-pr.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es-pr.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es-pr.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "a.m.",
- "1": "p.m."
- },
- "DAY": {
- "0": "domingo",
- "1": "lunes",
- "2": "martes",
- "3": "mi\u00e9rcoles",
- "4": "jueves",
- "5": "viernes",
- "6": "s\u00e1bado"
- },
- "MONTH": {
- "0": "enero",
- "1": "febrero",
- "2": "marzo",
- "3": "abril",
- "4": "mayo",
- "5": "junio",
- "6": "julio",
- "7": "agosto",
- "8": "septiembre",
- "9": "octubre",
- "10": "noviembre",
- "11": "diciembre"
- },
- "SHORTDAY": {
- "0": "dom",
- "1": "lun",
- "2": "mar",
- "3": "mi\u00e9",
- "4": "jue",
- "5": "vie",
- "6": "s\u00e1b"
- },
- "SHORTMONTH": {
- "0": "ene",
- "1": "feb",
- "2": "mar",
- "3": "abr",
- "4": "may",
- "5": "jun",
- "6": "jul",
- "7": "ago",
- "8": "sep",
- "9": "oct",
- "10": "nov",
- "11": "dic"
- },
+ "AMPMS": [
+ "a.m.",
+ "p.m."
+ ],
+ "DAY": [
+ "domingo",
+ "lunes",
+ "martes",
+ "mi\u00e9rcoles",
+ "jueves",
+ "viernes",
+ "s\u00e1bado"
+ ],
+ "MONTH": [
+ "enero",
+ "febrero",
+ "marzo",
+ "abril",
+ "mayo",
+ "junio",
+ "julio",
+ "agosto",
+ "septiembre",
+ "octubre",
+ "noviembre",
+ "diciembre"
+ ],
+ "SHORTDAY": [
+ "dom",
+ "lun",
+ "mar",
+ "mi\u00e9",
+ "jue",
+ "vie",
+ "s\u00e1b"
+ ],
+ "SHORTMONTH": [
+ "ene",
+ "feb",
+ "mar",
+ "abr",
+ "may",
+ "jun",
+ "jul",
+ "ago",
+ "sep",
+ "oct",
+ "nov",
+ "dic"
+ ],
"fullDate": "EEEE, d 'de' MMMM 'de' y",
"longDate": "d 'de' MMMM 'de' y",
"medium": "MM/dd/yyyy HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20ac",
"DECIMAL_SEP": ",",
"GROUP_SEP": ".",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "es-pr",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es-py.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es-py.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es-py.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "a.m.",
- "1": "p.m."
- },
- "DAY": {
- "0": "domingo",
- "1": "lunes",
- "2": "martes",
- "3": "mi\u00e9rcoles",
- "4": "jueves",
- "5": "viernes",
- "6": "s\u00e1bado"
- },
- "MONTH": {
- "0": "enero",
- "1": "febrero",
- "2": "marzo",
- "3": "abril",
- "4": "mayo",
- "5": "junio",
- "6": "julio",
- "7": "agosto",
- "8": "septiembre",
- "9": "octubre",
- "10": "noviembre",
- "11": "diciembre"
- },
- "SHORTDAY": {
- "0": "dom",
- "1": "lun",
- "2": "mar",
- "3": "mi\u00e9",
- "4": "jue",
- "5": "vie",
- "6": "s\u00e1b"
- },
- "SHORTMONTH": {
- "0": "ene",
- "1": "feb",
- "2": "mar",
- "3": "abr",
- "4": "may",
- "5": "jun",
- "6": "jul",
- "7": "ago",
- "8": "sep",
- "9": "oct",
- "10": "nov",
- "11": "dic"
- },
+ "AMPMS": [
+ "a.m.",
+ "p.m."
+ ],
+ "DAY": [
+ "domingo",
+ "lunes",
+ "martes",
+ "mi\u00e9rcoles",
+ "jueves",
+ "viernes",
+ "s\u00e1bado"
+ ],
+ "MONTH": [
+ "enero",
+ "febrero",
+ "marzo",
+ "abril",
+ "mayo",
+ "junio",
+ "julio",
+ "agosto",
+ "septiembre",
+ "octubre",
+ "noviembre",
+ "diciembre"
+ ],
+ "SHORTDAY": [
+ "dom",
+ "lun",
+ "mar",
+ "mi\u00e9",
+ "jue",
+ "vie",
+ "s\u00e1b"
+ ],
+ "SHORTMONTH": [
+ "ene",
+ "feb",
+ "mar",
+ "abr",
+ "may",
+ "jun",
+ "jul",
+ "ago",
+ "sep",
+ "oct",
+ "nov",
+ "dic"
+ ],
"fullDate": "EEEE, d 'de' MMMM 'de' y",
"longDate": "d 'de' MMMM 'de' y",
"medium": "dd/MM/yyyy HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20ac",
"DECIMAL_SEP": ",",
"GROUP_SEP": ".",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "es-py",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es-sv.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es-sv.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es-sv.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "a.m.",
- "1": "p.m."
- },
- "DAY": {
- "0": "domingo",
- "1": "lunes",
- "2": "martes",
- "3": "mi\u00e9rcoles",
- "4": "jueves",
- "5": "viernes",
- "6": "s\u00e1bado"
- },
- "MONTH": {
- "0": "enero",
- "1": "febrero",
- "2": "marzo",
- "3": "abril",
- "4": "mayo",
- "5": "junio",
- "6": "julio",
- "7": "agosto",
- "8": "septiembre",
- "9": "octubre",
- "10": "noviembre",
- "11": "diciembre"
- },
- "SHORTDAY": {
- "0": "dom",
- "1": "lun",
- "2": "mar",
- "3": "mi\u00e9",
- "4": "jue",
- "5": "vie",
- "6": "s\u00e1b"
- },
- "SHORTMONTH": {
- "0": "ene",
- "1": "feb",
- "2": "mar",
- "3": "abr",
- "4": "may",
- "5": "jun",
- "6": "jul",
- "7": "ago",
- "8": "sep",
- "9": "oct",
- "10": "nov",
- "11": "dic"
- },
+ "AMPMS": [
+ "a.m.",
+ "p.m."
+ ],
+ "DAY": [
+ "domingo",
+ "lunes",
+ "martes",
+ "mi\u00e9rcoles",
+ "jueves",
+ "viernes",
+ "s\u00e1bado"
+ ],
+ "MONTH": [
+ "enero",
+ "febrero",
+ "marzo",
+ "abril",
+ "mayo",
+ "junio",
+ "julio",
+ "agosto",
+ "septiembre",
+ "octubre",
+ "noviembre",
+ "diciembre"
+ ],
+ "SHORTDAY": [
+ "dom",
+ "lun",
+ "mar",
+ "mi\u00e9",
+ "jue",
+ "vie",
+ "s\u00e1b"
+ ],
+ "SHORTMONTH": [
+ "ene",
+ "feb",
+ "mar",
+ "abr",
+ "may",
+ "jun",
+ "jul",
+ "ago",
+ "sep",
+ "oct",
+ "nov",
+ "dic"
+ ],
"fullDate": "EEEE, d 'de' MMMM 'de' y",
"longDate": "d 'de' MMMM 'de' y",
"medium": "dd/MM/yyyy HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20ac",
"DECIMAL_SEP": ",",
"GROUP_SEP": ".",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "es-sv",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es-us.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es-us.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es-us.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "a.m.",
- "1": "p.m."
- },
- "DAY": {
- "0": "domingo",
- "1": "lunes",
- "2": "martes",
- "3": "mi\u00e9rcoles",
- "4": "jueves",
- "5": "viernes",
- "6": "s\u00e1bado"
- },
- "MONTH": {
- "0": "enero",
- "1": "febrero",
- "2": "marzo",
- "3": "abril",
- "4": "mayo",
- "5": "junio",
- "6": "julio",
- "7": "agosto",
- "8": "septiembre",
- "9": "octubre",
- "10": "noviembre",
- "11": "diciembre"
- },
- "SHORTDAY": {
- "0": "dom",
- "1": "lun",
- "2": "mar",
- "3": "mi\u00e9",
- "4": "jue",
- "5": "vie",
- "6": "s\u00e1b"
- },
- "SHORTMONTH": {
- "0": "ene",
- "1": "feb",
- "2": "mar",
- "3": "abr",
- "4": "may",
- "5": "jun",
- "6": "jul",
- "7": "ago",
- "8": "sep",
- "9": "oct",
- "10": "nov",
- "11": "dic"
- },
+ "AMPMS": [
+ "a.m.",
+ "p.m."
+ ],
+ "DAY": [
+ "domingo",
+ "lunes",
+ "martes",
+ "mi\u00e9rcoles",
+ "jueves",
+ "viernes",
+ "s\u00e1bado"
+ ],
+ "MONTH": [
+ "enero",
+ "febrero",
+ "marzo",
+ "abril",
+ "mayo",
+ "junio",
+ "julio",
+ "agosto",
+ "septiembre",
+ "octubre",
+ "noviembre",
+ "diciembre"
+ ],
+ "SHORTDAY": [
+ "dom",
+ "lun",
+ "mar",
+ "mi\u00e9",
+ "jue",
+ "vie",
+ "s\u00e1b"
+ ],
+ "SHORTMONTH": [
+ "ene",
+ "feb",
+ "mar",
+ "abr",
+ "may",
+ "jun",
+ "jul",
+ "ago",
+ "sep",
+ "oct",
+ "nov",
+ "dic"
+ ],
"fullDate": "EEEE, d 'de' MMMM 'de' y",
"longDate": "d 'de' MMMM 'de' y",
"medium": "MMM d, y h:mm:ss a",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20ac",
"DECIMAL_SEP": ",",
"GROUP_SEP": ".",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "es-us",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es-uy.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es-uy.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es-uy.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "a.m.",
- "1": "p.m."
- },
- "DAY": {
- "0": "domingo",
- "1": "lunes",
- "2": "martes",
- "3": "mi\u00e9rcoles",
- "4": "jueves",
- "5": "viernes",
- "6": "s\u00e1bado"
- },
- "MONTH": {
- "0": "enero",
- "1": "febrero",
- "2": "marzo",
- "3": "abril",
- "4": "mayo",
- "5": "junio",
- "6": "julio",
- "7": "agosto",
- "8": "septiembre",
- "9": "octubre",
- "10": "noviembre",
- "11": "diciembre"
- },
- "SHORTDAY": {
- "0": "dom",
- "1": "lun",
- "2": "mar",
- "3": "mi\u00e9",
- "4": "jue",
- "5": "vie",
- "6": "s\u00e1b"
- },
- "SHORTMONTH": {
- "0": "ene",
- "1": "feb",
- "2": "mar",
- "3": "abr",
- "4": "may",
- "5": "jun",
- "6": "jul",
- "7": "ago",
- "8": "sep",
- "9": "oct",
- "10": "nov",
- "11": "dic"
- },
+ "AMPMS": [
+ "a.m.",
+ "p.m."
+ ],
+ "DAY": [
+ "domingo",
+ "lunes",
+ "martes",
+ "mi\u00e9rcoles",
+ "jueves",
+ "viernes",
+ "s\u00e1bado"
+ ],
+ "MONTH": [
+ "enero",
+ "febrero",
+ "marzo",
+ "abril",
+ "mayo",
+ "junio",
+ "julio",
+ "agosto",
+ "septiembre",
+ "octubre",
+ "noviembre",
+ "diciembre"
+ ],
+ "SHORTDAY": [
+ "dom",
+ "lun",
+ "mar",
+ "mi\u00e9",
+ "jue",
+ "vie",
+ "s\u00e1b"
+ ],
+ "SHORTMONTH": [
+ "ene",
+ "feb",
+ "mar",
+ "abr",
+ "may",
+ "jun",
+ "jul",
+ "ago",
+ "sep",
+ "oct",
+ "nov",
+ "dic"
+ ],
"fullDate": "EEEE, d 'de' MMMM 'de' y",
"longDate": "d 'de' MMMM 'de' y",
"medium": "dd/MM/yyyy HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20ac",
"DECIMAL_SEP": ",",
"GROUP_SEP": ".",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "es-uy",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es-ve.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es-ve.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es-ve.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "a.m.",
- "1": "p.m."
- },
- "DAY": {
- "0": "domingo",
- "1": "lunes",
- "2": "martes",
- "3": "mi\u00e9rcoles",
- "4": "jueves",
- "5": "viernes",
- "6": "s\u00e1bado"
- },
- "MONTH": {
- "0": "enero",
- "1": "febrero",
- "2": "marzo",
- "3": "abril",
- "4": "mayo",
- "5": "junio",
- "6": "julio",
- "7": "agosto",
- "8": "septiembre",
- "9": "octubre",
- "10": "noviembre",
- "11": "diciembre"
- },
- "SHORTDAY": {
- "0": "dom",
- "1": "lun",
- "2": "mar",
- "3": "mi\u00e9",
- "4": "jue",
- "5": "vie",
- "6": "s\u00e1b"
- },
- "SHORTMONTH": {
- "0": "ene",
- "1": "feb",
- "2": "mar",
- "3": "abr",
- "4": "may",
- "5": "jun",
- "6": "jul",
- "7": "ago",
- "8": "sep",
- "9": "oct",
- "10": "nov",
- "11": "dic"
- },
+ "AMPMS": [
+ "a.m.",
+ "p.m."
+ ],
+ "DAY": [
+ "domingo",
+ "lunes",
+ "martes",
+ "mi\u00e9rcoles",
+ "jueves",
+ "viernes",
+ "s\u00e1bado"
+ ],
+ "MONTH": [
+ "enero",
+ "febrero",
+ "marzo",
+ "abril",
+ "mayo",
+ "junio",
+ "julio",
+ "agosto",
+ "septiembre",
+ "octubre",
+ "noviembre",
+ "diciembre"
+ ],
+ "SHORTDAY": [
+ "dom",
+ "lun",
+ "mar",
+ "mi\u00e9",
+ "jue",
+ "vie",
+ "s\u00e1b"
+ ],
+ "SHORTMONTH": [
+ "ene",
+ "feb",
+ "mar",
+ "abr",
+ "may",
+ "jun",
+ "jul",
+ "ago",
+ "sep",
+ "oct",
+ "nov",
+ "dic"
+ ],
"fullDate": "EEEE, d 'de' MMMM 'de' y",
"longDate": "d 'de' MMMM 'de' y",
"medium": "dd/MM/yyyy HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20ac",
"DECIMAL_SEP": ",",
"GROUP_SEP": ".",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "es-ve",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_es.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "a.m.",
- "1": "p.m."
- },
- "DAY": {
- "0": "domingo",
- "1": "lunes",
- "2": "martes",
- "3": "mi\u00e9rcoles",
- "4": "jueves",
- "5": "viernes",
- "6": "s\u00e1bado"
- },
- "MONTH": {
- "0": "enero",
- "1": "febrero",
- "2": "marzo",
- "3": "abril",
- "4": "mayo",
- "5": "junio",
- "6": "julio",
- "7": "agosto",
- "8": "septiembre",
- "9": "octubre",
- "10": "noviembre",
- "11": "diciembre"
- },
- "SHORTDAY": {
- "0": "dom",
- "1": "lun",
- "2": "mar",
- "3": "mi\u00e9",
- "4": "jue",
- "5": "vie",
- "6": "s\u00e1b"
- },
- "SHORTMONTH": {
- "0": "ene",
- "1": "feb",
- "2": "mar",
- "3": "abr",
- "4": "may",
- "5": "jun",
- "6": "jul",
- "7": "ago",
- "8": "sep",
- "9": "oct",
- "10": "nov",
- "11": "dic"
- },
+ "AMPMS": [
+ "a.m.",
+ "p.m."
+ ],
+ "DAY": [
+ "domingo",
+ "lunes",
+ "martes",
+ "mi\u00e9rcoles",
+ "jueves",
+ "viernes",
+ "s\u00e1bado"
+ ],
+ "MONTH": [
+ "enero",
+ "febrero",
+ "marzo",
+ "abril",
+ "mayo",
+ "junio",
+ "julio",
+ "agosto",
+ "septiembre",
+ "octubre",
+ "noviembre",
+ "diciembre"
+ ],
+ "SHORTDAY": [
+ "dom",
+ "lun",
+ "mar",
+ "mi\u00e9",
+ "jue",
+ "vie",
+ "s\u00e1b"
+ ],
+ "SHORTMONTH": [
+ "ene",
+ "feb",
+ "mar",
+ "abr",
+ "may",
+ "jun",
+ "jul",
+ "ago",
+ "sep",
+ "oct",
+ "nov",
+ "dic"
+ ],
"fullDate": "EEEE, d 'de' MMMM 'de' y",
"longDate": "d 'de' MMMM 'de' y",
"medium": "dd/MM/yyyy HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20ac",
"DECIMAL_SEP": ",",
"GROUP_SEP": ".",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "es",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_et-ee.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_et-ee.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_et-ee.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "enne keskp\u00e4eva",
- "1": "p\u00e4rast keskp\u00e4eva"
- },
- "DAY": {
- "0": "p\u00fchap\u00e4ev",
- "1": "esmasp\u00e4ev",
- "2": "teisip\u00e4ev",
- "3": "kolmap\u00e4ev",
- "4": "neljap\u00e4ev",
- "5": "reede",
- "6": "laup\u00e4ev"
- },
- "MONTH": {
- "0": "jaanuar",
- "1": "veebruar",
- "2": "m\u00e4rts",
- "3": "aprill",
- "4": "mai",
- "5": "juuni",
- "6": "juuli",
- "7": "august",
- "8": "september",
- "9": "oktoober",
- "10": "november",
- "11": "detsember"
- },
- "SHORTDAY": {
- "0": "P",
- "1": "E",
- "2": "T",
- "3": "K",
- "4": "N",
- "5": "R",
- "6": "L"
- },
- "SHORTMONTH": {
- "0": "jaan",
- "1": "veebr",
- "2": "m\u00e4rts",
- "3": "apr",
- "4": "mai",
- "5": "juuni",
- "6": "juuli",
- "7": "aug",
- "8": "sept",
- "9": "okt",
- "10": "nov",
- "11": "dets"
- },
+ "AMPMS": [
+ "enne keskp\u00e4eva",
+ "p\u00e4rast keskp\u00e4eva"
+ ],
+ "DAY": [
+ "p\u00fchap\u00e4ev",
+ "esmasp\u00e4ev",
+ "teisip\u00e4ev",
+ "kolmap\u00e4ev",
+ "neljap\u00e4ev",
+ "reede",
+ "laup\u00e4ev"
+ ],
+ "MONTH": [
+ "jaanuar",
+ "veebruar",
+ "m\u00e4rts",
+ "aprill",
+ "mai",
+ "juuni",
+ "juuli",
+ "august",
+ "september",
+ "oktoober",
+ "november",
+ "detsember"
+ ],
+ "SHORTDAY": [
+ "P",
+ "E",
+ "T",
+ "K",
+ "N",
+ "R",
+ "L"
+ ],
+ "SHORTMONTH": [
+ "jaan",
+ "veebr",
+ "m\u00e4rts",
+ "apr",
+ "mai",
+ "juuni",
+ "juuli",
+ "aug",
+ "sept",
+ "okt",
+ "nov",
+ "dets"
+ ],
"fullDate": "EEEE, d. MMMM y",
"longDate": "d. MMMM y",
"medium": "dd.MM.yyyy H:mm.ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20ac",
"DECIMAL_SEP": ",",
"GROUP_SEP": "\u00a0",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 0,
"lgSize": 0,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a4"
}
- }
+ ]
},
"id": "et-ee",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_et.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_et.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_et.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "enne keskp\u00e4eva",
- "1": "p\u00e4rast keskp\u00e4eva"
- },
- "DAY": {
- "0": "p\u00fchap\u00e4ev",
- "1": "esmasp\u00e4ev",
- "2": "teisip\u00e4ev",
- "3": "kolmap\u00e4ev",
- "4": "neljap\u00e4ev",
- "5": "reede",
- "6": "laup\u00e4ev"
- },
- "MONTH": {
- "0": "jaanuar",
- "1": "veebruar",
- "2": "m\u00e4rts",
- "3": "aprill",
- "4": "mai",
- "5": "juuni",
- "6": "juuli",
- "7": "august",
- "8": "september",
- "9": "oktoober",
- "10": "november",
- "11": "detsember"
- },
- "SHORTDAY": {
- "0": "P",
- "1": "E",
- "2": "T",
- "3": "K",
- "4": "N",
- "5": "R",
- "6": "L"
- },
- "SHORTMONTH": {
- "0": "jaan",
- "1": "veebr",
- "2": "m\u00e4rts",
- "3": "apr",
- "4": "mai",
- "5": "juuni",
- "6": "juuli",
- "7": "aug",
- "8": "sept",
- "9": "okt",
- "10": "nov",
- "11": "dets"
- },
+ "AMPMS": [
+ "enne keskp\u00e4eva",
+ "p\u00e4rast keskp\u00e4eva"
+ ],
+ "DAY": [
+ "p\u00fchap\u00e4ev",
+ "esmasp\u00e4ev",
+ "teisip\u00e4ev",
+ "kolmap\u00e4ev",
+ "neljap\u00e4ev",
+ "reede",
+ "laup\u00e4ev"
+ ],
+ "MONTH": [
+ "jaanuar",
+ "veebruar",
+ "m\u00e4rts",
+ "aprill",
+ "mai",
+ "juuni",
+ "juuli",
+ "august",
+ "september",
+ "oktoober",
+ "november",
+ "detsember"
+ ],
+ "SHORTDAY": [
+ "P",
+ "E",
+ "T",
+ "K",
+ "N",
+ "R",
+ "L"
+ ],
+ "SHORTMONTH": [
+ "jaan",
+ "veebr",
+ "m\u00e4rts",
+ "apr",
+ "mai",
+ "juuni",
+ "juuli",
+ "aug",
+ "sept",
+ "okt",
+ "nov",
+ "dets"
+ ],
"fullDate": "EEEE, d. MMMM y",
"longDate": "d. MMMM y",
"medium": "dd.MM.yyyy H:mm.ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20ac",
"DECIMAL_SEP": ",",
"GROUP_SEP": "\u00a0",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 0,
"lgSize": 0,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a4"
}
- }
+ ]
},
"id": "et",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_eu-es.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_eu-es.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_eu-es.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "AM",
- "1": "PM"
- },
- "DAY": {
- "0": "igandea",
- "1": "astelehena",
- "2": "asteartea",
- "3": "asteazkena",
- "4": "osteguna",
- "5": "ostirala",
- "6": "larunbata"
- },
- "MONTH": {
- "0": "urtarrila",
- "1": "otsaila",
- "2": "martxoa",
- "3": "apirila",
- "4": "maiatza",
- "5": "ekaina",
- "6": "uztaila",
- "7": "abuztua",
- "8": "iraila",
- "9": "urria",
- "10": "azaroa",
- "11": "abendua"
- },
- "SHORTDAY": {
- "0": "ig",
- "1": "al",
- "2": "as",
- "3": "az",
- "4": "og",
- "5": "or",
- "6": "lr"
- },
- "SHORTMONTH": {
- "0": "urt",
- "1": "ots",
- "2": "mar",
- "3": "api",
- "4": "mai",
- "5": "eka",
- "6": "uzt",
- "7": "abu",
- "8": "ira",
- "9": "urr",
- "10": "aza",
- "11": "abe"
- },
+ "AMPMS": [
+ "AM",
+ "PM"
+ ],
+ "DAY": [
+ "igandea",
+ "astelehena",
+ "asteartea",
+ "asteazkena",
+ "osteguna",
+ "ostirala",
+ "larunbata"
+ ],
+ "MONTH": [
+ "urtarrila",
+ "otsaila",
+ "martxoa",
+ "apirila",
+ "maiatza",
+ "ekaina",
+ "uztaila",
+ "abuztua",
+ "iraila",
+ "urria",
+ "azaroa",
+ "abendua"
+ ],
+ "SHORTDAY": [
+ "ig",
+ "al",
+ "as",
+ "az",
+ "og",
+ "or",
+ "lr"
+ ],
+ "SHORTMONTH": [
+ "urt",
+ "ots",
+ "mar",
+ "api",
+ "mai",
+ "eka",
+ "uzt",
+ "abu",
+ "ira",
+ "urr",
+ "aza",
+ "abe"
+ ],
"fullDate": "EEEE, y'eko' MMMM'ren' dd'a'",
"longDate": "y'eko' MMM'ren' dd'a'",
"medium": "y MMM d HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20ac",
"DECIMAL_SEP": ",",
"GROUP_SEP": ".",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "eu-es",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_eu.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_eu.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_eu.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "AM",
- "1": "PM"
- },
- "DAY": {
- "0": "igandea",
- "1": "astelehena",
- "2": "asteartea",
- "3": "asteazkena",
- "4": "osteguna",
- "5": "ostirala",
- "6": "larunbata"
- },
- "MONTH": {
- "0": "urtarrila",
- "1": "otsaila",
- "2": "martxoa",
- "3": "apirila",
- "4": "maiatza",
- "5": "ekaina",
- "6": "uztaila",
- "7": "abuztua",
- "8": "iraila",
- "9": "urria",
- "10": "azaroa",
- "11": "abendua"
- },
- "SHORTDAY": {
- "0": "ig",
- "1": "al",
- "2": "as",
- "3": "az",
- "4": "og",
- "5": "or",
- "6": "lr"
- },
- "SHORTMONTH": {
- "0": "urt",
- "1": "ots",
- "2": "mar",
- "3": "api",
- "4": "mai",
- "5": "eka",
- "6": "uzt",
- "7": "abu",
- "8": "ira",
- "9": "urr",
- "10": "aza",
- "11": "abe"
- },
+ "AMPMS": [
+ "AM",
+ "PM"
+ ],
+ "DAY": [
+ "igandea",
+ "astelehena",
+ "asteartea",
+ "asteazkena",
+ "osteguna",
+ "ostirala",
+ "larunbata"
+ ],
+ "MONTH": [
+ "urtarrila",
+ "otsaila",
+ "martxoa",
+ "apirila",
+ "maiatza",
+ "ekaina",
+ "uztaila",
+ "abuztua",
+ "iraila",
+ "urria",
+ "azaroa",
+ "abendua"
+ ],
+ "SHORTDAY": [
+ "ig",
+ "al",
+ "as",
+ "az",
+ "og",
+ "or",
+ "lr"
+ ],
+ "SHORTMONTH": [
+ "urt",
+ "ots",
+ "mar",
+ "api",
+ "mai",
+ "eka",
+ "uzt",
+ "abu",
+ "ira",
+ "urr",
+ "aza",
+ "abe"
+ ],
"fullDate": "EEEE, y'eko' MMMM'ren' dd'a'",
"longDate": "y'eko' MMM'ren' dd'a'",
"medium": "y MMM d HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20ac",
"DECIMAL_SEP": ",",
"GROUP_SEP": ".",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "eu",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fa-af.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fa-af.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fa-af.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "\u0642\u0628\u0644\u200c\u0627\u0632\u0638\u0647\u0631",
- "1": "\u0628\u0639\u062f\u0627\u0632\u0638\u0647\u0631"
- },
- "DAY": {
- "0": "\u06cc\u06a9\u0634\u0646\u0628\u0647",
- "1": "\u062f\u0648\u0634\u0646\u0628\u0647",
- "2": "\u0633\u0647\u200c\u0634\u0646\u0628\u0647",
- "3": "\u0686\u0647\u0627\u0631\u0634\u0646\u0628\u0647",
- "4": "\u067e\u0646\u062c\u0634\u0646\u0628\u0647",
- "5": "\u062c\u0645\u0639\u0647",
- "6": "\u0634\u0646\u0628\u0647"
- },
- "MONTH": {
- "0": "\u062c\u0646\u0648\u0631\u06cc",
- "1": "\u0641\u0628\u0631\u0648\u0631\u06cc",
- "2": "\u0645\u0627\u0631\u0686",
- "3": "\u0627\u067e\u0631\u06cc\u0644",
- "4": "\u0645\u06cc",
- "5": "\u062c\u0648\u0646",
- "6": "\u062c\u0648\u0644\u0627\u06cc",
- "7": "\u0627\u06af\u0633\u062a",
- "8": "\u0633\u067e\u062a\u0645\u0628\u0631",
- "9": "\u0627\u06a9\u062a\u0648\u0628\u0631",
- "10": "\u0646\u0648\u0645\u0628\u0631",
- "11": "\u062f\u0633\u0645\u0628\u0631"
- },
- "SHORTDAY": {
- "0": "\u06cc\u06a9\u0634\u0646\u0628\u0647",
- "1": "\u062f\u0648\u0634\u0646\u0628\u0647",
- "2": "\u0633\u0647\u200c\u0634\u0646\u0628\u0647",
- "3": "\u0686\u0647\u0627\u0631\u0634\u0646\u0628\u0647",
- "4": "\u067e\u0646\u062c\u0634\u0646\u0628\u0647",
- "5": "\u062c\u0645\u0639\u0647",
- "6": "\u0634\u0646\u0628\u0647"
- },
- "SHORTMONTH": {
- "0": "\u062c\u0646\u0648",
- "1": "\u0641\u0648\u0631\u06cc\u0647\u0654",
- "2": "\u0645\u0627\u0631\u0633",
- "3": "\u0622\u0648\u0631\u06cc\u0644",
- "4": "\u0645\u0640\u06cc",
- "5": "\u0698\u0648\u0626\u0646",
- "6": "\u062c\u0648\u0644",
- "7": "\u0627\u0648\u062a",
- "8": "\u0633\u067e\u062a\u0627\u0645\u0628\u0631",
- "9": "\u0627\u06a9\u062a\u0628\u0631",
- "10": "\u0646\u0648\u0627\u0645\u0628\u0631",
- "11": "\u062f\u0633\u0645"
- },
+ "AMPMS": [
+ "\u0642\u0628\u0644\u200c\u0627\u0632\u0638\u0647\u0631",
+ "\u0628\u0639\u062f\u0627\u0632\u0638\u0647\u0631"
+ ],
+ "DAY": [
+ "\u06cc\u06a9\u0634\u0646\u0628\u0647",
+ "\u062f\u0648\u0634\u0646\u0628\u0647",
+ "\u0633\u0647\u200c\u0634\u0646\u0628\u0647",
+ "\u0686\u0647\u0627\u0631\u0634\u0646\u0628\u0647",
+ "\u067e\u0646\u062c\u0634\u0646\u0628\u0647",
+ "\u062c\u0645\u0639\u0647",
+ "\u0634\u0646\u0628\u0647"
+ ],
+ "MONTH": [
+ "\u062c\u0646\u0648\u0631\u06cc",
+ "\u0641\u0628\u0631\u0648\u0631\u06cc",
+ "\u0645\u0627\u0631\u0686",
+ "\u0627\u067e\u0631\u06cc\u0644",
+ "\u0645\u06cc",
+ "\u062c\u0648\u0646",
+ "\u062c\u0648\u0644\u0627\u06cc",
+ "\u0627\u06af\u0633\u062a",
+ "\u0633\u067e\u062a\u0645\u0628\u0631",
+ "\u0627\u06a9\u062a\u0648\u0628\u0631",
+ "\u0646\u0648\u0645\u0628\u0631",
+ "\u062f\u0633\u0645\u0628\u0631"
+ ],
+ "SHORTDAY": [
+ "\u06cc\u06a9\u0634\u0646\u0628\u0647",
+ "\u062f\u0648\u0634\u0646\u0628\u0647",
+ "\u0633\u0647\u200c\u0634\u0646\u0628\u0647",
+ "\u0686\u0647\u0627\u0631\u0634\u0646\u0628\u0647",
+ "\u067e\u0646\u062c\u0634\u0646\u0628\u0647",
+ "\u062c\u0645\u0639\u0647",
+ "\u0634\u0646\u0628\u0647"
+ ],
+ "SHORTMONTH": [
+ "\u062c\u0646\u0648",
+ "\u0641\u0648\u0631\u06cc\u0647\u0654",
+ "\u0645\u0627\u0631\u0633",
+ "\u0622\u0648\u0631\u06cc\u0644",
+ "\u0645\u0640\u06cc",
+ "\u0698\u0648\u0626\u0646",
+ "\u062c\u0648\u0644",
+ "\u0627\u0648\u062a",
+ "\u0633\u067e\u062a\u0627\u0645\u0628\u0631",
+ "\u0627\u06a9\u062a\u0628\u0631",
+ "\u0646\u0648\u0627\u0645\u0628\u0631",
+ "\u062f\u0633\u0645"
+ ],
"fullDate": "EEEE d MMMM y",
"longDate": "d MMMM y",
"medium": "d MMM y H:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "Rial",
"DECIMAL_SEP": "\u066b",
"GROUP_SEP": "\u066c",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u200e\u00a4",
"posSuf": ""
}
- }
+ ]
},
"id": "fa-af",
"pluralCat": function (n) { return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fa-ir.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fa-ir.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fa-ir.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "\u0642\u0628\u0644\u200c\u0627\u0632\u0638\u0647\u0631",
- "1": "\u0628\u0639\u062f\u0627\u0632\u0638\u0647\u0631"
- },
- "DAY": {
- "0": "\u06cc\u06a9\u0634\u0646\u0628\u0647",
- "1": "\u062f\u0648\u0634\u0646\u0628\u0647",
- "2": "\u0633\u0647\u200c\u0634\u0646\u0628\u0647",
- "3": "\u0686\u0647\u0627\u0631\u0634\u0646\u0628\u0647",
- "4": "\u067e\u0646\u062c\u0634\u0646\u0628\u0647",
- "5": "\u062c\u0645\u0639\u0647",
- "6": "\u0634\u0646\u0628\u0647"
- },
- "MONTH": {
- "0": "\u0698\u0627\u0646\u0648\u06cc\u0647\u0654",
- "1": "\u0641\u0648\u0631\u06cc\u0647\u0654",
- "2": "\u0645\u0627\u0631\u0633",
- "3": "\u0622\u0648\u0631\u06cc\u0644",
- "4": "\u0645\u0647\u0654",
- "5": "\u0698\u0648\u0626\u0646",
- "6": "\u0698\u0648\u0626\u06cc\u0647\u0654",
- "7": "\u0627\u0648\u062a",
- "8": "\u0633\u067e\u062a\u0627\u0645\u0628\u0631",
- "9": "\u0627\u06a9\u062a\u0628\u0631",
- "10": "\u0646\u0648\u0627\u0645\u0628\u0631",
- "11": "\u062f\u0633\u0627\u0645\u0628\u0631"
- },
- "SHORTDAY": {
- "0": "\u06cc\u06a9\u0634\u0646\u0628\u0647",
- "1": "\u062f\u0648\u0634\u0646\u0628\u0647",
- "2": "\u0633\u0647\u200c\u0634\u0646\u0628\u0647",
- "3": "\u0686\u0647\u0627\u0631\u0634\u0646\u0628\u0647",
- "4": "\u067e\u0646\u062c\u0634\u0646\u0628\u0647",
- "5": "\u062c\u0645\u0639\u0647",
- "6": "\u0634\u0646\u0628\u0647"
- },
- "SHORTMONTH": {
- "0": "\u0698\u0627\u0646\u0648\u06cc\u0647\u0654",
- "1": "\u0641\u0648\u0631\u06cc\u0647\u0654",
- "2": "\u0645\u0627\u0631\u0633",
- "3": "\u0622\u0648\u0631\u06cc\u0644",
- "4": "\u0645\u0647\u0654",
- "5": "\u0698\u0648\u0626\u0646",
- "6": "\u0698\u0648\u0626\u06cc\u0647\u0654",
- "7": "\u0627\u0648\u062a",
- "8": "\u0633\u067e\u062a\u0627\u0645\u0628\u0631",
- "9": "\u0627\u06a9\u062a\u0628\u0631",
- "10": "\u0646\u0648\u0627\u0645\u0628\u0631",
- "11": "\u062f\u0633\u0627\u0645\u0628\u0631"
- },
+ "AMPMS": [
+ "\u0642\u0628\u0644\u200c\u0627\u0632\u0638\u0647\u0631",
+ "\u0628\u0639\u062f\u0627\u0632\u0638\u0647\u0631"
+ ],
+ "DAY": [
+ "\u06cc\u06a9\u0634\u0646\u0628\u0647",
+ "\u062f\u0648\u0634\u0646\u0628\u0647",
+ "\u0633\u0647\u200c\u0634\u0646\u0628\u0647",
+ "\u0686\u0647\u0627\u0631\u0634\u0646\u0628\u0647",
+ "\u067e\u0646\u062c\u0634\u0646\u0628\u0647",
+ "\u062c\u0645\u0639\u0647",
+ "\u0634\u0646\u0628\u0647"
+ ],
+ "MONTH": [
+ "\u0698\u0627\u0646\u0648\u06cc\u0647\u0654",
+ "\u0641\u0648\u0631\u06cc\u0647\u0654",
+ "\u0645\u0627\u0631\u0633",
+ "\u0622\u0648\u0631\u06cc\u0644",
+ "\u0645\u0647\u0654",
+ "\u0698\u0648\u0626\u0646",
+ "\u0698\u0648\u0626\u06cc\u0647\u0654",
+ "\u0627\u0648\u062a",
+ "\u0633\u067e\u062a\u0627\u0645\u0628\u0631",
+ "\u0627\u06a9\u062a\u0628\u0631",
+ "\u0646\u0648\u0627\u0645\u0628\u0631",
+ "\u062f\u0633\u0627\u0645\u0628\u0631"
+ ],
+ "SHORTDAY": [
+ "\u06cc\u06a9\u0634\u0646\u0628\u0647",
+ "\u062f\u0648\u0634\u0646\u0628\u0647",
+ "\u0633\u0647\u200c\u0634\u0646\u0628\u0647",
+ "\u0686\u0647\u0627\u0631\u0634\u0646\u0628\u0647",
+ "\u067e\u0646\u062c\u0634\u0646\u0628\u0647",
+ "\u062c\u0645\u0639\u0647",
+ "\u0634\u0646\u0628\u0647"
+ ],
+ "SHORTMONTH": [
+ "\u0698\u0627\u0646\u0648\u06cc\u0647\u0654",
+ "\u0641\u0648\u0631\u06cc\u0647\u0654",
+ "\u0645\u0627\u0631\u0633",
+ "\u0622\u0648\u0631\u06cc\u0644",
+ "\u0645\u0647\u0654",
+ "\u0698\u0648\u0626\u0646",
+ "\u0698\u0648\u0626\u06cc\u0647\u0654",
+ "\u0627\u0648\u062a",
+ "\u0633\u067e\u062a\u0627\u0645\u0628\u0631",
+ "\u0627\u06a9\u062a\u0628\u0631",
+ "\u0646\u0648\u0627\u0645\u0628\u0631",
+ "\u062f\u0633\u0627\u0645\u0628\u0631"
+ ],
"fullDate": "EEEE d MMMM y",
"longDate": "d MMMM y",
"medium": "d MMM y H:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "Rial",
"DECIMAL_SEP": "\u066b",
"GROUP_SEP": "\u066c",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u200e\u00a4",
"posSuf": ""
}
- }
+ ]
},
"id": "fa-ir",
"pluralCat": function (n) { return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fa.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fa.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fa.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "\u0642\u0628\u0644\u200c\u0627\u0632\u0638\u0647\u0631",
- "1": "\u0628\u0639\u062f\u0627\u0632\u0638\u0647\u0631"
- },
- "DAY": {
- "0": "\u06cc\u06a9\u0634\u0646\u0628\u0647",
- "1": "\u062f\u0648\u0634\u0646\u0628\u0647",
- "2": "\u0633\u0647\u200c\u0634\u0646\u0628\u0647",
- "3": "\u0686\u0647\u0627\u0631\u0634\u0646\u0628\u0647",
- "4": "\u067e\u0646\u062c\u0634\u0646\u0628\u0647",
- "5": "\u062c\u0645\u0639\u0647",
- "6": "\u0634\u0646\u0628\u0647"
- },
- "MONTH": {
- "0": "\u0698\u0627\u0646\u0648\u06cc\u0647\u0654",
- "1": "\u0641\u0648\u0631\u06cc\u0647\u0654",
- "2": "\u0645\u0627\u0631\u0633",
- "3": "\u0622\u0648\u0631\u06cc\u0644",
- "4": "\u0645\u0647\u0654",
- "5": "\u0698\u0648\u0626\u0646",
- "6": "\u0698\u0648\u0626\u06cc\u0647\u0654",
- "7": "\u0627\u0648\u062a",
- "8": "\u0633\u067e\u062a\u0627\u0645\u0628\u0631",
- "9": "\u0627\u06a9\u062a\u0628\u0631",
- "10": "\u0646\u0648\u0627\u0645\u0628\u0631",
- "11": "\u062f\u0633\u0627\u0645\u0628\u0631"
- },
- "SHORTDAY": {
- "0": "\u06cc\u06a9\u0634\u0646\u0628\u0647",
- "1": "\u062f\u0648\u0634\u0646\u0628\u0647",
- "2": "\u0633\u0647\u200c\u0634\u0646\u0628\u0647",
- "3": "\u0686\u0647\u0627\u0631\u0634\u0646\u0628\u0647",
- "4": "\u067e\u0646\u062c\u0634\u0646\u0628\u0647",
- "5": "\u062c\u0645\u0639\u0647",
- "6": "\u0634\u0646\u0628\u0647"
- },
- "SHORTMONTH": {
- "0": "\u0698\u0627\u0646\u0648\u06cc\u0647\u0654",
- "1": "\u0641\u0648\u0631\u06cc\u0647\u0654",
- "2": "\u0645\u0627\u0631\u0633",
- "3": "\u0622\u0648\u0631\u06cc\u0644",
- "4": "\u0645\u0647\u0654",
- "5": "\u0698\u0648\u0626\u0646",
- "6": "\u0698\u0648\u0626\u06cc\u0647\u0654",
- "7": "\u0627\u0648\u062a",
- "8": "\u0633\u067e\u062a\u0627\u0645\u0628\u0631",
- "9": "\u0627\u06a9\u062a\u0628\u0631",
- "10": "\u0646\u0648\u0627\u0645\u0628\u0631",
- "11": "\u062f\u0633\u0627\u0645\u0628\u0631"
- },
+ "AMPMS": [
+ "\u0642\u0628\u0644\u200c\u0627\u0632\u0638\u0647\u0631",
+ "\u0628\u0639\u062f\u0627\u0632\u0638\u0647\u0631"
+ ],
+ "DAY": [
+ "\u06cc\u06a9\u0634\u0646\u0628\u0647",
+ "\u062f\u0648\u0634\u0646\u0628\u0647",
+ "\u0633\u0647\u200c\u0634\u0646\u0628\u0647",
+ "\u0686\u0647\u0627\u0631\u0634\u0646\u0628\u0647",
+ "\u067e\u0646\u062c\u0634\u0646\u0628\u0647",
+ "\u062c\u0645\u0639\u0647",
+ "\u0634\u0646\u0628\u0647"
+ ],
+ "MONTH": [
+ "\u0698\u0627\u0646\u0648\u06cc\u0647\u0654",
+ "\u0641\u0648\u0631\u06cc\u0647\u0654",
+ "\u0645\u0627\u0631\u0633",
+ "\u0622\u0648\u0631\u06cc\u0644",
+ "\u0645\u0647\u0654",
+ "\u0698\u0648\u0626\u0646",
+ "\u0698\u0648\u0626\u06cc\u0647\u0654",
+ "\u0627\u0648\u062a",
+ "\u0633\u067e\u062a\u0627\u0645\u0628\u0631",
+ "\u0627\u06a9\u062a\u0628\u0631",
+ "\u0646\u0648\u0627\u0645\u0628\u0631",
+ "\u062f\u0633\u0627\u0645\u0628\u0631"
+ ],
+ "SHORTDAY": [
+ "\u06cc\u06a9\u0634\u0646\u0628\u0647",
+ "\u062f\u0648\u0634\u0646\u0628\u0647",
+ "\u0633\u0647\u200c\u0634\u0646\u0628\u0647",
+ "\u0686\u0647\u0627\u0631\u0634\u0646\u0628\u0647",
+ "\u067e\u0646\u062c\u0634\u0646\u0628\u0647",
+ "\u062c\u0645\u0639\u0647",
+ "\u0634\u0646\u0628\u0647"
+ ],
+ "SHORTMONTH": [
+ "\u0698\u0627\u0646\u0648\u06cc\u0647\u0654",
+ "\u0641\u0648\u0631\u06cc\u0647\u0654",
+ "\u0645\u0627\u0631\u0633",
+ "\u0622\u0648\u0631\u06cc\u0644",
+ "\u0645\u0647\u0654",
+ "\u0698\u0648\u0626\u0646",
+ "\u0698\u0648\u0626\u06cc\u0647\u0654",
+ "\u0627\u0648\u062a",
+ "\u0633\u067e\u062a\u0627\u0645\u0628\u0631",
+ "\u0627\u06a9\u062a\u0628\u0631",
+ "\u0646\u0648\u0627\u0645\u0628\u0631",
+ "\u062f\u0633\u0627\u0645\u0628\u0631"
+ ],
"fullDate": "EEEE d MMMM y",
"longDate": "d MMMM y",
"medium": "d MMM y H:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "Rial",
"DECIMAL_SEP": "\u066b",
"GROUP_SEP": "\u066c",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u200e\u00a4",
"posSuf": ""
}
- }
+ ]
},
"id": "fa",
"pluralCat": function (n) { return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fi-fi.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fi-fi.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fi-fi.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "ap.",
- "1": "ip."
- },
- "DAY": {
- "0": "sunnuntaina",
- "1": "maanantaina",
- "2": "tiistaina",
- "3": "keskiviikkona",
- "4": "torstaina",
- "5": "perjantaina",
- "6": "lauantaina"
- },
- "MONTH": {
- "0": "tammikuuta",
- "1": "helmikuuta",
- "2": "maaliskuuta",
- "3": "huhtikuuta",
- "4": "toukokuuta",
- "5": "kes\u00e4kuuta",
- "6": "hein\u00e4kuuta",
- "7": "elokuuta",
- "8": "syyskuuta",
- "9": "lokakuuta",
- "10": "marraskuuta",
- "11": "joulukuuta"
- },
- "SHORTDAY": {
- "0": "su",
- "1": "ma",
- "2": "ti",
- "3": "ke",
- "4": "to",
- "5": "pe",
- "6": "la"
- },
- "SHORTMONTH": {
- "0": "tammikuuta",
- "1": "helmikuuta",
- "2": "maaliskuuta",
- "3": "huhtikuuta",
- "4": "toukokuuta",
- "5": "kes\u00e4kuuta",
- "6": "hein\u00e4kuuta",
- "7": "elokuuta",
- "8": "syyskuuta",
- "9": "lokakuuta",
- "10": "marraskuuta",
- "11": "joulukuuta"
- },
+ "AMPMS": [
+ "ap.",
+ "ip."
+ ],
+ "DAY": [
+ "sunnuntaina",
+ "maanantaina",
+ "tiistaina",
+ "keskiviikkona",
+ "torstaina",
+ "perjantaina",
+ "lauantaina"
+ ],
+ "MONTH": [
+ "tammikuuta",
+ "helmikuuta",
+ "maaliskuuta",
+ "huhtikuuta",
+ "toukokuuta",
+ "kes\u00e4kuuta",
+ "hein\u00e4kuuta",
+ "elokuuta",
+ "syyskuuta",
+ "lokakuuta",
+ "marraskuuta",
+ "joulukuuta"
+ ],
+ "SHORTDAY": [
+ "su",
+ "ma",
+ "ti",
+ "ke",
+ "to",
+ "pe",
+ "la"
+ ],
+ "SHORTMONTH": [
+ "tammikuuta",
+ "helmikuuta",
+ "maaliskuuta",
+ "huhtikuuta",
+ "toukokuuta",
+ "kes\u00e4kuuta",
+ "hein\u00e4kuuta",
+ "elokuuta",
+ "syyskuuta",
+ "lokakuuta",
+ "marraskuuta",
+ "joulukuuta"
+ ],
"fullDate": "cccc, d. MMMM y",
"longDate": "d. MMMM y",
"medium": "d.M.yyyy H.mm.ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20ac",
"DECIMAL_SEP": ",",
"GROUP_SEP": "\u00a0",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "fi-fi",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fi.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fi.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fi.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "ap.",
- "1": "ip."
- },
- "DAY": {
- "0": "sunnuntaina",
- "1": "maanantaina",
- "2": "tiistaina",
- "3": "keskiviikkona",
- "4": "torstaina",
- "5": "perjantaina",
- "6": "lauantaina"
- },
- "MONTH": {
- "0": "tammikuuta",
- "1": "helmikuuta",
- "2": "maaliskuuta",
- "3": "huhtikuuta",
- "4": "toukokuuta",
- "5": "kes\u00e4kuuta",
- "6": "hein\u00e4kuuta",
- "7": "elokuuta",
- "8": "syyskuuta",
- "9": "lokakuuta",
- "10": "marraskuuta",
- "11": "joulukuuta"
- },
- "SHORTDAY": {
- "0": "su",
- "1": "ma",
- "2": "ti",
- "3": "ke",
- "4": "to",
- "5": "pe",
- "6": "la"
- },
- "SHORTMONTH": {
- "0": "tammikuuta",
- "1": "helmikuuta",
- "2": "maaliskuuta",
- "3": "huhtikuuta",
- "4": "toukokuuta",
- "5": "kes\u00e4kuuta",
- "6": "hein\u00e4kuuta",
- "7": "elokuuta",
- "8": "syyskuuta",
- "9": "lokakuuta",
- "10": "marraskuuta",
- "11": "joulukuuta"
- },
+ "AMPMS": [
+ "ap.",
+ "ip."
+ ],
+ "DAY": [
+ "sunnuntaina",
+ "maanantaina",
+ "tiistaina",
+ "keskiviikkona",
+ "torstaina",
+ "perjantaina",
+ "lauantaina"
+ ],
+ "MONTH": [
+ "tammikuuta",
+ "helmikuuta",
+ "maaliskuuta",
+ "huhtikuuta",
+ "toukokuuta",
+ "kes\u00e4kuuta",
+ "hein\u00e4kuuta",
+ "elokuuta",
+ "syyskuuta",
+ "lokakuuta",
+ "marraskuuta",
+ "joulukuuta"
+ ],
+ "SHORTDAY": [
+ "su",
+ "ma",
+ "ti",
+ "ke",
+ "to",
+ "pe",
+ "la"
+ ],
+ "SHORTMONTH": [
+ "tammikuuta",
+ "helmikuuta",
+ "maaliskuuta",
+ "huhtikuuta",
+ "toukokuuta",
+ "kes\u00e4kuuta",
+ "hein\u00e4kuuta",
+ "elokuuta",
+ "syyskuuta",
+ "lokakuuta",
+ "marraskuuta",
+ "joulukuuta"
+ ],
"fullDate": "cccc, d. MMMM y",
"longDate": "d. MMMM y",
"medium": "d.M.yyyy H.mm.ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20ac",
"DECIMAL_SEP": ",",
"GROUP_SEP": "\u00a0",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "fi",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fil-ph.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fil-ph.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fil-ph.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "AM",
- "1": "PM"
- },
- "DAY": {
- "0": "Linggo",
- "1": "Lunes",
- "2": "Martes",
- "3": "Miyerkules",
- "4": "Huwebes",
- "5": "Biyernes",
- "6": "Sabado"
- },
- "MONTH": {
- "0": "Enero",
- "1": "Pebrero",
- "2": "Marso",
- "3": "Abril",
- "4": "Mayo",
- "5": "Hunyo",
- "6": "Hulyo",
- "7": "Agosto",
- "8": "Setyembre",
- "9": "Oktubre",
- "10": "Nobyembre",
- "11": "Disyembre"
- },
- "SHORTDAY": {
- "0": "Lin",
- "1": "Lun",
- "2": "Mar",
- "3": "Mye",
- "4": "Huw",
- "5": "Bye",
- "6": "Sab"
- },
- "SHORTMONTH": {
- "0": "Ene",
- "1": "Peb",
- "2": "Mar",
- "3": "Abr",
- "4": "May",
- "5": "Hun",
- "6": "Hul",
- "7": "Ago",
- "8": "Set",
- "9": "Okt",
- "10": "Nob",
- "11": "Dis"
- },
+ "AMPMS": [
+ "AM",
+ "PM"
+ ],
+ "DAY": [
+ "Linggo",
+ "Lunes",
+ "Martes",
+ "Miyerkules",
+ "Huwebes",
+ "Biyernes",
+ "Sabado"
+ ],
+ "MONTH": [
+ "Enero",
+ "Pebrero",
+ "Marso",
+ "Abril",
+ "Mayo",
+ "Hunyo",
+ "Hulyo",
+ "Agosto",
+ "Setyembre",
+ "Oktubre",
+ "Nobyembre",
+ "Disyembre"
+ ],
+ "SHORTDAY": [
+ "Lin",
+ "Lun",
+ "Mar",
+ "Mye",
+ "Huw",
+ "Bye",
+ "Sab"
+ ],
+ "SHORTMONTH": [
+ "Ene",
+ "Peb",
+ "Mar",
+ "Abr",
+ "May",
+ "Hun",
+ "Hul",
+ "Ago",
+ "Set",
+ "Okt",
+ "Nob",
+ "Dis"
+ ],
"fullDate": "EEEE, MMMM dd y",
"longDate": "MMMM d, y",
"medium": "MMM d, y HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20b1",
"DECIMAL_SEP": ".",
"GROUP_SEP": ",",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4",
"posSuf": ""
}
- }
+ ]
},
"id": "fil-ph",
"pluralCat": function (n) { if (n == 0 || n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fil.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fil.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fil.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "AM",
- "1": "PM"
- },
- "DAY": {
- "0": "Linggo",
- "1": "Lunes",
- "2": "Martes",
- "3": "Miyerkules",
- "4": "Huwebes",
- "5": "Biyernes",
- "6": "Sabado"
- },
- "MONTH": {
- "0": "Enero",
- "1": "Pebrero",
- "2": "Marso",
- "3": "Abril",
- "4": "Mayo",
- "5": "Hunyo",
- "6": "Hulyo",
- "7": "Agosto",
- "8": "Setyembre",
- "9": "Oktubre",
- "10": "Nobyembre",
- "11": "Disyembre"
- },
- "SHORTDAY": {
- "0": "Lin",
- "1": "Lun",
- "2": "Mar",
- "3": "Mye",
- "4": "Huw",
- "5": "Bye",
- "6": "Sab"
- },
- "SHORTMONTH": {
- "0": "Ene",
- "1": "Peb",
- "2": "Mar",
- "3": "Abr",
- "4": "May",
- "5": "Hun",
- "6": "Hul",
- "7": "Ago",
- "8": "Set",
- "9": "Okt",
- "10": "Nob",
- "11": "Dis"
- },
+ "AMPMS": [
+ "AM",
+ "PM"
+ ],
+ "DAY": [
+ "Linggo",
+ "Lunes",
+ "Martes",
+ "Miyerkules",
+ "Huwebes",
+ "Biyernes",
+ "Sabado"
+ ],
+ "MONTH": [
+ "Enero",
+ "Pebrero",
+ "Marso",
+ "Abril",
+ "Mayo",
+ "Hunyo",
+ "Hulyo",
+ "Agosto",
+ "Setyembre",
+ "Oktubre",
+ "Nobyembre",
+ "Disyembre"
+ ],
+ "SHORTDAY": [
+ "Lin",
+ "Lun",
+ "Mar",
+ "Mye",
+ "Huw",
+ "Bye",
+ "Sab"
+ ],
+ "SHORTMONTH": [
+ "Ene",
+ "Peb",
+ "Mar",
+ "Abr",
+ "May",
+ "Hun",
+ "Hul",
+ "Ago",
+ "Set",
+ "Okt",
+ "Nob",
+ "Dis"
+ ],
"fullDate": "EEEE, MMMM dd y",
"longDate": "MMMM d, y",
"medium": "MMM d, y HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20b1",
"DECIMAL_SEP": ".",
"GROUP_SEP": ",",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4",
"posSuf": ""
}
- }
+ ]
},
"id": "fil",
"pluralCat": function (n) { if (n == 0 || n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-be.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-be.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-be.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "AM",
- "1": "PM"
- },
- "DAY": {
- "0": "dimanche",
- "1": "lundi",
- "2": "mardi",
- "3": "mercredi",
- "4": "jeudi",
- "5": "vendredi",
- "6": "samedi"
- },
- "MONTH": {
- "0": "janvier",
- "1": "f\u00e9vrier",
- "2": "mars",
- "3": "avril",
- "4": "mai",
- "5": "juin",
- "6": "juillet",
- "7": "ao\u00fbt",
- "8": "septembre",
- "9": "octobre",
- "10": "novembre",
- "11": "d\u00e9cembre"
- },
- "SHORTDAY": {
- "0": "dim.",
- "1": "lun.",
- "2": "mar.",
- "3": "mer.",
- "4": "jeu.",
- "5": "ven.",
- "6": "sam."
- },
- "SHORTMONTH": {
- "0": "janv.",
- "1": "f\u00e9vr.",
- "2": "mars",
- "3": "avr.",
- "4": "mai",
- "5": "juin",
- "6": "juil.",
- "7": "ao\u00fbt",
- "8": "sept.",
- "9": "oct.",
- "10": "nov.",
- "11": "d\u00e9c."
- },
+ "AMPMS": [
+ "AM",
+ "PM"
+ ],
+ "DAY": [
+ "dimanche",
+ "lundi",
+ "mardi",
+ "mercredi",
+ "jeudi",
+ "vendredi",
+ "samedi"
+ ],
+ "MONTH": [
+ "janvier",
+ "f\u00e9vrier",
+ "mars",
+ "avril",
+ "mai",
+ "juin",
+ "juillet",
+ "ao\u00fbt",
+ "septembre",
+ "octobre",
+ "novembre",
+ "d\u00e9cembre"
+ ],
+ "SHORTDAY": [
+ "dim.",
+ "lun.",
+ "mar.",
+ "mer.",
+ "jeu.",
+ "ven.",
+ "sam."
+ ],
+ "SHORTMONTH": [
+ "janv.",
+ "f\u00e9vr.",
+ "mars",
+ "avr.",
+ "mai",
+ "juin",
+ "juil.",
+ "ao\u00fbt",
+ "sept.",
+ "oct.",
+ "nov.",
+ "d\u00e9c."
+ ],
"fullDate": "EEEE d MMMM y",
"longDate": "d MMMM y",
"medium": "d MMM y HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20ac",
"DECIMAL_SEP": ",",
"GROUP_SEP": "\u00a0",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "fr-be",
"pluralCat": function (n) { if (n >= 0 && n <= 2 && n != 2) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-bf.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-bf.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-bf.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "AM",
- "1": "PM"
- },
- "DAY": {
- "0": "dimanche",
- "1": "lundi",
- "2": "mardi",
- "3": "mercredi",
- "4": "jeudi",
- "5": "vendredi",
- "6": "samedi"
- },
- "MONTH": {
- "0": "janvier",
- "1": "f\u00e9vrier",
- "2": "mars",
- "3": "avril",
- "4": "mai",
- "5": "juin",
- "6": "juillet",
- "7": "ao\u00fbt",
- "8": "septembre",
- "9": "octobre",
- "10": "novembre",
- "11": "d\u00e9cembre"
- },
- "SHORTDAY": {
- "0": "dim.",
- "1": "lun.",
- "2": "mar.",
- "3": "mer.",
- "4": "jeu.",
- "5": "ven.",
- "6": "sam."
- },
- "SHORTMONTH": {
- "0": "janv.",
- "1": "f\u00e9vr.",
- "2": "mars",
- "3": "avr.",
- "4": "mai",
- "5": "juin",
- "6": "juil.",
- "7": "ao\u00fbt",
- "8": "sept.",
- "9": "oct.",
- "10": "nov.",
- "11": "d\u00e9c."
- },
+ "AMPMS": [
+ "AM",
+ "PM"
+ ],
+ "DAY": [
+ "dimanche",
+ "lundi",
+ "mardi",
+ "mercredi",
+ "jeudi",
+ "vendredi",
+ "samedi"
+ ],
+ "MONTH": [
+ "janvier",
+ "f\u00e9vrier",
+ "mars",
+ "avril",
+ "mai",
+ "juin",
+ "juillet",
+ "ao\u00fbt",
+ "septembre",
+ "octobre",
+ "novembre",
+ "d\u00e9cembre"
+ ],
+ "SHORTDAY": [
+ "dim.",
+ "lun.",
+ "mar.",
+ "mer.",
+ "jeu.",
+ "ven.",
+ "sam."
+ ],
+ "SHORTMONTH": [
+ "janv.",
+ "f\u00e9vr.",
+ "mars",
+ "avr.",
+ "mai",
+ "juin",
+ "juil.",
+ "ao\u00fbt",
+ "sept.",
+ "oct.",
+ "nov.",
+ "d\u00e9c."
+ ],
"fullDate": "EEEE d MMMM y",
"longDate": "d MMMM y",
"medium": "d MMM y HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20ac",
"DECIMAL_SEP": ",",
"GROUP_SEP": "\u00a0",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "fr-bf",
"pluralCat": function (n) { if (n >= 0 && n <= 2 && n != 2) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-bi.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-bi.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-bi.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "AM",
- "1": "PM"
- },
- "DAY": {
- "0": "dimanche",
- "1": "lundi",
- "2": "mardi",
- "3": "mercredi",
- "4": "jeudi",
- "5": "vendredi",
- "6": "samedi"
- },
- "MONTH": {
- "0": "janvier",
- "1": "f\u00e9vrier",
- "2": "mars",
- "3": "avril",
- "4": "mai",
- "5": "juin",
- "6": "juillet",
- "7": "ao\u00fbt",
- "8": "septembre",
- "9": "octobre",
- "10": "novembre",
- "11": "d\u00e9cembre"
- },
- "SHORTDAY": {
- "0": "dim.",
- "1": "lun.",
- "2": "mar.",
- "3": "mer.",
- "4": "jeu.",
- "5": "ven.",
- "6": "sam."
- },
- "SHORTMONTH": {
- "0": "janv.",
- "1": "f\u00e9vr.",
- "2": "mars",
- "3": "avr.",
- "4": "mai",
- "5": "juin",
- "6": "juil.",
- "7": "ao\u00fbt",
- "8": "sept.",
- "9": "oct.",
- "10": "nov.",
- "11": "d\u00e9c."
- },
+ "AMPMS": [
+ "AM",
+ "PM"
+ ],
+ "DAY": [
+ "dimanche",
+ "lundi",
+ "mardi",
+ "mercredi",
+ "jeudi",
+ "vendredi",
+ "samedi"
+ ],
+ "MONTH": [
+ "janvier",
+ "f\u00e9vrier",
+ "mars",
+ "avril",
+ "mai",
+ "juin",
+ "juillet",
+ "ao\u00fbt",
+ "septembre",
+ "octobre",
+ "novembre",
+ "d\u00e9cembre"
+ ],
+ "SHORTDAY": [
+ "dim.",
+ "lun.",
+ "mar.",
+ "mer.",
+ "jeu.",
+ "ven.",
+ "sam."
+ ],
+ "SHORTMONTH": [
+ "janv.",
+ "f\u00e9vr.",
+ "mars",
+ "avr.",
+ "mai",
+ "juin",
+ "juil.",
+ "ao\u00fbt",
+ "sept.",
+ "oct.",
+ "nov.",
+ "d\u00e9c."
+ ],
"fullDate": "EEEE d MMMM y",
"longDate": "d MMMM y",
"medium": "d MMM y HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20ac",
"DECIMAL_SEP": ",",
"GROUP_SEP": "\u00a0",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "fr-bi",
"pluralCat": function (n) { if (n >= 0 && n <= 2 && n != 2) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-bj.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-bj.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-bj.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "AM",
- "1": "PM"
- },
- "DAY": {
- "0": "dimanche",
- "1": "lundi",
- "2": "mardi",
- "3": "mercredi",
- "4": "jeudi",
- "5": "vendredi",
- "6": "samedi"
- },
- "MONTH": {
- "0": "janvier",
- "1": "f\u00e9vrier",
- "2": "mars",
- "3": "avril",
- "4": "mai",
- "5": "juin",
- "6": "juillet",
- "7": "ao\u00fbt",
- "8": "septembre",
- "9": "octobre",
- "10": "novembre",
- "11": "d\u00e9cembre"
- },
- "SHORTDAY": {
- "0": "dim.",
- "1": "lun.",
- "2": "mar.",
- "3": "mer.",
- "4": "jeu.",
- "5": "ven.",
- "6": "sam."
- },
- "SHORTMONTH": {
- "0": "janv.",
- "1": "f\u00e9vr.",
- "2": "mars",
- "3": "avr.",
- "4": "mai",
- "5": "juin",
- "6": "juil.",
- "7": "ao\u00fbt",
- "8": "sept.",
- "9": "oct.",
- "10": "nov.",
- "11": "d\u00e9c."
- },
+ "AMPMS": [
+ "AM",
+ "PM"
+ ],
+ "DAY": [
+ "dimanche",
+ "lundi",
+ "mardi",
+ "mercredi",
+ "jeudi",
+ "vendredi",
+ "samedi"
+ ],
+ "MONTH": [
+ "janvier",
+ "f\u00e9vrier",
+ "mars",
+ "avril",
+ "mai",
+ "juin",
+ "juillet",
+ "ao\u00fbt",
+ "septembre",
+ "octobre",
+ "novembre",
+ "d\u00e9cembre"
+ ],
+ "SHORTDAY": [
+ "dim.",
+ "lun.",
+ "mar.",
+ "mer.",
+ "jeu.",
+ "ven.",
+ "sam."
+ ],
+ "SHORTMONTH": [
+ "janv.",
+ "f\u00e9vr.",
+ "mars",
+ "avr.",
+ "mai",
+ "juin",
+ "juil.",
+ "ao\u00fbt",
+ "sept.",
+ "oct.",
+ "nov.",
+ "d\u00e9c."
+ ],
"fullDate": "EEEE d MMMM y",
"longDate": "d MMMM y",
"medium": "d MMM y HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20ac",
"DECIMAL_SEP": ",",
"GROUP_SEP": "\u00a0",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "fr-bj",
"pluralCat": function (n) { if (n >= 0 && n <= 2 && n != 2) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-bl.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-bl.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-bl.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "AM",
- "1": "PM"
- },
- "DAY": {
- "0": "dimanche",
- "1": "lundi",
- "2": "mardi",
- "3": "mercredi",
- "4": "jeudi",
- "5": "vendredi",
- "6": "samedi"
- },
- "MONTH": {
- "0": "janvier",
- "1": "f\u00e9vrier",
- "2": "mars",
- "3": "avril",
- "4": "mai",
- "5": "juin",
- "6": "juillet",
- "7": "ao\u00fbt",
- "8": "septembre",
- "9": "octobre",
- "10": "novembre",
- "11": "d\u00e9cembre"
- },
- "SHORTDAY": {
- "0": "dim.",
- "1": "lun.",
- "2": "mar.",
- "3": "mer.",
- "4": "jeu.",
- "5": "ven.",
- "6": "sam."
- },
- "SHORTMONTH": {
- "0": "janv.",
- "1": "f\u00e9vr.",
- "2": "mars",
- "3": "avr.",
- "4": "mai",
- "5": "juin",
- "6": "juil.",
- "7": "ao\u00fbt",
- "8": "sept.",
- "9": "oct.",
- "10": "nov.",
- "11": "d\u00e9c."
- },
+ "AMPMS": [
+ "AM",
+ "PM"
+ ],
+ "DAY": [
+ "dimanche",
+ "lundi",
+ "mardi",
+ "mercredi",
+ "jeudi",
+ "vendredi",
+ "samedi"
+ ],
+ "MONTH": [
+ "janvier",
+ "f\u00e9vrier",
+ "mars",
+ "avril",
+ "mai",
+ "juin",
+ "juillet",
+ "ao\u00fbt",
+ "septembre",
+ "octobre",
+ "novembre",
+ "d\u00e9cembre"
+ ],
+ "SHORTDAY": [
+ "dim.",
+ "lun.",
+ "mar.",
+ "mer.",
+ "jeu.",
+ "ven.",
+ "sam."
+ ],
+ "SHORTMONTH": [
+ "janv.",
+ "f\u00e9vr.",
+ "mars",
+ "avr.",
+ "mai",
+ "juin",
+ "juil.",
+ "ao\u00fbt",
+ "sept.",
+ "oct.",
+ "nov.",
+ "d\u00e9c."
+ ],
"fullDate": "EEEE d MMMM y",
"longDate": "d MMMM y",
"medium": "d MMM y HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20ac",
"DECIMAL_SEP": ",",
"GROUP_SEP": "\u00a0",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "fr-bl",
"pluralCat": function (n) { if (n >= 0 && n <= 2 && n != 2) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-ca.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-ca.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-ca.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "AM",
- "1": "PM"
- },
- "DAY": {
- "0": "dimanche",
- "1": "lundi",
- "2": "mardi",
- "3": "mercredi",
- "4": "jeudi",
- "5": "vendredi",
- "6": "samedi"
- },
- "MONTH": {
- "0": "janvier",
- "1": "f\u00e9vrier",
- "2": "mars",
- "3": "avril",
- "4": "mai",
- "5": "juin",
- "6": "juillet",
- "7": "ao\u00fbt",
- "8": "septembre",
- "9": "octobre",
- "10": "novembre",
- "11": "d\u00e9cembre"
- },
- "SHORTDAY": {
- "0": "dim.",
- "1": "lun.",
- "2": "mar.",
- "3": "mer.",
- "4": "jeu.",
- "5": "ven.",
- "6": "sam."
- },
- "SHORTMONTH": {
- "0": "janv.",
- "1": "f\u00e9vr.",
- "2": "mars",
- "3": "avr.",
- "4": "mai",
- "5": "juin",
- "6": "juil.",
- "7": "ao\u00fbt",
- "8": "sept.",
- "9": "oct.",
- "10": "nov.",
- "11": "d\u00e9c."
- },
+ "AMPMS": [
+ "AM",
+ "PM"
+ ],
+ "DAY": [
+ "dimanche",
+ "lundi",
+ "mardi",
+ "mercredi",
+ "jeudi",
+ "vendredi",
+ "samedi"
+ ],
+ "MONTH": [
+ "janvier",
+ "f\u00e9vrier",
+ "mars",
+ "avril",
+ "mai",
+ "juin",
+ "juillet",
+ "ao\u00fbt",
+ "septembre",
+ "octobre",
+ "novembre",
+ "d\u00e9cembre"
+ ],
+ "SHORTDAY": [
+ "dim.",
+ "lun.",
+ "mar.",
+ "mer.",
+ "jeu.",
+ "ven.",
+ "sam."
+ ],
+ "SHORTMONTH": [
+ "janv.",
+ "f\u00e9vr.",
+ "mars",
+ "avr.",
+ "mai",
+ "juin",
+ "juil.",
+ "ao\u00fbt",
+ "sept.",
+ "oct.",
+ "nov.",
+ "d\u00e9c."
+ ],
"fullDate": "EEEE d MMMM y",
"longDate": "d MMMM y",
"medium": "yyyy-MM-dd HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "$",
"DECIMAL_SEP": ",",
"GROUP_SEP": "\u00a0",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "fr-ca",
"pluralCat": function (n) { if (n >= 0 && n <= 2 && n != 2) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-cd.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-cd.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-cd.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "AM",
- "1": "PM"
- },
- "DAY": {
- "0": "dimanche",
- "1": "lundi",
- "2": "mardi",
- "3": "mercredi",
- "4": "jeudi",
- "5": "vendredi",
- "6": "samedi"
- },
- "MONTH": {
- "0": "janvier",
- "1": "f\u00e9vrier",
- "2": "mars",
- "3": "avril",
- "4": "mai",
- "5": "juin",
- "6": "juillet",
- "7": "ao\u00fbt",
- "8": "septembre",
- "9": "octobre",
- "10": "novembre",
- "11": "d\u00e9cembre"
- },
- "SHORTDAY": {
- "0": "dim.",
- "1": "lun.",
- "2": "mar.",
- "3": "mer.",
- "4": "jeu.",
- "5": "ven.",
- "6": "sam."
- },
- "SHORTMONTH": {
- "0": "janv.",
- "1": "f\u00e9vr.",
- "2": "mars",
- "3": "avr.",
- "4": "mai",
- "5": "juin",
- "6": "juil.",
- "7": "ao\u00fbt",
- "8": "sept.",
- "9": "oct.",
- "10": "nov.",
- "11": "d\u00e9c."
- },
+ "AMPMS": [
+ "AM",
+ "PM"
+ ],
+ "DAY": [
+ "dimanche",
+ "lundi",
+ "mardi",
+ "mercredi",
+ "jeudi",
+ "vendredi",
+ "samedi"
+ ],
+ "MONTH": [
+ "janvier",
+ "f\u00e9vrier",
+ "mars",
+ "avril",
+ "mai",
+ "juin",
+ "juillet",
+ "ao\u00fbt",
+ "septembre",
+ "octobre",
+ "novembre",
+ "d\u00e9cembre"
+ ],
+ "SHORTDAY": [
+ "dim.",
+ "lun.",
+ "mar.",
+ "mer.",
+ "jeu.",
+ "ven.",
+ "sam."
+ ],
+ "SHORTMONTH": [
+ "janv.",
+ "f\u00e9vr.",
+ "mars",
+ "avr.",
+ "mai",
+ "juin",
+ "juil.",
+ "ao\u00fbt",
+ "sept.",
+ "oct.",
+ "nov.",
+ "d\u00e9c."
+ ],
"fullDate": "EEEE d MMMM y",
"longDate": "d MMMM y",
"medium": "d MMM y HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20ac",
"DECIMAL_SEP": ",",
"GROUP_SEP": "\u00a0",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "fr-cd",
"pluralCat": function (n) { if (n >= 0 && n <= 2 && n != 2) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-cf.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-cf.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-cf.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "AM",
- "1": "PM"
- },
- "DAY": {
- "0": "dimanche",
- "1": "lundi",
- "2": "mardi",
- "3": "mercredi",
- "4": "jeudi",
- "5": "vendredi",
- "6": "samedi"
- },
- "MONTH": {
- "0": "janvier",
- "1": "f\u00e9vrier",
- "2": "mars",
- "3": "avril",
- "4": "mai",
- "5": "juin",
- "6": "juillet",
- "7": "ao\u00fbt",
- "8": "septembre",
- "9": "octobre",
- "10": "novembre",
- "11": "d\u00e9cembre"
- },
- "SHORTDAY": {
- "0": "dim.",
- "1": "lun.",
- "2": "mar.",
- "3": "mer.",
- "4": "jeu.",
- "5": "ven.",
- "6": "sam."
- },
- "SHORTMONTH": {
- "0": "janv.",
- "1": "f\u00e9vr.",
- "2": "mars",
- "3": "avr.",
- "4": "mai",
- "5": "juin",
- "6": "juil.",
- "7": "ao\u00fbt",
- "8": "sept.",
- "9": "oct.",
- "10": "nov.",
- "11": "d\u00e9c."
- },
+ "AMPMS": [
+ "AM",
+ "PM"
+ ],
+ "DAY": [
+ "dimanche",
+ "lundi",
+ "mardi",
+ "mercredi",
+ "jeudi",
+ "vendredi",
+ "samedi"
+ ],
+ "MONTH": [
+ "janvier",
+ "f\u00e9vrier",
+ "mars",
+ "avril",
+ "mai",
+ "juin",
+ "juillet",
+ "ao\u00fbt",
+ "septembre",
+ "octobre",
+ "novembre",
+ "d\u00e9cembre"
+ ],
+ "SHORTDAY": [
+ "dim.",
+ "lun.",
+ "mar.",
+ "mer.",
+ "jeu.",
+ "ven.",
+ "sam."
+ ],
+ "SHORTMONTH": [
+ "janv.",
+ "f\u00e9vr.",
+ "mars",
+ "avr.",
+ "mai",
+ "juin",
+ "juil.",
+ "ao\u00fbt",
+ "sept.",
+ "oct.",
+ "nov.",
+ "d\u00e9c."
+ ],
"fullDate": "EEEE d MMMM y",
"longDate": "d MMMM y",
"medium": "d MMM y HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20ac",
"DECIMAL_SEP": ",",
"GROUP_SEP": "\u00a0",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "fr-cf",
"pluralCat": function (n) { if (n >= 0 && n <= 2 && n != 2) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-cg.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-cg.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-cg.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "AM",
- "1": "PM"
- },
- "DAY": {
- "0": "dimanche",
- "1": "lundi",
- "2": "mardi",
- "3": "mercredi",
- "4": "jeudi",
- "5": "vendredi",
- "6": "samedi"
- },
- "MONTH": {
- "0": "janvier",
- "1": "f\u00e9vrier",
- "2": "mars",
- "3": "avril",
- "4": "mai",
- "5": "juin",
- "6": "juillet",
- "7": "ao\u00fbt",
- "8": "septembre",
- "9": "octobre",
- "10": "novembre",
- "11": "d\u00e9cembre"
- },
- "SHORTDAY": {
- "0": "dim.",
- "1": "lun.",
- "2": "mar.",
- "3": "mer.",
- "4": "jeu.",
- "5": "ven.",
- "6": "sam."
- },
- "SHORTMONTH": {
- "0": "janv.",
- "1": "f\u00e9vr.",
- "2": "mars",
- "3": "avr.",
- "4": "mai",
- "5": "juin",
- "6": "juil.",
- "7": "ao\u00fbt",
- "8": "sept.",
- "9": "oct.",
- "10": "nov.",
- "11": "d\u00e9c."
- },
+ "AMPMS": [
+ "AM",
+ "PM"
+ ],
+ "DAY": [
+ "dimanche",
+ "lundi",
+ "mardi",
+ "mercredi",
+ "jeudi",
+ "vendredi",
+ "samedi"
+ ],
+ "MONTH": [
+ "janvier",
+ "f\u00e9vrier",
+ "mars",
+ "avril",
+ "mai",
+ "juin",
+ "juillet",
+ "ao\u00fbt",
+ "septembre",
+ "octobre",
+ "novembre",
+ "d\u00e9cembre"
+ ],
+ "SHORTDAY": [
+ "dim.",
+ "lun.",
+ "mar.",
+ "mer.",
+ "jeu.",
+ "ven.",
+ "sam."
+ ],
+ "SHORTMONTH": [
+ "janv.",
+ "f\u00e9vr.",
+ "mars",
+ "avr.",
+ "mai",
+ "juin",
+ "juil.",
+ "ao\u00fbt",
+ "sept.",
+ "oct.",
+ "nov.",
+ "d\u00e9c."
+ ],
"fullDate": "EEEE d MMMM y",
"longDate": "d MMMM y",
"medium": "d MMM y HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20ac",
"DECIMAL_SEP": ",",
"GROUP_SEP": "\u00a0",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "fr-cg",
"pluralCat": function (n) { if (n >= 0 && n <= 2 && n != 2) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-ch.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-ch.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-ch.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "AM",
- "1": "PM"
- },
- "DAY": {
- "0": "dimanche",
- "1": "lundi",
- "2": "mardi",
- "3": "mercredi",
- "4": "jeudi",
- "5": "vendredi",
- "6": "samedi"
- },
- "MONTH": {
- "0": "janvier",
- "1": "f\u00e9vrier",
- "2": "mars",
- "3": "avril",
- "4": "mai",
- "5": "juin",
- "6": "juillet",
- "7": "ao\u00fbt",
- "8": "septembre",
- "9": "octobre",
- "10": "novembre",
- "11": "d\u00e9cembre"
- },
- "SHORTDAY": {
- "0": "dim.",
- "1": "lun.",
- "2": "mar.",
- "3": "mer.",
- "4": "jeu.",
- "5": "ven.",
- "6": "sam."
- },
- "SHORTMONTH": {
- "0": "janv.",
- "1": "f\u00e9vr.",
- "2": "mars",
- "3": "avr.",
- "4": "mai",
- "5": "juin",
- "6": "juil.",
- "7": "ao\u00fbt",
- "8": "sept.",
- "9": "oct.",
- "10": "nov.",
- "11": "d\u00e9c."
- },
+ "AMPMS": [
+ "AM",
+ "PM"
+ ],
+ "DAY": [
+ "dimanche",
+ "lundi",
+ "mardi",
+ "mercredi",
+ "jeudi",
+ "vendredi",
+ "samedi"
+ ],
+ "MONTH": [
+ "janvier",
+ "f\u00e9vrier",
+ "mars",
+ "avril",
+ "mai",
+ "juin",
+ "juillet",
+ "ao\u00fbt",
+ "septembre",
+ "octobre",
+ "novembre",
+ "d\u00e9cembre"
+ ],
+ "SHORTDAY": [
+ "dim.",
+ "lun.",
+ "mar.",
+ "mer.",
+ "jeu.",
+ "ven.",
+ "sam."
+ ],
+ "SHORTMONTH": [
+ "janv.",
+ "f\u00e9vr.",
+ "mars",
+ "avr.",
+ "mai",
+ "juin",
+ "juil.",
+ "ao\u00fbt",
+ "sept.",
+ "oct.",
+ "nov.",
+ "d\u00e9c."
+ ],
"fullDate": "EEEE, d MMMM y",
"longDate": "d MMMM y",
"medium": "d MMM y HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20ac",
"DECIMAL_SEP": ",",
"GROUP_SEP": "\u00a0",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "fr-ch",
"pluralCat": function (n) { if (n >= 0 && n <= 2 && n != 2) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-ci.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-ci.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-ci.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "AM",
- "1": "PM"
- },
- "DAY": {
- "0": "dimanche",
- "1": "lundi",
- "2": "mardi",
- "3": "mercredi",
- "4": "jeudi",
- "5": "vendredi",
- "6": "samedi"
- },
- "MONTH": {
- "0": "janvier",
- "1": "f\u00e9vrier",
- "2": "mars",
- "3": "avril",
- "4": "mai",
- "5": "juin",
- "6": "juillet",
- "7": "ao\u00fbt",
- "8": "septembre",
- "9": "octobre",
- "10": "novembre",
- "11": "d\u00e9cembre"
- },
- "SHORTDAY": {
- "0": "dim.",
- "1": "lun.",
- "2": "mar.",
- "3": "mer.",
- "4": "jeu.",
- "5": "ven.",
- "6": "sam."
- },
- "SHORTMONTH": {
- "0": "janv.",
- "1": "f\u00e9vr.",
- "2": "mars",
- "3": "avr.",
- "4": "mai",
- "5": "juin",
- "6": "juil.",
- "7": "ao\u00fbt",
- "8": "sept.",
- "9": "oct.",
- "10": "nov.",
- "11": "d\u00e9c."
- },
+ "AMPMS": [
+ "AM",
+ "PM"
+ ],
+ "DAY": [
+ "dimanche",
+ "lundi",
+ "mardi",
+ "mercredi",
+ "jeudi",
+ "vendredi",
+ "samedi"
+ ],
+ "MONTH": [
+ "janvier",
+ "f\u00e9vrier",
+ "mars",
+ "avril",
+ "mai",
+ "juin",
+ "juillet",
+ "ao\u00fbt",
+ "septembre",
+ "octobre",
+ "novembre",
+ "d\u00e9cembre"
+ ],
+ "SHORTDAY": [
+ "dim.",
+ "lun.",
+ "mar.",
+ "mer.",
+ "jeu.",
+ "ven.",
+ "sam."
+ ],
+ "SHORTMONTH": [
+ "janv.",
+ "f\u00e9vr.",
+ "mars",
+ "avr.",
+ "mai",
+ "juin",
+ "juil.",
+ "ao\u00fbt",
+ "sept.",
+ "oct.",
+ "nov.",
+ "d\u00e9c."
+ ],
"fullDate": "EEEE d MMMM y",
"longDate": "d MMMM y",
"medium": "d MMM y HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20ac",
"DECIMAL_SEP": ",",
"GROUP_SEP": "\u00a0",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "fr-ci",
"pluralCat": function (n) { if (n >= 0 && n <= 2 && n != 2) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-cm.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-cm.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-cm.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "AM",
- "1": "PM"
- },
- "DAY": {
- "0": "dimanche",
- "1": "lundi",
- "2": "mardi",
- "3": "mercredi",
- "4": "jeudi",
- "5": "vendredi",
- "6": "samedi"
- },
- "MONTH": {
- "0": "janvier",
- "1": "f\u00e9vrier",
- "2": "mars",
- "3": "avril",
- "4": "mai",
- "5": "juin",
- "6": "juillet",
- "7": "ao\u00fbt",
- "8": "septembre",
- "9": "octobre",
- "10": "novembre",
- "11": "d\u00e9cembre"
- },
- "SHORTDAY": {
- "0": "dim.",
- "1": "lun.",
- "2": "mar.",
- "3": "mer.",
- "4": "jeu.",
- "5": "ven.",
- "6": "sam."
- },
- "SHORTMONTH": {
- "0": "janv.",
- "1": "f\u00e9vr.",
- "2": "mars",
- "3": "avr.",
- "4": "mai",
- "5": "juin",
- "6": "juil.",
- "7": "ao\u00fbt",
- "8": "sept.",
- "9": "oct.",
- "10": "nov.",
- "11": "d\u00e9c."
- },
+ "AMPMS": [
+ "AM",
+ "PM"
+ ],
+ "DAY": [
+ "dimanche",
+ "lundi",
+ "mardi",
+ "mercredi",
+ "jeudi",
+ "vendredi",
+ "samedi"
+ ],
+ "MONTH": [
+ "janvier",
+ "f\u00e9vrier",
+ "mars",
+ "avril",
+ "mai",
+ "juin",
+ "juillet",
+ "ao\u00fbt",
+ "septembre",
+ "octobre",
+ "novembre",
+ "d\u00e9cembre"
+ ],
+ "SHORTDAY": [
+ "dim.",
+ "lun.",
+ "mar.",
+ "mer.",
+ "jeu.",
+ "ven.",
+ "sam."
+ ],
+ "SHORTMONTH": [
+ "janv.",
+ "f\u00e9vr.",
+ "mars",
+ "avr.",
+ "mai",
+ "juin",
+ "juil.",
+ "ao\u00fbt",
+ "sept.",
+ "oct.",
+ "nov.",
+ "d\u00e9c."
+ ],
"fullDate": "EEEE d MMMM y",
"longDate": "d MMMM y",
"medium": "d MMM y HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20ac",
"DECIMAL_SEP": ",",
"GROUP_SEP": "\u00a0",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "fr-cm",
"pluralCat": function (n) { if (n >= 0 && n <= 2 && n != 2) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-dj.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-dj.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-dj.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "AM",
- "1": "PM"
- },
- "DAY": {
- "0": "dimanche",
- "1": "lundi",
- "2": "mardi",
- "3": "mercredi",
- "4": "jeudi",
- "5": "vendredi",
- "6": "samedi"
- },
- "MONTH": {
- "0": "janvier",
- "1": "f\u00e9vrier",
- "2": "mars",
- "3": "avril",
- "4": "mai",
- "5": "juin",
- "6": "juillet",
- "7": "ao\u00fbt",
- "8": "septembre",
- "9": "octobre",
- "10": "novembre",
- "11": "d\u00e9cembre"
- },
- "SHORTDAY": {
- "0": "dim.",
- "1": "lun.",
- "2": "mar.",
- "3": "mer.",
- "4": "jeu.",
- "5": "ven.",
- "6": "sam."
- },
- "SHORTMONTH": {
- "0": "janv.",
- "1": "f\u00e9vr.",
- "2": "mars",
- "3": "avr.",
- "4": "mai",
- "5": "juin",
- "6": "juil.",
- "7": "ao\u00fbt",
- "8": "sept.",
- "9": "oct.",
- "10": "nov.",
- "11": "d\u00e9c."
- },
+ "AMPMS": [
+ "AM",
+ "PM"
+ ],
+ "DAY": [
+ "dimanche",
+ "lundi",
+ "mardi",
+ "mercredi",
+ "jeudi",
+ "vendredi",
+ "samedi"
+ ],
+ "MONTH": [
+ "janvier",
+ "f\u00e9vrier",
+ "mars",
+ "avril",
+ "mai",
+ "juin",
+ "juillet",
+ "ao\u00fbt",
+ "septembre",
+ "octobre",
+ "novembre",
+ "d\u00e9cembre"
+ ],
+ "SHORTDAY": [
+ "dim.",
+ "lun.",
+ "mar.",
+ "mer.",
+ "jeu.",
+ "ven.",
+ "sam."
+ ],
+ "SHORTMONTH": [
+ "janv.",
+ "f\u00e9vr.",
+ "mars",
+ "avr.",
+ "mai",
+ "juin",
+ "juil.",
+ "ao\u00fbt",
+ "sept.",
+ "oct.",
+ "nov.",
+ "d\u00e9c."
+ ],
"fullDate": "EEEE d MMMM y",
"longDate": "d MMMM y",
"medium": "d MMM y HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20ac",
"DECIMAL_SEP": ",",
"GROUP_SEP": "\u00a0",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "fr-dj",
"pluralCat": function (n) { if (n >= 0 && n <= 2 && n != 2) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-fr.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-fr.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-fr.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "AM",
- "1": "PM"
- },
- "DAY": {
- "0": "dimanche",
- "1": "lundi",
- "2": "mardi",
- "3": "mercredi",
- "4": "jeudi",
- "5": "vendredi",
- "6": "samedi"
- },
- "MONTH": {
- "0": "janvier",
- "1": "f\u00e9vrier",
- "2": "mars",
- "3": "avril",
- "4": "mai",
- "5": "juin",
- "6": "juillet",
- "7": "ao\u00fbt",
- "8": "septembre",
- "9": "octobre",
- "10": "novembre",
- "11": "d\u00e9cembre"
- },
- "SHORTDAY": {
- "0": "dim.",
- "1": "lun.",
- "2": "mar.",
- "3": "mer.",
- "4": "jeu.",
- "5": "ven.",
- "6": "sam."
- },
- "SHORTMONTH": {
- "0": "janv.",
- "1": "f\u00e9vr.",
- "2": "mars",
- "3": "avr.",
- "4": "mai",
- "5": "juin",
- "6": "juil.",
- "7": "ao\u00fbt",
- "8": "sept.",
- "9": "oct.",
- "10": "nov.",
- "11": "d\u00e9c."
- },
+ "AMPMS": [
+ "AM",
+ "PM"
+ ],
+ "DAY": [
+ "dimanche",
+ "lundi",
+ "mardi",
+ "mercredi",
+ "jeudi",
+ "vendredi",
+ "samedi"
+ ],
+ "MONTH": [
+ "janvier",
+ "f\u00e9vrier",
+ "mars",
+ "avril",
+ "mai",
+ "juin",
+ "juillet",
+ "ao\u00fbt",
+ "septembre",
+ "octobre",
+ "novembre",
+ "d\u00e9cembre"
+ ],
+ "SHORTDAY": [
+ "dim.",
+ "lun.",
+ "mar.",
+ "mer.",
+ "jeu.",
+ "ven.",
+ "sam."
+ ],
+ "SHORTMONTH": [
+ "janv.",
+ "f\u00e9vr.",
+ "mars",
+ "avr.",
+ "mai",
+ "juin",
+ "juil.",
+ "ao\u00fbt",
+ "sept.",
+ "oct.",
+ "nov.",
+ "d\u00e9c."
+ ],
"fullDate": "EEEE d MMMM y",
"longDate": "d MMMM y",
"medium": "d MMM y HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20ac",
"DECIMAL_SEP": ",",
"GROUP_SEP": "\u00a0",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "fr-fr",
"pluralCat": function (n) { if (n >= 0 && n <= 2 && n != 2) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-ga.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-ga.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-ga.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "AM",
- "1": "PM"
- },
- "DAY": {
- "0": "dimanche",
- "1": "lundi",
- "2": "mardi",
- "3": "mercredi",
- "4": "jeudi",
- "5": "vendredi",
- "6": "samedi"
- },
- "MONTH": {
- "0": "janvier",
- "1": "f\u00e9vrier",
- "2": "mars",
- "3": "avril",
- "4": "mai",
- "5": "juin",
- "6": "juillet",
- "7": "ao\u00fbt",
- "8": "septembre",
- "9": "octobre",
- "10": "novembre",
- "11": "d\u00e9cembre"
- },
- "SHORTDAY": {
- "0": "dim.",
- "1": "lun.",
- "2": "mar.",
- "3": "mer.",
- "4": "jeu.",
- "5": "ven.",
- "6": "sam."
- },
- "SHORTMONTH": {
- "0": "janv.",
- "1": "f\u00e9vr.",
- "2": "mars",
- "3": "avr.",
- "4": "mai",
- "5": "juin",
- "6": "juil.",
- "7": "ao\u00fbt",
- "8": "sept.",
- "9": "oct.",
- "10": "nov.",
- "11": "d\u00e9c."
- },
+ "AMPMS": [
+ "AM",
+ "PM"
+ ],
+ "DAY": [
+ "dimanche",
+ "lundi",
+ "mardi",
+ "mercredi",
+ "jeudi",
+ "vendredi",
+ "samedi"
+ ],
+ "MONTH": [
+ "janvier",
+ "f\u00e9vrier",
+ "mars",
+ "avril",
+ "mai",
+ "juin",
+ "juillet",
+ "ao\u00fbt",
+ "septembre",
+ "octobre",
+ "novembre",
+ "d\u00e9cembre"
+ ],
+ "SHORTDAY": [
+ "dim.",
+ "lun.",
+ "mar.",
+ "mer.",
+ "jeu.",
+ "ven.",
+ "sam."
+ ],
+ "SHORTMONTH": [
+ "janv.",
+ "f\u00e9vr.",
+ "mars",
+ "avr.",
+ "mai",
+ "juin",
+ "juil.",
+ "ao\u00fbt",
+ "sept.",
+ "oct.",
+ "nov.",
+ "d\u00e9c."
+ ],
"fullDate": "EEEE d MMMM y",
"longDate": "d MMMM y",
"medium": "d MMM y HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20ac",
"DECIMAL_SEP": ",",
"GROUP_SEP": "\u00a0",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "fr-ga",
"pluralCat": function (n) { if (n >= 0 && n <= 2 && n != 2) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-gf.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-gf.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-gf.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "AM",
- "1": "PM"
- },
- "DAY": {
- "0": "dimanche",
- "1": "lundi",
- "2": "mardi",
- "3": "mercredi",
- "4": "jeudi",
- "5": "vendredi",
- "6": "samedi"
- },
- "MONTH": {
- "0": "janvier",
- "1": "f\u00e9vrier",
- "2": "mars",
- "3": "avril",
- "4": "mai",
- "5": "juin",
- "6": "juillet",
- "7": "ao\u00fbt",
- "8": "septembre",
- "9": "octobre",
- "10": "novembre",
- "11": "d\u00e9cembre"
- },
- "SHORTDAY": {
- "0": "dim.",
- "1": "lun.",
- "2": "mar.",
- "3": "mer.",
- "4": "jeu.",
- "5": "ven.",
- "6": "sam."
- },
- "SHORTMONTH": {
- "0": "janv.",
- "1": "f\u00e9vr.",
- "2": "mars",
- "3": "avr.",
- "4": "mai",
- "5": "juin",
- "6": "juil.",
- "7": "ao\u00fbt",
- "8": "sept.",
- "9": "oct.",
- "10": "nov.",
- "11": "d\u00e9c."
- },
+ "AMPMS": [
+ "AM",
+ "PM"
+ ],
+ "DAY": [
+ "dimanche",
+ "lundi",
+ "mardi",
+ "mercredi",
+ "jeudi",
+ "vendredi",
+ "samedi"
+ ],
+ "MONTH": [
+ "janvier",
+ "f\u00e9vrier",
+ "mars",
+ "avril",
+ "mai",
+ "juin",
+ "juillet",
+ "ao\u00fbt",
+ "septembre",
+ "octobre",
+ "novembre",
+ "d\u00e9cembre"
+ ],
+ "SHORTDAY": [
+ "dim.",
+ "lun.",
+ "mar.",
+ "mer.",
+ "jeu.",
+ "ven.",
+ "sam."
+ ],
+ "SHORTMONTH": [
+ "janv.",
+ "f\u00e9vr.",
+ "mars",
+ "avr.",
+ "mai",
+ "juin",
+ "juil.",
+ "ao\u00fbt",
+ "sept.",
+ "oct.",
+ "nov.",
+ "d\u00e9c."
+ ],
"fullDate": "EEEE d MMMM y",
"longDate": "d MMMM y",
"medium": "d MMM y HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20ac",
"DECIMAL_SEP": ",",
"GROUP_SEP": "\u00a0",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "fr-gf",
"pluralCat": function (n) { if (n >= 0 && n <= 2 && n != 2) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-gn.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-gn.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-gn.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "AM",
- "1": "PM"
- },
- "DAY": {
- "0": "dimanche",
- "1": "lundi",
- "2": "mardi",
- "3": "mercredi",
- "4": "jeudi",
- "5": "vendredi",
- "6": "samedi"
- },
- "MONTH": {
- "0": "janvier",
- "1": "f\u00e9vrier",
- "2": "mars",
- "3": "avril",
- "4": "mai",
- "5": "juin",
- "6": "juillet",
- "7": "ao\u00fbt",
- "8": "septembre",
- "9": "octobre",
- "10": "novembre",
- "11": "d\u00e9cembre"
- },
- "SHORTDAY": {
- "0": "dim.",
- "1": "lun.",
- "2": "mar.",
- "3": "mer.",
- "4": "jeu.",
- "5": "ven.",
- "6": "sam."
- },
- "SHORTMONTH": {
- "0": "janv.",
- "1": "f\u00e9vr.",
- "2": "mars",
- "3": "avr.",
- "4": "mai",
- "5": "juin",
- "6": "juil.",
- "7": "ao\u00fbt",
- "8": "sept.",
- "9": "oct.",
- "10": "nov.",
- "11": "d\u00e9c."
- },
+ "AMPMS": [
+ "AM",
+ "PM"
+ ],
+ "DAY": [
+ "dimanche",
+ "lundi",
+ "mardi",
+ "mercredi",
+ "jeudi",
+ "vendredi",
+ "samedi"
+ ],
+ "MONTH": [
+ "janvier",
+ "f\u00e9vrier",
+ "mars",
+ "avril",
+ "mai",
+ "juin",
+ "juillet",
+ "ao\u00fbt",
+ "septembre",
+ "octobre",
+ "novembre",
+ "d\u00e9cembre"
+ ],
+ "SHORTDAY": [
+ "dim.",
+ "lun.",
+ "mar.",
+ "mer.",
+ "jeu.",
+ "ven.",
+ "sam."
+ ],
+ "SHORTMONTH": [
+ "janv.",
+ "f\u00e9vr.",
+ "mars",
+ "avr.",
+ "mai",
+ "juin",
+ "juil.",
+ "ao\u00fbt",
+ "sept.",
+ "oct.",
+ "nov.",
+ "d\u00e9c."
+ ],
"fullDate": "EEEE d MMMM y",
"longDate": "d MMMM y",
"medium": "d MMM y HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20ac",
"DECIMAL_SEP": ",",
"GROUP_SEP": "\u00a0",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "fr-gn",
"pluralCat": function (n) { if (n >= 0 && n <= 2 && n != 2) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-gp.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-gp.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-gp.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "AM",
- "1": "PM"
- },
- "DAY": {
- "0": "dimanche",
- "1": "lundi",
- "2": "mardi",
- "3": "mercredi",
- "4": "jeudi",
- "5": "vendredi",
- "6": "samedi"
- },
- "MONTH": {
- "0": "janvier",
- "1": "f\u00e9vrier",
- "2": "mars",
- "3": "avril",
- "4": "mai",
- "5": "juin",
- "6": "juillet",
- "7": "ao\u00fbt",
- "8": "septembre",
- "9": "octobre",
- "10": "novembre",
- "11": "d\u00e9cembre"
- },
- "SHORTDAY": {
- "0": "dim.",
- "1": "lun.",
- "2": "mar.",
- "3": "mer.",
- "4": "jeu.",
- "5": "ven.",
- "6": "sam."
- },
- "SHORTMONTH": {
- "0": "janv.",
- "1": "f\u00e9vr.",
- "2": "mars",
- "3": "avr.",
- "4": "mai",
- "5": "juin",
- "6": "juil.",
- "7": "ao\u00fbt",
- "8": "sept.",
- "9": "oct.",
- "10": "nov.",
- "11": "d\u00e9c."
- },
+ "AMPMS": [
+ "AM",
+ "PM"
+ ],
+ "DAY": [
+ "dimanche",
+ "lundi",
+ "mardi",
+ "mercredi",
+ "jeudi",
+ "vendredi",
+ "samedi"
+ ],
+ "MONTH": [
+ "janvier",
+ "f\u00e9vrier",
+ "mars",
+ "avril",
+ "mai",
+ "juin",
+ "juillet",
+ "ao\u00fbt",
+ "septembre",
+ "octobre",
+ "novembre",
+ "d\u00e9cembre"
+ ],
+ "SHORTDAY": [
+ "dim.",
+ "lun.",
+ "mar.",
+ "mer.",
+ "jeu.",
+ "ven.",
+ "sam."
+ ],
+ "SHORTMONTH": [
+ "janv.",
+ "f\u00e9vr.",
+ "mars",
+ "avr.",
+ "mai",
+ "juin",
+ "juil.",
+ "ao\u00fbt",
+ "sept.",
+ "oct.",
+ "nov.",
+ "d\u00e9c."
+ ],
"fullDate": "EEEE d MMMM y",
"longDate": "d MMMM y",
"medium": "d MMM y HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20ac",
"DECIMAL_SEP": ",",
"GROUP_SEP": "\u00a0",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "fr-gp",
"pluralCat": function (n) { if (n >= 0 && n <= 2 && n != 2) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-gq.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-gq.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-gq.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "AM",
- "1": "PM"
- },
- "DAY": {
- "0": "dimanche",
- "1": "lundi",
- "2": "mardi",
- "3": "mercredi",
- "4": "jeudi",
- "5": "vendredi",
- "6": "samedi"
- },
- "MONTH": {
- "0": "janvier",
- "1": "f\u00e9vrier",
- "2": "mars",
- "3": "avril",
- "4": "mai",
- "5": "juin",
- "6": "juillet",
- "7": "ao\u00fbt",
- "8": "septembre",
- "9": "octobre",
- "10": "novembre",
- "11": "d\u00e9cembre"
- },
- "SHORTDAY": {
- "0": "dim.",
- "1": "lun.",
- "2": "mar.",
- "3": "mer.",
- "4": "jeu.",
- "5": "ven.",
- "6": "sam."
- },
- "SHORTMONTH": {
- "0": "janv.",
- "1": "f\u00e9vr.",
- "2": "mars",
- "3": "avr.",
- "4": "mai",
- "5": "juin",
- "6": "juil.",
- "7": "ao\u00fbt",
- "8": "sept.",
- "9": "oct.",
- "10": "nov.",
- "11": "d\u00e9c."
- },
+ "AMPMS": [
+ "AM",
+ "PM"
+ ],
+ "DAY": [
+ "dimanche",
+ "lundi",
+ "mardi",
+ "mercredi",
+ "jeudi",
+ "vendredi",
+ "samedi"
+ ],
+ "MONTH": [
+ "janvier",
+ "f\u00e9vrier",
+ "mars",
+ "avril",
+ "mai",
+ "juin",
+ "juillet",
+ "ao\u00fbt",
+ "septembre",
+ "octobre",
+ "novembre",
+ "d\u00e9cembre"
+ ],
+ "SHORTDAY": [
+ "dim.",
+ "lun.",
+ "mar.",
+ "mer.",
+ "jeu.",
+ "ven.",
+ "sam."
+ ],
+ "SHORTMONTH": [
+ "janv.",
+ "f\u00e9vr.",
+ "mars",
+ "avr.",
+ "mai",
+ "juin",
+ "juil.",
+ "ao\u00fbt",
+ "sept.",
+ "oct.",
+ "nov.",
+ "d\u00e9c."
+ ],
"fullDate": "EEEE d MMMM y",
"longDate": "d MMMM y",
"medium": "d MMM y HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20ac",
"DECIMAL_SEP": ",",
"GROUP_SEP": "\u00a0",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "fr-gq",
"pluralCat": function (n) { if (n >= 0 && n <= 2 && n != 2) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-km.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-km.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-km.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "AM",
- "1": "PM"
- },
- "DAY": {
- "0": "dimanche",
- "1": "lundi",
- "2": "mardi",
- "3": "mercredi",
- "4": "jeudi",
- "5": "vendredi",
- "6": "samedi"
- },
- "MONTH": {
- "0": "janvier",
- "1": "f\u00e9vrier",
- "2": "mars",
- "3": "avril",
- "4": "mai",
- "5": "juin",
- "6": "juillet",
- "7": "ao\u00fbt",
- "8": "septembre",
- "9": "octobre",
- "10": "novembre",
- "11": "d\u00e9cembre"
- },
- "SHORTDAY": {
- "0": "dim.",
- "1": "lun.",
- "2": "mar.",
- "3": "mer.",
- "4": "jeu.",
- "5": "ven.",
- "6": "sam."
- },
- "SHORTMONTH": {
- "0": "janv.",
- "1": "f\u00e9vr.",
- "2": "mars",
- "3": "avr.",
- "4": "mai",
- "5": "juin",
- "6": "juil.",
- "7": "ao\u00fbt",
- "8": "sept.",
- "9": "oct.",
- "10": "nov.",
- "11": "d\u00e9c."
- },
+ "AMPMS": [
+ "AM",
+ "PM"
+ ],
+ "DAY": [
+ "dimanche",
+ "lundi",
+ "mardi",
+ "mercredi",
+ "jeudi",
+ "vendredi",
+ "samedi"
+ ],
+ "MONTH": [
+ "janvier",
+ "f\u00e9vrier",
+ "mars",
+ "avril",
+ "mai",
+ "juin",
+ "juillet",
+ "ao\u00fbt",
+ "septembre",
+ "octobre",
+ "novembre",
+ "d\u00e9cembre"
+ ],
+ "SHORTDAY": [
+ "dim.",
+ "lun.",
+ "mar.",
+ "mer.",
+ "jeu.",
+ "ven.",
+ "sam."
+ ],
+ "SHORTMONTH": [
+ "janv.",
+ "f\u00e9vr.",
+ "mars",
+ "avr.",
+ "mai",
+ "juin",
+ "juil.",
+ "ao\u00fbt",
+ "sept.",
+ "oct.",
+ "nov.",
+ "d\u00e9c."
+ ],
"fullDate": "EEEE d MMMM y",
"longDate": "d MMMM y",
"medium": "d MMM y HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20ac",
"DECIMAL_SEP": ",",
"GROUP_SEP": "\u00a0",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "fr-km",
"pluralCat": function (n) { if (n >= 0 && n <= 2 && n != 2) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-lu.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-lu.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-lu.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "AM",
- "1": "PM"
- },
- "DAY": {
- "0": "dimanche",
- "1": "lundi",
- "2": "mardi",
- "3": "mercredi",
- "4": "jeudi",
- "5": "vendredi",
- "6": "samedi"
- },
- "MONTH": {
- "0": "janvier",
- "1": "f\u00e9vrier",
- "2": "mars",
- "3": "avril",
- "4": "mai",
- "5": "juin",
- "6": "juillet",
- "7": "ao\u00fbt",
- "8": "septembre",
- "9": "octobre",
- "10": "novembre",
- "11": "d\u00e9cembre"
- },
- "SHORTDAY": {
- "0": "dim.",
- "1": "lun.",
- "2": "mar.",
- "3": "mer.",
- "4": "jeu.",
- "5": "ven.",
- "6": "sam."
- },
- "SHORTMONTH": {
- "0": "janv.",
- "1": "f\u00e9vr.",
- "2": "mars",
- "3": "avr.",
- "4": "mai",
- "5": "juin",
- "6": "juil.",
- "7": "ao\u00fbt",
- "8": "sept.",
- "9": "oct.",
- "10": "nov.",
- "11": "d\u00e9c."
- },
+ "AMPMS": [
+ "AM",
+ "PM"
+ ],
+ "DAY": [
+ "dimanche",
+ "lundi",
+ "mardi",
+ "mercredi",
+ "jeudi",
+ "vendredi",
+ "samedi"
+ ],
+ "MONTH": [
+ "janvier",
+ "f\u00e9vrier",
+ "mars",
+ "avril",
+ "mai",
+ "juin",
+ "juillet",
+ "ao\u00fbt",
+ "septembre",
+ "octobre",
+ "novembre",
+ "d\u00e9cembre"
+ ],
+ "SHORTDAY": [
+ "dim.",
+ "lun.",
+ "mar.",
+ "mer.",
+ "jeu.",
+ "ven.",
+ "sam."
+ ],
+ "SHORTMONTH": [
+ "janv.",
+ "f\u00e9vr.",
+ "mars",
+ "avr.",
+ "mai",
+ "juin",
+ "juil.",
+ "ao\u00fbt",
+ "sept.",
+ "oct.",
+ "nov.",
+ "d\u00e9c."
+ ],
"fullDate": "EEEE d MMMM y",
"longDate": "d MMMM y",
"medium": "d MMM y HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20ac",
"DECIMAL_SEP": ",",
"GROUP_SEP": "\u00a0",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "fr-lu",
"pluralCat": function (n) { if (n >= 0 && n <= 2 && n != 2) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-mc.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-mc.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-mc.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "AM",
- "1": "PM"
- },
- "DAY": {
- "0": "dimanche",
- "1": "lundi",
- "2": "mardi",
- "3": "mercredi",
- "4": "jeudi",
- "5": "vendredi",
- "6": "samedi"
- },
- "MONTH": {
- "0": "janvier",
- "1": "f\u00e9vrier",
- "2": "mars",
- "3": "avril",
- "4": "mai",
- "5": "juin",
- "6": "juillet",
- "7": "ao\u00fbt",
- "8": "septembre",
- "9": "octobre",
- "10": "novembre",
- "11": "d\u00e9cembre"
- },
- "SHORTDAY": {
- "0": "dim.",
- "1": "lun.",
- "2": "mar.",
- "3": "mer.",
- "4": "jeu.",
- "5": "ven.",
- "6": "sam."
- },
- "SHORTMONTH": {
- "0": "janv.",
- "1": "f\u00e9vr.",
- "2": "mars",
- "3": "avr.",
- "4": "mai",
- "5": "juin",
- "6": "juil.",
- "7": "ao\u00fbt",
- "8": "sept.",
- "9": "oct.",
- "10": "nov.",
- "11": "d\u00e9c."
- },
+ "AMPMS": [
+ "AM",
+ "PM"
+ ],
+ "DAY": [
+ "dimanche",
+ "lundi",
+ "mardi",
+ "mercredi",
+ "jeudi",
+ "vendredi",
+ "samedi"
+ ],
+ "MONTH": [
+ "janvier",
+ "f\u00e9vrier",
+ "mars",
+ "avril",
+ "mai",
+ "juin",
+ "juillet",
+ "ao\u00fbt",
+ "septembre",
+ "octobre",
+ "novembre",
+ "d\u00e9cembre"
+ ],
+ "SHORTDAY": [
+ "dim.",
+ "lun.",
+ "mar.",
+ "mer.",
+ "jeu.",
+ "ven.",
+ "sam."
+ ],
+ "SHORTMONTH": [
+ "janv.",
+ "f\u00e9vr.",
+ "mars",
+ "avr.",
+ "mai",
+ "juin",
+ "juil.",
+ "ao\u00fbt",
+ "sept.",
+ "oct.",
+ "nov.",
+ "d\u00e9c."
+ ],
"fullDate": "EEEE d MMMM y",
"longDate": "d MMMM y",
"medium": "d MMM y HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20ac",
"DECIMAL_SEP": ",",
"GROUP_SEP": "\u00a0",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "fr-mc",
"pluralCat": function (n) { if (n >= 0 && n <= 2 && n != 2) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-mf.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-mf.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-mf.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "AM",
- "1": "PM"
- },
- "DAY": {
- "0": "dimanche",
- "1": "lundi",
- "2": "mardi",
- "3": "mercredi",
- "4": "jeudi",
- "5": "vendredi",
- "6": "samedi"
- },
- "MONTH": {
- "0": "janvier",
- "1": "f\u00e9vrier",
- "2": "mars",
- "3": "avril",
- "4": "mai",
- "5": "juin",
- "6": "juillet",
- "7": "ao\u00fbt",
- "8": "septembre",
- "9": "octobre",
- "10": "novembre",
- "11": "d\u00e9cembre"
- },
- "SHORTDAY": {
- "0": "dim.",
- "1": "lun.",
- "2": "mar.",
- "3": "mer.",
- "4": "jeu.",
- "5": "ven.",
- "6": "sam."
- },
- "SHORTMONTH": {
- "0": "janv.",
- "1": "f\u00e9vr.",
- "2": "mars",
- "3": "avr.",
- "4": "mai",
- "5": "juin",
- "6": "juil.",
- "7": "ao\u00fbt",
- "8": "sept.",
- "9": "oct.",
- "10": "nov.",
- "11": "d\u00e9c."
- },
+ "AMPMS": [
+ "AM",
+ "PM"
+ ],
+ "DAY": [
+ "dimanche",
+ "lundi",
+ "mardi",
+ "mercredi",
+ "jeudi",
+ "vendredi",
+ "samedi"
+ ],
+ "MONTH": [
+ "janvier",
+ "f\u00e9vrier",
+ "mars",
+ "avril",
+ "mai",
+ "juin",
+ "juillet",
+ "ao\u00fbt",
+ "septembre",
+ "octobre",
+ "novembre",
+ "d\u00e9cembre"
+ ],
+ "SHORTDAY": [
+ "dim.",
+ "lun.",
+ "mar.",
+ "mer.",
+ "jeu.",
+ "ven.",
+ "sam."
+ ],
+ "SHORTMONTH": [
+ "janv.",
+ "f\u00e9vr.",
+ "mars",
+ "avr.",
+ "mai",
+ "juin",
+ "juil.",
+ "ao\u00fbt",
+ "sept.",
+ "oct.",
+ "nov.",
+ "d\u00e9c."
+ ],
"fullDate": "EEEE d MMMM y",
"longDate": "d MMMM y",
"medium": "d MMM y HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20ac",
"DECIMAL_SEP": ",",
"GROUP_SEP": "\u00a0",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "fr-mf",
"pluralCat": function (n) { if (n >= 0 && n <= 2 && n != 2) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-mg.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-mg.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-mg.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "AM",
- "1": "PM"
- },
- "DAY": {
- "0": "dimanche",
- "1": "lundi",
- "2": "mardi",
- "3": "mercredi",
- "4": "jeudi",
- "5": "vendredi",
- "6": "samedi"
- },
- "MONTH": {
- "0": "janvier",
- "1": "f\u00e9vrier",
- "2": "mars",
- "3": "avril",
- "4": "mai",
- "5": "juin",
- "6": "juillet",
- "7": "ao\u00fbt",
- "8": "septembre",
- "9": "octobre",
- "10": "novembre",
- "11": "d\u00e9cembre"
- },
- "SHORTDAY": {
- "0": "dim.",
- "1": "lun.",
- "2": "mar.",
- "3": "mer.",
- "4": "jeu.",
- "5": "ven.",
- "6": "sam."
- },
- "SHORTMONTH": {
- "0": "janv.",
- "1": "f\u00e9vr.",
- "2": "mars",
- "3": "avr.",
- "4": "mai",
- "5": "juin",
- "6": "juil.",
- "7": "ao\u00fbt",
- "8": "sept.",
- "9": "oct.",
- "10": "nov.",
- "11": "d\u00e9c."
- },
+ "AMPMS": [
+ "AM",
+ "PM"
+ ],
+ "DAY": [
+ "dimanche",
+ "lundi",
+ "mardi",
+ "mercredi",
+ "jeudi",
+ "vendredi",
+ "samedi"
+ ],
+ "MONTH": [
+ "janvier",
+ "f\u00e9vrier",
+ "mars",
+ "avril",
+ "mai",
+ "juin",
+ "juillet",
+ "ao\u00fbt",
+ "septembre",
+ "octobre",
+ "novembre",
+ "d\u00e9cembre"
+ ],
+ "SHORTDAY": [
+ "dim.",
+ "lun.",
+ "mar.",
+ "mer.",
+ "jeu.",
+ "ven.",
+ "sam."
+ ],
+ "SHORTMONTH": [
+ "janv.",
+ "f\u00e9vr.",
+ "mars",
+ "avr.",
+ "mai",
+ "juin",
+ "juil.",
+ "ao\u00fbt",
+ "sept.",
+ "oct.",
+ "nov.",
+ "d\u00e9c."
+ ],
"fullDate": "EEEE d MMMM y",
"longDate": "d MMMM y",
"medium": "d MMM y HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20ac",
"DECIMAL_SEP": ",",
"GROUP_SEP": "\u00a0",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "fr-mg",
"pluralCat": function (n) { if (n >= 0 && n <= 2 && n != 2) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-ml.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-ml.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-ml.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "AM",
- "1": "PM"
- },
- "DAY": {
- "0": "dimanche",
- "1": "lundi",
- "2": "mardi",
- "3": "mercredi",
- "4": "jeudi",
- "5": "vendredi",
- "6": "samedi"
- },
- "MONTH": {
- "0": "janvier",
- "1": "f\u00e9vrier",
- "2": "mars",
- "3": "avril",
- "4": "mai",
- "5": "juin",
- "6": "juillet",
- "7": "ao\u00fbt",
- "8": "septembre",
- "9": "octobre",
- "10": "novembre",
- "11": "d\u00e9cembre"
- },
- "SHORTDAY": {
- "0": "dim.",
- "1": "lun.",
- "2": "mar.",
- "3": "mer.",
- "4": "jeu.",
- "5": "ven.",
- "6": "sam."
- },
- "SHORTMONTH": {
- "0": "janv.",
- "1": "f\u00e9vr.",
- "2": "mars",
- "3": "avr.",
- "4": "mai",
- "5": "juin",
- "6": "juil.",
- "7": "ao\u00fbt",
- "8": "sept.",
- "9": "oct.",
- "10": "nov.",
- "11": "d\u00e9c."
- },
+ "AMPMS": [
+ "AM",
+ "PM"
+ ],
+ "DAY": [
+ "dimanche",
+ "lundi",
+ "mardi",
+ "mercredi",
+ "jeudi",
+ "vendredi",
+ "samedi"
+ ],
+ "MONTH": [
+ "janvier",
+ "f\u00e9vrier",
+ "mars",
+ "avril",
+ "mai",
+ "juin",
+ "juillet",
+ "ao\u00fbt",
+ "septembre",
+ "octobre",
+ "novembre",
+ "d\u00e9cembre"
+ ],
+ "SHORTDAY": [
+ "dim.",
+ "lun.",
+ "mar.",
+ "mer.",
+ "jeu.",
+ "ven.",
+ "sam."
+ ],
+ "SHORTMONTH": [
+ "janv.",
+ "f\u00e9vr.",
+ "mars",
+ "avr.",
+ "mai",
+ "juin",
+ "juil.",
+ "ao\u00fbt",
+ "sept.",
+ "oct.",
+ "nov.",
+ "d\u00e9c."
+ ],
"fullDate": "EEEE d MMMM y",
"longDate": "d MMMM y",
"medium": "d MMM y HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20ac",
"DECIMAL_SEP": ",",
"GROUP_SEP": "\u00a0",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "fr-ml",
"pluralCat": function (n) { if (n >= 0 && n <= 2 && n != 2) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-mq.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-mq.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-mq.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "AM",
- "1": "PM"
- },
- "DAY": {
- "0": "dimanche",
- "1": "lundi",
- "2": "mardi",
- "3": "mercredi",
- "4": "jeudi",
- "5": "vendredi",
- "6": "samedi"
- },
- "MONTH": {
- "0": "janvier",
- "1": "f\u00e9vrier",
- "2": "mars",
- "3": "avril",
- "4": "mai",
- "5": "juin",
- "6": "juillet",
- "7": "ao\u00fbt",
- "8": "septembre",
- "9": "octobre",
- "10": "novembre",
- "11": "d\u00e9cembre"
- },
- "SHORTDAY": {
- "0": "dim.",
- "1": "lun.",
- "2": "mar.",
- "3": "mer.",
- "4": "jeu.",
- "5": "ven.",
- "6": "sam."
- },
- "SHORTMONTH": {
- "0": "janv.",
- "1": "f\u00e9vr.",
- "2": "mars",
- "3": "avr.",
- "4": "mai",
- "5": "juin",
- "6": "juil.",
- "7": "ao\u00fbt",
- "8": "sept.",
- "9": "oct.",
- "10": "nov.",
- "11": "d\u00e9c."
- },
+ "AMPMS": [
+ "AM",
+ "PM"
+ ],
+ "DAY": [
+ "dimanche",
+ "lundi",
+ "mardi",
+ "mercredi",
+ "jeudi",
+ "vendredi",
+ "samedi"
+ ],
+ "MONTH": [
+ "janvier",
+ "f\u00e9vrier",
+ "mars",
+ "avril",
+ "mai",
+ "juin",
+ "juillet",
+ "ao\u00fbt",
+ "septembre",
+ "octobre",
+ "novembre",
+ "d\u00e9cembre"
+ ],
+ "SHORTDAY": [
+ "dim.",
+ "lun.",
+ "mar.",
+ "mer.",
+ "jeu.",
+ "ven.",
+ "sam."
+ ],
+ "SHORTMONTH": [
+ "janv.",
+ "f\u00e9vr.",
+ "mars",
+ "avr.",
+ "mai",
+ "juin",
+ "juil.",
+ "ao\u00fbt",
+ "sept.",
+ "oct.",
+ "nov.",
+ "d\u00e9c."
+ ],
"fullDate": "EEEE d MMMM y",
"longDate": "d MMMM y",
"medium": "d MMM y HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20ac",
"DECIMAL_SEP": ",",
"GROUP_SEP": "\u00a0",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "fr-mq",
"pluralCat": function (n) { if (n >= 0 && n <= 2 && n != 2) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-ne.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-ne.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-ne.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "AM",
- "1": "PM"
- },
- "DAY": {
- "0": "dimanche",
- "1": "lundi",
- "2": "mardi",
- "3": "mercredi",
- "4": "jeudi",
- "5": "vendredi",
- "6": "samedi"
- },
- "MONTH": {
- "0": "janvier",
- "1": "f\u00e9vrier",
- "2": "mars",
- "3": "avril",
- "4": "mai",
- "5": "juin",
- "6": "juillet",
- "7": "ao\u00fbt",
- "8": "septembre",
- "9": "octobre",
- "10": "novembre",
- "11": "d\u00e9cembre"
- },
- "SHORTDAY": {
- "0": "dim.",
- "1": "lun.",
- "2": "mar.",
- "3": "mer.",
- "4": "jeu.",
- "5": "ven.",
- "6": "sam."
- },
- "SHORTMONTH": {
- "0": "janv.",
- "1": "f\u00e9vr.",
- "2": "mars",
- "3": "avr.",
- "4": "mai",
- "5": "juin",
- "6": "juil.",
- "7": "ao\u00fbt",
- "8": "sept.",
- "9": "oct.",
- "10": "nov.",
- "11": "d\u00e9c."
- },
+ "AMPMS": [
+ "AM",
+ "PM"
+ ],
+ "DAY": [
+ "dimanche",
+ "lundi",
+ "mardi",
+ "mercredi",
+ "jeudi",
+ "vendredi",
+ "samedi"
+ ],
+ "MONTH": [
+ "janvier",
+ "f\u00e9vrier",
+ "mars",
+ "avril",
+ "mai",
+ "juin",
+ "juillet",
+ "ao\u00fbt",
+ "septembre",
+ "octobre",
+ "novembre",
+ "d\u00e9cembre"
+ ],
+ "SHORTDAY": [
+ "dim.",
+ "lun.",
+ "mar.",
+ "mer.",
+ "jeu.",
+ "ven.",
+ "sam."
+ ],
+ "SHORTMONTH": [
+ "janv.",
+ "f\u00e9vr.",
+ "mars",
+ "avr.",
+ "mai",
+ "juin",
+ "juil.",
+ "ao\u00fbt",
+ "sept.",
+ "oct.",
+ "nov.",
+ "d\u00e9c."
+ ],
"fullDate": "EEEE d MMMM y",
"longDate": "d MMMM y",
"medium": "d MMM y HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20ac",
"DECIMAL_SEP": ",",
"GROUP_SEP": "\u00a0",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "fr-ne",
"pluralCat": function (n) { if (n >= 0 && n <= 2 && n != 2) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-re.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-re.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-re.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "AM",
- "1": "PM"
- },
- "DAY": {
- "0": "dimanche",
- "1": "lundi",
- "2": "mardi",
- "3": "mercredi",
- "4": "jeudi",
- "5": "vendredi",
- "6": "samedi"
- },
- "MONTH": {
- "0": "janvier",
- "1": "f\u00e9vrier",
- "2": "mars",
- "3": "avril",
- "4": "mai",
- "5": "juin",
- "6": "juillet",
- "7": "ao\u00fbt",
- "8": "septembre",
- "9": "octobre",
- "10": "novembre",
- "11": "d\u00e9cembre"
- },
- "SHORTDAY": {
- "0": "dim.",
- "1": "lun.",
- "2": "mar.",
- "3": "mer.",
- "4": "jeu.",
- "5": "ven.",
- "6": "sam."
- },
- "SHORTMONTH": {
- "0": "janv.",
- "1": "f\u00e9vr.",
- "2": "mars",
- "3": "avr.",
- "4": "mai",
- "5": "juin",
- "6": "juil.",
- "7": "ao\u00fbt",
- "8": "sept.",
- "9": "oct.",
- "10": "nov.",
- "11": "d\u00e9c."
- },
+ "AMPMS": [
+ "AM",
+ "PM"
+ ],
+ "DAY": [
+ "dimanche",
+ "lundi",
+ "mardi",
+ "mercredi",
+ "jeudi",
+ "vendredi",
+ "samedi"
+ ],
+ "MONTH": [
+ "janvier",
+ "f\u00e9vrier",
+ "mars",
+ "avril",
+ "mai",
+ "juin",
+ "juillet",
+ "ao\u00fbt",
+ "septembre",
+ "octobre",
+ "novembre",
+ "d\u00e9cembre"
+ ],
+ "SHORTDAY": [
+ "dim.",
+ "lun.",
+ "mar.",
+ "mer.",
+ "jeu.",
+ "ven.",
+ "sam."
+ ],
+ "SHORTMONTH": [
+ "janv.",
+ "f\u00e9vr.",
+ "mars",
+ "avr.",
+ "mai",
+ "juin",
+ "juil.",
+ "ao\u00fbt",
+ "sept.",
+ "oct.",
+ "nov.",
+ "d\u00e9c."
+ ],
"fullDate": "EEEE d MMMM y",
"longDate": "d MMMM y",
"medium": "d MMM y HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20ac",
"DECIMAL_SEP": ",",
"GROUP_SEP": "\u00a0",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "fr-re",
"pluralCat": function (n) { if (n >= 0 && n <= 2 && n != 2) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-yt.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-yt.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr-yt.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "AM",
- "1": "PM"
- },
- "DAY": {
- "0": "dimanche",
- "1": "lundi",
- "2": "mardi",
- "3": "mercredi",
- "4": "jeudi",
- "5": "vendredi",
- "6": "samedi"
- },
- "MONTH": {
- "0": "janvier",
- "1": "f\u00e9vrier",
- "2": "mars",
- "3": "avril",
- "4": "mai",
- "5": "juin",
- "6": "juillet",
- "7": "ao\u00fbt",
- "8": "septembre",
- "9": "octobre",
- "10": "novembre",
- "11": "d\u00e9cembre"
- },
- "SHORTDAY": {
- "0": "dim.",
- "1": "lun.",
- "2": "mar.",
- "3": "mer.",
- "4": "jeu.",
- "5": "ven.",
- "6": "sam."
- },
- "SHORTMONTH": {
- "0": "janv.",
- "1": "f\u00e9vr.",
- "2": "mars",
- "3": "avr.",
- "4": "mai",
- "5": "juin",
- "6": "juil.",
- "7": "ao\u00fbt",
- "8": "sept.",
- "9": "oct.",
- "10": "nov.",
- "11": "d\u00e9c."
- },
+ "AMPMS": [
+ "AM",
+ "PM"
+ ],
+ "DAY": [
+ "dimanche",
+ "lundi",
+ "mardi",
+ "mercredi",
+ "jeudi",
+ "vendredi",
+ "samedi"
+ ],
+ "MONTH": [
+ "janvier",
+ "f\u00e9vrier",
+ "mars",
+ "avril",
+ "mai",
+ "juin",
+ "juillet",
+ "ao\u00fbt",
+ "septembre",
+ "octobre",
+ "novembre",
+ "d\u00e9cembre"
+ ],
+ "SHORTDAY": [
+ "dim.",
+ "lun.",
+ "mar.",
+ "mer.",
+ "jeu.",
+ "ven.",
+ "sam."
+ ],
+ "SHORTMONTH": [
+ "janv.",
+ "f\u00e9vr.",
+ "mars",
+ "avr.",
+ "mai",
+ "juin",
+ "juil.",
+ "ao\u00fbt",
+ "sept.",
+ "oct.",
+ "nov.",
+ "d\u00e9c."
+ ],
"fullDate": "EEEE d MMMM y",
"longDate": "d MMMM y",
"medium": "d MMM y HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20ac",
"DECIMAL_SEP": ",",
"GROUP_SEP": "\u00a0",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "fr-yt",
"pluralCat": function (n) { if (n >= 0 && n <= 2 && n != 2) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_fr.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "AM",
- "1": "PM"
- },
- "DAY": {
- "0": "dimanche",
- "1": "lundi",
- "2": "mardi",
- "3": "mercredi",
- "4": "jeudi",
- "5": "vendredi",
- "6": "samedi"
- },
- "MONTH": {
- "0": "janvier",
- "1": "f\u00e9vrier",
- "2": "mars",
- "3": "avril",
- "4": "mai",
- "5": "juin",
- "6": "juillet",
- "7": "ao\u00fbt",
- "8": "septembre",
- "9": "octobre",
- "10": "novembre",
- "11": "d\u00e9cembre"
- },
- "SHORTDAY": {
- "0": "dim.",
- "1": "lun.",
- "2": "mar.",
- "3": "mer.",
- "4": "jeu.",
- "5": "ven.",
- "6": "sam."
- },
- "SHORTMONTH": {
- "0": "janv.",
- "1": "f\u00e9vr.",
- "2": "mars",
- "3": "avr.",
- "4": "mai",
- "5": "juin",
- "6": "juil.",
- "7": "ao\u00fbt",
- "8": "sept.",
- "9": "oct.",
- "10": "nov.",
- "11": "d\u00e9c."
- },
+ "AMPMS": [
+ "AM",
+ "PM"
+ ],
+ "DAY": [
+ "dimanche",
+ "lundi",
+ "mardi",
+ "mercredi",
+ "jeudi",
+ "vendredi",
+ "samedi"
+ ],
+ "MONTH": [
+ "janvier",
+ "f\u00e9vrier",
+ "mars",
+ "avril",
+ "mai",
+ "juin",
+ "juillet",
+ "ao\u00fbt",
+ "septembre",
+ "octobre",
+ "novembre",
+ "d\u00e9cembre"
+ ],
+ "SHORTDAY": [
+ "dim.",
+ "lun.",
+ "mar.",
+ "mer.",
+ "jeu.",
+ "ven.",
+ "sam."
+ ],
+ "SHORTMONTH": [
+ "janv.",
+ "f\u00e9vr.",
+ "mars",
+ "avr.",
+ "mai",
+ "juin",
+ "juil.",
+ "ao\u00fbt",
+ "sept.",
+ "oct.",
+ "nov.",
+ "d\u00e9c."
+ ],
"fullDate": "EEEE d MMMM y",
"longDate": "d MMMM y",
"medium": "d MMM y HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20ac",
"DECIMAL_SEP": ",",
"GROUP_SEP": "\u00a0",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "fr",
"pluralCat": function (n) { if (n >= 0 && n <= 2 && n != 2) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_gl-es.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_gl-es.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_gl-es.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "a.m.",
- "1": "p.m."
- },
- "DAY": {
- "0": "Domingo",
- "1": "Luns",
- "2": "Martes",
- "3": "M\u00e9rcores",
- "4": "Xoves",
- "5": "Venres",
- "6": "S\u00e1bado"
- },
- "MONTH": {
- "0": "Xaneiro",
- "1": "Febreiro",
- "2": "Marzo",
- "3": "Abril",
- "4": "Maio",
- "5": "Xu\u00f1o",
- "6": "Xullo",
- "7": "Agosto",
- "8": "Setembro",
- "9": "Outubro",
- "10": "Novembro",
- "11": "Decembro"
- },
- "SHORTDAY": {
- "0": "Dom",
- "1": "Lun",
- "2": "Mar",
- "3": "M\u00e9r",
- "4": "Xov",
- "5": "Ven",
- "6": "S\u00e1b"
- },
- "SHORTMONTH": {
- "0": "Xan",
- "1": "Feb",
- "2": "Mar",
- "3": "Abr",
- "4": "Mai",
- "5": "Xu\u00f1",
- "6": "Xul",
- "7": "Ago",
- "8": "Set",
- "9": "Out",
- "10": "Nov",
- "11": "Dec"
- },
+ "AMPMS": [
+ "a.m.",
+ "p.m."
+ ],
+ "DAY": [
+ "Domingo",
+ "Luns",
+ "Martes",
+ "M\u00e9rcores",
+ "Xoves",
+ "Venres",
+ "S\u00e1bado"
+ ],
+ "MONTH": [
+ "Xaneiro",
+ "Febreiro",
+ "Marzo",
+ "Abril",
+ "Maio",
+ "Xu\u00f1o",
+ "Xullo",
+ "Agosto",
+ "Setembro",
+ "Outubro",
+ "Novembro",
+ "Decembro"
+ ],
+ "SHORTDAY": [
+ "Dom",
+ "Lun",
+ "Mar",
+ "M\u00e9r",
+ "Xov",
+ "Ven",
+ "S\u00e1b"
+ ],
+ "SHORTMONTH": [
+ "Xan",
+ "Feb",
+ "Mar",
+ "Abr",
+ "Mai",
+ "Xu\u00f1",
+ "Xul",
+ "Ago",
+ "Set",
+ "Out",
+ "Nov",
+ "Dec"
+ ],
"fullDate": "EEEE dd MMMM y",
"longDate": "dd MMMM y",
"medium": "d MMM, y HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20ac",
"DECIMAL_SEP": ",",
"GROUP_SEP": ".",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4",
"posSuf": ""
}
- }
+ ]
},
"id": "gl-es",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_gl.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_gl.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_gl.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "a.m.",
- "1": "p.m."
- },
- "DAY": {
- "0": "Domingo",
- "1": "Luns",
- "2": "Martes",
- "3": "M\u00e9rcores",
- "4": "Xoves",
- "5": "Venres",
- "6": "S\u00e1bado"
- },
- "MONTH": {
- "0": "Xaneiro",
- "1": "Febreiro",
- "2": "Marzo",
- "3": "Abril",
- "4": "Maio",
- "5": "Xu\u00f1o",
- "6": "Xullo",
- "7": "Agosto",
- "8": "Setembro",
- "9": "Outubro",
- "10": "Novembro",
- "11": "Decembro"
- },
- "SHORTDAY": {
- "0": "Dom",
- "1": "Lun",
- "2": "Mar",
- "3": "M\u00e9r",
- "4": "Xov",
- "5": "Ven",
- "6": "S\u00e1b"
- },
- "SHORTMONTH": {
- "0": "Xan",
- "1": "Feb",
- "2": "Mar",
- "3": "Abr",
- "4": "Mai",
- "5": "Xu\u00f1",
- "6": "Xul",
- "7": "Ago",
- "8": "Set",
- "9": "Out",
- "10": "Nov",
- "11": "Dec"
- },
+ "AMPMS": [
+ "a.m.",
+ "p.m."
+ ],
+ "DAY": [
+ "Domingo",
+ "Luns",
+ "Martes",
+ "M\u00e9rcores",
+ "Xoves",
+ "Venres",
+ "S\u00e1bado"
+ ],
+ "MONTH": [
+ "Xaneiro",
+ "Febreiro",
+ "Marzo",
+ "Abril",
+ "Maio",
+ "Xu\u00f1o",
+ "Xullo",
+ "Agosto",
+ "Setembro",
+ "Outubro",
+ "Novembro",
+ "Decembro"
+ ],
+ "SHORTDAY": [
+ "Dom",
+ "Lun",
+ "Mar",
+ "M\u00e9r",
+ "Xov",
+ "Ven",
+ "S\u00e1b"
+ ],
+ "SHORTMONTH": [
+ "Xan",
+ "Feb",
+ "Mar",
+ "Abr",
+ "Mai",
+ "Xu\u00f1",
+ "Xul",
+ "Ago",
+ "Set",
+ "Out",
+ "Nov",
+ "Dec"
+ ],
"fullDate": "EEEE dd MMMM y",
"longDate": "dd MMMM y",
"medium": "d MMM, y HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20ac",
"DECIMAL_SEP": ",",
"GROUP_SEP": ".",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4",
"posSuf": ""
}
- }
+ ]
},
"id": "gl",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_gsw-ch.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_gsw-ch.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_gsw-ch.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "vorm.",
- "1": "nam."
- },
- "DAY": {
- "0": "Sunntig",
- "1": "M\u00e4\u00e4ntig",
- "2": "Ziischtig",
- "3": "Mittwuch",
- "4": "Dunschtig",
- "5": "Friitig",
- "6": "Samschtig"
- },
- "MONTH": {
- "0": "Januar",
- "1": "Februar",
- "2": "M\u00e4rz",
- "3": "April",
- "4": "Mai",
- "5": "Juni",
- "6": "Juli",
- "7": "Auguscht",
- "8": "Sept\u00e4mber",
- "9": "Oktoober",
- "10": "Nov\u00e4mber",
- "11": "Dez\u00e4mber"
- },
- "SHORTDAY": {
- "0": "Su.",
- "1": "M\u00e4.",
- "2": "Zi.",
- "3": "Mi.",
- "4": "Du.",
- "5": "Fr.",
- "6": "Sa."
- },
- "SHORTMONTH": {
- "0": "Jan",
- "1": "Feb",
- "2": "M\u00e4r",
- "3": "Apr",
- "4": "Mai",
- "5": "Jun",
- "6": "Jul",
- "7": "Aug",
- "8": "Sep",
- "9": "Okt",
- "10": "Nov",
- "11": "Dez"
- },
+ "AMPMS": [
+ "vorm.",
+ "nam."
+ ],
+ "DAY": [
+ "Sunntig",
+ "M\u00e4\u00e4ntig",
+ "Ziischtig",
+ "Mittwuch",
+ "Dunschtig",
+ "Friitig",
+ "Samschtig"
+ ],
+ "MONTH": [
+ "Januar",
+ "Februar",
+ "M\u00e4rz",
+ "April",
+ "Mai",
+ "Juni",
+ "Juli",
+ "Auguscht",
+ "Sept\u00e4mber",
+ "Oktoober",
+ "Nov\u00e4mber",
+ "Dez\u00e4mber"
+ ],
+ "SHORTDAY": [
+ "Su.",
+ "M\u00e4.",
+ "Zi.",
+ "Mi.",
+ "Du.",
+ "Fr.",
+ "Sa."
+ ],
+ "SHORTMONTH": [
+ "Jan",
+ "Feb",
+ "M\u00e4r",
+ "Apr",
+ "Mai",
+ "Jun",
+ "Jul",
+ "Aug",
+ "Sep",
+ "Okt",
+ "Nov",
+ "Dez"
+ ],
"fullDate": "EEEE, d. MMMM y",
"longDate": "d. MMMM y",
"medium": "dd.MM.yyyy HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "CHF",
"DECIMAL_SEP": ".",
"GROUP_SEP": "\u2019",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "gsw-ch",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_gsw.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_gsw.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_gsw.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "vorm.",
- "1": "nam."
- },
- "DAY": {
- "0": "Sunntig",
- "1": "M\u00e4\u00e4ntig",
- "2": "Ziischtig",
- "3": "Mittwuch",
- "4": "Dunschtig",
- "5": "Friitig",
- "6": "Samschtig"
- },
- "MONTH": {
- "0": "Januar",
- "1": "Februar",
- "2": "M\u00e4rz",
- "3": "April",
- "4": "Mai",
- "5": "Juni",
- "6": "Juli",
- "7": "Auguscht",
- "8": "Sept\u00e4mber",
- "9": "Oktoober",
- "10": "Nov\u00e4mber",
- "11": "Dez\u00e4mber"
- },
- "SHORTDAY": {
- "0": "Su.",
- "1": "M\u00e4.",
- "2": "Zi.",
- "3": "Mi.",
- "4": "Du.",
- "5": "Fr.",
- "6": "Sa."
- },
- "SHORTMONTH": {
- "0": "Jan",
- "1": "Feb",
- "2": "M\u00e4r",
- "3": "Apr",
- "4": "Mai",
- "5": "Jun",
- "6": "Jul",
- "7": "Aug",
- "8": "Sep",
- "9": "Okt",
- "10": "Nov",
- "11": "Dez"
- },
+ "AMPMS": [
+ "vorm.",
+ "nam."
+ ],
+ "DAY": [
+ "Sunntig",
+ "M\u00e4\u00e4ntig",
+ "Ziischtig",
+ "Mittwuch",
+ "Dunschtig",
+ "Friitig",
+ "Samschtig"
+ ],
+ "MONTH": [
+ "Januar",
+ "Februar",
+ "M\u00e4rz",
+ "April",
+ "Mai",
+ "Juni",
+ "Juli",
+ "Auguscht",
+ "Sept\u00e4mber",
+ "Oktoober",
+ "Nov\u00e4mber",
+ "Dez\u00e4mber"
+ ],
+ "SHORTDAY": [
+ "Su.",
+ "M\u00e4.",
+ "Zi.",
+ "Mi.",
+ "Du.",
+ "Fr.",
+ "Sa."
+ ],
+ "SHORTMONTH": [
+ "Jan",
+ "Feb",
+ "M\u00e4r",
+ "Apr",
+ "Mai",
+ "Jun",
+ "Jul",
+ "Aug",
+ "Sep",
+ "Okt",
+ "Nov",
+ "Dez"
+ ],
"fullDate": "EEEE, d. MMMM y",
"longDate": "d. MMMM y",
"medium": "dd.MM.yyyy HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "CHF",
"DECIMAL_SEP": ".",
"GROUP_SEP": "\u2019",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "gsw",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_gu-in.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_gu-in.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_gu-in.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "am",
- "1": "pm"
- },
- "DAY": {
- "0": "\u0ab0\u0ab5\u0abf\u0ab5\u0abe\u0ab0",
- "1": "\u0ab8\u0acb\u0aae\u0ab5\u0abe\u0ab0",
- "2": "\u0aae\u0a82\u0a97\u0ab3\u0ab5\u0abe\u0ab0",
- "3": "\u0aac\u0ac1\u0aa7\u0ab5\u0abe\u0ab0",
- "4": "\u0a97\u0ac1\u0ab0\u0ac1\u0ab5\u0abe\u0ab0",
- "5": "\u0ab6\u0ac1\u0a95\u0acd\u0ab0\u0ab5\u0abe\u0ab0",
- "6": "\u0ab6\u0aa8\u0abf\u0ab5\u0abe\u0ab0"
- },
- "MONTH": {
- "0": "\u0a9c\u0abe\u0aa8\u0acd\u0aaf\u0ac1\u0a86\u0ab0\u0ac0",
- "1": "\u0aab\u0ac7\u0aac\u0acd\u0ab0\u0ac1\u0a86\u0ab0\u0ac0",
- "2": "\u0aae\u0abe\u0ab0\u0acd\u0a9a",
- "3": "\u0a8f\u0aaa\u0acd\u0ab0\u0abf\u0ab2",
- "4": "\u0aae\u0ac7",
- "5": "\u0a9c\u0ac2\u0aa8",
- "6": "\u0a9c\u0ac1\u0ab2\u0abe\u0a88",
- "7": "\u0a91\u0a97\u0ab8\u0acd\u0a9f",
- "8": "\u0ab8\u0aaa\u0acd\u0a9f\u0ac7\u0aae\u0acd\u0aac\u0ab0",
- "9": "\u0a91\u0a95\u0acd\u0a9f\u0acb\u0aac\u0ab0",
- "10": "\u0aa8\u0ab5\u0ac7\u0aae\u0acd\u0aac\u0ab0",
- "11": "\u0aa1\u0abf\u0ab8\u0ac7\u0aae\u0acd\u0aac\u0ab0"
- },
- "SHORTDAY": {
- "0": "\u0ab0\u0ab5\u0abf",
- "1": "\u0ab8\u0acb\u0aae",
- "2": "\u0aae\u0a82\u0a97\u0ab3",
- "3": "\u0aac\u0ac1\u0aa7",
- "4": "\u0a97\u0ac1\u0ab0\u0ac1",
- "5": "\u0ab6\u0ac1\u0a95\u0acd\u0ab0",
- "6": "\u0ab6\u0aa8\u0abf"
- },
- "SHORTMONTH": {
- "0": "\u0a9c\u0abe\u0aa8\u0acd\u0aaf\u0ac1",
- "1": "\u0aab\u0ac7\u0aac\u0acd\u0ab0\u0ac1",
- "2": "\u0aae\u0abe\u0ab0\u0acd\u0a9a",
- "3": "\u0a8f\u0aaa\u0acd\u0ab0\u0abf\u0ab2",
- "4": "\u0aae\u0ac7",
- "5": "\u0a9c\u0ac2\u0aa8",
- "6": "\u0a9c\u0ac1\u0ab2\u0abe\u0a88",
- "7": "\u0a91\u0a97\u0ab8\u0acd\u0a9f",
- "8": "\u0ab8\u0aaa\u0acd\u0a9f\u0ac7",
- "9": "\u0a91\u0a95\u0acd\u0a9f\u0acb",
- "10": "\u0aa8\u0ab5\u0ac7",
- "11": "\u0aa1\u0abf\u0ab8\u0ac7"
- },
+ "AMPMS": [
+ "am",
+ "pm"
+ ],
+ "DAY": [
+ "\u0ab0\u0ab5\u0abf\u0ab5\u0abe\u0ab0",
+ "\u0ab8\u0acb\u0aae\u0ab5\u0abe\u0ab0",
+ "\u0aae\u0a82\u0a97\u0ab3\u0ab5\u0abe\u0ab0",
+ "\u0aac\u0ac1\u0aa7\u0ab5\u0abe\u0ab0",
+ "\u0a97\u0ac1\u0ab0\u0ac1\u0ab5\u0abe\u0ab0",
+ "\u0ab6\u0ac1\u0a95\u0acd\u0ab0\u0ab5\u0abe\u0ab0",
+ "\u0ab6\u0aa8\u0abf\u0ab5\u0abe\u0ab0"
+ ],
+ "MONTH": [
+ "\u0a9c\u0abe\u0aa8\u0acd\u0aaf\u0ac1\u0a86\u0ab0\u0ac0",
+ "\u0aab\u0ac7\u0aac\u0acd\u0ab0\u0ac1\u0a86\u0ab0\u0ac0",
+ "\u0aae\u0abe\u0ab0\u0acd\u0a9a",
+ "\u0a8f\u0aaa\u0acd\u0ab0\u0abf\u0ab2",
+ "\u0aae\u0ac7",
+ "\u0a9c\u0ac2\u0aa8",
+ "\u0a9c\u0ac1\u0ab2\u0abe\u0a88",
+ "\u0a91\u0a97\u0ab8\u0acd\u0a9f",
+ "\u0ab8\u0aaa\u0acd\u0a9f\u0ac7\u0aae\u0acd\u0aac\u0ab0",
+ "\u0a91\u0a95\u0acd\u0a9f\u0acb\u0aac\u0ab0",
+ "\u0aa8\u0ab5\u0ac7\u0aae\u0acd\u0aac\u0ab0",
+ "\u0aa1\u0abf\u0ab8\u0ac7\u0aae\u0acd\u0aac\u0ab0"
+ ],
+ "SHORTDAY": [
+ "\u0ab0\u0ab5\u0abf",
+ "\u0ab8\u0acb\u0aae",
+ "\u0aae\u0a82\u0a97\u0ab3",
+ "\u0aac\u0ac1\u0aa7",
+ "\u0a97\u0ac1\u0ab0\u0ac1",
+ "\u0ab6\u0ac1\u0a95\u0acd\u0ab0",
+ "\u0ab6\u0aa8\u0abf"
+ ],
+ "SHORTMONTH": [
+ "\u0a9c\u0abe\u0aa8\u0acd\u0aaf\u0ac1",
+ "\u0aab\u0ac7\u0aac\u0acd\u0ab0\u0ac1",
+ "\u0aae\u0abe\u0ab0\u0acd\u0a9a",
+ "\u0a8f\u0aaa\u0acd\u0ab0\u0abf\u0ab2",
+ "\u0aae\u0ac7",
+ "\u0a9c\u0ac2\u0aa8",
+ "\u0a9c\u0ac1\u0ab2\u0abe\u0a88",
+ "\u0a91\u0a97\u0ab8\u0acd\u0a9f",
+ "\u0ab8\u0aaa\u0acd\u0a9f\u0ac7",
+ "\u0a91\u0a95\u0acd\u0a9f\u0acb",
+ "\u0aa8\u0ab5\u0ac7",
+ "\u0aa1\u0abf\u0ab8\u0ac7"
+ ],
"fullDate": "EEEE, d MMMM, y",
"longDate": "d MMMM, y",
"medium": "d MMM, y hh:mm:ss a",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20b9",
"DECIMAL_SEP": ".",
"GROUP_SEP": ",",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4",
"posSuf": ""
}
- }
+ ]
},
"id": "gu-in",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_gu.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_gu.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_gu.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "am",
- "1": "pm"
- },
- "DAY": {
- "0": "\u0ab0\u0ab5\u0abf\u0ab5\u0abe\u0ab0",
- "1": "\u0ab8\u0acb\u0aae\u0ab5\u0abe\u0ab0",
- "2": "\u0aae\u0a82\u0a97\u0ab3\u0ab5\u0abe\u0ab0",
- "3": "\u0aac\u0ac1\u0aa7\u0ab5\u0abe\u0ab0",
- "4": "\u0a97\u0ac1\u0ab0\u0ac1\u0ab5\u0abe\u0ab0",
- "5": "\u0ab6\u0ac1\u0a95\u0acd\u0ab0\u0ab5\u0abe\u0ab0",
- "6": "\u0ab6\u0aa8\u0abf\u0ab5\u0abe\u0ab0"
- },
- "MONTH": {
- "0": "\u0a9c\u0abe\u0aa8\u0acd\u0aaf\u0ac1\u0a86\u0ab0\u0ac0",
- "1": "\u0aab\u0ac7\u0aac\u0acd\u0ab0\u0ac1\u0a86\u0ab0\u0ac0",
- "2": "\u0aae\u0abe\u0ab0\u0acd\u0a9a",
- "3": "\u0a8f\u0aaa\u0acd\u0ab0\u0abf\u0ab2",
- "4": "\u0aae\u0ac7",
- "5": "\u0a9c\u0ac2\u0aa8",
- "6": "\u0a9c\u0ac1\u0ab2\u0abe\u0a88",
- "7": "\u0a91\u0a97\u0ab8\u0acd\u0a9f",
- "8": "\u0ab8\u0aaa\u0acd\u0a9f\u0ac7\u0aae\u0acd\u0aac\u0ab0",
- "9": "\u0a91\u0a95\u0acd\u0a9f\u0acb\u0aac\u0ab0",
- "10": "\u0aa8\u0ab5\u0ac7\u0aae\u0acd\u0aac\u0ab0",
- "11": "\u0aa1\u0abf\u0ab8\u0ac7\u0aae\u0acd\u0aac\u0ab0"
- },
- "SHORTDAY": {
- "0": "\u0ab0\u0ab5\u0abf",
- "1": "\u0ab8\u0acb\u0aae",
- "2": "\u0aae\u0a82\u0a97\u0ab3",
- "3": "\u0aac\u0ac1\u0aa7",
- "4": "\u0a97\u0ac1\u0ab0\u0ac1",
- "5": "\u0ab6\u0ac1\u0a95\u0acd\u0ab0",
- "6": "\u0ab6\u0aa8\u0abf"
- },
- "SHORTMONTH": {
- "0": "\u0a9c\u0abe\u0aa8\u0acd\u0aaf\u0ac1",
- "1": "\u0aab\u0ac7\u0aac\u0acd\u0ab0\u0ac1",
- "2": "\u0aae\u0abe\u0ab0\u0acd\u0a9a",
- "3": "\u0a8f\u0aaa\u0acd\u0ab0\u0abf\u0ab2",
- "4": "\u0aae\u0ac7",
- "5": "\u0a9c\u0ac2\u0aa8",
- "6": "\u0a9c\u0ac1\u0ab2\u0abe\u0a88",
- "7": "\u0a91\u0a97\u0ab8\u0acd\u0a9f",
- "8": "\u0ab8\u0aaa\u0acd\u0a9f\u0ac7",
- "9": "\u0a91\u0a95\u0acd\u0a9f\u0acb",
- "10": "\u0aa8\u0ab5\u0ac7",
- "11": "\u0aa1\u0abf\u0ab8\u0ac7"
- },
+ "AMPMS": [
+ "am",
+ "pm"
+ ],
+ "DAY": [
+ "\u0ab0\u0ab5\u0abf\u0ab5\u0abe\u0ab0",
+ "\u0ab8\u0acb\u0aae\u0ab5\u0abe\u0ab0",
+ "\u0aae\u0a82\u0a97\u0ab3\u0ab5\u0abe\u0ab0",
+ "\u0aac\u0ac1\u0aa7\u0ab5\u0abe\u0ab0",
+ "\u0a97\u0ac1\u0ab0\u0ac1\u0ab5\u0abe\u0ab0",
+ "\u0ab6\u0ac1\u0a95\u0acd\u0ab0\u0ab5\u0abe\u0ab0",
+ "\u0ab6\u0aa8\u0abf\u0ab5\u0abe\u0ab0"
+ ],
+ "MONTH": [
+ "\u0a9c\u0abe\u0aa8\u0acd\u0aaf\u0ac1\u0a86\u0ab0\u0ac0",
+ "\u0aab\u0ac7\u0aac\u0acd\u0ab0\u0ac1\u0a86\u0ab0\u0ac0",
+ "\u0aae\u0abe\u0ab0\u0acd\u0a9a",
+ "\u0a8f\u0aaa\u0acd\u0ab0\u0abf\u0ab2",
+ "\u0aae\u0ac7",
+ "\u0a9c\u0ac2\u0aa8",
+ "\u0a9c\u0ac1\u0ab2\u0abe\u0a88",
+ "\u0a91\u0a97\u0ab8\u0acd\u0a9f",
+ "\u0ab8\u0aaa\u0acd\u0a9f\u0ac7\u0aae\u0acd\u0aac\u0ab0",
+ "\u0a91\u0a95\u0acd\u0a9f\u0acb\u0aac\u0ab0",
+ "\u0aa8\u0ab5\u0ac7\u0aae\u0acd\u0aac\u0ab0",
+ "\u0aa1\u0abf\u0ab8\u0ac7\u0aae\u0acd\u0aac\u0ab0"
+ ],
+ "SHORTDAY": [
+ "\u0ab0\u0ab5\u0abf",
+ "\u0ab8\u0acb\u0aae",
+ "\u0aae\u0a82\u0a97\u0ab3",
+ "\u0aac\u0ac1\u0aa7",
+ "\u0a97\u0ac1\u0ab0\u0ac1",
+ "\u0ab6\u0ac1\u0a95\u0acd\u0ab0",
+ "\u0ab6\u0aa8\u0abf"
+ ],
+ "SHORTMONTH": [
+ "\u0a9c\u0abe\u0aa8\u0acd\u0aaf\u0ac1",
+ "\u0aab\u0ac7\u0aac\u0acd\u0ab0\u0ac1",
+ "\u0aae\u0abe\u0ab0\u0acd\u0a9a",
+ "\u0a8f\u0aaa\u0acd\u0ab0\u0abf\u0ab2",
+ "\u0aae\u0ac7",
+ "\u0a9c\u0ac2\u0aa8",
+ "\u0a9c\u0ac1\u0ab2\u0abe\u0a88",
+ "\u0a91\u0a97\u0ab8\u0acd\u0a9f",
+ "\u0ab8\u0aaa\u0acd\u0a9f\u0ac7",
+ "\u0a91\u0a95\u0acd\u0a9f\u0acb",
+ "\u0aa8\u0ab5\u0ac7",
+ "\u0aa1\u0abf\u0ab8\u0ac7"
+ ],
"fullDate": "EEEE, d MMMM, y",
"longDate": "d MMMM, y",
"medium": "d MMM, y hh:mm:ss a",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20b9",
"DECIMAL_SEP": ".",
"GROUP_SEP": ",",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4",
"posSuf": ""
}
- }
+ ]
},
"id": "gu",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_he-il.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_he-il.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_he-il.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "\u05dc\u05e4\u05e0\u05d4\u05f4\u05e6",
- "1": "\u05d0\u05d7\u05d4\u05f4\u05e6"
- },
- "DAY": {
- "0": "\u05d9\u05d5\u05dd \u05e8\u05d0\u05e9\u05d5\u05df",
- "1": "\u05d9\u05d5\u05dd \u05e9\u05e0\u05d9",
- "2": "\u05d9\u05d5\u05dd \u05e9\u05dc\u05d9\u05e9\u05d9",
- "3": "\u05d9\u05d5\u05dd \u05e8\u05d1\u05d9\u05e2\u05d9",
- "4": "\u05d9\u05d5\u05dd \u05d7\u05de\u05d9\u05e9\u05d9",
- "5": "\u05d9\u05d5\u05dd \u05e9\u05d9\u05e9\u05d9",
- "6": "\u05d9\u05d5\u05dd \u05e9\u05d1\u05ea"
- },
- "MONTH": {
- "0": "\u05d9\u05e0\u05d5\u05d0\u05e8",
- "1": "\u05e4\u05d1\u05e8\u05d5\u05d0\u05e8",
- "2": "\u05de\u05e8\u05e5",
- "3": "\u05d0\u05e4\u05e8\u05d9\u05dc",
- "4": "\u05de\u05d0\u05d9",
- "5": "\u05d9\u05d5\u05e0\u05d9",
- "6": "\u05d9\u05d5\u05dc\u05d9",
- "7": "\u05d0\u05d5\u05d2\u05d5\u05e1\u05d8",
- "8": "\u05e1\u05e4\u05d8\u05de\u05d1\u05e8",
- "9": "\u05d0\u05d5\u05e7\u05d8\u05d5\u05d1\u05e8",
- "10": "\u05e0\u05d5\u05d1\u05de\u05d1\u05e8",
- "11": "\u05d3\u05e6\u05de\u05d1\u05e8"
- },
- "SHORTDAY": {
- "0": "\u05d9\u05d5\u05dd \u05d0\u05f3",
- "1": "\u05d9\u05d5\u05dd \u05d1\u05f3",
- "2": "\u05d9\u05d5\u05dd \u05d2\u05f3",
- "3": "\u05d9\u05d5\u05dd \u05d3\u05f3",
- "4": "\u05d9\u05d5\u05dd \u05d4\u05f3",
- "5": "\u05d9\u05d5\u05dd \u05d5\u05f3",
- "6": "\u05e9\u05d1\u05ea"
- },
- "SHORTMONTH": {
- "0": "\u05d9\u05e0\u05d5",
- "1": "\u05e4\u05d1\u05e8",
- "2": "\u05de\u05e8\u05e5",
- "3": "\u05d0\u05e4\u05e8",
- "4": "\u05de\u05d0\u05d9",
- "5": "\u05d9\u05d5\u05e0",
- "6": "\u05d9\u05d5\u05dc",
- "7": "\u05d0\u05d5\u05d2",
- "8": "\u05e1\u05e4\u05d8",
- "9": "\u05d0\u05d5\u05e7",
- "10": "\u05e0\u05d5\u05d1",
- "11": "\u05d3\u05e6\u05de"
- },
+ "AMPMS": [
+ "\u05dc\u05e4\u05e0\u05d4\u05f4\u05e6",
+ "\u05d0\u05d7\u05d4\u05f4\u05e6"
+ ],
+ "DAY": [
+ "\u05d9\u05d5\u05dd \u05e8\u05d0\u05e9\u05d5\u05df",
+ "\u05d9\u05d5\u05dd \u05e9\u05e0\u05d9",
+ "\u05d9\u05d5\u05dd \u05e9\u05dc\u05d9\u05e9\u05d9",
+ "\u05d9\u05d5\u05dd \u05e8\u05d1\u05d9\u05e2\u05d9",
+ "\u05d9\u05d5\u05dd \u05d7\u05de\u05d9\u05e9\u05d9",
+ "\u05d9\u05d5\u05dd \u05e9\u05d9\u05e9\u05d9",
+ "\u05d9\u05d5\u05dd \u05e9\u05d1\u05ea"
+ ],
+ "MONTH": [
+ "\u05d9\u05e0\u05d5\u05d0\u05e8",
+ "\u05e4\u05d1\u05e8\u05d5\u05d0\u05e8",
+ "\u05de\u05e8\u05e5",
+ "\u05d0\u05e4\u05e8\u05d9\u05dc",
+ "\u05de\u05d0\u05d9",
+ "\u05d9\u05d5\u05e0\u05d9",
+ "\u05d9\u05d5\u05dc\u05d9",
+ "\u05d0\u05d5\u05d2\u05d5\u05e1\u05d8",
+ "\u05e1\u05e4\u05d8\u05de\u05d1\u05e8",
+ "\u05d0\u05d5\u05e7\u05d8\u05d5\u05d1\u05e8",
+ "\u05e0\u05d5\u05d1\u05de\u05d1\u05e8",
+ "\u05d3\u05e6\u05de\u05d1\u05e8"
+ ],
+ "SHORTDAY": [
+ "\u05d9\u05d5\u05dd \u05d0\u05f3",
+ "\u05d9\u05d5\u05dd \u05d1\u05f3",
+ "\u05d9\u05d5\u05dd \u05d2\u05f3",
+ "\u05d9\u05d5\u05dd \u05d3\u05f3",
+ "\u05d9\u05d5\u05dd \u05d4\u05f3",
+ "\u05d9\u05d5\u05dd \u05d5\u05f3",
+ "\u05e9\u05d1\u05ea"
+ ],
+ "SHORTMONTH": [
+ "\u05d9\u05e0\u05d5",
+ "\u05e4\u05d1\u05e8",
+ "\u05de\u05e8\u05e5",
+ "\u05d0\u05e4\u05e8",
+ "\u05de\u05d0\u05d9",
+ "\u05d9\u05d5\u05e0",
+ "\u05d9\u05d5\u05dc",
+ "\u05d0\u05d5\u05d2",
+ "\u05e1\u05e4\u05d8",
+ "\u05d0\u05d5\u05e7",
+ "\u05e0\u05d5\u05d1",
+ "\u05d3\u05e6\u05de"
+ ],
"fullDate": "EEEE, d \u05d1MMMM y",
"longDate": "d \u05d1MMMM y",
"medium": "d \u05d1MMM yyyy HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20aa",
"DECIMAL_SEP": ".",
"GROUP_SEP": ",",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "he-il",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_he.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_he.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_he.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "\u05dc\u05e4\u05e0\u05d4\u05f4\u05e6",
- "1": "\u05d0\u05d7\u05d4\u05f4\u05e6"
- },
- "DAY": {
- "0": "\u05d9\u05d5\u05dd \u05e8\u05d0\u05e9\u05d5\u05df",
- "1": "\u05d9\u05d5\u05dd \u05e9\u05e0\u05d9",
- "2": "\u05d9\u05d5\u05dd \u05e9\u05dc\u05d9\u05e9\u05d9",
- "3": "\u05d9\u05d5\u05dd \u05e8\u05d1\u05d9\u05e2\u05d9",
- "4": "\u05d9\u05d5\u05dd \u05d7\u05de\u05d9\u05e9\u05d9",
- "5": "\u05d9\u05d5\u05dd \u05e9\u05d9\u05e9\u05d9",
- "6": "\u05d9\u05d5\u05dd \u05e9\u05d1\u05ea"
- },
- "MONTH": {
- "0": "\u05d9\u05e0\u05d5\u05d0\u05e8",
- "1": "\u05e4\u05d1\u05e8\u05d5\u05d0\u05e8",
- "2": "\u05de\u05e8\u05e5",
- "3": "\u05d0\u05e4\u05e8\u05d9\u05dc",
- "4": "\u05de\u05d0\u05d9",
- "5": "\u05d9\u05d5\u05e0\u05d9",
- "6": "\u05d9\u05d5\u05dc\u05d9",
- "7": "\u05d0\u05d5\u05d2\u05d5\u05e1\u05d8",
- "8": "\u05e1\u05e4\u05d8\u05de\u05d1\u05e8",
- "9": "\u05d0\u05d5\u05e7\u05d8\u05d5\u05d1\u05e8",
- "10": "\u05e0\u05d5\u05d1\u05de\u05d1\u05e8",
- "11": "\u05d3\u05e6\u05de\u05d1\u05e8"
- },
- "SHORTDAY": {
- "0": "\u05d9\u05d5\u05dd \u05d0\u05f3",
- "1": "\u05d9\u05d5\u05dd \u05d1\u05f3",
- "2": "\u05d9\u05d5\u05dd \u05d2\u05f3",
- "3": "\u05d9\u05d5\u05dd \u05d3\u05f3",
- "4": "\u05d9\u05d5\u05dd \u05d4\u05f3",
- "5": "\u05d9\u05d5\u05dd \u05d5\u05f3",
- "6": "\u05e9\u05d1\u05ea"
- },
- "SHORTMONTH": {
- "0": "\u05d9\u05e0\u05d5",
- "1": "\u05e4\u05d1\u05e8",
- "2": "\u05de\u05e8\u05e5",
- "3": "\u05d0\u05e4\u05e8",
- "4": "\u05de\u05d0\u05d9",
- "5": "\u05d9\u05d5\u05e0",
- "6": "\u05d9\u05d5\u05dc",
- "7": "\u05d0\u05d5\u05d2",
- "8": "\u05e1\u05e4\u05d8",
- "9": "\u05d0\u05d5\u05e7",
- "10": "\u05e0\u05d5\u05d1",
- "11": "\u05d3\u05e6\u05de"
- },
+ "AMPMS": [
+ "\u05dc\u05e4\u05e0\u05d4\u05f4\u05e6",
+ "\u05d0\u05d7\u05d4\u05f4\u05e6"
+ ],
+ "DAY": [
+ "\u05d9\u05d5\u05dd \u05e8\u05d0\u05e9\u05d5\u05df",
+ "\u05d9\u05d5\u05dd \u05e9\u05e0\u05d9",
+ "\u05d9\u05d5\u05dd \u05e9\u05dc\u05d9\u05e9\u05d9",
+ "\u05d9\u05d5\u05dd \u05e8\u05d1\u05d9\u05e2\u05d9",
+ "\u05d9\u05d5\u05dd \u05d7\u05de\u05d9\u05e9\u05d9",
+ "\u05d9\u05d5\u05dd \u05e9\u05d9\u05e9\u05d9",
+ "\u05d9\u05d5\u05dd \u05e9\u05d1\u05ea"
+ ],
+ "MONTH": [
+ "\u05d9\u05e0\u05d5\u05d0\u05e8",
+ "\u05e4\u05d1\u05e8\u05d5\u05d0\u05e8",
+ "\u05de\u05e8\u05e5",
+ "\u05d0\u05e4\u05e8\u05d9\u05dc",
+ "\u05de\u05d0\u05d9",
+ "\u05d9\u05d5\u05e0\u05d9",
+ "\u05d9\u05d5\u05dc\u05d9",
+ "\u05d0\u05d5\u05d2\u05d5\u05e1\u05d8",
+ "\u05e1\u05e4\u05d8\u05de\u05d1\u05e8",
+ "\u05d0\u05d5\u05e7\u05d8\u05d5\u05d1\u05e8",
+ "\u05e0\u05d5\u05d1\u05de\u05d1\u05e8",
+ "\u05d3\u05e6\u05de\u05d1\u05e8"
+ ],
+ "SHORTDAY": [
+ "\u05d9\u05d5\u05dd \u05d0\u05f3",
+ "\u05d9\u05d5\u05dd \u05d1\u05f3",
+ "\u05d9\u05d5\u05dd \u05d2\u05f3",
+ "\u05d9\u05d5\u05dd \u05d3\u05f3",
+ "\u05d9\u05d5\u05dd \u05d4\u05f3",
+ "\u05d9\u05d5\u05dd \u05d5\u05f3",
+ "\u05e9\u05d1\u05ea"
+ ],
+ "SHORTMONTH": [
+ "\u05d9\u05e0\u05d5",
+ "\u05e4\u05d1\u05e8",
+ "\u05de\u05e8\u05e5",
+ "\u05d0\u05e4\u05e8",
+ "\u05de\u05d0\u05d9",
+ "\u05d9\u05d5\u05e0",
+ "\u05d9\u05d5\u05dc",
+ "\u05d0\u05d5\u05d2",
+ "\u05e1\u05e4\u05d8",
+ "\u05d0\u05d5\u05e7",
+ "\u05e0\u05d5\u05d1",
+ "\u05d3\u05e6\u05de"
+ ],
"fullDate": "EEEE, d \u05d1MMMM y",
"longDate": "d \u05d1MMMM y",
"medium": "d \u05d1MMM yyyy HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20aa",
"DECIMAL_SEP": ".",
"GROUP_SEP": ",",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "he",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_hi-in.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_hi-in.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_hi-in.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "am",
- "1": "pm"
- },
- "DAY": {
- "0": "\u0930\u0935\u093f\u0935\u093e\u0930",
- "1": "\u0938\u094b\u092e\u0935\u093e\u0930",
- "2": "\u092e\u0902\u0917\u0932\u0935\u093e\u0930",
- "3": "\u092c\u0941\u0927\u0935\u093e\u0930",
- "4": "\u092c\u0943\u0939\u0938\u094d\u092a\u0924\u093f\u0935\u093e\u0930",
- "5": "\u0936\u0941\u0915\u094d\u0930\u0935\u093e\u0930",
- "6": "\u0936\u0928\u093f\u0935\u093e\u0930"
- },
- "MONTH": {
- "0": "\u091c\u0928\u0935\u0930\u0940",
- "1": "\u092b\u0930\u0935\u0930\u0940",
- "2": "\u092e\u093e\u0930\u094d\u091a",
- "3": "\u0905\u092a\u094d\u0930\u0948\u0932",
- "4": "\u092e\u0908",
- "5": "\u091c\u0942\u0928",
- "6": "\u091c\u0941\u0932\u093e\u0908",
- "7": "\u0905\u0917\u0938\u094d\u0924",
- "8": "\u0938\u093f\u0924\u092e\u094d\u092c\u0930",
- "9": "\u0905\u0915\u094d\u0924\u0942\u092c\u0930",
- "10": "\u0928\u0935\u092e\u094d\u092c\u0930",
- "11": "\u0926\u093f\u0938\u092e\u094d\u092c\u0930"
- },
- "SHORTDAY": {
- "0": "\u0930\u0935\u093f.",
- "1": "\u0938\u094b\u092e.",
- "2": "\u092e\u0902\u0917\u0932.",
- "3": "\u092c\u0941\u0927.",
- "4": "\u092c\u0943\u0939.",
- "5": "\u0936\u0941\u0915\u094d\u0930.",
- "6": "\u0936\u0928\u093f."
- },
- "SHORTMONTH": {
- "0": "\u091c\u0928\u0935\u0930\u0940",
- "1": "\u092b\u0930\u0935\u0930\u0940",
- "2": "\u092e\u093e\u0930\u094d\u091a",
- "3": "\u0905\u092a\u094d\u0930\u0948\u0932",
- "4": "\u092e\u0908",
- "5": "\u091c\u0942\u0928",
- "6": "\u091c\u0941\u0932\u093e\u0908",
- "7": "\u0905\u0917\u0938\u094d\u0924",
- "8": "\u0938\u093f\u0924\u092e\u094d\u092c\u0930",
- "9": "\u0905\u0915\u094d\u0924\u0942\u092c\u0930",
- "10": "\u0928\u0935\u092e\u094d\u092c\u0930",
- "11": "\u0926\u093f\u0938\u092e\u094d\u092c\u0930"
- },
+ "AMPMS": [
+ "am",
+ "pm"
+ ],
+ "DAY": [
+ "\u0930\u0935\u093f\u0935\u093e\u0930",
+ "\u0938\u094b\u092e\u0935\u093e\u0930",
+ "\u092e\u0902\u0917\u0932\u0935\u093e\u0930",
+ "\u092c\u0941\u0927\u0935\u093e\u0930",
+ "\u092c\u0943\u0939\u0938\u094d\u092a\u0924\u093f\u0935\u093e\u0930",
+ "\u0936\u0941\u0915\u094d\u0930\u0935\u093e\u0930",
+ "\u0936\u0928\u093f\u0935\u093e\u0930"
+ ],
+ "MONTH": [
+ "\u091c\u0928\u0935\u0930\u0940",
+ "\u092b\u0930\u0935\u0930\u0940",
+ "\u092e\u093e\u0930\u094d\u091a",
+ "\u0905\u092a\u094d\u0930\u0948\u0932",
+ "\u092e\u0908",
+ "\u091c\u0942\u0928",
+ "\u091c\u0941\u0932\u093e\u0908",
+ "\u0905\u0917\u0938\u094d\u0924",
+ "\u0938\u093f\u0924\u092e\u094d\u092c\u0930",
+ "\u0905\u0915\u094d\u0924\u0942\u092c\u0930",
+ "\u0928\u0935\u092e\u094d\u092c\u0930",
+ "\u0926\u093f\u0938\u092e\u094d\u092c\u0930"
+ ],
+ "SHORTDAY": [
+ "\u0930\u0935\u093f.",
+ "\u0938\u094b\u092e.",
+ "\u092e\u0902\u0917\u0932.",
+ "\u092c\u0941\u0927.",
+ "\u092c\u0943\u0939.",
+ "\u0936\u0941\u0915\u094d\u0930.",
+ "\u0936\u0928\u093f."
+ ],
+ "SHORTMONTH": [
+ "\u091c\u0928\u0935\u0930\u0940",
+ "\u092b\u0930\u0935\u0930\u0940",
+ "\u092e\u093e\u0930\u094d\u091a",
+ "\u0905\u092a\u094d\u0930\u0948\u0932",
+ "\u092e\u0908",
+ "\u091c\u0942\u0928",
+ "\u091c\u0941\u0932\u093e\u0908",
+ "\u0905\u0917\u0938\u094d\u0924",
+ "\u0938\u093f\u0924\u092e\u094d\u092c\u0930",
+ "\u0905\u0915\u094d\u0924\u0942\u092c\u0930",
+ "\u0928\u0935\u092e\u094d\u092c\u0930",
+ "\u0926\u093f\u0938\u092e\u094d\u092c\u0930"
+ ],
"fullDate": "EEEE, d MMMM y",
"longDate": "d MMMM y",
"medium": "dd-MM-yyyy h:mm:ss a",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20b9",
"DECIMAL_SEP": ".",
"GROUP_SEP": ",",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 2,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 2,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4\u00a0",
"posSuf": ""
}
- }
+ ]
},
"id": "hi-in",
"pluralCat": function (n) { if (n == 0 || n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_hi.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_hi.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_hi.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "am",
- "1": "pm"
- },
- "DAY": {
- "0": "\u0930\u0935\u093f\u0935\u093e\u0930",
- "1": "\u0938\u094b\u092e\u0935\u093e\u0930",
- "2": "\u092e\u0902\u0917\u0932\u0935\u093e\u0930",
- "3": "\u092c\u0941\u0927\u0935\u093e\u0930",
- "4": "\u092c\u0943\u0939\u0938\u094d\u092a\u0924\u093f\u0935\u093e\u0930",
- "5": "\u0936\u0941\u0915\u094d\u0930\u0935\u093e\u0930",
- "6": "\u0936\u0928\u093f\u0935\u093e\u0930"
- },
- "MONTH": {
- "0": "\u091c\u0928\u0935\u0930\u0940",
- "1": "\u092b\u0930\u0935\u0930\u0940",
- "2": "\u092e\u093e\u0930\u094d\u091a",
- "3": "\u0905\u092a\u094d\u0930\u0948\u0932",
- "4": "\u092e\u0908",
- "5": "\u091c\u0942\u0928",
- "6": "\u091c\u0941\u0932\u093e\u0908",
- "7": "\u0905\u0917\u0938\u094d\u0924",
- "8": "\u0938\u093f\u0924\u092e\u094d\u092c\u0930",
- "9": "\u0905\u0915\u094d\u0924\u0942\u092c\u0930",
- "10": "\u0928\u0935\u092e\u094d\u092c\u0930",
- "11": "\u0926\u093f\u0938\u092e\u094d\u092c\u0930"
- },
- "SHORTDAY": {
- "0": "\u0930\u0935\u093f.",
- "1": "\u0938\u094b\u092e.",
- "2": "\u092e\u0902\u0917\u0932.",
- "3": "\u092c\u0941\u0927.",
- "4": "\u092c\u0943\u0939.",
- "5": "\u0936\u0941\u0915\u094d\u0930.",
- "6": "\u0936\u0928\u093f."
- },
- "SHORTMONTH": {
- "0": "\u091c\u0928\u0935\u0930\u0940",
- "1": "\u092b\u0930\u0935\u0930\u0940",
- "2": "\u092e\u093e\u0930\u094d\u091a",
- "3": "\u0905\u092a\u094d\u0930\u0948\u0932",
- "4": "\u092e\u0908",
- "5": "\u091c\u0942\u0928",
- "6": "\u091c\u0941\u0932\u093e\u0908",
- "7": "\u0905\u0917\u0938\u094d\u0924",
- "8": "\u0938\u093f\u0924\u092e\u094d\u092c\u0930",
- "9": "\u0905\u0915\u094d\u0924\u0942\u092c\u0930",
- "10": "\u0928\u0935\u092e\u094d\u092c\u0930",
- "11": "\u0926\u093f\u0938\u092e\u094d\u092c\u0930"
- },
+ "AMPMS": [
+ "am",
+ "pm"
+ ],
+ "DAY": [
+ "\u0930\u0935\u093f\u0935\u093e\u0930",
+ "\u0938\u094b\u092e\u0935\u093e\u0930",
+ "\u092e\u0902\u0917\u0932\u0935\u093e\u0930",
+ "\u092c\u0941\u0927\u0935\u093e\u0930",
+ "\u092c\u0943\u0939\u0938\u094d\u092a\u0924\u093f\u0935\u093e\u0930",
+ "\u0936\u0941\u0915\u094d\u0930\u0935\u093e\u0930",
+ "\u0936\u0928\u093f\u0935\u093e\u0930"
+ ],
+ "MONTH": [
+ "\u091c\u0928\u0935\u0930\u0940",
+ "\u092b\u0930\u0935\u0930\u0940",
+ "\u092e\u093e\u0930\u094d\u091a",
+ "\u0905\u092a\u094d\u0930\u0948\u0932",
+ "\u092e\u0908",
+ "\u091c\u0942\u0928",
+ "\u091c\u0941\u0932\u093e\u0908",
+ "\u0905\u0917\u0938\u094d\u0924",
+ "\u0938\u093f\u0924\u092e\u094d\u092c\u0930",
+ "\u0905\u0915\u094d\u0924\u0942\u092c\u0930",
+ "\u0928\u0935\u092e\u094d\u092c\u0930",
+ "\u0926\u093f\u0938\u092e\u094d\u092c\u0930"
+ ],
+ "SHORTDAY": [
+ "\u0930\u0935\u093f.",
+ "\u0938\u094b\u092e.",
+ "\u092e\u0902\u0917\u0932.",
+ "\u092c\u0941\u0927.",
+ "\u092c\u0943\u0939.",
+ "\u0936\u0941\u0915\u094d\u0930.",
+ "\u0936\u0928\u093f."
+ ],
+ "SHORTMONTH": [
+ "\u091c\u0928\u0935\u0930\u0940",
+ "\u092b\u0930\u0935\u0930\u0940",
+ "\u092e\u093e\u0930\u094d\u091a",
+ "\u0905\u092a\u094d\u0930\u0948\u0932",
+ "\u092e\u0908",
+ "\u091c\u0942\u0928",
+ "\u091c\u0941\u0932\u093e\u0908",
+ "\u0905\u0917\u0938\u094d\u0924",
+ "\u0938\u093f\u0924\u092e\u094d\u092c\u0930",
+ "\u0905\u0915\u094d\u0924\u0942\u092c\u0930",
+ "\u0928\u0935\u092e\u094d\u092c\u0930",
+ "\u0926\u093f\u0938\u092e\u094d\u092c\u0930"
+ ],
"fullDate": "EEEE, d MMMM y",
"longDate": "d MMMM y",
"medium": "dd-MM-yyyy h:mm:ss a",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20b9",
"DECIMAL_SEP": ".",
"GROUP_SEP": ",",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 2,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 2,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4\u00a0",
"posSuf": ""
}
- }
+ ]
},
"id": "hi",
"pluralCat": function (n) { if (n == 0 || n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_hr-hr.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_hr-hr.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_hr-hr.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "AM",
- "1": "PM"
- },
- "DAY": {
- "0": "nedjelja",
- "1": "ponedjeljak",
- "2": "utorak",
- "3": "srijeda",
- "4": "\u010detvrtak",
- "5": "petak",
- "6": "subota"
- },
- "MONTH": {
- "0": "sije\u010dnja",
- "1": "velja\u010de",
- "2": "o\u017eujka",
- "3": "travnja",
- "4": "svibnja",
- "5": "lipnja",
- "6": "srpnja",
- "7": "kolovoza",
- "8": "rujna",
- "9": "listopada",
- "10": "studenoga",
- "11": "prosinca"
- },
- "SHORTDAY": {
- "0": "ned",
- "1": "pon",
- "2": "uto",
- "3": "sri",
- "4": "\u010det",
- "5": "pet",
- "6": "sub"
- },
- "SHORTMONTH": {
- "0": "sij",
- "1": "velj",
- "2": "o\u017eu",
- "3": "tra",
- "4": "svi",
- "5": "lip",
- "6": "srp",
- "7": "kol",
- "8": "ruj",
- "9": "lis",
- "10": "stu",
- "11": "pro"
- },
+ "AMPMS": [
+ "AM",
+ "PM"
+ ],
+ "DAY": [
+ "nedjelja",
+ "ponedjeljak",
+ "utorak",
+ "srijeda",
+ "\u010detvrtak",
+ "petak",
+ "subota"
+ ],
+ "MONTH": [
+ "sije\u010dnja",
+ "velja\u010de",
+ "o\u017eujka",
+ "travnja",
+ "svibnja",
+ "lipnja",
+ "srpnja",
+ "kolovoza",
+ "rujna",
+ "listopada",
+ "studenoga",
+ "prosinca"
+ ],
+ "SHORTDAY": [
+ "ned",
+ "pon",
+ "uto",
+ "sri",
+ "\u010det",
+ "pet",
+ "sub"
+ ],
+ "SHORTMONTH": [
+ "sij",
+ "velj",
+ "o\u017eu",
+ "tra",
+ "svi",
+ "lip",
+ "srp",
+ "kol",
+ "ruj",
+ "lis",
+ "stu",
+ "pro"
+ ],
"fullDate": "EEEE, d. MMMM y.",
"longDate": "d. MMMM y.",
"medium": "d. M. y. HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "kn",
"DECIMAL_SEP": ",",
"GROUP_SEP": ".",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "hr-hr",
"pluralCat": function (n) { if (n % 10 == 1 && n % 100 != 11) { return PLURAL_CATEGORY.ONE; } if (n == (n | 0) && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14)) { return PLURAL_CATEGORY.FEW; } if (n % 10 == 0 || n == (n | 0) && n % 10 >= 5 && n % 10 <= 9 || n == (n | 0) && n % 100 >= 11 && n % 100 <= 14) { return PLURAL_CATEGORY.MANY; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_hr.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_hr.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_hr.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "AM",
- "1": "PM"
- },
- "DAY": {
- "0": "nedjelja",
- "1": "ponedjeljak",
- "2": "utorak",
- "3": "srijeda",
- "4": "\u010detvrtak",
- "5": "petak",
- "6": "subota"
- },
- "MONTH": {
- "0": "sije\u010dnja",
- "1": "velja\u010de",
- "2": "o\u017eujka",
- "3": "travnja",
- "4": "svibnja",
- "5": "lipnja",
- "6": "srpnja",
- "7": "kolovoza",
- "8": "rujna",
- "9": "listopada",
- "10": "studenoga",
- "11": "prosinca"
- },
- "SHORTDAY": {
- "0": "ned",
- "1": "pon",
- "2": "uto",
- "3": "sri",
- "4": "\u010det",
- "5": "pet",
- "6": "sub"
- },
- "SHORTMONTH": {
- "0": "sij",
- "1": "velj",
- "2": "o\u017eu",
- "3": "tra",
- "4": "svi",
- "5": "lip",
- "6": "srp",
- "7": "kol",
- "8": "ruj",
- "9": "lis",
- "10": "stu",
- "11": "pro"
- },
+ "AMPMS": [
+ "AM",
+ "PM"
+ ],
+ "DAY": [
+ "nedjelja",
+ "ponedjeljak",
+ "utorak",
+ "srijeda",
+ "\u010detvrtak",
+ "petak",
+ "subota"
+ ],
+ "MONTH": [
+ "sije\u010dnja",
+ "velja\u010de",
+ "o\u017eujka",
+ "travnja",
+ "svibnja",
+ "lipnja",
+ "srpnja",
+ "kolovoza",
+ "rujna",
+ "listopada",
+ "studenoga",
+ "prosinca"
+ ],
+ "SHORTDAY": [
+ "ned",
+ "pon",
+ "uto",
+ "sri",
+ "\u010det",
+ "pet",
+ "sub"
+ ],
+ "SHORTMONTH": [
+ "sij",
+ "velj",
+ "o\u017eu",
+ "tra",
+ "svi",
+ "lip",
+ "srp",
+ "kol",
+ "ruj",
+ "lis",
+ "stu",
+ "pro"
+ ],
"fullDate": "EEEE, d. MMMM y.",
"longDate": "d. MMMM y.",
"medium": "d. M. y. HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "kn",
"DECIMAL_SEP": ",",
"GROUP_SEP": ".",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "hr",
"pluralCat": function (n) { if (n % 10 == 1 && n % 100 != 11) { return PLURAL_CATEGORY.ONE; } if (n == (n | 0) && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14)) { return PLURAL_CATEGORY.FEW; } if (n % 10 == 0 || n == (n | 0) && n % 10 >= 5 && n % 10 <= 9 || n == (n | 0) && n % 100 >= 11 && n % 100 <= 14) { return PLURAL_CATEGORY.MANY; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_hu-hu.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_hu-hu.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_hu-hu.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "de.",
- "1": "du."
- },
- "DAY": {
- "0": "vas\u00e1rnap",
- "1": "h\u00e9tf\u0151",
- "2": "kedd",
- "3": "szerda",
- "4": "cs\u00fct\u00f6rt\u00f6k",
- "5": "p\u00e9ntek",
- "6": "szombat"
- },
- "MONTH": {
- "0": "janu\u00e1r",
- "1": "febru\u00e1r",
- "2": "m\u00e1rcius",
- "3": "\u00e1prilis",
- "4": "m\u00e1jus",
- "5": "j\u00fanius",
- "6": "j\u00falius",
- "7": "augusztus",
- "8": "szeptember",
- "9": "okt\u00f3ber",
- "10": "november",
- "11": "december"
- },
- "SHORTDAY": {
- "0": "V",
- "1": "H",
- "2": "K",
- "3": "Sze",
- "4": "Cs",
- "5": "P",
- "6": "Szo"
- },
- "SHORTMONTH": {
- "0": "jan.",
- "1": "febr.",
- "2": "m\u00e1rc.",
- "3": "\u00e1pr.",
- "4": "m\u00e1j.",
- "5": "j\u00fan.",
- "6": "j\u00fal.",
- "7": "aug.",
- "8": "szept.",
- "9": "okt.",
- "10": "nov.",
- "11": "dec."
- },
+ "AMPMS": [
+ "de.",
+ "du."
+ ],
+ "DAY": [
+ "vas\u00e1rnap",
+ "h\u00e9tf\u0151",
+ "kedd",
+ "szerda",
+ "cs\u00fct\u00f6rt\u00f6k",
+ "p\u00e9ntek",
+ "szombat"
+ ],
+ "MONTH": [
+ "janu\u00e1r",
+ "febru\u00e1r",
+ "m\u00e1rcius",
+ "\u00e1prilis",
+ "m\u00e1jus",
+ "j\u00fanius",
+ "j\u00falius",
+ "augusztus",
+ "szeptember",
+ "okt\u00f3ber",
+ "november",
+ "december"
+ ],
+ "SHORTDAY": [
+ "V",
+ "H",
+ "K",
+ "Sze",
+ "Cs",
+ "P",
+ "Szo"
+ ],
+ "SHORTMONTH": [
+ "jan.",
+ "febr.",
+ "m\u00e1rc.",
+ "\u00e1pr.",
+ "m\u00e1j.",
+ "j\u00fan.",
+ "j\u00fal.",
+ "aug.",
+ "szept.",
+ "okt.",
+ "nov.",
+ "dec."
+ ],
"fullDate": "y. MMMM d., EEEE",
"longDate": "y. MMMM d.",
"medium": "yyyy.MM.dd. H:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "Ft",
"DECIMAL_SEP": ",",
"GROUP_SEP": "\u00a0",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "hu-hu",
"pluralCat": function (n) { return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_hu.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_hu.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_hu.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "de.",
- "1": "du."
- },
- "DAY": {
- "0": "vas\u00e1rnap",
- "1": "h\u00e9tf\u0151",
- "2": "kedd",
- "3": "szerda",
- "4": "cs\u00fct\u00f6rt\u00f6k",
- "5": "p\u00e9ntek",
- "6": "szombat"
- },
- "MONTH": {
- "0": "janu\u00e1r",
- "1": "febru\u00e1r",
- "2": "m\u00e1rcius",
- "3": "\u00e1prilis",
- "4": "m\u00e1jus",
- "5": "j\u00fanius",
- "6": "j\u00falius",
- "7": "augusztus",
- "8": "szeptember",
- "9": "okt\u00f3ber",
- "10": "november",
- "11": "december"
- },
- "SHORTDAY": {
- "0": "V",
- "1": "H",
- "2": "K",
- "3": "Sze",
- "4": "Cs",
- "5": "P",
- "6": "Szo"
- },
- "SHORTMONTH": {
- "0": "jan.",
- "1": "febr.",
- "2": "m\u00e1rc.",
- "3": "\u00e1pr.",
- "4": "m\u00e1j.",
- "5": "j\u00fan.",
- "6": "j\u00fal.",
- "7": "aug.",
- "8": "szept.",
- "9": "okt.",
- "10": "nov.",
- "11": "dec."
- },
+ "AMPMS": [
+ "de.",
+ "du."
+ ],
+ "DAY": [
+ "vas\u00e1rnap",
+ "h\u00e9tf\u0151",
+ "kedd",
+ "szerda",
+ "cs\u00fct\u00f6rt\u00f6k",
+ "p\u00e9ntek",
+ "szombat"
+ ],
+ "MONTH": [
+ "janu\u00e1r",
+ "febru\u00e1r",
+ "m\u00e1rcius",
+ "\u00e1prilis",
+ "m\u00e1jus",
+ "j\u00fanius",
+ "j\u00falius",
+ "augusztus",
+ "szeptember",
+ "okt\u00f3ber",
+ "november",
+ "december"
+ ],
+ "SHORTDAY": [
+ "V",
+ "H",
+ "K",
+ "Sze",
+ "Cs",
+ "P",
+ "Szo"
+ ],
+ "SHORTMONTH": [
+ "jan.",
+ "febr.",
+ "m\u00e1rc.",
+ "\u00e1pr.",
+ "m\u00e1j.",
+ "j\u00fan.",
+ "j\u00fal.",
+ "aug.",
+ "szept.",
+ "okt.",
+ "nov.",
+ "dec."
+ ],
"fullDate": "y. MMMM d., EEEE",
"longDate": "y. MMMM d.",
"medium": "yyyy.MM.dd. H:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "Ft",
"DECIMAL_SEP": ",",
"GROUP_SEP": "\u00a0",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "hu",
"pluralCat": function (n) { return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_id-id.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_id-id.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_id-id.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "AM",
- "1": "PM"
- },
- "DAY": {
- "0": "Minggu",
- "1": "Senin",
- "2": "Selasa",
- "3": "Rabu",
- "4": "Kamis",
- "5": "Jumat",
- "6": "Sabtu"
- },
- "MONTH": {
- "0": "Januari",
- "1": "Februari",
- "2": "Maret",
- "3": "April",
- "4": "Mei",
- "5": "Juni",
- "6": "Juli",
- "7": "Agustus",
- "8": "September",
- "9": "Oktober",
- "10": "November",
- "11": "Desember"
- },
- "SHORTDAY": {
- "0": "Min",
- "1": "Sen",
- "2": "Sel",
- "3": "Rab",
- "4": "Kam",
- "5": "Jum",
- "6": "Sab"
- },
- "SHORTMONTH": {
- "0": "Jan",
- "1": "Feb",
- "2": "Mar",
- "3": "Apr",
- "4": "Mei",
- "5": "Jun",
- "6": "Jul",
- "7": "Agt",
- "8": "Sep",
- "9": "Okt",
- "10": "Nov",
- "11": "Des"
- },
+ "AMPMS": [
+ "AM",
+ "PM"
+ ],
+ "DAY": [
+ "Minggu",
+ "Senin",
+ "Selasa",
+ "Rabu",
+ "Kamis",
+ "Jumat",
+ "Sabtu"
+ ],
+ "MONTH": [
+ "Januari",
+ "Februari",
+ "Maret",
+ "April",
+ "Mei",
+ "Juni",
+ "Juli",
+ "Agustus",
+ "September",
+ "Oktober",
+ "November",
+ "Desember"
+ ],
+ "SHORTDAY": [
+ "Min",
+ "Sen",
+ "Sel",
+ "Rab",
+ "Kam",
+ "Jum",
+ "Sab"
+ ],
+ "SHORTMONTH": [
+ "Jan",
+ "Feb",
+ "Mar",
+ "Apr",
+ "Mei",
+ "Jun",
+ "Jul",
+ "Agt",
+ "Sep",
+ "Okt",
+ "Nov",
+ "Des"
+ ],
"fullDate": "EEEE, dd MMMM yyyy",
"longDate": "d MMMM yyyy",
"medium": "d MMM yyyy HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "Rp",
"DECIMAL_SEP": ",",
"GROUP_SEP": ".",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4",
"posSuf": ""
}
- }
+ ]
},
"id": "id-id",
"pluralCat": function (n) { return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_id.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_id.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_id.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "AM",
- "1": "PM"
- },
- "DAY": {
- "0": "Minggu",
- "1": "Senin",
- "2": "Selasa",
- "3": "Rabu",
- "4": "Kamis",
- "5": "Jumat",
- "6": "Sabtu"
- },
- "MONTH": {
- "0": "Januari",
- "1": "Februari",
- "2": "Maret",
- "3": "April",
- "4": "Mei",
- "5": "Juni",
- "6": "Juli",
- "7": "Agustus",
- "8": "September",
- "9": "Oktober",
- "10": "November",
- "11": "Desember"
- },
- "SHORTDAY": {
- "0": "Min",
- "1": "Sen",
- "2": "Sel",
- "3": "Rab",
- "4": "Kam",
- "5": "Jum",
- "6": "Sab"
- },
- "SHORTMONTH": {
- "0": "Jan",
- "1": "Feb",
- "2": "Mar",
- "3": "Apr",
- "4": "Mei",
- "5": "Jun",
- "6": "Jul",
- "7": "Agt",
- "8": "Sep",
- "9": "Okt",
- "10": "Nov",
- "11": "Des"
- },
+ "AMPMS": [
+ "AM",
+ "PM"
+ ],
+ "DAY": [
+ "Minggu",
+ "Senin",
+ "Selasa",
+ "Rabu",
+ "Kamis",
+ "Jumat",
+ "Sabtu"
+ ],
+ "MONTH": [
+ "Januari",
+ "Februari",
+ "Maret",
+ "April",
+ "Mei",
+ "Juni",
+ "Juli",
+ "Agustus",
+ "September",
+ "Oktober",
+ "November",
+ "Desember"
+ ],
+ "SHORTDAY": [
+ "Min",
+ "Sen",
+ "Sel",
+ "Rab",
+ "Kam",
+ "Jum",
+ "Sab"
+ ],
+ "SHORTMONTH": [
+ "Jan",
+ "Feb",
+ "Mar",
+ "Apr",
+ "Mei",
+ "Jun",
+ "Jul",
+ "Agt",
+ "Sep",
+ "Okt",
+ "Nov",
+ "Des"
+ ],
"fullDate": "EEEE, dd MMMM yyyy",
"longDate": "d MMMM yyyy",
"medium": "d MMM yyyy HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "Rp",
"DECIMAL_SEP": ",",
"GROUP_SEP": ".",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4",
"posSuf": ""
}
- }
+ ]
},
"id": "id",
"pluralCat": function (n) { return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_in.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_in.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_in.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "AM",
- "1": "PM"
- },
- "DAY": {
- "0": "Minggu",
- "1": "Senin",
- "2": "Selasa",
- "3": "Rabu",
- "4": "Kamis",
- "5": "Jumat",
- "6": "Sabtu"
- },
- "MONTH": {
- "0": "Januari",
- "1": "Februari",
- "2": "Maret",
- "3": "April",
- "4": "Mei",
- "5": "Juni",
- "6": "Juli",
- "7": "Agustus",
- "8": "September",
- "9": "Oktober",
- "10": "November",
- "11": "Desember"
- },
- "SHORTDAY": {
- "0": "Min",
- "1": "Sen",
- "2": "Sel",
- "3": "Rab",
- "4": "Kam",
- "5": "Jum",
- "6": "Sab"
- },
- "SHORTMONTH": {
- "0": "Jan",
- "1": "Feb",
- "2": "Mar",
- "3": "Apr",
- "4": "Mei",
- "5": "Jun",
- "6": "Jul",
- "7": "Agt",
- "8": "Sep",
- "9": "Okt",
- "10": "Nov",
- "11": "Des"
- },
+ "AMPMS": [
+ "AM",
+ "PM"
+ ],
+ "DAY": [
+ "Minggu",
+ "Senin",
+ "Selasa",
+ "Rabu",
+ "Kamis",
+ "Jumat",
+ "Sabtu"
+ ],
+ "MONTH": [
+ "Januari",
+ "Februari",
+ "Maret",
+ "April",
+ "Mei",
+ "Juni",
+ "Juli",
+ "Agustus",
+ "September",
+ "Oktober",
+ "November",
+ "Desember"
+ ],
+ "SHORTDAY": [
+ "Min",
+ "Sen",
+ "Sel",
+ "Rab",
+ "Kam",
+ "Jum",
+ "Sab"
+ ],
+ "SHORTMONTH": [
+ "Jan",
+ "Feb",
+ "Mar",
+ "Apr",
+ "Mei",
+ "Jun",
+ "Jul",
+ "Agt",
+ "Sep",
+ "Okt",
+ "Nov",
+ "Des"
+ ],
"fullDate": "EEEE, dd MMMM yyyy",
"longDate": "d MMMM yyyy",
"medium": "d MMM yyyy HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "Rp",
"DECIMAL_SEP": ",",
"GROUP_SEP": ".",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4",
"posSuf": ""
}
- }
+ ]
},
"id": "in",
"pluralCat": function (n) { return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_is-is.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_is-is.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_is-is.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "f.h.",
- "1": "e.h."
- },
- "DAY": {
- "0": "sunnudagur",
- "1": "m\u00e1nudagur",
- "2": "\u00feri\u00f0judagur",
- "3": "mi\u00f0vikudagur",
- "4": "fimmtudagur",
- "5": "f\u00f6studagur",
- "6": "laugardagur"
- },
- "MONTH": {
- "0": "jan\u00faar",
- "1": "febr\u00faar",
- "2": "mars",
- "3": "apr\u00edl",
- "4": "ma\u00ed",
- "5": "j\u00fan\u00ed",
- "6": "j\u00fal\u00ed",
- "7": "\u00e1g\u00fast",
- "8": "september",
- "9": "okt\u00f3ber",
- "10": "n\u00f3vember",
- "11": "desember"
- },
- "SHORTDAY": {
- "0": "sun",
- "1": "m\u00e1n",
- "2": "\u00feri",
- "3": "mi\u00f0",
- "4": "fim",
- "5": "f\u00f6s",
- "6": "lau"
- },
- "SHORTMONTH": {
- "0": "jan",
- "1": "feb",
- "2": "mar",
- "3": "apr",
- "4": "ma\u00ed",
- "5": "j\u00fan",
- "6": "j\u00fal",
- "7": "\u00e1g\u00fa",
- "8": "sep",
- "9": "okt",
- "10": "n\u00f3v",
- "11": "des"
- },
+ "AMPMS": [
+ "f.h.",
+ "e.h."
+ ],
+ "DAY": [
+ "sunnudagur",
+ "m\u00e1nudagur",
+ "\u00feri\u00f0judagur",
+ "mi\u00f0vikudagur",
+ "fimmtudagur",
+ "f\u00f6studagur",
+ "laugardagur"
+ ],
+ "MONTH": [
+ "jan\u00faar",
+ "febr\u00faar",
+ "mars",
+ "apr\u00edl",
+ "ma\u00ed",
+ "j\u00fan\u00ed",
+ "j\u00fal\u00ed",
+ "\u00e1g\u00fast",
+ "september",
+ "okt\u00f3ber",
+ "n\u00f3vember",
+ "desember"
+ ],
+ "SHORTDAY": [
+ "sun",
+ "m\u00e1n",
+ "\u00feri",
+ "mi\u00f0",
+ "fim",
+ "f\u00f6s",
+ "lau"
+ ],
+ "SHORTMONTH": [
+ "jan",
+ "feb",
+ "mar",
+ "apr",
+ "ma\u00ed",
+ "j\u00fan",
+ "j\u00fal",
+ "\u00e1g\u00fa",
+ "sep",
+ "okt",
+ "n\u00f3v",
+ "des"
+ ],
"fullDate": "EEEE, d. MMMM y",
"longDate": "d. MMMM y",
"medium": "d.M.yyyy HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "kr",
"DECIMAL_SEP": ",",
"GROUP_SEP": ".",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4",
"posSuf": ""
}
- }
+ ]
},
"id": "is-is",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_is.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_is.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_is.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "f.h.",
- "1": "e.h."
- },
- "DAY": {
- "0": "sunnudagur",
- "1": "m\u00e1nudagur",
- "2": "\u00feri\u00f0judagur",
- "3": "mi\u00f0vikudagur",
- "4": "fimmtudagur",
- "5": "f\u00f6studagur",
- "6": "laugardagur"
- },
- "MONTH": {
- "0": "jan\u00faar",
- "1": "febr\u00faar",
- "2": "mars",
- "3": "apr\u00edl",
- "4": "ma\u00ed",
- "5": "j\u00fan\u00ed",
- "6": "j\u00fal\u00ed",
- "7": "\u00e1g\u00fast",
- "8": "september",
- "9": "okt\u00f3ber",
- "10": "n\u00f3vember",
- "11": "desember"
- },
- "SHORTDAY": {
- "0": "sun",
- "1": "m\u00e1n",
- "2": "\u00feri",
- "3": "mi\u00f0",
- "4": "fim",
- "5": "f\u00f6s",
- "6": "lau"
- },
- "SHORTMONTH": {
- "0": "jan",
- "1": "feb",
- "2": "mar",
- "3": "apr",
- "4": "ma\u00ed",
- "5": "j\u00fan",
- "6": "j\u00fal",
- "7": "\u00e1g\u00fa",
- "8": "sep",
- "9": "okt",
- "10": "n\u00f3v",
- "11": "des"
- },
+ "AMPMS": [
+ "f.h.",
+ "e.h."
+ ],
+ "DAY": [
+ "sunnudagur",
+ "m\u00e1nudagur",
+ "\u00feri\u00f0judagur",
+ "mi\u00f0vikudagur",
+ "fimmtudagur",
+ "f\u00f6studagur",
+ "laugardagur"
+ ],
+ "MONTH": [
+ "jan\u00faar",
+ "febr\u00faar",
+ "mars",
+ "apr\u00edl",
+ "ma\u00ed",
+ "j\u00fan\u00ed",
+ "j\u00fal\u00ed",
+ "\u00e1g\u00fast",
+ "september",
+ "okt\u00f3ber",
+ "n\u00f3vember",
+ "desember"
+ ],
+ "SHORTDAY": [
+ "sun",
+ "m\u00e1n",
+ "\u00feri",
+ "mi\u00f0",
+ "fim",
+ "f\u00f6s",
+ "lau"
+ ],
+ "SHORTMONTH": [
+ "jan",
+ "feb",
+ "mar",
+ "apr",
+ "ma\u00ed",
+ "j\u00fan",
+ "j\u00fal",
+ "\u00e1g\u00fa",
+ "sep",
+ "okt",
+ "n\u00f3v",
+ "des"
+ ],
"fullDate": "EEEE, d. MMMM y",
"longDate": "d. MMMM y",
"medium": "d.M.yyyy HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "kr",
"DECIMAL_SEP": ",",
"GROUP_SEP": ".",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4",
"posSuf": ""
}
- }
+ ]
},
"id": "is",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_it-it.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_it-it.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_it-it.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "m.",
- "1": "p."
- },
- "DAY": {
- "0": "domenica",
- "1": "luned\u00ec",
- "2": "marted\u00ec",
- "3": "mercoled\u00ec",
- "4": "gioved\u00ec",
- "5": "venerd\u00ec",
- "6": "sabato"
- },
- "MONTH": {
- "0": "gennaio",
- "1": "febbraio",
- "2": "marzo",
- "3": "aprile",
- "4": "maggio",
- "5": "giugno",
- "6": "luglio",
- "7": "agosto",
- "8": "settembre",
- "9": "ottobre",
- "10": "novembre",
- "11": "dicembre"
- },
- "SHORTDAY": {
- "0": "dom",
- "1": "lun",
- "2": "mar",
- "3": "mer",
- "4": "gio",
- "5": "ven",
- "6": "sab"
- },
- "SHORTMONTH": {
- "0": "gen",
- "1": "feb",
- "2": "mar",
- "3": "apr",
- "4": "mag",
- "5": "giu",
- "6": "lug",
- "7": "ago",
- "8": "set",
- "9": "ott",
- "10": "nov",
- "11": "dic"
- },
+ "AMPMS": [
+ "m.",
+ "p."
+ ],
+ "DAY": [
+ "domenica",
+ "luned\u00ec",
+ "marted\u00ec",
+ "mercoled\u00ec",
+ "gioved\u00ec",
+ "venerd\u00ec",
+ "sabato"
+ ],
+ "MONTH": [
+ "gennaio",
+ "febbraio",
+ "marzo",
+ "aprile",
+ "maggio",
+ "giugno",
+ "luglio",
+ "agosto",
+ "settembre",
+ "ottobre",
+ "novembre",
+ "dicembre"
+ ],
+ "SHORTDAY": [
+ "dom",
+ "lun",
+ "mar",
+ "mer",
+ "gio",
+ "ven",
+ "sab"
+ ],
+ "SHORTMONTH": [
+ "gen",
+ "feb",
+ "mar",
+ "apr",
+ "mag",
+ "giu",
+ "lug",
+ "ago",
+ "set",
+ "ott",
+ "nov",
+ "dic"
+ ],
"fullDate": "EEEE d MMMM y",
"longDate": "dd MMMM y",
"medium": "dd/MMM/y HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20ac",
"DECIMAL_SEP": ",",
"GROUP_SEP": ".",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4\u00a0",
"posSuf": ""
}
- }
+ ]
},
"id": "it-it",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_it-sm.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_it-sm.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_it-sm.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "m.",
- "1": "p."
- },
- "DAY": {
- "0": "domenica",
- "1": "luned\u00ec",
- "2": "marted\u00ec",
- "3": "mercoled\u00ec",
- "4": "gioved\u00ec",
- "5": "venerd\u00ec",
- "6": "sabato"
- },
- "MONTH": {
- "0": "gennaio",
- "1": "febbraio",
- "2": "marzo",
- "3": "aprile",
- "4": "maggio",
- "5": "giugno",
- "6": "luglio",
- "7": "agosto",
- "8": "settembre",
- "9": "ottobre",
- "10": "novembre",
- "11": "dicembre"
- },
- "SHORTDAY": {
- "0": "dom",
- "1": "lun",
- "2": "mar",
- "3": "mer",
- "4": "gio",
- "5": "ven",
- "6": "sab"
- },
- "SHORTMONTH": {
- "0": "gen",
- "1": "feb",
- "2": "mar",
- "3": "apr",
- "4": "mag",
- "5": "giu",
- "6": "lug",
- "7": "ago",
- "8": "set",
- "9": "ott",
- "10": "nov",
- "11": "dic"
- },
+ "AMPMS": [
+ "m.",
+ "p."
+ ],
+ "DAY": [
+ "domenica",
+ "luned\u00ec",
+ "marted\u00ec",
+ "mercoled\u00ec",
+ "gioved\u00ec",
+ "venerd\u00ec",
+ "sabato"
+ ],
+ "MONTH": [
+ "gennaio",
+ "febbraio",
+ "marzo",
+ "aprile",
+ "maggio",
+ "giugno",
+ "luglio",
+ "agosto",
+ "settembre",
+ "ottobre",
+ "novembre",
+ "dicembre"
+ ],
+ "SHORTDAY": [
+ "dom",
+ "lun",
+ "mar",
+ "mer",
+ "gio",
+ "ven",
+ "sab"
+ ],
+ "SHORTMONTH": [
+ "gen",
+ "feb",
+ "mar",
+ "apr",
+ "mag",
+ "giu",
+ "lug",
+ "ago",
+ "set",
+ "ott",
+ "nov",
+ "dic"
+ ],
"fullDate": "EEEE d MMMM y",
"longDate": "dd MMMM y",
"medium": "dd/MMM/y HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20ac",
"DECIMAL_SEP": ",",
"GROUP_SEP": ".",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4\u00a0",
"posSuf": ""
}
- }
+ ]
},
"id": "it-sm",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_it.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_it.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_it.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "m.",
- "1": "p."
- },
- "DAY": {
- "0": "domenica",
- "1": "luned\u00ec",
- "2": "marted\u00ec",
- "3": "mercoled\u00ec",
- "4": "gioved\u00ec",
- "5": "venerd\u00ec",
- "6": "sabato"
- },
- "MONTH": {
- "0": "gennaio",
- "1": "febbraio",
- "2": "marzo",
- "3": "aprile",
- "4": "maggio",
- "5": "giugno",
- "6": "luglio",
- "7": "agosto",
- "8": "settembre",
- "9": "ottobre",
- "10": "novembre",
- "11": "dicembre"
- },
- "SHORTDAY": {
- "0": "dom",
- "1": "lun",
- "2": "mar",
- "3": "mer",
- "4": "gio",
- "5": "ven",
- "6": "sab"
- },
- "SHORTMONTH": {
- "0": "gen",
- "1": "feb",
- "2": "mar",
- "3": "apr",
- "4": "mag",
- "5": "giu",
- "6": "lug",
- "7": "ago",
- "8": "set",
- "9": "ott",
- "10": "nov",
- "11": "dic"
- },
+ "AMPMS": [
+ "m.",
+ "p."
+ ],
+ "DAY": [
+ "domenica",
+ "luned\u00ec",
+ "marted\u00ec",
+ "mercoled\u00ec",
+ "gioved\u00ec",
+ "venerd\u00ec",
+ "sabato"
+ ],
+ "MONTH": [
+ "gennaio",
+ "febbraio",
+ "marzo",
+ "aprile",
+ "maggio",
+ "giugno",
+ "luglio",
+ "agosto",
+ "settembre",
+ "ottobre",
+ "novembre",
+ "dicembre"
+ ],
+ "SHORTDAY": [
+ "dom",
+ "lun",
+ "mar",
+ "mer",
+ "gio",
+ "ven",
+ "sab"
+ ],
+ "SHORTMONTH": [
+ "gen",
+ "feb",
+ "mar",
+ "apr",
+ "mag",
+ "giu",
+ "lug",
+ "ago",
+ "set",
+ "ott",
+ "nov",
+ "dic"
+ ],
"fullDate": "EEEE d MMMM y",
"longDate": "dd MMMM y",
"medium": "dd/MMM/y HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20ac",
"DECIMAL_SEP": ",",
"GROUP_SEP": ".",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4\u00a0",
"posSuf": ""
}
- }
+ ]
},
"id": "it",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_iw.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_iw.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_iw.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "\u05dc\u05e4\u05e0\u05d4\u05f4\u05e6",
- "1": "\u05d0\u05d7\u05d4\u05f4\u05e6"
- },
- "DAY": {
- "0": "\u05d9\u05d5\u05dd \u05e8\u05d0\u05e9\u05d5\u05df",
- "1": "\u05d9\u05d5\u05dd \u05e9\u05e0\u05d9",
- "2": "\u05d9\u05d5\u05dd \u05e9\u05dc\u05d9\u05e9\u05d9",
- "3": "\u05d9\u05d5\u05dd \u05e8\u05d1\u05d9\u05e2\u05d9",
- "4": "\u05d9\u05d5\u05dd \u05d7\u05de\u05d9\u05e9\u05d9",
- "5": "\u05d9\u05d5\u05dd \u05e9\u05d9\u05e9\u05d9",
- "6": "\u05d9\u05d5\u05dd \u05e9\u05d1\u05ea"
- },
- "MONTH": {
- "0": "\u05d9\u05e0\u05d5\u05d0\u05e8",
- "1": "\u05e4\u05d1\u05e8\u05d5\u05d0\u05e8",
- "2": "\u05de\u05e8\u05e5",
- "3": "\u05d0\u05e4\u05e8\u05d9\u05dc",
- "4": "\u05de\u05d0\u05d9",
- "5": "\u05d9\u05d5\u05e0\u05d9",
- "6": "\u05d9\u05d5\u05dc\u05d9",
- "7": "\u05d0\u05d5\u05d2\u05d5\u05e1\u05d8",
- "8": "\u05e1\u05e4\u05d8\u05de\u05d1\u05e8",
- "9": "\u05d0\u05d5\u05e7\u05d8\u05d5\u05d1\u05e8",
- "10": "\u05e0\u05d5\u05d1\u05de\u05d1\u05e8",
- "11": "\u05d3\u05e6\u05de\u05d1\u05e8"
- },
- "SHORTDAY": {
- "0": "\u05d9\u05d5\u05dd \u05d0\u05f3",
- "1": "\u05d9\u05d5\u05dd \u05d1\u05f3",
- "2": "\u05d9\u05d5\u05dd \u05d2\u05f3",
- "3": "\u05d9\u05d5\u05dd \u05d3\u05f3",
- "4": "\u05d9\u05d5\u05dd \u05d4\u05f3",
- "5": "\u05d9\u05d5\u05dd \u05d5\u05f3",
- "6": "\u05e9\u05d1\u05ea"
- },
- "SHORTMONTH": {
- "0": "\u05d9\u05e0\u05d5",
- "1": "\u05e4\u05d1\u05e8",
- "2": "\u05de\u05e8\u05e5",
- "3": "\u05d0\u05e4\u05e8",
- "4": "\u05de\u05d0\u05d9",
- "5": "\u05d9\u05d5\u05e0",
- "6": "\u05d9\u05d5\u05dc",
- "7": "\u05d0\u05d5\u05d2",
- "8": "\u05e1\u05e4\u05d8",
- "9": "\u05d0\u05d5\u05e7",
- "10": "\u05e0\u05d5\u05d1",
- "11": "\u05d3\u05e6\u05de"
- },
+ "AMPMS": [
+ "\u05dc\u05e4\u05e0\u05d4\u05f4\u05e6",
+ "\u05d0\u05d7\u05d4\u05f4\u05e6"
+ ],
+ "DAY": [
+ "\u05d9\u05d5\u05dd \u05e8\u05d0\u05e9\u05d5\u05df",
+ "\u05d9\u05d5\u05dd \u05e9\u05e0\u05d9",
+ "\u05d9\u05d5\u05dd \u05e9\u05dc\u05d9\u05e9\u05d9",
+ "\u05d9\u05d5\u05dd \u05e8\u05d1\u05d9\u05e2\u05d9",
+ "\u05d9\u05d5\u05dd \u05d7\u05de\u05d9\u05e9\u05d9",
+ "\u05d9\u05d5\u05dd \u05e9\u05d9\u05e9\u05d9",
+ "\u05d9\u05d5\u05dd \u05e9\u05d1\u05ea"
+ ],
+ "MONTH": [
+ "\u05d9\u05e0\u05d5\u05d0\u05e8",
+ "\u05e4\u05d1\u05e8\u05d5\u05d0\u05e8",
+ "\u05de\u05e8\u05e5",
+ "\u05d0\u05e4\u05e8\u05d9\u05dc",
+ "\u05de\u05d0\u05d9",
+ "\u05d9\u05d5\u05e0\u05d9",
+ "\u05d9\u05d5\u05dc\u05d9",
+ "\u05d0\u05d5\u05d2\u05d5\u05e1\u05d8",
+ "\u05e1\u05e4\u05d8\u05de\u05d1\u05e8",
+ "\u05d0\u05d5\u05e7\u05d8\u05d5\u05d1\u05e8",
+ "\u05e0\u05d5\u05d1\u05de\u05d1\u05e8",
+ "\u05d3\u05e6\u05de\u05d1\u05e8"
+ ],
+ "SHORTDAY": [
+ "\u05d9\u05d5\u05dd \u05d0\u05f3",
+ "\u05d9\u05d5\u05dd \u05d1\u05f3",
+ "\u05d9\u05d5\u05dd \u05d2\u05f3",
+ "\u05d9\u05d5\u05dd \u05d3\u05f3",
+ "\u05d9\u05d5\u05dd \u05d4\u05f3",
+ "\u05d9\u05d5\u05dd \u05d5\u05f3",
+ "\u05e9\u05d1\u05ea"
+ ],
+ "SHORTMONTH": [
+ "\u05d9\u05e0\u05d5",
+ "\u05e4\u05d1\u05e8",
+ "\u05de\u05e8\u05e5",
+ "\u05d0\u05e4\u05e8",
+ "\u05de\u05d0\u05d9",
+ "\u05d9\u05d5\u05e0",
+ "\u05d9\u05d5\u05dc",
+ "\u05d0\u05d5\u05d2",
+ "\u05e1\u05e4\u05d8",
+ "\u05d0\u05d5\u05e7",
+ "\u05e0\u05d5\u05d1",
+ "\u05d3\u05e6\u05de"
+ ],
"fullDate": "EEEE, d \u05d1MMMM y",
"longDate": "d \u05d1MMMM y",
"medium": "d \u05d1MMM yyyy HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20aa",
"DECIMAL_SEP": ".",
"GROUP_SEP": ",",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "iw",
"pluralCat": function (n) { return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ja-jp.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ja-jp.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ja-jp.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "\u5348\u524d",
- "1": "\u5348\u5f8c"
- },
- "DAY": {
- "0": "\u65e5\u66dc\u65e5",
- "1": "\u6708\u66dc\u65e5",
- "2": "\u706b\u66dc\u65e5",
- "3": "\u6c34\u66dc\u65e5",
- "4": "\u6728\u66dc\u65e5",
- "5": "\u91d1\u66dc\u65e5",
- "6": "\u571f\u66dc\u65e5"
- },
- "MONTH": {
- "0": "1\u6708",
- "1": "2\u6708",
- "2": "3\u6708",
- "3": "4\u6708",
- "4": "5\u6708",
- "5": "6\u6708",
- "6": "7\u6708",
- "7": "8\u6708",
- "8": "9\u6708",
- "9": "10\u6708",
- "10": "11\u6708",
- "11": "12\u6708"
- },
- "SHORTDAY": {
- "0": "\u65e5",
- "1": "\u6708",
- "2": "\u706b",
- "3": "\u6c34",
- "4": "\u6728",
- "5": "\u91d1",
- "6": "\u571f"
- },
- "SHORTMONTH": {
- "0": "1\u6708",
- "1": "2\u6708",
- "2": "3\u6708",
- "3": "4\u6708",
- "4": "5\u6708",
- "5": "6\u6708",
- "6": "7\u6708",
- "7": "8\u6708",
- "8": "9\u6708",
- "9": "10\u6708",
- "10": "11\u6708",
- "11": "12\u6708"
- },
+ "AMPMS": [
+ "\u5348\u524d",
+ "\u5348\u5f8c"
+ ],
+ "DAY": [
+ "\u65e5\u66dc\u65e5",
+ "\u6708\u66dc\u65e5",
+ "\u706b\u66dc\u65e5",
+ "\u6c34\u66dc\u65e5",
+ "\u6728\u66dc\u65e5",
+ "\u91d1\u66dc\u65e5",
+ "\u571f\u66dc\u65e5"
+ ],
+ "MONTH": [
+ "1\u6708",
+ "2\u6708",
+ "3\u6708",
+ "4\u6708",
+ "5\u6708",
+ "6\u6708",
+ "7\u6708",
+ "8\u6708",
+ "9\u6708",
+ "10\u6708",
+ "11\u6708",
+ "12\u6708"
+ ],
+ "SHORTDAY": [
+ "\u65e5",
+ "\u6708",
+ "\u706b",
+ "\u6c34",
+ "\u6728",
+ "\u91d1",
+ "\u571f"
+ ],
+ "SHORTMONTH": [
+ "1\u6708",
+ "2\u6708",
+ "3\u6708",
+ "4\u6708",
+ "5\u6708",
+ "6\u6708",
+ "7\u6708",
+ "8\u6708",
+ "9\u6708",
+ "10\u6708",
+ "11\u6708",
+ "12\u6708"
+ ],
"fullDate": "y\u5e74M\u6708d\u65e5EEEE",
"longDate": "y\u5e74M\u6708d\u65e5",
"medium": "yyyy/MM/dd H:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u00a5",
"DECIMAL_SEP": ".",
"GROUP_SEP": ",",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4",
"posSuf": ""
}
- }
+ ]
},
"id": "ja-jp",
"pluralCat": function (n) { return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ja.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ja.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ja.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "\u5348\u524d",
- "1": "\u5348\u5f8c"
- },
- "DAY": {
- "0": "\u65e5\u66dc\u65e5",
- "1": "\u6708\u66dc\u65e5",
- "2": "\u706b\u66dc\u65e5",
- "3": "\u6c34\u66dc\u65e5",
- "4": "\u6728\u66dc\u65e5",
- "5": "\u91d1\u66dc\u65e5",
- "6": "\u571f\u66dc\u65e5"
- },
- "MONTH": {
- "0": "1\u6708",
- "1": "2\u6708",
- "2": "3\u6708",
- "3": "4\u6708",
- "4": "5\u6708",
- "5": "6\u6708",
- "6": "7\u6708",
- "7": "8\u6708",
- "8": "9\u6708",
- "9": "10\u6708",
- "10": "11\u6708",
- "11": "12\u6708"
- },
- "SHORTDAY": {
- "0": "\u65e5",
- "1": "\u6708",
- "2": "\u706b",
- "3": "\u6c34",
- "4": "\u6728",
- "5": "\u91d1",
- "6": "\u571f"
- },
- "SHORTMONTH": {
- "0": "1\u6708",
- "1": "2\u6708",
- "2": "3\u6708",
- "3": "4\u6708",
- "4": "5\u6708",
- "5": "6\u6708",
- "6": "7\u6708",
- "7": "8\u6708",
- "8": "9\u6708",
- "9": "10\u6708",
- "10": "11\u6708",
- "11": "12\u6708"
- },
+ "AMPMS": [
+ "\u5348\u524d",
+ "\u5348\u5f8c"
+ ],
+ "DAY": [
+ "\u65e5\u66dc\u65e5",
+ "\u6708\u66dc\u65e5",
+ "\u706b\u66dc\u65e5",
+ "\u6c34\u66dc\u65e5",
+ "\u6728\u66dc\u65e5",
+ "\u91d1\u66dc\u65e5",
+ "\u571f\u66dc\u65e5"
+ ],
+ "MONTH": [
+ "1\u6708",
+ "2\u6708",
+ "3\u6708",
+ "4\u6708",
+ "5\u6708",
+ "6\u6708",
+ "7\u6708",
+ "8\u6708",
+ "9\u6708",
+ "10\u6708",
+ "11\u6708",
+ "12\u6708"
+ ],
+ "SHORTDAY": [
+ "\u65e5",
+ "\u6708",
+ "\u706b",
+ "\u6c34",
+ "\u6728",
+ "\u91d1",
+ "\u571f"
+ ],
+ "SHORTMONTH": [
+ "1\u6708",
+ "2\u6708",
+ "3\u6708",
+ "4\u6708",
+ "5\u6708",
+ "6\u6708",
+ "7\u6708",
+ "8\u6708",
+ "9\u6708",
+ "10\u6708",
+ "11\u6708",
+ "12\u6708"
+ ],
"fullDate": "y\u5e74M\u6708d\u65e5EEEE",
"longDate": "y\u5e74M\u6708d\u65e5",
"medium": "yyyy/MM/dd H:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u00a5",
"DECIMAL_SEP": ".",
"GROUP_SEP": ",",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4",
"posSuf": ""
}
- }
+ ]
},
"id": "ja",
"pluralCat": function (n) { return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_kn-in.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_kn-in.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_kn-in.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "am",
- "1": "pm"
- },
- "DAY": {
- "0": "\u0cb0\u0cb5\u0cbf\u0cb5\u0cbe\u0cb0",
- "1": "\u0cb8\u0ccb\u0cae\u0cb5\u0cbe\u0cb0",
- "2": "\u0cae\u0c82\u0c97\u0cb3\u0cb5\u0cbe\u0cb0",
- "3": "\u0cac\u0cc1\u0ca7\u0cb5\u0cbe\u0cb0",
- "4": "\u0c97\u0cc1\u0cb0\u0cc1\u0cb5\u0cbe\u0cb0",
- "5": "\u0cb6\u0cc1\u0c95\u0ccd\u0cb0\u0cb5\u0cbe\u0cb0",
- "6": "\u0cb6\u0ca8\u0cbf\u0cb5\u0cbe\u0cb0"
- },
- "MONTH": {
- "0": "\u0c9c\u0ca8\u0cb5\u0cb0\u0cc0",
- "1": "\u0cab\u0cc6\u0cac\u0ccd\u0cb0\u0cb5\u0cb0\u0cc0",
- "2": "\u0cae\u0cbe\u0cb0\u0ccd\u0c9a\u0ccd",
- "3": "\u0c8e\u0caa\u0ccd\u0cb0\u0cbf\u0cb2\u0ccd",
- "4": "\u0cae\u0cc6",
- "5": "\u0c9c\u0cc2\u0ca8\u0ccd",
- "6": "\u0c9c\u0cc1\u0cb2\u0cc8",
- "7": "\u0c86\u0c97\u0cb8\u0ccd\u0c9f\u0ccd",
- "8": "\u0cb8\u0caa\u0ccd\u0c9f\u0cc6\u0c82\u0cac\u0cb0\u0ccd",
- "9": "\u0c85\u0c95\u0ccd\u0c9f\u0ccb\u0cac\u0cb0\u0ccd",
- "10": "\u0ca8\u0cb5\u0cc6\u0c82\u0cac\u0cb0\u0ccd",
- "11": "\u0ca1\u0cbf\u0cb8\u0cc6\u0c82\u0cac\u0cb0\u0ccd"
- },
- "SHORTDAY": {
- "0": "\u0cb0.",
- "1": "\u0cb8\u0ccb.",
- "2": "\u0cae\u0c82.",
- "3": "\u0cac\u0cc1.",
- "4": "\u0c97\u0cc1.",
- "5": "\u0cb6\u0cc1.",
- "6": "\u0cb6\u0ca8\u0cbf."
- },
- "SHORTMONTH": {
- "0": "\u0c9c\u0ca8\u0cb5\u0cb0\u0cc0",
- "1": "\u0cab\u0cc6\u0cac\u0ccd\u0cb0\u0cb5\u0cb0\u0cc0",
- "2": "\u0cae\u0cbe\u0cb0\u0ccd\u0c9a\u0ccd",
- "3": "\u0c8e\u0caa\u0ccd\u0cb0\u0cbf\u0cb2\u0ccd",
- "4": "\u0cae\u0cc6",
- "5": "\u0c9c\u0cc2\u0ca8\u0ccd",
- "6": "\u0c9c\u0cc1\u0cb2\u0cc8",
- "7": "\u0c86\u0c97\u0cb8\u0ccd\u0c9f\u0ccd",
- "8": "\u0cb8\u0caa\u0ccd\u0c9f\u0cc6\u0c82\u0cac\u0cb0\u0ccd",
- "9": "\u0c85\u0c95\u0ccd\u0c9f\u0ccb\u0cac\u0cb0\u0ccd",
- "10": "\u0ca8\u0cb5\u0cc6\u0c82\u0cac\u0cb0\u0ccd",
- "11": "\u0ca1\u0cbf\u0cb8\u0cc6\u0c82\u0cac\u0cb0\u0ccd"
- },
+ "AMPMS": [
+ "am",
+ "pm"
+ ],
+ "DAY": [
+ "\u0cb0\u0cb5\u0cbf\u0cb5\u0cbe\u0cb0",
+ "\u0cb8\u0ccb\u0cae\u0cb5\u0cbe\u0cb0",
+ "\u0cae\u0c82\u0c97\u0cb3\u0cb5\u0cbe\u0cb0",
+ "\u0cac\u0cc1\u0ca7\u0cb5\u0cbe\u0cb0",
+ "\u0c97\u0cc1\u0cb0\u0cc1\u0cb5\u0cbe\u0cb0",
+ "\u0cb6\u0cc1\u0c95\u0ccd\u0cb0\u0cb5\u0cbe\u0cb0",
+ "\u0cb6\u0ca8\u0cbf\u0cb5\u0cbe\u0cb0"
+ ],
+ "MONTH": [
+ "\u0c9c\u0ca8\u0cb5\u0cb0\u0cc0",
+ "\u0cab\u0cc6\u0cac\u0ccd\u0cb0\u0cb5\u0cb0\u0cc0",
+ "\u0cae\u0cbe\u0cb0\u0ccd\u0c9a\u0ccd",
+ "\u0c8e\u0caa\u0ccd\u0cb0\u0cbf\u0cb2\u0ccd",
+ "\u0cae\u0cc6",
+ "\u0c9c\u0cc2\u0ca8\u0ccd",
+ "\u0c9c\u0cc1\u0cb2\u0cc8",
+ "\u0c86\u0c97\u0cb8\u0ccd\u0c9f\u0ccd",
+ "\u0cb8\u0caa\u0ccd\u0c9f\u0cc6\u0c82\u0cac\u0cb0\u0ccd",
+ "\u0c85\u0c95\u0ccd\u0c9f\u0ccb\u0cac\u0cb0\u0ccd",
+ "\u0ca8\u0cb5\u0cc6\u0c82\u0cac\u0cb0\u0ccd",
+ "\u0ca1\u0cbf\u0cb8\u0cc6\u0c82\u0cac\u0cb0\u0ccd"
+ ],
+ "SHORTDAY": [
+ "\u0cb0.",
+ "\u0cb8\u0ccb.",
+ "\u0cae\u0c82.",
+ "\u0cac\u0cc1.",
+ "\u0c97\u0cc1.",
+ "\u0cb6\u0cc1.",
+ "\u0cb6\u0ca8\u0cbf."
+ ],
+ "SHORTMONTH": [
+ "\u0c9c\u0ca8\u0cb5\u0cb0\u0cc0",
+ "\u0cab\u0cc6\u0cac\u0ccd\u0cb0\u0cb5\u0cb0\u0cc0",
+ "\u0cae\u0cbe\u0cb0\u0ccd\u0c9a\u0ccd",
+ "\u0c8e\u0caa\u0ccd\u0cb0\u0cbf\u0cb2\u0ccd",
+ "\u0cae\u0cc6",
+ "\u0c9c\u0cc2\u0ca8\u0ccd",
+ "\u0c9c\u0cc1\u0cb2\u0cc8",
+ "\u0c86\u0c97\u0cb8\u0ccd\u0c9f\u0ccd",
+ "\u0cb8\u0caa\u0ccd\u0c9f\u0cc6\u0c82\u0cac\u0cb0\u0ccd",
+ "\u0c85\u0c95\u0ccd\u0c9f\u0ccb\u0cac\u0cb0\u0ccd",
+ "\u0ca8\u0cb5\u0cc6\u0c82\u0cac\u0cb0\u0ccd",
+ "\u0ca1\u0cbf\u0cb8\u0cc6\u0c82\u0cac\u0cb0\u0ccd"
+ ],
"fullDate": "EEEE d MMMM y",
"longDate": "d MMMM y",
"medium": "d MMM y hh:mm:ss a",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20b9",
"DECIMAL_SEP": ".",
"GROUP_SEP": ",",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4",
"posSuf": ""
}
- }
+ ]
},
"id": "kn-in",
"pluralCat": function (n) { return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_kn.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_kn.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_kn.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "am",
- "1": "pm"
- },
- "DAY": {
- "0": "\u0cb0\u0cb5\u0cbf\u0cb5\u0cbe\u0cb0",
- "1": "\u0cb8\u0ccb\u0cae\u0cb5\u0cbe\u0cb0",
- "2": "\u0cae\u0c82\u0c97\u0cb3\u0cb5\u0cbe\u0cb0",
- "3": "\u0cac\u0cc1\u0ca7\u0cb5\u0cbe\u0cb0",
- "4": "\u0c97\u0cc1\u0cb0\u0cc1\u0cb5\u0cbe\u0cb0",
- "5": "\u0cb6\u0cc1\u0c95\u0ccd\u0cb0\u0cb5\u0cbe\u0cb0",
- "6": "\u0cb6\u0ca8\u0cbf\u0cb5\u0cbe\u0cb0"
- },
- "MONTH": {
- "0": "\u0c9c\u0ca8\u0cb5\u0cb0\u0cc0",
- "1": "\u0cab\u0cc6\u0cac\u0ccd\u0cb0\u0cb5\u0cb0\u0cc0",
- "2": "\u0cae\u0cbe\u0cb0\u0ccd\u0c9a\u0ccd",
- "3": "\u0c8e\u0caa\u0ccd\u0cb0\u0cbf\u0cb2\u0ccd",
- "4": "\u0cae\u0cc6",
- "5": "\u0c9c\u0cc2\u0ca8\u0ccd",
- "6": "\u0c9c\u0cc1\u0cb2\u0cc8",
- "7": "\u0c86\u0c97\u0cb8\u0ccd\u0c9f\u0ccd",
- "8": "\u0cb8\u0caa\u0ccd\u0c9f\u0cc6\u0c82\u0cac\u0cb0\u0ccd",
- "9": "\u0c85\u0c95\u0ccd\u0c9f\u0ccb\u0cac\u0cb0\u0ccd",
- "10": "\u0ca8\u0cb5\u0cc6\u0c82\u0cac\u0cb0\u0ccd",
- "11": "\u0ca1\u0cbf\u0cb8\u0cc6\u0c82\u0cac\u0cb0\u0ccd"
- },
- "SHORTDAY": {
- "0": "\u0cb0.",
- "1": "\u0cb8\u0ccb.",
- "2": "\u0cae\u0c82.",
- "3": "\u0cac\u0cc1.",
- "4": "\u0c97\u0cc1.",
- "5": "\u0cb6\u0cc1.",
- "6": "\u0cb6\u0ca8\u0cbf."
- },
- "SHORTMONTH": {
- "0": "\u0c9c\u0ca8\u0cb5\u0cb0\u0cc0",
- "1": "\u0cab\u0cc6\u0cac\u0ccd\u0cb0\u0cb5\u0cb0\u0cc0",
- "2": "\u0cae\u0cbe\u0cb0\u0ccd\u0c9a\u0ccd",
- "3": "\u0c8e\u0caa\u0ccd\u0cb0\u0cbf\u0cb2\u0ccd",
- "4": "\u0cae\u0cc6",
- "5": "\u0c9c\u0cc2\u0ca8\u0ccd",
- "6": "\u0c9c\u0cc1\u0cb2\u0cc8",
- "7": "\u0c86\u0c97\u0cb8\u0ccd\u0c9f\u0ccd",
- "8": "\u0cb8\u0caa\u0ccd\u0c9f\u0cc6\u0c82\u0cac\u0cb0\u0ccd",
- "9": "\u0c85\u0c95\u0ccd\u0c9f\u0ccb\u0cac\u0cb0\u0ccd",
- "10": "\u0ca8\u0cb5\u0cc6\u0c82\u0cac\u0cb0\u0ccd",
- "11": "\u0ca1\u0cbf\u0cb8\u0cc6\u0c82\u0cac\u0cb0\u0ccd"
- },
+ "AMPMS": [
+ "am",
+ "pm"
+ ],
+ "DAY": [
+ "\u0cb0\u0cb5\u0cbf\u0cb5\u0cbe\u0cb0",
+ "\u0cb8\u0ccb\u0cae\u0cb5\u0cbe\u0cb0",
+ "\u0cae\u0c82\u0c97\u0cb3\u0cb5\u0cbe\u0cb0",
+ "\u0cac\u0cc1\u0ca7\u0cb5\u0cbe\u0cb0",
+ "\u0c97\u0cc1\u0cb0\u0cc1\u0cb5\u0cbe\u0cb0",
+ "\u0cb6\u0cc1\u0c95\u0ccd\u0cb0\u0cb5\u0cbe\u0cb0",
+ "\u0cb6\u0ca8\u0cbf\u0cb5\u0cbe\u0cb0"
+ ],
+ "MONTH": [
+ "\u0c9c\u0ca8\u0cb5\u0cb0\u0cc0",
+ "\u0cab\u0cc6\u0cac\u0ccd\u0cb0\u0cb5\u0cb0\u0cc0",
+ "\u0cae\u0cbe\u0cb0\u0ccd\u0c9a\u0ccd",
+ "\u0c8e\u0caa\u0ccd\u0cb0\u0cbf\u0cb2\u0ccd",
+ "\u0cae\u0cc6",
+ "\u0c9c\u0cc2\u0ca8\u0ccd",
+ "\u0c9c\u0cc1\u0cb2\u0cc8",
+ "\u0c86\u0c97\u0cb8\u0ccd\u0c9f\u0ccd",
+ "\u0cb8\u0caa\u0ccd\u0c9f\u0cc6\u0c82\u0cac\u0cb0\u0ccd",
+ "\u0c85\u0c95\u0ccd\u0c9f\u0ccb\u0cac\u0cb0\u0ccd",
+ "\u0ca8\u0cb5\u0cc6\u0c82\u0cac\u0cb0\u0ccd",
+ "\u0ca1\u0cbf\u0cb8\u0cc6\u0c82\u0cac\u0cb0\u0ccd"
+ ],
+ "SHORTDAY": [
+ "\u0cb0.",
+ "\u0cb8\u0ccb.",
+ "\u0cae\u0c82.",
+ "\u0cac\u0cc1.",
+ "\u0c97\u0cc1.",
+ "\u0cb6\u0cc1.",
+ "\u0cb6\u0ca8\u0cbf."
+ ],
+ "SHORTMONTH": [
+ "\u0c9c\u0ca8\u0cb5\u0cb0\u0cc0",
+ "\u0cab\u0cc6\u0cac\u0ccd\u0cb0\u0cb5\u0cb0\u0cc0",
+ "\u0cae\u0cbe\u0cb0\u0ccd\u0c9a\u0ccd",
+ "\u0c8e\u0caa\u0ccd\u0cb0\u0cbf\u0cb2\u0ccd",
+ "\u0cae\u0cc6",
+ "\u0c9c\u0cc2\u0ca8\u0ccd",
+ "\u0c9c\u0cc1\u0cb2\u0cc8",
+ "\u0c86\u0c97\u0cb8\u0ccd\u0c9f\u0ccd",
+ "\u0cb8\u0caa\u0ccd\u0c9f\u0cc6\u0c82\u0cac\u0cb0\u0ccd",
+ "\u0c85\u0c95\u0ccd\u0c9f\u0ccb\u0cac\u0cb0\u0ccd",
+ "\u0ca8\u0cb5\u0cc6\u0c82\u0cac\u0cb0\u0ccd",
+ "\u0ca1\u0cbf\u0cb8\u0cc6\u0c82\u0cac\u0cb0\u0ccd"
+ ],
"fullDate": "EEEE d MMMM y",
"longDate": "d MMMM y",
"medium": "d MMM y hh:mm:ss a",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20b9",
"DECIMAL_SEP": ".",
"GROUP_SEP": ",",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4",
"posSuf": ""
}
- }
+ ]
},
"id": "kn",
"pluralCat": function (n) { return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ko-kr.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ko-kr.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ko-kr.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "\uc624\uc804",
- "1": "\uc624\ud6c4"
- },
- "DAY": {
- "0": "\uc77c\uc694\uc77c",
- "1": "\uc6d4\uc694\uc77c",
- "2": "\ud654\uc694\uc77c",
- "3": "\uc218\uc694\uc77c",
- "4": "\ubaa9\uc694\uc77c",
- "5": "\uae08\uc694\uc77c",
- "6": "\ud1a0\uc694\uc77c"
- },
- "MONTH": {
- "0": "1\uc6d4",
- "1": "2\uc6d4",
- "2": "3\uc6d4",
- "3": "4\uc6d4",
- "4": "5\uc6d4",
- "5": "6\uc6d4",
- "6": "7\uc6d4",
- "7": "8\uc6d4",
- "8": "9\uc6d4",
- "9": "10\uc6d4",
- "10": "11\uc6d4",
- "11": "12\uc6d4"
- },
- "SHORTDAY": {
- "0": "\uc77c",
- "1": "\uc6d4",
- "2": "\ud654",
- "3": "\uc218",
- "4": "\ubaa9",
- "5": "\uae08",
- "6": "\ud1a0"
- },
- "SHORTMONTH": {
- "0": "1\uc6d4",
- "1": "2\uc6d4",
- "2": "3\uc6d4",
- "3": "4\uc6d4",
- "4": "5\uc6d4",
- "5": "6\uc6d4",
- "6": "7\uc6d4",
- "7": "8\uc6d4",
- "8": "9\uc6d4",
- "9": "10\uc6d4",
- "10": "11\uc6d4",
- "11": "12\uc6d4"
- },
+ "AMPMS": [
+ "\uc624\uc804",
+ "\uc624\ud6c4"
+ ],
+ "DAY": [
+ "\uc77c\uc694\uc77c",
+ "\uc6d4\uc694\uc77c",
+ "\ud654\uc694\uc77c",
+ "\uc218\uc694\uc77c",
+ "\ubaa9\uc694\uc77c",
+ "\uae08\uc694\uc77c",
+ "\ud1a0\uc694\uc77c"
+ ],
+ "MONTH": [
+ "1\uc6d4",
+ "2\uc6d4",
+ "3\uc6d4",
+ "4\uc6d4",
+ "5\uc6d4",
+ "6\uc6d4",
+ "7\uc6d4",
+ "8\uc6d4",
+ "9\uc6d4",
+ "10\uc6d4",
+ "11\uc6d4",
+ "12\uc6d4"
+ ],
+ "SHORTDAY": [
+ "\uc77c",
+ "\uc6d4",
+ "\ud654",
+ "\uc218",
+ "\ubaa9",
+ "\uae08",
+ "\ud1a0"
+ ],
+ "SHORTMONTH": [
+ "1\uc6d4",
+ "2\uc6d4",
+ "3\uc6d4",
+ "4\uc6d4",
+ "5\uc6d4",
+ "6\uc6d4",
+ "7\uc6d4",
+ "8\uc6d4",
+ "9\uc6d4",
+ "10\uc6d4",
+ "11\uc6d4",
+ "12\uc6d4"
+ ],
"fullDate": "y\ub144 M\uc6d4 d\uc77c EEEE",
"longDate": "y\ub144 M\uc6d4 d\uc77c",
"medium": "yyyy. M. d. a h:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20a9",
"DECIMAL_SEP": ".",
"GROUP_SEP": ",",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4",
"posSuf": ""
}
- }
+ ]
},
"id": "ko-kr",
"pluralCat": function (n) { return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ko.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ko.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ko.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "\uc624\uc804",
- "1": "\uc624\ud6c4"
- },
- "DAY": {
- "0": "\uc77c\uc694\uc77c",
- "1": "\uc6d4\uc694\uc77c",
- "2": "\ud654\uc694\uc77c",
- "3": "\uc218\uc694\uc77c",
- "4": "\ubaa9\uc694\uc77c",
- "5": "\uae08\uc694\uc77c",
- "6": "\ud1a0\uc694\uc77c"
- },
- "MONTH": {
- "0": "1\uc6d4",
- "1": "2\uc6d4",
- "2": "3\uc6d4",
- "3": "4\uc6d4",
- "4": "5\uc6d4",
- "5": "6\uc6d4",
- "6": "7\uc6d4",
- "7": "8\uc6d4",
- "8": "9\uc6d4",
- "9": "10\uc6d4",
- "10": "11\uc6d4",
- "11": "12\uc6d4"
- },
- "SHORTDAY": {
- "0": "\uc77c",
- "1": "\uc6d4",
- "2": "\ud654",
- "3": "\uc218",
- "4": "\ubaa9",
- "5": "\uae08",
- "6": "\ud1a0"
- },
- "SHORTMONTH": {
- "0": "1\uc6d4",
- "1": "2\uc6d4",
- "2": "3\uc6d4",
- "3": "4\uc6d4",
- "4": "5\uc6d4",
- "5": "6\uc6d4",
- "6": "7\uc6d4",
- "7": "8\uc6d4",
- "8": "9\uc6d4",
- "9": "10\uc6d4",
- "10": "11\uc6d4",
- "11": "12\uc6d4"
- },
+ "AMPMS": [
+ "\uc624\uc804",
+ "\uc624\ud6c4"
+ ],
+ "DAY": [
+ "\uc77c\uc694\uc77c",
+ "\uc6d4\uc694\uc77c",
+ "\ud654\uc694\uc77c",
+ "\uc218\uc694\uc77c",
+ "\ubaa9\uc694\uc77c",
+ "\uae08\uc694\uc77c",
+ "\ud1a0\uc694\uc77c"
+ ],
+ "MONTH": [
+ "1\uc6d4",
+ "2\uc6d4",
+ "3\uc6d4",
+ "4\uc6d4",
+ "5\uc6d4",
+ "6\uc6d4",
+ "7\uc6d4",
+ "8\uc6d4",
+ "9\uc6d4",
+ "10\uc6d4",
+ "11\uc6d4",
+ "12\uc6d4"
+ ],
+ "SHORTDAY": [
+ "\uc77c",
+ "\uc6d4",
+ "\ud654",
+ "\uc218",
+ "\ubaa9",
+ "\uae08",
+ "\ud1a0"
+ ],
+ "SHORTMONTH": [
+ "1\uc6d4",
+ "2\uc6d4",
+ "3\uc6d4",
+ "4\uc6d4",
+ "5\uc6d4",
+ "6\uc6d4",
+ "7\uc6d4",
+ "8\uc6d4",
+ "9\uc6d4",
+ "10\uc6d4",
+ "11\uc6d4",
+ "12\uc6d4"
+ ],
"fullDate": "y\ub144 M\uc6d4 d\uc77c EEEE",
"longDate": "y\ub144 M\uc6d4 d\uc77c",
"medium": "yyyy. M. d. a h:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20a9",
"DECIMAL_SEP": ".",
"GROUP_SEP": ",",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4",
"posSuf": ""
}
- }
+ ]
},
"id": "ko",
"pluralCat": function (n) { return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ln-cd.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ln-cd.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ln-cd.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "nt\u0254\u0301ng\u0254\u0301",
- "1": "mp\u00f3kwa"
- },
- "DAY": {
- "0": "eyenga",
- "1": "mok\u0254l\u0254 mwa yambo",
- "2": "mok\u0254l\u0254 mwa m\u00edbal\u00e9",
- "3": "mok\u0254l\u0254 mwa m\u00eds\u00e1to",
- "4": "mok\u0254l\u0254 ya m\u00edn\u00e9i",
- "5": "mok\u0254l\u0254 ya m\u00edt\u00e1no",
- "6": "mp\u0254\u0301s\u0254"
- },
- "MONTH": {
- "0": "s\u00e1nz\u00e1 ya yambo",
- "1": "s\u00e1nz\u00e1 ya m\u00edbal\u00e9",
- "2": "s\u00e1nz\u00e1 ya m\u00eds\u00e1to",
- "3": "s\u00e1nz\u00e1 ya m\u00ednei",
- "4": "s\u00e1nz\u00e1 ya m\u00edt\u00e1no",
- "5": "s\u00e1nz\u00e1 ya mot\u00f3b\u00e1",
- "6": "s\u00e1nz\u00e1 ya nsambo",
- "7": "s\u00e1nz\u00e1 ya mwambe",
- "8": "s\u00e1nz\u00e1 ya libwa",
- "9": "s\u00e1nz\u00e1 ya z\u00f3mi",
- "10": "s\u00e1nz\u00e1 ya z\u00f3mi na m\u0254\u030ck\u0254\u0301",
- "11": "s\u00e1nz\u00e1 ya z\u00f3mi na m\u00edbal\u00e9"
- },
- "SHORTDAY": {
- "0": "eye",
- "1": "ybo",
- "2": "mbl",
- "3": "mst",
- "4": "min",
- "5": "mtn",
- "6": "mps"
- },
- "SHORTMONTH": {
- "0": "yan",
- "1": "fbl",
- "2": "msi",
- "3": "apl",
- "4": "mai",
- "5": "yun",
- "6": "yul",
- "7": "agt",
- "8": "stb",
- "9": "\u0254tb",
- "10": "nvb",
- "11": "dsb"
- },
+ "AMPMS": [
+ "nt\u0254\u0301ng\u0254\u0301",
+ "mp\u00f3kwa"
+ ],
+ "DAY": [
+ "eyenga",
+ "mok\u0254l\u0254 mwa yambo",
+ "mok\u0254l\u0254 mwa m\u00edbal\u00e9",
+ "mok\u0254l\u0254 mwa m\u00eds\u00e1to",
+ "mok\u0254l\u0254 ya m\u00edn\u00e9i",
+ "mok\u0254l\u0254 ya m\u00edt\u00e1no",
+ "mp\u0254\u0301s\u0254"
+ ],
+ "MONTH": [
+ "s\u00e1nz\u00e1 ya yambo",
+ "s\u00e1nz\u00e1 ya m\u00edbal\u00e9",
+ "s\u00e1nz\u00e1 ya m\u00eds\u00e1to",
+ "s\u00e1nz\u00e1 ya m\u00ednei",
+ "s\u00e1nz\u00e1 ya m\u00edt\u00e1no",
+ "s\u00e1nz\u00e1 ya mot\u00f3b\u00e1",
+ "s\u00e1nz\u00e1 ya nsambo",
+ "s\u00e1nz\u00e1 ya mwambe",
+ "s\u00e1nz\u00e1 ya libwa",
+ "s\u00e1nz\u00e1 ya z\u00f3mi",
+ "s\u00e1nz\u00e1 ya z\u00f3mi na m\u0254\u030ck\u0254\u0301",
+ "s\u00e1nz\u00e1 ya z\u00f3mi na m\u00edbal\u00e9"
+ ],
+ "SHORTDAY": [
+ "eye",
+ "ybo",
+ "mbl",
+ "mst",
+ "min",
+ "mtn",
+ "mps"
+ ],
+ "SHORTMONTH": [
+ "yan",
+ "fbl",
+ "msi",
+ "apl",
+ "mai",
+ "yun",
+ "yul",
+ "agt",
+ "stb",
+ "\u0254tb",
+ "nvb",
+ "dsb"
+ ],
"fullDate": "EEEE d MMMM y",
"longDate": "d MMMM y",
"medium": "d MMM y HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "FrCD",
"DECIMAL_SEP": ",",
"GROUP_SEP": ".",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "ln-cd",
"pluralCat": function (n) { if (n == 0 || n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ln.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ln.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ln.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "nt\u0254\u0301ng\u0254\u0301",
- "1": "mp\u00f3kwa"
- },
- "DAY": {
- "0": "eyenga",
- "1": "mok\u0254l\u0254 mwa yambo",
- "2": "mok\u0254l\u0254 mwa m\u00edbal\u00e9",
- "3": "mok\u0254l\u0254 mwa m\u00eds\u00e1to",
- "4": "mok\u0254l\u0254 ya m\u00edn\u00e9i",
- "5": "mok\u0254l\u0254 ya m\u00edt\u00e1no",
- "6": "mp\u0254\u0301s\u0254"
- },
- "MONTH": {
- "0": "s\u00e1nz\u00e1 ya yambo",
- "1": "s\u00e1nz\u00e1 ya m\u00edbal\u00e9",
- "2": "s\u00e1nz\u00e1 ya m\u00eds\u00e1to",
- "3": "s\u00e1nz\u00e1 ya m\u00ednei",
- "4": "s\u00e1nz\u00e1 ya m\u00edt\u00e1no",
- "5": "s\u00e1nz\u00e1 ya mot\u00f3b\u00e1",
- "6": "s\u00e1nz\u00e1 ya nsambo",
- "7": "s\u00e1nz\u00e1 ya mwambe",
- "8": "s\u00e1nz\u00e1 ya libwa",
- "9": "s\u00e1nz\u00e1 ya z\u00f3mi",
- "10": "s\u00e1nz\u00e1 ya z\u00f3mi na m\u0254\u030ck\u0254\u0301",
- "11": "s\u00e1nz\u00e1 ya z\u00f3mi na m\u00edbal\u00e9"
- },
- "SHORTDAY": {
- "0": "eye",
- "1": "ybo",
- "2": "mbl",
- "3": "mst",
- "4": "min",
- "5": "mtn",
- "6": "mps"
- },
- "SHORTMONTH": {
- "0": "yan",
- "1": "fbl",
- "2": "msi",
- "3": "apl",
- "4": "mai",
- "5": "yun",
- "6": "yul",
- "7": "agt",
- "8": "stb",
- "9": "\u0254tb",
- "10": "nvb",
- "11": "dsb"
- },
+ "AMPMS": [
+ "nt\u0254\u0301ng\u0254\u0301",
+ "mp\u00f3kwa"
+ ],
+ "DAY": [
+ "eyenga",
+ "mok\u0254l\u0254 mwa yambo",
+ "mok\u0254l\u0254 mwa m\u00edbal\u00e9",
+ "mok\u0254l\u0254 mwa m\u00eds\u00e1to",
+ "mok\u0254l\u0254 ya m\u00edn\u00e9i",
+ "mok\u0254l\u0254 ya m\u00edt\u00e1no",
+ "mp\u0254\u0301s\u0254"
+ ],
+ "MONTH": [
+ "s\u00e1nz\u00e1 ya yambo",
+ "s\u00e1nz\u00e1 ya m\u00edbal\u00e9",
+ "s\u00e1nz\u00e1 ya m\u00eds\u00e1to",
+ "s\u00e1nz\u00e1 ya m\u00ednei",
+ "s\u00e1nz\u00e1 ya m\u00edt\u00e1no",
+ "s\u00e1nz\u00e1 ya mot\u00f3b\u00e1",
+ "s\u00e1nz\u00e1 ya nsambo",
+ "s\u00e1nz\u00e1 ya mwambe",
+ "s\u00e1nz\u00e1 ya libwa",
+ "s\u00e1nz\u00e1 ya z\u00f3mi",
+ "s\u00e1nz\u00e1 ya z\u00f3mi na m\u0254\u030ck\u0254\u0301",
+ "s\u00e1nz\u00e1 ya z\u00f3mi na m\u00edbal\u00e9"
+ ],
+ "SHORTDAY": [
+ "eye",
+ "ybo",
+ "mbl",
+ "mst",
+ "min",
+ "mtn",
+ "mps"
+ ],
+ "SHORTMONTH": [
+ "yan",
+ "fbl",
+ "msi",
+ "apl",
+ "mai",
+ "yun",
+ "yul",
+ "agt",
+ "stb",
+ "\u0254tb",
+ "nvb",
+ "dsb"
+ ],
"fullDate": "EEEE d MMMM y",
"longDate": "d MMMM y",
"medium": "d MMM y HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "FrCD",
"DECIMAL_SEP": ",",
"GROUP_SEP": ".",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "ln",
"pluralCat": function (n) { if (n == 0 || n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_lt-lt.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_lt-lt.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_lt-lt.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "prie\u0161piet",
- "1": "popiet"
- },
- "DAY": {
- "0": "sekmadienis",
- "1": "pirmadienis",
- "2": "antradienis",
- "3": "tre\u010diadienis",
- "4": "ketvirtadienis",
- "5": "penktadienis",
- "6": "\u0161e\u0161tadienis"
- },
- "MONTH": {
- "0": "sausio",
- "1": "vasaris",
- "2": "kovas",
- "3": "balandis",
- "4": "gegu\u017e\u0117",
- "5": "bir\u017eelis",
- "6": "liepa",
- "7": "rugpj\u016btis",
- "8": "rugs\u0117jis",
- "9": "spalis",
- "10": "lapkritis",
- "11": "gruodis"
- },
- "SHORTDAY": {
- "0": "Sk",
- "1": "Pr",
- "2": "An",
- "3": "Tr",
- "4": "Kt",
- "5": "Pn",
- "6": "\u0160t"
- },
- "SHORTMONTH": {
- "0": "Saus.",
- "1": "Vas",
- "2": "Kov.",
- "3": "Bal.",
- "4": "Geg.",
- "5": "Bir.",
- "6": "Liep.",
- "7": "Rugp.",
- "8": "Rugs.",
- "9": "Spal.",
- "10": "Lapkr.",
- "11": "Gruod."
- },
+ "AMPMS": [
+ "prie\u0161piet",
+ "popiet"
+ ],
+ "DAY": [
+ "sekmadienis",
+ "pirmadienis",
+ "antradienis",
+ "tre\u010diadienis",
+ "ketvirtadienis",
+ "penktadienis",
+ "\u0161e\u0161tadienis"
+ ],
+ "MONTH": [
+ "sausio",
+ "vasaris",
+ "kovas",
+ "balandis",
+ "gegu\u017e\u0117",
+ "bir\u017eelis",
+ "liepa",
+ "rugpj\u016btis",
+ "rugs\u0117jis",
+ "spalis",
+ "lapkritis",
+ "gruodis"
+ ],
+ "SHORTDAY": [
+ "Sk",
+ "Pr",
+ "An",
+ "Tr",
+ "Kt",
+ "Pn",
+ "\u0160t"
+ ],
+ "SHORTMONTH": [
+ "Saus.",
+ "Vas",
+ "Kov.",
+ "Bal.",
+ "Geg.",
+ "Bir.",
+ "Liep.",
+ "Rugp.",
+ "Rugs.",
+ "Spal.",
+ "Lapkr.",
+ "Gruod."
+ ],
"fullDate": "y 'm'. MMMM d 'd'., EEEE",
"longDate": "y 'm'. MMMM d 'd'.",
"medium": "y MMM d HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "Lt",
"DECIMAL_SEP": ",",
"GROUP_SEP": "\u00a0",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "lt-lt",
"pluralCat": function (n) { if (n % 10 == 1 && (n % 100 < 11 || n % 100 > 19)) { return PLURAL_CATEGORY.ONE; } if (n == (n | 0) && n % 10 >= 2 && n % 10 <= 9 && (n % 100 < 11 || n % 100 > 19)) { return PLURAL_CATEGORY.FEW; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_lt.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_lt.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_lt.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "prie\u0161piet",
- "1": "popiet"
- },
- "DAY": {
- "0": "sekmadienis",
- "1": "pirmadienis",
- "2": "antradienis",
- "3": "tre\u010diadienis",
- "4": "ketvirtadienis",
- "5": "penktadienis",
- "6": "\u0161e\u0161tadienis"
- },
- "MONTH": {
- "0": "sausio",
- "1": "vasaris",
- "2": "kovas",
- "3": "balandis",
- "4": "gegu\u017e\u0117",
- "5": "bir\u017eelis",
- "6": "liepa",
- "7": "rugpj\u016btis",
- "8": "rugs\u0117jis",
- "9": "spalis",
- "10": "lapkritis",
- "11": "gruodis"
- },
- "SHORTDAY": {
- "0": "Sk",
- "1": "Pr",
- "2": "An",
- "3": "Tr",
- "4": "Kt",
- "5": "Pn",
- "6": "\u0160t"
- },
- "SHORTMONTH": {
- "0": "Saus.",
- "1": "Vas",
- "2": "Kov.",
- "3": "Bal.",
- "4": "Geg.",
- "5": "Bir.",
- "6": "Liep.",
- "7": "Rugp.",
- "8": "Rugs.",
- "9": "Spal.",
- "10": "Lapkr.",
- "11": "Gruod."
- },
+ "AMPMS": [
+ "prie\u0161piet",
+ "popiet"
+ ],
+ "DAY": [
+ "sekmadienis",
+ "pirmadienis",
+ "antradienis",
+ "tre\u010diadienis",
+ "ketvirtadienis",
+ "penktadienis",
+ "\u0161e\u0161tadienis"
+ ],
+ "MONTH": [
+ "sausio",
+ "vasaris",
+ "kovas",
+ "balandis",
+ "gegu\u017e\u0117",
+ "bir\u017eelis",
+ "liepa",
+ "rugpj\u016btis",
+ "rugs\u0117jis",
+ "spalis",
+ "lapkritis",
+ "gruodis"
+ ],
+ "SHORTDAY": [
+ "Sk",
+ "Pr",
+ "An",
+ "Tr",
+ "Kt",
+ "Pn",
+ "\u0160t"
+ ],
+ "SHORTMONTH": [
+ "Saus.",
+ "Vas",
+ "Kov.",
+ "Bal.",
+ "Geg.",
+ "Bir.",
+ "Liep.",
+ "Rugp.",
+ "Rugs.",
+ "Spal.",
+ "Lapkr.",
+ "Gruod."
+ ],
"fullDate": "y 'm'. MMMM d 'd'., EEEE",
"longDate": "y 'm'. MMMM d 'd'.",
"medium": "y MMM d HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "Lt",
"DECIMAL_SEP": ",",
"GROUP_SEP": "\u00a0",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "lt",
"pluralCat": function (n) { if (n % 10 == 1 && (n % 100 < 11 || n % 100 > 19)) { return PLURAL_CATEGORY.ONE; } if (n == (n | 0) && n % 10 >= 2 && n % 10 <= 9 && (n % 100 < 11 || n % 100 > 19)) { return PLURAL_CATEGORY.FEW; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_lv-lv.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_lv-lv.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_lv-lv.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "priek\u0161pusdien\u0101",
- "1": "p\u0113cpusdien\u0101"
- },
- "DAY": {
- "0": "sv\u0113tdiena",
- "1": "pirmdiena",
- "2": "otrdiena",
- "3": "tre\u0161diena",
- "4": "ceturtdiena",
- "5": "piektdiena",
- "6": "sestdiena"
- },
- "MONTH": {
- "0": "janv\u0101ris",
- "1": "febru\u0101ris",
- "2": "marts",
- "3": "apr\u012blis",
- "4": "maijs",
- "5": "j\u016bnijs",
- "6": "j\u016blijs",
- "7": "augusts",
- "8": "septembris",
- "9": "oktobris",
- "10": "novembris",
- "11": "decembris"
- },
- "SHORTDAY": {
- "0": "Sv",
- "1": "Pr",
- "2": "Ot",
- "3": "Tr",
- "4": "Ce",
- "5": "Pk",
- "6": "Se"
- },
- "SHORTMONTH": {
- "0": "janv.",
- "1": "febr.",
- "2": "marts",
- "3": "apr.",
- "4": "maijs",
- "5": "j\u016bn.",
- "6": "j\u016bl.",
- "7": "aug.",
- "8": "sept.",
- "9": "okt.",
- "10": "nov.",
- "11": "dec."
- },
+ "AMPMS": [
+ "priek\u0161pusdien\u0101",
+ "p\u0113cpusdien\u0101"
+ ],
+ "DAY": [
+ "sv\u0113tdiena",
+ "pirmdiena",
+ "otrdiena",
+ "tre\u0161diena",
+ "ceturtdiena",
+ "piektdiena",
+ "sestdiena"
+ ],
+ "MONTH": [
+ "janv\u0101ris",
+ "febru\u0101ris",
+ "marts",
+ "apr\u012blis",
+ "maijs",
+ "j\u016bnijs",
+ "j\u016blijs",
+ "augusts",
+ "septembris",
+ "oktobris",
+ "novembris",
+ "decembris"
+ ],
+ "SHORTDAY": [
+ "Sv",
+ "Pr",
+ "Ot",
+ "Tr",
+ "Ce",
+ "Pk",
+ "Se"
+ ],
+ "SHORTMONTH": [
+ "janv.",
+ "febr.",
+ "marts",
+ "apr.",
+ "maijs",
+ "j\u016bn.",
+ "j\u016bl.",
+ "aug.",
+ "sept.",
+ "okt.",
+ "nov.",
+ "dec."
+ ],
"fullDate": "EEEE, y. 'gada' d. MMMM",
"longDate": "y. 'gada' d. MMMM",
"medium": "y. 'gada' d. MMM HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "Ls",
"DECIMAL_SEP": ",",
"GROUP_SEP": "\u00a0",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4",
"posSuf": ""
}
- }
+ ]
},
"id": "lv-lv",
"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;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_lv.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_lv.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_lv.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "priek\u0161pusdien\u0101",
- "1": "p\u0113cpusdien\u0101"
- },
- "DAY": {
- "0": "sv\u0113tdiena",
- "1": "pirmdiena",
- "2": "otrdiena",
- "3": "tre\u0161diena",
- "4": "ceturtdiena",
- "5": "piektdiena",
- "6": "sestdiena"
- },
- "MONTH": {
- "0": "janv\u0101ris",
- "1": "febru\u0101ris",
- "2": "marts",
- "3": "apr\u012blis",
- "4": "maijs",
- "5": "j\u016bnijs",
- "6": "j\u016blijs",
- "7": "augusts",
- "8": "septembris",
- "9": "oktobris",
- "10": "novembris",
- "11": "decembris"
- },
- "SHORTDAY": {
- "0": "Sv",
- "1": "Pr",
- "2": "Ot",
- "3": "Tr",
- "4": "Ce",
- "5": "Pk",
- "6": "Se"
- },
- "SHORTMONTH": {
- "0": "janv.",
- "1": "febr.",
- "2": "marts",
- "3": "apr.",
- "4": "maijs",
- "5": "j\u016bn.",
- "6": "j\u016bl.",
- "7": "aug.",
- "8": "sept.",
- "9": "okt.",
- "10": "nov.",
- "11": "dec."
- },
+ "AMPMS": [
+ "priek\u0161pusdien\u0101",
+ "p\u0113cpusdien\u0101"
+ ],
+ "DAY": [
+ "sv\u0113tdiena",
+ "pirmdiena",
+ "otrdiena",
+ "tre\u0161diena",
+ "ceturtdiena",
+ "piektdiena",
+ "sestdiena"
+ ],
+ "MONTH": [
+ "janv\u0101ris",
+ "febru\u0101ris",
+ "marts",
+ "apr\u012blis",
+ "maijs",
+ "j\u016bnijs",
+ "j\u016blijs",
+ "augusts",
+ "septembris",
+ "oktobris",
+ "novembris",
+ "decembris"
+ ],
+ "SHORTDAY": [
+ "Sv",
+ "Pr",
+ "Ot",
+ "Tr",
+ "Ce",
+ "Pk",
+ "Se"
+ ],
+ "SHORTMONTH": [
+ "janv.",
+ "febr.",
+ "marts",
+ "apr.",
+ "maijs",
+ "j\u016bn.",
+ "j\u016bl.",
+ "aug.",
+ "sept.",
+ "okt.",
+ "nov.",
+ "dec."
+ ],
"fullDate": "EEEE, y. 'gada' d. MMMM",
"longDate": "y. 'gada' d. MMMM",
"medium": "y. 'gada' d. MMM HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "Ls",
"DECIMAL_SEP": ",",
"GROUP_SEP": "\u00a0",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4",
"posSuf": ""
}
- }
+ ]
},
"id": "lv",
"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;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ml-in.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ml-in.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ml-in.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "am",
- "1": "pm"
- },
- "DAY": {
- "0": "\u0d1e\u0d3e\u0d2f\u0d31\u0d3e\u0d34\u0d4d\u0d1a",
- "1": "\u0d24\u0d3f\u0d19\u0d4d\u0d15\u0d33\u0d3e\u0d34\u0d4d\u0d1a",
- "2": "\u0d1a\u0d4a\u0d35\u0d4d\u0d35\u0d3e\u0d34\u0d4d\u0d1a",
- "3": "\u0d2c\u0d41\u0d27\u0d28\u0d3e\u0d34\u0d4d\u0d1a",
- "4": "\u0d35\u0d4d\u0d2f\u0d3e\u0d34\u0d3e\u0d34\u0d4d\u0d1a",
- "5": "\u0d35\u0d46\u0d33\u0d4d\u0d33\u0d3f\u0d2f\u0d3e\u0d34\u0d4d\u0d1a",
- "6": "\u0d36\u0d28\u0d3f\u0d2f\u0d3e\u0d34\u0d4d\u0d1a"
- },
- "MONTH": {
- "0": "\u0d1c\u0d28\u0d41\u0d35\u0d30\u0d3f",
- "1": "\u0d2b\u0d46\u0d2c\u0d4d\u0d30\u0d41\u0d35\u0d30\u0d3f",
- "2": "\u0d2e\u0d3e\u0d30\u0d4d\u200d\u0d1a\u0d4d\u0d1a\u0d4d",
- "3": "\u0d0f\u0d2a\u0d4d\u0d30\u0d3f\u0d32\u0d4d\u200d",
- "4": "\u0d2e\u0d47\u0d2f\u0d4d",
- "5": "\u0d1c\u0d42\u0d23\u0d4d\u200d",
- "6": "\u0d1c\u0d42\u0d32\u0d48",
- "7": "\u0d06\u0d17\u0d38\u0d4d\u0d31\u0d4d\u0d31\u0d4d",
- "8": "\u0d38\u0d46\u0d2a\u0d4d\u0d31\u0d4d\u0d31\u0d02\u0d2c\u0d30\u0d4d\u200d",
- "9": "\u0d12\u0d15\u0d4d\u0d1f\u0d4b\u0d2c\u0d30\u0d4d\u200d",
- "10": "\u0d28\u0d35\u0d02\u0d2c\u0d30\u0d4d\u200d",
- "11": "\u0d21\u0d3f\u0d38\u0d02\u0d2c\u0d30\u0d4d\u200d"
- },
- "SHORTDAY": {
- "0": "\u0d1e\u0d3e\u0d2f\u0d30\u0d4d\u200d",
- "1": "\u0d24\u0d3f\u0d19\u0d4d\u0d15\u0d33\u0d4d\u200d",
- "2": "\u0d1a\u0d4a\u0d35\u0d4d\u0d35",
- "3": "\u0d2c\u0d41\u0d27\u0d28\u0d4d\u200d",
- "4": "\u0d35\u0d4d\u0d2f\u0d3e\u0d34\u0d02",
- "5": "\u0d35\u0d46\u0d33\u0d4d\u0d33\u0d3f",
- "6": "\u0d36\u0d28\u0d3f"
- },
- "SHORTMONTH": {
- "0": "\u0d1c\u0d28\u0d41",
- "1": "\u0d2b\u0d46\u0d2c\u0d4d\u0d30\u0d41",
- "2": "\u0d2e\u0d3e\u0d30\u0d4d\u200d",
- "3": "\u0d0f\u0d2a\u0d4d\u0d30\u0d3f",
- "4": "\u0d2e\u0d47\u0d2f\u0d4d",
- "5": "\u0d1c\u0d42\u0d23\u0d4d\u200d",
- "6": "\u0d1c\u0d42\u0d32\u0d48",
- "7": "\u0d13\u0d17",
- "8": "\u0d38\u0d46\u0d2a\u0d4d\u0d31\u0d4d\u0d31\u0d02",
- "9": "\u0d12\u0d15\u0d4d\u0d1f\u0d4b",
- "10": "\u0d28\u0d35\u0d02",
- "11": "\u0d21\u0d3f\u0d38\u0d02"
- },
+ "AMPMS": [
+ "am",
+ "pm"
+ ],
+ "DAY": [
+ "\u0d1e\u0d3e\u0d2f\u0d31\u0d3e\u0d34\u0d4d\u0d1a",
+ "\u0d24\u0d3f\u0d19\u0d4d\u0d15\u0d33\u0d3e\u0d34\u0d4d\u0d1a",
+ "\u0d1a\u0d4a\u0d35\u0d4d\u0d35\u0d3e\u0d34\u0d4d\u0d1a",
+ "\u0d2c\u0d41\u0d27\u0d28\u0d3e\u0d34\u0d4d\u0d1a",
+ "\u0d35\u0d4d\u0d2f\u0d3e\u0d34\u0d3e\u0d34\u0d4d\u0d1a",
+ "\u0d35\u0d46\u0d33\u0d4d\u0d33\u0d3f\u0d2f\u0d3e\u0d34\u0d4d\u0d1a",
+ "\u0d36\u0d28\u0d3f\u0d2f\u0d3e\u0d34\u0d4d\u0d1a"
+ ],
+ "MONTH": [
+ "\u0d1c\u0d28\u0d41\u0d35\u0d30\u0d3f",
+ "\u0d2b\u0d46\u0d2c\u0d4d\u0d30\u0d41\u0d35\u0d30\u0d3f",
+ "\u0d2e\u0d3e\u0d30\u0d4d\u200d\u0d1a\u0d4d\u0d1a\u0d4d",
+ "\u0d0f\u0d2a\u0d4d\u0d30\u0d3f\u0d32\u0d4d\u200d",
+ "\u0d2e\u0d47\u0d2f\u0d4d",
+ "\u0d1c\u0d42\u0d23\u0d4d\u200d",
+ "\u0d1c\u0d42\u0d32\u0d48",
+ "\u0d06\u0d17\u0d38\u0d4d\u0d31\u0d4d\u0d31\u0d4d",
+ "\u0d38\u0d46\u0d2a\u0d4d\u0d31\u0d4d\u0d31\u0d02\u0d2c\u0d30\u0d4d\u200d",
+ "\u0d12\u0d15\u0d4d\u0d1f\u0d4b\u0d2c\u0d30\u0d4d\u200d",
+ "\u0d28\u0d35\u0d02\u0d2c\u0d30\u0d4d\u200d",
+ "\u0d21\u0d3f\u0d38\u0d02\u0d2c\u0d30\u0d4d\u200d"
+ ],
+ "SHORTDAY": [
+ "\u0d1e\u0d3e\u0d2f\u0d30\u0d4d\u200d",
+ "\u0d24\u0d3f\u0d19\u0d4d\u0d15\u0d33\u0d4d\u200d",
+ "\u0d1a\u0d4a\u0d35\u0d4d\u0d35",
+ "\u0d2c\u0d41\u0d27\u0d28\u0d4d\u200d",
+ "\u0d35\u0d4d\u0d2f\u0d3e\u0d34\u0d02",
+ "\u0d35\u0d46\u0d33\u0d4d\u0d33\u0d3f",
+ "\u0d36\u0d28\u0d3f"
+ ],
+ "SHORTMONTH": [
+ "\u0d1c\u0d28\u0d41",
+ "\u0d2b\u0d46\u0d2c\u0d4d\u0d30\u0d41",
+ "\u0d2e\u0d3e\u0d30\u0d4d\u200d",
+ "\u0d0f\u0d2a\u0d4d\u0d30\u0d3f",
+ "\u0d2e\u0d47\u0d2f\u0d4d",
+ "\u0d1c\u0d42\u0d23\u0d4d\u200d",
+ "\u0d1c\u0d42\u0d32\u0d48",
+ "\u0d13\u0d17",
+ "\u0d38\u0d46\u0d2a\u0d4d\u0d31\u0d4d\u0d31\u0d02",
+ "\u0d12\u0d15\u0d4d\u0d1f\u0d4b",
+ "\u0d28\u0d35\u0d02",
+ "\u0d21\u0d3f\u0d38\u0d02"
+ ],
"fullDate": "y, MMMM d, EEEE",
"longDate": "y, MMMM d",
"medium": "y, MMM d h:mm:ss a",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20b9",
"DECIMAL_SEP": ".",
"GROUP_SEP": ",",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 2,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 2,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a4"
}
- }
+ ]
},
"id": "ml-in",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ml.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ml.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ml.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "am",
- "1": "pm"
- },
- "DAY": {
- "0": "\u0d1e\u0d3e\u0d2f\u0d31\u0d3e\u0d34\u0d4d\u0d1a",
- "1": "\u0d24\u0d3f\u0d19\u0d4d\u0d15\u0d33\u0d3e\u0d34\u0d4d\u0d1a",
- "2": "\u0d1a\u0d4a\u0d35\u0d4d\u0d35\u0d3e\u0d34\u0d4d\u0d1a",
- "3": "\u0d2c\u0d41\u0d27\u0d28\u0d3e\u0d34\u0d4d\u0d1a",
- "4": "\u0d35\u0d4d\u0d2f\u0d3e\u0d34\u0d3e\u0d34\u0d4d\u0d1a",
- "5": "\u0d35\u0d46\u0d33\u0d4d\u0d33\u0d3f\u0d2f\u0d3e\u0d34\u0d4d\u0d1a",
- "6": "\u0d36\u0d28\u0d3f\u0d2f\u0d3e\u0d34\u0d4d\u0d1a"
- },
- "MONTH": {
- "0": "\u0d1c\u0d28\u0d41\u0d35\u0d30\u0d3f",
- "1": "\u0d2b\u0d46\u0d2c\u0d4d\u0d30\u0d41\u0d35\u0d30\u0d3f",
- "2": "\u0d2e\u0d3e\u0d30\u0d4d\u200d\u0d1a\u0d4d\u0d1a\u0d4d",
- "3": "\u0d0f\u0d2a\u0d4d\u0d30\u0d3f\u0d32\u0d4d\u200d",
- "4": "\u0d2e\u0d47\u0d2f\u0d4d",
- "5": "\u0d1c\u0d42\u0d23\u0d4d\u200d",
- "6": "\u0d1c\u0d42\u0d32\u0d48",
- "7": "\u0d06\u0d17\u0d38\u0d4d\u0d31\u0d4d\u0d31\u0d4d",
- "8": "\u0d38\u0d46\u0d2a\u0d4d\u0d31\u0d4d\u0d31\u0d02\u0d2c\u0d30\u0d4d\u200d",
- "9": "\u0d12\u0d15\u0d4d\u0d1f\u0d4b\u0d2c\u0d30\u0d4d\u200d",
- "10": "\u0d28\u0d35\u0d02\u0d2c\u0d30\u0d4d\u200d",
- "11": "\u0d21\u0d3f\u0d38\u0d02\u0d2c\u0d30\u0d4d\u200d"
- },
- "SHORTDAY": {
- "0": "\u0d1e\u0d3e\u0d2f\u0d30\u0d4d\u200d",
- "1": "\u0d24\u0d3f\u0d19\u0d4d\u0d15\u0d33\u0d4d\u200d",
- "2": "\u0d1a\u0d4a\u0d35\u0d4d\u0d35",
- "3": "\u0d2c\u0d41\u0d27\u0d28\u0d4d\u200d",
- "4": "\u0d35\u0d4d\u0d2f\u0d3e\u0d34\u0d02",
- "5": "\u0d35\u0d46\u0d33\u0d4d\u0d33\u0d3f",
- "6": "\u0d36\u0d28\u0d3f"
- },
- "SHORTMONTH": {
- "0": "\u0d1c\u0d28\u0d41",
- "1": "\u0d2b\u0d46\u0d2c\u0d4d\u0d30\u0d41",
- "2": "\u0d2e\u0d3e\u0d30\u0d4d\u200d",
- "3": "\u0d0f\u0d2a\u0d4d\u0d30\u0d3f",
- "4": "\u0d2e\u0d47\u0d2f\u0d4d",
- "5": "\u0d1c\u0d42\u0d23\u0d4d\u200d",
- "6": "\u0d1c\u0d42\u0d32\u0d48",
- "7": "\u0d13\u0d17",
- "8": "\u0d38\u0d46\u0d2a\u0d4d\u0d31\u0d4d\u0d31\u0d02",
- "9": "\u0d12\u0d15\u0d4d\u0d1f\u0d4b",
- "10": "\u0d28\u0d35\u0d02",
- "11": "\u0d21\u0d3f\u0d38\u0d02"
- },
+ "AMPMS": [
+ "am",
+ "pm"
+ ],
+ "DAY": [
+ "\u0d1e\u0d3e\u0d2f\u0d31\u0d3e\u0d34\u0d4d\u0d1a",
+ "\u0d24\u0d3f\u0d19\u0d4d\u0d15\u0d33\u0d3e\u0d34\u0d4d\u0d1a",
+ "\u0d1a\u0d4a\u0d35\u0d4d\u0d35\u0d3e\u0d34\u0d4d\u0d1a",
+ "\u0d2c\u0d41\u0d27\u0d28\u0d3e\u0d34\u0d4d\u0d1a",
+ "\u0d35\u0d4d\u0d2f\u0d3e\u0d34\u0d3e\u0d34\u0d4d\u0d1a",
+ "\u0d35\u0d46\u0d33\u0d4d\u0d33\u0d3f\u0d2f\u0d3e\u0d34\u0d4d\u0d1a",
+ "\u0d36\u0d28\u0d3f\u0d2f\u0d3e\u0d34\u0d4d\u0d1a"
+ ],
+ "MONTH": [
+ "\u0d1c\u0d28\u0d41\u0d35\u0d30\u0d3f",
+ "\u0d2b\u0d46\u0d2c\u0d4d\u0d30\u0d41\u0d35\u0d30\u0d3f",
+ "\u0d2e\u0d3e\u0d30\u0d4d\u200d\u0d1a\u0d4d\u0d1a\u0d4d",
+ "\u0d0f\u0d2a\u0d4d\u0d30\u0d3f\u0d32\u0d4d\u200d",
+ "\u0d2e\u0d47\u0d2f\u0d4d",
+ "\u0d1c\u0d42\u0d23\u0d4d\u200d",
+ "\u0d1c\u0d42\u0d32\u0d48",
+ "\u0d06\u0d17\u0d38\u0d4d\u0d31\u0d4d\u0d31\u0d4d",
+ "\u0d38\u0d46\u0d2a\u0d4d\u0d31\u0d4d\u0d31\u0d02\u0d2c\u0d30\u0d4d\u200d",
+ "\u0d12\u0d15\u0d4d\u0d1f\u0d4b\u0d2c\u0d30\u0d4d\u200d",
+ "\u0d28\u0d35\u0d02\u0d2c\u0d30\u0d4d\u200d",
+ "\u0d21\u0d3f\u0d38\u0d02\u0d2c\u0d30\u0d4d\u200d"
+ ],
+ "SHORTDAY": [
+ "\u0d1e\u0d3e\u0d2f\u0d30\u0d4d\u200d",
+ "\u0d24\u0d3f\u0d19\u0d4d\u0d15\u0d33\u0d4d\u200d",
+ "\u0d1a\u0d4a\u0d35\u0d4d\u0d35",
+ "\u0d2c\u0d41\u0d27\u0d28\u0d4d\u200d",
+ "\u0d35\u0d4d\u0d2f\u0d3e\u0d34\u0d02",
+ "\u0d35\u0d46\u0d33\u0d4d\u0d33\u0d3f",
+ "\u0d36\u0d28\u0d3f"
+ ],
+ "SHORTMONTH": [
+ "\u0d1c\u0d28\u0d41",
+ "\u0d2b\u0d46\u0d2c\u0d4d\u0d30\u0d41",
+ "\u0d2e\u0d3e\u0d30\u0d4d\u200d",
+ "\u0d0f\u0d2a\u0d4d\u0d30\u0d3f",
+ "\u0d2e\u0d47\u0d2f\u0d4d",
+ "\u0d1c\u0d42\u0d23\u0d4d\u200d",
+ "\u0d1c\u0d42\u0d32\u0d48",
+ "\u0d13\u0d17",
+ "\u0d38\u0d46\u0d2a\u0d4d\u0d31\u0d4d\u0d31\u0d02",
+ "\u0d12\u0d15\u0d4d\u0d1f\u0d4b",
+ "\u0d28\u0d35\u0d02",
+ "\u0d21\u0d3f\u0d38\u0d02"
+ ],
"fullDate": "y, MMMM d, EEEE",
"longDate": "y, MMMM d",
"medium": "y, MMM d h:mm:ss a",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20b9",
"DECIMAL_SEP": ".",
"GROUP_SEP": ",",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 2,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 2,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a4"
}
- }
+ ]
},
"id": "ml",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_mr-in.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_mr-in.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_mr-in.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "am",
- "1": "pm"
- },
- "DAY": {
- "0": "\u0930\u0935\u093f\u0935\u093e\u0930",
- "1": "\u0938\u094b\u092e\u0935\u093e\u0930",
- "2": "\u092e\u0902\u0917\u0933\u0935\u093e\u0930",
- "3": "\u092c\u0941\u0927\u0935\u093e\u0930",
- "4": "\u0917\u0941\u0930\u0941\u0935\u093e\u0930",
- "5": "\u0936\u0941\u0915\u094d\u0930\u0935\u093e\u0930",
- "6": "\u0936\u0928\u093f\u0935\u093e\u0930"
- },
- "MONTH": {
- "0": "\u091c\u093e\u0928\u0947\u0935\u093e\u0930\u0940",
- "1": "\u092b\u0947\u092c\u094d\u0930\u0941\u0935\u093e\u0930\u0940",
- "2": "\u092e\u093e\u0930\u094d\u091a",
- "3": "\u090f\u092a\u094d\u0930\u093f\u0932",
- "4": "\u092e\u0947",
- "5": "\u091c\u0942\u0928",
- "6": "\u091c\u0941\u0932\u0948",
- "7": "\u0911\u0917\u0938\u094d\u091f",
- "8": "\u0938\u092a\u094d\u091f\u0947\u0902\u092c\u0930",
- "9": "\u0911\u0915\u094d\u091f\u094b\u092c\u0930",
- "10": "\u0928\u094b\u0935\u094d\u0939\u0947\u0902\u092c\u0930",
- "11": "\u0921\u093f\u0938\u0947\u0902\u092c\u0930"
- },
- "SHORTDAY": {
- "0": "\u0930\u0935\u093f",
- "1": "\u0938\u094b\u092e",
- "2": "\u092e\u0902\u0917\u0933",
- "3": "\u092c\u0941\u0927",
- "4": "\u0917\u0941\u0930\u0941",
- "5": "\u0936\u0941\u0915\u094d\u0930",
- "6": "\u0936\u0928\u093f"
- },
- "SHORTMONTH": {
- "0": "\u091c\u093e\u0928\u0947",
- "1": "\u092b\u0947\u092c\u094d\u0930\u0941",
- "2": "\u092e\u093e\u0930\u094d\u091a",
- "3": "\u090f\u092a\u094d\u0930\u093f",
- "4": "\u092e\u0947",
- "5": "\u091c\u0942\u0928",
- "6": "\u091c\u0941\u0932\u0948",
- "7": "\u0911\u0917",
- "8": "\u0938\u0947\u092a\u094d\u091f\u0947\u0902",
- "9": "\u0911\u0915\u094d\u091f\u094b\u092c\u0930",
- "10": "\u0928\u094b\u0935\u094d\u0939\u0947\u0902",
- "11": "\u0921\u093f\u0938\u0947\u0902"
- },
+ "AMPMS": [
+ "am",
+ "pm"
+ ],
+ "DAY": [
+ "\u0930\u0935\u093f\u0935\u093e\u0930",
+ "\u0938\u094b\u092e\u0935\u093e\u0930",
+ "\u092e\u0902\u0917\u0933\u0935\u093e\u0930",
+ "\u092c\u0941\u0927\u0935\u093e\u0930",
+ "\u0917\u0941\u0930\u0941\u0935\u093e\u0930",
+ "\u0936\u0941\u0915\u094d\u0930\u0935\u093e\u0930",
+ "\u0936\u0928\u093f\u0935\u093e\u0930"
+ ],
+ "MONTH": [
+ "\u091c\u093e\u0928\u0947\u0935\u093e\u0930\u0940",
+ "\u092b\u0947\u092c\u094d\u0930\u0941\u0935\u093e\u0930\u0940",
+ "\u092e\u093e\u0930\u094d\u091a",
+ "\u090f\u092a\u094d\u0930\u093f\u0932",
+ "\u092e\u0947",
+ "\u091c\u0942\u0928",
+ "\u091c\u0941\u0932\u0948",
+ "\u0911\u0917\u0938\u094d\u091f",
+ "\u0938\u092a\u094d\u091f\u0947\u0902\u092c\u0930",
+ "\u0911\u0915\u094d\u091f\u094b\u092c\u0930",
+ "\u0928\u094b\u0935\u094d\u0939\u0947\u0902\u092c\u0930",
+ "\u0921\u093f\u0938\u0947\u0902\u092c\u0930"
+ ],
+ "SHORTDAY": [
+ "\u0930\u0935\u093f",
+ "\u0938\u094b\u092e",
+ "\u092e\u0902\u0917\u0933",
+ "\u092c\u0941\u0927",
+ "\u0917\u0941\u0930\u0941",
+ "\u0936\u0941\u0915\u094d\u0930",
+ "\u0936\u0928\u093f"
+ ],
+ "SHORTMONTH": [
+ "\u091c\u093e\u0928\u0947",
+ "\u092b\u0947\u092c\u094d\u0930\u0941",
+ "\u092e\u093e\u0930\u094d\u091a",
+ "\u090f\u092a\u094d\u0930\u093f",
+ "\u092e\u0947",
+ "\u091c\u0942\u0928",
+ "\u091c\u0941\u0932\u0948",
+ "\u0911\u0917",
+ "\u0938\u0947\u092a\u094d\u091f\u0947\u0902",
+ "\u0911\u0915\u094d\u091f\u094b\u092c\u0930",
+ "\u0928\u094b\u0935\u094d\u0939\u0947\u0902",
+ "\u0921\u093f\u0938\u0947\u0902"
+ ],
"fullDate": "EEEE d MMMM y",
"longDate": "d MMMM y",
"medium": "d MMM y h-mm-ss a",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20b9",
"DECIMAL_SEP": ".",
"GROUP_SEP": ",",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4",
"posSuf": ""
}
- }
+ ]
},
"id": "mr-in",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_mr.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_mr.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_mr.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "am",
- "1": "pm"
- },
- "DAY": {
- "0": "\u0930\u0935\u093f\u0935\u093e\u0930",
- "1": "\u0938\u094b\u092e\u0935\u093e\u0930",
- "2": "\u092e\u0902\u0917\u0933\u0935\u093e\u0930",
- "3": "\u092c\u0941\u0927\u0935\u093e\u0930",
- "4": "\u0917\u0941\u0930\u0941\u0935\u093e\u0930",
- "5": "\u0936\u0941\u0915\u094d\u0930\u0935\u093e\u0930",
- "6": "\u0936\u0928\u093f\u0935\u093e\u0930"
- },
- "MONTH": {
- "0": "\u091c\u093e\u0928\u0947\u0935\u093e\u0930\u0940",
- "1": "\u092b\u0947\u092c\u094d\u0930\u0941\u0935\u093e\u0930\u0940",
- "2": "\u092e\u093e\u0930\u094d\u091a",
- "3": "\u090f\u092a\u094d\u0930\u093f\u0932",
- "4": "\u092e\u0947",
- "5": "\u091c\u0942\u0928",
- "6": "\u091c\u0941\u0932\u0948",
- "7": "\u0911\u0917\u0938\u094d\u091f",
- "8": "\u0938\u092a\u094d\u091f\u0947\u0902\u092c\u0930",
- "9": "\u0911\u0915\u094d\u091f\u094b\u092c\u0930",
- "10": "\u0928\u094b\u0935\u094d\u0939\u0947\u0902\u092c\u0930",
- "11": "\u0921\u093f\u0938\u0947\u0902\u092c\u0930"
- },
- "SHORTDAY": {
- "0": "\u0930\u0935\u093f",
- "1": "\u0938\u094b\u092e",
- "2": "\u092e\u0902\u0917\u0933",
- "3": "\u092c\u0941\u0927",
- "4": "\u0917\u0941\u0930\u0941",
- "5": "\u0936\u0941\u0915\u094d\u0930",
- "6": "\u0936\u0928\u093f"
- },
- "SHORTMONTH": {
- "0": "\u091c\u093e\u0928\u0947",
- "1": "\u092b\u0947\u092c\u094d\u0930\u0941",
- "2": "\u092e\u093e\u0930\u094d\u091a",
- "3": "\u090f\u092a\u094d\u0930\u093f",
- "4": "\u092e\u0947",
- "5": "\u091c\u0942\u0928",
- "6": "\u091c\u0941\u0932\u0948",
- "7": "\u0911\u0917",
- "8": "\u0938\u0947\u092a\u094d\u091f\u0947\u0902",
- "9": "\u0911\u0915\u094d\u091f\u094b\u092c\u0930",
- "10": "\u0928\u094b\u0935\u094d\u0939\u0947\u0902",
- "11": "\u0921\u093f\u0938\u0947\u0902"
- },
+ "AMPMS": [
+ "am",
+ "pm"
+ ],
+ "DAY": [
+ "\u0930\u0935\u093f\u0935\u093e\u0930",
+ "\u0938\u094b\u092e\u0935\u093e\u0930",
+ "\u092e\u0902\u0917\u0933\u0935\u093e\u0930",
+ "\u092c\u0941\u0927\u0935\u093e\u0930",
+ "\u0917\u0941\u0930\u0941\u0935\u093e\u0930",
+ "\u0936\u0941\u0915\u094d\u0930\u0935\u093e\u0930",
+ "\u0936\u0928\u093f\u0935\u093e\u0930"
+ ],
+ "MONTH": [
+ "\u091c\u093e\u0928\u0947\u0935\u093e\u0930\u0940",
+ "\u092b\u0947\u092c\u094d\u0930\u0941\u0935\u093e\u0930\u0940",
+ "\u092e\u093e\u0930\u094d\u091a",
+ "\u090f\u092a\u094d\u0930\u093f\u0932",
+ "\u092e\u0947",
+ "\u091c\u0942\u0928",
+ "\u091c\u0941\u0932\u0948",
+ "\u0911\u0917\u0938\u094d\u091f",
+ "\u0938\u092a\u094d\u091f\u0947\u0902\u092c\u0930",
+ "\u0911\u0915\u094d\u091f\u094b\u092c\u0930",
+ "\u0928\u094b\u0935\u094d\u0939\u0947\u0902\u092c\u0930",
+ "\u0921\u093f\u0938\u0947\u0902\u092c\u0930"
+ ],
+ "SHORTDAY": [
+ "\u0930\u0935\u093f",
+ "\u0938\u094b\u092e",
+ "\u092e\u0902\u0917\u0933",
+ "\u092c\u0941\u0927",
+ "\u0917\u0941\u0930\u0941",
+ "\u0936\u0941\u0915\u094d\u0930",
+ "\u0936\u0928\u093f"
+ ],
+ "SHORTMONTH": [
+ "\u091c\u093e\u0928\u0947",
+ "\u092b\u0947\u092c\u094d\u0930\u0941",
+ "\u092e\u093e\u0930\u094d\u091a",
+ "\u090f\u092a\u094d\u0930\u093f",
+ "\u092e\u0947",
+ "\u091c\u0942\u0928",
+ "\u091c\u0941\u0932\u0948",
+ "\u0911\u0917",
+ "\u0938\u0947\u092a\u094d\u091f\u0947\u0902",
+ "\u0911\u0915\u094d\u091f\u094b\u092c\u0930",
+ "\u0928\u094b\u0935\u094d\u0939\u0947\u0902",
+ "\u0921\u093f\u0938\u0947\u0902"
+ ],
"fullDate": "EEEE d MMMM y",
"longDate": "d MMMM y",
"medium": "d MMM y h-mm-ss a",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20b9",
"DECIMAL_SEP": ".",
"GROUP_SEP": ",",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4",
"posSuf": ""
}
- }
+ ]
},
"id": "mr",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ms-my.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ms-my.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ms-my.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "PG",
- "1": "PTG"
- },
- "DAY": {
- "0": "Ahad",
- "1": "Isnin",
- "2": "Selasa",
- "3": "Rabu",
- "4": "Khamis",
- "5": "Jumaat",
- "6": "Sabtu"
- },
- "MONTH": {
- "0": "Januari",
- "1": "Februari",
- "2": "Mac",
- "3": "April",
- "4": "Mei",
- "5": "Jun",
- "6": "Julai",
- "7": "Ogos",
- "8": "September",
- "9": "Oktober",
- "10": "November",
- "11": "Disember"
- },
- "SHORTDAY": {
- "0": "Ahd",
- "1": "Isn",
- "2": "Sel",
- "3": "Rab",
- "4": "Kha",
- "5": "Jum",
- "6": "Sab"
- },
- "SHORTMONTH": {
- "0": "Jan",
- "1": "Feb",
- "2": "Mac",
- "3": "Apr",
- "4": "Mei",
- "5": "Jun",
- "6": "Jul",
- "7": "Ogos",
- "8": "Sep",
- "9": "Okt",
- "10": "Nov",
- "11": "Dis"
- },
+ "AMPMS": [
+ "PG",
+ "PTG"
+ ],
+ "DAY": [
+ "Ahad",
+ "Isnin",
+ "Selasa",
+ "Rabu",
+ "Khamis",
+ "Jumaat",
+ "Sabtu"
+ ],
+ "MONTH": [
+ "Januari",
+ "Februari",
+ "Mac",
+ "April",
+ "Mei",
+ "Jun",
+ "Julai",
+ "Ogos",
+ "September",
+ "Oktober",
+ "November",
+ "Disember"
+ ],
+ "SHORTDAY": [
+ "Ahd",
+ "Isn",
+ "Sel",
+ "Rab",
+ "Kha",
+ "Jum",
+ "Sab"
+ ],
+ "SHORTMONTH": [
+ "Jan",
+ "Feb",
+ "Mac",
+ "Apr",
+ "Mei",
+ "Jun",
+ "Jul",
+ "Ogos",
+ "Sep",
+ "Okt",
+ "Nov",
+ "Dis"
+ ],
"fullDate": "EEEE, d MMMM y",
"longDate": "d MMMM y",
"medium": "dd/MM/yyyy h:mm:ss a",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "RM",
"DECIMAL_SEP": ".",
"GROUP_SEP": ",",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4",
"posSuf": ""
}
- }
+ ]
},
"id": "ms-my",
"pluralCat": function (n) { return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ms.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ms.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ms.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "PG",
- "1": "PTG"
- },
- "DAY": {
- "0": "Ahad",
- "1": "Isnin",
- "2": "Selasa",
- "3": "Rabu",
- "4": "Khamis",
- "5": "Jumaat",
- "6": "Sabtu"
- },
- "MONTH": {
- "0": "Januari",
- "1": "Februari",
- "2": "Mac",
- "3": "April",
- "4": "Mei",
- "5": "Jun",
- "6": "Julai",
- "7": "Ogos",
- "8": "September",
- "9": "Oktober",
- "10": "November",
- "11": "Disember"
- },
- "SHORTDAY": {
- "0": "Ahd",
- "1": "Isn",
- "2": "Sel",
- "3": "Rab",
- "4": "Kha",
- "5": "Jum",
- "6": "Sab"
- },
- "SHORTMONTH": {
- "0": "Jan",
- "1": "Feb",
- "2": "Mac",
- "3": "Apr",
- "4": "Mei",
- "5": "Jun",
- "6": "Jul",
- "7": "Ogos",
- "8": "Sep",
- "9": "Okt",
- "10": "Nov",
- "11": "Dis"
- },
+ "AMPMS": [
+ "PG",
+ "PTG"
+ ],
+ "DAY": [
+ "Ahad",
+ "Isnin",
+ "Selasa",
+ "Rabu",
+ "Khamis",
+ "Jumaat",
+ "Sabtu"
+ ],
+ "MONTH": [
+ "Januari",
+ "Februari",
+ "Mac",
+ "April",
+ "Mei",
+ "Jun",
+ "Julai",
+ "Ogos",
+ "September",
+ "Oktober",
+ "November",
+ "Disember"
+ ],
+ "SHORTDAY": [
+ "Ahd",
+ "Isn",
+ "Sel",
+ "Rab",
+ "Kha",
+ "Jum",
+ "Sab"
+ ],
+ "SHORTMONTH": [
+ "Jan",
+ "Feb",
+ "Mac",
+ "Apr",
+ "Mei",
+ "Jun",
+ "Jul",
+ "Ogos",
+ "Sep",
+ "Okt",
+ "Nov",
+ "Dis"
+ ],
"fullDate": "EEEE, d MMMM y",
"longDate": "d MMMM y",
"medium": "dd/MM/yyyy h:mm:ss a",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "RM",
"DECIMAL_SEP": ".",
"GROUP_SEP": ",",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4",
"posSuf": ""
}
- }
+ ]
},
"id": "ms",
"pluralCat": function (n) { return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_mt-mt.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_mt-mt.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_mt-mt.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "QN",
- "1": "WN"
- },
- "DAY": {
- "0": "Il-\u0126add",
- "1": "It-Tnejn",
- "2": "It-Tlieta",
- "3": "L-Erbg\u0127a",
- "4": "Il-\u0126amis",
- "5": "Il-\u0120img\u0127a",
- "6": "Is-Sibt"
- },
- "MONTH": {
- "0": "Jannar",
- "1": "Frar",
- "2": "Marzu",
- "3": "April",
- "4": "Mejju",
- "5": "\u0120unju",
- "6": "Lulju",
- "7": "Awwissu",
- "8": "Settembru",
- "9": "Ottubru",
- "10": "Novembru",
- "11": "Di\u010bembru"
- },
- "SHORTDAY": {
- "0": "\u0126ad",
- "1": "Tne",
- "2": "Tli",
- "3": "Erb",
- "4": "\u0126am",
- "5": "\u0120im",
- "6": "Sib"
- },
- "SHORTMONTH": {
- "0": "Jan",
- "1": "Fra",
- "2": "Mar",
- "3": "Apr",
- "4": "Mej",
- "5": "\u0120un",
- "6": "Lul",
- "7": "Aww",
- "8": "Set",
- "9": "Ott",
- "10": "Nov",
- "11": "Di\u010b"
- },
+ "AMPMS": [
+ "QN",
+ "WN"
+ ],
+ "DAY": [
+ "Il-\u0126add",
+ "It-Tnejn",
+ "It-Tlieta",
+ "L-Erbg\u0127a",
+ "Il-\u0126amis",
+ "Il-\u0120img\u0127a",
+ "Is-Sibt"
+ ],
+ "MONTH": [
+ "Jannar",
+ "Frar",
+ "Marzu",
+ "April",
+ "Mejju",
+ "\u0120unju",
+ "Lulju",
+ "Awwissu",
+ "Settembru",
+ "Ottubru",
+ "Novembru",
+ "Di\u010bembru"
+ ],
+ "SHORTDAY": [
+ "\u0126ad",
+ "Tne",
+ "Tli",
+ "Erb",
+ "\u0126am",
+ "\u0120im",
+ "Sib"
+ ],
+ "SHORTMONTH": [
+ "Jan",
+ "Fra",
+ "Mar",
+ "Apr",
+ "Mej",
+ "\u0120un",
+ "Lul",
+ "Aww",
+ "Set",
+ "Ott",
+ "Nov",
+ "Di\u010b"
+ ],
"fullDate": "EEEE, d 'ta'\u2019 MMMM y",
"longDate": "d 'ta'\u2019 MMMM y",
"medium": "dd MMM y HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20ac",
"DECIMAL_SEP": ".",
"GROUP_SEP": ",",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4",
"posSuf": ""
}
- }
+ ]
},
"id": "mt-mt",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } if (n == 0 || n == (n | 0) && n % 100 >= 2 && n % 100 <= 10) { return PLURAL_CATEGORY.FEW; } if (n == (n | 0) && n % 100 >= 11 && n % 100 <= 19) { return PLURAL_CATEGORY.MANY; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_mt.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_mt.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_mt.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "QN",
- "1": "WN"
- },
- "DAY": {
- "0": "Il-\u0126add",
- "1": "It-Tnejn",
- "2": "It-Tlieta",
- "3": "L-Erbg\u0127a",
- "4": "Il-\u0126amis",
- "5": "Il-\u0120img\u0127a",
- "6": "Is-Sibt"
- },
- "MONTH": {
- "0": "Jannar",
- "1": "Frar",
- "2": "Marzu",
- "3": "April",
- "4": "Mejju",
- "5": "\u0120unju",
- "6": "Lulju",
- "7": "Awwissu",
- "8": "Settembru",
- "9": "Ottubru",
- "10": "Novembru",
- "11": "Di\u010bembru"
- },
- "SHORTDAY": {
- "0": "\u0126ad",
- "1": "Tne",
- "2": "Tli",
- "3": "Erb",
- "4": "\u0126am",
- "5": "\u0120im",
- "6": "Sib"
- },
- "SHORTMONTH": {
- "0": "Jan",
- "1": "Fra",
- "2": "Mar",
- "3": "Apr",
- "4": "Mej",
- "5": "\u0120un",
- "6": "Lul",
- "7": "Aww",
- "8": "Set",
- "9": "Ott",
- "10": "Nov",
- "11": "Di\u010b"
- },
+ "AMPMS": [
+ "QN",
+ "WN"
+ ],
+ "DAY": [
+ "Il-\u0126add",
+ "It-Tnejn",
+ "It-Tlieta",
+ "L-Erbg\u0127a",
+ "Il-\u0126amis",
+ "Il-\u0120img\u0127a",
+ "Is-Sibt"
+ ],
+ "MONTH": [
+ "Jannar",
+ "Frar",
+ "Marzu",
+ "April",
+ "Mejju",
+ "\u0120unju",
+ "Lulju",
+ "Awwissu",
+ "Settembru",
+ "Ottubru",
+ "Novembru",
+ "Di\u010bembru"
+ ],
+ "SHORTDAY": [
+ "\u0126ad",
+ "Tne",
+ "Tli",
+ "Erb",
+ "\u0126am",
+ "\u0120im",
+ "Sib"
+ ],
+ "SHORTMONTH": [
+ "Jan",
+ "Fra",
+ "Mar",
+ "Apr",
+ "Mej",
+ "\u0120un",
+ "Lul",
+ "Aww",
+ "Set",
+ "Ott",
+ "Nov",
+ "Di\u010b"
+ ],
"fullDate": "EEEE, d 'ta'\u2019 MMMM y",
"longDate": "d 'ta'\u2019 MMMM y",
"medium": "dd MMM y HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20ac",
"DECIMAL_SEP": ".",
"GROUP_SEP": ",",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4",
"posSuf": ""
}
- }
+ ]
},
"id": "mt",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } if (n == 0 || n == (n | 0) && n % 100 >= 2 && n % 100 <= 10) { return PLURAL_CATEGORY.FEW; } if (n == (n | 0) && n % 100 >= 11 && n % 100 <= 19) { return PLURAL_CATEGORY.MANY; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_nl-cw.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_nl-cw.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_nl-cw.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "AM",
- "1": "PM"
- },
- "DAY": {
- "0": "zondag",
- "1": "maandag",
- "2": "dinsdag",
- "3": "woensdag",
- "4": "donderdag",
- "5": "vrijdag",
- "6": "zaterdag"
- },
- "MONTH": {
- "0": "januari",
- "1": "februari",
- "2": "maart",
- "3": "april",
- "4": "mei",
- "5": "juni",
- "6": "juli",
- "7": "augustus",
- "8": "september",
- "9": "oktober",
- "10": "november",
- "11": "december"
- },
- "SHORTDAY": {
- "0": "zo",
- "1": "ma",
- "2": "di",
- "3": "wo",
- "4": "do",
- "5": "vr",
- "6": "za"
- },
- "SHORTMONTH": {
- "0": "jan.",
- "1": "feb.",
- "2": "mrt.",
- "3": "apr.",
- "4": "mei",
- "5": "jun.",
- "6": "jul.",
- "7": "aug.",
- "8": "sep.",
- "9": "okt.",
- "10": "nov.",
- "11": "dec."
- },
+ "AMPMS": [
+ "AM",
+ "PM"
+ ],
+ "DAY": [
+ "zondag",
+ "maandag",
+ "dinsdag",
+ "woensdag",
+ "donderdag",
+ "vrijdag",
+ "zaterdag"
+ ],
+ "MONTH": [
+ "januari",
+ "februari",
+ "maart",
+ "april",
+ "mei",
+ "juni",
+ "juli",
+ "augustus",
+ "september",
+ "oktober",
+ "november",
+ "december"
+ ],
+ "SHORTDAY": [
+ "zo",
+ "ma",
+ "di",
+ "wo",
+ "do",
+ "vr",
+ "za"
+ ],
+ "SHORTMONTH": [
+ "jan.",
+ "feb.",
+ "mrt.",
+ "apr.",
+ "mei",
+ "jun.",
+ "jul.",
+ "aug.",
+ "sep.",
+ "okt.",
+ "nov.",
+ "dec."
+ ],
"fullDate": "EEEE d MMMM y",
"longDate": "d MMMM y",
"medium": "d MMM y HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20ac",
"DECIMAL_SEP": ",",
"GROUP_SEP": ".",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4\u00a0",
"posSuf": ""
}
- }
+ ]
},
"id": "nl-cw",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_nl-nl.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_nl-nl.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_nl-nl.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "AM",
- "1": "PM"
- },
- "DAY": {
- "0": "zondag",
- "1": "maandag",
- "2": "dinsdag",
- "3": "woensdag",
- "4": "donderdag",
- "5": "vrijdag",
- "6": "zaterdag"
- },
- "MONTH": {
- "0": "januari",
- "1": "februari",
- "2": "maart",
- "3": "april",
- "4": "mei",
- "5": "juni",
- "6": "juli",
- "7": "augustus",
- "8": "september",
- "9": "oktober",
- "10": "november",
- "11": "december"
- },
- "SHORTDAY": {
- "0": "zo",
- "1": "ma",
- "2": "di",
- "3": "wo",
- "4": "do",
- "5": "vr",
- "6": "za"
- },
- "SHORTMONTH": {
- "0": "jan.",
- "1": "feb.",
- "2": "mrt.",
- "3": "apr.",
- "4": "mei",
- "5": "jun.",
- "6": "jul.",
- "7": "aug.",
- "8": "sep.",
- "9": "okt.",
- "10": "nov.",
- "11": "dec."
- },
+ "AMPMS": [
+ "AM",
+ "PM"
+ ],
+ "DAY": [
+ "zondag",
+ "maandag",
+ "dinsdag",
+ "woensdag",
+ "donderdag",
+ "vrijdag",
+ "zaterdag"
+ ],
+ "MONTH": [
+ "januari",
+ "februari",
+ "maart",
+ "april",
+ "mei",
+ "juni",
+ "juli",
+ "augustus",
+ "september",
+ "oktober",
+ "november",
+ "december"
+ ],
+ "SHORTDAY": [
+ "zo",
+ "ma",
+ "di",
+ "wo",
+ "do",
+ "vr",
+ "za"
+ ],
+ "SHORTMONTH": [
+ "jan.",
+ "feb.",
+ "mrt.",
+ "apr.",
+ "mei",
+ "jun.",
+ "jul.",
+ "aug.",
+ "sep.",
+ "okt.",
+ "nov.",
+ "dec."
+ ],
"fullDate": "EEEE d MMMM y",
"longDate": "d MMMM y",
"medium": "d MMM y HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20ac",
"DECIMAL_SEP": ",",
"GROUP_SEP": ".",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4\u00a0",
"posSuf": ""
}
- }
+ ]
},
"id": "nl-nl",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_nl-sx.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_nl-sx.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_nl-sx.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "AM",
- "1": "PM"
- },
- "DAY": {
- "0": "zondag",
- "1": "maandag",
- "2": "dinsdag",
- "3": "woensdag",
- "4": "donderdag",
- "5": "vrijdag",
- "6": "zaterdag"
- },
- "MONTH": {
- "0": "januari",
- "1": "februari",
- "2": "maart",
- "3": "april",
- "4": "mei",
- "5": "juni",
- "6": "juli",
- "7": "augustus",
- "8": "september",
- "9": "oktober",
- "10": "november",
- "11": "december"
- },
- "SHORTDAY": {
- "0": "zo",
- "1": "ma",
- "2": "di",
- "3": "wo",
- "4": "do",
- "5": "vr",
- "6": "za"
- },
- "SHORTMONTH": {
- "0": "jan.",
- "1": "feb.",
- "2": "mrt.",
- "3": "apr.",
- "4": "mei",
- "5": "jun.",
- "6": "jul.",
- "7": "aug.",
- "8": "sep.",
- "9": "okt.",
- "10": "nov.",
- "11": "dec."
- },
+ "AMPMS": [
+ "AM",
+ "PM"
+ ],
+ "DAY": [
+ "zondag",
+ "maandag",
+ "dinsdag",
+ "woensdag",
+ "donderdag",
+ "vrijdag",
+ "zaterdag"
+ ],
+ "MONTH": [
+ "januari",
+ "februari",
+ "maart",
+ "april",
+ "mei",
+ "juni",
+ "juli",
+ "augustus",
+ "september",
+ "oktober",
+ "november",
+ "december"
+ ],
+ "SHORTDAY": [
+ "zo",
+ "ma",
+ "di",
+ "wo",
+ "do",
+ "vr",
+ "za"
+ ],
+ "SHORTMONTH": [
+ "jan.",
+ "feb.",
+ "mrt.",
+ "apr.",
+ "mei",
+ "jun.",
+ "jul.",
+ "aug.",
+ "sep.",
+ "okt.",
+ "nov.",
+ "dec."
+ ],
"fullDate": "EEEE d MMMM y",
"longDate": "d MMMM y",
"medium": "d MMM y HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20ac",
"DECIMAL_SEP": ",",
"GROUP_SEP": ".",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4\u00a0",
"posSuf": ""
}
- }
+ ]
},
"id": "nl-sx",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_nl.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_nl.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_nl.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "AM",
- "1": "PM"
- },
- "DAY": {
- "0": "zondag",
- "1": "maandag",
- "2": "dinsdag",
- "3": "woensdag",
- "4": "donderdag",
- "5": "vrijdag",
- "6": "zaterdag"
- },
- "MONTH": {
- "0": "januari",
- "1": "februari",
- "2": "maart",
- "3": "april",
- "4": "mei",
- "5": "juni",
- "6": "juli",
- "7": "augustus",
- "8": "september",
- "9": "oktober",
- "10": "november",
- "11": "december"
- },
- "SHORTDAY": {
- "0": "zo",
- "1": "ma",
- "2": "di",
- "3": "wo",
- "4": "do",
- "5": "vr",
- "6": "za"
- },
- "SHORTMONTH": {
- "0": "jan.",
- "1": "feb.",
- "2": "mrt.",
- "3": "apr.",
- "4": "mei",
- "5": "jun.",
- "6": "jul.",
- "7": "aug.",
- "8": "sep.",
- "9": "okt.",
- "10": "nov.",
- "11": "dec."
- },
+ "AMPMS": [
+ "AM",
+ "PM"
+ ],
+ "DAY": [
+ "zondag",
+ "maandag",
+ "dinsdag",
+ "woensdag",
+ "donderdag",
+ "vrijdag",
+ "zaterdag"
+ ],
+ "MONTH": [
+ "januari",
+ "februari",
+ "maart",
+ "april",
+ "mei",
+ "juni",
+ "juli",
+ "augustus",
+ "september",
+ "oktober",
+ "november",
+ "december"
+ ],
+ "SHORTDAY": [
+ "zo",
+ "ma",
+ "di",
+ "wo",
+ "do",
+ "vr",
+ "za"
+ ],
+ "SHORTMONTH": [
+ "jan.",
+ "feb.",
+ "mrt.",
+ "apr.",
+ "mei",
+ "jun.",
+ "jul.",
+ "aug.",
+ "sep.",
+ "okt.",
+ "nov.",
+ "dec."
+ ],
"fullDate": "EEEE d MMMM y",
"longDate": "d MMMM y",
"medium": "d MMM y HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20ac",
"DECIMAL_SEP": ",",
"GROUP_SEP": ".",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4\u00a0",
"posSuf": ""
}
- }
+ ]
},
"id": "nl",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_no.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_no.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_no.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "AM",
- "1": "PM"
- },
- "DAY": {
- "0": "s\u00f8ndag",
- "1": "mandag",
- "2": "tirsdag",
- "3": "onsdag",
- "4": "torsdag",
- "5": "fredag",
- "6": "l\u00f8rdag"
- },
- "MONTH": {
- "0": "januar",
- "1": "februar",
- "2": "mars",
- "3": "april",
- "4": "mai",
- "5": "juni",
- "6": "juli",
- "7": "august",
- "8": "september",
- "9": "oktober",
- "10": "november",
- "11": "desember"
- },
- "SHORTDAY": {
- "0": "s\u00f8n.",
- "1": "man.",
- "2": "tir.",
- "3": "ons.",
- "4": "tor.",
- "5": "fre.",
- "6": "l\u00f8r."
- },
- "SHORTMONTH": {
- "0": "jan.",
- "1": "feb.",
- "2": "mars",
- "3": "apr.",
- "4": "mai",
- "5": "juni",
- "6": "juli",
- "7": "aug.",
- "8": "sep.",
- "9": "okt.",
- "10": "nov.",
- "11": "des."
- },
+ "AMPMS": [
+ "AM",
+ "PM"
+ ],
+ "DAY": [
+ "s\u00f8ndag",
+ "mandag",
+ "tirsdag",
+ "onsdag",
+ "torsdag",
+ "fredag",
+ "l\u00f8rdag"
+ ],
+ "MONTH": [
+ "januar",
+ "februar",
+ "mars",
+ "april",
+ "mai",
+ "juni",
+ "juli",
+ "august",
+ "september",
+ "oktober",
+ "november",
+ "desember"
+ ],
+ "SHORTDAY": [
+ "s\u00f8n.",
+ "man.",
+ "tir.",
+ "ons.",
+ "tor.",
+ "fre.",
+ "l\u00f8r."
+ ],
+ "SHORTMONTH": [
+ "jan.",
+ "feb.",
+ "mars",
+ "apr.",
+ "mai",
+ "juni",
+ "juli",
+ "aug.",
+ "sep.",
+ "okt.",
+ "nov.",
+ "des."
+ ],
"fullDate": "EEEE d. MMMM y",
"longDate": "d. MMMM y",
"medium": "d. MMM y HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "kr",
"DECIMAL_SEP": ",",
"GROUP_SEP": "\u00a0",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4\u00a0",
"posSuf": ""
}
- }
+ ]
},
"id": "no",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_or-in.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_or-in.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_or-in.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "am",
- "1": "pm"
- },
- "DAY": {
- "0": "\u0b30\u0b2c\u0b3f\u0b2c\u0b3e\u0b30",
- "1": "\u0b38\u0b4b\u0b2e\u0b2c\u0b3e\u0b30",
- "2": "\u0b2e\u0b19\u0b4d\u0b17\u0b33\u0b2c\u0b3e\u0b30",
- "3": "\u0b2c\u0b41\u0b27\u0b2c\u0b3e\u0b30",
- "4": "\u0b17\u0b41\u0b30\u0b41\u0b2c\u0b3e\u0b30",
- "5": "\u0b36\u0b41\u0b15\u0b4d\u0b30\u0b2c\u0b3e\u0b30",
- "6": "\u0b36\u0b28\u0b3f\u0b2c\u0b3e\u0b30"
- },
- "MONTH": {
- "0": "\u0b1c\u0b3e\u0b28\u0b41\u0b06\u0b30\u0b40",
- "1": "\u0b2b\u0b47\u0b2c\u0b4d\u0b30\u0b41\u0b5f\u0b3e\u0b30\u0b40",
- "2": "\u0b2e\u0b3e\u0b30\u0b4d\u0b1a\u0b4d\u0b1a",
- "3": "\u0b05\u0b2a\u0b4d\u0b30\u0b47\u0b32",
- "4": "\u0b2e\u0b47",
- "5": "\u0b1c\u0b41\u0b28",
- "6": "\u0b1c\u0b41\u0b32\u0b3e\u0b07",
- "7": "\u0b05\u0b17\u0b37\u0b4d\u0b1f",
- "8": "\u0b38\u0b47\u0b2a\u0b4d\u0b1f\u0b47\u0b2e\u0b4d\u0b2c\u0b30",
- "9": "\u0b05\u0b15\u0b4d\u0b1f\u0b4b\u0b2c\u0b30",
- "10": "\u0b28\u0b2d\u0b47\u0b2e\u0b4d\u0b2c\u0b30",
- "11": "\u0b21\u0b3f\u0b38\u0b47\u0b2e\u0b4d\u0b2c\u0b30"
- },
- "SHORTDAY": {
- "0": "\u0b30\u0b2c\u0b3f",
- "1": "\u0b38\u0b4b\u0b2e",
- "2": "\u0b2e\u0b19\u0b4d\u0b17\u0b33",
- "3": "\u0b2c\u0b41\u0b27",
- "4": "\u0b17\u0b41\u0b30\u0b41",
- "5": "\u0b36\u0b41\u0b15\u0b4d\u0b30",
- "6": "\u0b36\u0b28\u0b3f"
- },
- "SHORTMONTH": {
- "0": "\u0b1c\u0b3e\u0b28\u0b41\u0b06\u0b30\u0b40",
- "1": "\u0b2b\u0b47\u0b2c\u0b4d\u0b30\u0b41\u0b5f\u0b3e\u0b30\u0b40",
- "2": "\u0b2e\u0b3e\u0b30\u0b4d\u0b1a\u0b4d\u0b1a",
- "3": "\u0b05\u0b2a\u0b4d\u0b30\u0b47\u0b32",
- "4": "\u0b2e\u0b47",
- "5": "\u0b1c\u0b41\u0b28",
- "6": "\u0b1c\u0b41\u0b32\u0b3e\u0b07",
- "7": "\u0b05\u0b17\u0b37\u0b4d\u0b1f",
- "8": "\u0b38\u0b47\u0b2a\u0b4d\u0b1f\u0b47\u0b2e\u0b4d\u0b2c\u0b30",
- "9": "\u0b05\u0b15\u0b4d\u0b1f\u0b4b\u0b2c\u0b30",
- "10": "\u0b28\u0b2d\u0b47\u0b2e\u0b4d\u0b2c\u0b30",
- "11": "\u0b21\u0b3f\u0b38\u0b47\u0b2e\u0b4d\u0b2c\u0b30"
- },
+ "AMPMS": [
+ "am",
+ "pm"
+ ],
+ "DAY": [
+ "\u0b30\u0b2c\u0b3f\u0b2c\u0b3e\u0b30",
+ "\u0b38\u0b4b\u0b2e\u0b2c\u0b3e\u0b30",
+ "\u0b2e\u0b19\u0b4d\u0b17\u0b33\u0b2c\u0b3e\u0b30",
+ "\u0b2c\u0b41\u0b27\u0b2c\u0b3e\u0b30",
+ "\u0b17\u0b41\u0b30\u0b41\u0b2c\u0b3e\u0b30",
+ "\u0b36\u0b41\u0b15\u0b4d\u0b30\u0b2c\u0b3e\u0b30",
+ "\u0b36\u0b28\u0b3f\u0b2c\u0b3e\u0b30"
+ ],
+ "MONTH": [
+ "\u0b1c\u0b3e\u0b28\u0b41\u0b06\u0b30\u0b40",
+ "\u0b2b\u0b47\u0b2c\u0b4d\u0b30\u0b41\u0b5f\u0b3e\u0b30\u0b40",
+ "\u0b2e\u0b3e\u0b30\u0b4d\u0b1a\u0b4d\u0b1a",
+ "\u0b05\u0b2a\u0b4d\u0b30\u0b47\u0b32",
+ "\u0b2e\u0b47",
+ "\u0b1c\u0b41\u0b28",
+ "\u0b1c\u0b41\u0b32\u0b3e\u0b07",
+ "\u0b05\u0b17\u0b37\u0b4d\u0b1f",
+ "\u0b38\u0b47\u0b2a\u0b4d\u0b1f\u0b47\u0b2e\u0b4d\u0b2c\u0b30",
+ "\u0b05\u0b15\u0b4d\u0b1f\u0b4b\u0b2c\u0b30",
+ "\u0b28\u0b2d\u0b47\u0b2e\u0b4d\u0b2c\u0b30",
+ "\u0b21\u0b3f\u0b38\u0b47\u0b2e\u0b4d\u0b2c\u0b30"
+ ],
+ "SHORTDAY": [
+ "\u0b30\u0b2c\u0b3f",
+ "\u0b38\u0b4b\u0b2e",
+ "\u0b2e\u0b19\u0b4d\u0b17\u0b33",
+ "\u0b2c\u0b41\u0b27",
+ "\u0b17\u0b41\u0b30\u0b41",
+ "\u0b36\u0b41\u0b15\u0b4d\u0b30",
+ "\u0b36\u0b28\u0b3f"
+ ],
+ "SHORTMONTH": [
+ "\u0b1c\u0b3e\u0b28\u0b41\u0b06\u0b30\u0b40",
+ "\u0b2b\u0b47\u0b2c\u0b4d\u0b30\u0b41\u0b5f\u0b3e\u0b30\u0b40",
+ "\u0b2e\u0b3e\u0b30\u0b4d\u0b1a\u0b4d\u0b1a",
+ "\u0b05\u0b2a\u0b4d\u0b30\u0b47\u0b32",
+ "\u0b2e\u0b47",
+ "\u0b1c\u0b41\u0b28",
+ "\u0b1c\u0b41\u0b32\u0b3e\u0b07",
+ "\u0b05\u0b17\u0b37\u0b4d\u0b1f",
+ "\u0b38\u0b47\u0b2a\u0b4d\u0b1f\u0b47\u0b2e\u0b4d\u0b2c\u0b30",
+ "\u0b05\u0b15\u0b4d\u0b1f\u0b4b\u0b2c\u0b30",
+ "\u0b28\u0b2d\u0b47\u0b2e\u0b4d\u0b2c\u0b30",
+ "\u0b21\u0b3f\u0b38\u0b47\u0b2e\u0b4d\u0b2c\u0b30"
+ ],
"fullDate": "EEEE, d MMMM y",
"longDate": "d MMMM y",
"medium": "d MMM y h:mm:ss a",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20b9",
"DECIMAL_SEP": ".",
"GROUP_SEP": ",",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 2,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 2,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4\u00a0",
"posSuf": ""
}
- }
+ ]
},
"id": "or-in",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_or.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_or.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_or.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "am",
- "1": "pm"
- },
- "DAY": {
- "0": "\u0b30\u0b2c\u0b3f\u0b2c\u0b3e\u0b30",
- "1": "\u0b38\u0b4b\u0b2e\u0b2c\u0b3e\u0b30",
- "2": "\u0b2e\u0b19\u0b4d\u0b17\u0b33\u0b2c\u0b3e\u0b30",
- "3": "\u0b2c\u0b41\u0b27\u0b2c\u0b3e\u0b30",
- "4": "\u0b17\u0b41\u0b30\u0b41\u0b2c\u0b3e\u0b30",
- "5": "\u0b36\u0b41\u0b15\u0b4d\u0b30\u0b2c\u0b3e\u0b30",
- "6": "\u0b36\u0b28\u0b3f\u0b2c\u0b3e\u0b30"
- },
- "MONTH": {
- "0": "\u0b1c\u0b3e\u0b28\u0b41\u0b06\u0b30\u0b40",
- "1": "\u0b2b\u0b47\u0b2c\u0b4d\u0b30\u0b41\u0b5f\u0b3e\u0b30\u0b40",
- "2": "\u0b2e\u0b3e\u0b30\u0b4d\u0b1a\u0b4d\u0b1a",
- "3": "\u0b05\u0b2a\u0b4d\u0b30\u0b47\u0b32",
- "4": "\u0b2e\u0b47",
- "5": "\u0b1c\u0b41\u0b28",
- "6": "\u0b1c\u0b41\u0b32\u0b3e\u0b07",
- "7": "\u0b05\u0b17\u0b37\u0b4d\u0b1f",
- "8": "\u0b38\u0b47\u0b2a\u0b4d\u0b1f\u0b47\u0b2e\u0b4d\u0b2c\u0b30",
- "9": "\u0b05\u0b15\u0b4d\u0b1f\u0b4b\u0b2c\u0b30",
- "10": "\u0b28\u0b2d\u0b47\u0b2e\u0b4d\u0b2c\u0b30",
- "11": "\u0b21\u0b3f\u0b38\u0b47\u0b2e\u0b4d\u0b2c\u0b30"
- },
- "SHORTDAY": {
- "0": "\u0b30\u0b2c\u0b3f",
- "1": "\u0b38\u0b4b\u0b2e",
- "2": "\u0b2e\u0b19\u0b4d\u0b17\u0b33",
- "3": "\u0b2c\u0b41\u0b27",
- "4": "\u0b17\u0b41\u0b30\u0b41",
- "5": "\u0b36\u0b41\u0b15\u0b4d\u0b30",
- "6": "\u0b36\u0b28\u0b3f"
- },
- "SHORTMONTH": {
- "0": "\u0b1c\u0b3e\u0b28\u0b41\u0b06\u0b30\u0b40",
- "1": "\u0b2b\u0b47\u0b2c\u0b4d\u0b30\u0b41\u0b5f\u0b3e\u0b30\u0b40",
- "2": "\u0b2e\u0b3e\u0b30\u0b4d\u0b1a\u0b4d\u0b1a",
- "3": "\u0b05\u0b2a\u0b4d\u0b30\u0b47\u0b32",
- "4": "\u0b2e\u0b47",
- "5": "\u0b1c\u0b41\u0b28",
- "6": "\u0b1c\u0b41\u0b32\u0b3e\u0b07",
- "7": "\u0b05\u0b17\u0b37\u0b4d\u0b1f",
- "8": "\u0b38\u0b47\u0b2a\u0b4d\u0b1f\u0b47\u0b2e\u0b4d\u0b2c\u0b30",
- "9": "\u0b05\u0b15\u0b4d\u0b1f\u0b4b\u0b2c\u0b30",
- "10": "\u0b28\u0b2d\u0b47\u0b2e\u0b4d\u0b2c\u0b30",
- "11": "\u0b21\u0b3f\u0b38\u0b47\u0b2e\u0b4d\u0b2c\u0b30"
- },
+ "AMPMS": [
+ "am",
+ "pm"
+ ],
+ "DAY": [
+ "\u0b30\u0b2c\u0b3f\u0b2c\u0b3e\u0b30",
+ "\u0b38\u0b4b\u0b2e\u0b2c\u0b3e\u0b30",
+ "\u0b2e\u0b19\u0b4d\u0b17\u0b33\u0b2c\u0b3e\u0b30",
+ "\u0b2c\u0b41\u0b27\u0b2c\u0b3e\u0b30",
+ "\u0b17\u0b41\u0b30\u0b41\u0b2c\u0b3e\u0b30",
+ "\u0b36\u0b41\u0b15\u0b4d\u0b30\u0b2c\u0b3e\u0b30",
+ "\u0b36\u0b28\u0b3f\u0b2c\u0b3e\u0b30"
+ ],
+ "MONTH": [
+ "\u0b1c\u0b3e\u0b28\u0b41\u0b06\u0b30\u0b40",
+ "\u0b2b\u0b47\u0b2c\u0b4d\u0b30\u0b41\u0b5f\u0b3e\u0b30\u0b40",
+ "\u0b2e\u0b3e\u0b30\u0b4d\u0b1a\u0b4d\u0b1a",
+ "\u0b05\u0b2a\u0b4d\u0b30\u0b47\u0b32",
+ "\u0b2e\u0b47",
+ "\u0b1c\u0b41\u0b28",
+ "\u0b1c\u0b41\u0b32\u0b3e\u0b07",
+ "\u0b05\u0b17\u0b37\u0b4d\u0b1f",
+ "\u0b38\u0b47\u0b2a\u0b4d\u0b1f\u0b47\u0b2e\u0b4d\u0b2c\u0b30",
+ "\u0b05\u0b15\u0b4d\u0b1f\u0b4b\u0b2c\u0b30",
+ "\u0b28\u0b2d\u0b47\u0b2e\u0b4d\u0b2c\u0b30",
+ "\u0b21\u0b3f\u0b38\u0b47\u0b2e\u0b4d\u0b2c\u0b30"
+ ],
+ "SHORTDAY": [
+ "\u0b30\u0b2c\u0b3f",
+ "\u0b38\u0b4b\u0b2e",
+ "\u0b2e\u0b19\u0b4d\u0b17\u0b33",
+ "\u0b2c\u0b41\u0b27",
+ "\u0b17\u0b41\u0b30\u0b41",
+ "\u0b36\u0b41\u0b15\u0b4d\u0b30",
+ "\u0b36\u0b28\u0b3f"
+ ],
+ "SHORTMONTH": [
+ "\u0b1c\u0b3e\u0b28\u0b41\u0b06\u0b30\u0b40",
+ "\u0b2b\u0b47\u0b2c\u0b4d\u0b30\u0b41\u0b5f\u0b3e\u0b30\u0b40",
+ "\u0b2e\u0b3e\u0b30\u0b4d\u0b1a\u0b4d\u0b1a",
+ "\u0b05\u0b2a\u0b4d\u0b30\u0b47\u0b32",
+ "\u0b2e\u0b47",
+ "\u0b1c\u0b41\u0b28",
+ "\u0b1c\u0b41\u0b32\u0b3e\u0b07",
+ "\u0b05\u0b17\u0b37\u0b4d\u0b1f",
+ "\u0b38\u0b47\u0b2a\u0b4d\u0b1f\u0b47\u0b2e\u0b4d\u0b2c\u0b30",
+ "\u0b05\u0b15\u0b4d\u0b1f\u0b4b\u0b2c\u0b30",
+ "\u0b28\u0b2d\u0b47\u0b2e\u0b4d\u0b2c\u0b30",
+ "\u0b21\u0b3f\u0b38\u0b47\u0b2e\u0b4d\u0b2c\u0b30"
+ ],
"fullDate": "EEEE, d MMMM y",
"longDate": "d MMMM y",
"medium": "d MMM y h:mm:ss a",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20b9",
"DECIMAL_SEP": ".",
"GROUP_SEP": ",",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 2,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 2,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4\u00a0",
"posSuf": ""
}
- }
+ ]
},
"id": "or",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_pl-pl.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_pl-pl.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_pl-pl.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "AM",
- "1": "PM"
- },
- "DAY": {
- "0": "niedziela",
- "1": "poniedzia\u0142ek",
- "2": "wtorek",
- "3": "\u015broda",
- "4": "czwartek",
- "5": "pi\u0105tek",
- "6": "sobota"
- },
- "MONTH": {
- "0": "stycznia",
- "1": "lutego",
- "2": "marca",
- "3": "kwietnia",
- "4": "maja",
- "5": "czerwca",
- "6": "lipca",
- "7": "sierpnia",
- "8": "wrze\u015bnia",
- "9": "pa\u017adziernika",
- "10": "listopada",
- "11": "grudnia"
- },
- "SHORTDAY": {
- "0": "niedz.",
- "1": "pon.",
- "2": "wt.",
- "3": "\u015br.",
- "4": "czw.",
- "5": "pt.",
- "6": "sob."
- },
- "SHORTMONTH": {
- "0": "sty",
- "1": "lut",
- "2": "mar",
- "3": "kwi",
- "4": "maj",
- "5": "cze",
- "6": "lip",
- "7": "sie",
- "8": "wrz",
- "9": "pa\u017a",
- "10": "lis",
- "11": "gru"
- },
+ "AMPMS": [
+ "AM",
+ "PM"
+ ],
+ "DAY": [
+ "niedziela",
+ "poniedzia\u0142ek",
+ "wtorek",
+ "\u015broda",
+ "czwartek",
+ "pi\u0105tek",
+ "sobota"
+ ],
+ "MONTH": [
+ "stycznia",
+ "lutego",
+ "marca",
+ "kwietnia",
+ "maja",
+ "czerwca",
+ "lipca",
+ "sierpnia",
+ "wrze\u015bnia",
+ "pa\u017adziernika",
+ "listopada",
+ "grudnia"
+ ],
+ "SHORTDAY": [
+ "niedz.",
+ "pon.",
+ "wt.",
+ "\u015br.",
+ "czw.",
+ "pt.",
+ "sob."
+ ],
+ "SHORTMONTH": [
+ "sty",
+ "lut",
+ "mar",
+ "kwi",
+ "maj",
+ "cze",
+ "lip",
+ "sie",
+ "wrz",
+ "pa\u017a",
+ "lis",
+ "gru"
+ ],
"fullDate": "EEEE, d MMMM y",
"longDate": "d MMMM y",
"medium": "d MMM y HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "z\u0142",
"DECIMAL_SEP": ",",
"GROUP_SEP": "\u00a0",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "pl-pl",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } if (n == (n | 0) && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14)) { return PLURAL_CATEGORY.FEW; } if (n != 1 && (n % 10 == 0 || n % 10 == 1) || n == (n | 0) && n % 10 >= 5 && n % 10 <= 9 || n == (n | 0) && n % 100 >= 12 && n % 100 <= 14) { return PLURAL_CATEGORY.MANY; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_pl.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_pl.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_pl.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "AM",
- "1": "PM"
- },
- "DAY": {
- "0": "niedziela",
- "1": "poniedzia\u0142ek",
- "2": "wtorek",
- "3": "\u015broda",
- "4": "czwartek",
- "5": "pi\u0105tek",
- "6": "sobota"
- },
- "MONTH": {
- "0": "stycznia",
- "1": "lutego",
- "2": "marca",
- "3": "kwietnia",
- "4": "maja",
- "5": "czerwca",
- "6": "lipca",
- "7": "sierpnia",
- "8": "wrze\u015bnia",
- "9": "pa\u017adziernika",
- "10": "listopada",
- "11": "grudnia"
- },
- "SHORTDAY": {
- "0": "niedz.",
- "1": "pon.",
- "2": "wt.",
- "3": "\u015br.",
- "4": "czw.",
- "5": "pt.",
- "6": "sob."
- },
- "SHORTMONTH": {
- "0": "sty",
- "1": "lut",
- "2": "mar",
- "3": "kwi",
- "4": "maj",
- "5": "cze",
- "6": "lip",
- "7": "sie",
- "8": "wrz",
- "9": "pa\u017a",
- "10": "lis",
- "11": "gru"
- },
+ "AMPMS": [
+ "AM",
+ "PM"
+ ],
+ "DAY": [
+ "niedziela",
+ "poniedzia\u0142ek",
+ "wtorek",
+ "\u015broda",
+ "czwartek",
+ "pi\u0105tek",
+ "sobota"
+ ],
+ "MONTH": [
+ "stycznia",
+ "lutego",
+ "marca",
+ "kwietnia",
+ "maja",
+ "czerwca",
+ "lipca",
+ "sierpnia",
+ "wrze\u015bnia",
+ "pa\u017adziernika",
+ "listopada",
+ "grudnia"
+ ],
+ "SHORTDAY": [
+ "niedz.",
+ "pon.",
+ "wt.",
+ "\u015br.",
+ "czw.",
+ "pt.",
+ "sob."
+ ],
+ "SHORTMONTH": [
+ "sty",
+ "lut",
+ "mar",
+ "kwi",
+ "maj",
+ "cze",
+ "lip",
+ "sie",
+ "wrz",
+ "pa\u017a",
+ "lis",
+ "gru"
+ ],
"fullDate": "EEEE, d MMMM y",
"longDate": "d MMMM y",
"medium": "d MMM y HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "z\u0142",
"DECIMAL_SEP": ",",
"GROUP_SEP": "\u00a0",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "pl",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } if (n == (n | 0) && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14)) { return PLURAL_CATEGORY.FEW; } if (n != 1 && (n % 10 == 0 || n % 10 == 1) || n == (n | 0) && n % 10 >= 5 && n % 10 <= 9 || n == (n | 0) && n % 100 >= 12 && n % 100 <= 14) { return PLURAL_CATEGORY.MANY; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_pt-br.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_pt-br.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_pt-br.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "AM",
- "1": "PM"
- },
- "DAY": {
- "0": "domingo",
- "1": "segunda-feira",
- "2": "ter\u00e7a-feira",
- "3": "quarta-feira",
- "4": "quinta-feira",
- "5": "sexta-feira",
- "6": "s\u00e1bado"
- },
- "MONTH": {
- "0": "janeiro",
- "1": "fevereiro",
- "2": "mar\u00e7o",
- "3": "abril",
- "4": "maio",
- "5": "junho",
- "6": "julho",
- "7": "agosto",
- "8": "setembro",
- "9": "outubro",
- "10": "novembro",
- "11": "dezembro"
- },
- "SHORTDAY": {
- "0": "dom",
- "1": "seg",
- "2": "ter",
- "3": "qua",
- "4": "qui",
- "5": "sex",
- "6": "s\u00e1b"
- },
- "SHORTMONTH": {
- "0": "jan",
- "1": "fev",
- "2": "mar",
- "3": "abr",
- "4": "mai",
- "5": "jun",
- "6": "jul",
- "7": "ago",
- "8": "set",
- "9": "out",
- "10": "nov",
- "11": "dez"
- },
+ "AMPMS": [
+ "AM",
+ "PM"
+ ],
+ "DAY": [
+ "domingo",
+ "segunda-feira",
+ "ter\u00e7a-feira",
+ "quarta-feira",
+ "quinta-feira",
+ "sexta-feira",
+ "s\u00e1bado"
+ ],
+ "MONTH": [
+ "janeiro",
+ "fevereiro",
+ "mar\u00e7o",
+ "abril",
+ "maio",
+ "junho",
+ "julho",
+ "agosto",
+ "setembro",
+ "outubro",
+ "novembro",
+ "dezembro"
+ ],
+ "SHORTDAY": [
+ "dom",
+ "seg",
+ "ter",
+ "qua",
+ "qui",
+ "sex",
+ "s\u00e1b"
+ ],
+ "SHORTMONTH": [
+ "jan",
+ "fev",
+ "mar",
+ "abr",
+ "mai",
+ "jun",
+ "jul",
+ "ago",
+ "set",
+ "out",
+ "nov",
+ "dez"
+ ],
"fullDate": "EEEE, d 'de' MMMM 'de' y",
"longDate": "d 'de' MMMM 'de' y",
"medium": "dd/MM/yyyy HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "R$",
"DECIMAL_SEP": ",",
"GROUP_SEP": ".",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4",
"posSuf": ""
}
- }
+ ]
},
"id": "pt-br",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_pt-pt.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_pt-pt.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_pt-pt.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "a.m.",
- "1": "p.m."
- },
- "DAY": {
- "0": "Domingo",
- "1": "Segunda-feira",
- "2": "Ter\u00e7a-feira",
- "3": "Quarta-feira",
- "4": "Quinta-feira",
- "5": "Sexta-feira",
- "6": "S\u00e1bado"
- },
- "MONTH": {
- "0": "Janeiro",
- "1": "Fevereiro",
- "2": "Mar\u00e7o",
- "3": "Abril",
- "4": "Maio",
- "5": "Junho",
- "6": "Julho",
- "7": "Agosto",
- "8": "Setembro",
- "9": "Outubro",
- "10": "Novembro",
- "11": "Dezembro"
- },
- "SHORTDAY": {
- "0": "dom",
- "1": "seg",
- "2": "ter",
- "3": "qua",
- "4": "qui",
- "5": "sex",
- "6": "s\u00e1b"
- },
- "SHORTMONTH": {
- "0": "Jan",
- "1": "Fev",
- "2": "Mar",
- "3": "Abr",
- "4": "Mai",
- "5": "Jun",
- "6": "Jul",
- "7": "Ago",
- "8": "Set",
- "9": "Out",
- "10": "Nov",
- "11": "Dez"
- },
+ "AMPMS": [
+ "a.m.",
+ "p.m."
+ ],
+ "DAY": [
+ "Domingo",
+ "Segunda-feira",
+ "Ter\u00e7a-feira",
+ "Quarta-feira",
+ "Quinta-feira",
+ "Sexta-feira",
+ "S\u00e1bado"
+ ],
+ "MONTH": [
+ "Janeiro",
+ "Fevereiro",
+ "Mar\u00e7o",
+ "Abril",
+ "Maio",
+ "Junho",
+ "Julho",
+ "Agosto",
+ "Setembro",
+ "Outubro",
+ "Novembro",
+ "Dezembro"
+ ],
+ "SHORTDAY": [
+ "dom",
+ "seg",
+ "ter",
+ "qua",
+ "qui",
+ "sex",
+ "s\u00e1b"
+ ],
+ "SHORTMONTH": [
+ "Jan",
+ "Fev",
+ "Mar",
+ "Abr",
+ "Mai",
+ "Jun",
+ "Jul",
+ "Ago",
+ "Set",
+ "Out",
+ "Nov",
+ "Dez"
+ ],
"fullDate": "EEEE, d 'de' MMMM 'de' y",
"longDate": "d 'de' MMMM 'de' y",
"medium": "dd/MM/yyyy HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20ac",
"DECIMAL_SEP": ",",
"GROUP_SEP": "\u00a0",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "pt-pt",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_pt.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_pt.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_pt.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "AM",
- "1": "PM"
- },
- "DAY": {
- "0": "domingo",
- "1": "segunda-feira",
- "2": "ter\u00e7a-feira",
- "3": "quarta-feira",
- "4": "quinta-feira",
- "5": "sexta-feira",
- "6": "s\u00e1bado"
- },
- "MONTH": {
- "0": "janeiro",
- "1": "fevereiro",
- "2": "mar\u00e7o",
- "3": "abril",
- "4": "maio",
- "5": "junho",
- "6": "julho",
- "7": "agosto",
- "8": "setembro",
- "9": "outubro",
- "10": "novembro",
- "11": "dezembro"
- },
- "SHORTDAY": {
- "0": "dom",
- "1": "seg",
- "2": "ter",
- "3": "qua",
- "4": "qui",
- "5": "sex",
- "6": "s\u00e1b"
- },
- "SHORTMONTH": {
- "0": "jan",
- "1": "fev",
- "2": "mar",
- "3": "abr",
- "4": "mai",
- "5": "jun",
- "6": "jul",
- "7": "ago",
- "8": "set",
- "9": "out",
- "10": "nov",
- "11": "dez"
- },
+ "AMPMS": [
+ "AM",
+ "PM"
+ ],
+ "DAY": [
+ "domingo",
+ "segunda-feira",
+ "ter\u00e7a-feira",
+ "quarta-feira",
+ "quinta-feira",
+ "sexta-feira",
+ "s\u00e1bado"
+ ],
+ "MONTH": [
+ "janeiro",
+ "fevereiro",
+ "mar\u00e7o",
+ "abril",
+ "maio",
+ "junho",
+ "julho",
+ "agosto",
+ "setembro",
+ "outubro",
+ "novembro",
+ "dezembro"
+ ],
+ "SHORTDAY": [
+ "dom",
+ "seg",
+ "ter",
+ "qua",
+ "qui",
+ "sex",
+ "s\u00e1b"
+ ],
+ "SHORTMONTH": [
+ "jan",
+ "fev",
+ "mar",
+ "abr",
+ "mai",
+ "jun",
+ "jul",
+ "ago",
+ "set",
+ "out",
+ "nov",
+ "dez"
+ ],
"fullDate": "EEEE, d 'de' MMMM 'de' y",
"longDate": "d 'de' MMMM 'de' y",
"medium": "dd/MM/yyyy HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "R$",
"DECIMAL_SEP": ",",
"GROUP_SEP": ".",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4",
"posSuf": ""
}
- }
+ ]
},
"id": "pt",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ro-ro.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ro-ro.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ro-ro.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "AM",
- "1": "PM"
- },
- "DAY": {
- "0": "duminic\u0103",
- "1": "luni",
- "2": "mar\u021bi",
- "3": "miercuri",
- "4": "joi",
- "5": "vineri",
- "6": "s\u00e2mb\u0103t\u0103"
- },
- "MONTH": {
- "0": "ianuarie",
- "1": "februarie",
- "2": "martie",
- "3": "aprilie",
- "4": "mai",
- "5": "iunie",
- "6": "iulie",
- "7": "august",
- "8": "septembrie",
- "9": "octombrie",
- "10": "noiembrie",
- "11": "decembrie"
- },
- "SHORTDAY": {
- "0": "Du",
- "1": "Lu",
- "2": "Ma",
- "3": "Mi",
- "4": "Jo",
- "5": "Vi",
- "6": "S\u00e2"
- },
- "SHORTMONTH": {
- "0": "ian.",
- "1": "feb.",
- "2": "mar.",
- "3": "apr.",
- "4": "mai",
- "5": "iun.",
- "6": "iul.",
- "7": "aug.",
- "8": "sept.",
- "9": "oct.",
- "10": "nov.",
- "11": "dec."
- },
+ "AMPMS": [
+ "AM",
+ "PM"
+ ],
+ "DAY": [
+ "duminic\u0103",
+ "luni",
+ "mar\u021bi",
+ "miercuri",
+ "joi",
+ "vineri",
+ "s\u00e2mb\u0103t\u0103"
+ ],
+ "MONTH": [
+ "ianuarie",
+ "februarie",
+ "martie",
+ "aprilie",
+ "mai",
+ "iunie",
+ "iulie",
+ "august",
+ "septembrie",
+ "octombrie",
+ "noiembrie",
+ "decembrie"
+ ],
+ "SHORTDAY": [
+ "Du",
+ "Lu",
+ "Ma",
+ "Mi",
+ "Jo",
+ "Vi",
+ "S\u00e2"
+ ],
+ "SHORTMONTH": [
+ "ian.",
+ "feb.",
+ "mar.",
+ "apr.",
+ "mai",
+ "iun.",
+ "iul.",
+ "aug.",
+ "sept.",
+ "oct.",
+ "nov.",
+ "dec."
+ ],
"fullDate": "EEEE, d MMMM y",
"longDate": "d MMMM y",
"medium": "dd.MM.yyyy HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "RON",
"DECIMAL_SEP": ",",
"GROUP_SEP": ".",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "ro-ro",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } if (n == 0 || n != 1 && n == (n | 0) && n % 100 >= 1 && n % 100 <= 19) { return PLURAL_CATEGORY.FEW; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ro.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ro.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ro.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "AM",
- "1": "PM"
- },
- "DAY": {
- "0": "duminic\u0103",
- "1": "luni",
- "2": "mar\u021bi",
- "3": "miercuri",
- "4": "joi",
- "5": "vineri",
- "6": "s\u00e2mb\u0103t\u0103"
- },
- "MONTH": {
- "0": "ianuarie",
- "1": "februarie",
- "2": "martie",
- "3": "aprilie",
- "4": "mai",
- "5": "iunie",
- "6": "iulie",
- "7": "august",
- "8": "septembrie",
- "9": "octombrie",
- "10": "noiembrie",
- "11": "decembrie"
- },
- "SHORTDAY": {
- "0": "Du",
- "1": "Lu",
- "2": "Ma",
- "3": "Mi",
- "4": "Jo",
- "5": "Vi",
- "6": "S\u00e2"
- },
- "SHORTMONTH": {
- "0": "ian.",
- "1": "feb.",
- "2": "mar.",
- "3": "apr.",
- "4": "mai",
- "5": "iun.",
- "6": "iul.",
- "7": "aug.",
- "8": "sept.",
- "9": "oct.",
- "10": "nov.",
- "11": "dec."
- },
+ "AMPMS": [
+ "AM",
+ "PM"
+ ],
+ "DAY": [
+ "duminic\u0103",
+ "luni",
+ "mar\u021bi",
+ "miercuri",
+ "joi",
+ "vineri",
+ "s\u00e2mb\u0103t\u0103"
+ ],
+ "MONTH": [
+ "ianuarie",
+ "februarie",
+ "martie",
+ "aprilie",
+ "mai",
+ "iunie",
+ "iulie",
+ "august",
+ "septembrie",
+ "octombrie",
+ "noiembrie",
+ "decembrie"
+ ],
+ "SHORTDAY": [
+ "Du",
+ "Lu",
+ "Ma",
+ "Mi",
+ "Jo",
+ "Vi",
+ "S\u00e2"
+ ],
+ "SHORTMONTH": [
+ "ian.",
+ "feb.",
+ "mar.",
+ "apr.",
+ "mai",
+ "iun.",
+ "iul.",
+ "aug.",
+ "sept.",
+ "oct.",
+ "nov.",
+ "dec."
+ ],
"fullDate": "EEEE, d MMMM y",
"longDate": "d MMMM y",
"medium": "dd.MM.yyyy HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "RON",
"DECIMAL_SEP": ",",
"GROUP_SEP": ".",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "ro",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } if (n == 0 || n != 1 && n == (n | 0) && n % 100 >= 1 && n % 100 <= 19) { return PLURAL_CATEGORY.FEW; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ru-ru.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ru-ru.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ru-ru.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "\u0434\u043e \u043f\u043e\u043b\u0443\u0434\u043d\u044f",
- "1": "\u043f\u043e\u0441\u043b\u0435 \u043f\u043e\u043b\u0443\u0434\u043d\u044f"
- },
- "DAY": {
- "0": "\u0432\u043e\u0441\u043a\u0440\u0435\u0441\u0435\u043d\u044c\u0435",
- "1": "\u043f\u043e\u043d\u0435\u0434\u0435\u043b\u044c\u043d\u0438\u043a",
- "2": "\u0432\u0442\u043e\u0440\u043d\u0438\u043a",
- "3": "\u0441\u0440\u0435\u0434\u0430",
- "4": "\u0447\u0435\u0442\u0432\u0435\u0440\u0433",
- "5": "\u043f\u044f\u0442\u043d\u0438\u0446\u0430",
- "6": "\u0441\u0443\u0431\u0431\u043e\u0442\u0430"
- },
- "MONTH": {
- "0": "\u044f\u043d\u0432\u0430\u0440\u044f",
- "1": "\u0444\u0435\u0432\u0440\u0430\u043b\u044f",
- "2": "\u043c\u0430\u0440\u0442\u0430",
- "3": "\u0430\u043f\u0440\u0435\u043b\u044f",
- "4": "\u043c\u0430\u044f",
- "5": "\u0438\u044e\u043d\u044f",
- "6": "\u0438\u044e\u043b\u044f",
- "7": "\u0430\u0432\u0433\u0443\u0441\u0442\u0430",
- "8": "\u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044f",
- "9": "\u043e\u043a\u0442\u044f\u0431\u0440\u044f",
- "10": "\u043d\u043e\u044f\u0431\u0440\u044f",
- "11": "\u0434\u0435\u043a\u0430\u0431\u0440\u044f"
- },
- "SHORTDAY": {
- "0": "\u0432\u0441",
- "1": "\u043f\u043d",
- "2": "\u0432\u0442",
- "3": "\u0441\u0440",
- "4": "\u0447\u0442",
- "5": "\u043f\u0442",
- "6": "\u0441\u0431"
- },
- "SHORTMONTH": {
- "0": "\u044f\u043d\u0432.",
- "1": "\u0444\u0435\u0432\u0440.",
- "2": "\u043c\u0430\u0440\u0442\u0430",
- "3": "\u0430\u043f\u0440.",
- "4": "\u043c\u0430\u044f",
- "5": "\u0438\u044e\u043d\u044f",
- "6": "\u0438\u044e\u043b\u044f",
- "7": "\u0430\u0432\u0433.",
- "8": "\u0441\u0435\u043d\u0442.",
- "9": "\u043e\u043a\u0442.",
- "10": "\u043d\u043e\u044f\u0431.",
- "11": "\u0434\u0435\u043a."
- },
+ "AMPMS": [
+ "\u0434\u043e \u043f\u043e\u043b\u0443\u0434\u043d\u044f",
+ "\u043f\u043e\u0441\u043b\u0435 \u043f\u043e\u043b\u0443\u0434\u043d\u044f"
+ ],
+ "DAY": [
+ "\u0432\u043e\u0441\u043a\u0440\u0435\u0441\u0435\u043d\u044c\u0435",
+ "\u043f\u043e\u043d\u0435\u0434\u0435\u043b\u044c\u043d\u0438\u043a",
+ "\u0432\u0442\u043e\u0440\u043d\u0438\u043a",
+ "\u0441\u0440\u0435\u0434\u0430",
+ "\u0447\u0435\u0442\u0432\u0435\u0440\u0433",
+ "\u043f\u044f\u0442\u043d\u0438\u0446\u0430",
+ "\u0441\u0443\u0431\u0431\u043e\u0442\u0430"
+ ],
+ "MONTH": [
+ "\u044f\u043d\u0432\u0430\u0440\u044f",
+ "\u0444\u0435\u0432\u0440\u0430\u043b\u044f",
+ "\u043c\u0430\u0440\u0442\u0430",
+ "\u0430\u043f\u0440\u0435\u043b\u044f",
+ "\u043c\u0430\u044f",
+ "\u0438\u044e\u043d\u044f",
+ "\u0438\u044e\u043b\u044f",
+ "\u0430\u0432\u0433\u0443\u0441\u0442\u0430",
+ "\u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044f",
+ "\u043e\u043a\u0442\u044f\u0431\u0440\u044f",
+ "\u043d\u043e\u044f\u0431\u0440\u044f",
+ "\u0434\u0435\u043a\u0430\u0431\u0440\u044f"
+ ],
+ "SHORTDAY": [
+ "\u0432\u0441",
+ "\u043f\u043d",
+ "\u0432\u0442",
+ "\u0441\u0440",
+ "\u0447\u0442",
+ "\u043f\u0442",
+ "\u0441\u0431"
+ ],
+ "SHORTMONTH": [
+ "\u044f\u043d\u0432.",
+ "\u0444\u0435\u0432\u0440.",
+ "\u043c\u0430\u0440\u0442\u0430",
+ "\u0430\u043f\u0440.",
+ "\u043c\u0430\u044f",
+ "\u0438\u044e\u043d\u044f",
+ "\u0438\u044e\u043b\u044f",
+ "\u0430\u0432\u0433.",
+ "\u0441\u0435\u043d\u0442.",
+ "\u043e\u043a\u0442.",
+ "\u043d\u043e\u044f\u0431.",
+ "\u0434\u0435\u043a."
+ ],
"fullDate": "EEEE, d MMMM y\u00a0'\u0433'.",
"longDate": "d MMMM y\u00a0'\u0433'.",
"medium": "dd.MM.yyyy H:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u0440\u0443\u0431.",
"DECIMAL_SEP": ",",
"GROUP_SEP": "\u00a0",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "ru-ru",
"pluralCat": function (n) { if (n % 10 == 1 && n % 100 != 11) { return PLURAL_CATEGORY.ONE; } if (n == (n | 0) && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14)) { return PLURAL_CATEGORY.FEW; } if (n % 10 == 0 || n == (n | 0) && n % 10 >= 5 && n % 10 <= 9 || n == (n | 0) && n % 100 >= 11 && n % 100 <= 14) { return PLURAL_CATEGORY.MANY; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ru.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ru.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ru.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "\u0434\u043e \u043f\u043e\u043b\u0443\u0434\u043d\u044f",
- "1": "\u043f\u043e\u0441\u043b\u0435 \u043f\u043e\u043b\u0443\u0434\u043d\u044f"
- },
- "DAY": {
- "0": "\u0432\u043e\u0441\u043a\u0440\u0435\u0441\u0435\u043d\u044c\u0435",
- "1": "\u043f\u043e\u043d\u0435\u0434\u0435\u043b\u044c\u043d\u0438\u043a",
- "2": "\u0432\u0442\u043e\u0440\u043d\u0438\u043a",
- "3": "\u0441\u0440\u0435\u0434\u0430",
- "4": "\u0447\u0435\u0442\u0432\u0435\u0440\u0433",
- "5": "\u043f\u044f\u0442\u043d\u0438\u0446\u0430",
- "6": "\u0441\u0443\u0431\u0431\u043e\u0442\u0430"
- },
- "MONTH": {
- "0": "\u044f\u043d\u0432\u0430\u0440\u044f",
- "1": "\u0444\u0435\u0432\u0440\u0430\u043b\u044f",
- "2": "\u043c\u0430\u0440\u0442\u0430",
- "3": "\u0430\u043f\u0440\u0435\u043b\u044f",
- "4": "\u043c\u0430\u044f",
- "5": "\u0438\u044e\u043d\u044f",
- "6": "\u0438\u044e\u043b\u044f",
- "7": "\u0430\u0432\u0433\u0443\u0441\u0442\u0430",
- "8": "\u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044f",
- "9": "\u043e\u043a\u0442\u044f\u0431\u0440\u044f",
- "10": "\u043d\u043e\u044f\u0431\u0440\u044f",
- "11": "\u0434\u0435\u043a\u0430\u0431\u0440\u044f"
- },
- "SHORTDAY": {
- "0": "\u0432\u0441",
- "1": "\u043f\u043d",
- "2": "\u0432\u0442",
- "3": "\u0441\u0440",
- "4": "\u0447\u0442",
- "5": "\u043f\u0442",
- "6": "\u0441\u0431"
- },
- "SHORTMONTH": {
- "0": "\u044f\u043d\u0432.",
- "1": "\u0444\u0435\u0432\u0440.",
- "2": "\u043c\u0430\u0440\u0442\u0430",
- "3": "\u0430\u043f\u0440.",
- "4": "\u043c\u0430\u044f",
- "5": "\u0438\u044e\u043d\u044f",
- "6": "\u0438\u044e\u043b\u044f",
- "7": "\u0430\u0432\u0433.",
- "8": "\u0441\u0435\u043d\u0442.",
- "9": "\u043e\u043a\u0442.",
- "10": "\u043d\u043e\u044f\u0431.",
- "11": "\u0434\u0435\u043a."
- },
+ "AMPMS": [
+ "\u0434\u043e \u043f\u043e\u043b\u0443\u0434\u043d\u044f",
+ "\u043f\u043e\u0441\u043b\u0435 \u043f\u043e\u043b\u0443\u0434\u043d\u044f"
+ ],
+ "DAY": [
+ "\u0432\u043e\u0441\u043a\u0440\u0435\u0441\u0435\u043d\u044c\u0435",
+ "\u043f\u043e\u043d\u0435\u0434\u0435\u043b\u044c\u043d\u0438\u043a",
+ "\u0432\u0442\u043e\u0440\u043d\u0438\u043a",
+ "\u0441\u0440\u0435\u0434\u0430",
+ "\u0447\u0435\u0442\u0432\u0435\u0440\u0433",
+ "\u043f\u044f\u0442\u043d\u0438\u0446\u0430",
+ "\u0441\u0443\u0431\u0431\u043e\u0442\u0430"
+ ],
+ "MONTH": [
+ "\u044f\u043d\u0432\u0430\u0440\u044f",
+ "\u0444\u0435\u0432\u0440\u0430\u043b\u044f",
+ "\u043c\u0430\u0440\u0442\u0430",
+ "\u0430\u043f\u0440\u0435\u043b\u044f",
+ "\u043c\u0430\u044f",
+ "\u0438\u044e\u043d\u044f",
+ "\u0438\u044e\u043b\u044f",
+ "\u0430\u0432\u0433\u0443\u0441\u0442\u0430",
+ "\u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044f",
+ "\u043e\u043a\u0442\u044f\u0431\u0440\u044f",
+ "\u043d\u043e\u044f\u0431\u0440\u044f",
+ "\u0434\u0435\u043a\u0430\u0431\u0440\u044f"
+ ],
+ "SHORTDAY": [
+ "\u0432\u0441",
+ "\u043f\u043d",
+ "\u0432\u0442",
+ "\u0441\u0440",
+ "\u0447\u0442",
+ "\u043f\u0442",
+ "\u0441\u0431"
+ ],
+ "SHORTMONTH": [
+ "\u044f\u043d\u0432.",
+ "\u0444\u0435\u0432\u0440.",
+ "\u043c\u0430\u0440\u0442\u0430",
+ "\u0430\u043f\u0440.",
+ "\u043c\u0430\u044f",
+ "\u0438\u044e\u043d\u044f",
+ "\u0438\u044e\u043b\u044f",
+ "\u0430\u0432\u0433.",
+ "\u0441\u0435\u043d\u0442.",
+ "\u043e\u043a\u0442.",
+ "\u043d\u043e\u044f\u0431.",
+ "\u0434\u0435\u043a."
+ ],
"fullDate": "EEEE, d MMMM y\u00a0'\u0433'.",
"longDate": "d MMMM y\u00a0'\u0433'.",
"medium": "dd.MM.yyyy H:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u0440\u0443\u0431.",
"DECIMAL_SEP": ",",
"GROUP_SEP": "\u00a0",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "ru",
"pluralCat": function (n) { if (n % 10 == 1 && n % 100 != 11) { return PLURAL_CATEGORY.ONE; } if (n == (n | 0) && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14)) { return PLURAL_CATEGORY.FEW; } if (n % 10 == 0 || n == (n | 0) && n % 10 >= 5 && n % 10 <= 9 || n == (n | 0) && n % 100 >= 11 && n % 100 <= 14) { return PLURAL_CATEGORY.MANY; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_sk-sk.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_sk-sk.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_sk-sk.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "dopoludnia",
- "1": "popoludn\u00ed"
- },
- "DAY": {
- "0": "nede\u013ea",
- "1": "pondelok",
- "2": "utorok",
- "3": "streda",
- "4": "\u0161tvrtok",
- "5": "piatok",
- "6": "sobota"
- },
- "MONTH": {
- "0": "janu\u00e1ra",
- "1": "febru\u00e1ra",
- "2": "marca",
- "3": "apr\u00edla",
- "4": "m\u00e1ja",
- "5": "j\u00fana",
- "6": "j\u00fala",
- "7": "augusta",
- "8": "septembra",
- "9": "okt\u00f3bra",
- "10": "novembra",
- "11": "decembra"
- },
- "SHORTDAY": {
- "0": "ne",
- "1": "po",
- "2": "ut",
- "3": "st",
- "4": "\u0161t",
- "5": "pi",
- "6": "so"
- },
- "SHORTMONTH": {
- "0": "jan",
- "1": "feb",
- "2": "mar",
- "3": "apr",
- "4": "m\u00e1j",
- "5": "j\u00fan",
- "6": "j\u00fal",
- "7": "aug",
- "8": "sep",
- "9": "okt",
- "10": "nov",
- "11": "dec"
- },
+ "AMPMS": [
+ "dopoludnia",
+ "popoludn\u00ed"
+ ],
+ "DAY": [
+ "nede\u013ea",
+ "pondelok",
+ "utorok",
+ "streda",
+ "\u0161tvrtok",
+ "piatok",
+ "sobota"
+ ],
+ "MONTH": [
+ "janu\u00e1ra",
+ "febru\u00e1ra",
+ "marca",
+ "apr\u00edla",
+ "m\u00e1ja",
+ "j\u00fana",
+ "j\u00fala",
+ "augusta",
+ "septembra",
+ "okt\u00f3bra",
+ "novembra",
+ "decembra"
+ ],
+ "SHORTDAY": [
+ "ne",
+ "po",
+ "ut",
+ "st",
+ "\u0161t",
+ "pi",
+ "so"
+ ],
+ "SHORTMONTH": [
+ "jan",
+ "feb",
+ "mar",
+ "apr",
+ "m\u00e1j",
+ "j\u00fan",
+ "j\u00fal",
+ "aug",
+ "sep",
+ "okt",
+ "nov",
+ "dec"
+ ],
"fullDate": "EEEE, d. MMMM y",
"longDate": "d. MMMM y",
"medium": "d.M.yyyy H:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20ac",
"DECIMAL_SEP": ",",
"GROUP_SEP": "\u00a0",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "sk-sk",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } if (n == (n | 0) && n >= 2 && n <= 4) { return PLURAL_CATEGORY.FEW; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_sk.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_sk.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_sk.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "dopoludnia",
- "1": "popoludn\u00ed"
- },
- "DAY": {
- "0": "nede\u013ea",
- "1": "pondelok",
- "2": "utorok",
- "3": "streda",
- "4": "\u0161tvrtok",
- "5": "piatok",
- "6": "sobota"
- },
- "MONTH": {
- "0": "janu\u00e1ra",
- "1": "febru\u00e1ra",
- "2": "marca",
- "3": "apr\u00edla",
- "4": "m\u00e1ja",
- "5": "j\u00fana",
- "6": "j\u00fala",
- "7": "augusta",
- "8": "septembra",
- "9": "okt\u00f3bra",
- "10": "novembra",
- "11": "decembra"
- },
- "SHORTDAY": {
- "0": "ne",
- "1": "po",
- "2": "ut",
- "3": "st",
- "4": "\u0161t",
- "5": "pi",
- "6": "so"
- },
- "SHORTMONTH": {
- "0": "jan",
- "1": "feb",
- "2": "mar",
- "3": "apr",
- "4": "m\u00e1j",
- "5": "j\u00fan",
- "6": "j\u00fal",
- "7": "aug",
- "8": "sep",
- "9": "okt",
- "10": "nov",
- "11": "dec"
- },
+ "AMPMS": [
+ "dopoludnia",
+ "popoludn\u00ed"
+ ],
+ "DAY": [
+ "nede\u013ea",
+ "pondelok",
+ "utorok",
+ "streda",
+ "\u0161tvrtok",
+ "piatok",
+ "sobota"
+ ],
+ "MONTH": [
+ "janu\u00e1ra",
+ "febru\u00e1ra",
+ "marca",
+ "apr\u00edla",
+ "m\u00e1ja",
+ "j\u00fana",
+ "j\u00fala",
+ "augusta",
+ "septembra",
+ "okt\u00f3bra",
+ "novembra",
+ "decembra"
+ ],
+ "SHORTDAY": [
+ "ne",
+ "po",
+ "ut",
+ "st",
+ "\u0161t",
+ "pi",
+ "so"
+ ],
+ "SHORTMONTH": [
+ "jan",
+ "feb",
+ "mar",
+ "apr",
+ "m\u00e1j",
+ "j\u00fan",
+ "j\u00fal",
+ "aug",
+ "sep",
+ "okt",
+ "nov",
+ "dec"
+ ],
"fullDate": "EEEE, d. MMMM y",
"longDate": "d. MMMM y",
"medium": "d.M.yyyy H:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20ac",
"DECIMAL_SEP": ",",
"GROUP_SEP": "\u00a0",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "sk",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } if (n == (n | 0) && n >= 2 && n <= 4) { return PLURAL_CATEGORY.FEW; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_sl-si.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_sl-si.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_sl-si.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "dop.",
- "1": "pop."
- },
- "DAY": {
- "0": "nedelja",
- "1": "ponedeljek",
- "2": "torek",
- "3": "sreda",
- "4": "\u010detrtek",
- "5": "petek",
- "6": "sobota"
- },
- "MONTH": {
- "0": "januar",
- "1": "februar",
- "2": "marec",
- "3": "april",
- "4": "maj",
- "5": "junij",
- "6": "julij",
- "7": "avgust",
- "8": "september",
- "9": "oktober",
- "10": "november",
- "11": "december"
- },
- "SHORTDAY": {
- "0": "ned.",
- "1": "pon.",
- "2": "tor.",
- "3": "sre.",
- "4": "\u010det.",
- "5": "pet.",
- "6": "sob."
- },
- "SHORTMONTH": {
- "0": "jan.",
- "1": "feb.",
- "2": "mar.",
- "3": "apr.",
- "4": "maj",
- "5": "jun.",
- "6": "jul.",
- "7": "avg.",
- "8": "sep.",
- "9": "okt.",
- "10": "nov.",
- "11": "dec."
- },
+ "AMPMS": [
+ "dop.",
+ "pop."
+ ],
+ "DAY": [
+ "nedelja",
+ "ponedeljek",
+ "torek",
+ "sreda",
+ "\u010detrtek",
+ "petek",
+ "sobota"
+ ],
+ "MONTH": [
+ "januar",
+ "februar",
+ "marec",
+ "april",
+ "maj",
+ "junij",
+ "julij",
+ "avgust",
+ "september",
+ "oktober",
+ "november",
+ "december"
+ ],
+ "SHORTDAY": [
+ "ned.",
+ "pon.",
+ "tor.",
+ "sre.",
+ "\u010det.",
+ "pet.",
+ "sob."
+ ],
+ "SHORTMONTH": [
+ "jan.",
+ "feb.",
+ "mar.",
+ "apr.",
+ "maj",
+ "jun.",
+ "jul.",
+ "avg.",
+ "sep.",
+ "okt.",
+ "nov.",
+ "dec."
+ ],
"fullDate": "EEEE, dd. MMMM y",
"longDate": "dd. MMMM y",
"medium": "d. MMM yyyy HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20ac",
"DECIMAL_SEP": ",",
"GROUP_SEP": ".",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4",
"posSuf": ""
}
- }
+ ]
},
"id": "sl-si",
"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;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_sl.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_sl.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_sl.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "dop.",
- "1": "pop."
- },
- "DAY": {
- "0": "nedelja",
- "1": "ponedeljek",
- "2": "torek",
- "3": "sreda",
- "4": "\u010detrtek",
- "5": "petek",
- "6": "sobota"
- },
- "MONTH": {
- "0": "januar",
- "1": "februar",
- "2": "marec",
- "3": "april",
- "4": "maj",
- "5": "junij",
- "6": "julij",
- "7": "avgust",
- "8": "september",
- "9": "oktober",
- "10": "november",
- "11": "december"
- },
- "SHORTDAY": {
- "0": "ned.",
- "1": "pon.",
- "2": "tor.",
- "3": "sre.",
- "4": "\u010det.",
- "5": "pet.",
- "6": "sob."
- },
- "SHORTMONTH": {
- "0": "jan.",
- "1": "feb.",
- "2": "mar.",
- "3": "apr.",
- "4": "maj",
- "5": "jun.",
- "6": "jul.",
- "7": "avg.",
- "8": "sep.",
- "9": "okt.",
- "10": "nov.",
- "11": "dec."
- },
+ "AMPMS": [
+ "dop.",
+ "pop."
+ ],
+ "DAY": [
+ "nedelja",
+ "ponedeljek",
+ "torek",
+ "sreda",
+ "\u010detrtek",
+ "petek",
+ "sobota"
+ ],
+ "MONTH": [
+ "januar",
+ "februar",
+ "marec",
+ "april",
+ "maj",
+ "junij",
+ "julij",
+ "avgust",
+ "september",
+ "oktober",
+ "november",
+ "december"
+ ],
+ "SHORTDAY": [
+ "ned.",
+ "pon.",
+ "tor.",
+ "sre.",
+ "\u010det.",
+ "pet.",
+ "sob."
+ ],
+ "SHORTMONTH": [
+ "jan.",
+ "feb.",
+ "mar.",
+ "apr.",
+ "maj",
+ "jun.",
+ "jul.",
+ "avg.",
+ "sep.",
+ "okt.",
+ "nov.",
+ "dec."
+ ],
"fullDate": "EEEE, dd. MMMM y",
"longDate": "dd. MMMM y",
"medium": "d. MMM yyyy HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20ac",
"DECIMAL_SEP": ",",
"GROUP_SEP": ".",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4",
"posSuf": ""
}
- }
+ ]
},
"id": "sl",
"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;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_sq-al.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_sq-al.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_sq-al.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "PD",
- "1": "MD"
- },
- "DAY": {
- "0": "e diel",
- "1": "e h\u00ebn\u00eb",
- "2": "e mart\u00eb",
- "3": "e m\u00ebrkur\u00eb",
- "4": "e enjte",
- "5": "e premte",
- "6": "e shtun\u00eb"
- },
- "MONTH": {
- "0": "janar",
- "1": "shkurt",
- "2": "mars",
- "3": "prill",
- "4": "maj",
- "5": "qershor",
- "6": "korrik",
- "7": "gusht",
- "8": "shtator",
- "9": "tetor",
- "10": "n\u00ebntor",
- "11": "dhjetor"
- },
- "SHORTDAY": {
- "0": "Die",
- "1": "H\u00ebn",
- "2": "Mar",
- "3": "M\u00ebr",
- "4": "Enj",
- "5": "Pre",
- "6": "Sht"
- },
- "SHORTMONTH": {
- "0": "Jan",
- "1": "Shk",
- "2": "Mar",
- "3": "Pri",
- "4": "Maj",
- "5": "Qer",
- "6": "Kor",
- "7": "Gsh",
- "8": "Sht",
- "9": "Tet",
- "10": "N\u00ebn",
- "11": "Dhj"
- },
+ "AMPMS": [
+ "PD",
+ "MD"
+ ],
+ "DAY": [
+ "e diel",
+ "e h\u00ebn\u00eb",
+ "e mart\u00eb",
+ "e m\u00ebrkur\u00eb",
+ "e enjte",
+ "e premte",
+ "e shtun\u00eb"
+ ],
+ "MONTH": [
+ "janar",
+ "shkurt",
+ "mars",
+ "prill",
+ "maj",
+ "qershor",
+ "korrik",
+ "gusht",
+ "shtator",
+ "tetor",
+ "n\u00ebntor",
+ "dhjetor"
+ ],
+ "SHORTDAY": [
+ "Die",
+ "H\u00ebn",
+ "Mar",
+ "M\u00ebr",
+ "Enj",
+ "Pre",
+ "Sht"
+ ],
+ "SHORTMONTH": [
+ "Jan",
+ "Shk",
+ "Mar",
+ "Pri",
+ "Maj",
+ "Qer",
+ "Kor",
+ "Gsh",
+ "Sht",
+ "Tet",
+ "N\u00ebn",
+ "Dhj"
+ ],
"fullDate": "EEEE, dd MMMM y",
"longDate": "dd MMMM y",
"medium": "yyyy-MM-dd h.mm.ss.a",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "Lek",
"DECIMAL_SEP": ",",
"GROUP_SEP": "\u00a0",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4",
"posSuf": ""
}
- }
+ ]
},
"id": "sq-al",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_sq.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_sq.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_sq.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "PD",
- "1": "MD"
- },
- "DAY": {
- "0": "e diel",
- "1": "e h\u00ebn\u00eb",
- "2": "e mart\u00eb",
- "3": "e m\u00ebrkur\u00eb",
- "4": "e enjte",
- "5": "e premte",
- "6": "e shtun\u00eb"
- },
- "MONTH": {
- "0": "janar",
- "1": "shkurt",
- "2": "mars",
- "3": "prill",
- "4": "maj",
- "5": "qershor",
- "6": "korrik",
- "7": "gusht",
- "8": "shtator",
- "9": "tetor",
- "10": "n\u00ebntor",
- "11": "dhjetor"
- },
- "SHORTDAY": {
- "0": "Die",
- "1": "H\u00ebn",
- "2": "Mar",
- "3": "M\u00ebr",
- "4": "Enj",
- "5": "Pre",
- "6": "Sht"
- },
- "SHORTMONTH": {
- "0": "Jan",
- "1": "Shk",
- "2": "Mar",
- "3": "Pri",
- "4": "Maj",
- "5": "Qer",
- "6": "Kor",
- "7": "Gsh",
- "8": "Sht",
- "9": "Tet",
- "10": "N\u00ebn",
- "11": "Dhj"
- },
+ "AMPMS": [
+ "PD",
+ "MD"
+ ],
+ "DAY": [
+ "e diel",
+ "e h\u00ebn\u00eb",
+ "e mart\u00eb",
+ "e m\u00ebrkur\u00eb",
+ "e enjte",
+ "e premte",
+ "e shtun\u00eb"
+ ],
+ "MONTH": [
+ "janar",
+ "shkurt",
+ "mars",
+ "prill",
+ "maj",
+ "qershor",
+ "korrik",
+ "gusht",
+ "shtator",
+ "tetor",
+ "n\u00ebntor",
+ "dhjetor"
+ ],
+ "SHORTDAY": [
+ "Die",
+ "H\u00ebn",
+ "Mar",
+ "M\u00ebr",
+ "Enj",
+ "Pre",
+ "Sht"
+ ],
+ "SHORTMONTH": [
+ "Jan",
+ "Shk",
+ "Mar",
+ "Pri",
+ "Maj",
+ "Qer",
+ "Kor",
+ "Gsh",
+ "Sht",
+ "Tet",
+ "N\u00ebn",
+ "Dhj"
+ ],
"fullDate": "EEEE, dd MMMM y",
"longDate": "dd MMMM y",
"medium": "yyyy-MM-dd h.mm.ss.a",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "Lek",
"DECIMAL_SEP": ",",
"GROUP_SEP": "\u00a0",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4",
"posSuf": ""
}
- }
+ ]
},
"id": "sq",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_sr-cyrl-rs.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_sr-cyrl-rs.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_sr-cyrl-rs.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "\u043f\u0440\u0435 \u043f\u043e\u0434\u043d\u0435",
- "1": "\u043f\u043e\u043f\u043e\u0434\u043d\u0435"
- },
- "DAY": {
- "0": "\u043d\u0435\u0434\u0435\u0459\u0430",
- "1": "\u043f\u043e\u043d\u0435\u0434\u0435\u0459\u0430\u043a",
- "2": "\u0443\u0442\u043e\u0440\u0430\u043a",
- "3": "\u0441\u0440\u0435\u0434\u0430",
- "4": "\u0447\u0435\u0442\u0432\u0440\u0442\u0430\u043a",
- "5": "\u043f\u0435\u0442\u0430\u043a",
- "6": "\u0441\u0443\u0431\u043e\u0442\u0430"
- },
- "MONTH": {
- "0": "\u0458\u0430\u043d\u0443\u0430\u0440",
- "1": "\u0444\u0435\u0431\u0440\u0443\u0430\u0440",
- "2": "\u043c\u0430\u0440\u0442",
- "3": "\u0430\u043f\u0440\u0438\u043b",
- "4": "\u043c\u0430\u0458",
- "5": "\u0458\u0443\u043d",
- "6": "\u0458\u0443\u043b",
- "7": "\u0430\u0432\u0433\u0443\u0441\u0442",
- "8": "\u0441\u0435\u043f\u0442\u0435\u043c\u0431\u0430\u0440",
- "9": "\u043e\u043a\u0442\u043e\u0431\u0430\u0440",
- "10": "\u043d\u043e\u0432\u0435\u043c\u0431\u0430\u0440",
- "11": "\u0434\u0435\u0446\u0435\u043c\u0431\u0430\u0440"
- },
- "SHORTDAY": {
- "0": "\u043d\u0435\u0434",
- "1": "\u043f\u043e\u043d",
- "2": "\u0443\u0442\u043e",
- "3": "\u0441\u0440\u0435",
- "4": "\u0447\u0435\u0442",
- "5": "\u043f\u0435\u0442",
- "6": "\u0441\u0443\u0431"
- },
- "SHORTMONTH": {
- "0": "\u0458\u0430\u043d",
- "1": "\u0444\u0435\u0431",
- "2": "\u043c\u0430\u0440",
- "3": "\u0430\u043f\u0440",
- "4": "\u043c\u0430\u0458",
- "5": "\u0458\u0443\u043d",
- "6": "\u0458\u0443\u043b",
- "7": "\u0430\u0432\u0433",
- "8": "\u0441\u0435\u043f",
- "9": "\u043e\u043a\u0442",
- "10": "\u043d\u043e\u0432",
- "11": "\u0434\u0435\u0446"
- },
+ "AMPMS": [
+ "\u043f\u0440\u0435 \u043f\u043e\u0434\u043d\u0435",
+ "\u043f\u043e\u043f\u043e\u0434\u043d\u0435"
+ ],
+ "DAY": [
+ "\u043d\u0435\u0434\u0435\u0459\u0430",
+ "\u043f\u043e\u043d\u0435\u0434\u0435\u0459\u0430\u043a",
+ "\u0443\u0442\u043e\u0440\u0430\u043a",
+ "\u0441\u0440\u0435\u0434\u0430",
+ "\u0447\u0435\u0442\u0432\u0440\u0442\u0430\u043a",
+ "\u043f\u0435\u0442\u0430\u043a",
+ "\u0441\u0443\u0431\u043e\u0442\u0430"
+ ],
+ "MONTH": [
+ "\u0458\u0430\u043d\u0443\u0430\u0440",
+ "\u0444\u0435\u0431\u0440\u0443\u0430\u0440",
+ "\u043c\u0430\u0440\u0442",
+ "\u0430\u043f\u0440\u0438\u043b",
+ "\u043c\u0430\u0458",
+ "\u0458\u0443\u043d",
+ "\u0458\u0443\u043b",
+ "\u0430\u0432\u0433\u0443\u0441\u0442",
+ "\u0441\u0435\u043f\u0442\u0435\u043c\u0431\u0430\u0440",
+ "\u043e\u043a\u0442\u043e\u0431\u0430\u0440",
+ "\u043d\u043e\u0432\u0435\u043c\u0431\u0430\u0440",
+ "\u0434\u0435\u0446\u0435\u043c\u0431\u0430\u0440"
+ ],
+ "SHORTDAY": [
+ "\u043d\u0435\u0434",
+ "\u043f\u043e\u043d",
+ "\u0443\u0442\u043e",
+ "\u0441\u0440\u0435",
+ "\u0447\u0435\u0442",
+ "\u043f\u0435\u0442",
+ "\u0441\u0443\u0431"
+ ],
+ "SHORTMONTH": [
+ "\u0458\u0430\u043d",
+ "\u0444\u0435\u0431",
+ "\u043c\u0430\u0440",
+ "\u0430\u043f\u0440",
+ "\u043c\u0430\u0458",
+ "\u0458\u0443\u043d",
+ "\u0458\u0443\u043b",
+ "\u0430\u0432\u0433",
+ "\u0441\u0435\u043f",
+ "\u043e\u043a\u0442",
+ "\u043d\u043e\u0432",
+ "\u0434\u0435\u0446"
+ ],
"fullDate": "EEEE, dd. MMMM y.",
"longDate": "dd. MMMM y.",
"medium": "dd.MM.y. HH.mm.ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "din",
"DECIMAL_SEP": ",",
"GROUP_SEP": ".",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "sr-cyrl-rs",
"pluralCat": function (n) { if (n % 10 == 1 && n % 100 != 11) { return PLURAL_CATEGORY.ONE; } if (n == (n | 0) && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14)) { return PLURAL_CATEGORY.FEW; } if (n % 10 == 0 || n == (n | 0) && n % 10 >= 5 && n % 10 <= 9 || n == (n | 0) && n % 100 >= 11 && n % 100 <= 14) { return PLURAL_CATEGORY.MANY; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_sr-latn-rs.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_sr-latn-rs.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_sr-latn-rs.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "pre podne",
- "1": "popodne"
- },
- "DAY": {
- "0": "nedelja",
- "1": "ponedeljak",
- "2": "utorak",
- "3": "sreda",
- "4": "\u010detvrtak",
- "5": "petak",
- "6": "subota"
- },
- "MONTH": {
- "0": "januar",
- "1": "februar",
- "2": "mart",
- "3": "april",
- "4": "maj",
- "5": "jun",
- "6": "jul",
- "7": "avgust",
- "8": "septembar",
- "9": "oktobar",
- "10": "novembar",
- "11": "decembar"
- },
- "SHORTDAY": {
- "0": "ned",
- "1": "pon",
- "2": "uto",
- "3": "sre",
- "4": "\u010det",
- "5": "pet",
- "6": "sub"
- },
- "SHORTMONTH": {
- "0": "jan",
- "1": "feb",
- "2": "mar",
- "3": "apr",
- "4": "maj",
- "5": "jun",
- "6": "jul",
- "7": "avg",
- "8": "sep",
- "9": "okt",
- "10": "nov",
- "11": "dec"
- },
+ "AMPMS": [
+ "pre podne",
+ "popodne"
+ ],
+ "DAY": [
+ "nedelja",
+ "ponedeljak",
+ "utorak",
+ "sreda",
+ "\u010detvrtak",
+ "petak",
+ "subota"
+ ],
+ "MONTH": [
+ "januar",
+ "februar",
+ "mart",
+ "april",
+ "maj",
+ "jun",
+ "jul",
+ "avgust",
+ "septembar",
+ "oktobar",
+ "novembar",
+ "decembar"
+ ],
+ "SHORTDAY": [
+ "ned",
+ "pon",
+ "uto",
+ "sre",
+ "\u010det",
+ "pet",
+ "sub"
+ ],
+ "SHORTMONTH": [
+ "jan",
+ "feb",
+ "mar",
+ "apr",
+ "maj",
+ "jun",
+ "jul",
+ "avg",
+ "sep",
+ "okt",
+ "nov",
+ "dec"
+ ],
"fullDate": "EEEE, dd. MMMM y.",
"longDate": "dd. MMMM y.",
"medium": "dd.MM.y. HH.mm.ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "din",
"DECIMAL_SEP": ",",
"GROUP_SEP": ".",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "sr-latn-rs",
"pluralCat": function (n) { if (n % 10 == 1 && n % 100 != 11) { return PLURAL_CATEGORY.ONE; } if (n == (n | 0) && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14)) { return PLURAL_CATEGORY.FEW; } if (n % 10 == 0 || n == (n | 0) && n % 10 >= 5 && n % 10 <= 9 || n == (n | 0) && n % 100 >= 11 && n % 100 <= 14) { return PLURAL_CATEGORY.MANY; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_sr.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_sr.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_sr.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "\u043f\u0440\u0435 \u043f\u043e\u0434\u043d\u0435",
- "1": "\u043f\u043e\u043f\u043e\u0434\u043d\u0435"
- },
- "DAY": {
- "0": "\u043d\u0435\u0434\u0435\u0459\u0430",
- "1": "\u043f\u043e\u043d\u0435\u0434\u0435\u0459\u0430\u043a",
- "2": "\u0443\u0442\u043e\u0440\u0430\u043a",
- "3": "\u0441\u0440\u0435\u0434\u0430",
- "4": "\u0447\u0435\u0442\u0432\u0440\u0442\u0430\u043a",
- "5": "\u043f\u0435\u0442\u0430\u043a",
- "6": "\u0441\u0443\u0431\u043e\u0442\u0430"
- },
- "MONTH": {
- "0": "\u0458\u0430\u043d\u0443\u0430\u0440",
- "1": "\u0444\u0435\u0431\u0440\u0443\u0430\u0440",
- "2": "\u043c\u0430\u0440\u0442",
- "3": "\u0430\u043f\u0440\u0438\u043b",
- "4": "\u043c\u0430\u0458",
- "5": "\u0458\u0443\u043d",
- "6": "\u0458\u0443\u043b",
- "7": "\u0430\u0432\u0433\u0443\u0441\u0442",
- "8": "\u0441\u0435\u043f\u0442\u0435\u043c\u0431\u0430\u0440",
- "9": "\u043e\u043a\u0442\u043e\u0431\u0430\u0440",
- "10": "\u043d\u043e\u0432\u0435\u043c\u0431\u0430\u0440",
- "11": "\u0434\u0435\u0446\u0435\u043c\u0431\u0430\u0440"
- },
- "SHORTDAY": {
- "0": "\u043d\u0435\u0434",
- "1": "\u043f\u043e\u043d",
- "2": "\u0443\u0442\u043e",
- "3": "\u0441\u0440\u0435",
- "4": "\u0447\u0435\u0442",
- "5": "\u043f\u0435\u0442",
- "6": "\u0441\u0443\u0431"
- },
- "SHORTMONTH": {
- "0": "\u0458\u0430\u043d",
- "1": "\u0444\u0435\u0431",
- "2": "\u043c\u0430\u0440",
- "3": "\u0430\u043f\u0440",
- "4": "\u043c\u0430\u0458",
- "5": "\u0458\u0443\u043d",
- "6": "\u0458\u0443\u043b",
- "7": "\u0430\u0432\u0433",
- "8": "\u0441\u0435\u043f",
- "9": "\u043e\u043a\u0442",
- "10": "\u043d\u043e\u0432",
- "11": "\u0434\u0435\u0446"
- },
+ "AMPMS": [
+ "\u043f\u0440\u0435 \u043f\u043e\u0434\u043d\u0435",
+ "\u043f\u043e\u043f\u043e\u0434\u043d\u0435"
+ ],
+ "DAY": [
+ "\u043d\u0435\u0434\u0435\u0459\u0430",
+ "\u043f\u043e\u043d\u0435\u0434\u0435\u0459\u0430\u043a",
+ "\u0443\u0442\u043e\u0440\u0430\u043a",
+ "\u0441\u0440\u0435\u0434\u0430",
+ "\u0447\u0435\u0442\u0432\u0440\u0442\u0430\u043a",
+ "\u043f\u0435\u0442\u0430\u043a",
+ "\u0441\u0443\u0431\u043e\u0442\u0430"
+ ],
+ "MONTH": [
+ "\u0458\u0430\u043d\u0443\u0430\u0440",
+ "\u0444\u0435\u0431\u0440\u0443\u0430\u0440",
+ "\u043c\u0430\u0440\u0442",
+ "\u0430\u043f\u0440\u0438\u043b",
+ "\u043c\u0430\u0458",
+ "\u0458\u0443\u043d",
+ "\u0458\u0443\u043b",
+ "\u0430\u0432\u0433\u0443\u0441\u0442",
+ "\u0441\u0435\u043f\u0442\u0435\u043c\u0431\u0430\u0440",
+ "\u043e\u043a\u0442\u043e\u0431\u0430\u0440",
+ "\u043d\u043e\u0432\u0435\u043c\u0431\u0430\u0440",
+ "\u0434\u0435\u0446\u0435\u043c\u0431\u0430\u0440"
+ ],
+ "SHORTDAY": [
+ "\u043d\u0435\u0434",
+ "\u043f\u043e\u043d",
+ "\u0443\u0442\u043e",
+ "\u0441\u0440\u0435",
+ "\u0447\u0435\u0442",
+ "\u043f\u0435\u0442",
+ "\u0441\u0443\u0431"
+ ],
+ "SHORTMONTH": [
+ "\u0458\u0430\u043d",
+ "\u0444\u0435\u0431",
+ "\u043c\u0430\u0440",
+ "\u0430\u043f\u0440",
+ "\u043c\u0430\u0458",
+ "\u0458\u0443\u043d",
+ "\u0458\u0443\u043b",
+ "\u0430\u0432\u0433",
+ "\u0441\u0435\u043f",
+ "\u043e\u043a\u0442",
+ "\u043d\u043e\u0432",
+ "\u0434\u0435\u0446"
+ ],
"fullDate": "EEEE, dd. MMMM y.",
"longDate": "dd. MMMM y.",
"medium": "dd.MM.y. HH.mm.ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "din",
"DECIMAL_SEP": ",",
"GROUP_SEP": ".",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "sr",
"pluralCat": function (n) { if (n % 10 == 1 && n % 100 != 11) { return PLURAL_CATEGORY.ONE; } if (n == (n | 0) && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14)) { return PLURAL_CATEGORY.FEW; } if (n % 10 == 0 || n == (n | 0) && n % 10 >= 5 && n % 10 <= 9 || n == (n | 0) && n % 100 >= 11 && n % 100 <= 14) { return PLURAL_CATEGORY.MANY; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_sv-se.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_sv-se.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_sv-se.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "fm",
- "1": "em"
- },
- "DAY": {
- "0": "s\u00f6ndag",
- "1": "m\u00e5ndag",
- "2": "tisdag",
- "3": "onsdag",
- "4": "torsdag",
- "5": "fredag",
- "6": "l\u00f6rdag"
- },
- "MONTH": {
- "0": "januari",
- "1": "februari",
- "2": "mars",
- "3": "april",
- "4": "maj",
- "5": "juni",
- "6": "juli",
- "7": "augusti",
- "8": "september",
- "9": "oktober",
- "10": "november",
- "11": "december"
- },
- "SHORTDAY": {
- "0": "s\u00f6n",
- "1": "m\u00e5n",
- "2": "tis",
- "3": "ons",
- "4": "tors",
- "5": "fre",
- "6": "l\u00f6r"
- },
- "SHORTMONTH": {
- "0": "jan",
- "1": "feb",
- "2": "mar",
- "3": "apr",
- "4": "maj",
- "5": "jun",
- "6": "jul",
- "7": "aug",
- "8": "sep",
- "9": "okt",
- "10": "nov",
- "11": "dec"
- },
+ "AMPMS": [
+ "fm",
+ "em"
+ ],
+ "DAY": [
+ "s\u00f6ndag",
+ "m\u00e5ndag",
+ "tisdag",
+ "onsdag",
+ "torsdag",
+ "fredag",
+ "l\u00f6rdag"
+ ],
+ "MONTH": [
+ "januari",
+ "februari",
+ "mars",
+ "april",
+ "maj",
+ "juni",
+ "juli",
+ "augusti",
+ "september",
+ "oktober",
+ "november",
+ "december"
+ ],
+ "SHORTDAY": [
+ "s\u00f6n",
+ "m\u00e5n",
+ "tis",
+ "ons",
+ "tors",
+ "fre",
+ "l\u00f6r"
+ ],
+ "SHORTMONTH": [
+ "jan",
+ "feb",
+ "mar",
+ "apr",
+ "maj",
+ "jun",
+ "jul",
+ "aug",
+ "sep",
+ "okt",
+ "nov",
+ "dec"
+ ],
"fullDate": "EEEE'en' 'den' d:'e' MMMM y",
"longDate": "d MMMM y",
"medium": "d MMM y HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "kr",
"DECIMAL_SEP": ",",
"GROUP_SEP": "\u00a0",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "sv-se",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_sv.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_sv.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_sv.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "fm",
- "1": "em"
- },
- "DAY": {
- "0": "s\u00f6ndag",
- "1": "m\u00e5ndag",
- "2": "tisdag",
- "3": "onsdag",
- "4": "torsdag",
- "5": "fredag",
- "6": "l\u00f6rdag"
- },
- "MONTH": {
- "0": "januari",
- "1": "februari",
- "2": "mars",
- "3": "april",
- "4": "maj",
- "5": "juni",
- "6": "juli",
- "7": "augusti",
- "8": "september",
- "9": "oktober",
- "10": "november",
- "11": "december"
- },
- "SHORTDAY": {
- "0": "s\u00f6n",
- "1": "m\u00e5n",
- "2": "tis",
- "3": "ons",
- "4": "tors",
- "5": "fre",
- "6": "l\u00f6r"
- },
- "SHORTMONTH": {
- "0": "jan",
- "1": "feb",
- "2": "mar",
- "3": "apr",
- "4": "maj",
- "5": "jun",
- "6": "jul",
- "7": "aug",
- "8": "sep",
- "9": "okt",
- "10": "nov",
- "11": "dec"
- },
+ "AMPMS": [
+ "fm",
+ "em"
+ ],
+ "DAY": [
+ "s\u00f6ndag",
+ "m\u00e5ndag",
+ "tisdag",
+ "onsdag",
+ "torsdag",
+ "fredag",
+ "l\u00f6rdag"
+ ],
+ "MONTH": [
+ "januari",
+ "februari",
+ "mars",
+ "april",
+ "maj",
+ "juni",
+ "juli",
+ "augusti",
+ "september",
+ "oktober",
+ "november",
+ "december"
+ ],
+ "SHORTDAY": [
+ "s\u00f6n",
+ "m\u00e5n",
+ "tis",
+ "ons",
+ "tors",
+ "fre",
+ "l\u00f6r"
+ ],
+ "SHORTMONTH": [
+ "jan",
+ "feb",
+ "mar",
+ "apr",
+ "maj",
+ "jun",
+ "jul",
+ "aug",
+ "sep",
+ "okt",
+ "nov",
+ "dec"
+ ],
"fullDate": "EEEE'en' 'den' d:'e' MMMM y",
"longDate": "d MMMM y",
"medium": "d MMM y HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "kr",
"DECIMAL_SEP": ",",
"GROUP_SEP": "\u00a0",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "sv",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_sw-tz.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_sw-tz.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_sw-tz.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "asubuhi",
- "1": "alasiri"
- },
- "DAY": {
- "0": "Jumapili",
- "1": "Jumatatu",
- "2": "Jumanne",
- "3": "Jumatano",
- "4": "Alhamisi",
- "5": "Ijumaa",
- "6": "Jumamosi"
- },
- "MONTH": {
- "0": "Januari",
- "1": "Februari",
- "2": "Machi",
- "3": "Aprili",
- "4": "Mei",
- "5": "Juni",
- "6": "Julai",
- "7": "Agosti",
- "8": "Septemba",
- "9": "Oktoba",
- "10": "Novemba",
- "11": "Desemba"
- },
- "SHORTDAY": {
- "0": "J2",
- "1": "J3",
- "2": "J4",
- "3": "J5",
- "4": "Alh",
- "5": "Ij",
- "6": "J1"
- },
- "SHORTMONTH": {
- "0": "Jan",
- "1": "Feb",
- "2": "Mac",
- "3": "Apr",
- "4": "Mei",
- "5": "Jun",
- "6": "Jul",
- "7": "Ago",
- "8": "Sep",
- "9": "Okt",
- "10": "Nov",
- "11": "Des"
- },
+ "AMPMS": [
+ "asubuhi",
+ "alasiri"
+ ],
+ "DAY": [
+ "Jumapili",
+ "Jumatatu",
+ "Jumanne",
+ "Jumatano",
+ "Alhamisi",
+ "Ijumaa",
+ "Jumamosi"
+ ],
+ "MONTH": [
+ "Januari",
+ "Februari",
+ "Machi",
+ "Aprili",
+ "Mei",
+ "Juni",
+ "Julai",
+ "Agosti",
+ "Septemba",
+ "Oktoba",
+ "Novemba",
+ "Desemba"
+ ],
+ "SHORTDAY": [
+ "J2",
+ "J3",
+ "J4",
+ "J5",
+ "Alh",
+ "Ij",
+ "J1"
+ ],
+ "SHORTMONTH": [
+ "Jan",
+ "Feb",
+ "Mac",
+ "Apr",
+ "Mei",
+ "Jun",
+ "Jul",
+ "Ago",
+ "Sep",
+ "Okt",
+ "Nov",
+ "Des"
+ ],
"fullDate": "EEEE, d MMMM y",
"longDate": "d MMMM y",
"medium": "d MMM y h:mm:ss a",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "TSh",
"DECIMAL_SEP": ".",
"GROUP_SEP": ",",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4",
"posSuf": ""
}
- }
+ ]
},
"id": "sw-tz",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_sw.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_sw.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_sw.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "asubuhi",
- "1": "alasiri"
- },
- "DAY": {
- "0": "Jumapili",
- "1": "Jumatatu",
- "2": "Jumanne",
- "3": "Jumatano",
- "4": "Alhamisi",
- "5": "Ijumaa",
- "6": "Jumamosi"
- },
- "MONTH": {
- "0": "Januari",
- "1": "Februari",
- "2": "Machi",
- "3": "Aprili",
- "4": "Mei",
- "5": "Juni",
- "6": "Julai",
- "7": "Agosti",
- "8": "Septemba",
- "9": "Oktoba",
- "10": "Novemba",
- "11": "Desemba"
- },
- "SHORTDAY": {
- "0": "J2",
- "1": "J3",
- "2": "J4",
- "3": "J5",
- "4": "Alh",
- "5": "Ij",
- "6": "J1"
- },
- "SHORTMONTH": {
- "0": "Jan",
- "1": "Feb",
- "2": "Mac",
- "3": "Apr",
- "4": "Mei",
- "5": "Jun",
- "6": "Jul",
- "7": "Ago",
- "8": "Sep",
- "9": "Okt",
- "10": "Nov",
- "11": "Des"
- },
+ "AMPMS": [
+ "asubuhi",
+ "alasiri"
+ ],
+ "DAY": [
+ "Jumapili",
+ "Jumatatu",
+ "Jumanne",
+ "Jumatano",
+ "Alhamisi",
+ "Ijumaa",
+ "Jumamosi"
+ ],
+ "MONTH": [
+ "Januari",
+ "Februari",
+ "Machi",
+ "Aprili",
+ "Mei",
+ "Juni",
+ "Julai",
+ "Agosti",
+ "Septemba",
+ "Oktoba",
+ "Novemba",
+ "Desemba"
+ ],
+ "SHORTDAY": [
+ "J2",
+ "J3",
+ "J4",
+ "J5",
+ "Alh",
+ "Ij",
+ "J1"
+ ],
+ "SHORTMONTH": [
+ "Jan",
+ "Feb",
+ "Mac",
+ "Apr",
+ "Mei",
+ "Jun",
+ "Jul",
+ "Ago",
+ "Sep",
+ "Okt",
+ "Nov",
+ "Des"
+ ],
"fullDate": "EEEE, d MMMM y",
"longDate": "d MMMM y",
"medium": "d MMM y h:mm:ss a",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "TSh",
"DECIMAL_SEP": ".",
"GROUP_SEP": ",",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4",
"posSuf": ""
}
- }
+ ]
},
"id": "sw",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ta-in.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ta-in.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ta-in.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "am",
- "1": "pm"
- },
- "DAY": {
- "0": "\u0b9e\u0bbe\u0baf\u0bbf\u0bb1\u0bc1",
- "1": "\u0ba4\u0bbf\u0b99\u0bcd\u0b95\u0bb3\u0bcd",
- "2": "\u0b9a\u0bc6\u0bb5\u0bcd\u0bb5\u0bbe\u0baf\u0bcd",
- "3": "\u0baa\u0bc1\u0ba4\u0ba9\u0bcd",
- "4": "\u0bb5\u0bbf\u0baf\u0bbe\u0bb4\u0ba9\u0bcd",
- "5": "\u0bb5\u0bc6\u0bb3\u0bcd\u0bb3\u0bbf",
- "6": "\u0b9a\u0ba9\u0bbf"
- },
- "MONTH": {
- "0": "\u0b9c\u0ba9\u0bb5\u0bb0\u0bbf",
- "1": "\u0baa\u0bbf\u0baa\u0bcd\u0bb0\u0bb5\u0bb0\u0bbf",
- "2": "\u0bae\u0bbe\u0bb0\u0bcd\u0b9a\u0bcd",
- "3": "\u0b8f\u0baa\u0bcd\u0bb0\u0bb2\u0bcd",
- "4": "\u0bae\u0bc7",
- "5": "\u0b9c\u0bc2\u0ba9\u0bcd",
- "6": "\u0b9c\u0bc2\u0bb2\u0bc8",
- "7": "\u0b86\u0b95\u0bb8\u0bcd\u0b9f\u0bcd",
- "8": "\u0b9a\u0bc6\u0baa\u0bcd\u0b9f\u0bae\u0bcd\u0baa\u0bb0\u0bcd",
- "9": "\u0b85\u0b95\u0bcd\u0b9f\u0bcb\u0baa\u0bb0\u0bcd",
- "10": "\u0ba8\u0bb5\u0bae\u0bcd\u0baa\u0bb0\u0bcd",
- "11": "\u0b9f\u0bbf\u0b9a\u0bae\u0bcd\u0baa\u0bb0\u0bcd"
- },
- "SHORTDAY": {
- "0": "\u0b9e\u0bbe",
- "1": "\u0ba4\u0bbf",
- "2": "\u0b9a\u0bc6",
- "3": "\u0baa\u0bc1",
- "4": "\u0bb5\u0bbf",
- "5": "\u0bb5\u0bc6",
- "6": "\u0b9a"
- },
- "SHORTMONTH": {
- "0": "\u0b9c\u0ba9.",
- "1": "\u0baa\u0bbf\u0baa\u0bcd.",
- "2": "\u0bae\u0bbe\u0bb0\u0bcd.",
- "3": "\u0b8f\u0baa\u0bcd.",
- "4": "\u0bae\u0bc7",
- "5": "\u0b9c\u0bc2\u0ba9\u0bcd",
- "6": "\u0b9c\u0bc2\u0bb2\u0bc8",
- "7": "\u0b86\u0b95.",
- "8": "\u0b9a\u0bc6\u0baa\u0bcd.",
- "9": "\u0b85\u0b95\u0bcd.",
- "10": "\u0ba8\u0bb5.",
- "11": "\u0b9f\u0bbf\u0b9a."
- },
+ "AMPMS": [
+ "am",
+ "pm"
+ ],
+ "DAY": [
+ "\u0b9e\u0bbe\u0baf\u0bbf\u0bb1\u0bc1",
+ "\u0ba4\u0bbf\u0b99\u0bcd\u0b95\u0bb3\u0bcd",
+ "\u0b9a\u0bc6\u0bb5\u0bcd\u0bb5\u0bbe\u0baf\u0bcd",
+ "\u0baa\u0bc1\u0ba4\u0ba9\u0bcd",
+ "\u0bb5\u0bbf\u0baf\u0bbe\u0bb4\u0ba9\u0bcd",
+ "\u0bb5\u0bc6\u0bb3\u0bcd\u0bb3\u0bbf",
+ "\u0b9a\u0ba9\u0bbf"
+ ],
+ "MONTH": [
+ "\u0b9c\u0ba9\u0bb5\u0bb0\u0bbf",
+ "\u0baa\u0bbf\u0baa\u0bcd\u0bb0\u0bb5\u0bb0\u0bbf",
+ "\u0bae\u0bbe\u0bb0\u0bcd\u0b9a\u0bcd",
+ "\u0b8f\u0baa\u0bcd\u0bb0\u0bb2\u0bcd",
+ "\u0bae\u0bc7",
+ "\u0b9c\u0bc2\u0ba9\u0bcd",
+ "\u0b9c\u0bc2\u0bb2\u0bc8",
+ "\u0b86\u0b95\u0bb8\u0bcd\u0b9f\u0bcd",
+ "\u0b9a\u0bc6\u0baa\u0bcd\u0b9f\u0bae\u0bcd\u0baa\u0bb0\u0bcd",
+ "\u0b85\u0b95\u0bcd\u0b9f\u0bcb\u0baa\u0bb0\u0bcd",
+ "\u0ba8\u0bb5\u0bae\u0bcd\u0baa\u0bb0\u0bcd",
+ "\u0b9f\u0bbf\u0b9a\u0bae\u0bcd\u0baa\u0bb0\u0bcd"
+ ],
+ "SHORTDAY": [
+ "\u0b9e\u0bbe",
+ "\u0ba4\u0bbf",
+ "\u0b9a\u0bc6",
+ "\u0baa\u0bc1",
+ "\u0bb5\u0bbf",
+ "\u0bb5\u0bc6",
+ "\u0b9a"
+ ],
+ "SHORTMONTH": [
+ "\u0b9c\u0ba9.",
+ "\u0baa\u0bbf\u0baa\u0bcd.",
+ "\u0bae\u0bbe\u0bb0\u0bcd.",
+ "\u0b8f\u0baa\u0bcd.",
+ "\u0bae\u0bc7",
+ "\u0b9c\u0bc2\u0ba9\u0bcd",
+ "\u0b9c\u0bc2\u0bb2\u0bc8",
+ "\u0b86\u0b95.",
+ "\u0b9a\u0bc6\u0baa\u0bcd.",
+ "\u0b85\u0b95\u0bcd.",
+ "\u0ba8\u0bb5.",
+ "\u0b9f\u0bbf\u0b9a."
+ ],
"fullDate": "EEEE, d MMMM, y",
"longDate": "d MMMM, y",
"medium": "d MMM, y h:mm:ss a",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20b9",
"DECIMAL_SEP": ".",
"GROUP_SEP": ",",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 2,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 2,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4\u00a0",
"posSuf": ""
}
- }
+ ]
},
"id": "ta-in",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ta.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ta.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ta.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "am",
- "1": "pm"
- },
- "DAY": {
- "0": "\u0b9e\u0bbe\u0baf\u0bbf\u0bb1\u0bc1",
- "1": "\u0ba4\u0bbf\u0b99\u0bcd\u0b95\u0bb3\u0bcd",
- "2": "\u0b9a\u0bc6\u0bb5\u0bcd\u0bb5\u0bbe\u0baf\u0bcd",
- "3": "\u0baa\u0bc1\u0ba4\u0ba9\u0bcd",
- "4": "\u0bb5\u0bbf\u0baf\u0bbe\u0bb4\u0ba9\u0bcd",
- "5": "\u0bb5\u0bc6\u0bb3\u0bcd\u0bb3\u0bbf",
- "6": "\u0b9a\u0ba9\u0bbf"
- },
- "MONTH": {
- "0": "\u0b9c\u0ba9\u0bb5\u0bb0\u0bbf",
- "1": "\u0baa\u0bbf\u0baa\u0bcd\u0bb0\u0bb5\u0bb0\u0bbf",
- "2": "\u0bae\u0bbe\u0bb0\u0bcd\u0b9a\u0bcd",
- "3": "\u0b8f\u0baa\u0bcd\u0bb0\u0bb2\u0bcd",
- "4": "\u0bae\u0bc7",
- "5": "\u0b9c\u0bc2\u0ba9\u0bcd",
- "6": "\u0b9c\u0bc2\u0bb2\u0bc8",
- "7": "\u0b86\u0b95\u0bb8\u0bcd\u0b9f\u0bcd",
- "8": "\u0b9a\u0bc6\u0baa\u0bcd\u0b9f\u0bae\u0bcd\u0baa\u0bb0\u0bcd",
- "9": "\u0b85\u0b95\u0bcd\u0b9f\u0bcb\u0baa\u0bb0\u0bcd",
- "10": "\u0ba8\u0bb5\u0bae\u0bcd\u0baa\u0bb0\u0bcd",
- "11": "\u0b9f\u0bbf\u0b9a\u0bae\u0bcd\u0baa\u0bb0\u0bcd"
- },
- "SHORTDAY": {
- "0": "\u0b9e\u0bbe",
- "1": "\u0ba4\u0bbf",
- "2": "\u0b9a\u0bc6",
- "3": "\u0baa\u0bc1",
- "4": "\u0bb5\u0bbf",
- "5": "\u0bb5\u0bc6",
- "6": "\u0b9a"
- },
- "SHORTMONTH": {
- "0": "\u0b9c\u0ba9.",
- "1": "\u0baa\u0bbf\u0baa\u0bcd.",
- "2": "\u0bae\u0bbe\u0bb0\u0bcd.",
- "3": "\u0b8f\u0baa\u0bcd.",
- "4": "\u0bae\u0bc7",
- "5": "\u0b9c\u0bc2\u0ba9\u0bcd",
- "6": "\u0b9c\u0bc2\u0bb2\u0bc8",
- "7": "\u0b86\u0b95.",
- "8": "\u0b9a\u0bc6\u0baa\u0bcd.",
- "9": "\u0b85\u0b95\u0bcd.",
- "10": "\u0ba8\u0bb5.",
- "11": "\u0b9f\u0bbf\u0b9a."
- },
+ "AMPMS": [
+ "am",
+ "pm"
+ ],
+ "DAY": [
+ "\u0b9e\u0bbe\u0baf\u0bbf\u0bb1\u0bc1",
+ "\u0ba4\u0bbf\u0b99\u0bcd\u0b95\u0bb3\u0bcd",
+ "\u0b9a\u0bc6\u0bb5\u0bcd\u0bb5\u0bbe\u0baf\u0bcd",
+ "\u0baa\u0bc1\u0ba4\u0ba9\u0bcd",
+ "\u0bb5\u0bbf\u0baf\u0bbe\u0bb4\u0ba9\u0bcd",
+ "\u0bb5\u0bc6\u0bb3\u0bcd\u0bb3\u0bbf",
+ "\u0b9a\u0ba9\u0bbf"
+ ],
+ "MONTH": [
+ "\u0b9c\u0ba9\u0bb5\u0bb0\u0bbf",
+ "\u0baa\u0bbf\u0baa\u0bcd\u0bb0\u0bb5\u0bb0\u0bbf",
+ "\u0bae\u0bbe\u0bb0\u0bcd\u0b9a\u0bcd",
+ "\u0b8f\u0baa\u0bcd\u0bb0\u0bb2\u0bcd",
+ "\u0bae\u0bc7",
+ "\u0b9c\u0bc2\u0ba9\u0bcd",
+ "\u0b9c\u0bc2\u0bb2\u0bc8",
+ "\u0b86\u0b95\u0bb8\u0bcd\u0b9f\u0bcd",
+ "\u0b9a\u0bc6\u0baa\u0bcd\u0b9f\u0bae\u0bcd\u0baa\u0bb0\u0bcd",
+ "\u0b85\u0b95\u0bcd\u0b9f\u0bcb\u0baa\u0bb0\u0bcd",
+ "\u0ba8\u0bb5\u0bae\u0bcd\u0baa\u0bb0\u0bcd",
+ "\u0b9f\u0bbf\u0b9a\u0bae\u0bcd\u0baa\u0bb0\u0bcd"
+ ],
+ "SHORTDAY": [
+ "\u0b9e\u0bbe",
+ "\u0ba4\u0bbf",
+ "\u0b9a\u0bc6",
+ "\u0baa\u0bc1",
+ "\u0bb5\u0bbf",
+ "\u0bb5\u0bc6",
+ "\u0b9a"
+ ],
+ "SHORTMONTH": [
+ "\u0b9c\u0ba9.",
+ "\u0baa\u0bbf\u0baa\u0bcd.",
+ "\u0bae\u0bbe\u0bb0\u0bcd.",
+ "\u0b8f\u0baa\u0bcd.",
+ "\u0bae\u0bc7",
+ "\u0b9c\u0bc2\u0ba9\u0bcd",
+ "\u0b9c\u0bc2\u0bb2\u0bc8",
+ "\u0b86\u0b95.",
+ "\u0b9a\u0bc6\u0baa\u0bcd.",
+ "\u0b85\u0b95\u0bcd.",
+ "\u0ba8\u0bb5.",
+ "\u0b9f\u0bbf\u0b9a."
+ ],
"fullDate": "EEEE, d MMMM, y",
"longDate": "d MMMM, y",
"medium": "d MMM, y h:mm:ss a",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20b9",
"DECIMAL_SEP": ".",
"GROUP_SEP": ",",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 2,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 2,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4\u00a0",
"posSuf": ""
}
- }
+ ]
},
"id": "ta",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_te-in.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_te-in.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_te-in.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "am",
- "1": "pm"
- },
- "DAY": {
- "0": "\u0c06\u0c26\u0c3f\u0c35\u0c3e\u0c30\u0c02",
- "1": "\u0c38\u0c4b\u0c2e\u0c35\u0c3e\u0c30\u0c02",
- "2": "\u0c2e\u0c02\u0c17\u0c33\u0c35\u0c3e\u0c30\u0c02",
- "3": "\u0c2c\u0c41\u0c27\u0c35\u0c3e\u0c30\u0c02",
- "4": "\u0c17\u0c41\u0c30\u0c41\u0c35\u0c3e\u0c30\u0c02",
- "5": "\u0c36\u0c41\u0c15\u0c4d\u0c30\u0c35\u0c3e\u0c30\u0c02",
- "6": "\u0c36\u0c28\u0c3f\u0c35\u0c3e\u0c30\u0c02"
- },
- "MONTH": {
- "0": "\u0c1c\u0c28\u0c35\u0c30\u0c3f",
- "1": "\u0c2b\u0c3f\u0c2c\u0c4d\u0c30\u0c35\u0c30\u0c3f",
- "2": "\u0c2e\u0c3e\u0c30\u0c4d\u0c1a\u0c3f",
- "3": "\u0c0e\u0c2a\u0c4d\u0c30\u0c3f\u0c32\u0c4d",
- "4": "\u0c2e\u0c47",
- "5": "\u0c1c\u0c42\u0c28\u0c4d",
- "6": "\u0c1c\u0c42\u0c32\u0c48",
- "7": "\u0c06\u0c17\u0c38\u0c4d\u0c1f\u0c41",
- "8": "\u0c38\u0c46\u0c2a\u0c4d\u0c1f\u0c46\u0c02\u0c2c\u0c30\u0c4d",
- "9": "\u0c05\u0c15\u0c4d\u0c1f\u0c4b\u0c2c\u0c30\u0c4d",
- "10": "\u0c28\u0c35\u0c02\u0c2c\u0c30\u0c4d",
- "11": "\u0c21\u0c3f\u0c38\u0c46\u0c02\u0c2c\u0c30\u0c4d"
- },
- "SHORTDAY": {
- "0": "\u0c06\u0c26\u0c3f",
- "1": "\u0c38\u0c4b\u0c2e",
- "2": "\u0c2e\u0c02\u0c17\u0c33",
- "3": "\u0c2c\u0c41\u0c27",
- "4": "\u0c17\u0c41\u0c30\u0c41",
- "5": "\u0c36\u0c41\u0c15\u0c4d\u0c30",
- "6": "\u0c36\u0c28\u0c3f"
- },
- "SHORTMONTH": {
- "0": "\u0c1c\u0c28",
- "1": "\u0c2b\u0c3f\u0c2c\u0c4d\u0c30",
- "2": "\u0c2e\u0c3e\u0c30\u0c4d\u0c1a\u0c3f",
- "3": "\u0c0f\u0c2a\u0c4d\u0c30\u0c3f",
- "4": "\u0c2e\u0c47",
- "5": "\u0c1c\u0c42\u0c28\u0c4d",
- "6": "\u0c1c\u0c42\u0c32\u0c48",
- "7": "\u0c06\u0c17\u0c38\u0c4d\u0c1f\u0c41",
- "8": "\u0c38\u0c46\u0c2a\u0c4d\u0c1f\u0c46\u0c02\u0c2c\u0c30\u0c4d",
- "9": "\u0c05\u0c15\u0c4d\u0c1f\u0c4b\u0c2c\u0c30\u0c4d",
- "10": "\u0c28\u0c35\u0c02\u0c2c\u0c30\u0c4d",
- "11": "\u0c21\u0c3f\u0c38\u0c46\u0c02\u0c2c\u0c30\u0c4d"
- },
+ "AMPMS": [
+ "am",
+ "pm"
+ ],
+ "DAY": [
+ "\u0c06\u0c26\u0c3f\u0c35\u0c3e\u0c30\u0c02",
+ "\u0c38\u0c4b\u0c2e\u0c35\u0c3e\u0c30\u0c02",
+ "\u0c2e\u0c02\u0c17\u0c33\u0c35\u0c3e\u0c30\u0c02",
+ "\u0c2c\u0c41\u0c27\u0c35\u0c3e\u0c30\u0c02",
+ "\u0c17\u0c41\u0c30\u0c41\u0c35\u0c3e\u0c30\u0c02",
+ "\u0c36\u0c41\u0c15\u0c4d\u0c30\u0c35\u0c3e\u0c30\u0c02",
+ "\u0c36\u0c28\u0c3f\u0c35\u0c3e\u0c30\u0c02"
+ ],
+ "MONTH": [
+ "\u0c1c\u0c28\u0c35\u0c30\u0c3f",
+ "\u0c2b\u0c3f\u0c2c\u0c4d\u0c30\u0c35\u0c30\u0c3f",
+ "\u0c2e\u0c3e\u0c30\u0c4d\u0c1a\u0c3f",
+ "\u0c0e\u0c2a\u0c4d\u0c30\u0c3f\u0c32\u0c4d",
+ "\u0c2e\u0c47",
+ "\u0c1c\u0c42\u0c28\u0c4d",
+ "\u0c1c\u0c42\u0c32\u0c48",
+ "\u0c06\u0c17\u0c38\u0c4d\u0c1f\u0c41",
+ "\u0c38\u0c46\u0c2a\u0c4d\u0c1f\u0c46\u0c02\u0c2c\u0c30\u0c4d",
+ "\u0c05\u0c15\u0c4d\u0c1f\u0c4b\u0c2c\u0c30\u0c4d",
+ "\u0c28\u0c35\u0c02\u0c2c\u0c30\u0c4d",
+ "\u0c21\u0c3f\u0c38\u0c46\u0c02\u0c2c\u0c30\u0c4d"
+ ],
+ "SHORTDAY": [
+ "\u0c06\u0c26\u0c3f",
+ "\u0c38\u0c4b\u0c2e",
+ "\u0c2e\u0c02\u0c17\u0c33",
+ "\u0c2c\u0c41\u0c27",
+ "\u0c17\u0c41\u0c30\u0c41",
+ "\u0c36\u0c41\u0c15\u0c4d\u0c30",
+ "\u0c36\u0c28\u0c3f"
+ ],
+ "SHORTMONTH": [
+ "\u0c1c\u0c28",
+ "\u0c2b\u0c3f\u0c2c\u0c4d\u0c30",
+ "\u0c2e\u0c3e\u0c30\u0c4d\u0c1a\u0c3f",
+ "\u0c0f\u0c2a\u0c4d\u0c30\u0c3f",
+ "\u0c2e\u0c47",
+ "\u0c1c\u0c42\u0c28\u0c4d",
+ "\u0c1c\u0c42\u0c32\u0c48",
+ "\u0c06\u0c17\u0c38\u0c4d\u0c1f\u0c41",
+ "\u0c38\u0c46\u0c2a\u0c4d\u0c1f\u0c46\u0c02\u0c2c\u0c30\u0c4d",
+ "\u0c05\u0c15\u0c4d\u0c1f\u0c4b\u0c2c\u0c30\u0c4d",
+ "\u0c28\u0c35\u0c02\u0c2c\u0c30\u0c4d",
+ "\u0c21\u0c3f\u0c38\u0c46\u0c02\u0c2c\u0c30\u0c4d"
+ ],
"fullDate": "EEEE d MMMM y",
"longDate": "d MMMM y",
"medium": "d MMM y h:mm:ss a",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20b9",
"DECIMAL_SEP": ".",
"GROUP_SEP": ",",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4",
"posSuf": ""
}
- }
+ ]
},
"id": "te-in",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_te.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_te.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_te.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "am",
- "1": "pm"
- },
- "DAY": {
- "0": "\u0c06\u0c26\u0c3f\u0c35\u0c3e\u0c30\u0c02",
- "1": "\u0c38\u0c4b\u0c2e\u0c35\u0c3e\u0c30\u0c02",
- "2": "\u0c2e\u0c02\u0c17\u0c33\u0c35\u0c3e\u0c30\u0c02",
- "3": "\u0c2c\u0c41\u0c27\u0c35\u0c3e\u0c30\u0c02",
- "4": "\u0c17\u0c41\u0c30\u0c41\u0c35\u0c3e\u0c30\u0c02",
- "5": "\u0c36\u0c41\u0c15\u0c4d\u0c30\u0c35\u0c3e\u0c30\u0c02",
- "6": "\u0c36\u0c28\u0c3f\u0c35\u0c3e\u0c30\u0c02"
- },
- "MONTH": {
- "0": "\u0c1c\u0c28\u0c35\u0c30\u0c3f",
- "1": "\u0c2b\u0c3f\u0c2c\u0c4d\u0c30\u0c35\u0c30\u0c3f",
- "2": "\u0c2e\u0c3e\u0c30\u0c4d\u0c1a\u0c3f",
- "3": "\u0c0e\u0c2a\u0c4d\u0c30\u0c3f\u0c32\u0c4d",
- "4": "\u0c2e\u0c47",
- "5": "\u0c1c\u0c42\u0c28\u0c4d",
- "6": "\u0c1c\u0c42\u0c32\u0c48",
- "7": "\u0c06\u0c17\u0c38\u0c4d\u0c1f\u0c41",
- "8": "\u0c38\u0c46\u0c2a\u0c4d\u0c1f\u0c46\u0c02\u0c2c\u0c30\u0c4d",
- "9": "\u0c05\u0c15\u0c4d\u0c1f\u0c4b\u0c2c\u0c30\u0c4d",
- "10": "\u0c28\u0c35\u0c02\u0c2c\u0c30\u0c4d",
- "11": "\u0c21\u0c3f\u0c38\u0c46\u0c02\u0c2c\u0c30\u0c4d"
- },
- "SHORTDAY": {
- "0": "\u0c06\u0c26\u0c3f",
- "1": "\u0c38\u0c4b\u0c2e",
- "2": "\u0c2e\u0c02\u0c17\u0c33",
- "3": "\u0c2c\u0c41\u0c27",
- "4": "\u0c17\u0c41\u0c30\u0c41",
- "5": "\u0c36\u0c41\u0c15\u0c4d\u0c30",
- "6": "\u0c36\u0c28\u0c3f"
- },
- "SHORTMONTH": {
- "0": "\u0c1c\u0c28",
- "1": "\u0c2b\u0c3f\u0c2c\u0c4d\u0c30",
- "2": "\u0c2e\u0c3e\u0c30\u0c4d\u0c1a\u0c3f",
- "3": "\u0c0f\u0c2a\u0c4d\u0c30\u0c3f",
- "4": "\u0c2e\u0c47",
- "5": "\u0c1c\u0c42\u0c28\u0c4d",
- "6": "\u0c1c\u0c42\u0c32\u0c48",
- "7": "\u0c06\u0c17\u0c38\u0c4d\u0c1f\u0c41",
- "8": "\u0c38\u0c46\u0c2a\u0c4d\u0c1f\u0c46\u0c02\u0c2c\u0c30\u0c4d",
- "9": "\u0c05\u0c15\u0c4d\u0c1f\u0c4b\u0c2c\u0c30\u0c4d",
- "10": "\u0c28\u0c35\u0c02\u0c2c\u0c30\u0c4d",
- "11": "\u0c21\u0c3f\u0c38\u0c46\u0c02\u0c2c\u0c30\u0c4d"
- },
+ "AMPMS": [
+ "am",
+ "pm"
+ ],
+ "DAY": [
+ "\u0c06\u0c26\u0c3f\u0c35\u0c3e\u0c30\u0c02",
+ "\u0c38\u0c4b\u0c2e\u0c35\u0c3e\u0c30\u0c02",
+ "\u0c2e\u0c02\u0c17\u0c33\u0c35\u0c3e\u0c30\u0c02",
+ "\u0c2c\u0c41\u0c27\u0c35\u0c3e\u0c30\u0c02",
+ "\u0c17\u0c41\u0c30\u0c41\u0c35\u0c3e\u0c30\u0c02",
+ "\u0c36\u0c41\u0c15\u0c4d\u0c30\u0c35\u0c3e\u0c30\u0c02",
+ "\u0c36\u0c28\u0c3f\u0c35\u0c3e\u0c30\u0c02"
+ ],
+ "MONTH": [
+ "\u0c1c\u0c28\u0c35\u0c30\u0c3f",
+ "\u0c2b\u0c3f\u0c2c\u0c4d\u0c30\u0c35\u0c30\u0c3f",
+ "\u0c2e\u0c3e\u0c30\u0c4d\u0c1a\u0c3f",
+ "\u0c0e\u0c2a\u0c4d\u0c30\u0c3f\u0c32\u0c4d",
+ "\u0c2e\u0c47",
+ "\u0c1c\u0c42\u0c28\u0c4d",
+ "\u0c1c\u0c42\u0c32\u0c48",
+ "\u0c06\u0c17\u0c38\u0c4d\u0c1f\u0c41",
+ "\u0c38\u0c46\u0c2a\u0c4d\u0c1f\u0c46\u0c02\u0c2c\u0c30\u0c4d",
+ "\u0c05\u0c15\u0c4d\u0c1f\u0c4b\u0c2c\u0c30\u0c4d",
+ "\u0c28\u0c35\u0c02\u0c2c\u0c30\u0c4d",
+ "\u0c21\u0c3f\u0c38\u0c46\u0c02\u0c2c\u0c30\u0c4d"
+ ],
+ "SHORTDAY": [
+ "\u0c06\u0c26\u0c3f",
+ "\u0c38\u0c4b\u0c2e",
+ "\u0c2e\u0c02\u0c17\u0c33",
+ "\u0c2c\u0c41\u0c27",
+ "\u0c17\u0c41\u0c30\u0c41",
+ "\u0c36\u0c41\u0c15\u0c4d\u0c30",
+ "\u0c36\u0c28\u0c3f"
+ ],
+ "SHORTMONTH": [
+ "\u0c1c\u0c28",
+ "\u0c2b\u0c3f\u0c2c\u0c4d\u0c30",
+ "\u0c2e\u0c3e\u0c30\u0c4d\u0c1a\u0c3f",
+ "\u0c0f\u0c2a\u0c4d\u0c30\u0c3f",
+ "\u0c2e\u0c47",
+ "\u0c1c\u0c42\u0c28\u0c4d",
+ "\u0c1c\u0c42\u0c32\u0c48",
+ "\u0c06\u0c17\u0c38\u0c4d\u0c1f\u0c41",
+ "\u0c38\u0c46\u0c2a\u0c4d\u0c1f\u0c46\u0c02\u0c2c\u0c30\u0c4d",
+ "\u0c05\u0c15\u0c4d\u0c1f\u0c4b\u0c2c\u0c30\u0c4d",
+ "\u0c28\u0c35\u0c02\u0c2c\u0c30\u0c4d",
+ "\u0c21\u0c3f\u0c38\u0c46\u0c02\u0c2c\u0c30\u0c4d"
+ ],
"fullDate": "EEEE d MMMM y",
"longDate": "d MMMM y",
"medium": "d MMM y h:mm:ss a",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20b9",
"DECIMAL_SEP": ".",
"GROUP_SEP": ",",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4",
"posSuf": ""
}
- }
+ ]
},
"id": "te",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_th-th.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_th-th.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_th-th.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "\u0e01\u0e48\u0e2d\u0e19\u0e40\u0e17\u0e35\u0e48\u0e22\u0e07",
- "1": "\u0e2b\u0e25\u0e31\u0e07\u0e40\u0e17\u0e35\u0e48\u0e22\u0e07"
- },
- "DAY": {
- "0": "\u0e27\u0e31\u0e19\u0e2d\u0e32\u0e17\u0e34\u0e15\u0e22\u0e4c",
- "1": "\u0e27\u0e31\u0e19\u0e08\u0e31\u0e19\u0e17\u0e23\u0e4c",
- "2": "\u0e27\u0e31\u0e19\u0e2d\u0e31\u0e07\u0e04\u0e32\u0e23",
- "3": "\u0e27\u0e31\u0e19\u0e1e\u0e38\u0e18",
- "4": "\u0e27\u0e31\u0e19\u0e1e\u0e24\u0e2b\u0e31\u0e2a\u0e1a\u0e14\u0e35",
- "5": "\u0e27\u0e31\u0e19\u0e28\u0e38\u0e01\u0e23\u0e4c",
- "6": "\u0e27\u0e31\u0e19\u0e40\u0e2a\u0e32\u0e23\u0e4c"
- },
- "MONTH": {
- "0": "\u0e21\u0e01\u0e23\u0e32\u0e04\u0e21",
- "1": "\u0e01\u0e38\u0e21\u0e20\u0e32\u0e1e\u0e31\u0e19\u0e18\u0e4c",
- "2": "\u0e21\u0e35\u0e19\u0e32\u0e04\u0e21",
- "3": "\u0e40\u0e21\u0e29\u0e32\u0e22\u0e19",
- "4": "\u0e1e\u0e24\u0e29\u0e20\u0e32\u0e04\u0e21",
- "5": "\u0e21\u0e34\u0e16\u0e38\u0e19\u0e32\u0e22\u0e19",
- "6": "\u0e01\u0e23\u0e01\u0e0e\u0e32\u0e04\u0e21",
- "7": "\u0e2a\u0e34\u0e07\u0e2b\u0e32\u0e04\u0e21",
- "8": "\u0e01\u0e31\u0e19\u0e22\u0e32\u0e22\u0e19",
- "9": "\u0e15\u0e38\u0e25\u0e32\u0e04\u0e21",
- "10": "\u0e1e\u0e24\u0e28\u0e08\u0e34\u0e01\u0e32\u0e22\u0e19",
- "11": "\u0e18\u0e31\u0e19\u0e27\u0e32\u0e04\u0e21"
- },
- "SHORTDAY": {
- "0": "\u0e2d\u0e32.",
- "1": "\u0e08.",
- "2": "\u0e2d.",
- "3": "\u0e1e.",
- "4": "\u0e1e\u0e24.",
- "5": "\u0e28.",
- "6": "\u0e2a."
- },
- "SHORTMONTH": {
- "0": "\u0e21.\u0e04.",
- "1": "\u0e01.\u0e1e.",
- "2": "\u0e21\u0e35.\u0e04.",
- "3": "\u0e40\u0e21.\u0e22.",
- "4": "\u0e1e.\u0e04.",
- "5": "\u0e21\u0e34.\u0e22.",
- "6": "\u0e01.\u0e04.",
- "7": "\u0e2a.\u0e04.",
- "8": "\u0e01.\u0e22.",
- "9": "\u0e15.\u0e04.",
- "10": "\u0e1e.\u0e22.",
- "11": "\u0e18.\u0e04."
- },
+ "AMPMS": [
+ "\u0e01\u0e48\u0e2d\u0e19\u0e40\u0e17\u0e35\u0e48\u0e22\u0e07",
+ "\u0e2b\u0e25\u0e31\u0e07\u0e40\u0e17\u0e35\u0e48\u0e22\u0e07"
+ ],
+ "DAY": [
+ "\u0e27\u0e31\u0e19\u0e2d\u0e32\u0e17\u0e34\u0e15\u0e22\u0e4c",
+ "\u0e27\u0e31\u0e19\u0e08\u0e31\u0e19\u0e17\u0e23\u0e4c",
+ "\u0e27\u0e31\u0e19\u0e2d\u0e31\u0e07\u0e04\u0e32\u0e23",
+ "\u0e27\u0e31\u0e19\u0e1e\u0e38\u0e18",
+ "\u0e27\u0e31\u0e19\u0e1e\u0e24\u0e2b\u0e31\u0e2a\u0e1a\u0e14\u0e35",
+ "\u0e27\u0e31\u0e19\u0e28\u0e38\u0e01\u0e23\u0e4c",
+ "\u0e27\u0e31\u0e19\u0e40\u0e2a\u0e32\u0e23\u0e4c"
+ ],
+ "MONTH": [
+ "\u0e21\u0e01\u0e23\u0e32\u0e04\u0e21",
+ "\u0e01\u0e38\u0e21\u0e20\u0e32\u0e1e\u0e31\u0e19\u0e18\u0e4c",
+ "\u0e21\u0e35\u0e19\u0e32\u0e04\u0e21",
+ "\u0e40\u0e21\u0e29\u0e32\u0e22\u0e19",
+ "\u0e1e\u0e24\u0e29\u0e20\u0e32\u0e04\u0e21",
+ "\u0e21\u0e34\u0e16\u0e38\u0e19\u0e32\u0e22\u0e19",
+ "\u0e01\u0e23\u0e01\u0e0e\u0e32\u0e04\u0e21",
+ "\u0e2a\u0e34\u0e07\u0e2b\u0e32\u0e04\u0e21",
+ "\u0e01\u0e31\u0e19\u0e22\u0e32\u0e22\u0e19",
+ "\u0e15\u0e38\u0e25\u0e32\u0e04\u0e21",
+ "\u0e1e\u0e24\u0e28\u0e08\u0e34\u0e01\u0e32\u0e22\u0e19",
+ "\u0e18\u0e31\u0e19\u0e27\u0e32\u0e04\u0e21"
+ ],
+ "SHORTDAY": [
+ "\u0e2d\u0e32.",
+ "\u0e08.",
+ "\u0e2d.",
+ "\u0e1e.",
+ "\u0e1e\u0e24.",
+ "\u0e28.",
+ "\u0e2a."
+ ],
+ "SHORTMONTH": [
+ "\u0e21.\u0e04.",
+ "\u0e01.\u0e1e.",
+ "\u0e21\u0e35.\u0e04.",
+ "\u0e40\u0e21.\u0e22.",
+ "\u0e1e.\u0e04.",
+ "\u0e21\u0e34.\u0e22.",
+ "\u0e01.\u0e04.",
+ "\u0e2a.\u0e04.",
+ "\u0e01.\u0e22.",
+ "\u0e15.\u0e04.",
+ "\u0e1e.\u0e22.",
+ "\u0e18.\u0e04."
+ ],
"fullDate": "EEEE\u0e17\u0e35\u0e48 d MMMM G y",
"longDate": "d MMMM y",
"medium": "d MMM y H:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u0e3f",
"DECIMAL_SEP": ".",
"GROUP_SEP": ",",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4",
"posSuf": ""
}
- }
+ ]
},
"id": "th-th",
"pluralCat": function (n) { return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_th.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_th.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_th.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "\u0e01\u0e48\u0e2d\u0e19\u0e40\u0e17\u0e35\u0e48\u0e22\u0e07",
- "1": "\u0e2b\u0e25\u0e31\u0e07\u0e40\u0e17\u0e35\u0e48\u0e22\u0e07"
- },
- "DAY": {
- "0": "\u0e27\u0e31\u0e19\u0e2d\u0e32\u0e17\u0e34\u0e15\u0e22\u0e4c",
- "1": "\u0e27\u0e31\u0e19\u0e08\u0e31\u0e19\u0e17\u0e23\u0e4c",
- "2": "\u0e27\u0e31\u0e19\u0e2d\u0e31\u0e07\u0e04\u0e32\u0e23",
- "3": "\u0e27\u0e31\u0e19\u0e1e\u0e38\u0e18",
- "4": "\u0e27\u0e31\u0e19\u0e1e\u0e24\u0e2b\u0e31\u0e2a\u0e1a\u0e14\u0e35",
- "5": "\u0e27\u0e31\u0e19\u0e28\u0e38\u0e01\u0e23\u0e4c",
- "6": "\u0e27\u0e31\u0e19\u0e40\u0e2a\u0e32\u0e23\u0e4c"
- },
- "MONTH": {
- "0": "\u0e21\u0e01\u0e23\u0e32\u0e04\u0e21",
- "1": "\u0e01\u0e38\u0e21\u0e20\u0e32\u0e1e\u0e31\u0e19\u0e18\u0e4c",
- "2": "\u0e21\u0e35\u0e19\u0e32\u0e04\u0e21",
- "3": "\u0e40\u0e21\u0e29\u0e32\u0e22\u0e19",
- "4": "\u0e1e\u0e24\u0e29\u0e20\u0e32\u0e04\u0e21",
- "5": "\u0e21\u0e34\u0e16\u0e38\u0e19\u0e32\u0e22\u0e19",
- "6": "\u0e01\u0e23\u0e01\u0e0e\u0e32\u0e04\u0e21",
- "7": "\u0e2a\u0e34\u0e07\u0e2b\u0e32\u0e04\u0e21",
- "8": "\u0e01\u0e31\u0e19\u0e22\u0e32\u0e22\u0e19",
- "9": "\u0e15\u0e38\u0e25\u0e32\u0e04\u0e21",
- "10": "\u0e1e\u0e24\u0e28\u0e08\u0e34\u0e01\u0e32\u0e22\u0e19",
- "11": "\u0e18\u0e31\u0e19\u0e27\u0e32\u0e04\u0e21"
- },
- "SHORTDAY": {
- "0": "\u0e2d\u0e32.",
- "1": "\u0e08.",
- "2": "\u0e2d.",
- "3": "\u0e1e.",
- "4": "\u0e1e\u0e24.",
- "5": "\u0e28.",
- "6": "\u0e2a."
- },
- "SHORTMONTH": {
- "0": "\u0e21.\u0e04.",
- "1": "\u0e01.\u0e1e.",
- "2": "\u0e21\u0e35.\u0e04.",
- "3": "\u0e40\u0e21.\u0e22.",
- "4": "\u0e1e.\u0e04.",
- "5": "\u0e21\u0e34.\u0e22.",
- "6": "\u0e01.\u0e04.",
- "7": "\u0e2a.\u0e04.",
- "8": "\u0e01.\u0e22.",
- "9": "\u0e15.\u0e04.",
- "10": "\u0e1e.\u0e22.",
- "11": "\u0e18.\u0e04."
- },
+ "AMPMS": [
+ "\u0e01\u0e48\u0e2d\u0e19\u0e40\u0e17\u0e35\u0e48\u0e22\u0e07",
+ "\u0e2b\u0e25\u0e31\u0e07\u0e40\u0e17\u0e35\u0e48\u0e22\u0e07"
+ ],
+ "DAY": [
+ "\u0e27\u0e31\u0e19\u0e2d\u0e32\u0e17\u0e34\u0e15\u0e22\u0e4c",
+ "\u0e27\u0e31\u0e19\u0e08\u0e31\u0e19\u0e17\u0e23\u0e4c",
+ "\u0e27\u0e31\u0e19\u0e2d\u0e31\u0e07\u0e04\u0e32\u0e23",
+ "\u0e27\u0e31\u0e19\u0e1e\u0e38\u0e18",
+ "\u0e27\u0e31\u0e19\u0e1e\u0e24\u0e2b\u0e31\u0e2a\u0e1a\u0e14\u0e35",
+ "\u0e27\u0e31\u0e19\u0e28\u0e38\u0e01\u0e23\u0e4c",
+ "\u0e27\u0e31\u0e19\u0e40\u0e2a\u0e32\u0e23\u0e4c"
+ ],
+ "MONTH": [
+ "\u0e21\u0e01\u0e23\u0e32\u0e04\u0e21",
+ "\u0e01\u0e38\u0e21\u0e20\u0e32\u0e1e\u0e31\u0e19\u0e18\u0e4c",
+ "\u0e21\u0e35\u0e19\u0e32\u0e04\u0e21",
+ "\u0e40\u0e21\u0e29\u0e32\u0e22\u0e19",
+ "\u0e1e\u0e24\u0e29\u0e20\u0e32\u0e04\u0e21",
+ "\u0e21\u0e34\u0e16\u0e38\u0e19\u0e32\u0e22\u0e19",
+ "\u0e01\u0e23\u0e01\u0e0e\u0e32\u0e04\u0e21",
+ "\u0e2a\u0e34\u0e07\u0e2b\u0e32\u0e04\u0e21",
+ "\u0e01\u0e31\u0e19\u0e22\u0e32\u0e22\u0e19",
+ "\u0e15\u0e38\u0e25\u0e32\u0e04\u0e21",
+ "\u0e1e\u0e24\u0e28\u0e08\u0e34\u0e01\u0e32\u0e22\u0e19",
+ "\u0e18\u0e31\u0e19\u0e27\u0e32\u0e04\u0e21"
+ ],
+ "SHORTDAY": [
+ "\u0e2d\u0e32.",
+ "\u0e08.",
+ "\u0e2d.",
+ "\u0e1e.",
+ "\u0e1e\u0e24.",
+ "\u0e28.",
+ "\u0e2a."
+ ],
+ "SHORTMONTH": [
+ "\u0e21.\u0e04.",
+ "\u0e01.\u0e1e.",
+ "\u0e21\u0e35.\u0e04.",
+ "\u0e40\u0e21.\u0e22.",
+ "\u0e1e.\u0e04.",
+ "\u0e21\u0e34.\u0e22.",
+ "\u0e01.\u0e04.",
+ "\u0e2a.\u0e04.",
+ "\u0e01.\u0e22.",
+ "\u0e15.\u0e04.",
+ "\u0e1e.\u0e22.",
+ "\u0e18.\u0e04."
+ ],
"fullDate": "EEEE\u0e17\u0e35\u0e48 d MMMM G y",
"longDate": "d MMMM y",
"medium": "d MMM y H:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u0e3f",
"DECIMAL_SEP": ".",
"GROUP_SEP": ",",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4",
"posSuf": ""
}
- }
+ ]
},
"id": "th",
"pluralCat": function (n) { return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_tl.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_tl.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_tl.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "AM",
- "1": "PM"
- },
- "DAY": {
- "0": "Linggo",
- "1": "Lunes",
- "2": "Martes",
- "3": "Miyerkules",
- "4": "Huwebes",
- "5": "Biyernes",
- "6": "Sabado"
- },
- "MONTH": {
- "0": "Enero",
- "1": "Pebrero",
- "2": "Marso",
- "3": "Abril",
- "4": "Mayo",
- "5": "Hunyo",
- "6": "Hulyo",
- "7": "Agosto",
- "8": "Setyembre",
- "9": "Oktubre",
- "10": "Nobyembre",
- "11": "Disyembre"
- },
- "SHORTDAY": {
- "0": "Lin",
- "1": "Lun",
- "2": "Mar",
- "3": "Mye",
- "4": "Huw",
- "5": "Bye",
- "6": "Sab"
- },
- "SHORTMONTH": {
- "0": "Ene",
- "1": "Peb",
- "2": "Mar",
- "3": "Abr",
- "4": "May",
- "5": "Hun",
- "6": "Hul",
- "7": "Ago",
- "8": "Set",
- "9": "Okt",
- "10": "Nob",
- "11": "Dis"
- },
+ "AMPMS": [
+ "AM",
+ "PM"
+ ],
+ "DAY": [
+ "Linggo",
+ "Lunes",
+ "Martes",
+ "Miyerkules",
+ "Huwebes",
+ "Biyernes",
+ "Sabado"
+ ],
+ "MONTH": [
+ "Enero",
+ "Pebrero",
+ "Marso",
+ "Abril",
+ "Mayo",
+ "Hunyo",
+ "Hulyo",
+ "Agosto",
+ "Setyembre",
+ "Oktubre",
+ "Nobyembre",
+ "Disyembre"
+ ],
+ "SHORTDAY": [
+ "Lin",
+ "Lun",
+ "Mar",
+ "Mye",
+ "Huw",
+ "Bye",
+ "Sab"
+ ],
+ "SHORTMONTH": [
+ "Ene",
+ "Peb",
+ "Mar",
+ "Abr",
+ "May",
+ "Hun",
+ "Hul",
+ "Ago",
+ "Set",
+ "Okt",
+ "Nob",
+ "Dis"
+ ],
"fullDate": "EEEE, MMMM dd y",
"longDate": "MMMM d, y",
"medium": "MMM d, y HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20b1",
"DECIMAL_SEP": ".",
"GROUP_SEP": ",",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4",
"posSuf": ""
}
- }
+ ]
},
"id": "tl",
"pluralCat": function (n) { if (n == 0 || n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_tr-tr.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_tr-tr.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_tr-tr.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "AM",
- "1": "PM"
- },
- "DAY": {
- "0": "Pazar",
- "1": "Pazartesi",
- "2": "Sal\u0131",
- "3": "\u00c7ar\u015famba",
- "4": "Per\u015fembe",
- "5": "Cuma",
- "6": "Cumartesi"
- },
- "MONTH": {
- "0": "Ocak",
- "1": "\u015eubat",
- "2": "Mart",
- "3": "Nisan",
- "4": "May\u0131s",
- "5": "Haziran",
- "6": "Temmuz",
- "7": "A\u011fustos",
- "8": "Eyl\u00fcl",
- "9": "Ekim",
- "10": "Kas\u0131m",
- "11": "Aral\u0131k"
- },
- "SHORTDAY": {
- "0": "Paz",
- "1": "Pzt",
- "2": "Sal",
- "3": "\u00c7ar",
- "4": "Per",
- "5": "Cum",
- "6": "Cmt"
- },
- "SHORTMONTH": {
- "0": "Oca",
- "1": "\u015eub",
- "2": "Mar",
- "3": "Nis",
- "4": "May",
- "5": "Haz",
- "6": "Tem",
- "7": "A\u011fu",
- "8": "Eyl",
- "9": "Eki",
- "10": "Kas",
- "11": "Ara"
- },
+ "AMPMS": [
+ "AM",
+ "PM"
+ ],
+ "DAY": [
+ "Pazar",
+ "Pazartesi",
+ "Sal\u0131",
+ "\u00c7ar\u015famba",
+ "Per\u015fembe",
+ "Cuma",
+ "Cumartesi"
+ ],
+ "MONTH": [
+ "Ocak",
+ "\u015eubat",
+ "Mart",
+ "Nisan",
+ "May\u0131s",
+ "Haziran",
+ "Temmuz",
+ "A\u011fustos",
+ "Eyl\u00fcl",
+ "Ekim",
+ "Kas\u0131m",
+ "Aral\u0131k"
+ ],
+ "SHORTDAY": [
+ "Paz",
+ "Pzt",
+ "Sal",
+ "\u00c7ar",
+ "Per",
+ "Cum",
+ "Cmt"
+ ],
+ "SHORTMONTH": [
+ "Oca",
+ "\u015eub",
+ "Mar",
+ "Nis",
+ "May",
+ "Haz",
+ "Tem",
+ "A\u011fu",
+ "Eyl",
+ "Eki",
+ "Kas",
+ "Ara"
+ ],
"fullDate": "d MMMM y EEEE",
"longDate": "d MMMM y",
"medium": "d MMM y HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "TL",
"DECIMAL_SEP": ",",
"GROUP_SEP": ".",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "tr-tr",
"pluralCat": function (n) { return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_tr.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_tr.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_tr.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "AM",
- "1": "PM"
- },
- "DAY": {
- "0": "Pazar",
- "1": "Pazartesi",
- "2": "Sal\u0131",
- "3": "\u00c7ar\u015famba",
- "4": "Per\u015fembe",
- "5": "Cuma",
- "6": "Cumartesi"
- },
- "MONTH": {
- "0": "Ocak",
- "1": "\u015eubat",
- "2": "Mart",
- "3": "Nisan",
- "4": "May\u0131s",
- "5": "Haziran",
- "6": "Temmuz",
- "7": "A\u011fustos",
- "8": "Eyl\u00fcl",
- "9": "Ekim",
- "10": "Kas\u0131m",
- "11": "Aral\u0131k"
- },
- "SHORTDAY": {
- "0": "Paz",
- "1": "Pzt",
- "2": "Sal",
- "3": "\u00c7ar",
- "4": "Per",
- "5": "Cum",
- "6": "Cmt"
- },
- "SHORTMONTH": {
- "0": "Oca",
- "1": "\u015eub",
- "2": "Mar",
- "3": "Nis",
- "4": "May",
- "5": "Haz",
- "6": "Tem",
- "7": "A\u011fu",
- "8": "Eyl",
- "9": "Eki",
- "10": "Kas",
- "11": "Ara"
- },
+ "AMPMS": [
+ "AM",
+ "PM"
+ ],
+ "DAY": [
+ "Pazar",
+ "Pazartesi",
+ "Sal\u0131",
+ "\u00c7ar\u015famba",
+ "Per\u015fembe",
+ "Cuma",
+ "Cumartesi"
+ ],
+ "MONTH": [
+ "Ocak",
+ "\u015eubat",
+ "Mart",
+ "Nisan",
+ "May\u0131s",
+ "Haziran",
+ "Temmuz",
+ "A\u011fustos",
+ "Eyl\u00fcl",
+ "Ekim",
+ "Kas\u0131m",
+ "Aral\u0131k"
+ ],
+ "SHORTDAY": [
+ "Paz",
+ "Pzt",
+ "Sal",
+ "\u00c7ar",
+ "Per",
+ "Cum",
+ "Cmt"
+ ],
+ "SHORTMONTH": [
+ "Oca",
+ "\u015eub",
+ "Mar",
+ "Nis",
+ "May",
+ "Haz",
+ "Tem",
+ "A\u011fu",
+ "Eyl",
+ "Eki",
+ "Kas",
+ "Ara"
+ ],
"fullDate": "d MMMM y EEEE",
"longDate": "d MMMM y",
"medium": "d MMM y HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "TL",
"DECIMAL_SEP": ",",
"GROUP_SEP": ".",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "tr",
"pluralCat": function (n) { return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_uk-ua.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_uk-ua.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_uk-ua.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "\u0434\u043f",
- "1": "\u043f\u043f"
- },
- "DAY": {
- "0": "\u041d\u0435\u0434\u0456\u043b\u044f",
- "1": "\u041f\u043e\u043d\u0435\u0434\u0456\u043b\u043e\u043a",
- "2": "\u0412\u0456\u0432\u0442\u043e\u0440\u043e\u043a",
- "3": "\u0421\u0435\u0440\u0435\u0434\u0430",
- "4": "\u0427\u0435\u0442\u0432\u0435\u0440",
- "5": "\u041f\u02bc\u044f\u0442\u043d\u0438\u0446\u044f",
- "6": "\u0421\u0443\u0431\u043e\u0442\u0430"
- },
- "MONTH": {
- "0": "\u0441\u0456\u0447\u043d\u044f",
- "1": "\u043b\u044e\u0442\u043e\u0433\u043e",
- "2": "\u0431\u0435\u0440\u0435\u0437\u043d\u044f",
- "3": "\u043a\u0432\u0456\u0442\u043d\u044f",
- "4": "\u0442\u0440\u0430\u0432\u043d\u044f",
- "5": "\u0447\u0435\u0440\u0432\u043d\u044f",
- "6": "\u043b\u0438\u043f\u043d\u044f",
- "7": "\u0441\u0435\u0440\u043f\u043d\u044f",
- "8": "\u0432\u0435\u0440\u0435\u0441\u043d\u044f",
- "9": "\u0436\u043e\u0432\u0442\u043d\u044f",
- "10": "\u043b\u0438\u0441\u0442\u043e\u043f\u0430\u0434\u0430",
- "11": "\u0433\u0440\u0443\u0434\u043d\u044f"
- },
- "SHORTDAY": {
- "0": "\u041d\u0434",
- "1": "\u041f\u043d",
- "2": "\u0412\u0442",
- "3": "\u0421\u0440",
- "4": "\u0427\u0442",
- "5": "\u041f\u0442",
- "6": "\u0421\u0431"
- },
- "SHORTMONTH": {
- "0": "\u0441\u0456\u0447.",
- "1": "\u043b\u044e\u0442.",
- "2": "\u0431\u0435\u0440.",
- "3": "\u043a\u0432\u0456\u0442.",
- "4": "\u0442\u0440\u0430\u0432.",
- "5": "\u0447\u0435\u0440\u0432.",
- "6": "\u043b\u0438\u043f.",
- "7": "\u0441\u0435\u0440\u043f.",
- "8": "\u0432\u0435\u0440.",
- "9": "\u0436\u043e\u0432\u0442.",
- "10": "\u043b\u0438\u0441\u0442.",
- "11": "\u0433\u0440\u0443\u0434."
- },
+ "AMPMS": [
+ "\u0434\u043f",
+ "\u043f\u043f"
+ ],
+ "DAY": [
+ "\u041d\u0435\u0434\u0456\u043b\u044f",
+ "\u041f\u043e\u043d\u0435\u0434\u0456\u043b\u043e\u043a",
+ "\u0412\u0456\u0432\u0442\u043e\u0440\u043e\u043a",
+ "\u0421\u0435\u0440\u0435\u0434\u0430",
+ "\u0427\u0435\u0442\u0432\u0435\u0440",
+ "\u041f\u02bc\u044f\u0442\u043d\u0438\u0446\u044f",
+ "\u0421\u0443\u0431\u043e\u0442\u0430"
+ ],
+ "MONTH": [
+ "\u0441\u0456\u0447\u043d\u044f",
+ "\u043b\u044e\u0442\u043e\u0433\u043e",
+ "\u0431\u0435\u0440\u0435\u0437\u043d\u044f",
+ "\u043a\u0432\u0456\u0442\u043d\u044f",
+ "\u0442\u0440\u0430\u0432\u043d\u044f",
+ "\u0447\u0435\u0440\u0432\u043d\u044f",
+ "\u043b\u0438\u043f\u043d\u044f",
+ "\u0441\u0435\u0440\u043f\u043d\u044f",
+ "\u0432\u0435\u0440\u0435\u0441\u043d\u044f",
+ "\u0436\u043e\u0432\u0442\u043d\u044f",
+ "\u043b\u0438\u0441\u0442\u043e\u043f\u0430\u0434\u0430",
+ "\u0433\u0440\u0443\u0434\u043d\u044f"
+ ],
+ "SHORTDAY": [
+ "\u041d\u0434",
+ "\u041f\u043d",
+ "\u0412\u0442",
+ "\u0421\u0440",
+ "\u0427\u0442",
+ "\u041f\u0442",
+ "\u0421\u0431"
+ ],
+ "SHORTMONTH": [
+ "\u0441\u0456\u0447.",
+ "\u043b\u044e\u0442.",
+ "\u0431\u0435\u0440.",
+ "\u043a\u0432\u0456\u0442.",
+ "\u0442\u0440\u0430\u0432.",
+ "\u0447\u0435\u0440\u0432.",
+ "\u043b\u0438\u043f.",
+ "\u0441\u0435\u0440\u043f.",
+ "\u0432\u0435\u0440.",
+ "\u0436\u043e\u0432\u0442.",
+ "\u043b\u0438\u0441\u0442.",
+ "\u0433\u0440\u0443\u0434."
+ ],
"fullDate": "EEEE, d MMMM y '\u0440'.",
"longDate": "d MMMM y '\u0440'.",
"medium": "d MMM y HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20b4",
"DECIMAL_SEP": ",",
"GROUP_SEP": "\u00a0",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "uk-ua",
"pluralCat": function (n) { if (n % 10 == 1 && n % 100 != 11) { return PLURAL_CATEGORY.ONE; } if (n == (n | 0) && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14)) { return PLURAL_CATEGORY.FEW; } if (n % 10 == 0 || n == (n | 0) && n % 10 >= 5 && n % 10 <= 9 || n == (n | 0) && n % 100 >= 11 && n % 100 <= 14) { return PLURAL_CATEGORY.MANY; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_uk.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_uk.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_uk.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "\u0434\u043f",
- "1": "\u043f\u043f"
- },
- "DAY": {
- "0": "\u041d\u0435\u0434\u0456\u043b\u044f",
- "1": "\u041f\u043e\u043d\u0435\u0434\u0456\u043b\u043e\u043a",
- "2": "\u0412\u0456\u0432\u0442\u043e\u0440\u043e\u043a",
- "3": "\u0421\u0435\u0440\u0435\u0434\u0430",
- "4": "\u0427\u0435\u0442\u0432\u0435\u0440",
- "5": "\u041f\u02bc\u044f\u0442\u043d\u0438\u0446\u044f",
- "6": "\u0421\u0443\u0431\u043e\u0442\u0430"
- },
- "MONTH": {
- "0": "\u0441\u0456\u0447\u043d\u044f",
- "1": "\u043b\u044e\u0442\u043e\u0433\u043e",
- "2": "\u0431\u0435\u0440\u0435\u0437\u043d\u044f",
- "3": "\u043a\u0432\u0456\u0442\u043d\u044f",
- "4": "\u0442\u0440\u0430\u0432\u043d\u044f",
- "5": "\u0447\u0435\u0440\u0432\u043d\u044f",
- "6": "\u043b\u0438\u043f\u043d\u044f",
- "7": "\u0441\u0435\u0440\u043f\u043d\u044f",
- "8": "\u0432\u0435\u0440\u0435\u0441\u043d\u044f",
- "9": "\u0436\u043e\u0432\u0442\u043d\u044f",
- "10": "\u043b\u0438\u0441\u0442\u043e\u043f\u0430\u0434\u0430",
- "11": "\u0433\u0440\u0443\u0434\u043d\u044f"
- },
- "SHORTDAY": {
- "0": "\u041d\u0434",
- "1": "\u041f\u043d",
- "2": "\u0412\u0442",
- "3": "\u0421\u0440",
- "4": "\u0427\u0442",
- "5": "\u041f\u0442",
- "6": "\u0421\u0431"
- },
- "SHORTMONTH": {
- "0": "\u0441\u0456\u0447.",
- "1": "\u043b\u044e\u0442.",
- "2": "\u0431\u0435\u0440.",
- "3": "\u043a\u0432\u0456\u0442.",
- "4": "\u0442\u0440\u0430\u0432.",
- "5": "\u0447\u0435\u0440\u0432.",
- "6": "\u043b\u0438\u043f.",
- "7": "\u0441\u0435\u0440\u043f.",
- "8": "\u0432\u0435\u0440.",
- "9": "\u0436\u043e\u0432\u0442.",
- "10": "\u043b\u0438\u0441\u0442.",
- "11": "\u0433\u0440\u0443\u0434."
- },
+ "AMPMS": [
+ "\u0434\u043f",
+ "\u043f\u043f"
+ ],
+ "DAY": [
+ "\u041d\u0435\u0434\u0456\u043b\u044f",
+ "\u041f\u043e\u043d\u0435\u0434\u0456\u043b\u043e\u043a",
+ "\u0412\u0456\u0432\u0442\u043e\u0440\u043e\u043a",
+ "\u0421\u0435\u0440\u0435\u0434\u0430",
+ "\u0427\u0435\u0442\u0432\u0435\u0440",
+ "\u041f\u02bc\u044f\u0442\u043d\u0438\u0446\u044f",
+ "\u0421\u0443\u0431\u043e\u0442\u0430"
+ ],
+ "MONTH": [
+ "\u0441\u0456\u0447\u043d\u044f",
+ "\u043b\u044e\u0442\u043e\u0433\u043e",
+ "\u0431\u0435\u0440\u0435\u0437\u043d\u044f",
+ "\u043a\u0432\u0456\u0442\u043d\u044f",
+ "\u0442\u0440\u0430\u0432\u043d\u044f",
+ "\u0447\u0435\u0440\u0432\u043d\u044f",
+ "\u043b\u0438\u043f\u043d\u044f",
+ "\u0441\u0435\u0440\u043f\u043d\u044f",
+ "\u0432\u0435\u0440\u0435\u0441\u043d\u044f",
+ "\u0436\u043e\u0432\u0442\u043d\u044f",
+ "\u043b\u0438\u0441\u0442\u043e\u043f\u0430\u0434\u0430",
+ "\u0433\u0440\u0443\u0434\u043d\u044f"
+ ],
+ "SHORTDAY": [
+ "\u041d\u0434",
+ "\u041f\u043d",
+ "\u0412\u0442",
+ "\u0421\u0440",
+ "\u0427\u0442",
+ "\u041f\u0442",
+ "\u0421\u0431"
+ ],
+ "SHORTMONTH": [
+ "\u0441\u0456\u0447.",
+ "\u043b\u044e\u0442.",
+ "\u0431\u0435\u0440.",
+ "\u043a\u0432\u0456\u0442.",
+ "\u0442\u0440\u0430\u0432.",
+ "\u0447\u0435\u0440\u0432.",
+ "\u043b\u0438\u043f.",
+ "\u0441\u0435\u0440\u043f.",
+ "\u0432\u0435\u0440.",
+ "\u0436\u043e\u0432\u0442.",
+ "\u043b\u0438\u0441\u0442.",
+ "\u0433\u0440\u0443\u0434."
+ ],
"fullDate": "EEEE, d MMMM y '\u0440'.",
"longDate": "d MMMM y '\u0440'.",
"medium": "d MMM y HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20b4",
"DECIMAL_SEP": ",",
"GROUP_SEP": "\u00a0",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "uk",
"pluralCat": function (n) { if (n % 10 == 1 && n % 100 != 11) { return PLURAL_CATEGORY.ONE; } if (n == (n | 0) && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14)) { return PLURAL_CATEGORY.FEW; } if (n % 10 == 0 || n == (n | 0) && n % 10 >= 5 && n % 10 <= 9 || n == (n | 0) && n % 100 >= 11 && n % 100 <= 14) { return PLURAL_CATEGORY.MANY; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ur-pk.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ur-pk.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ur-pk.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "\u062f\u0646",
- "1": "\u0631\u0627\u062a"
- },
- "DAY": {
- "0": "\u0627\u062a\u0648\u0627\u0631",
- "1": "\u067e\u064a\u0631",
- "2": "\u0645\u0646\u06af\u0644",
- "3": "\u0628\u062f\u0647",
- "4": "\u062c\u0645\u0639\u0631\u0627\u062a",
- "5": "\u062c\u0645\u0639\u06c1",
- "6": "\u06c1\u0641\u062a\u06c1"
- },
- "MONTH": {
- "0": "\u062c\u0646\u0648\u0631\u06cc",
- "1": "\u0641\u0631\u0648\u0631\u06cc",
- "2": "\u0645\u0627\u0631\u0686",
- "3": "\u0627\u067e\u0631\u064a\u0644",
- "4": "\u0645\u0626",
- "5": "\u062c\u0648\u0646",
- "6": "\u062c\u0648\u0644\u0627\u0626",
- "7": "\u0627\u06af\u0633\u062a",
- "8": "\u0633\u062a\u0645\u0628\u0631",
- "9": "\u0627\u06a9\u062a\u0648\u0628\u0631",
- "10": "\u0646\u0648\u0645\u0628\u0631",
- "11": "\u062f\u0633\u0645\u0628\u0631"
- },
- "SHORTDAY": {
- "0": "\u0627\u062a\u0648\u0627\u0631",
- "1": "\u067e\u064a\u0631",
- "2": "\u0645\u0646\u06af\u0644",
- "3": "\u0628\u062f\u0647",
- "4": "\u062c\u0645\u0639\u0631\u0627\u062a",
- "5": "\u062c\u0645\u0639\u06c1",
- "6": "\u06c1\u0641\u062a\u06c1"
- },
- "SHORTMONTH": {
- "0": "\u062c\u0646\u0648\u0631\u06cc",
- "1": "\u0641\u0631\u0648\u0631\u06cc",
- "2": "\u0645\u0627\u0631\u0686",
- "3": "\u0627\u067e\u0631\u064a\u0644",
- "4": "\u0645\u0626",
- "5": "\u062c\u0648\u0646",
- "6": "\u062c\u0648\u0644\u0627\u0626",
- "7": "\u0627\u06af\u0633\u062a",
- "8": "\u0633\u062a\u0645\u0628\u0631",
- "9": "\u0627\u06a9\u062a\u0648\u0628\u0631",
- "10": "\u0646\u0648\u0645\u0628\u0631",
- "11": "\u062f\u0633\u0645\u0628\u0631"
- },
+ "AMPMS": [
+ "\u062f\u0646",
+ "\u0631\u0627\u062a"
+ ],
+ "DAY": [
+ "\u0627\u062a\u0648\u0627\u0631",
+ "\u067e\u064a\u0631",
+ "\u0645\u0646\u06af\u0644",
+ "\u0628\u062f\u0647",
+ "\u062c\u0645\u0639\u0631\u0627\u062a",
+ "\u062c\u0645\u0639\u06c1",
+ "\u06c1\u0641\u062a\u06c1"
+ ],
+ "MONTH": [
+ "\u062c\u0646\u0648\u0631\u06cc",
+ "\u0641\u0631\u0648\u0631\u06cc",
+ "\u0645\u0627\u0631\u0686",
+ "\u0627\u067e\u0631\u064a\u0644",
+ "\u0645\u0626",
+ "\u062c\u0648\u0646",
+ "\u062c\u0648\u0644\u0627\u0626",
+ "\u0627\u06af\u0633\u062a",
+ "\u0633\u062a\u0645\u0628\u0631",
+ "\u0627\u06a9\u062a\u0648\u0628\u0631",
+ "\u0646\u0648\u0645\u0628\u0631",
+ "\u062f\u0633\u0645\u0628\u0631"
+ ],
+ "SHORTDAY": [
+ "\u0627\u062a\u0648\u0627\u0631",
+ "\u067e\u064a\u0631",
+ "\u0645\u0646\u06af\u0644",
+ "\u0628\u062f\u0647",
+ "\u062c\u0645\u0639\u0631\u0627\u062a",
+ "\u062c\u0645\u0639\u06c1",
+ "\u06c1\u0641\u062a\u06c1"
+ ],
+ "SHORTMONTH": [
+ "\u062c\u0646\u0648\u0631\u06cc",
+ "\u0641\u0631\u0648\u0631\u06cc",
+ "\u0645\u0627\u0631\u0686",
+ "\u0627\u067e\u0631\u064a\u0644",
+ "\u0645\u0626",
+ "\u062c\u0648\u0646",
+ "\u062c\u0648\u0644\u0627\u0626",
+ "\u0627\u06af\u0633\u062a",
+ "\u0633\u062a\u0645\u0628\u0631",
+ "\u0627\u06a9\u062a\u0648\u0628\u0631",
+ "\u0646\u0648\u0645\u0628\u0631",
+ "\u062f\u0633\u0645\u0628\u0631"
+ ],
"fullDate": "EEEE\u060d d\u060d MMMM y",
"longDate": "d\u060d MMMM y",
"medium": "d\u060d MMM y h:mm:ss a",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "Rs",
"DECIMAL_SEP": ".",
"GROUP_SEP": ",",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4",
"posSuf": ""
}
- }
+ ]
},
"id": "ur-pk",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ur.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ur.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_ur.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "\u062f\u0646",
- "1": "\u0631\u0627\u062a"
- },
- "DAY": {
- "0": "\u0627\u062a\u0648\u0627\u0631",
- "1": "\u067e\u064a\u0631",
- "2": "\u0645\u0646\u06af\u0644",
- "3": "\u0628\u062f\u0647",
- "4": "\u062c\u0645\u0639\u0631\u0627\u062a",
- "5": "\u062c\u0645\u0639\u06c1",
- "6": "\u06c1\u0641\u062a\u06c1"
- },
- "MONTH": {
- "0": "\u062c\u0646\u0648\u0631\u06cc",
- "1": "\u0641\u0631\u0648\u0631\u06cc",
- "2": "\u0645\u0627\u0631\u0686",
- "3": "\u0627\u067e\u0631\u064a\u0644",
- "4": "\u0645\u0626",
- "5": "\u062c\u0648\u0646",
- "6": "\u062c\u0648\u0644\u0627\u0626",
- "7": "\u0627\u06af\u0633\u062a",
- "8": "\u0633\u062a\u0645\u0628\u0631",
- "9": "\u0627\u06a9\u062a\u0648\u0628\u0631",
- "10": "\u0646\u0648\u0645\u0628\u0631",
- "11": "\u062f\u0633\u0645\u0628\u0631"
- },
- "SHORTDAY": {
- "0": "\u0627\u062a\u0648\u0627\u0631",
- "1": "\u067e\u064a\u0631",
- "2": "\u0645\u0646\u06af\u0644",
- "3": "\u0628\u062f\u0647",
- "4": "\u062c\u0645\u0639\u0631\u0627\u062a",
- "5": "\u062c\u0645\u0639\u06c1",
- "6": "\u06c1\u0641\u062a\u06c1"
- },
- "SHORTMONTH": {
- "0": "\u062c\u0646\u0648\u0631\u06cc",
- "1": "\u0641\u0631\u0648\u0631\u06cc",
- "2": "\u0645\u0627\u0631\u0686",
- "3": "\u0627\u067e\u0631\u064a\u0644",
- "4": "\u0645\u0626",
- "5": "\u062c\u0648\u0646",
- "6": "\u062c\u0648\u0644\u0627\u0626",
- "7": "\u0627\u06af\u0633\u062a",
- "8": "\u0633\u062a\u0645\u0628\u0631",
- "9": "\u0627\u06a9\u062a\u0648\u0628\u0631",
- "10": "\u0646\u0648\u0645\u0628\u0631",
- "11": "\u062f\u0633\u0645\u0628\u0631"
- },
+ "AMPMS": [
+ "\u062f\u0646",
+ "\u0631\u0627\u062a"
+ ],
+ "DAY": [
+ "\u0627\u062a\u0648\u0627\u0631",
+ "\u067e\u064a\u0631",
+ "\u0645\u0646\u06af\u0644",
+ "\u0628\u062f\u0647",
+ "\u062c\u0645\u0639\u0631\u0627\u062a",
+ "\u062c\u0645\u0639\u06c1",
+ "\u06c1\u0641\u062a\u06c1"
+ ],
+ "MONTH": [
+ "\u062c\u0646\u0648\u0631\u06cc",
+ "\u0641\u0631\u0648\u0631\u06cc",
+ "\u0645\u0627\u0631\u0686",
+ "\u0627\u067e\u0631\u064a\u0644",
+ "\u0645\u0626",
+ "\u062c\u0648\u0646",
+ "\u062c\u0648\u0644\u0627\u0626",
+ "\u0627\u06af\u0633\u062a",
+ "\u0633\u062a\u0645\u0628\u0631",
+ "\u0627\u06a9\u062a\u0648\u0628\u0631",
+ "\u0646\u0648\u0645\u0628\u0631",
+ "\u062f\u0633\u0645\u0628\u0631"
+ ],
+ "SHORTDAY": [
+ "\u0627\u062a\u0648\u0627\u0631",
+ "\u067e\u064a\u0631",
+ "\u0645\u0646\u06af\u0644",
+ "\u0628\u062f\u0647",
+ "\u062c\u0645\u0639\u0631\u0627\u062a",
+ "\u062c\u0645\u0639\u06c1",
+ "\u06c1\u0641\u062a\u06c1"
+ ],
+ "SHORTMONTH": [
+ "\u062c\u0646\u0648\u0631\u06cc",
+ "\u0641\u0631\u0648\u0631\u06cc",
+ "\u0645\u0627\u0631\u0686",
+ "\u0627\u067e\u0631\u064a\u0644",
+ "\u0645\u0626",
+ "\u062c\u0648\u0646",
+ "\u062c\u0648\u0644\u0627\u0626",
+ "\u0627\u06af\u0633\u062a",
+ "\u0633\u062a\u0645\u0628\u0631",
+ "\u0627\u06a9\u062a\u0648\u0628\u0631",
+ "\u0646\u0648\u0645\u0628\u0631",
+ "\u062f\u0633\u0645\u0628\u0631"
+ ],
"fullDate": "EEEE\u060d d\u060d MMMM y",
"longDate": "d\u060d MMMM y",
"medium": "d\u060d MMM y h:mm:ss a",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "Rs",
"DECIMAL_SEP": ".",
"GROUP_SEP": ",",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4",
"posSuf": ""
}
- }
+ ]
},
"id": "ur",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_vi-vn.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_vi-vn.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_vi-vn.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "SA",
- "1": "CH"
- },
- "DAY": {
- "0": "Ch\u1ee7 nh\u1eadt",
- "1": "Th\u1ee9 hai",
- "2": "Th\u1ee9 ba",
- "3": "Th\u1ee9 t\u01b0",
- "4": "Th\u1ee9 n\u0103m",
- "5": "Th\u1ee9 s\u00e1u",
- "6": "Th\u1ee9 b\u1ea3y"
- },
- "MONTH": {
- "0": "th\u00e1ng m\u1ed9t",
- "1": "th\u00e1ng hai",
- "2": "th\u00e1ng ba",
- "3": "th\u00e1ng t\u01b0",
- "4": "th\u00e1ng n\u0103m",
- "5": "th\u00e1ng s\u00e1u",
- "6": "th\u00e1ng b\u1ea3y",
- "7": "th\u00e1ng t\u00e1m",
- "8": "th\u00e1ng ch\u00edn",
- "9": "th\u00e1ng m\u01b0\u1eddi",
- "10": "th\u00e1ng m\u01b0\u1eddi m\u1ed9t",
- "11": "th\u00e1ng m\u01b0\u1eddi hai"
- },
- "SHORTDAY": {
- "0": "CN",
- "1": "Th 2",
- "2": "Th 3",
- "3": "Th 4",
- "4": "Th 5",
- "5": "Th 6",
- "6": "Th 7"
- },
- "SHORTMONTH": {
- "0": "thg 1",
- "1": "thg 2",
- "2": "thg 3",
- "3": "thg 4",
- "4": "thg 5",
- "5": "thg 6",
- "6": "thg 7",
- "7": "thg 8",
- "8": "thg 9",
- "9": "thg 10",
- "10": "thg 11",
- "11": "thg 12"
- },
+ "AMPMS": [
+ "SA",
+ "CH"
+ ],
+ "DAY": [
+ "Ch\u1ee7 nh\u1eadt",
+ "Th\u1ee9 hai",
+ "Th\u1ee9 ba",
+ "Th\u1ee9 t\u01b0",
+ "Th\u1ee9 n\u0103m",
+ "Th\u1ee9 s\u00e1u",
+ "Th\u1ee9 b\u1ea3y"
+ ],
+ "MONTH": [
+ "th\u00e1ng m\u1ed9t",
+ "th\u00e1ng hai",
+ "th\u00e1ng ba",
+ "th\u00e1ng t\u01b0",
+ "th\u00e1ng n\u0103m",
+ "th\u00e1ng s\u00e1u",
+ "th\u00e1ng b\u1ea3y",
+ "th\u00e1ng t\u00e1m",
+ "th\u00e1ng ch\u00edn",
+ "th\u00e1ng m\u01b0\u1eddi",
+ "th\u00e1ng m\u01b0\u1eddi m\u1ed9t",
+ "th\u00e1ng m\u01b0\u1eddi hai"
+ ],
+ "SHORTDAY": [
+ "CN",
+ "Th 2",
+ "Th 3",
+ "Th 4",
+ "Th 5",
+ "Th 6",
+ "Th 7"
+ ],
+ "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"
+ ],
"fullDate": "EEEE, 'ng\u00e0y' dd MMMM 'n\u0103m' y",
"longDate": "'Ng\u00e0y' dd 'th\u00e1ng' M 'n\u0103m' y",
"medium": "dd-MM-yyyy HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20ab",
"DECIMAL_SEP": ",",
"GROUP_SEP": ".",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "vi-vn",
"pluralCat": function (n) { return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_vi.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_vi.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_vi.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "SA",
- "1": "CH"
- },
- "DAY": {
- "0": "Ch\u1ee7 nh\u1eadt",
- "1": "Th\u1ee9 hai",
- "2": "Th\u1ee9 ba",
- "3": "Th\u1ee9 t\u01b0",
- "4": "Th\u1ee9 n\u0103m",
- "5": "Th\u1ee9 s\u00e1u",
- "6": "Th\u1ee9 b\u1ea3y"
- },
- "MONTH": {
- "0": "th\u00e1ng m\u1ed9t",
- "1": "th\u00e1ng hai",
- "2": "th\u00e1ng ba",
- "3": "th\u00e1ng t\u01b0",
- "4": "th\u00e1ng n\u0103m",
- "5": "th\u00e1ng s\u00e1u",
- "6": "th\u00e1ng b\u1ea3y",
- "7": "th\u00e1ng t\u00e1m",
- "8": "th\u00e1ng ch\u00edn",
- "9": "th\u00e1ng m\u01b0\u1eddi",
- "10": "th\u00e1ng m\u01b0\u1eddi m\u1ed9t",
- "11": "th\u00e1ng m\u01b0\u1eddi hai"
- },
- "SHORTDAY": {
- "0": "CN",
- "1": "Th 2",
- "2": "Th 3",
- "3": "Th 4",
- "4": "Th 5",
- "5": "Th 6",
- "6": "Th 7"
- },
- "SHORTMONTH": {
- "0": "thg 1",
- "1": "thg 2",
- "2": "thg 3",
- "3": "thg 4",
- "4": "thg 5",
- "5": "thg 6",
- "6": "thg 7",
- "7": "thg 8",
- "8": "thg 9",
- "9": "thg 10",
- "10": "thg 11",
- "11": "thg 12"
- },
+ "AMPMS": [
+ "SA",
+ "CH"
+ ],
+ "DAY": [
+ "Ch\u1ee7 nh\u1eadt",
+ "Th\u1ee9 hai",
+ "Th\u1ee9 ba",
+ "Th\u1ee9 t\u01b0",
+ "Th\u1ee9 n\u0103m",
+ "Th\u1ee9 s\u00e1u",
+ "Th\u1ee9 b\u1ea3y"
+ ],
+ "MONTH": [
+ "th\u00e1ng m\u1ed9t",
+ "th\u00e1ng hai",
+ "th\u00e1ng ba",
+ "th\u00e1ng t\u01b0",
+ "th\u00e1ng n\u0103m",
+ "th\u00e1ng s\u00e1u",
+ "th\u00e1ng b\u1ea3y",
+ "th\u00e1ng t\u00e1m",
+ "th\u00e1ng ch\u00edn",
+ "th\u00e1ng m\u01b0\u1eddi",
+ "th\u00e1ng m\u01b0\u1eddi m\u1ed9t",
+ "th\u00e1ng m\u01b0\u1eddi hai"
+ ],
+ "SHORTDAY": [
+ "CN",
+ "Th 2",
+ "Th 3",
+ "Th 4",
+ "Th 5",
+ "Th 6",
+ "Th 7"
+ ],
+ "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"
+ ],
"fullDate": "EEEE, 'ng\u00e0y' dd MMMM 'n\u0103m' y",
"longDate": "'Ng\u00e0y' dd 'th\u00e1ng' M 'n\u0103m' y",
"medium": "dd-MM-yyyy HH:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u20ab",
"DECIMAL_SEP": ",",
"GROUP_SEP": ".",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
- }
+ ]
},
"id": "vi",
"pluralCat": function (n) { return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_zh-cn.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_zh-cn.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_zh-cn.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "\u4e0a\u5348",
- "1": "\u4e0b\u5348"
- },
- "DAY": {
- "0": "\u661f\u671f\u65e5",
- "1": "\u661f\u671f\u4e00",
- "2": "\u661f\u671f\u4e8c",
- "3": "\u661f\u671f\u4e09",
- "4": "\u661f\u671f\u56db",
- "5": "\u661f\u671f\u4e94",
- "6": "\u661f\u671f\u516d"
- },
- "MONTH": {
- "0": "1\u6708",
- "1": "2\u6708",
- "2": "3\u6708",
- "3": "4\u6708",
- "4": "5\u6708",
- "5": "6\u6708",
- "6": "7\u6708",
- "7": "8\u6708",
- "8": "9\u6708",
- "9": "10\u6708",
- "10": "11\u6708",
- "11": "12\u6708"
- },
- "SHORTDAY": {
- "0": "\u5468\u65e5",
- "1": "\u5468\u4e00",
- "2": "\u5468\u4e8c",
- "3": "\u5468\u4e09",
- "4": "\u5468\u56db",
- "5": "\u5468\u4e94",
- "6": "\u5468\u516d"
- },
- "SHORTMONTH": {
- "0": "1\u6708",
- "1": "2\u6708",
- "2": "3\u6708",
- "3": "4\u6708",
- "4": "5\u6708",
- "5": "6\u6708",
- "6": "7\u6708",
- "7": "8\u6708",
- "8": "9\u6708",
- "9": "10\u6708",
- "10": "11\u6708",
- "11": "12\u6708"
- },
+ "AMPMS": [
+ "\u4e0a\u5348",
+ "\u4e0b\u5348"
+ ],
+ "DAY": [
+ "\u661f\u671f\u65e5",
+ "\u661f\u671f\u4e00",
+ "\u661f\u671f\u4e8c",
+ "\u661f\u671f\u4e09",
+ "\u661f\u671f\u56db",
+ "\u661f\u671f\u4e94",
+ "\u661f\u671f\u516d"
+ ],
+ "MONTH": [
+ "1\u6708",
+ "2\u6708",
+ "3\u6708",
+ "4\u6708",
+ "5\u6708",
+ "6\u6708",
+ "7\u6708",
+ "8\u6708",
+ "9\u6708",
+ "10\u6708",
+ "11\u6708",
+ "12\u6708"
+ ],
+ "SHORTDAY": [
+ "\u5468\u65e5",
+ "\u5468\u4e00",
+ "\u5468\u4e8c",
+ "\u5468\u4e09",
+ "\u5468\u56db",
+ "\u5468\u4e94",
+ "\u5468\u516d"
+ ],
+ "SHORTMONTH": [
+ "1\u6708",
+ "2\u6708",
+ "3\u6708",
+ "4\u6708",
+ "5\u6708",
+ "6\u6708",
+ "7\u6708",
+ "8\u6708",
+ "9\u6708",
+ "10\u6708",
+ "11\u6708",
+ "12\u6708"
+ ],
"fullDate": "y\u5e74M\u6708d\u65e5EEEE",
"longDate": "y\u5e74M\u6708d\u65e5",
"medium": "yyyy-M-d ah:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u00a5",
"DECIMAL_SEP": ".",
"GROUP_SEP": ",",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4",
"posSuf": ""
}
- }
+ ]
},
"id": "zh-cn",
"pluralCat": function (n) { return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_zh-hans-cn.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_zh-hans-cn.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_zh-hans-cn.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "\u4e0a\u5348",
- "1": "\u4e0b\u5348"
- },
- "DAY": {
- "0": "\u661f\u671f\u65e5",
- "1": "\u661f\u671f\u4e00",
- "2": "\u661f\u671f\u4e8c",
- "3": "\u661f\u671f\u4e09",
- "4": "\u661f\u671f\u56db",
- "5": "\u661f\u671f\u4e94",
- "6": "\u661f\u671f\u516d"
- },
- "MONTH": {
- "0": "1\u6708",
- "1": "2\u6708",
- "2": "3\u6708",
- "3": "4\u6708",
- "4": "5\u6708",
- "5": "6\u6708",
- "6": "7\u6708",
- "7": "8\u6708",
- "8": "9\u6708",
- "9": "10\u6708",
- "10": "11\u6708",
- "11": "12\u6708"
- },
- "SHORTDAY": {
- "0": "\u5468\u65e5",
- "1": "\u5468\u4e00",
- "2": "\u5468\u4e8c",
- "3": "\u5468\u4e09",
- "4": "\u5468\u56db",
- "5": "\u5468\u4e94",
- "6": "\u5468\u516d"
- },
- "SHORTMONTH": {
- "0": "1\u6708",
- "1": "2\u6708",
- "2": "3\u6708",
- "3": "4\u6708",
- "4": "5\u6708",
- "5": "6\u6708",
- "6": "7\u6708",
- "7": "8\u6708",
- "8": "9\u6708",
- "9": "10\u6708",
- "10": "11\u6708",
- "11": "12\u6708"
- },
+ "AMPMS": [
+ "\u4e0a\u5348",
+ "\u4e0b\u5348"
+ ],
+ "DAY": [
+ "\u661f\u671f\u65e5",
+ "\u661f\u671f\u4e00",
+ "\u661f\u671f\u4e8c",
+ "\u661f\u671f\u4e09",
+ "\u661f\u671f\u56db",
+ "\u661f\u671f\u4e94",
+ "\u661f\u671f\u516d"
+ ],
+ "MONTH": [
+ "1\u6708",
+ "2\u6708",
+ "3\u6708",
+ "4\u6708",
+ "5\u6708",
+ "6\u6708",
+ "7\u6708",
+ "8\u6708",
+ "9\u6708",
+ "10\u6708",
+ "11\u6708",
+ "12\u6708"
+ ],
+ "SHORTDAY": [
+ "\u5468\u65e5",
+ "\u5468\u4e00",
+ "\u5468\u4e8c",
+ "\u5468\u4e09",
+ "\u5468\u56db",
+ "\u5468\u4e94",
+ "\u5468\u516d"
+ ],
+ "SHORTMONTH": [
+ "1\u6708",
+ "2\u6708",
+ "3\u6708",
+ "4\u6708",
+ "5\u6708",
+ "6\u6708",
+ "7\u6708",
+ "8\u6708",
+ "9\u6708",
+ "10\u6708",
+ "11\u6708",
+ "12\u6708"
+ ],
"fullDate": "y\u5e74M\u6708d\u65e5EEEE",
"longDate": "y\u5e74M\u6708d\u65e5",
"medium": "yyyy-M-d ah:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u00a5",
"DECIMAL_SEP": ".",
"GROUP_SEP": ",",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4",
"posSuf": ""
}
- }
+ ]
},
"id": "zh-hans-cn",
"pluralCat": function (n) { return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_zh-hk.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_zh-hk.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_zh-hk.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "\u4e0a\u5348",
- "1": "\u4e0b\u5348"
- },
- "DAY": {
- "0": "\u661f\u671f\u65e5",
- "1": "\u661f\u671f\u4e00",
- "2": "\u661f\u671f\u4e8c",
- "3": "\u661f\u671f\u4e09",
- "4": "\u661f\u671f\u56db",
- "5": "\u661f\u671f\u4e94",
- "6": "\u661f\u671f\u516d"
- },
- "MONTH": {
- "0": "1\u6708",
- "1": "2\u6708",
- "2": "3\u6708",
- "3": "4\u6708",
- "4": "5\u6708",
- "5": "6\u6708",
- "6": "7\u6708",
- "7": "8\u6708",
- "8": "9\u6708",
- "9": "10\u6708",
- "10": "11\u6708",
- "11": "12\u6708"
- },
- "SHORTDAY": {
- "0": "\u9031\u65e5",
- "1": "\u9031\u4e00",
- "2": "\u9031\u4e8c",
- "3": "\u9031\u4e09",
- "4": "\u9031\u56db",
- "5": "\u9031\u4e94",
- "6": "\u9031\u516d"
- },
- "SHORTMONTH": {
- "0": "1\u6708",
- "1": "2\u6708",
- "2": "3\u6708",
- "3": "4\u6708",
- "4": "5\u6708",
- "5": "6\u6708",
- "6": "7\u6708",
- "7": "8\u6708",
- "8": "9\u6708",
- "9": "10\u6708",
- "10": "11\u6708",
- "11": "12\u6708"
- },
+ "AMPMS": [
+ "\u4e0a\u5348",
+ "\u4e0b\u5348"
+ ],
+ "DAY": [
+ "\u661f\u671f\u65e5",
+ "\u661f\u671f\u4e00",
+ "\u661f\u671f\u4e8c",
+ "\u661f\u671f\u4e09",
+ "\u661f\u671f\u56db",
+ "\u661f\u671f\u4e94",
+ "\u661f\u671f\u516d"
+ ],
+ "MONTH": [
+ "1\u6708",
+ "2\u6708",
+ "3\u6708",
+ "4\u6708",
+ "5\u6708",
+ "6\u6708",
+ "7\u6708",
+ "8\u6708",
+ "9\u6708",
+ "10\u6708",
+ "11\u6708",
+ "12\u6708"
+ ],
+ "SHORTDAY": [
+ "\u9031\u65e5",
+ "\u9031\u4e00",
+ "\u9031\u4e8c",
+ "\u9031\u4e09",
+ "\u9031\u56db",
+ "\u9031\u4e94",
+ "\u9031\u516d"
+ ],
+ "SHORTMONTH": [
+ "1\u6708",
+ "2\u6708",
+ "3\u6708",
+ "4\u6708",
+ "5\u6708",
+ "6\u6708",
+ "7\u6708",
+ "8\u6708",
+ "9\u6708",
+ "10\u6708",
+ "11\u6708",
+ "12\u6708"
+ ],
"fullDate": "y\u5e74M\u6708d\u65e5EEEE",
"longDate": "y\u5e74M\u6708d\u65e5",
"medium": "y\u5e74M\u6708d\u65e5 ahh:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "$",
"DECIMAL_SEP": ".",
"GROUP_SEP": ",",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4",
"posSuf": ""
}
- }
+ ]
},
"id": "zh-hk",
"pluralCat": function (n) { return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_zh-tw.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_zh-tw.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_zh-tw.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "\u4e0a\u5348",
- "1": "\u4e0b\u5348"
- },
- "DAY": {
- "0": "\u661f\u671f\u65e5",
- "1": "\u661f\u671f\u4e00",
- "2": "\u661f\u671f\u4e8c",
- "3": "\u661f\u671f\u4e09",
- "4": "\u661f\u671f\u56db",
- "5": "\u661f\u671f\u4e94",
- "6": "\u661f\u671f\u516d"
- },
- "MONTH": {
- "0": "1\u6708",
- "1": "2\u6708",
- "2": "3\u6708",
- "3": "4\u6708",
- "4": "5\u6708",
- "5": "6\u6708",
- "6": "7\u6708",
- "7": "8\u6708",
- "8": "9\u6708",
- "9": "10\u6708",
- "10": "11\u6708",
- "11": "12\u6708"
- },
- "SHORTDAY": {
- "0": "\u9031\u65e5",
- "1": "\u9031\u4e00",
- "2": "\u9031\u4e8c",
- "3": "\u9031\u4e09",
- "4": "\u9031\u56db",
- "5": "\u9031\u4e94",
- "6": "\u9031\u516d"
- },
- "SHORTMONTH": {
- "0": "1\u6708",
- "1": "2\u6708",
- "2": "3\u6708",
- "3": "4\u6708",
- "4": "5\u6708",
- "5": "6\u6708",
- "6": "7\u6708",
- "7": "8\u6708",
- "8": "9\u6708",
- "9": "10\u6708",
- "10": "11\u6708",
- "11": "12\u6708"
- },
+ "AMPMS": [
+ "\u4e0a\u5348",
+ "\u4e0b\u5348"
+ ],
+ "DAY": [
+ "\u661f\u671f\u65e5",
+ "\u661f\u671f\u4e00",
+ "\u661f\u671f\u4e8c",
+ "\u661f\u671f\u4e09",
+ "\u661f\u671f\u56db",
+ "\u661f\u671f\u4e94",
+ "\u661f\u671f\u516d"
+ ],
+ "MONTH": [
+ "1\u6708",
+ "2\u6708",
+ "3\u6708",
+ "4\u6708",
+ "5\u6708",
+ "6\u6708",
+ "7\u6708",
+ "8\u6708",
+ "9\u6708",
+ "10\u6708",
+ "11\u6708",
+ "12\u6708"
+ ],
+ "SHORTDAY": [
+ "\u9031\u65e5",
+ "\u9031\u4e00",
+ "\u9031\u4e8c",
+ "\u9031\u4e09",
+ "\u9031\u56db",
+ "\u9031\u4e94",
+ "\u9031\u516d"
+ ],
+ "SHORTMONTH": [
+ "1\u6708",
+ "2\u6708",
+ "3\u6708",
+ "4\u6708",
+ "5\u6708",
+ "6\u6708",
+ "7\u6708",
+ "8\u6708",
+ "9\u6708",
+ "10\u6708",
+ "11\u6708",
+ "12\u6708"
+ ],
"fullDate": "y\u5e74M\u6708d\u65e5EEEE",
"longDate": "y\u5e74M\u6708d\u65e5",
"medium": "yyyy/M/d ah:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "NT$",
"DECIMAL_SEP": ".",
"GROUP_SEP": ",",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4",
"posSuf": ""
}
- }
+ ]
},
"id": "zh-tw",
"pluralCat": function (n) { return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_zh.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_zh.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_zh.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "\u4e0a\u5348",
- "1": "\u4e0b\u5348"
- },
- "DAY": {
- "0": "\u661f\u671f\u65e5",
- "1": "\u661f\u671f\u4e00",
- "2": "\u661f\u671f\u4e8c",
- "3": "\u661f\u671f\u4e09",
- "4": "\u661f\u671f\u56db",
- "5": "\u661f\u671f\u4e94",
- "6": "\u661f\u671f\u516d"
- },
- "MONTH": {
- "0": "1\u6708",
- "1": "2\u6708",
- "2": "3\u6708",
- "3": "4\u6708",
- "4": "5\u6708",
- "5": "6\u6708",
- "6": "7\u6708",
- "7": "8\u6708",
- "8": "9\u6708",
- "9": "10\u6708",
- "10": "11\u6708",
- "11": "12\u6708"
- },
- "SHORTDAY": {
- "0": "\u5468\u65e5",
- "1": "\u5468\u4e00",
- "2": "\u5468\u4e8c",
- "3": "\u5468\u4e09",
- "4": "\u5468\u56db",
- "5": "\u5468\u4e94",
- "6": "\u5468\u516d"
- },
- "SHORTMONTH": {
- "0": "1\u6708",
- "1": "2\u6708",
- "2": "3\u6708",
- "3": "4\u6708",
- "4": "5\u6708",
- "5": "6\u6708",
- "6": "7\u6708",
- "7": "8\u6708",
- "8": "9\u6708",
- "9": "10\u6708",
- "10": "11\u6708",
- "11": "12\u6708"
- },
+ "AMPMS": [
+ "\u4e0a\u5348",
+ "\u4e0b\u5348"
+ ],
+ "DAY": [
+ "\u661f\u671f\u65e5",
+ "\u661f\u671f\u4e00",
+ "\u661f\u671f\u4e8c",
+ "\u661f\u671f\u4e09",
+ "\u661f\u671f\u56db",
+ "\u661f\u671f\u4e94",
+ "\u661f\u671f\u516d"
+ ],
+ "MONTH": [
+ "1\u6708",
+ "2\u6708",
+ "3\u6708",
+ "4\u6708",
+ "5\u6708",
+ "6\u6708",
+ "7\u6708",
+ "8\u6708",
+ "9\u6708",
+ "10\u6708",
+ "11\u6708",
+ "12\u6708"
+ ],
+ "SHORTDAY": [
+ "\u5468\u65e5",
+ "\u5468\u4e00",
+ "\u5468\u4e8c",
+ "\u5468\u4e09",
+ "\u5468\u56db",
+ "\u5468\u4e94",
+ "\u5468\u516d"
+ ],
+ "SHORTMONTH": [
+ "1\u6708",
+ "2\u6708",
+ "3\u6708",
+ "4\u6708",
+ "5\u6708",
+ "6\u6708",
+ "7\u6708",
+ "8\u6708",
+ "9\u6708",
+ "10\u6708",
+ "11\u6708",
+ "12\u6708"
+ ],
"fullDate": "y\u5e74M\u6708d\u65e5EEEE",
"longDate": "y\u5e74M\u6708d\u65e5",
"medium": "yyyy-M-d ah:mm:ss",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "\u00a5",
"DECIMAL_SEP": ".",
"GROUP_SEP": ",",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4",
"posSuf": ""
}
- }
+ ]
},
"id": "zh",
"pluralCat": function (n) { return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_zu-za.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_zu-za.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_zu-za.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "AM",
- "1": "PM"
- },
- "DAY": {
- "0": "Sonto",
- "1": "Msombuluko",
- "2": "Lwesibili",
- "3": "Lwesithathu",
- "4": "uLwesine",
- "5": "Lwesihlanu",
- "6": "Mgqibelo"
- },
- "MONTH": {
- "0": "Januwari",
- "1": "Februwari",
- "2": "Mashi",
- "3": "Apreli",
- "4": "Meyi",
- "5": "Juni",
- "6": "Julayi",
- "7": "Agasti",
- "8": "Septhemba",
- "9": "Okthoba",
- "10": "Novemba",
- "11": "Disemba"
- },
- "SHORTDAY": {
- "0": "Son",
- "1": "Mso",
- "2": "Bil",
- "3": "Tha",
- "4": "Sin",
- "5": "Hla",
- "6": "Mgq"
- },
- "SHORTMONTH": {
- "0": "Jan",
- "1": "Feb",
- "2": "Mas",
- "3": "Apr",
- "4": "Mey",
- "5": "Jun",
- "6": "Jul",
- "7": "Aga",
- "8": "Sep",
- "9": "Okt",
- "10": "Nov",
- "11": "Dis"
- },
+ "AMPMS": [
+ "AM",
+ "PM"
+ ],
+ "DAY": [
+ "Sonto",
+ "Msombuluko",
+ "Lwesibili",
+ "Lwesithathu",
+ "uLwesine",
+ "Lwesihlanu",
+ "Mgqibelo"
+ ],
+ "MONTH": [
+ "Januwari",
+ "Februwari",
+ "Mashi",
+ "Apreli",
+ "Meyi",
+ "Juni",
+ "Julayi",
+ "Agasti",
+ "Septhemba",
+ "Okthoba",
+ "Novemba",
+ "Disemba"
+ ],
+ "SHORTDAY": [
+ "Son",
+ "Mso",
+ "Bil",
+ "Tha",
+ "Sin",
+ "Hla",
+ "Mgq"
+ ],
+ "SHORTMONTH": [
+ "Jan",
+ "Feb",
+ "Mas",
+ "Apr",
+ "Mey",
+ "Jun",
+ "Jul",
+ "Aga",
+ "Sep",
+ "Okt",
+ "Nov",
+ "Dis"
+ ],
"fullDate": "EEEE dd MMMM y",
"longDate": "d MMMM y",
"medium": "d MMM y h:mm:ss a",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "R",
"DECIMAL_SEP": ".",
"GROUP_SEP": ",",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4",
"posSuf": ""
}
- }
+ ]
},
"id": "zu-za",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
Modified: sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_zu.js
===================================================================
--- sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_zu.js 2013-08-12 09:54:05 UTC (rev 198)
+++ sandbox/nuiton-js-angular/src/main/resources/nuiton-js-angular/i18n/angular-locale_zu.js 2013-08-14 08:20:29 UTC (rev 199)
@@ -3,56 +3,56 @@
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
"DATETIME_FORMATS": {
- "AMPMS": {
- "0": "AM",
- "1": "PM"
- },
- "DAY": {
- "0": "Sonto",
- "1": "Msombuluko",
- "2": "Lwesibili",
- "3": "Lwesithathu",
- "4": "uLwesine",
- "5": "Lwesihlanu",
- "6": "Mgqibelo"
- },
- "MONTH": {
- "0": "Januwari",
- "1": "Februwari",
- "2": "Mashi",
- "3": "Apreli",
- "4": "Meyi",
- "5": "Juni",
- "6": "Julayi",
- "7": "Agasti",
- "8": "Septhemba",
- "9": "Okthoba",
- "10": "Novemba",
- "11": "Disemba"
- },
- "SHORTDAY": {
- "0": "Son",
- "1": "Mso",
- "2": "Bil",
- "3": "Tha",
- "4": "Sin",
- "5": "Hla",
- "6": "Mgq"
- },
- "SHORTMONTH": {
- "0": "Jan",
- "1": "Feb",
- "2": "Mas",
- "3": "Apr",
- "4": "Mey",
- "5": "Jun",
- "6": "Jul",
- "7": "Aga",
- "8": "Sep",
- "9": "Okt",
- "10": "Nov",
- "11": "Dis"
- },
+ "AMPMS": [
+ "AM",
+ "PM"
+ ],
+ "DAY": [
+ "Sonto",
+ "Msombuluko",
+ "Lwesibili",
+ "Lwesithathu",
+ "uLwesine",
+ "Lwesihlanu",
+ "Mgqibelo"
+ ],
+ "MONTH": [
+ "Januwari",
+ "Februwari",
+ "Mashi",
+ "Apreli",
+ "Meyi",
+ "Juni",
+ "Julayi",
+ "Agasti",
+ "Septhemba",
+ "Okthoba",
+ "Novemba",
+ "Disemba"
+ ],
+ "SHORTDAY": [
+ "Son",
+ "Mso",
+ "Bil",
+ "Tha",
+ "Sin",
+ "Hla",
+ "Mgq"
+ ],
+ "SHORTMONTH": [
+ "Jan",
+ "Feb",
+ "Mas",
+ "Apr",
+ "Mey",
+ "Jun",
+ "Jul",
+ "Aga",
+ "Sep",
+ "Okt",
+ "Nov",
+ "Dis"
+ ],
"fullDate": "EEEE dd MMMM y",
"longDate": "d MMMM y",
"medium": "d MMM y h:mm:ss a",
@@ -66,8 +66,8 @@
"CURRENCY_SYM": "R",
"DECIMAL_SEP": ".",
"GROUP_SEP": ",",
- "PATTERNS": {
- "0": {
+ "PATTERNS": [
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -79,7 +79,7 @@
"posPre": "",
"posSuf": ""
},
- "1": {
+ {
"gSize": 3,
"lgSize": 3,
"macFrac": 0,
@@ -91,7 +91,7 @@
"posPre": "\u00a4",
"posSuf": ""
}
- }
+ ]
},
"id": "zu",
"pluralCat": function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;}
1
0
r198 - sandbox/nuiton-js-mustache/src/main/resources/META-INF/nuiton-js
by echatellier@users.nuiton.org 12 Aug '13
by echatellier@users.nuiton.org 12 Aug '13
12 Aug '13
Author: echatellier
Date: 2013-08-12 11:54:05 +0200 (Mon, 12 Aug 2013)
New Revision: 198
Url: http://nuiton.org/projects/nuiton-js/repository/revisions/198
Log:
fix wrong wro group name
Modified:
sandbox/nuiton-js-mustache/src/main/resources/META-INF/nuiton-js/wro-mustache.xml
Modified: sandbox/nuiton-js-mustache/src/main/resources/META-INF/nuiton-js/wro-mustache.xml
===================================================================
--- sandbox/nuiton-js-mustache/src/main/resources/META-INF/nuiton-js/wro-mustache.xml 2013-08-09 09:04:36 UTC (rev 197)
+++ sandbox/nuiton-js-mustache/src/main/resources/META-INF/nuiton-js/wro-mustache.xml 2013-08-12 09:54:05 UTC (rev 198)
@@ -22,7 +22,7 @@
#L%
-->
<groups xmlns="http://www.isdc.ro/wro">
- <group name='jquery'>
+ <group name='mustache'>
<js>classpath:nuiton-js-mustache/*.js</js>
</group>
</groups>
1
0
Author: tchemit
Date: 2013-08-09 11:04:36 +0200 (Fri, 09 Aug 2013)
New Revision: 197
Url: http://nuiton.org/projects/nuiton-js/repository/revisions/197
Log:
- updates mavenpom to 4.0
- reformat poms
Modified:
trunk/nuiton-js-lib/pom.xml
trunk/pom.xml
Modified: trunk/nuiton-js-lib/pom.xml
===================================================================
(Binary files differ)
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2013-07-26 18:35:28 UTC (rev 196)
+++ trunk/pom.xml 2013-08-09 09:04:36 UTC (rev 197)
@@ -10,7 +10,7 @@
<parent>
<groupId>org.nuiton</groupId>
<artifactId>mavenpom4redmineAndCentral</artifactId>
- <version>3.4.13</version>
+ <version>4.0</version>
</parent>
<groupId>org.nuiton.js</groupId>
1
0
Author: bpoussin
Date: 2013-07-26 20:35:28 +0200 (Fri, 26 Jul 2013)
New Revision: 196
Url: http://nuiton.org/projects/nuiton-js/repository/revisions/196
Log:
add some explain about css file and font path modification
Modified:
sandbox/nuiton-js-font-awesome/README.txt
Modified: sandbox/nuiton-js-font-awesome/README.txt
===================================================================
(Binary files differ)
1
0
r195 - in sandbox/nuiton-js-font-awesome: . src/main/resources/nuiton-js-font-awesome/css
by bpoussin@users.nuiton.org 26 Jul '13
by bpoussin@users.nuiton.org 26 Jul '13
26 Jul '13
Author: bpoussin
Date: 2013-07-26 20:32:54 +0200 (Fri, 26 Jul 2013)
New Revision: 195
Url: http://nuiton.org/projects/nuiton-js/repository/revisions/195
Log:
- don't filter font resource, otherwise font is corrupted
- remove extra path "?..." in font path otherwize find resource in classpath doesn't work
Modified:
sandbox/nuiton-js-font-awesome/pom.xml
sandbox/nuiton-js-font-awesome/src/main/resources/nuiton-js-font-awesome/css/font-awesome.css
Modified: sandbox/nuiton-js-font-awesome/pom.xml
===================================================================
(Binary files differ)
Modified: sandbox/nuiton-js-font-awesome/src/main/resources/nuiton-js-font-awesome/css/font-awesome.css
===================================================================
--- sandbox/nuiton-js-font-awesome/src/main/resources/nuiton-js-font-awesome/css/font-awesome.css 2013-07-22 13:42:18 UTC (rev 194)
+++ sandbox/nuiton-js-font-awesome/src/main/resources/nuiton-js-font-awesome/css/font-awesome.css 2013-07-26 18:32:54 UTC (rev 195)
@@ -28,7 +28,11 @@
@font-face {
font-family: 'FontAwesome';
src: url('../font/fontawesome-webfont.eot?v=3.2.1');
+ src: url('../font/fontawesome-webfont.eot') format('embedded-opentype'), url('../font/fontawesome-webfont.woff') format('woff'), url('../font/fontawesome-webfont.ttf') format('truetype'), url('../font/fontawesome-webfont.svg#fontawesomeregular') format('svg');
+/*
+ fixes CL: on ne met pas les '?...' car sinon le fichier n'est pas retrouve convenablement dans le classpath
src: url('../font/fontawesome-webfont.eot?#iefix&v=3.2.1') format('embedded-opentype'), url('../font/fontawesome-webfont.woff?v=3.2.1') format('woff'), url('../font/fontawesome-webfont.ttf?v=3.2.1') format('truetype'), url('../font/fontawesome-webfont.svg#fontawesomeregular?v=3.2.1') format('svg');
+*/
font-weight: normal;
font-style: normal;
}
1
0
22 Jul '13
Author: echatellier
Date: 2013-07-22 15:42:18 +0200 (Mon, 22 Jul 2013)
New Revision: 194
Url: http://nuiton.org/projects/nuiton-js/repository/revisions/194
Log:
Use released parent
Removed:
sandbox/nuiton-js-jquery-i18n-properties/changelog.txt
Deleted: sandbox/nuiton-js-jquery-i18n-properties/changelog.txt
===================================================================
--- sandbox/nuiton-js-jquery-i18n-properties/changelog.txt 2013-07-22 13:42:05 UTC (rev 193)
+++ sandbox/nuiton-js-jquery-i18n-properties/changelog.txt 2013-07-22 13:42:18 UTC (rev 194)
@@ -1,2 +0,0 @@
-Please refer to the release note :
- http://maven-site.nuiton.org/nuiton-js/changes-report.html
1
0
r193 - in sandbox: nuiton-js-moment nuiton-js-mustache nuiton-js-select2
by echatellier@users.nuiton.org 22 Jul '13
by echatellier@users.nuiton.org 22 Jul '13
22 Jul '13
Author: echatellier
Date: 2013-07-22 15:42:05 +0200 (Mon, 22 Jul 2013)
New Revision: 193
Url: http://nuiton.org/projects/nuiton-js/repository/revisions/193
Log:
Use released parent
Modified:
sandbox/nuiton-js-moment/pom.xml
sandbox/nuiton-js-mustache/pom.xml
sandbox/nuiton-js-select2/pom.xml
Modified: sandbox/nuiton-js-moment/pom.xml
===================================================================
--- sandbox/nuiton-js-moment/pom.xml 2013-07-22 13:41:56 UTC (rev 192)
+++ sandbox/nuiton-js-moment/pom.xml 2013-07-22 13:42:05 UTC (rev 193)
@@ -10,7 +10,7 @@
<parent>
<groupId>org.nuiton.js</groupId>
<artifactId>nuiton-js-lib</artifactId>
- <version>1.0.1-SNAPSHOT</version>
+ <version>1.0.1</version>
</parent>
<artifactId>nuiton-js-moment</artifactId>
Modified: sandbox/nuiton-js-mustache/pom.xml
===================================================================
--- sandbox/nuiton-js-mustache/pom.xml 2013-07-22 13:41:56 UTC (rev 192)
+++ sandbox/nuiton-js-mustache/pom.xml 2013-07-22 13:42:05 UTC (rev 193)
@@ -10,7 +10,7 @@
<parent>
<groupId>org.nuiton.js</groupId>
<artifactId>nuiton-js-lib</artifactId>
- <version>1.0.1-SNAPSHOT</version>
+ <version>1.0.1</version>
</parent>
<artifactId>nuiton-js-mustache</artifactId>
Modified: sandbox/nuiton-js-select2/pom.xml
===================================================================
--- sandbox/nuiton-js-select2/pom.xml 2013-07-22 13:41:56 UTC (rev 192)
+++ sandbox/nuiton-js-select2/pom.xml 2013-07-22 13:42:05 UTC (rev 193)
@@ -10,7 +10,7 @@
<parent>
<groupId>org.nuiton.js</groupId>
<artifactId>nuiton-js-lib</artifactId>
- <version>1.0.1-SNAPSHOT</version>
+ <version>1.0.1</version>
</parent>
<artifactId>nuiton-js-select2</artifactId>
1
0
Author: echatellier
Date: 2013-07-22 15:41:56 +0200 (Mon, 22 Jul 2013)
New Revision: 192
Url: http://nuiton.org/projects/nuiton-js/repository/revisions/192
Log:
Use released parent
Removed:
sandbox/nuiton-js-leaflet/changelog.txt
Modified:
sandbox/nuiton-js-leaflet/pom.xml
Deleted: sandbox/nuiton-js-leaflet/changelog.txt
===================================================================
Modified: sandbox/nuiton-js-leaflet/pom.xml
===================================================================
--- sandbox/nuiton-js-leaflet/pom.xml 2013-07-22 13:41:47 UTC (rev 191)
+++ sandbox/nuiton-js-leaflet/pom.xml 2013-07-22 13:41:56 UTC (rev 192)
@@ -10,7 +10,7 @@
<parent>
<groupId>org.nuiton.js</groupId>
<artifactId>nuiton-js-lib</artifactId>
- <version>1.0.1-SNAPSHOT</version>
+ <version>1.0.1</version>
</parent>
<artifactId>nuiton-js-leaflet</artifactId>
Property changes on: sandbox/nuiton-js-leaflet/pom.xml
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
1
0
22 Jul '13
Author: echatellier
Date: 2013-07-22 15:41:47 +0200 (Mon, 22 Jul 2013)
New Revision: 191
Url: http://nuiton.org/projects/nuiton-js/repository/revisions/191
Log:
Use released parent
Removed:
sandbox/nuiton-js-jstree/changelog.txt
Modified:
sandbox/nuiton-js-jquery-ui/pom.xml
sandbox/nuiton-js-jstree/pom.xml
Modified: sandbox/nuiton-js-jquery-ui/pom.xml
===================================================================
--- sandbox/nuiton-js-jquery-ui/pom.xml 2013-07-22 13:41:36 UTC (rev 190)
+++ sandbox/nuiton-js-jquery-ui/pom.xml 2013-07-22 13:41:47 UTC (rev 191)
@@ -10,7 +10,7 @@
<parent>
<groupId>org.nuiton.js</groupId>
<artifactId>nuiton-js-lib</artifactId>
- <version>1.0.1-SNAPSHOT</version>
+ <version>1.0.1</version>
</parent>
<artifactId>nuiton-js-jquery-ui</artifactId>
Deleted: sandbox/nuiton-js-jstree/changelog.txt
===================================================================
--- sandbox/nuiton-js-jstree/changelog.txt 2013-07-22 13:41:36 UTC (rev 190)
+++ sandbox/nuiton-js-jstree/changelog.txt 2013-07-22 13:41:47 UTC (rev 191)
@@ -1,2 +0,0 @@
-Please refer to the release note :
- http://maven-site.nuiton.org/nuiton-js/changes-report.html
Modified: sandbox/nuiton-js-jstree/pom.xml
===================================================================
--- sandbox/nuiton-js-jstree/pom.xml 2013-07-22 13:41:36 UTC (rev 190)
+++ sandbox/nuiton-js-jstree/pom.xml 2013-07-22 13:41:47 UTC (rev 191)
@@ -10,11 +10,11 @@
<parent>
<groupId>org.nuiton.js</groupId>
<artifactId>nuiton-js-lib</artifactId>
- <version>1.0.1-SNAPSHOT</version>
+ <version>1.0.1</version>
</parent>
<artifactId>nuiton-js-jstree</artifactId>
- <version>1.0-rc3-1</version>
+ <version>1.0-rc3-2-SNAPSHOT</version>
<name>Nuiton JS :: JsTree</name>
<description>JsTree jar packaging</description>
Property changes on: sandbox/nuiton-js-jstree/pom.xml
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
1
0
22 Jul '13
Author: echatellier
Date: 2013-07-22 15:41:36 +0200 (Mon, 22 Jul 2013)
New Revision: 190
Url: http://nuiton.org/projects/nuiton-js/repository/revisions/190
Log:
Use released parent
Modified:
sandbox/nuiton-js-jquery-i18n-properties/pom.xml
Modified: sandbox/nuiton-js-jquery-i18n-properties/pom.xml
===================================================================
--- sandbox/nuiton-js-jquery-i18n-properties/pom.xml 2013-07-22 13:41:27 UTC (rev 189)
+++ sandbox/nuiton-js-jquery-i18n-properties/pom.xml 2013-07-22 13:41:36 UTC (rev 190)
@@ -10,11 +10,11 @@
<parent>
<groupId>org.nuiton.js</groupId>
<artifactId>nuiton-js-lib</artifactId>
- <version>1.0.1-SNAPSHOT</version>
+ <version>1.0.1</version>
</parent>
<artifactId>nuiton-js-jquery-i18n-properties</artifactId>
- <version>1.0.9-1</version>
+ <version>1.0.9-2-SNAPSHOT</version>
<name>Nuiton JS :: jQuery i18n properties</name>
<description>jQuery i18n properties jar packaging</description>
Property changes on: sandbox/nuiton-js-jquery-i18n-properties/pom.xml
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
1
0