// ========================================================================== // Project: SproutCore - JavaScript Application Framework // Copyright: ©2006-2011 Strobe Inc. and contributors. // Portions ©2008-2011 Apple Inc. All rights reserved. // License: Licensed under MIT license (see license.js) // ==========================================================================

/** @private

Active Support style inflection constants

*/ SC.hashesForLocale('en', 'inflectionConstants', {

/** @private */
PLURAL: [
  [/(quiz)$/i,               "$1zes"  ],
  [/^(ox)$/i,                "$1en"   ],
  [/([m|l])ouse$/i,          "$1ice"  ],
  [/(matr|vert|ind)ix|ex$/i, "$1ices" ],
  [/(x|ch|ss|sh)$/i,         "$1es"   ],
  [/([^aeiouy]|qu)y$/i,      "$1ies"  ],
  [/(hive)$/i,               "$1s"    ],
  [/(?:([^f])fe|([lr])f)$/i, "$1$2ves"],
  [/sis$/i,                  "ses"    ],
  [/([ti])um$/i,             "$1a"    ],
  [/(buffal|tomat)o$/i,      "$1oes"  ],
  [/(bu)s$/i,                "$1ses"  ],
  [/(alias|status)$/i,       "$1es"   ],
  [/(octop|vir)us$/i,        "$1i"    ],
  [/(ax|test)is$/i,          "$1es"   ],
  [/s$/i,                    "s"      ],
  [/$/,                      "s"      ]
],

/** @private */
SINGULAR: [
  [/(quiz)zes$/i,                                                    "$1"     ],
  [/(matr)ices$/i,                                                   "$1ix"   ],
  [/(vert|ind)ices$/i,                                               "$1ex"   ],
  [/^(ox)en/i,                                                       "$1"     ],
  [/(alias|status)es$/i,                                             "$1"     ],
  [/(octop|vir)i$/i,                                                 "$1us"   ],
  [/(cris|ax|test)es$/i,                                             "$1is"   ],
  [/(shoe)s$/i,                                                      "$1"     ],
  [/(o)es$/i,                                                        "$1"     ],
  [/(bus)es$/i,                                                      "$1"     ],
  [/([m|l])ice$/i,                                                   "$1ouse" ],
  [/(x|ch|ss|sh)es$/i,                                               "$1"     ],
  [/(m)ovies$/i,                                                     "$1ovie" ],
  [/(s)eries$/i,                                                     "$1eries"],
  [/([^aeiouy]|qu)ies$/i,                                            "$1y"    ],
  [/([lr])ves$/i,                                                    "$1f"    ],
  [/(tive)s$/i,                                                      "$1"     ],
  [/(hive)s$/i,                                                      "$1"     ],
  [/([^f])ves$/i,                                                    "$1fe"   ],
  [/(^analy)ses$/i,                                                  "$1sis"  ],
  [/((a)naly|(b)a|(d)iagno|(p)arenthe|(p)rogno|(s)ynop|(t)he)ses$/i, "$1$2sis"],
  [/([ti])a$/i,                                                      "$1um"   ],
  [/(n)ews$/i,                                                       "$1ews"  ],
  [/s$/i,                                                            ""       ]
],

/** @private */
IRREGULAR: [
  ['move',   'moves'   ],
  ['sex',    'sexes'   ],
  ['child',  'children'],
  ['man',    'men'     ],
  ['person', 'people'  ],
  ['woman',  'women'   ],
  ['self',   'selves'  ]
],

/** @private */
UNCOUNTABLE: [
  "sheep",
  "fish",
  "series",
  "species",
  "money",
  "rice",
  "information",
  "info",
  "equipment"
]

});