@intlayer/docs 8.0.0 → 8.0.1-canary.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.
Files changed (172) hide show
  1. package/dist/cjs/generated/docs.entry.cjs +160 -0
  2. package/dist/cjs/generated/docs.entry.cjs.map +1 -1
  3. package/dist/esm/generated/docs.entry.mjs +160 -0
  4. package/dist/esm/generated/docs.entry.mjs.map +1 -1
  5. package/dist/types/generated/docs.entry.d.ts +8 -0
  6. package/dist/types/generated/docs.entry.d.ts.map +1 -1
  7. package/docs/ar/intlayer_with_adonisjs.md +394 -0
  8. package/docs/ar/intlayer_with_hono.md +223 -0
  9. package/docs/ar/intlayer_with_vite+preact.md +317 -675
  10. package/docs/ar/packages/adonis-intlayer/exports.md +50 -0
  11. package/docs/ar/packages/adonis-intlayer/intlayer.md +54 -0
  12. package/docs/ar/packages/adonis-intlayer/t.md +149 -0
  13. package/docs/ar/packages/hono-intlayer/exports.md +59 -0
  14. package/docs/ar/packages/hono-intlayer/intlayer.md +60 -0
  15. package/docs/ar/packages/hono-intlayer/t.md +268 -0
  16. package/docs/de/intlayer_with_adonisjs.md +392 -0
  17. package/docs/de/intlayer_with_hono.md +418 -0
  18. package/docs/de/intlayer_with_vite+preact.md +272 -632
  19. package/docs/de/packages/adonis-intlayer/exports.md +50 -0
  20. package/docs/de/packages/adonis-intlayer/intlayer.md +54 -0
  21. package/docs/de/packages/adonis-intlayer/t.md +149 -0
  22. package/docs/de/packages/hono-intlayer/exports.md +59 -0
  23. package/docs/de/packages/hono-intlayer/intlayer.md +59 -0
  24. package/docs/de/packages/hono-intlayer/t.md +316 -0
  25. package/docs/en/index.md +8 -0
  26. package/docs/en/intlayer_with_adonisjs.md +388 -0
  27. package/docs/en/intlayer_with_hono.md +418 -0
  28. package/docs/en/intlayer_with_vite+preact.md +171 -556
  29. package/docs/en/introduction.md +1 -0
  30. package/docs/en/packages/adonis-intlayer/exports.md +50 -0
  31. package/docs/en/packages/adonis-intlayer/intlayer.md +54 -0
  32. package/docs/en/packages/adonis-intlayer/t.md +149 -0
  33. package/docs/en/packages/hono-intlayer/exports.md +59 -0
  34. package/docs/en/packages/hono-intlayer/intlayer.md +59 -0
  35. package/docs/en/packages/hono-intlayer/t.md +316 -0
  36. package/docs/en-GB/intlayer_with_adonisjs.md +394 -0
  37. package/docs/en-GB/intlayer_with_hono.md +418 -0
  38. package/docs/en-GB/intlayer_with_vite+preact.md +236 -583
  39. package/docs/en-GB/packages/adonis-intlayer/exports.md +50 -0
  40. package/docs/en-GB/packages/adonis-intlayer/intlayer.md +54 -0
  41. package/docs/en-GB/packages/adonis-intlayer/t.md +149 -0
  42. package/docs/en-GB/packages/hono-intlayer/exports.md +59 -0
  43. package/docs/en-GB/packages/hono-intlayer/intlayer.md +59 -0
  44. package/docs/en-GB/packages/hono-intlayer/t.md +316 -0
  45. package/docs/es/intlayer_with_adonisjs.md +388 -0
  46. package/docs/es/intlayer_with_hono.md +418 -0
  47. package/docs/es/intlayer_with_vite+preact.md +286 -650
  48. package/docs/es/packages/adonis-intlayer/exports.md +50 -0
  49. package/docs/es/packages/adonis-intlayer/intlayer.md +54 -0
  50. package/docs/es/packages/adonis-intlayer/t.md +149 -0
  51. package/docs/es/packages/hono-intlayer/exports.md +59 -0
  52. package/docs/es/packages/hono-intlayer/intlayer.md +59 -0
  53. package/docs/es/packages/hono-intlayer/t.md +316 -0
  54. package/docs/fr/intlayer_with_adonisjs.md +388 -0
  55. package/docs/fr/intlayer_with_hono.md +418 -0
  56. package/docs/fr/intlayer_with_vite+preact.md +274 -614
  57. package/docs/fr/packages/adonis-intlayer/exports.md +50 -0
  58. package/docs/fr/packages/adonis-intlayer/intlayer.md +54 -0
  59. package/docs/fr/packages/adonis-intlayer/t.md +149 -0
  60. package/docs/fr/packages/hono-intlayer/exports.md +59 -0
  61. package/docs/fr/packages/hono-intlayer/intlayer.md +59 -0
  62. package/docs/fr/packages/hono-intlayer/t.md +316 -0
  63. package/docs/hi/intlayer_with_adonisjs.md +394 -0
  64. package/docs/hi/intlayer_with_hono.md +227 -0
  65. package/docs/hi/intlayer_with_vite+preact.md +304 -680
  66. package/docs/hi/packages/adonis-intlayer/exports.md +50 -0
  67. package/docs/hi/packages/adonis-intlayer/intlayer.md +54 -0
  68. package/docs/hi/packages/adonis-intlayer/t.md +149 -0
  69. package/docs/hi/packages/hono-intlayer/exports.md +59 -0
  70. package/docs/hi/packages/hono-intlayer/intlayer.md +60 -0
  71. package/docs/hi/packages/hono-intlayer/t.md +268 -0
  72. package/docs/id/intlayer_with_adonisjs.md +394 -0
  73. package/docs/id/intlayer_with_hono.md +227 -0
  74. package/docs/id/intlayer_with_vite+preact.md +297 -697
  75. package/docs/id/packages/adonis-intlayer/exports.md +50 -0
  76. package/docs/id/packages/adonis-intlayer/intlayer.md +54 -0
  77. package/docs/id/packages/adonis-intlayer/t.md +149 -0
  78. package/docs/id/packages/hono-intlayer/exports.md +59 -0
  79. package/docs/id/packages/hono-intlayer/intlayer.md +60 -0
  80. package/docs/id/packages/hono-intlayer/t.md +268 -0
  81. package/docs/it/intlayer_with_adonisjs.md +394 -0
  82. package/docs/it/intlayer_with_hono.md +227 -0
  83. package/docs/it/intlayer_with_vite+preact.md +290 -659
  84. package/docs/it/packages/adonis-intlayer/exports.md +50 -0
  85. package/docs/it/packages/adonis-intlayer/intlayer.md +54 -0
  86. package/docs/it/packages/adonis-intlayer/t.md +149 -0
  87. package/docs/it/packages/hono-intlayer/exports.md +59 -0
  88. package/docs/it/packages/hono-intlayer/intlayer.md +60 -0
  89. package/docs/it/packages/hono-intlayer/t.md +268 -0
  90. package/docs/ja/intlayer_with_adonisjs.md +394 -0
  91. package/docs/ja/intlayer_with_hono.md +227 -0
  92. package/docs/ja/intlayer_with_vite+preact.md +307 -662
  93. package/docs/ja/packages/adonis-intlayer/exports.md +50 -0
  94. package/docs/ja/packages/adonis-intlayer/intlayer.md +54 -0
  95. package/docs/ja/packages/adonis-intlayer/t.md +149 -0
  96. package/docs/ja/packages/hono-intlayer/exports.md +59 -0
  97. package/docs/ja/packages/hono-intlayer/intlayer.md +60 -0
  98. package/docs/ja/packages/hono-intlayer/t.md +268 -0
  99. package/docs/ko/intlayer_with_adonisjs.md +394 -0
  100. package/docs/ko/intlayer_with_hono.md +227 -0
  101. package/docs/ko/intlayer_with_vite+preact.md +303 -703
  102. package/docs/ko/packages/adonis-intlayer/exports.md +50 -0
  103. package/docs/ko/packages/adonis-intlayer/intlayer.md +54 -0
  104. package/docs/ko/packages/adonis-intlayer/t.md +149 -0
  105. package/docs/ko/packages/hono-intlayer/exports.md +59 -0
  106. package/docs/ko/packages/hono-intlayer/intlayer.md +60 -0
  107. package/docs/ko/packages/hono-intlayer/t.md +268 -0
  108. package/docs/pl/intlayer_with_adonisjs.md +394 -0
  109. package/docs/pl/intlayer_with_hono.md +227 -0
  110. package/docs/pl/intlayer_with_vite+preact.md +289 -690
  111. package/docs/pl/packages/adonis-intlayer/exports.md +50 -0
  112. package/docs/pl/packages/adonis-intlayer/intlayer.md +54 -0
  113. package/docs/pl/packages/adonis-intlayer/t.md +149 -0
  114. package/docs/pl/packages/hono-intlayer/exports.md +59 -0
  115. package/docs/pl/packages/hono-intlayer/intlayer.md +60 -0
  116. package/docs/pl/packages/hono-intlayer/t.md +268 -0
  117. package/docs/pt/intlayer_with_adonisjs.md +394 -0
  118. package/docs/pt/intlayer_with_hono.md +227 -0
  119. package/docs/pt/intlayer_with_vite+preact.md +275 -637
  120. package/docs/pt/packages/adonis-intlayer/exports.md +50 -0
  121. package/docs/pt/packages/adonis-intlayer/intlayer.md +54 -0
  122. package/docs/pt/packages/adonis-intlayer/t.md +149 -0
  123. package/docs/pt/packages/hono-intlayer/exports.md +59 -0
  124. package/docs/pt/packages/hono-intlayer/intlayer.md +60 -0
  125. package/docs/pt/packages/hono-intlayer/t.md +268 -0
  126. package/docs/ru/intlayer_with_adonisjs.md +393 -0
  127. package/docs/ru/intlayer_with_hono.md +223 -0
  128. package/docs/ru/intlayer_with_vite+preact.md +319 -683
  129. package/docs/ru/packages/adonis-intlayer/exports.md +50 -0
  130. package/docs/ru/packages/adonis-intlayer/intlayer.md +54 -0
  131. package/docs/ru/packages/adonis-intlayer/t.md +149 -0
  132. package/docs/ru/packages/hono-intlayer/exports.md +59 -0
  133. package/docs/ru/packages/hono-intlayer/intlayer.md +60 -0
  134. package/docs/ru/packages/hono-intlayer/t.md +268 -0
  135. package/docs/tr/intlayer_with_adonisjs.md +394 -0
  136. package/docs/tr/intlayer_with_hono.md +227 -0
  137. package/docs/tr/intlayer_with_vite+preact.md +332 -665
  138. package/docs/tr/packages/adonis-intlayer/exports.md +50 -0
  139. package/docs/tr/packages/adonis-intlayer/intlayer.md +54 -0
  140. package/docs/tr/packages/adonis-intlayer/t.md +149 -0
  141. package/docs/tr/packages/hono-intlayer/exports.md +59 -0
  142. package/docs/tr/packages/hono-intlayer/intlayer.md +60 -0
  143. package/docs/tr/packages/hono-intlayer/t.md +268 -0
  144. package/docs/uk/intlayer_with_adonisjs.md +394 -0
  145. package/docs/uk/intlayer_with_hono.md +227 -0
  146. package/docs/uk/intlayer_with_vite+preact.md +228 -626
  147. package/docs/uk/packages/adonis-intlayer/exports.md +50 -0
  148. package/docs/uk/packages/adonis-intlayer/intlayer.md +54 -0
  149. package/docs/uk/packages/adonis-intlayer/t.md +149 -0
  150. package/docs/uk/packages/hono-intlayer/exports.md +59 -0
  151. package/docs/uk/packages/hono-intlayer/intlayer.md +60 -0
  152. package/docs/uk/packages/hono-intlayer/t.md +268 -0
  153. package/docs/vi/intlayer_with_adonisjs.md +394 -0
  154. package/docs/vi/intlayer_with_hono.md +227 -0
  155. package/docs/vi/intlayer_with_vite+preact.md +294 -679
  156. package/docs/vi/packages/adonis-intlayer/exports.md +50 -0
  157. package/docs/vi/packages/adonis-intlayer/intlayer.md +54 -0
  158. package/docs/vi/packages/adonis-intlayer/t.md +149 -0
  159. package/docs/vi/packages/hono-intlayer/exports.md +59 -0
  160. package/docs/vi/packages/hono-intlayer/intlayer.md +60 -0
  161. package/docs/vi/packages/hono-intlayer/t.md +268 -0
  162. package/docs/zh/intlayer_with_adonisjs.md +393 -0
  163. package/docs/zh/intlayer_with_hono.md +418 -0
  164. package/docs/zh/intlayer_with_vite+preact.md +338 -743
  165. package/docs/zh/packages/adonis-intlayer/exports.md +50 -0
  166. package/docs/zh/packages/adonis-intlayer/intlayer.md +54 -0
  167. package/docs/zh/packages/adonis-intlayer/t.md +149 -0
  168. package/docs/zh/packages/hono-intlayer/exports.md +59 -0
  169. package/docs/zh/packages/hono-intlayer/intlayer.md +60 -0
  170. package/docs/zh/packages/hono-intlayer/t.md +294 -0
  171. package/package.json +6 -6
  172. package/src/generated/docs.entry.ts +160 -0
