@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
|
@@ -85,7 +85,10 @@ export default config;
|
|
|
85
85
|
|
|
86
86
|
## Utilisation des traductions dans les composants React
|
|
87
87
|
|
|
88
|
-
|
|
88
|
+
<Tabs group="framework">
|
|
89
|
+
<Tab label="React" value="react">
|
|
90
|
+
|
|
91
|
+
With `react-intlayer`, you can use translations in React components. Here's an example:
|
|
89
92
|
|
|
90
93
|
```jsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
|
|
91
94
|
import type { FC } from "react";
|
|
@@ -104,7 +107,158 @@ const MyComponent: FC = () => {
|
|
|
104
107
|
export default MyComponent;
|
|
105
108
|
```
|
|
106
109
|
|
|
107
|
-
|
|
110
|
+
This component fetches the corresponding translation based on the current locale set in your application.
|
|
111
|
+
|
|
112
|
+
</Tab>
|
|
113
|
+
<Tab label="Next.js" value="nextjs">
|
|
114
|
+
|
|
115
|
+
With `next-intlayer`, you can use translations in React Server Components or Client Components. Here's an example in a Client Component:
|
|
116
|
+
|
|
117
|
+
```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
|
|
118
|
+
"use client";
|
|
119
|
+
|
|
120
|
+
import type { FC } from "react";
|
|
121
|
+
import { useIntlayer } from "next-intlayer";
|
|
122
|
+
|
|
123
|
+
const MyComponent: FC = () => {
|
|
124
|
+
const content = useIntlayer("multi_lang");
|
|
125
|
+
|
|
126
|
+
return (
|
|
127
|
+
<div>
|
|
128
|
+
<p>{content.welcomeMessage}</p>
|
|
129
|
+
</div>
|
|
130
|
+
);
|
|
131
|
+
};
|
|
132
|
+
|
|
133
|
+
export default MyComponent;
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
</Tab>
|
|
137
|
+
<Tab label="Vue" value="vue">
|
|
138
|
+
|
|
139
|
+
With `vue-intlayer`, you can use translations in Vue components. Here's an example:
|
|
140
|
+
|
|
141
|
+
```vue fileName="**/*.vue"
|
|
142
|
+
<script setup lang="ts">
|
|
143
|
+
import { useIntlayer } from "vue-intlayer";
|
|
144
|
+
|
|
145
|
+
const content = useIntlayer("multi_lang");
|
|
146
|
+
</script>
|
|
147
|
+
|
|
148
|
+
<template>
|
|
149
|
+
<div>
|
|
150
|
+
<p>{{ content.welcomeMessage }}</p>
|
|
151
|
+
</div>
|
|
152
|
+
</template>
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
</Tab>
|
|
156
|
+
<Tab label="Svelte" value="svelte">
|
|
157
|
+
|
|
158
|
+
With `svelte-intlayer`, you can use translations in Svelte components. The hook returns a Svelte store. Here's an example:
|
|
159
|
+
|
|
160
|
+
```svelte fileName="**/*.svelte"
|
|
161
|
+
<script lang="ts">
|
|
162
|
+
import { useIntlayer } from "svelte-intlayer";
|
|
163
|
+
|
|
164
|
+
const content = useIntlayer("multi_lang");
|
|
165
|
+
</script>
|
|
166
|
+
|
|
167
|
+
<div>
|
|
168
|
+
<p>{$content.welcomeMessage}</p>
|
|
169
|
+
</div>
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
</Tab>
|
|
173
|
+
<Tab label="Preact" value="preact">
|
|
174
|
+
|
|
175
|
+
With `preact-intlayer`, you can use translations in Preact components. Here's an example:
|
|
176
|
+
|
|
177
|
+
```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
|
|
178
|
+
import type { FC } from "preact";
|
|
179
|
+
import { useIntlayer } from "preact-intlayer";
|
|
180
|
+
|
|
181
|
+
const MyComponent: FC = () => {
|
|
182
|
+
const content = useIntlayer("multi_lang");
|
|
183
|
+
|
|
184
|
+
return (
|
|
185
|
+
<div>
|
|
186
|
+
<p>{content.welcomeMessage}</p>
|
|
187
|
+
</div>
|
|
188
|
+
);
|
|
189
|
+
};
|
|
190
|
+
|
|
191
|
+
export default MyComponent;
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
</Tab>
|
|
195
|
+
<Tab label="Solid" value="solid">
|
|
196
|
+
|
|
197
|
+
With `solid-intlayer`, you can use translations in SolidJS components. Here's an example:
|
|
198
|
+
|
|
199
|
+
```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
|
|
200
|
+
import type { Component } from "solid-js";
|
|
201
|
+
import { useIntlayer } from "solid-intlayer";
|
|
202
|
+
|
|
203
|
+
const MyComponent: Component = () => {
|
|
204
|
+
const content = useIntlayer("multi_lang");
|
|
205
|
+
|
|
206
|
+
return (
|
|
207
|
+
<div>
|
|
208
|
+
<p>{content.welcomeMessage}</p>
|
|
209
|
+
</div>
|
|
210
|
+
);
|
|
211
|
+
};
|
|
212
|
+
|
|
213
|
+
export default MyComponent;
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
</Tab>
|
|
217
|
+
<Tab label="Angular" value="angular">
|
|
218
|
+
|
|
219
|
+
With `angular-intlayer`, you can use translations in Angular components. Here's an example:
|
|
220
|
+
|
|
221
|
+
```typescript fileName="app.component.ts" codeFormat="typescript"
|
|
222
|
+
import { Component } from "@angular/core";
|
|
223
|
+
import { useIntlayer } from "angular-intlayer";
|
|
224
|
+
|
|
225
|
+
@Component({
|
|
226
|
+
selector: "app-my-component",
|
|
227
|
+
template: `
|
|
228
|
+
<div>
|
|
229
|
+
<p>{{ content().welcomeMessage }}</p>
|
|
230
|
+
</div>
|
|
231
|
+
`,
|
|
232
|
+
})
|
|
233
|
+
export class MyComponent {
|
|
234
|
+
content = useIntlayer("multi_lang");
|
|
235
|
+
}
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
</Tab>
|
|
239
|
+
<Tab label="Vanilla JS" value="vanilla">
|
|
240
|
+
|
|
241
|
+
With `vanilla-intlayer`, you can use translations by subscribing to content changes. Here's an example:
|
|
242
|
+
|
|
243
|
+
```typescript fileName="**/*.ts" codeFormat={["typescript", "esm"]}
|
|
244
|
+
import { installIntlayer, useIntlayer } from "vanilla-intlayer";
|
|
245
|
+
|
|
246
|
+
installIntlayer();
|
|
247
|
+
|
|
248
|
+
const content = useIntlayer("multi_lang").onChange((newContent) => {
|
|
249
|
+
document.getElementById("welcome-message")!.textContent = String(
|
|
250
|
+
newContent.welcomeMessage
|
|
251
|
+
);
|
|
252
|
+
});
|
|
253
|
+
|
|
254
|
+
// Initial render
|
|
255
|
+
document.getElementById("welcome-message")!.textContent = String(
|
|
256
|
+
content.welcomeMessage
|
|
257
|
+
);
|
|
258
|
+
```
|
|
259
|
+
|
|
260
|
+
</Tab>
|
|
261
|
+
</Tabs>
|
|
108
262
|
|
|
109
263
|
## Objets de Contenu Personnalisés
|
|
110
264
|
|
package/docs/fr/releases/v8.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2025-09-22
|
|
3
|
-
updatedAt: 2026-
|
|
3
|
+
updatedAt: 2026-06-14
|
|
4
4
|
title: Nouveau Intlayer v8 - Quoi de neuf ?
|
|
5
5
|
description: Découvrez les nouveautés d'Intlayer v8. Améliorations majeures de l'expérience développeur, de la validation du contenu et de la gestion des dictionnaires.
|
|
6
6
|
keywords:
|
|
@@ -409,6 +409,16 @@ Pour plus de détails, consultez la [Documentation sur le Contenu HTML](https://
|
|
|
409
409
|
|
|
410
410
|
---
|
|
411
411
|
|
|
412
|
+
## Fichiers de Contenu YAML & Markdown (v8.10.0)
|
|
413
|
+
|
|
414
|
+
Vous pouvez désormais déclarer du contenu directement en utilisant les extensions de fichier `.content.md` et `.content.yaml`. C'est parfait pour les contenus longs, les blogs, la documentation et les politiques de confidentialité.
|
|
415
|
+
|
|
416
|
+
Ces fichiers sont entièrement modifiables depuis l'Éditeur Visuel, offrant un flux de travail simplifié pour les membres non techniques de l'équipe.
|
|
417
|
+
|
|
418
|
+
Pour plus de détails, consultez la [Documentation des Fichiers de Contenu YAML](https://intlayer.org/fr/doc/concept/content#yaml-content-file) et la [Documentation des Fichiers de Contenu Markdown](https://intlayer.org/fr/doc/concept/content/markdown).
|
|
419
|
+
|
|
420
|
+
---
|
|
421
|
+
|
|
412
422
|
## Réécritures d'URL Personnalisées
|
|
413
423
|
|
|
414
424
|
Intlayer v8 introduit la prise en charge des **réécritures d'URL personnalisées**, vous permettant de définir des chemins spécifiques à la langue qui diffèrent de la structure standard `/locale/path`. C'est une fonctionnalité puissante pour améliorer le SEO local et offrir une expérience utilisateur plus naturelle aux non-anglophones.
|
|
@@ -753,6 +763,58 @@ export default {
|
|
|
753
763
|
</Tab>
|
|
754
764
|
</Tabs>
|
|
755
765
|
|
|
766
|
+
## Règles de Pluriels Unicode CLDR (v8.8.0)
|
|
767
|
+
|
|
768
|
+
Un nouvel assistant de nœud `plural` a été introduit, basé sur les règles de pluriel définies par le projet Unicode CLDR, améliorant le support des langues complexes.
|
|
769
|
+
|
|
770
|
+
```typescript fileName="src/openings.content.ts"
|
|
771
|
+
import { plural, t, type Dictionary } from "intlayer";
|
|
772
|
+
|
|
773
|
+
const openingsContent = {
|
|
774
|
+
key: "total_openings",
|
|
775
|
+
content: {
|
|
776
|
+
totalOpenings: t({
|
|
777
|
+
fr: plural({
|
|
778
|
+
one: "{{count}} offre",
|
|
779
|
+
other: "{{count}} offres",
|
|
780
|
+
}),
|
|
781
|
+
en: plural({
|
|
782
|
+
one: "{{count}} opening",
|
|
783
|
+
other: "{{count}} openings",
|
|
784
|
+
}),
|
|
785
|
+
}),
|
|
786
|
+
},
|
|
787
|
+
} satisfies Dictionary;
|
|
788
|
+
|
|
789
|
+
export default openingsContent;
|
|
790
|
+
```
|
|
791
|
+
|
|
792
|
+
Vous pouvez ensuite passer le nombre dynamiquement dans votre composant de framework :
|
|
793
|
+
|
|
794
|
+
```tsx
|
|
795
|
+
import type { FC } from "react";
|
|
796
|
+
import { useIntlayer } from "react-intlayer";
|
|
797
|
+
|
|
798
|
+
const OpeningsComponent: FC<{ count: number }> = ({ count }) => {
|
|
799
|
+
const { totalOpenings } = useIntlayer("total_openings");
|
|
800
|
+
|
|
801
|
+
return (
|
|
802
|
+
<div>
|
|
803
|
+
{/* En anglais : */}
|
|
804
|
+
{/* count=0 → "0 openings" (other) */}
|
|
805
|
+
{/* count=1 → "1 opening" (one) */}
|
|
806
|
+
{/* count=2 → "2 openings" (other) */}
|
|
807
|
+
{/* count=21 → "21 openings" (other) */}
|
|
808
|
+
<p>{totalOpenings(count)}</p>
|
|
809
|
+
</div>
|
|
810
|
+
);
|
|
811
|
+
};
|
|
812
|
+
```
|
|
813
|
+
|
|
814
|
+
Pour plus d'informations, consultez la [Documentation sur la Pluralisation](https://intlayer.org/fr/doc/concept/content/plural).
|
|
815
|
+
|
|
816
|
+
---
|
|
817
|
+
|
|
756
818
|
## Validation du Schéma de Contenu
|
|
757
819
|
|
|
758
820
|
Intlayer v8 introduit la validation de schéma pour les dictionnaires. Vous pouvez désormais définir des schémas de validation réutilisables dans votre configuration à l'aide de Zod et les appliquer à vos fichiers de contenu. Cela garantit que votre contenu respecte toujours la structure attendue, capturant les erreurs au moment de la construction.
|
|
@@ -797,6 +859,34 @@ Si le contenu ne correspond pas au schéma (par exemple, le titre est trop court
|
|
|
797
859
|
|
|
798
860
|
---
|
|
799
861
|
|
|
862
|
+
## TypeScript : Accesseurs Primitifs IntlayerNode
|
|
863
|
+
|
|
864
|
+
Le type `IntlayerNode` a été mis à jour pour permettre l'appel de méthodes JavaScript primitives directement sur les nœuds de contenu. Cela permet d'interagir avec votre contenu localisé directement comme s'il s'agissait d'une primitive standard de type chaîne, nombre, booléen ou tableau.
|
|
865
|
+
|
|
866
|
+
Pris en charge sur React, Preact, Solid, Svelte, Vue et Angular.
|
|
867
|
+
|
|
868
|
+
### Exemple de Chaîne de Caractères
|
|
869
|
+
|
|
870
|
+
```typescript
|
|
871
|
+
content.placeholder; // Retourne IntlayerNode<string>
|
|
872
|
+
content.placeholder.value; // Retourne string
|
|
873
|
+
content.placeholder.toString(); // Retourne string
|
|
874
|
+
content.placeholder.toLowerCase(); // Retourne string
|
|
875
|
+
String(content.placeholder); // Retourne string
|
|
876
|
+
content.placeholder.toUpperCase(); // Retourne la chaîne en majuscules
|
|
877
|
+
content.placeholder.replace("a", "b"); // Retourne la chaîne modifiée
|
|
878
|
+
```
|
|
879
|
+
|
|
880
|
+
### Exemple de Tableau
|
|
881
|
+
|
|
882
|
+
```typescript
|
|
883
|
+
content.myArrayOfString // Retourne IntlayerNode<Array<string>>
|
|
884
|
+
content.myArrayOfString.find(...) // Retourne l'élément
|
|
885
|
+
content.myArrayOfString.join(', ') // Retourne la chaîne jointe
|
|
886
|
+
```
|
|
887
|
+
|
|
888
|
+
---
|
|
889
|
+
|
|
800
890
|
### Détection Automatique du Contenu Améliorée
|
|
801
891
|
|
|
802
892
|
En v8, Intlayer détecte intelligemment la syntaxe Markdown, les balises HTML et les insertions de variables dans vos chaînes de contenu. Cela signifie que vous pouvez souvent omettre les fonctions d'aide comme `md()`, `html()`, ou `insert()`.
|
|
@@ -1002,6 +1092,17 @@ L'extension VSCode d'Intlayer reçoit des mises à jour majeures en v8 pour rati
|
|
|
1002
1092
|
|
|
1003
1093
|
---
|
|
1004
1094
|
|
|
1095
|
+
## Outils : Watcher C++ & LSP basé sur OXC (v8.12.0)
|
|
1096
|
+
|
|
1097
|
+
Intlayer v8.12.0 apporte des améliorations majeures à l'expérience développeur :
|
|
1098
|
+
|
|
1099
|
+
- **Parcel Watcher** : Le watcher de contenu a été migré de `chokidar` vers `@parcel/watcher`, exploitant la surveillance de fichiers native en C++ pour fournir des mises à jour plus rapides et une consommation de mémoire considérablement réduite.
|
|
1100
|
+
- **Nouveau Language Server Protocol (LSP)** : Un tout nouveau LSP est désormais disponible. Conçu avec une analyse basée sur OXC, il aide votre IDE et vos agents IA à lier de manière transparente les appels `useIntlayer('my-key')` à leurs fichiers `.content` correspondants, et vice versa.
|
|
1101
|
+
|
|
1102
|
+
Pour plus de détails, consultez la [Documentation LSP](https://intlayer.org/fr/doc/lsp).
|
|
1103
|
+
|
|
1104
|
+
---
|
|
1105
|
+
|
|
1005
1106
|
## Optimisations du Compilateur
|
|
1006
1107
|
|
|
1007
1108
|
Intlayer v8 inclut une nouvelle couche de mise en cache pour le compilateur Markdown et HTML. Cela garantit que les chaînes de contenu identiques avec la même configuration ne sont analysées qu'une seule fois, réduisant considérablement la surcharge lors des re-rendus ou lors de l'utilisation du même contenu à plusieurs endroits.
|
|
@@ -1057,6 +1158,48 @@ Intlayer v8 inclut une nouvelle couche de mise en cache pour le compilateur Mark
|
|
|
1057
1158
|
|
|
1058
1159
|
---
|
|
1059
1160
|
|
|
1161
|
+
## Optimisations de Build Expérimentales : Minify & Purge (v8.7.0)
|
|
1162
|
+
|
|
1163
|
+
Intlayer v8.7.0 introduit de nouvelles fonctionnalités de build expérimentales dans votre `intlayer.config.ts` conçues pour optimiser votre bundle de production :
|
|
1164
|
+
|
|
1165
|
+
- **Minification des Dictionnaires** : Minifie les fichiers de dictionnaire pour réduire leur taille.
|
|
1166
|
+
- **Purge des Clés Inutilisées** : Analyse et supprime les clés de traduction inutilisées des dictionnaires, en renommant les clés actives avec des caractères courts (par exemple, `"products" -> "a"`, `"pricing" -> "b"`). Cela réduit la taille du bundle jusqu'à 5 %.
|
|
1167
|
+
- **Désactivation des Vérifications TypeScript** : Accélère les builds en désactivant la vérification des types TypeScript pendant l'étape de compilation.
|
|
1168
|
+
|
|
1169
|
+
```typescript fileName="intlayer.config.ts"
|
|
1170
|
+
import { Locales, type IntlayerConfig } from "intlayer";
|
|
1171
|
+
|
|
1172
|
+
const config: IntlayerConfig = {
|
|
1173
|
+
internationalization: {
|
|
1174
|
+
locales: [Locales.ENGLISH, Locales.FRENCH],
|
|
1175
|
+
defaultLocale: Locales.ENGLISH,
|
|
1176
|
+
},
|
|
1177
|
+
dictionary: {
|
|
1178
|
+
importMode: "dynamic",
|
|
1179
|
+
},
|
|
1180
|
+
build: {
|
|
1181
|
+
/**
|
|
1182
|
+
* Minifier les dictionnaires pour réduire la taille du bundle.
|
|
1183
|
+
*/
|
|
1184
|
+
minify: true,
|
|
1185
|
+
|
|
1186
|
+
/**
|
|
1187
|
+
* Purger les clés inutilisées dans les dictionnaires.
|
|
1188
|
+
*/
|
|
1189
|
+
purge: true,
|
|
1190
|
+
|
|
1191
|
+
/**
|
|
1192
|
+
* Indique si le build doit vérifier les types TypeScript.
|
|
1193
|
+
*/
|
|
1194
|
+
checkTypes: false,
|
|
1195
|
+
},
|
|
1196
|
+
};
|
|
1197
|
+
|
|
1198
|
+
export default config;
|
|
1199
|
+
```
|
|
1200
|
+
|
|
1201
|
+
---
|
|
1202
|
+
|
|
1060
1203
|
## Flexibilité : Mode d'Importation Unifié
|
|
1061
1204
|
|
|
1062
1205
|
La propriété booléenne `live` a été dépréciée au profit d'une propriété `importMode` plus complète. Cela permet une définition explicite de la manière dont les dictionnaires doivent être chargés : statiquement, dynamiquement ou via la synchronisation en direct.
|
|
@@ -1204,6 +1347,49 @@ Le contenu Markdown et HTML dans Svelte s'analyse désormais automatiquement en
|
|
|
1204
1347
|
|
|
1205
1348
|
---
|
|
1206
1349
|
|
|
1350
|
+
## Support Angular : Bundler Vite (v8.11.0)
|
|
1351
|
+
|
|
1352
|
+
Pour les utilisateurs d'Angular, Intlayer prend désormais en charge nativement le bundler Vite via un nouveau plugin esbuild personnalisé, accélérant les temps de développement et de build.
|
|
1353
|
+
|
|
1354
|
+
Pour plus de détails sur la configuration, consultez la [Documentation de l'Environnement Angular](https://intlayer.org/fr/doc/environment/angular).
|
|
1355
|
+
|
|
1356
|
+
---
|
|
1357
|
+
|
|
1358
|
+
## Génération de Sitemap (v8.6.0)
|
|
1359
|
+
|
|
1360
|
+
Intlayer génère désormais automatiquement des sitemaps en fonction de vos locales et de votre mode de routage. C'est particulièrement utile pour l'optimisation SEO dans les architectures de routeurs comme TanStack Router :
|
|
1361
|
+
|
|
1362
|
+
```typescript fileName="src/routes/sitemap.xml.ts"
|
|
1363
|
+
import { createFileRoute } from "@tanstack/react-router";
|
|
1364
|
+
import { generateSitemap } from "intlayer";
|
|
1365
|
+
|
|
1366
|
+
const SITE_URL = (
|
|
1367
|
+
import.meta.env.VITE_SITE_URL ?? "http://localhost:3000"
|
|
1368
|
+
).replace(/\/$/, "");
|
|
1369
|
+
|
|
1370
|
+
export const Route = createFileRoute("/sitemap.xml")({
|
|
1371
|
+
server: {
|
|
1372
|
+
handlers: {
|
|
1373
|
+
GET: async () => {
|
|
1374
|
+
const sitemap = generateSitemap(
|
|
1375
|
+
[
|
|
1376
|
+
{ path: "/", changefreq: "daily", priority: 1.0 },
|
|
1377
|
+
{ path: "/about", changefreq: "monthly", priority: 0.8 },
|
|
1378
|
+
],
|
|
1379
|
+
{ siteUrl: SITE_URL }
|
|
1380
|
+
);
|
|
1381
|
+
|
|
1382
|
+
return new Response(sitemap, {
|
|
1383
|
+
headers: { "Content-Type": "application/xml" },
|
|
1384
|
+
});
|
|
1385
|
+
},
|
|
1386
|
+
},
|
|
1387
|
+
},
|
|
1388
|
+
});
|
|
1389
|
+
```
|
|
1390
|
+
|
|
1391
|
+
---
|
|
1392
|
+
|
|
1207
1393
|
## Notes de migration depuis la v7
|
|
1208
1394
|
|
|
1209
1395
|
### Changements de Configuration
|