@astroscope/i18n 0.1.0 → 0.2.0

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.
Files changed (161) hide show
  1. package/README.md +21 -1
  2. package/dist/index.d.ts +23 -0
  3. package/dist/index.js +4 -0
  4. package/package.json +8 -7
  5. package/dist/babel-plugin-FUTQRKLT.js +0 -121
  6. package/dist/chunk-22ZZFFC2.js +0 -159
  7. package/dist/chunk-2PSXD3JJ.js +0 -144
  8. package/dist/chunk-3VI62RLT.js +0 -176
  9. package/dist/chunk-4DAQPWXI.js +0 -36
  10. package/dist/chunk-4OGX6AF5.js +0 -10
  11. package/dist/chunk-4PHYKXO3.js +0 -227
  12. package/dist/chunk-4UBFISFY.js +0 -376
  13. package/dist/chunk-5DERF6DV.js +0 -266
  14. package/dist/chunk-5KGNHFTC.js +0 -344
  15. package/dist/chunk-5PP4D2VK.js +0 -23
  16. package/dist/chunk-6BW3PN23.js +0 -14
  17. package/dist/chunk-6ESQ4JQI.js +0 -263
  18. package/dist/chunk-A7MPXMOP.js +0 -202
  19. package/dist/chunk-AWZ2SQDW.js +0 -149
  20. package/dist/chunk-AYY2YIBQ.js +0 -52
  21. package/dist/chunk-BMNEJFTD.js +0 -56
  22. package/dist/chunk-BSXQGEUK.js +0 -16
  23. package/dist/chunk-BSYTJFGF.js +0 -21
  24. package/dist/chunk-BVPXEGTT.js +0 -12
  25. package/dist/chunk-C4DJYWF6.js +0 -193
  26. package/dist/chunk-C5EJYE2P.js +0 -245
  27. package/dist/chunk-CLNOQHMS.js +0 -254
  28. package/dist/chunk-E5MCIRSU.js +0 -144
  29. package/dist/chunk-E7ZJS7WX.js +0 -162
  30. package/dist/chunk-ESFGCYYH.js +0 -24
  31. package/dist/chunk-FHBVI3TL.js +0 -372
  32. package/dist/chunk-FI5KZ5IO.js +0 -17
  33. package/dist/chunk-H5R6YMOL.js +0 -233
  34. package/dist/chunk-H62K3FGA.js +0 -236
  35. package/dist/chunk-HDG2R6XT.js +0 -211
  36. package/dist/chunk-HGXU5QAK.js +0 -344
  37. package/dist/chunk-HHRMR3TM.js +0 -17
  38. package/dist/chunk-HS4HVBAD.js +0 -127
  39. package/dist/chunk-IPJWKKHJ.js +0 -324
  40. package/dist/chunk-ITTL4V7J.js +0 -24
  41. package/dist/chunk-IWUBCMOK.js +0 -128
  42. package/dist/chunk-JJBBY2GR.js +0 -14
  43. package/dist/chunk-JTUKXNIJ.js +0 -23
  44. package/dist/chunk-K7YULG4A.js +0 -14
  45. package/dist/chunk-KNONI6DP.js +0 -89
  46. package/dist/chunk-LMTEO22Y.js +0 -17
  47. package/dist/chunk-LRLZEX4D.js +0 -147
  48. package/dist/chunk-MFKPLUAN.js +0 -241
  49. package/dist/chunk-MIWXQOO3.js +0 -316
  50. package/dist/chunk-MJRTAWPR.js +0 -261
  51. package/dist/chunk-MZEPQCXX.js +0 -249
  52. package/dist/chunk-NHHTSFA7.js +0 -237
  53. package/dist/chunk-NTTXM7AG.js +0 -23
  54. package/dist/chunk-NZFAVJXR.js +0 -192
  55. package/dist/chunk-OFNFSDW3.js +0 -13
  56. package/dist/chunk-PG3XDNGF.js +0 -227
  57. package/dist/chunk-PVEVTPNK.js +0 -139
  58. package/dist/chunk-QAO4BXS4.js +0 -244
  59. package/dist/chunk-QCTULQQK.js +0 -34
  60. package/dist/chunk-QKND2KCA.js +0 -163
  61. package/dist/chunk-QZEGY6RJ.js +0 -151
  62. package/dist/chunk-RAE2L6FT.js +0 -193
  63. package/dist/chunk-S3ABJBU3.js +0 -255
  64. package/dist/chunk-SVDVCPCV.js +0 -236
  65. package/dist/chunk-T35ZUWTL.js +0 -153
  66. package/dist/chunk-T6WV5DW6.js +0 -156
  67. package/dist/chunk-TGUXVDA3.js +0 -82
  68. package/dist/chunk-TYMO7K3A.js +0 -173
  69. package/dist/chunk-V4RBFLQL.js +0 -23
  70. package/dist/chunk-V4XWJXXZ.js +0 -23
  71. package/dist/chunk-VQCY3OKK.js +0 -258
  72. package/dist/chunk-WLGOJPDJ.js +0 -15
  73. package/dist/chunk-WUEPDJIL.js +0 -259
  74. package/dist/chunk-X3L7WZLY.js +0 -254
  75. package/dist/chunk-XDD62ZM3.js +0 -255
  76. package/dist/chunk-XFXXEDRD.js +0 -36
  77. package/dist/chunk-XKYOR5UK.js +0 -8
  78. package/dist/chunk-Y26535SI.js +0 -239
  79. package/dist/chunk-Y3PQX5TX.js +0 -152
  80. package/dist/chunk-Y4BE2V6F.js +0 -347
  81. package/dist/chunk-Z4IZYDIA.js +0 -24
  82. package/dist/chunk-Z52G4CYY.js +0 -14
  83. package/dist/chunk-ZGLUYWVM.js +0 -128
  84. package/dist/client/import-with-i18n.d.ts +0 -16
  85. package/dist/client/import-with-i18n.js +0 -8
  86. package/dist/client-directives/idle.d.ts +0 -9
  87. package/dist/client-directives/idle.js +0 -15
  88. package/dist/client-directives/load.d.ts +0 -9
  89. package/dist/client-directives/load.js +0 -15
  90. package/dist/client-directives/media.d.ts +0 -9
  91. package/dist/client-directives/media.js +0 -15
  92. package/dist/client-directives/only.d.ts +0 -9
  93. package/dist/client-directives/only.js +0 -15
  94. package/dist/client-directives/utils.d.ts +0 -9
  95. package/dist/client-directives/utils.js +0 -7
  96. package/dist/client-directives/visible.d.ts +0 -9
  97. package/dist/client-directives/visible.js +0 -15
  98. package/dist/i18n-3cZHoHwP.d.ts +0 -86
  99. package/dist/i18n-BHU81LMA.d.ts +0 -55
  100. package/dist/i18n-BagoeH4_.d.ts +0 -62
  101. package/dist/i18n-BeL84090.d.ts +0 -77
  102. package/dist/i18n-BeRWDfHi.d.ts +0 -55
  103. package/dist/i18n-Bfs2PVcf.d.ts +0 -79
  104. package/dist/i18n-BrL7p3aN.d.ts +0 -99
  105. package/dist/i18n-CNQNCFU0.d.ts +0 -55
  106. package/dist/i18n-CX_uU8V2.d.ts +0 -80
  107. package/dist/i18n-Cr1QZCwe.d.ts +0 -64
  108. package/dist/i18n-CzTRxGeX.d.ts +0 -80
  109. package/dist/i18n-DUOFiC7g.d.ts +0 -77
  110. package/dist/i18n-DcF47BHS.d.ts +0 -77
  111. package/dist/i18n-DifWvtaO.d.ts +0 -60
  112. package/dist/i18n-DumSqX1t.d.ts +0 -55
  113. package/dist/i18n-fWTJw12h.d.ts +0 -80
  114. package/dist/import-with-i18n.d.ts +0 -23
  115. package/dist/import-with-i18n.js +0 -7
  116. package/dist/init.d.ts +0 -2
  117. package/dist/init.js +0 -8
  118. package/dist/middleware-entrypoint-C0Drh9E_.d.ts +0 -29
  119. package/dist/middleware-entrypoint-mEl66IUy.d.ts +0 -29
  120. package/dist/middleware-entrypoint.d.ts +0 -5
  121. package/dist/middleware-entrypoint.js +0 -30
  122. package/dist/server/middleware-entrypoint.d.ts +0 -2
  123. package/dist/server/middleware-entrypoint.js +0 -28
  124. package/dist/t-BY_C9lZ1.d.ts +0 -30
  125. package/dist/t-CG3yDiEa.d.ts +0 -30
  126. package/dist/t-CHsBfrPr.d.ts +0 -30
  127. package/dist/t-DQpXaDhP.d.ts +0 -30
  128. package/dist/t.client.d.ts +0 -11
  129. package/dist/t.client.js +0 -35
  130. package/dist/t.server.d.ts +0 -22
  131. package/dist/t.server.js +0 -12
  132. package/dist/types-BC6K-pID.d.ts +0 -110
  133. package/dist/types-BUV7BZML.d.ts +0 -55
  134. package/dist/types-BWGB322F.d.ts +0 -46
  135. package/dist/types-BaaSiz9n.d.ts +0 -7
  136. package/dist/types-Bgl2V5xo.d.ts +0 -102
  137. package/dist/types-BwhB6IT4.d.ts +0 -111
  138. package/dist/types-C6rOJFY2.d.ts +0 -24
  139. package/dist/types-C7lD-Woj.d.ts +0 -50
  140. package/dist/types-CLWZeQhD.d.ts +0 -54
  141. package/dist/types-COXt613w.d.ts +0 -19
  142. package/dist/types-CUlkbl9-.d.ts +0 -50
  143. package/dist/types-CVv7GGPj.d.ts +0 -46
  144. package/dist/types-CiIDN2sW.d.ts +0 -64
  145. package/dist/types-Cr86qjYl.d.ts +0 -58
  146. package/dist/types-CxnObiEO.d.ts +0 -7
  147. package/dist/types-D44mFUjA.d.ts +0 -97
  148. package/dist/types-D85m9UTC.d.ts +0 -137
  149. package/dist/types-DWhsmSPP.d.ts +0 -102
  150. package/dist/types-DdprXGJ1.d.ts +0 -46
  151. package/dist/types-DhVJ2ZIo.d.ts +0 -43
  152. package/dist/types-DnbOuM1L.d.ts +0 -7
  153. package/dist/types-DsNK_9sI.d.ts +0 -24
  154. package/dist/types-DvWBr9Xp.d.ts +0 -17
  155. package/dist/types-DwkIalh6.d.ts +0 -24
  156. package/dist/types-OYRgjtE_.d.ts +0 -110
  157. package/dist/types-SV8S05GX.d.ts +0 -7
  158. package/dist/types-TYn9WnxY.d.ts +0 -46
  159. package/dist/types-aXCBbdhq.d.ts +0 -55
  160. package/dist/types-gn4aNKGx.d.ts +0 -54
  161. package/dist/types-nippsMkm.d.ts +0 -54
