@intlayer/docs 8.9.6-canary.0 → 8.9.7

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 (141) hide show
  1. package/blog/ar/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
  2. package/blog/de/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
  3. package/blog/en/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
  4. package/blog/en/react-i18next_vs_react-intl_vs_intlayer.md +1 -1
  5. package/blog/en-GB/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
  6. package/blog/es/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
  7. package/blog/fr/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
  8. package/blog/id/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
  9. package/blog/id/react-i18next_vs_react-intl_vs_intlayer.md +1 -1
  10. package/blog/it/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
  11. package/blog/ja/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
  12. package/blog/ko/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
  13. package/blog/pl/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
  14. package/blog/pl/react-i18next_vs_react-intl_vs_intlayer.md +1 -1
  15. package/blog/pt/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
  16. package/blog/ru/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
  17. package/blog/tr/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
  18. package/blog/tr/react-i18next_vs_react-intl_vs_intlayer.md +1 -1
  19. package/blog/uk/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
  20. package/blog/uk/react-i18next_vs_react-intl_vs_intlayer.md +1 -1
  21. package/blog/vi/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
  22. package/blog/vi/react-i18next_vs_react-intl_vs_intlayer.md +1 -1
  23. package/blog/zh/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
  24. package/docs/ar/benchmark/nextjs.md +8 -8
  25. package/docs/ar/benchmark/solid.md +8 -8
  26. package/docs/ar/benchmark/svelte.md +8 -8
  27. package/docs/ar/benchmark/tanstack.md +7 -7
  28. package/docs/ar/benchmark/vue.md +8 -8
  29. package/docs/ar/interest_of_intlayer.md +107 -80
  30. package/docs/bn/interest_of_intlayer.md +237 -0
  31. package/docs/cs/interest_of_intlayer.md +237 -0
  32. package/docs/de/benchmark/nextjs.md +8 -8
  33. package/docs/de/benchmark/solid.md +8 -8
  34. package/docs/de/benchmark/svelte.md +8 -8
  35. package/docs/de/benchmark/tanstack.md +7 -7
  36. package/docs/de/benchmark/vue.md +8 -8
  37. package/docs/de/interest_of_intlayer.md +98 -74
  38. package/docs/en/benchmark/___nextjs.md +8 -8
  39. package/docs/en/benchmark/___tanstack.md +6 -6
  40. package/docs/en/benchmark/nextjs.md +8 -8
  41. package/docs/en/benchmark/solid.md +8 -8
  42. package/docs/en/benchmark/svelte.md +8 -8
  43. package/docs/en/benchmark/tanstack.md +7 -7
  44. package/docs/en/benchmark/vue.md +8 -8
  45. package/docs/en/configuration.md +2 -1
  46. package/docs/en/interest_of_intlayer.md +1 -1
  47. package/docs/en-GB/benchmark/nextjs.md +8 -8
  48. package/docs/en-GB/benchmark/solid.md +8 -8
  49. package/docs/en-GB/benchmark/svelte.md +8 -8
  50. package/docs/en-GB/benchmark/tanstack.md +7 -7
  51. package/docs/en-GB/benchmark/vue.md +8 -8
  52. package/docs/en-GB/configuration.md +2 -1
  53. package/docs/en-GB/interest_of_intlayer.md +59 -33
  54. package/docs/es/benchmark/nextjs.md +8 -8
  55. package/docs/es/benchmark/solid.md +8 -8
  56. package/docs/es/benchmark/svelte.md +8 -8
  57. package/docs/es/benchmark/tanstack.md +7 -7
  58. package/docs/es/benchmark/vue.md +8 -8
  59. package/docs/es/interest_of_intlayer.md +28 -2
  60. package/docs/fr/benchmark/nextjs.md +8 -8
  61. package/docs/fr/benchmark/solid.md +8 -8
  62. package/docs/fr/benchmark/svelte.md +8 -8
  63. package/docs/fr/benchmark/tanstack.md +7 -7
  64. package/docs/fr/benchmark/vue.md +8 -8
  65. package/docs/fr/interest_of_intlayer.md +47 -21
  66. package/docs/hi/benchmark/nextjs.md +8 -8
  67. package/docs/hi/benchmark/solid.md +8 -8
  68. package/docs/hi/benchmark/svelte.md +8 -8
  69. package/docs/hi/benchmark/tanstack.md +7 -7
  70. package/docs/hi/benchmark/vue.md +8 -8
  71. package/docs/hi/interest_of_intlayer.md +114 -88
  72. package/docs/id/benchmark/nextjs.md +8 -8
  73. package/docs/id/benchmark/solid.md +8 -8
  74. package/docs/id/benchmark/svelte.md +8 -8
  75. package/docs/id/benchmark/tanstack.md +7 -7
  76. package/docs/id/benchmark/vue.md +8 -8
  77. package/docs/id/interest_of_intlayer.md +81 -81
  78. package/docs/it/benchmark/nextjs.md +8 -8
  79. package/docs/it/benchmark/solid.md +8 -8
  80. package/docs/it/benchmark/svelte.md +8 -8
  81. package/docs/it/benchmark/tanstack.md +7 -7
  82. package/docs/it/benchmark/vue.md +4 -4
  83. package/docs/it/interest_of_intlayer.md +96 -69
  84. package/docs/ja/benchmark/nextjs.md +8 -8
  85. package/docs/ja/benchmark/solid.md +8 -8
  86. package/docs/ja/benchmark/svelte.md +8 -8
  87. package/docs/ja/benchmark/tanstack.md +7 -7
  88. package/docs/ja/benchmark/vue.md +8 -8
  89. package/docs/ja/interest_of_intlayer.md +108 -81
  90. package/docs/ko/benchmark/nextjs.md +8 -8
  91. package/docs/ko/benchmark/solid.md +8 -8
  92. package/docs/ko/benchmark/svelte.md +8 -8
  93. package/docs/ko/benchmark/tanstack.md +7 -7
  94. package/docs/ko/benchmark/vue.md +8 -8
  95. package/docs/ko/interest_of_intlayer.md +101 -74
  96. package/docs/nl/interest_of_intlayer.md +237 -0
  97. package/docs/pl/benchmark/nextjs.md +8 -8
  98. package/docs/pl/benchmark/solid.md +8 -8
  99. package/docs/pl/benchmark/svelte.md +8 -8
  100. package/docs/pl/benchmark/tanstack.md +7 -7
  101. package/docs/pl/benchmark/vue.md +8 -8
  102. package/docs/pl/interest_of_intlayer.md +85 -83
  103. package/docs/pt/benchmark/nextjs.md +8 -8
  104. package/docs/pt/benchmark/solid.md +8 -8
  105. package/docs/pt/benchmark/svelte.md +8 -8
  106. package/docs/pt/benchmark/tanstack.md +7 -7
  107. package/docs/pt/benchmark/vue.md +8 -8
  108. package/docs/pt/interest_of_intlayer.md +91 -67
  109. package/docs/ru/benchmark/nextjs.md +8 -8
  110. package/docs/ru/benchmark/solid.md +6 -7
  111. package/docs/ru/benchmark/svelte.md +8 -8
  112. package/docs/ru/benchmark/tanstack.md +7 -7
  113. package/docs/ru/benchmark/vue.md +8 -8
  114. package/docs/ru/interest_of_intlayer.md +95 -69
  115. package/docs/tr/benchmark/nextjs.md +8 -8
  116. package/docs/tr/benchmark/solid.md +8 -8
  117. package/docs/tr/benchmark/svelte.md +8 -8
  118. package/docs/tr/benchmark/tanstack.md +7 -7
  119. package/docs/tr/benchmark/vue.md +8 -8
  120. package/docs/tr/interest_of_intlayer.md +94 -89
  121. package/docs/uk/benchmark/nextjs.md +8 -8
  122. package/docs/uk/benchmark/solid.md +8 -8
  123. package/docs/uk/benchmark/svelte.md +8 -8
  124. package/docs/uk/benchmark/tanstack.md +7 -7
  125. package/docs/uk/benchmark/vue.md +8 -8
  126. package/docs/uk/interest_of_intlayer.md +94 -96
  127. package/docs/ur/interest_of_intlayer.md +237 -0
  128. package/docs/vi/benchmark/nextjs.md +8 -8
  129. package/docs/vi/benchmark/solid.md +8 -8
  130. package/docs/vi/benchmark/svelte.md +8 -8
  131. package/docs/vi/benchmark/tanstack.md +7 -7
  132. package/docs/vi/benchmark/vue.md +8 -8
  133. package/docs/vi/interest_of_intlayer.md +82 -79
  134. package/docs/zh/benchmark/nextjs.md +8 -8
  135. package/docs/zh/benchmark/solid.md +6 -7
  136. package/docs/zh/benchmark/svelte.md +7 -7
  137. package/docs/zh/benchmark/tanstack.md +7 -7
  138. package/docs/zh/benchmark/vue.md +8 -8
  139. package/docs/zh/interest_of_intlayer.md +99 -72
  140. package/docs/zh-TW/interest_of_intlayer.md +237 -0
  141. package/package.json +6 -6