@@ -0,0 +1,50 @@
1
+ ---
2
+ createdAt: 2026-01-30
3
+ updatedAt: 2026-01-30
4
+ title: adonis-intlayer Paketdokumentation
5
+ description: AdonisJS-Middleware für Intlayer, die Übersetzungsfunktionen und Locale-Erkennung bereitstellt.
6
+ keywords:
7
+ - adonis-intlayer
8
+ - adonisjs
9
+ - middleware
10
+ - Internationalisierung
11
+ - i18n
12
+ slugs:
13
+ - doc
14
+ - packages
15
+ - adonis-intlayer
16
+ - exports
17
+ history:
18
+ - version: 8.0.0
19
+ date: 2026-01-30
20
+ changes: Initiale Dokumentation
21
+ ---
22
+
23
+ # adonis-intlayer Paket
24
+
25
+ Das Paket `adonis-intlayer` bietet eine Middleware für AdonisJS-Anwendungen zur Handhabung der Internationalisierung. Es erkennt die Locale des Benutzers und stellt Übersetzungsfunktionen bereit.
26
+
27
+ ## Installation
28
+
29
+ ```bash
30
+ npm install adonis-intlayer
31
+ ```
32
+
33
+ ## Exporte
34
+
35
+ ### Middleware
36
+
37
+ Das Paket bietet eine AdonisJS-Middleware zur Handhabung der Internationalisierung.
38
+
39
+ | Funktion | Beschreibung | Zugehörige Dokumentation |
40
+ | -------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- |
41
+ | `IntlayerMiddleware` | AdonisJS-Middleware, die die Locale des Benutzers erkennt und den Anfragekontext mit Intlayer-Daten füllt. Sie richtet außerdem einen CLS (Async Local Storage)-Namensraum für den Zugriff auf den Anfrage-Lebenszyklus ein, was die Verwendung globaler Funktionen wie `t`, `getIntlayer` usw. ermöglicht. | [intlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/de/packages/adonis-intlayer/intlayer.md) |
42
+
43
+ ### Funktionen
44
+
45
+ | Funktion | Beschreibung | Zugehörige Dokumentation |
46
+ | --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ |
47
+ | `t` | Übersetzungsfunktion, die Inhalte für die aktuelle Locale abruft. Funktioniert innerhalb des Anfrage-Lebenszyklus, der von der `intlayer`-Middleware verwaltet wird. Verwendet CLS (Async Local Storage), um auf den Anfragekontext zuzugreifen. | [translation](https://github.com/aymericzip/intlayer/blob/main/docs/docs/de/dictionary/translation.md) |
48
+ | `getIntlayer` | Ruft ein Wörterbuch anhand seines Schlüssels aus der generierten Deklaration ab und gibt dessen Inhalt für die angegebene Locale zurück. Optimierte Version von `getDictionary`. Verwendet CLS, um auf den Anfragekontext zuzugreifen. | - |
49
+ | `getDictionary` | Verarbeitet Wörterbuchobjekte und gibt Inhalte für die angegebene Locale zurück. Verarbeitet `t()`-Übersetzungen, Enumerationen, Markdown, HTML usw. Verwendet CLS, um auf den Anfragekontext zuzugreifen. | - |
50
+ | `getLocale` | Ruft die aktuelle Locale über CLS aus dem Anfragekontext ab. | - |
@@ -0,0 +1,54 @@
1
+ ---
2
+ createdAt: 2026-01-30
3
+ updatedAt: 2026-01-30
4
+ title: intlayer AdonisJS Middleware Dokumentation | adonis-intlayer
5
+ description: Sehen Sie, wie Sie die intlayer-Middleware für das adonis-intlayer-Paket verwenden
6
+ keywords:
7
+ - intlayer
8
+ - adonisjs
9
+ - middleware
10
+ - Intlayer
11
+ - Internationalisierung
12
+ - Dokumentation
13
+ slugs:
14
+ - doc
15
+ - packages
16
+ - adonis-intlayer
17
+ - intlayer
18
+ history:
19
+ - version: 8.0.0
20
+ date: 2026-01-30
21
+ changes: Initiale Dokumentation
22
+ ---
23
+
24
+ # intlayer AdonisJS Middleware Dokumentation
25
+
26
+ Die `intlayer`-Middleware für AdonisJS erkennt die Locale des Benutzers und stellt Übersetzungsfunktionen über den Anfragekontext bereit. Sie ermöglicht auch die Verwendung globaler Übersetzungsfunktionen innerhalb des Anfrageflusses.
27
+
28
+ ## Verwendung
29
+
30
+ ```ts fileName="start/kernel.ts"
31
+ router.use([() => import("adonis-intlayer/middleware")]);
32
+ ```
33
+
34
+ ```ts fileName="start/routes.ts"
35
+ import router from "@adonisjs/core/services/router";
36
+ import { t } from "adonis-intlayer";
37
+
38
+ router.get("/", async () => {
39
+ return t({
40
+ en: "Hello",
41
+ fr: "Bonjour",
42
+ });
43
+ });
44
+ ```
45
+
46
+ ## Beschreibung
47
+
48
+ Die Middleware führt die folgenden Aufgaben aus:
49
+
50
+ 1. **Locale-Erkennung**: Sie analysiert die Anfrage (Header, Cookies usw.), um die bevorzugte Locale des Benutzers zu bestimmen.
51
+ 2. **Kontext-Einrichtung**: Sie füllt den Anfragekontext mit Locale-Informationen.
52
+ 3. **Async Local Storage**: Sie verwendet `cls-hooked`, um einen asynchronen Kontext zu verwalten, der es globalen Intlayer-Funktionen wie `t`, `getIntlayer` und `getDictionary` ermöglicht, auf die anfragespezifische Locale zuzugreifen, ohne sie manuell übergeben zu müssen.
53
+
54
+ > Hinweis: Um Cookies für die Locale-Erkennung zu verwenden, stellen Sie sicher, dass `@adonisjs/cookie` konfiguriert ist und in Ihrer Anwendung verwendet wird.
@@ -0,0 +1,149 @@
1
+ ---
2
+ createdAt: 2026-01-30
3
+ updatedAt: 2026-01-30
4
+ title: t-Funktion Dokumentation | adonis-intlayer
5
+ description: Sehen Sie, wie Sie die t-Funktion für das adonis-intlayer-Paket verwenden
6
+ keywords:
7
+ - t
8
+ - Übersetzung
9
+ - Intlayer
10
+ - Internationalisierung
11
+ - Dokumentation
12
+ - AdonisJS
13
+ - JavaScript
14
+ slugs:
15
+ - doc
16
+ - packages
17
+ - adonis-intlayer
18
+ - t
19
+ history:
20
+ - version: 8.0.0
21
+ date: 2026-01-30
22
+ changes: Initiale Dokumentation
23
+ ---
24
+
25
+ # Dokumentation: `t`-Funktion in `adonis-intlayer`
26
+
27
+ Die `t`-Funktion im Paket `adonis-intlayer` ist das Kernwerkzeug zur Bereitstellung lokalisierter Antworten in Ihrer AdonisJS-Anwendung. Sie vereinfacht die Internationalisierung (i18n), indem sie Inhalte dynamisch basierend auf der bevorzugten Sprache des Benutzers auswählt.
28
+
29
+ ---
30
+
31
+ ## Übersicht
32
+
33
+ Die `t`-Funktion wird verwendet, um Übersetzungen für einen bestimmten Satz von Sprachen zu definieren und abzurufen. Sie bestimmt automatisch die geeignete Sprache für die Rückgabe basierend auf den Anfrageeinstellungen des Clients, wie dem `Accept-Language`-Header. Wenn die bevorzugte Sprache nicht verfügbar ist, fällt sie elegant auf die in Ihrer Konfiguration angegebene Standard-Locale zurück.
34
+
35
+ ---
36
+
37
+ ## Hauptmerkmale
38
+
39
+ - **Dynamische Lokalisierung**: Wählt automatisch die am besten geeignete Übersetzung für den Client aus.
40
+ - **Fallback auf Standard-Locale**: Fällt auf eine Standard-Locale zurück, wenn die bevorzugte Sprache des Clients nicht verfügbar ist, um die Kontinuität des Benutzererlebnisses zu gewährleisten.
41
+ - **Asynchroner Kontext**: Arbeitet nahtlos innerhalb des AdonisJS-Anfrage-Lebenszyklus unter Verwendung von Async Local Storage.
42
+ - **TypeScript-Unterstützung**: Erzwingen Sie Typsicherheit für Ihre Übersetzungen.
43
+
44
+ ---
45
+
46
+ ## Funktionssignatur
47
+
48
+ ```typescript
49
+ t(translations: Record<string, any>): any;
50
+ ```
51
+
52
+ ### Parameter
53
+
54
+ - `translations`: Ein Objekt, bei dem die Schlüssel Locale-Codes sind (z. B. `en`, `fr`, `es`) und die Werte die entsprechenden übersetzten Inhalte.
55
+
56
+ ### Rückgabewerte
57
+
58
+ - Der Inhalt, der die bevorzugte Sprache des Clients repräsentiert.
59
+
60
+ ---
61
+
62
+ ## Laden der Middleware
63
+
64
+ Um sicherzustellen, dass die `t`-Funktion korrekt funktioniert, **müssen** Sie die `intlayer`-Middleware in Ihrer AdonisJS-Anwendung registrieren.
65
+
66
+ ```typescript fileName="start/kernel.ts"
67
+ router.use([() => import("adonis-intlayer/middleware")]);
68
+ ```
69
+
70
+ ---
71
+
72
+ ## Anwendungsbeispiele
73
+
74
+ ### Basispiel
75
+
76
+ ```typescript fileName="start/routes.ts"
77
+ import router from "@adonisjs/core/services/router";
78
+ import { t } from "adonis-intlayer";
79
+
80
+ router.get("/", async () => {
81
+ return t({
82
+ en: "Welcome!",
83
+ fr: "Bienvenue !",
84
+ es: "¡Bienvenido!",
85
+ });
86
+ });
87
+ ```
88
+
89
+ ### Verwendung in Controllern
90
+
91
+ ```typescript fileName="app/controllers/example_controller.ts"
92
+ import type { HttpContext } from "@adonisjs/core/http";
93
+ import { t } from "adonis-intlayer";
94
+
95
+ export default class ExampleController {
96
+ async index({ response }: HttpContext) {
97
+ return response.send(
98
+ t({
99
+ en: "Hello from controller",
100
+ fr: "Bonjour vom Controller",
101
+ })
102
+ );
103
+ }
104
+ }
105
+ ```
106
+
107
+ ---
108
+
109
+ ## Fortgeschrittene Themen
110
+
111
+ ### Fallback-Mechanismus
112
+
113
+ Wenn eine bevorzugte Locale nicht verfügbar ist, fällt die `t`-Funktion auf die in Ihrer `intlayer.config.ts` definierte Standard-Locale zurück.
114
+
115
+ ```typescript
116
+ import { Locales, type IntlayerConfig } from "intlayer";
117
+
118
+ const config: IntlayerConfig = {
119
+ internationalization: {
120
+ locales: [
121
+ Locales.ENGLISH,
122
+ Locales.RUSSIAN,
123
+ Locales.JAPANESE,
124
+ Locales.FRENCH,
125
+ Locales.KOREAN,
126
+ Locales.CHINESE,
127
+ Locales.SPANISH,
128
+ Locales.GERMAN,
129
+ Locales.ARABIC,
130
+ Locales.ITALIAN,
131
+ Locales.ENGLISH_UNITED_KINGDOM,
132
+ Locales.PORTUGUESE,
133
+ Locales.HINDI,
134
+ Locales.TURKISH,
135
+ Locales.POLISH,
136
+ Locales.INDONESIAN,
137
+ Locales.VIETNAMESE,
138
+ Locales.UKRAINIAN,
139
+ ],
140
+ defaultLocale: Locales.ENGLISH,
141
+ },
142
+ };
143
+
144
+ export default config;
145
+ ```
146
+
147
+ ### TypeScript-Integration
148
+
149
+ Die `t`-Funktion ist typsicher, wenn sie mit definierten Wörterbüchern verwendet wird. Weitere Details finden Sie in der [TypeScript-Dokumentation](https://github.com/aymericzip/intlayer/blob/main/docs/docs/de/configuration.md).
@@ -0,0 +1,59 @@
1
+ ---
2
+ createdAt: 2026-01-29
3
+ updatedAt: 2026-01-29
4
+ title: hono-intlayer Paketdokumentation
5
+ description: Hono-Middleware für Intlayer, die Übersetzungsfunktionen und Spracherkennung bietet.
6
+ keywords:
7
+ - hono-intlayer
8
+ - hono
9
+ - middleware
10
+ - Internationalisierung
11
+ - i18n
12
+ slugs:
13
+ - doc
14
+ - packages
15
+ - hono-intlayer
16
+ - exports
17
+ history:
18
+ - version: 8.0.0
19
+ date: 2026-01-29
20
+ changes: Vereinheitlichte Dokumentation für alle Exporte
21
+ ---
22
+
23
+ # hono-intlayer Paket
24
+
25
+ Das Paket `hono-intlayer` bietet eine Middleware für Hono-Anwendungen zur Handhabung der Internationalisierung. Sie erkennt die Sprache des Benutzers und füllt das Kontextobjekt.
26
+
27
+ ## Installation
28
+
29
+ ```bash
30
+ npm install hono-intlayer
31
+ ```
32
+
33
+ ## Exporte
34
+
35
+ ### Middleware
36
+
37
+ Importieren:
38
+
39
+ ```tsx
40
+ import { intlayer } from "hono-intlayer";
41
+ ```
42
+
43
+ | Funktion | Beschreibung | Verwandte Doc |
44
+ | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ |
45
+ | `intlayer` | Hono-Middleware, die Intlayer in Ihre Hono-Anwendung integriert. Handhabt die Spracherkennung aus dem Speicher (Cookies, Header), füllt den Kontext mit `t`, `getIntlayer` und `getDictionary` und richtet den CLS-Namespace für den programmatischen Zugriff während des Anforderungslebenszyklus ein. | [intlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/de/packages/hono-intlayer/intlayer.md) |
46
+
47
+ ### Funktionen
48
+
49
+ Importieren:
50
+
51
+ ```tsx
52
+ import { t, getIntlayer, getDictionary } from "hono-intlayer";
53
+ ```
54
+
55
+ | Funktion | Beschreibung | Verwandte Doc |
56
+ | --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ |
57
+ | `t` | Globale Übersetzungsfunktion, die Inhalte für die aktuelle Sprache in Hono abruft. Nutzt CLS (Async Local Storage) und muss innerhalb eines durch die `intlayer`-Middleware verwalteten Anforderungskontexts verwendet werden. Kann auch über den Kontext aufgerufen werden. | [translation](https://github.com/aymericzip/intlayer/blob/main/docs/docs/de/dictionary/translation.md) |
58
+ | `getIntlayer` | Ruft ein Wörterbuch anhand seines Schlüssels aus der generierten Deklaration ab und gibt dessen Inhalt für die angegebene Sprache zurück. Optimierte Version von `getDictionary`. Verwendet CLS für den Zugriff auf den Anforderungskontext. Kann auch über den Kontext aufgerufen werden. | - |
59
+ | `getDictionary` | Verarbeitet Wörterbuchobjekte und gibt Inhalte für die angegebene Sprache zurück. Verarbeitet `t()`-Übersetzungen, Aufzählungen, Markdown, HTML usw. Verwendet CLS für den Zugriff auf den Anforderungskontext. Kann auch über den Kontext aufgerufen werden. | - |
@@ -0,0 +1,59 @@
1
+ ---
2
+ createdAt: 2026-01-29
3
+ updatedAt: 2026-01-29
4
+ title: intlayer Hono Middleware Dokumentation | hono-intlayer
5
+ description: Sehen Sie, wie Sie die intlayer-Middleware für das hono-intlayer-Paket verwenden
6
+ keywords:
7
+ - intlayer
8
+ - hono
9
+ - middleware
10
+ - Intlayer
11
+ - Internationalisierung
12
+ - Dokumentation
13
+ slugs:
14
+ - doc
15
+ - packages
16
+ - hono-intlayer
17
+ - intlayer
18
+ history:
19
+ - version: 8.0.0
20
+ date: 2026-01-29
21
+ changes: Dokumentation initialisiert
22
+ ---
23
+
24
+ # intlayer Hono Middleware Dokumentation
25
+
26
+ Die `intlayer`-Middleware für Hono erkennt das Locale des Benutzers und füllt das Kontextobjekt mit Intlayer-Funktionen. Sie ermöglicht auch die Verwendung globaler Übersetzungsfunktionen innerhalb des Anforderungskontexts.
27
+
28
+ ## Verwendung
29
+
30
+ ```ts
31
+ import { Hono } from "hono";
32
+ import { intlayer } from "hono-intlayer";
33
+
34
+ const app = new Hono();
35
+
36
+ app.use("*", intlayer());
37
+
38
+ app.get("/", async (c) => {
39
+ const t = c.get("t");
40
+ const content = t({
41
+ en: "Hello",
42
+ fr: "Bonjour",
43
+ });
44
+
45
+ return c.text(content);
46
+ });
47
+ ```
48
+
49
+ ## Beschreibung
50
+
51
+ Die Middleware führt die folgenden Aufgaben aus:
52
+
53
+ 1. **Locale-Erkennung**: Sie analysiert die Anfrage (Header, Cookies usw.), um das bevorzugte Locale des Benutzers zu bestimmen.
54
+ 2. **Kontext-Population**: Sie fügt Intlayer-Daten zum Hono-Kontext hinzu, auf die über `c.get()` zugegriffen werden kann. Dies beinhaltet:
55
+ - `locale`: Das erkannte Locale.
56
+ - `t`: Eine Übersetzungsfunktion.
57
+ - `getIntlayer`: Eine Funktion zum Abrufen von Wörterbüchern.
58
+ - `getDictionary`: Eine Funktion zum Verarbeiten von Wörterbuchobjekten.
59
+ 3. **Kontext-Management**: Sie verwendet `cls-hooked`, um einen asynchronen Kontext zu verwalten, der es globalen Intlayer-Funktionen (`t`, `getIntlayer`, `getDictionary`) ermöglicht, auf das anforderungsspezifische Locale zuzugreifen, ohne das Kontextobjekt zu übergeben.
@@ -0,0 +1,316 @@
1
+ ---
2
+ createdAt: 2024-12-02
3
+ updatedAt: 2025-06-29
4
+ title: t-Funktionsdokumentation | hono-intlayer
5
+ description: Sehen Sie, wie Sie die t-Funktion für das hono-intlayer-Paket verwenden
6
+ keywords:
7
+ - t
8
+ - Übersetzung
9
+ - Intlayer
10
+ - Internationalisierung
11
+ - Dokumentation
12
+ - Hono
13
+ - JavaScript
14
+ slugs:
15
+ - doc
16
+ - packages
17
+ - hono-intlayer
18
+ - t
19
+ history:
20
+ - version: 5.5.10
21
+ date: 2025-06-29
22
+ changes: Verlauf initialisiert
23
+ ---
24
+
25
+ # Dokumentation: `t`-Funktion in `hono-intlayer`
26
+
27
+ Die `t`-Funktion im Paket `hono-intlayer` ist das zentrale Werkzeug zur Bereitstellung lokalisierter Antworten in Ihrer Hono-Anwendung. Sie vereinfacht die Internationalisierung (i18n), indem sie Inhalte dynamisch basierend auf der bevorzugten Sprache des Benutzers auswählt.
28
+
29
+ ---
30
+
31
+ ## Übersicht
32
+
33
+ Die `t`-Funktion wird verwendet, um Übersetzungen für einen bestimmten Satz von Sprachen zu definieren und abzurufen. Sie bestimmt automatisch die passende Sprache, die zurückgegeben werden soll, basierend auf den Anfrageeinstellungen des Clients, wie dem `Accept-Language`-Header. Wenn die bevorzugte Sprache nicht verfügbar ist, fällt sie elegant auf die in Ihrer Konfiguration angegebene Standardsprache zurück.
34
+
35
+ ---
36
+
37
+ ## Hauptmerkmale
38
+
39
+ - **Dynamische Lokalisierung**: Wählt automatisch die am besten geeignete Übersetzung für den Client aus.
40
+ - **Fallback zur Standardsprache**: Fällt auf eine Standardsprache zurück, wenn die bevorzugte Sprache des Clients nicht verfügbar ist, um die Kontinuität der Benutzererfahrung zu gewährleisten.
41
+ - **Leichtgewichtig und schnell**: Entwickelt für Hochleistungsanwendungen, um minimalen Overhead zu gewährleisten.
42
+ - **Unterstützung des strikten Modus**: Erzwingt die strikte Einhaltung deklarierter Locales für ein zuverlässiges Verhalten.
43
+
44
+ ---
45
+
46
+ ## Funktionssignatur
47
+
48
+ ```typescript
49
+ t(translations: Record<string, string>): string;
50
+ ```
51
+
52
+ ### Parameter
53
+
54
+ - `translations`: Ein Objekt, bei dem die Schlüssel Locale-Codes (z. B. `en`, `fr`, `es-MX`) und die Werte die entsprechenden übersetzten Zeichenfolgen sind.
55
+
56
+ ### Rückgabewert
57
+
58
+ - Eine Zeichenfolge, die den Inhalt in der bevorzugten Sprache des Clients darstellt.
59
+
60
+ ---
61
+
62
+ ## Laden des Internationalisierungs-Request-Handlers
63
+
64
+ Um sicherzustellen, dass die von `hono-intlayer` bereitgestellte Internationalisierungsfunktionalität ordnungsgemäß funktioniert, **müssen** Sie die Internationalisierungs-Middleware zu Beginn Ihrer Hono-Anwendung laden. Dies aktiviert die `t`-Funktion und gewährleistet eine ordnungsgemäße Handhabung der Locale-Erkennung und Übersetzung.
65
+
66
+ Platzieren Sie die `app.use("*", intlayer())`-Middleware **vor allen Routen** in Ihrer Anwendung, um sicherzustellen, dass alle Routen von der Internationalisierung profitieren:
67
+
68
+ ```typescript {6} fileName="src/index.ts" codeFormat="typescript"
69
+ import { Hono } from "hono";
70
+ import { intlayer } from "hono-intlayer";
71
+
72
+ const app = new Hono();
73
+
74
+ // Internationalisierungs-Request-Handler laden
75
+ app.use("*", intlayer());
76
+
77
+ // Definieren Sie Ihre Routen nach dem Laden der Middleware
78
+ app.get("/", (c) => {
79
+ return c.text(
80
+ t({
81
+ en: "Hello, World!",
82
+ fr: "Bonjour le monde!",
83
+ es: "¡Hola, Mundo!",
84
+ })
85
+ );
86
+ });
87
+ ```
88
+
89
+ ```javascript {6} fileName="src/index.mjs" codeFormat="esm"
90
+ import { Hono } from "hono";
91
+ import { intlayer } from "hono-intlayer";
92
+
93
+ const app = new Hono();
94
+
95
+ // Internationalisierungs-Request-Handler laden
96
+ app.use("*", intlayer());
97
+
98
+ // Definieren Sie Ihre Routen nach dem Laden der Middleware
99
+ app.get("/", (c) => {
100
+ return c.text(
101
+ t({
102
+ en: "Hello, World!",
103
+ fr: "Bonjour le monde!",
104
+ es: "¡Hola, Mundo!",
105
+ })
106
+ );
107
+ });
108
+ ```
109
+
110
+ ```javascript {6} fileName="src/index.cjs" codeFormat="commonjs"
111
+ const { Hono } = require("hono");
112
+ const { intlayer, t } = require("hono-intlayer");
113
+
114
+ const app = new Hono();
115
+
116
+ // Internationalisierungs-Request-Handler laden
117
+ app.use("*", intlayer());
118
+
119
+ // Definieren Sie Ihre Routen nach dem Laden der Middleware
120
+ app.get("/", (c) => {
121
+ return c.text(
122
+ t({
123
+ en: "Hello, World!",
124
+ fr: "Bonjour le monde!",
125
+ es: "¡Hola, Mundo!",
126
+ })
127
+ );
128
+ });
129
+ ```
130
+
131
+ ### Warum dies erforderlich ist
132
+
133
+ - **Locale-Erkennung**: Die `intlayer`-Middleware verarbeitet eingehende Anfragen, um das bevorzugte Locale des Benutzers basierend auf Headern, Cookies oder anderen konfigurierten Methoden zu erkennen.
134
+ - **Übersetzungskontext**: Richtet den erforderlichen Kontext ein, damit die `t`-Funktion ordnungsgemäß funktioniert und sichergestellt wird, dass Übersetzungen in der richtigen Sprache zurückgegeben werden.
135
+ - **Fehlervermeidung**: Ohne diese Middleware führt die Verwendung der `t`-Funktion zu Laufzeitfehlern, da die erforderlichen Locale-Informationen nicht verfügbar sind.
136
+
137
+ ---
138
+
139
+ ## Nutzungsbeispiele
140
+
141
+ ### Basispiel
142
+
143
+ Lokalisierte Inhalte in verschiedenen Sprachen bereitstellen:
144
+
145
+ ```typescript fileName="src/index.ts" codeFormat="typescript"
146
+ app.get("/", (c) => {
147
+ return c.text(
148
+ t({
149
+ en: "Welcome!",
150
+ fr: "Bienvenue!",
151
+ es: "¡Bienvenido!",
152
+ })
153
+ );
154
+ });
155
+ ```
156
+
157
+ ```javascript fileName="src/index.mjs" codeFormat="esm"
158
+ app.get("/", (c) => {
159
+ return c.text(
160
+ t({
161
+ en: "Welcome!",
162
+ fr: "Bienvenue!",
163
+ es: "¡Bienvenido!",
164
+ })
165
+ );
166
+ });
167
+ ```
168
+
169
+ ```javascript fileName="src/index.cjs" codeFormat="commonjs"
170
+ app.get("/", (c) => {
171
+ return c.text(
172
+ t({
173
+ en: "Welcome!",
174
+ fr: "Bienvenue!",
175
+ es: "¡Bienvenido!",
176
+ })
177
+ );
178
+ });
179
+ ```
180
+
181
+ **Client-Anfragen:**
182
+
183
+ - Ein Client mit `Accept-Language: fr` erhält `Bienvenue!`.
184
+ - Ein Client mit `Accept-Language: es` erhält `¡Bienvenido!`.
185
+ - Ein Client mit `Accept-Language: de` erhält `Welcome!` (Standard-Locale).
186
+
187
+ ### Fehlerbehandlung
188
+
189
+ Fehlermeldungen in mehreren Sprachen bereitstellen:
190
+
191
+ ```typescript fileName="src/index.ts" codeFormat="typescript"
192
+ app.get("/error", (c) => {
193
+ return c.text(
194
+ t({
195
+ en: "An unexpected error occurred.",
196
+ fr: "Une erreur inattendue s'est produite.",
197
+ es: "Ocurrió un error inesperado.",
198
+ }),
199
+ 500
200
+ );
201
+ });
202
+ ```
203
+
204
+ ```javascript fileName="src/index.mjs" codeFormat="esm"
205
+ app.get("/error", (c) => {
206
+ return c.text(
207
+ t({
208
+ en: "An unexpected error occurred.",
209
+ fr: "Une erreur inattendue s'est produite.",
210
+ es: "Ocurrió un error inesperado.",
211
+ }),
212
+ 500
213
+ );
214
+ });
215
+ ```
216
+
217
+ ```javascript fileName="src/index.cjs" codeFormat="commonjs"
218
+ app.get("/error", (c) => {
219
+ return c.text(
220
+ t({
221
+ en: "An unexpected error occurred.",
222
+ fr: "Une erreur inattendue s'est produite.",
223
+ es: "Ocurrió un error inesperado.",
224
+ }),
225
+ 500
226
+ );
227
+ });
228
+ ```
229
+
230
+ ---
231
+
232
+ ### Verwendung von Locale-Varianten
233
+
234
+ Spezifizieren Sie Übersetzungen für länderspezifische Varianten:
235
+
236
+ ```typescript fileName="src/index.ts" codeFormat="typescript"
237
+ app.get("/greet", (c) => {
238
+ return c.text(
239
+ t({
240
+ en: "Hello!",
241
+ "en-GB": "Hello, mate!",
242
+ fr: "Bonjour!",
243
+ "es-MX": "¡Hola, amigo!",
244
+ "es-ES": "¡Hola!",
245
+ })
246
+ );
247
+ });
248
+ ```
249
+
250
+ ---
251
+
252
+ ## Fortgeschrittene Themen
253
+
254
+ ### Fallback-Mechanismus
255
+
256
+ Wenn ein bevorzugtes Locale nicht verfügbar ist, fällt die `t`-Funktion auf das in der Konfiguration definierte Standard-Locale zurück:
257
+
258
+ ```typescript {5-6} fileName="intlayer.config.ts" codeFormat="typescript"
259
+ import { Locales, type IntlayerConfig } from "intlayer";
260
+
261
+ const config = {
262
+ internationalization: {
263
+ locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],
264
+ defaultLocale: Locales.ENGLISH,
265
+ },
266
+ } satisfies IntlayerConfig;
267
+
268
+ export default config;
269
+ ```
270
+
271
+ ---
272
+
273
+ ### Erzwingen des strikten Modus
274
+
275
+ Konfigurieren Sie die `t`-Funktion so, dass die strikte Einhaltung deklarierter Locales erzwungen wird:
276
+
277
+ | Modus | Verhalten |
278
+ | ----------- | ------------------------------------------------------------------------------------------------------------- |
279
+ | `strict` | Alle deklarierten Locales müssen Übersetzungen bereitstellen. Fehlende Locales führen zu Fehlern. |
280
+ | `inclusive` | Deklarierte Locales müssen Übersetzungen haben. Fehlende Locales lösen Warnungen aus, werden aber akzeptiert. |
281
+ | `loose` | Jedes vorhandene Locale wird akzeptiert, auch wenn es nicht deklariert ist. |
282
+
283
+ ---
284
+
285
+ ### TypeScript-Integration
286
+
287
+ Die `t`-Funktion ist typsicher, wenn sie mit TypeScript verwendet wird. Definieren Sie ein typsicheres Übersetzungsobjekt:
288
+
289
+ ```typescript fileName="src/index.ts" codeFormat="typescript"
290
+ import { type LanguageContent } from "hono-intlayer";
291
+
292
+ const translations: LanguageContent<string> = {
293
+ en: "Good morning!",
294
+ fr: "Bonjour!",
295
+ es: "¡Buenos días!",
296
+ };
297
+
298
+ app.get("/morning", (c) => {
299
+ return c.text(t(translations));
300
+ });
301
+ ```
302
+
303
+ ---
304
+
305
+ ### Häufige Fehler und Fehlerbehebung
306
+
307
+ | Problem | Ursache | Lösung |
308
+ | ---------------------------------- | ------------------------------------------ | ------------------------------------------------------------------------------------ |
309
+ | `t`-Funktion funktioniert nicht | Middleware nicht geladen | Stellen Sie sicher, dass `app.use("*", intlayer())` vor den Routen hinzugefügt wird. |
310
+ | Fehler bei fehlenden Übersetzungen | Strikter Modus ohne alle Locales aktiviert | Stellen Sie alle erforderlichen Übersetzungen bereit. |
311
+
312
+ ---
313
+
314
+ ## Fazit
315
+
316
+ Die `t`-Funktion ist ein leistungsstarkes Werkzeug für die Backend-Internationalisierung. Durch ihren effektiven Einsatz können Sie eine inklusivere und benutzerfreundlichere Anwendung für ein globales Publikum erstellen. Weitere Informationen zur fortgeschrittenen Nutzung und detaillierte Konfigurationsoptionen finden Sie in der [Dokumentation](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/configuration.md).