/*______________
| ______ | U I Z E J A V A S C R I P T F R A M E W O R K
| / / | ---------------------------------------------------
| / O / | MODULE : Uize.Loc.Plurals.Langs.bs Package
| / / / |
| / / / /| | ONLINE : http://uize.com
| /____/ /__/_| | COPYRIGHT : (c)2014 UIZE
| /___ | LICENSE : Available under MIT License or GNU General Public License
|_______________| http://uize.com/license.html
*/
/* Module Meta Data
type: Package
importance: 1
codeCompleteness: 100
docCompleteness: 100
*/
/*?
Introduction
The =Uize.Loc.Plurals.Langs.bs= module implements a .
*DEVELOPERS:* `Chris van Rensburg`
Plural Categories
........................................................
<< table >>
title: Plural Categories
data:
:| Category | Rule |
:| one | v = 0 and i % 10 = 1 and i % 100 != 11 or f % 10 = 1 and f % 100 != 11 @integer 1, 21, 31, 41, 51, 61, 71, 81, 101, 1001, … @decimal 0.1, 1.1, 2.1, 3.1, 4.1, 5.1, 6.1, 7.1, 10.1, 100.1, 1000.1, … |
:| few | v = 0 and i % 10 = 2..4 and i % 100 != 12..14 or f % 10 = 2..4 and f % 100 != 12..14 @integer 2~4, 22~24, 32~34, 42~44, 52~54, 62, 102, 1002, … @decimal 0.2~0.4, 1.2~1.4, 2.2~2.4, 3.2~3.4, 4.2~4.4, 5.2, 10.2, 100.2, 1000.2, … |
:| other | @integer 0, 5~19, 100, 1000, 10000, 100000, 1000000, … @decimal 0.0, 0.5~1.0, 1.5~2.0, 2.5~2.7, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, … |
........................................................
*/
Uize.module ({
name:'Uize.Loc.Plurals.Langs.bs',
required:'Uize.Loc.Plurals.Util',
builder:function () {
'use strict';
return Uize.package ({
getPluralCategory:function (_value) {
return Uize.Loc.Plurals.Util.getPluralCategory (
_value,
function (n,i,f,t,v,w,within) {
return v == 0 && i % 10 == 1 && i % 100 != 11 || f % 10 == 1 && f % 100 != 11 ? 'one' : v == 0 && within (i % 10,[[2,4]]) && within (i % 100,[[12,14]]) || within (f % 10,[[2,4]]) && within (f % 100,[[12,14]]) ? 'few' : 'other';
}
);
}
});
}
});