@@ -1,46 +0,0 @@
1
- /**
2
- * Variable definition for CMS/documentation
3
- */
4
- type VariableDef = {
5
- fallback?: string | undefined;
6
- description?: string | undefined;
7
- };
8
- /**
9
- * Metadata for a translation key - extracted at build time, synced to CMS
10
- */
11
- type TranslationMeta = {
12
- fallback: string;
13
- variables?: Record<string, VariableDef> | undefined;
14
- description?: string | undefined;
15
- };
16
- /**
17
- * Compiled translation ready for runtime use
18
- */
19
- type CompiledTranslation = (values?: Record<string, unknown> | undefined) => string;
20
- /**
21
- * Map of translation keys to compiled functions
22
- */
23
- type CompiledTranslations = Record<string, CompiledTranslation>;
24
- /**
25
- * Raw translation strings from CMS (before compilation)
26
- */
27
- type RawTranslations = Record<string, string>;
28
- /**
29
- * Translate function signature
30
- *
31
- * @param key - Translation key (e.g., 'checkout.title')
32
- * @param meta - Fallback string or full metadata object
33
- * @param values - Runtime values for interpolation
34
- *
35
- * @example
36
- * t('checkout.title', 'Order Summary')
37
- *
38
- * @example
39
- * t('cart.items', '{count, plural, one {# item} other {# items}}', { count: itemCount })
40
- *
41
- * @example
42
- * t('cart.total', { fallback: 'Total: {amount}', description: 'Cart total' }, { amount: '$49.99' })
43
- */
44
- type TranslateFunction = (key: string, meta: TranslationMeta | string, values?: Record<string, unknown> | undefined) => string;
45
-
46
- export type { CompiledTranslations as C, RawTranslations as R, TranslateFunction as T, VariableDef as V, TranslationMeta as a, CompiledTranslation as b };
@@ -1,43 +0,0 @@
1
- /**
2
- * Variable definition with optional example for CMS/documentation
3
- */
4
- type VariableDef = {
5
- example?: string;
6
- description?: string;
7
- };
8
- /**
9
- * Metadata for a translation key - extracted at build time, synced to CMS
10
- */
11
- type TranslationMeta = {
12
- example: string;
13
- variables?: Record<string, VariableDef>;
14
- description?: string;
15
- };
16
- /**
17
- * Compiled translation ready for runtime use
18
- */
19
- type CompiledTranslation = (values?: Record<string, unknown>) => string;
20
- /**
21
- * Map of translation keys to compiled functions
22
- */
23
- type CompiledTranslations = Record<string, CompiledTranslation>;
24
- /**
25
- * Raw translation strings from CMS (before compilation)
26
- */
27
- type RawTranslations = Record<string, string>;
28
- /**
29
- * Translate function signature
30
- *
31
- * @param key - Translation key (e.g., 'checkout.title')
32
- * @param meta - Example string or full metadata object
33
- * @param values - Runtime values for interpolation
34
- *
35
- * @example
36
- * t('checkout.title', 'Bestellübersicht')
37
- *
38
- * @example
39
- * t('cart.items', '{count, plural, one {# item} other {# items}}', { count: itemCount })
40
- */
41
- type TranslateFunction = (key: string, meta: TranslationMeta | string, values?: Record<string, unknown>) => string;
42
-
43
- export type { CompiledTranslations as C, RawTranslations as R, TranslateFunction as T, VariableDef as V, TranslationMeta as a, CompiledTranslation as b };
@@ -1,7 +0,0 @@
1
- import { I as I18nClientState } from './types-gn4aNKGx.js';
2
-
3
- declare global {
4
- interface Window {
5
- __i18n__: I18nClientState;
6
- }
7
- }
@@ -1,24 +0,0 @@
1
- import { T as TranslationMeta } from './types-CiIDN2sW.js';
2
-
3
- /**
4
- * Extracted metadata for a single translation key
5
- */
6
- type ExtractedKey = {
7
- key: string;
8
- meta: TranslationMeta;
9
- file: string;
10
- line: number;
11
- };
12
- /**
13
- * Chunk-to-keys mapping produced by Vite plugin
14
- */
15
- type ChunkManifest = Record<string, string[]>;
16
- /**
17
- * Full extraction manifest
18
- */
19
- type ExtractionManifest = {
20
- keys: ExtractedKey[];
21
- chunks: ChunkManifest;
22
- };
23
-
24
- export type { ChunkManifest as C, ExtractedKey as E, ExtractionManifest as a };
@@ -1,17 +0,0 @@
1
- /**
2
- * Client-side types
3
- */
4
- /**
5
- * Client-side i18n state stored on window.__i18n__
6
- * Fallback is handled server-side; client just uses example from t() call if missing
7
- */
8
- type I18nClientState = {
9
- locale: string;
10
- hashes: Record<string, string>;
11
- translations: Record<string, string>;
12
- };
13
- declare global {
14
- interface Window {
15
- __i18n__: I18nClientState;
16
- }
17
- }
@@ -1,24 +0,0 @@
1
- import { T as TranslationMeta } from './types-gn4aNKGx.js';
2
-
3
- /**
4
- * Extracted metadata for a single translation key
5
- */
6
- type ExtractedKey = {
7
- key: string;
8
- meta: TranslationMeta;
9
- file: string;
10
- line: number;
11
- };
12
- /**
13
- * Chunk-to-keys mapping produced by Vite plugin
14
- */
15
- type ChunkManifest = Record<string, string[]>;
16
- /**
17
- * Full extraction manifest
18
- */
19
- type ExtractionManifest = {
20
- keys: ExtractedKey[];
21
- chunks: ChunkManifest;
22
- };
23
-
24
- export type { ChunkManifest as C, ExtractedKey as E, ExtractionManifest as a };
@@ -1,110 +0,0 @@
1
- /**
2
- * Variable definition with optional example for CMS/documentation
3
- */
4
- type VariableDef = {
5
- example?: string;
6
- description?: string;
7
- };
8
- /**
9
- * Metadata for a translation key - extracted at build time, synced to CMS
10
- */
11
- type TranslationMeta = {
12
- example: string;
13
- variables?: Record<string, VariableDef>;
14
- description?: string;
15
- };
16
- /**
17
- * Compiled translation ready for runtime use
18
- */
19
- type CompiledTranslation = (values?: Record<string, unknown>) => string;
20
- /**
21
- * Map of translation keys to compiled functions
22
- */
23
- type CompiledTranslations = Record<string, CompiledTranslation>;
24
- /**
25
- * Raw translation strings from CMS (before compilation)
26
- */
27
- type RawTranslations = Record<string, string>;
28
- /**
29
- * Extracted metadata for a single translation key
30
- */
31
- type ExtractedKey = {
32
- key: string;
33
- meta: TranslationMeta;
34
- file: string;
35
- line: number;
36
- };
37
- /**
38
- * Chunk-to-keys mapping produced by Vite plugin
39
- */
40
- type ChunkManifest = Record<string, string[]>;
41
- /**
42
- * Full extraction manifest
43
- */
44
- type ExtractionManifest = {
45
- keys: ExtractedKey[];
46
- chunks: ChunkManifest;
47
- };
48
- /**
49
- * Fallback behavior when translation is missing
50
- */
51
- type FallbackBehavior = 'key' | 'example' | 'throw' | ((key: string, meta?: TranslationMeta) => string);
52
- /**
53
- * CMS adapter interface
54
- */
55
- type CmsAdapter = {
56
- /**
57
- * Fetch translations for given locale and keys
58
- */
59
- fetch: (locale: string, keys: string[]) => Promise<RawTranslations>;
60
- /**
61
- * Sync extracted keys to CMS (push metadata)
62
- */
63
- sync?: (manifest: ExtractionManifest) => Promise<void>;
64
- };
65
- /**
66
- * Integration options
67
- */
68
- type I18nIntegrationOptions = {
69
- /**
70
- * Supported locales
71
- */
72
- locales: string[];
73
- /**
74
- * Default locale
75
- */
76
- defaultLocale: string;
77
- /**
78
- * Fallback behavior when translation is missing
79
- * @default 'example'
80
- */
81
- fallback?: FallbackBehavior;
82
- /**
83
- * CMS adapter for fetching/syncing translations
84
- */
85
- cms: CmsAdapter;
86
- /**
87
- * Function to detect locale from request
88
- * @default reads from Astro.currentLocale or Accept-Language header
89
- */
90
- detectLocale?: (request: Request) => string;
91
- };
92
- /**
93
- * Request-scoped i18n context
94
- */
95
- type I18nContext = {
96
- locale: string;
97
- translations: CompiledTranslations;
98
- fallback: FallbackBehavior;
99
- meta: Record<string, TranslationMeta>;
100
- };
101
- /**
102
- * Global i18n config (from virtual module)
103
- */
104
- type I18nConfig = {
105
- locales: string[];
106
- defaultLocale: string;
107
- fallback: FallbackBehavior;
108
- };
109
-
110
- export type { CmsAdapter as C, ExtractedKey as E, FallbackBehavior as F, I18nIntegrationOptions as I, RawTranslations as R, TranslationMeta as T, VariableDef as V, CompiledTranslation as a, CompiledTranslations as b, ChunkManifest as c, ExtractionManifest as d, I18nContext as e, I18nConfig as f };
@@ -1,7 +0,0 @@
1
- import { I as I18nClientState } from './types-nippsMkm.js';
2
-
3
- declare global {
4
- interface Window {
5
- __i18n__: I18nClientState;
6
- }
7
- }
@@ -1,46 +0,0 @@
1
- /**
2
- * Variable definition for CMS/documentation
3
- */
4
- type VariableDef = {
5
- fallback?: string;
6
- description?: string;
7
- };
8
- /**
9
- * Metadata for a translation key - extracted at build time, synced to CMS
10
- */
11
- type TranslationMeta = {
12
- fallback: string;
13
- variables?: Record<string, VariableDef>;
14
- description?: string;
15
- };
16
- /**
17
- * Compiled translation ready for runtime use
18
- */
19
- type CompiledTranslation = (values?: Record<string, unknown>) => string;
20
- /**
21
- * Map of translation keys to compiled functions
22
- */
23
- type CompiledTranslations = Record<string, CompiledTranslation>;
24
- /**
25
- * Raw translation strings from CMS (before compilation)
26
- */
27
- type RawTranslations = Record<string, string>;
28
- /**
29
- * Translate function signature
30
- *
31
- * @param key - Translation key (e.g., 'checkout.title')
32
- * @param meta - Fallback string or full metadata object
33
- * @param values - Runtime values for interpolation
34
- *
35
- * @example
36
- * t('checkout.title', 'Order Summary')
37
- *
38
- * @example
39
- * t('cart.items', '{count, plural, one {# item} other {# items}}', { count: itemCount })
40
- *
41
- * @example
42
- * t('cart.total', { fallback: 'Total: {amount}', description: 'Cart total' }, { amount: '$49.99' })
43
- */
44
- type TranslateFunction = (key: string, meta: TranslationMeta | string, values?: Record<string, unknown>) => string;
45
-
46
- export type { CompiledTranslations as C, RawTranslations as R, TranslateFunction as T, VariableDef as V, TranslationMeta as a, CompiledTranslation as b };
@@ -1,55 +0,0 @@
1
- /**
2
- * Variable definition with optional example for CMS/documentation
3
- */
4
- type VariableDef = {
5
- example?: string;
6
- description?: string;
7
- };
8
- /**
9
- * Metadata for a translation key - extracted at build time, synced to CMS
10
- */
11
- type TranslationMeta = {
12
- example: string;
13
- variables?: Record<string, VariableDef>;
14
- description?: string;
15
- };
16
- /**
17
- * Compiled translation ready for runtime use
18
- */
19
- type CompiledTranslation = (values?: Record<string, unknown>) => string;
20
- /**
21
- * Map of translation keys to compiled functions
22
- */
23
- type CompiledTranslations = Record<string, CompiledTranslation>;
24
- /**
25
- * Raw translation strings from CMS (before compilation)
26
- */
27
- type RawTranslations = Record<string, string>;
28
- /**
29
- * Translate function signature
30
- *
31
- * @param key - Translation key (e.g., 'checkout.title')
32
- * @param meta - Metadata with example and variable definitions (extracted at build time)
33
- * @param values - Runtime values for interpolation
34
- * @returns Translated string
35
- *
36
- * @example
37
- * // Simple
38
- * t('checkout.title', { example: 'Bestellübersicht' })
39
- *
40
- * @example
41
- * // With variables
42
- * t('checkout.tax', {
43
- * example: 'Enthält {name} MwSt.',
44
- * variables: { name: { example: '19%' } }
45
- * }, { name: taxRate })
46
- *
47
- * @example
48
- * // Pluralization (ICU)
49
- * t('cart.items', {
50
- * example: '{count, plural, one {# item} other {# items}}'
51
- * }, { count: itemCount })
52
- */
53
- type TranslateFunction = (key: string, meta: TranslationMeta, values?: Record<string, unknown>) => string;
54
-
55
- export type { CompiledTranslations as C, RawTranslations as R, TranslateFunction as T, VariableDef as V, TranslationMeta as a, CompiledTranslation as b };
@@ -1,54 +0,0 @@
1
- /**
2
- * Variable definition for documentation
3
- */
4
- type VariableDef = {
5
- fallback?: string | undefined;
6
- description?: string | undefined;
7
- };
8
- /**
9
- * Metadata for a translation key - extracted at build time
10
- */
11
- type TranslationMeta = {
12
- fallback: string;
13
- variables?: Record<string, VariableDef> | undefined;
14
- description?: string | undefined;
15
- };
16
- /**
17
- * Compiled translation ready for runtime use
18
- */
19
- type CompiledTranslation = (values?: Record<string, unknown> | undefined) => string;
20
- /**
21
- * Map of translation keys to compiled functions
22
- */
23
- type CompiledTranslations = Record<string, CompiledTranslation>;
24
- /**
25
- * Raw translation strings (before compilation)
26
- */
27
- type RawTranslations = Record<string, string>;
28
- /**
29
- * Client-side i18n state injected into window.__i18n__
30
- */
31
- type I18nClientState = {
32
- locale: string;
33
- hashes: Record<string, string>;
34
- translations: Record<string, string>;
35
- };
36
- /**
37
- * Translate function signature
38
- *
39
- * @param key - Translation key (e.g., 'checkout.title')
40
- * @param meta - Fallback string or full metadata object
41
- * @param values - Runtime values for interpolation
42
- *
43
- * @example
44
- * t('checkout.title', 'Order Summary')
45
- *
46
- * @example
47
- * t('cart.items', '{count, plural, one {# item} other {# items}}', { count: itemCount })
48
- *
49
- * @example
50
- * t('cart.total', { fallback: 'Total: {amount}', description: 'Cart total' }, { amount: '$49.99' })
51
- */
52
- type TranslateFunction = (key: string, meta: TranslationMeta | string, values?: Record<string, unknown> | undefined) => string;
53
-
54
- export type { CompiledTranslations as C, I18nClientState as I, RawTranslations as R, TranslationMeta as T, TranslateFunction as a };
@@ -1,54 +0,0 @@
1
- /**
2
- * Variable definition for CMS/documentation
3
- */
4
- type VariableDef = {
5
- fallback?: string | undefined;
6
- description?: string | undefined;
7
- };
8
- /**
9
- * Metadata for a translation key - extracted at build time, synced to CMS
10
- */
11
- type TranslationMeta = {
12
- fallback: string;
13
- variables?: Record<string, VariableDef> | undefined;
14
- description?: string | undefined;
15
- };
16
- /**
17
- * Compiled translation ready for runtime use
18
- */
19
- type CompiledTranslation = (values?: Record<string, unknown> | undefined) => string;
20
- /**
21
- * Map of translation keys to compiled functions
22
- */
23
- type CompiledTranslations = Record<string, CompiledTranslation>;
24
- /**
25
- * Raw translation strings from CMS (before compilation)
26
- */
27
- type RawTranslations = Record<string, string>;
28
- /**
29
- * Client-side i18n state injected into window.__i18n__
30
- */
31
- type I18nClientState = {
32
- locale: string;
33
- hashes: Record<string, string>;
34
- translations: Record<string, string>;
35
- };
36
- /**
37
- * Translate function signature
38
- *
39
- * @param key - Translation key (e.g., 'checkout.title')
40
- * @param meta - Fallback string or full metadata object
41
- * @param values - Runtime values for interpolation
42
- *
43
- * @example
44
- * t('checkout.title', 'Order Summary')
45
- *
46
- * @example
47
- * t('cart.items', '{count, plural, one {# item} other {# items}}', { count: itemCount })
48
- *
49
- * @example
50
- * t('cart.total', { fallback: 'Total: {amount}', description: 'Cart total' }, { amount: '$49.99' })
51
- */
52
- type TranslateFunction = (key: string, meta: TranslationMeta | string, values?: Record<string, unknown> | undefined) => string;
53
-
54
- export type { CompiledTranslations as C, I18nClientState as I, RawTranslations as R, TranslationMeta as T, TranslateFunction as a };