@gtkx/i18n 0.0.1

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"","sourcesContent":["import type {\n Callback,\n FlatNamespace,\n i18n as I18n,\n InitOptions,\n InterpolationMap,\n KeyPrefix,\n Namespace,\n TFunctionDetailedResult,\n TOptions,\n TFunction as UpstreamTFunction,\n} from \"i18next\";\nimport type * as React from \"react\";\nimport type {\n FallbackNs,\n IcuTrans as upstreamIcuTrans,\n IcuTransProps as UpstreamIcuTransProps,\n IcuTransWithoutContext as upstreamIcuTransWithoutContext,\n IcuTransWithoutContextProps as UpstreamIcuTransWithoutContextProps,\n Trans as upstreamTrans,\n Translation as upstreamTranslation,\n TranslationProps as UpstreamTranslationProps,\n TransProps as UpstreamTransProps,\n TransWithoutContext as upstreamTransWithoutContext,\n useTranslation as upstreamUseTranslation,\n UseTranslationResponse as UpstreamUseTranslationResponse,\n WithTranslation as UpstreamWithTranslation,\n withTranslation as upstreamWithTranslation,\n UseTranslationOptions,\n WithTranslationProps,\n} from \"react-i18next\";\nimport type { TranslationRegistry } from \"./index.js\";\n\n/** A translatable key emitted by GTKX code generation. */\ntype RegistryKey = Extract<keyof TranslationRegistry, string>;\n/** The generated metadata associated with a translation key. */\ntype RegistryEntry<Key extends RegistryKey> = TranslationRegistry[Key];\n/** Whether code generation found no translation keys. */\ntype IsRegistryEmpty = [RegistryKey] extends [never] ? true : false;\n\n/** The generated translation entries within a key prefix. */\ntype ScopedRegistry<KPrefix extends string | undefined> = KPrefix extends \"\" | undefined\n ? TranslationRegistry\n : KPrefix extends string\n ? {\n [Key in RegistryKey as Key extends `${KPrefix}.${infer LocalKey}` ? LocalKey : never]:\n RegistryEntry<Key>;\n }\n : TranslationRegistry;\n\n/** A translation key accepted for a key prefix. */\ntype CallKey<KPrefix extends string | undefined> = Extract<keyof ScopedRegistry<KPrefix>, string>;\n\n/** The generated metadata for a prefixed translation key. */\ntype ScopedRegistryEntry<\n Key extends CallKey<KPrefix>,\n KPrefix extends string | undefined,\n> = ScopedRegistry<KPrefix>[Key];\n\n/** The effective key prefix after i18next normalization. */\ntype NormalizedKeyPrefix<KPrefix> = KPrefix extends \"\"\n ? undefined\n : KPrefix extends string\n ? KPrefix\n : undefined;\n\n/** The source translation text recorded for an entry. */\ntype EntryValue<Entry> = Entry extends { value: infer Value extends string } ? Value : never;\n\n/** The context option required by a generated entry. */\ntype ContextOptions<Entry> = Entry extends { context: infer Context extends string }\n ? { context: Context }\n : { context?: never };\n\n/** The count option accepted by a generated entry. */\ntype CountOptions<Entry> = Entry extends { kind: \"plural\" | \"pluralDefaults\" }\n ? { count: number; ordinal?: never }\n : { count?: never; ordinal?: never };\n\n/** The interpolation variables required by a generated entry. */\ntype InterpolationOptions<Entry> = Entry extends { interpolated: true }\n ? InterpolationMap<EntryValue<Entry>> | { replace: InterpolationMap<EntryValue<Entry>> }\n : Record<never, never>;\n\n/** An i18next plural fallback property. */\ntype PluralDefaultKey =\n | \"defaultValue_few\" |\n \"defaultValue_many\" |\n \"defaultValue_one\" |\n \"defaultValue_ordinal_few\" |\n \"defaultValue_ordinal_many\" |\n \"defaultValue_ordinal_one\" |\n \"defaultValue_ordinal_other\" |\n \"defaultValue_ordinal_two\" |\n \"defaultValue_other\" |\n \"defaultValue_two\" |\n \"defaultValue_zero\";\n\n/** Plural fallback properties excluded from a basic lookup. */\ntype PluralDefaultExclusions = Partial<Record<PluralDefaultKey, never>>;\n\n/** Common options accepted for a generated translation entry. */\ntype BaseEntryOptions<Entry> = Entry extends { value: string }\n ? Omit<\n TOptions,\n \"context\" | \"count\" | \"defaultValue\" | \"keyPrefix\" | \"ordinal\" | \"replace\"\n > &\n InterpolationOptions<Entry> &\n ContextOptions<Entry> &\n CountOptions<Entry> & {\n keyPrefix?: never;\n }\n : never;\n\n/** Options for a lookup without an inline default value. */\ntype EntryOptions<Entry> = BaseEntryOptions<Entry> & PluralDefaultExclusions & {\n /** Prevents an ungenerated default value from bypassing strict lookup types. */\n defaultValue?: never;\n};\n\n/** Options for a lookup with an inline default value. */\ntype DefaultEntryOptions<Entry, DefaultValue extends string> = BaseEntryOptions<Entry> &\n PluralDefaultExclusions & {\n /** The generated inline fallback translation. */\n defaultValue: DefaultValue;\n };\n\n/** Options for a plural lookup with an `other` fallback. */\ntype PluralOtherEntryOptions<Entry, DefaultValue extends string> = BaseEntryOptions<Entry> &\n Omit<PluralDefaultExclusions, \"defaultValue_other\"> & {\n /** Prevents the singular default property in an `other`-only lookup. */\n defaultValue?: never;\n } &\n Record<\"defaultValue_other\", DefaultValue>;\n\n/** Explicit `one` and `other` plural fallback values. */\ntype SpecificPluralDefaults<DefaultValueOne extends string, DefaultValueOther extends string> = {\n /** Prevents a general fallback when explicit plural forms are supplied. */\n defaultValue?: never;\n} &\nRecord<\"defaultValue_one\", DefaultValueOne> &\nRecord<\"defaultValue_other\", DefaultValueOther>;\n\n/** A singular general fallback paired with an `other` plural fallback. */\ntype GeneralSingularDefaults<DefaultValueOne extends string, DefaultValueOther extends string> = {\n /** The singular generated fallback translation. */\n defaultValue: DefaultValueOne;\n} &\nPartial<Record<\"defaultValue_one\", never>> &\nRecord<\"defaultValue_other\", DefaultValueOther>;\n\n/** A plural general fallback paired with a `one` plural fallback. */\ntype GeneralPluralDefaults<DefaultValueOne extends string, DefaultValueOther extends string> = {\n /** The plural generated fallback translation. */\n defaultValue: DefaultValueOther;\n} &\nRecord<\"defaultValue_one\", DefaultValueOne> &\nPartial<Record<\"defaultValue_other\", never>>;\n\n/** A generated singular fallback whose plural fallback is the key. */\ntype SingularOnlyDefault<DefaultValueOne extends string> = {\n /** Prevents a general fallback for key-backed plurals. */\n defaultValue?: never;\n} &\nRecord<\"defaultValue_one\", DefaultValueOne> &\nPartial<Record<\"defaultValue_other\", never>>;\n\n/** A generated plural fallback whose singular fallback is the key. */\ntype PluralOnlyDefault<DefaultValueOther extends string> = {\n /** Prevents a general fallback for key-backed singulars. */\n defaultValue?: never;\n} &\nPartial<Record<\"defaultValue_one\", never>> &\nRecord<\"defaultValue_other\", DefaultValueOther>;\n\n/** Options matching the generated singular and plural fallback values. */\ntype PluralDefaultsEntryOptions<\n Entry,\n Key extends string,\n DefaultValueOne extends string,\n DefaultValueOther extends string,\n> = BaseEntryOptions<Entry> &\n Omit<PluralDefaultExclusions, \"defaultValue_one\" | \"defaultValue_other\"> &\n (\n SpecificPluralDefaults<DefaultValueOne, DefaultValueOther> |\n GeneralSingularDefaults<DefaultValueOne, DefaultValueOther> |\n GeneralPluralDefaults<DefaultValueOne, DefaultValueOther> |\n (DefaultValueOther extends Key ? SingularOnlyDefault<DefaultValueOne> : never) |\n (DefaultValueOne extends Key ? PluralOnlyDefault<DefaultValueOther> : never)\n );\n\n/** Lookup options that request i18next result metadata. */\ntype DetailedOptions<Options> = Options & {\n /** Requests the detailed i18next result object. */\n returnDetails: true;\n};\n\n/** Arguments accepted when looking up a generated point translation. */\ntype PointLookupArgs<KPrefix extends string | undefined> = {\n [Key in CallKey<KPrefix>]: ScopedRegistryEntry<Key, KPrefix> extends infer Entry\n ? Entry extends { kind: \"point\"; required: boolean }\n ? Entry extends { required: true }\n ? [key: Key, options: EntryOptions<Entry>]\n : [key: Key, options?: EntryOptions<Entry>]\n : never\n : never;\n}[CallKey<KPrefix>];\n\n/** Arguments accepted for a generated positional fallback. */\ntype DefaultValueArgs<KPrefix extends string | undefined> = {\n [Key in CallKey<KPrefix>]: ScopedRegistryEntry<Key, KPrefix> extends infer Entry\n ? Entry extends {\n defaultValue: infer DefaultValue extends string;\n kind: \"default\" | \"plural\";\n required: boolean;\n }\n ? Entry extends { required: true }\n ? [key: Key, defaultValue: DefaultValue, options: EntryOptions<Entry>]\n : [key: Key, defaultValue: DefaultValue, options?: EntryOptions<Entry>]\n : never\n : never;\n}[CallKey<KPrefix>];\n\n/** A generated key with an object-form fallback value. */\ntype ObjectDefaultValueKey<KPrefix extends string | undefined> = {\n [Key in CallKey<KPrefix>]: ScopedRegistryEntry<Key, KPrefix> extends infer Entry\n ? Entry extends {\n defaultValue: string;\n kind: \"default\" | \"plural\";\n }\n ? Key\n : never\n : never;\n}[CallKey<KPrefix>];\n\n/** Options matching the generated object-form fallback for a key. */\ntype ObjectDefaultValueOptions<\n Key extends ObjectDefaultValueKey<KPrefix>,\n KPrefix extends string | undefined,\n Entry = ScopedRegistryEntry<Key, KPrefix>,\n> = Entry extends {\n defaultValue: infer DefaultValue extends string;\n kind: \"default\" | \"plural\";\n}\n ? DefaultEntryOptions<Entry, DefaultValue>\n : never;\n\n/** Arguments accepted for an `other`-only plural fallback. */\ntype PluralOtherArgs<KPrefix extends string | undefined> = {\n [Key in CallKey<KPrefix>]: ScopedRegistryEntry<Key, KPrefix> extends infer Entry\n ? Entry extends { defaultValue: infer DefaultValue extends string; kind: \"plural\" }\n ? [key: Key, options: PluralOtherEntryOptions<Entry, DefaultValue>]\n : never\n : never;\n}[CallKey<KPrefix>];\n\n/** Arguments accepted for generated singular and plural fallbacks. */\ntype PluralDefaultsArgs<KPrefix extends string | undefined> = {\n [Key in CallKey<KPrefix>]: ScopedRegistryEntry<Key, KPrefix> extends infer Entry\n ? Entry extends {\n defaultValueOne: infer DefaultValueOne extends string;\n defaultValueOther: infer DefaultValueOther extends string;\n kind: \"pluralDefaults\";\n }\n ? [\n key: Key,\n options: PluralDefaultsEntryOptions<Entry, Key, DefaultValueOne, DefaultValueOther>,\n ]\n : never\n : never;\n}[CallKey<KPrefix>];\n\n/** Detailed-result arguments for a generated point translation. */\ntype DetailedPointLookupArgs<KPrefix extends string | undefined> = {\n [Key in CallKey<KPrefix>]: ScopedRegistryEntry<Key, KPrefix> extends infer Entry\n ? Entry extends { kind: \"point\" }\n ? [key: Key, options: DetailedOptions<EntryOptions<Entry>>]\n : never\n : never;\n}[CallKey<KPrefix>];\n\n/** Detailed-result arguments for an `other`-only plural fallback. */\ntype DetailedPluralOtherArgs<KPrefix extends string | undefined> = {\n [Key in CallKey<KPrefix>]: ScopedRegistryEntry<Key, KPrefix> extends infer Entry\n ? Entry extends { defaultValue: infer DefaultValue extends string; kind: \"plural\" }\n ? [key: Key, options: DetailedOptions<PluralOtherEntryOptions<Entry, DefaultValue>>]\n : never\n : never;\n}[CallKey<KPrefix>];\n\n/** Detailed-result arguments for singular and plural fallbacks. */\ntype DetailedPluralDefaultsArgs<KPrefix extends string | undefined> = {\n [Key in CallKey<KPrefix>]: ScopedRegistryEntry<Key, KPrefix> extends infer Entry\n ? Entry extends {\n defaultValueOne: infer DefaultValueOne extends string;\n defaultValueOther: infer DefaultValueOther extends string;\n kind: \"pluralDefaults\";\n }\n ? [\n key: Key,\n options: DetailedOptions<\n PluralDefaultsEntryOptions<Entry, Key, DefaultValueOne, DefaultValueOther>\n >,\n ]\n : never\n : never;\n}[CallKey<KPrefix>];\n\n/** Detailed-result arguments for a positional fallback. */\ntype DetailedDefaultValueArgs<KPrefix extends string | undefined> = {\n [Key in CallKey<KPrefix>]: ScopedRegistryEntry<Key, KPrefix> extends infer Entry\n ? Entry extends {\n defaultValue: infer DefaultValue extends string;\n kind: \"default\" | \"plural\";\n }\n ? [key: Key, defaultValue: DefaultValue, options: DetailedOptions<EntryOptions<Entry>>]\n : never\n : never;\n}[CallKey<KPrefix>];\n\n/** Point-translation metadata eligible for an i18next fallback array. */\ntype FallbackPointEntry<\n Key extends CallKey<KPrefix>,\n KPrefix extends string | undefined,\n> = Extract<ScopedRegistryEntry<Key, KPrefix>, { kind: \"point\" }>;\n\n/** A generated point-translation key eligible for a fallback array. */\ntype FallbackPointKey<KPrefix extends string | undefined> = {\n [Key in CallKey<KPrefix>]: [FallbackPointEntry<Key, KPrefix>] extends [never] ? never : Key;\n}[CallKey<KPrefix>];\n\n/** Combined generated metadata for a fallback-array branch. */\ntype FallbackArrayMetadata<Entries> = {\n /** Whether any fallback entry requires interpolation variables. */\n interpolated: Extract<Entries, { interpolated: true }> extends never ? false : true;\n /** Identifies fallback-array entries as point translations. */\n kind: \"point\";\n /** Whether any fallback entry requires options. */\n required: Extract<Entries, { required: true }> extends never ? false : true;\n /** The source translation text accepted by the fallback array. */\n value: EntryValue<Entries>;\n};\n\n/** Generated metadata for every valid fallback-array context branch. */\ntype FallbackArrayEntry<\n Keys extends readonly FallbackPointKey<KPrefix>[],\n KPrefix extends string | undefined,\n Entries = FallbackPointEntry<Keys[number], KPrefix>,\n BaseEntries = Exclude<Entries, { context: string }>,\n Contexts extends string = Extract<Entries, { context: string }> extends infer Contextual\n ? Contextual extends { context: infer Context extends string }\n ? Context\n : never\n : never,\n> = [\n [BaseEntries] extends [never] ? never : FallbackArrayMetadata<BaseEntries>,\n {\n [Context in Contexts]: FallbackArrayMetadata<\n BaseEntries | Extract<Entries, { context: Context }>\n > & {\n context: Context;\n };\n }[Contexts],\n][number];\n\n/** Arguments accepted for a generated fallback-key array. */\ntype FallbackArrayArgs<\n Keys extends readonly [FallbackPointKey<KPrefix>, ...FallbackPointKey<KPrefix>[]],\n KPrefix extends string | undefined,\n Entry = FallbackArrayEntry<Keys, KPrefix>,\n> = Entry extends { required: true }\n ? [keys: Keys, options: EntryOptions<Entry>]\n : [keys: Keys, options?: EntryOptions<Entry>];\n\n/** Detailed-result arguments for a generated fallback-key array. */\ntype DetailedFallbackArrayArgs<\n Keys extends readonly [FallbackPointKey<KPrefix>, ...FallbackPointKey<KPrefix>[]],\n KPrefix extends string | undefined,\n> = [keys: Keys, options: DetailedOptions<EntryOptions<FallbackArrayEntry<Keys, KPrefix>>>];\n\n/** Generated default-value metadata eligible for a fallback array. */\ntype FallbackDefaultEntry<\n Key extends CallKey<KPrefix>,\n KPrefix extends string | undefined,\n> = Extract<ScopedRegistryEntry<Key, KPrefix>, { kind: \"default\" }>;\n\n/** A generated default-valued key eligible for a fallback array. */\ntype FallbackDefaultKey<KPrefix extends string | undefined> = {\n [Key in CallKey<KPrefix>]: [FallbackDefaultEntry<Key, KPrefix>] extends [never] ? never : Key;\n}[CallKey<KPrefix>];\n\n/** Key-backed default metadata eligible before an array's final fallback. */\ntype FallbackLeadingDefaultEntry<\n Key extends CallKey<KPrefix>,\n KPrefix extends string | undefined,\n> = Extract<FallbackDefaultEntry<Key, KPrefix>, { defaultValue: Key }>;\n\n/** A key-backed default entry eligible before an array's final fallback. */\ntype FallbackLeadingDefaultKey<KPrefix extends string | undefined> = {\n [Key in CallKey<KPrefix>]: [FallbackLeadingDefaultEntry<Key, KPrefix>] extends [never]\n ? never\n : Key;\n}[CallKey<KPrefix>];\n\n/** Generated key tuples carrying an explicit final fallback value. */\ntype FallbackDefaultKeys<KPrefix extends string | undefined> = readonly [\n ...FallbackLeadingDefaultKey<KPrefix>[],\n FallbackDefaultKey<KPrefix>,\n];\n\n/** The keys preceding the final element of a fallback tuple. */\ntype FallbackLeadingKey<Keys extends readonly string[]> = Keys extends readonly [\n ...infer Leading,\n string,\n]\n ? Extract<Leading[number], string>\n : never;\n\n/** The final key of a fallback tuple. */\ntype FallbackLastKey<Keys extends readonly string[]> = Keys extends readonly [\n ...string[],\n infer Last,\n]\n ? Extract<Last, string>\n : never;\n\n/** Generated entries compatible with a selected context branch. */\ntype FallbackEntriesInScope<Entries, ScopeEntry> = ScopeEntry extends {\n context: infer Context extends string;\n}\n ? Exclude<Entries, { context: string }> | Extract<Entries, { context: Context }>\n : Exclude<Entries, { context: string }>;\n\n/** Combined generated metadata for an explicit-default fallback array. */\ntype FallbackDefaultArrayMetadata<Entries, DefaultValue extends string> = {\n /** The explicit fallback text accepted for the final key. */\n defaultValue: DefaultValue;\n /** Whether any fallback entry requires interpolation variables. */\n interpolated: Extract<Entries, { interpolated: true }> extends never ? false : true;\n /** Identifies fallback-array entries carrying an explicit default. */\n kind: \"default\";\n /** Whether any fallback entry requires options. */\n required: Extract<Entries, { required: true }> extends never ? false : true;\n /** The source translation text accepted by the fallback array. */\n value: EntryValue<Entries>;\n};\n\n/** Generated metadata for a fallback array with an explicit final default. */\ntype FallbackDefaultArrayEntry<\n Keys extends FallbackDefaultKeys<KPrefix>,\n KPrefix extends string | undefined,\n LeadingKey extends FallbackLeadingDefaultKey<KPrefix> = Extract<\n FallbackLeadingKey<Keys>,\n FallbackLeadingDefaultKey<KPrefix>\n >,\n LastKey extends FallbackDefaultKey<KPrefix> = Extract<\n FallbackLastKey<Keys>,\n FallbackDefaultKey<KPrefix>\n >,\n LeadingEntries = FallbackLeadingDefaultEntry<LeadingKey, KPrefix>,\n LastEntry = FallbackDefaultEntry<LastKey, KPrefix>,\n> = LastEntry extends {\n defaultValue: infer DefaultValue extends string;\n kind: \"default\";\n}\n ? (\n FallbackDefaultArrayMetadata<\n FallbackEntriesInScope<LeadingEntries, LastEntry> | LastEntry,\n DefaultValue\n > &\n (LastEntry extends { context: infer Context extends string }\n ? { context: Context }\n : Record<never, never>)\n )\n : never;\n\n/** Arguments accepted for a generated explicit-default fallback array. */\ntype FallbackDefaultArrayArgs<\n Keys extends FallbackDefaultKeys<KPrefix>,\n KPrefix extends string | undefined,\n Entry = FallbackDefaultArrayEntry<Keys, KPrefix>,\n> = Entry extends { defaultValue: infer DefaultValue extends string; required: boolean }\n ? [\n [keys: Keys, options: DefaultEntryOptions<Entry, DefaultValue>],\n Entry extends { required: true }\n ? [keys: Keys, defaultValue: DefaultValue, options: EntryOptions<Entry>]\n : [keys: Keys, defaultValue: DefaultValue, options?: EntryOptions<Entry>],\n ][number]\n : never;\n\n/** Detailed-result arguments for an explicit-default fallback array. */\ntype DetailedFallbackDefaultArrayArgs<\n Keys extends FallbackDefaultKeys<KPrefix>,\n KPrefix extends string | undefined,\n Entry = FallbackDefaultArrayEntry<Keys, KPrefix>,\n> = Entry extends { defaultValue: infer DefaultValue extends string }\n ? [\n [keys: Keys, options: DetailedOptions<DefaultEntryOptions<Entry, DefaultValue>>],\n [keys: Keys, defaultValue: DefaultValue, options: DetailedOptions<EntryOptions<Entry>>],\n ][number]\n : never;\n\n/** Generated natural-plural metadata eligible for a fallback array. */\ntype FallbackPluralEntry<\n Key extends CallKey<KPrefix>,\n KPrefix extends string | undefined,\n> = Extract<ScopedRegistryEntry<Key, KPrefix>, { kind: \"plural\" }>;\n\n/** A generated natural-plural key eligible for a fallback array. */\ntype FallbackPluralKey<KPrefix extends string | undefined> = {\n [Key in CallKey<KPrefix>]: [FallbackPluralEntry<Key, KPrefix>] extends [never] ? never : Key;\n}[CallKey<KPrefix>];\n\n/** Generated key tuples carrying a natural plural fallback. */\ntype FallbackPluralKeys<KPrefix extends string | undefined> = readonly [\n FallbackPluralKey<KPrefix>,\n ...FallbackPluralKey<KPrefix>[],\n];\n\n/** Combined generated metadata for a natural-plural fallback array. */\ntype FallbackPluralArrayMetadata<Entries> = {\n /** The plural fallback text accepted by the fallback array. */\n defaultValue: Entries extends { defaultValue: infer DefaultValue extends string }\n ? DefaultValue\n : never;\n /** Whether any fallback entry requires interpolation variables. */\n interpolated: Extract<Entries, { interpolated: true }> extends never ? false : true;\n /** Identifies fallback-array entries using a natural plural. */\n kind: \"plural\";\n /** Marks count and interpolation options as required. */\n required: true;\n /** The singular and plural source text accepted by the fallback array. */\n value: EntryValue<Entries>;\n};\n\n/** Generated metadata for every natural-plural fallback-array branch. */\ntype FallbackPluralArrayEntry<\n Keys extends FallbackPluralKeys<KPrefix>,\n KPrefix extends string | undefined,\n Entries = FallbackPluralEntry<Keys[number], KPrefix>,\n BaseEntries = Exclude<Entries, { context: string }>,\n Contexts extends string = Extract<Entries, { context: string }> extends infer Contextual\n ? Contextual extends { context: infer Context extends string }\n ? Context\n : never\n : never,\n> = [\n [BaseEntries] extends [never] ? never : FallbackPluralArrayMetadata<BaseEntries>,\n {\n [Context in Contexts]: FallbackPluralArrayMetadata<\n BaseEntries | Extract<Entries, { context: Context }>\n > & {\n context: Context;\n };\n }[Contexts],\n][number];\n\n/** Arguments accepted for a generated natural-plural fallback array. */\ntype FallbackPluralArrayArgs<\n Keys extends FallbackPluralKeys<KPrefix>,\n KPrefix extends string | undefined,\n Entry = FallbackPluralArrayEntry<Keys, KPrefix>,\n> = Entry extends { defaultValue: infer DefaultValue extends string }\n ? [\n [keys: Keys, defaultValue: DefaultValue, options: EntryOptions<Entry>],\n [\n keys: Keys,\n options:\n DefaultEntryOptions<Entry, DefaultValue> |\n PluralOtherEntryOptions<Entry, DefaultValue>,\n ],\n ][number]\n : never;\n\n/** Detailed-result arguments for a natural-plural fallback array. */\ntype DetailedFallbackPluralArrayArgs<\n Keys extends FallbackPluralKeys<KPrefix>,\n KPrefix extends string | undefined,\n Entry = FallbackPluralArrayEntry<Keys, KPrefix>,\n> = Entry extends { defaultValue: infer DefaultValue extends string }\n ? [\n [\n keys: Keys,\n defaultValue: DefaultValue,\n options: DetailedOptions<EntryOptions<Entry>>,\n ],\n [\n keys: Keys,\n options: DetailedOptions<\n DefaultEntryOptions<Entry, DefaultValue> |\n PluralOtherEntryOptions<Entry, DefaultValue>\n >,\n ],\n ][number]\n : never;\n\n/** Generated explicit-plural metadata eligible for a fallback array. */\ntype FallbackPluralDefaultsEntry<\n Key extends CallKey<KPrefix>,\n KPrefix extends string | undefined,\n> = Extract<ScopedRegistryEntry<Key, KPrefix>, { kind: \"pluralDefaults\" }>;\n\n/** A generated explicit-plural key eligible for a fallback array. */\ntype FallbackPluralDefaultsKey<KPrefix extends string | undefined> = {\n [Key in CallKey<KPrefix>]: [FallbackPluralDefaultsEntry<Key, KPrefix>] extends [never]\n ? never\n : Key;\n}[CallKey<KPrefix>];\n\n/** Generated key tuples carrying explicit singular and plural defaults. */\ntype FallbackPluralDefaultsKeys<KPrefix extends string | undefined> = readonly [\n FallbackPluralDefaultsKey<KPrefix>,\n ...FallbackPluralDefaultsKey<KPrefix>[],\n];\n\n/** Combined generated metadata for an explicit-plural fallback array. */\ntype FallbackPluralDefaultsArrayMetadata<Entries> = {\n /** The singular fallback text accepted by the fallback array. */\n defaultValueOne: Entries extends { defaultValueOne: infer DefaultValueOne extends string }\n ? DefaultValueOne\n : never;\n /** The plural fallback text accepted by the fallback array. */\n defaultValueOther: Entries extends {\n defaultValueOther: infer DefaultValueOther extends string;\n }\n ? DefaultValueOther\n : never;\n /** Whether any fallback entry requires interpolation variables. */\n interpolated: Extract<Entries, { interpolated: true }> extends never ? false : true;\n /** Identifies fallback-array entries using explicit plural defaults. */\n kind: \"pluralDefaults\";\n /** Marks count and interpolation options as required. */\n required: true;\n /** The singular and plural source text accepted by the fallback array. */\n value: EntryValue<Entries>;\n};\n\n/** Generated metadata for every explicit-plural fallback-array branch. */\ntype FallbackPluralDefaultsArrayEntry<\n Keys extends FallbackPluralDefaultsKeys<KPrefix>,\n KPrefix extends string | undefined,\n Entries = FallbackPluralDefaultsEntry<Keys[number], KPrefix>,\n BaseEntries = Exclude<Entries, { context: string }>,\n Contexts extends string = Extract<Entries, { context: string }> extends infer Contextual\n ? Contextual extends { context: infer Context extends string }\n ? Context\n : never\n : never,\n> = [\n [BaseEntries] extends [never] ? never : FallbackPluralDefaultsArrayMetadata<BaseEntries>,\n {\n [Context in Contexts]: FallbackPluralDefaultsArrayMetadata<\n BaseEntries | Extract<Entries, { context: Context }>\n > & {\n context: Context;\n };\n }[Contexts],\n][number];\n\n/** Arguments accepted for an explicit-plural fallback array. */\ntype FallbackPluralDefaultsArrayArgs<\n Keys extends FallbackPluralDefaultsKeys<KPrefix>,\n KPrefix extends string | undefined,\n Entry = FallbackPluralDefaultsArrayEntry<Keys, KPrefix>,\n> = Entry extends {\n defaultValueOne: infer DefaultValueOne extends string;\n defaultValueOther: infer DefaultValueOther extends string;\n}\n ? [\n keys: Keys,\n options: PluralDefaultsEntryOptions<\n Entry,\n Keys[number],\n DefaultValueOne,\n DefaultValueOther\n >,\n ]\n : never;\n\n/** Detailed-result arguments for an explicit-plural fallback array. */\ntype DetailedFallbackPluralDefaultsArrayArgs<\n Keys extends FallbackPluralDefaultsKeys<KPrefix>,\n KPrefix extends string | undefined,\n Entry = FallbackPluralDefaultsArrayEntry<Keys, KPrefix>,\n> = Entry extends {\n defaultValueOne: infer DefaultValueOne extends string;\n defaultValueOther: infer DefaultValueOther extends string;\n}\n ? [\n keys: Keys,\n options: DetailedOptions<\n PluralDefaultsEntryOptions<\n Entry,\n Keys[number],\n DefaultValueOne,\n DefaultValueOther\n >\n >,\n ]\n : never;\n\n/** The i18next result returned when `returnDetails` is enabled. */\ntype DetailedResult = TFunctionDetailedResult<string, TOptions & { returnDetails: true }>;\n\n/** Object-form fallback arguments accepted by a generated key. */\ntype ObjectDefaultValueTuple<KPrefix extends string | undefined> = {\n [Key in ObjectDefaultValueKey<KPrefix>]: [\n key: Key,\n options: ObjectDefaultValueOptions<Key, KPrefix>,\n ];\n}[ObjectDefaultValueKey<KPrefix>];\n\n/** Detailed-result object-form fallback arguments for a generated key. */\ntype DetailedObjectDefaultValueTuple<KPrefix extends string | undefined> = {\n [Key in ObjectDefaultValueKey<KPrefix>]: [\n key: Key,\n options: DetailedOptions<ObjectDefaultValueOptions<Key, KPrefix>>,\n ];\n}[ObjectDefaultValueKey<KPrefix>];\n\n/** Lookup options carrying an explicit call-level key prefix. */\ntype RequiredCallPrefixOptions<Options, Prefix extends string> = Omit<\n Exclude<Options, undefined>,\n \"keyPrefix\"\n> & {\n /** The key prefix applied to this translation call. */\n keyPrefix: Prefix;\n};\n\n/** Adds a required call-level key prefix to an argument tuple. */\ntype CallPrefixArgs<Args, Prefix extends string> = Args extends [\n key: infer Key,\n defaultValue: infer DefaultValue extends string,\n options?: infer Options,\n]\n ? [\n key: Key,\n defaultValue: DefaultValue,\n options: RequiredCallPrefixOptions<Options, Prefix>,\n ]\n : Args extends [key: infer Key, options?: infer Options]\n ? [key: Key, options: RequiredCallPrefixOptions<Options, Prefix>]\n : never;\n\n/** Scalar lookup arguments using a call-level key prefix. */\ntype ScalarCallPrefixArgs<Prefix extends string> = CallPrefixArgs<\n | PointLookupArgs<Prefix> |\n DefaultValueArgs<Prefix> |\n ObjectDefaultValueTuple<Prefix> |\n PluralOtherArgs<Prefix> |\n PluralDefaultsArgs<Prefix>,\n Prefix\n>;\n\n/** Detailed-result scalar arguments using a call-level key prefix. */\ntype DetailedScalarCallPrefixArgs<Prefix extends string> = CallPrefixArgs<\n | DetailedPointLookupArgs<Prefix> |\n DetailedDefaultValueArgs<Prefix> |\n DetailedObjectDefaultValueTuple<Prefix> |\n DetailedPluralOtherArgs<Prefix> |\n DetailedPluralDefaultsArgs<Prefix>,\n Prefix\n>;\n\n/** Translation overloads derived from generated source metadata. */\ntype GeneratedTFunction<KPrefix extends string | undefined> = Pick<\n UpstreamTFunction,\n \"$TFunctionBrand\"\n> & {\n <const Keys extends FallbackDefaultKeys<KPrefix>>(\n ...args: DetailedFallbackDefaultArrayArgs<Keys, KPrefix>\n ): DetailedResult;\n <const Keys extends FallbackPluralKeys<KPrefix>>(\n ...args: DetailedFallbackPluralArrayArgs<Keys, KPrefix>\n ): DetailedResult;\n <const Keys extends FallbackPluralDefaultsKeys<KPrefix>>(\n ...args: DetailedFallbackPluralDefaultsArrayArgs<Keys, KPrefix>\n ): DetailedResult;\n <const Keys extends readonly [FallbackPointKey<KPrefix>, ...FallbackPointKey<KPrefix>[]]>(\n ...args: DetailedFallbackArrayArgs<Keys, KPrefix>\n ): DetailedResult;\n (...args: DetailedPointLookupArgs<KPrefix>): DetailedResult;\n (...args: DetailedDefaultValueArgs<KPrefix>): DetailedResult;\n <const Key extends ObjectDefaultValueKey<KPrefix>>(\n key: Key,\n options: DetailedOptions<ObjectDefaultValueOptions<Key, KPrefix>>,\n ): DetailedResult;\n (...args: DetailedPluralOtherArgs<KPrefix>): DetailedResult;\n (...args: DetailedPluralDefaultsArgs<KPrefix>): DetailedResult;\n <const Keys extends FallbackDefaultKeys<KPrefix>>(\n ...args: FallbackDefaultArrayArgs<Keys, KPrefix>\n ): string;\n <const Keys extends FallbackPluralKeys<KPrefix>>(\n ...args: FallbackPluralArrayArgs<Keys, KPrefix>\n ): string;\n <const Keys extends FallbackPluralDefaultsKeys<KPrefix>>(\n ...args: FallbackPluralDefaultsArrayArgs<Keys, KPrefix>\n ): string;\n <const Keys extends readonly [FallbackPointKey<KPrefix>, ...FallbackPointKey<KPrefix>[]]>(\n ...args: FallbackArrayArgs<Keys, KPrefix>\n ): string;\n (...args: PointLookupArgs<KPrefix>): string;\n (...args: DefaultValueArgs<KPrefix>): string;\n <const Key extends ObjectDefaultValueKey<KPrefix>>(\n key: Key,\n options: ObjectDefaultValueOptions<Key, KPrefix>,\n ): string;\n (...args: PluralOtherArgs<KPrefix>): string;\n (...args: PluralDefaultsArgs<KPrefix>): string;\n};\n\n/** Generated translation overloads with per-call key prefixes. */\ntype GeneratedCallPrefixTFunction = {\n <const Prefix extends string, const Keys extends FallbackDefaultKeys<Prefix>>(\n ...args: CallPrefixArgs<DetailedFallbackDefaultArrayArgs<Keys, Prefix>, Prefix>\n ): DetailedResult;\n <const Prefix extends string, const Keys extends FallbackPluralKeys<Prefix>>(\n ...args: CallPrefixArgs<DetailedFallbackPluralArrayArgs<Keys, Prefix>, Prefix>\n ): DetailedResult;\n <const Prefix extends string, const Keys extends FallbackPluralDefaultsKeys<Prefix>>(\n ...args: CallPrefixArgs<DetailedFallbackPluralDefaultsArrayArgs<Keys, Prefix>, Prefix>\n ): DetailedResult;\n <\n const Prefix extends string,\n const Keys extends readonly [FallbackPointKey<Prefix>, ...FallbackPointKey<Prefix>[]],\n >(...args: CallPrefixArgs<DetailedFallbackArrayArgs<Keys, Prefix>, Prefix>): DetailedResult;\n <const Prefix extends string>(...args: DetailedScalarCallPrefixArgs<Prefix>): DetailedResult;\n <const Prefix extends string, const Keys extends FallbackDefaultKeys<Prefix>>(\n ...args: CallPrefixArgs<FallbackDefaultArrayArgs<Keys, Prefix>, Prefix>\n ): string;\n <const Prefix extends string, const Keys extends FallbackPluralKeys<Prefix>>(\n ...args: CallPrefixArgs<FallbackPluralArrayArgs<Keys, Prefix>, Prefix>\n ): string;\n <const Prefix extends string, const Keys extends FallbackPluralDefaultsKeys<Prefix>>(\n ...args: CallPrefixArgs<FallbackPluralDefaultsArrayArgs<Keys, Prefix>, Prefix>\n ): string;\n <\n const Prefix extends string,\n const Keys extends readonly [FallbackPointKey<Prefix>, ...FallbackPointKey<Prefix>[]],\n >(...args: CallPrefixArgs<FallbackArrayArgs<Keys, Prefix>, Prefix>): string;\n <const Prefix extends string>(...args: ScalarCallPrefixArgs<Prefix>): string;\n};\n\n/** Generated translation overloads available to a fixed translation function. */\ntype GeneratedFixedTFunction<KPrefix extends string | undefined> = GeneratedTFunction<KPrefix> &\n GeneratedCallPrefixTFunction;\n\n/** The application's translation function, narrowed by generated metadata when available. */\ntype TFunction<KPrefix extends string | undefined = undefined> = IsRegistryEmpty extends true\n ? UpstreamTFunction<\"translation\", KPrefix>\n : GeneratedTFunction<KPrefix>;\n\n/** A fixed i18next translation function narrowed by generated metadata. */\ntype FixedTFunction<KPrefix extends string | undefined = undefined> = IsRegistryEmpty extends true\n ? UpstreamTFunction<\"translation\", KPrefix>\n : GeneratedFixedTFunction<KPrefix>;\n\n/** Generated overloads for creating a fixed translation function. */\ntype GeneratedGetFixedT = {\n <const KPrefix extends string | undefined = undefined>(\n lng: string | readonly string[],\n ns?: Namespace | null,\n keyPrefix?: KPrefix,\n ): FixedTFunction<NormalizedKeyPrefix<KPrefix>>;\n <const KPrefix extends string | undefined = undefined>(\n lng: null,\n ns: Namespace | null,\n keyPrefix?: KPrefix,\n ): FixedTFunction<NormalizedKeyPrefix<KPrefix>>;\n};\n\n/** The shared i18next instance narrowed by generated translation metadata. */\ntype ConfiguredI18n = IsRegistryEmpty extends true\n ? I18n\n : Omit<I18n, \"getFixedT\" | \"init\" | \"t\"> & {\n getFixedT: GeneratedGetFixedT;\n init: Init;\n t: TFunction;\n };\n\n/** Returns the shared configured i18next instance. */\ntype GetI18n = () => ConfiguredI18n;\n\n/** The generated call signature for the React `Trans` component. */\ntype GeneratedTransCall = <\n const Key extends string = string,\n Ns extends Namespace = \"translation\",\n KPrefix extends string | undefined = undefined,\n TContext extends string | undefined = undefined,\n TOpt extends TOptions & { context?: TContext } = { context: TContext },\n Ret = string,\n E = React.HTMLProps<HTMLDivElement>,\n>(\n props: Omit<UpstreamTransProps<Key, Ns, KPrefix, TContext, TOpt, Ret, E>, \"t\"> & {\n t?: FixedTFunction<NormalizedKeyPrefix<KPrefix>> | TFunction;\n },\n) => React.ReactElement;\n\n/** The generated call signature for the React `IcuTrans` component. */\ntype GeneratedIcuTransCall = <\n const Key extends string = string,\n Ns extends Namespace = \"translation\",\n KPrefix extends string | undefined = undefined,\n TContext extends string | undefined = undefined,\n TOpt extends TOptions & { context?: TContext } = { context: TContext },\n>(\n props: Omit<UpstreamIcuTransProps<Key, Ns, KPrefix, TContext, TOpt>, \"t\"> & {\n t?: FixedTFunction<NormalizedKeyPrefix<KPrefix>> | TFunction;\n },\n) => React.ReactElement;\n\n/** The generated call signature for context-free React ICU translations. */\ntype GeneratedIcuTransWithoutContextCall = <\n const Key extends string = string,\n Ns extends Namespace = \"translation\",\n KPrefix extends string | undefined = undefined,\n TContext extends string | undefined = undefined,\n TOpt extends TOptions & { context?: TContext } = { context: TContext },\n>(\n props: Omit<\n UpstreamIcuTransWithoutContextProps<Key, Ns, KPrefix, TContext, TOpt>,\n \"t\"\n > & {\n t?: FixedTFunction<NormalizedKeyPrefix<KPrefix>> | TFunction;\n },\n) => React.ReactElement;\n\n/** The react-i18next `Trans` component narrowed by generated metadata. */\ntype TransComponent = IsRegistryEmpty extends true\n ? typeof upstreamTrans\n : GeneratedTransCall;\n\n/** The react-i18next context-free `Trans` component narrowed by generated metadata. */\ntype TransWithoutContextComponent = IsRegistryEmpty extends true\n ? typeof upstreamTransWithoutContext\n : GeneratedTransCall;\n\n/** The react-i18next `IcuTrans` component narrowed by generated metadata. */\ntype IcuTransComponent = IsRegistryEmpty extends true\n ? typeof upstreamIcuTrans\n : GeneratedIcuTransCall;\n\n/** The context-free react-i18next ICU component narrowed by generated metadata. */\ntype IcuTransWithoutContextComponent = IsRegistryEmpty extends true\n ? typeof upstreamIcuTransWithoutContext\n : GeneratedIcuTransWithoutContextCall;\n\n/** The generated tuple and named fields returned by `useTranslation`. */\ntype GeneratedUseTranslationResponse<KPrefix extends string | undefined> = [\n t: FixedTFunction<KPrefix>,\n i18n: ConfiguredI18n,\n ready: boolean,\n] &\nOmit<UpstreamUseTranslationResponse<\"translation\", undefined>, 0 | 1 | \"i18n\" | \"t\"> &\nRecord<\"i18n\", ConfiguredI18n> &\nRecord<\"t\", FixedTFunction<KPrefix>>;\n\n/** The result returned by {@link useTranslation}. */\ntype UseTranslationResponse<Ns extends Namespace = \"translation\", KPrefix = undefined> =\n IsRegistryEmpty extends true\n ? UpstreamUseTranslationResponse<Ns, KPrefix>\n : GeneratedUseTranslationResponse<NormalizedKeyPrefix<KPrefix>>;\n\n/** The generated signature for the react-i18next `useTranslation` hook. */\ntype GeneratedUseTranslation = <\n const Ns extends FlatNamespace | readonly FlatNamespace[] | undefined = undefined,\n const KPrefix extends KeyPrefix<FallbackNs<Ns>> = undefined,\n>(\n ns?: Ns,\n options?: UseTranslationOptions<KPrefix>,\n) => UseTranslationResponse<FallbackNs<Ns>, KPrefix>;\n\n/** The react-i18next `useTranslation` hook narrowed by generated metadata. */\ntype UseTranslation = IsRegistryEmpty extends true ? typeof upstreamUseTranslation : GeneratedUseTranslation;\n\n/** Generated translation props injected by `withTranslation`. */\ntype GeneratedWithTranslation<KPrefix extends string | undefined> = Omit<\n UpstreamWithTranslation,\n \"i18n\" | \"t\"\n> &\nRecord<\"i18n\", ConfiguredI18n> &\nRecord<\"t\", FixedTFunction<KPrefix>>;\n\n/** Props injected by {@link withTranslation}. */\ntype WithTranslation<\n Ns extends FlatNamespace | readonly FlatNamespace[] | undefined = undefined,\n KPrefix extends KeyPrefix<FallbackNs<Ns>> = undefined,\n> = IsRegistryEmpty extends true\n ? UpstreamWithTranslation<Ns, KPrefix>\n : GeneratedWithTranslation<NormalizedKeyPrefix<KPrefix>>;\n\n/** The generated signature for the `withTranslation` higher-order component. */\ntype GeneratedWithTranslationFactory = <\n const Ns extends FlatNamespace | readonly FlatNamespace[] | undefined = undefined,\n const KPrefix extends KeyPrefix<FallbackNs<Ns>> = undefined,\n>(\n ns?: Ns,\n options?: {\n withRef?: boolean;\n keyPrefix?: KPrefix;\n },\n) => <\n Component extends React.ElementType,\n ResolvedProps = React.JSX.LibraryManagedAttributes<\n Component,\n Omit<React.ComponentProps<Component>, keyof WithTranslationProps>\n >,\n>(\n component: Component,\n) => React.ComponentType<\n Omit<ResolvedProps, keyof WithTranslation<Ns, KPrefix>> & WithTranslationProps\n>;\n\n/** The react-i18next `withTranslation` factory narrowed by generated metadata. */\ntype WithTranslationFactory = IsRegistryEmpty extends true\n ? typeof upstreamWithTranslation\n : GeneratedWithTranslationFactory;\n\n/** The render callback accepted by the React `Translation` component. */\ntype TranslationChildren<KPrefix extends string | undefined> = (\n t: FixedTFunction<KPrefix>,\n options: Omit<Parameters<UpstreamTranslationProps<\"translation\">[\"children\"]>[1], \"i18n\"> &\n Record<\"i18n\", ConfiguredI18n>,\n isReady: boolean,\n) => React.ReactNode;\n\n/** Generated props for the React `Translation` component. */\ntype GeneratedTranslationProps<\n Ns extends FlatNamespace | readonly FlatNamespace[] | undefined,\n KPrefix extends KeyPrefix<FallbackNs<Ns>>,\n> = Omit<UpstreamTranslationProps<Ns, KPrefix>, \"children\"> &\n Record<\"children\", TranslationChildren<NormalizedKeyPrefix<KPrefix>>>;\n\n/** Props accepted by {@link Translation}. */\ntype TranslationProps<\n Ns extends FlatNamespace | readonly FlatNamespace[] | undefined = undefined,\n KPrefix extends KeyPrefix<FallbackNs<Ns>> = undefined,\n> = IsRegistryEmpty extends true\n ? UpstreamTranslationProps<Ns, KPrefix>\n : GeneratedTranslationProps<Ns, KPrefix>;\n\n/** The generated call signature for the React `Translation` component. */\ntype GeneratedTranslationComponent = <\n const Ns extends FlatNamespace | readonly FlatNamespace[] | undefined = undefined,\n const KPrefix extends KeyPrefix<FallbackNs<Ns>> = undefined,\n>(\n props: TranslationProps<Ns, KPrefix>,\n) => React.ReactNode;\n\n/** The react-i18next `Translation` component narrowed by generated metadata. */\ntype TranslationComponent = IsRegistryEmpty extends true\n ? typeof upstreamTranslation\n : GeneratedTranslationComponent;\n\n/** The callback accepted by generated `init` overloads. */\ntype GeneratedCallback = (error: Parameters<Callback>[0], t: TFunction) => void;\n\n/** Generated initialization overloads returning the narrowed translation function. */\ntype GeneratedInit = {\n (callback?: GeneratedCallback): Promise<TFunction>;\n <Options>(options: InitOptions<Options>, callback?: GeneratedCallback): Promise<TFunction>;\n};\n\n/** The i18next initialization function narrowed by generated metadata. */\ntype Init = IsRegistryEmpty extends true ? I18n[\"init\"] : GeneratedInit;\n\nexport type {\n GetI18n,\n IcuTransComponent,\n IcuTransWithoutContextComponent,\n Init,\n TFunction,\n TransComponent,\n TransWithoutContextComponent,\n TranslationComponent,\n TranslationProps,\n UseTranslation,\n UseTranslationResponse,\n WithTranslation,\n WithTranslationFactory,\n};\n"]}
package/package.json ADDED
@@ -0,0 +1,86 @@
1
+ {
2
+ "name": "@gtkx/i18n",
3
+ "version": "0.0.1",
4
+ "description": "A react-i18next backend for GTKX applications using GNU gettext catalogs.",
5
+ "keywords": [
6
+ "gtkx",
7
+ "gtk",
8
+ "gtk4",
9
+ "react",
10
+ "i18n",
11
+ "gettext",
12
+ "localization",
13
+ "linux",
14
+ "desktop"
15
+ ],
16
+ "homepage": "https://gtkx.dev",
17
+ "bugs": {
18
+ "url": "https://github.com/gtkx-org/gtkx/issues"
19
+ },
20
+ "repository": {
21
+ "type": "git",
22
+ "url": "git+https://github.com/gtkx-org/gtkx.git",
23
+ "directory": "packages/i18n"
24
+ },
25
+ "license": "MPL-2.0",
26
+ "author": "Eugenio Depalo <eugeniodepalo@gmail.com>",
27
+ "type": "module",
28
+ "exports": {
29
+ "./package.json": "./package.json",
30
+ ".": {
31
+ "source": "./src/index.ts",
32
+ "types": "./dist/index.d.ts",
33
+ "default": "./dist/index.js"
34
+ },
35
+ "./bootstrap": {
36
+ "source": "./src/bootstrap.ts",
37
+ "types": "./dist/bootstrap.d.ts",
38
+ "default": "./dist/bootstrap.js"
39
+ }
40
+ },
41
+ "sideEffects": [
42
+ "./src/index.ts",
43
+ "./dist/index.js",
44
+ "./src/bootstrap.ts",
45
+ "./dist/bootstrap.js",
46
+ "./src/locale.ts",
47
+ "./dist/locale.js",
48
+ "./src/i18n.ts",
49
+ "./dist/i18n.js"
50
+ ],
51
+ "files": [
52
+ "dist",
53
+ "src"
54
+ ],
55
+ "scripts": {
56
+ "release": "tsx ../../scripts/release-package.ts"
57
+ },
58
+ "nx": {
59
+ "targets": {
60
+ "lint": {
61
+ "options": {
62
+ "cwd": ".",
63
+ "command": "eslint {projectRoot}"
64
+ }
65
+ }
66
+ }
67
+ },
68
+ "engines": {
69
+ "node": ">=24"
70
+ },
71
+ "dependencies": {
72
+ "@gtkx/runtime": "workspace:*",
73
+ "i18next": "^26.4.0",
74
+ "react-i18next": "^17.0.12"
75
+ },
76
+ "peerDependencies": {
77
+ "react": "^19.2"
78
+ },
79
+ "devDependencies": {
80
+ "@gtkx/config": "workspace:*",
81
+ "@gtkx/testing": "workspace:*",
82
+ "@gtkx/vitest": "workspace:*",
83
+ "@types/react": "catalog:",
84
+ "vitest": "catalog:"
85
+ }
86
+ }
package/src/backend.ts ADDED
@@ -0,0 +1,73 @@
1
+ import type { BackendModule } from "i18next";
2
+ import * as GLib from "@gtkx/gi/glib";
3
+ import { applicationId } from "virtual:gtkx-config";
4
+
5
+ type GettextCatalog = {
6
+ gettext(msgid: string): string;
7
+ ngettext(msgid: string, msgidPlural: string, count: number | bigint): string;
8
+ npgettext(context: string, msgid: string, msgidPlural: string, count: number | bigint): string;
9
+ pgettext(context: string, msgid: string): string;
10
+ };
11
+
12
+ const CONTEXT_SEPARATOR = "\u{4}";
13
+ const GETTEXT_RESOURCE_KEY = "__gtkx_gettext_catalog__";
14
+
15
+ const gettextCatalog: GettextCatalog = {
16
+ gettext(msgid) {
17
+ return GLib.dgettext(applicationId, msgid);
18
+ },
19
+ ngettext(msgid, msgidPlural, count) {
20
+ return GLib.dngettext(applicationId, msgid, msgidPlural, normalizeCount(count));
21
+ },
22
+ pgettext(context, msgid) {
23
+ return GLib.dpgettext2(applicationId, context, msgid);
24
+ },
25
+ npgettext(context, msgid, msgidPlural, count) {
26
+ const contextualSingular = contextualMsgid(context, msgid);
27
+ const contextualPlural = contextualMsgid(context, msgidPlural);
28
+
29
+ const translated = GLib.dngettext(
30
+ applicationId,
31
+ contextualSingular,
32
+ contextualPlural,
33
+ normalizeCount(count),
34
+ );
35
+
36
+ if (translated === contextualSingular) {
37
+ return msgid;
38
+ }
39
+
40
+ return translated === contextualPlural ? msgidPlural : translated;
41
+ },
42
+ };
43
+
44
+ const gettextBackend: BackendModule = {
45
+ type: "backend",
46
+ init() {
47
+ return;
48
+ },
49
+ read(_language, _namespace, callback) {
50
+ callback(null, { [GETTEXT_RESOURCE_KEY]: gettextCatalog });
51
+ },
52
+ };
53
+
54
+ const normalizeCount = (count: number | bigint): bigint => {
55
+ if (typeof count === "number") {
56
+ if (!Number.isSafeInteger(count) || count < 0) {
57
+ throw new RangeError("gettext counts must be non-negative safe integers");
58
+ }
59
+
60
+ return BigInt(count);
61
+ }
62
+
63
+ if (count < 0n) {
64
+ throw new RangeError("gettext counts must be non-negative");
65
+ }
66
+
67
+ return count;
68
+ };
69
+
70
+ const contextualMsgid = (context: string, msgid: string): string => `${context}${CONTEXT_SEPARATOR}${msgid}`;
71
+ const isGettextCatalog = (value: unknown): value is GettextCatalog => value === gettextCatalog;
72
+
73
+ export { GETTEXT_RESOURCE_KEY, gettextBackend, isGettextCatalog, type GettextCatalog };
@@ -0,0 +1 @@
1
+ import "./i18n.js";
package/src/i18n.ts ADDED
@@ -0,0 +1,157 @@
1
+ import type { I18nFormatModule, TOptions } from "i18next";
2
+ import i18next from "i18next";
3
+ import { initReactI18next } from "react-i18next";
4
+ import {
5
+ GETTEXT_RESOURCE_KEY,
6
+ gettextBackend,
7
+ type GettextCatalog,
8
+ isGettextCatalog,
9
+ } from "./backend.js";
10
+ import { locale } from "./locale.js";
11
+
12
+ type GettextFormat = I18nFormatModule & {
13
+ addLookupKeys(): void;
14
+ getResource(language: string, namespace: string, msgid: string, options: TOptions): string | undefined;
15
+ handleAsObject: boolean;
16
+ };
17
+
18
+ type PluralLookup = {
19
+ catalog: GettextCatalog;
20
+ context: string | undefined;
21
+ count: number;
22
+ msgid: string;
23
+ msgidPlural: string;
24
+ };
25
+
26
+ const gettextFormat: GettextFormat = {
27
+ type: "i18nFormat",
28
+ handleAsObject: false,
29
+ addLookupKeys() {
30
+ return;
31
+ },
32
+ getResource(language, namespace, msgid, options) {
33
+ const resource: unknown = i18next.getResource(language, namespace, GETTEXT_RESOURCE_KEY, {
34
+ keySeparator: false,
35
+ });
36
+
37
+ if (!isGettextCatalog(resource)) {
38
+ return;
39
+ }
40
+
41
+ return pointLookup(resource, msgid, options);
42
+ },
43
+ };
44
+
45
+ const getContext = (value: unknown): string | undefined => {
46
+ if (typeof value !== "string" && typeof value !== "number") {
47
+ return undefined;
48
+ }
49
+
50
+ const context = String(value);
51
+
52
+ return context.length === 0 ? undefined : context;
53
+ };
54
+
55
+ const pluralLookup = ({ catalog, context, count, msgid, msgidPlural }: PluralLookup): string => {
56
+ if (context === undefined) {
57
+ return catalog.ngettext(msgid, msgidPlural, count);
58
+ }
59
+
60
+ const contextual = catalog.npgettext(context, msgid, msgidPlural, count);
61
+
62
+ return contextual === msgid || contextual === msgidPlural
63
+ ? catalog.ngettext(msgid, msgidPlural, count)
64
+ : contextual;
65
+ };
66
+
67
+ const stringOption = (options: TOptions, key: string): string | undefined => {
68
+ const value = options[key];
69
+
70
+ return typeof value === "string" ? value : undefined;
71
+ };
72
+
73
+ const assertSupportedPluralOptions = (options: TOptions): void => {
74
+ if (options.ordinal === true || stringOption(options, "defaultValue_zero") !== undefined) {
75
+ throw new RangeError("GNU gettext does not support ordinal or zero-specific plural forms");
76
+ }
77
+ };
78
+
79
+ const pluralSources = (msgid: string, options: TOptions): { plural: string; singular: string } => {
80
+ assertSupportedPluralOptions(options);
81
+ const defaultValue = stringOption(options, "defaultValue");
82
+ const defaultValueOne = stringOption(options, "defaultValue_one");
83
+ const defaultValueOther = stringOption(options, "defaultValue_other");
84
+ const hasPluralDefaults = defaultValueOne !== undefined || defaultValueOther !== undefined;
85
+
86
+ if (!hasPluralDefaults) {
87
+ return { plural: defaultValue ?? msgid, singular: msgid };
88
+ }
89
+
90
+ return {
91
+ plural: defaultValueOther ?? defaultValue ?? msgid,
92
+ singular: defaultValueOne ?? defaultValue ?? msgid,
93
+ };
94
+ };
95
+
96
+ const pluralPointLookup = (
97
+ catalog: GettextCatalog,
98
+ msgid: string,
99
+ options: TOptions,
100
+ count: number,
101
+ ): string => {
102
+ const { plural, singular } = pluralSources(msgid, options);
103
+
104
+ return pluralLookup({
105
+ catalog,
106
+ context: getContext(options.context),
107
+ count,
108
+ msgid: singular,
109
+ msgidPlural: plural,
110
+ });
111
+ };
112
+
113
+ const contextualLookup = (
114
+ catalog: GettextCatalog,
115
+ source: string,
116
+ context: string | undefined,
117
+ ): string => {
118
+ if (context === undefined) {
119
+ return catalog.gettext(source);
120
+ }
121
+
122
+ const translated = catalog.pgettext(context, source);
123
+
124
+ return translated === source ? catalog.gettext(source) : translated;
125
+ };
126
+
127
+ const singularPointLookup = (
128
+ catalog: GettextCatalog,
129
+ msgid: string,
130
+ options: TOptions,
131
+ ): string | undefined => {
132
+ const source = stringOption(options, "defaultValue") ?? msgid;
133
+ const translated = contextualLookup(catalog, source, getContext(options.context));
134
+
135
+ return translated === source ? undefined : translated;
136
+ };
137
+
138
+ const pointLookup = (catalog: GettextCatalog, msgid: string, options: TOptions): string | undefined => {
139
+ if (typeof options.count === "number") {
140
+ return pluralPointLookup(catalog, msgid, options, options.count);
141
+ }
142
+
143
+ return singularPointLookup(catalog, msgid, options);
144
+ };
145
+
146
+ i18next.use(gettextBackend).use(gettextFormat).use(initReactI18next);
147
+
148
+ void i18next.init({
149
+ defaultNS: "translation",
150
+ fallbackLng: false,
151
+ initAsync: false,
152
+ interpolation: { escapeValue: false },
153
+ keySeparator: false,
154
+ lng: locale,
155
+ ns: ["translation"],
156
+ nsSeparator: false,
157
+ });
package/src/index.ts ADDED
@@ -0,0 +1,73 @@
1
+ import "./bootstrap.js";
2
+ import { init as upstreamInit, t as upstreamT } from "i18next";
3
+ import {
4
+ getI18n as upstreamGetI18n,
5
+ IcuTrans as upstreamIcuTrans,
6
+ IcuTransWithoutContext as upstreamIcuTransWithoutContext,
7
+ Trans as upstreamTrans,
8
+ Translation as upstreamTranslation,
9
+ TransWithoutContext as upstreamTransWithoutContext,
10
+ useTranslation as upstreamUseTranslation,
11
+ withTranslation as upstreamWithTranslation,
12
+ } from "react-i18next";
13
+ import type {
14
+ GetI18n,
15
+ IcuTransComponent,
16
+ IcuTransWithoutContextComponent,
17
+ Init,
18
+ TFunction,
19
+ TransComponent,
20
+ TranslationComponent,
21
+ TransWithoutContextComponent,
22
+ UseTranslation,
23
+ WithTranslationFactory,
24
+ } from "./types.js";
25
+
26
+ /**
27
+ * Translation metadata generated from an application's source messages.
28
+ * Applications augment this interface to enable strict translation calls.
29
+ */
30
+ // eslint-disable-next-line @typescript-eslint/consistent-type-definitions -- declaration merging requires an interface
31
+ interface TranslationRegistry extends Record<never, never> {}
32
+
33
+ /** Translates a message through the configured i18next singleton. */
34
+ const t: TFunction = upstreamT;
35
+ /** Initializes the configured i18next singleton. */
36
+ const init: Init = upstreamInit;
37
+ /** Returns the configured i18next singleton. */
38
+ const getI18n: GetI18n = upstreamGetI18n;
39
+ /** Returns a translator and the configured i18next instance for React components. */
40
+ const useTranslation: UseTranslation = upstreamUseTranslation;
41
+ /** Injects the configured translator into a React component. */
42
+ const withTranslation: WithTranslationFactory = upstreamWithTranslation;
43
+ /** Supplies the configured translator through a React render prop. */
44
+ const Translation: TranslationComponent = upstreamTranslation;
45
+ /** Renders translated React content through the configured i18next singleton. */
46
+ const Trans: TransComponent = upstreamTrans;
47
+ /** Renders translated React content without an inherited gettext context. */
48
+ const TransWithoutContext: TransWithoutContextComponent = upstreamTransWithoutContext;
49
+ /** Renders ICU-formatted React content through the configured i18next singleton. */
50
+ const IcuTrans: IcuTransComponent = upstreamIcuTrans;
51
+ /** Renders ICU-formatted React content without an inherited gettext context. */
52
+ const IcuTransWithoutContext: IcuTransWithoutContextComponent = upstreamIcuTransWithoutContext;
53
+
54
+ export {
55
+ IcuTrans,
56
+ IcuTransWithoutContext,
57
+ getI18n,
58
+ init,
59
+ Trans,
60
+ TransWithoutContext,
61
+ Translation,
62
+ t,
63
+ type TranslationRegistry,
64
+ useTranslation,
65
+ withTranslation,
66
+ };
67
+ export type {
68
+ TFunction,
69
+ TranslationProps,
70
+ UseTranslationResponse,
71
+ WithTranslation,
72
+ } from "./types.js";
73
+ export * from "react-i18next";
package/src/locale.ts ADDED
@@ -0,0 +1,39 @@
1
+ import { t } from "@gtkx/runtime";
2
+ import { fileURLToPath } from "node:url";
3
+ import { applicationId } from "virtual:gtkx-config";
4
+
5
+ const LIBC = "libc.so.6";
6
+ const LC_ALL = 6;
7
+ const GETTEXT_CODESET = ["UTF", "8"].join("-");
8
+ const setLocaleBinding = t.bind(LIBC, "setlocale", [t.int32, t.string()], t.string());
9
+ const bindTextDomainBinding = t.bind(LIBC, "bindtextdomain", [t.string(), t.string()], t.string());
10
+
11
+ const bindTextDomainCodesetBinding = t.bind(
12
+ LIBC,
13
+ "bind_textdomain_codeset",
14
+ [t.string(), t.string()],
15
+ t.string(),
16
+ );
17
+
18
+ const textDomainBinding = t.bind(LIBC, "textdomain", [t.string()], t.string());
19
+ const locale: string = initializeLocale();
20
+
21
+ function requireStringResult(result: unknown): string {
22
+ if (typeof result !== "string") {
23
+ throw new TypeError("Unable to initialize the process locale");
24
+ }
25
+
26
+ return result;
27
+ }
28
+
29
+ function initializeLocale(): string {
30
+ const localeDir = process.env.GTKX_LOCALE_DIR ?? fileURLToPath(new URL("locale", import.meta.url));
31
+ const initialized = requireStringResult(setLocaleBinding(LC_ALL, ""));
32
+ requireStringResult(bindTextDomainBinding(applicationId, localeDir));
33
+ requireStringResult(bindTextDomainCodesetBinding(applicationId, GETTEXT_CODESET));
34
+ requireStringResult(textDomainBinding(applicationId));
35
+
36
+ return initialized;
37
+ }
38
+
39
+ export { locale };