postext 1.33.8 → 1.33.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/__tests__/arabicNumberWords.test.js +3 -2
- package/dist/__tests__/arabicNumberWords.test.js.map +1 -1
- package/dist/__tests__/elisionHyphenation.test.d.ts +2 -0
- package/dist/__tests__/elisionHyphenation.test.d.ts.map +1 -0
- package/dist/__tests__/elisionHyphenation.test.js +73 -0
- package/dist/__tests__/elisionHyphenation.test.js.map +1 -0
- package/dist/__tests__/englishApostropheHyphenation.test.js +2 -3
- package/dist/__tests__/englishApostropheHyphenation.test.js.map +1 -1
- package/dist/__tests__/europeanNumberWords.test.d.ts +2 -0
- package/dist/__tests__/europeanNumberWords.test.d.ts.map +1 -0
- package/dist/__tests__/europeanNumberWords.test.js +205 -0
- package/dist/__tests__/europeanNumberWords.test.js.map +1 -0
- package/dist/__tests__/indexDirective.test.js +46 -0
- package/dist/__tests__/indexDirective.test.js.map +1 -1
- package/dist/defaults/indexConfig.d.ts +3 -1
- package/dist/defaults/indexConfig.d.ts.map +1 -1
- package/dist/defaults/indexConfig.js +26 -3
- package/dist/defaults/indexConfig.js.map +1 -1
- package/dist/germanNumberWords.d.ts +28 -0
- package/dist/germanNumberWords.d.ts.map +1 -0
- package/dist/germanNumberWords.js +75 -0
- package/dist/germanNumberWords.js.map +1 -0
- package/dist/hyphenate.d.ts.map +1 -1
- package/dist/hyphenate.js +47 -11
- package/dist/hyphenate.js.map +1 -1
- package/dist/numberWords.d.ts +22 -11
- package/dist/numberWords.d.ts.map +1 -1
- package/dist/numberWords.js +81 -23
- package/dist/numberWords.js.map +1 -1
- package/dist/numbering.d.ts +7 -4
- package/dist/numbering.d.ts.map +1 -1
- package/dist/numbering.js +2 -0
- package/dist/numbering.js.map +1 -1
- package/dist/pipeline/indexDirective.d.ts.map +1 -1
- package/dist/pipeline/indexDirective.js +24 -7
- package/dist/pipeline/indexDirective.js.map +1 -1
- package/dist/romanceNumberWords.d.ts +41 -0
- package/dist/romanceNumberWords.d.ts.map +1 -0
- package/dist/romanceNumberWords.js +278 -0
- package/dist/romanceNumberWords.js.map +1 -0
- package/dist/types.d.ts +13 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,278 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* French, Italian, Catalan and Portuguese numbers in words, for heading
|
|
3
|
+
* templates (`{1:words}`, `{1:ordinal}`, `{1:ordinal-feminine}`) and the
|
|
4
|
+
* `{numberWords}` / `{numberOrdinalWords}` design placeholders: « Chapitre
|
|
5
|
+
* vingt et un », «Capitolo primo», «Capítol u», «Capítulo vigésimo
|
|
6
|
+
* primeiro». Masculine by default, as a chapter or a book is numbered;
|
|
7
|
+
* the feminine agrees with a feminine noun (« Partie première », «Parte
|
|
8
|
+
* prima», «Lliçó primera», «Lição primeira»).
|
|
9
|
+
*
|
|
10
|
+
* The callers keep the numbers in range (cardinals up to 999 999; French
|
|
11
|
+
* and Italian ordinals too, Catalan and Portuguese ones up to 999).
|
|
12
|
+
*/
|
|
13
|
+
/** The last word of `words` (after its last space or hyphen) and what
|
|
14
|
+
* comes before it. */
|
|
15
|
+
function splitLast(words) {
|
|
16
|
+
const cut = Math.max(words.lastIndexOf(' '), words.lastIndexOf('-')) + 1;
|
|
17
|
+
return [words.slice(0, cut), words.slice(cut)];
|
|
18
|
+
}
|
|
19
|
+
// --- French ----------------------------------------------------------------
|
|
20
|
+
const FR_BELOW_17 = [
|
|
21
|
+
'', 'un', 'deux', 'trois', 'quatre', 'cinq', 'six', 'sept', 'huit', 'neuf', 'dix',
|
|
22
|
+
'onze', 'douze', 'treize', 'quatorze', 'quinze', 'seize',
|
|
23
|
+
];
|
|
24
|
+
const FR_TENS = ['', '', 'vingt', 'trente', 'quarante', 'cinquante', 'soixante'];
|
|
25
|
+
function frBelow20(n) {
|
|
26
|
+
return n < 17 ? FR_BELOW_17[n] : `dix-${FR_BELOW_17[n - 10]}`;
|
|
27
|
+
}
|
|
28
|
+
/** The traditional spelling (hyphens below a hundred, *et* before *un* and
|
|
29
|
+
* *onze*), as French books print it: vingt et un, soixante et onze,
|
|
30
|
+
* quatre-vingts, quatre-vingt-un. */
|
|
31
|
+
function frBelow100(n) {
|
|
32
|
+
if (n < 20)
|
|
33
|
+
return frBelow20(n);
|
|
34
|
+
const tens = Math.floor(n / 10);
|
|
35
|
+
const unit = n % 10;
|
|
36
|
+
if (tens === 7)
|
|
37
|
+
return unit === 1 ? 'soixante et onze' : `soixante-${frBelow20(10 + unit)}`;
|
|
38
|
+
if (tens === 8)
|
|
39
|
+
return unit === 0 ? 'quatre-vingts' : `quatre-vingt-${FR_BELOW_17[unit]}`;
|
|
40
|
+
if (tens === 9)
|
|
41
|
+
return `quatre-vingt-${frBelow20(10 + unit)}`;
|
|
42
|
+
if (unit === 0)
|
|
43
|
+
return FR_TENS[tens];
|
|
44
|
+
return unit === 1 ? `${FR_TENS[tens]} et un` : `${FR_TENS[tens]}-${FR_BELOW_17[unit]}`;
|
|
45
|
+
}
|
|
46
|
+
/** *Cent* takes an *s* when multiplied and last: deux cents, deux cent un. */
|
|
47
|
+
function frBelow1000(n) {
|
|
48
|
+
const hundreds = Math.floor(n / 100);
|
|
49
|
+
const rest = n % 100;
|
|
50
|
+
if (hundreds === 0)
|
|
51
|
+
return frBelow100(rest);
|
|
52
|
+
const head = hundreds === 1 ? 'cent' : `${FR_BELOW_17[hundreds]} cent`;
|
|
53
|
+
if (rest)
|
|
54
|
+
return `${head} ${frBelow100(rest)}`;
|
|
55
|
+
return hundreds === 1 ? head : `${head}s`;
|
|
56
|
+
}
|
|
57
|
+
export function frenchCardinal(n, gender = 'masculine') {
|
|
58
|
+
const thousands = Math.floor(n / 1000);
|
|
59
|
+
const rest = n % 1000;
|
|
60
|
+
let words = frBelow1000(rest);
|
|
61
|
+
if (thousands) {
|
|
62
|
+
// *Mille* is invariable, and *vingt* and *cent* lose their *s* before
|
|
63
|
+
// it: deux mille, quatre-vingt mille, deux cent mille.
|
|
64
|
+
const head = thousands === 1 ? 'mille' : `${frBelow1000(thousands).replace(/(vingt|cent)s$/, '$1')} mille`;
|
|
65
|
+
words = rest ? `${head} ${words}` : head;
|
|
66
|
+
}
|
|
67
|
+
// vingt et une, quatre-vingt-une, cent une.
|
|
68
|
+
return gender === 'feminine' && /(^|[ -])un$/.test(words) ? `${words}e` : words;
|
|
69
|
+
}
|
|
70
|
+
/** The cardinal with *-ième* on its last word (vingt et unième,
|
|
71
|
+
* quatre-vingtième, deux centième, millième); *premier* / *première* for
|
|
72
|
+
* one alone. */
|
|
73
|
+
export function frenchOrdinal(n, gender = 'masculine') {
|
|
74
|
+
if (n === 1)
|
|
75
|
+
return gender === 'feminine' ? 'première' : 'premier';
|
|
76
|
+
const [head, last] = splitLast(frenchCardinal(n));
|
|
77
|
+
let stem;
|
|
78
|
+
if (last === 'cinq')
|
|
79
|
+
stem = 'cinqu';
|
|
80
|
+
else if (last === 'neuf')
|
|
81
|
+
stem = 'neuv';
|
|
82
|
+
else if (last === 'vingts' || last === 'cents')
|
|
83
|
+
stem = last.slice(0, -1);
|
|
84
|
+
else if (last.endsWith('e'))
|
|
85
|
+
stem = last.slice(0, -1);
|
|
86
|
+
else
|
|
87
|
+
stem = last;
|
|
88
|
+
return `${head}${stem}ième`;
|
|
89
|
+
}
|
|
90
|
+
// --- Italian ---------------------------------------------------------------
|
|
91
|
+
const IT_BELOW_20 = [
|
|
92
|
+
'', 'uno', 'due', 'tre', 'quattro', 'cinque', 'sei', 'sette', 'otto', 'nove', 'dieci',
|
|
93
|
+
'undici', 'dodici', 'tredici', 'quattordici', 'quindici', 'sedici', 'diciassette', 'diciotto', 'diciannove',
|
|
94
|
+
];
|
|
95
|
+
const IT_TENS = ['', '', 'venti', 'trenta', 'quaranta', 'cinquanta', 'sessanta', 'settanta', 'ottanta', 'novanta'];
|
|
96
|
+
/** One word; the tens drop their vowel before *uno* and *otto*: ventuno,
|
|
97
|
+
* trentotto. */
|
|
98
|
+
function itBelow100(n) {
|
|
99
|
+
if (n < 20)
|
|
100
|
+
return IT_BELOW_20[n];
|
|
101
|
+
const tens = IT_TENS[Math.floor(n / 10)];
|
|
102
|
+
const unit = n % 10;
|
|
103
|
+
if (unit === 0)
|
|
104
|
+
return tens;
|
|
105
|
+
return (unit === 1 || unit === 8 ? tens.slice(0, -1) : tens) + IT_BELOW_20[unit];
|
|
106
|
+
}
|
|
107
|
+
/** *Cento* elides before *otto* and *ottanta* (centotto, centottanta) and
|
|
108
|
+
* keeps its vowel before *uno* (centouno). */
|
|
109
|
+
function itBelow1000(n) {
|
|
110
|
+
const hundreds = Math.floor(n / 100);
|
|
111
|
+
const rest = n % 100;
|
|
112
|
+
const head = hundreds === 0 ? '' : hundreds === 1 ? 'cento' : `${IT_BELOW_20[hundreds]}cento`;
|
|
113
|
+
const tail = itBelow100(rest);
|
|
114
|
+
return head && tail.startsWith('ott') ? head.slice(0, -1) + tail : head + tail;
|
|
115
|
+
}
|
|
116
|
+
/** The cardinal as one word, without the accent of a final *tre*. */
|
|
117
|
+
function itCardinalPlain(n) {
|
|
118
|
+
const thousands = Math.floor(n / 1000);
|
|
119
|
+
const rest = n % 1000;
|
|
120
|
+
if (thousands === 0)
|
|
121
|
+
return itBelow1000(rest);
|
|
122
|
+
const head = thousands === 1 ? 'mille' : `${itBelow1000(thousands)}mila`;
|
|
123
|
+
return head + itBelow1000(rest);
|
|
124
|
+
}
|
|
125
|
+
/** One word (duemilaventiquattro); a final *tre* takes its accent in a
|
|
126
|
+
* compound (ventitré, centotré). */
|
|
127
|
+
export function italianCardinal(n, gender = 'masculine') {
|
|
128
|
+
let words = itCardinalPlain(n);
|
|
129
|
+
if (n > 3 && words.endsWith('tre'))
|
|
130
|
+
words = `${words.slice(0, -3)}tré`;
|
|
131
|
+
// una, ventuna.
|
|
132
|
+
return gender === 'feminine' && words.endsWith('uno') ? `${words.slice(0, -1)}a` : words;
|
|
133
|
+
}
|
|
134
|
+
const IT_ORDINALS = ['', 'primo', 'secondo', 'terzo', 'quarto', 'quinto', 'sesto', 'settimo', 'ottavo', 'nono', 'decimo'];
|
|
135
|
+
/** *Primo* to *decimo*, then the cardinal with *-esimo* for its last vowel
|
|
136
|
+
* (undicesimo, ventunesimo, ventitreesimo, ventiseiesimo, centesimo,
|
|
137
|
+
* millesimo, duemillesimo). */
|
|
138
|
+
export function italianOrdinal(n, gender = 'masculine') {
|
|
139
|
+
let words;
|
|
140
|
+
if (n <= 10)
|
|
141
|
+
words = IT_ORDINALS[n];
|
|
142
|
+
else {
|
|
143
|
+
const cardinal = itCardinalPlain(n);
|
|
144
|
+
if (cardinal.endsWith('mila'))
|
|
145
|
+
words = `${cardinal.slice(0, -4)}millesimo`;
|
|
146
|
+
else if (cardinal.endsWith('tre') || cardinal.endsWith('sei'))
|
|
147
|
+
words = `${cardinal}esimo`;
|
|
148
|
+
else
|
|
149
|
+
words = `${cardinal.slice(0, -1)}esimo`;
|
|
150
|
+
}
|
|
151
|
+
return gender === 'feminine' ? `${words.slice(0, -1)}a` : words;
|
|
152
|
+
}
|
|
153
|
+
// --- Catalan ---------------------------------------------------------------
|
|
154
|
+
const CA_BELOW_20 = [
|
|
155
|
+
'', 'u', 'dos', 'tres', 'quatre', 'cinc', 'sis', 'set', 'vuit', 'nou', 'deu',
|
|
156
|
+
'onze', 'dotze', 'tretze', 'catorze', 'quinze', 'setze', 'disset', 'divuit', 'dinou',
|
|
157
|
+
];
|
|
158
|
+
const CA_TENS = ['', '', 'vint', 'trenta', 'quaranta', 'cinquanta', 'seixanta', 'setanta', 'vuitanta', 'noranta'];
|
|
159
|
+
/** As the IEC writes them: vint-i-u, trenta-dos (D-U-C: tens and units
|
|
160
|
+
* hyphenated, *i* after *vint*). */
|
|
161
|
+
function caBelow100(n) {
|
|
162
|
+
if (n < 20)
|
|
163
|
+
return CA_BELOW_20[n];
|
|
164
|
+
const tens = CA_TENS[Math.floor(n / 10)];
|
|
165
|
+
const unit = n % 10;
|
|
166
|
+
if (unit === 0)
|
|
167
|
+
return tens;
|
|
168
|
+
return `${tens}${n < 30 ? '-i-' : '-'}${CA_BELOW_20[unit]}`;
|
|
169
|
+
}
|
|
170
|
+
/** Hundreds hyphenated to their multiplier (dos-cents), the rest after a
|
|
171
|
+
* space: cent u, dos-cents vint-i-u. */
|
|
172
|
+
function caBelow1000(n) {
|
|
173
|
+
const hundreds = Math.floor(n / 100);
|
|
174
|
+
const rest = n % 100;
|
|
175
|
+
if (hundreds === 0)
|
|
176
|
+
return caBelow100(rest);
|
|
177
|
+
const head = hundreds === 1 ? 'cent' : `${CA_BELOW_20[hundreds]}-cents`;
|
|
178
|
+
return rest ? `${head} ${caBelow100(rest)}` : head;
|
|
179
|
+
}
|
|
180
|
+
/** Each word of a Catalan numeral in the feminine: una, dues, dues-centes. */
|
|
181
|
+
function caFeminine(words) {
|
|
182
|
+
return words.replace(/[^ -]+/g, (w) => (w === 'u' || w === 'un' ? 'una' : w === 'dos' ? 'dues' : w === 'cents' ? 'centes' : w));
|
|
183
|
+
}
|
|
184
|
+
/** *U* where the number is named or follows its noun (capítol u, vint-i-u,
|
|
185
|
+
* dos mil u), *un* before *mil* (vint-i-un mil). */
|
|
186
|
+
export function catalanCardinal(n, gender = 'masculine') {
|
|
187
|
+
const thousands = Math.floor(n / 1000);
|
|
188
|
+
const rest = n % 1000;
|
|
189
|
+
let words = caBelow1000(rest);
|
|
190
|
+
if (thousands) {
|
|
191
|
+
const head = thousands === 1 ? 'mil' : `${caBelow1000(thousands).replace(/(^|[ -])u$/, '$1un')} mil`;
|
|
192
|
+
words = rest ? `${head} ${words}` : head;
|
|
193
|
+
}
|
|
194
|
+
return gender === 'feminine' ? caFeminine(words) : words;
|
|
195
|
+
}
|
|
196
|
+
const CA_ORDINALS = {
|
|
197
|
+
masculine: ['', 'primer', 'segon', 'tercer', 'quart'],
|
|
198
|
+
feminine: ['', 'primera', 'segona', 'tercera', 'quarta'],
|
|
199
|
+
};
|
|
200
|
+
const CA_ORDINAL_STEMS = {
|
|
201
|
+
u: 'un', cinc: 'cinqu', nou: 'nov', deu: 'des', dinou: 'dinov', cents: 'cent',
|
|
202
|
+
};
|
|
203
|
+
/** *Primer* to *quart*, then the cardinal with *-è* (feminine *-ena*) on its
|
|
204
|
+
* last word: cinquè, desè, vint-i-unè, trentè, centè, dos-centè. */
|
|
205
|
+
export function catalanOrdinal(n, gender = 'masculine') {
|
|
206
|
+
if (n <= 4)
|
|
207
|
+
return CA_ORDINALS[gender][n];
|
|
208
|
+
const [head, last] = splitLast(catalanCardinal(n));
|
|
209
|
+
const stem = CA_ORDINAL_STEMS[last] ?? (/[ae]$/.test(last) ? last.slice(0, -1) : last);
|
|
210
|
+
return gender === 'feminine' ? `${caFeminine(head)}${stem}ena` : `${head}${stem}è`;
|
|
211
|
+
}
|
|
212
|
+
// --- Portuguese ------------------------------------------------------------
|
|
213
|
+
const PT_BELOW_20 = [
|
|
214
|
+
'', 'um', 'dois', 'três', 'quatro', 'cinco', 'seis', 'sete', 'oito', 'nove', 'dez',
|
|
215
|
+
'onze', 'doze', 'treze', 'quatorze', 'quinze', 'dezesseis', 'dezessete', 'dezoito', 'dezenove',
|
|
216
|
+
];
|
|
217
|
+
/** Where Portugal (and Africa) spell 14, 16, 17 and 19 otherwise. */
|
|
218
|
+
const PT_EUROPEAN = {
|
|
219
|
+
14: 'catorze', 16: 'dezasseis', 17: 'dezassete', 19: 'dezanove',
|
|
220
|
+
};
|
|
221
|
+
const PT_TENS = ['', '', 'vinte', 'trinta', 'quarenta', 'cinquenta', 'sessenta', 'setenta', 'oitenta', 'noventa'];
|
|
222
|
+
const PT_HUNDREDS = [
|
|
223
|
+
'', 'cento', 'duzentos', 'trezentos', 'quatrocentos', 'quinhentos', 'seiscentos',
|
|
224
|
+
'setecentos', 'oitocentos', 'novecentos',
|
|
225
|
+
];
|
|
226
|
+
function ptBelow100(n, european) {
|
|
227
|
+
if (n < 20)
|
|
228
|
+
return (european ? PT_EUROPEAN[n] : undefined) ?? PT_BELOW_20[n];
|
|
229
|
+
const unit = n % 10;
|
|
230
|
+
return PT_TENS[Math.floor(n / 10)] + (unit ? ` e ${PT_BELOW_20[unit]}` : '');
|
|
231
|
+
}
|
|
232
|
+
function ptBelow1000(n, european) {
|
|
233
|
+
if (n === 100)
|
|
234
|
+
return 'cem';
|
|
235
|
+
const hundreds = Math.floor(n / 100);
|
|
236
|
+
const rest = n % 100;
|
|
237
|
+
if (hundreds === 0)
|
|
238
|
+
return ptBelow100(rest, european);
|
|
239
|
+
return PT_HUNDREDS[hundreds] + (rest ? ` e ${ptBelow100(rest, european)}` : '');
|
|
240
|
+
}
|
|
241
|
+
/** Every element joined by *e* (cento e vinte e um); after *mil* only a
|
|
242
|
+
* last group under a hundred or a round hundred takes it: mil e um, mil e
|
|
243
|
+
* cem, mil duzentos e trinta. Brazilian spelling (dezesseis) unless
|
|
244
|
+
* `european` (dezasseis). */
|
|
245
|
+
export function portugueseCardinal(n, gender = 'masculine', european = false) {
|
|
246
|
+
const thousands = Math.floor(n / 1000);
|
|
247
|
+
const rest = n % 1000;
|
|
248
|
+
let words = ptBelow1000(rest, european);
|
|
249
|
+
if (thousands) {
|
|
250
|
+
const head = thousands === 1 ? 'mil' : `${ptBelow1000(thousands, european)} mil`;
|
|
251
|
+
words = rest === 0 ? head : `${head}${rest < 100 || rest % 100 === 0 ? ' e ' : ' '}${words}`;
|
|
252
|
+
}
|
|
253
|
+
if (gender === 'masculine')
|
|
254
|
+
return words;
|
|
255
|
+
// uma, duas, duzentas, vinte e uma mil.
|
|
256
|
+
return words.replace(/[^ ]+/g, (w) => (w === 'um' ? 'uma' : w === 'dois' ? 'duas' : w.endsWith('entos') ? `${w.slice(0, -2)}as` : w));
|
|
257
|
+
}
|
|
258
|
+
const PT_ORDINAL_UNITS = ['', 'primeiro', 'segundo', 'terceiro', 'quarto', 'quinto', 'sexto', 'sétimo', 'oitavo', 'nono'];
|
|
259
|
+
const PT_ORDINAL_TENS = [
|
|
260
|
+
'', 'décimo', 'vigésimo', 'trigésimo', 'quadragésimo', 'quinquagésimo', 'sexagésimo',
|
|
261
|
+
'septuagésimo', 'octogésimo', 'nonagésimo',
|
|
262
|
+
];
|
|
263
|
+
const PT_ORDINAL_HUNDREDS = [
|
|
264
|
+
'', 'centésimo', 'ducentésimo', 'trecentésimo', 'quadringentésimo', 'quingentésimo',
|
|
265
|
+
'sexcentésimo', 'septingentésimo', 'octingentésimo', 'nongentésimo',
|
|
266
|
+
];
|
|
267
|
+
/** The Latin ordinals, one per order, without *e*: décimo primeiro,
|
|
268
|
+
* vigésimo primeiro, centésimo vigésimo primeiro; each word in the
|
|
269
|
+
* feminine for a feminine noun (vigésima primeira). */
|
|
270
|
+
export function portugueseOrdinal(n, gender = 'masculine') {
|
|
271
|
+
const words = [
|
|
272
|
+
PT_ORDINAL_HUNDREDS[Math.floor(n / 100)],
|
|
273
|
+
PT_ORDINAL_TENS[Math.floor(n / 10) % 10],
|
|
274
|
+
PT_ORDINAL_UNITS[n % 10],
|
|
275
|
+
].filter(Boolean).join(' ');
|
|
276
|
+
return gender === 'feminine' ? words.replace(/o(?= |$)/g, 'a') : words;
|
|
277
|
+
}
|
|
278
|
+
//# sourceMappingURL=romanceNumberWords.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"romanceNumberWords.js","sourceRoot":"","sources":["../src/romanceNumberWords.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -6497,11 +6497,22 @@ export interface IndexConfig {
|
|
|
6497
6497
|
};
|
|
6498
6498
|
/** Cross-references. The labels default to `See` / `See also` (Spanish
|
|
6499
6499
|
* `Véase` / `Véase también`, Arabic `انظر` / `انظر أيضًا`), in italics
|
|
6500
|
-
* — upright in an Arabic-script index, whose fonts have no italics.
|
|
6500
|
+
* — upright in an Arabic-script index, whose fonts have no italics.
|
|
6501
|
+
*
|
|
6502
|
+
* `separator` is printed before the label (#836). Default `'. '`
|
|
6503
|
+
* (*The Chicago Manual of Style*: `Firearms. See weapons`), by the
|
|
6504
|
+
* index's language: `', '` in French, Italian and German (`pierrier,
|
|
6505
|
+
* voir éboulis`), a space in Portuguese (ABNT NBR 6034: `Aviação ver
|
|
6506
|
+
* Aeronáutica`) and Catalan (IEC: `abecedari v. alfabet`), `'。'` in
|
|
6507
|
+
* Chinese, an ideographic space in Japanese. A built-in label takes
|
|
6508
|
+
* the case the separator asks for: a capital after a full stop (or
|
|
6509
|
+
* `!`, `?`, `。`), a small letter after anything else (`Geröllhalde,
|
|
6510
|
+
* siehe Schutthalde`); a label of the author's own prints as written. */
|
|
6501
6511
|
see?: {
|
|
6502
6512
|
label?: string;
|
|
6503
6513
|
alsoLabel?: string;
|
|
6504
6514
|
italic?: boolean;
|
|
6515
|
+
separator?: string;
|
|
6505
6516
|
};
|
|
6506
6517
|
/** Language whose alphabetical order sorts the entries (a BCP 47 tag).
|
|
6507
6518
|
* Default: the document language. */
|
|
@@ -6576,6 +6587,7 @@ export interface ResolvedIndexConfig {
|
|
|
6576
6587
|
label?: string;
|
|
6577
6588
|
alsoLabel?: string;
|
|
6578
6589
|
italic: boolean;
|
|
6590
|
+
separator: string;
|
|
6579
6591
|
};
|
|
6580
6592
|
locale?: string;
|
|
6581
6593
|
groupBy: IndexGroupBy;
|