File: D:/HostingSpaces/PvdBoogaard/indoorski.nl/backup/oude-site/cms/language/en-US/inflector.js
iwp = $.extend(iwp, {
inflector : {
pluralRules: {
'(quiz)$': '$1zes',
'^(ox)$': '$1en',
'([m|l])ouse$': '$1ice',
'(matr|vert|ind)(?:ix|ex)$': '$1ices',
'(x|ch|ss|sh)$': '$1es',
'([^aeiouy]|qu)y$': '$1ies',
'(hive)$': '$1s',
'(?:([^f])fe|([lr])f)$': '$1$2ves',
'sis$': 'ses',
'([ti])um$': '$1a',
'(buffal|tomat)o$': '$1oes',
'(octop|vir)us$': '$1i',
'(bu)s$': '$1ses',
'(alias|status)$': '$1es',
'(ax|test)is$': '$1es',
's$': 'ses',
'([^s])$': '$1s'
},
singularRules: {
'(quiz)zes$': '$1',
'(matr)ices$': '$1ix',
'(vert|ind)ices$': '$1ex',
'^(ox)en$': '$1',
'(alias|status)es$': '$1',
'(octop|vir)i$': '$1us',
'(cris|ax|test)es$': '$1is',
'(shoe)s$': '$1',
'(o)es$': '$1',
'(bus)es$': '$1',
'([m|l])ice$': '$1ouse',
'(x|ch|ss|sh)es$': '$1',
'(m)ovies$': '$1ovie',
'(s)eries$': '$1eries',
'([^aeiouy]|qu)ies$': '$1y',
'([lr])ves$': '$1f',
'(tive)s$': '$1',
'(hive)s$': '$1',
'([^f])ves$': '$1fe',
'(^analy)ses$': '$1sis',
'((a)naly|(b)a|(d)iagno|(p)arenthe|(p)rogno|(s)ynop|(t)he)ses$': '$1$2sis',
'([ti])a$': '$1um',
'(n)ews$': '$1ews',
's$': ''
},
irregularRules: {
'person': 'people',
'man': 'men',
'child': 'children',
'sex': 'sexes',
'move': 'moves',
'cow': 'kine'
},
uncountableRules: [
'equipment',
'information',
'rice',
'money',
'species',
'series',
'fish',
'sheep'
],
pluralize: function (word) {
var lowerCaseWord = word.toLowerCase();
var thisRegExp = '';
if(iwp.util.inArray(lowerCaseWord, iwp.inflector.uncountableRules)) {
return word;
}
else if(iwp.util.isDefined(iwp.inflector.irregularRules[lowerCaseWord])) {
return iwp.inflector.irregularRules[lowerCaseWord];
}
for(rule in iwp.inflector.pluralRules) {
thisRegExp = new RegExp(rule , "gi");
if(thisRegExp.exec(word)) {
return word.replace(thisRegExp, iwp.inflector.pluralRules[rule]);
}
}
return word;
},
singularize: function(word) {
var lowerCaseWord = word.toLowerCase();
var thisRegExp = '';
if(iwp.util.inArray(lowerCaseWord, iwp.inflector.uncountableRules)) {
return word;
}
else if(iwp.util.inArray(lowerCaseWord, iwp.inflector.irregularRules)) {
for(i in iwp.inflector.irregularRules){
if(iwp.inflector.irregularRules[i] == lowerCaseWord){
return iwp.inflector.irregularRules[i];
}
}
}
for(rule in iwp.inflector.singularRules) {
thisRegExp = new RegExp(rule , "gi");
if(thisRegExp.exec(word)){
return word.replace(thisRegExp, iwp.inflector.singularRules[rule]);
}
}
return word;
}
}
});