@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/fr/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: Apprenez à configurer Intlayer pour votre application. Comprenez les différents paramètres et options disponibles pour personnaliser Intlayer selon vos besoins.
|
|
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: "Ajout de l'option `format` à la configuration du dictionnaire"
|
|
17
20
|
- version: 8.9.4
|
|
18
21
|
date: 2026-05-12
|
|
19
22
|
changes: "Ajout du support pour le fournisseur LM Studio"
|
|
@@ -135,6 +138,7 @@ Intlayer accepte les formats de fichiers de configuration JSON, JS, MJS et TS :
|
|
|
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
|
/**
|
|
@@ -585,10 +589,38 @@ const config: IntlayerConfig = {
|
|
|
585
589
|
}),
|
|
586
590
|
},
|
|
587
591
|
|
|
592
|
+
/**
|
|
593
|
+
* Configuration du dictionnaire.
|
|
594
|
+
*/
|
|
595
|
+
dictionary: {
|
|
596
|
+
/**
|
|
597
|
+
* Contrôle la manière dont les dictionnaires sont importés.
|
|
598
|
+
* - "static": Importé statiquement à la compilation.
|
|
599
|
+
* - "dynamic": Importé dynamiquement avec Suspense.
|
|
600
|
+
* - "fetch": Récupéré dynamiquement via l'API de synchronisation en direct.
|
|
601
|
+
*/
|
|
602
|
+
importMode: "static",
|
|
603
|
+
|
|
604
|
+
/**
|
|
605
|
+
* Le format de message par défaut pour tous les dictionnaires du projet.
|
|
606
|
+
* - 'intlayer': Format intlayer natif (par défaut).
|
|
607
|
+
* - 'icu': Format de message ICU.
|
|
608
|
+
* - 'i18next': Format i18next.
|
|
609
|
+
* - 'vue-i18n': Format Vue I18n.
|
|
610
|
+
* - 'po': Format GNU Gettext PO.
|
|
611
|
+
*/
|
|
612
|
+
format: "icu",
|
|
613
|
+
},
|
|
614
|
+
|
|
588
615
|
/**
|
|
589
616
|
* Configuration des plugins.
|
|
590
617
|
*/
|
|
591
|
-
plugins: [
|
|
618
|
+
plugins: [
|
|
619
|
+
syncJSON({
|
|
620
|
+
format: "icu",
|
|
621
|
+
source: ({ locale }) => `./messages/${locale}.json`,
|
|
622
|
+
}),
|
|
623
|
+
],
|
|
592
624
|
};
|
|
593
625
|
|
|
594
626
|
export default config;
|
|
@@ -857,20 +889,21 @@ Paramètres relatifs au traitement du contenu dans l'application (noms de réper
|
|
|
857
889
|
|
|
858
890
|
Paramètres contrôlant les opérations de dictionnaire, y compris le comportement de remplissage automatique et la génération de contenu.
|
|
859
891
|
|
|
860
|
-
| Champ | Description | Type | Par défaut
|
|
861
|
-
| --------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- |
|
|
862
|
-
| `fill` | Contrôle la manière dont les fichiers de sortie de remplissage automatique (traduction par IA) sont générés. | `boolean` | <br/> `FilePathPattern` | <br/> `Partial<Record<Locale, boolean | FilePathPattern>>` | `true`
|
|
863
|
-
| `description` | Aide à comprendre l'objectif du dictionnaire dans l'éditeur et le CMS. Également utilisé comme contexte pour la génération de traductions par IA. | `string` | `undefined`
|
|
864
|
-
| `locale` | Transforme le dictionnaire en un format par locale. Chaque champ déclaré devient un nœud de traduction. Si absent, le dictionnaire est traité comme multilingue. | `LocalesValues` | `undefined`
|
|
865
|
-
| `contentAutoTransformation` | Transforme automatiquement les chaînes de contenu en nœuds typés (markdown, HTML ou insertion). | `boolean` | <br/> `{ markdown?: boolean; html?: boolean; insertion?: boolean }` | `false`
|
|
866
|
-
| `location` | Indique où les fichiers de dictionnaire sont stockés et leur mode de synchronisation avec le CMS. | `'local'` | <br/> `'remote'` | <br/> `'hybrid'` | <br/> `'plugin'` | <br/> `string` | `'local'`
|
|
867
|
-
| `importMode` | Contrôle la manière dont les dictionnaires sont importés. | `'static'` | <br/> `'dynamic'` | <br/> `'fetch'` | `'static'`
|
|
868
|
-
| `
|
|
869
|
-
| `
|
|
870
|
-
| `
|
|
871
|
-
| `
|
|
872
|
-
| `
|
|
873
|
-
| `
|
|
892
|
+
| Champ | Description | Type | Par défaut | Exemple | Note |
|
|
893
|
+
| --------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | ------------ | ------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
894
|
+
| `fill` | Contrôle la manière dont les fichiers de sortie de remplissage automatique (traduction par IA) sont générés. | `boolean` | <br/> `FilePathPattern` | <br/> `Partial<Record<Locale, boolean | FilePathPattern>>` | `true` | `{ en: '/locales/en/{{key}}.json', fr: ({ key }) => '/locales/fr/${key}.json', es: false }` | • `true`: chemin par défaut (même fichier que la source).<br/>• `false`: désactiver.<br/>• Le modèle string/fonction génère des fichiers par locale.<br/>• Objet par locale : chaque locale correspond à son propre modèle ; `false` ignore cette locale.<br/>• L'inclusion de `{{locale}}` déclenche la génération par locale.<br/>• Le `fill` au niveau du dictionnaire a toujours la priorité sur cette configuration globale. |
|
|
895
|
+
| `description` | Aide à comprendre l'objectif du dictionnaire dans l'éditeur et le CMS. Également utilisé comme contexte pour la génération de traductions par IA. | `string` | `undefined` | `'User profile section'` | |
|
|
896
|
+
| `locale` | Transforme le dictionnaire en un format par locale. Chaque champ déclaré devient un nœud de traduction. Si absent, le dictionnaire est traité comme multilingue. | `LocalesValues` | `undefined` | `'en'` | Utilisez ceci lorsque le dictionnaire est spécifique à une seule locale plutôt que de contenir des traductions pour plusieurs locales. |
|
|
897
|
+
| `contentAutoTransformation` | Transforme automatiquement les chaînes de contenu en nœuds typés (markdown, HTML ou 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}}')`. |
|
|
898
|
+
| `location` | Indique où les fichiers de dictionnaire sont stockés et leur mode de synchronisation avec le CMS. | `'local'` | <br/> `'remote'` | <br/> `'hybrid'` | <br/> `'plugin'` | <br/> `string` | `'local'` | `'hybrid'` | • `'local'` : géré localement uniquement.<br/>• `'remote'` : géré à distance uniquement (CMS).<br/>• `'hybrid'` : géré à la fois localement et à distance.<br/>• `'plugin'` ou chaîne personnalisée : géré par un plugin ou une source personnalisée. |
|
|
899
|
+
| `importMode` | Contrôle la manière dont les dictionnaires sont importés. | `'static'` | <br/> `'dynamic'` | <br/> `'fetch'` | `'static'` | `'dynamic'` | • `'static'`: importé statiquement (remplace `useIntlayer` par `useDictionary`).<br/>• `'dynamic'`: importé dynamiquement via Suspense (remplace par `useDictionaryDynamic`).<br/>• `'fetch'`: récupéré via l'API live sync ; retombe sur `'dynamic'` en cas d'échec.<br/>• Repose sur les plugins `@intlayer/babel` et `@intlayer/swc`.<br/>• Les clés doivent être déclarées statiquement.<br/>• Ignoré si `optimize` est désactivé.<br/>• N'affecte pas `getIntlayer`, `getDictionary`, etc. |
|
|
900
|
+
| `format` | Le format de message par défaut pour tous les dictionnaires du projet. | `'intlayer'` | <br/> `'icu'` | <br/> `'i18next'` | <br/> `'vue-i18n'` | <br/> `'po'` | `'intlayer'` | `'icu'` | • `'intlayer'`: Format intlayer natif.<br/>• `'icu'`: Format de message ICU.<br/>• `'i18next'`: Format i18next.<br/>• `'vue-i18n'`: Format Vue I18n.<br/>• `'po'`: Format GNU Gettext PO. |
|
|
901
|
+
| `priority` | Priorité du dictionnaire. Les valeurs les plus élevées l'emportent sur les plus basses lors de la résolution des conflits entre dictionnaires. | `number` | `undefined` | `1` | |
|
|
902
|
+
| `live` | Déprécié - utilisez plutôt `importMode: 'fetch'`. Indiquait si le contenu du dictionnaire était récupéré dynamiquement via l'API live sync. | `boolean` | `undefined` | | Renommé en `importMode: 'fetch'` dans la v8.0.0. |
|
|
903
|
+
| `schema` | Généré automatiquement par Intlayer pour la validation du schéma JSON. | `'https://intlayer.org/schema.json'` | auto-généré | | Ne pas modifier manuellement. |
|
|
904
|
+
| `title` | Aide à identifier le dictionnaire dans l'éditeur et le CMS. | `string` | `undefined` | `'User Profile'` | |
|
|
905
|
+
| `tags` | Catégorise les dictionnaires et fournit du contexte ou des instructions pour l'éditeur et l'IA. | `string[]` | `undefined` | `['user', 'profile']` | |
|
|
906
|
+
| `version` | Version du dictionnaire distant ; aide à suivre la version actuellement utilisée. | `string` | `undefined` | `'1.0.0'` | • Gérable sur le CMS.<br/>• Ne pas modifier localement. |
|
|
874
907
|
|
|
875
908
|
**Exemple de `fill`** :
|
|
876
909
|
|
|
@@ -23,8 +23,209 @@ author: aymericzip
|
|
|
23
23
|
|
|
24
24
|
## Comment Fonctionne la Condition
|
|
25
25
|
|
|
26
|
-
|
|
26
|
+
<Tabs group="framework">
|
|
27
|
+
<Tab label="React" value="react">
|
|
27
28
|
|
|
29
|
+
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.
|
|
30
|
+
|
|
31
|
+
```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
|
|
32
|
+
import type { FC } from "react";
|
|
33
|
+
import { useIntlayer } from "react-intlayer";
|
|
34
|
+
|
|
35
|
+
const ConditionalComponent: FC = () => {
|
|
36
|
+
const { myCondition } = useIntlayer("my_key");
|
|
37
|
+
|
|
38
|
+
return (
|
|
39
|
+
<div>
|
|
40
|
+
<p>
|
|
41
|
+
{
|
|
42
|
+
/* Output: my content when it's true */
|
|
43
|
+
myCondition(true)
|
|
44
|
+
}
|
|
45
|
+
</p>
|
|
46
|
+
<p>
|
|
47
|
+
{
|
|
48
|
+
/* Output: my content when it's false */
|
|
49
|
+
myCondition(false)
|
|
50
|
+
}
|
|
51
|
+
</p>
|
|
52
|
+
<p>
|
|
53
|
+
{
|
|
54
|
+
/* Output: my content when the condition fails */
|
|
55
|
+
myCondition("")
|
|
56
|
+
}
|
|
57
|
+
</p>
|
|
58
|
+
<p>
|
|
59
|
+
{
|
|
60
|
+
/* Output: my content when the condition fails */
|
|
61
|
+
myCondition(undefined)
|
|
62
|
+
}
|
|
63
|
+
</p>
|
|
64
|
+
</div>
|
|
65
|
+
);
|
|
66
|
+
};
|
|
67
|
+
|
|
68
|
+
export default ConditionalComponent;
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
</Tab>
|
|
72
|
+
<Tab label="Next.js" value="nextjs">
|
|
73
|
+
|
|
74
|
+
To utilize conditional content in Next.js Client Components, retrieve it via the `useIntlayer` hook. Here's an example:
|
|
75
|
+
|
|
76
|
+
```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
|
|
77
|
+
"use client";
|
|
78
|
+
|
|
79
|
+
import type { FC } from "react";
|
|
80
|
+
import { useIntlayer } from "next-intlayer";
|
|
81
|
+
|
|
82
|
+
const ConditionalComponent: FC = () => {
|
|
83
|
+
const { myCondition } = useIntlayer("my_key");
|
|
84
|
+
|
|
85
|
+
return (
|
|
86
|
+
<div>
|
|
87
|
+
<p>{myCondition(true)}</p>
|
|
88
|
+
<p>{myCondition(false)}</p>
|
|
89
|
+
</div>
|
|
90
|
+
);
|
|
91
|
+
};
|
|
92
|
+
|
|
93
|
+
export default ConditionalComponent;
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
</Tab>
|
|
97
|
+
<Tab label="Vue" value="vue">
|
|
98
|
+
|
|
99
|
+
To utilize conditional content in Vue components, retrieve it via the `useIntlayer` hook. Here's an example:
|
|
100
|
+
|
|
101
|
+
```vue fileName="**/*.vue"
|
|
102
|
+
<script setup lang="ts">
|
|
103
|
+
import { useIntlayer } from "vue-intlayer";
|
|
104
|
+
|
|
105
|
+
const { myCondition } = useIntlayer("my_key");
|
|
106
|
+
</script>
|
|
107
|
+
|
|
108
|
+
<template>
|
|
109
|
+
<div>
|
|
110
|
+
<p>{{ myCondition(true) }}</p>
|
|
111
|
+
<p>{{ myCondition(false) }}</p>
|
|
112
|
+
</div>
|
|
113
|
+
</template>
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
</Tab>
|
|
117
|
+
<Tab label="Svelte" value="svelte">
|
|
118
|
+
|
|
119
|
+
To utilize conditional content in Svelte components, retrieve it via the `useIntlayer` hook. The store is accessed with `$`. Here's an example:
|
|
120
|
+
|
|
121
|
+
```svelte fileName="**/*.svelte"
|
|
122
|
+
<script lang="ts">
|
|
123
|
+
import { useIntlayer } from "svelte-intlayer";
|
|
124
|
+
|
|
125
|
+
const content = useIntlayer("my_key");
|
|
126
|
+
</script>
|
|
127
|
+
|
|
128
|
+
<div>
|
|
129
|
+
<p>{$content.myCondition(true)}</p>
|
|
130
|
+
<p>{$content.myCondition(false)}</p>
|
|
131
|
+
</div>
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
</Tab>
|
|
135
|
+
<Tab label="Preact" value="preact">
|
|
136
|
+
|
|
137
|
+
To utilize conditional content in Preact components, retrieve it via the `useIntlayer` hook. Here's an example:
|
|
138
|
+
|
|
139
|
+
```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
|
|
140
|
+
import type { FC } from "preact";
|
|
141
|
+
import { useIntlayer } from "preact-intlayer";
|
|
142
|
+
|
|
143
|
+
const ConditionalComponent: FC = () => {
|
|
144
|
+
const { myCondition } = useIntlayer("my_key");
|
|
145
|
+
|
|
146
|
+
return (
|
|
147
|
+
<div>
|
|
148
|
+
<p>{myCondition(true)}</p>
|
|
149
|
+
<p>{myCondition(false)}</p>
|
|
150
|
+
</div>
|
|
151
|
+
);
|
|
152
|
+
};
|
|
153
|
+
|
|
154
|
+
export default ConditionalComponent;
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
</Tab>
|
|
158
|
+
<Tab label="Solid" value="solid">
|
|
159
|
+
|
|
160
|
+
To utilize conditional content in SolidJS components, retrieve it via the `useIntlayer` hook. Here's an example:
|
|
161
|
+
|
|
162
|
+
```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
|
|
163
|
+
import type { Component } from "solid-js";
|
|
164
|
+
import { useIntlayer } from "solid-intlayer";
|
|
165
|
+
|
|
166
|
+
const ConditionalComponent: Component = () => {
|
|
167
|
+
const { myCondition } = useIntlayer("my_key");
|
|
168
|
+
|
|
169
|
+
return (
|
|
170
|
+
<div>
|
|
171
|
+
<p>{myCondition(true)}</p>
|
|
172
|
+
<p>{myCondition(false)}</p>
|
|
173
|
+
</div>
|
|
174
|
+
);
|
|
175
|
+
};
|
|
176
|
+
|
|
177
|
+
export default ConditionalComponent;
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
</Tab>
|
|
181
|
+
<Tab label="Angular" value="angular">
|
|
182
|
+
|
|
183
|
+
To utilize conditional content in Angular components, retrieve it via the `useIntlayer` hook. Here's an example:
|
|
184
|
+
|
|
185
|
+
```typescript fileName="app.component.ts" codeFormat="typescript"
|
|
186
|
+
import { Component } from "@angular/core";
|
|
187
|
+
import { useIntlayer } from "angular-intlayer";
|
|
188
|
+
|
|
189
|
+
@Component({
|
|
190
|
+
selector: "app-conditional",
|
|
191
|
+
template: `
|
|
192
|
+
<div>
|
|
193
|
+
<p>{{ content().myCondition(true) }}</p>
|
|
194
|
+
<p>{{ content().myCondition(false) }}</p>
|
|
195
|
+
</div>
|
|
196
|
+
`,
|
|
197
|
+
})
|
|
198
|
+
export class ConditionalComponent {
|
|
199
|
+
content = useIntlayer("my_key");
|
|
200
|
+
}
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
</Tab>
|
|
204
|
+
<Tab label="Vanilla JS" value="vanilla">
|
|
205
|
+
|
|
206
|
+
To utilize conditional content with `vanilla-intlayer`, retrieve it via the `useIntlayer` hook. Here's an example:
|
|
207
|
+
|
|
208
|
+
```typescript fileName="**/*.ts" codeFormat={["typescript", "esm"]}
|
|
209
|
+
import { installIntlayer, useIntlayer } from "vanilla-intlayer";
|
|
210
|
+
|
|
211
|
+
installIntlayer();
|
|
212
|
+
|
|
213
|
+
const content = useIntlayer("my_key").onChange((newContent) => {
|
|
214
|
+
document.getElementById("true-content")!.textContent =
|
|
215
|
+
newContent.myCondition(true);
|
|
216
|
+
document.getElementById("false-content")!.textContent =
|
|
217
|
+
newContent.myCondition(false);
|
|
218
|
+
});
|
|
219
|
+
|
|
220
|
+
// Initial render
|
|
221
|
+
document.getElementById("true-content")!.textContent =
|
|
222
|
+
content.myCondition(true);
|
|
223
|
+
document.getElementById("false-content")!.textContent =
|
|
224
|
+
content.myCondition(false);
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
</Tab>
|
|
228
|
+
</Tabs>
|
|
28
229
|
## Configuration du Contenu Conditionnel
|
|
29
230
|
|
|
30
231
|
Pour configurer le contenu conditionnel dans votre projet Intlayer, créez un module de contenu qui inclut vos définitions conditionnelles. Voici des exemples dans différents formats.
|
|
@@ -67,7 +268,10 @@ export default myConditionalContent;
|
|
|
67
268
|
|
|
68
269
|
## Utilisation du Contenu Conditionnel avec React Intlayer
|
|
69
270
|
|
|
70
|
-
|
|
271
|
+
<Tabs group="framework">
|
|
272
|
+
<Tab label="React" value="react">
|
|
273
|
+
|
|
274
|
+
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
275
|
|
|
72
276
|
```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
|
|
73
277
|
import type { FC } from "react";
|
|
@@ -80,25 +284,25 @@ const ConditionalComponent: FC = () => {
|
|
|
80
284
|
<div>
|
|
81
285
|
<p>
|
|
82
286
|
{
|
|
83
|
-
/*
|
|
287
|
+
/* Output: my content when it's true */
|
|
84
288
|
myCondition(true)
|
|
85
289
|
}
|
|
86
290
|
</p>
|
|
87
291
|
<p>
|
|
88
292
|
{
|
|
89
|
-
/*
|
|
293
|
+
/* Output: my content when it's false */
|
|
90
294
|
myCondition(false)
|
|
91
295
|
}
|
|
92
296
|
</p>
|
|
93
297
|
<p>
|
|
94
298
|
{
|
|
95
|
-
/*
|
|
299
|
+
/* Output: my content when the condition fails */
|
|
96
300
|
myCondition("")
|
|
97
301
|
}
|
|
98
302
|
</p>
|
|
99
303
|
<p>
|
|
100
304
|
{
|
|
101
|
-
/*
|
|
305
|
+
/* Output: my content when the condition fails */
|
|
102
306
|
myCondition(undefined)
|
|
103
307
|
}
|
|
104
308
|
</p>
|
|
@@ -109,6 +313,165 @@ const ConditionalComponent: FC = () => {
|
|
|
109
313
|
export default ConditionalComponent;
|
|
110
314
|
```
|
|
111
315
|
|
|
316
|
+
</Tab>
|
|
317
|
+
<Tab label="Next.js" value="nextjs">
|
|
318
|
+
|
|
319
|
+
To utilize conditional content in Next.js Client Components, retrieve it via the `useIntlayer` hook. Here's an example:
|
|
320
|
+
|
|
321
|
+
```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
|
|
322
|
+
"use client";
|
|
323
|
+
|
|
324
|
+
import type { FC } from "react";
|
|
325
|
+
import { useIntlayer } from "next-intlayer";
|
|
326
|
+
|
|
327
|
+
const ConditionalComponent: FC = () => {
|
|
328
|
+
const { myCondition } = useIntlayer("my_key");
|
|
329
|
+
|
|
330
|
+
return (
|
|
331
|
+
<div>
|
|
332
|
+
<p>{myCondition(true)}</p>
|
|
333
|
+
<p>{myCondition(false)}</p>
|
|
334
|
+
</div>
|
|
335
|
+
);
|
|
336
|
+
};
|
|
337
|
+
|
|
338
|
+
export default ConditionalComponent;
|
|
339
|
+
```
|
|
340
|
+
|
|
341
|
+
</Tab>
|
|
342
|
+
<Tab label="Vue" value="vue">
|
|
343
|
+
|
|
344
|
+
To utilize conditional content in Vue components, retrieve it via the `useIntlayer` hook. Here's an example:
|
|
345
|
+
|
|
346
|
+
```vue fileName="**/*.vue"
|
|
347
|
+
<script setup lang="ts">
|
|
348
|
+
import { useIntlayer } from "vue-intlayer";
|
|
349
|
+
|
|
350
|
+
const { myCondition } = useIntlayer("my_key");
|
|
351
|
+
</script>
|
|
352
|
+
|
|
353
|
+
<template>
|
|
354
|
+
<div>
|
|
355
|
+
<p>{{ myCondition(true) }}</p>
|
|
356
|
+
<p>{{ myCondition(false) }}</p>
|
|
357
|
+
</div>
|
|
358
|
+
</template>
|
|
359
|
+
```
|
|
360
|
+
|
|
361
|
+
</Tab>
|
|
362
|
+
<Tab label="Svelte" value="svelte">
|
|
363
|
+
|
|
364
|
+
To utilize conditional content in Svelte components, retrieve it via the `useIntlayer` hook. The store is accessed with `$`. Here's an example:
|
|
365
|
+
|
|
366
|
+
```svelte fileName="**/*.svelte"
|
|
367
|
+
<script lang="ts">
|
|
368
|
+
import { useIntlayer } from "svelte-intlayer";
|
|
369
|
+
|
|
370
|
+
const content = useIntlayer("my_key");
|
|
371
|
+
</script>
|
|
372
|
+
|
|
373
|
+
<div>
|
|
374
|
+
<p>{$content.myCondition(true)}</p>
|
|
375
|
+
<p>{$content.myCondition(false)}</p>
|
|
376
|
+
</div>
|
|
377
|
+
```
|
|
378
|
+
|
|
379
|
+
</Tab>
|
|
380
|
+
<Tab label="Preact" value="preact">
|
|
381
|
+
|
|
382
|
+
To utilize conditional content in Preact components, retrieve it via the `useIntlayer` hook. Here's an example:
|
|
383
|
+
|
|
384
|
+
```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
|
|
385
|
+
import type { FC } from "preact";
|
|
386
|
+
import { useIntlayer } from "preact-intlayer";
|
|
387
|
+
|
|
388
|
+
const ConditionalComponent: FC = () => {
|
|
389
|
+
const { myCondition } = useIntlayer("my_key");
|
|
390
|
+
|
|
391
|
+
return (
|
|
392
|
+
<div>
|
|
393
|
+
<p>{myCondition(true)}</p>
|
|
394
|
+
<p>{myCondition(false)}</p>
|
|
395
|
+
</div>
|
|
396
|
+
);
|
|
397
|
+
};
|
|
398
|
+
|
|
399
|
+
export default ConditionalComponent;
|
|
400
|
+
```
|
|
401
|
+
|
|
402
|
+
</Tab>
|
|
403
|
+
<Tab label="Solid" value="solid">
|
|
404
|
+
|
|
405
|
+
To utilize conditional content in SolidJS components, retrieve it via the `useIntlayer` hook. Here's an example:
|
|
406
|
+
|
|
407
|
+
```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
|
|
408
|
+
import type { Component } from "solid-js";
|
|
409
|
+
import { useIntlayer } from "solid-intlayer";
|
|
410
|
+
|
|
411
|
+
const ConditionalComponent: Component = () => {
|
|
412
|
+
const { myCondition } = useIntlayer("my_key");
|
|
413
|
+
|
|
414
|
+
return (
|
|
415
|
+
<div>
|
|
416
|
+
<p>{myCondition(true)}</p>
|
|
417
|
+
<p>{myCondition(false)}</p>
|
|
418
|
+
</div>
|
|
419
|
+
);
|
|
420
|
+
};
|
|
421
|
+
|
|
422
|
+
export default ConditionalComponent;
|
|
423
|
+
```
|
|
424
|
+
|
|
425
|
+
</Tab>
|
|
426
|
+
<Tab label="Angular" value="angular">
|
|
427
|
+
|
|
428
|
+
To utilize conditional content in Angular components, retrieve it via the `useIntlayer` hook. Here's an example:
|
|
429
|
+
|
|
430
|
+
```typescript fileName="app.component.ts" codeFormat="typescript"
|
|
431
|
+
import { Component } from "@angular/core";
|
|
432
|
+
import { useIntlayer } from "angular-intlayer";
|
|
433
|
+
|
|
434
|
+
@Component({
|
|
435
|
+
selector: "app-conditional",
|
|
436
|
+
template: `
|
|
437
|
+
<div>
|
|
438
|
+
<p>{{ content().myCondition(true) }}</p>
|
|
439
|
+
<p>{{ content().myCondition(false) }}</p>
|
|
440
|
+
</div>
|
|
441
|
+
`,
|
|
442
|
+
})
|
|
443
|
+
export class ConditionalComponent {
|
|
444
|
+
content = useIntlayer("my_key");
|
|
445
|
+
}
|
|
446
|
+
```
|
|
447
|
+
|
|
448
|
+
</Tab>
|
|
449
|
+
<Tab label="Vanilla JS" value="vanilla">
|
|
450
|
+
|
|
451
|
+
To utilize conditional content with `vanilla-intlayer`, retrieve it via the `useIntlayer` hook. Here's an example:
|
|
452
|
+
|
|
453
|
+
```typescript fileName="**/*.ts" codeFormat={["typescript", "esm"]}
|
|
454
|
+
import { installIntlayer, useIntlayer } from "vanilla-intlayer";
|
|
455
|
+
|
|
456
|
+
installIntlayer();
|
|
457
|
+
|
|
458
|
+
const content = useIntlayer("my_key").onChange((newContent) => {
|
|
459
|
+
document.getElementById("true-content")!.textContent =
|
|
460
|
+
newContent.myCondition(true);
|
|
461
|
+
document.getElementById("false-content")!.textContent =
|
|
462
|
+
newContent.myCondition(false);
|
|
463
|
+
});
|
|
464
|
+
|
|
465
|
+
// Initial render
|
|
466
|
+
document.getElementById("true-content")!.textContent =
|
|
467
|
+
content.myCondition(true);
|
|
468
|
+
document.getElementById("false-content")!.textContent =
|
|
469
|
+
content.myCondition(false);
|
|
470
|
+
```
|
|
471
|
+
|
|
472
|
+
</Tab>
|
|
473
|
+
</Tabs>
|
|
474
|
+
|
|
112
475
|
## Ressources Supplémentaires
|
|
113
476
|
|
|
114
477
|
Pour plus d'informations détaillées sur la configuration et l'utilisation, consultez les ressources suivantes :
|