@intlayer/docs 8.12.5-canary.0 → 9.0.0-canary.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/generated/docs.entry.cjs +320 -0
- package/dist/cjs/generated/docs.entry.cjs.map +1 -1
- package/dist/esm/generated/docs.entry.mjs +320 -0
- package/dist/esm/generated/docs.entry.mjs.map +1 -1
- package/dist/types/generated/docs.entry.d.ts +16 -0
- package/dist/types/generated/docs.entry.d.ts.map +1 -1
- package/docs/ar/cli/doc-review.md +110 -4
- package/docs/ar/cli/index.md +1 -1
- package/docs/ar/cli/scan.md +1 -1
- package/docs/ar/configuration.md +36 -3
- package/docs/ar/dictionary/condition.md +167 -5
- package/docs/ar/dictionary/enumeration.md +540 -6
- package/docs/ar/dictionary/file.md +151 -1
- package/docs/ar/dictionary/gender.md +168 -7
- package/docs/ar/dictionary/nesting.md +173 -65
- package/docs/ar/dictionary/plurial.md +174 -5
- package/docs/ar/dictionary/translation.md +156 -2
- package/docs/ar/dynamic_dictionaries/collections.md +1 -1
- package/docs/ar/dynamic_dictionaries/dynamic_content.md +1 -1
- package/docs/ar/dynamic_dictionaries/index.md +1 -1
- package/docs/ar/dynamic_dictionaries/variants.md +1 -1
- package/docs/ar/intlayer_with_vite+react.md +31 -31
- package/docs/ar/releases/v8.md +187 -1
- package/docs/ar/releases/v9.md +232 -0
- package/docs/bn/cli/index.md +1 -1
- package/docs/bn/cli/scan.md +1 -1
- package/docs/bn/configuration.md +36 -3
- package/docs/cs/cli/index.md +1 -1
- package/docs/cs/cli/scan.md +1 -1
- package/docs/cs/configuration.md +35 -2
- package/docs/de/cli/doc-review.md +110 -4
- package/docs/de/cli/index.md +1 -1
- package/docs/de/cli/scan.md +1 -1
- package/docs/de/configuration.md +35 -2
- package/docs/de/dictionary/condition.md +167 -5
- package/docs/de/dictionary/enumeration.md +777 -7
- package/docs/de/dictionary/file.md +151 -1
- package/docs/de/dictionary/gender.md +168 -7
- package/docs/de/dictionary/nesting.md +173 -65
- package/docs/de/dictionary/plurial.md +347 -7
- package/docs/de/dictionary/translation.md +156 -2
- package/docs/de/dynamic_dictionaries/collections.md +1 -1
- package/docs/de/dynamic_dictionaries/dynamic_content.md +1 -1
- package/docs/de/dynamic_dictionaries/index.md +1 -1
- package/docs/de/dynamic_dictionaries/variants.md +1 -1
- package/docs/de/intlayer_with_vite+react.md +48 -48
- package/docs/de/migration_from_i18next_to_intlayer.md +1 -1
- package/docs/de/migration_from_next-i18next_to_intlayer.md +1 -1
- package/docs/de/migration_from_next-intl_to_intlayer.md +1 -1
- package/docs/de/migration_from_nuxtjs_i18n_to_intlayer.md +1 -1
- package/docs/de/migration_from_react-i18next_to_intlayer.md +1 -1
- package/docs/de/migration_from_vue-i18n_to_intlayer.md +1 -1
- package/docs/de/releases/v8.md +197 -1
- package/docs/de/releases/v9.md +232 -0
- package/docs/en/CI_CD.md +7 -7
- package/docs/en/cli/ci.md +62 -8
- package/docs/en/cli/doc-review.md +110 -4
- package/docs/en/cli/index.md +1 -1
- package/docs/en/cli/scan.md +1 -1
- package/docs/en/compat/i18n-js.md +44 -0
- package/docs/en/compat/i18next.md +59 -0
- package/docs/en/compat/index.md +51 -0
- package/docs/en/compat/lingui.md +44 -0
- package/docs/en/compat/next-i18next.md +57 -0
- package/docs/en/compat/next-intl.md +59 -0
- package/docs/en/compat/next-translate.md +45 -0
- package/docs/en/compat/ngx-translate.md +45 -0
- package/docs/en/compat/nuxtjs-i18n.md +46 -0
- package/docs/en/compat/polyglot.md +45 -0
- package/docs/en/compat/react-i18next.md +58 -0
- package/docs/en/compat/react-intl.md +55 -0
- package/docs/en/compat/svelte-i18n.md +47 -0
- package/docs/en/compat/transloco.md +45 -0
- package/docs/en/compat/vue-i18n.md +58 -0
- package/docs/en/configuration.md +35 -2
- package/docs/en/dictionary/condition.md +163 -1
- package/docs/en/dictionary/enumeration.md +309 -7
- package/docs/en/dictionary/file.md +151 -1
- package/docs/en/dictionary/gender.md +162 -1
- package/docs/en/dictionary/nesting.md +173 -9
- package/docs/en/dictionary/plurial.md +155 -10
- package/docs/en/dictionary/translation.md +145 -52
- package/docs/en/dynamic_dictionaries/collections.md +1 -1
- package/docs/en/dynamic_dictionaries/dynamic_content.md +1 -1
- package/docs/en/dynamic_dictionaries/index.md +1 -1
- package/docs/en/dynamic_dictionaries/variants.md +1 -1
- package/docs/en/migration_from_i18next_to_intlayer.md +1 -1
- package/docs/en/migration_from_next-i18next_to_intlayer.md +1 -1
- package/docs/en/migration_from_next-intl_to_intlayer.md +1 -1
- package/docs/en/migration_from_nuxtjs_i18n_to_intlayer.md +1 -1
- package/docs/en/migration_from_react-i18next_to_intlayer.md +1 -1
- package/docs/en/migration_from_vue-i18n_to_intlayer.md +1 -1
- package/docs/en/releases/v8.md +187 -1
- package/docs/en/releases/v9.md +220 -0
- package/docs/en-GB/cli/doc-review.md +110 -4
- package/docs/en-GB/cli/index.md +1 -1
- package/docs/en-GB/cli/scan.md +1 -1
- package/docs/en-GB/configuration.md +35 -2
- package/docs/en-GB/dictionary/condition.md +364 -1
- package/docs/en-GB/dictionary/enumeration.md +577 -5
- package/docs/en-GB/dictionary/file.md +317 -1
- package/docs/en-GB/dictionary/gender.md +375 -2
- package/docs/en-GB/dictionary/nesting.md +368 -71
- package/docs/en-GB/dictionary/plurial.md +347 -7
- package/docs/en-GB/dictionary/translation.md +320 -32
- package/docs/en-GB/dynamic_dictionaries/collections.md +1 -1
- package/docs/en-GB/dynamic_dictionaries/dynamic_content.md +1 -1
- package/docs/en-GB/dynamic_dictionaries/index.md +1 -1
- package/docs/en-GB/dynamic_dictionaries/variants.md +1 -1
- package/docs/en-GB/releases/v8.md +1 -1
- package/docs/en-GB/releases/v9.md +220 -0
- package/docs/es/cli/doc-review.md +110 -4
- package/docs/es/cli/index.md +1 -1
- package/docs/es/cli/scan.md +1 -1
- package/docs/es/configuration.md +36 -3
- package/docs/es/dictionary/condition.md +167 -5
- package/docs/es/dictionary/enumeration.md +537 -12
- package/docs/es/dictionary/file.md +151 -1
- package/docs/es/dictionary/gender.md +168 -7
- package/docs/es/dictionary/nesting.md +173 -65
- package/docs/es/dictionary/plurial.md +347 -7
- package/docs/es/dictionary/translation.md +156 -2
- package/docs/es/dynamic_dictionaries/collections.md +1 -1
- package/docs/es/dynamic_dictionaries/dynamic_content.md +1 -1
- package/docs/es/dynamic_dictionaries/index.md +1 -1
- package/docs/es/dynamic_dictionaries/variants.md +1 -1
- package/docs/es/migration_from_i18next_to_intlayer.md +1 -1
- package/docs/es/migration_from_next-i18next_to_intlayer.md +1 -1
- package/docs/es/migration_from_next-intl_to_intlayer.md +1 -1
- package/docs/es/migration_from_nuxtjs_i18n_to_intlayer.md +1 -1
- package/docs/es/migration_from_react-i18next_to_intlayer.md +1 -1
- package/docs/es/migration_from_vue-i18n_to_intlayer.md +1 -1
- package/docs/es/releases/v8.md +187 -1
- package/docs/es/releases/v9.md +228 -0
- package/docs/fr/cli/doc-review.md +110 -4
- package/docs/fr/cli/index.md +1 -1
- package/docs/fr/cli/scan.md +1 -1
- package/docs/fr/configuration.md +49 -16
- package/docs/fr/dictionary/condition.md +369 -6
- package/docs/fr/dictionary/enumeration.md +540 -6
- package/docs/fr/dictionary/file.md +151 -1
- package/docs/fr/dictionary/gender.md +168 -7
- package/docs/fr/dictionary/nesting.md +357 -86
- package/docs/fr/dictionary/plurial.md +174 -5
- package/docs/fr/dictionary/translation.md +156 -2
- package/docs/fr/dynamic_dictionaries/collections.md +1 -1
- package/docs/fr/dynamic_dictionaries/dynamic_content.md +1 -1
- package/docs/fr/dynamic_dictionaries/index.md +1 -1
- package/docs/fr/dynamic_dictionaries/variants.md +1 -1
- package/docs/fr/migration_from_i18next_to_intlayer.md +1 -1
- package/docs/fr/migration_from_next-i18next_to_intlayer.md +1 -1
- package/docs/fr/migration_from_next-intl_to_intlayer.md +1 -1
- package/docs/fr/migration_from_nuxtjs_i18n_to_intlayer.md +1 -1
- package/docs/fr/migration_from_react-i18next_to_intlayer.md +1 -1
- package/docs/fr/migration_from_vue-i18n_to_intlayer.md +1 -1
- package/docs/fr/releases/v8.md +187 -1
- package/docs/fr/releases/v9.md +220 -0
- package/docs/hi/cli/doc-review.md +110 -4
- package/docs/hi/cli/index.md +1 -1
- package/docs/hi/cli/scan.md +1 -1
- package/docs/hi/configuration.md +49 -16
- package/docs/hi/dictionary/condition.md +167 -5
- package/docs/hi/dictionary/enumeration.md +540 -6
- package/docs/hi/dictionary/file.md +151 -1
- package/docs/hi/dictionary/gender.md +168 -7
- package/docs/hi/dictionary/nesting.md +173 -65
- package/docs/hi/dictionary/plurial.md +174 -5
- package/docs/hi/dictionary/translation.md +155 -5
- package/docs/hi/dynamic_dictionaries/collections.md +1 -1
- package/docs/hi/dynamic_dictionaries/dynamic_content.md +1 -1
- package/docs/hi/dynamic_dictionaries/index.md +1 -1
- package/docs/hi/dynamic_dictionaries/variants.md +1 -1
- package/docs/hi/releases/v8.md +188 -2
- package/docs/hi/releases/v9.md +232 -0
- package/docs/id/cli/doc-review.md +110 -4
- package/docs/id/cli/index.md +1 -1
- package/docs/id/cli/scan.md +1 -1
- package/docs/id/configuration.md +35 -2
- package/docs/id/dictionary/condition.md +167 -5
- package/docs/id/dictionary/enumeration.md +540 -6
- package/docs/id/dictionary/file.md +318 -2
- package/docs/id/dictionary/gender.md +381 -8
- package/docs/id/dictionary/nesting.md +357 -86
- package/docs/id/dictionary/plurial.md +174 -5
- package/docs/id/dictionary/translation.md +156 -2
- package/docs/id/dynamic_dictionaries/collections.md +1 -1
- package/docs/id/dynamic_dictionaries/dynamic_content.md +1 -1
- package/docs/id/dynamic_dictionaries/index.md +1 -1
- package/docs/id/dynamic_dictionaries/variants.md +1 -1
- package/docs/id/releases/v8.md +191 -2
- package/docs/id/releases/v9.md +232 -0
- package/docs/it/cli/doc-review.md +110 -4
- package/docs/it/cli/index.md +1 -1
- package/docs/it/cli/scan.md +1 -1
- package/docs/it/configuration.md +49 -16
- package/docs/it/dictionary/condition.md +167 -5
- package/docs/it/dictionary/enumeration.md +540 -6
- package/docs/it/dictionary/file.md +318 -2
- package/docs/it/dictionary/gender.md +168 -7
- package/docs/it/dictionary/nesting.md +173 -65
- package/docs/it/dictionary/plurial.md +347 -7
- package/docs/it/dictionary/translation.md +156 -2
- package/docs/it/dynamic_dictionaries/collections.md +1 -1
- package/docs/it/dynamic_dictionaries/dynamic_content.md +1 -1
- package/docs/it/dynamic_dictionaries/index.md +1 -1
- package/docs/it/dynamic_dictionaries/variants.md +1 -1
- package/docs/it/intlayer_with_vite+react.md +0 -48
- package/docs/it/migration_from_i18next_to_intlayer.md +1 -1
- package/docs/it/migration_from_next-i18next_to_intlayer.md +1 -1
- package/docs/it/migration_from_next-intl_to_intlayer.md +1 -1
- package/docs/it/migration_from_nuxtjs_i18n_to_intlayer.md +1 -1
- package/docs/it/migration_from_react-i18next_to_intlayer.md +1 -1
- package/docs/it/migration_from_vue-i18n_to_intlayer.md +1 -1
- package/docs/it/releases/v8.md +200 -2
- package/docs/it/releases/v9.md +232 -0
- package/docs/ja/cli/doc-review.md +110 -4
- package/docs/ja/cli/index.md +1 -1
- package/docs/ja/cli/scan.md +1 -1
- package/docs/ja/configuration.md +50 -17
- package/docs/ja/dictionary/condition.md +167 -5
- package/docs/ja/dictionary/enumeration.md +540 -6
- package/docs/ja/dictionary/file.md +151 -1
- package/docs/ja/dictionary/gender.md +168 -7
- package/docs/ja/dictionary/nesting.md +173 -65
- package/docs/ja/dictionary/plurial.md +174 -5
- package/docs/ja/dictionary/translation.md +169 -8
- package/docs/ja/dynamic_dictionaries/collections.md +1 -1
- package/docs/ja/dynamic_dictionaries/dynamic_content.md +1 -1
- package/docs/ja/dynamic_dictionaries/index.md +1 -1
- package/docs/ja/dynamic_dictionaries/variants.md +1 -1
- package/docs/ja/intlayer_with_vite+react.md +290 -0
- package/docs/ja/migration_from_i18next_to_intlayer.md +1 -1
- package/docs/ja/migration_from_next-i18next_to_intlayer.md +1 -1
- package/docs/ja/migration_from_next-intl_to_intlayer.md +1 -1
- package/docs/ja/migration_from_nuxtjs_i18n_to_intlayer.md +1 -1
- package/docs/ja/migration_from_react-i18next_to_intlayer.md +1 -1
- package/docs/ja/migration_from_vue-i18n_to_intlayer.md +1 -1
- package/docs/ja/releases/v8.md +193 -4
- package/docs/ja/releases/v9.md +232 -0
- package/docs/ko/cli/doc-review.md +110 -4
- package/docs/ko/cli/index.md +1 -1
- package/docs/ko/cli/scan.md +1 -1
- package/docs/ko/configuration.md +49 -16
- package/docs/ko/dictionary/condition.md +167 -5
- package/docs/ko/dictionary/enumeration.md +540 -6
- package/docs/ko/dictionary/file.md +151 -1
- package/docs/ko/dictionary/gender.md +168 -7
- package/docs/ko/dictionary/nesting.md +173 -65
- package/docs/ko/dictionary/plurial.md +174 -5
- package/docs/ko/dictionary/translation.md +169 -8
- package/docs/ko/dynamic_dictionaries/collections.md +1 -1
- package/docs/ko/dynamic_dictionaries/dynamic_content.md +1 -1
- package/docs/ko/dynamic_dictionaries/index.md +1 -1
- package/docs/ko/dynamic_dictionaries/variants.md +1 -1
- package/docs/ko/intlayer_with_vite+react.md +48 -490
- package/docs/ko/migration_from_i18next_to_intlayer.md +1 -1
- package/docs/ko/migration_from_next-i18next_to_intlayer.md +1 -1
- package/docs/ko/migration_from_next-intl_to_intlayer.md +1 -1
- package/docs/ko/migration_from_nuxtjs_i18n_to_intlayer.md +1 -1
- package/docs/ko/migration_from_react-i18next_to_intlayer.md +1 -1
- package/docs/ko/migration_from_vue-i18n_to_intlayer.md +1 -1
- package/docs/ko/releases/v8.md +192 -1
- package/docs/ko/releases/v9.md +232 -0
- package/docs/nl/cli/index.md +1 -1
- package/docs/nl/cli/scan.md +1 -1
- package/docs/nl/configuration.md +36 -3
- package/docs/pl/cli/doc-review.md +110 -4
- package/docs/pl/cli/index.md +1 -1
- package/docs/pl/cli/scan.md +1 -1
- package/docs/pl/configuration.md +35 -2
- package/docs/pl/dictionary/condition.md +167 -5
- package/docs/pl/dictionary/enumeration.md +540 -6
- package/docs/pl/dictionary/file.md +318 -2
- package/docs/pl/dictionary/gender.md +168 -7
- package/docs/pl/dictionary/nesting.md +173 -65
- package/docs/pl/dictionary/plurial.md +174 -5
- package/docs/pl/dictionary/translation.md +156 -2
- package/docs/pl/dynamic_dictionaries/collections.md +1 -1
- package/docs/pl/dynamic_dictionaries/dynamic_content.md +1 -1
- package/docs/pl/dynamic_dictionaries/index.md +1 -1
- package/docs/pl/dynamic_dictionaries/variants.md +1 -1
- package/docs/pl/releases/v8.md +188 -2
- package/docs/pl/releases/v9.md +232 -0
- package/docs/pt/cli/doc-review.md +110 -4
- package/docs/pt/cli/index.md +1 -1
- package/docs/pt/cli/scan.md +1 -1
- package/docs/pt/configuration.md +49 -16
- package/docs/pt/dictionary/condition.md +167 -5
- package/docs/pt/dictionary/enumeration.md +540 -6
- package/docs/pt/dictionary/file.md +151 -1
- package/docs/pt/dictionary/gender.md +168 -7
- package/docs/pt/dictionary/nesting.md +173 -65
- package/docs/pt/dictionary/plurial.md +347 -7
- package/docs/pt/dictionary/translation.md +156 -2
- package/docs/pt/dynamic_dictionaries/collections.md +1 -1
- package/docs/pt/dynamic_dictionaries/dynamic_content.md +1 -1
- package/docs/pt/dynamic_dictionaries/index.md +1 -1
- package/docs/pt/dynamic_dictionaries/variants.md +1 -1
- package/docs/pt/migration_from_i18next_to_intlayer.md +1 -1
- package/docs/pt/migration_from_next-i18next_to_intlayer.md +1 -1
- package/docs/pt/migration_from_next-intl_to_intlayer.md +1 -1
- package/docs/pt/migration_from_nuxtjs_i18n_to_intlayer.md +1 -1
- package/docs/pt/migration_from_react-i18next_to_intlayer.md +1 -1
- package/docs/pt/migration_from_vue-i18n_to_intlayer.md +1 -1
- package/docs/pt/releases/v8.md +187 -1
- package/docs/pt/releases/v9.md +232 -0
- package/docs/ru/cli/doc-review.md +110 -4
- package/docs/ru/cli/index.md +1 -1
- package/docs/ru/cli/scan.md +1 -1
- package/docs/ru/configuration.md +35 -2
- package/docs/ru/dictionary/condition.md +366 -39
- package/docs/ru/dictionary/enumeration.md +777 -7
- package/docs/ru/dictionary/file.md +318 -2
- package/docs/ru/dictionary/gender.md +168 -7
- package/docs/ru/dictionary/nesting.md +368 -71
- package/docs/ru/dictionary/plurial.md +347 -7
- package/docs/ru/dictionary/translation.md +321 -33
- package/docs/ru/dynamic_dictionaries/collections.md +1 -1
- package/docs/ru/dynamic_dictionaries/dynamic_content.md +1 -1
- package/docs/ru/dynamic_dictionaries/index.md +1 -1
- package/docs/ru/dynamic_dictionaries/variants.md +1 -1
- package/docs/ru/intlayer_with_vite+react.md +48 -47
- package/docs/ru/migration_from_i18next_to_intlayer.md +1 -1
- package/docs/ru/migration_from_next-i18next_to_intlayer.md +1 -1
- package/docs/ru/migration_from_next-intl_to_intlayer.md +1 -1
- package/docs/ru/migration_from_nuxtjs_i18n_to_intlayer.md +1 -1
- package/docs/ru/migration_from_react-i18next_to_intlayer.md +1 -1
- package/docs/ru/migration_from_vue-i18n_to_intlayer.md +1 -1
- package/docs/ru/releases/v8.md +194 -2
- package/docs/ru/releases/v9.md +232 -0
- package/docs/tr/cli/doc-review.md +110 -4
- package/docs/tr/cli/index.md +1 -1
- package/docs/tr/cli/scan.md +1 -1
- package/docs/tr/configuration.md +35 -2
- package/docs/tr/dictionary/condition.md +167 -5
- package/docs/tr/dictionary/enumeration.md +540 -6
- package/docs/tr/dictionary/file.md +151 -1
- package/docs/tr/dictionary/gender.md +168 -7
- package/docs/tr/dictionary/nesting.md +173 -65
- package/docs/tr/dictionary/plurial.md +174 -5
- package/docs/tr/dictionary/translation.md +156 -2
- package/docs/tr/dynamic_dictionaries/collections.md +1 -1
- package/docs/tr/dynamic_dictionaries/dynamic_content.md +1 -1
- package/docs/tr/dynamic_dictionaries/index.md +1 -1
- package/docs/tr/dynamic_dictionaries/variants.md +1 -1
- package/docs/tr/migration_from_i18next_to_intlayer.md +1 -1
- package/docs/tr/migration_from_next-i18next_to_intlayer.md +1 -1
- package/docs/tr/migration_from_next-intl_to_intlayer.md +1 -1
- package/docs/tr/migration_from_nuxtjs_i18n_to_intlayer.md +1 -1
- package/docs/tr/migration_from_react-i18next_to_intlayer.md +1 -1
- package/docs/tr/migration_from_vue-i18n_to_intlayer.md +1 -1
- package/docs/tr/releases/v8.md +187 -1
- package/docs/tr/releases/v9.md +232 -0
- package/docs/uk/cli/doc-review.md +110 -4
- package/docs/uk/cli/index.md +1 -1
- package/docs/uk/cli/scan.md +1 -1
- package/docs/uk/configuration.md +35 -2
- package/docs/uk/dictionary/condition.md +167 -5
- package/docs/uk/dictionary/enumeration.md +540 -6
- package/docs/uk/dictionary/file.md +318 -2
- package/docs/uk/dictionary/gender.md +381 -8
- package/docs/uk/dictionary/nesting.md +173 -65
- package/docs/uk/dictionary/plurial.md +174 -5
- package/docs/uk/dictionary/translation.md +156 -2
- package/docs/uk/dynamic_dictionaries/collections.md +1 -1
- package/docs/uk/dynamic_dictionaries/dynamic_content.md +1 -1
- package/docs/uk/dynamic_dictionaries/index.md +1 -1
- package/docs/uk/dynamic_dictionaries/variants.md +1 -1
- package/docs/uk/releases/v8.md +191 -3
- package/docs/uk/releases/v9.md +232 -0
- package/docs/ur/cli/index.md +1 -1
- package/docs/ur/cli/scan.md +1 -1
- package/docs/ur/configuration.md +36 -3
- package/docs/vi/cli/doc-review.md +110 -4
- package/docs/vi/cli/index.md +1 -1
- package/docs/vi/cli/scan.md +1 -1
- package/docs/vi/configuration.md +50 -17
- package/docs/vi/dictionary/condition.md +167 -5
- package/docs/vi/dictionary/enumeration.md +591 -14
- package/docs/vi/dictionary/file.md +318 -2
- package/docs/vi/dictionary/gender.md +168 -7
- package/docs/vi/dictionary/nesting.md +357 -86
- package/docs/vi/dictionary/plurial.md +174 -5
- package/docs/vi/dictionary/translation.md +156 -2
- package/docs/vi/dynamic_dictionaries/collections.md +1 -1
- package/docs/vi/dynamic_dictionaries/dynamic_content.md +1 -1
- package/docs/vi/dynamic_dictionaries/index.md +1 -1
- package/docs/vi/dynamic_dictionaries/variants.md +1 -1
- package/docs/vi/releases/v8.md +190 -1
- package/docs/vi/releases/v9.md +232 -0
- package/docs/zh/cli/doc-review.md +110 -4
- package/docs/zh/cli/index.md +1 -1
- package/docs/zh/cli/scan.md +1 -1
- package/docs/zh/configuration.md +49 -16
- package/docs/zh/dictionary/condition.md +167 -5
- package/docs/zh/dictionary/enumeration.md +540 -6
- package/docs/zh/dictionary/file.md +151 -1
- package/docs/zh/dictionary/gender.md +168 -7
- package/docs/zh/dictionary/nesting.md +173 -65
- package/docs/zh/dictionary/plurial.md +174 -5
- package/docs/zh/dictionary/translation.md +169 -8
- package/docs/zh/dynamic_dictionaries/collections.md +1 -1
- package/docs/zh/dynamic_dictionaries/dynamic_content.md +1 -1
- package/docs/zh/dynamic_dictionaries/index.md +1 -1
- package/docs/zh/dynamic_dictionaries/variants.md +1 -1
- package/docs/zh/intlayer_with_vite+react.md +48 -288
- package/docs/zh/releases/v8.md +1 -1
- package/docs/zh/releases/v9.md +220 -0
- package/package.json +7 -7
- package/src/generated/docs.entry.ts +320 -0
- package/dist/esm/_virtual/_rolldown/runtime.mjs +0 -8
package/docs/ru/configuration.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2024-08-13
|
|
3
|
-
updatedAt: 2026-
|
|
3
|
+
updatedAt: 2026-06-17
|
|
4
4
|
title: Конфигурация (Configuration)
|
|
5
5
|
description: Узнайте, как настроить Intlayer для вашего приложения. Разберитесь в различных параметрах и опциях, доступных для настройки Intlayer в соответствии с вашими потребностями.
|
|
6
6
|
keywords:
|
|
@@ -14,6 +14,9 @@ slugs:
|
|
|
14
14
|
- concept
|
|
15
15
|
- configuration
|
|
16
16
|
history:
|
|
17
|
+
- version: 8.10.0
|
|
18
|
+
date: 2026-06-17
|
|
19
|
+
changes: "Добавлена опция `format` в конфигурацию словаря"
|
|
17
20
|
- version: 8.9.4
|
|
18
21
|
date: 2026-05-12
|
|
19
22
|
changes: "Добавлена поддержка провайдера LM Studio"
|
|
@@ -135,6 +138,7 @@ Intlayer принимает форматы файлов конфигурации
|
|
|
135
138
|
````typescript fileName="intlayer.config.ts" codeFormat="typescript"
|
|
136
139
|
import { Locales, type IntlayerConfig } from "intlayer";
|
|
137
140
|
import { nextjsRewrite } from "intlayer/routing";
|
|
141
|
+
import { syncJSON } from "@intlayer/sync-json-plugin";
|
|
138
142
|
import { z } from "zod";
|
|
139
143
|
|
|
140
144
|
/**
|
|
@@ -582,10 +586,38 @@ const config: IntlayerConfig = {
|
|
|
582
586
|
}),
|
|
583
587
|
},
|
|
584
588
|
|
|
589
|
+
/**
|
|
590
|
+
* Конфигурация словаря.
|
|
591
|
+
*/
|
|
592
|
+
dictionary: {
|
|
593
|
+
/**
|
|
594
|
+
* Управляет способом импорта словарей.
|
|
595
|
+
* - "static": Статически импортируется во время сборки.
|
|
596
|
+
* - "dynamic": Динамически импортируется с помощью Suspense.
|
|
597
|
+
* - "fetch": Динамически загружается через API живой синхронизации.
|
|
598
|
+
*/
|
|
599
|
+
importMode: "static",
|
|
600
|
+
|
|
601
|
+
/**
|
|
602
|
+
* Формат сообщений по умолчанию для всех словарей в проекте.
|
|
603
|
+
* - 'intlayer': Собственный формат intlayer (по умолчанию).
|
|
604
|
+
* - 'icu': Формат сообщений ICU.
|
|
605
|
+
* - 'i18next': Формат i18next.
|
|
606
|
+
* - 'vue-i18n': Формат Vue I18n.
|
|
607
|
+
* - 'po': Формат GNU Gettext PO.
|
|
608
|
+
*/
|
|
609
|
+
format: "icu",
|
|
610
|
+
},
|
|
611
|
+
|
|
585
612
|
/**
|
|
586
613
|
* Конфигурация плагинов.
|
|
587
614
|
*/
|
|
588
|
-
plugins: [
|
|
615
|
+
plugins: [
|
|
616
|
+
syncJSON({
|
|
617
|
+
format: "icu",
|
|
618
|
+
source: ({ locale }) => `./messages/${locale}.json`,
|
|
619
|
+
}),
|
|
620
|
+
],
|
|
589
621
|
};
|
|
590
622
|
|
|
591
623
|
export default config;
|
|
@@ -862,6 +894,7 @@ export default config;
|
|
|
862
894
|
| `contentAutoTransformation` | Автоматически преобразует строки контента в типизированные узлы (markdown, HTML или вставка). | `boolean` | <br/> `{ markdown?: boolean; html?: boolean; insertion?: boolean }` | `false` | `true` | • Markdown : `### Title` → `md('### Title')`.<br/>• HTML : `<div>Title</div>` → `html('<div>Title</div>')`.<br/>• Вставка : `Hello {{name}}` → `insert('Hello {{name}}')`. |
|
|
863
895
|
| `location` | Указывает, где хранятся файлы словарей и как они синхронизируются с CMS. | `'local'` | <br/> `'remote'` | <br/> `'hybrid'` | <br/> `'plugin'` | <br/> `string` | `'local'` | `'hybrid'` | • `'local'`: управление только локально.<br/>• `'remote'`: управление только удаленно (CMS).<br/>• `'hybrid'`: управление и локально, и удаленно.<br/>• `'plugin'` или кастомная строка: управление плагином или кастомным источником. |
|
|
864
896
|
| `importMode` | Управляет способом импорта словарей. | `'static'` | <br/> `'dynamic'` | <br/> `'fetch'` | `'static'` | `'dynamic'` | • `'static'`: статический импорт.<br/>• `'dynamic'`: динамический импорт через Suspense.<br/>• `'fetch'`: получение через Live Sync API; откат к `'dynamic'` при неудаче.<br/>• Требует плагины `@intlayer/babel` и `@intlayer/swc`.<br/>• Ключи должны быть объявлены статически.<br/>• Игнорируется, если `optimize` выключен.<br/>• Не влияет на `getIntlayer`, `getDictionary` и т.д. |
|
|
897
|
+
| `format` | Формат сообщений по умолчанию для всех словарей в проекте. | `'intlayer'` | <br/> `'icu'` | <br/> `'i18next'` | <br/> `'vue-i18n'` | <br/> `'po'` | `'intlayer'` | `'icu'` | • `'intlayer'`: Собственный формат intlayer.<br/>• `'icu'`: Формат сообщений ICU.<br/>• `'i18next'`: Формат i18next.<br/>• `'vue-i18n'`: Формат Vue I18n.<br/>• `'po'`: Формат GNU Gettext PO. |
|
|
865
898
|
| `priority` | Приоритет словаря. Более высокие значения побеждают более низкие при разрешении конфликтов между словарями. | `number` | `undefined` | `1` | |
|
|
866
899
|
| `live` | Устарело - используйте `importMode: 'fetch'`. Указывало, должен ли контент словаря получаться динамически через Live Sync API. | `boolean` | `undefined` | | Переименовано в `importMode: 'fetch'` в v8.0.0. |
|
|
867
900
|
| `schema` | Генерируется автоматически Intlayer для валидации JSON-схемы. | `'https://intlayer.org/schema.json'` | авто-генерация | | Не редактируйте вручную. |
|
|
@@ -27,47 +27,215 @@ author: aymericzip
|
|
|
27
27
|
|
|
28
28
|
## Настройка Условного Контента
|
|
29
29
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
30
|
+
<Tabs group="framework">
|
|
31
|
+
<Tab label="React" value="react">
|
|
32
|
+
|
|
33
|
+
To utilize conditional content within a React component, import and use the `useIntlayer` hook from the `react-intlayer` package. This hook fetches the content for the specified key and allows you to pass in a condition to select the appropriate output.
|
|
34
|
+
|
|
35
|
+
```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
|
|
36
|
+
import type { FC } from "react";
|
|
37
|
+
import { useIntlayer } from "react-intlayer";
|
|
38
|
+
|
|
39
|
+
const ConditionalComponent: FC = () => {
|
|
40
|
+
const { myCondition } = useIntlayer("my_key");
|
|
41
|
+
|
|
42
|
+
return (
|
|
43
|
+
<div>
|
|
44
|
+
<p>
|
|
45
|
+
{
|
|
46
|
+
/* Output: my content when it's true */
|
|
47
|
+
myCondition(true)
|
|
48
|
+
}
|
|
49
|
+
</p>
|
|
50
|
+
<p>
|
|
51
|
+
{
|
|
52
|
+
/* Output: my content when it's false */
|
|
53
|
+
myCondition(false)
|
|
54
|
+
}
|
|
55
|
+
</p>
|
|
56
|
+
<p>
|
|
57
|
+
{
|
|
58
|
+
/* Output: my content when the condition fails */
|
|
59
|
+
myCondition("")
|
|
60
|
+
}
|
|
61
|
+
</p>
|
|
62
|
+
<p>
|
|
63
|
+
{
|
|
64
|
+
/* Output: my content when the condition fails */
|
|
65
|
+
myCondition(undefined)
|
|
66
|
+
}
|
|
67
|
+
</p>
|
|
68
|
+
</div>
|
|
69
|
+
);
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
export default ConditionalComponent;
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
</Tab>
|
|
76
|
+
<Tab label="Next.js" value="nextjs">
|
|
77
|
+
|
|
78
|
+
To utilize conditional content in Next.js Client Components, retrieve it via the `useIntlayer` hook. Here's an example:
|
|
79
|
+
|
|
80
|
+
```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
|
|
81
|
+
"use client";
|
|
82
|
+
|
|
83
|
+
import type { FC } from "react";
|
|
84
|
+
import { useIntlayer } from "next-intlayer";
|
|
85
|
+
|
|
86
|
+
const ConditionalComponent: FC = () => {
|
|
87
|
+
const { myCondition } = useIntlayer("my_key");
|
|
88
|
+
|
|
89
|
+
return (
|
|
90
|
+
<div>
|
|
91
|
+
<p>{myCondition(true)}</p>
|
|
92
|
+
<p>{myCondition(false)}</p>
|
|
93
|
+
</div>
|
|
94
|
+
);
|
|
95
|
+
};
|
|
96
|
+
|
|
97
|
+
export default ConditionalComponent;
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
</Tab>
|
|
101
|
+
<Tab label="Vue" value="vue">
|
|
102
|
+
|
|
103
|
+
To utilize conditional content in Vue components, retrieve it via the `useIntlayer` hook. Here's an example:
|
|
104
|
+
|
|
105
|
+
```vue fileName="**/*.vue"
|
|
106
|
+
<script setup lang="ts">
|
|
107
|
+
import { useIntlayer } from "vue-intlayer";
|
|
108
|
+
|
|
109
|
+
const { myCondition } = useIntlayer("my_key");
|
|
110
|
+
</script>
|
|
111
|
+
|
|
112
|
+
<template>
|
|
113
|
+
<div>
|
|
114
|
+
<p>{{ myCondition(true) }}</p>
|
|
115
|
+
<p>{{ myCondition(false) }}</p>
|
|
116
|
+
</div>
|
|
117
|
+
</template>
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
</Tab>
|
|
121
|
+
<Tab label="Svelte" value="svelte">
|
|
122
|
+
|
|
123
|
+
To utilize conditional content in Svelte components, retrieve it via the `useIntlayer` hook. The store is accessed with `$`. Here's an example:
|
|
124
|
+
|
|
125
|
+
```svelte fileName="**/*.svelte"
|
|
126
|
+
<script lang="ts">
|
|
127
|
+
import { useIntlayer } from "svelte-intlayer";
|
|
128
|
+
|
|
129
|
+
const content = useIntlayer("my_key");
|
|
130
|
+
</script>
|
|
131
|
+
|
|
132
|
+
<div>
|
|
133
|
+
<p>{$content.myCondition(true)}</p>
|
|
134
|
+
<p>{$content.myCondition(false)}</p>
|
|
135
|
+
</div>
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
</Tab>
|
|
139
|
+
<Tab label="Preact" value="preact">
|
|
140
|
+
|
|
141
|
+
To utilize conditional content in Preact components, retrieve it via the `useIntlayer` hook. Here's an example:
|
|
142
|
+
|
|
143
|
+
```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
|
|
144
|
+
import type { FC } from "preact";
|
|
145
|
+
import { useIntlayer } from "preact-intlayer";
|
|
146
|
+
|
|
147
|
+
const ConditionalComponent: FC = () => {
|
|
148
|
+
const { myCondition } = useIntlayer("my_key");
|
|
149
|
+
|
|
150
|
+
return (
|
|
151
|
+
<div>
|
|
152
|
+
<p>{myCondition(true)}</p>
|
|
153
|
+
<p>{myCondition(false)}</p>
|
|
154
|
+
</div>
|
|
155
|
+
);
|
|
156
|
+
};
|
|
157
|
+
|
|
158
|
+
export default ConditionalComponent;
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
</Tab>
|
|
162
|
+
<Tab label="Solid" value="solid">
|
|
163
|
+
|
|
164
|
+
To utilize conditional content in SolidJS components, retrieve it via the `useIntlayer` hook. Here's an example:
|
|
165
|
+
|
|
166
|
+
```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
|
|
167
|
+
import type { Component } from "solid-js";
|
|
168
|
+
import { useIntlayer } from "solid-intlayer";
|
|
169
|
+
|
|
170
|
+
const ConditionalComponent: Component = () => {
|
|
171
|
+
const { myCondition } = useIntlayer("my_key");
|
|
172
|
+
|
|
173
|
+
return (
|
|
174
|
+
<div>
|
|
175
|
+
<p>{myCondition(true)}</p>
|
|
176
|
+
<p>{myCondition(false)}</p>
|
|
177
|
+
</div>
|
|
178
|
+
);
|
|
179
|
+
};
|
|
180
|
+
|
|
181
|
+
export default ConditionalComponent;
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
</Tab>
|
|
185
|
+
<Tab label="Angular" value="angular">
|
|
186
|
+
|
|
187
|
+
To utilize conditional content in Angular components, retrieve it via the `useIntlayer` hook. Here's an example:
|
|
188
|
+
|
|
189
|
+
```typescript fileName="app.component.ts" codeFormat="typescript"
|
|
190
|
+
import { Component } from "@angular/core";
|
|
191
|
+
import { useIntlayer } from "angular-intlayer";
|
|
192
|
+
|
|
193
|
+
@Component({
|
|
194
|
+
selector: "app-conditional",
|
|
195
|
+
template: `
|
|
196
|
+
<div>
|
|
197
|
+
<p>{{ content().myCondition(true) }}</p>
|
|
198
|
+
<p>{{ content().myCondition(false) }}</p>
|
|
199
|
+
</div>
|
|
200
|
+
`,
|
|
201
|
+
})
|
|
202
|
+
export class ConditionalComponent {
|
|
203
|
+
content = useIntlayer("my_key");
|
|
63
204
|
}
|
|
64
205
|
```
|
|
65
206
|
|
|
66
|
-
>
|
|
207
|
+
</Tab>
|
|
208
|
+
<Tab label="Vanilla JS" value="vanilla">
|
|
209
|
+
|
|
210
|
+
To utilize conditional content with `vanilla-intlayer`, retrieve it via the `useIntlayer` hook. Here's an example:
|
|
211
|
+
|
|
212
|
+
```typescript fileName="**/*.ts" codeFormat={["typescript", "esm"]}
|
|
213
|
+
import { installIntlayer, useIntlayer } from "vanilla-intlayer";
|
|
67
214
|
|
|
215
|
+
installIntlayer();
|
|
216
|
+
|
|
217
|
+
const content = useIntlayer("my_key").onChange((newContent) => {
|
|
218
|
+
document.getElementById("true-content")!.textContent =
|
|
219
|
+
newContent.myCondition(true);
|
|
220
|
+
document.getElementById("false-content")!.textContent =
|
|
221
|
+
newContent.myCondition(false);
|
|
222
|
+
});
|
|
223
|
+
|
|
224
|
+
// Initial render
|
|
225
|
+
document.getElementById("true-content")!.textContent =
|
|
226
|
+
content.myCondition(true);
|
|
227
|
+
document.getElementById("false-content")!.textContent =
|
|
228
|
+
content.myCondition(false);
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
</Tab>
|
|
232
|
+
</Tabs>
|
|
68
233
|
## Использование Условного Контента с React Intlayer
|
|
69
234
|
|
|
70
|
-
|
|
235
|
+
<Tabs group="framework">
|
|
236
|
+
<Tab label="React" value="react">
|
|
237
|
+
|
|
238
|
+
To utilize conditional content within a React component, import and use the `useIntlayer` hook from the `react-intlayer` package. This hook fetches the content for the specified key and allows you to pass in a condition to select the appropriate output.
|
|
71
239
|
|
|
72
240
|
```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
|
|
73
241
|
import type { FC } from "react";
|
|
@@ -80,25 +248,25 @@ const ConditionalComponent: FC = () => {
|
|
|
80
248
|
<div>
|
|
81
249
|
<p>
|
|
82
250
|
{
|
|
83
|
-
/*
|
|
251
|
+
/* Output: my content when it's true */
|
|
84
252
|
myCondition(true)
|
|
85
253
|
}
|
|
86
254
|
</p>
|
|
87
255
|
<p>
|
|
88
256
|
{
|
|
89
|
-
/*
|
|
257
|
+
/* Output: my content when it's false */
|
|
90
258
|
myCondition(false)
|
|
91
259
|
}
|
|
92
260
|
</p>
|
|
93
261
|
<p>
|
|
94
262
|
{
|
|
95
|
-
/*
|
|
263
|
+
/* Output: my content when the condition fails */
|
|
96
264
|
myCondition("")
|
|
97
265
|
}
|
|
98
266
|
</p>
|
|
99
267
|
<p>
|
|
100
268
|
{
|
|
101
|
-
/*
|
|
269
|
+
/* Output: my content when the condition fails */
|
|
102
270
|
myCondition(undefined)
|
|
103
271
|
}
|
|
104
272
|
</p>
|
|
@@ -109,6 +277,165 @@ const ConditionalComponent: FC = () => {
|
|
|
109
277
|
export default ConditionalComponent;
|
|
110
278
|
```
|
|
111
279
|
|
|
280
|
+
</Tab>
|
|
281
|
+
<Tab label="Next.js" value="nextjs">
|
|
282
|
+
|
|
283
|
+
To utilize conditional content in Next.js Client Components, retrieve it via the `useIntlayer` hook. Here's an example:
|
|
284
|
+
|
|
285
|
+
```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
|
|
286
|
+
"use client";
|
|
287
|
+
|
|
288
|
+
import type { FC } from "react";
|
|
289
|
+
import { useIntlayer } from "next-intlayer";
|
|
290
|
+
|
|
291
|
+
const ConditionalComponent: FC = () => {
|
|
292
|
+
const { myCondition } = useIntlayer("my_key");
|
|
293
|
+
|
|
294
|
+
return (
|
|
295
|
+
<div>
|
|
296
|
+
<p>{myCondition(true)}</p>
|
|
297
|
+
<p>{myCondition(false)}</p>
|
|
298
|
+
</div>
|
|
299
|
+
);
|
|
300
|
+
};
|
|
301
|
+
|
|
302
|
+
export default ConditionalComponent;
|
|
303
|
+
```
|
|
304
|
+
|
|
305
|
+
</Tab>
|
|
306
|
+
<Tab label="Vue" value="vue">
|
|
307
|
+
|
|
308
|
+
To utilize conditional content in Vue components, retrieve it via the `useIntlayer` hook. Here's an example:
|
|
309
|
+
|
|
310
|
+
```vue fileName="**/*.vue"
|
|
311
|
+
<script setup lang="ts">
|
|
312
|
+
import { useIntlayer } from "vue-intlayer";
|
|
313
|
+
|
|
314
|
+
const { myCondition } = useIntlayer("my_key");
|
|
315
|
+
</script>
|
|
316
|
+
|
|
317
|
+
<template>
|
|
318
|
+
<div>
|
|
319
|
+
<p>{{ myCondition(true) }}</p>
|
|
320
|
+
<p>{{ myCondition(false) }}</p>
|
|
321
|
+
</div>
|
|
322
|
+
</template>
|
|
323
|
+
```
|
|
324
|
+
|
|
325
|
+
</Tab>
|
|
326
|
+
<Tab label="Svelte" value="svelte">
|
|
327
|
+
|
|
328
|
+
To utilize conditional content in Svelte components, retrieve it via the `useIntlayer` hook. The store is accessed with `$`. Here's an example:
|
|
329
|
+
|
|
330
|
+
```svelte fileName="**/*.svelte"
|
|
331
|
+
<script lang="ts">
|
|
332
|
+
import { useIntlayer } from "svelte-intlayer";
|
|
333
|
+
|
|
334
|
+
const content = useIntlayer("my_key");
|
|
335
|
+
</script>
|
|
336
|
+
|
|
337
|
+
<div>
|
|
338
|
+
<p>{$content.myCondition(true)}</p>
|
|
339
|
+
<p>{$content.myCondition(false)}</p>
|
|
340
|
+
</div>
|
|
341
|
+
```
|
|
342
|
+
|
|
343
|
+
</Tab>
|
|
344
|
+
<Tab label="Preact" value="preact">
|
|
345
|
+
|
|
346
|
+
To utilize conditional content in Preact components, retrieve it via the `useIntlayer` hook. Here's an example:
|
|
347
|
+
|
|
348
|
+
```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
|
|
349
|
+
import type { FC } from "preact";
|
|
350
|
+
import { useIntlayer } from "preact-intlayer";
|
|
351
|
+
|
|
352
|
+
const ConditionalComponent: FC = () => {
|
|
353
|
+
const { myCondition } = useIntlayer("my_key");
|
|
354
|
+
|
|
355
|
+
return (
|
|
356
|
+
<div>
|
|
357
|
+
<p>{myCondition(true)}</p>
|
|
358
|
+
<p>{myCondition(false)}</p>
|
|
359
|
+
</div>
|
|
360
|
+
);
|
|
361
|
+
};
|
|
362
|
+
|
|
363
|
+
export default ConditionalComponent;
|
|
364
|
+
```
|
|
365
|
+
|
|
366
|
+
</Tab>
|
|
367
|
+
<Tab label="Solid" value="solid">
|
|
368
|
+
|
|
369
|
+
To utilize conditional content in SolidJS components, retrieve it via the `useIntlayer` hook. Here's an example:
|
|
370
|
+
|
|
371
|
+
```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
|
|
372
|
+
import type { Component } from "solid-js";
|
|
373
|
+
import { useIntlayer } from "solid-intlayer";
|
|
374
|
+
|
|
375
|
+
const ConditionalComponent: Component = () => {
|
|
376
|
+
const { myCondition } = useIntlayer("my_key");
|
|
377
|
+
|
|
378
|
+
return (
|
|
379
|
+
<div>
|
|
380
|
+
<p>{myCondition(true)}</p>
|
|
381
|
+
<p>{myCondition(false)}</p>
|
|
382
|
+
</div>
|
|
383
|
+
);
|
|
384
|
+
};
|
|
385
|
+
|
|
386
|
+
export default ConditionalComponent;
|
|
387
|
+
```
|
|
388
|
+
|
|
389
|
+
</Tab>
|
|
390
|
+
<Tab label="Angular" value="angular">
|
|
391
|
+
|
|
392
|
+
To utilize conditional content in Angular components, retrieve it via the `useIntlayer` hook. Here's an example:
|
|
393
|
+
|
|
394
|
+
```typescript fileName="app.component.ts" codeFormat="typescript"
|
|
395
|
+
import { Component } from "@angular/core";
|
|
396
|
+
import { useIntlayer } from "angular-intlayer";
|
|
397
|
+
|
|
398
|
+
@Component({
|
|
399
|
+
selector: "app-conditional",
|
|
400
|
+
template: `
|
|
401
|
+
<div>
|
|
402
|
+
<p>{{ content().myCondition(true) }}</p>
|
|
403
|
+
<p>{{ content().myCondition(false) }}</p>
|
|
404
|
+
</div>
|
|
405
|
+
`,
|
|
406
|
+
})
|
|
407
|
+
export class ConditionalComponent {
|
|
408
|
+
content = useIntlayer("my_key");
|
|
409
|
+
}
|
|
410
|
+
```
|
|
411
|
+
|
|
412
|
+
</Tab>
|
|
413
|
+
<Tab label="Vanilla JS" value="vanilla">
|
|
414
|
+
|
|
415
|
+
To utilize conditional content with `vanilla-intlayer`, retrieve it via the `useIntlayer` hook. Here's an example:
|
|
416
|
+
|
|
417
|
+
```typescript fileName="**/*.ts" codeFormat={["typescript", "esm"]}
|
|
418
|
+
import { installIntlayer, useIntlayer } from "vanilla-intlayer";
|
|
419
|
+
|
|
420
|
+
installIntlayer();
|
|
421
|
+
|
|
422
|
+
const content = useIntlayer("my_key").onChange((newContent) => {
|
|
423
|
+
document.getElementById("true-content")!.textContent =
|
|
424
|
+
newContent.myCondition(true);
|
|
425
|
+
document.getElementById("false-content")!.textContent =
|
|
426
|
+
newContent.myCondition(false);
|
|
427
|
+
});
|
|
428
|
+
|
|
429
|
+
// Initial render
|
|
430
|
+
document.getElementById("true-content")!.textContent =
|
|
431
|
+
content.myCondition(true);
|
|
432
|
+
document.getElementById("false-content")!.textContent =
|
|
433
|
+
content.myCondition(false);
|
|
434
|
+
```
|
|
435
|
+
|
|
436
|
+
</Tab>
|
|
437
|
+
</Tabs>
|
|
438
|
+
|
|
112
439
|
## Дополнительные Ресурсы
|
|
113
440
|
|
|
114
441
|
Для получения более подробной информации о настройке и использовании обратитесь к следующим ресурсам:
|