@@ -1,8 +1,8 @@
1
1
  ---
2
2
  createdAt: 2024-08-14
3
3
  updatedAt: 2025-09-27
4
- title: Zainteresowanie Intlayer
5
- description: Odkryj korzyści i zalety korzystania z Intlayer w swoich projektach. Zrozum, dlaczego Intlayer wyróżnia się na tle innych frameworków.
4
+ title: Zalety Intlayer
5
+ description: Odkryj korzyści i zalety korzystania z Intlayer w swoich projektach. Dowiedz się, dlaczego Intlayer wyróżnia się na tle innych rozwiązań.
6
6
  keywords:
7
7
  - Korzyści
8
8
  - Zalety
@@ -13,6 +13,9 @@ slugs:
13
13
  - doc
14
14
  - why
15
15
  history:
16
+ - version: 7.3.1
17
+ date: 2025-11-27
18
+ changes: "Wydanie Kompilatora"
16
19
  - version: 5.8.0
17
20
  date: 2025-08-19
18
21
  changes: "Aktualizacja tabeli porównawczej"
@@ -25,11 +28,11 @@ history:
25
28
 
26
29
  ## Czym jest Intlayer?
27
30
 
28
- **Intlayer** to biblioteka do internacjonalizacji stworzona specjalnie dla programistów JavaScript. Pozwala na deklarowanie treści w dowolnym miejscu w kodzie. Przekształca deklaracje wielojęzycznych treści w ustrukturyzowane słowniki, które można łatwo zintegrować w kodzie. Korzystając z TypeScript, **Intlayer** sprawia, że rozwój jest bardziej solidny i efektywny.
31
+ **Intlayer** to biblioteka do internacjonalizacji zaprojektowana specjalnie dla programistów JavaScript. Pozwala ona na deklarowanie treści w dowolnym miejscu w kodzie. Przekształca deklaracje treści wielojęzycznych w strukturalne słowniki, które można łatwo zintegrować z kodem. Dzięki zastosowaniu TypeScript, **Intlayer** sprawia, że proces programowania staje się bardziej solidny i wydajny.
29
32
 
30
- ## Dlaczego stworzono Intlayer?
33
+ ## Dlaczego powstał Intlayer?
31
34
 
32
- Intlayer powstał, aby rozwiązać powszechny problem, który dotyka wszystkie popularne biblioteki i18n, takie jak `next-intl`, `react-i18next`, `react-intl`, `next-i18next`, `react-intl` oraz `vue-i18n`.
35
+ Intlayer powstał, aby rozwiązać powszechny problem dotyczący wszystkich popularnych bibliotek i18n, takich jak `next-intl`, `react-i18next`, `react-intl`, `next-i18next`, `react-intl` czy `vue-i18n`.
33
36
 
34
37
  Wszystkie te rozwiązania stosują scentralizowane podejście do listowania i zarządzania treścią. Na przykład:
35
38
 
@@ -46,7 +49,7 @@ Wszystkie te rozwiązania stosują scentralizowane podejście do listowania i za
46
49
  └── index.tsx
47
50
  ```
48
51
 
49
- Lub tutaj z użyciem przestrzeni nazw:
52
+ Lub przy użyciu przestrzeni nazw:
50
53
 
51
54
  ```bash
52
55
  .
@@ -67,23 +70,23 @@ Lub tutaj z użyciem przestrzeni nazw:
67
70
  └── index.tsx
68
71
  ```
69
72
 
70
- Tego typu architektura spowalnia proces rozwoju i sprawia, że baza kodu jest trudniejsza w utrzymaniu z kilku powodów:
73
+ Tego typu architektura spowalnia proces programowania i komplikuje utrzymanie kodu z kilku powodów:
71
74
 
72
- 1. **Dla każdego nowo utworzonego komponentu powinieneś:**
75
+ 1. **Dla każdego nowego komponentu należy:**
73
76
  - Utworzyć nowy zasób/przestrzeń nazw w folderze `locales`
74
- - Pamiętać o zaimportowaniu nowej przestrzeni nazw na swojej stronie
75
- - Przetłumaczyć swoją treść (często wykonywane ręcznie przez kopiuj/wklej z dostawców AI)
77
+ - Pamiętać o zaimportowaniu nowej przestrzeni nazw na stronie
78
+ - Przetłumaczyć treść (często robione ręcznie poprzez kopiowanie/wklejanie z narzędzi AI)
76
79
 
77
- 2. **Dla każdej zmiany wprowadzanej w Twoich komponentach powinieneś:**
78
- - Wyszukać powiązany zasób/przestrzeń nazw (znajdującą się daleko od komponentu)
79
- - Przetłumaczyć swoją zawartość
80
- - Upewnić się, że Twoja zawartość jest aktualna dla każdej lokalizacji
81
- - Zweryfikować, czy Twoja przestrzeń nazw nie zawiera nieużywanych kluczy/wartości
82
- - Upewnić się, że struktura Twoich plików JSON jest taka sama dla wszystkich lokalizacji
80
+ 2. **Dla każdej zmiany w komponentach należy:**
81
+ - Wyszukać powiązany zasób/przestrzeń nazw (z dala od komponentu)
82
+ - Przetłumaczyć treść
83
+ - Upewnić się, że treść jest aktualna dla wszystkich języków
84
+ - Zweryfikować, czy przestrzeń nazw nie zawiera nieużywanych kluczy/wartości
85
+ - Upewnić się, że struktura plików JSON jest taka sama dla wszystkich języków
83
86
 
84
- W profesjonalnych projektach korzystających z tych rozwiązań często używa się platform lokalizacyjnych, które pomagają zarządzać tłumaczeniem Twojej zawartości. Jednak może to szybko stać się kosztowne dla dużych projektów.
87
+ W profesjonalnych projektach korzystających z tych rozwiązań często używa się platform lokalizacyjnych do zarządzania tłumaczeniami. Jednak w przypadku dużych projektów może to szybko stać się kosztowne.
85
88
 
86
- Aby rozwiązać ten problem, Intlayer przyjmuje podejście, które ogranicza zakres Twojej zawartości do pojedynczego komponentu i utrzymuje blisko komponentu, tak jak często robimy to z CSS (`styled-components`), typami, dokumentacją (`storybook`) czy testami jednostkowymi (`jest`).
89
+ Aby rozwiązać ten problem, Intlayer stosuje podejście polegające na ograniczeniu zakresu treści do każdego komponentu i przechowywaniu jej blisko niego, podobnie jak robimy to z CSS (`styled-components`), typami, dokumentacją (`storybook`) czy testami jednostkowymi (`jest`).
87
90
 
88
91
  ```bash codeFormat="typescript"
89
92
  .
@@ -142,94 +145,93 @@ export const ComponentExample = () => {
142
145
  };
