@intlify/core-base 12.0.0-alpha.2 → 12.0.0-alpha.4

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.
@@ -1,1219 +1,996 @@
1
- import type { BaseError } from '@intlify/shared';
2
- import { CompileError } from '@intlify/message-compiler';
3
- import { CompileErrorCodes } from '@intlify/message-compiler';
4
- import type { CompileOptions } from '@intlify/message-compiler';
5
- import { createCompileError } from '@intlify/message-compiler';
6
- import type { IntlifyDevToolsEmitter } from '@intlify/devtools-types';
7
- import type { IntlifyDevToolsHookPayloads } from '@intlify/devtools-types';
8
- import type { IntlifyDevToolsHooks } from '@intlify/devtools-types';
9
- import { ResourceNode } from '@intlify/message-compiler';
10
- import type { VueDevToolsEmitter } from '@intlify/devtools-types';
11
-
12
- declare type __ResourceFormatPath<T, Key extends keyof T> = Key extends string ? T[Key] extends Record<string, any> ? `${Key}` : never : never;
13
-
14
- export declare type __ResourcePath<T, Key extends keyof T> = Key extends string ? T[Key] extends Record<string, any> ? `${Key}.${__ResourcePath<T[Key], Exclude<keyof T[Key], keyof any[]>> & string}` | `${Key}.${Exclude<keyof T[Key], keyof any[]> & string}` : never : never;
15
-
16
- export declare function clearCompileCache(): void;
17
-
18
- /* Excluded from this release type: clearDateTimeFormat */
19
-
20
- /* Excluded from this release type: clearNumberFormat */
21
-
22
- export declare function compile<Message = string, MessageSource = string | ResourceNode>(message: MessageSource, context: MessageCompilerContext): MessageFunction<Message>;
23
- export { CompileError }
24
- export { CompileErrorCodes }
25
-
26
- export declare const CORE_ERROR_CODES_EXTEND_POINT = 24;
27
-
28
- export declare const CORE_WARN_CODES_EXTEND_POINT: number;
29
-
30
- export declare interface CoreCommonContext<Message = string, Locales = 'en-US'> {
31
- cid: number;
32
- version: string;
33
- locale: Locales;
34
- fallbackLocale: FallbackLocales<Exclude<Locales, LocaleDetector>>;
35
- missing: CoreMissingHandler<Message> | null;
36
- missingWarn: boolean | RegExp;
37
- fallbackWarn: boolean | RegExp;
38
- fallbackFormat: boolean;
39
- unresolving: boolean;
40
- localeFallbacker: LocaleFallbacker;
41
- onWarn(msg: string, err?: Error): void;
42
- }
43
-
44
- export declare type CoreContext<Message = string, Messages = {}, DateTimeFormats = {}, NumberFormats = {}, LocaleType = Locale, ResourceLocales = PickupLocales<NonNullable<Messages>> | PickupLocales<NonNullable<DateTimeFormats>> | PickupLocales<NonNullable<NumberFormats>>, Locales = IsNever<ResourceLocales> extends true ? LocaleType extends LocaleDetector | Locale ? LocaleType : Locale : ResourceLocales> = CoreCommonContext<Message, Locales> & CoreTranslationContext<NonNullable<Messages>, Message> & CoreDateTimeContext<NonNullable<DateTimeFormats>> & CoreNumberContext<NonNullable<NumberFormats>> & {
45
- fallbackContext?: CoreContext<Message, Messages, DateTimeFormats, NumberFormats, LocaleType, ResourceLocales, Locales>;
46
- };
47
-
48
- export declare interface CoreDateTimeContext<DateTimeFormats = {}> {
49
- datetimeFormats: {
50
- [K in keyof DateTimeFormats]: DateTimeFormats[K];
51
- };
52
- }
53
-
54
- export declare interface CoreError extends BaseError {
55
- }
56
-
57
- export declare const CoreErrorCodes: {
58
- readonly INVALID_ARGUMENT: number;
59
- readonly INVALID_DATE_ARGUMENT: 18;
60
- readonly INVALID_ISO_DATE_ARGUMENT: 19;
61
- readonly NOT_SUPPORT_NON_STRING_MESSAGE: 20;
62
- readonly NOT_SUPPORT_LOCALE_PROMISE_VALUE: 21;
63
- readonly NOT_SUPPORT_LOCALE_ASYNC_FUNCTION: 22;
64
- readonly NOT_SUPPORT_LOCALE_TYPE: 23;
65
- };
66
-
67
- export declare type CoreErrorCodes = (typeof CoreErrorCodes)[keyof typeof CoreErrorCodes];
68
-
69
- export declare interface CoreInternalContext {
70
- __datetimeFormatters: Map<string, Intl.DateTimeFormat>;
71
- __numberFormatters: Map<string, Intl.NumberFormat>;
72
- __localeChainCache?: Map<Locale, Locale[]>;
73
- __v_emitter?: VueDevToolsEmitter;
74
- __meta: MetaInfo;
75
- }
76
-
77
- export declare interface CoreInternalOptions {
78
- __datetimeFormatters?: Map<string, Intl.DateTimeFormat>;
79
- __numberFormatters?: Map<string, Intl.NumberFormat>;
80
- __v_emitter?: VueDevToolsEmitter;
81
- __meta?: MetaInfo;
82
- }
83
-
84
- export declare type CoreMissingHandler<Message = string> = (context: CoreContext<Message>, locale: Locale, key: Path, type: CoreMissingType, ...values: unknown[]) => string | void;
85
-
86
- export declare type CoreMissingType = 'translate' | 'datetime format' | 'number format' | 'translate exists';
87
-
88
- export declare interface CoreNumberContext<NumberFormats = {}> {
89
- numberFormats: {
90
- [K in keyof NumberFormats]: NumberFormats[K];
91
- };
92
- }
93
-
94
- export declare interface CoreOptions<Message = string, Schema extends {
95
- message?: unknown;
96
- datetime?: unknown;
97
- number?: unknown;
98
- } = {
99
- message: DefaultCoreLocaleMessageSchema;
100
- datetime: DateTimeFormat;
101
- number: NumberFormat;
102
- }, Locales extends {
103
- messages: unknown;
104
- datetimeFormats: unknown;
105
- numberFormats: unknown;
106
- } | string = Locale, MessagesLocales = Locales extends {
107
- messages: infer M;
108
- } ? M : Locales extends string ? Locales : Locale, DateTimeFormatsLocales = Locales extends {
109
- datetimeFormats: infer D;
110
- } ? D : Locales extends string ? Locales : Locale, NumberFormatsLocales = Locales extends {
111
- numberFormats: infer N;
112
- } ? N : Locales extends string ? Locales : Locale, MessageSchema = Schema extends {
113
- message: infer M;
114
- } ? M : DefaultCoreLocaleMessageSchema, DateTimeSchema = Schema extends {
115
- datetime: infer D;
116
- } ? D : DateTimeFormat, NumberSchema = Schema extends {
117
- number: infer N;
118
- } ? N : NumberFormat, _Messages extends LocaleMessages<MessageSchema, MessagesLocales, Message> = LocaleMessages<MessageSchema, MessagesLocales, Message>, _DateTimeFormats extends DateTimeFormats<DateTimeSchema, DateTimeFormatsLocales> = DateTimeFormats<DateTimeSchema, DateTimeFormatsLocales>, _NumberFormats extends NumberFormats<NumberSchema, NumberFormatsLocales> = NumberFormats<NumberSchema, NumberFormatsLocales>> {
119
- version?: string;
120
- locale?: Locale | LocaleDetector;
121
- fallbackLocale?: FallbackLocale;
122
- messages?: {
123
- [K in keyof _Messages]: MessageSchema;
124
- };
125
- datetimeFormats?: {
126
- [K in keyof _DateTimeFormats]: DateTimeSchema;
127
- };
128
- numberFormats?: {
129
- [K in keyof _NumberFormats]: NumberSchema;
130
- };
131
- modifiers?: LinkedModifiers<Message>;
132
- pluralRules?: PluralizationRules;
133
- missing?: CoreMissingHandler<Message>;
134
- missingWarn?: boolean | RegExp;
135
- fallbackWarn?: boolean | RegExp;
136
- fallbackFormat?: boolean;
137
- unresolving?: boolean;
138
- postTranslation?: PostTranslationHandler<Message>;
139
- processor?: MessageProcessor<Message>;
140
- warnHtmlMessage?: boolean;
141
- escapeParameter?: boolean;
142
- messageCompiler?: MessageCompiler<Message, string | ResourceNode>;
143
- messageResolver?: MessageResolver;
144
- localeFallbacker?: LocaleFallbacker;
145
- fallbackContext?: CoreContext<Message, MessagesLocales, DateTimeFormatsLocales, NumberFormatsLocales>;
146
- onWarn?: (msg: string, err?: Error) => void;
147
- }
148
-
149
- export declare interface CoreTranslationContext<Messages = {}, Message = string> {
150
- messages: {
151
- [K in keyof Messages]: Messages[K];
152
- };
153
- modifiers: LinkedModifiers<Message>;
154
- pluralRules?: PluralizationRules;
155
- postTranslation: PostTranslationHandler<Message> | null;
156
- processor: MessageProcessor<Message> | null;
157
- warnHtmlMessage: boolean;
158
- escapeParameter: boolean;
159
- messageCompiler: MessageCompiler<Message, string | ResourceNode> | null;
160
- messageResolver: MessageResolver;
161
- }
162
-
163
- export declare const CoreWarnCodes: {
164
- readonly NOT_FOUND_KEY: 1;
165
- readonly FALLBACK_TO_TRANSLATE: 2;
166
- readonly CANNOT_FORMAT_NUMBER: 3;
167
- readonly FALLBACK_TO_NUMBER_FORMAT: 4;
168
- readonly CANNOT_FORMAT_DATE: 5;
169
- readonly FALLBACK_TO_DATE_FORMAT: 6;
170
- readonly EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER: 7;
171
- };
172
-
173
- export declare type CoreWarnCodes = (typeof CoreWarnCodes)[keyof typeof CoreWarnCodes];
174
- export { createCompileError }
175
-
176
- export declare function createCoreContext<Message = string, Options extends CoreOptions<Message> = CoreOptions<Message>, Messages extends Record<string, any> = Options['messages'] extends Record<string, any> ? Options['messages'] : {}, DateTimeFormats extends Record<string, any> = Options['datetimeFormats'] extends Record<string, any> ? Options['datetimeFormats'] : {}, NumberFormats extends Record<string, any> = Options['numberFormats'] extends Record<string, any> ? Options['numberFormats'] : {}, LocaleType = Locale | LocaleDetector>(options: Options): CoreContext<Message, Messages, DateTimeFormats, NumberFormats, LocaleType>;
177
-
178
- export declare function createCoreContext<Schema = LocaleMessage, Locales = 'en-US', Message = string, Options extends CoreOptions<Message, SchemaParams<Schema, Message>, LocaleParams<Locales>> = CoreOptions<Message, SchemaParams<Schema, Message>, LocaleParams<Locales>>, Messages extends Record<string, any> = NonNullable<Options['messages']> extends Record<string, any> ? NonNullable<Options['messages']> : {}, DateTimeFormats extends Record<string, any> = NonNullable<Options['datetimeFormats']> extends Record<string, any> ? NonNullable<Options['datetimeFormats']> : {}, NumberFormats extends Record<string, any> = NonNullable<Options['numberFormats']> extends Record<string, any> ? NonNullable<Options['numberFormats']> : {}, LocaleType = Locale | LocaleDetector>(options: Options): CoreContext<Message, Messages, DateTimeFormats, NumberFormats, LocaleType>;
179
-
180
- export declare function createCoreError(code: CoreErrorCodes): CoreError;
181
-
182
- declare function createDevToolsHook(hook: IntlifyDevToolsHooks): (payloads: IntlifyDevToolsHookPayloads[IntlifyDevToolsHooks]) => void | null;
183
-
184
- export declare function createMessageContext<T = string, N = {}>(options?: MessageContextOptions<T, N>): MessageContext<T>;
185
-
186
- /**
187
- * number
188
- */
189
- export declare type CurrencyDisplay = 'symbol' | 'code' | 'name';
190
-
191
- export declare interface CurrencyNumberFormatOptions extends Intl.NumberFormatOptions {
192
- style: 'currency';
193
- currency: string;
194
- currencyDisplay?: CurrencyDisplay;
195
- localeMatcher?: LocaleMatcher;
196
- formatMatcher?: FormatMatcher;
197
- }
198
-
199
- /**
200
- * `datetime` function overloads
201
- */
202
- export declare function datetime<Context extends CoreContext<Message, {}, {}, {}>, Message = string>(context: Context, value: number | string | Date): string | number | Intl.DateTimeFormatPart[];
203
-
204
- export declare function datetime<Context extends CoreContext<Message, {}, {}, {}>, Value extends number | string | Date = number, Key extends string = string, ResourceKeys extends PickupFormatKeys<Context['datetimeFormats']> = PickupFormatKeys<Context['datetimeFormats']>, Message = string>(context: Context, value: Value, keyOrOptions: Key | ResourceKeys | DateTimeOptions<Key | ResourceKeys, Context['locale']>): string | number | Intl.DateTimeFormatPart[];
205
-
206
- export declare function datetime<Context extends CoreContext<Message, {}, {}, {}>, Value extends number | string | Date = number, Key extends string = string, ResourceKeys extends PickupFormatKeys<Context['datetimeFormats']> = PickupFormatKeys<Context['datetimeFormats']>, Message = string>(context: Context, value: Value, keyOrOptions: Key | ResourceKeys | DateTimeOptions<Key | ResourceKeys, Context['locale']>, locale: Context['locale']): string | number | Intl.DateTimeFormatPart[];
207
-
208
- export declare function datetime<Context extends CoreContext<Message, {}, {}, {}>, Value extends number | string | Date = number, Key extends string = string, ResourceKeys extends PickupFormatKeys<Context['datetimeFormats']> = PickupFormatKeys<Context['datetimeFormats']>, Message = string>(context: Context, value: Value, keyOrOptions: Key | ResourceKeys | DateTimeOptions<Key | ResourceKeys, Context['locale']>, override: Intl.DateTimeFormatOptions): string | number | Intl.DateTimeFormatPart[];
209
-
210
- export declare function datetime<Context extends CoreContext<Message, {}, {}, {}>, Value extends number | string | Date = number, Key extends string = string, ResourceKeys extends PickupFormatKeys<Context['datetimeFormats']> = PickupFormatKeys<Context['datetimeFormats']>, Message = string>(context: Context, value: Value, keyOrOptions: Key | ResourceKeys | DateTimeOptions<Key | ResourceKeys, Context['locale']>, locale: Context['locale'], override: Intl.DateTimeFormatOptions): string | number | Intl.DateTimeFormatPart[];
211
-
212
- /* Excluded from this release type: DATETIME_FORMAT_OPTIONS_KEYS */
213
-
214
- export declare type DateTimeDigital = 'numeric' | '2-digit';
215
-
216
- export declare type DateTimeFormat = {
217
- [key: string]: DateTimeFormatOptions;
218
- };
219
-
220
- export declare type DateTimeFormatOptions = Intl.DateTimeFormatOptions | SpecificDateTimeFormatOptions;
221
-
222
- export declare type DateTimeFormats<Schema = DateTimeFormat, Locales = Locale> = LocaleRecord<UnionToTuple<Locales>, Schema>;
223
-
224
- /**
225
- * datetime
226
- */
227
- export declare type DateTimeHumanReadable = 'long' | 'short' | 'narrow';
228
-
229
- /**
230
- * # datetime
231
- *
232
- * ## usages:
233
- * // for example `context.datetimeFormats` below
234
- * 'en-US': {
235
- * short: {
236
- * year: 'numeric', month: '2-digit', day: '2-digit',
237
- * hour: '2-digit', minute: '2-digit'
238
- * }
239
- * },
240
- * 'ja-JP': { ... }
241
- *
242
- * // datetimeable value only
243
- * datetime(context, value)
244
- *
245
- * // key argument
246
- * datetime(context, value, 'short')
247
- *
248
- * // key & locale argument
249
- * datetime(context, value, 'short', 'ja-JP')
250
- *
251
- * // object sytle argument
252
- * datetime(context, value, { key: 'short', locale: 'ja-JP' })
253
- *
254
- * // suppress localize miss warning option, override context.missingWarn
255
- * datetime(context, value, { key: 'short', locale: 'ja-JP', missingWarn: false })
256
- *
257
- * // suppress localize fallback warning option, override context.fallbackWarn
258
- * datetime(context, value, { key: 'short', locale: 'ja-JP', fallbackWarn: false })
259
- *
260
- * // if you specify `part` options, you can get an array of objects containing the formatted datetime in parts
261
- * datetime(context, value, { key: 'short', part: true })
262
- *
263
- * // orverride context.datetimeFormats[locale] options with functino options
264
- * datetime(cnotext, value, 'short', { year: '2-digit' })
265
- * datetime(cnotext, value, 'short', 'ja-JP', { year: '2-digit' })
266
- * datetime(context, value, { key: 'short', part: true, year: '2-digit' })
267
- */
268
- /**
269
- * DateTime options
270
- *
271
- * @remarks
272
- * Options for Datetime formatting API
273
- *
274
- * @VueI18nGeneral
275
- */
276
- export declare interface DateTimeOptions<Key = string, Locales = Locale> extends Intl.DateTimeFormatOptions, LocaleOptions<Locales> {
277
- /**
278
- * @remarks
279
- * The target format key
280
- */
281
- key?: Key;
282
- /**
283
- * @remarks
284
- * Whether suppress warnings outputted when localization fails
285
- */
286
- missingWarn?: boolean;
287
- /**
288
- * @remarks
289
- * Whether do resolve on format keys when your language lacks a formatting for a key
290
- */
291
- fallbackWarn?: boolean;
292
- /**
293
- * @remarks
294
- * Whether to use [Intel.DateTimeFormat#formatToParts](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/formatToParts)
295
- */
296
- part?: boolean;
297
- }
298
-
299
- export declare const DEFAULT_LOCALE = "en-US";
300
-
301
- export declare const DEFAULT_MESSAGE_DATA_TYPE = "text";
302
-
303
- export declare type DefaultCoreLocaleMessageSchema<Schema = RemoveIndexSignature<{
304
- [K in keyof DefineCoreLocaleMessage]: DefineCoreLocaleMessage[K];
305
- }>> = IsEmptyObject<Schema> extends true ? LocaleMessage<string> : Schema;
306
-
307
- /**
308
- * The type definition of Locale Message for `@intlify/core-base` package
309
- *
310
- * @remarks
311
- * The typealias is used to strictly define the type of the Locale message.
312
- *
313
- * @example
314
- * ```ts
315
- * // type.d.ts (`.d.ts` file at your app)
316
- * import { DefineCoreLocaleMessage } from '@intlify/core-base'
317
- *
318
- * declare module '@intlify/core-base' {
319
- * export interface DefineCoreLocaleMessage {
320
- * title: string
321
- * menu: {
322
- * login: string
323
- * }
324
- * }
325
- * }
326
- * ```
327
- *
328
- * @VueI18nGeneral
329
- */
330
- export declare interface DefineCoreLocaleMessage extends LocaleMessage<string> {
331
- }
332
-
333
- export declare type EmptyObject = {
334
- [emptyObjectSymbol]?: never;
335
- };
336
-
337
- declare const emptyObjectSymbol: unique symbol;
338
-
339
- export declare type ExtractToStringKey<T> = Extract<keyof T, 'toString'>;
340
-
341
- /** @VueI18nGeneral */
342
- export declare type FallbackLocale = Locale | Locale[] | {
343
- [locale in string]: Locale[];
344
- } | false;
345
-
346
- export declare type FallbackLocales<Locales = 'en-US'> = Locales | Array<Locales> | {
347
- [locale in string]: Array<PickupFallbackLocales<UnionToTuple<Locales>>>;
348
- } | false;
349
-
350
- /**
351
- * Fallback with locale chain
352
- *
353
- * @remarks
354
- * A fallback locale function implemented with a fallback chain algorithm. It's used in VueI18n as default.
355
- *
356
- * @param ctx - A {@link CoreContext | context}
357
- * @param fallback - A {@link FallbackLocale | fallback locale}
358
- * @param start - A starting {@link Locale | locale}
359
- *
360
- * @returns Fallback locales
361
- *
362
- * @VueI18nSee [Fallbacking](../../guide/essentials/fallback)
363
- *
364
- * @VueI18nGeneral
365
- */
366
- export declare function fallbackWithLocaleChain<Message = string>(ctx: CoreContext<Message>, fallback: FallbackLocale, start: Locale): Locale[];
367
-
368
- /**
369
- * Fallback with simple implemenation
370
- *
371
- * @remarks
372
- * A fallback locale function implemented with a simple fallback algorithm.
373
- *
374
- * Basically, it returns the value as specified in the `fallbackLocale` props, and is processed with the fallback inside intlify.
375
- *
376
- * @param ctx - A {@link CoreContext | context}
377
- * @param fallback - A {@link FallbackLocale | fallback locale}
378
- * @param start - A starting {@link Locale | locale}
379
- *
380
- * @returns Fallback locales
381
- *
382
- * @VueI18nGeneral
383
- */
384
- export declare function fallbackWithSimple<Message = string>(ctx: CoreContext<Message>, fallback: FallbackLocale, start: Locale): Locale[];
385
-
386
- export declare type First<T extends readonly any[]> = T[0];
387
-
388
- export declare type FormatMatcher = 'basic' | 'best fit';
389
-
390
- export declare type FormattedNumberPart = {
391
- type: FormattedNumberPartType;
392
- value: string;
393
- };
394
-
395
- export declare type FormattedNumberPartType = 'currency' | 'decimal' | 'fraction' | 'group' | 'infinity' | 'integer' | 'literal' | 'minusSign' | 'nan' | 'plusSign' | 'percentSign';
396
-
397
- /**
398
- * Generated locale which resolves to `never` if left unset
399
- */
400
- export declare type GeneratedLocale = GeneratedTypeConfig extends Record<'locale', infer CustomLocale> ? CustomLocale : never;
401
-
402
- /**
403
- *
404
- * The interface used for narrowing types using generated types.
405
- *
406
- * @remarks
407
- *
408
- * The type generated by 3rd party (e.g. nuxt/i18n)
409
- *
410
- * @example
411
- * ```ts
412
- * // generated-i18n-types.d.ts (`.d.ts` file at your app)
413
- *
414
- * declare module '@intlify/core-base' {
415
- * interface GeneratedTypeConfig {
416
- * locale: "en" | "ja"
417
- * }
418
- * }
419
- * ```
420
- */
421
- export declare interface GeneratedTypeConfig {
422
- }
423
-
424
- export declare const getAdditionalMeta: () => MetaInfo | null;
425
-
426
- export declare function getDevToolsHook(): IntlifyDevToolsEmitter | null;
427
-
428
- export declare const getFallbackContext: () => CoreContext | null;
429
-
430
- /* Excluded from this release type: getLocale */
431
-
432
- export declare function getLocaleMessage<Context extends CoreContext, Locales = keyof Context['messages'], Return = Context['messages'][keyof Context['messages']]>(ctx: Context, locale: Locales): Return | undefined;
433
-
434
- export declare function getWarnMessage(code: CoreWarnCodes, ...args: unknown[]): string;
435
-
436
- /* Excluded from this release type: handleMissing */
437
-
438
- export declare function initI18nDevTools(i18n: unknown, version: string, meta?: Record<string, unknown>): void;
439
-
440
- /* Excluded from this release type: isAlmostSameLocale */
441
-
442
- export declare type IsEmptyObject<T> = T extends {
443
- [emptyObjectSymbol]?: never;
444
- } ? true : false;
445
-
446
- /* Excluded from this release type: isImplicitFallback */
447
-
448
- export declare function isMessageAST(val: unknown): val is ResourceNode;
449
-
450
- export declare const isMessageFunction: <T>(val: unknown) => val is MessageFunction<T>;
451
-
452
- export declare type IsNever<T> = [T] extends [never] ? true : false;
453
-
454
- export declare type IsObject<T> = IsTuple<T> extends true ? false : [T] extends [object] ? true : false;
455
-
456
- export declare type IsRecord<T> = IsTuple<T> extends true ? false : [T] extends [Record<string, any>] ? true : false;
457
-
458
- /* Excluded from this release type: isTranslateFallbackWarn */
459
-
460
- /* Excluded from this release type: isTranslateMissingWarn */
461
-
462
- export declare type IsTuple<T> = IsNever<T> extends true ? false : T extends readonly any[] ? number extends T['length'] ? false : true : false;
463
-
464
- export declare type IsUnion<T, B = T> = T extends B ? [B] extends [T] ? false : true : never;
465
-
466
- export declare type JsonPaths<T, Key extends keyof T = keyof T> = Key extends string ? T[Key] extends Record<string, any> ? `${Key}.${JsonPaths<T[Key]>}` : `${Key}` : never;
467
-
468
- export declare type LastInUnion<U> = UnionToIntersection<U extends unknown ? (x: U) => 0 : never> extends (x: infer L) => 0 ? L : never;
469
-
470
- /** @VueI18nGeneral */
471
- export declare type LinkedModifiers<T = string> = {
472
- [key: string]: LinkedModify<T>;
473
- };
474
-
475
- export declare type LinkedModify<T = string> = (value: T, type: string) => MessageType<T>;
476
-
477
- export declare interface LinkedOptions {
478
- /**
479
- * The message type of linked message
480
- */
481
- type?: string;
482
- /**
483
- * The modifier of linked message
484
- */
485
- modifier?: string;
486
- }
487
-
488
- /** @VueI18nGeneral */
489
- export declare type Locale = IsNever<GeneratedLocale> extends true ? string : GeneratedLocale;
490
-
491
- /** @VueI18nGeneral */
492
- export declare interface LocaleDetector<Args extends any[] = any[]> {
493
- (...args: Args): Locale | Promise<Locale>;
494
- resolvedOnce?: boolean;
495
- }
496
-
497
- /**
498
- * The locale fallbacker
499
- *
500
- * @VueI18nGeneral
501
- */
502
- export declare type LocaleFallbacker = <Message = string>(ctx: CoreContext<Message>, fallback: FallbackLocale, start: Locale) => Locale[];
503
-
504
- export declare type LocaleMatcher = 'lookup' | 'best fit';
505
-
506
- /** @VueI18nGeneral */
507
- export declare type LocaleMessage<Message = string> = Record<string, LocaleMessageValue<Message>>;
508
-
509
- /** @VueI18nGeneral */
510
- export declare type LocaleMessageDictionary<T, Message = string> = {
511
- [K in keyof T]: LocaleMessageType<T[K], Message>;
512
- };
513
-
514
- /** @VueI18nGeneral */
515
- export declare type LocaleMessages<Schema, Locales = Locale, Message = string> = LocaleRecord<UnionToTuple<Locales>, Schema>;
516
-
517
- /** @VueI18nGeneral */
518
- export declare type LocaleMessageType<T, Message = string> = T extends string ? string : T extends () => Promise<infer P> ? LocaleMessageDictionary<P, Message> : T extends (...args: infer Arguments) => any ? (...args: Arguments) => ReturnType<T> : T extends Record<string, unknown> ? LocaleMessageDictionary<T, Message> : T extends Array<T> ? {
519
- [K in keyof T]: T[K];
520
- } : T;
521
-
522
- /** @VueI18nGeneral */
523
- export declare type LocaleMessageValue<Message = string> = LocaleMessageDictionary<any, Message> | string;
524
-
525
- /** @VueI18nGeneral */
526
- export declare interface LocaleOptions<Locales = Locale> {
527
- /**
528
- * @remarks
529
- * The locale of localization
530
- */
531
- locale?: Locales | LocaleDetector;
532
- }
533
-
534
- export declare type LocaleParams<T, Default = 'en-US'> = T extends IsUnion<T> ? {
535
- messages: T;
536
- datetimeFormats: T;
537
- numberFormats: T;
538
- } : T extends {
539
- messages?: infer M;
540
- datetimeFormats?: infer D;
541
- numberFormats?: infer N;
542
- } ? {
543
- messages: LocaleParamsType<M, Default>;
544
- datetimeFormats: LocaleParamsType<D, Default>;
545
- numberFormats: LocaleParamsType<N, Default>;
546
- } : T extends string ? {
547
- messages: T;
548
- datetimeFormats: T;
549
- numberFormats: T;
550
- } : {
551
- messages: Default;
552
- datetimeFormats: Default;
553
- numberFormats: Default;
554
- };
555
-
556
- declare type LocaleParamsType<T, R> = T extends IsUnion<T> ? T : T extends string ? T : R;
557
-
558
- export declare type LocaleRecord<T extends any[], R> = {
559
- [K in T[number]]: R;
560
- };
561
-
562
- /**
563
- * The message compiler
564
- *
565
- * @param message - A resolved message that ususally will be passed the string. if you can transform to it with bundler, will be passed the AST.
566
- * @param context - A message context {@link MessageCompilerContext}
567
- *
568
- * @returns A {@link MessageFunction}
569
- *
570
- * @VueI18nGeneral
571
- */
572
- export declare type MessageCompiler<Message = string, MessageSource = string | ResourceNode> = (message: MessageSource, context: MessageCompilerContext) => MessageFunction<Message>;
573
-
574
- /**
575
- * The context that will pass the message compiler.
576
- *
577
- * @VueI18nGeneral
578
- */
579
- export declare type MessageCompilerContext = Pick<CompileOptions, 'onError' | 'onCacheKey'> & {
580
- /**
581
- * Whether to allow the use locale messages of HTML formatting.
582
- */
583
- warnHtmlMessage?: boolean;
584
- /**
585
- * The resolved locale message key
586
- */
587
- key: string;
588
- /**
589
- * The locale
590
- */
591
- locale: Locale;
592
- };
593
-
594
- /**
595
- * The message context.
596
- *
597
- * @VueI18nGeneral
598
- */
599
- export declare interface MessageContext<T = string> {
600
- /**
601
- * Resolve message value from list.
602
- *
603
- * @param index - An index of message values.
604
- *
605
- * @returns A resolved message value.
606
- *
607
- * @example
608
- * ```js
609
- * const messages = {
610
- * en: {
611
- * greeting: ({ list }) => `hello, ${list(0)}!`
612
- * }
613
- * }
614
- * ```
615
- */
616
- list(index: number): unknown;
617
- /**
618
- * Resolve message value from named.
619
- *
620
- * @param key - A key of message value.
621
- *
622
- * @returns A resolved message value.
623
- *
624
- * @example
625
- * ```js
626
- * const messages = {
627
- * en: {
628
- * greeting: ({ named }) => `hello, ${named('name')}!`
629
- * }
630
- * }
631
- * ```
632
- */
633
- named(key: string): unknown;
634
- /**
635
- * Resolve message with plural index.
636
- *
637
- * @remarks
638
- * That's resolved with plural index with translation function.
639
- *
640
- * @param messages - the messages, that is resolved with plural index with translation function.
641
- *
642
- * @returns A resolved message.
643
- *
644
- * @example
645
- * ```js
646
- * const messages = {
647
- * en: {
648
- * car: ({ plural }) => plural(['car', 'cars']),
649
- * apple: ({ plural, named }) =>
650
- * plural([
651
- * 'no apples',
652
- * 'one apple',
653
- * `${named('count')} apples`
654
- * ])
655
- * }
656
- * }
657
- * ```
658
- */
659
- plural(messages: T[]): T;
660
- /**
661
- * Resolve linked message.
662
- *
663
- * @param key - A message key
664
- * @param modifier - A modifier
665
- *
666
- * @returns A resolve message.
667
- */
668
- linked(key: Path, modifier?: string): MessageType<T>;
669
- /**
670
- * Overloaded `linked`
671
- *
672
- * @param key - A message key
673
- * @param modifier - A modifier
674
- * @param type - A message type
675
- *
676
- * @returns A resolve message.
677
- */
678
- linked(key: Path, modifier?: string, type?: string): MessageType<T>;
679
- /**
680
- * Overloaded `linked`
681
- *
682
- * @param key - A message key
683
- * @param optoins - An {@link LinkedOptions | linked options}
684
- *
685
- * @returns A resolve message.
686
- */
687
- linked(key: Path, optoins?: LinkedOptions): MessageType<T>;
688
- /* Excluded from this release type: message */
689
- /**
690
- * The message type to be handled by the message function.
691
- *
692
- * @remarks
693
- * Usually `text`, you need to return **string** in message function.
694
- */
695
- type: string;
696
- /* Excluded from this release type: interpolate */
697
- /* Excluded from this release type: normalize */
698
- /**
699
- * The message values.
700
- *
701
- * @remarks
702
- * The message values are the argument values passed from translation function, such as `$t`, `t`, or `translate`.
703
- *
704
- * @example
705
- * vue-i18n `$t` (or `t`) case:
706
- * ```html
707
- * <p>{{ $t('greeting', { name: 'DIO' }) }}</p> <!-- `{ name: 'DIO' }` is message values -->
708
- * ```
709
- *
710
- * `@intlify/core` (`@intlify/core-base`) `translate` case:
711
- * ```js
712
- * translate(context, 'foo.bar', ['dio']) // `['dio']` is message values
713
- * ```
714
- */
715
- values: Record<string, unknown>;
716
- }
717
-
718
- export declare interface MessageContextOptions<T = string, N = {}> {
719
- parent?: MessageContext<T>;
720
- locale?: string;
721
- list?: unknown[];
722
- named?: NamedValue<N>;
723
- modifiers?: LinkedModifiers<T>;
724
- pluralIndex?: number;
725
- pluralRules?: PluralizationRules;
726
- messages?: MessageFunctions<T> | MessageResolveFunction<T>;
727
- processor?: MessageProcessor<T>;
728
- }
729
-
730
- /**
731
- * The Message Function.
732
- *
733
- * @param ctx - A {@link MessageContext}
734
- *
735
- * @return A resolved format message, that is string type basically.
736
- *
737
- * @VueI18nGeneral
738
- */
739
- export declare type MessageFunction<T = string> = MessageFunctionCallable | MessageFunctionInternal<T>;
740
-
741
- export declare type MessageFunctionCallable = <T = string>(ctx: MessageContext<T>) => MessageFunctionReturn<T>;
742
-
743
- export declare type MessageFunctionInternal<T = string> = {
744
- (ctx: MessageContext<T>): MessageFunctionReturn<T>;
745
- key?: string;
746
- locale?: string;
747
- source?: string;
748
- };
749
-
750
- /** @VueI18nGeneral */
751
- export declare type MessageFunctionReturn<T = string> = T extends string ? MessageType<T> : MessageType<T>[];
752
-
753
- export declare type MessageFunctions<T = string> = Record<string, MessageFunction<T>>;
754
-
755
- export declare type MessageInterpolate<T = string> = (val: unknown) => MessageType<T>;
756
-
757
- export declare type MessageNormalize<T = string> = (values: MessageType<T>[]) => MessageFunctionReturn<T>;
758
-
759
- export declare interface MessageProcessor<T = string> {
760
- type?: string;
761
- interpolate?: MessageInterpolate<T>;
762
- normalize?: MessageNormalize<T>;
763
- }
764
-
765
- export declare type MessageResolveFunction<T = string> = (key: string, useLinked: boolean) => MessageFunction<T>;
766
-
767
- /** @VueI18nGeneral */
768
- export declare type MessageResolver = (obj: unknown, path: Path) => PathValue;
769
-
770
- export declare type MessageType<T = string> = T extends string ? string : StringConvertable<T>;
771
-
772
- export declare interface MetaInfo {
773
- [field: string]: unknown;
774
- }
775
-
776
- export declare const MISSING_RESOLVE_VALUE = "";
777
-
778
- /** @VueI18nGeneral */
779
- export declare type NamedValue<T = {}> = T & Record<string, unknown>;
780
-
781
- export declare const NOT_REOSLVED = -1;
782
-
783
- /**
784
- * `number` function overloads
785
- */
786
- export declare function number<Context extends CoreContext<Message, {}, {}, {}>, Message = string>(context: Context, value: number): string | number | Intl.NumberFormatPart[];
787
-
788
- export declare function number<Context extends CoreContext<Message, {}, {}, {}>, Value extends number = number, Key extends string = string, ResourceKeys extends PickupFormatKeys<Context['numberFormats']> = PickupFormatKeys<Context['numberFormats']>, Message = string>(context: Context, value: Value, keyOrOptions: Key | ResourceKeys | NumberOptions<Key | ResourceKeys, Context['locale']>): string | number | Intl.NumberFormatPart[];
789
-
790
- export declare function number<Context extends CoreContext<Message, {}, {}, {}>, Value extends number = number, Key extends string = string, ResourceKeys extends PickupFormatKeys<Context['numberFormats']> = PickupFormatKeys<Context['numberFormats']>, Message = string>(context: Context, value: Value, keyOrOptions: Key | ResourceKeys | NumberOptions<Key | ResourceKeys, Context['locale']>, locale: Context['locale']): string | number | Intl.NumberFormatPart[];
791
-
792
- export declare function number<Context extends CoreContext<Message, {}, {}, {}>, Value extends number = number, Key extends string = string, ResourceKeys extends PickupFormatKeys<Context['numberFormats']> = PickupFormatKeys<Context['numberFormats']>, Message = string>(context: Context, value: Value, keyOrOptions: Key | ResourceKeys | NumberOptions<Key | ResourceKeys, Context['locale']>, override: Intl.NumberFormatOptions): string | number | Intl.NumberFormatPart[];
793
-
794
- export declare function number<Context extends CoreContext<Message, {}, {}, {}>, Value extends number = number, Key extends string = string, ResourceKeys extends PickupFormatKeys<Context['numberFormats']> = PickupFormatKeys<Context['numberFormats']>, Message = string>(context: Context, value: Value, keyOrOptions: Key | ResourceKeys | NumberOptions<Key | ResourceKeys, Context['locale']>, locale: Context['locale'], override: Intl.NumberFormatOptions): string | number | Intl.NumberFormatPart[];
795
-
796
- /* Excluded from this release type: NUMBER_FORMAT_OPTIONS_KEYS */
797
-
798
- export declare type NumberFormat = {
799
- [key: string]: NumberFormatOptions;
800
- };
801
-
802
- export declare type NumberFormatOptions = Intl.NumberFormatOptions | SpecificNumberFormatOptions | CurrencyNumberFormatOptions;
803
-
804
- export declare type NumberFormats<Schema = NumberFormat, Locales = Locale> = LocaleRecord<UnionToTuple<Locales>, Schema>;
805
-
806
- export declare type NumberFormatToPartsResult = {
807
- [index: number]: FormattedNumberPart;
808
- };
809
-
810
- /**
811
- * # number
812
- *
813
- * ## usages
814
- * // for example `context.numberFormats` below
815
- * 'en-US': {
816
- * 'currency': {
817
- * style: 'currency', currency: 'USD', currencyDisplay: 'symbol'
818
- * }
819
- * },
820
- * 'ja-JP: { ... }
821
- *
822
- * // value only
823
- * number(context, value)
824
- *
825
- * // key argument
826
- * number(context, value, 'currency')
827
- *
828
- * // key & locale argument
829
- * number(context, value, 'currency', 'ja-JP')
830
- *
831
- * // object sytle argument
832
- * number(context, value, { key: 'currency', locale: 'ja-JP' })
833
- *
834
- * // suppress localize miss warning option, override context.missingWarn
835
- * number(context, value, { key: 'currency', locale: 'ja-JP', missingWarn: false })
836
- *
837
- * // suppress localize fallback warning option, override context.fallbackWarn
838
- * number(context, value, { key: 'currency', locale: 'ja-JP', fallbackWarn: false })
839
- *
840
- * // if you specify `part` options, you can get an array of objects containing the formatted number in parts
841
- * number(context, value, { key: 'currenty', part: true })
842
- *
843
- * // orverride context.numberFormats[locale] options with functino options
844
- * number(cnotext, value, 'currency', { year: '2-digit' })
845
- * number(cnotext, value, 'currency', 'ja-JP', { year: '2-digit' })
846
- * number(context, value, { key: 'currenty', locale: 'ja-JP', part: true, year: '2-digit'})
847
- */
848
- /**
849
- * Number Options
850
- *
851
- * @remarks
852
- * Options for Number formatting API
853
- *
854
- * @VueI18nGeneral
855
- */
856
- export declare interface NumberOptions<Key = string, Locales = Locale> extends Intl.NumberFormatOptions, LocaleOptions<Locales> {
857
- /**
858
- * @remarks
859
- * The target format key
860
- */
861
- key?: Key;
862
- /**
863
- * @remarks
864
- * Whether suppress warnings outputted when localization fails
865
- */
866
- missingWarn?: boolean;
867
- /**
868
- * @remarks
869
- * Whether do resolve on format keys when your language lacks a formatting for a key
870
- */
871
- fallbackWarn?: boolean;
872
- /**
873
- * @remarks
874
- * Whether to use [Intel.NumberFormat#formatToParts](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/formatToParts)
875
- */
876
- part?: boolean;
877
- }
878
-
879
- /**
880
- * Parse a string path into an array of segments
881
- */
882
- export declare function parse(path: Path): string[] | undefined;
883
-
884
- /* Excluded from this release type: parseDateTimeArgs */
885
-
886
- /* Excluded from this release type: parseNumberArgs */
887
-
888
- /* Excluded from this release type: parseTranslateArgs */
889
-
890
- /** @VueI18nGeneral */
891
- export declare type Path = string;
892
-
893
- /** @VueI18nGeneral */
894
- export declare type PathValue = string | number | boolean | Function | null | {
895
- [key: string]: PathValue;
896
- } | PathValue[];
897
-
898
- export declare type PickupFallbackLocales<T extends any[]> = T[number] | `${T[number]}!`;
899
-
900
- export declare type PickupFormatKeys<T extends Record<string, any>, K = keyof T> = K extends string ? ResourceFormatPath<T[K]> : never;
901
-
902
- export declare type PickupFormatPathKeys<T extends object> = ResourceFormatPath<T>;
903
-
904
- export declare type PickupKeys<T extends Record<string, any>, K = keyof T> = K extends string ? ResourcePath<T[K]> : never;
905
-
906
- export declare type PickupLocales<T extends Record<string, any>, K = keyof T> = K extends string ? K : never;
907
-
908
- export declare type PickupPaths<T extends object> = ResourcePath<T>;
909
-
910
- export declare type PluralizationProps = {
911
- n?: number;
912
- count?: number;
913
- };
914
-
915
- export declare type PluralizationRule = (choice: number, choicesLength: number, orgRule?: PluralizationRule) => number;
916
-
917
- /** @VueI18nGeneral */
918
- export declare type PluralizationRules = {
919
- [locale: string]: PluralizationRule;
920
- };
921
-
922
- /** @VueI18nGeneral */
923
- export declare type PostTranslationHandler<Message = string> = (translated: MessageFunctionReturn<Message>, key: string) => MessageFunctionReturn<Message>;
924
-
925
- /**
926
- * Register the locale fallbacker
927
- *
928
- * @param fallbacker - A {@link LocaleFallbacker} function
929
- *
930
- * @VueI18nGeneral
931
- */
932
- export declare function registerLocaleFallbacker(fallbacker: LocaleFallbacker): void;
933
-
934
- export declare function registerMessageCompiler<Message>(compiler: MessageCompiler<Message, string | ResourceNode>): void;
935
-
936
- /**
937
- * Register the message resolver
938
- *
939
- * @param resolver - A {@link MessageResolver} function
940
- *
941
- * @VueI18nGeneral
942
- */
943
- export declare function registerMessageResolver(resolver: MessageResolver): void;
944
-
945
- export declare type RemovedIndexResources<T> = RemoveIndexSignature<{
946
- [K in keyof T]: T[K];
947
- }>;
948
-
949
- export declare type RemoveIndexSignature<T> = {
950
- [K in keyof T as string extends K ? never : number extends K ? never : K]: T[K];
951
- };
952
-
953
- /* Excluded from this release type: resolveLocale */
954
-
955
- /**
956
- * message resolver
957
- *
958
- * @remarks
959
- * Resolves messages. messages with a hierarchical structure such as objects can be resolved. This resolver is used in VueI18n as default.
960
- *
961
- * @param obj - A target object to be resolved with path
962
- * @param path - A {@link Path | path} to resolve the value of message
963
- *
964
- * @returns A resolved {@link PathValue | path value}
965
- *
966
- * @VueI18nGeneral
967
- */
968
- export declare function resolveValue(obj: unknown, path: Path): PathValue;
969
-
970
- /**
971
- * key-value message resolver
972
- *
973
- * @remarks
974
- * Resolves messages with the key-value structure. Note that messages with a hierarchical structure such as objects cannot be resolved
975
- *
976
- * @param obj - A target object to be resolved with path
977
- * @param path - A {@link Path | path} to resolve the value of message
978
- *
979
- * @returns A resolved {@link PathValue | path value}
980
- *
981
- * @VueI18nGeneral
982
- */
983
- export declare function resolveWithKeyValue(obj: unknown, path: Path): PathValue;
984
-
985
- export declare type ResourceFormatPath<T> = _ResourceFormatPath<T> extends string | keyof T ? _ResourceFormatPath<T> : keyof T;
986
-
987
- declare type _ResourceFormatPath<T> = __ResourceFormatPath<T, keyof T> | keyof T;
988
- export { ResourceNode }
989
-
990
- export declare type ResourcePath<T> = _ResourcePath<T> extends string | keyof T ? _ResourcePath<T> : keyof T;
991
-
992
- export declare type _ResourcePath<T> = __ResourcePath<T, keyof T> | keyof T;
993
-
994
- export declare type ResourceValue<T, P extends ResourcePath<T>> = P extends `${infer Key}.${infer Rest}` ? Key extends keyof T ? Rest extends ResourcePath<T[Key]> ? ResourceValue<T[Key], Rest> : never : never : P extends keyof T ? T[P] : never;
995
-
996
- export declare type SchemaParams<T, Message = string> = T extends readonly any[] ? {
997
- message: First<T>;
998
- datetime: DateTimeFormat;
999
- number: NumberFormat;
1000
- } : T extends {
1001
- message?: infer M;
1002
- datetime?: infer D;
1003
- number?: infer N;
1004
- } ? {
1005
- message: M extends LocaleMessage<Message> ? M : LocaleMessage<Message>;
1006
- datetime: D extends DateTimeFormat ? D : DateTimeFormat;
1007
- number: N extends NumberFormat ? N : NumberFormat;
1008
- } : {
1009
- message: LocaleMessage<Message>;
1010
- datetime: DateTimeFormat;
1011
- number: NumberFormat;
1012
- };
1013
-
1014
- export declare const setAdditionalMeta: (meta: MetaInfo | null) => void;
1015
-
1016
- export declare function setDevToolsHook(hook: IntlifyDevToolsEmitter | null): void;
1017
-
1018
- export declare const setFallbackContext: (context: CoreContext | null) => void;
1019
-
1020
- export declare function setLocaleMessage<Context extends CoreContext, Locales = keyof Context['messages']>(ctx: Context, locale: Locales, messages: Context['messages'][keyof Context['messages']]): void;
1021
-
1022
- export declare interface SpecificDateTimeFormatOptions extends Intl.DateTimeFormatOptions {
1023
- year?: DateTimeDigital;
1024
- month?: DateTimeDigital | DateTimeHumanReadable;
1025
- day?: DateTimeDigital;
1026
- hour?: DateTimeDigital;
1027
- minute?: DateTimeDigital;
1028
- second?: DateTimeDigital;
1029
- weekday?: DateTimeHumanReadable;
1030
- era?: DateTimeHumanReadable;
1031
- timeZoneName?: 'long' | 'short';
1032
- localeMatcher?: LocaleMatcher;
1033
- formatMatcher?: FormatMatcher;
1034
- }
1035
-
1036
- export declare interface SpecificNumberFormatOptions extends Intl.NumberFormatOptions {
1037
- style?: 'decimal' | 'percent';
1038
- currency?: string;
1039
- currencyDisplay?: CurrencyDisplay;
1040
- localeMatcher?: LocaleMatcher;
1041
- formatMatcher?: FormatMatcher;
1042
- }
1043
-
1044
- /**
1045
- * weather the type `T` is able to convert to string with `toString` method
1046
- */
1047
- export declare type StringConvertable<T, Extracted = ExtractToStringKey<T>> = IsNever<Extracted> extends true ? T extends boolean ? T : T extends Function ? T : IsObject<T> extends true ? T : unknown : T;
1048
-
1049
- /**
1050
- * TODO:
1051
- * this type should be used (refactored) at `translate` type definition
1052
- * (Unfortunately, using this type will result in key completion failure due to type mismatch...)
1053
- */
1054
- /**
1055
- * `translate` function overloads
1056
- */
1057
- export declare function translate<Context extends CoreContext<Message>, Key extends string = string, DefinedLocaleMessage extends RemovedIndexResources<DefineCoreLocaleMessage> = RemovedIndexResources<DefineCoreLocaleMessage>, CoreMessages = IsEmptyObject<DefinedLocaleMessage> extends false ? PickupPaths<{
1058
- [K in keyof DefinedLocaleMessage]: DefinedLocaleMessage[K];
1059
- }> : never, ContextMessages = IsEmptyObject<Context['messages']> extends false ? PickupKeys<Context['messages']> : never, ResourceKeys extends CoreMessages | ContextMessages = IsNever<CoreMessages> extends false ? IsNever<ContextMessages> extends false ? CoreMessages | ContextMessages : CoreMessages : IsNever<ContextMessages> extends false ? ContextMessages : never, Message = string>(context: Context, key: Key | ResourceKeys | number | MessageFunction<Message>, plural: number): MessageFunctionReturn<Message> | number;
1060
-
1061
- export declare function translate<Context extends CoreContext<Message, {}, {}, {}>, Key extends string = string, DefinedLocaleMessage extends RemovedIndexResources<DefineCoreLocaleMessage> = RemovedIndexResources<DefineCoreLocaleMessage>, CoreMessages = IsEmptyObject<DefinedLocaleMessage> extends false ? PickupPaths<{
1062
- [K in keyof DefinedLocaleMessage]: DefinedLocaleMessage[K];
1063
- }> : never, ContextMessages = IsEmptyObject<Context['messages']> extends false ? PickupKeys<Context['messages']> : never, ResourceKeys extends CoreMessages | ContextMessages = IsNever<CoreMessages> extends false ? IsNever<ContextMessages> extends false ? CoreMessages | ContextMessages : CoreMessages : IsNever<ContextMessages> extends false ? ContextMessages : never, Message = string>(context: Context, key: Key | ResourceKeys | number | MessageFunction<Message>): MessageFunctionReturn<Message> | number;
1064
-
1065
- export declare function translate<Context extends CoreContext<Message, {}, {}, {}>, Key extends string = string, DefinedLocaleMessage extends RemovedIndexResources<DefineCoreLocaleMessage> = RemovedIndexResources<DefineCoreLocaleMessage>, CoreMessages = IsEmptyObject<DefinedLocaleMessage> extends false ? PickupPaths<{
1066
- [K in keyof DefinedLocaleMessage]: DefinedLocaleMessage[K];
1067
- }> : never, ContextMessages = IsEmptyObject<Context['messages']> extends false ? PickupKeys<Context['messages']> : never, ResourceKeys extends CoreMessages | ContextMessages = IsNever<CoreMessages> extends false ? IsNever<ContextMessages> extends false ? CoreMessages | ContextMessages : CoreMessages : IsNever<ContextMessages> extends false ? ContextMessages : never, Message = string>(context: Context, key: Key | ResourceKeys | number | MessageFunction<Message>, plural: number): MessageFunctionReturn<Message> | number;
1068
-
1069
- export declare function translate<Context extends CoreContext<Message, {}, {}, {}>, Key extends string = string, DefinedLocaleMessage extends RemovedIndexResources<DefineCoreLocaleMessage> = RemovedIndexResources<DefineCoreLocaleMessage>, CoreMessages = IsEmptyObject<DefinedLocaleMessage> extends false ? PickupPaths<{
1070
- [K in keyof DefinedLocaleMessage]: DefinedLocaleMessage[K];
1071
- }> : never, ContextMessages = IsEmptyObject<Context['messages']> extends false ? PickupKeys<Context['messages']> : never, ResourceKeys extends CoreMessages | ContextMessages = IsNever<CoreMessages> extends false ? IsNever<ContextMessages> extends false ? CoreMessages | ContextMessages : CoreMessages : IsNever<ContextMessages> extends false ? ContextMessages : never, Message = string>(context: Context, key: Key | ResourceKeys | number | MessageFunction<Message>, plural: number, options: TranslateOptions<Context['locale']>): MessageFunctionReturn<Message> | number;
1072
-
1073
- export declare function translate<Context extends CoreContext<Message, {}, {}, {}>, Key extends string = string, DefinedLocaleMessage extends RemovedIndexResources<DefineCoreLocaleMessage> = RemovedIndexResources<DefineCoreLocaleMessage>, CoreMessages = IsEmptyObject<DefinedLocaleMessage> extends false ? PickupPaths<{
1074
- [K in keyof DefinedLocaleMessage]: DefinedLocaleMessage[K];
1075
- }> : never, ContextMessages = IsEmptyObject<Context['messages']> extends false ? PickupKeys<Context['messages']> : never, ResourceKeys extends CoreMessages | ContextMessages = IsNever<CoreMessages> extends false ? IsNever<ContextMessages> extends false ? CoreMessages | ContextMessages : CoreMessages : IsNever<ContextMessages> extends false ? ContextMessages : never, Message = string>(context: Context, key: Key | ResourceKeys | number | MessageFunction<Message>, defaultMsg: string): MessageFunctionReturn<Message> | number;
1076
-
1077
- export declare function translate<Context extends CoreContext<Message, {}, {}, {}>, Key extends string = string, DefinedLocaleMessage extends RemovedIndexResources<DefineCoreLocaleMessage> = RemovedIndexResources<DefineCoreLocaleMessage>, CoreMessages = IsEmptyObject<DefinedLocaleMessage> extends false ? PickupPaths<{
1078
- [K in keyof DefinedLocaleMessage]: DefinedLocaleMessage[K];
1079
- }> : never, ContextMessages = IsEmptyObject<Context['messages']> extends false ? PickupKeys<Context['messages']> : never, ResourceKeys extends CoreMessages | ContextMessages = IsNever<CoreMessages> extends false ? IsNever<ContextMessages> extends false ? CoreMessages | ContextMessages : CoreMessages : IsNever<ContextMessages> extends false ? ContextMessages : never, Message = string>(context: Context, key: Key | ResourceKeys | number | MessageFunction<Message>, defaultMsg: string, options: TranslateOptions<Context['locale']>): MessageFunctionReturn<Message> | number;
1080
-
1081
- export declare function translate<Context extends CoreContext<Message, {}, {}, {}>, Key extends string = string, DefinedLocaleMessage extends RemovedIndexResources<DefineCoreLocaleMessage> = RemovedIndexResources<DefineCoreLocaleMessage>, CoreMessages = IsEmptyObject<DefinedLocaleMessage> extends false ? PickupPaths<{
1082
- [K in keyof DefinedLocaleMessage]: DefinedLocaleMessage[K];
1083
- }> : never, ContextMessages = IsEmptyObject<Context['messages']> extends false ? PickupKeys<Context['messages']> : never, ResourceKeys extends CoreMessages | ContextMessages = IsNever<CoreMessages> extends false ? IsNever<ContextMessages> extends false ? CoreMessages | ContextMessages : CoreMessages : IsNever<ContextMessages> extends false ? ContextMessages : never, Message = string>(context: Context, key: Key | ResourceKeys | number | MessageFunction<Message>, list: unknown[]): MessageFunctionReturn<Message> | number;
1084
-
1085
- export declare function translate<Context extends CoreContext<Message, {}, {}, {}>, Key extends string = string, DefinedLocaleMessage extends RemovedIndexResources<DefineCoreLocaleMessage> = RemovedIndexResources<DefineCoreLocaleMessage>, CoreMessages = IsEmptyObject<DefinedLocaleMessage> extends false ? PickupPaths<{
1086
- [K in keyof DefinedLocaleMessage]: DefinedLocaleMessage[K];
1087
- }> : never, ContextMessages = IsEmptyObject<Context['messages']> extends false ? PickupKeys<Context['messages']> : never, ResourceKeys extends CoreMessages | ContextMessages = IsNever<CoreMessages> extends false ? IsNever<ContextMessages> extends false ? CoreMessages | ContextMessages : CoreMessages : IsNever<ContextMessages> extends false ? ContextMessages : never, Message = string>(context: Context, key: Key | ResourceKeys | number | MessageFunction<Message>, list: unknown[], plural: number): MessageFunctionReturn<Message> | number;
1088
-
1089
- export declare function translate<Context extends CoreContext<Message, {}, {}, {}>, Key extends string = string, DefinedLocaleMessage extends RemovedIndexResources<DefineCoreLocaleMessage> = RemovedIndexResources<DefineCoreLocaleMessage>, CoreMessages = IsEmptyObject<DefinedLocaleMessage> extends false ? PickupPaths<{
1090
- [K in keyof DefinedLocaleMessage]: DefinedLocaleMessage[K];
1091
- }> : never, ContextMessages = IsEmptyObject<Context['messages']> extends false ? PickupKeys<Context['messages']> : never, ResourceKeys extends CoreMessages | ContextMessages = IsNever<CoreMessages> extends false ? IsNever<ContextMessages> extends false ? CoreMessages | ContextMessages : CoreMessages : IsNever<ContextMessages> extends false ? ContextMessages : never, Message = string>(context: Context, key: Key | ResourceKeys | number | MessageFunction<Message>, list: unknown[], defaultMsg: string): MessageFunctionReturn<Message> | number;
1092
-
1093
- export declare function translate<Context extends CoreContext<Message, {}, {}, {}>, Key extends string = string, DefinedLocaleMessage extends RemovedIndexResources<DefineCoreLocaleMessage> = RemovedIndexResources<DefineCoreLocaleMessage>, CoreMessages = IsEmptyObject<DefinedLocaleMessage> extends false ? PickupPaths<{
1094
- [K in keyof DefinedLocaleMessage]: DefinedLocaleMessage[K];
1095
- }> : never, ContextMessages = IsEmptyObject<Context['messages']> extends false ? PickupKeys<Context['messages']> : never, ResourceKeys extends CoreMessages | ContextMessages = IsNever<CoreMessages> extends false ? IsNever<ContextMessages> extends false ? CoreMessages | ContextMessages : CoreMessages : IsNever<ContextMessages> extends false ? ContextMessages : never, Message = string>(context: Context, key: Key | ResourceKeys | number | MessageFunction<Message>, list: unknown[], options: TranslateOptions<Context['locale']>): MessageFunctionReturn<Message> | number;
1096
-
1097
- export declare function translate<Context extends CoreContext<Message, {}, {}, {}>, Key extends string = string, DefinedLocaleMessage extends RemovedIndexResources<DefineCoreLocaleMessage> = RemovedIndexResources<DefineCoreLocaleMessage>, CoreMessages = IsEmptyObject<DefinedLocaleMessage> extends false ? PickupPaths<{
1098
- [K in keyof DefinedLocaleMessage]: DefinedLocaleMessage[K];
1099
- }> : never, ContextMessages = IsEmptyObject<Context['messages']> extends false ? PickupKeys<Context['messages']> : never, ResourceKeys extends CoreMessages | ContextMessages = IsNever<CoreMessages> extends false ? IsNever<ContextMessages> extends false ? CoreMessages | ContextMessages : CoreMessages : IsNever<ContextMessages> extends false ? ContextMessages : never, Message = string>(context: Context, key: Key | ResourceKeys | number | MessageFunction<Message>, named: NamedValue): MessageFunctionReturn<Message> | number;
1100
-
1101
- export declare function translate<Context extends CoreContext<Message, {}, {}, {}>, Key extends string = string, DefinedLocaleMessage extends RemovedIndexResources<DefineCoreLocaleMessage> = RemovedIndexResources<DefineCoreLocaleMessage>, CoreMessages = IsEmptyObject<DefinedLocaleMessage> extends false ? PickupPaths<{
1102
- [K in keyof DefinedLocaleMessage]: DefinedLocaleMessage[K];
1103
- }> : never, ContextMessages = IsEmptyObject<Context['messages']> extends false ? PickupKeys<Context['messages']> : never, ResourceKeys extends CoreMessages | ContextMessages = IsNever<CoreMessages> extends false ? IsNever<ContextMessages> extends false ? CoreMessages | ContextMessages : CoreMessages : IsNever<ContextMessages> extends false ? ContextMessages : never, Message = string>(context: Context, key: Key | ResourceKeys | number | MessageFunction<Message>, named: NamedValue, plural: number): MessageFunctionReturn<Message> | number;
1104
-
1105
- export declare function translate<Context extends CoreContext<Message, {}, {}, {}>, Key extends string = string, DefinedLocaleMessage extends RemovedIndexResources<DefineCoreLocaleMessage> = RemovedIndexResources<DefineCoreLocaleMessage>, CoreMessages = IsEmptyObject<DefinedLocaleMessage> extends false ? PickupPaths<{
1106
- [K in keyof DefinedLocaleMessage]: DefinedLocaleMessage[K];
1107
- }> : never, ContextMessages = IsEmptyObject<Context['messages']> extends false ? PickupKeys<Context['messages']> : never, ResourceKeys extends CoreMessages | ContextMessages = IsNever<CoreMessages> extends false ? IsNever<ContextMessages> extends false ? CoreMessages | ContextMessages : CoreMessages : IsNever<ContextMessages> extends false ? ContextMessages : never, Message = string>(context: Context, key: Key | ResourceKeys | number | MessageFunction<Message>, named: NamedValue, defaultMsg: string): MessageFunctionReturn<Message> | number;
1108
-
1109
- export declare function translate<Context extends CoreContext<Message, {}, {}, {}>, Key extends string = string, DefinedLocaleMessage extends RemovedIndexResources<DefineCoreLocaleMessage> = RemovedIndexResources<DefineCoreLocaleMessage>, CoreMessages = IsEmptyObject<DefinedLocaleMessage> extends false ? PickupPaths<{
1110
- [K in keyof DefinedLocaleMessage]: DefinedLocaleMessage[K];
1111
- }> : never, ContextMessages = IsEmptyObject<Context['messages']> extends false ? PickupKeys<Context['messages']> : never, ResourceKeys extends CoreMessages | ContextMessages = IsNever<CoreMessages> extends false ? IsNever<ContextMessages> extends false ? CoreMessages | ContextMessages : CoreMessages : IsNever<ContextMessages> extends false ? ContextMessages : never, Message = string>(context: Context, key: Key | ResourceKeys | number | MessageFunction<Message>, named: NamedValue, options: TranslateOptions<Context['locale']>): MessageFunctionReturn<Message> | number;
1112
-
1113
- export declare const translateDevTools: ReturnType<typeof createDevToolsHook>;
1114
-
1115
- /**
1116
- * # translate
1117
- *
1118
- * ## usages:
1119
- * // for example, locale messages key
1120
- * { 'foo.bar': 'hi {0} !' or 'hi {name} !' }
1121
- *
1122
- * // no argument, context & path only
1123
- * translate(context, 'foo.bar')
1124
- *
1125
- * // list argument
1126
- * translate(context, 'foo.bar', ['kazupon'])
1127
- *
1128
- * // named argument
1129
- * translate(context, 'foo.bar', { name: 'kazupon' })
1130
- *
1131
- * // plural choice number
1132
- * translate(context, 'foo.bar', 2)
1133
- *
1134
- * // plural choice number with name argument
1135
- * translate(context, 'foo.bar', { name: 'kazupon' }, 2)
1136
- *
1137
- * // default message argument
1138
- * translate(context, 'foo.bar', 'this is default message')
1139
- *
1140
- * // default message with named argument
1141
- * translate(context, 'foo.bar', { name: 'kazupon' }, 'Hello {name} !')
1142
- *
1143
- * // use key as default message
1144
- * translate(context, 'hi {0} !', ['kazupon'], { default: true })
1145
- *
1146
- * // locale option, override context.locale
1147
- * translate(context, 'foo.bar', { name: 'kazupon' }, { locale: 'ja' })
1148
- *
1149
- * // suppress localize miss warning option, override context.missingWarn
1150
- * translate(context, 'foo.bar', { name: 'kazupon' }, { missingWarn: false })
1151
- *
1152
- * // suppress localize fallback warning option, override context.fallbackWarn
1153
- * translate(context, 'foo.bar', { name: 'kazupon' }, { fallbackWarn: false })
1154
- *
1155
- * // escape parameter option, override context.escapeParameter
1156
- * translate(context, 'foo.bar', { name: 'kazupon' }, { escapeParameter: true })
1157
- */
1158
- /**
1159
- * Translate Options
1160
- *
1161
- * @remarks
1162
- * Options for Translation API
1163
- *
1164
- * @VueI18nGeneral
1165
- */
1166
- export declare interface TranslateOptions<Locales = Locale> extends LocaleOptions<Locales> {
1167
- /**
1168
- * @remarks
1169
- * List interpolation
1170
- */
1171
- list?: unknown[];
1172
- /**
1173
- * @remarks
1174
- * Named interpolation
1175
- */
1176
- named?: NamedValue;
1177
- /**
1178
- * @remarks
1179
- * Plulralzation choice number
1180
- */
1181
- plural?: number;
1182
- /**
1183
- * @remarks
1184
- * Default message when is occurred translation missing
1185
- */
1186
- default?: string | boolean;
1187
- /**
1188
- * @remarks
1189
- * Whether suppress warnings outputted when localization fails
1190
- */
1191
- missingWarn?: boolean;
1192
- /**
1193
- * @remarks
1194
- * Whether do template interpolation on translation keys when your language lacks a translation for a key
1195
- */
1196
- fallbackWarn?: boolean;
1197
- /**
1198
- * @remarks
1199
- * Whether do escape parameter for list or named interpolation values
1200
- */
1201
- escapeParameter?: boolean;
1202
- /**
1203
- * @remarks
1204
- * Whether the message has been resolved
1205
- */
1206
- resolvedMessage?: boolean;
1207
- }
1208
-
1209
- export declare type TranslationsPaths<T extends object, K extends keyof T = keyof T> = K extends string ? JsonPaths<T[K]> : never;
1210
-
1211
- export declare type UnionToIntersection<U> = (U extends any ? (arg: U) => void : never) extends (arg: infer I) => void ? I : never;
1212
-
1213
- export declare type UnionToTuple<U, Last = LastInUnion<U>> = [U] extends [never] ? [] : [...UnionToTuple<Exclude<U, Last>>, Last];
1214
-
1215
- /* Excluded from this release type: updateFallbackLocale */
1216
-
1217
- /* Excluded from this release type: VERSION */
1218
-
1219
- export { }
1
+ import { CompileError, CompileErrorCodes, CompileOptions, ResourceNode, ResourceNode as ResourceNode$1, createCompileError } from "@intlify/message-compiler";
2
+ import { VueDevToolsEmitter } from "@intlify/devtools-types";
3
+ import { BaseError } from "@intlify/shared";
4
+
5
+ //#region temp/packages/core-base/src/resolver.d.ts
6
+ /** @VueI18nGeneral */
7
+ type Path = string;
8
+ /**
9
+ * Parse a string path into an array of segments
10
+ */
11
+ declare function parse(path: Path): string[] | undefined;
12
+ /** @VueI18nGeneral */
13
+ type PathValue = string | number | boolean | Function | null | {
14
+ [key: string]: PathValue;
15
+ } | PathValue[];
16
+ /** @VueI18nGeneral */
17
+ type MessageResolver = (obj: unknown, path: Path) => PathValue;
18
+ /**
19
+ * key-value message resolver
20
+ *
21
+ * @remarks
22
+ * Resolves messages with the key-value structure. Note that messages with a hierarchical structure such as objects cannot be resolved
23
+ *
24
+ * @param obj - A target object to be resolved with path
25
+ * @param path - A {@link Path | path} to resolve the value of message
26
+ *
27
+ * @returns A resolved {@link PathValue | path value}
28
+ *
29
+ * @VueI18nGeneral
30
+ */
31
+ declare function resolveWithKeyValue(obj: unknown, path: Path): PathValue;
32
+ /**
33
+ * message resolver
34
+ *
35
+ * @remarks
36
+ * Resolves messages. messages with a hierarchical structure such as objects can be resolved. This resolver is used in VueI18n as default.
37
+ *
38
+ * @param obj - A target object to be resolved with path
39
+ * @param path - A {@link Path | path} to resolve the value of message
40
+ *
41
+ * @returns A resolved {@link PathValue | path value}
42
+ *
43
+ * @VueI18nGeneral
44
+ */
45
+ declare function resolveValue(obj: unknown, path: Path): PathValue;
46
+ //#endregion
47
+ //#region temp/packages/core-base/src/fallbacker.d.ts
48
+ /** @VueI18nGeneral */
49
+ interface LocaleOptions<Locales = Locale> {
50
+ /**
51
+ * @remarks
52
+ * The locale of localization
53
+ */
54
+ locale?: Locales | LocaleDetector;
55
+ }
56
+ /**
57
+ * The locale fallbacker
58
+ *
59
+ * @VueI18nGeneral
60
+ */
61
+ type LocaleFallbacker = <Message = string>(ctx: CoreContext<Message>, fallback: FallbackLocale, start: Locale) => Locale[];
62
+ /**
63
+ * Fallback with simple implemenation
64
+ *
65
+ * @remarks
66
+ * A fallback locale function implemented with a simple fallback algorithm.
67
+ *
68
+ * Basically, it returns the value as specified in the `fallbackLocale` props, and is processed with the fallback inside intlify.
69
+ *
70
+ * @param ctx - A {@link CoreContext | context}
71
+ * @param fallback - A {@link FallbackLocale | fallback locale}
72
+ * @param start - A starting {@link Locale | locale}
73
+ *
74
+ * @returns Fallback locales
75
+ *
76
+ * @VueI18nGeneral
77
+ */
78
+ declare function fallbackWithSimple<Message = string>(_ctx: CoreContext<Message>, fallback: FallbackLocale, start: Locale): Locale[];
79
+ /**
80
+ * Fallback with locale chain
81
+ *
82
+ * @remarks
83
+ * A fallback locale function implemented with a fallback chain algorithm. It's used in VueI18n as default.
84
+ *
85
+ * @param ctx - A {@link CoreContext | context}
86
+ * @param fallback - A {@link FallbackLocale | fallback locale}
87
+ * @param start - A starting {@link Locale | locale}
88
+ *
89
+ * @returns Fallback locales
90
+ *
91
+ * @VueI18nSee [Fallbacking](../../guide/essentials/fallback)
92
+ *
93
+ * @VueI18nGeneral
94
+ */
95
+ declare function fallbackWithLocaleChain<Message = string>(ctx: CoreContext<Message>, fallback: FallbackLocale, start: Locale): Locale[];
96
+ //#endregion
97
+ //#region temp/packages/core-base/src/context.d.ts
98
+ interface MetaInfo {
99
+ [field: string]: unknown;
100
+ }
101
+ /** @VueI18nGeneral */
102
+ type LocaleMessageValue<Message = string> = LocaleMessageDictionary<any, Message> | string;
103
+ /** @VueI18nGeneral */
104
+ type LocaleMessageType<T, Message = string> = T extends string ? string : T extends (() => Promise<infer P>) ? LocaleMessageDictionary<P, Message> : T extends ((...args: infer Arguments) => any) ? (...args: Arguments) => ReturnType<T> : T extends Record<string, unknown> ? LocaleMessageDictionary<T, Message> : T extends Array<T> ? { [K in keyof T]: T[K] } : T;
105
+ /** @VueI18nGeneral */
106
+ type LocaleMessageDictionary<T, Message = string> = { [K in keyof T]: LocaleMessageType<T[K], Message> };
107
+ /** @VueI18nGeneral */
108
+ type LocaleMessage<Message = string> = Record<string, LocaleMessageValue<Message>>;
109
+ /** @VueI18nGeneral */
110
+ type LocaleMessages<Schema, Locales = Locale, _Message = string> = LocaleRecord<UnionToTuple<Locales>, Schema>;
111
+ /**
112
+ * The type definition of Locale Message for `@intlify/core-base` package
113
+ *
114
+ * @remarks
115
+ * The typealias is used to strictly define the type of the Locale message.
116
+ *
117
+ * @example
118
+ * ```ts
119
+ * // type.d.ts (`.d.ts` file at your app)
120
+ * import { DefineCoreLocaleMessage } from '@intlify/core-base'
121
+ *
122
+ * declare module '@intlify/core-base' {
123
+ * export interface DefineCoreLocaleMessage {
124
+ * title: string
125
+ * menu: {
126
+ * login: string
127
+ * }
128
+ * }
129
+ * }
130
+ * ```
131
+ *
132
+ * @VueI18nGeneral
133
+ */
134
+ interface DefineCoreLocaleMessage extends LocaleMessage<string> {}
135
+ type DefaultCoreLocaleMessageSchema<Schema = RemoveIndexSignature<{ [K in keyof DefineCoreLocaleMessage]: DefineCoreLocaleMessage[K] }>> = IsEmptyObject<Schema> extends true ? LocaleMessage<string> : Schema;
136
+ type CoreMissingHandler<Message = string> = (context: CoreContext<Message>, locale: Locale, key: Path, type: CoreMissingType, ...values: unknown[]) => string | void;
137
+ /** @VueI18nGeneral */
138
+ type PostTranslationHandler<Message = string> = (translated: MessageFunctionReturn<Message>, key: string) => MessageFunctionReturn<Message>;
139
+ /**
140
+ * The context that will pass the message compiler.
141
+ *
142
+ * @VueI18nGeneral
143
+ */
144
+ type MessageCompilerContext = Pick<CompileOptions, "onError" | "onCacheKey"> & {
145
+ /**
146
+ * Whether to allow the use locale messages of HTML formatting.
147
+ */
148
+ warnHtmlMessage?: boolean;
149
+ /**
150
+ * The resolved locale message key
151
+ */
152
+ key: string;
153
+ /**
154
+ * The locale
155
+ */
156
+ locale: Locale;
157
+ };
158
+ /**
159
+ * The message compiler
160
+ *
161
+ * @param message - A resolved message that ususally will be passed the string. if you can transform to it with bundler, will be passed the AST.
162
+ * @param context - A message context {@link MessageCompilerContext}
163
+ *
164
+ * @returns A {@link MessageFunction}
165
+ *
166
+ * @VueI18nGeneral
167
+ */
168
+ type MessageCompiler<Message = string, MessageSource = string | ResourceNode$1> = (message: MessageSource, context: MessageCompilerContext) => MessageFunction<Message>;
169
+ interface CoreOptions<Message = string, Schema extends {
170
+ message?: unknown;
171
+ datetime?: unknown;
172
+ number?: unknown;
173
+ } = {
174
+ message: DefaultCoreLocaleMessageSchema;
175
+ datetime: DateTimeFormat;
176
+ number: NumberFormat;
177
+ }, Locales extends {
178
+ messages: unknown;
179
+ datetimeFormats: unknown;
180
+ numberFormats: unknown;
181
+ } | string = Locale, MessagesLocales = (Locales extends {
182
+ messages: infer M;
183
+ } ? M : Locales extends string ? Locales : Locale), DateTimeFormatsLocales = (Locales extends {
184
+ datetimeFormats: infer D;
185
+ } ? D : Locales extends string ? Locales : Locale), NumberFormatsLocales = (Locales extends {
186
+ numberFormats: infer N;
187
+ } ? N : Locales extends string ? Locales : Locale), MessageSchema = (Schema extends {
188
+ message: infer M;
189
+ } ? M : DefaultCoreLocaleMessageSchema), DateTimeSchema = (Schema extends {
190
+ datetime: infer D;
191
+ } ? D : DateTimeFormat), NumberSchema = (Schema extends {
192
+ number: infer N;
193
+ } ? N : NumberFormat), _Messages extends LocaleMessages<MessageSchema, MessagesLocales, Message> = LocaleMessages<MessageSchema, MessagesLocales, Message>, _DateTimeFormats extends DateTimeFormats<DateTimeSchema, DateTimeFormatsLocales> = DateTimeFormats<DateTimeSchema, DateTimeFormatsLocales>, _NumberFormats extends NumberFormats<NumberSchema, NumberFormatsLocales> = NumberFormats<NumberSchema, NumberFormatsLocales>> {
194
+ version?: string;
195
+ locale?: Locale | LocaleDetector;
196
+ fallbackLocale?: FallbackLocale;
197
+ messages?: { [K in keyof _Messages]: MessageSchema };
198
+ datetimeFormats?: { [K in keyof _DateTimeFormats]: DateTimeSchema };
199
+ numberFormats?: { [K in keyof _NumberFormats]: NumberSchema };
200
+ modifiers?: LinkedModifiers<Message>;
201
+ pluralRules?: PluralizationRules;
202
+ missing?: CoreMissingHandler<Message>;
203
+ missingWarn?: boolean | RegExp;
204
+ fallbackWarn?: boolean | RegExp;
205
+ fallbackFormat?: boolean;
206
+ unresolving?: boolean;
207
+ postTranslation?: PostTranslationHandler<Message>;
208
+ processor?: MessageProcessor<Message>;
209
+ warnHtmlMessage?: boolean;
210
+ escapeParameter?: boolean;
211
+ messageCompiler?: MessageCompiler<Message, string | ResourceNode$1>;
212
+ messageResolver?: MessageResolver;
213
+ localeFallbacker?: LocaleFallbacker;
214
+ fallbackContext?: CoreContext<Message, MessagesLocales, DateTimeFormatsLocales, NumberFormatsLocales>;
215
+ onWarn?: (msg: string, err?: Error) => void;
216
+ }
217
+ interface CoreInternalOptions {
218
+ __datetimeFormatters?: Map<string, Intl.DateTimeFormat>;
219
+ __numberFormatters?: Map<string, Intl.NumberFormat>;
220
+ __v_emitter?: VueDevToolsEmitter;
221
+ }
222
+ interface CoreCommonContext<Message = string, Locales = "en-US"> {
223
+ cid: number;
224
+ version: string;
225
+ locale: Locales;
226
+ fallbackLocale: FallbackLocales<Exclude<Locales, LocaleDetector>>;
227
+ missing: CoreMissingHandler<Message> | null;
228
+ missingWarn: boolean | RegExp;
229
+ fallbackWarn: boolean | RegExp;
230
+ fallbackFormat: boolean;
231
+ unresolving: boolean;
232
+ localeFallbacker: LocaleFallbacker;
233
+ onWarn(msg: string, err?: Error): void;
234
+ }
235
+ interface CoreTranslationContext<Messages = {}, Message = string> {
236
+ messages: { [K in keyof Messages]: Messages[K] };
237
+ modifiers: LinkedModifiers<Message>;
238
+ pluralRules?: PluralizationRules;
239
+ postTranslation: PostTranslationHandler<Message> | null;
240
+ processor: MessageProcessor<Message> | null;
241
+ warnHtmlMessage: boolean;
242
+ escapeParameter: boolean;
243
+ messageCompiler: MessageCompiler<Message, string | ResourceNode$1> | null;
244
+ messageResolver: MessageResolver;
245
+ }
246
+ interface CoreDateTimeContext<DateTimeFormats = {}> {
247
+ datetimeFormats: { [K in keyof DateTimeFormats]: DateTimeFormats[K] };
248
+ }
249
+ interface CoreNumberContext<NumberFormats = {}> {
250
+ numberFormats: { [K in keyof NumberFormats]: NumberFormats[K] };
251
+ }
252
+ type CoreContext<Message = string, Messages = {}, DateTimeFormats = {}, NumberFormats = {}, LocaleType = Locale, ResourceLocales = PickupLocales<NonNullable<Messages>> | PickupLocales<NonNullable<DateTimeFormats>> | PickupLocales<NonNullable<NumberFormats>>, Locales = (IsNever<ResourceLocales> extends true ? LocaleType extends LocaleDetector | Locale ? LocaleType : Locale : ResourceLocales)> = CoreCommonContext<Message, Locales> & CoreTranslationContext<NonNullable<Messages>, Message> & CoreDateTimeContext<NonNullable<DateTimeFormats>> & CoreNumberContext<NonNullable<NumberFormats>> & {
253
+ fallbackContext?: CoreContext<Message, Messages, DateTimeFormats, NumberFormats, LocaleType, ResourceLocales, Locales>;
254
+ };
255
+ interface CoreInternalContext {
256
+ __datetimeFormatters: Map<string, Intl.DateTimeFormat>;
257
+ __numberFormatters: Map<string, Intl.NumberFormat>;
258
+ __localeChainCache?: Map<Locale, Locale[]>;
259
+ __v_emitter?: VueDevToolsEmitter;
260
+ }
261
+ declare const NOT_RESOLVED = -1;
262
+ declare const DEFAULT_LOCALE = "en-US";
263
+ declare const MISSING_RESOLVE_VALUE = "";
264
+ /**
265
+ * Register the message compiler
266
+ *
267
+ * @param compiler - A {@link MessageCompiler} function
268
+ *
269
+ * @deprecated Use `messageCompiler` option of `createI18n` or `createCoreContext` instead. This function will be removed in v13.
270
+ *
271
+ * @VueI18nGeneral
272
+ */
273
+ declare function registerMessageCompiler<Message>(compiler: MessageCompiler<Message, string | ResourceNode$1>): void;
274
+ /**
275
+ * Register the message resolver
276
+ *
277
+ * @param resolver - A {@link MessageResolver} function
278
+ *
279
+ * @deprecated Use `messageResolver` option of `createI18n` or `createCoreContext` instead. This function will be removed in v13.
280
+ *
281
+ * @VueI18nGeneral
282
+ */
283
+ declare function registerMessageResolver(resolver: MessageResolver): void;
284
+ /**
285
+ * Register the locale fallbacker
286
+ *
287
+ * @param fallbacker - A {@link LocaleFallbacker} function
288
+ *
289
+ * @deprecated Use `localeFallbacker` option of `createI18n` or `createCoreContext` instead. This function will be removed in v13.
290
+ *
291
+ * @VueI18nGeneral
292
+ */
293
+ declare function registerLocaleFallbacker(fallbacker: LocaleFallbacker): void;
294
+ declare const setFallbackContext: (context: CoreContext | null) => void;
295
+ declare const getFallbackContext: () => CoreContext | null;
296
+ declare function createCoreContext<Message = string, Options extends CoreOptions<Message> = CoreOptions<Message>, Messages extends Record<string, any> = (Options["messages"] extends Record<string, any> ? Options["messages"] : {}), DateTimeFormats extends Record<string, any> = (Options["datetimeFormats"] extends Record<string, any> ? Options["datetimeFormats"] : {}), NumberFormats extends Record<string, any> = (Options["numberFormats"] extends Record<string, any> ? Options["numberFormats"] : {}), LocaleType = Locale | LocaleDetector>(options: Options): CoreContext<Message, Messages, DateTimeFormats, NumberFormats, LocaleType>;
297
+ declare function createCoreContext<Schema = LocaleMessage, Locales = "en-US", Message = string, Options extends CoreOptions<Message, SchemaParams<Schema, Message>, LocaleParams<Locales>> = CoreOptions<Message, SchemaParams<Schema, Message>, LocaleParams<Locales>>, Messages extends Record<string, any> = (NonNullable<Options["messages"]> extends Record<string, any> ? NonNullable<Options["messages"]> : {}), DateTimeFormats extends Record<string, any> = (NonNullable<Options["datetimeFormats"]> extends Record<string, any> ? NonNullable<Options["datetimeFormats"]> : {}), NumberFormats extends Record<string, any> = (NonNullable<Options["numberFormats"]> extends Record<string, any> ? NonNullable<Options["numberFormats"]> : {}), LocaleType = Locale | LocaleDetector>(options: Options): CoreContext<Message, Messages, DateTimeFormats, NumberFormats, LocaleType>;
298
+ /**
299
+ * @version 12.0.0
300
+ */
301
+ declare function getLocaleMessage<Context extends CoreContext, Locales = keyof Context["messages"], Return = Context["messages"][keyof Context["messages"]]>(ctx: Context, locale: Locales): Return | undefined;
302
+ /**
303
+ * @version 12.0.0
304
+ */
305
+ declare function setLocaleMessage<Context extends CoreContext, Locales = keyof Context["messages"]>(ctx: Context, locale: Locales, messages: Context["messages"][keyof Context["messages"]]): void;
306
+ //#endregion
307
+ //#region temp/packages/core-base/src/types/intl.d.ts
308
+ /**
309
+ * datetime
310
+ */
311
+ type DateTimeHumanReadable = "long" | "short" | "narrow";
312
+ type DateTimeDigital = "numeric" | "2-digit";
313
+ type LocaleMatcher = "lookup" | "best fit";
314
+ type FormatMatcher = "basic" | "best fit";
315
+ interface SpecificDateTimeFormatOptions extends Intl.DateTimeFormatOptions {
316
+ year?: DateTimeDigital;
317
+ month?: DateTimeDigital | DateTimeHumanReadable;
318
+ day?: DateTimeDigital;
319
+ hour?: DateTimeDigital;
320
+ minute?: DateTimeDigital;
321
+ second?: DateTimeDigital;
322
+ weekday?: DateTimeHumanReadable;
323
+ era?: DateTimeHumanReadable;
324
+ timeZoneName?: "long" | "short";
325
+ localeMatcher?: LocaleMatcher;
326
+ formatMatcher?: FormatMatcher;
327
+ }
328
+ type DateTimeFormatOptions = Intl.DateTimeFormatOptions | SpecificDateTimeFormatOptions;
329
+ type DateTimeFormat = {
330
+ [key: string]: DateTimeFormatOptions;
331
+ };
332
+ type DateTimeFormats<Schema = DateTimeFormat, Locales = Locale> = LocaleRecord<UnionToTuple<Locales>, Schema>;
333
+ /**
334
+ * number
335
+ */
336
+ type CurrencyDisplay = "symbol" | "code" | "name";
337
+ interface SpecificNumberFormatOptions extends Intl.NumberFormatOptions {
338
+ style?: "decimal" | "percent";
339
+ currency?: string;
340
+ currencyDisplay?: CurrencyDisplay;
341
+ localeMatcher?: LocaleMatcher;
342
+ formatMatcher?: FormatMatcher;
343
+ }
344
+ interface CurrencyNumberFormatOptions extends Intl.NumberFormatOptions {
345
+ style: "currency";
346
+ currency: string;
347
+ currencyDisplay?: CurrencyDisplay;
348
+ localeMatcher?: LocaleMatcher;
349
+ formatMatcher?: FormatMatcher;
350
+ }
351
+ type NumberFormatOptions = Intl.NumberFormatOptions | SpecificNumberFormatOptions | CurrencyNumberFormatOptions;
352
+ type NumberFormat = {
353
+ [key: string]: NumberFormatOptions;
354
+ };
355
+ type NumberFormats<Schema = NumberFormat, Locales = Locale> = LocaleRecord<UnionToTuple<Locales>, Schema>;
356
+ type FormattedNumberPartType = "currency" | "decimal" | "fraction" | "group" | "infinity" | "integer" | "literal" | "minusSign" | "nan" | "plusSign" | "percentSign";
357
+ type FormattedNumberPart = {
358
+ type: FormattedNumberPartType;
359
+ value: string;
360
+ };
361
+ type NumberFormatToPartsResult = {
362
+ [index: number]: FormattedNumberPart;
363
+ };
364
+ //#endregion
365
+ //#region temp/packages/core-base/src/types/utils.d.ts
366
+ type IsNever<T> = [T] extends [never] ? true : false;
367
+ type IsUnion<T, B = T> = T extends B ? [B] extends [T] ? false : true : never;
368
+ type IsTuple<T> = IsNever<T> extends true ? false : T extends readonly any[] ? number extends T["length"] ? false : true : false;
369
+ type IsRecord<T> = IsTuple<T> extends true ? false : [T] extends [Record<string, any>] ? true : false;
370
+ type IsObject<T> = IsTuple<T> extends true ? false : [T] extends [object] ? true : false;
371
+ type UnionToIntersection<U> = (U extends any ? (arg: U) => void : never) extends ((arg: infer I) => void) ? I : never;
372
+ type LastInUnion<U> = UnionToIntersection<U extends unknown ? (x: U) => 0 : never> extends ((x: infer L) => 0) ? L : never;
373
+ type UnionToTuple<U, Last = LastInUnion<U>> = [U] extends [never] ? [] : [...UnionToTuple<Exclude<U, Last>>, Last];
374
+ type LocaleRecord<T extends any[], R> = { [K in T[number]]: R };
375
+ type First<T extends readonly any[]> = T[0];
376
+ declare type JsonPaths<T, Key extends keyof T = keyof T> = Key extends string ? T[Key] extends Record<string, any> ? `${Key}.${JsonPaths<T[Key]>}` : `${Key}` : never;
377
+ declare type TranslationsPaths<T extends object, K extends keyof T = keyof T> = K extends string ? JsonPaths<T[K]> : never;
378
+ type __ResourcePath<T, Key extends keyof T> = Key extends string ? T[Key] extends Record<string, any> ? `${Key}.${__ResourcePath<T[Key], Exclude<keyof T[Key], keyof any[]>> & string}` | `${Key}.${Exclude<keyof T[Key], keyof any[]> & string}` : never : never;
379
+ type _ResourcePath<T> = __ResourcePath<T, keyof T> | keyof T;
380
+ type ResourcePath<T> = _ResourcePath<T> extends string | keyof T ? _ResourcePath<T> : keyof T;
381
+ type ResourceValue<T, P extends ResourcePath<T>> = P extends `${infer Key}.${infer Rest}` ? Key extends keyof T ? Rest extends ResourcePath<T[Key]> ? ResourceValue<T[Key], Rest> : never : never : P extends keyof T ? T[P] : never;
382
+ type PickupLocales<T extends Record<string, any>, K = keyof T> = K extends string ? K : never;
383
+ type PickupKeys<T extends Record<string, any>, K = keyof T> = K extends string ? ResourcePath<T[K]> : never;
384
+ type PickupPaths<T extends object> = ResourcePath<T>;
385
+ type __ResourceFormatPath<T, Key extends keyof T> = Key extends string ? T[Key] extends Record<string, any> ? `${Key}` : never : never;
386
+ type _ResourceFormatPath<T> = __ResourceFormatPath<T, keyof T> | keyof T;
387
+ type ResourceFormatPath<T> = _ResourceFormatPath<T> extends string | keyof T ? _ResourceFormatPath<T> : keyof T;
388
+ type PickupFormatKeys<T extends Record<string, any>, K = keyof T> = K extends string ? ResourceFormatPath<T[K]> : never;
389
+ type PickupFormatPathKeys<T extends object> = ResourceFormatPath<T>;
390
+ type PickupFallbackLocales<T extends any[]> = T[number] | `${T[number]}!`;
391
+ type FallbackLocales<Locales = "en-US"> = Locales | Array<Locales> | { [locale in string]: Array<PickupFallbackLocales<UnionToTuple<Locales>>> } | false;
392
+ type LocaleParamsType<T, R> = T extends IsUnion<T> ? T : T extends string ? T : R;
393
+ type SchemaParams<T, Message = string> = T extends readonly any[] ? {
394
+ message: First<T>;
395
+ datetime: DateTimeFormat;
396
+ number: NumberFormat;
397
+ } : T extends {
398
+ message?: infer M;
399
+ datetime?: infer D;
400
+ number?: infer N;
401
+ } ? {
402
+ message: M extends LocaleMessage<Message> ? M : LocaleMessage<Message>;
403
+ datetime: D extends DateTimeFormat ? D : DateTimeFormat;
404
+ number: N extends NumberFormat ? N : NumberFormat;
405
+ } : {
406
+ message: LocaleMessage<Message>;
407
+ datetime: DateTimeFormat;
408
+ number: NumberFormat;
409
+ };
410
+ type LocaleParams<T, Default = "en-US"> = T extends IsUnion<T> ? {
411
+ messages: T;
412
+ datetimeFormats: T;
413
+ numberFormats: T;
414
+ } : T extends {
415
+ messages?: infer M;
416
+ datetimeFormats?: infer D;
417
+ numberFormats?: infer N;
418
+ } ? {
419
+ messages: LocaleParamsType<M, Default>;
420
+ datetimeFormats: LocaleParamsType<D, Default>;
421
+ numberFormats: LocaleParamsType<N, Default>;
422
+ } : T extends string ? {
423
+ messages: T;
424
+ datetimeFormats: T;
425
+ numberFormats: T;
426
+ } : {
427
+ messages: Default;
428
+ datetimeFormats: Default;
429
+ numberFormats: Default;
430
+ };
431
+ type RemoveIndexSignature<T> = { [K in keyof T as string extends K ? never : number extends K ? never : K]: T[K] };
432
+ declare const emptyObjectSymbol: unique symbol;
433
+ type EmptyObject = {
434
+ [emptyObjectSymbol]?: never;
435
+ };
436
+ type IsEmptyObject<T> = T extends {
437
+ [emptyObjectSymbol]?: never;
438
+ } ? true : false;
439
+ type RemovedIndexResources<T> = RemoveIndexSignature<{ [K in keyof T]: T[K] }>;
440
+ type ExtractToStringKey<T> = Extract<keyof T, "toString">;
441
+ /**
442
+ * weather the type `T` is able to convert to string with `toString` method
443
+ */
444
+ type StringConvertable<T, Extracted = ExtractToStringKey<T>> = IsNever<Extracted> extends true ? T extends boolean ? T : T extends Function ? T : IsObject<T> extends true ? T : unknown : T;
445
+ type IsPart<O> = O extends {
446
+ part: infer P;
447
+ } ? P : false;
448
+ //#endregion
449
+ //#region temp/packages/core-base/src/runtime.d.ts
450
+ /**
451
+ *
452
+ * The interface used for narrowing types using generated types.
453
+ *
454
+ * @remarks
455
+ *
456
+ * The type generated by 3rd party (e.g. nuxt/i18n)
457
+ *
458
+ * @example
459
+ * ```ts
460
+ * // generated-i18n-types.d.ts (`.d.ts` file at your app)
461
+ *
462
+ * declare module '@intlify/core-base' {
463
+ * interface GeneratedTypeConfig {
464
+ * locale: "en" | "ja"
465
+ * }
466
+ * }
467
+ * ```
468
+ */
469
+ interface GeneratedTypeConfig {}
470
+ /**
471
+ * Generated locale which resolves to `never` if left unset
472
+ */
473
+ type GeneratedLocale = GeneratedTypeConfig extends Record<"locale", infer CustomLocale> ? CustomLocale : never;
474
+ /** @VueI18nGeneral */
475
+ type Locale = IsNever<GeneratedLocale> extends true ? string : GeneratedLocale;
476
+ /** @VueI18nGeneral */
477
+ interface LocaleDetector<Args extends any[] = any[]> {
478
+ (...args: Args): Locale | Promise<Locale>;
479
+ resolvedOnce?: boolean;
480
+ }
481
+ /** @VueI18nGeneral */
482
+ type FallbackLocale = Locale | Locale[] | { [locale in string]: Locale[] } | false;
483
+ type CoreMissingType = "translate" | "datetime format" | "number format" | "translate exists";
484
+ type MessageType<T = string> = T extends string ? string : StringConvertable<T>;
485
+ /** @VueI18nGeneral */
486
+ type MessageFunctionReturn<T = string> = T extends string ? MessageType<T> : MessageType<T>[];
487
+ type MessageFunctionCallable = <T = string>(ctx: MessageContext<T>) => MessageFunctionReturn<T>;
488
+ type MessageFunctionInternal<T = string> = {
489
+ (ctx: MessageContext<T>): MessageFunctionReturn<T>;
490
+ key?: string;
491
+ locale?: string;
492
+ source?: string;
493
+ };
494
+ /**
495
+ * The Message Function.
496
+ *
497
+ * @param ctx - A {@link MessageContext}
498
+ *
499
+ * @returns A resolved format message, that is string type basically.
500
+ *
501
+ * @VueI18nGeneral
502
+ */
503
+ type MessageFunction<T = string> = MessageFunctionCallable | MessageFunctionInternal<T>;
504
+ type MessageFunctions<T = string> = Record<string, MessageFunction<T>>;
505
+ type MessageResolveFunction<T = string> = (key: string, useLinked: boolean) => MessageFunction<T>;
506
+ type MessageNormalize<T = string> = (values: MessageType<T>[]) => MessageFunctionReturn<T>;
507
+ type MessageInterpolate<T = string> = (val: unknown) => MessageType<T>;
508
+ interface MessageProcessor<T = string> {
509
+ type?: string;
510
+ interpolate?: MessageInterpolate<T>;
511
+ normalize?: MessageNormalize<T>;
512
+ }
513
+ type PluralizationRule = (choice: number, choicesLength: number, orgRule?: PluralizationRule) => number;
514
+ /** @VueI18nGeneral */
515
+ type PluralizationRules = {
516
+ [locale: string]: PluralizationRule;
517
+ };
518
+ type PluralizationProps = {
519
+ n?: number;
520
+ count?: number;
521
+ };
522
+ type LinkedModify<T = string> = (value: T, type: string) => MessageType<T>;
523
+ /** @VueI18nGeneral */
524
+ type LinkedModifiers<T = string> = {
525
+ [key: string]: LinkedModify<T>;
526
+ };
527
+ /** @VueI18nGeneral */
528
+ type NamedValue<T = {}> = T & Record<string, unknown>;
529
+ interface MessageContextOptions<T = string, N = {}> {
530
+ parent?: MessageContext<T>;
531
+ locale?: string;
532
+ list?: unknown[];
533
+ named?: NamedValue<N>;
534
+ modifiers?: LinkedModifiers<T>;
535
+ pluralIndex?: number;
536
+ pluralRules?: PluralizationRules;
537
+ messages?: MessageFunctions<T> | MessageResolveFunction<T>;
538
+ processor?: MessageProcessor<T>;
539
+ }
540
+ interface LinkedOptions {
541
+ /**
542
+ * The message type of linked message
543
+ */
544
+ type?: string;
545
+ /**
546
+ * The modifier of linked message
547
+ */
548
+ modifier?: string;
549
+ }
550
+ /**
551
+ * The message context.
552
+ *
553
+ * @VueI18nGeneral
554
+ */
555
+ interface MessageContext<T = string> {
556
+ /**
557
+ * Resolve message value from list.
558
+ *
559
+ * @param index - An index of message values.
560
+ *
561
+ * @returns A resolved message value.
562
+ *
563
+ * @example
564
+ * ```js
565
+ * const messages = {
566
+ * en: {
567
+ * greeting: ({ list }) => `hello, ${list(0)}!`
568
+ * }
569
+ * }
570
+ * ```
571
+ */
572
+ list(index: number): unknown;
573
+ /**
574
+ * Resolve message value from named.
575
+ *
576
+ * @param key - A key of message value.
577
+ *
578
+ * @returns A resolved message value.
579
+ *
580
+ * @example
581
+ * ```js
582
+ * const messages = {
583
+ * en: {
584
+ * greeting: ({ named }) => `hello, ${named('name')}!`
585
+ * }
586
+ * }
587
+ * ```
588
+ */
589
+ named(key: string): unknown;
590
+ /**
591
+ * Resolve message with plural index.
592
+ *
593
+ * @remarks
594
+ * That's resolved with plural index with translation function.
595
+ *
596
+ * @param messages - the messages, that is resolved with plural index with translation function.
597
+ *
598
+ * @returns A resolved message.
599
+ *
600
+ * @example
601
+ * ```js
602
+ * const messages = {
603
+ * en: {
604
+ * car: ({ plural }) => plural(['car', 'cars']),
605
+ * apple: ({ plural, named }) =>
606
+ * plural([
607
+ * 'no apples',
608
+ * 'one apple',
609
+ * `${named('count')} apples`
610
+ * ])
611
+ * }
612
+ * }
613
+ * ```
614
+ */
615
+ plural(messages: T[]): T;
616
+ /**
617
+ * Resolve linked message.
618
+ *
619
+ * @param key - A message key
620
+ * @param modifier - A modifier
621
+ *
622
+ * @returns A resolve message.
623
+ */
624
+ linked(key: Path, modifier?: string): MessageType<T>;
625
+ /**
626
+ * Overloaded `linked`
627
+ *
628
+ * @param key - A message key
629
+ * @param modifier - A modifier
630
+ * @param type - A message type
631
+ *
632
+ * @returns A resolve message.
633
+ */
634
+ linked(key: Path, modifier?: string, type?: string): MessageType<T>;
635
+ /**
636
+ * Overloaded `linked`
637
+ *
638
+ * @param key - A message key
639
+ * @param options - An {@link LinkedOptions | linked options}
640
+ *
641
+ * @returns A resolve message.
642
+ */
643
+ linked(key: Path, options?: LinkedOptions): MessageType<T>;
644
+ /**
645
+ * The message type to be handled by the message function.
646
+ *
647
+ * @remarks
648
+ * Usually `text`, you need to return **string** in message function.
649
+ */
650
+ type: string;
651
+ /**
652
+ * The message values.
653
+ *
654
+ * @remarks
655
+ * The message values are the argument values passed from translation function, such as `$t`, `t`, or `translate`.
656
+ *
657
+ * @example
658
+ * vue-i18n `$t` (or `t`) case:
659
+ * ```html
660
+ * <p>{{ $t('greeting', { name: 'DIO' }) }}</p> <!-- `{ name: 'DIO' }` is message values -->
661
+ * ```
662
+ *
663
+ * `@intlify/core` (`@intlify/core-base`) `translate` case:
664
+ * ```js
665
+ * translate(context, 'foo.bar', ['dio']) // `['dio']` is message values
666
+ * ```
667
+ */
668
+ values: Record<string, unknown>;
669
+ }
670
+ declare const DEFAULT_MESSAGE_DATA_TYPE = "text";
671
+ declare function createMessageContext<T = string, N = {}>(options?: MessageContextOptions<T, N>): MessageContext<T>;
672
+ //#endregion
673
+ //#region temp/packages/core-base/src/ast.d.ts
674
+ declare function isMessageAST(val: unknown): val is ResourceNode$1;
675
+ declare const AST_NODE_PROPS_KEYS: string[];
676
+ //#endregion
677
+ //#region temp/packages/core-base/src/compilation.d.ts
678
+ declare function clearCompileCache(): void;
679
+ declare function compile<Message = string, MessageSource = string | ResourceNode$1>(message: MessageSource, context: MessageCompilerContext): MessageFunction<Message>;
680
+ //#endregion
681
+ //#region temp/packages/core-base/src/datetime.d.ts
682
+ /**
683
+ * # datetime
684
+ *
685
+ * ## usages:
686
+ * // for example `context.datetimeFormats` below
687
+ * 'en-US': {
688
+ * short: {
689
+ * year: 'numeric', month: '2-digit', day: '2-digit',
690
+ * hour: '2-digit', minute: '2-digit'
691
+ * }
692
+ * },
693
+ * 'ja-JP': { ... }
694
+ *
695
+ * // datetimeable value only
696
+ * datetime(context, value)
697
+ *
698
+ * // key argument
699
+ * datetime(context, value, 'short')
700
+ *
701
+ * // key & locale argument
702
+ * datetime(context, value, 'short', 'ja-JP')
703
+ *
704
+ * // object sytle argument
705
+ * datetime(context, value, { key: 'short', locale: 'ja-JP' })
706
+ *
707
+ * // suppress localize miss warning option, override context.missingWarn
708
+ * datetime(context, value, { key: 'short', locale: 'ja-JP', missingWarn: false })
709
+ *
710
+ * // suppress localize fallback warning option, override context.fallbackWarn
711
+ * datetime(context, value, { key: 'short', locale: 'ja-JP', fallbackWarn: false })
712
+ *
713
+ * // if you specify `part` options, you can get an array of objects containing the formatted datetime in parts
714
+ * datetime(context, value, { key: 'short', part: true })
715
+ *
716
+ * // orverride context.datetimeFormats[locale] options with functino options
717
+ * datetime(cnotext, value, 'short', { year: '2-digit' })
718
+ * datetime(cnotext, value, 'short', 'ja-JP', { year: '2-digit' })
719
+ * datetime(context, value, { key: 'short', part: true, year: '2-digit' })
720
+ */
721
+ /**
722
+ * DateTime options
723
+ *
724
+ * @remarks
725
+ * Options for Datetime formatting API
726
+ *
727
+ * @VueI18nGeneral
728
+ */
729
+ interface DateTimeOptions<Key = string, Locales = Locale> extends Intl.DateTimeFormatOptions, LocaleOptions<Locales> {
730
+ /**
731
+ * @remarks
732
+ * The target format key
733
+ */
734
+ key?: Key;
735
+ /**
736
+ * @remarks
737
+ * Whether suppress warnings outputted when localization fails
738
+ */
739
+ missingWarn?: boolean;
740
+ /**
741
+ * @remarks
742
+ * Whether do resolve on format keys when your language lacks a formatting for a key
743
+ */
744
+ fallbackWarn?: boolean;
745
+ /**
746
+ * @remarks
747
+ * Whether to use [Intel.DateTimeFormat#formatToParts](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/formatToParts)
748
+ */
749
+ part?: boolean;
750
+ }
751
+ /**
752
+ * `datetime` function overloads
753
+ */
754
+ declare function datetime<Context extends CoreContext<Message, {}, {}, {}>, Message = string>(context: Context, value: number | string | Date): string | number | Intl.DateTimeFormatPart[];
755
+ declare function datetime<Context extends CoreContext<Message, {}, {}, {}>, Value extends number | string | Date = number, Key extends string = string, ResourceKeys extends PickupFormatKeys<Context["datetimeFormats"]> = PickupFormatKeys<Context["datetimeFormats"]>, Message = string>(context: Context, value: Value, keyOrOptions: Key | ResourceKeys | DateTimeOptions<Key | ResourceKeys, Context["locale"]>): string | number | Intl.DateTimeFormatPart[];
756
+ declare function datetime<Context extends CoreContext<Message, {}, {}, {}>, Value extends number | string | Date = number, Key extends string = string, ResourceKeys extends PickupFormatKeys<Context["datetimeFormats"]> = PickupFormatKeys<Context["datetimeFormats"]>, Message = string>(context: Context, value: Value, keyOrOptions: Key | ResourceKeys | DateTimeOptions<Key | ResourceKeys, Context["locale"]>, locale: Context["locale"]): string | number | Intl.DateTimeFormatPart[];
757
+ declare function datetime<Context extends CoreContext<Message, {}, {}, {}>, Value extends number | string | Date = number, Key extends string = string, ResourceKeys extends PickupFormatKeys<Context["datetimeFormats"]> = PickupFormatKeys<Context["datetimeFormats"]>, Message = string>(context: Context, value: Value, keyOrOptions: Key | ResourceKeys | DateTimeOptions<Key | ResourceKeys, Context["locale"]>, override: Intl.DateTimeFormatOptions): string | number | Intl.DateTimeFormatPart[];
758
+ declare function datetime<Context extends CoreContext<Message, {}, {}, {}>, Value extends number | string | Date = number, Key extends string = string, ResourceKeys extends PickupFormatKeys<Context["datetimeFormats"]> = PickupFormatKeys<Context["datetimeFormats"]>, Message = string>(context: Context, value: Value, keyOrOptions: Key | ResourceKeys | DateTimeOptions<Key | ResourceKeys, Context["locale"]>, locale: Context["locale"], override: Intl.DateTimeFormatOptions): string | number | Intl.DateTimeFormatPart[];
759
+ //#endregion
760
+ //#region temp/packages/core-base/src/errors.d.ts
761
+ interface CoreError extends BaseError {}
762
+ declare const CoreErrorCodes: {
763
+ readonly INVALID_ARGUMENT: number;
764
+ readonly INVALID_DATE_ARGUMENT: 18;
765
+ readonly INVALID_ISO_DATE_ARGUMENT: 19;
766
+ readonly NOT_SUPPORT_NON_STRING_MESSAGE: 20;
767
+ readonly NOT_SUPPORT_LOCALE_PROMISE_VALUE: 21;
768
+ readonly NOT_SUPPORT_LOCALE_ASYNC_FUNCTION: 22;
769
+ readonly NOT_SUPPORT_LOCALE_TYPE: 23;
770
+ };
771
+ declare const CORE_ERROR_CODES_EXTEND_POINT = 24;
772
+ type CoreErrorCodes = (typeof CoreErrorCodes)[keyof typeof CoreErrorCodes];
773
+ declare function createCoreError(code: CoreErrorCodes): CoreError;
774
+ //#endregion
775
+ //#region temp/packages/core-base/src/number.d.ts
776
+ /**
777
+ * # number
778
+ *
779
+ * ## usages
780
+ * // for example `context.numberFormats` below
781
+ * 'en-US': {
782
+ * 'currency': {
783
+ * style: 'currency', currency: 'USD', currencyDisplay: 'symbol'
784
+ * }
785
+ * },
786
+ * 'ja-JP: { ... }
787
+ *
788
+ * // value only
789
+ * number(context, value)
790
+ *
791
+ * // key argument
792
+ * number(context, value, 'currency')
793
+ *
794
+ * // key & locale argument
795
+ * number(context, value, 'currency', 'ja-JP')
796
+ *
797
+ * // object sytle argument
798
+ * number(context, value, { key: 'currency', locale: 'ja-JP' })
799
+ *
800
+ * // suppress localize miss warning option, override context.missingWarn
801
+ * number(context, value, { key: 'currency', locale: 'ja-JP', missingWarn: false })
802
+ *
803
+ * // suppress localize fallback warning option, override context.fallbackWarn
804
+ * number(context, value, { key: 'currency', locale: 'ja-JP', fallbackWarn: false })
805
+ *
806
+ * // if you specify `part` options, you can get an array of objects containing the formatted number in parts
807
+ * number(context, value, { key: 'currenty', part: true })
808
+ *
809
+ * // orverride context.numberFormats[locale] options with functino options
810
+ * number(cnotext, value, 'currency', { year: '2-digit' })
811
+ * number(cnotext, value, 'currency', 'ja-JP', { year: '2-digit' })
812
+ * number(context, value, { key: 'currenty', locale: 'ja-JP', part: true, year: '2-digit'})
813
+ */
814
+ /**
815
+ * Number Options
816
+ *
817
+ * @remarks
818
+ * Options for Number formatting API
819
+ *
820
+ * @VueI18nGeneral
821
+ */
822
+ interface NumberOptions<Key = string, Locales = Locale> extends Intl.NumberFormatOptions, LocaleOptions<Locales> {
823
+ /**
824
+ * @remarks
825
+ * The target format key
826
+ */
827
+ key?: Key;
828
+ /**
829
+ * @remarks
830
+ * Whether suppress warnings outputted when localization fails
831
+ */
832
+ missingWarn?: boolean;
833
+ /**
834
+ * @remarks
835
+ * Whether do resolve on format keys when your language lacks a formatting for a key
836
+ */
837
+ fallbackWarn?: boolean;
838
+ /**
839
+ * @remarks
840
+ * Whether to use [Intel.NumberFormat#formatToParts](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/formatToParts)
841
+ */
842
+ part?: boolean;
843
+ }
844
+ /**
845
+ * `number` function overloads
846
+ */
847
+ declare function number<Context extends CoreContext<Message, {}, {}, {}>, Message = string>(context: Context, value: number): string | number | Intl.NumberFormatPart[];
848
+ declare function number<Context extends CoreContext<Message, {}, {}, {}>, Value extends number = number, Key extends string = string, ResourceKeys extends PickupFormatKeys<Context["numberFormats"]> = PickupFormatKeys<Context["numberFormats"]>, Message = string>(context: Context, value: Value, keyOrOptions: Key | ResourceKeys | NumberOptions<Key | ResourceKeys, Context["locale"]>): string | number | Intl.NumberFormatPart[];
849
+ declare function number<Context extends CoreContext<Message, {}, {}, {}>, Value extends number = number, Key extends string = string, ResourceKeys extends PickupFormatKeys<Context["numberFormats"]> = PickupFormatKeys<Context["numberFormats"]>, Message = string>(context: Context, value: Value, keyOrOptions: Key | ResourceKeys | NumberOptions<Key | ResourceKeys, Context["locale"]>, locale: Context["locale"]): string | number | Intl.NumberFormatPart[];
850
+ declare function number<Context extends CoreContext<Message, {}, {}, {}>, Value extends number = number, Key extends string = string, ResourceKeys extends PickupFormatKeys<Context["numberFormats"]> = PickupFormatKeys<Context["numberFormats"]>, Message = string>(context: Context, value: Value, keyOrOptions: Key | ResourceKeys | NumberOptions<Key | ResourceKeys, Context["locale"]>, override: Intl.NumberFormatOptions): string | number | Intl.NumberFormatPart[];
851
+ declare function number<Context extends CoreContext<Message, {}, {}, {}>, Value extends number = number, Key extends string = string, ResourceKeys extends PickupFormatKeys<Context["numberFormats"]> = PickupFormatKeys<Context["numberFormats"]>, Message = string>(context: Context, value: Value, keyOrOptions: Key | ResourceKeys | NumberOptions<Key | ResourceKeys, Context["locale"]>, locale: Context["locale"], override: Intl.NumberFormatOptions): string | number | Intl.NumberFormatPart[];
852
+ //#endregion
853
+ //#region temp/packages/core-base/src/translate.d.ts
854
+ declare const isMessageFunction: <T>(val: unknown) => val is MessageFunction<T>;
855
+ /**
856
+ * # translate
857
+ *
858
+ * ## usages:
859
+ * // for example, locale messages key
860
+ * { 'foo.bar': 'hi {0} !' or 'hi {name} !' }
861
+ *
862
+ * // no argument, context & path only
863
+ * translate(context, 'foo.bar')
864
+ *
865
+ * // list argument
866
+ * translate(context, 'foo.bar', ['kazupon'])
867
+ *
868
+ * // named argument
869
+ * translate(context, 'foo.bar', { name: 'kazupon' })
870
+ *
871
+ * // plural choice number
872
+ * translate(context, 'foo.bar', 2)
873
+ *
874
+ * // plural choice number with name argument
875
+ * translate(context, 'foo.bar', { name: 'kazupon' }, 2)
876
+ *
877
+ * // default message argument
878
+ * translate(context, 'foo.bar', 'this is default message')
879
+ *
880
+ * // default message with named argument
881
+ * translate(context, 'foo.bar', { name: 'kazupon' }, 'Hello {name} !')
882
+ *
883
+ * // use key as default message
884
+ * translate(context, 'hi {0} !', ['kazupon'], { default: true })
885
+ *
886
+ * // locale option, override context.locale
887
+ * translate(context, 'foo.bar', { name: 'kazupon' }, { locale: 'ja' })
888
+ *
889
+ * // suppress localize miss warning option, override context.missingWarn
890
+ * translate(context, 'foo.bar', { name: 'kazupon' }, { missingWarn: false })
891
+ *
892
+ * // suppress localize fallback warning option, override context.fallbackWarn
893
+ * translate(context, 'foo.bar', { name: 'kazupon' }, { fallbackWarn: false })
894
+ *
895
+ * // escape parameter option, override context.escapeParameter
896
+ * translate(context, 'foo.bar', { name: 'kazupon' }, { escapeParameter: true })
897
+ */
898
+ /**
899
+ * Translate Options
900
+ *
901
+ * @remarks
902
+ * Options for Translation API
903
+ *
904
+ * @VueI18nGeneral
905
+ */
906
+ interface TranslateOptions<Locales = Locale> extends LocaleOptions<Locales> {
907
+ /**
908
+ * @remarks
909
+ * List interpolation
910
+ */
911
+ list?: unknown[];
912
+ /**
913
+ * @remarks
914
+ * Named interpolation
915
+ */
916
+ named?: NamedValue;
917
+ /**
918
+ * @remarks
919
+ * Plulralzation choice number
920
+ */
921
+ plural?: number;
922
+ /**
923
+ * @remarks
924
+ * Default message when is occurred translation missing
925
+ */
926
+ default?: string | boolean;
927
+ /**
928
+ * @remarks
929
+ * Whether suppress warnings outputted when localization fails
930
+ */
931
+ missingWarn?: boolean;
932
+ /**
933
+ * @remarks
934
+ * Whether do template interpolation on translation keys when your language lacks a translation for a key
935
+ */
936
+ fallbackWarn?: boolean;
937
+ /**
938
+ * @remarks
939
+ * Whether to escape parameters for list or named interpolation values.
940
+ * When enabled, this option:
941
+ * - Escapes HTML special characters (`<`, `>`, `"`, `'`, `&`, `/`, `=`) in interpolation parameters
942
+ * - Sanitizes the final translated HTML to prevent XSS attacks by:
943
+ * - Escaping dangerous characters in HTML attribute values
944
+ * - Neutralizing event handler attributes (onclick, onerror, etc.)
945
+ * - Disabling javascript: URLs in href, src, action, formaction, and style attributes
946
+ *
947
+ * @defaultValue false
948
+ * @see [HTML Message - Using the escapeParameter option](https://vue-i18n.intlify.dev/guide/essentials/syntax.html#using-the-escapeparameter-option)
949
+ */
950
+ escapeParameter?: boolean;
951
+ /**
952
+ * @remarks
953
+ * Whether the message has been resolved
954
+ */
955
+ resolvedMessage?: boolean;
956
+ }
957
+ /**
958
+ * TODO:
959
+ * this type should be used (refactored) at `translate` type definition
960
+ * (Unfortunately, using this type will result in key completion failure due to type mismatch...)
961
+ */
962
+ /**
963
+ * `translate` function overloads
964
+ */
965
+ declare function translate<Context extends CoreContext<Message>, Key extends string = string, DefinedLocaleMessage extends RemovedIndexResources<DefineCoreLocaleMessage> = RemovedIndexResources<DefineCoreLocaleMessage>, CoreMessages = (IsEmptyObject<DefinedLocaleMessage> extends false ? PickupPaths<{ [K in keyof DefinedLocaleMessage]: DefinedLocaleMessage[K] }> : never), ContextMessages = (IsEmptyObject<Context["messages"]> extends false ? PickupKeys<Context["messages"]> : never), ResourceKeys extends CoreMessages | ContextMessages = (IsNever<CoreMessages> extends false ? IsNever<ContextMessages> extends false ? CoreMessages | ContextMessages : CoreMessages : IsNever<ContextMessages> extends false ? ContextMessages : never), Message = string>(context: Context, key: Key | ResourceKeys | number | MessageFunction<Message>, plural: number): MessageFunctionReturn<Message> | number;
966
+ declare function translate<Context extends CoreContext<Message, {}, {}, {}>, Key extends string = string, DefinedLocaleMessage extends RemovedIndexResources<DefineCoreLocaleMessage> = RemovedIndexResources<DefineCoreLocaleMessage>, CoreMessages = (IsEmptyObject<DefinedLocaleMessage> extends false ? PickupPaths<{ [K in keyof DefinedLocaleMessage]: DefinedLocaleMessage[K] }> : never), ContextMessages = (IsEmptyObject<Context["messages"]> extends false ? PickupKeys<Context["messages"]> : never), ResourceKeys extends CoreMessages | ContextMessages = (IsNever<CoreMessages> extends false ? IsNever<ContextMessages> extends false ? CoreMessages | ContextMessages : CoreMessages : IsNever<ContextMessages> extends false ? ContextMessages : never), Message = string>(context: Context, key: Key | ResourceKeys | number | MessageFunction<Message>): MessageFunctionReturn<Message> | number;
967
+ declare function translate<Context extends CoreContext<Message, {}, {}, {}>, Key extends string = string, DefinedLocaleMessage extends RemovedIndexResources<DefineCoreLocaleMessage> = RemovedIndexResources<DefineCoreLocaleMessage>, CoreMessages = (IsEmptyObject<DefinedLocaleMessage> extends false ? PickupPaths<{ [K in keyof DefinedLocaleMessage]: DefinedLocaleMessage[K] }> : never), ContextMessages = (IsEmptyObject<Context["messages"]> extends false ? PickupKeys<Context["messages"]> : never), ResourceKeys extends CoreMessages | ContextMessages = (IsNever<CoreMessages> extends false ? IsNever<ContextMessages> extends false ? CoreMessages | ContextMessages : CoreMessages : IsNever<ContextMessages> extends false ? ContextMessages : never), Message = string>(context: Context, key: Key | ResourceKeys | number | MessageFunction<Message>, plural: number): MessageFunctionReturn<Message> | number;
968
+ declare function translate<Context extends CoreContext<Message, {}, {}, {}>, Key extends string = string, DefinedLocaleMessage extends RemovedIndexResources<DefineCoreLocaleMessage> = RemovedIndexResources<DefineCoreLocaleMessage>, CoreMessages = (IsEmptyObject<DefinedLocaleMessage> extends false ? PickupPaths<{ [K in keyof DefinedLocaleMessage]: DefinedLocaleMessage[K] }> : never), ContextMessages = (IsEmptyObject<Context["messages"]> extends false ? PickupKeys<Context["messages"]> : never), ResourceKeys extends CoreMessages | ContextMessages = (IsNever<CoreMessages> extends false ? IsNever<ContextMessages> extends false ? CoreMessages | ContextMessages : CoreMessages : IsNever<ContextMessages> extends false ? ContextMessages : never), Message = string>(context: Context, key: Key | ResourceKeys | number | MessageFunction<Message>, plural: number, options: TranslateOptions<Context["locale"]>): MessageFunctionReturn<Message> | number;
969
+ declare function translate<Context extends CoreContext<Message, {}, {}, {}>, Key extends string = string, DefinedLocaleMessage extends RemovedIndexResources<DefineCoreLocaleMessage> = RemovedIndexResources<DefineCoreLocaleMessage>, CoreMessages = (IsEmptyObject<DefinedLocaleMessage> extends false ? PickupPaths<{ [K in keyof DefinedLocaleMessage]: DefinedLocaleMessage[K] }> : never), ContextMessages = (IsEmptyObject<Context["messages"]> extends false ? PickupKeys<Context["messages"]> : never), ResourceKeys extends CoreMessages | ContextMessages = (IsNever<CoreMessages> extends false ? IsNever<ContextMessages> extends false ? CoreMessages | ContextMessages : CoreMessages : IsNever<ContextMessages> extends false ? ContextMessages : never), Message = string>(context: Context, key: Key | ResourceKeys | number | MessageFunction<Message>, defaultMsg: string): MessageFunctionReturn<Message> | number;
970
+ declare function translate<Context extends CoreContext<Message, {}, {}, {}>, Key extends string = string, DefinedLocaleMessage extends RemovedIndexResources<DefineCoreLocaleMessage> = RemovedIndexResources<DefineCoreLocaleMessage>, CoreMessages = (IsEmptyObject<DefinedLocaleMessage> extends false ? PickupPaths<{ [K in keyof DefinedLocaleMessage]: DefinedLocaleMessage[K] }> : never), ContextMessages = (IsEmptyObject<Context["messages"]> extends false ? PickupKeys<Context["messages"]> : never), ResourceKeys extends CoreMessages | ContextMessages = (IsNever<CoreMessages> extends false ? IsNever<ContextMessages> extends false ? CoreMessages | ContextMessages : CoreMessages : IsNever<ContextMessages> extends false ? ContextMessages : never), Message = string>(context: Context, key: Key | ResourceKeys | number | MessageFunction<Message>, defaultMsg: string, options: TranslateOptions<Context["locale"]>): MessageFunctionReturn<Message> | number;
971
+ declare function translate<Context extends CoreContext<Message, {}, {}, {}>, Key extends string = string, DefinedLocaleMessage extends RemovedIndexResources<DefineCoreLocaleMessage> = RemovedIndexResources<DefineCoreLocaleMessage>, CoreMessages = (IsEmptyObject<DefinedLocaleMessage> extends false ? PickupPaths<{ [K in keyof DefinedLocaleMessage]: DefinedLocaleMessage[K] }> : never), ContextMessages = (IsEmptyObject<Context["messages"]> extends false ? PickupKeys<Context["messages"]> : never), ResourceKeys extends CoreMessages | ContextMessages = (IsNever<CoreMessages> extends false ? IsNever<ContextMessages> extends false ? CoreMessages | ContextMessages : CoreMessages : IsNever<ContextMessages> extends false ? ContextMessages : never), Message = string>(context: Context, key: Key | ResourceKeys | number | MessageFunction<Message>, list: unknown[]): MessageFunctionReturn<Message> | number;
972
+ declare function translate<Context extends CoreContext<Message, {}, {}, {}>, Key extends string = string, DefinedLocaleMessage extends RemovedIndexResources<DefineCoreLocaleMessage> = RemovedIndexResources<DefineCoreLocaleMessage>, CoreMessages = (IsEmptyObject<DefinedLocaleMessage> extends false ? PickupPaths<{ [K in keyof DefinedLocaleMessage]: DefinedLocaleMessage[K] }> : never), ContextMessages = (IsEmptyObject<Context["messages"]> extends false ? PickupKeys<Context["messages"]> : never), ResourceKeys extends CoreMessages | ContextMessages = (IsNever<CoreMessages> extends false ? IsNever<ContextMessages> extends false ? CoreMessages | ContextMessages : CoreMessages : IsNever<ContextMessages> extends false ? ContextMessages : never), Message = string>(context: Context, key: Key | ResourceKeys | number | MessageFunction<Message>, list: unknown[], plural: number): MessageFunctionReturn<Message> | number;
973
+ declare function translate<Context extends CoreContext<Message, {}, {}, {}>, Key extends string = string, DefinedLocaleMessage extends RemovedIndexResources<DefineCoreLocaleMessage> = RemovedIndexResources<DefineCoreLocaleMessage>, CoreMessages = (IsEmptyObject<DefinedLocaleMessage> extends false ? PickupPaths<{ [K in keyof DefinedLocaleMessage]: DefinedLocaleMessage[K] }> : never), ContextMessages = (IsEmptyObject<Context["messages"]> extends false ? PickupKeys<Context["messages"]> : never), ResourceKeys extends CoreMessages | ContextMessages = (IsNever<CoreMessages> extends false ? IsNever<ContextMessages> extends false ? CoreMessages | ContextMessages : CoreMessages : IsNever<ContextMessages> extends false ? ContextMessages : never), Message = string>(context: Context, key: Key | ResourceKeys | number | MessageFunction<Message>, list: unknown[], defaultMsg: string): MessageFunctionReturn<Message> | number;
974
+ declare function translate<Context extends CoreContext<Message, {}, {}, {}>, Key extends string = string, DefinedLocaleMessage extends RemovedIndexResources<DefineCoreLocaleMessage> = RemovedIndexResources<DefineCoreLocaleMessage>, CoreMessages = (IsEmptyObject<DefinedLocaleMessage> extends false ? PickupPaths<{ [K in keyof DefinedLocaleMessage]: DefinedLocaleMessage[K] }> : never), ContextMessages = (IsEmptyObject<Context["messages"]> extends false ? PickupKeys<Context["messages"]> : never), ResourceKeys extends CoreMessages | ContextMessages = (IsNever<CoreMessages> extends false ? IsNever<ContextMessages> extends false ? CoreMessages | ContextMessages : CoreMessages : IsNever<ContextMessages> extends false ? ContextMessages : never), Message = string>(context: Context, key: Key | ResourceKeys | number | MessageFunction<Message>, list: unknown[], options: TranslateOptions<Context["locale"]>): MessageFunctionReturn<Message> | number;
975
+ declare function translate<Context extends CoreContext<Message, {}, {}, {}>, Key extends string = string, DefinedLocaleMessage extends RemovedIndexResources<DefineCoreLocaleMessage> = RemovedIndexResources<DefineCoreLocaleMessage>, CoreMessages = (IsEmptyObject<DefinedLocaleMessage> extends false ? PickupPaths<{ [K in keyof DefinedLocaleMessage]: DefinedLocaleMessage[K] }> : never), ContextMessages = (IsEmptyObject<Context["messages"]> extends false ? PickupKeys<Context["messages"]> : never), ResourceKeys extends CoreMessages | ContextMessages = (IsNever<CoreMessages> extends false ? IsNever<ContextMessages> extends false ? CoreMessages | ContextMessages : CoreMessages : IsNever<ContextMessages> extends false ? ContextMessages : never), Message = string>(context: Context, key: Key | ResourceKeys | number | MessageFunction<Message>, named: NamedValue): MessageFunctionReturn<Message> | number;
976
+ declare function translate<Context extends CoreContext<Message, {}, {}, {}>, Key extends string = string, DefinedLocaleMessage extends RemovedIndexResources<DefineCoreLocaleMessage> = RemovedIndexResources<DefineCoreLocaleMessage>, CoreMessages = (IsEmptyObject<DefinedLocaleMessage> extends false ? PickupPaths<{ [K in keyof DefinedLocaleMessage]: DefinedLocaleMessage[K] }> : never), ContextMessages = (IsEmptyObject<Context["messages"]> extends false ? PickupKeys<Context["messages"]> : never), ResourceKeys extends CoreMessages | ContextMessages = (IsNever<CoreMessages> extends false ? IsNever<ContextMessages> extends false ? CoreMessages | ContextMessages : CoreMessages : IsNever<ContextMessages> extends false ? ContextMessages : never), Message = string>(context: Context, key: Key | ResourceKeys | number | MessageFunction<Message>, named: NamedValue, plural: number): MessageFunctionReturn<Message> | number;
977
+ declare function translate<Context extends CoreContext<Message, {}, {}, {}>, Key extends string = string, DefinedLocaleMessage extends RemovedIndexResources<DefineCoreLocaleMessage> = RemovedIndexResources<DefineCoreLocaleMessage>, CoreMessages = (IsEmptyObject<DefinedLocaleMessage> extends false ? PickupPaths<{ [K in keyof DefinedLocaleMessage]: DefinedLocaleMessage[K] }> : never), ContextMessages = (IsEmptyObject<Context["messages"]> extends false ? PickupKeys<Context["messages"]> : never), ResourceKeys extends CoreMessages | ContextMessages = (IsNever<CoreMessages> extends false ? IsNever<ContextMessages> extends false ? CoreMessages | ContextMessages : CoreMessages : IsNever<ContextMessages> extends false ? ContextMessages : never), Message = string>(context: Context, key: Key | ResourceKeys | number | MessageFunction<Message>, named: NamedValue, defaultMsg: string): MessageFunctionReturn<Message> | number;
978
+ declare function translate<Context extends CoreContext<Message, {}, {}, {}>, Key extends string = string, DefinedLocaleMessage extends RemovedIndexResources<DefineCoreLocaleMessage> = RemovedIndexResources<DefineCoreLocaleMessage>, CoreMessages = (IsEmptyObject<DefinedLocaleMessage> extends false ? PickupPaths<{ [K in keyof DefinedLocaleMessage]: DefinedLocaleMessage[K] }> : never), ContextMessages = (IsEmptyObject<Context["messages"]> extends false ? PickupKeys<Context["messages"]> : never), ResourceKeys extends CoreMessages | ContextMessages = (IsNever<CoreMessages> extends false ? IsNever<ContextMessages> extends false ? CoreMessages | ContextMessages : CoreMessages : IsNever<ContextMessages> extends false ? ContextMessages : never), Message = string>(context: Context, key: Key | ResourceKeys | number | MessageFunction<Message>, named: NamedValue, options: TranslateOptions<Context["locale"]>): MessageFunctionReturn<Message> | number;
979
+ //#endregion
980
+ //#region temp/packages/core-base/src/warnings.d.ts
981
+ declare const CoreWarnCodes: {
982
+ readonly NOT_FOUND_KEY: 1;
983
+ readonly FALLBACK_TO_TRANSLATE: 2;
984
+ readonly CANNOT_FORMAT_NUMBER: 3;
985
+ readonly FALLBACK_TO_NUMBER_FORMAT: 4;
986
+ readonly CANNOT_FORMAT_DATE: 5;
987
+ readonly FALLBACK_TO_DATE_FORMAT: 6;
988
+ readonly EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER: 7;
989
+ readonly INVALID_NUMBER_ARGUMENT: 8;
990
+ readonly INVALID_DATE_ARGUMENT: 9;
991
+ };
992
+ declare const CORE_WARN_CODES_EXTEND_POINT: number;
993
+ type CoreWarnCodes = (typeof CoreWarnCodes)[keyof typeof CoreWarnCodes];
994
+ declare function getWarnMessage(code: CoreWarnCodes, ...args: unknown[]): string;
995
+ //#endregion
996
+ export { AST_NODE_PROPS_KEYS, CORE_ERROR_CODES_EXTEND_POINT, CORE_WARN_CODES_EXTEND_POINT, type CompileError, type CompileErrorCodes, CoreCommonContext, CoreContext, CoreDateTimeContext, type CoreError, type CoreErrorCodes, CoreInternalContext, CoreInternalOptions, CoreMissingHandler, CoreMissingType, CoreNumberContext, CoreOptions, CoreTranslationContext, CoreWarnCodes, CurrencyDisplay, CurrencyNumberFormatOptions, DEFAULT_LOCALE, DEFAULT_MESSAGE_DATA_TYPE, DateTimeDigital, DateTimeFormat, DateTimeFormatOptions, DateTimeFormats, DateTimeHumanReadable, DateTimeOptions, DefaultCoreLocaleMessageSchema, DefineCoreLocaleMessage, EmptyObject, ExtractToStringKey, FallbackLocale, FallbackLocales, First, FormatMatcher, FormattedNumberPart, FormattedNumberPartType, GeneratedLocale, GeneratedTypeConfig, IsEmptyObject, IsNever, IsObject, IsPart, IsRecord, IsTuple, IsUnion, JsonPaths, LastInUnion, LinkedModifiers, LinkedModify, LinkedOptions, Locale, LocaleDetector, LocaleFallbacker, LocaleMatcher, LocaleMessage, LocaleMessageDictionary, LocaleMessageType, LocaleMessageValue, LocaleMessages, LocaleOptions, LocaleParams, LocaleRecord, MISSING_RESOLVE_VALUE, MessageCompiler, MessageCompilerContext, MessageContext, MessageContextOptions, MessageFunction, MessageFunctionCallable, MessageFunctionInternal, MessageFunctionReturn, MessageFunctions, MessageInterpolate, MessageNormalize, MessageProcessor, MessageResolveFunction, MessageResolver, MessageType, MetaInfo, NOT_RESOLVED, NamedValue, NumberFormat, NumberFormatOptions, NumberFormatToPartsResult, NumberFormats, NumberOptions, Path, PathValue, PickupFallbackLocales, PickupFormatKeys, PickupFormatPathKeys, PickupKeys, PickupLocales, PickupPaths, PluralizationProps, PluralizationRule, PluralizationRules, PostTranslationHandler, RemoveIndexSignature, RemovedIndexResources, ResourceFormatPath, type ResourceNode, ResourcePath, ResourceValue, SchemaParams, SpecificDateTimeFormatOptions, SpecificNumberFormatOptions, StringConvertable, TranslateOptions, TranslationsPaths, UnionToIntersection, UnionToTuple, _ResourcePath, __ResourcePath, clearCompileCache, compile, createCompileError, createCoreContext, createCoreError, createMessageContext, datetime, fallbackWithLocaleChain, fallbackWithSimple, getFallbackContext, getLocaleMessage, getWarnMessage, isMessageAST, isMessageFunction, number, parse, registerLocaleFallbacker, registerMessageCompiler, registerMessageResolver, resolveValue, resolveWithKeyValue, setFallbackContext, setLocaleMessage, translate };