@intlayer/docs 7.4.0 → 7.5.0-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/blog/ar/intlayer_with_i18next.md +2 -0
- package/blog/ar/intlayer_with_next-i18next.md +2 -0
- package/blog/ar/intlayer_with_next-intl.md +2 -0
- package/blog/ar/intlayer_with_react-i18next.md +2 -0
- package/blog/ar/intlayer_with_react-intl.md +2 -0
- package/blog/ar/intlayer_with_vue-i18n.md +2 -0
- package/blog/de/intlayer_with_i18next.md +2 -0
- package/blog/de/intlayer_with_next-i18next.md +1 -0
- package/blog/de/intlayer_with_next-intl.md +2 -0
- package/blog/de/intlayer_with_react-i18next.md +2 -0
- package/blog/de/intlayer_with_react-intl.md +2 -0
- package/blog/de/intlayer_with_vue-i18n.md +2 -0
- package/blog/en/intlayer_with_i18next.md +6 -0
- package/blog/en/intlayer_with_next-i18next.md +3 -0
- package/blog/en/intlayer_with_next-intl.md +3 -0
- package/blog/en/intlayer_with_react-i18next.md +3 -0
- package/blog/en/intlayer_with_react-intl.md +3 -0
- package/blog/en/intlayer_with_vue-i18n.md +3 -0
- package/blog/en-GB/intlayer_with_i18next.md +2 -0
- package/blog/en-GB/intlayer_with_next-i18next.md +2 -0
- package/blog/en-GB/intlayer_with_next-intl.md +2 -0
- package/blog/en-GB/intlayer_with_react-i18next.md +2 -0
- package/blog/en-GB/intlayer_with_react-intl.md +2 -0
- package/blog/en-GB/intlayer_with_vue-i18n.md +2 -0
- package/blog/es/intlayer_with_i18next.md +2 -0
- package/blog/es/intlayer_with_next-i18next.md +2 -0
- package/blog/es/intlayer_with_next-intl.md +2 -0
- package/blog/es/intlayer_with_react-i18next.md +2 -0
- package/blog/es/intlayer_with_react-intl.md +2 -0
- package/blog/es/intlayer_with_vue-i18n.md +2 -0
- package/blog/fr/intlayer_with_i18next.md +2 -0
- package/blog/fr/intlayer_with_next-i18next.md +2 -0
- package/blog/fr/intlayer_with_next-intl.md +2 -0
- package/blog/fr/intlayer_with_react-i18next.md +2 -0
- package/blog/fr/intlayer_with_react-intl.md +2 -0
- package/blog/fr/intlayer_with_vue-i18n.md +2 -0
- package/blog/hi/intlayer_with_i18next.md +2 -0
- package/blog/hi/intlayer_with_next-i18next.md +2 -0
- package/blog/hi/intlayer_with_next-intl.md +2 -0
- package/blog/hi/intlayer_with_react-i18next.md +2 -0
- package/blog/hi/intlayer_with_react-intl.md +2 -0
- package/blog/hi/intlayer_with_vue-i18n.md +2 -0
- package/blog/id/intlayer_with_i18next.md +2 -0
- package/blog/id/intlayer_with_next-i18next.md +2 -0
- package/blog/id/intlayer_with_next-intl.md +2 -0
- package/blog/id/intlayer_with_react-i18next.md +2 -0
- package/blog/id/intlayer_with_react-intl.md +2 -0
- package/blog/id/intlayer_with_vue-i18n.md +2 -0
- package/blog/it/intlayer_with_i18next.md +2 -0
- package/blog/it/intlayer_with_next-i18next.md +2 -0
- package/blog/it/intlayer_with_next-intl.md +2 -0
- package/blog/it/intlayer_with_react-i18next.md +2 -0
- package/blog/it/intlayer_with_react-intl.md +2 -0
- package/blog/it/intlayer_with_vue-i18n.md +2 -0
- package/blog/ja/intlayer_with_i18next.md +2 -0
- package/blog/ja/intlayer_with_next-i18next.md +1 -0
- package/blog/ja/intlayer_with_next-intl.md +2 -0
- package/blog/ja/intlayer_with_react-i18next.md +2 -0
- package/blog/ja/intlayer_with_react-intl.md +2 -0
- package/blog/ja/intlayer_with_vue-i18n.md +2 -0
- package/blog/ko/intlayer_with_i18next.md +2 -0
- package/blog/ko/intlayer_with_next-i18next.md +2 -0
- package/blog/ko/intlayer_with_next-intl.md +2 -0
- package/blog/ko/intlayer_with_react-i18next.md +2 -0
- package/blog/ko/intlayer_with_react-intl.md +2 -0
- package/blog/ko/intlayer_with_vue-i18n.md +2 -0
- package/blog/pl/intlayer_with_i18next.md +2 -0
- package/blog/pl/intlayer_with_next-i18next.md +2 -0
- package/blog/pl/intlayer_with_next-intl.md +2 -0
- package/blog/pl/intlayer_with_react-i18next.md +2 -0
- package/blog/pl/intlayer_with_react-intl.md +2 -0
- package/blog/pl/intlayer_with_vue-i18n.md +2 -0
- package/blog/pt/intlayer_with_i18next.md +2 -0
- package/blog/pt/intlayer_with_next-i18next.md +2 -0
- package/blog/pt/intlayer_with_next-intl.md +2 -0
- package/blog/pt/intlayer_with_react-i18next.md +2 -0
- package/blog/pt/intlayer_with_react-intl.md +2 -0
- package/blog/pt/intlayer_with_vue-i18n.md +2 -0
- package/blog/ru/intlayer_with_i18next.md +2 -0
- package/blog/ru/intlayer_with_next-i18next.md +2 -0
- package/blog/ru/intlayer_with_next-intl.md +2 -0
- package/blog/ru/intlayer_with_react-i18next.md +2 -0
- package/blog/ru/intlayer_with_react-intl.md +2 -0
- package/blog/ru/intlayer_with_vue-i18n.md +2 -0
- package/blog/tr/intlayer_with_i18next.md +2 -0
- package/blog/tr/intlayer_with_next-i18next.md +2 -0
- package/blog/tr/intlayer_with_next-intl.md +2 -0
- package/blog/tr/intlayer_with_react-i18next.md +2 -0
- package/blog/tr/intlayer_with_react-intl.md +2 -0
- package/blog/tr/intlayer_with_vue-i18n.md +2 -0
- package/blog/vi/intlayer_with_i18next.md +2 -0
- package/blog/vi/intlayer_with_next-i18next.md +2 -0
- package/blog/vi/intlayer_with_next-intl.md +2 -0
- package/blog/vi/intlayer_with_react-i18next.md +2 -0
- package/blog/vi/intlayer_with_react-intl.md +2 -0
- package/blog/vi/intlayer_with_vue-i18n.md +2 -0
- package/blog/zh/intlayer_with_i18next.md +2 -0
- package/blog/zh/intlayer_with_next-i18next.md +2 -0
- package/blog/zh/intlayer_with_next-intl.md +2 -0
- package/blog/zh/intlayer_with_react-i18next.md +2 -0
- package/blog/zh/intlayer_with_react-intl.md +2 -0
- package/blog/zh/intlayer_with_vue-i18n.md +2 -0
- package/dist/cjs/generated/docs.entry.cjs +19 -0
- package/dist/cjs/generated/docs.entry.cjs.map +1 -1
- package/dist/esm/generated/docs.entry.mjs +19 -0
- package/dist/esm/generated/docs.entry.mjs.map +1 -1
- package/dist/types/generated/docs.entry.d.ts +1 -0
- package/dist/types/generated/docs.entry.d.ts.map +1 -1
- package/docs/ar/cli/index.md +5 -0
- package/docs/ar/cli/login.md +157 -0
- package/docs/ar/configuration.md +12 -0
- package/docs/ar/dictionary/content_file.md +24 -1
- package/docs/ar/intlayer_with_astro.md +1 -1
- package/docs/ar/intlayer_with_express.md +1 -1
- package/docs/ar/intlayer_with_nestjs.md +1 -1
- package/docs/ar/intlayer_with_next-i18next.md +1 -0
- package/docs/ar/intlayer_with_next-intl.md +1 -0
- package/docs/ar/intlayer_with_tanstack.md +1 -12
- package/docs/ar/plugins/sync-json.md +27 -2
- package/docs/de/cli/index.md +5 -0
- package/docs/de/cli/login.md +160 -0
- package/docs/de/configuration.md +12 -0
- package/docs/de/dictionary/content_file.md +24 -1
- package/docs/de/intlayer_with_astro.md +1 -1
- package/docs/de/intlayer_with_express.md +1 -1
- package/docs/de/intlayer_with_nestjs.md +1 -1
- package/docs/de/intlayer_with_next-i18next.md +1 -0
- package/docs/de/intlayer_with_next-intl.md +1 -0
- package/docs/de/intlayer_with_tanstack.md +1 -12
- package/docs/de/plugins/sync-json.md +27 -2
- package/docs/en/cli/index.md +5 -0
- package/docs/en/cli/login.md +157 -0
- package/docs/en/configuration.md +13 -0
- package/docs/en/dictionary/content_file.md +24 -1
- package/docs/en/index.md +1 -0
- package/docs/en/intlayer_with_astro.md +1 -1
- package/docs/en/intlayer_with_express.md +1 -1
- package/docs/en/intlayer_with_nestjs.md +1 -2
- package/docs/en/intlayer_with_next-i18next.md +1 -0
- package/docs/en/intlayer_with_next-intl.md +1 -0
- package/docs/en/intlayer_with_tanstack.md +7 -17
- package/docs/en/plugins/sync-json.md +53 -2
- package/docs/en-GB/cli/index.md +5 -0
- package/docs/en-GB/cli/login.md +181 -0
- package/docs/en-GB/configuration.md +12 -0
- package/docs/en-GB/dictionary/content_file.md +24 -1
- package/docs/en-GB/intlayer_with_astro.md +1 -1
- package/docs/en-GB/intlayer_with_express.md +1 -1
- package/docs/en-GB/intlayer_with_nestjs.md +1 -1
- package/docs/en-GB/intlayer_with_next-i18next.md +1 -0
- package/docs/en-GB/intlayer_with_next-intl.md +1 -0
- package/docs/en-GB/intlayer_with_tanstack.md +1 -12
- package/docs/en-GB/plugins/sync-json.md +26 -1
- package/docs/es/cli/index.md +5 -0
- package/docs/es/cli/login.md +182 -0
- package/docs/es/configuration.md +12 -0
- package/docs/es/dictionary/content_file.md +24 -1
- package/docs/es/intlayer_with_astro.md +1 -1
- package/docs/es/intlayer_with_express.md +1 -1
- package/docs/es/intlayer_with_nestjs.md +1 -1
- package/docs/es/intlayer_with_next-i18next.md +1 -0
- package/docs/es/intlayer_with_next-intl.md +1 -0
- package/docs/es/intlayer_with_tanstack.md +1 -12
- package/docs/es/plugins/sync-json.md +27 -2
- package/docs/fr/cli/index.md +5 -0
- package/docs/fr/cli/login.md +185 -0
- package/docs/fr/configuration.md +12 -0
- package/docs/fr/dictionary/content_file.md +24 -1
- package/docs/fr/intlayer_with_astro.md +1 -1
- package/docs/fr/intlayer_with_express.md +1 -1
- package/docs/fr/intlayer_with_nestjs.md +1 -1
- package/docs/fr/intlayer_with_next-i18next.md +1 -0
- package/docs/fr/intlayer_with_next-intl.md +1 -0
- package/docs/fr/intlayer_with_tanstack.md +1 -12
- package/docs/fr/plugins/sync-json.md +27 -2
- package/docs/hi/cli/index.md +5 -0
- package/docs/hi/cli/login.md +181 -0
- package/docs/hi/configuration.md +12 -0
- package/docs/hi/dictionary/content_file.md +24 -1
- package/docs/hi/intlayer_with_astro.md +1 -1
- package/docs/hi/intlayer_with_express.md +1 -1
- package/docs/hi/intlayer_with_nestjs.md +1 -1
- package/docs/hi/intlayer_with_next-i18next.md +1 -0
- package/docs/hi/intlayer_with_next-intl.md +1 -0
- package/docs/hi/intlayer_with_tanstack.md +1 -12
- package/docs/hi/plugins/sync-json.md +27 -2
- package/docs/id/cli/index.md +5 -0
- package/docs/id/cli/login.md +157 -0
- package/docs/id/configuration.md +12 -0
- package/docs/id/dictionary/content_file.md +24 -1
- package/docs/id/intlayer_with_astro.md +1 -1
- package/docs/id/intlayer_with_express.md +1 -1
- package/docs/id/intlayer_with_nestjs.md +1 -1
- package/docs/id/intlayer_with_next-i18next.md +1 -0
- package/docs/id/intlayer_with_next-intl.md +1 -0
- package/docs/id/intlayer_with_tanstack.md +1 -12
- package/docs/id/plugins/sync-json.md +27 -2
- package/docs/it/cli/index.md +5 -0
- package/docs/it/cli/login.md +157 -0
- package/docs/it/configuration.md +12 -0
- package/docs/it/dictionary/content_file.md +24 -1
- package/docs/it/intlayer_with_astro.md +1 -1
- package/docs/it/intlayer_with_express.md +1 -1
- package/docs/it/intlayer_with_nestjs.md +1 -1
- package/docs/it/intlayer_with_next-i18next.md +1 -0
- package/docs/it/intlayer_with_next-intl.md +1 -0
- package/docs/it/intlayer_with_tanstack.md +1 -12
- package/docs/it/plugins/sync-json.md +27 -2
- package/docs/ja/cli/index.md +5 -0
- package/docs/ja/cli/login.md +159 -0
- package/docs/ja/configuration.md +12 -0
- package/docs/ja/dictionary/content_file.md +24 -1
- package/docs/ja/intlayer_with_astro.md +1 -1
- package/docs/ja/intlayer_with_express.md +1 -1
- package/docs/ja/intlayer_with_nestjs.md +1 -1
- package/docs/ja/intlayer_with_next-i18next.md +1 -0
- package/docs/ja/intlayer_with_next-intl.md +1 -0
- package/docs/ja/intlayer_with_tanstack.md +1 -12
- package/docs/ja/plugins/sync-json.md +27 -2
- package/docs/ko/cli/index.md +5 -0
- package/docs/ko/cli/login.md +188 -0
- package/docs/ko/configuration.md +12 -0
- package/docs/ko/dictionary/content_file.md +44 -1
- package/docs/ko/intlayer_with_astro.md +1 -1
- package/docs/ko/intlayer_with_express.md +1 -1
- package/docs/ko/intlayer_with_nestjs.md +1 -1
- package/docs/ko/intlayer_with_next-i18next.md +1 -0
- package/docs/ko/intlayer_with_next-intl.md +1 -0
- package/docs/ko/intlayer_with_tanstack.md +1 -12
- package/docs/ko/plugins/sync-json.md +27 -2
- package/docs/pl/cli/index.md +5 -0
- package/docs/pl/cli/login.md +187 -0
- package/docs/pl/configuration.md +12 -0
- package/docs/pl/dictionary/content_file.md +24 -1
- package/docs/pl/intlayer_with_astro.md +2 -2
- package/docs/pl/intlayer_with_express.md +1 -1
- package/docs/pl/intlayer_with_nestjs.md +1 -1
- package/docs/pl/intlayer_with_next-i18next.md +1 -0
- package/docs/pl/intlayer_with_next-intl.md +1 -0
- package/docs/pl/intlayer_with_tanstack.md +1 -12
- package/docs/pl/plugins/sync-json.md +24 -2
- package/docs/pt/cli/index.md +5 -0
- package/docs/pt/cli/login.md +186 -0
- package/docs/pt/configuration.md +12 -0
- package/docs/pt/dictionary/content_file.md +24 -1
- package/docs/pt/intlayer_with_astro.md +1 -1
- package/docs/pt/intlayer_with_express.md +1 -1
- package/docs/pt/intlayer_with_nestjs.md +1 -1
- package/docs/pt/intlayer_with_next-i18next.md +1 -0
- package/docs/pt/intlayer_with_next-intl.md +1 -0
- package/docs/pt/intlayer_with_react_router_v7_fs_routes.md +570 -0
- package/docs/pt/intlayer_with_tanstack.md +1 -12
- package/docs/pt/plugins/sync-json.md +27 -2
- package/docs/ru/cli/index.md +5 -0
- package/docs/ru/cli/login.md +181 -0
- package/docs/ru/configuration.md +12 -0
- package/docs/ru/dictionary/content_file.md +44 -1
- package/docs/ru/intlayer_with_astro.md +1 -1
- package/docs/ru/intlayer_with_express.md +1 -1
- package/docs/ru/intlayer_with_nestjs.md +1 -1
- package/docs/ru/intlayer_with_next-i18next.md +1 -0
- package/docs/ru/intlayer_with_next-intl.md +1 -0
- package/docs/ru/intlayer_with_tanstack.md +1 -12
- package/docs/ru/plugins/sync-json.md +27 -2
- package/docs/tr/cli/index.md +5 -0
- package/docs/tr/cli/login.md +171 -0
- package/docs/tr/configuration.md +12 -0
- package/docs/tr/dictionary/content_file.md +44 -1
- package/docs/tr/intlayer_with_astro.md +1 -1
- package/docs/tr/intlayer_with_express.md +1 -1
- package/docs/tr/intlayer_with_next-i18next.md +1 -0
- package/docs/tr/intlayer_with_next-intl.md +1 -0
- package/docs/tr/intlayer_with_tanstack.md +1 -12
- package/docs/tr/plugins/sync-json.md +27 -2
- package/docs/vi/cli/index.md +5 -0
- package/docs/vi/cli/login.md +186 -0
- package/docs/vi/configuration.md +12 -0
- package/docs/vi/dictionary/content_file.md +24 -1
- package/docs/vi/intlayer_with_astro.md +1 -1
- package/docs/vi/intlayer_with_express.md +1 -1
- package/docs/vi/intlayer_with_nestjs.md +1 -1
- package/docs/vi/intlayer_with_next-i18next.md +1 -0
- package/docs/vi/intlayer_with_next-intl.md +1 -0
- package/docs/vi/intlayer_with_tanstack.md +1 -12
- package/docs/vi/plugins/sync-json.md +27 -2
- package/docs/zh/cli/index.md +5 -0
- package/docs/zh/cli/login.md +182 -0
- package/docs/zh/configuration.md +12 -0
- package/docs/zh/dictionary/content_file.md +44 -1
- package/docs/zh/intlayer_with_astro.md +1 -1
- package/docs/zh/intlayer_with_express.md +1 -1
- package/docs/zh/intlayer_with_nestjs.md +1 -1
- package/docs/zh/intlayer_with_next-i18next.md +1 -0
- package/docs/zh/intlayer_with_next-intl.md +1 -0
- package/docs/zh/intlayer_with_tanstack.md +1 -12
- package/docs/zh/plugins/sync-json.md +27 -2
- package/package.json +9 -9
- package/src/generated/docs.entry.ts +19 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2025-02-07
|
|
3
|
-
updatedAt: 2025-
|
|
3
|
+
updatedAt: 2025-12-13
|
|
4
4
|
title: Plik z Treścią
|
|
5
5
|
description: Dowiedz się, jak dostosować rozszerzenia dla plików deklaracji treści. Postępuj zgodnie z tą dokumentacją, aby efektywnie wdrażać warunki w swoim projekcie.
|
|
6
6
|
keywords:
|
|
@@ -12,6 +12,9 @@ slugs:
|
|
|
12
12
|
- concept
|
|
13
13
|
- content
|
|
14
14
|
history:
|
|
15
|
+
- version: 7.5.0
|
|
16
|
+
date: 2025-12-13
|
|
17
|
+
changes: Dodano obsługę formatów ICU i i18next
|
|
15
18
|
- version: 7.0.0
|
|
16
19
|
date: 2025-10-23
|
|
17
20
|
changes: Zmiana nazwy `autoFill` na `fill`
|
|
@@ -387,6 +390,26 @@ Tablica łańcuchów znaków służąca do kategoryzacji i organizacji słownik
|
|
|
387
390
|
}
|
|
388
391
|
```
|
|
389
392
|
|
|
393
|
+
#### `format` ('intlayer' | 'icu' | 'i18next')
|
|
394
|
+
|
|
395
|
+
Określa formatter do użycia dla zawartości słownika. Pozwala to na używanie różnych składni formatowania wiadomości.
|
|
396
|
+
|
|
397
|
+
- `'intlayer'`: Domyślny formatter Intlayer.
|
|
398
|
+
- `'icu'`: Używa formatowania wiadomości ICU.
|
|
399
|
+
- `'i18next'`: Używa formatowania wiadomości i18next.
|
|
400
|
+
|
|
401
|
+
**Przykład:**
|
|
402
|
+
|
|
403
|
+
```typescript
|
|
404
|
+
{
|
|
405
|
+
key: "my-dictionary",
|
|
406
|
+
format: "icu",
|
|
407
|
+
content: {
|
|
408
|
+
message: "Hello {name}, you have {count, plural, one {# message} other {# messages}}"
|
|
409
|
+
}
|
|
410
|
+
}
|
|
411
|
+
```
|
|
412
|
+
|
|
390
413
|
#### `locale` (LocalesValues)
|
|
391
414
|
|
|
392
415
|
Przekształca słownik w słownik per-lokalizacyjny, gdzie każde pole zadeklarowane w zawartości zostanie automatycznie przekształcone w węzeł tłumaczenia. Gdy ta właściwość jest ustawiona:
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
createdAt: 2024-03-07
|
|
3
3
|
updatedAt: 2025-10-03
|
|
4
4
|
title: Jak przetłumaczyć swoją aplikację Astro – przewodnik i18n 2025
|
|
5
|
-
description: Dowiedz się, jak dodać internacjonalizację (i18n) do swojej
|
|
5
|
+
description: Dowiedz się, jak dodać internacjonalizację (i18n) do swojej strony Astro za pomocą Intlayer. Postępuj zgodnie z tym przewodnikiem, aby uczynić swoją stronę wielojęzyczną.
|
|
6
6
|
keywords:
|
|
7
7
|
- Internacjonalizacja
|
|
8
8
|
- Dokumentacja
|
|
@@ -28,7 +28,7 @@ Aby pójść dalej, możesz zaimplementować [edytor wizualny](https://github.co
|
|
|
28
28
|
createdAt: 2024-03-07
|
|
29
29
|
updatedAt: 2025-10-03
|
|
30
30
|
title: Jak przetłumaczyć swoją aplikację Astro – przewodnik i18n 2025
|
|
31
|
-
description: Dowiedz się, jak dodać internacjonalizację (i18n) do swojej
|
|
31
|
+
description: Dowiedz się, jak dodać internacjonalizację (i18n) do swojej strony Astro za pomocą Intlayer. Postępuj zgodnie z tym przewodnikiem, aby uczynić swoją stronę wielojęzyczną.
|
|
32
32
|
keywords:
|
|
33
33
|
|
|
34
34
|
- Internacjonalizacja
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
createdAt: 2025-08-23
|
|
3
3
|
updatedAt: 2025-08-23
|
|
4
4
|
title: Jak przetłumaczyć backend Express – przewodnik i18n 2025
|
|
5
|
-
description: Dowiedz się, jak uczynić swój backend
|
|
5
|
+
description: Dowiedz się, jak uczynić swój backend Express wielojęzycznym. Postępuj zgodnie z dokumentacją, aby internacjonalizować (i18n) i tłumaczyć.
|
|
6
6
|
keywords:
|
|
7
7
|
- Internacjonalizacja
|
|
8
8
|
- Dokumentacja
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
createdAt: 2025-09-09
|
|
3
3
|
updatedAt: 2025-09-09
|
|
4
4
|
title: Jak przetłumaczyć backend Nest – przewodnik i18n 2025
|
|
5
|
-
description: Dowiedz się, jak uczynić swój backend
|
|
5
|
+
description: Dowiedz się, jak uczynić swój backend NestJS wielojęzycznym. Postępuj zgodnie z dokumentacją, aby internacjonalizować (i18n) i tłumaczyć.
|
|
6
6
|
keywords:
|
|
7
7
|
- Internacjonalizacja
|
|
8
8
|
- Dokumentacja
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2025-09-09
|
|
3
|
-
updatedAt: 2025-
|
|
3
|
+
updatedAt: 2025-12-11
|
|
4
4
|
title: Jak przetłumaczyć swoją aplikację Tanstack Start – przewodnik i18n 2025
|
|
5
5
|
description: Dowiedz się, jak dodać internacjonalizację (i18n) do swojej aplikacji Tanstack Start za pomocą Intlayer. Postępuj zgodnie z tym kompleksowym przewodnikiem, aby uczynić swoją aplikację wielojęzyczną z routingiem uwzględniającym lokalizację.
|
|
6
6
|
keywords:
|
|
@@ -624,17 +624,6 @@ export function NotFoundComponent() {
|
|
|
624
624
|
}
|
|
625
625
|
```
|
|
626
626
|
|
|
627
|
-
```tsx fileName="src/routes/__root.tsx"
|
|
628
|
-
import { createRootRoute } from "@tanstack/react-router";
|
|
629
|
-
|
|
630
|
-
// Trasa główna służy jako układ najwyższego poziomu
|
|
631
|
-
// Nie obsługuje 404 bezpośrednio - to jest delegowane do tras potomnych
|
|
632
|
-
// To utrzymuje główną trasę prostą i pozwala trasom świadomym locale zarządzać własną logiką 404
|
|
633
|
-
export const Route = createRootRoute({
|
|
634
|
-
component: Outlet,
|
|
635
|
-
});
|
|
636
|
-
```
|
|
637
|
-
|
|
638
627
|
```tsx fileName="src/routes/{-$locale}/route.tsx"
|
|
639
628
|
import { createFileRoute, Outlet, redirect } from "@tanstack/react-router";
|
|
640
629
|
import { validatePrefix } from "intlayer";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2025-03-13
|
|
3
|
-
updatedAt: 2025-
|
|
3
|
+
updatedAt: 2025-12-13
|
|
4
4
|
title: Wtyczka Sync JSON
|
|
5
5
|
description: Synchronizuj słowniki Intlayer z zewnętrznymi plikami JSON i18n (i18next, next-intl, react-intl, vue-i18n i inne). Zachowaj istniejące i18n, korzystając z Intlayer do zarządzania, tłumaczenia i testowania swoich komunikatów.
|
|
6
6
|
keywords:
|
|
@@ -29,7 +29,7 @@ history:
|
|
|
29
29
|
changes: Pierwsza dokumentacja wtyczki Sync JSON
|
|
30
30
|
---
|
|
31
31
|
|
|
32
|
-
# Sync JSON (mosty i18n)
|
|
32
|
+
# Sync JSON (mosty i18n) - Sync JSON z obsługą ICU / i18next
|
|
33
33
|
|
|
34
34
|
<iframe title="Jak zachować synchronizację tłumaczeń JSON z Intlayer" class="m-auto aspect-[16/9] w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/MpGMxniDHNg?autoplay=0&origin=http://intlayer.org&controls=0&rel=1"/>
|
|
35
35
|
|
|
@@ -105,9 +105,27 @@ syncJSON({
|
|
|
105
105
|
source: ({ key, locale }) => string, // wymagane
|
|
106
106
|
location?: string, // opcjonalna etykieta, domyślnie: "plugin"
|
|
107
107
|
priority?: number, // opcjonalny priorytet do rozstrzygania konfliktów, domyślnie: 0
|
|
108
|
+
format?: 'intlayer' | 'icu' | 'i18next', // opcjonalny formatator, domyślnie: 'intlayer'
|
|
108
109
|
});
|
|
109
110
|
```
|
|
110
111
|
|
|
112
|
+
#### `format` ('intlayer' | 'icu' | 'i18next')
|
|
113
|
+
|
|
114
|
+
Określa formatator, który będzie używany do zawartości słownika podczas synchronizacji plików JSON. Pozwala to na używanie różnych składni formatowania wiadomości zgodnych z różnymi bibliotekami i18n.
|
|
115
|
+
|
|
116
|
+
- `'intlayer'`: Domyślny formatator Intlayer (domyślnie).
|
|
117
|
+
- `'icu'`: Używa formatowania wiadomości ICU (zgodne z bibliotekami takimi jak react-intl, vue-i18n).
|
|
118
|
+
- `'i18next'`: Używa formatowania wiadomości i18next (zgodne z i18next, next-i18next, Solid-i18next).
|
|
119
|
+
|
|
120
|
+
**Przykład:**
|
|
121
|
+
|
|
122
|
+
```ts
|
|
123
|
+
syncJSON({
|
|
124
|
+
source: ({ key, locale }) => `./locales/${locale}/${key}.json`,
|
|
125
|
+
format: "i18next", // Użyj formatowania i18next dla zgodności
|
|
126
|
+
}),
|
|
127
|
+
```
|
|
128
|
+
|
|
111
129
|
## Wiele źródeł JSON i priorytet
|
|
112
130
|
|
|
113
131
|
Możesz dodać wiele wtyczek `syncJSON`, aby synchronizować różne źródła JSON. Jest to przydatne, gdy masz wiele bibliotek i18n lub różne struktury JSON w swoim projekcie.
|
|
@@ -134,6 +152,7 @@ export default defineConfig({
|
|
|
134
152
|
plugins: [
|
|
135
153
|
// Główne źródło JSON (najwyższy priorytet)
|
|
136
154
|
syncJSON({
|
|
155
|
+
format: "i18next",
|
|
137
156
|
source: ({ key, locale }) => `./locales/${locale}/${key}.json`,
|
|
138
157
|
location: "main-translations",
|
|
139
158
|
priority: 10,
|
|
@@ -141,6 +160,7 @@ export default defineConfig({
|
|
|
141
160
|
|
|
142
161
|
// Zapasowe źródło JSON (niższy priorytet)
|
|
143
162
|
syncJSON({
|
|
163
|
+
format: "i18next",
|
|
144
164
|
source: ({ locale }) => `./fallback-locales/${locale}.json`,
|
|
145
165
|
location: "fallback-translations",
|
|
146
166
|
priority: 5,
|
|
@@ -148,6 +168,7 @@ export default defineConfig({
|
|
|
148
168
|
|
|
149
169
|
// Źródło JSON dziedziczone (najniższy priorytet)
|
|
150
170
|
syncJSON({
|
|
171
|
+
format: "i18next",
|
|
151
172
|
source: ({ locale }) => `/my/other/app/legacy/${locale}/messages.json`,
|
|
152
173
|
location: "legacy-translations",
|
|
153
174
|
priority: 1,
|
|
@@ -178,6 +199,7 @@ import { syncJSON } from "@intlayer/sync-json-plugin";
|
|
|
178
199
|
export default {
|
|
179
200
|
plugins: [
|
|
180
201
|
syncJSON({
|
|
202
|
+
format: "i18next",
|
|
181
203
|
source: ({ key, locale }) => `./locales/${locale}/${key}.json`,
|
|
182
204
|
}),
|
|
183
205
|
],
|
package/docs/pt/cli/index.md
CHANGED
|
@@ -103,6 +103,10 @@ Para ver como configurar os locais disponíveis ou outros parâmetros, consulte
|
|
|
103
103
|
|
|
104
104
|
## Executar comandos intlayer
|
|
105
105
|
|
|
106
|
+
### Autenticação
|
|
107
|
+
|
|
108
|
+
- **[Login](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/cli/login.md)** - Autenticar-se com o CMS do Intlayer e obter credenciais de acesso
|
|
109
|
+
|
|
106
110
|
### Comandos Principais
|
|
107
111
|
|
|
108
112
|
- **[Construir Dicionários](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/cli/build.md)** - Construa seus dicionários a partir dos arquivos de declaração de conteúdo
|
|
@@ -144,6 +148,7 @@ Para ver como configurar os locais disponíveis ou outros parâmetros, consulte
|
|
|
144
148
|
|
|
145
149
|
```json fileName="package.json"
|
|
146
150
|
"scripts": {
|
|
151
|
+
"intlayer:login": "npx intlayer login",
|
|
147
152
|
"intlayer:build": "npx intlayer build",
|
|
148
153
|
"intlayer:watch": "npx intlayer build --watch",
|
|
149
154
|
"intlayer:push": "npx intlayer push",
|
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2025-12-16
|
|
3
|
+
updatedAt: 2025-12-16
|
|
4
|
+
title: CLI - Login
|
|
5
|
+
description: Aprenda como usar o comando de login do Intlayer CLI para autenticar-se no Intlayer CMS e obter credenciais de acesso.
|
|
6
|
+
keywords:
|
|
7
|
+
- CLI
|
|
8
|
+
- Login
|
|
9
|
+
- Autenticação
|
|
10
|
+
- CMS
|
|
11
|
+
- Intlayer
|
|
12
|
+
- Credenciais
|
|
13
|
+
slugs:
|
|
14
|
+
- doc
|
|
15
|
+
- concept
|
|
16
|
+
- cli
|
|
17
|
+
- login
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
# Comando de Login do Intlayer CLI
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## Descrição
|
|
25
|
+
|
|
26
|
+
O comando `login` do Intlayer CLI permite que você se autentique no Intlayer CMS. Este comando abre automaticamente o seu navegador padrão para concluir o processo de autenticação e receber as credenciais necessárias (Client ID e Client Secret) para usar os serviços do Intlayer.
|
|
27
|
+
|
|
28
|
+
## Uso
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
npx intlayer login [options]
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
ou
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
intlayer login [options]
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## Opções
|
|
41
|
+
|
|
42
|
+
### `--cms-url <url>`
|
|
43
|
+
|
|
44
|
+
Especifica a URL do Intlayer CMS para se conectar para autenticação.
|
|
45
|
+
|
|
46
|
+
- **Tipo**: `string`
|
|
47
|
+
- **Padrão**: O valor configurado em `intlayer.config.*` ou `https://intlayer.org`
|
|
48
|
+
- **Exemplo**:
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
npx intlayer login --cms-url https://intlayer.org
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
### Opções de Configuração
|
|
55
|
+
|
|
56
|
+
Você também pode usar opções comuns de configuração:
|
|
57
|
+
|
|
58
|
+
- `--env-file <path>`: Caminho para o arquivo de ambiente
|
|
59
|
+
- `-e, --env <env>`: Ambiente de execução
|
|
60
|
+
- `--base-dir <dir>`: Diretório base do projeto
|
|
61
|
+
- `--verbose`: Habilitar saída detalhada (padrão: true)
|
|
62
|
+
- `--prefix <prefix>`: Prefixo para logs
|
|
63
|
+
|
|
64
|
+
## Como Funciona
|
|
65
|
+
|
|
66
|
+
1. **Inicialização do servidor local**: O comando inicia um servidor HTTP local em uma porta aleatória para receber credenciais do CMS
|
|
67
|
+
|
|
68
|
+
Especifique a URL do Intlayer CMS para se conectar durante a autenticação.
|
|
69
|
+
|
|
70
|
+
- **Tipo**: `string`
|
|
71
|
+
- **Padrão**: O valor configurado em `intlayer.config.*` ou `https://intlayer.org`
|
|
72
|
+
- **Exemplo**:
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
npx intlayer login --cms-url https://intlayer.org
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
### Opções de Configuração
|
|
79
|
+
|
|
80
|
+
Você também pode usar opções de configuração comuns:
|
|
81
|
+
|
|
82
|
+
- `--env-file <path>`: Caminho para o arquivo de ambiente
|
|
83
|
+
- `-e, --env <env>`: Ambiente de execução
|
|
84
|
+
- `--base-dir <dir>`: Diretório base do projeto
|
|
85
|
+
- `--verbose`: Habilitar saída detalhada (padrão: true)
|
|
86
|
+
- `--prefix <prefix>`: Prefixo para os logs
|
|
87
|
+
|
|
88
|
+
## Como Funciona
|
|
89
|
+
|
|
90
|
+
1. **Inicialização do Servidor Local**: O comando inicia um servidor HTTP local em uma porta aleatória para receber as credenciais do CMS
|
|
91
|
+
2. **Abertura do Navegador**: O comando abre automaticamente o seu navegador padrão na URL de login do CMS
|
|
92
|
+
3. **Autenticação**: Complete a autenticação no navegador usando sua conta Intlayer
|
|
93
|
+
4. **Recepção das Credenciais**: O servidor local recebe o Client ID e o Client Secret do CMS
|
|
94
|
+
5. **Instruções**: O comando exibe instruções para configurar as credenciais no seu projeto
|
|
95
|
+
|
|
96
|
+
## Saída
|
|
97
|
+
|
|
98
|
+
Após um login bem-sucedido, o comando exibirá:
|
|
99
|
+
|
|
100
|
+
1. **As credenciais recebidas** (Client ID e Client Secret)
|
|
101
|
+
2. **Instruções para o arquivo `.env`:**
|
|
102
|
+
|
|
103
|
+
```bash
|
|
104
|
+
INTLAYER_CLIENT_ID=your_client_id
|
|
105
|
+
INTLAYER_CLIENT_SECRET=your_client_secret
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
3. **Instruções para o arquivo de configuração do Intlayer**:
|
|
109
|
+
|
|
110
|
+
```typescript
|
|
111
|
+
{
|
|
112
|
+
editor: {
|
|
113
|
+
cmsURL: 'https://intlayer.org',
|
|
114
|
+
clientId: process.env.INTLAYER_CLIENT_ID,
|
|
115
|
+
clientSecret: process.env.INTLAYER_CLIENT_SECRET,
|
|
116
|
+
},
|
|
117
|
+
}
|
|
118
|
+
clientId: process.env.INTLAYER_CLIENT_ID,
|
|
119
|
+
clientSecret: process.env.INTLAYER_CLIENT_SECRET,
|
|
120
|
+
},
|
|
121
|
+
}
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
## Configuração Manual
|
|
125
|
+
|
|
126
|
+
Se o navegador não abrir automaticamente, você pode visitar manualmente a URL exibida no terminal.
|
|
127
|
+
|
|
128
|
+
## Exemplos
|
|
129
|
+
|
|
130
|
+
### Login com URL do CMS personalizado
|
|
131
|
+
|
|
132
|
+
```bash
|
|
133
|
+
npx intlayer login --cms-url https://custom-cms.example.com
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
### Login com Arquivo de Ambiente Específico
|
|
137
|
+
|
|
138
|
+
```bash
|
|
139
|
+
npx intlayer login --env-file .env.production
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
### Login em Modo Verbose
|
|
143
|
+
|
|
144
|
+
```bash
|
|
145
|
+
npx intlayer login --verbose
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
## Solução de Problemas
|
|
149
|
+
|
|
150
|
+
### Navegador Não Abre
|
|
151
|
+
|
|
152
|
+
Se o navegador não abrir automaticamente, copie a URL exibida no terminal e abra-a manualmente no seu navegador.
|
|
153
|
+
|
|
154
|
+
### Problemas de Conexão
|
|
155
|
+
|
|
156
|
+
Se você encontrar problemas de conexão, verifique:
|
|
157
|
+
|
|
158
|
+
1. Que a URL do CMS esteja correta
|
|
159
|
+
2. Que sua conexão com a internet esteja funcionando corretamente
|
|
160
|
+
3. Que não haja firewalls bloqueando a conexão
|
|
161
|
+
|
|
162
|
+
### Credenciais não recebidas
|
|
163
|
+
|
|
164
|
+
Se as credenciais não forem recebidas:
|
|
165
|
+
|
|
166
|
+
1. Certifique-se de que você concluiu o processo de autenticação no navegador
|
|
167
|
+
2. Verifique se a porta local não está bloqueada
|
|
168
|
+
3. Tente executar o comando novamente
|
|
169
|
+
|
|
170
|
+
## Próximos passos
|
|
171
|
+
|
|
172
|
+
Após completar o login:
|
|
173
|
+
|
|
174
|
+
1. Adicione as credenciais ao seu arquivo `.env`
|
|
175
|
+
2. Configure seu arquivo `intlayer.config.*` com as credenciais
|
|
176
|
+
3. Use comandos da CLI para gerenciar seus dicionários:
|
|
177
|
+
- [`npx intlayer push`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/cli/push.md) - Fazer push de dicionários para o CMS
|
|
178
|
+
- [`npx intlayer pull`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/cli/pull.md) - Fazer pull de dicionários do CMS
|
|
179
|
+
|
|
180
|
+
- [`npx intlayer fill`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/cli/fill.md) - Preencher traduções faltantes
|
|
181
|
+
|
|
182
|
+
## Veja também
|
|
183
|
+
|
|
184
|
+
- [Documentação da CLI](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/cli/index.md)
|
|
185
|
+
- [Configuração do Intlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/configuration.md)
|
|
186
|
+
- [Intlayer CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/intlayer_CMS.md)
|
package/docs/pt/configuration.md
CHANGED
|
@@ -14,6 +14,9 @@ slugs:
|
|
|
14
14
|
- concept
|
|
15
15
|
- configuration
|
|
16
16
|
history:
|
|
17
|
+
- version: 7.5.0
|
|
18
|
+
date: 2025-12-17
|
|
19
|
+
changes: Adicionar opção `buildMode`
|
|
17
20
|
- version: 6.0.0
|
|
18
21
|
date: 2025-09-16
|
|
19
22
|
changes: Adicionado modo de importação `live`
|
|
@@ -524,6 +527,15 @@ As opções de build se aplicam aos plugins `@intlayer/babel` e `@intlayer/swc`.
|
|
|
524
527
|
|
|
525
528
|
#### Propriedades
|
|
526
529
|
|
|
530
|
+
- **mode**:
|
|
531
|
+
- _Tipo_: `'auto' | 'manual'`
|
|
532
|
+
- _Padrão_: `'auto'`
|
|
533
|
+
- _Descrição_: Controla o modo da build.
|
|
534
|
+
- _Exemplo_: `'manual'`
|
|
535
|
+
- _Nota_: Se 'auto', a build será habilitada automaticamente quando a aplicação for construída.
|
|
536
|
+
- _Nota_: Se 'manual', a build será definida apenas quando o comando de build for executado.
|
|
537
|
+
- _Nota_: Pode ser usado para desabilitar a build de dicionários, por exemplo quando a execução em um ambiente Node.js deve ser evitada.
|
|
538
|
+
|
|
527
539
|
- **optimize**:
|
|
528
540
|
- _Tipo_: `boolean`
|
|
529
541
|
- _Padrão_: `process.env.NODE_ENV === 'production'`
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2025-02-07
|
|
3
|
-
updatedAt: 2025-
|
|
3
|
+
updatedAt: 2025-12-13
|
|
4
4
|
title: Arquivo de Conteúdo
|
|
5
5
|
description: Aprenda como personalizar as extensões para seus arquivos de declaração de conteúdo. Siga esta documentação para implementar condições de forma eficiente em seu projeto.
|
|
6
6
|
keywords:
|
|
@@ -12,6 +12,9 @@ slugs:
|
|
|
12
12
|
- concept
|
|
13
13
|
- content
|
|
14
14
|
history:
|
|
15
|
+
- version: 7.5.0
|
|
16
|
+
date: 2025-12-13
|
|
17
|
+
changes: Adicionado suporte para formatos ICU e i18next
|
|
15
18
|
- version: 6.0.0
|
|
16
19
|
date: 2025-09-20
|
|
17
20
|
changes: Adição da documentação dos campos
|
|
@@ -387,6 +390,26 @@ Array de strings para categorizar e organizar dicionários. As tags fornecem con
|
|
|
387
390
|
}
|
|
388
391
|
```
|
|
389
392
|
|
|
393
|
+
#### `format` ('intlayer' | 'icu' | 'i18next')
|
|
394
|
+
|
|
395
|
+
Especifica o formatador a ser usado para o conteúdo do dicionário. Isso permite usar diferentes sintaxes de formatação de mensagens.
|
|
396
|
+
|
|
397
|
+
- `'intlayer'`: O formatador Intlayer padrão.
|
|
398
|
+
- `'icu'`: Usa formatação de mensagens ICU.
|
|
399
|
+
- `'i18next'`: Usa formatação de mensagens i18next.
|
|
400
|
+
|
|
401
|
+
**Exemplo:**
|
|
402
|
+
|
|
403
|
+
```typescript
|
|
404
|
+
{
|
|
405
|
+
key: "my-dictionary",
|
|
406
|
+
format: "icu",
|
|
407
|
+
content: {
|
|
408
|
+
message: "Hello {name}, you have {count, plural, one {# message} other {# messages}}"
|
|
409
|
+
}
|
|
410
|
+
}
|
|
411
|
+
```
|
|
412
|
+
|
|
390
413
|
#### `locale` (LocalesValues)
|
|
391
414
|
|
|
392
415
|
Transforma o dicionário em um dicionário por localidade onde cada campo declarado no conteúdo será automaticamente transformado em um nó de tradução. Quando essa propriedade é definida:
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
createdAt: 2024-03-07
|
|
3
3
|
updatedAt: 2025-10-03
|
|
4
4
|
title: Como traduzir seu Astro – guia i18n 2025
|
|
5
|
-
description: Aprenda como adicionar internacionalização (i18n)
|
|
5
|
+
description: Aprenda como adicionar internacionalização (i18n) ao seu site Astro usando Intlayer. Siga este guia para tornar seu site multilíngue.
|
|
6
6
|
keywords:
|
|
7
7
|
- Internacionalização
|
|
8
8
|
- Documentação
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
createdAt: 2024-08-11
|
|
3
3
|
updatedAt: 2025-06-29
|
|
4
4
|
title: Como traduzir seu Express backend – guia i18n 2025
|
|
5
|
-
description: Descubra como tornar seu backend
|
|
5
|
+
description: Descubra como tornar seu backend Express multilíngue. Siga a documentação para internacionalizar (i18n) e traduzi-lo.
|
|
6
6
|
keywords:
|
|
7
7
|
- Internacionalização
|
|
8
8
|
- Documentação
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
createdAt: 2025-09-09
|
|
3
3
|
updatedAt: 2025-09-09
|
|
4
4
|
title: Como traduzir seu Nest backend – guia i18n 2025
|
|
5
|
-
description: Descubra como tornar seu backend
|
|
5
|
+
description: Descubra como tornar seu backend NestJS multilíngue. Siga a documentação para internacionalizar (i18n) e traduzir.
|
|
6
6
|
keywords:
|
|
7
7
|
- Internacionalização
|
|
8
8
|
- Documentação
|