@@ -1248,6 +1248,15 @@ function writtenNumber(n, options) {
12481248 var language = typeof options . lang === "string"
12491249 ? i18n [ options . lang ]
12501250 : options . lang ;
1251+
1252+ if ( ! language ) {
1253+ if ( languages . indexOf ( writtenNumber . defaults . lang ) < 0 ) {
1254+ writtenNumber . defaults . lang = "en" ;
1255+ }
1256+
1257+ language = i18n [ writtenNumber . defaults . lang ] ;
1258+ }
1259+
12511260 var scale = language . useLongScale ? longScale : shortScale ;
12521261 var units = language . units ;
12531262 var unit ;
@@ -1264,14 +1273,6 @@ function writtenNumber(n, options) {
12641273 }
12651274 }
12661275
1267- if ( ! language ) {
1268- if ( languages . indexOf ( writtenNumber . defaults . lang ) < 0 ) {
1269- writtenNumber . defaults . lang = "en" ;
1270- }
1271-
1272- language = i18n [ writtenNumber . defaults . lang ] ;
1273- }
1274-
12751276 var baseCardinals = language . base ;
12761277 var alternativeBaseCardinals = options . alternativeBase
12771278 ? language . alternativeBase [ options . alternativeBase ]
@@ -1321,14 +1322,8 @@ function writtenNumber(n, options) {
13211322 : true ) ;
13221323 if ( ! shouldUseBaseException ) {
13231324 ret . push ( alternativeBaseCardinals [ r * scale [ i ] ] || baseCardinals [ r * scale [ i ] ] ) ;
1324- } else if ( r === 1 || unit . useSingularEnding && r % 10 === 1
1325- && ( ! unit . avoidEndingRules || unit . avoidEndingRules . indexOf ( r ) < 0 ) ) {
1326- ret . push ( unit . singular ) ;
1327- } else if ( unit . few && ( r > 1 && r < 5 || unit . useFewEnding && r % 10 > 1 && r % 10 < 5
1328- && ( ! unit . avoidEndingRules || unit . avoidEndingRules . indexOf ( r ) < 0 ) ) ) {
1329- ret . push ( unit . few ) ;
13301325 } else {
1331- ret . push ( unit . plural || unit . singular ) ;
1326+ ret . push ( r > 1 && unit . plural ? unit . plural : unit . singular ) ;
13321327 }
13331328 continue ;
13341329 }
0 commit comments