@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
|
@@ -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: Learn how to configure Intlayer for your application. Understand the various settings and options available to customize Intlayer to your needs.
|
|
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: "Add `format` option to the dictionary configuration"
|
|
17
20
|
- version: 8.9.4
|
|
18
21
|
date: 2026-05-12
|
|
19
22
|
changes: "Add support for LM Studio provider"
|
|
@@ -135,6 +138,7 @@ Intlayer accepts JSON, JS, MJS, and TS configuration file formats:
|
|
|
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
|
/**
|
|
@@ -586,10 +590,38 @@ const config: IntlayerConfig = {
|
|
|
586
590
|
}),
|
|
587
591
|
},
|
|
588
592
|
|
|
593
|
+
/**
|
|
594
|
+
* Dictionary configuration.
|
|
595
|
+
*/
|
|
596
|
+
dictionary: {
|
|
597
|
+
/**
|
|
598
|
+
* Controls how dictionaries are imported.
|
|
599
|
+
* - "static": Statically imported at build time.
|
|
600
|
+
* - "dynamic": Dynamically imported using Suspense.
|
|
601
|
+
* - "fetch": Fetched dynamically via the live sync API.
|
|
602
|
+
*/
|
|
603
|
+
importMode: "static",
|
|
604
|
+
|
|
605
|
+
/**
|
|
606
|
+
* The default message format for all dictionaries in the project.
|
|
607
|
+
* - 'intlayer': Native intlayer format (default).
|
|
608
|
+
* - 'icu': ICU message format (used by next-intl, react-intl, etc.).
|
|
609
|
+
* - 'i18next': i18next interpolation format (used by i18next, react-i18next, next-i18next).
|
|
610
|
+
* - 'vue-i18n': Vue I18n format (used by vue-i18n).
|
|
611
|
+
* - 'po': GNU Gettext PO format.
|
|
612
|
+
*/
|
|
613
|
+
format: "icu",
|
|
614
|
+
},
|
|
615
|
+
|
|
589
616
|
/**
|
|
590
617
|
* Plugins configuration.
|
|
591
618
|
*/
|
|
592
|
-
plugins: [
|
|
619
|
+
plugins: [
|
|
620
|
+
syncJSON({
|
|
621
|
+
format: "icu",
|
|
622
|
+
source: ({ locale }) => `./messages/${locale}.json`,
|
|
623
|
+
}),
|
|
624
|
+
],
|
|
593
625
|
};
|
|
594
626
|
|
|
595
627
|
export default config;
|
|
@@ -886,6 +918,7 @@ For more information about content declaration files and how configuration value
|
|
|
886
918
|
| `contentAutoTransformation` | Automatically transforms content strings into typed nodes (markdown, HTML, or insertion). | `boolean` | <br/> `{ markdown?: boolean; html?: boolean; insertion?: boolean }` | `false` | `true` | • Markdown: `### Title` → `md('### Title')`.<br/>• HTML: `<div>Title</div>` → `html('<div>Title</div>')`.<br/>• Insertion: `Hello {{name}}` → `insert('Hello {{name}}')`. |
|
|
887
919
|
| `location` | Indicates where dictionary files are stored and their CMS synchronization mode. | `'local'` | <br/> `'remote'` | <br/> `'hybrid'` | <br/> `'plugin'` | <br/> `string` | `'local'` | `'hybrid'` | • `'local'`: managed locally only.<br/>• `'remote'`: managed remotely only (CMS).<br/>• `'hybrid'`: managed both locally and remotely.<br/>• `'plugin'` or custom string: managed by a plugin or custom source. |
|
|
888
920
|
| `importMode` | Controls how dictionaries are imported. | `'static'` | <br/> `'dynamic'` | <br/> `'fetch'` | `'static'` | `'dynamic'` | • `'static'`: imported statically (replaces `useIntlayer` with `useDictionary`).<br/>• `'dynamic'`: imported dynamically via Suspense (replaces with `useDictionaryDynamic`).<br/>• `'fetch'`: fetched via live sync API; falls back to `'dynamic'` on failure.<br/>• Relies on `@intlayer/babel` and `@intlayer/swc` plugins.<br/>• Keys must be declared statically.<br/>• Ignored if `optimize` is disabled.<br/>• Does not affect `getIntlayer`, `getDictionary`, `useDictionary`, etc. |
|
|
921
|
+
| `format` | The default message format for all dictionaries in the project. | `'intlayer'` | <br/> `'icu'` | <br/> `'i18next'` | <br/> `'vue-i18n'` | <br/> `'po'` | `'intlayer'` | `'icu'` | • `'intlayer'`: Native intlayer format.<br/>• `'icu'`: ICU message format.<br/>• `'i18next'`: i18next interpolation format.<br/>• `'vue-i18n'`: Vue I18n format.<br/>• `'po'`: GNU Gettext PO format. |
|
|
889
922
|
| `priority` | Priority of the dictionary. Higher values take precedence over lower ones when resolving conflicts between dictionaries. | `number` | `undefined` | `1` | |
|
|
890
923
|
| `live` | Deprecated - use `importMode: 'fetch'` instead. Indicated whether dictionary content was fetched dynamically via the live sync API. | `boolean` | `undefined` | | Renamed to `importMode: 'fetch'` in v8.0.0. |
|
|
891
924
|
| `schema` | Auto-generated by Intlayer for JSON schema validation. | `'https://intlayer.org/schema.json'` | auto-generated | | Do not modify manually. |
|
|
@@ -27,8 +27,209 @@ author: aymericzip
|
|
|
27
27
|
|
|
28
28
|
## How Condition Works
|
|
29
29
|
|
|
30
|
-
|
|
30
|
+
<Tabs group="framework">
|
|
31
|
+
<Tab label="React" value="react">
|
|
31
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");
|
|
204
|
+
}
|
|
205
|
+
```
|
|
206
|
+
|
|
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";
|
|
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>
|
|
32
233
|
## Setting Up Conditional Content
|
|
33
234
|
|
|
34
235
|
To set up conditional content in your Intlayer project, create a content module that includes your conditional definitions. Below are examples in various formats.
|
|
@@ -71,6 +272,9 @@ export default myConditionalContent;
|
|
|
71
272
|
|
|
72
273
|
## Using Conditional Content with React Intlayer
|
|
73
274
|
|
|
275
|
+
<Tabs group="framework">
|
|
276
|
+
<Tab label="React" value="react">
|
|
277
|
+
|
|
74
278
|
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.
|
|
75
279
|
|
|
76
280
|
```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
|
|
@@ -113,6 +317,165 @@ const ConditionalComponent: FC = () => {
|
|
|
113
317
|
export default ConditionalComponent;
|
|
114
318
|
```
|
|
115
319
|
|
|
320
|
+
</Tab>
|
|
321
|
+
<Tab label="Next.js" value="nextjs">
|
|
322
|
+
|
|
323
|
+
To utilize conditional content in Next.js Client Components, retrieve it via the `useIntlayer` hook. Here's an example:
|
|
324
|
+
|
|
325
|
+
```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
|
|
326
|
+
"use client";
|
|
327
|
+
|
|
328
|
+
import type { FC } from "react";
|
|
329
|
+
import { useIntlayer } from "next-intlayer";
|
|
330
|
+
|
|
331
|
+
const ConditionalComponent: FC = () => {
|
|
332
|
+
const { myCondition } = useIntlayer("my_key");
|
|
333
|
+
|
|
334
|
+
return (
|
|
335
|
+
<div>
|
|
336
|
+
<p>{myCondition(true)}</p>
|
|
337
|
+
<p>{myCondition(false)}</p>
|
|
338
|
+
</div>
|
|
339
|
+
);
|
|
340
|
+
};
|
|
341
|
+
|
|
342
|
+
export default ConditionalComponent;
|
|
343
|
+
```
|
|
344
|
+
|
|
345
|
+
</Tab>
|
|
346
|
+
<Tab label="Vue" value="vue">
|
|
347
|
+
|
|
348
|
+
To utilize conditional content in Vue components, retrieve it via the `useIntlayer` hook. Here's an example:
|
|
349
|
+
|
|
350
|
+
```vue fileName="**/*.vue"
|
|
351
|
+
<script setup lang="ts">
|
|
352
|
+
import { useIntlayer } from "vue-intlayer";
|
|
353
|
+
|
|
354
|
+
const { myCondition } = useIntlayer("my_key");
|
|
355
|
+
</script>
|
|
356
|
+
|
|
357
|
+
<template>
|
|
358
|
+
<div>
|
|
359
|
+
<p>{{ myCondition(true) }}</p>
|
|
360
|
+
<p>{{ myCondition(false) }}</p>
|
|
361
|
+
</div>
|
|
362
|
+
</template>
|
|
363
|
+
```
|
|
364
|
+
|
|
365
|
+
</Tab>
|
|
366
|
+
<Tab label="Svelte" value="svelte">
|
|
367
|
+
|
|
368
|
+
To utilize conditional content in Svelte components, retrieve it via the `useIntlayer` hook. The store is accessed with `$`. Here's an example:
|
|
369
|
+
|
|
370
|
+
```svelte fileName="**/*.svelte"
|
|
371
|
+
<script lang="ts">
|
|
372
|
+
import { useIntlayer } from "svelte-intlayer";
|
|
373
|
+
|
|
374
|
+
const content = useIntlayer("my_key");
|
|
375
|
+
</script>
|
|
376
|
+
|
|
377
|
+
<div>
|
|
378
|
+
<p>{$content.myCondition(true)}</p>
|
|
379
|
+
<p>{$content.myCondition(false)}</p>
|
|
380
|
+
</div>
|
|
381
|
+
```
|
|
382
|
+
|
|
383
|
+
</Tab>
|
|
384
|
+
<Tab label="Preact" value="preact">
|
|
385
|
+
|
|
386
|
+
To utilize conditional content in Preact components, retrieve it via the `useIntlayer` hook. Here's an example:
|
|
387
|
+
|
|
388
|
+
```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
|
|
389
|
+
import type { FC } from "preact";
|
|
390
|
+
import { useIntlayer } from "preact-intlayer";
|
|
391
|
+
|
|
392
|
+
const ConditionalComponent: FC = () => {
|
|
393
|
+
const { myCondition } = useIntlayer("my_key");
|
|
394
|
+
|
|
395
|
+
return (
|
|
396
|
+
<div>
|
|
397
|
+
<p>{myCondition(true)}</p>
|
|
398
|
+
<p>{myCondition(false)}</p>
|
|
399
|
+
</div>
|
|
400
|
+
);
|
|
401
|
+
};
|
|
402
|
+
|
|
403
|
+
export default ConditionalComponent;
|
|
404
|
+
```
|
|
405
|
+
|
|
406
|
+
</Tab>
|
|
407
|
+
<Tab label="Solid" value="solid">
|
|
408
|
+
|
|
409
|
+
To utilize conditional content in SolidJS components, retrieve it via the `useIntlayer` hook. Here's an example:
|
|
410
|
+
|
|
411
|
+
```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
|
|
412
|
+
import type { Component } from "solid-js";
|
|
413
|
+
import { useIntlayer } from "solid-intlayer";
|
|
414
|
+
|
|
415
|
+
const ConditionalComponent: Component = () => {
|
|
416
|
+
const { myCondition } = useIntlayer("my_key");
|
|
417
|
+
|
|
418
|
+
return (
|
|
419
|
+
<div>
|
|
420
|
+
<p>{myCondition(true)}</p>
|
|
421
|
+
<p>{myCondition(false)}</p>
|
|
422
|
+
</div>
|
|
423
|
+
);
|
|
424
|
+
};
|
|
425
|
+
|
|
426
|
+
export default ConditionalComponent;
|
|
427
|
+
```
|
|
428
|
+
|
|
429
|
+
</Tab>
|
|
430
|
+
<Tab label="Angular" value="angular">
|
|
431
|
+
|
|
432
|
+
To utilize conditional content in Angular components, retrieve it via the `useIntlayer` hook. Here's an example:
|
|
433
|
+
|
|
434
|
+
```typescript fileName="app.component.ts" codeFormat="typescript"
|
|
435
|
+
import { Component } from "@angular/core";
|
|
436
|
+
import { useIntlayer } from "angular-intlayer";
|
|
437
|
+
|
|
438
|
+
@Component({
|
|
439
|
+
selector: "app-conditional",
|
|
440
|
+
template: `
|
|
441
|
+
<div>
|
|
442
|
+
<p>{{ content().myCondition(true) }}</p>
|
|
443
|
+
<p>{{ content().myCondition(false) }}</p>
|
|
444
|
+
</div>
|
|
445
|
+
`,
|
|
446
|
+
})
|
|
447
|
+
export class ConditionalComponent {
|
|
448
|
+
content = useIntlayer("my_key");
|
|
449
|
+
}
|
|
450
|
+
```
|
|
451
|
+
|
|
452
|
+
</Tab>
|
|
453
|
+
<Tab label="Vanilla JS" value="vanilla">
|
|
454
|
+
|
|
455
|
+
To utilize conditional content with `vanilla-intlayer`, retrieve it via the `useIntlayer` hook. Here's an example:
|
|
456
|
+
|
|
457
|
+
```typescript fileName="**/*.ts" codeFormat={["typescript", "esm"]}
|
|
458
|
+
import { installIntlayer, useIntlayer } from "vanilla-intlayer";
|
|
459
|
+
|
|
460
|
+
installIntlayer();
|
|
461
|
+
|
|
462
|
+
const content = useIntlayer("my_key").onChange((newContent) => {
|
|
463
|
+
document.getElementById("true-content")!.textContent =
|
|
464
|
+
newContent.myCondition(true);
|
|
465
|
+
document.getElementById("false-content")!.textContent =
|
|
466
|
+
newContent.myCondition(false);
|
|
467
|
+
});
|
|
468
|
+
|
|
469
|
+
// Initial render
|
|
470
|
+
document.getElementById("true-content")!.textContent =
|
|
471
|
+
content.myCondition(true);
|
|
472
|
+
document.getElementById("false-content")!.textContent =
|
|
473
|
+
content.myCondition(false);
|
|
474
|
+
```
|
|
475
|
+
|
|
476
|
+
</Tab>
|
|
477
|
+
</Tabs>
|
|
478
|
+
|
|
116
479
|
## Additional Resources
|
|
117
480
|
|
|
118
481
|
For more detailed information on configuration and usage, refer to the following resources:
|