@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
|
## Utilizzo delle Traduzioni nei Componenti 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
|
## Oggetti di Contenuto Personalizzati
|
|
110
264
|
|
|
@@ -843,54 +843,6 @@ bun run build # Or bun run dev
|
|
|
843
843
|
|
|
844
844
|
</Steps>
|
|
845
845
|
|
|
846
|
-
### Configurare TypeScript
|
|
847
|
-
|
|
848
|
-
Intlayer utilizza l'augmentation dei moduli per sfruttare i vantaggi di TypeScript e rendere il tuo codice più robusto.
|
|
849
|
-
|
|
850
|
-

|
|
851
|
-
|
|
852
|
-

|
|
853
|
-
|
|
854
|
-
Assicurati che la tua configurazione TypeScript includa i tipi generati automaticamente.
|
|
855
|
-
|
|
856
|
-
```json5 fileName="tsconfig.json"
|
|
857
|
-
{
|
|
858
|
-
// ... Le tue configurazioni TypeScript esistenti
|
|
859
|
-
"include": [
|
|
860
|
-
// ... Le tue configurazioni TypeScript esistenti
|
|
861
|
-
".intlayer/**/*.ts", // Includi i tipi generati automaticamente
|
|
862
|
-
],
|
|
863
|
-
}
|
|
864
|
-
```
|
|
865
|
-
|
|
866
|
-
### Configurazione Git
|
|
867
|
-
|
|
868
|
-
Si consiglia di ignorare i file generati da Intlayer. Questo ti permette di evitare di committarli nel tuo repository Git.
|
|
869
|
-
|
|
870
|
-
Per farlo, puoi aggiungere le seguenti istruzioni al tuo file `.gitignore`:
|
|
871
|
-
|
|
872
|
-
```bash
|
|
873
|
-
# Ignora i file generati da Intlayer
|
|
874
|
-
.intlayer
|
|
875
|
-
```
|
|
876
|
-
|
|
877
|
-
### Estensione VS Code
|
|
878
|
-
|
|
879
|
-
Per migliorare la tua esperienza di sviluppo con Intlayer, puoi installare l'estensione ufficiale **Intlayer VS Code Extension**.
|
|
880
|
-
|
|
881
|
-
[Installa dal Marketplace di VS Code](https://marketplace.visualstudio.com/items?itemName=intlayer.intlayer-vs-code-extension)
|
|
882
|
-
|
|
883
|
-
Questa estensione offre:
|
|
884
|
-
|
|
885
|
-
- **Completamento automatico** per le chiavi di traduzione.
|
|
886
|
-
- **Rilevamento errori in tempo reale** per le traduzioni mancanti.
|
|
887
|
-
- **Anteprime inline** del contenuto tradotto.
|
|
888
|
-
- **Azioni rapide** per creare e aggiornare facilmente le traduzioni.
|
|
889
|
-
|
|
890
|
-
Per maggiori dettagli su come utilizzare l'estensione, consulta la [documentazione dell'estensione Intlayer per VS Code](https://intlayer.org/doc/vs-code-extension).
|
|
891
|
-
|
|
892
|
-
---
|
|
893
|
-
|
|
894
846
|
### (Opzionale) Sitemap e robots.txt (generazione in build)
|
|
895
847
|
|
|
896
848
|
Intlayer espone utilità - `generateSitemap` e `getMultilingualUrls` - per formattare `sitemap.xml` multilingue e `robots.txt` pronti per i crawler e scriverli automaticamente in `public/`. Di solito si esegue un piccolo script Node **prima** di Vite (ad esempio hook npm `predev` / `prebuild`) così che i file siano presenti in build o in sviluppo.
|
package/docs/it/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: Nuovo Intlayer v8 - Novità
|
|
5
5
|
description: Scopri le novità di Intlayer v8. Miglioramenti significativi nella Developer Experience, nella validazione dei contenuti e nella gestione dei dizionari.
|
|
6
6
|
keywords:
|
|
@@ -409,6 +409,16 @@ Per maggiori dettagli, consulta la [Documentazione dei contenuti HTML](https://g
|
|
|
409
409
|
|
|
410
410
|
---
|
|
411
411
|
|
|
412
|
+
## File di contenuto YAML e Markdown (v8.10.0)
|
|
413
|
+
|
|
414
|
+
Ora puoi dichiarare i contenuti direttamente utilizzando le estensioni di file `.content.md` e `.content.yaml`. Questo è perfetto per contenuti di lunga forma, blog, documentazione e politiche sulla privacy.
|
|
415
|
+
|
|
416
|
+
Questi file sono completamente modificabili dall'Editor Visuale, fornendo un flusso di lavoro semplificato per i membri del team non tecnici.
|
|
417
|
+
|
|
418
|
+
Per maggiori dettagli, consulta la [Documentazione sui file di contenuto YAML](https://intlayer.org/doc/concept/content#yaml-content-file) e la [Documentazione sui file di contenuto Markdown](https://intlayer.org/doc/concept/content/markdown).
|
|
419
|
+
|
|
420
|
+
---
|
|
421
|
+
|
|
412
422
|
## Riscritture URL personalizzate
|
|
413
423
|
|
|
414
424
|
Intlayer v8 introduce il supporto per le **Riscritture URL personalizzate**, che ti permettono di definire percorsi specifici per ogni locale che differiscono dalla struttura standard `/locale/path`. Questa è una funzionalità potente per migliorare la SEO locale e offrire un'esperienza utente più naturale per i parlanti non inglesi.
|
|
@@ -753,6 +763,70 @@ export default {
|
|
|
753
763
|
</Tab>
|
|
754
764
|
</Tabs>
|
|
755
765
|
|
|
766
|
+
---
|
|
767
|
+
|
|
768
|
+
## Regole di Pluralizzazione Unicode CLDR (v8.8.0)
|
|
769
|
+
|
|
770
|
+
È stato introdotto un nuovo helper per nodi `plural` basato sulle regole di pluralizzazione definite dal Progetto Unicode CLDR, migliorando il supporto per le lingue complesse.
|
|
771
|
+
|
|
772
|
+
```typescript fileName="src/openings.content.ts"
|
|
773
|
+
import { plural, t, type Dictionary } from "intlayer";
|
|
774
|
+
|
|
775
|
+
const openingsContent = {
|
|
776
|
+
key: "total_openings",
|
|
777
|
+
content: {
|
|
778
|
+
totalOpenings: t({
|
|
779
|
+
en: plural({
|
|
780
|
+
one: "{{count}} opening",
|
|
781
|
+
other: "{{count}} openings",
|
|
782
|
+
}),
|
|
783
|
+
fr: plural({
|
|
784
|
+
one: "{{count}} offre",
|
|
785
|
+
other: "{{count}} offres",
|
|
786
|
+
}),
|
|
787
|
+
it: plural({
|
|
788
|
+
// Added Italian translation
|
|
789
|
+
one: "{{count}} offerta",
|
|
790
|
+
other: "{{count}} offerte",
|
|
791
|
+
}),
|
|
792
|
+
}),
|
|
793
|
+
},
|
|
794
|
+
} satisfies Dictionary;
|
|
795
|
+
|
|
796
|
+
export default openingsContent;
|
|
797
|
+
```
|
|
798
|
+
|
|
799
|
+
Puoi quindi passare il conteggio dinamicamente nel componente del tuo framework:
|
|
800
|
+
|
|
801
|
+
```tsx
|
|
802
|
+
import type { FC } from "react";
|
|
803
|
+
import { useIntlayer } from "react-intlayer";
|
|
804
|
+
|
|
805
|
+
const OpeningsComponent: FC<{ count: number }> = ({ count }) => {
|
|
806
|
+
const { totalOpenings } = useIntlayer("total_openings");
|
|
807
|
+
|
|
808
|
+
return (
|
|
809
|
+
<div>
|
|
810
|
+
{/* In English: */}
|
|
811
|
+
{/* count=0 → "0 openings" (other) */}
|
|
812
|
+
{/* count=1 → "1 opening" (one) */}
|
|
813
|
+
{/* count=2 → "2 openings" (other) */}
|
|
814
|
+
{/* count=21 → "21 openings" (other) */}
|
|
815
|
+
{/* In Italian: */}
|
|
816
|
+
{/* count=0 → "0 offerte" (other) */}
|
|
817
|
+
{/* count=1 → "1 offerta" (one) */}
|
|
818
|
+
{/* count=2 → "2 offerte" (other) */}
|
|
819
|
+
{/* count=21 → "21 offerte" (other) */}
|
|
820
|
+
<p>{totalOpenings(count)}</p>
|
|
821
|
+
</div>
|
|
822
|
+
);
|
|
823
|
+
};
|
|
824
|
+
```
|
|
825
|
+
|
|
826
|
+
Per maggiori informazioni, consulta la [Documentazione sulla Pluralizzazione](https://intlayer.org/doc/concept/content/plural).
|
|
827
|
+
|
|
828
|
+
---
|
|
829
|
+
|
|
756
830
|
## Validazione dello schema di contenuto
|
|
757
831
|
|
|
758
832
|
Intlayer v8 introduce la validazione degli schemi per i dizionari. Ora puoi definire schemi di validazione riutilizzabili nella tua configurazione utilizzando Zod e applicarli ai tuoi file di contenuto. Questo garantisce che i tuoi contenuti rispettino sempre la struttura prevista, intercettando gli errori in fase di build.
|
|
@@ -797,9 +871,37 @@ Se il contenuto non corrisponde allo schema (ad esempio, il titolo è troppo cor
|
|
|
797
871
|
|
|
798
872
|
---
|
|
799
873
|
|
|
874
|
+
## TypeScript: Accessori Primitivi IntlayerNode
|
|
875
|
+
|
|
876
|
+
Il tipo `IntlayerNode` è stato aggiornato per consentire di chiamare metodi JavaScript primitivi direttamente sui nodi di contenuto. Questo rende possibile interagire con il tuo contenuto localizzato direttamente come se fosse una stringa, un numero, un booleano o un array primitivo standard.
|
|
877
|
+
|
|
878
|
+
Supportato su React, Preact, Solid, Svelte, Vue e Angular.
|
|
879
|
+
|
|
880
|
+
### Esempio Stringa
|
|
881
|
+
|
|
882
|
+
```typescript
|
|
883
|
+
content.placeholder; // Restituisce IntlayerNode<string>
|
|
884
|
+
content.placeholder.value; // Restituisce stringa
|
|
885
|
+
content.placeholder.toString(); // Restituisce stringa
|
|
886
|
+
content.placeholder.toLowerCase(); // Restituisce stringa
|
|
887
|
+
String(content.placeholder); // Restituisce stringa
|
|
888
|
+
content.placeholder.toUpperCase(); // Restituisce stringa in maiuscolo
|
|
889
|
+
content.placeholder.replace("a", "b"); // Restituisce stringa modificata
|
|
890
|
+
```
|
|
891
|
+
|
|
892
|
+
### Esempio Array
|
|
893
|
+
|
|
894
|
+
```typescript
|
|
895
|
+
content.myArrayOfString // Restituisce IntlayerNode<Array<string>>
|
|
896
|
+
content.myArrayOfString.find(...) // Restituisce elemento
|
|
897
|
+
content.myArrayOfString.join(', ') // Restituisce stringa unita
|
|
898
|
+
```
|
|
899
|
+
|
|
900
|
+
---
|
|
901
|
+
|
|
800
902
|
### Rilevamento automatico del contenuto potenziato
|
|
801
903
|
|
|
802
|
-
Nella v8, Intlayer rileva in modo intelligente la sintassi Markdown, i tag HTML e le inserzioni di variabili nelle stringhe di contenuto. Questo significa che spesso puoi omettere funzioni helper come `md()`, `html()
|
|
904
|
+
Nella v8, Intlayer rileva in modo intelligente la sintassi Markdown, i tag HTML e le inserzioni di variabili nelle stringhe di contenuto. Questo significa che spesso puoi omettere funzioni helper come `md()`, `html()`, o `insert()`.
|
|
803
905
|
|
|
804
906
|
Questo comportamento è abilitato per impostazione predefinita. Ora puoi perfezionare questo rilevamento globalmente nel tuo `intlayer.config.ts` o per singolo dizionario.
|
|
805
907
|
|
|
@@ -1002,6 +1104,17 @@ L'estensione Intlayer per VSCode riceve aggiornamenti importanti nella v8 per se
|
|
|
1002
1104
|
|
|
1003
1105
|
---
|
|
1004
1106
|
|
|
1107
|
+
## Tooling: C++ Watcher & LSP basato su OXC (v8.12.0)
|
|
1108
|
+
|
|
1109
|
+
Intlayer v8.12.0 apporta importanti miglioramenti alla developer experience:
|
|
1110
|
+
|
|
1111
|
+
- **Parcel Watcher**: Il watcher dei contenuti è stato migrato da `chokidar` a `@parcel/watcher`, sfruttando il file watching nativo in C++ per fornire aggiornamenti più rapidi e un consumo di memoria significativamente inferiore.
|
|
1112
|
+
- **Nuovo Language Server Protocol (LSP)**: È ora disponibile un LSP completamente nuovo. Costruito con parsing basato su OXC, aiuta il tuo IDE e gli agenti AI a collegare senza soluzione di continuità le chiamate `useIntlayer('my-key')` con i loro file `.content` corrispondenti, e viceversa.
|
|
1113
|
+
|
|
1114
|
+
Per maggiori dettagli, consulta la [Documentazione LSP](https://intlayer.org/doc/lsp).
|
|
1115
|
+
|
|
1116
|
+
---
|
|
1117
|
+
|
|
1005
1118
|
## Ottimizzazioni del compilatore
|
|
1006
1119
|
|
|
1007
1120
|
Intlayer v8 include un nuovo layer di caching per il compilatore Markdown e HTML. Questo garantisce che stringhe di contenuto identiche con la stessa configurazione vengano analizzate solo una volta, riducendo significativamente l'overhead durante i re-render o quando lo stesso contenuto è utilizzato in più punti.
|
|
@@ -1057,6 +1170,48 @@ Intlayer v8 include un nuovo layer di caching per il compilatore Markdown e HTML
|
|
|
1057
1170
|
|
|
1058
1171
|
---
|
|
1059
1172
|
|
|
1173
|
+
## Ottimizzazioni sperimentali della build: Minify & Purge (v8.7.0)
|
|
1174
|
+
|
|
1175
|
+
Intlayer v8.7.0 introduce nuove funzionalità di build sperimentali nel tuo `intlayer.config.ts` progettate per ottimizzare il tuo bundle di produzione:
|
|
1176
|
+
|
|
1177
|
+
- **Minificazione del dizionario**: Minifica i file del dizionario per ridurne le dimensioni.
|
|
1178
|
+
- **Pulizia delle chiavi inutilizzate**: Scansiona e rimuove le chiavi di traduzione inutilizzate dai dizionari, rinominando le chiavi attive con caratteri brevi (es. `"products" -> "a"`, `"pricing" -> "b"`). Questo riduce le dimensioni del bundle fino al 5%.
|
|
1179
|
+
- **Disabilita i controlli TypeScript**: Accelera le build disabilitando il controllo dei tipi TypeScript durante la fase di compilazione.
|
|
1180
|
+
|
|
1181
|
+
```typescript fileName="intlayer.config.ts"
|
|
1182
|
+
import { Locales, type IntlayerConfig } from "intlayer";
|
|
1183
|
+
|
|
1184
|
+
const config: IntlayerConfig = {
|
|
1185
|
+
internationalization: {
|
|
1186
|
+
locales: [Locales.ENGLISH, Locales.FRENCH],
|
|
1187
|
+
defaultLocale: Locales.ENGLISH,
|
|
1188
|
+
},
|
|
1189
|
+
dictionary: {
|
|
1190
|
+
importMode: "dynamic",
|
|
1191
|
+
},
|
|
1192
|
+
build: {
|
|
1193
|
+
/**
|
|
1194
|
+
* Minify the dictionaries to reduce the bundle size.
|
|
1195
|
+
*/
|
|
1196
|
+
minify: true,
|
|
1197
|
+
|
|
1198
|
+
/**
|
|
1199
|
+
* Purge the unused keys in dictionaries
|
|
1200
|
+
*/
|
|
1201
|
+
purge: true,
|
|
1202
|
+
|
|
1203
|
+
/**
|
|
1204
|
+
* Indicates if the build should check TypeScript types
|
|
1205
|
+
*/
|
|
1206
|
+
checkTypes: false,
|
|
1207
|
+
},
|
|
1208
|
+
};
|
|
1209
|
+
|
|
1210
|
+
export default config;
|
|
1211
|
+
```
|
|
1212
|
+
|
|
1213
|
+
---
|
|
1214
|
+
|
|
1060
1215
|
## Flessibilità: Modalità di importazione unificata
|
|
1061
1216
|
|
|
1062
1217
|
La proprietà booleana `live` è stata deprecata a favore di una proprietà più completa, `importMode`. Questo consente di definire esplicitamente come devono essere caricati i dizionari: staticamente, dinamicamente o tramite sincronizzazione live.
|
|
@@ -1204,6 +1359,49 @@ Il contenuto Markdown e HTML in Svelte ora viene automaticamente convertito in H
|
|
|
1204
1359
|
|
|
1205
1360
|
---
|
|
1206
1361
|
|
|
1362
|
+
## Supporto Angular: Vite Bundler (v8.11.0)
|
|
1363
|
+
|
|
1364
|
+
Per gli utenti Angular, Intlayer ora supporta nativamente il bundler Vite tramite un nuovo plugin esbuild personalizzato, accelerando i tempi di sviluppo e di build.
|
|
1365
|
+
|
|
1366
|
+
Per i dettagli sulla configurazione, consulta la [Documentazione dell'ambiente Angular](https://intlayer.org/doc/environment/angular).
|
|
1367
|
+
|
|
1368
|
+
---
|
|
1369
|
+
|
|
1370
|
+
## Generazione della Sitemap (v8.6.0)
|
|
1371
|
+
|
|
1372
|
+
Intlayer ora genera automaticamente le sitemap in base alle tue locali e alla modalità di routing. Questo è particolarmente utile per l'ottimizzazione SEO in architetture di router come TanStack Router:
|
|
1373
|
+
|
|
1374
|
+
```typescript fileName="src/routes/sitemap.xml.ts"
|
|
1375
|
+
import { createFileRoute } from "@tanstack/react-router";
|
|
1376
|
+
import { generateSitemap } from "intlayer";
|
|
1377
|
+
|
|
1378
|
+
const SITE_URL = (
|
|
1379
|
+
import.meta.env.VITE_SITE_URL ?? "http://localhost:3000"
|
|
1380
|
+
).replace(/\/$/, "");
|
|
1381
|
+
|
|
1382
|
+
export const Route = createFileRoute("/sitemap.xml")({
|
|
1383
|
+
server: {
|
|
1384
|
+
handlers: {
|
|
1385
|
+
GET: async () => {
|
|
1386
|
+
const sitemap = generateSitemap(
|
|
1387
|
+
[
|
|
1388
|
+
{ path: "/", changefreq: "daily", priority: 1.0 },
|
|
1389
|
+
{ path: "/about", changefreq: "monthly", priority: 0.8 },
|
|
1390
|
+
],
|
|
1391
|
+
{ siteUrl: SITE_URL }
|
|
1392
|
+
);
|
|
1393
|
+
|
|
1394
|
+
return new Response(sitemap, {
|
|
1395
|
+
headers: { "Content-Type": "application/xml" },
|
|
1396
|
+
});
|
|
1397
|
+
},
|
|
1398
|
+
},
|
|
1399
|
+
},
|
|
1400
|
+
});
|
|
1401
|
+
```
|
|
1402
|
+
|
|
1403
|
+
---
|
|
1404
|
+
|
|
1207
1405
|
## Note di migrazione dalla v7
|
|
1208
1406
|
|
|
1209
1407
|
### Modifiche alla configurazione
|