@intlayer/docs 9.2.0 → 9.3.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/README.md +24 -24
- package/blog/ar/index.md +1 -1
- package/blog/ar/rag_powered_documentation_assistant.md +1 -1
- package/blog/de/index.md +1 -1
- package/blog/en/index.md +1 -1
- package/blog/en-GB/index.md +1 -1
- package/blog/es/index.md +1 -1
- package/blog/fr/index.md +1 -1
- package/blog/hi/index.md +1 -1
- package/blog/id/index.md +1 -1
- package/blog/it/index.md +1 -1
- package/blog/ja/index.md +1 -1
- package/blog/ko/index.md +1 -1
- package/blog/pl/index.md +1 -1
- package/blog/pl/rag_powered_documentation_assistant.md +1 -1
- package/blog/pt/index.md +1 -1
- package/blog/ru/index.md +1 -1
- package/blog/uk/index.md +1 -1
- package/blog/vi/index.md +1 -1
- package/blog/zh/index.md +1 -1
- package/dist/cjs/_virtual/_rolldown/runtime.cjs +1 -2
- package/dist/cjs/authors2.cjs +0 -1
- package/dist/cjs/common.cjs +24 -1
- package/dist/cjs/common.cjs.map +1 -1
- package/dist/cjs/generated/blog.entry.cjs +35 -6
- package/dist/cjs/generated/blog.entry.cjs.map +1 -1
- package/dist/cjs/generated/docs.entry.cjs +35 -6
- package/dist/cjs/generated/docs.entry.cjs.map +1 -1
- package/dist/cjs/generated/frequentQuestions.entry.cjs +35 -6
- package/dist/cjs/generated/frequentQuestions.entry.cjs.map +1 -1
- package/dist/cjs/generated/legal.entry.cjs +35 -6
- package/dist/cjs/generated/legal.entry.cjs.map +1 -1
- package/dist/esm/common.mjs +24 -1
- package/dist/esm/common.mjs.map +1 -1
- package/dist/esm/generated/blog.entry.mjs +35 -6
- package/dist/esm/generated/blog.entry.mjs.map +1 -1
- package/dist/esm/generated/docs.entry.mjs +35 -6
- package/dist/esm/generated/docs.entry.mjs.map +1 -1
- package/dist/esm/generated/frequentQuestions.entry.mjs +35 -6
- package/dist/esm/generated/frequentQuestions.entry.mjs.map +1 -1
- package/dist/esm/generated/legal.entry.mjs +35 -6
- package/dist/esm/generated/legal.entry.mjs.map +1 -1
- package/dist/types/common.d.ts.map +1 -1
- package/dist/types/generated/blog.entry.d.ts.map +1 -1
- package/dist/types/generated/docs.entry.d.ts.map +1 -1
- package/dist/types/generated/frequentQuestions.entry.d.ts.map +1 -1
- package/dist/types/generated/legal.entry.d.ts.map +1 -1
- package/docs/ar/bundle_optimization.md +58 -25
- package/docs/ar/configuration.md +10 -10
- package/docs/ar/interest_of_intlayer.md +24 -22
- package/docs/ar/intlayer_with_express.md +1 -1
- package/docs/ar/intlayer_with_svelte_kit.md +1 -1
- package/docs/ar/intlayer_with_tanstack+solid.md +5 -3
- package/docs/ar/intlayer_with_tanstack.md +5 -3
- package/docs/ar/live-sync.md +4 -0
- package/docs/ar/lsp.md +114 -175
- package/docs/ar/readme.md +25 -25
- package/docs/bn/bundle_optimization.md +58 -25
- package/docs/bn/configuration.md +10 -10
- package/docs/bn/interest_of_intlayer.md +24 -22
- package/docs/cs/bundle_optimization.md +58 -25
- package/docs/cs/configuration.md +10 -10
- package/docs/cs/interest_of_intlayer.md +24 -22
- package/docs/de/bundle_optimization.md +58 -25
- package/docs/de/configuration.md +10 -10
- package/docs/de/interest_of_intlayer.md +24 -22
- package/docs/de/intlayer_with_svelte_kit.md +1 -1
- package/docs/de/intlayer_with_tanstack+solid.md +5 -3
- package/docs/de/intlayer_with_tanstack.md +5 -3
- package/docs/de/live-sync.md +4 -0
- package/docs/de/lsp.md +111 -172
- package/docs/de/readme.md +24 -24
- package/docs/en/bundle_optimization.md +51 -23
- package/docs/en/configuration.md +10 -10
- package/docs/en/interest_of_intlayer.md +24 -22
- package/docs/en/intlayer_with_svelte_kit.md +1 -1
- package/docs/en/intlayer_with_tanstack+solid.md +5 -3
- package/docs/en/intlayer_with_tanstack.md +5 -3
- package/docs/en/live-sync.md +4 -0
- package/docs/en/lsp.md +109 -170
- package/docs/en/readme.md +24 -24
- package/docs/en-GB/bundle_optimization.md +58 -25
- package/docs/en-GB/configuration.md +10 -10
- package/docs/en-GB/interest_of_intlayer.md +24 -22
- package/docs/en-GB/intlayer_with_svelte_kit.md +1 -1
- package/docs/en-GB/intlayer_with_tanstack+solid.md +5 -3
- package/docs/en-GB/intlayer_with_tanstack.md +5 -3
- package/docs/en-GB/live-sync.md +4 -0
- package/docs/en-GB/lsp.md +109 -170
- package/docs/en-GB/readme.md +24 -24
- package/docs/es/bundle_optimization.md +58 -25
- package/docs/es/configuration.md +10 -10
- package/docs/es/interest_of_intlayer.md +24 -22
- package/docs/es/intlayer_with_svelte_kit.md +1 -1
- package/docs/es/intlayer_with_tanstack+solid.md +5 -3
- package/docs/es/intlayer_with_tanstack.md +5 -3
- package/docs/es/live-sync.md +4 -0
- package/docs/es/lsp.md +114 -175
- package/docs/es/readme.md +24 -24
- package/docs/fr/bundle_optimization.md +58 -25
- package/docs/fr/configuration.md +10 -10
- package/docs/fr/interest_of_intlayer.md +24 -22
- package/docs/fr/intlayer_with_svelte_kit.md +1 -1
- package/docs/fr/intlayer_with_tanstack+solid.md +5 -3
- package/docs/fr/intlayer_with_tanstack.md +5 -3
- package/docs/fr/live-sync.md +4 -0
- package/docs/fr/lsp.md +110 -171
- package/docs/fr/readme.md +24 -24
- package/docs/hi/bundle_optimization.md +58 -25
- package/docs/hi/configuration.md +10 -10
- package/docs/hi/interest_of_intlayer.md +24 -22
- package/docs/hi/intlayer_with_express.md +1 -1
- package/docs/hi/intlayer_with_svelte_kit.md +1 -1
- package/docs/hi/intlayer_with_tanstack+solid.md +5 -3
- package/docs/hi/intlayer_with_tanstack.md +5 -3
- package/docs/hi/live-sync.md +4 -0
- package/docs/hi/lsp.md +113 -174
- package/docs/hi/readme.md +24 -24
- package/docs/id/bundle_optimization.md +58 -25
- package/docs/id/configuration.md +10 -10
- package/docs/id/interest_of_intlayer.md +24 -22
- package/docs/id/intlayer_with_svelte_kit.md +1 -1
- package/docs/id/intlayer_with_tanstack+solid.md +5 -3
- package/docs/id/intlayer_with_tanstack.md +5 -3
- package/docs/id/live-sync.md +4 -0
- package/docs/id/lsp.md +113 -174
- package/docs/id/readme.md +24 -24
- package/docs/it/bundle_optimization.md +58 -25
- package/docs/it/configuration.md +10 -10
- package/docs/it/interest_of_intlayer.md +24 -22
- package/docs/it/intlayer_with_svelte_kit.md +1 -1
- package/docs/it/intlayer_with_tanstack+solid.md +5 -3
- package/docs/it/intlayer_with_tanstack.md +5 -3
- package/docs/it/live-sync.md +4 -0
- package/docs/it/lsp.md +115 -176
- package/docs/it/readme.md +24 -24
- package/docs/ja/bundle_optimization.md +58 -25
- package/docs/ja/configuration.md +10 -10
- package/docs/ja/interest_of_intlayer.md +24 -22
- package/docs/ja/intlayer_with_tanstack+solid.md +5 -3
- package/docs/ja/intlayer_with_tanstack.md +5 -3
- package/docs/ja/live-sync.md +4 -0
- package/docs/ja/lsp.md +113 -174
- package/docs/ja/readme.md +24 -24
- package/docs/ko/bundle_optimization.md +58 -25
- package/docs/ko/configuration.md +10 -10
- package/docs/ko/interest_of_intlayer.md +24 -22
- package/docs/ko/intlayer_with_svelte_kit.md +1 -1
- package/docs/ko/intlayer_with_tanstack+solid.md +5 -3
- package/docs/ko/intlayer_with_tanstack.md +5 -3
- package/docs/ko/live-sync.md +4 -0
- package/docs/ko/lsp.md +112 -173
- package/docs/ko/readme.md +24 -24
- package/docs/nl/bundle_optimization.md +58 -25
- package/docs/nl/configuration.md +10 -10
- package/docs/nl/interest_of_intlayer.md +24 -22
- package/docs/pl/bundle_optimization.md +58 -25
- package/docs/pl/configuration.md +10 -10
- package/docs/pl/interest_of_intlayer.md +4 -2
- package/docs/pl/intlayer_with_svelte_kit.md +1 -1
- package/docs/pl/intlayer_with_tanstack+solid.md +5 -3
- package/docs/pl/intlayer_with_tanstack.md +5 -3
- package/docs/pl/live-sync.md +4 -0
- package/docs/pl/lsp.md +115 -176
- package/docs/pl/readme.md +24 -24
- package/docs/pt/bundle_optimization.md +58 -24
- package/docs/pt/configuration.md +10 -10
- package/docs/pt/interest_of_intlayer.md +24 -22
- package/docs/pt/intlayer_with_svelte_kit.md +1 -1
- package/docs/pt/intlayer_with_tanstack+solid.md +5 -3
- package/docs/pt/intlayer_with_tanstack.md +5 -3
- package/docs/pt/live-sync.md +4 -0
- package/docs/pt/lsp.md +113 -174
- package/docs/pt/readme.md +24 -24
- package/docs/ru/bundle_optimization.md +58 -25
- package/docs/ru/configuration.md +10 -10
- package/docs/ru/interest_of_intlayer.md +24 -22
- package/docs/ru/intlayer_with_nextjs_14.md +1 -1
- package/docs/ru/intlayer_with_nextjs_15.md +1 -1
- package/docs/ru/intlayer_with_svelte_kit.md +1 -1
- package/docs/ru/intlayer_with_tanstack+solid.md +5 -3
- package/docs/ru/intlayer_with_tanstack.md +5 -3
- package/docs/ru/live-sync.md +4 -0
- package/docs/ru/lsp.md +112 -173
- package/docs/ru/readme.md +24 -24
- package/docs/tr/bundle_optimization.md +58 -25
- package/docs/tr/configuration.md +10 -10
- package/docs/tr/interest_of_intlayer.md +24 -22
- package/docs/tr/intlayer_with_svelte_kit.md +1 -1
- package/docs/tr/intlayer_with_tanstack+solid.md +5 -3
- package/docs/tr/intlayer_with_tanstack.md +5 -3
- package/docs/tr/live-sync.md +4 -0
- package/docs/tr/lsp.md +113 -174
- package/docs/tr/readme.md +24 -24
- package/docs/uk/bundle_optimization.md +58 -25
- package/docs/uk/configuration.md +10 -10
- package/docs/uk/interest_of_intlayer.md +4 -2
- package/docs/uk/intlayer_with_svelte_kit.md +1 -1
- package/docs/uk/intlayer_with_tanstack+solid.md +5 -3
- package/docs/uk/intlayer_with_tanstack.md +5 -3
- package/docs/uk/live-sync.md +4 -0
- package/docs/uk/lsp.md +113 -174
- package/docs/uk/per_locale_file.md +1 -1
- package/docs/uk/readme.md +24 -24
- package/docs/ur/bundle_optimization.md +58 -25
- package/docs/ur/configuration.md +10 -10
- package/docs/ur/interest_of_intlayer.md +24 -22
- package/docs/vi/bundle_optimization.md +58 -25
- package/docs/vi/configuration.md +10 -10
- package/docs/vi/interest_of_intlayer.md +24 -22
- package/docs/vi/intlayer_with_svelte_kit.md +1 -1
- package/docs/vi/intlayer_with_tanstack+solid.md +5 -3
- package/docs/vi/intlayer_with_tanstack.md +5 -3
- package/docs/vi/live-sync.md +4 -0
- package/docs/vi/lsp.md +115 -176
- package/docs/vi/readme.md +24 -24
- package/docs/zh/bundle_optimization.md +58 -25
- package/docs/zh/configuration.md +10 -10
- package/docs/zh/interest_of_intlayer.md +24 -22
- package/docs/zh/intlayer_with_svelte_kit.md +1 -1
- package/docs/zh/intlayer_with_tanstack+solid.md +5 -3
- package/docs/zh/intlayer_with_tanstack.md +5 -3
- package/docs/zh/live-sync.md +4 -0
- package/docs/zh/lsp.md +113 -174
- package/docs/zh/readme.md +21 -21
- package/docs/zh-TW/bundle_optimization.md +58 -25
- package/docs/zh-TW/interest_of_intlayer.md +24 -22
- package/package.json +7 -7
- package/src/common.ts +39 -2
- package/src/generated/blog.entry.ts +39 -7
- package/src/generated/docs.entry.ts +39 -7
- package/src/generated/frequentQuestions.entry.ts +39 -7
- package/src/generated/legal.entry.ts +39 -7
package/docs/cs/configuration.md
CHANGED
|
@@ -404,7 +404,7 @@ const config: IntlayerConfig = {
|
|
|
404
404
|
ai: {
|
|
405
405
|
/**
|
|
406
406
|
* Použitý poskytovatel AI.
|
|
407
|
-
* Možnosti: 'openai', 'anthropic', 'mistral', 'deepseek', 'gemini', 'ollama', 'openrouter', 'alibaba', 'fireworks', 'groq', 'huggingface', 'bedrock', 'googlevertex', 'togetherai', 'lmstudio'
|
|
407
|
+
* Možnosti: 'openai', 'anthropic', 'mistral', 'deepseek', 'gemini', 'ollama', 'openrouter', 'alibaba', 'fireworks', 'groq', 'huggingface', 'bedrock', 'googlevertex', 'togetherai', 'lmstudio', 'moonshotai'
|
|
408
408
|
* Výchozí: 'openai'
|
|
409
409
|
*/
|
|
410
410
|
provider: "openai",
|
|
@@ -1017,15 +1017,15 @@ Intlayer podporuje několik AI poskytovatelů pro maximální flexibilitu. V sou
|
|
|
1017
1017
|
- **Together.ai**
|
|
1018
1018
|
- **LM Studio**
|
|
1019
1019
|
|
|
1020
|
-
| Pole | Popis | Typ
|
|
1021
|
-
| -------------------- | ---------------------------------------------------------------------------------------------------------------------------- |
|
|
1022
|
-
| `provider` | Poskytovatel použitý pro AI funkce Intlayer. | `'openai'` | <br/> `'anthropic'` | <br/> `'mistral'` | <br/> `'deepseek'` | <br/> `'gemini'` | <br/> `'ollama'` | <br/> `'openrouter'` | <br/> `'alibaba'` | <br/> `'fireworks'` | <br/> `'groq'` | <br/> `'huggingface'` | <br/> `'bedrock'` | <br/> `'googleaistudio'` | <br/> `'googlevertex'` | <br/> `'togetherai'` | <br/> `'lmstudio'` | `undefined` | `'anthropic'` | Různí poskytovatelé vyžadují různé API klíče a mají různé ceny. |
|
|
1023
|
-
| `model` | Model použitý pro AI funkce. | `string`
|
|
1024
|
-
| `temperature` | Ovládá náhodnost odpovědí AI. | `number`
|
|
1025
|
-
| `apiKey` | Váš API klíč pro zvoleného poskytovatele. | `string`
|
|
1026
|
-
| `applicationContext` | Dodatečný kontext o vaší aplikaci, který pomůže AI generovat přesnější překlady (doména, cílová skupina, tón, terminologie). | `string`
|
|
1027
|
-
| `baseURL` | Základní URL pro AI API. | `string`
|
|
1028
|
-
| `dataSerialization` | Formát serializace dat pro AI funkce. | `'json'` | <br/> `'toon'`
|
|
1020
|
+
| Pole | Popis | Typ | Výchozí | Příklad | Poznámka |
|
|
1021
|
+
| -------------------- | ---------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------- | ------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
1022
|
+
| `provider` | Poskytovatel použitý pro AI funkce Intlayer. | `'openai'` | <br/> `'anthropic'` | <br/> `'mistral'` | <br/> `'deepseek'` | <br/> `'gemini'` | <br/> `'ollama'` | <br/> `'openrouter'` | <br/> `'alibaba'` | <br/> `'fireworks'` | <br/> `'groq'` | <br/> `'huggingface'` | <br/> `'bedrock'` | <br/> `'googleaistudio'` | <br/> `'googlevertex'` | <br/> `'togetherai'` | <br/> `'lmstudio'` | <br/> `'moonshotai'` | `undefined` | `'anthropic'` | Různí poskytovatelé vyžadují různé API klíče a mají různé ceny. |
|
|
1023
|
+
| `model` | Model použitý pro AI funkce. | `string` | Žádný | `'gpt-4o-2024-11-20'` | Konkrétní model závisí na poskytovateli. |
|
|
1024
|
+
| `temperature` | Ovládá náhodnost odpovědí AI. | `number` | Žádný | `0.1` | Vyšší teplota = kreativnější a méně předvídatelné. |
|
|
1025
|
+
| `apiKey` | Váš API klíč pro zvoleného poskytovatele. | `string` | Žádný | `process.env.OPENAI_API_KEY` | Musí být uchováváno v tajnosti; použijte proměnné prostředí. |
|
|
1026
|
+
| `applicationContext` | Dodatečný kontext o vaší aplikaci, který pomůže AI generovat přesnější překlady (doména, cílová skupina, tón, terminologie). | `string` | Žádný | `'Můj vlastní kontext aplikace'` | Lze použít k přidání pravidel (např.: `"Neměli byste transformovat URL"`). |
|
|
1027
|
+
| `baseURL` | Základní URL pro AI API. | `string` | Žádný | `'https://api.openai.com/v1'` <br/> `'http://localhost:5000'` | Může ukazovat na lokální nebo vlastní endpoint AI API. |
|
|
1028
|
+
| `dataSerialization` | Formát serializace dat pro AI funkce. | `'json'` | <br/> `'toon'` | `undefined` | `'toon'` | • `'json'`: výchozí, spolehlivé; spotřebovává více tokenů.<br/>• `'toon'`: méně tokenů, méně stabilní.<br/>• Další parametry se předávají modelu jako kontext (úsilí uvažování atd.). |
|
|
1029
1029
|
|
|
1030
1030
|
---
|
|
1031
1031
|
|
|
@@ -207,7 +207,7 @@ export const ComponentExample = () => {
|
|
|
207
207
|
Tento přístup vám umožňuje:
|
|
208
208
|
|
|
209
209
|
1. **Zrychlit vývoj**
|
|
210
|
-
- Soubory `.content.{
|
|
210
|
+
- Soubory `.content.{ts|js|mjs|cjs|json|tsx|jsx|md|mdx|yaml|yml}` lze vytvářet pomocí rozšíření pro VSCode
|
|
211
211
|
- Nástroje AI pro automatické doplňování ve vašem IDE (jako je GitHub Copilot) vám mohou pomoci s deklarací obsahu, čímž se omezí kopírování/vkládání
|
|
212
212
|
|
|
213
213
|
2. **Vyčistit vaši kódovou základnu**
|
|
@@ -231,27 +231,27 @@ Tento přístup vám umožňuje:
|
|
|
231
231
|
|
|
232
232
|
## Další funkce Intlayer
|
|
233
233
|
|
|
234
|
-
| Funkce | Popis
|
|
235
|
-
| ------------------------------------------------------------------------------------------------------------------------- |
|
|
236
|
-
|  | **Podpora napříč frameworky**<br><br>Intlayer je kompatibilní se všemi hlavními frameworky a knihovnami, včetně Next.js, React, Vite, Vue.js, Nuxt, Preact, Express a dalších.
|
|
237
|
-
|  | **Správa obsahu poháněná JavaScriptem**<br><br>Využijte flexibilitu JavaScriptu k efektivní definici a správě vašeho obsahu. <br><br> - [Deklarace obsahu](https://intlayer.org/doc/concept/content)
|
|
238
|
-
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/compiler.jpg?raw=true" alt="Feature" width="700"> | **Překladač (Compiler)**<br><br>Překladač Intlayer automaticky extrahuje obsah z komponent a generuje soubory slovníků.<br><br> - [Překladač](https://intlayer.org/doc/compiler)
|
|
239
|
-
|  | **Soubor deklarace obsahu pro každé národní prostředí**<br><br>Zrychlete svůj vývoj deklarováním obsahu jednou, před automatickým generováním.<br><br> - [Soubor deklarace obsahu pro každé národní prostředí](https://intlayer.org/doc/concept/per-locale-file)
|
|
240
|
-
|  | **Typově bezpečné prostředí**<br><br>Využijte TypeScript k zajištění bezchybnosti definic obsahu a kódu a zároveň čerpejte výhody z automatického doplňování v IDE.<br><br> - [Konfigurace TypeScriptu](https://intlayer.org/doc/environment/vite-and-react#configure-typescript)
|
|
241
|
-
|  | **Zjednodušené nastavení**<br><br>Rychle začněte s minimální konfigurací. Snadno upravte nastavení pro internacionalizaci, směrování, AI, sestavování a zpracování obsahu. <br><br> - [Prozkoumejte integraci Next.js](https://intlayer.org/doc/environment/nextjs)
|
|
242
|
-
|  | **Zjednodušené získávání obsahu**<br><br>Není třeba volat funkci `t` pro každou část obsahu. Získejte veškerý obsah přímo pomocí jediného hooku.<br><br> - [Integrace React](https://intlayer.org/doc/environment/create-react-app)
|
|
243
|
-
|  | **Konzistentní implementace Server Component**<br><br>Skvěle se hodí pro Next.js server components, používejte stejnou implementaci pro klientské i serverové komponenty, není třeba předávat funkci `t` skrze každou serverovou komponentu. <br><br> - [Server Components](https://intlayer.org/doc/environment/nextjs#step-7-utilize-content-in-your-code)
|
|
244
|
-
|  | **Organizovaná kódová základna**<br><br>Udržujte svou kódovou základnu organizovanější: 1 komponenta = 1 slovník ve stejné složce. Překlady v blízkosti jejich příslušných komponent zvyšují udržovatelnost a přehlednost. <br><br> - [Jak Intlayer funguje](https://intlayer.org/doc/concept/how-works-intlayer)
|
|
245
|
-
|  | **Vylepšené směrování**<br><br>Plná podpora směrování aplikací, plynule se přizpůsobující komplexním strukturám aplikací, pro Next.js, React, Vite, Vue.js atd.<br><br> - [Prozkoumejte integraci Next.js](https://intlayer.org/doc/environment/nextjs)
|
|
246
|
-
|  | **Podpora Markdownu**<br><br>Importujte a interpretujte lokální soubory a vzdálený Markdown pro vícejazyčný obsah, jako jsou zásady ochrany osobních údajů, dokumentace atd. Interpretujte a zpřístupněte metadata Markdownu ve vašem kódu.<br><br> - [Soubory obsahu](https://intlayer.org/doc/concept/content/file)
|
|
247
|
-
|  | **Zdarma vizuální editor a CMS**<br><br>Pro autory obsahu je k dispozici bezplatný vizuální editor a CMS, což eliminuje potřebu lokalizační platformy. Udržujte svůj obsah synchronizovaný pomocí Gitu nebo jej zcela či částečně externalizujte pomocí CMS.<br><br> - [Intlayer Editor](https://intlayer.org/doc/concept/editor) <br> - [Intlayer CMS](https://intlayer.org/doc/concept/cms)
|
|
248
|
-
|  | **Tree-shakable obsah**<br><br>Obsah typu tree-shakable, který snižuje velikost výsledného balíčku. Načítá obsah pro každou komponentu a vylučuje jakýkoli nepoužívaný obsah z vašeho balíčku. Podporuje opožděné načítání (lazy loading) pro zvýšení efektivity načítání aplikace. <br><br> - [Optimalizace sestavení aplikace](https://intlayer.org/doc/concept/how-works-intlayer#app-build-optimization)
|
|
249
|
-
|  | **Statické vykreslování (Static Rendering)**<br><br>Neblokuje statické vykreslování. <br><br> - [Integrace Next.js](https://intlayer.org/doc/environment/nextjs)
|
|
250
|
-
|  | **Překlad s podporou AI**<br><br>Převeďte svůj web do 231 jazyků jediným kliknutím pomocí pokročilých nástrojů pro překlad poháněných AI od Intlayer s využitím vlastního poskytovatele AI/klíče API. <br><br> - [Integrace CI/CD](https://intlayer.org/doc/concept/ci-cd) <br> - [Intlayer CLI](https://intlayer.org/doc/concept/cli) <br> - [Automatické vyplňování](https://intlayer.org/doc/concept/auto-fill)
|
|
251
|
-
|  | **Integrace serveru MCP**<br><br>Poskytuje server MCP (Model Context Protocol) pro automatizaci IDE, což umožňuje bezproblémovou správu obsahu a pracovní postupy i18n přímo ve vašem vývojovém prostředí. <br><br> - [Server MCP](https://github.com/aymericzip/intlayer/blob/main/docs/cs/mcp_server.md)
|
|
252
|
-
|  | **Rozšíření pro VSCode**<br><br>Intlayer poskytuje rozšíření pro VSCode, které vám pomůže spravovat obsah a překlady, vytvářet slovníky, překládat obsah a další. <br><br> - [Rozšíření pro VSCode](https://intlayer.org/doc/vs-code-extension)
|
|
253
|
-
|  | **Interoperabilita**<br><br>Umožňuje interoperabilitu s react-i18next, next-i18next, next-intl a react-intl. <br><br> - [Intlayer a react-intl](https://intlayer.org/blog/intlayer-with-react-intl) <br> - [Intlayer a next-intl](https://intlayer.org/blog/intlayer-with-next-intl) <br> - [Intlayer a next-i18next](https://intlayer.org/blog/intlayer-with-next-i18next)
|
|
254
|
-
| Testování chybějících překladů (CLI/CI) | ✅ CLI: npx intlayer content test (audit vhodný pro CI)
|
|
234
|
+
| Funkce | Popis |
|
|
235
|
+
| ------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
236
|
+
|  | **Podpora napříč frameworky**<br><br>Intlayer je kompatibilní se všemi hlavními frameworky a knihovnami, včetně Next.js, React, Vite, Vue.js, Nuxt, Preact, Express a dalších. |
|
|
237
|
+
|  | **Správa obsahu poháněná JavaScriptem**<br><br>Využijte flexibilitu JavaScriptu k efektivní definici a správě vašeho obsahu. <br><br> - [Deklarace obsahu](https://intlayer.org/doc/concept/content) |
|
|
238
|
+
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/compiler.jpg?raw=true" alt="Feature" width="700"> | **Překladač (Compiler)**<br><br>Překladač Intlayer automaticky extrahuje obsah z komponent a generuje soubory slovníků.<br><br> - [Překladač](https://intlayer.org/doc/compiler) |
|
|
239
|
+
|  | **Soubor deklarace obsahu pro každé národní prostředí**<br><br>Zrychlete svůj vývoj deklarováním obsahu jednou, před automatickým generováním.<br><br> - [Soubor deklarace obsahu pro každé národní prostředí](https://intlayer.org/doc/concept/per-locale-file) |
|
|
240
|
+
|  | **Typově bezpečné prostředí**<br><br>Využijte TypeScript k zajištění bezchybnosti definic obsahu a kódu a zároveň čerpejte výhody z automatického doplňování v IDE.<br><br> - [Konfigurace TypeScriptu](https://intlayer.org/doc/environment/vite-and-react#configure-typescript) |
|
|
241
|
+
|  | **Zjednodušené nastavení**<br><br>Rychle začněte s minimální konfigurací. Snadno upravte nastavení pro internacionalizaci, směrování, AI, sestavování a zpracování obsahu. <br><br> - [Prozkoumejte integraci Next.js](https://intlayer.org/doc/environment/nextjs) |
|
|
242
|
+
|  | **Zjednodušené získávání obsahu**<br><br>Není třeba volat funkci `t` pro každou část obsahu. Získejte veškerý obsah přímo pomocí jediného hooku.<br><br> - [Integrace React](https://intlayer.org/doc/environment/create-react-app) |
|
|
243
|
+
|  | **Konzistentní implementace Server Component**<br><br>Skvěle se hodí pro Next.js server components, používejte stejnou implementaci pro klientské i serverové komponenty, není třeba předávat funkci `t` skrze každou serverovou komponentu. <br><br> - [Server Components](https://intlayer.org/doc/environment/nextjs#step-7-utilize-content-in-your-code) |
|
|
244
|
+
|  | **Organizovaná kódová základna**<br><br>Udržujte svou kódovou základnu organizovanější: 1 komponenta = 1 slovník ve stejné složce. Překlady v blízkosti jejich příslušných komponent zvyšují udržovatelnost a přehlednost. <br><br> - [Jak Intlayer funguje](https://intlayer.org/doc/concept/how-works-intlayer) |
|
|
245
|
+
|  | **Vylepšené směrování**<br><br>Plná podpora směrování aplikací, plynule se přizpůsobující komplexním strukturám aplikací, pro Next.js, React, Vite, Vue.js atd.<br><br> - [Prozkoumejte integraci Next.js](https://intlayer.org/doc/environment/nextjs) |
|
|
246
|
+
|  | **Podpora Markdownu**<br><br>Importujte a interpretujte lokální soubory a vzdálený Markdown pro vícejazyčný obsah, jako jsou zásady ochrany osobních údajů, dokumentace atd. Interpretujte a zpřístupněte metadata Markdownu ve vašem kódu.<br><br> - [Soubory obsahu](https://intlayer.org/doc/concept/content/file) |
|
|
247
|
+
|  | **Zdarma vizuální editor a CMS**<br><br>Pro autory obsahu je k dispozici bezplatný vizuální editor a CMS, což eliminuje potřebu lokalizační platformy. Udržujte svůj obsah synchronizovaný pomocí Gitu nebo jej zcela či částečně externalizujte pomocí CMS.<br><br> - [Intlayer Editor](https://intlayer.org/doc/concept/editor) <br> - [Intlayer CMS](https://intlayer.org/doc/concept/cms) |
|
|
248
|
+
|  | **Tree-shakable obsah**<br><br>Obsah typu tree-shakable, který snižuje velikost výsledného balíčku. Načítá obsah pro každou komponentu a vylučuje jakýkoli nepoužívaný obsah z vašeho balíčku. Podporuje opožděné načítání (lazy loading) pro zvýšení efektivity načítání aplikace. <br><br> - [Optimalizace sestavení aplikace](https://intlayer.org/doc/concept/how-works-intlayer#app-build-optimization) |
|
|
249
|
+
|  | **Statické vykreslování (Static Rendering)**<br><br>Neblokuje statické vykreslování. <br><br> - [Integrace Next.js](https://intlayer.org/doc/environment/nextjs) |
|
|
250
|
+
|  | **Překlad s podporou AI**<br><br>Převeďte svůj web do 231 jazyků jediným kliknutím pomocí pokročilých nástrojů pro překlad poháněných AI od Intlayer s využitím vlastního poskytovatele AI/klíče API. <br><br> - [Integrace CI/CD](https://intlayer.org/doc/concept/ci-cd) <br> - [Intlayer CLI](https://intlayer.org/doc/concept/cli) <br> - [Automatické vyplňování](https://intlayer.org/doc/concept/auto-fill) |
|
|
251
|
+
|  | **Integrace serveru MCP**<br><br>Poskytuje server MCP (Model Context Protocol) pro automatizaci IDE, což umožňuje bezproblémovou správu obsahu a pracovní postupy i18n přímo ve vašem vývojovém prostředí. <br><br> - [Server MCP](https://github.com/aymericzip/intlayer/blob/main/docs/cs/mcp_server.md) |
|
|
252
|
+
|  | **Rozšíření pro VSCode**<br><br>Intlayer poskytuje rozšíření pro VSCode, které vám pomůže spravovat obsah a překlady, vytvářet slovníky, překládat obsah a další. <br><br> - [Rozšíření pro VSCode](https://intlayer.org/doc/vs-code-extension) |
|
|
253
|
+
|  | **Interoperabilita**<br><br>Umožňuje interoperabilitu s react-i18next, next-i18next, next-intl a react-intl. <br><br> - [Intlayer a react-intl](https://intlayer.org/blog/intlayer-with-react-intl) <br> - [Intlayer a next-intl](https://intlayer.org/blog/intlayer-with-next-intl) <br> - [Intlayer a next-i18next](https://intlayer.org/blog/intlayer-with-next-i18next) <br> - [Compat adaptéry Intlayer](https://intlayer.org/doc/compatibility) |
|
|
254
|
+
| Testování chybějících překladů (CLI/CI) | ✅ CLI: npx intlayer content test (audit vhodný pro CI) |
|
|
255
255
|
|
|
256
256
|
## Porovnání Intlayer s jinými řešeními
|
|
257
257
|
|
|
@@ -290,3 +290,5 @@ Les étoiles GitHub sont un indicateur fort de la popularité d'un projet, de la
|
|
|
290
290
|
`intlayer` může také pomoci spravovat vaše jmenné prostory pro `react-intl`, `react-i18next`, `next-intl`, `next-i18next` a `vue-i18n`.
|
|
291
291
|
|
|
292
292
|
Pomocí `intlayer` můžete deklarovat svůj obsah ve formátu vaší oblíbené knihovny i18n a intlayer vygeneruje vaše jmenné prostory v umístění podle vašeho výběru (příklad: `/messages/{{locale}}/{{namespace}}.json`).
|
|
293
|
+
|
|
294
|
+
Pokud chcete nadále používat API své současné i18n knihovny, `intlayer` nabízí také **compat adaptéry**: balíčky, které vystavují přesně stejné API jako `react-i18next`, `next-intl`, `react-intl`, `vue-i18n` a další, ale obsah dodávají z Intlayer slovníků. Díky tomu můžete migrovat postupně, aniž byste museli přepisovat svůj kód. Viz [dokumentace compat adaptérů](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/compat/index.md).
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2025-11-25
|
|
3
|
-
updatedAt: 2026-
|
|
3
|
+
updatedAt: 2026-08-09
|
|
4
4
|
title: Optimierung der i18n-Bundle-Größe & Leistung
|
|
5
5
|
description: Reduzieren Sie die Bundle-Größe Ihrer Anwendung, indem Sie den Inhalt der Internationalisierung (i18n) optimieren. Erfahren Sie, wie Sie Tree Shaking und Lazy Loading für Wörterbücher mit Intlayer nutzen.
|
|
6
6
|
keywords:
|
|
@@ -16,6 +16,12 @@ slugs:
|
|
|
16
16
|
- concept
|
|
17
17
|
- bundle-optimization
|
|
18
18
|
history:
|
|
19
|
+
- version: 9.2.1
|
|
20
|
+
date: 2026-08-09
|
|
21
|
+
changes: "`purge` und `minify` funktionieren jetzt in Next.js über `@intlayer/swc` — kein `babel.config.js` erforderlich"
|
|
22
|
+
- version: 8.12.0
|
|
23
|
+
date: 2026-06-24
|
|
24
|
+
changes: "Babel-Plugins in den Referenztabellen in der erforderlichen Pipeline-Reihenfolge auflisten (extract → purge → minify → optimize)"
|
|
19
25
|
- version: 8.12.0
|
|
20
26
|
date: 2026-06-07
|
|
21
27
|
changes: "Hinzufügen von `intlayerPurgeBabelPlugin` und `intlayerMinifyBabelPlugin` für Babel/Webpack; Klarstellung der Plugin-Pipeline"
|
|
@@ -191,12 +197,14 @@ Die Build-Optimierung von Intlayer ist auf mehrere diskrete Plugins aufgeteilt,
|
|
|
191
197
|
|
|
192
198
|
Diese werden direkt in der `babel.config.js` für Webpack-basierte Setups verwendet (Next.js mit Babel, CRA, benutzerdefiniertes Webpack usw.).
|
|
193
199
|
|
|
200
|
+
Die folgende Tabelle listet sie in der erforderlichen Pipeline-Reihenfolge auf (dieselbe Reihenfolge, in der sie in `babel.config.js` erscheinen müssen):
|
|
201
|
+
|
|
194
202
|
| Plugin | Was es tut |
|
|
195
203
|
| :---------------------------- | :-------------------------------------------------------------------------------------------------------------------------- |
|
|
196
204
|
| `intlayerExtractBabelPlugin` | Scannt `.content.ts`-Dateien und schreibt kompilierte Wörterbücher nach `.intlayer/` |
|
|
197
|
-
| `intlayerOptimizeBabelPlugin` | Schreibt `useIntlayer('key')` → `useDictionary(hash)` um und fügt den passenden `import` des Wörterbuchs ein |
|
|
198
205
|
| `intlayerPurgeBabelPlugin` | Scannt alle Quelldateien und entfernt **nicht verwendete Inhaltsfelder** aus den kompilierten `.intlayer/**/*.json`-Dateien |
|
|
199
206
|
| `intlayerMinifyBabelPlugin` | **Benennt Inhaltsfeld-Schlüssel um** in kurze alphabetische Aliase (`title` → `a`) in JSON-Dateien und im Quellcode |
|
|
207
|
+
| `intlayerOptimizeBabelPlugin` | Schreibt `useIntlayer('key')` → `useDictionary(hash)` um und fügt den passenden `import` des Wörterbuchs ein |
|
|
200
208
|
|
|
201
209
|
> **Die Reihenfolge der Plugins ist wichtig.** In Ihrer `babel.config.js` müssen das Purge- und Minify-Plugin **vor** dem Optimize-Plugin aufgeführt sein. Der Optimize-Pass ersetzt `useIntlayer('key')` durch einen undurchsichtigen `useDictionary(hash)`-Aufruf, wodurch die Information über den Wörterbuchschlüssel gelöscht wird, die der Purge- und Minify-Pass benötigen, um zu identifizieren, welche Felder verwendet werden.
|
|
202
210
|
|
|
@@ -205,9 +213,9 @@ Jedes Babel-Plugin verfügt über einen entsprechenden Options-Helfer, der Ihre
|
|
|
205
213
|
| Options-Helfer | Verwendet mit |
|
|
206
214
|
| :--------------------------- | :---------------------------- |
|
|
207
215
|
| `getExtractPluginOptions()` | `intlayerExtractBabelPlugin` |
|
|
208
|
-
| `getOptimizePluginOptions()` | `intlayerOptimizeBabelPlugin` |
|
|
209
216
|
| `getPurgePluginOptions()` | `intlayerPurgeBabelPlugin` |
|
|
210
217
|
| `getMinifyPluginOptions()` | `intlayerMinifyBabelPlugin` |
|
|
218
|
+
| `getOptimizePluginOptions()` | `intlayerOptimizeBabelPlugin` |
|
|
211
219
|
|
|
212
220
|
### Vite Plugins (`vite-intlayer`)
|
|
213
221
|
|
|
@@ -220,6 +228,20 @@ Vite-Benutzer **konfigurieren diese nie direkt**. Sie werden automatisch eingeri
|
|
|
220
228
|
| Dictionary minify | Gleich wie die JSON-Schreibphase des `intlayerMinifyBabelPlugin` |
|
|
221
229
|
| Babel transform | Gleich wie die Quellcode-Umbenennung des `intlayerMinifyBabelPlugin` + `intlayerOptimizeBabelPlugin` |
|
|
222
230
|
|
|
231
|
+
### SWC-Plugin (`@intlayer/swc`)
|
|
232
|
+
|
|
233
|
+
Auch Next.js-Nutzer **konfigurieren diese nie direkt**. Seit **v9.2.1** führt `withIntlayer()` in `next.config.ts` die vollständige Pipeline aus — Purge, Minify und Import-Umschreibung — allein anhand der Flags `build.purge` und `build.minify`.
|
|
234
|
+
|
|
235
|
+
Die Arbeit ist zweigeteilt, denn ein SWC-Wasm-Plugin transformiert jeweils nur eine Datei und hat keinen Dateisystemzugriff:
|
|
236
|
+
|
|
237
|
+
| Durchlauf | Wo er läuft | Was er tut |
|
|
238
|
+
| :---------------------------------------------- | :----------------------------------- | :------------------------------------------------------------------------------------------------------ |
|
|
239
|
+
| Nutzungsanalyse + JSON-Purge/Minify | Node, innerhalb von `withIntlayer()` | Liest jede Komponenten-Quelldatei, schreibt `.intlayer/**/*.json` neu, erzeugt die Umbenennungstabellen |
|
|
240
|
+
| Quellcode-Umschreibung (`content.title` → `.a`) | `@intlayer/swc` (Wasm) | Wendet die Umbenennungstabellen auf die passenden Eigenschaftszugriffe in Ihrem Code an |
|
|
241
|
+
| Import-Umschreibung (`useIntlayer` → dict) | `@intlayer/swc` (Wasm) | Wie `intlayerOptimizeBabelPlugin` |
|
|
242
|
+
|
|
243
|
+
Zu entscheiden, _welche_ Felder ungenutzt sind und _welchen_ Alias jedes erhält, erfordert dateiübergreifenden Zustand und Datei-I/O; diese Hälfte läuft daher in Node, und das SWC-Plugin erhält nur die resultierenden Tabellen.
|
|
244
|
+
|
|
223
245
|
## Setup nach Plattform
|
|
224
246
|
|
|
225
247
|
<Tabs>
|
|
@@ -227,10 +249,12 @@ Vite-Benutzer **konfigurieren diese nie direkt**. Sie werden automatisch eingeri
|
|
|
227
249
|
|
|
228
250
|
### Next.js
|
|
229
251
|
|
|
230
|
-
Next.js
|
|
252
|
+
Next.js benötigt das `@intlayer/swc`-Plugin, da Next.js SWC für Builds verwendet. Seit **v9.2.1** deckt dieses eine Paket die gesamte Pipeline ab — Optimierung (Import-Umschreibung), Purge und Minify.
|
|
231
253
|
|
|
232
254
|
> Dieses Plugin ist nicht standardmäßig installiert, da SWC-Plugins für Next.js noch experimentell sind. Dies kann sich in Zukunft ändern.
|
|
233
255
|
|
|
256
|
+
> **Next.js 16.1.0 ist die Mindestversion.** Es ist die erste Version, die auf SWCs vorwärtskompatibler Wasm-Plugin-ABI aufbaut; frühere Versionen weisen das Plugin ab. `withIntlayer` liest Ihre Next.js-Version und registriert das Plugin unterhalb von 16.1.0 einfach nicht — diese Builds sind weiterhin erfolgreich, sie laufen nur ohne Bundle-Optimierung.
|
|
257
|
+
|
|
234
258
|
<Tabs>
|
|
235
259
|
<Tab value="npm">
|
|
236
260
|
|
|
@@ -265,33 +289,40 @@ intlayer-swc-plugin = "*"
|
|
|
265
289
|
|
|
266
290
|
Nach der Installation erkennt Intlayer das Plugin automatisch und verwendet es.
|
|
267
291
|
|
|
268
|
-
|
|
292
|
+
Die **Purge- und Minify-Durchläufe** (Feldentfernung und Feldumbenennung) benötigen kein zusätzliches Paket und kein `babel.config.js`. Umschließen Sie Ihre Konfiguration mit `withIntlayer` und schalten Sie die Flags in `intlayer.config.ts` um:
|
|
269
293
|
|
|
270
|
-
```
|
|
271
|
-
|
|
294
|
+
```typescript fileName="next.config.ts"
|
|
295
|
+
import { withIntlayer } from "next-intlayer/server";
|
|
296
|
+
import type { NextConfig } from "next";
|
|
297
|
+
|
|
298
|
+
const nextConfig: NextConfig = {/* Ihre Konfiguration */};
|
|
299
|
+
|
|
300
|
+
export default withIntlayer(nextConfig);
|
|
272
301
|
```
|
|
273
302
|
|
|
274
|
-
```
|
|
275
|
-
|
|
276
|
-
intlayerPurgeBabelPlugin,
|
|
277
|
-
intlayerMinifyBabelPlugin,
|
|
278
|
-
getPurgePluginOptions,
|
|
279
|
-
getMinifyPluginOptions,
|
|
280
|
-
} = require("@intlayer/babel");
|
|
303
|
+
```typescript fileName="intlayer.config.ts"
|
|
304
|
+
import type { IntlayerConfig } from "intlayer";
|
|
281
305
|
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
//
|
|
286
|
-
|
|
287
|
-
// Minify: Benennt Inhaltsfeld-Schlüssel im JSON + Quellcode um
|
|
288
|
-
[intlayerMinifyBabelPlugin, getMinifyPluginOptions()],
|
|
289
|
-
// Hinweis: intlayerOptimizeBabelPlugin wird hier NICHT benötigt, da
|
|
290
|
-
// @intlayer/swc die Umschreibung useIntlayer → useDictionary übernimmt.
|
|
291
|
-
],
|
|
306
|
+
const config: IntlayerConfig = {
|
|
307
|
+
build: {
|
|
308
|
+
purge: true, // entfernt ungenutzte Inhaltsfelder aus dem gebündelten JSON
|
|
309
|
+
minify: true, // benennt Inhaltsfeldschlüssel in kurze Aliase um
|
|
310
|
+
},
|
|
292
311
|
};
|
|
312
|
+
|
|
313
|
+
export default config;
|
|
293
314
|
```
|
|
294
315
|
|
|
316
|
+
Während `next build` analysiert `withIntlayer` Ihre Quellen, schreibt die kompilierten Wörterbücher neu und übergibt die resultierenden Feldumbenennungstabellen an `@intlayer/swc`, das die passenden Eigenschaftszugriffe in Ihrem Code aktualisiert.
|
|
317
|
+
|
|
318
|
+
> Verwenden Sie das asynchrone `withIntlayer`, nicht `withIntlayerSync`. Die synchrone Variante führt die Analyse-Pipeline nicht aus, sodass Purge und Minify damit keine Wirkung haben.
|
|
319
|
+
|
|
320
|
+
> Purge und Minify laufen nur bei `next build` — die Optimierungs-Pipeline ist während `next dev` deaktiviert.
|
|
321
|
+
|
|
322
|
+
> Sie sind außerdem deaktiviert, wenn Kompatibilitäts-Adapter-Aufrufer konfiguriert sind (`swcExtraCallers`, gesetzt von den Kompatibilitätspaketen wie `@intlayer/next-intl` oder `@intlayer/react-i18next`): Diese Aufrufstellen sind für den Nutzungsanalysator unsichtbar, sodass Purge Felder entfernen würde, die der Code noch liest. Die Import-Umschreibung bleibt aktiv.
|
|
323
|
+
|
|
324
|
+
**Frühere Versionen (vor 9.2.1)** benötigten `@intlayer/babel` und eine `babel.config.js`, die `intlayerPurgeBabelPlugin` und `intlayerMinifyBabelPlugin` deklariert. Diese Datei wird nicht mehr benötigt und kann gelöscht werden.
|
|
325
|
+
|
|
295
326
|
</Tab>
|
|
296
327
|
<Tab value="vite">
|
|
297
328
|
|
|
@@ -447,6 +478,8 @@ export default config;
|
|
|
447
478
|
|
|
448
479
|
> Die Minifizierung wird übersprungen, wenn `optimize` auf `false` gesetzt ist oder wenn `editor.enabled` auf `true` steht (der visuelle Editor benötigt die ursprünglichen Feldnamen, um die Bearbeitung zu ermöglichen).
|
|
449
480
|
|
|
481
|
+
> Unter Next.js wird die Minifizierung außerdem übersprungen, wenn `@intlayer/swc` nicht installiert ist oder nicht geladen werden kann (Next.js unterhalb von 16.1.0). Das Plugin ist die Hälfte, die die Quellcode-Zugriffe umschreibt; die Wörterbücher ohne es umzubenennen, würde Ihren Code Feldnamen lesen lassen, die es nicht mehr gibt.
|
|
482
|
+
|
|
450
483
|
> Die Minifizierung wird ebenfalls für Wörterbücher übersprungen, die über `importMode: 'fetch'` geladen werden, da deren JSON von einer Remote-API mit den ursprünglichen Feldnamen bereitgestellt wird — das Umbenennen der clientseitigen Schlüssel würde den Server/Client-Vertrag brechen.
|
|
451
484
|
|
|
452
485
|
### Purging (Entfernen ungenutzter Felder)
|
|
@@ -475,7 +508,7 @@ export default config;
|
|
|
475
508
|
{ "title": "…", "subtitle": "…" }
|
|
476
509
|
```
|
|
477
510
|
|
|
478
|
-
> Der Purge wird übersprungen, wenn `optimize` auf `false` oder `editor.enabled` auf `true` gesetzt ist.
|
|
511
|
+
> Der Purge wird übersprungen, wenn `optimize` auf `false` oder `editor.enabled` auf `true` gesetzt ist. Unter Next.js wird sie zusätzlich übersprungen, wenn `@intlayer/swc` nicht verfügbar ist und wenn Kompatibilitäts-Adapter-Aufrufer konfiguriert sind.
|
|
479
512
|
|
|
480
513
|
> Der Purge wird auch konservativ übersprungen, wenn eine Quelldatei nicht analysiert werden kann, oder wenn das Ergebnis von `useIntlayer` einer Variablen zugewiesen und auf eine Weise weitergegeben wird, die der statische Analysator nicht verfolgen kann (z.B. in ein Objekt eingefügt oder als Prop ohne Destrukturierung übergeben). In diesen Fällen wird das gesamte Wörterbuch beibehalten.
|
|
481
514
|
|
package/docs/de/configuration.md
CHANGED
|
@@ -404,7 +404,7 @@ const config: IntlayerConfig = {
|
|
|
404
404
|
ai: {
|
|
405
405
|
/**
|
|
406
406
|
* Zu verwendender KI-Anbieter.
|
|
407
|
-
* Optionen: 'openai', 'anthropic', 'mistral', 'deepseek', 'gemini', 'ollama', 'openrouter', 'alibaba', 'fireworks', 'groq', 'huggingface', 'bedrock', 'googlevertex', 'togetherai', 'lmstudio'
|
|
407
|
+
* Optionen: 'openai', 'anthropic', 'mistral', 'deepseek', 'gemini', 'ollama', 'openrouter', 'alibaba', 'fireworks', 'groq', 'huggingface', 'bedrock', 'googlevertex', 'togetherai', 'lmstudio', 'moonshotai'
|
|
408
408
|
* Standard: 'openai'
|
|
409
409
|
*/
|
|
410
410
|
provider: "openai",
|
|
@@ -1035,15 +1035,15 @@ Intlayer unterstützt mehrere KI-Anbieter für maximale Flexibilität. Derzeit u
|
|
|
1035
1035
|
- **Together.ai**
|
|
1036
1036
|
- **LM Studio**
|
|
1037
1037
|
|
|
1038
|
-
| Feld | Beschreibung | Typ
|
|
1039
|
-
| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
1040
|
-
| `provider` | Der für Intlayer KI-Funktionen zu verwendende Anbieter. | `'openai'` | <br/> `'anthropic'` | <br/> `'mistral'` | <br/> `'deepseek'` | <br/> `'gemini'` | <br/> `'ollama'` | <br/> `'openrouter'` | <br/> `'alibaba'` | <br/> `'fireworks'` | <br/> `'groq'` | <br/> `'huggingface'` | <br/> `'bedrock'` | <br/> `'googleaistudio'` | <br/> `'googlevertex'` | <br/> `'togetherai'` | <br/> `'lmstudio'` | `undefined` | `'anthropic'` | Verschiedene Anbieter erfordern unterschiedliche API-Schlüssel und haben unterschiedliche Preismodelle. |
|
|
1041
|
-
| `model` | Das für die KI-Funktionen zu verwendende Modell. | `string`
|
|
1042
|
-
| `temperature` | Steuert den Zufallsfaktor der KI-Antworten. | `number`
|
|
1043
|
-
| `apiKey` | Ihr API-Schlüssel für den ausgewählten Anbieter. | `string`
|
|
1044
|
-
| `applicationContext` | Zusätzlicher Kontext über Ihre Anwendung, um der KI zu helfen, genauere Übersetzungen zu generieren (Domain, Zielgruppe, Tonfall, Terminologie). | `string`
|
|
1045
|
-
| `baseURL` | Die Basis-URL für die KI-API. | `string`
|
|
1046
|
-
| `dataSerialization` | Datenserialisierungsformat für die KI-Funktionen. | `'json'` | <br/> `'toon'`
|
|
1038
|
+
| Feld | Beschreibung | Typ | Standard | Beispiel | Hinweis |
|
|
1039
|
+
| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------- | ------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
1040
|
+
| `provider` | Der für Intlayer KI-Funktionen zu verwendende Anbieter. | `'openai'` | <br/> `'anthropic'` | <br/> `'mistral'` | <br/> `'deepseek'` | <br/> `'gemini'` | <br/> `'ollama'` | <br/> `'openrouter'` | <br/> `'alibaba'` | <br/> `'fireworks'` | <br/> `'groq'` | <br/> `'huggingface'` | <br/> `'bedrock'` | <br/> `'googleaistudio'` | <br/> `'googlevertex'` | <br/> `'togetherai'` | <br/> `'lmstudio'` | <br/> `'moonshotai'` | `undefined` | `'anthropic'` | Verschiedene Anbieter erfordern unterschiedliche API-Schlüssel und haben unterschiedliche Preismodelle. |
|
|
1041
|
+
| `model` | Das für die KI-Funktionen zu verwendende Modell. | `string` | Keines | `'gpt-4o-2024-11-20'` | Das spezifische Modell variiert je nach Anbieter. |
|
|
1042
|
+
| `temperature` | Steuert den Zufallsfaktor der KI-Antworten. | `number` | Keines | `0.1` | Höhere Temperatur = kreativer und weniger vorhersehbar. |
|
|
1043
|
+
| `apiKey` | Ihr API-Schlüssel für den ausgewählten Anbieter. | `string` | Keines | `process.env.OPENAI_API_KEY` | Geheim halten; in Umgebungsvariablen speichern. |
|
|
1044
|
+
| `applicationContext` | Zusätzlicher Kontext über Ihre Anwendung, um der KI zu helfen, genauere Übersetzungen zu generieren (Domain, Zielgruppe, Tonfall, Terminologie). | `string` | Keines | `'Mein Anwendungskontext'` | Kann verwendet werden, um Regeln hinzuzufügen (z. B.: `"URLs dürfen nicht verändert werden"`). |
|
|
1045
|
+
| `baseURL` | Die Basis-URL für die KI-API. | `string` | Keines | `'https://api.openai.com/v1'` <br/> `'http://localhost:5000'` | Kann auf einen lokalen oder benutzerdefinierten KI-API-Endpunkt zeigen. |
|
|
1046
|
+
| `dataSerialization` | Datenserialisierungsformat für die KI-Funktionen. | `'json'` | <br/> `'toon'` | `undefined` | `'toon'` | • `'json'`: Standard, zuverlässig; verbraucht mehr Tokens.<br/>• `'toon'`: Weniger Tokens, weniger konsistent.<br/>• Zusätzliche Parameter werden an das Modell als Kontext übergeben (Abstraktionsaufwand etc.). |
|
|
1047
1047
|
|
|
1048
1048
|
---
|
|
1049
1049
|
|
|
@@ -207,7 +207,7 @@ export const ComponentExample = () => {
|
|
|
207
207
|
Dieser Ansatz ermöglicht es Ihnen:
|
|
208
208
|
|
|
209
209
|
1. **Die Entwicklungsgeschwindigkeit zu erhöhen**
|
|
210
|
-
- `.content.{
|
|
210
|
+
- `.content.{ts|js|mjs|cjs|json|tsx|jsx|md|mdx|yaml|yml}`-Dateien können mithilfe einer VSCode-Erweiterung erstellt werden
|
|
211
211
|
- KI-Autovervollständigungswerkzeuge in Ihrer IDE (wie GitHub Copilot) können Ihnen bei der Deklaration Ihrer Inhalte helfen und so Copy-Paste reduzieren
|
|
212
212
|
|
|
213
213
|
2. **Ihre Codebasis sauber zu halten**
|
|
@@ -231,27 +231,27 @@ Dieser Ansatz ermöglicht es Ihnen:
|
|
|
231
231
|
|
|
232
232
|
## Zusätzliche Funktionen von Intlayer
|
|
233
233
|
|
|
234
|
-
| Funktion | Beschreibung
|
|
235
|
-
| ------------------------------------------------------------------------------------------------------------------------- |
|
|
236
|
-
|  | **Cross-Framework-Unterstützung**<br><br>Intlayer ist kompatibel mit allen gängigen Frameworks und Bibliotheken, einschließlich Next.js, React, Vite, Vue.js, Nuxt, Preact, Express und mehr.
|
|
237
|
-
|  | **JavaScript-gestütztes Inhaltsmanagement**<br><br>Nutzen Sie die Flexibilität von JavaScript, um Ihre Inhalte effizient zu definieren und zu verwalten.<br><br> - [Inhaltsdeklaration](https://intlayer.org/doc/concept/content)
|
|
238
|
-
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/compiler.jpg?raw=true" alt="Feature" width="700"> | **Compiler**<br><br>Der Intlayer-Compiler extrahiert automatisch Inhalte aus Ihren Komponenten und generiert die Wörterbuchdateien.<br><br> - [Compiler](https://intlayer.org/doc/compiler)
|
|
239
|
-
|  | **Inhaltsdeklarationsdatei pro Sprache**<br><br>Beschleunigen Sie Ihre Entwicklung, indem Sie Ihre Inhalte vor der automatischen Generierung einmal deklarieren.<br><br> - [Inhaltsdeklarationsdatei pro Sprache](https://intlayer.org/doc/concept/per-locale-file)
|
|
240
|
-
|  | **Typsichere Umgebung**<br><br>Nutzen Sie TypeScript, um sicherzustellen, dass Ihre Inhaltsdefinitionen und Ihr Code fehlerfrei sind, während Sie gleichzeitig von der IDE-Autovervollständigung profitieren.<br><br> - [TypeScript-Konfiguration](https://intlayer.org/doc/environment/vite-and-react#configure-typescript)
|
|
241
|
-
|  | **Vereinfachtes Setup**<br><br>Schnell einsatzbereit mit minimaler Konfiguration. Passen Sie Einstellungen für Internationalisierung, Routing, KI, Build und Inhaltsverarbeitung mit Leichtigkeit an.<br><br> - [Erkunden Sie die Next.js-Integration](https://intlayer.org/doc/environment/nextjs)
|
|
242
|
-
|  | **Vereinfachtes Abrufen von Inhalten**<br><br>Sie müssen Ihre `t`-Funktion nicht für jedes Inhaltselement einzeln aufrufen. Rufen Sie alle Ihre Inhalte direkt mit einem einzigen Hook ab.<br><br> - [React-Integration](https://intlayer.org/doc/environment/create-react-app)
|
|
243
|
-
|  | **Konsistente Implementierung für Server-Komponenten**<br><br>Perfekt geeignet für Next.js-Server-Komponenten: Nutzen Sie dieselbe Implementierung sowohl für Client- als auch für Server-Komponenten. Das Weiterreichen Ihrer `t`-Funktion durch die Server-Komponenten entfällt.<br><br> - [Server-Komponenten](https://intlayer.org/doc/environment/nextjs#step-7-utilize-content-in-your-code)
|
|
244
|
-
|  | **Organisierte Codebasis**<br><br>Halten Sie Ihre Codebasis organisierter: 1 Komponente = 1 Wörterbuch im selben Ordner. Übersetzungen in der Nähe der jeweiligen Komponenten verbessern die Wartbarkeit und Klarheit.<br><br> - [Wie Intlayer funktioniert](https://intlayer.org/doc/concept/how-works-intlayer)
|
|
245
|
-
|  | **Erweitertes Routing**<br><br>Volle Unterstützung von App-Routing, das sich nahtlos an komplexe Anwendungsstrukturen für Next.js, React, Vite, Vue.js usw. anpasst.<br><br> - [Erkunden Sie die Next.js-Integration](https://intlayer.org/doc/environment/nextjs)
|
|
246
|
-
|  | **Markdown-Unterstützung**<br><br>Importieren und interpretieren Sie lokale Dateien und Remote-Markdown für mehrsprachige Inhalte wie Datenschutzrichtlinien, Dokumentationen usw. Interpretieren Sie Markdown-Metadaten und machen Sie sie in Ihrem Code zugänglich.<br><br> - [Inhaltsdateien](https://intlayer.org/doc/concept/content/file)
|
|
247
|
-
|  | **Kostenloser visueller Editor & CMS**<br><br>Ein kostenloser visueller Editor und ein CMS stehen für Texter zur Verfügung, sodass keine externe Lokalisierungsplattform erforderlich ist. Synchronisieren Sie Ihre Inhalte über Git oder lagern Sie sie ganz oder teilweise in das CMS aus.<br><br> - [Intlayer-Editor](https://intlayer.org/doc/concept/editor) <br> - [Intlayer-CMS](https://intlayer.org/doc/concept/cms)
|
|
248
|
-
|  | **Tree-shakable Inhalte**<br><br>Tree-shakable Inhalte, die die Größe des finalen Bundles reduzieren. Lädt Inhalte pro Komponente und schließt ungenutzte Inhalte aus Ihrem Bundle aus. Unterstützt Lazy Loading zur Steigerung der Ladeeffizienz der App.<br><br> - [Optimierung des App-Builds](https://intlayer.org/doc/concept/how-works-intlayer#app-build-optimization)
|
|
249
|
-
|  | **Statisches Rendering**<br><br>Blockiert kein statisches Rendering.<br><br> - [Next.js-Integration](https://intlayer.org/doc/environment/nextjs)
|
|
250
|
-
|  | **KI-gestützte Übersetzung**<br><br>Übersetzen Sie Ihre Website mit nur einem Klick in 231 Sprachen mithilfe der fortschrittlichen KI-gestützten Übersetzungstools von Intlayer unter Verwendung Ihres eigenen KI-Anbieters/API-Schlüssels.<br><br> - [CI/CD-Integration](https://intlayer.org/doc/concept/ci-cd) <br> - [Intlayer-CLI](https://intlayer.org/doc/concept/cli) <br> - [Automatisches Ausfüllen](https://intlayer.org/doc/concept/auto-fill)
|
|
251
|
-
|  | **MCP-Server-Integration**<br><br>Bietet einen MCP-Server (Model Context Protocol) für die IDE-Automatisierung, der ein nahtloses Inhaltsmanagement und i18n-Workflows direkt in Ihrer Entwicklungsumgebung ermöglicht.<br><br> - [MCP-Server](https://github.com/aymericzip/intlayer/blob/main/docs/de/mcp_server.md)
|
|
252
|
-
|  | **VSCode-Erweiterung**<br><br>Intlayer bietet eine VSCode-Erweiterung zur Verwaltung Ihrer Inhalte und Übersetzungen, zum Erstellen von Wörterbüchern, zum Übersetzen von Inhalten und mehr.<br><br> - [VSCode-Erweiterung](https://intlayer.org/doc/vs-code-extension)
|
|
253
|
-
|  | **Interoperabilität**<br><br>Ermöglicht die Interoperabilität mit react-i18next, next-i18next, next-intl und react-intl.<br><br> - [Intlayer und react-intl](https://intlayer.org/blog/intlayer-with-react-intl) <br> - [Intlayer und next-intl](https://intlayer.org/blog/intlayer-with-next-intl) <br> - [Intlayer und next-i18next](https://intlayer.org/blog/intlayer-with-next-i18next)
|
|
254
|
-
| Fehlende Übersetzungen testen (CLI/CI) | ✅ CLI: npx intlayer content test (CI-freundlicher Audit)
|
|
234
|
+
| Funktion | Beschreibung |
|
|
235
|
+
| ------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
236
|
+
|  | **Cross-Framework-Unterstützung**<br><br>Intlayer ist kompatibel mit allen gängigen Frameworks und Bibliotheken, einschließlich Next.js, React, Vite, Vue.js, Nuxt, Preact, Express und mehr. |
|
|
237
|
+
|  | **JavaScript-gestütztes Inhaltsmanagement**<br><br>Nutzen Sie die Flexibilität von JavaScript, um Ihre Inhalte effizient zu definieren und zu verwalten.<br><br> - [Inhaltsdeklaration](https://intlayer.org/doc/concept/content) |
|
|
238
|
+
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/compiler.jpg?raw=true" alt="Feature" width="700"> | **Compiler**<br><br>Der Intlayer-Compiler extrahiert automatisch Inhalte aus Ihren Komponenten und generiert die Wörterbuchdateien.<br><br> - [Compiler](https://intlayer.org/doc/compiler) |
|
|
239
|
+
|  | **Inhaltsdeklarationsdatei pro Sprache**<br><br>Beschleunigen Sie Ihre Entwicklung, indem Sie Ihre Inhalte vor der automatischen Generierung einmal deklarieren.<br><br> - [Inhaltsdeklarationsdatei pro Sprache](https://intlayer.org/doc/concept/per-locale-file) |
|
|
240
|
+
|  | **Typsichere Umgebung**<br><br>Nutzen Sie TypeScript, um sicherzustellen, dass Ihre Inhaltsdefinitionen und Ihr Code fehlerfrei sind, während Sie gleichzeitig von der IDE-Autovervollständigung profitieren.<br><br> - [TypeScript-Konfiguration](https://intlayer.org/doc/environment/vite-and-react#configure-typescript) |
|
|
241
|
+
|  | **Vereinfachtes Setup**<br><br>Schnell einsatzbereit mit minimaler Konfiguration. Passen Sie Einstellungen für Internationalisierung, Routing, KI, Build und Inhaltsverarbeitung mit Leichtigkeit an.<br><br> - [Erkunden Sie die Next.js-Integration](https://intlayer.org/doc/environment/nextjs) |
|
|
242
|
+
|  | **Vereinfachtes Abrufen von Inhalten**<br><br>Sie müssen Ihre `t`-Funktion nicht für jedes Inhaltselement einzeln aufrufen. Rufen Sie alle Ihre Inhalte direkt mit einem einzigen Hook ab.<br><br> - [React-Integration](https://intlayer.org/doc/environment/create-react-app) |
|
|
243
|
+
|  | **Konsistente Implementierung für Server-Komponenten**<br><br>Perfekt geeignet für Next.js-Server-Komponenten: Nutzen Sie dieselbe Implementierung sowohl für Client- als auch für Server-Komponenten. Das Weiterreichen Ihrer `t`-Funktion durch die Server-Komponenten entfällt.<br><br> - [Server-Komponenten](https://intlayer.org/doc/environment/nextjs#step-7-utilize-content-in-your-code) |
|
|
244
|
+
|  | **Organisierte Codebasis**<br><br>Halten Sie Ihre Codebasis organisierter: 1 Komponente = 1 Wörterbuch im selben Ordner. Übersetzungen in der Nähe der jeweiligen Komponenten verbessern die Wartbarkeit und Klarheit.<br><br> - [Wie Intlayer funktioniert](https://intlayer.org/doc/concept/how-works-intlayer) |
|
|
245
|
+
|  | **Erweitertes Routing**<br><br>Volle Unterstützung von App-Routing, das sich nahtlos an komplexe Anwendungsstrukturen für Next.js, React, Vite, Vue.js usw. anpasst.<br><br> - [Erkunden Sie die Next.js-Integration](https://intlayer.org/doc/environment/nextjs) |
|
|
246
|
+
|  | **Markdown-Unterstützung**<br><br>Importieren und interpretieren Sie lokale Dateien und Remote-Markdown für mehrsprachige Inhalte wie Datenschutzrichtlinien, Dokumentationen usw. Interpretieren Sie Markdown-Metadaten und machen Sie sie in Ihrem Code zugänglich.<br><br> - [Inhaltsdateien](https://intlayer.org/doc/concept/content/file) |
|
|
247
|
+
|  | **Kostenloser visueller Editor & CMS**<br><br>Ein kostenloser visueller Editor und ein CMS stehen für Texter zur Verfügung, sodass keine externe Lokalisierungsplattform erforderlich ist. Synchronisieren Sie Ihre Inhalte über Git oder lagern Sie sie ganz oder teilweise in das CMS aus.<br><br> - [Intlayer-Editor](https://intlayer.org/doc/concept/editor) <br> - [Intlayer-CMS](https://intlayer.org/doc/concept/cms) |
|
|
248
|
+
|  | **Tree-shakable Inhalte**<br><br>Tree-shakable Inhalte, die die Größe des finalen Bundles reduzieren. Lädt Inhalte pro Komponente und schließt ungenutzte Inhalte aus Ihrem Bundle aus. Unterstützt Lazy Loading zur Steigerung der Ladeeffizienz der App.<br><br> - [Optimierung des App-Builds](https://intlayer.org/doc/concept/how-works-intlayer#app-build-optimization) |
|
|
249
|
+
|  | **Statisches Rendering**<br><br>Blockiert kein statisches Rendering.<br><br> - [Next.js-Integration](https://intlayer.org/doc/environment/nextjs) |
|
|
250
|
+
|  | **KI-gestützte Übersetzung**<br><br>Übersetzen Sie Ihre Website mit nur einem Klick in 231 Sprachen mithilfe der fortschrittlichen KI-gestützten Übersetzungstools von Intlayer unter Verwendung Ihres eigenen KI-Anbieters/API-Schlüssels.<br><br> - [CI/CD-Integration](https://intlayer.org/doc/concept/ci-cd) <br> - [Intlayer-CLI](https://intlayer.org/doc/concept/cli) <br> - [Automatisches Ausfüllen](https://intlayer.org/doc/concept/auto-fill) |
|
|
251
|
+
|  | **MCP-Server-Integration**<br><br>Bietet einen MCP-Server (Model Context Protocol) für die IDE-Automatisierung, der ein nahtloses Inhaltsmanagement und i18n-Workflows direkt in Ihrer Entwicklungsumgebung ermöglicht.<br><br> - [MCP-Server](https://github.com/aymericzip/intlayer/blob/main/docs/de/mcp_server.md) |
|
|
252
|
+
|  | **VSCode-Erweiterung**<br><br>Intlayer bietet eine VSCode-Erweiterung zur Verwaltung Ihrer Inhalte und Übersetzungen, zum Erstellen von Wörterbüchern, zum Übersetzen von Inhalten und mehr.<br><br> - [VSCode-Erweiterung](https://intlayer.org/doc/vs-code-extension) |
|
|
253
|
+
|  | **Interoperabilität**<br><br>Ermöglicht die Interoperabilität mit react-i18next, next-i18next, next-intl und react-intl.<br><br> - [Intlayer und react-intl](https://intlayer.org/blog/intlayer-with-react-intl) <br> - [Intlayer und next-intl](https://intlayer.org/blog/intlayer-with-next-intl) <br> - [Intlayer und next-i18next](https://intlayer.org/blog/intlayer-with-next-i18next) <br> - [Intlayer Compat-Adapter](https://intlayer.org/doc/compatibility) |
|
|
254
|
+
| Fehlende Übersetzungen testen (CLI/CI) | ✅ CLI: npx intlayer content test (CI-freundlicher Audit) |
|
|
255
255
|
|
|
256
256
|
## Vergleich von Intlayer mit anderen Lösungen
|
|
257
257
|
|
|
@@ -290,3 +290,5 @@ GitHub-Sterne sind ein starker Indikator für die Popularität eines Projekts, d
|
|
|
290
290
|
`intlayer` kann Ihnen auch dabei helfen, Ihre Namespaces für `react-intl`, `react-i18next`, `next-intl`, `next-i18next` und `vue-i18n` zu verwalten.
|
|
291
291
|
|
|
292
292
|
Durch die Verwendung von `intlayer` können Sie Ihre Inhalte im Format Ihrer bevorzugten i18n-Bibliothek deklarieren, und Intlayer generiert Ihre Namespaces am Speicherort Ihrer Wahl (Beispiel: `/messages/{{locale}}/{{namespace}}.json`).
|
|
293
|
+
|
|
294
|
+
Wenn Sie die API Ihrer aktuellen i18n-Bibliothek weiterhin verwenden möchten, stellt `intlayer` außerdem **Compat-Adapter** bereit: Pakete, die exakt dieselbe API wie `react-i18next`, `next-intl`, `react-intl`, `vue-i18n` und weitere bereitstellen, jedoch aus Intlayer-Wörterbüchern bedient werden. So können Sie schrittweise migrieren, ohne Ihren Code neu zu schreiben. Siehe die [Dokumentation der Compat-Adapter](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/compat/index.md).
|
|
@@ -404,7 +404,7 @@ export const getLocale = (event: RequestEvent): Locale => {
|
|
|
404
404
|
};
|
|
405
405
|
```
|
|
406
406
|
|
|
407
|
-
> `getLocaleFromStorage` überprüft die Locale aus dem Header oder Cookie, abhängig von Ihrer Konfiguration. Weitere Details finden Sie unter [Configuration](https://intlayer.org/doc/configuration).
|
|
407
|
+
> `getLocaleFromStorage` überprüft die Locale aus dem Header oder Cookie, abhängig von Ihrer Konfiguration. Weitere Details finden Sie unter [Configuration](https://intlayer.org/doc/concept/configuration).
|
|
408
408
|
|
|
409
409
|
> Die Funktion `localeDetector` verarbeitet den `Accept-Language`-Header und gibt die beste Übereinstimmung zurück.
|
|
410
410
|
|
|
@@ -254,19 +254,21 @@ import {
|
|
|
254
254
|
HeadContent,
|
|
255
255
|
Scripts,
|
|
256
256
|
createRootRouteWithContext,
|
|
257
|
+
getRouteApi,
|
|
257
258
|
} from "@tanstack/solid-router";
|
|
258
259
|
import { HydrationScript } from "solid-js/web";
|
|
259
260
|
import { Suspense, type ParentComponent } from "solid-js";
|
|
260
261
|
import { IntlayerProvider } from "solid-intlayer";
|
|
261
262
|
import { defaultLocale, getHTMLTextDir } from "intlayer";
|
|
262
|
-
|
|
263
|
+
|
|
264
|
+
const localeRoute = getRouteApi("/{-$locale}");
|
|
263
265
|
|
|
264
266
|
export const Route = createRootRouteWithContext()({
|
|
265
267
|
shellComponent: RootComponent,
|
|
266
268
|
});
|
|
267
269
|
|
|
268
270
|
const RootComponent: ParentComponent = (props) => {
|
|
269
|
-
const params =
|
|
271
|
+
const params = localeRoute.useParams();
|
|
270
272
|
const locale = params()?.locale ?? defaultLocale;
|
|
271
273
|
|
|
272
274
|
return (
|
|
@@ -551,7 +553,7 @@ Wie in Schritt 5 zu sehen ist, können Sie die Attribute `lang` und `dir` des `h
|
|
|
551
553
|
|
|
552
554
|
```tsx fileName="src/routes/__root.tsx"
|
|
553
555
|
const RootComponent: ParentComponent = (props) => {
|
|
554
|
-
const params =
|
|
556
|
+
const params = localeRoute.useParams();
|
|
555
557
|
const locale = params()?.locale ?? defaultLocale;
|
|
556
558
|
|
|
557
559
|
return (
|