@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.
- package/dist/cjs/generated/docs.entry.cjs +160 -0
- package/dist/cjs/generated/docs.entry.cjs.map +1 -1
- package/dist/esm/generated/docs.entry.mjs +160 -0
- package/dist/esm/generated/docs.entry.mjs.map +1 -1
- package/dist/types/generated/docs.entry.d.ts +8 -0
- package/dist/types/generated/docs.entry.d.ts.map +1 -1
- package/docs/ar/intlayer_with_adonisjs.md +394 -0
- package/docs/ar/intlayer_with_hono.md +223 -0
- package/docs/ar/intlayer_with_vite+preact.md +317 -675
- package/docs/ar/packages/adonis-intlayer/exports.md +50 -0
- package/docs/ar/packages/adonis-intlayer/intlayer.md +54 -0
- package/docs/ar/packages/adonis-intlayer/t.md +149 -0
- package/docs/ar/packages/hono-intlayer/exports.md +59 -0
- package/docs/ar/packages/hono-intlayer/intlayer.md +60 -0
- package/docs/ar/packages/hono-intlayer/t.md +268 -0
- package/docs/de/intlayer_with_adonisjs.md +392 -0
- package/docs/de/intlayer_with_hono.md +418 -0
- package/docs/de/intlayer_with_vite+preact.md +272 -632
- package/docs/de/packages/adonis-intlayer/exports.md +50 -0
- package/docs/de/packages/adonis-intlayer/intlayer.md +54 -0
- package/docs/de/packages/adonis-intlayer/t.md +149 -0
- package/docs/de/packages/hono-intlayer/exports.md +59 -0
- package/docs/de/packages/hono-intlayer/intlayer.md +59 -0
- package/docs/de/packages/hono-intlayer/t.md +316 -0
- package/docs/en/index.md +8 -0
- package/docs/en/intlayer_with_adonisjs.md +388 -0
- package/docs/en/intlayer_with_hono.md +418 -0
- package/docs/en/intlayer_with_vite+preact.md +171 -556
- package/docs/en/introduction.md +1 -0
- package/docs/en/packages/adonis-intlayer/exports.md +50 -0
- package/docs/en/packages/adonis-intlayer/intlayer.md +54 -0
- package/docs/en/packages/adonis-intlayer/t.md +149 -0
- package/docs/en/packages/hono-intlayer/exports.md +59 -0
- package/docs/en/packages/hono-intlayer/intlayer.md +59 -0
- package/docs/en/packages/hono-intlayer/t.md +316 -0
- package/docs/en-GB/intlayer_with_adonisjs.md +394 -0
- package/docs/en-GB/intlayer_with_hono.md +418 -0
- package/docs/en-GB/intlayer_with_vite+preact.md +236 -583
- package/docs/en-GB/packages/adonis-intlayer/exports.md +50 -0
- package/docs/en-GB/packages/adonis-intlayer/intlayer.md +54 -0
- package/docs/en-GB/packages/adonis-intlayer/t.md +149 -0
- package/docs/en-GB/packages/hono-intlayer/exports.md +59 -0
- package/docs/en-GB/packages/hono-intlayer/intlayer.md +59 -0
- package/docs/en-GB/packages/hono-intlayer/t.md +316 -0
- package/docs/es/intlayer_with_adonisjs.md +388 -0
- package/docs/es/intlayer_with_hono.md +418 -0
- package/docs/es/intlayer_with_vite+preact.md +286 -650
- package/docs/es/packages/adonis-intlayer/exports.md +50 -0
- package/docs/es/packages/adonis-intlayer/intlayer.md +54 -0
- package/docs/es/packages/adonis-intlayer/t.md +149 -0
- package/docs/es/packages/hono-intlayer/exports.md +59 -0
- package/docs/es/packages/hono-intlayer/intlayer.md +59 -0
- package/docs/es/packages/hono-intlayer/t.md +316 -0
- package/docs/fr/intlayer_with_adonisjs.md +388 -0
- package/docs/fr/intlayer_with_hono.md +418 -0
- package/docs/fr/intlayer_with_vite+preact.md +274 -614
- package/docs/fr/packages/adonis-intlayer/exports.md +50 -0
- package/docs/fr/packages/adonis-intlayer/intlayer.md +54 -0
- package/docs/fr/packages/adonis-intlayer/t.md +149 -0
- package/docs/fr/packages/hono-intlayer/exports.md +59 -0
- package/docs/fr/packages/hono-intlayer/intlayer.md +59 -0
- package/docs/fr/packages/hono-intlayer/t.md +316 -0
- package/docs/hi/intlayer_with_adonisjs.md +394 -0
- package/docs/hi/intlayer_with_hono.md +227 -0
- package/docs/hi/intlayer_with_vite+preact.md +304 -680
- package/docs/hi/packages/adonis-intlayer/exports.md +50 -0
- package/docs/hi/packages/adonis-intlayer/intlayer.md +54 -0
- package/docs/hi/packages/adonis-intlayer/t.md +149 -0
- package/docs/hi/packages/hono-intlayer/exports.md +59 -0
- package/docs/hi/packages/hono-intlayer/intlayer.md +60 -0
- package/docs/hi/packages/hono-intlayer/t.md +268 -0
- package/docs/id/intlayer_with_adonisjs.md +394 -0
- package/docs/id/intlayer_with_hono.md +227 -0
- package/docs/id/intlayer_with_vite+preact.md +297 -697
- package/docs/id/packages/adonis-intlayer/exports.md +50 -0
- package/docs/id/packages/adonis-intlayer/intlayer.md +54 -0
- package/docs/id/packages/adonis-intlayer/t.md +149 -0
- package/docs/id/packages/hono-intlayer/exports.md +59 -0
- package/docs/id/packages/hono-intlayer/intlayer.md +60 -0
- package/docs/id/packages/hono-intlayer/t.md +268 -0
- package/docs/it/intlayer_with_adonisjs.md +394 -0
- package/docs/it/intlayer_with_hono.md +227 -0
- package/docs/it/intlayer_with_vite+preact.md +290 -659
- package/docs/it/packages/adonis-intlayer/exports.md +50 -0
- package/docs/it/packages/adonis-intlayer/intlayer.md +54 -0
- package/docs/it/packages/adonis-intlayer/t.md +149 -0
- package/docs/it/packages/hono-intlayer/exports.md +59 -0
- package/docs/it/packages/hono-intlayer/intlayer.md +60 -0
- package/docs/it/packages/hono-intlayer/t.md +268 -0
- package/docs/ja/intlayer_with_adonisjs.md +394 -0
- package/docs/ja/intlayer_with_hono.md +227 -0
- package/docs/ja/intlayer_with_vite+preact.md +307 -662
- package/docs/ja/packages/adonis-intlayer/exports.md +50 -0
- package/docs/ja/packages/adonis-intlayer/intlayer.md +54 -0
- package/docs/ja/packages/adonis-intlayer/t.md +149 -0
- package/docs/ja/packages/hono-intlayer/exports.md +59 -0
- package/docs/ja/packages/hono-intlayer/intlayer.md +60 -0
- package/docs/ja/packages/hono-intlayer/t.md +268 -0
- package/docs/ko/intlayer_with_adonisjs.md +394 -0
- package/docs/ko/intlayer_with_hono.md +227 -0
- package/docs/ko/intlayer_with_vite+preact.md +303 -703
- package/docs/ko/packages/adonis-intlayer/exports.md +50 -0
- package/docs/ko/packages/adonis-intlayer/intlayer.md +54 -0
- package/docs/ko/packages/adonis-intlayer/t.md +149 -0
- package/docs/ko/packages/hono-intlayer/exports.md +59 -0
- package/docs/ko/packages/hono-intlayer/intlayer.md +60 -0
- package/docs/ko/packages/hono-intlayer/t.md +268 -0
- package/docs/pl/intlayer_with_adonisjs.md +394 -0
- package/docs/pl/intlayer_with_hono.md +227 -0
- package/docs/pl/intlayer_with_vite+preact.md +289 -690
- package/docs/pl/packages/adonis-intlayer/exports.md +50 -0
- package/docs/pl/packages/adonis-intlayer/intlayer.md +54 -0
- package/docs/pl/packages/adonis-intlayer/t.md +149 -0
- package/docs/pl/packages/hono-intlayer/exports.md +59 -0
- package/docs/pl/packages/hono-intlayer/intlayer.md +60 -0
- package/docs/pl/packages/hono-intlayer/t.md +268 -0
- package/docs/pt/intlayer_with_adonisjs.md +394 -0
- package/docs/pt/intlayer_with_hono.md +227 -0
- package/docs/pt/intlayer_with_vite+preact.md +275 -637
- package/docs/pt/packages/adonis-intlayer/exports.md +50 -0
- package/docs/pt/packages/adonis-intlayer/intlayer.md +54 -0
- package/docs/pt/packages/adonis-intlayer/t.md +149 -0
- package/docs/pt/packages/hono-intlayer/exports.md +59 -0
- package/docs/pt/packages/hono-intlayer/intlayer.md +60 -0
- package/docs/pt/packages/hono-intlayer/t.md +268 -0
- package/docs/ru/intlayer_with_adonisjs.md +393 -0
- package/docs/ru/intlayer_with_hono.md +223 -0
- package/docs/ru/intlayer_with_vite+preact.md +319 -683
- package/docs/ru/packages/adonis-intlayer/exports.md +50 -0
- package/docs/ru/packages/adonis-intlayer/intlayer.md +54 -0
- package/docs/ru/packages/adonis-intlayer/t.md +149 -0
- package/docs/ru/packages/hono-intlayer/exports.md +59 -0
- package/docs/ru/packages/hono-intlayer/intlayer.md +60 -0
- package/docs/ru/packages/hono-intlayer/t.md +268 -0
- package/docs/tr/intlayer_with_adonisjs.md +394 -0
- package/docs/tr/intlayer_with_hono.md +227 -0
- package/docs/tr/intlayer_with_vite+preact.md +332 -665
- package/docs/tr/packages/adonis-intlayer/exports.md +50 -0
- package/docs/tr/packages/adonis-intlayer/intlayer.md +54 -0
- package/docs/tr/packages/adonis-intlayer/t.md +149 -0
- package/docs/tr/packages/hono-intlayer/exports.md +59 -0
- package/docs/tr/packages/hono-intlayer/intlayer.md +60 -0
- package/docs/tr/packages/hono-intlayer/t.md +268 -0
- package/docs/uk/intlayer_with_adonisjs.md +394 -0
- package/docs/uk/intlayer_with_hono.md +227 -0
- package/docs/uk/intlayer_with_vite+preact.md +228 -626
- package/docs/uk/packages/adonis-intlayer/exports.md +50 -0
- package/docs/uk/packages/adonis-intlayer/intlayer.md +54 -0
- package/docs/uk/packages/adonis-intlayer/t.md +149 -0
- package/docs/uk/packages/hono-intlayer/exports.md +59 -0
- package/docs/uk/packages/hono-intlayer/intlayer.md +60 -0
- package/docs/uk/packages/hono-intlayer/t.md +268 -0
- package/docs/vi/intlayer_with_adonisjs.md +394 -0
- package/docs/vi/intlayer_with_hono.md +227 -0
- package/docs/vi/intlayer_with_vite+preact.md +294 -679
- package/docs/vi/packages/adonis-intlayer/exports.md +50 -0
- package/docs/vi/packages/adonis-intlayer/intlayer.md +54 -0
- package/docs/vi/packages/adonis-intlayer/t.md +149 -0
- package/docs/vi/packages/hono-intlayer/exports.md +59 -0
- package/docs/vi/packages/hono-intlayer/intlayer.md +60 -0
- package/docs/vi/packages/hono-intlayer/t.md +268 -0
- package/docs/zh/intlayer_with_adonisjs.md +393 -0
- package/docs/zh/intlayer_with_hono.md +418 -0
- package/docs/zh/intlayer_with_vite+preact.md +338 -743
- package/docs/zh/packages/adonis-intlayer/exports.md +50 -0
- package/docs/zh/packages/adonis-intlayer/intlayer.md +54 -0
- package/docs/zh/packages/adonis-intlayer/t.md +149 -0
- package/docs/zh/packages/hono-intlayer/exports.md +59 -0
- package/docs/zh/packages/hono-intlayer/intlayer.md +60 -0
- package/docs/zh/packages/hono-intlayer/t.md +294 -0
- package/package.json +6 -6
- 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: Dokumentacja pakietu adonis-intlayer
|
|
5
|
+
description: Middleware AdonisJS dla Intlayer, zapewniający funkcje tłumaczenia i wykrywanie ustawień regionalnych.
|
|
6
|
+
keywords:
|
|
7
|
+
- adonis-intlayer
|
|
8
|
+
- adonisjs
|
|
9
|
+
- middleware
|
|
10
|
+
- internacjonalizacja
|
|
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: Dokumentacja początkowa
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
# Pakiet adonis-intlayer
|
|
24
|
+
|
|
25
|
+
Pakiet `adonis-intlayer` zapewnia oprogramowanie pośredniczące dla aplikacji AdonisJS do obsługi internacjonalizacji. Wykrywa ustawienia regionalne użytkownika i zapewnia funkcje tłumaczenia.
|
|
26
|
+
|
|
27
|
+
## Instalacja
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
npm install adonis-intlayer
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Eksporty
|
|
34
|
+
|
|
35
|
+
### Middleware
|
|
36
|
+
|
|
37
|
+
Pakiet zapewnia middleware AdonisJS do obsługi internacjonalizacji.
|
|
38
|
+
|
|
39
|
+
| Funkcja | Opis | Powiązana dokumentacja |
|
|
40
|
+
| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- |
|
|
41
|
+
| `IntlayerMiddleware` | Middleware AdonisJS, który wykrywa ustawienia regionalne użytkownika i wypełnia kontekst żądania danymi Intlayer. Ustawia również przestrzeń nazw CLS (Async Local Storage) dla dostępu do cyklu życia żądania, umożliwiając korzystanie z globalnych funkcji, takich jak `t`, `getIntlayer` itp. | [intlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/packages/adonis-intlayer/intlayer.md) |
|
|
42
|
+
|
|
43
|
+
### Funkcje
|
|
44
|
+
|
|
45
|
+
| Funkcja | Opis | Powiązana dokumentacja |
|
|
46
|
+
| --------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------ |
|
|
47
|
+
| `t` | Funkcja tłumaczenia, która pobiera treść dla bieżącego ustawienia regionalnego. Działa w cyklu życia żądania zarządzanym przez middleware `intlayer`. Używa CLS (Async Local Storage) do dostępu do kontekstu żądania. | [translation](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/dictionary/translation.md) |
|
|
48
|
+
| `getIntlayer` | Pobiera słownik za pomocą jego klucza z wygenerowanej deklaracji i zwraca jego treść dla określonego ustawienia regionalnego. Zoptymalizowana wersja `getDictionary`. Używa CLS do dostępu do kontekstu żądania. | - |
|
|
49
|
+
| `getDictionary` | Przetwarza obiekty słownika i zwraca treść dla określonego ustawienia regionalnego. Przetwarza tłumaczenia `t()`, wyliczenia, markdown, HTML itp. Używa CLS do dostępu do kontekstu żądania. | - |
|
|
50
|
+
| `getLocale` | Pobiera bieżące ustawienie regionalne z kontekstu żądania za pomocą CLS. | - |
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2026-01-30
|
|
3
|
+
updatedAt: 2026-01-30
|
|
4
|
+
title: Dokumentacja oprogramowania pośredniczącego intlayer dla AdonisJS | adonis-intlayer
|
|
5
|
+
description: Zobacz, jak używać middleware intlayer w pakiecie adonis-intlayer
|
|
6
|
+
keywords:
|
|
7
|
+
- intlayer
|
|
8
|
+
- adonisjs
|
|
9
|
+
- middleware
|
|
10
|
+
- Intlayer
|
|
11
|
+
- Internacjonalizacja
|
|
12
|
+
- Dokumentacja
|
|
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: Dokumentacja początkowa
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
# Dokumentacja oprogramowania pośredniczącego intlayer dla AdonisJS
|
|
25
|
+
|
|
26
|
+
Middleware `intlayer` dla AdonisJS wykrywa ustawienia regionalne użytkownika i zapewnia funkcje tłumaczenia poprzez kontekst żądania. Umożliwia również korzystanie z globalnych funkcji tłumaczenia w ramach przepływu żądania.
|
|
27
|
+
|
|
28
|
+
## Użycie
|
|
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
|
+
## Opis
|
|
47
|
+
|
|
48
|
+
Middleware wykonuje następujące zadania:
|
|
49
|
+
|
|
50
|
+
1. **Wykrywanie ustawień regionalnych**: Analizuje żądanie (nagłówki, ciasteczka itp.) w celu określenia preferowanych ustawień regionalnych użytkownika.
|
|
51
|
+
2. **Konfiguracja kontekstu**: Wypełnia kontekst żądania informacjami o ustawieniach regionalnych.
|
|
52
|
+
3. **Async Local Storage**: Używa `cls-hooked` do zarządzania asynchronicznym kontekstem, umożliwiając globalnym funkcjom Intlayer, takim jak `t`, `getIntlayer` i `getDictionary`, dostęp do ustawień regionalnych specyficznych dla żądania bez konieczności ich ręcznego przekazywania.
|
|
53
|
+
|
|
54
|
+
> Uwaga: Aby używać ciasteczek do wykrywania ustawień regionalnych, upewnij się, że `@adonisjs/cookie` jest skonfigurowane i używane w Twojej aplikacji.
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2026-01-30
|
|
3
|
+
updatedAt: 2026-01-30
|
|
4
|
+
title: Dokumentacja funkcji t | adonis-intlayer
|
|
5
|
+
description: Zobacz, jak używać funkcji t w pakiecie adonis-intlayer
|
|
6
|
+
keywords:
|
|
7
|
+
- t
|
|
8
|
+
- tłumaczenie
|
|
9
|
+
- Intlayer
|
|
10
|
+
- Internacjonalizacja
|
|
11
|
+
- Dokumentacja
|
|
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: Dokumentacja początkowa
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
# Dokumentacja: Funkcja `t` w `adonis-intlayer`
|
|
26
|
+
|
|
27
|
+
Funkcja `t` w pakiecie `adonis-intlayer` jest głównym narzędziem do dostarczania zlokalizowanych odpowiedzi w aplikacji AdonisJS. Upraszcza internacjonalizację (i18n) poprzez dynamiczne wybieranie treści na podstawie preferowanego języka użytkownika.
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## Przegląd
|
|
32
|
+
|
|
33
|
+
Funkcja `t` służy do definiowania i pobierania tłumaczeń dla danego zestawu języków. Automatycznie określa odpowiedni język do zwrócenia na podstawie ustawień żądania klienta, takich jak nagłówek `Accept-Language`. Jeśli preferowany język jest niedostępny, płynnie powraca do domyślnego ustawienia regionalnego określonego w konfiguracji.
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## Kluczowe cechy
|
|
38
|
+
|
|
39
|
+
- **Dynamiczna lokalizacja**: Automatycznie wybiera najbardziej odpowiednie tłumaczenie dla klienta.
|
|
40
|
+
- **Powrót do domyślnego ustawienia regionalnego (Fallback)**: Powraca do domyślnego ustawienia regionalnego, jeśli preferowany język klienta jest niedostępny, zapewniając ciągłość doświadczenia użytkownika.
|
|
41
|
+
- **Kontekst asynchroniczny**: Działa bezproblemowo w cyklu życia żądania AdonisJS przy użyciu Async Local Storage.
|
|
42
|
+
- **Wsparcie TypeScript**: Wymusza bezpieczeństwo typów dla Twoich tłumaczeń.
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## Sygnatura funkcji
|
|
47
|
+
|
|
48
|
+
```typescript
|
|
49
|
+
t(translations: Record<string, any>): any;
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
### Parametry
|
|
53
|
+
|
|
54
|
+
- `translations`: Obiekt, w którym kluczami są kody ustawień regionalnych (np. `en`, `fr`, `es`), a wartościami są odpowiednie przetłumaczone treści.
|
|
55
|
+
|
|
56
|
+
### Zwraca
|
|
57
|
+
|
|
58
|
+
- Treść reprezentującą preferowany język klienta.
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
## Ładowanie oprogramowania pośredniczącego (Middleware)
|
|
63
|
+
|
|
64
|
+
Aby upewnić się, że funkcja `t` działa poprawnie, **musisz** zarejestrować middleware `intlayer` w swojej aplikacji AdonisJS.
|
|
65
|
+
|
|
66
|
+
```typescript fileName="start/kernel.ts"
|
|
67
|
+
router.use([() => import("adonis-intlayer/middleware")]);
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## Przykłady użycia
|
|
73
|
+
|
|
74
|
+
### Podstawowy przykład
|
|
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
|
+
### Użycie w kontrolerach
|
|
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 od kontrolera",
|
|
101
|
+
})
|
|
102
|
+
);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
---
|
|
108
|
+
|
|
109
|
+
## Tematy zaawansowane
|
|
110
|
+
|
|
111
|
+
### Mechanizm Fallback
|
|
112
|
+
|
|
113
|
+
Jeśli preferowane ustawienie regionalne jest niedostępny, funkcja `t` powróci do domyślnego ustawienia regionalnego zdefiniowanego w `intlayer.config.ts`.
|
|
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
|
+
### Integracja z TypeScript
|
|
148
|
+
|
|
149
|
+
Funkcja `t` jest bezpieczna pod względem typów, gdy jest używana ze zdefiniowanymi słownikami. Więcej szczegółów znajdziesz w [dokumentacji TypeScript](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/configuration.md).
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2026-01-29
|
|
3
|
+
updatedAt: 2026-01-29
|
|
4
|
+
title: Dokumentacja Pakietu hono-intlayer
|
|
5
|
+
description: Middleware Hono dla Intlayer, dostarczający funkcje tłumaczenia i wykrywanie języka.
|
|
6
|
+
keywords:
|
|
7
|
+
- hono-intlayer
|
|
8
|
+
- hono
|
|
9
|
+
- middleware
|
|
10
|
+
- internacjonalizacja
|
|
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: Zunifikowana dokumentacja dla wszystkich eksportów
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
# Pakiet hono-intlayer
|
|
24
|
+
|
|
25
|
+
Pakiet `hono-intlayer` dostarcza middleware dla aplikacji Hono do obsługi internacjonalizacji. Wykrywa język użytkownika i uzupełnia obiekt kontekstu.
|
|
26
|
+
|
|
27
|
+
## Instalacja
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
npm install hono-intlayer
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Eksporty
|
|
34
|
+
|
|
35
|
+
### Middleware
|
|
36
|
+
|
|
37
|
+
Import:
|
|
38
|
+
|
|
39
|
+
```tsx
|
|
40
|
+
import { intlayer } from "hono-intlayer";
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
| Funkcja | Opis | Powiązana Dok. |
|
|
44
|
+
| ---------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ |
|
|
45
|
+
| `intlayer` | Middleware Hono integrujące Intlayer z Twoją aplikacją Hono. Obsługuje wykrywanie języka z pamięci masowej (pliki cookie, nagłówki), uzupełnia kontekst o `t`, `getIntlayer` i `getDictionary` oraz konfiguruje przestrzeń nazw CLS dla dostępu programowego w cyklu życia żądania. | [intlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/packages/hono-intlayer/intlayer.md) |
|
|
46
|
+
|
|
47
|
+
### Funkcje
|
|
48
|
+
|
|
49
|
+
Import:
|
|
50
|
+
|
|
51
|
+
```tsx
|
|
52
|
+
import { t, getIntlayer, getDictionary } from "hono-intlayer";
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
| Funkcja | Opis | Powiązana Dok. |
|
|
56
|
+
| --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------ |
|
|
57
|
+
| `t` | Globalna funkcja tłumaczenia pobierająca treść dla aktualnego języka w Hono. Wykorzystuje CLS (Async Local Storage) i musi być używana w kontekście żądania zarządzanym przez middleware `intlayer`. Dostępna również przez kontekst. | [translation](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/dictionary/translation.md) |
|
|
58
|
+
| `getIntlayer` | Pobiera słownik według klucza z wygenerowanej deklaracji i zwraca jego treść dla określonego języka. Zoptymalizowana wersja `getDictionary`. Używa CLS do dostępu do kontekstu żądania. Dostępna również przez kontekst. | - |
|
|
59
|
+
| `getDictionary` | Przetwarza obiekty słownika i zwraca treść dla określonego języka. Przetwarza tłumaczenia `t()`, wyliczenia, markdown, HTML itp. Używa CLS do dostępu do kontekstu żądania. Dostępna również przez kontekst. | - |
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2026-01-29
|
|
3
|
+
updatedAt: 2026-01-29
|
|
4
|
+
title: Dokumentacja Middleware intlayer dla Hono | hono-intlayer
|
|
5
|
+
description: Zobacz jak używać middleware intlayer dla pakietu hono-intlayer
|
|
6
|
+
keywords:
|
|
7
|
+
- intlayer
|
|
8
|
+
- hono
|
|
9
|
+
- middleware
|
|
10
|
+
- Intlayer
|
|
11
|
+
- Internacjonalizacja
|
|
12
|
+
- Dokumentacja
|
|
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: Inicjalizacja dokumentacji
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
# Dokumentacja Middleware intlayer dla Hono
|
|
25
|
+
|
|
26
|
+
Middleware `intlayer` dla Hono wykrywa język użytkownika i uzupełnia obiekt kontekstu o funkcje Intlayer. Umożliwia również korzystanie z globalnych funkcji tłumaczenia w kontekście żądania.
|
|
27
|
+
|
|
28
|
+
## Użycie
|
|
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
|
+
pl: "Witaj",
|
|
44
|
+
});
|
|
45
|
+
|
|
46
|
+
return c.text(content);
|
|
47
|
+
});
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## Opis
|
|
51
|
+
|
|
52
|
+
Middleware wykonuje następujące zadania:
|
|
53
|
+
|
|
54
|
+
1. **Wykrywanie Języka**: Analizuje żądanie (nagłówki, pliki cookie itp.) w celu określenia preferowanego języka użytkownika.
|
|
55
|
+
2. **Uzupełnianie Kontekstu**: Dodaje dane Intlayer do kontekstu Hono, dostępne poprzez `c.get()`. Obejmuje to:
|
|
56
|
+
- `locale`: Wykryty język.
|
|
57
|
+
- `t`: Funkcja tłumaczenia.
|
|
58
|
+
- `getIntlayer`: Funkcja do pobierania słowników.
|
|
59
|
+
- `getDictionary`: Funkcja do przetwarzania obiektów słownika.
|
|
60
|
+
3. **Zarządzanie Kontekstem**: Używa `cls-hooked` do zarządzania asynchronicznym kontekstem, co pozwala globalnym funkcjom Intlayer (`t`, `getIntlayer`, `getDictionary`) na dostęp do języka specyficznego dla żądania bez przekazywania obiektu kontekstu.
|
|
@@ -0,0 +1,268 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2024-12-02
|
|
3
|
+
updatedAt: 2025-06-29
|
|
4
|
+
title: Dokumentacja Funkcji t | hono-intlayer
|
|
5
|
+
description: Zobacz jak używać funkcji t dla pakietu hono-intlayer
|
|
6
|
+
keywords:
|
|
7
|
+
- t
|
|
8
|
+
- tłumaczenie
|
|
9
|
+
- Intlayer
|
|
10
|
+
- Internacjonalizacja
|
|
11
|
+
- Dokumentacja
|
|
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: Inicjalizacja historii
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
# Dokumentacja: Funkcja `t` w `hono-intlayer`
|
|
26
|
+
|
|
27
|
+
Funkcja `t` w pakiecie `hono-intlayer` jest podstawowym narzędziem do dostarczania zlokalizowanych odpowiedzi w Twojej aplikacji Hono. Upraszcza internacjonalizację (i18n) poprzez dynamiczne wybieranie treści na podstawie preferowanego języka użytkownika.
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## Przegląd
|
|
32
|
+
|
|
33
|
+
Funkcja `t` służy do definiowania i pobierania tłumaczeń dla danego zestawu języków. Automatycznie określa odpowiedni język do zwrócenia na podstawie ustawień żądania klienta, takich jak nagłówek `Accept-Language`. Jeśli preferowany język jest niedostępny, funkcja płynnie powraca do domyślnego ustawienia regionalnego określonego w konfiguracji.
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## Kluczowe Cechy
|
|
38
|
+
|
|
39
|
+
- **Dynamiczna Lokalizacja**: Automatycznie wybiera najbardziej odpowiednie tłumaczenie dla klienta.
|
|
40
|
+
- **Powrót do Domyślnego Ustawienia Regionalnego**: Wraca do domyślnego języka, jeśli preferowany język klienta nie jest dostępny, zapewniając ciągłość doświadczenia użytkownika.
|
|
41
|
+
- **Lekka i Szybka**: Zaprojektowana dla aplikacji o wysokiej wydajności, zapewniając minimalny narzut.
|
|
42
|
+
- **Obsługa Trybu Ścisłego**: Wymusza ścisłe przestrzeganie zadeklarowanych ustawień regionalnych dla niezawodnego zachowania.
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## Sygnatura Funkcji
|
|
47
|
+
|
|
48
|
+
```typescript
|
|
49
|
+
t(translations: Record<string, string>): string;
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
### Parametry
|
|
53
|
+
|
|
54
|
+
- `translations`: Obiekt, w którym kluczami są kody ustawień regionalnych (np. `en`, `fr`, `pl`), a wartościami są odpowiadające im przetłumaczone ciągi znaków.
|
|
55
|
+
|
|
56
|
+
### Zwraca
|
|
57
|
+
|
|
58
|
+
- Ciąg znaków reprezentujący treść w preferowanym języku klienta.
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
## Ładowanie Obsługi Żądań Internacjonalizacji
|
|
63
|
+
|
|
64
|
+
Aby zapewnić poprawne działanie funkcji internacjonalizacji dostarczanych przez `hono-intlayer`, **musisz** załadować oprogramowanie pośredniczące (middleware) internacjonalizacji na początku swojej aplikacji Hono. Umożliwia to działanie funkcji `t` i zapewnia prawidłową obsługę wykrywania języka i tłumaczenia.
|
|
65
|
+
|
|
66
|
+
Umieść oprogramowanie pośredniczące `app.use("*", intlayer())` **przed jakimikolwiek trasami** w swojej aplikacji, aby upewnić się, że wszystkie trasy korzystają z internacjonalizacji:
|
|
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
|
+
// Załaduj obsługę żądań internacjonalizacji
|
|
75
|
+
app.use("*", intlayer());
|
|
76
|
+
|
|
77
|
+
// Zdefiniuj trasy po załadowaniu oprogramowania pośredniczącego
|
|
78
|
+
app.get("/", (c) => {
|
|
79
|
+
return c.text(
|
|
80
|
+
t({
|
|
81
|
+
en: "Hello, World!",
|
|
82
|
+
fr: "Bonjour le monde!",
|
|
83
|
+
es: "¡Hola, Mundo!",
|
|
84
|
+
pl: "Witaj świecie!",
|
|
85
|
+
})
|
|
86
|
+
);
|
|
87
|
+
});
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
```javascript {6} fileName="src/index.mjs" codeFormat="esm"
|
|
91
|
+
import { Hono } from "hono";
|
|
92
|
+
import { intlayer } from "hono-intlayer";
|
|
93
|
+
|
|
94
|
+
const app = new Hono();
|
|
95
|
+
|
|
96
|
+
// Załaduj obsługę żądań internacjonalizacji
|
|
97
|
+
app.use("*", intlayer());
|
|
98
|
+
|
|
99
|
+
// Zdefiniuj trasy po załadowaniu oprogramowania pośredniczącego
|
|
100
|
+
app.get("/", (c) => {
|
|
101
|
+
return c.text(
|
|
102
|
+
t({
|
|
103
|
+
en: "Hello, World!",
|
|
104
|
+
fr: "Bonjour le monde!",
|
|
105
|
+
es: "¡Hola, Mundo!",
|
|
106
|
+
pl: "Witaj świecie!",
|
|
107
|
+
})
|
|
108
|
+
);
|
|
109
|
+
});
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
```javascript {6} fileName="src/index.cjs" codeFormat="commonjs"
|
|
113
|
+
const { Hono } = require("hono");
|
|
114
|
+
const { intlayer, t } = require("hono-intlayer");
|
|
115
|
+
|
|
116
|
+
const app = new Hono();
|
|
117
|
+
|
|
118
|
+
// Załaduj obsługę żądań internacjonalizacji
|
|
119
|
+
app.use("*", intlayer());
|
|
120
|
+
|
|
121
|
+
// Zdefiniuj trasy po załadowaniu oprogramowania pośredniczącego
|
|
122
|
+
app.get("/", (c) => {
|
|
123
|
+
return c.text(
|
|
124
|
+
t({
|
|
125
|
+
en: "Hello, World!",
|
|
126
|
+
fr: "Bonjour le monde!",
|
|
127
|
+
es: "¡Hola, Mundo!",
|
|
128
|
+
pl: "Witaj świecie!",
|
|
129
|
+
})
|
|
130
|
+
);
|
|
131
|
+
});
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
### Dlaczego Jest To Wymagane
|
|
135
|
+
|
|
136
|
+
- **Wykrywanie Języka**: Middleware `intlayer` przetwarza przychodzące żądania w celu wykrycia preferowanego języka użytkownika na podstawie nagłówków, plików cookie lub innych skonfigurowanych metod.
|
|
137
|
+
- **Kontekst Tłumaczenia**: Ustawia niezbędny kontekst, aby funkcja `t` działała poprawnie, zapewniając zwracanie tłumaczeń w odpowiednim języku.
|
|
138
|
+
- **Zapobieganie Błędom**: Bez tego oprogramowania pośredniczącego użycie funkcji `t` spowoduje błędy wykonania, ponieważ niezbędne informacje o języku nie będą dostępne.
|
|
139
|
+
|
|
140
|
+
---
|
|
141
|
+
|
|
142
|
+
## Przykłady Użycia
|
|
143
|
+
|
|
144
|
+
### Podstawowy Przykład
|
|
145
|
+
|
|
146
|
+
Serwuj zlokalizowaną treść w różnych językach:
|
|
147
|
+
|
|
148
|
+
```typescript fileName="src/index.ts" codeFormat="typescript"
|
|
149
|
+
app.get("/", (c) => {
|
|
150
|
+
return c.text(
|
|
151
|
+
t({
|
|
152
|
+
en: "Welcome!",
|
|
153
|
+
fr: "Bienvenue!",
|
|
154
|
+
pl: "Witaj!",
|
|
155
|
+
})
|
|
156
|
+
);
|
|
157
|
+
});
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
**Żądania Klienta:**
|
|
161
|
+
|
|
162
|
+
- Klient z `Accept-Language: fr` otrzyma `Bienvenue!`.
|
|
163
|
+
- Klient z `Accept-Language: pl` otrzyma `Witaj!`.
|
|
164
|
+
- Klient z `Accept-Language: de` otrzyma `Welcome!` (domyślny język).
|
|
165
|
+
|
|
166
|
+
### Obsługa Błędów
|
|
167
|
+
|
|
168
|
+
Dostarczaj komunikaty o błędach w wielu językach:
|
|
169
|
+
|
|
170
|
+
```typescript fileName="src/index.ts" codeFormat="typescript"
|
|
171
|
+
app.get("/error", (c) => {
|
|
172
|
+
return c.text(
|
|
173
|
+
t({
|
|
174
|
+
en: "An unexpected error occurred.",
|
|
175
|
+
fr: "Une erreur inattendue s'est produite.",
|
|
176
|
+
pl: "Wystąpił nieoczekiwany błąd.",
|
|
177
|
+
}),
|
|
178
|
+
500
|
|
179
|
+
);
|
|
180
|
+
});
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
---
|
|
184
|
+
|
|
185
|
+
### Używanie Wariantów Językowych
|
|
186
|
+
|
|
187
|
+
Określ tłumaczenia dla specyficznych wariantów językowych:
|
|
188
|
+
|
|
189
|
+
```typescript fileName="src/index.ts" codeFormat="typescript"
|
|
190
|
+
app.get("/greet", (c) => {
|
|
191
|
+
return c.text(
|
|
192
|
+
t({
|
|
193
|
+
en: "Hello!",
|
|
194
|
+
"en-GB": "Hello, mate!",
|
|
195
|
+
fr: "Bonjour!",
|
|
196
|
+
pl: "Cześć!",
|
|
197
|
+
})
|
|
198
|
+
);
|
|
199
|
+
});
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
---
|
|
203
|
+
|
|
204
|
+
## Zaawansowane Tematy
|
|
205
|
+
|
|
206
|
+
### Mechanizm Powrotny (Fallback)
|
|
207
|
+
|
|
208
|
+
Jeśli preferowany język jest niedostępny, funkcja `t` powróci do domyślnego języka zdefiniowanego w konfiguracji:
|
|
209
|
+
|
|
210
|
+
```typescript {5-6} fileName="intlayer.config.ts" codeFormat="typescript"
|
|
211
|
+
import { Locales, type IntlayerConfig } from "intlayer";
|
|
212
|
+
|
|
213
|
+
const config = {
|
|
214
|
+
internationalization: {
|
|
215
|
+
locales: [Locales.ENGLISH, Locales.FRENCH, Locales.POLISH],
|
|
216
|
+
defaultLocale: Locales.ENGLISH,
|
|
217
|
+
},
|
|
218
|
+
} satisfies IntlayerConfig;
|
|
219
|
+
|
|
220
|
+
export default config;
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
---
|
|
224
|
+
|
|
225
|
+
### Wymuszanie Trybu Ścisłego
|
|
226
|
+
|
|
227
|
+
Skonfiguruj funkcję `t`, aby wymusić ścisłe przestrzeganie zadeklarowanych języków:
|
|
228
|
+
|
|
229
|
+
| Tryb | Zachowanie |
|
|
230
|
+
| ----------- | ------------------------------------------------------------------------------------------------------- |
|
|
231
|
+
| `strict` | Wszystkie zadeklarowane języki muszą mieć tłumaczenia. Brakujące języki spowodują błędy. |
|
|
232
|
+
| `inclusive` | Zadeklarowane języki muszą mieć tłumaczenia. Brakujące języki wywołują ostrzeżenia, ale są akceptowane. |
|
|
233
|
+
| `loose` | Dowolny istniejący język jest akceptowany, nawet jeśli nie został zadeklarowany. |
|
|
234
|
+
|
|
235
|
+
---
|
|
236
|
+
|
|
237
|
+
### Integracja z TypeScript
|
|
238
|
+
|
|
239
|
+
Funkcja `t` jest bezpieczna pod względem typów (type-safe) w przypadku użycia z TypeScript. Zdefiniuj bezpieczny obiekt tłumaczeń:
|
|
240
|
+
|
|
241
|
+
```typescript fileName="src/index.ts" codeFormat="typescript"
|
|
242
|
+
import { type LanguageContent } from "hono-intlayer";
|
|
243
|
+
|
|
244
|
+
const translations: LanguageContent<string> = {
|
|
245
|
+
en: "Good morning!",
|
|
246
|
+
fr: "Bonjour!",
|
|
247
|
+
pl: "Dzień dobry!",
|
|
248
|
+
};
|
|
249
|
+
|
|
250
|
+
app.get("/morning", (c) => {
|
|
251
|
+
return c.text(t(translations));
|
|
252
|
+
});
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
---
|
|
256
|
+
|
|
257
|
+
### Typowe Błędy i Rozwiązywanie Problemów
|
|
258
|
+
|
|
259
|
+
| Problem | Przyczyna | Rozwiązanie |
|
|
260
|
+
| -------------------------- | ------------------------------------------- | ---------------------------------------------------------------- |
|
|
261
|
+
| Funkcja `t` nie działa | Middleware nie został załadowany | Upewnij się, że `app.use("*", intlayer())` dodano przed trasami. |
|
|
262
|
+
| Błąd brakujących tłumaczeń | Tryb ścisły włączony bez wszystkich języków | Dostarcz wszystkie wymagane tłumaczenia. |
|
|
263
|
+
|
|
264
|
+
---
|
|
265
|
+
|
|
266
|
+
## Podsumowanie
|
|
267
|
+
|
|
268
|
+
Funkcja `t` jest potężnym narzędziem do internacjonalizacji backendu. Używając jej efektywnie, możesz stworzyć bardziej inkluzywną i przyjazną dla użytkownika aplikację dla globalnej publiczności. Więcej informacji na temat zaawansowanego użytkowania i szczegółowych opcji konfiguracji można znaleźć w [dokumentacji](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/configuration.md).
|