@intlayer/docs 8.12.5-canary.0 → 9.0.0-canary.3
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/plugins/sync-json.md +222 -49
- 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/plugins/sync-json.md +222 -49
- 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/plugins/sync-json.md +56 -2
- 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/plugins/sync-json.md +245 -13
- 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/plugins/sync-json.md +222 -49
- 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/plugins/sync-json.md +244 -12
- 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/plugins/sync-json.md +221 -48
- 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/plugins/sync-json.md +222 -49
- 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/plugins/sync-json.md +224 -51
- 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/plugins/sync-json.md +222 -49
- 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/plugins/sync-json.md +223 -50
- 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/plugins/sync-json.md +246 -14
- 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/plugins/sync-json.md +222 -49
- 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/plugins/sync-json.md +269 -95
- 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/plugins/sync-json.md +222 -50
- 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/plugins/sync-json.md +56 -2
- 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/plugins/sync-json.md +230 -57
- 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/plugins/sync-json.md +223 -50
- 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/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
|
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2026-06-14
|
|
3
|
+
updatedAt: 2026-06-14
|
|
4
|
+
title: Nouvel Intlayer v9 - Quoi de neuf ?
|
|
5
|
+
description: Découvrez les nouveautés d'Intlayer v9. Présentation des packages de compatibilité prêts à l'emploi pour les bibliothèques i18n populaires et prise en charge des Collections, Variants et Dynamic Records.
|
|
6
|
+
keywords:
|
|
7
|
+
- Intlayer
|
|
8
|
+
- Compatibility
|
|
9
|
+
- Migration
|
|
10
|
+
- Collections
|
|
11
|
+
- Variants
|
|
12
|
+
- Dynamic Records
|
|
13
|
+
- i18next
|
|
14
|
+
- next-intl
|
|
15
|
+
- vue-i18n
|
|
16
|
+
slugs:
|
|
17
|
+
- doc
|
|
18
|
+
- releases
|
|
19
|
+
- v9
|
|
20
|
+
author: aymericzip
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
# Nouvel Intlayer v9 - Quoi de neuf ?
|
|
24
|
+
|
|
25
|
+
Bienvenue sur Intlayer v9 ! Cette version majeure marque une étape importante dans la simplification du chemin de migration vers Intlayer avec les **packages d'adaptateurs de compatibilité** pour les principales bibliothèques i18n (`react-i18next`, `next-intl`, `vue-i18n`, etc.) et ajoute la prise en charge de structures de contenu riches : les **Collections**, les **Variants** et les **Dynamic Records**.
|
|
26
|
+
|
|
27
|
+
## Table des matières
|
|
28
|
+
|
|
29
|
+
<TOC levels={[2]} maxDepth={1} />
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## Packages d'adaptateurs de compatibilité
|
|
34
|
+
|
|
35
|
+
La migration vers Intlayer depuis les bibliothèques i18n populaires est désormais plus facile que jamais. Nous avons créé cinq packages de compatibilité qui exposent les **mêmes API publiques exactes** que les bibliothèques i18n standard, mais délèguent tout le travail de traduction à Intlayer au moment de l'exécution.
|
|
36
|
+
|
|
37
|
+
### Exposer la même API publique avec un typage strict
|
|
38
|
+
|
|
39
|
+
En remplaçant les imports, vous bénéficiez de tous les avantages d'Intlayer (y compris la sécurité de type au moment de la compilation par rapport à vos dictionnaires réels) avec des modifications de code minimales :
|
|
40
|
+
|
|
41
|
+
- `@intlayer/i18next`
|
|
42
|
+
- `@intlayer/react-i18next`
|
|
43
|
+
- `@intlayer/next-intl`
|
|
44
|
+
- `@intlayer/next-i18next`
|
|
45
|
+
- `@intlayer/vue-i18n`
|
|
46
|
+
|
|
47
|
+
Par exemple, changez simplement :
|
|
48
|
+
|
|
49
|
+
```ts
|
|
50
|
+
import { useTranslation } from "react-i18next";
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
en :
|
|
54
|
+
|
|
55
|
+
```ts
|
|
56
|
+
import { useTranslation } from "@intlayer/react-i18next";
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
Vos clés seront désormais **strictement typées** par rapport à vos dictionnaires Intlayer, offrant une auto-complétion complète des chemins par points dans votre IDE !
|
|
60
|
+
|
|
61
|
+
### Plugins d'alias de Bundler (Vite, Next.js, Turbopack)
|
|
62
|
+
|
|
63
|
+
Pour permettre la migration sans réécrire manuellement toutes vos déclarations d'import, chaque package d'adaptateur de compatibilité inclut un **plugin de bundler personnalisé** (Vite ou Next.js) sous le sous-chemin `/plugin`.
|
|
64
|
+
|
|
65
|
+
Ces plugins réécrivent automatiquement les imports existants (par exemple `react-i18next` ou `next-intl`) vers leurs équivalents `@intlayer/*` au moment de la compilation.
|
|
66
|
+
|
|
67
|
+
#### Exemple Next.js (Webpack / Turbopack)
|
|
68
|
+
|
|
69
|
+
Au lieu de `withIntlayer`, enveloppez votre configuration Next.js avec le plugin de compatibilité :
|
|
70
|
+
|
|
71
|
+
```ts fileName="next.config.ts"
|
|
72
|
+
import { createNextI18nPlugin } from "@intlayer/next-i18next/plugin";
|
|
73
|
+
import type { NextConfig } from "next";
|
|
74
|
+
|
|
75
|
+
const withIntlayer = createNextI18nPlugin();
|
|
76
|
+
const nextConfig: NextConfig = {};
|
|
77
|
+
|
|
78
|
+
export default withIntlayer(nextConfig);
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
#### Exemple Vite (React, Vue, Solid, Svelte)
|
|
82
|
+
|
|
83
|
+
```ts fileName="vite.config.ts"
|
|
84
|
+
import vueI18nVitePlugin from "@intlayer/vue-i18n/plugin";
|
|
85
|
+
|
|
86
|
+
export default defineConfig({
|
|
87
|
+
plugins: [vueI18nVitePlugin()],
|
|
88
|
+
});
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
## Résolveur d'exécution mutualisé
|
|
94
|
+
|
|
95
|
+
Tous les adaptateurs de compatibilité acheminent désormais la résolution des traductions via un seul analyseur d'exécution hautement optimisé : `@intlayer/core/messageFormat`.
|
|
96
|
+
|
|
97
|
+
- **Interpoler le message** : Résout les `{{var}}` standard (espaces et chemins par points), les arguments formatés ICU (`{v, number, percent}` etc.) et les templates `{var}` bruts.
|
|
98
|
+
- **Résolveur de nœuds de message** : Résout les nœuds imbriqués : `insert()`, `plural()` (règles de pluriel CLDR), `enu()` (énumération), `gender()`, les balises HTML, les tableaux et les nœuds de fonction appelables.
|
|
99
|
+
- **Analyseur de balises tokenisées** : Prend en charge les balises XML/HTML en ligne et les balises numérotées (par exemple, `<1>children</1>`) pour permettre le rendu de texte riche dès la première utilisation.
|
|
100
|
+
|
|
101
|
+
---
|
|
102
|
+
|
|
103
|
+
## Spécification des fonctionnalités : Collections, Variants & Dynamic Records
|
|
104
|
+
|
|
105
|
+
Intlayer v9 va au-delà des objets clé-valeur statiques, permettant aux dictionnaires de déclarer des structures de mise en page dynamiques entièrement typées de bout en bout.
|
|
106
|
+
|
|
107
|
+
### 1. Collections
|
|
108
|
+
|
|
109
|
+
Définissez une liste d'éléments ordonnés gérée par un CMS (par exemple, FAQ, produits ou listes de blogs) :
|
|
110
|
+
|
|
111
|
+
```ts fileName="faq.content.ts"
|
|
112
|
+
import { t, type Dictionary } from "intlayer";
|
|
113
|
+
|
|
114
|
+
export default {
|
|
115
|
+
key: "faq",
|
|
116
|
+
content: [
|
|
117
|
+
{
|
|
118
|
+
question: t({ fr: "Qu'est-ce qu'Intlayer ?", en: "What is Intlayer?" }),
|
|
119
|
+
answer: t({ fr: "Une boîte à outils i18n.", en: "An i18n toolkit." }),
|
|
120
|
+
},
|
|
121
|
+
],
|
|
122
|
+
} satisfies Dictionary;
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
#### Utilisation :
|
|
126
|
+
|
|
127
|
+
```ts
|
|
128
|
+
// Récupérer tous les éléments
|
|
129
|
+
const allFaqs = useIntlayer("faq"); // -> { question: string, answer: string }[]
|
|
130
|
+
|
|
131
|
+
// Récupérer un seul élément par index
|
|
132
|
+
const faq = useIntlayer("faq", { item: 1 }); // -> { question: string, answer: string }
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
### 2. Variants
|
|
136
|
+
|
|
137
|
+
Proposez des tests A/B, des en-têtes saisonniers, des feature flags ou des pages de destination personnalisées :
|
|
138
|
+
|
|
139
|
+
```ts fileName="hero.content.ts"
|
|
140
|
+
import { t, type Dictionary } from "intlayer";
|
|
141
|
+
|
|
142
|
+
export default {
|
|
143
|
+
key: "hero-banner",
|
|
144
|
+
variant: "default",
|
|
145
|
+
content: {
|
|
146
|
+
control: t({ fr: "Bienvenue", en: "Welcome" }),
|
|
147
|
+
black_friday: t({ fr: "Acheter maintenant", en: "Shop now" }),
|
|
148
|
+
},
|
|
149
|
+
} satisfies Dictionary;
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
#### Utilisation :
|
|
153
|
+
|
|
154
|
+
```ts
|
|
155
|
+
const banner = useIntlayer("hero-banner", { variant: "black_friday" });
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
### 3. Dynamic Records
|
|
159
|
+
|
|
160
|
+
Définissez des dictionnaires dont les entrées sont chargées dynamiquement au moment de l'exécution via des ID de requête :
|
|
161
|
+
|
|
162
|
+
```ts fileName="product.content.ts"
|
|
163
|
+
import { t, type Dictionary } from "intlayer";
|
|
164
|
+
|
|
165
|
+
export default {
|
|
166
|
+
key: "product-copy",
|
|
167
|
+
meta: {
|
|
168
|
+
id: "prod_123",
|
|
169
|
+
category: "books",
|
|
170
|
+
},
|
|
171
|
+
content: {
|
|
172
|
+
title: t({ fr: "Code Propre", en: "Clean Code" }),
|
|
173
|
+
},
|
|
174
|
+
} satisfies Dictionary;
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
#### Utilisation :
|
|
178
|
+
|
|
179
|
+
```ts
|
|
180
|
+
// Récupère uniquement l'élément demandé dynamiquement (nécessite Suspense)
|
|
181
|
+
const product = useIntlayer("product-copy", {
|
|
182
|
+
id: "prod_123",
|
|
183
|
+
category: "books",
|
|
184
|
+
});
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
---
|
|
188
|
+
|
|
189
|
+
## Chargement dynamique et optimisations de la taille du bundle
|
|
190
|
+
|
|
191
|
+
Pour maintenir les bundles extrêmement petits, Intlayer v9 prend en charge le chargement paresseux dynamique.
|
|
192
|
+
|
|
193
|
+
Dans votre configuration, définissez `importMode` sur `'dynamic'` ou `'fetch'` :
|
|
194
|
+
|
|
195
|
+
```ts fileName="intlayer.config.ts"
|
|
196
|
+
export default {
|
|
197
|
+
dictionary: {
|
|
198
|
+
importMode: "dynamic", // "static" | "dynamic" | "fetch"
|
|
199
|
+
},
|
|
200
|
+
};
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
Au moment de la compilation, `@intlayer/swc` et `@intlayer/babel` analysent vos fichiers et remplacent les appels `useIntlayer` / `getIntlayer` par des wrappers optimisés par tree-shaking (`useDictionary` / `useDictionaryDynamic`). Seul le contenu requis pour l'élément de collection, le variant ou la locale sélectionné est chargé, empêchant ainsi votre bundle de production de contenir des traductions inutilisées.
|
|
204
|
+
|
|
205
|
+
---
|
|
206
|
+
|
|
207
|
+
## Notes de migration depuis la v8
|
|
208
|
+
|
|
209
|
+
Si vous effectuez une mise à niveau depuis la v8, notez que la v9 n'inclut pas de changements majeurs (breaking changes). Voici cependant les changements clés :
|
|
210
|
+
|
|
211
|
+
- **Locales et dialectes** : Si vous utilisez des dépendances i18n externes, ajoutez leurs plugins d'adaptateur de compatibilité respectifs dans votre configuration ou votre setup de bundler pour réécrire automatiquement les imports.
|
|
212
|
+
- **Sélecteurs personnalisés** : Lors de l'appel de `useIntlayer`, le deuxième paramètre est désormais réservé à un objet d'options contenant `{ locale, item, variant, id }`. Si vous passiez auparavant une chaîne de caractères de locale directement, vous pouvez toujours le faire, mais l'utilisation de l'objet d'options est recommandée pour les sélections avancées.
|
|
213
|
+
|
|
214
|
+
---
|
|
215
|
+
|
|
216
|
+
## Liens utiles
|
|
217
|
+
|
|
218
|
+
- [Guide des packages d'adaptateurs de compatibilité](https://github.com/aymericzip/intlayer/blob/main/docs/docs/fr/compat/index.md)
|
|
219
|
+
- [Dictionnaires dynamiques - Collections, Variants & Dynamic Records](https://github.com/aymericzip/intlayer/blob/main/docs/docs/fr/dynamic_dictionaries/index.md)
|
|
220
|
+
- [Référence de configuration](https://github.com/aymericzip/intlayer/blob/main/docs/docs/fr/configuration.md)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2024-08-11
|
|
3
|
-
updatedAt:
|
|
3
|
+
updatedAt: 2026-06-17
|
|
4
4
|
title: दस्तावेज़ समीक्षा
|
|
5
5
|
description: विभिन्न लोकलों में गुणवत्ता, संगति, और पूर्णता के लिए दस्तावेज़ फ़ाइलों की समीक्षा कैसे करें, यह जानें।
|
|
6
6
|
keywords:
|
|
@@ -15,6 +15,10 @@ slugs:
|
|
|
15
15
|
- concept
|
|
16
16
|
- cli
|
|
17
17
|
- doc-review
|
|
18
|
+
history:
|
|
19
|
+
- version: 9.0.0
|
|
20
|
+
date: 2026-06-17
|
|
21
|
+
changes: "--log विकल्प जोड़ें"
|
|
18
22
|
author: aymericzip
|
|
19
23
|
---
|
|
20
24
|
|
|
@@ -55,8 +59,110 @@ bun x intlayer doc review
|
|
|
55
59
|
|
|
56
60
|
## तर्क:
|
|
57
61
|
|
|
58
|
-
|
|
62
|
+
**फ़ाइल सूची विकल्प:**
|
|
59
63
|
|
|
60
|
-
|
|
64
|
+
- **`--doc-pattern [docPattern...]`**: दस्तावेज़ फ़ाइलों से मेल खाने के लिए ग्लोब पैटर्न जिन्हें समीक्षा किया जाना है।
|
|
61
65
|
|
|
62
|
-
|
|
66
|
+
> उदाहरण: `npx intlayer doc review --doc-pattern "docs/**/*.md" "src/**/*.mdx"`
|
|
67
|
+
|
|
68
|
+
- **`--excluded-glob-pattern [excludedGlobPattern...]`**: समीक्षा से बाहर रखने के लिए ग्लोब पैटर्न।
|
|
69
|
+
|
|
70
|
+
> उदाहरण: `npx intlayer doc review --excluded-glob-pattern "docs/internal/**"`
|
|
71
|
+
|
|
72
|
+
- **`--skip-if-modified-before [skipIfModifiedBefore]`**: यदि फ़ाइल दिए गए समय से पहले संशोधित की गई है तो उसे छोड़ दें।
|
|
73
|
+
- यह एक निश्चित समय हो सकता है जैसे "2025-12-05" (string या Date)
|
|
74
|
+
- यह एक सापेक्ष समय हो सकता है मिलीसेकंड में `1 * 60 * 60 * 1000` (1 घंटा)
|
|
75
|
+
- यह विकल्प `fs.stat` मेथड का उपयोग करके फ़ाइल के अपडेट समय की जांच करता है। इसलिए यह Git या अन्य टूल्स से प्रभावित हो सकता है जो फ़ाइल को संशोधित करते हैं।
|
|
76
|
+
|
|
77
|
+
> उदाहरण: `npx intlayer doc review --skip-if-modified-before "2025-12-05"`
|
|
78
|
+
|
|
79
|
+
- **`--skip-if-modified-after [skipIfModifiedAfter]`**: यदि फ़ाइल दिए गए समय के भीतर संशोधित की गई है तो उसे छोड़ दें।
|
|
80
|
+
- यह एक निश्चित समय हो सकता है जैसे "2025-12-05" (string या Date)
|
|
81
|
+
- यह एक सापेक्ष समय हो सकता है मिलीसेकंड में `1 * 60 * 60 * 1000` (1 घंटा)
|
|
82
|
+
- यह विकल्प `fs.stat` मेथड का उपयोग करके फ़ाइल के अपडेट समय की जांच करता है। इसलिए यह Git या अन्य टूल्स से प्रभावित हो सकता है जो फ़ाइल को संशोधित करते हैं।
|
|
83
|
+
|
|
84
|
+
> उदाहरण: `npx intlayer doc review --skip-if-modified-after "2025-12-05"`
|
|
85
|
+
|
|
86
|
+
- **`--skip-if-exists`**: यदि फ़ाइल पहले से मौजूद है तो उसे छोड़ दें।
|
|
87
|
+
|
|
88
|
+
> उदाहरण: `npx intlayer doc review --skip-if-exists`
|
|
89
|
+
|
|
90
|
+
**समीक्षा मोड विकल्प:**
|
|
91
|
+
|
|
92
|
+
- **`--log`**: केवल-लॉग मोड। AI के साथ अनुवाद न करें; इसके बजाय उन ब्लॉक्स को लॉग करें जिन्हें ध्यान देने की आवश्यकता है (लाइन नंबर और कंटेंट के साथ) मूल और लक्षित लोकेल्स के लिए, ताकि अन्य एजेंट को अनुवाद उत्पन्न करने में मदद मिल सके।
|
|
93
|
+
|
|
94
|
+
> उदाहरण: `npx intlayer doc review --log`
|
|
95
|
+
|
|
96
|
+
**एंट्री आउटपुट विकल्प:**
|
|
97
|
+
|
|
98
|
+
- **`--locales [locales...]`**: दस्तावेज़ीकरण की समीक्षा करने के लिए लक्षित स्थानीय भाषाएँ।
|
|
99
|
+
|
|
100
|
+
> उदाहरण: `npx intlayer doc review --locales fr es de`
|
|
101
|
+
|
|
102
|
+
- **`--base-locale [baseLocale]`**: स्रोत स्थानीय भाषा (मूल दस्तावेज़) जिससे तुलना की जाएगी।
|
|
103
|
+
|
|
104
|
+
> उदाहरण: `npx intlayer doc review --base-locale en`
|
|
105
|
+
|
|
106
|
+
**फ़ाइल प्रोसेसिंग विकल्प:**
|
|
107
|
+
|
|
108
|
+
- **`--nb-simultaneous-file-processed [nbSimultaneousFileProcessed]`**: समीक्षा के लिए एक साथ संसाधित की जाने वाली फ़ाइलों की संख्या।
|
|
109
|
+
|
|
110
|
+
> उदाहरण: `npx intlayer doc review --nb-simultaneous-file-processed 5`
|
|
111
|
+
|
|
112
|
+
**AI विकल्प:**
|
|
113
|
+
|
|
114
|
+
- **`--model [model]`**: समीक्षा के लिए उपयोग किया जाने वाला AI मॉडल (जैसे, `gpt-3.5-turbo`)।
|
|
115
|
+
- **`--provider [provider]`**: समीक्षा के लिए उपयोग किया जाने वाला AI प्रदाता।
|
|
116
|
+
- **`--temperature [temperature]`**: AI मॉडल के लिए तापमान सेटिंग।
|
|
117
|
+
- **`--api-key [apiKey]`**: AI सेवा के लिए अपनी स्वयं की API कुंजी प्रदान करें।
|
|
118
|
+
- **`--application-context [applicationContext]`**: AI समीक्षा के लिए अतिरिक्त संदर्भ प्रदान करें।
|
|
119
|
+
- **`--data-serialization [dataSerialization]`**: Intlayer की AI सुविधाओं के लिए उपयोग किया जाने वाला डेटा सीरियलाइजेशन प्रारूप। विकल्प: `json` (मानक, विश्वसनीय), `toon` (कम टोकन, कम सुसंगत)।
|
|
120
|
+
- **`--custom-prompt [prompt]`**: समीक्षा के लिए उपयोग किए जाने वाले बेस प्रॉम्प्ट को कस्टमाइज़ करें। (ध्यान दें: अधिकांश उपयोग मामलों के लिए, `--custom-instructions` विकल्प की सिफारिश की जाती है क्योंकि यह बेहतर नियंत्रण प्रदान करता है।)
|
|
121
|
+
|
|
122
|
+
> उदाहरण: `npx intlayer doc review --model deepseek-chat --provider deepseek --temperature 0.5 --api-key sk-1234567890 --application-context "My application is a cat store"`
|
|
123
|
+
|
|
124
|
+
**पर्यावरण चर विकल्प:**
|
|
125
|
+
|
|
126
|
+
- **`--env`**: पर्यावरण निर्दिष्ट करें (जैसे, `development`, `production`)।
|
|
127
|
+
- **`--env-file [envFile]`**: वेरिएबल्स लोड करने के लिए एक कस्टम पर्यावरण फ़ाइल प्रदान करें।
|
|
128
|
+
- **`--base-dir`**: प्रोजेक्ट के लिए बेस डायरेक्टरी निर्दिष्ट करें।
|
|
129
|
+
- **`--no-cache`**: कैश को अक्षम करें।
|
|
130
|
+
|
|
131
|
+
> उदाहरण: `npx intlayer doc review --base-dir ./docs --env-file .env.production.local`
|
|
132
|
+
|
|
133
|
+
**लॉग विकल्प:**
|
|
134
|
+
|
|
135
|
+
- **`--verbose`**: डिबगिंग के लिए विस्तृत लॉगिंग सक्षम करें। (CLI का उपयोग करते समय डिफ़ॉल्ट रूप से true)
|
|
136
|
+
|
|
137
|
+
> उदाहरण: `npx intlayer doc review --verbose`
|
|
138
|
+
|
|
139
|
+
**कस्टम निर्देश विकल्प:**
|
|
140
|
+
|
|
141
|
+
- **`--custom-instructions [customInstructions]`**: प्रॉम्प्ट में जोड़े गए कस्टम निर्देश। फॉर्मेटिंग, URL अनुवाद आदि के संबंध में विशिष्ट नियम लागू करने के लिए उपयोगी।
|
|
142
|
+
|
|
143
|
+
> उदाहरण: `npx intlayer doc review --custom-instructions "URLs का अनुवाद न करें, और मार्कडाउन फॉर्मेट बनाए रखें"`
|
|
144
|
+
|
|
145
|
+
> उदाहरण: `npx intlayer doc review --custom-instructions "$(cat ./instructions.md)"`
|
|
146
|
+
|
|
147
|
+
**Git विकल्प:**
|
|
148
|
+
|
|
149
|
+
- **`--git-diff`**: केवल उन फ़ाइलों पर चलाएं जिनमें बेस (डिफ़ॉल्ट `origin/main`) से वर्तमान ब्रांच (डिफ़ॉल्ट: `HEAD`) तक परिवर्तन शामिल हैं।
|
|
150
|
+
- **`--git-diff-base`**: git diff के लिए बेस संदर्भ निर्दिष्ट करें (डिफ़ॉल्ट `origin/main`)।
|
|
151
|
+
- **`--git-diff-current`**: git diff के लिए वर्तमान संदर्भ निर्दिष्ट करें (डिफ़ॉल्ट `HEAD`)।
|
|
152
|
+
- **`--uncommitted`**: बिना कमिट किए गए परिवर्तनों को शामिल करें।
|
|
153
|
+
- **`--unpushed`**: बिना पुश किए गए परिवर्तनों को शामिल करें।
|
|
154
|
+
- **`--untracked`**: बिना ट्रैक किए गए फाइलों को शामिल करें।
|
|
155
|
+
|
|
156
|
+
> उदाहरण: `npx intlayer doc review --git-diff --git-diff-base origin/main --git-diff-current HEAD`
|
|
157
|
+
|
|
158
|
+
> उदाहरण: `npx intlayer doc review --uncommitted --unpushed --untracked`
|
|
159
|
+
|
|
160
|
+
> ध्यान दें कि आउटपुट फ़ाइल पथ निम्नलिखित पैटर्न को बदलकर निर्धारित किया जाएगा:
|
|
161
|
+
>
|
|
162
|
+
> - `/{{baseLocale}}/` को `/{{locale}}/` से (Unix)
|
|
163
|
+
> - `\{{baseLocale}}\` को `\{{locale}}\` से (Windows)
|
|
164
|
+
> - `_{{baseLocale}}.` को `_{{locale}}.` से
|
|
165
|
+
> - `{{baseLocale}}_` को `{{locale}}_` से
|
|
166
|
+
> - `.{{baseLocaleName}}.` को `.{{localeName}}.` से
|
|
167
|
+
>
|
|
168
|
+
> यदि पैटर्न नहीं मिलता है, तो आउटपुट फ़ाइल फ़ाइल के एक्सटेंशन में `.{{locale}}` जोड़ देगी। उदाहरण के लिए `./my/file.md` समीक्षा की जाएगी और फ्रेंच लोकल के लिए `./my/file.fr.md` में अपडेट होगी।
|
package/docs/hi/cli/index.md
CHANGED