diff --git a/src/FootnoteMarkFormatter.php b/src/FootnoteMarkFormatter.php index 85026d3a0..6a9a30c33 100644 --- a/src/FootnoteMarkFormatter.php +++ b/src/FootnoteMarkFormatter.php @@ -59,7 +59,7 @@ class FootnoteMarkFormatter { public function linkRef( Parser $parser, string $group, array $ref ) : string { $label = $this->getLinkLabel( $parser, $group, $ref['number'] ); if ( $label === null ) { - $label = $this->messageLocalizer->formatNum( $ref['number'] ); + $label = $this->messageLocalizer->localizeDigits( $ref['number'] ); if ( $group !== Cite::DEFAULT_GROUP ) { $label = "$group $label"; } diff --git a/src/ReferencesFormatter.php b/src/ReferencesFormatter.php index a54dd5645..ac5b2e4ca 100644 --- a/src/ReferencesFormatter.php +++ b/src/ReferencesFormatter.php @@ -265,8 +265,8 @@ class ReferencesFormatter { int $max ) : string { return $this->messageLocalizer->localizeDigits( $base ) . - $this->messageLocalizer->formatNum( - '.' . + $this->messageLocalizer->formatNum( '.' ) . + $this->messageLocalizer->localizeDigits( str_pad( (string)$offset, strlen( (string)$max ), '0', STR_PAD_LEFT ) ); } diff --git a/tests/parser/1000References.txt b/tests/parser/1000References.txt new file mode 100644 index 000000000..02765a760 --- /dev/null +++ b/tests/parser/1000References.txt @@ -0,0 +1,2423 @@ +!! version 2 + +!! test +Reference numbers exceeding 1000 do not have thousands separators +!! wikitext +12345678910 +11121314151617181920 +21222324252627282930 +31323334353637383940 +41424344454647484950 +51525354555657585960 +61626364656667686970 +71727374757677787980 +81828384858687888990 +919293949596979899100 +111213141516171819110 +111112113114115116117118119120 +121122123124125126127128129130 +131132133134135136137138139140 +141142143144145146147148149150 +151152153154155156157158159160 +161162163164165166167168169170 +171172173174175176177178179180 +181182183184185186187188189190 +191192193194195196197198199200 +201202203204205206207208209210 +211212213214215216217218219220 +221222223224225226227228229230 +231232233234235236237238239240 +241242243244245246247248249250 +251252253254255256257258259260 +261262263264265266267268269270 +271272273274275276277278279280 +281282283284285286287288289290 +291292293294295296297298299300 +301302303304305306307308309310 +311312313314315316317318319320 +321322323324325326327328329330 +331332333334335336337338339340 +341342343344345346347348349350 +351352353354355356357358359360 +361362363364365366367368369370 +371372373374375376377378379380 +381382383384385386387388389390 +391392393394395396397398399400 +401402403404405406407408409410 +411412413414415416417418419420 +421422423424425426427428429430 +431432433434435436437438439440 +441442443444445446447448449450 +451452453454455456457458459460 +461462463464465466467468469470 +471472473474475476477478479480 +481482483484485486487488489490 +491492493494495496497498499500 +501502503504505506507508509510 +511512513514515516517518519520 +521522523524525526527528529530 +531532533534535536537538539540 +541542543544545546547548549550 +551552553554555556557558559560 +561562563564565566567568569570 +571572573574575576577578579580 +581582583584585586587588589590 +591592593594595596597598599600 +601602603604605606607608609610 +611612613614615616617618619620 +621622623624625626627628629630 +631632633634635636637638639640 +641642643644645646647648649650 +651652653654655656657658659660 +661662663664665666667668669670 +671672673674675676677678679680 +681682683684685686687688689690 +691692693694695696697698699700 +701702703704705706707708709710 +711712713714715716717718719720 +721722723724725726727728729730 +731732733734735736737738739740 +741742743744745746747748749750 +751752753754755756757758759760 +761762763764765766767768769770 +771772773774775776777778779780 +781782783784785786787788789790 +791792793794795796797798799800 +801802803804805806807808809810 +811812813814815816817818819820 +821822823824825826827828829830 +831832833834835836837838839840 +841842843844845846847848849850 +851852853854855856857858859860 +861862863864865866867868869870 +871872873874875876877878879880 +881882883884885886887888889890 +891892893894895896897898899900 +901902903904905906907908909910 +911912913914915916917918919920 +921922923924925926927928929930 +931932933934935936937938939940 +941942943944945946947948949950 +951952953954955956957958959960 +961962963964965966967968969970 +971972973974975976977978979980 +981982983984985986987988989990 +9919929939949959969979989991000 +!! html +
[1][2][3][4][5][6][7][8][9][10] +[11][12][13][14][15][16][17][18][19][20] +[21][22][23][24][25][26][27][28][29][30] +[31][32][33][34][35][36][37][38][39][40] +[41][42][43][44][45][46][47][48][49][50] +[51][52][53][54][55][56][57][58][59][60] +[61][62][63][64][65][66][67][68][69][70] +[71][72][73][74][75][76][77][78][79][80] +[81][82][83][84][85][86][87][88][89][90] +[91][92][93][94][95][96][97][98][99][100] +[101][102][103][104][105][106][107][108][109][110] +[111][112][113][114][115][116][117][118][119][120] +[121][122][123][124][125][126][127][128][129][130] +[131][132][133][134][135][136][137][138][139][140] +[141][142][143][144][145][146][147][148][149][150] +[151][152][153][154][155][156][157][158][159][160] +[161][162][163][164][165][166][167][168][169][170] +[171][172][173][174][175][176][177][178][179][180] +[181][182][183][184][185][186][187][188][189][190] +[191][192][193][194][195][196][197][198][199][200] +[201][202][203][204][205][206][207][208][209][210] +[211][212][213][214][215][216][217][218][219][220] +[221][222][223][224][225][226][227][228][229][230] +[231][232][233][234][235][236][237][238][239][240] +[241][242][243][244][245][246][247][248][249][250] +[251][252][253][254][255][256][257][258][259][260] +[261][262][263][264][265][266][267][268][269][270] +[271][272][273][274][275][276][277][278][279][280] +[281][282][283][284][285][286][287][288][289][290] +[291][292][293][294][295][296][297][298][299][300] +[301][302][303][304][305][306][307][308][309][310] +[311][312][313][314][315][316][317][318][319][320] +[321][322][323][324][325][326][327][328][329][330] +[331][332][333][334][335][336][337][338][339][340] +[341][342][343][344][345][346][347][348][349][350] +[351][352][353][354][355][356][357][358][359][360] +[361][362][363][364][365][366][367][368][369][370] +[371][372][373][374][375][376][377][378][379][380] +[381][382][383][384][385][386][387][388][389][390] +[391][392][393][394][395][396][397][398][399][400] +[401][402][403][404][405][406][407][408][409][410] +[411][412][413][414][415][416][417][418][419][420] +[421][422][423][424][425][426][427][428][429][430] +[431][432][433][434][435][436][437][438][439][440] +[441][442][443][444][445][446][447][448][449][450] +[451][452][453][454][455][456][457][458][459][460] +[461][462][463][464][465][466][467][468][469][470] +[471][472][473][474][475][476][477][478][479][480] +[481][482][483][484][485][486][487][488][489][490] +[491][492][493][494][495][496][497][498][499][500] +[501][502][503][504][505][506][507][508][509][510] +[511][512][513][514][515][516][517][518][519][520] +[521][522][523][524][525][526][527][528][529][530] +[531][532][533][534][535][536][537][538][539][540] +[541][542][543][544][545][546][547][548][549][550] +[551][552][553][554][555][556][557][558][559][560] +[561][562][563][564][565][566][567][568][569][570] +[571][572][573][574][575][576][577][578][579][580] +[581][582][583][584][585][586][587][588][589][590] +[591][592][593][594][595][596][597][598][599][600] +[601][602][603][604][605][606][607][608][609][610] +[611][612][613][614][615][616][617][618][619][620] +[621][622][623][624][625][626][627][628][629][630] +[631][632][633][634][635][636][637][638][639][640] +[641][642][643][644][645][646][647][648][649][650] +[651][652][653][654][655][656][657][658][659][660] +[661][662][663][664][665][666][667][668][669][670] +[671][672][673][674][675][676][677][678][679][680] +[681][682][683][684][685][686][687][688][689][690] +[691][692][693][694][695][696][697][698][699][700] +[701][702][703][704][705][706][707][708][709][710] +[711][712][713][714][715][716][717][718][719][720] +[721][722][723][724][725][726][727][728][729][730] +[731][732][733][734][735][736][737][738][739][740] +[741][742][743][744][745][746][747][748][749][750] +[751][752][753][754][755][756][757][758][759][760] +[761][762][763][764][765][766][767][768][769][770] +[771][772][773][774][775][776][777][778][779][780] +[781][782][783][784][785][786][787][788][789][790] +[791][792][793][794][795][796][797][798][799][800] +[801][802][803][804][805][806][807][808][809][810] +[811][812][813][814][815][816][817][818][819][820] +[821][822][823][824][825][826][827][828][829][830] +[831][832][833][834][835][836][837][838][839][840] +[841][842][843][844][845][846][847][848][849][850] +[851][852][853][854][855][856][857][858][859][860] +[861][862][863][864][865][866][867][868][869][870] +[871][872][873][874][875][876][877][878][879][880] +[881][882][883][884][885][886][887][888][889][890] +[891][892][893][894][895][896][897][898][899][900] +[901][902][903][904][905][906][907][908][909][910] +[911][912][913][914][915][916][917][918][919][920] +[921][922][923][924][925][926][927][928][929][930] +[931][932][933][934][935][936][937][938][939][940] +[941][942][943][944][945][946][947][948][949][950] +[951][952][953][954][955][956][957][958][959][960] +[961][962][963][964][965][966][967][968][969][970] +[971][972][973][974][975][976][977][978][979][980] +[981][982][983][984][985][986][987][988][989][990] +[991][992][993][994][995][996][997][998][999][1000] +
+[1] +[1][1][1][1][1][1][1][1][1][1] +[1][1][1][1][1][1][1][1][1][1] +[1][1][1][1][1][1][1][1][1][1] +[1][1][1][1][1][1][1][1][1][1] +[1][1][1][1][1][1][1][1][1][1] +[1][1][1][1][1][1][1][1][1][1] +[1][1][1][1][1][1][1][1][1][1] +[1][1][1][1][1][1][1][1][1][1] +[1][1][1][1][1][1][1][1][1][1] +[1][1][1][1][1][1][1][1][1][1] +[1][1][1][1][1][1][1][1][1][1] +[1][1][1][1][1][1][1][1][1][1] +[1][1][1][1][1][1][1][1][1][1] +[1][1][1][1][1][1][1][1][1][1] +[1][1][1][1][1][1][1][1][1][1] +[1][1][1][1][1][1][1][1][1][1] +[1][1][1][1][1][1][1][1][1][1] +[1][1][1][1][1][1][1][1][1][1] +[1][1][1][1][1][1][1][1][1][1] +[1][1][1][1][1][1][1][1][1][1] +[1][1][1][1][1][1][1][1][1][1] +[1][1][1][1][1][1][1][1][1][1] +[1][1][1][1][1][1][1][1][1][1] +[1][1][1][1][1][1][1][1][1][1] +[1][1][1][1][1][1][1][1][1][1] +[1][1][1][1][1][1][1][1][1][1] +[1][1][1][1][1][1][1][1][1][1] +[1][1][1][1][1][1][1][1][1][1] +[1][1][1][1][1][1][1][1][1][1] +[1][1][1][1][1][1][1][1][1][1] +[1][1][1][1][1][1][1][1][1][1] +[1][1][1][1][1][1][1][1][1][1] +[1][1][1][1][1][1][1][1][1][1] +[1][1][1][1][1][1][1][1][1][1] +[1][1][1][1][1][1][1][1][1][1] +[1][1][1][1][1][1][1][1][1][1] +[1][1][1][1][1][1][1][1][1][1] +[1][1][1][1][1][1][1][1][1][1] +[1][1][1][1][1][1][1][1][1][1] +[1][1][1][1][1][1][1][1][1][1] +[1][1][1][1][1][1][1][1][1][1] +[1][1][1][1][1][1][1][1][1][1] +[1][1][1][1][1][1][1][1][1][1] +[1][1][1][1][1][1][1][1][1][1] +[1][1][1][1][1][1][1][1][1][1] +[1][1][1][1][1][1][1][1][1][1] +[1][1][1][1][1][1][1][1][1][1] +[1][1][1][1][1][1][1][1][1][1] +[1][1][1][1][1][1][1][1][1][1] +[1][1][1][1][1][1][1][1][1][1] +[1][1][1][1][1][1][1][1][1][1] +[1][1][1][1][1][1][1][1][1][1] +[1][1][1][1][1][1][1][1][1][1] +[1][1][1][1][1][1][1][1][1][1] +[1][1][1][1][1][1][1][1][1][1] +[1][1][1][1][1][1][1][1][1][1] +[1][1][1][1][1][1][1][1][1][1] +[1][1][1][1][1][1][1][1][1][1] +[1][1][1][1][1][1][1][1][1][1] +[1][1][1][1][1][1][1][1][1][1] +[1][1][1][1][1][1][1][1][1][1] +[1][1][1][1][1][1][1][1][1][1] +[1][1][1][1][1][1][1][1][1][1] +[1][1][1][1][1][1][1][1][1][1] +[1][1][1][1][1][1][1][1][1][1] +[1][1][1][1][1][1][1][1][1][1] +[1][1][1][1][1][1][1][1][1][1] +[1][1][1][1][1][1][1][1][1][1] +[1][1][1][1][1][1][1][1][1][1] +[1][1][1][1][1][1][1][1][1][1] +[1][1][1][1][1][1][1][1][1][1] +[1][1][1][1][1][1][1][1][1][1] +[1][1][1][1][1][1][1][1][1][1] +[1][1][1][1][1][1][1][1][1][1] +[1][1][1][1][1][1][1][1][1][1] +[1][1][1][1][1][1][1][1][1][1] +[1][1][1][1][1][1][1][1][1][1] +[1][1][1][1][1][1][1][1][1][1] +[1][1][1][1][1][1][1][1][1][1] +[1][1][1][1][1][1][1][1][1][1] +[1][1][1][1][1][1][1][1][1][1] +[1][1][1][1][1][1][1][1][1][1] +[1][1][1][1][1][1][1][1][1][1] +[1][1][1][1][1][1][1][1][1][1] +[1][1][1][1][1][1][1][1][1][1] +[1][1][1][1][1][1][1][1][1][1] +[1][1][1][1][1][1][1][1][1][1] +[1][1][1][1][1][1][1][1][1][1] +[1][1][1][1][1][1][1][1][1][1] +[1][1][1][1][1][1][1][1][1][1] +[1][1][1][1][1][1][1][1][1][1] +[1][1][1][1][1][1][1][1][1][1] +[1][1][1][1][1][1][1][1][1][1] +[1][1][1][1][1][1][1][1][1][1] +[1][1][1][1][1][1][1][1][1][1] +[1][1][1][1][1][1][1][1][1][1] +[1][1][1][1][1][1][1][1][1][1] +[1][1][1][1][1][1][1][1][1][1] +[1][1][1][1][1][1][1][1][1][1] +[1][1][1][1][1][1][1][1][1][1] +
+