143
146
  ```
144
147
 
145
- To podejście pozwala na:
148
+ Takie podejście pozwala na:
146
149
 
147
- 1. **Zwiększenie szybkości rozwoju**
150
+ 1. **Zwiększenie prędkości programowania**
148
151
  - Pliki `.content.{{ts|mjs|cjs|json}}` można tworzyć za pomocą rozszerzenia VSCode
149
- - Narzędzia AI do autouzupełniania w twoim IDE (takie jak GitHub Copilot) mogą pomóc w deklarowaniu twoich treści, redukując kopiuj/wklej
152
+ - Narzędzia AI do autouzupełniania w IDE (np. GitHub Copilot) mogą pomagać w deklarowaniu treści, ograniczając kopiowanie/wklejanie
150
153
 
151
- 2. **Oczyszczenie twojej bazy kodu**
154
+ 2. **Uporządkowanie kodu**
152
155
  - Zmniejszenie złożoności
153
- - Zwiększenie utrzymywalności
156
+ - Zwiększenie łatwości utrzymania
154
157
 
155
- 3. **Łatwiejsze duplikowanie twoich komponentów i powiązanych z nimi treści (np. komponenty logowania/rejestracji itp.)**
156
- - Ograniczając ryzyko wpływu na treści innych komponentów
157
- - Poprzez kopiowanie i wklejanie zawartości z jednej aplikacji do drugiej bez zewnętrznych zależności
158
+ 3. **Łatwiejsze duplikowanie komponentów wraz z ich treścią (np. komponenty logowania/rejestracji itp.)**
159
+ - Poprzez ograniczenie ryzyka wpływu na treść innych komponentów
160
+ - Poprzez kopiowanie/wklejanie treści z jednej aplikacji do drugiej bez zewnętrznych zależności
158
161
 
159
- 4. **Unikaj zaśmiecania swojej bazy kodu nieużywanymi kluczami/wartościami dla nieużywanych komponentów**
160
- - Jeśli nie używasz komponentu, Intlayer nie zaimportuje jego powiązanej zawartości
161
- - Jeśli usuniesz komponent, łatwiej będzie Ci pamiętać o usunięciu jego powiązanej zawartości, ponieważ będzie ona znajdować się w tym samym folderze
162
+ 4. **Unikanie zaśmiecania kodu nieużywanymi kluczami/wartościami dla nieużywanych komponentów**
163
+ - Jeśli nie używasz komponentu, Intlayer nie zaimportuje powiązanej z nim treści
164
+ - Jeśli usuniesz komponent, łatwiej będzie pamiętać o usunięciu powiązanej z nim treści, ponieważ znajduje się ona w tym samym folderze
162
165
 
163
- 5. **Zmniejsz koszt rozumowania dla agentów AI przy deklarowaniu Twojej wielojęzycznej zawartości**
164
- - Agent AI nie będzie musiał skanować całej bazy kodu, aby wiedzieć, gdzie zaimplementować Twoją zawartość
165
- - Tłumaczenia mogą być łatwo wykonane przez narzędzia AI do autouzupełniania w Twoim IDE (takie jak GitHub Copilot)
166
+ 5. **Zmniejszenie kosztów rozumowania dla agentów AI przy deklarowaniu treści wielojęzycznych**
167
+ - Agent AI nie będzie musiał skanować całego kodu, aby wiedzieć, gdzie zaimplementować treść
168
+ - Tłumaczenia można łatwo wykonać za pomocą narzędzi AI do autouzupełniania w IDE (np. GitHub Copilot)
166
169
 
167
- 6. **Optymalizuj wydajność ładowania**
168
- - Jeśli komponent jest ładowany leniwie (lazy-loaded), jego powiązana zawartość zostanie załadowana w tym samym czasie
170
+ 6. **Optymalizację wydajności ładowania**
171
+ - Jeśli komponent jest ładowany leniwie (lazy-loaded), powiązana z nim treść zostanie załadowana w tym samym czasie
169
172
 
170
173
  ## Dodatkowe funkcje Intlayer
171
174
 
172
- | Funkcja | Opis |
173
- | ------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
174
- | ![Funkcja](https://github.com/aymericzip/intlayer/blob/main/docs/assets/frameworks.png?raw=true) | **Wsparcie dla wielu frameworków**<br><br>Intlayer jest kompatybilny ze wszystkimi głównymi frameworkami i bibliotekami, w tym Next.js, React, Vite, Vue.js, Nuxt, Preact, Express i wieloma innymi. |
175
- | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/javascript_content_management.jpg?raw=true) | **Zarządzanie treścią oparte na JavaScript**<br><br>Wykorzystaj elastyczność JavaScript do efektywnego definiowania i zarządzania swoją treścią. <br><br> - [Deklaracja treści](https://intlayer.org/doc/concept/content) |
176
- | ![Funkcja](https://github.com/aymericzip/intlayer/blob/main/docs/assets/per_locale_content_declaration_file.png?raw=true) | **Plik Deklaracji Treści dla Każdego Języka**<br><br>Przyspiesz swój rozwój, deklarując treść tylko raz, przed automatycznym generowaniem.<br><br> - [Plik Deklaracji Treści dla Każdego Języka](https://intlayer.org/doc/concept/per-locale-file) |
177
- | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/autocompletion.png?raw=true) | **Środowisko z Bezpieczeństwem Typów**<br><br>Wykorzystaj TypeScript, aby zapewnić, że definicje treści i kod są wolne od błędów, jednocześnie korzystając z autouzupełniania w IDE.<br><br> - [Konfiguracja TypeScript](https://intlayer.org/doc/environment/vite-and-react#configure-typescript) |
178
- | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/config_file.png?raw=true) | **Uproszczona konfiguracja**<br><br>Rozpocznij pracę szybko przy minimalnej konfiguracji. Łatwo dostosuj ustawienia dotyczące internacjonalizacji, routingu, AI, budowania i obsługi treści. <br><br> - [Poznaj integrację z Next.js](https://intlayer.org/doc/environment/nextjs) |
179
- | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/content_retrieval.png?raw=true) | **Uproszczone pobieranie treści**<br><br>Nie ma potrzeby wywoływania funkcji `t` dla każdego fragmentu treści. Pobierz całą swoją zawartość bezpośrednio za pomocą jednego hooka.<br><br> - [Integracja z React](https://intlayer.org/doc/environment/create-react-app) |
180
- | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/server_component.png?raw=true) | **Spójna implementacja komponentów serwerowych**<br><br>Idealnie dopasowana do komponentów serwerowych Next.js, używaj tej samej implementacji zarówno dla komponentów klienta, jak i serwera, bez potrzeby przekazywania funkcji `t` przez każdy komponent serwerowy. <br><br> - [Komponenty serwerowe](https://intlayer.org/doc/environment/nextjs#step-7-utilize-content-in-your-code) |
181
- | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/file_tree.png?raw=true) | **Zorganizowana baza kodu**<br><br>Utrzymuj swoją bazę kodu w lepszym porządku: 1 komponent = 1 słownik w tym samym folderze. Tłumaczenia blisko odpowiednich komponentów zwiększają łatwość utrzymania i przejrzystość. <br><br> - [Jak działa Intlayer](https://intlayer.org/doc/concept/how-works-intlayer) |
182
- | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/url_routing.png?raw=true) | **Ulepszone routowanie**<br><br>Pełne wsparcie routingu aplikacji, płynnie dostosowujące się do złożonych struktur aplikacji, dla Next.js, React, Vite, Vue.js itp.<br><br> - [Poznaj integrację z Next.js](https://intlayer.org/doc/environment/nextjs) |
183
- | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/markdown.png?raw=true) | **Wsparcie dla Markdown**<br><br>Importuj i interpretuj pliki lokalizacyjne oraz zdalne pliki Markdown dla wielojęzycznych treści, takich jak polityki prywatności, dokumentacja itp. Interpretuj i udostępniaj metadane Markdown w swoim kodzie.<br><br> - [Pliki treści](https://intlayer.org/doc/concept/content/file) |
184
- | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/visual_editor.png?raw=true) | **Darmowy edytor wizualny i CMS**<br><br>Darmowy edytor wizualny i CMS dostępne dla twórców treści, eliminując potrzebę korzystania z platformy lokalizacyjnej. Utrzymuj synchronizację treści za pomocą Gita lub całkowicie bądź częściowo zewnętrznie zarządzaj treścią za pomocą CMS.<br><br> - [Edytor Intlayer](https://intlayer.org/doc/concept/editor) <br> - [CMS Intlayer](https://intlayer.org/doc/concept/cms) |
185
- | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/bundle.png?raw=true) | **Treeshakowalna zawartość**<br><br>Treeshakowalna zawartość, zmniejszająca rozmiar finalnego bundla. Ładuje zawartość na poziomie komponentu, wykluczając nieużywaną zawartość z Twojego bundla. Wspiera lazy loading, aby zwiększyć efektywność ładowania aplikacji. <br><br> - [Optymalizacja budowania aplikacji](https://intlayer.org/doc/concept/how-works-intlayer#app-build-optimization) |
186
- | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/static_rendering.png?raw=true) | **Renderowanie statyczne**<br><br>Nie blokuje renderowania statycznego. <br><br> - [Integracja z Next.js](https://intlayer.org/doc/environment/nextjs) |
187
- | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/AI_translation.png?raw=true) | **Tłumaczenie wspomagane AI**<br><br>Przekształć swoją stronę internetową na 231 języków za pomocą jednego kliknięcia, korzystając z zaawansowanych narzędzi tłumaczeniowych Intlayer opartych na AI, używając własnego dostawcy AI/klucza API. <br><br> - [Integracja CI/CD](https://intlayer.org/doc/concept/ci-cd) <br> - [Intlayer CLI](https://intlayer.org/doc/concept/cli) <br> - [Automatyczne wypełnianie](https://intlayer.org/doc/concept/auto-fill) |
188
- | ![Funkcja](https://github.com/aymericzip/intlayer/blob/main/docs/assets/mcp.png?raw=true) | **Integracja serwera MCP**<br><br>Udostępnia serwer MCP (Model Context Protocol) do automatyzacji IDE, umożliwiając płynne zarządzanie treścią i przepływy pracy i18n bezpośrednio w środowisku programistycznym. <br><br> - [Serwer MCP](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/mcp_server.md) |
189
- | ![Funkcja](https://github.com/aymericzip/intlayer/blob/main/docs/assets/vscode_extension.png?raw=true) | **Rozszerzenie VSCode**<br><br>Intlayer dostarcza rozszerzenie do VSCode, które pomaga zarządzać Twoimi treściami i tłumaczeniami, budować słowniki, tłumaczyć zawartość i wiele więcej. <br><br> - [Rozszerzenie VSCode](https://intlayer.org/doc/vs-code-extension) |
190
- | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/interoperability.png?raw=true) | **Interoperacyjność**<br><br>Umożliwia interoperacyjność z react-i18next, next-i18next, next-intl oraz react-intl. <br><br> - [Intlayer i react-intl](https://intlayer.org/blog/intlayer-with-react-intl) <br> - [Intlayer i next-intl](https://intlayer.org/blog/intlayer-with-next-intl) <br> - [Intlayer i next-i18next](https://intlayer.org/blog/intlayer-with-next-i18next) |
191
- | Testowanie brakujących tłumaczeń (CLI/CI) | CLI: npx intlayer content test (audyt przyjazny dla CI) |
175
+ | Funkcja | Opis |
176
+ | ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
177
+ | ![Funkcja](https://github.com/aymericzip/intlayer/blob/main/docs/assets/frameworks.png?raw=true) | **Obsługa wielu frameworków**<br><br>Intlayer jest kompatybilny ze wszystkimi głównymi frameworkami i bibliotekami, w tym Next.js, React, Vite, Vue.js, Nuxt, Preact, Express i innymi. |
178
+ | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/javascript_content_management.jpg?raw=true) | **Zarządzanie treścią oparte na JavaScript**<br><br>Wykorzystaj elastyczność JavaScript do wydajnego definiowania i zarządzania treścią. <br><br> - [Deklarowanie treści](https://intlayer.org/doc/concept/content) |
179
+ | <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/compiler.jpg?raw=true" alt="Funkcja" width="700"> | **Kompilator**<br><br>Kompilator Intlayer automatycznie wyodrębnia treść z komponentów i generuje pliki słowników.<br><br> - [Kompilator](https://intlayer.org/doc/compiler) |
180
+ | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/per_locale_content_declaration_file.png?raw=true) | **Plik deklaracji treści dla każdego języka**<br><br>Przyspiesz programowanie, deklarując treść raz przed automatycznym generowaniem.<br><br> - [Plik deklaracji treści dla każdego języka](https://intlayer.org/doc/concept/per-locale-file) |
181
+ | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/autocompletion.png?raw=true) | **Środowisko bezpieczne pod względem typów (Type-Safe)**<br><br>Wykorzystaj TypeScript, aby upewnić się, że definicje treści i kod wolne od błędów, korzystając jednocześnie z autouzupełniania w IDE.<br><br> - [Konfiguracja TypeScript](https://intlayer.org/doc/environment/vite-and-react#configure-typescript) |
182
+ | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/config_file.png?raw=true) | **Uproszczona konfiguracja**<br><br>Szybko rozpocznij pracę dzięki minimalnej konfiguracji. Łatwo dostosuj ustawienia internacjonalizacji, routingu, AI, budowania i obsługi treści. <br><br> - [Poznaj integrację z Next.js](https://intlayer.org/doc/environment/nextjs) |
183
+ | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/content_retrieval.png?raw=true) | **Uproszczone pobieranie treści**<br><br>Nie ma potrzeby wywoływania funkcji `t` dla każdego elementu treści. Pobieraj całą treść bezpośrednio za pomocą jednego hooka.<br><br> - [Integracja z React](https://intlayer.org/doc/environment/create-react-app) |
184
+ | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/server_component.png?raw=true) | **Spójna implementacja Server Components**<br><br>Idealnie dopasowana do Next.js Server Components, używaj tej samej implementacji dla komponentów klienckich i serwerowych, bez konieczności przekazywania funkcji `t` przez każdy komponent serwerowy. <br><br> - [Server Components](https://intlayer.org/doc/environment/nextjs#step-7-utilize-content-in-your-code) |
185
+ | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/file_tree.png?raw=true) | **Uporządkowany kod**<br><br>Utrzymuj kod w większym porządku: 1 komponent = 1 słownik w tym samym folderze. Tłumaczenia znajdujące się blisko swoich komponentów poprawiają łatwość utrzymania i przejrzystość. <br><br> - [Jak działa Intlayer](https://intlayer.org/doc/concept/how-works-intlayer) |
186
+ | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/url_routing.png?raw=true) | **Ulepszony routing**<br><br>Pełne wsparcie dla routingu aplikacji, płynnie dostosowujące się do złożonych struktur aplikacji w Next.js, React, Vite, Vue.js itd.<br><br> - [Poznaj integrację z Next.js](https://intlayer.org/doc/environment/nextjs) |
187
+ | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/markdown.png?raw=true) | **Obsługa Markdown**<br><br>Importuj i interpretuj pliki lokalne oraz zdalne pliki Markdown dla treści wielojęzycznych, takich jak polityki prywatności, dokumentacja itp. Interpretuj i udostępniaj metadane Markdown w kodzie.<br><br> - [Pliki treści](https://intlayer.org/doc/concept/content/file) |
188
+ | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/visual_editor.png?raw=true) | **Darmowy edytor wizualny i CMS**<br><br>Dla autorów treści dostępny jest darmowy edytor wizualny i CMS, eliminujący potrzebę korzystania z platform lokalizacyjnych. Synchronizuj treść za pomocą Git lub całkowicie lub częściowo wyprowadź ją na zewnątrz dzięki CMS.<br><br> - [Edytor Intlayer](https://intlayer.org/doc/concept/editor) <br> - [Intlayer CMS](https://intlayer.org/doc/concept/cms) |
189
+ | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/bundle.png?raw=true) | **Treść typu Tree-shakable**<br><br>Treść typu tree-shakable, zmniejszająca rozmiar końcowego pakietu. Ładuje treść na poziomie komponentu, wykluczając wszelkie nieużywane treści z pakietu. Obsługuje leniwe ładowanie dla zwiększenia wydajności ładowania aplikacji. <br><br> - [Optymalizacja budowania aplikacji](https://intlayer.org/doc/concept/how-works-intlayer#app-build-optimization) |
190
+ | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/static_rendering.png?raw=true) | **Renderowanie statyczne**<br><br>Nie blokuje renderowania statycznego. <br><br> - [Integracja z Next.js](https://intlayer.org/doc/environment/nextjs) |
191
+ | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/AI_translation.png?raw=true) | **Tłumaczenie wspomagane przez AI**<br><br>Przetłumacz swoją stronę na 231 języków jednym kliknięciem, korzystając z zaawansowanych narzędzi tłumaczeniowych AI Intlayer z własnym dostawcą AI/kluczem API. <br><br> - [Integracja CI/CD](https://intlayer.org/doc/concept/ci-cd) <br> - [Intlayer CLI](https://intlayer.org/doc/concept/cli) <br> - [Auto-fill](https://intlayer.org/doc/concept/auto-fill) |
192
+ | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/mcp.png?raw=true) | **Integracja z Serwerem MCP**<br><br>Zapewnia serwer MCP (Model Context Protocol) do automatyzacji IDE, umożliwiając płynne zarządzanie treścią i przepływy pracy i18n bezpośrednio w środowisku programistycznym. <br><br> - [Serwer MCP](https://github.com/aymericzip/intlayer/blob/main/docs/pl/mcp_server.md) |
193
+ | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/vscode_extension.png?raw=true) | **Rozszerzenie VSCode**<br><br>Intlayer zapewnia rozszerzenie VSCode, które pomaga zarządzać treścią i tłumaczeniami, budować słowniki, tłumaczyć treści i nie tylko. <br><br> - [Rozszerzenie VSCode](https://intlayer.org/doc/vs-code-extension) |
194
+ | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/interoperability.png?raw=true) | **Interoperacyjność**<br><br>Umożliwia interoperacyjność z react-i18next, next-i18next, next-intl i react-intl. <br><br> - [Intlayer i react-intl](https://intlayer.org/blog/intlayer-with-react-intl) <br> - [Intlayer i next-intl](https://intlayer.org/blog/intlayer-with-next-intl) <br> - [Intlayer i next-i18next](https://intlayer.org/blog/intlayer-with-next-i18next) |
195
+ | Testowanie brakujących tłumaczeń (CLI/CI) | ✅ CLI: npx intlayer content test (audyt przyjazny dla CI) |
192
196
 
193
197
  ## Porównanie Intlayer z innymi rozwiązaniami
194
198
 
195
- | Funkcja | `intlayer` | `react-i18next` | `react-intl` (FormatJS) | `lingui` | `next-intl` | `next-i18next` | `vue-i18n` |
196
- | ---------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------- |
197
- | **Tłumaczenia blisko komponentów** | ✅ Tak, zawartość zlokalizowana razem z każdym komponentem | ❌ Nie | ❌ Nie | ❌ Nie | ❌ Nie | ❌ Nie | ✅ Tak - używając `Single File Components` (SFCs) |
198
- | **Integracja z TypeScript** | ✅ Zaawansowana, automatycznie generowane ścisłe typy | ⚠️ Podstawowa; dodatkowa konfiguracja dla bezpieczeństwa | ✅ Dobra, ale mniej ścisła | ⚠️ Typy, wymaga konfiguracji | ✅ Dobra | ⚠️ Podstawowa | ✅ Dobra (typy dostępne; wymaga konfiguracji bezpieczeństwa kluczy) |
199
- | **Wykrywanie brakujących tłumaczeń** | ✅ Podświetlanie błędów TypeScript oraz błędy/ostrzeżenia podczas kompilacji | ⚠️ Głównie ciągi zapasowe podczas działania | ⚠️ Ciągi zapasowe | ⚠️ Wymaga dodatkowej konfiguracji | ⚠️ Ciągi zapasowe podczas działania | ⚠️ Ciągi zapasowe podczas działania | ⚠️ Ciągi zapasowe/ostrzeżenia podczas działania (konfigurowalne) |
200
- | **Bogata zawartość (JSX/Markdown/komponenty)** | ✅ Bezpośrednie wsparcie | ⚠️ Ograniczone / tylko interpolacja | ⚠️ Składnia ICU, nie prawdziwy JSX | ⚠️ Ograniczone | ❌ Nie zaprojektowane dla bogatych węzłów | ⚠️ Ograniczone | ⚠️ Ograniczone (komponenty przez `<i18n-t>`, Markdown przez wtyczki) |
201
- | **Tłumaczenie wspomagane przez AI** | ✅ Tak, obsługuje wielu dostawców AI. Można używać własnych kluczy API. Uwzględnia kontekst Twojej aplikacji i zakres treści | ❌ Nie | ❌ Nie | ❌ Nie | ❌ Nie | ❌ Nie | ❌ Nie |
202
- | **Edytor wizualny** | ✅ Tak, lokalny Edytor wizualny + opcjonalny CMS; może eksternalizować zawartość codebase; możliwy do osadzenia | ❌ Nie / dostępny przez zewnętrzne platformy lokalizacyjne | ❌ Nie / dostępny przez zewnętrzne platformy lokalizacyjne | ❌ Nie / dostępny przez zewnętrzne platformy lokalizacyjne | ❌ Nie / dostępny przez zewnętrzne platformy lokalizacyjne | ❌ Nie / dostępny przez zewnętrzne platformy lokalizacyjne | ❌ Nie / dostępny przez zewnętrzne platformy lokalizacyjne |
203
- | **Zlokalizowane trasowanie** | ✅ Tak, obsługuje zlokalizowane ścieżki od razu po wyjęciu z pudełka (działa z Next.js i Vite) | ⚠️ Brak wbudowanego wsparcia, wymaga wtyczek (np. `next-i18next`) lub niestandardowej konfiguracji routera | ❌ Nie, tylko formatowanie wiadomości, trasowanie musi być ręczne | ⚠️ Brak wbudowanego wsparcia, wymaga wtyczek lub ręcznej konfiguracji | ✅ Wbudowane, App Router obsługuje segment `[locale]` | ✅ Wbudowane | ✅ Wbudowane |
204
- | **Dynamic Route Generation** | ✅ Tak | ⚠️ Wtyczka/ekosystem lub ręczna konfiguracja | ❌ Nie zapewniono | ⚠️ Wtyczka/ręczna konfiguracja | ✅ Tak | ✅ Tak | ❌ Nie zapewniono (zapewnia Nuxt i18n) |
205
- | **Pluralizacja** | ✅ Wzorce oparte na enumeracji | ✅ Konfigurowalne (wtyczki takie jak i18next-icu) | ✅ (ICU) | ✅ (ICU/messageformat) | ✅ Dobre | ✅ Dobre | ✅ Wbudowane reguły liczby mnogiej |
206
- | **Formatowanie (daty, liczby, waluty)** | ✅ Optymalizowane formatery (Intl w tle) | ⚠️ Za pomocą wtyczek lub niestandardowego użycia Intl | ✅ Formatery ICU | ✅ Pomocnicy ICU/CLI | ✅ Dobre (pomocnicy Intl) | ✅ Dobre (pomocnicy Intl) | ✅ Wbudowane formatery daty/liczby (Intl) |
207
- | **Format treści** | ✅ .tsx, .ts, .js, .json, .md, .txt, (.yaml WIP) | ⚠️ .json | ✅ .json, .js | ⚠️ .po, .json | ✅ .json, .js, .ts | ⚠️ .json | ✅ .json, .js |
208
- | **Wsparcie ICU** | ⚠️ W trakcie realizacji | ⚠️ Za pomocą wtyczki (i18next-icu) | ✅ Tak | ✅ Tak | ✅ Tak | ⚠️ Za pomocą wtyczki (`i18next-icu`) | ⚠️ Za pomocą niestandardowego formatera/kompilatora |
209
- | **Pomocniki SEO (hreflang, sitemap)** | ✅ Wbudowane narzędzia: pomocniki do sitemap, robots.txt, metadanych | ⚠️ Wtyczki społeczności/manualne | ❌ Nie jest częścią rdzenia | ❌ Nie jest częścią rdzenia | ✅ Dobre | ✅ Dobre | ❌ Nie jest częścią rdzenia (Nuxt i18n dostarcza pomocniki) |
210
- | **Ekosystem / Społeczność** | ⚠️ Mniejszy, ale szybko rosnący i reaktywny | ✅ Największy i dojrzały | ✅ Duży | ⚠️ Mniejszy | ✅ Średniej wielkości, skoncentrowany na Next.js | ✅ Średniej wielkości, skoncentrowany na Next.js | ✅ Duży w ekosystemie Vue |
211
- | **Renderowanie po stronie serwera i komponenty serwerowe** | ✅ Tak, zoptymalizowane pod SSR / React Server Components | ⚠️ Obsługiwane na poziomie strony, ale konieczne przekazanie funkcji t w drzewie komponentów dla dziecięcych komponentów serwerowych | ⚠️ Obsługiwane na poziomie strony z dodatkowymi ustawieniami, ale konieczne przekazanie funkcji t w drzewie komponentów dla dziecięcych komponentów serwerowych | ✅ Obsługiwane, wymagane ustawienia | ⚠️ Obsługiwane na poziomie strony, ale konieczne przekazanie funkcji t w drzewie komponentów dla dziecięcych komponentów serwerowych | ⚠️ Obsługiwane na poziomie strony, ale konieczne przekazanie funkcji t w drzewie komponentów dla dziecięcych komponentów serwerowych | ✅ SSR przez Nuxt/Vue SSR (bez RSC) |
212
- | **Tree-shaking (ładowanie tylko używanych treści)** | ✅ Tak, per-komponent podczas budowania za pomocą wtyczek Babel/SWC | ⚠️ Zazwyczaj ładuje wszystko (można poprawić za pomocą namespace'ów/podziału kodu) | ⚠️ Zazwyczaj ładuje wszystko | ❌ Nie domyślnie | ⚠️ Częściowo | ⚠️ Częściowo | ⚠️ Częściowo (z podziałem kodu/ręczną konfiguracją) |
213
- | **Lazy loading** | ✅ Tak, per-locale / per-słownik | ✅ Tak (np. backendy/namespaces na żądanie) | ✅ Tak (podzielone paczki lokalizacji) | ✅ Tak (dynamiczne importy katalogów) | ✅ Tak (per-trasa/per-lokalizacja), wymaga zarządzania namespace | ✅ Tak (per-trasa/per-lokalizacja), wymaga zarządzania namespace | ✅ Tak (asynchroniczne wiadomości lokalizacji) |
214
- | **Usuwanie nieużywanych treści** | ✅ Tak, per-słownik podczas kompilacji | ❌ Nie, tylko poprzez ręczną segmentację przestrzeni nazw | ❌ Nie, wszystkie zadeklarowane komunikatydołączone | ✅ Tak, nieużywane klucze wykrywane i usuwane podczas kompilacji | ❌ Nie, można zarządzać ręcznie poprzez zarządzanie przestrzeniami nazw | ❌ Nie, można zarządzać ręcznie poprzez zarządzanie przestrzeniami nazw | ❌ Nie, możliwe tylko poprzez ręczne lazy-loading |
215
- | **Zarządzanie dużymi projektami** | ✅ Zachęca do modularności, odpowiedni dla systemów projektowych | ⚠️ Wymaga dobrej dyscypliny w zarządzaniu plikami | ⚠️ Centralne katalogi mogą stać się duże | ⚠️ Może stać się skomplikowane | ✅ Modularny z konfiguracją | ✅ Modularny z konfiguracją | ✅ Modularny z konfiguracją Vue Router/Nuxt i18n |
199
+ | Cecha | `intlayer` | `react-i18next` | `react-intl` (FormatJS) | `lingui` | `next-intl` | `next-i18next` | `vue-i18n` |
200
+ | -------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------- | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------- |
201
+ | **Tłumaczenia blisko komponentów** | ✅ Tak, treść znajduje się przy każdym komponencie | ❌ Nie | ❌ Nie | ❌ Nie | ❌ Nie | ❌ Nie | ✅ Tak przy użyciu `Single File Components` (SFCs) |
202
+ | **Integracja z TypeScript** | ✅ Zaawansowana, automatycznie generowane ścisłe typy | ⚠️ Podstawowa; wymaga dodatkowej konfiguracji dla pełnego bezpieczeństwa | ✅ Dobra, ale mniej ścisła | ⚠️ Typowanie wymaga konfiguracji | ✅ Dobra | ⚠️ Podstawowa | ✅ Dobra (typy dostępne; bezpieczeństwo kluczy wymaga konfiguracji) |
203
+ | **Wykrywanie brakujących tłumaczeń** | ✅ Podświetlanie błędów TypeScript oraz błędy/ostrzeżenia w czasie budowania | ⚠️ Głównie ciągi zapasowe (fallback) w czasie wykonywania | ⚠️ Ciągi zapasowe | ⚠️ Wymaga dodatkowej konfiguracji | ⚠️ Fallback w czasie wykonywania | ⚠️ Fallback w czasie wykonywania | ⚠️ Fallback/ostrzeżenia w czasie wykonywania (konfigurowalne) |
204
+ | **Bogata treść (JSX/Markdown/komponenty)** | ✅ Bezpośrednie wsparcie | ⚠️ Ograniczone / tylko interpolacja | ⚠️ Składnia ICU, brak prawdziwego JSX | ⚠️ Ograniczone | ❌ Nie zaprojektowane dla bogatych struktur | ⚠️ Ograniczone | ⚠️ Ograniczone (komponenty przez `<i18n-t>`, Markdown przez pluginy) |
205
+ | **Tłumaczenie wspomagane przez AI** | ✅ Tak, obsługuje wielu dostawców AI. Można używać z własnymi kluczami API. Uwzględnia kontekst aplikacji i zakres treści | ❌ Nie | ❌ Nie | ❌ Nie | ❌ Nie | ❌ Nie | ❌ Nie |
206
+ | **Edytor wizualny** | ✅ Tak, lokalny edytor wizualny + opcjonalny CMS; możliwość wyprowadzenia treści kodu na zewnątrz; możliwość osadzenia | ❌ Nie / dostępne przez zewnętrzne platformy lokalizacyjne | ❌ Nie / dostępne przez zewnętrzne platformy lokalizacyjne | ❌ Nie / dostępne przez zewnętrzne platformy lokalizacyjne | ❌ Nie / dostępne przez zewnętrzne platformy lokalizacyjne | ❌ Nie / dostępne przez zewnętrzne platformy lokalizacyjne | ❌ Nie / dostępne przez zewnętrzne platformy lokalizacyjne |
207
+ | **Zlokalizowany routing** | ✅ Tak, wsparcie dla zlokalizowanych ścieżek "z pudełka" (działa z Next.js i Vite) | ⚠️ Brak wbudowanego, wymaga pluginów (np. `next-i18next`) lub własnej konfiguracji routera | ❌ Nie, tylko formatowanie wiadomości, routing musi być ręczny | ⚠️ Brak wbudowanego, wymaga pluginów lub ręcznej konfiguracji | ✅ Wbudowany, App Router obsługuje segment `[locale]` | ✅ Wbudowany | ✅ Wbudowany |
208
+ | **Dynamiczne generowanie ścieżek** | ✅ Tak | ⚠️ Plugin/ekosystem lub ręczna konfiguracja | ❌ Brak | ⚠️ Plugin/ręcznie | ✅ Tak | ✅ Tak | ❌ Brak (zapewniane przez Nuxt i18n) |
209
+ | **Liczba mnoga** | ✅ Wzorce oparte na wyliczeniach (enums) | ✅ Konfigurowalne (pluginy takie jak i18next-icu) | ✅ (ICU) | ✅ (ICU/messageformat) | ✅ Dobra | ✅ Dobra | ✅ Wbudowane reguły liczby mnogiej |
210
+ | **Formatowanie (daty, liczby, waluty)** | ✅ Zoptymalizowane formatery (Intl pod spodem) | ⚠️ Przez pluginy lub własne użycie Intl | ✅ Formatery ICU | ✅ Helpery ICU/CLI | ✅ Dobra (helpery Intl) | ✅ Dobra (helpery Intl) | ✅ Wbudowane formatery dat/liczb (Intl) |
211
+ | **Format treści** | ✅ .tsx, .ts, .js, .json, .md, .txt, (.yaml w trakcie prac) | ⚠️ .json | ✅ .json, .js | ⚠️ .po, .json | ✅ .json, .js, .ts | ⚠️ .json | ✅ .json, .js |
212
+ | **Wsparcie ICU** | ⚠️ W trakcie prac | ⚠️ Przez plugin (i18next-icu) | ✅ Tak | ✅ Tak | ✅ Tak | ⚠️ Przez plugin (`i18next-icu`) | ⚠️ Przez własny formater/kompilator |
213
+ | **Helpery SEO (hreflang, sitemap)** | ✅ Wbudowane narzędzia: helpery do sitemap, robots.txt, metadanych | ⚠️ Pluginy społeczności / ręcznie | ❌ Brak w rdzeniu | ❌ Brak w rdzeniu | ✅ Dobra | ✅ Dobra | ❌ Brak w rdzeniu (zapewniane przez Nuxt i18n) |
214
+ | **Ekosystem / Społeczność** | ⚠️ Mniejszy, ale szybko rosnący i responsywny | ✅ Największy i najbardziej dojrzały | ✅ Duży | ⚠️ Mniejszy | ✅ Średniej wielkości, skupiony na Next.js | ✅ Średniej wielkości, skupiony na Next.js | ✅ Duży w ekosystemie Vue |
215
+ | **Server-side Rendering i Server Components** | ✅ Tak, zoptymalizowane pod kątem SSR / React Server Components | ⚠️ Obsługiwane na poziomie strony, ale wymaga przekazywania funkcji `t` w dół drzewa komponentów | ⚠️ Obsługiwane na poziomie strony z dodatkową konfiguracją, ale wymaga przekazywania funkcji `t` w dół drzewa komponentów | ✅ Obsługiwane, wymaga konfiguracji | ⚠️ Obsługiwane na poziomie strony, ale wymaga przekazywania funkcji `t` w dół drzewa komponentów | ⚠️ Obsługiwane na poziomie strony, ale wymaga przekazywania funkcji `t` w dół drzewa komponentów | ✅ Obsługiwane przez Nuxt/Vue SSR (brak RSC) |
216
+ | **Tree-shaking (ładowanie tylko używanej treści)** | ✅ Tak, dla każdego komponentu w czasie budowania przez pluginy Babel/SWC | ⚠️ Zazwyczaj ładuje wszystko (można poprawić przez przestrzenie nazw / code-splitting) | ⚠️ Zazwyczaj ładuje wszystko | ❌ Nie domyślnie | ⚠️ Częściowo | ⚠️ Częściowo | ⚠️ Częściowo (z code-splitting / ręczną konfiguracją) |
217
+ | **Leniwe ładowanie (Lazy loading)** | ✅ Tak, dla każdego języka / słownika | ✅ Tak (np. backendy/przestrzenie nazw na żądanie) | ✅ Tak (dzielenie paczek językowych) | ✅ Tak (dynamiczny import katalogów) | ✅ Tak (na trasę / na język), wymaga zarządzania przestrzeniami nazw | ✅ Tak (na trasę / na język), wymaga zarządzania przestrzeniami nazw | ✅ Tak (asynchroniczne wiadomości językowe) |
218
+ | **Usuwanie nieużywanej treści** | ✅ Tak, dla każdego słownika w czasie budowania | ❌ Nie, tylko przez ręczne dzielenie przestrzeni nazw | ❌ Nie, wszystkie zadeklarowane wiadomościpakowane | ✅ Tak, nieużywane klucze wykrywane i usuwane przy budowaniu | ❌ Nie, wymaga ręcznego zarządzania przestrzeniami nazw | ❌ Nie, wymaga ręcznego zarządzania przestrzeniami nazw | ❌ Nie, możliwe tylko przez ręczne leniwe ładowanie |
219
+ | **Zarządzanie dużymi projektami** | ✅ Zachęca do modułowości, odpowiednie dla systemów projektowych (design systems) | ⚠️ Wymaga dużej dyscypliny w organizacji plików | ⚠️ Centralne katalogi mogą stać się bardzo duże | ⚠️ Może stać się skomplikowane | ✅ Modułowość dzięki konfiguracji | ✅ Modułowość dzięki konfiguracji | ✅ Modułowość dzięki konfiguracji Vue Router/Nuxt i18n |
216
220
 
217
221
  ---
218
222
 
219
- ## Gwiazdki GitHub
223
+ ## Gwiazdki na GitHubie
220
224
 
221
- Gwiazdki na GitHub są silnym wskaźnikiem popularności projektu, zaufania społeczności oraz długoterminowej istotności. Choć nie stanowią bezpośredniej miary jakości technicznej, odzwierciedlają, ilu deweloperów uważa projekt za użyteczny, śledzi jego rozwój i prawdopodobnie go zaadaptuje. Przy ocenie wartości projektu, gwiazdki pomagają porównać zainteresowanie różnymi alternatywami oraz dostarczają wglądu w rozwój ekosystemu.
225
+ Gwiazdki na GitHubie są silnym wskaźnikiem popularności projektu, zaufania społeczności i długoterminowego znaczenia. Choć nie bezpośrednią miarą jakości technicznej, odzwierciedlają, ilu programistów uważa projekt za przydatny, śledzi jego postępy i prawdopodobnie go przyjmie. Przy szacowaniu wartości projektu gwiazdki pomagają porównać zainteresowanie alternatywami i dostarczają wglądu w rozwój ekosystemu.
222
226
 
223
- Gwiazdy na GitHubie są silnym wskaźnikiem popularności projektu, zaufania społeczności oraz jego długoterminowej istotności. Choć nie są bezpośrednią miarą jakości technicznej, odzwierciedlają, ilu deweloperów uważa projekt za użyteczny, śledzi jego rozwój i jest skłonnych go przyjąć. Przy szacowaniu wartości projektu, gwiazdy pomagają porównać zainteresowanie różnymi alternatywami oraz dostarczają wglądu w rozwój ekosystemu.
224
-
225
- [![Wykres historii gwiazdek](https://api.star-history.com/svg?repos=formatjs/formatjs&repos=i18next/react-i18next&repos=i18next/i18next&repos=i18next/next-i18next&repos=lingui/js-lingui&repos=amannn/next-intl&repos=intlify/vue-i18n&repo=opral/monorepo&repos=aymericzip/intlayer&type=Date)](https://www.star-history.com/#formatjs/formatjs&i18next/react-i18next&i18next/i18next&i18next/next-i18next&lingui/js-lingui&amannn/next-intl&intlify/vue-i18n&opral/monorepo&aymericzip/intlayer)
227
+ [![Star History Chart](https://api.star-history.com/chart?repos=formatjs/formatjs%2Ci18next/react-i18next%2Ci18next/i18next%2Ci18next/next-i18next%2Clingui/js-lingui%2Camannn/next-intl%2Cintlify/vue-i18n%2Caymericzip/intlayer%2Copral/inlang&type=date&legend=top-left)](https://www.star-history.com/#formatjs/formatjs&i18next/react-i18next&i18next/i18next&i18next/next-i18next&lingui/js-lingui&amannn/next-intl&intlify/vue-i18n&opral/paraglide-js&aymericzip/intlayer)
226
228
 
227
229
  ---
228
230
 
229
231
  ## Interoperacyjność
230
232
 
231
- `intlayer` może również pomóc w zarządzaniu Twoimi przestrzeniami nazw `react-intl`, `react-i18next`, `next-intl`, `next-i18next` oraz `vue-i18n`.
233
+ `intlayer` może również pomóc w zarządzaniu przestrzeniami nazw `react-intl`, `react-i18next`, `next-intl`, `next-i18next` oraz `vue-i18n`.
232
234
 
233
- Używając `intlayer`, możesz zadeklarować swoją zawartość w formacie ulubionej biblioteki i18n, a intlayer wygeneruje Twoje przestrzenie nazw w wybranej przez Ciebie lokalizacji (przykład: `/messages/{{locale}}/{{namespace}}.json`).
235
+ Korzystając z `intlayer`, możesz zadeklarować swoją treść w formacie ulubionej biblioteki i18n, a intlayer wygeneruje przestrzenie nazw w wybranej przez Ciebie lokalizacji (przykład: `/messages/{{locale}}/{{namespace}}.json`).
234
236
 
235
- Zapoznaj się z opcjami [`dictionaryOutput` oraz `i18nextResourcesDir`](https://intlayer.org/doc/concept/configuration#content-configuration), aby uzyskać więcej szczegółów.
237
+ Więcej szczegółów znajdziesz w [opcjach `dictionaryOutput` oraz `i18nextResourcesDir`](https://intlayer.org/doc/concept/configuration#content-configuration).
@@ -36,14 +36,14 @@ Esta página é um relatório de benchmark para soluções i18n no Next.js.
36
36
 
37
37
  ## Referência de resultados:
38
38
 
39
- <iframe
40
- src="https://intlayer.org/markdown?url=https%3A%2F%2Fraw.githubusercontent.com%2Fintlayer-org%2Fbenchmark-i18n%2Fmain%2Freport%2Fscripts%2Fsummarize-nextjs.md"
41
- width="100%"
42
- height="600px"
43
- style="border:none;">
44
- </iframe>
39
+ <ClickToOpenIframe
40
+ src="https://intlayer.org/markdown?url=https%3A%2F%2Fraw.githubusercontent.com%2Fintlayer-org%2Fbenchmark-i18n%2Fmain%2Freport%2Fscripts%2Fsummarize-nextjs.md"
41
+ width="100%"
42
+ height="600px"
43
+ style="border:none;"
44
+ />
45
45
 
46
- > https://intlayer.org/markdown?url=https%3A%2F%2Fraw.githubusercontent.com%2Fintlayer-org%2Fbenchmark-i18n%2Fmain%2Freport%2Fscripts%2Fsummarize-nextjs.md
46
+ > [Ver dados completos do benchmark](https://intlayer.org/markdown?url=https%3A%2F%2Fraw.githubusercontent.com%2Fintlayer-org%2Fbenchmark-i18n%2Fmain%2Freport%2Fscripts%2Fsummarize-nextjs.md)
47
47
 
48
48
  Veja o repositório completo do benchmark [aqui](https://github.com/intlayer-org/benchmark-i18n).
49
49
 
@@ -72,7 +72,7 @@ O Intlayer tenta otimizar em todas essas dimensões.
72
72
 
73
73
  Para trazer à tona esses problemas, construí um scanner gratuito que você pode experimentar [aqui](https://intlayer.org/i18n-seo-scanner).
74
74
 
75
- <iframe src="https://intlayer.org/i18n-seo-scanner" width="100%" height="600px" style="border:none;"/>
75
+ <ClickToOpenIframe src="https://intlayer.org/i18n-seo-scanner" width="100%" height="600px" style="border:none;"/>
76
76
 
77
77
  ## O problema
78
78
 
@@ -36,14 +36,14 @@ Esta página é um relatório de benchmark para soluções i18n no Solid.
36
36
 
37
37
  ## Referência de resultados:
38
38
 
39
- <iframe
40
- src="https://intlayer.org/markdown?url=https%3A%2F%2Fraw.githubusercontent.com%2Fintlayer-org%2Fbenchmark-i18n%2Fmain%2Freport%2Fscripts%2Fsummarize-vite_solid.md"
41
- width="100%"
42
- height="600px"
43
- style="border:none;">
44
- </iframe>
39
+ <ClickToOpenIframe
40
+ src="https://intlayer.org/markdown?url=https%3A%2F%2Fraw.githubusercontent.com%2Fintlayer-org%2Fbenchmark-i18n%2Fmain%2Freport%2Fscripts%2Fsummarize-vite_solid.md"
41
+ width="100%"
42
+ height="600px"
43
+ style="border:none;"
44
+ />
45
45
 
46
- > https://intlayer.org/markdown?url=https%3A%2F%2Fraw.githubusercontent.com%2Fintlayer-org%2Fbenchmark-i18n%2Fmain%2Freport%2Fscripts%2Fsummarize-vite_solid.md
46
+ > [Ver dados completos do benchmark](https://intlayer.org/markdown?url=https%3A%2F%2Fraw.githubusercontent.com%2Fintlayer-org%2Fbenchmark-i18n%2Fmain%2Freport%2Fscripts%2Fsummarize-vite_solid.md)
47
47
 
48
48
  Veja o repositório completo do benchmark [aqui](https://github.com/intlayer-org/benchmark-i18n/tree/main).
49
49
 
@@ -68,7 +68,7 @@ O outro impacto é na experiência do desenvolvedor (DX): como você declara con
68
68
 
69
69
  Para identificar rapidamente problemas de vazamento de i18n, configurei um scanner gratuito disponível [aqui](https://intlayer.org/i18n-seo-scanner).
70
70
 
71
- <iframe src="https://intlayer.org/i18n-seo-scanner" width="100%" height="600px" style="border:none;"/>
71
+ <ClickToOpenIframe src="https://intlayer.org/i18n-seo-scanner" width="100%" height="600px" style="border:none;"/>
72
72
 
73
73
  ## O problema
74
74
 
@@ -36,14 +36,14 @@ Esta página é um relatório de benchmark para soluções i18n no Svelte.
36
36
 
37
37
  ## Referência de resultados:
38
38
 
39
- <iframe
40
- src="https://intlayer.org/markdown?url=https%3A%2F%2Fraw.githubusercontent.com%2Fintlayer-org%2Fbenchmark-i18n%2Fmain%2Freport%2Fscripts%2Fsummarize-vite_svelte.md"
41
- width="100%"
42
- height="600px"
43
- style="border:none;">
44
- </iframe>
39
+ <ClickToOpenIframe
40
+ src="https://intlayer.org/markdown?url=https%3A%2F%2Fraw.githubusercontent.com%2Fintlayer-org%2Fbenchmark-i18n%2Fmain%2Freport%2Fscripts%2Fsummarize-vite_svelte.md"
41
+ width="100%"
42
+ height="600px"
43
+ style="border:none;"
44
+ />
45
45
 
46
- > https://intlayer.org/markdown?url=https%3A%2F%2Fraw.githubusercontent.com%2Fintlayer-org%2Fbenchmark-i18n%2Fmain%2Freport%2Fscripts%2Fsummarize-vite_svelte.md
46
+ > [Ver dados completos do benchmark](https://intlayer.org/markdown?url=https%3A%2F%2Fraw.githubusercontent.com%2Fintlayer-org%2Fbenchmark-i18n%2Fmain%2Freport%2Fscripts%2Fsummarize-vite_svelte.md)
47
47
 
48
48
  Veja o repositório completo do benchmark [aqui](https://github.com/intlayer-org/benchmark-i18n/tree/main).
49
49
 
@@ -67,7 +67,7 @@ O outro impacto é na experiência do desenvolvedor (DX): como você declara con
67
67
 
68
68
  Para identificar rapidamente problemas de vazamento de i18n, configurei um scanner gratuito disponível [aqui](https://intlayer.org/i18n-seo-scanner).
69
69
 
70
- <iframe src="https://intlayer.org/i18n-seo-scanner" width="100%" height="600px" style="border:none;"/>
70
+ <ClickToOpenIframe src="https://intlayer.org/i18n-seo-scanner" width="100%" height="600px" style="border:none;"/>
71
71
 
72
72
  ## O problema
73
73
 
@@ -36,14 +36,14 @@ Esta página é um relatório de benchmark para soluções i18n no TanStack Star
36
36
 
37
37
  ## Referência de resultados:
38
38
 
39
- <iframe
40
- src="https://intlayer.org/markdown?url=https%3A%2F%2Fraw.githubusercontent.com%2Fintlayer-org%2Fbenchmark-i18n%2Fmain%2Freport%2Fscripts%2Fsummarize-tanstack.md"
41
- width="100%"
39
+ <ClickToOpenIframe
40
+ src="https://intlayer.org/markdown?url=https%3A%2F%2Fraw.githubusercontent.com%2Fintlayer-org%2Fbenchmark-i18n%2Fmain%2Freport%2Fscripts%2Fsummarize-tanstack.md"
41
+ width="100%"
42
42
  height="600px"
43
- style="border:none;">
44
- </iframe>
43
+ style="border:none;"
44
+ />
45
45
 
46
- > https://intlayer.org/markdown?url=https%3A%2F%2Fraw.githubusercontent.com%2Fintlayer-org%2Fbenchmark-i18n%2Fmain%2Freport%2Fscripts%2Fsummarize-tanstack.md
46
+ > [Ver dados completos do benchmark](https://intlayer.org/markdown?url=https%3A%2F%2Fraw.githubusercontent.com%2Fintlayer-org%2Fbenchmark-i18n%2Fmain%2Freport%2Fscripts%2Fsummarize-tanstack.md)
47
47
 
48
48
  Veja o repositório completo do benchmark [aqui](https://github.com/intlayer-org/benchmark-i18n/tree/main).
49
49
 
@@ -68,7 +68,7 @@ O outro impacto é na experência do desenvolvedor: como você declara o conteú
68
68
 
69
69
  Para detectar rapidamente problemas de vazamento de i18n, configurei um scanner gratuito disponível [aqui](https://intlayer.org/i18n-seo-scanner).
70
70
 
71
- <iframe src="https://intlayer.org/i18n-seo-scanner" width="100%" height="600px" style="border:none;"/>
71
+ <ClickToOpenIframe src="https://intlayer.org/i18n-seo-scanner" width="100%" height="600px" style="border:none;"/>
72
72
 
73
73
  ## O problema
74
74
 
@@ -36,14 +36,14 @@ Esta página é um relatório de benchmark para soluções i18n no Vue.
36
36
 
37
37
  ## Referência de resultados:
38
38
 
39
- <iframe
40
- src="https://intlayer.org/markdown?url=https%3A%2F%2Fraw.githubusercontent.com%2Fintlayer-org%2Fbenchmark-i18n%2Fmain%2Freport%2Fscripts%2Fsummarize-vite_vue.md"
41
- width="100%"
42
- height="600px"
43
- style="border:none;">
44
- </iframe>
39
+ <ClickToOpenIframe
40
+ src="https://intlayer.org/markdown?url=https%3A%2F%2Fraw.githubusercontent.com%2Fintlayer-org%2Fbenchmark-i18n%2Fmain%2Freport%2Fscripts%2Fsummarize-vite_vue.md"
41
+ width="100%"
42
+ height="600px"
43
+ style="border:none;"
44
+ />
45
45
 
46
- > https://intlayer.org/markdown?url=https%3A%2F%2Fraw.githubusercontent.com%2Fintlayer-org%2Fbenchmark-i18n%2Fmain%2Freport%2Fscripts%2Fsummarize-vite_vue.md
46
+ > [Ver dados completos do benchmark](https://intlayer.org/markdown?url=https%3A%2F%2Fraw.githubusercontent.com%2Fintlayer-org%2Fbenchmark-i18n%2Fmain%2Freport%2Fscripts%2Fsummarize-vite_vue.md)
47
47
 
48
48
  Veja o repositório completo do benchmark [aqui](https://github.com/intlayer-org/benchmark-i18n/tree/main).
49
49
 
@@ -67,7 +67,7 @@ O outro impacto é na experiência do desenvolvedor (DX): como você declara con
67
67
 
68
68
  Para identificar rapidamente problemas de vazamento de i18n, configurei um scanner gratuito disponível [aqui](https://intlayer.org/i18n-seo-scanner).
69
69
 
70
- <iframe src="https://intlayer.org/i18n-seo-scanner" width="100%" height="600px" style="border:none;"/>
70
+ <ClickToOpenIframe src="https://intlayer.org/i18n-seo-scanner" width="100%" height="600px" style="border:none;"/>
71
71
 
72
72
  ## O problema
73
73