Π‘ΠΏΡΠΎΡΠΈΡΠ΅ ΡΠ²ΠΎΠΉ Π²ΠΎΠΏΡΠΎΡ ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΡΠ²ΠΎΠ΄ΠΊΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΡ ΡΡΡΠ°Π½ΠΈΡΡ ΠΈ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠ³ΠΎ Π²Π°ΠΌΠΈ ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊΠ° AI
ΠΡΡΠΎΡΠΈΡ Π²Π΅ΡΡΠΈΠΉ
- "ΠΠ½Π°Π»ΠΈΡΠΈΠΊΠ° Π²ΠΊΠ»ΡΡΠ΅Π½Π° ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, Π΅ΡΠ»ΠΈ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ `@intlayer/analytics`"v9.3.322.08.2026
- "Π‘Π΄Π΅Π»Π°ΡΡ `routing.enableProxy` ΡΡΡΡ
ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½Π½ΡΠΌ: Π½Π΅ Π·Π°Π΄Π°Π½ΠΎ (auto), `true`, `false`"v9.1.306.08.2026
- "ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ `analytics`"v9.0.011.07.2026
- "Add `enableProxy` option to the routing configuration"v9.0.024.06.2026
- "ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΎΠΏΡΠΈΡ `format` Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΡΠ»ΠΎΠ²Π°ΡΡ"v8.10.017.06.2026
- "ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠ° LM Studio"v8.9.412.05.2026
- "ΠΠΎΠ±Π°Π²Π»Π΅Π½Ρ ΠΎΠΏΡΠΈΠΈ `prune` ΠΈ `minify` Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΡΠ±ΠΎΡΠΊΠΈ"v8.7.008.04.2026
- "ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΎΠΏΡΠΈΡ `currentDomain`"v8.7.003.04.2026
- "ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡΠ½Π°Ρ Π½ΠΎΡΠ°ΡΠΈΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° Π΄Π»Ρ 'compiler.output' ΠΈ 'dictionary.fill'"v8.4.020.03.2026
- "'baseDir' ΠΏΠ΅ΡΠ΅Π½Π΅ΡΠ΅Π½ ΠΈΠ· ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ 'content' Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ 'system'"v8.3.011.03.2026
- "ΠΠ±Π½ΠΎΠ²Π»Π΅Π½Ρ ΠΎΠΏΡΠΈΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° 'output' ΠΈ 'noMetadata'"v8.2.009.03.2026
- "ΠΠ±Π½ΠΎΠ²Π»Π΅Π½Ρ ΠΎΠΏΡΠΈΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°"v8.1.725.02.2026
- "ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΎΠΏΡΠΈΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° 'build-only' ΠΈ ΠΏΡΠ΅ΡΠΈΠΊΡ ΡΠ»ΠΎΠ²Π°ΡΡ"v8.1.523.02.2026
- "ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠΎΠ² Open Router, Alibaba, Amazon, Google Vertex Bedrock, Fireworks, Groq, Hugging Face ΠΈ Together.ai"v8.0.612.02.2026
- "ΠΠΎΠ±Π°Π²Π»Π΅Π½ `dataSerialization` Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΠ"v8.0.506.02.2026
- "Π Π΅ΠΆΠΈΠΌ ΠΈΠΌΠΏΠΎΡΡΠ° `live` ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ Π² `fetch` Π΄Π»Ρ Π»ΡΡΡΠ΅Π³ΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΠ°."v8.0.024.01.2026
- "ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΡΠ±ΠΎΡΠΊΠΈ `importMode` ΠΏΠ΅ΡΠ΅Π½Π΅ΡΠ΅Π½Π° Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ `dictionary`."v8.0.022.01.2026
- "ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΎΠΏΡΠΈΡ `rewrite` Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΈΠΈ"v8.0.022.01.2026
- "ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΡΠΈΡΡΠ΅ΠΌΡ ΠΎΡΠ΄Π΅Π»Π΅Π½Π° ΠΎΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ°. ΠΠ½ΡΡΡΠ΅Π½Π½ΠΈΠ΅ ΠΏΡΡΠΈ ΠΏΠ΅ΡΠ΅Π½Π΅ΡΠ΅Π½Ρ Π² ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ `system`. ΠΠΎΠ±Π°Π²Π»Π΅Π½ `codeDir` Π΄Π»Ρ ΠΎΡΠ΄Π΅Π»Π΅Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ° ΠΎΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠ΄Π°."v8.0.018.01.2026
- "ΠΠΎΠ±Π°Π²Π»Π΅Π½Ρ ΠΎΠΏΡΠΈΠΈ ΡΠ»ΠΎΠ²Π°ΡΡ `location` ΠΈ `schema`"v8.0.018.01.2026
- "ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠΎΡΠΌΠ°ΡΠΎΠ² ΡΠ°ΠΉΠ»ΠΎΠ² JSON5 ΠΈ JSONC"v7.5.110.01.2026
- "ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΎΠΏΡΠΈΡ `buildMode`"v7.5.017.12.2025
- "ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ `dictionary`"v7.0.025.10.2025
- "`middleware` Π·Π°ΠΌΠ΅Π½Π΅Π½ Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ `routing`"v7.0.021.10.2025
- "ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΎΠΏΡΠΈΡ `formatCommand`"v7.0.012.10.2025
- "ΠΠ±Π½ΠΎΠ²Π»Π΅Π½Π° ΠΎΠΏΡΠΈΡ `excludedPath`"v6.2.012.10.2025
- "ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΎΠΏΡΠΈΡ `outputFormat`"v6.0.223.09.2025
- "Π£Π΄Π°Π»Π΅Π½Ρ ΠΏΠΎΠ»Ρ `dictionaryOutput` ΠΈ `i18nextResourcesDir`"v6.0.021.09.2025
- "ΠΠΎΠ±Π°Π²Π»Π΅Π½ ΡΠ΅ΠΆΠΈΠΌ ΠΈΠΌΠΏΠΎΡΡΠ° `live`"v6.0.016.09.2025
- "ΠΠΎΠ»Π΅ `hotReload` Π·Π°ΠΌΠ΅Π½Π΅Π½ΠΎ Π½Π° `liveSync` ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ ΠΏΠΎΠ»Ρ `liveSyncPort`, `liveSyncURL`"v6.0.004.09.2025
- "`activateDynamicImport` Π·Π°ΠΌΠ΅Π½Π΅Π½ Π½Π° ΠΎΠΏΡΠΈΡ `importMode`"v5.6.125.07.2025
- "Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ `contentDir` ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ Ρ `['src']` Π½Π° `['.']`"v5.6.013.07.2025
- "ΠΠΎΠ±Π°Π²Π»Π΅Π½Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ `docs`"v5.5.1129.06.2025
Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΡΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΡ Π±ΡΠ»ΠΎ ΠΏΠ΅ΡΠ΅Π²Π΅Π΄Π΅Π½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΠ.
Π‘ΠΌΠΎΡΡΠ΅ΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ Π²Π΅ΡΡΠΈΡ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ° Π½Π° Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΎΠΌΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ ΠΈΠ΄Π΅Ρ ΠΏΠΎ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ ΡΡΠΎΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ, Π½Π΅ ΡΡΠ΅ΡΠ½ΡΠΉΡΠ΅ΡΡ Π²Π½Π΅ΡΡΠΈ ΡΠ²ΠΎΠΉ Π²ΠΊΠ»Π°Π΄, ΠΏΠΎΠ΄Π°Π² Π·Π°ΠΏΡΠΎΡ Π½Π° Π²ΡΡΡΠ³ΠΈΠ²Π°Π½ΠΈΠ΅ Π½Π° GitHub.
Π‘ΡΡΠ»ΠΊΠ° Π½Π° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ GitHubΠΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ Markdown Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ° Π² Π±ΡΡΠ΅Ρ ΠΎΠ±ΠΌΠ΅Π½Π°
ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΏΠΎ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Intlayer
ΠΠ±Π·ΠΎΡ
Π€Π°ΠΉΠ»Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Intlayer ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ Π°ΡΠΏΠ΅ΠΊΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Π°, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΈΠ½ΡΠ΅ΡΠ½Π°ΡΠΈΠΎΠ½Π°Π»ΠΈΠ·Π°ΡΠΈΡ, middleware ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠΎΠΌ. ΠΡΠΎΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ²ΠΎΠΉΡΡΠ²Π° Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ.
Π‘ΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅
ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠΎΡΠΌΠ°ΡΠΎΠ² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²
Intlayer ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΠΎΡΠΌΠ°ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ JSON, JS, MJS ΠΈ TS:
intlayer.config.tsintlayer.config.jsintlayer.config.jsonintlayer.config.json5intlayer.config.jsoncintlayer.config.cjsintlayer.config.mjs.intlayerrc
ΠΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°
ΠΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄ Π² Π±ΡΡΠ΅Ρ ΠΎΠ±ΠΌΠ΅Π½Π°
Π‘ΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊ ΠΏΠΎ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ
ΠΠΈΠΆΠ΅ ΠΎΠΏΠΈΡΠ°Π½Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ, Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ Π² Intlayer.
ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΈΠ½ΡΠ΅ΡΠ½Π°ΡΠΈΠΎΠ½Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ (Internationalization)
ΠΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΠΈΠ½ΡΠ΅ΡΠ½Π°ΡΠΈΠΎΠ½Π°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ, Π²ΠΊΠ»ΡΡΠ°Ρ Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ ΡΠ·ΡΠΊΠΈ ΠΈ ΡΠ·ΡΠΊ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.
ΠΡΠΊΡΡΡΡ ΡΠ°Π±Π»ΠΈΡΡ Π² ΠΌΠΎΠ΄Π°Π»ΡΠ½ΠΎΠΌ ΠΎΠΊΠ½Π΅ Π΄Π»Ρ ΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° Π²ΡΠ΅Ρ Π΄Π°Π½Π½ΡΡ
| ΠΠΎΠ»Π΅ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | Π’ΠΈΠΏ | ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ | ΠΡΠΈΠΌΠ΅Ρ | ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅ |
|---|---|---|---|---|---|
locales | Π‘ΠΏΠΈΡΠΎΠΊ ΡΠ·ΡΠΊΠΎΠ², ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΡ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ. | string[] | [Locales.ENGLISH] | ['en', 'fr', 'es'] | |
requiredLocales | Π‘ΠΏΠΈΡΠΎΠΊ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΡ ΡΠ·ΡΠΊΠΎΠ² Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ. | string[] | [] | [] | β’ ΠΡΠ»ΠΈ ΠΏΡΡΡΠΎ, Π²ΡΠ΅ ΡΠ·ΡΠΊΠΈ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½Ρ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ strict.β’ Π£Π±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ·ΡΠΊΠΈ ΡΠ°ΠΊΠΆΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ Π² ΠΏΠΎΠ»Π΅ locales. |
strictMode | ΠΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π½Π°Π΄Π΅ΠΆΠ½ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈΠ½ΡΠ΅ΡΠ½Π°ΡΠΈΠΎΠ½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ TypeScript. | string | 'inclusive' | β’ ΠΡΠ»ΠΈ "strict": ΡΡΠ½ΠΊΡΠΈΡ t ΡΡΠ΅Π±ΡΠ΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° - Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΡ, Π΅ΡΠ»ΠΈ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ ΠΈΠ»ΠΈ Π½Π΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½.β’ ΠΡΠ»ΠΈ "inclusive": ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π°Π΅Ρ ΠΎΠ± ΠΎΡΡΡΡΡΡΠ²ΡΡΡΠΈΡ
ΡΠ·ΡΠΊΠ°Ρ
, Π½ΠΎ ΡΠ°Π·ΡΠ΅ΡΠ°Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ
Π½Π΅ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½ΡΡ
.β’ ΠΡΠ»ΠΈ "loose": ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π»ΡΠ±ΠΎΠΉ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΉ ΡΠ·ΡΠΊ. | |
defaultLocale | Π―Π·ΡΠΊ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ ΠΊΠ°ΠΊ Π·Π°ΠΏΠ°ΡΠ½ΠΎΠΉ, Π΅ΡΠ»ΠΈ Π·Π°ΠΏΡΠΎΡΠ΅Π½Π½ΡΠΉ ΡΠ·ΡΠΊ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½. | string | Locales.ENGLISH | 'en' | ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠ·ΡΠΊΠ°, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ Π½Π΅ ΡΠΊΠ°Π·Π°Π½ Π² URL, ΠΊΡΠΊΠΈ ΠΈΠ»ΠΈ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅. |
ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ° (Editor)
ΠΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π΄Π»Ρ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠ³ΠΎ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ°, Π²ΠΊΠ»ΡΡΠ°Ρ ΠΏΠΎΡΡ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΈ ΡΡΠ°ΡΡΡ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ.
ΠΡΠΊΡΡΡΡ ΡΠ°Π±Π»ΠΈΡΡ Π² ΠΌΠΎΠ΄Π°Π»ΡΠ½ΠΎΠΌ ΠΎΠΊΠ½Π΅ Π΄Π»Ρ ΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° Π²ΡΠ΅Ρ Π΄Π°Π½Π½ΡΡ
| ΠΠΎΠ»Π΅ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | Π’ΠΈΠΏ | ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ | ΠΡΠΈΠΌΠ΅Ρ | ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅ |
|---|---|---|---|---|---|
applicationURL | URL ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. | string | undefined | 'http://localhost:3000' 'https://example.com' process.env.INTLAYER_EDITOR_URL | β’ ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ° (origin) ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ° ΠΈΠ· ΡΠΎΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ. β’ ΠΡΠ»ΠΈ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ Π² '*', ΡΠ΅Π΄Π°ΠΊΡΠΎΡ Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΠΈΠ· Π»ΡΠ±ΠΎΠ³ΠΎ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ°. |
port | ΠΠΎΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ°. | number | 8000 | ||
editorURL | URL ΡΠ΅ΡΠ²Π΅ΡΠ° ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ°. | string | 'http://localhost:8000' | 'http://localhost:3000' 'https://example.com' process.env.INTLAYER_EDITOR_URL | β’ ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ. β’ ΠΡΠ»ΠΈ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ Π² '*', Π΄ΠΎΡΡΡΠΏΠ½ΠΎ ΠΈΠ· Π»ΡΠ±ΠΎΠ³ΠΎ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ°.β’ ΠΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ, Π΅ΡΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ ΠΏΠΎΡΡ ΠΈΠ»ΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ Ρ ΠΎΡΡΠΈΡΡΡ Π½Π° Π΄ΡΡΠ³ΠΎΠΌ Π΄ΠΎΠΌΠ΅Π½Π΅. |
cmsURL | URL Intlayer CMS. | string | 'https://app.intlayer.org' | 'https://app.intlayer.org' | |
backendURL | URL Π±ΡΠΊΠ΅Π½Π΄-ΡΠ΅ΡΠ²Π΅ΡΠ°. | string | https://back.intlayer.org | http://localhost:4000 | |
enabled | ΠΠΎΠ»ΠΆΠ½ΠΎ Π»ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ Ρ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΡΠΌ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠΎΠΌ. | boolean | false | process.env.NODE_ENV !== 'production' | β’ ΠΡΠ»ΠΈ false, ΡΠ΅Π΄Π°ΠΊΡΠΎΡ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ.β’ ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΉ ΠΏΠΎΠ²ΡΡΠ°Π΅Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ. |
clientId | ΠΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠ°ΠΊΠ΅ΡΠ°ΠΌ intlayer Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡΡΡ Π½Π° Π±ΡΠΊΠ΅Π½Π΄Π΅ ΡΠ΅ΡΠ΅Π· oAuth2. Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠΎΠΊΠ΅Π½ Π΄ΠΎΡΡΡΠΏΠ°, ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π½Π° intlayer.org/project. | string | undefined | undefined | ΠΠΎΠ»ΠΆΠ½ΠΎ Ρ ΡΠ°Π½ΠΈΡΡΡΡ Π² ΡΠ΅ΠΊΡΠ΅ΡΠ΅; ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ. | |
clientSecret | ΠΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠ°ΠΊΠ΅ΡΠ°ΠΌ intlayer Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡΡΡ Π½Π° Π±ΡΠΊΠ΅Π½Π΄Π΅ ΡΠ΅ΡΠ΅Π· oAuth2. Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠΎΠΊΠ΅Π½ Π΄ΠΎΡΡΡΠΏΠ°, ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π½Π° intlayer.org/project. | string | undefined | undefined | ΠΠΎΠ»ΠΆΠ½ΠΎ Ρ ΡΠ°Π½ΠΈΡΡΡΡ Π² ΡΠ΅ΠΊΡΠ΅ΡΠ΅; ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ. | |
dictionaryPriorityStrategy | Π‘ΡΡΠ°ΡΠ΅Π³ΠΈΡ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ° ΡΠ»ΠΎΠ²Π°ΡΠ΅ΠΉ ΠΏΡΠΈ Π½Π°Π»ΠΈΡΠΈΠΈ ΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ , ΠΈ ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ ΡΠ»ΠΎΠ²Π°ΡΠ΅ΠΉ. | string | 'local_first' | 'distant_first' | β’ 'distant_first': ΠΏΡΠΈΠΎΡΠΈΡΠ΅Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ
ΡΠ»ΠΎΠ²Π°ΡΠ΅ΠΉ Π½Π°Π΄ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΌΠΈ.β’ 'local_first': ΠΏΡΠΈΠΎΡΠΈΡΠ΅Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ
ΡΠ»ΠΎΠ²Π°ΡΠ΅ΠΉ Π½Π°Π΄ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΌΠΈ. |
liveSync | ΠΠΎΠ»ΠΆΠ΅Π½ Π»ΠΈ ΡΠ΅ΡΠ²Π΅Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠΆΠ°ΡΡ ΠΊΠΎΠ½ΡΠ΅Π½Ρ ΠΏΡΠΈ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² CMS ΠΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎΠΌ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅ ΠΡΠΊΠ΅Π½Π΄Π΅. | boolean | true | true | β’ ΠΡΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ/ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ ΡΠ»ΠΎΠ²Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ ΠΊΠΎΠ½ΡΠ΅Π½Ρ ΡΡΡΠ°Π½ΠΈΡΡ. β’ Live Sync Π²ΡΠ½ΠΎΡΠΈΡ ΠΊΠΎΠ½ΡΠ΅Π½Ρ Π½Π° Π΄ΡΡΠ³ΠΎΠΉ ΡΠ΅ΡΠ²Π΅Ρ, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π²Π»ΠΈΡΡΡ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ. β’ Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ Ρ ΠΎΡΡΠΈΡΡ ΠΎΠ±Π° Π½Π° ΠΎΠ΄Π½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Π΅. |
liveSyncPort | ΠΠΎΡΡ ΡΠ΅ΡΠ²Π΅ΡΠ° live sync. | number | 4000 | 4000 | |
liveSyncURL | URL ΡΠ΅ΡΠ²Π΅ΡΠ° live sync. | string | 'http://localhost:{liveSyncPort}' | 'https://example.com' | ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° localhost; ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ Π½Π° ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΡΠ²Π΅Ρ live sync. |
ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π°Π½Π°Π»ΠΈΡΠΈΠΊΠΈ (Analytics)
ΠΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ Π°Π½Π°Π»ΠΈΡΠΈΠΊΠΎΠΉ Intlayer: ΡΠ±ΠΎΡ Π΄Π°Π½Π½ΡΡ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ½ΡΠ΅Π½Ρ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ (ΠΏΡΠΎΡΠΌΠΎΡΡΡ ΡΡΡΠ°Π½ΠΈΡ, ΠΏΠΎΠΊΠ°Π·Ρ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ°), ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ A/B-ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ°.
ΠΠ½Π°Π»ΠΈΡΠΈΠΊΠ° ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΠΎ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ opt-out: ΠΎΠ½Π° Π²ΠΊΠ»ΡΡΠ΅Π½Π° ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΈ Π½Π°ΡΠΈΠ½Π°Π΅Ρ ΡΠΎΠ±ΠΈΡΠ°ΡΡ Π΄Π°Π½Π½ΡΠ΅, ΠΊΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ ΠΏΠ°ΠΊΠ΅Ρ @intlayer/analytics ΠΈ Π½Π°ΡΡΡΠΎΠ΅Π½ ΠΊΠ»ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° (editor.clientId) Π΄Π»Ρ Π°ΡΡΠΈΠ±ΡΡΠΈΠΈ. Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ analytics.enabled Π² false β ΠΈΠ»ΠΈ Π½Π΅ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΠΉΡΠ΅ ΠΏΠ°ΠΊΠ΅Ρ β ΠΈ Π²ΡΡ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Π°Π½Π°Π»ΠΈΡΠΈΠΊΠΈ Π±ΡΠ΄Π΅Ρ ΡΠ΄Π°Π»Π΅Π½Π° ΠΈΠ· ΡΠ±ΠΎΡΠΊΠΈ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ (dead-code elimination).
ΠΡΠΊΡΡΡΡ ΡΠ°Π±Π»ΠΈΡΡ Π² ΠΌΠΎΠ΄Π°Π»ΡΠ½ΠΎΠΌ ΠΎΠΊΠ½Π΅ Π΄Π»Ρ ΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° Π²ΡΠ΅Ρ Π΄Π°Π½Π½ΡΡ
| ΠΠΎΠ»Π΅ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | Π’ΠΈΠΏ | ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ | ΠΡΠΈΠΌΠ΅Ρ | ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅ |
|---|---|---|---|---|---|
enabled | ΠΠΊΠ»ΡΡΠ°Π΅Ρ ΡΠ±ΠΎΡ Π°Π½Π°Π»ΠΈΡΠΈΠΊΠΈ (ΠΏΡΠΎΡΠΌΠΎΡΡΡ ΡΡΡΠ°Π½ΠΈΡ, ΠΏΠΎΠΊΠ°Π·Ρ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ°, ΡΠΎΠ±ΡΡΠΈΡ A/B). | boolean | true | false | Π’ΡΠ΅Π±ΡΠ΅Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ° @intlayer/analytics ΠΈ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ editor.clientId Π΄Π»Ρ Π°ΡΡΠΈΠ±ΡΡΠΈΠΈ; ΠΈΠ½Π°ΡΠ΅ Π°Π½Π°Π»ΠΈΡΠΈΠΊΠ° ΠΎΡΡΠ°ΡΡΡΡ ΠΎΡΠΊΠ»ΡΡΡΠ½Π½ΠΎΠΉ, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ enabled ΡΠ°Π²Π½ΠΎ true. |
flushInterval | ΠΠΈΠ»Π»ΠΈΡΠ΅ΠΊΡΠ½Π΄Ρ ΠΌΠ΅ΠΆΠ΄Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ½ΡΠΌΠΈ ΠΎΡΠΏΡΠ°Π²ΠΊΠ°ΠΌΠΈ Π½Π° Π±ΡΠΊΠ΅Π½Π΄. | number | 20000 | 10000 | |
sampleRate | ΠΠΎΠ»Ρ ΡΠ΅ΡΡΠΈΠΉ Π΄Π»Ρ Π·Π°ΠΏΠΈΡΠΈ, ΠΎΡ 0 (Π½ΠΈ ΠΎΠ΄Π½ΠΎΠΉ) Π΄ΠΎ 1 (Π²ΡΠ΅). | number | 1 | 0.5 | ΠΡΠ±ΠΎΡΠΊΠ° Π΄Π΅ΡΠ΅ΡΠΌΠΈΠ½ΠΈΡΠΎΠ²Π°Π½Π° Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΠ΅ΡΡΠΈΠΈ, ΠΏΠΎΡΡΠΎΠΌΡ Π·Π°ΠΏΠΈΡΠ°Π½Π½Π°Ρ ΡΠ΅ΡΡΠΈΡ ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ ΠΎΠ±ΠΎ Π²ΡΠ΅Ρ ΡΠ²ΠΎΠΈΡ ΡΠΎΠ±ΡΡΠΈΡΡ (Π±Π΅Π· ΡΠ°ΡΡΠΈΡΠ½ΡΡ Π²ΠΎΡΠΎΠ½ΠΎΠΊ). |
ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΈΠΈ (Routing)
ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ, ΡΠΏΡΠ°Π²Π»ΡΡΡΠΈΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΈΠΈ, Π²ΠΊΠ»ΡΡΠ°Ρ ΡΡΡΡΠΊΡΡΡΡ URL, Ρ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΡΠ·ΡΠΊΠΎΠ² ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ middleware.
ΠΡΠΊΡΡΡΡ ΡΠ°Π±Π»ΠΈΡΡ Π² ΠΌΠΎΠ΄Π°Π»ΡΠ½ΠΎΠΌ ΠΎΠΊΠ½Π΅ Π΄Π»Ρ ΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° Π²ΡΠ΅Ρ Π΄Π°Π½Π½ΡΡ
| ΠΠΎΠ»Π΅ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | Π’ΠΈΠΏ | ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ | ΠΡΠΈΠΌΠ΅Ρ | ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅ |
|---|---|---|---|---|---|
mode | Π Π΅ΠΆΠΈΠΌ ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΈΠΈ URL Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ·ΡΠΊΠ°ΠΌΠΈ. | 'prefix-no-default' | 'prefix-all' | 'no-prefix' | 'search-params' | 'prefix-no-default' | 'prefix-no-default': /dashboard (en) ΠΈΠ»ΠΈ /fr/dashboard (fr). 'prefix-all': /en/dashboard. 'no-prefix': ΡΠ·ΡΠΊ ΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ. 'search-params': /dashboard?locale=fr | ΠΠ΅ Π²Π»ΠΈΡΠ΅Ρ Π½Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΡΠΊΠ°ΠΌΠΈ ΠΈΠ»ΠΈ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΠΌ ΡΠ·ΡΠΊΠΎΠ². |
enableProxy | ΠΠΊΠ»ΡΡΠ°Π΅Ρ ΠΏΡΠΎΠΊΡΠΈ ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΈΠΈ Π»ΠΎΠΊΠ°Π»Π΅ΠΉ Intlayer (middleware). | boolean | undefined | undefined (auto) | true | β’ ΠΠ΅ Π·Π°Π΄Π°Π½ΠΎ (auto): ΡΠ΅ΡΠ²Π΅ΡΡ dev ΠΈ preview ΠΈΠ³Π½ΠΎΡΠΈΡΡΡΡ Π»ΠΎΠΊΠ°Π»Ρ ΠΈΠ· cookie/Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ² ΠΊΠ°ΠΊ ΠΈΡΡΠΎΡΠ½ΠΈΠΊ ΡΠ΅Π΄ΠΈΡΠ΅ΠΊΡΠ°; ΠΏΡΠ΅ΡΠΈΠΊΡΡ, ΡΠΎΡ
ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π»ΠΎΠΊΠ°Π»ΠΈ ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Accept-Language ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ. Π ΠΏΡΠΎΠ΄Π°ΠΊΡΠ΅Π½Π΅ Π²Π΅Π΄ΡΡ ΡΠ΅Π±Ρ ΠΊΠ°ΠΊ true.β’ true: ΠΏΠΎΠ»Π½ΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π²Π΅Π·Π΄Π΅.β’ false: ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΈΡ Π»ΠΎΠΊΠ°Π»Π΅ΠΉ ΠΎΡΠΊΠ»ΡΡΠ΅Π½Π°. Π Next.js middleware intlayerProxy ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΡΠΊΠ²ΠΎΠ·Π½ΡΠΌ. |
storage | ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΡΠ·ΡΠΊΠ° Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠ΅. | false | 'cookie' | 'localStorage' | 'sessionStorage' | 'header' | CookiesAttributes | StorageAttributes | Array | ['cookie', 'header'] | 'localStorage' [{ type: 'cookie', name: 'custom-locale', secure: true }] | Π‘ΠΌ. ΡΠ°Π±Π»ΠΈΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π½ΠΈΠΆΠ΅. |
basePath | ΠΠ°Π·ΠΎΠ²ΡΠΉ ΠΏΡΡΡ Π΄Π»Ρ URL-Π°Π΄ΡΠ΅ΡΠΎΠ² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. | string | '' | '/my-app' | ΠΡΠ»ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ https://example.com/my-app, basePath - '/my-app', Π° URL ΡΡΠ°Π½ΠΎΠ²ΡΡΡΡ https://example.com/my-app/en. |
rewrite | ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π° ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΠΈ URL, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΡΠ΅ΠΆΠΈΠΌ ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ
ΠΏΡΡΠ΅ΠΉ. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ [param]. | Record<string, StrictModeLocaleMap<string>> | undefined | Π‘ΠΌ. ΠΏΡΠΈΠΌΠ΅Ρ Π½ΠΈΠΆΠ΅ | β’ ΠΡΠ°Π²ΠΈΠ»Π° ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΠΈ ΠΈΠΌΠ΅ΡΡ ΠΏΡΠΈΠΎΡΠΈΡΠ΅Ρ Π½Π°Π΄ mode.β’ Π Π°Π±ΠΎΡΠ°Π΅Ρ Ρ Next.js ΠΈ Vite. β’ getLocalizedUrl() Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π°.β’ Π‘ΠΌ. ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΠΈ URL. |
domains | Π‘ΠΎΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π»ΠΎΠΊΠ°Π»ΠΈ Ρ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ Ρ ΠΎΡΡΠΎΠ² Π΄ΠΎΠΌΠ΅Π½ΠΎΠ² Π΄Π»Ρ ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΈΠΈ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π΄ΠΎΠΌΠ΅Π½ΠΎΠ². ΠΠΎΠ³Π΄Π° ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ, URL-Π°Π΄ΡΠ΅ΡΠ° Π΄Π»Ρ Π»ΠΎΠΊΠ°Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΡΠΎΡ Π΄ΠΎΠΌΠ΅Π½ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π±Π°Π·Ρ (Π°Π±ΡΠΎΠ»ΡΡΠ½ΡΠΉ URL), ΠΈ ΠΊ ΠΏΡΡΠΈ Π½Π΅ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ ΠΏΡΠ΅ΡΠΈΠΊΡ Π»ΠΎΠΊΠ°Π»ΠΈ. | Partial<Record<Locale, string>> | undefined | { zh: 'intlayer.zh', fr: 'intlayer.org' } | β’ ΠΡΠΎΡΠΎΠΊΠΎΠ» ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ - https://, Π΅ΡΠ»ΠΈ ΠΎΠ½ Π½Π΅ ΡΠΊΠ°Π·Π°Π½ Π² ΠΈΠΌΠ΅Π½ΠΈ Ρ
ΠΎΡΡΠ°.β’ Π‘Π°ΠΌ Π΄ΠΎΠΌΠ΅Π½ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΡΠ΅Ρ Π»ΠΎΠΊΠ°Π»Ρ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΡΠ΅ΡΠΈΠΊΡ /zh/ Π½Π΅ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ.β’ getLocalizedUrl('/', 'zh') Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ https://intlayer.zh/. |
ΠΡΠΈΠΌΠ΅Ρ rewrite:
ΠΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄ Π² Π±ΡΡΠ΅Ρ ΠΎΠ±ΠΌΠ΅Π½Π°
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ (Storage)
ΠΡΠΊΡΡΡΡ ΡΠ°Π±Π»ΠΈΡΡ Π² ΠΌΠΎΠ΄Π°Π»ΡΠ½ΠΎΠΌ ΠΎΠΊΠ½Π΅ Π΄Π»Ρ ΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° Π²ΡΠ΅Ρ Π΄Π°Π½Π½ΡΡ
| ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ | ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
|---|---|---|
'cookie' | β’ ΠΠ»Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΡ GDPR ΠΎΠ±Π΅ΡΠΏΠ΅ΡΡΡΠ΅ Π½Π°Π΄Π»Π΅ΠΆΠ°ΡΠ΅Π΅ ΡΠΎΠ³Π»Π°ΡΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. β’ ΠΠ°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΡΡΡ ΡΠ΅ΡΠ΅Π· CookiesAttributes ({ type: 'cookie', name: 'custom-locale', secure: true, httpOnly: false }). | Π₯ΡΠ°Π½ΠΈΡ ΡΠ·ΡΠΊ Π² ΠΊΡΠΊΠ°Ρ - Π΄ΠΎΡΡΡΠΏΠ½ΠΎ ΠΊΠ°ΠΊ Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠ΅, ΡΠ°ΠΊ ΠΈ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅. |
'localStorage' | β’ ΠΠ΅ ΠΈΡΡΠ΅ΠΊΠ°Π΅Ρ, Π΅ΡΠ»ΠΈ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΡΠ²Π½ΠΎ ΠΎΡΠΈΡΠ΅Π½ΠΎ. β’ ΠΡΠΎΠΊΡΠΈ Intlayer Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΊ ΡΡΠΎΠΌΡ Π΄ΠΎΡΡΡΠΏ. β’ ΠΠ°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΡΡΡ ΡΠ΅ΡΠ΅Π· StorageAttributes ({ type: 'localStorage', name: 'custom-locale' }). | Π₯ΡΠ°Π½ΠΈΡ ΡΠ·ΡΠΊ Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅ Π±Π΅Π· ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΡΡΠΎΠΊΠ° - ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°. |
'sessionStorage' | β’ ΠΡΠΈΡΠ°Π΅ΡΡΡ ΠΏΡΠΈ Π·Π°ΠΊΡΡΡΠΈΠΈ Π²ΠΊΠ»Π°Π΄ΠΊΠΈ/ΠΎΠΊΠ½Π°. β’ ΠΡΠΎΠΊΡΠΈ Intlayer Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΊ ΡΡΠΎΠΌΡ Π΄ΠΎΡΡΡΠΏ. β’ ΠΠ°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΡΡΡ ΡΠ΅ΡΠ΅Π· StorageAttributes ({ type: 'sessionStorage', name: 'custom-locale' }). | Π₯ΡΠ°Π½ΠΈΡ ΡΠ·ΡΠΊ Π½Π° Π²ΡΠ΅ΠΌΡ ΡΠ΅ΡΡΠΈΠΈ ΡΡΡΠ°Π½ΠΈΡΡ - ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°. |
'header' | β’ ΠΠΎΠ»Π΅Π·Π½ΠΎ Π΄Π»Ρ Π²ΡΠ·ΠΎΠ²ΠΎΠ² API. β’ Π‘ΡΠΎΡΠΎΠ½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠ° Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ. β’ ΠΠ°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΡΡΡ ΡΠ΅ΡΠ΅Π· StorageAttributes ({ type: 'header', name: 'custom-locale' }). | Π₯ΡΠ°Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅Ρ ΡΠ·ΡΠΊ ΡΠ΅ΡΠ΅Π· HTTP-Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ - ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ ΡΠ΅ΡΠ²Π΅ΡΠ°. |
ΠΡΡΠΈΠ±ΡΡΡ ΠΊΡΠΊΠΈ (Cookies Attributes)
ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π² ΠΊΡΠΊΠ°Ρ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π°ΡΡΠΈΠ±ΡΡΡ:
ΠΡΠΊΡΡΡΡ ΡΠ°Π±Π»ΠΈΡΡ Π² ΠΌΠΎΠ΄Π°Π»ΡΠ½ΠΎΠΌ ΠΎΠΊΠ½Π΅ Π΄Π»Ρ ΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° Π²ΡΠ΅Ρ Π΄Π°Π½Π½ΡΡ
| ΠΠΎΠ»Π΅ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | Π’ΠΈΠΏ |
|---|---|---|
name | ΠΠΌΡ ΠΊΡΠΊΠΈ. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ: 'INTLAYER_LOCALE' | string |
domain | ΠΠΎΠΌΠ΅Π½ ΠΊΡΠΊΠΈ. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ: undefined | string |
path | ΠΡΡΡ ΠΊΡΠΊΠΈ. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ: undefined | string |
secure | Π’ΡΠ΅Π±ΠΎΠ²Π°ΡΡ HTTPS. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ: undefined | boolean |
httpOnly | Π€Π»Π°Π³ HTTP-only. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ: undefined | boolean |
sameSite | ΠΠΎΠ»ΠΈΡΠΈΠΊΠ° SameSite. | 'strict' | 'lax' | 'none' |
expires | Π§ΠΈΡΠ»ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ Π΄Π½ΠΈ Ρ ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΡΠΎΠ·Π΄Π°Π½ΠΈΡ; Π΄Π°ΡΠ° (ΠΈΠ»ΠΈ ΡΡΡΠΎΠΊΠ° Π² ΡΠΎΡΠΌΠ°ΡΠ΅ ISO) ΡΠ²Π»ΡΠ΅ΡΡΡ Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎΠΉ Π΄Π°ΡΠΎΠΉ ΠΈΡΡΠ΅ΡΠ΅Π½ΠΈΡ. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ: undefined | Date | number | string |
maxAge | ΠΡΠ΅ΠΌΡ ΠΆΠΈΠ·Π½ΠΈ Π² ΡΠ΅ΠΊΡΠ½Π΄Π°Ρ
Ρ ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΡΠΎΠ·Π΄Π°Π½ΠΈΡ. ΠΠΌΠ΅Π΅Ρ ΠΏΡΠΈΠΎΡΠΈΡΠ΅Ρ Π½Π°Π΄ expires. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ: undefined | number |
ΠΡΡΠΈΠ±ΡΡΡ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° (Storage Attributes)
ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ localStorage ΠΈΠ»ΠΈ sessionStorage:
ΠΡΠΊΡΡΡΡ ΡΠ°Π±Π»ΠΈΡΡ Π² ΠΌΠΎΠ΄Π°Π»ΡΠ½ΠΎΠΌ ΠΎΠΊΠ½Π΅ Π΄Π»Ρ ΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° Π²ΡΠ΅Ρ Π΄Π°Π½Π½ΡΡ
| ΠΠΎΠ»Π΅ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | Π’ΠΈΠΏ |
|---|---|---|
type | Π’ΠΈΠΏ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°. | 'localStorage' | 'sessionStorage' |
name | ΠΠΌΡ ΠΊΠ»ΡΡΠ° Π² Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ: 'INTLAYER_LOCALE' | string |
ΠΡΠΈΠΌΠ΅ΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ
ΠΠΎΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π΄Π»Ρ Π½ΠΎΠ²ΠΎΠΉ ΡΡΡΡΠΊΡΡΡΡ ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΈΠΈ v7:
ΠΠ°Π·ΠΎΠ²Π°Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ (ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ):
ΠΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄ Π² Π±ΡΡΠ΅Ρ ΠΎΠ±ΠΌΠ΅Π½Π°
ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Ρ ΡΠΎΠ±Π»ΡΠ΄Π΅Π½ΠΈΠ΅ΠΌ GDPR:
ΠΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄ Π² Π±ΡΡΠ΅Ρ ΠΎΠ±ΠΌΠ΅Π½Π°
Π Π΅ΠΆΠΈΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΏΠΎΠΈΡΠΊΠ° (Search Params):
ΠΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄ Π² Π±ΡΡΠ΅Ρ ΠΎΠ±ΠΌΠ΅Π½Π°
Π Π΅ΠΆΠΈΠΌ Π±Π΅Π· ΠΏΡΠ΅ΡΠΈΠΊΡΠ° Ρ ΠΊΠ°ΡΡΠΎΠΌΠ½ΡΠΌ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΠΌ:
ΠΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄ Π² Π±ΡΡΠ΅Ρ ΠΎΠ±ΠΌΠ΅Π½Π°
ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠ°Ρ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΡ URL Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΠΏΡΡΡΠΌΠΈ:
ΠΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄ Π² Π±ΡΡΠ΅Ρ ΠΎΠ±ΠΌΠ΅Π½Π°
ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ° (Content)
ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΡΠ΅ΠΌ, ΠΊΠ°ΠΊ ΠΊΠΎΠ½ΡΠ΅Π½Ρ ΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, Π²ΠΊΠ»ΡΡΠ°Ρ ΠΈΠΌΠ΅Π½Π° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΉ, ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ.
ΠΡΠΊΡΡΡΡ ΡΠ°Π±Π»ΠΈΡΡ Π² ΠΌΠΎΠ΄Π°Π»ΡΠ½ΠΎΠΌ ΠΎΠΊΠ½Π΅ Π΄Π»Ρ ΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° Π²ΡΠ΅Ρ Π΄Π°Π½Π½ΡΡ
| ΠΠΎΠ»Π΅ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | Π’ΠΈΠΏ | ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ | ΠΡΠΈΠΌΠ΅Ρ | ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅ |
|---|---|---|---|---|---|
watch | Π£ΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π»ΠΈ Intlayer ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠ°ΠΉΠ»Π°Ρ Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΈΠΈ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ° Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΡΠ±ΠΎΡΠΊΠΈ ΡΠ»ΠΎΠ²Π°ΡΠ΅ΠΉ. | boolean | true | ||
fileExtensions | Π Π°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² Π΄Π»Ρ ΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΡΠ»ΠΎΠ²Π°ΡΠ΅ΠΉ. | string[] | ['.content.ts', '.content.js', '.content.cjs', '.content.mjs', '.content.json', '.content.json5', '.content.jsonc', '.content.tsx', '.content.jsx'] | ['.data.ts', '.data.js', '.data.json'] | ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ². |
contentDir | ΠΡΡΡ ΠΊ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ, Π³Π΄Π΅ Ρ
ΡΠ°Π½ΡΡΡΡ ΡΠ°ΠΉΠ»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ° (.content.*). | string[] | ['.'] | ['src', '../../ui-library', require.resolve("@my-package/content"), '@my-package/content'] | ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ° ΠΈ ΠΏΠ΅ΡΠ΅ΡΠ±ΠΎΡΠΊΠΈ ΡΠ»ΠΎΠ²Π°ΡΠ΅ΠΉ. |
codeDir | ΠΡΡΡ ΠΊ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ, Π³Π΄Π΅ Ρ ΡΠ°Π½ΠΈΡΡΡ ΠΊΠΎΠ΄, ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π±Π°Π·ΠΎΠ²ΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ. | string[] | ['.'] | ['src', '../../ui-library'] | β’ ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΊΠΎΠ΄Π° Π΄Π»Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ (ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Π»ΠΈΡΠ½Π΅Π³ΠΎ, ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ). β’ ΠΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΎΡ contentDir ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ²ΡΡΠΈΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ. |
excludedPath | ΠΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ, ΠΈΡΠΊΠ»ΡΡΠ΅Π½Π½ΡΠ΅ ΠΈΠ· ΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ°. | string[] | ['**/node_modules/**', '**/dist/**', '**/build/**', '**/.intlayer/**', '**/.next/**', '**/.nuxt/**', '**/.expo/**', '**/.vercel/**', '**/.turbo/**', '**/.tanstack/**'] | ΠΠΎΠΊΠ° Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ; ΠΏΠ»Π°Π½ΠΈΡΡΠ΅ΡΡΡ Π² Π±ΡΠ΄ΡΡΠ΅ΠΌ. | |
formatCommand | ΠΠΎΠΌΠ°Π½Π΄Π° Π΄Π»Ρ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ° ΠΏΡΠΈ ΠΈΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ Intlayer. | string | undefined | 'npx prettier --write "{{file}}" --log-level silent' (Prettier), 'npx biome format "{{file}}" --write --log-level none' (Biome), 'npx eslint --fix "{{file}}" --quiet' (ESLint) | β’ {{file}} Π±ΡΠ΄Π΅Ρ Π·Π°ΠΌΠ΅Π½Π΅Π½ΠΎ Π½Π° ΠΏΡΡΡ ΠΊ ΡΠ°ΠΉΠ»Ρ.β’ ΠΡΠ»ΠΈ Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ, Intlayer ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ (ΡΠ΅ΡΡΠΈΡΡΠ΅Ρ prettier, biome, eslint). |
ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΡΠΈΡΡΠ΅ΠΌΡ
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΌΠΈ ΠΏΡΡΡΠΌΠΈ ΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°ΠΌΠΈ Π²ΡΠ²ΠΎΠ΄Π° Intlayer. ΠΡΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΎΠ±ΡΡΠ½ΠΎ ΡΠ²Π»ΡΡΡΡΡ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΌΠΈ ΠΈ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΡΠ΅Π±ΠΎΠ²Π°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ.
ΠΡΠΊΡΡΡΡ ΡΠ°Π±Π»ΠΈΡΡ Π² ΠΌΠΎΠ΄Π°Π»ΡΠ½ΠΎΠΌ ΠΎΠΊΠ½Π΅ Π΄Π»Ρ ΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° Π²ΡΠ΅Ρ Π΄Π°Π½Π½ΡΡ
| Field | Description | Type | Default | Example | Note |
|---|---|---|---|---|---|
baseDir | ΠΠ°Π·ΠΎΠ²Π°Ρ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ Π΄Π»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ°. | string | process.cwd() | '/path/to/project' | ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ Π²ΡΠ΅Ρ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΉ, ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ Intlayer. |
dictionariesDir | ΠΡΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΡΠ»ΠΎΠ²Π°ΡΠ΅ΠΉ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ. | string | '.intlayer/dictionary' | ||
moduleAugmentationDir | ΠΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ Π΄Π»Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡΠ°Ρ Π»ΡΡΡΠΈΠ΅ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ IDE ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ ΡΠΈΠΏΠΎΠ². | string | '.intlayer/types' | 'intlayer-types' | Π£Π±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ ΡΡΠΎ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΎ Π² tsconfig.json. |
unmergedDictionariesDir | ΠΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π½Π΅ΡΠ»ΠΈΡΡΡ ΡΠ»ΠΎΠ²Π°ΡΠ΅ΠΉ. | string | '.intlayer/unmerged_dictionary' | ||
typesDir | ΠΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΡΠΈΠΏΠΎΠ² ΡΠ»ΠΎΠ²Π°ΡΠ΅ΠΉ. | string | '.intlayer/types' | ||
mainDir | ΠΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ, Π³Π΄Π΅ Ρ ΡΠ°Π½ΡΡΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. | string | '.intlayer/main' | ||
configDir | ΠΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ, Π³Π΄Π΅ Ρ ΡΠ°Π½ΡΡΡΡ ΡΠ°ΠΉΠ»Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ. | string | '.intlayer/config' | ||
cacheDir | ΠΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ, Π³Π΄Π΅ Ρ ΡΠ°Π½ΡΡΡΡ ΡΠ°ΠΉΠ»Ρ ΠΊΠ΅ΡΠ°. | string | '.intlayer/cache' |
ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΡΠ»ΠΎΠ²Π°ΡΠ΅ΠΉ (Dictionary)
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ, ΡΠΏΡΠ°Π²Π»ΡΡΡΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠΌΠΈ ΡΠΎ ΡΠ»ΠΎΠ²Π°ΡΡΠΌΠΈ, Π²ΠΊΠ»ΡΡΠ°Ρ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΈ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ°.
ΠΡΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΡΠ»ΠΎΠ²Π°ΡΡ ΡΠ»ΡΠΆΠΈΡ Π΄Π²ΡΠΌ ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌ ΡΠ΅Π»ΡΠΌ:
- Default Values: ΠΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ°
- Fallback Behavior: ΠΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΡΠ΅ ΡΠ΅Π·Π΅ΡΠ²Π½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΊΠΎΠ³Π΄Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΠΏΠΎΠ»Ρ Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡ Π²Π°ΠΌ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΡΠ»ΠΎΠ²Π°ΡΡ
ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΡΠ°ΠΉΠ»Π°Ρ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ° ΠΈ ΡΠΏΠΎΡΠΎΠ±Π΅ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΡΠΌ. ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΏΠΎ ΡΠ°ΠΉΠ»Π°ΠΌ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ°.
ΠΡΠΊΡΡΡΡ ΡΠ°Π±Π»ΠΈΡΡ Π² ΠΌΠΎΠ΄Π°Π»ΡΠ½ΠΎΠΌ ΠΎΠΊΠ½Π΅ Π΄Π»Ρ ΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° Π²ΡΠ΅Ρ Π΄Π°Π½Π½ΡΡ
| ΠΠΎΠ»Π΅ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | Π’ΠΈΠΏ | ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ | ΠΡΠΈΠΌΠ΅Ρ | ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅ |
|---|---|---|---|---|---|
fill | Π£ΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ΅ΠΌ, ΠΊΠ°ΠΊ Π³Π΅Π½Π΅ΡΠΈΡΡΡΡΡΡ Π²ΡΡ ΠΎΠ΄Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π°Π²ΡΠΎΠ·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ (ΠΠ-ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄). | boolean | FilePathPattern | Partial<Record<Locale, boolean | FilePathPattern>> | true | { en: '/locales/en/{{key}}.json', fr: ({ key }) => '/locales/fr/${key}.json', es: false } | β’ true: ΠΏΡΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ (ΡΠΎΡ ΠΆΠ΅ ΡΠ°ΠΉΠ», ΡΡΠΎ ΠΈ ΠΈΡΡΠΎΡΠ½ΠΈΠΊ).β’ false: ΠΎΡΠΊΠ»ΡΡΠΈΡΡ.β’ Π¨Π°Π±Π»ΠΎΠ½ ΡΡΡΠΎΠΊΠ°/ΡΡΠ½ΠΊΡΠΈΡ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ ΡΠ°ΠΉΠ»Ρ ΠΏΠΎ ΡΠ·ΡΠΊΠ°ΠΌ. β’ ΠΠ±ΡΠ΅ΠΊΡ ΠΏΠΎ ΡΠ·ΡΠΊΠ°ΠΌ: ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ·ΡΠΊ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΡΠ²ΠΎΠ΅ΠΌΡ ΡΠ°Π±Π»ΠΎΠ½Ρ; false ΠΈΠ³Π½ΠΎΡΠΈΡΡΠ΅Ρ ΡΡΠΎΡ ΡΠ·ΡΠΊ.β’ ΠΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ {{locale}} Π°ΠΊΡΠΈΠ²ΠΈΡΡΠ΅Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ ΠΏΠΎ ΡΠ·ΡΠΊΠ°ΠΌ.β’ fill Π½Π° ΡΡΠΎΠ²Π½Π΅ ΡΠ»ΠΎΠ²Π°ΡΡ Π²ΡΠ΅Π³Π΄Π° ΠΈΠΌΠ΅Π΅Ρ ΠΏΡΠΈΠΎΡΠΈΡΠ΅Ρ Π½Π°Π΄ ΡΡΠΎΠΉ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΉ Π½Π°ΡΡΡΠΎΠΉΠΊΠΎΠΉ. |
description | ΠΠΎΠΌΠΎΠ³Π°Π΅Ρ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΡ ΠΈ CMS ΠΏΠΎΠ½ΡΡΡ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ»ΠΎΠ²Π°ΡΡ. Π’Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ Π΄Π»Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΎΠ² Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΠ. | string | undefined | 'User profile section' | |
locale | ΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅Ρ ΡΠ»ΠΎΠ²Π°ΡΡ Π² ΡΠΎΡΠΌΠ°Ρ Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ°. ΠΠ°ΠΆΠ΄ΠΎΠ΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½ΠΎΠ΅ ΠΏΠΎΠ»Π΅ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΡΠ·Π»ΠΎΠΌ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π°. ΠΡΠ»ΠΈ ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ, ΡΠ»ΠΎΠ²Π°ΡΡ ΡΡΠΈΡΠ°Π΅ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎΡΠ·ΡΡΠ½ΡΠΌ. | LocalesValues | undefined | 'en' | ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΡΠΎ, Π΅ΡΠ»ΠΈ ΡΠ»ΠΎΠ²Π°ΡΡ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ°, Π° Π½Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Ρ Π΄Π»Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ . |
contentAutoTransformation | ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅Ρ ΡΡΡΠΎΠΊΠΈ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ° Π² ΡΠΈΠΏΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΠ·Π»Ρ (markdown, HTML ΠΈΠ»ΠΈ Π²ΡΡΠ°Π²ΠΊΠ°). | boolean | { markdown?: boolean; html?: boolean; insertion?: boolean } | false | true | β’ Markdown : ### Title β md('### Title').β’ HTML : <div>Title</div> β html('<div>Title</div>').β’ ΠΡΡΠ°Π²ΠΊΠ° : Hello {{name}} β insert('Hello {{name}}'). |
location | Π£ΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, Π³Π΄Π΅ Ρ ΡΠ°Π½ΡΡΡΡ ΡΠ°ΠΉΠ»Ρ ΡΠ»ΠΎΠ²Π°ΡΠ΅ΠΉ ΠΈ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΡΡΡΡΡ Ρ CMS. | 'local' | 'remote' | 'hybrid' | 'plugin' | string | 'local' | 'hybrid' | β’ 'local': ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠΎΠ»ΡΠΊΠΎ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ.β’ 'remote': ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎ (CMS).β’ 'hybrid': ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ, ΠΈ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎ.β’ 'plugin' ΠΈΠ»ΠΈ ΠΊΠ°ΡΡΠΎΠΌΠ½Π°Ρ ΡΡΡΠΎΠΊΠ°: ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠΌ ΠΈΠ»ΠΈ ΠΊΠ°ΡΡΠΎΠΌΠ½ΡΠΌ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠΌ. |
importMode | Π£ΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ ΠΈΠΌΠΏΠΎΡΡΠ° ΡΠ»ΠΎΠ²Π°ΡΠ΅ΠΉ. | 'static' | 'dynamic' | 'fetch' | 'static' | 'dynamic' | β’ 'static': ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠΌΠΏΠΎΡΡ.β’ 'dynamic': Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠΌΠΏΠΎΡΡ ΡΠ΅ΡΠ΅Π· Suspense.β’ 'fetch': ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ΅ΡΠ΅Π· Live Sync API; ΠΎΡΠΊΠ°Ρ ΠΊ 'dynamic' ΠΏΡΠΈ Π½Π΅ΡΠ΄Π°ΡΠ΅.β’ Π’ΡΠ΅Π±ΡΠ΅Ρ ΠΏΠ»Π°Π³ΠΈΠ½Ρ @intlayer/babel ΠΈ @intlayer/swc.β’ ΠΠ»ΡΡΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Ρ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ. β’ ΠΠ³Π½ΠΎΡΠΈΡΡΠ΅ΡΡΡ, Π΅ΡΠ»ΠΈ optimize Π²ΡΠΊΠ»ΡΡΠ΅Π½.β’ ΠΠ΅ Π²Π»ΠΈΡΠ΅Ρ Π½Π° getIntlayer, getDictionary ΠΈ Ρ.Π΄. |
format | Π€ΠΎΡΠΌΠ°Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π΄Π»Ρ Π²ΡΠ΅Ρ ΡΠ»ΠΎΠ²Π°ΡΠ΅ΠΉ Π² ΠΏΡΠΎΠ΅ΠΊΡΠ΅. | 'intlayer' | 'icu' | 'i18next' | 'vue-i18n' | 'po' | 'intlayer' | 'icu' | β’ 'intlayer': Π‘ΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠΎΡΠΌΠ°Ρ intlayer.β’ 'icu': Π€ΠΎΡΠΌΠ°Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ICU.β’ 'i18next': Π€ΠΎΡΠΌΠ°Ρ i18next.β’ 'vue-i18n': Π€ΠΎΡΠΌΠ°Ρ Vue I18n.β’ 'po': Π€ΠΎΡΠΌΠ°Ρ GNU Gettext PO. |
priority | ΠΡΠΈΠΎΡΠΈΡΠ΅Ρ ΡΠ»ΠΎΠ²Π°ΡΡ. ΠΠΎΠ»Π΅Π΅ Π²ΡΡΠΎΠΊΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ±Π΅ΠΆΠ΄Π°ΡΡ Π±ΠΎΠ»Π΅Π΅ Π½ΠΈΠ·ΠΊΠΈΠ΅ ΠΏΡΠΈ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠΈ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ² ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ»ΠΎΠ²Π°ΡΡΠΌΠΈ. | number | undefined | 1 | |
live | Π£ΡΡΠ°ΡΠ΅Π»ΠΎ - ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ importMode: 'fetch'. Π£ΠΊΠ°Π·ΡΠ²Π°Π»ΠΎ, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π»ΠΈ ΠΊΠΎΠ½ΡΠ΅Π½Ρ ΡΠ»ΠΎΠ²Π°ΡΡ ΠΏΠΎΠ»ΡΡΠ°ΡΡΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ ΡΠ΅ΡΠ΅Π· Live Sync API. | boolean | undefined | ΠΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΎ Π² importMode: 'fetch' Π² v8.0.0. | |
schema | ΠΠ΅Π½Π΅ΡΠΈΡΡΠ΅ΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Intlayer Π΄Π»Ρ Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΠΈ JSON-ΡΡ Π΅ΠΌΡ. | 'https://intlayer.org/schema.json' | Π°Π²ΡΠΎ-Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ | ΠΠ΅ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΡΠΉΡΠ΅ Π²ΡΡΡΠ½ΡΡ. | |
title | ΠΠΎΠΌΠΎΠ³Π°Π΅Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ»ΠΎΠ²Π°ΡΡ Π² ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅ ΠΈ CMS. | string | undefined | 'User Profile' | |
tags | ΠΠ°ΡΠ΅Π³ΠΎΡΠΈΠ·ΠΈΡΡΠ΅Ρ ΡΠ»ΠΎΠ²Π°ΡΠΈ ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ ΠΈΠ»ΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π΄Π»Ρ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ° ΠΈ ΠΠ. | string[] | undefined | ['user', 'profile'] | |
version | ΠΠ΅ΡΡΠΈΡ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π°ΡΡ; ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ ΡΠ΅ΠΊΡΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ Π²Π΅ΡΡΠΈΡ. | string | undefined | '1.0.0' | β’ Π£ΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π² CMS. β’ ΠΠ΅ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΡΠΉΡΠ΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ. |
ΠΡΠΈΠΌΠ΅Ρ fill:
ΠΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄ Π² Π±ΡΡΠ΅Ρ ΠΎΠ±ΠΌΠ΅Π½Π°
ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π»ΠΎΠ³Π³Π΅ΡΠ° (Log)
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π΄Π»Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π²ΡΠ²ΠΎΠ΄Π° Π»ΠΎΠ³ΠΎΠ² Intlayer.
ΠΡΠΊΡΡΡΡ ΡΠ°Π±Π»ΠΈΡΡ Π² ΠΌΠΎΠ΄Π°Π»ΡΠ½ΠΎΠΌ ΠΎΠΊΠ½Π΅ Π΄Π»Ρ ΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° Π²ΡΠ΅Ρ Π΄Π°Π½Π½ΡΡ
| ΠΠΎΠ»Π΅ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | Π’ΠΈΠΏ | ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ | ΠΡΠΈΠΌΠ΅Ρ | ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅ |
|---|---|---|---|---|---|
mode | Π£ΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠ΅ΠΆΠΈΠΌ Π»ΠΎΠ³Π³Π΅ΡΠ°. | 'default' | 'verbose' | 'disabled' | 'default' | 'verbose' | β’ 'verbose': Π»ΠΎΠ³ΠΈΡΡΠ΅Ρ Π±ΠΎΠ»ΡΡΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π΄Π»Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ.β’ 'disabled': ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΎΡΠΊΠ»ΡΡΠ°Π΅Ρ Π»ΠΎΠ³Π³Π΅Ρ. |
prefix | ΠΡΠ΅ΡΠΈΠΊΡ Π΄Π»Ρ Π²ΡΠ΅Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ Π² Π»ΠΎΠ³Π΅. | string | '[intlayer] ' | '[my prefix] ' |
ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΠ (AI)
ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ, ΡΠΏΡΠ°Π²Π»ΡΡΡΠΈΠ΅ ΠΠ-ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ Intlayer, Π²ΠΊΠ»ΡΡΠ°Ρ ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠ°, ΠΌΠΎΠ΄Π΅Π»Ρ ΠΈ API-ΠΊΠ»ΡΡ.
ΠΡΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½Π°, Π΅ΡΠ»ΠΈ Π²Ρ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½Ρ Π² Intlayer Dashboard Ρ ΠΊΠ»ΡΡΠΎΠΌ Π΄ΠΎΡΡΡΠΏΠ°. Intlayer Π±ΡΠ΄Π΅Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΏΡΠ°Π²Π»ΡΡΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΌ ΠΈ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡΠ½ΡΠΌ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΠ Π΄Π»Ρ Π²Π°ΡΠΈΡ Π½ΡΠΆΠ΄. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π³Π°ΡΠ°Π½ΡΠΈΡΡΠ΅Ρ Π»ΡΡΡΡΡ Π΄ΠΎΠ»Π³ΠΎΡΡΠΎΡΠ½ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Intlayer ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π°ΠΊΡΡΠ°Π»ΡΠ½ΡΡ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ.
ΠΡΠ»ΠΈ Π²Ρ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°Π΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ API-ΠΊΠ»ΡΡ ΠΈΠ»ΠΈ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠ²ΠΎΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΠ.
ΠΡΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΠ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎ Π² Π²Π°ΡΠ΅ΠΉ ΡΡΠ΅Π΄Π΅ Intlayer. ΠΠΎΠΌΠ°Π½Π΄Ρ CLI Π±ΡΠ΄ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π΄Π»Ρ ΡΠ°ΠΊΠΈΡ
ΠΊΠΎΠΌΠ°Π½Π΄, ΠΊΠ°ΠΊ fill, ΡΠ°ΠΊ ΠΆΠ΅ ΠΊΠ°ΠΊ ΠΈ SDK, Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ ΠΈ CMS. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΡΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ
ΡΠ»ΡΡΠ°Π΅Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅ΡΠ΅Π· ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄.
Intlayer ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΠ-ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠΎΠ² Π΄Π»Ρ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΉ Π³ΠΈΠ±ΠΊΠΎΡΡΠΈ. ΠΠ° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΡ:
- OpenAI (ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ)
- Anthropic Claude
- Mistral AI
- DeepSeek
- Google Gemini
- Google AI Studio
- Google Vertex
- Meta Llama
- Ollama
- OpenRouter
- Alibaba Cloud
- Fireworks
- Hugging Face
- Groq
- Amazon Bedrock
- Together.ai
- LM Studio
ΠΡΠΊΡΡΡΡ ΡΠ°Π±Π»ΠΈΡΡ Π² ΠΌΠΎΠ΄Π°Π»ΡΠ½ΠΎΠΌ ΠΎΠΊΠ½Π΅ Π΄Π»Ρ ΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° Π²ΡΠ΅Ρ Π΄Π°Π½Π½ΡΡ
| ΠΠΎΠ»Π΅ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | Π’ΠΈΠΏ | ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ | ΠΡΠΈΠΌΠ΅Ρ | ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅ |
|---|---|---|---|---|---|
provider | ΠΡΠΎΠ²Π°ΠΉΠ΄Π΅Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Π΄Π»Ρ ΠΠ-ΡΡΠ½ΠΊΡΠΈΠΉ Intlayer. | 'openai' | 'anthropic' | 'mistral' | 'deepseek' | 'gemini' | 'ollama' | 'openrouter' | 'alibaba' | 'fireworks' | 'groq' | 'huggingface' | 'bedrock' | 'googleaistudio' | 'googlevertex' | 'togetherai' | 'lmstudio' | 'moonshotai' | undefined | 'anthropic' | Π Π°Π·Π½ΡΠ΅ ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΡ ΡΡΠ΅Π±ΡΡΡ ΡΠ°Π·Π½ΡΠ΅ API-ΠΊΠ»ΡΡΠΈ ΠΈ ΠΈΠΌΠ΅ΡΡ ΡΠ°Π·Π½ΡΡ ΡΡΠΎΠΈΠΌΠΎΡΡΡ. |
model | ΠΠΎΠ΄Π΅Π»Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠ°Ρ Π΄Π»Ρ ΠΠ-ΡΡΠ½ΠΊΡΠΈΠΉ. | string | ΠΠ΅Ρ | 'gpt-4o-2024-11-20' | ΠΠΎΠ½ΠΊΡΠ΅ΡΠ½Π°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠ°. |
temperature | Π£ΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎΡΡΡΡ ΠΎΡΠ²Π΅ΡΠΎΠ² ΠΠ. | number | ΠΠ΅Ρ | 0.1 | ΠΡΡΠ΅ ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΠ° = Π±ΠΎΠ»Π΅Π΅ ΠΊΡΠ΅Π°ΡΠΈΠ²Π½ΠΎ ΠΈ ΠΌΠ΅Π½Π΅Π΅ ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·ΡΠ΅ΠΌΠΎ. |
apiKey | ΠΠ°Ρ API-ΠΊΠ»ΡΡ Π΄Π»Ρ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠ°. | string | ΠΠ΅Ρ | process.env.OPENAI_API_KEY | ΠΠΎΠ»ΠΆΠ½ΠΎ Ρ ΡΠ°Π½ΠΈΡΡΡΡ Π² ΡΠ΅ΠΊΡΠ΅ΡΠ΅; ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ. |
applicationContext | ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ ΠΎ Π²Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠΌΠΎΡΡ ΠΠ Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠΎΡΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Ρ (Π΄ΠΎΠΌΠ΅Π½, ΡΠ΅Π»Π΅Π²Π°Ρ Π°ΡΠ΄ΠΈΡΠΎΡΠΈΡ, ΡΠΎΠ½, ΡΠ΅ΡΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΡ). | string | ΠΠ΅Ρ | 'My own application context' | ΠΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΠΏΡΠ°Π²ΠΈΠ» (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ: "You should not transform URLs"). |
baseURL | ΠΠ°Π·ΠΎΠ²ΡΠΉ URL Π΄Π»Ρ ΠΠ API. | string | ΠΠ΅Ρ | 'https://api.openai.com/v1' 'http://localhost:5000' | ΠΠΎΠΆΠ΅Ρ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½Π° Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΈΠ»ΠΈ ΠΊΠ°ΡΡΠΎΠΌΠ½ΡΠΉ ΡΠ½Π΄ΠΏΠΎΠΈΠ½Ρ ΠΠ API. |
dataSerialization | Π€ΠΎΡΠΌΠ°Ρ ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π΄Π°Π½Π½ΡΡ Π΄Π»Ρ ΠΠ-ΡΡΠ½ΠΊΡΠΈΠΉ. | 'json' | 'toon' | undefined | 'toon' | β’ 'json': ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, Π½Π°Π΄Π΅ΠΆΠ½ΠΎ; ΠΏΠΎΡΡΠ΅Π±Π»ΡΠ΅Ρ Π±ΠΎΠ»ΡΡΠ΅ ΡΠΎΠΊΠ΅Π½ΠΎΠ².β’ 'toon': ΠΌΠ΅Π½ΡΡΠ΅ ΡΠΎΠΊΠ΅Π½ΠΎΠ², ΠΌΠ΅Π½Π΅Π΅ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎ.β’ ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ Π² ΠΌΠΎΠ΄Π΅Π»Ρ ΠΊΠ°ΠΊ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ (ΡΡΠΈΠ»ΠΈΡ ΡΠ°ΡΡΡΠΆΠ΄Π΅Π½ΠΈΡ ΠΈ Ρ.Π΄.). |
ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΡΠ±ΠΎΡΠΊΠΈ (Build)
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ, ΡΠΏΡΠ°Π²Π»ΡΡΡΠΈΠ΅ ΡΠ΅ΠΌ, ΠΊΠ°ΠΊ Intlayer ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΡΠ΅Ρ ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅Ρ ΠΈΠ½ΡΠ΅ΡΠ½Π°ΡΠΈΠΎΠ½Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΠΏΡΠΈΠΈ ΡΠ±ΠΎΡΠΊΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ ΠΊ ΠΏΠ»Π°Π³ΠΈΠ½Π°ΠΌ @intlayer/babel ΠΈ @intlayer/swc.
Π ΡΠ΅ΠΆΠΈΠΌΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Intlayer ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠΌΠΏΠΎΡΡ ΡΠ»ΠΎΠ²Π°ΡΠ΅ΠΉ Π΄Π»Ρ ΡΠΏΡΠΎΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ.
ΠΠΎ Π²ΡΠ΅ΠΌΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ Intlayer Π·Π°ΠΌΠ΅Π½ΠΈΡ Π²ΡΠ·ΠΎΠ²Ρ ΡΠ»ΠΎΠ²Π°ΡΠ΅ΠΉ Π΄Π»Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΡΠ°Π½ΠΊΠΈΠ½Π³Π° (chunking), ΡΡΠΎΠ±Ρ ΠΈΡΠΎΠ³ΠΎΠ²ΡΠΉ Π±Π°Π½Π΄Π» ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°Π» ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ ΡΠ»ΠΎΠ²Π°ΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ.
ΠΡΠΊΡΡΡΡ ΡΠ°Π±Π»ΠΈΡΡ Π² ΠΌΠΎΠ΄Π°Π»ΡΠ½ΠΎΠΌ ΠΎΠΊΠ½Π΅ Π΄Π»Ρ ΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° Π²ΡΠ΅Ρ Π΄Π°Π½Π½ΡΡ
| ΠΠΎΠ»Π΅ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | Π’ΠΈΠΏ | ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ | ΠΡΠΈΠΌΠ΅Ρ | ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅ |
|---|---|---|---|---|---|
mode | Π£ΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ΅ΠΆΠΈΠΌΠΎΠΌ ΡΠ±ΠΎΡΠΊΠΈ. | 'auto' | 'manual' | 'auto' | 'manual' | β’ 'auto': ΡΠ±ΠΎΡΠΊΠ° Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠΈ ΡΠ±ΠΎΡΠΊΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.β’ 'manual': Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈ ΡΠ²Π½ΠΎΠΌ Π²ΡΠ·ΠΎΠ²Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠ±ΠΎΡΠΊΠΈ.β’ ΠΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ±ΠΎΡΠΊΠΈ ΡΠ»ΠΎΠ²Π°ΡΠ΅ΠΉ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π² ΡΡΠ΅Π΄Π°Ρ Node.js). |
optimize | Π£ΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ΅ΠΌ, Π΄ΠΎΠ»ΠΆΠ½Π° Π»ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΡΠ±ΠΎΡΠΊΠΈ. | boolean | undefined | process.env.NODE_ENV === 'production' | β’ ΠΡΠ»ΠΈ Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ, ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΠΏΡΠΈ ΡΠ±ΠΎΡΠΊΠ΅ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ° (Vite/Next.js). β’ true ΡΠΎΡΡΠΈΡΡΠ΅Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Π΄Π°ΠΆΠ΅ Π² dev ΡΠ΅ΠΆΠΈΠΌΠ΅.β’ false ΠΎΡΠΊΠ»ΡΡΠ°Π΅Ρ Π΅Π΅.β’ ΠΡΠ»ΠΈ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΎ, Π·Π°ΠΌΠ΅Π½ΡΠ΅Ρ Π²ΡΠ·ΠΎΠ²Ρ ΡΠ»ΠΎΠ²Π°ΡΠ΅ΠΉ Π΄Π»Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΡΠ°Π½ΠΊΠΈΠ½Π³Π°. β’ Π’ΡΠ΅Π±ΡΠ΅Ρ ΠΏΠ»Π°Π³ΠΈΠ½Ρ @intlayer/babel ΠΈ @intlayer/swc. |
minify | ΠΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ»ΠΎΠ²Π°ΡΠΈ Π΄Π»Ρ ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° Π±Π°Π½Π΄Π»Π°. | boolean | false | β’ Π£ΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π»ΠΈ Π±Π°Π½Π΄Π» Π±ΡΡΡ ΠΌΠΈΠ½ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½. β’ ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ: true Π² ΠΏΡΠΎΠ΄Π°ΠΊΡΠ΅Π½Π΅.β’ ΠΡΠ° ΠΎΠΏΡΠΈΡ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½Π°, Π΅ΡΠ»ΠΈ optimize ΠΎΡΠΊΠ»ΡΡΠ΅Π½Π°.β’ ΠΡΠ° ΠΎΠΏΡΠΈΡ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½Π°, Π΅ΡΠ»ΠΈ editor.enabled ΠΈΠΌΠ΅Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ true. | |
purge | Π£Π΄Π°Π»ΠΈΡΡ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΠΊΠ»ΡΡΠΈ Π² ΡΠ»ΠΎΠ²Π°ΡΡΡ . | boolean | false | β’ Π£ΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π»ΠΈ Π±Π°Π½Π΄Π» Π±ΡΡΡ ΠΎΡΠΈΡΠ΅Π½. β’ ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ: true Π² ΠΏΡΠΎΠ΄Π°ΠΊΡΠ΅Π½Π΅.β’ ΠΡΠ° ΠΎΠΏΡΠΈΡ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½Π°, Π΅ΡΠ»ΠΈ optimize ΠΎΡΠΊΠ»ΡΡΠ΅Π½Π°. | |
checkTypes | Π£ΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, Π΄ΠΎΠ»ΠΆΠ½Π° Π»ΠΈ ΡΠ±ΠΎΡΠΊΠ° ΠΏΡΠΎΠ²Π΅ΡΡΡΡ ΡΠΈΠΏΡ TypeScript ΠΈ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°ΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ. | boolean | false | ΠΠΎΠΆΠ΅Ρ Π·Π°ΠΌΠ΅Π΄Π»ΠΈΡΡ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠ±ΠΎΡΠΊΠΈ. | |
chunkGrouping | ΠΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ, ΡΠ»Π΅Π΄ΡΠ΅Ρ Π»ΠΈ Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°Π½ΠΊΠΈ ΡΠ»ΠΎΠ²Π°ΡΠ΅ΠΉ ΠΏΠΎ Π»ΠΎΠΊΠ°Π»ΠΈ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ Π³ΡΠ°Π½ΠΈΡΠ΅ΠΉ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ. | boolean | true | β’ ΠΠ΅Π· Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²ΠΊΠΈ ΡΡΡΠ°Π½ΠΈΡΠ°, ΡΠΎΠ±ΡΠ°Π½Π½Π°Ρ ΠΈΠ· ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ², ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡ Π·Π°ΠΏΡΠΎΡΡ Π½Π° ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ»ΠΎΠ²Π°ΡΡ. β’ Π‘Π»ΠΎΠ²Π°ΡΠΈ, Π΄ΠΎΡΡΠΈΠΆΠΈΠΌΡΠ΅ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ Π³ΡΠ°Π½ΠΈΡ, ΠΏΠ΅ΡΠ΅Π½ΠΎΡΡΡΡΡ Π² ΠΎΠ±ΡΠΈΠΉ ΡΠ°Π½ΠΊ, ΠΏΠΎΡΡΠΎΠΌΡ Π½ΠΈ ΠΎΠ΄Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ° Π½Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΊΠΎΠ½ΡΠ΅Π½Ρ Π΄ΡΡΠ³ΠΎΠΉ. β’ ΠΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΊ ΡΠ»ΠΎΠ²Π°ΡΡΠΌ Ρ importMode: 'dynamic'.β’ ΠΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΊ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠΉ ΡΠ±ΠΎΡΠΊΠ΅ ΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈ Π±Π°Π½Π΄Π»ΠΈΠ½Π³Π΅ (Π½Π΅ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ). | |
dictionariesPreload | ΠΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π»ΠΈ ΡΠ»ΠΎΠ²Π°ΡΡ Π·Π°Π³ΡΡΠΆΠ°ΡΡΡΡ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΡΠ°Π½ΠΊΠΎΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ, Π²ΠΌΠ΅ΡΡΠΎ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΠΎΡΠ»Π΅ ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΡΡΠΎΠ³ΠΎ ΡΠ°Π½ΠΊΠ°. | boolean | true | β’ Π‘Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ ΡΠΎΡΠΊΠ° Π²Ρ
ΠΎΠ΄Π° ΠΎΠΆΠΈΠ΄Π°Π΅Ρ Π»ΠΎΠΊΠ°Π»Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° Π½Π° Π²Π΅ΡΡ
Π½Π΅ΠΌ ΡΡΠΎΠ²Π½Π΅, ΠΏΠΎΡΡΠΎΠΌΡ Π»Π΅Π½ΠΈΠ²ΠΎ Π·Π°Π³ΡΡΠΆΠ°Π΅ΠΌΡΠΉ ΠΌΠ°ΡΡΡΡΡ Π½Π΅ ΡΡΠΈΡΠ°Π΅ΡΡΡ Π·Π°Π³ΡΡΠΆΠ΅Π½Π½ΡΠΌ, ΠΏΠΎΠΊΠ° Π΅Π³ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π½Π΅ Π³ΠΎΡΠΎΠ²ΠΎ. β’ Π§ΡΠ΅Π½ΠΈΡ ΠΎΡΡΠΈΡΠΎΠ²ΡΠ²Π°ΡΡΡΡ ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎ Π²ΠΌΠ΅ΡΡΠΎ ΠΏΡΠΈΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΡΠΈ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΈ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ ΠΌΠ΅Π»ΡΠΊΠ°Π΅Ρ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π·Π°Π³ΡΡΠ·ΠΊΠΈ. β’ ΠΠΆΠΈΠ΄Π°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·ΡΠ΅ΡΡΠ½Π½Π°Ρ Π»ΠΎΠΊΠ°Π»Ρ, ΠΏΠΎΡΡΠΎΠΌΡ ΡΡΡΠ°Π½ΠΈΡΠ° Π·Π°Π³ΡΡΠΆΠ°Π΅Ρ Π»ΠΈΡΡ ΡΠΎΡ ΡΠ·ΡΠΊ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ. β’ ΠΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΊ ΡΠ»ΠΎΠ²Π°ΡΡΠΌ Ρ importMode: 'dynamic' Π² ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠΉ ΡΠ±ΠΎΡΠΊΠ΅.β’ Π’ΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠ±ΠΎΡΡΠΈΠΊ Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ top-level await (Vite, esbuild). | |
outputFormat | Π£ΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π²ΡΡ ΠΎΠ΄Π½ΡΠΌ ΡΠΎΡΠΌΠ°ΡΠΎΠΌ ΡΠ»ΠΎΠ²Π°ΡΠ΅ΠΉ. | ('esm' | 'cjs')[] | ['esm', 'cjs'] | ['cjs'] | |
traversePattern | Π¨Π°Π±Π»ΠΎΠ½Ρ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΠΈΠ΅, ΠΊΠ°ΠΊΠΈΠ΅ ΡΠ°ΠΉΠ»Ρ ΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°ΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ. | string[] | ['**/*.{tsx,ts,js,mjs,cjs,jsx,vue,svelte,svte}', '!**/node_modules/**', '!**/dist/**', '!**/.intlayer/**', '!**/*.config.*', '!**/*.test.*', '!**/*.spec.*', '!**/*.stories.*'] | ['src/**/*.{ts,tsx}', '../ui-library/**/*.{ts,tsx}', '!**/node_modules/**'] | β’ ΠΠ³ΡΠ°Π½ΠΈΡΡΡΠ΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΡΠ΅Π»Π΅Π²Π°Π½ΡΠ½ΡΠΌΠΈ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ Π΄Π»Ρ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΠ±ΠΎΡΠΊΠΈ. β’ ΠΠ³Π½ΠΎΡΠΈΡΡΠ΅Ρ, Π΅ΡΠ»ΠΈ optimize Π²ΡΠΊΠ»ΡΡΠ΅Π½.β’ ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠ°Π±Π»ΠΎΠ½Ρ glob. |
ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° (Compiler)
ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ, ΡΠΏΡΠ°Π²Π»ΡΡΡΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠΌ Intlayer, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅Ρ ΡΠ»ΠΎΠ²Π°ΡΠΈ Π½Π°ΠΏΡΡΠΌΡΡ ΠΈΠ· Π²Π°ΡΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ².
ΠΡΠΊΡΡΡΡ ΡΠ°Π±Π»ΠΈΡΡ Π² ΠΌΠΎΠ΄Π°Π»ΡΠ½ΠΎΠΌ ΠΎΠΊΠ½Π΅ Π΄Π»Ρ ΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° Π²ΡΠ΅Ρ Π΄Π°Π½Π½ΡΡ
| ΠΠΎΠ»Π΅ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | Π’ΠΈΠΏ | ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ | ΠΡΠΈΠΌΠ΅Ρ | ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅ |
|---|---|---|---|---|---|
enabled | Π£ΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π»ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π±ΡΡΡ Π²ΠΊΠ»ΡΡΠ΅Π½ Π΄Π»Ρ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΡ ΡΠ»ΠΎΠ²Π°ΡΠ΅ΠΉ. | boolean | 'build-only' | true | 'build-only' | 'build-only' ΠΏΡΠΎΠΏΡΡΠΊΠ°Π΅Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ Π΄Π»Ρ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΡ ΡΠ±ΠΎΡΠΊΠΈ; Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ
ΡΠ±ΠΎΡΠΊΠΈ. |
dictionaryKeyPrefix | ΠΡΠ΅ΡΠΈΠΊΡ Π΄Π»Ρ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½Π½ΡΡ ΠΊΠ»ΡΡΠ΅ΠΉ ΡΠ»ΠΎΠ²Π°ΡΠ΅ΠΉ. | string | '' | 'my-prefix-' | ΠΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ ΠΊ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌΡ ΠΊΠ»ΡΡΡ (Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΈΠΌΠ΅Π½ΠΈ ΡΠ°ΠΉΠ»Π°) Π΄Π»Ρ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ². |
saveComponents | ΠΠΎΠ»ΠΆΠ½Ρ Π»ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΡΠΎΡ ΡΠ°Π½ΡΡΡΡΡ ΠΏΠΎΡΠ»Π΅ ΠΈΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ. | boolean | false | β’ ΠΡΠ»ΠΈ true, ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅Ρ ΠΈΡΡ
ΠΎΠ΄Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈΡ
ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½Π½ΡΠΌΠΈ Π²Π΅ΡΡΠΈΡΠΌΠΈ.β’ ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π°Π»ΠΈΡΡ ΠΏΠΎΡΠ»Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π·Π°ΠΏΡΡΠΊΠ°. | |
output | ΠΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΏΡΡΡ Π΄Π»Ρ Π²ΡΡ
ΠΎΠ΄Π½ΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ². ΠΠ°ΠΌΠ΅Π½ΡΠ΅Ρ outputDir. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠ°Π±Π»ΠΎΠ½Π°: {{fileName}}, {{key}}, {{locale}}, {{extension}}, {{componentFileName}}, {{componentExtension}}, {{format}}, {{componentFormat}}, {{componentDirPath}}. | boolean | FilePathPattern | Partial<Record<Locale, boolean | FilePathPattern>> | undefined | './{{fileName}}{{extension}}' '/locales/{{locale}}/{{key}}.json' { en: ({ key }) => './locales/en/${key}.json', fr: '...', es: false } | β’ ΠΡΡΠΈ ./ ΡΠ°Π·ΡΠ΅ΡΠ°ΡΡΡΡ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°.β’ ΠΡΡΠΈ / ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΊΠΎΡΠ½Ρ.β’ {{locale}} Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ ΠΏΠΎ ΡΠ·ΡΠΊΠ°ΠΌ.β’ ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΡΡ Π½ΠΎΡΠ°ΡΠΈΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ°. |
noMetadata | ΠΡΠ»ΠΈ true, ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΠΎΠΏΡΡΠΊΠ°Π΅Ρ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠ΅ ΡΠ»ΠΎΠ²Π°ΡΡ (ΠΊΠ»ΡΡ, ΠΎΠ±Π΅ΡΡΠΊΡ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ°) ΠΈΠ· Π²ΡΠ²ΠΎΠ΄Π°. | boolean | false | false β {"key":"my-key","content":{"key":"value"}} true β {"key":"value"} | β’ ΠΠΎΠ»Π΅Π·Π½ΠΎ Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° Π² ΡΠΎΡΠΌΠ°ΡΠ΅ i18next ΠΈΠ»ΠΈ ICU MessageFormat JSON. β’ Π₯ΠΎΡΠΎΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠΌ loadJSON. |
dictionaryKeyPrefix | ΠΡΠ΅ΡΠΈΠΊΡ ΠΊΠ»ΡΡΠ° ΡΠ»ΠΎΠ²Π°ΡΡ | string | '' | ΠΠΎΠ±Π°Π²ΠΈΡΡ ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΉ ΠΏΡΠ΅ΡΠΈΠΊΡ Π΄Π»Ρ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½Π½ΡΡ ΠΊΠ»ΡΡΠ΅ΠΉ ΡΠ»ΠΎΠ²Π°ΡΠ΅ΠΉ |
ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΡΡ Π΅ΠΌΡ (Custom Schemas)
ΠΡΠΊΡΡΡΡ ΡΠ°Π±Π»ΠΈΡΡ Π² ΠΌΠΎΠ΄Π°Π»ΡΠ½ΠΎΠΌ ΠΎΠΊΠ½Π΅ Π΄Π»Ρ ΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° Π²ΡΠ΅Ρ Π΄Π°Π½Π½ΡΡ
| ΠΠΎΠ»Π΅ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | Π’ΠΈΠΏ |
|---|---|---|
schemas | ΠΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΡΡ Π΅ΠΌΡ Zod Π΄Π»Ρ Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΠΈ ΡΡΡΡΠΊΡΡΡΡ Π²Π°ΡΠΈΡ ΡΠ»ΠΎΠ²Π°ΡΠ΅ΠΉ. | Record<string, ZodSchema> |
ΠΠ»Π°Π³ΠΈΠ½Ρ (Plugins)
ΠΡΠΊΡΡΡΡ ΡΠ°Π±Π»ΠΈΡΡ Π² ΠΌΠΎΠ΄Π°Π»ΡΠ½ΠΎΠΌ ΠΎΠΊΠ½Π΅ Π΄Π»Ρ ΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° Π²ΡΠ΅Ρ Π΄Π°Π½Π½ΡΡ
| ΠΠΎΠ»Π΅ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | Π’ΠΈΠΏ |
|---|---|---|
plugins | Π‘ΠΏΠΈΡΠΎΠΊ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² Intlayer Π΄Π»Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ. | IntlayerPlugin[] |
Π§Π°ΡΡΠΎ Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ
Π ΠΊΠΎΡΠ½Π΅ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΡΡΠ΄ΠΎΠΌ Ρ package.json. Intlayer ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ intlayer.config.js, intlayer.config.mjs, intlayer.config.cjs ΠΈ JSON, ΠΏΠΎΡΡΠΎΠΌΡ ΡΠ°ΠΉΠ» ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΡΠΎΠΉ ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅, ΠΊΠΎΡΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π²Π°Ρ ΠΏΡΠΎΠ΅ΠΊΡ.
ΠΠΎΡΠ°Π·Π΄ΠΎ ΠΌΠ΅Π½ΡΡΠ΅, ΡΠ΅ΠΌ ΠΏΡΠΈ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄Π΅ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ² ΠΈΠΌΡΠ½, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΡΡΠ°Π½ΠΈΡΠ° Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π·Π°Π³ΡΡΠΆΠ°Π΅Ρ ΠΊΠ°ΡΠ°Π»ΠΎΠ³, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ. Π Π°Π·ΠΌΠ΅ΡΠΊΠ°, ΠΎΡΡΠ΅Π½Π΄Π΅ΡΠ΅Π½Π½Π°Ρ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅, ΡΠ°Π·ΡΠ΅ΡΠ°Π΅Ρ ΡΠ²ΠΎΠΉ ΠΊΠΎΠ½ΡΠ΅Π½Ρ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅, ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ±ΠΎΡΠΊΠΈ Π·Π°ΠΌΠ΅Π½ΡΠ΅Ρ Π²ΡΠ·ΠΎΠ²Ρ useIntlayer ΡΠΎΡΠ½ΡΠΌΠΈ Π·Π°ΠΏΠΈΡΡΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ, ΠΏΠΎΡΡΠΎΠΌΡ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΠΊΠ»ΡΡΠΈ ΠΈ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΡΠ·ΡΠΊΠΈ ΠΎΡΠ±ΡΠ°ΡΡΠ²Π°ΡΡΡΡ. ΠΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ»ΠΎΠ²Π°ΡΠΈ ΡΠ°Π·Π΄Π΅Π»ΡΡΡ ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΏΠΎ Π»ΠΎΠΊΠ°Π»ΡΠΌ. ΠΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ ΠΎΠ±ΡΡΠ½ΡΠΌΠΈ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π°ΠΌΠΈ Intlayer ΡΠΎΠΊΡΠ°ΡΠ°Π΅Ρ ΡΠ°Π·ΠΌΠ΅Ρ Π±Π°Π½Π΄Π»Π° ΠΈ ΡΡΡΠ°Π½ΠΈΡΡ Π΄ΠΎ 50%. Π‘ΠΌ. ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Π±Π°Π½Π΄Π»Π° ΠΈ Π±Π΅Π½ΡΠΌΠ°ΡΠΊ.
ΠΠ°, ΠΈ Π΅ΡΡΡ Π΄Π²Π° ΠΏΡΡΠΈ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΌΠΈΠ³ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ½ΡΠ΅Π½Ρ ΠΏΠΎΡΡΠ΅ΠΏΠ΅Π½Π½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π° ΠΏΠΎ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ Ρ i18next ΠΈΠ»ΠΈ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π° ΠΏΠΎ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ Ρ next-intl. ΠΠ»ΠΈ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΠΎΡ
ΡΠ°Π½ΠΈΡΡ ΡΠ²ΠΎΠΉ ΡΠ΅ΠΊΡΡΠΈΠΉ API: Π°Π΄Π°ΠΏΡΠ΅ΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊΠΎΠΉ ΠΆΠ΅ API, ΠΊΠ°ΠΊ i18next, react-i18next, next-intl, next-i18next, react-intl, use-intl, vue-i18n ΠΈ Lingui, Π½ΠΎ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΠΉ ΡΠ»ΠΎΠ²Π°ΡΡΠΌΠΈ Intlayer, ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΠ΅Π½ΡΡΡΡΡ ΠΈΠΌΠΏΠΎΡΡΡ, Π° ΠΊΠΎΠ΄ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² - Π½Π΅Ρ.
ΠΠ°. ΠΠ»Π°Π³ΠΈΠ½ ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ JSON ΡΠΎΡ
ΡΠ°Π½ΡΠ΅Ρ Π²Π°ΡΠΈ ΡΠ°ΠΉΠ»Ρ /messages/{locale}/{namespace}.json ΠΊΠ°ΠΊ ΠΈΡΡΠΎΡΠ½ΠΈΠΊ ΠΈΡΡΠΈΠ½Ρ ΠΈ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ ΠΈΠ· Π½ΠΈΡ
ΡΠ»ΠΎΠ²Π°ΡΠΈ Intlayer, Π² ΠΎΠ±ΠΎΠΈΡ
Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡΡ
. ΠΠ»Π°Π³ΠΈΠ½ ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ PO Π΄Π΅Π»Π°Π΅Ρ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ Π΄Π»Ρ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ² gettext, Π° ΡΠ°ΠΉΠ»Ρ ΠΏΠΎ Π»ΠΎΠΊΠ°Π»ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΡ ΠΊΠΎΠ½ΡΠ΅Π½Ρ ΠΏΠΎ ΡΠ·ΡΠΊΠ°ΠΌ Π²ΠΌΠ΅ΡΡΠΎ Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²ΠΊΠΈ Π»ΠΎΠΊΠ°Π»Π΅ΠΉ Π² ΠΎΠ΄Π½ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅.
ΠΠ΅Ρ. ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ npx intlayer extract, ΠΈ Intlayer ΠΏΡΠΎΡΠΈΡΠ°Π΅Ρ Π²Π°ΡΠΈ ΠΈΡΡ
ΠΎΠ΄Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, ΠΈΠ·Π²Π»Π΅ΡΡΡ ΡΡΡΠΎΠΊΠΈ, Π²ΠΈΠ΄ΠΈΠΌΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΠΈ Π·Π°ΠΏΠΈΡΠ΅Ρ ΡΠ°ΠΉΠ» .content ΡΡΠ΄ΠΎΠΌ Ρ ΠΊΠ°ΠΆΠ΄ΡΠΌ ΠΈΠ· Π½ΠΈΡ
, ΡΠ°ΠΊ ΡΡΠΎ Π²Ρ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΡΠ΅ diff Π²ΠΌΠ΅ΡΡΠΎ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΡΠΎΠΊ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΉ. Π‘ΠΌ. ΠΊΠΎΠΌΠ°Π½Π΄Ρ extract.
ΠΠ»Ρ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΠ° ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Intlayer Π΄Π΅Π»Π°Π΅Ρ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ±ΠΎΡΠΊΠΈ Π½Π° ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ JSX, TSX, Vue ΠΈ Svelte, Π³Π΅Π½Π΅ΡΠΈΡΡΡ ΡΠ»ΠΎΠ²Π°ΡΠΈ ΠΏΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ, ΠΏΠΎΡΡΠΎΠΌΡ Π½Π΅Ρ ΠΊΠ»ΡΡΠ΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ Π²ΡΡΡΠ½ΡΡ. ΠΠ½ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠ΅ΡΠ΅Π· ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π°Π½Π°Π»ΠΈΠ·, ΠΏΠΎΡΡΠΎΠΌΡ ΡΡΡΠΎΠΊΠΈ, ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅ ΡΠΎΠ»ΡΠΊΠΎ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, ΠΎΡΡΠ°ΡΡΡΡ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½ΡΠΌΠΈ, ΠΈ Π΅ΠΌΡ Π½ΡΠΆΠ½ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π°Π½Π½ΠΎΡΠ°ΡΠΈΠΉ, ΡΡΠΎΠ±Ρ ΠΎΡΠ»ΠΈΡΠ°ΡΡ ΡΠ΅ΠΊΡΡ, Π²ΠΈΠ΄ΠΈΠΌΡΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΠΎΡ Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΡΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ², Π²ΡΠ΅ ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅:
- Π Π°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ VS Code: ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄ ΠΎΡ ΠΊΠ»ΡΡΠ°
useIntlayerΠΊ ΡΠ°ΠΉΠ»Ρ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ Π΅Π³ΠΎ ΠΎΠ±ΡΡΠ²Π»ΡΠ΅Ρ, ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ° ΠΈΠ· ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° ΠΈ Π·Π°ΠΏΡΡΠΊ build, fill, test, push ΠΈ pull ΠΈΠ· ΠΏΠ°Π»ΠΈΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈΠ»ΠΈ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΉ Π²ΠΊΠ»Π°Π΄ΠΊΠΈ Intlayer. - LSP-ΡΠ΅ΡΠ²Π΅Ρ: ΡΠ° ΠΆΠ΅ ΠΎΡΠ²Π΅Π΄ΠΎΠΌΠ»ΡΠ½Π½ΠΎΡΡΡ Π² Π»ΡΠ±ΠΎΠΌ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅, ΠΊΠΎΡΠΎΡΡΠΉ Π³ΠΎΠ²ΠΎΡΠΈΡ Π½Π° LSP, Ρ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄ΠΎΠΌ ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ, ΠΏΠΎΠΈΡΠΊΠΎΠΌ Π²ΡΠ΅Ρ
ΡΡΡΠ»ΠΎΠΊ, ΠΏΡΠ΅Π΄ΠΏΡΠΎΡΠΌΠΎΡΡΠΎΠΌ ΠΏΠ΅ΡΠ΅Π²Π΅Π΄ΡΠ½Π½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΡΠΈ Π½Π°Π²Π΅Π΄Π΅Π½ΠΈΠΈ, Π°Π²ΡΠΎΠ΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠ»ΡΡΠ΅ΠΉ ΠΈ ΠΏΠΎΠ»Π΅ΠΉ ΠΈ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ΠΌ, ΠΊΠΎΠ³Π΄Π° ΠΊΠ»ΡΡ Π½ΠΈΠ³Π΄Π΅ Π½Π΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½. ΠΠ½ ΡΠ°ΠΊΠΆΠ΅ ΡΠ°Π·ΡΠ΅ΡΠ°Π΅Ρ Π²ΡΠ·ΠΎΠ²Ρ
i18next,react-i18next,next-intlΠΈuse-intl, ΡΡΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΠΏΡΠΈ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ. - MCP-ΡΠ΅ΡΠ²Π΅Ρ: ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΈ CLI Intlayer Π΄Π»Ρ Cursor, VS Code, Claude Desktop, Claude Code ΠΈ ChatGPT, ΡΡΠΎΠ±Ρ Π°ΡΡΠΈΡΡΠ΅Π½Ρ ΠΎΡΠ²Π΅ΡΠ°Π» ΠΏΠΎ Π°ΠΊΡΡΠ°Π»ΡΠ½ΠΎΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ, Π° Π½Π΅ Π³Π°Π΄Π°Π», ΠΈ ΠΌΠΎΠ³ ΡΠ°ΠΌ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π²ΡΠΎΠ΄Π΅
intlayer fill. - ΠΠ°Π²ΡΠΊΠΈ Π°Π³Π΅Π½ΡΠΎΠ²: ΡΡΠΎΠΊΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π½Π°Π²ΡΠΊΠΈ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ
intlayer-config,intlayer-cliΠΈintlayer-content, ΠΏΠ»ΡΡ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡ Π½Π° ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ±ΡΡΠ°ΡΡ Π°Π³Π΅Π½ΡΠ° Π²Π°ΡΠ΅ΠΉ Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅ ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΈΠΈ ΠΈ ΡΠΈΠΏΠ°ΠΌ ΡΠ·Π»ΠΎΠ² ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ°. - ΠΠ»Π°Π³ΠΈΠ½ ESLint:
no-raw-textΠΏΠΎΠΌΠ΅ΡΠ°Π΅Ρ ΠΆΡΡΡΠΊΠΎ Π·Π°ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΡΡΠΎΠΊΠΈ, Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΌΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌΠΈ Π΄Π»Ρ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΊΠ»ΡΡΠ΅ΠΉ ΡΠ»ΠΎΠ²Π°ΡΡ ΠΈ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ°.
