@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
|
@@ -0,0 +1,232 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2026-06-14
|
|
3
|
+
updatedAt: 2026-06-14
|
|
4
|
+
title: Nuovo Intlayer v9 - Cosa c'è di nuovo?
|
|
5
|
+
description: Scopri le novità di Intlayer v9. Introduzione di package di compatibilità drop-in per le più diffuse librerie i18n e supporto per Collections, Variants e Dynamic Records.
|
|
6
|
+
keywords:
|
|
7
|
+
- Intlayer
|
|
8
|
+
- Compatibilità
|
|
9
|
+
- Migrazione
|
|
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
|
+
# Nuovo Intlayer v9 - Cosa c'è di nuovo?
|
|
24
|
+
|
|
25
|
+
Benvenuti a Intlayer v9! Questa major release segna un'enorme pietra miliare nella semplificazione del percorso di migrazione a Intlayer con i **Compat Adapter Packages** per le principali librerie i18n (`react-i18next`, `next-intl`, `vue-i18n`, ecc.) e aggiunge il supporto per strutture di contenuto ricche: **Collections**, **Variants** e **Dynamic Records**.
|
|
26
|
+
|
|
27
|
+
## Indice
|
|
28
|
+
|
|
29
|
+
<TOC levels={[2]} maxDepth={1} />
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## Compat Adapter Packages
|
|
34
|
+
|
|
35
|
+
La migrazione a Intlayer dalle popolari librerie i18n è ora più facile che mai. Abbiamo creato cinque compat package che espongono le **stesse identiche API pubbliche** delle librerie i18n standard, ma delegano tutto il lavoro di traduzione a Intlayer a runtime.
|
|
36
|
+
|
|
37
|
+
### Esporre la stessa API pubblica con tipizzazione stretta
|
|
38
|
+
|
|
39
|
+
Sostituendo gli import, ottieni tutti i vantaggi di Intlayer (inclusa la type safety in fase di compilazione rispetto ai tuoi dizionari effettivi) con modifiche minime al codice:
|
|
40
|
+
|
|
41
|
+
- `@intlayer/i18next`
|
|
42
|
+
- `@intlayer/react-i18next`
|
|
43
|
+
- `@intlayer/next-intl`
|
|
44
|
+
- `@intlayer/next-i18next`
|
|
45
|
+
- `@intlayer/vue-i18n`
|
|
46
|
+
|
|
47
|
+
Ad esempio, è sufficiente cambiare:
|
|
48
|
+
|
|
49
|
+
```ts
|
|
50
|
+
import { useTranslation } from "react-i18next";
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
in:
|
|
54
|
+
|
|
55
|
+
```ts
|
|
56
|
+
import { useTranslation } from "@intlayer/react-i18next";
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
Le tue chiavi saranno ora **strettamente tipizzate** rispetto ai tuoi dizionari Intlayer, offrendo il completamento automatico completo del dot-path nel tuo IDE!
|
|
60
|
+
|
|
61
|
+
### Bundler Alias Plugins (Vite, Next.js, Turbopack)
|
|
62
|
+
|
|
63
|
+
Per consentire la migrazione senza riscrivere manualmente tutte le tue istruzioni di import, ogni compat adapter package include un **plugin bundler personalizzato** (Vite o Next.js) sotto il sottopercorso `/plugin`.
|
|
64
|
+
|
|
65
|
+
Questi plugin riscrivono automaticamente gli import esistenti (ad esempio `react-i18next` o `next-intl`) nei loro equivalenti `@intlayer/*` in fase di build.
|
|
66
|
+
|
|
67
|
+
#### Esempio Next.js (Webpack / Turbopack)
|
|
68
|
+
|
|
69
|
+
Invece di `withIntlayer`, avvolgi la tua configurazione Next.js con il compat plugin:
|
|
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
|
+
#### Esempio 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
|
+
## Risolutore Runtime Mutualizzato
|
|
94
|
+
|
|
95
|
+
Tutti i compat adapter ora instradano la risoluzione delle traduzioni attraverso un singolo parser runtime altamente ottimizzato: `@intlayer/core/messageFormat`.
|
|
96
|
+
|
|
97
|
+
- **Interpolate Message**: Risolve `{{var}}` standard (spazi bianchi e dot-paths), argomenti formattati ICU (`{v, number, percent}` ecc.) e template `{var}` semplici.
|
|
98
|
+
- **Message Node Resolver**: Risolve nodi annidati: `insert()`, `plural()` (regole plurali CLDR), `enu()` (enumerazione), `gender()`, tag HTML, array e nodi di funzione richiamabili.
|
|
99
|
+
- **Tokenized Tag Parser**: Supporta tag XML/HTML inline e tag numerati (ad esempio, `<1>children</1>`) per abilitare il rendering di testo ricco out of the box.
|
|
100
|
+
|
|
101
|
+
---
|
|
102
|
+
|
|
103
|
+
## Specifica delle Funzionalità: Collections, Variants & Dynamic Records
|
|
104
|
+
|
|
105
|
+
Intlayer v9 si espande oltre gli oggetti chiave-valore statici, consentendo ai dizionari di dichiarare strutture di layout dinamiche che sono completamente tipizzate end-to-end.
|
|
106
|
+
|
|
107
|
+
### 1. Collections
|
|
108
|
+
|
|
109
|
+
Definisci un elenco di elementi ordinati gestito da CMS (ad esempio FAQ, prodotti o elenchi di blog):
|
|
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({
|
|
119
|
+
it: "Cos'è Intlayer?",
|
|
120
|
+
en: "What is Intlayer?",
|
|
121
|
+
fr: "Qu'est-ce qu'Intlayer ?",
|
|
122
|
+
}),
|
|
123
|
+
answer: t({
|
|
124
|
+
it: "Un toolkit i18n.",
|
|
125
|
+
en: "An i18n toolkit.",
|
|
126
|
+
fr: "Une boîte à outils i18n.",
|
|
127
|
+
}),
|
|
128
|
+
},
|
|
129
|
+
],
|
|
130
|
+
} satisfies Dictionary;
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
#### Utilizzo:
|
|
134
|
+
|
|
135
|
+
```ts
|
|
136
|
+
// Recupera tutti gli elementi
|
|
137
|
+
const allFaqs = useIntlayer("faq"); // -> { question: string, answer: string }[]
|
|
138
|
+
|
|
139
|
+
// Recupera un singolo elemento per indice
|
|
140
|
+
const faq = useIntlayer("faq", { item: 1 }); // -> { question: string, answer: string }
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
### 2. Variants
|
|
144
|
+
|
|
145
|
+
Fornisci A/B test, header stagionali, feature flag o landing page personalizzate:
|
|
146
|
+
|
|
147
|
+
```ts fileName="hero.content.ts"
|
|
148
|
+
import { t, type Dictionary } from "intlayer";
|
|
149
|
+
|
|
150
|
+
export default {
|
|
151
|
+
key: "hero-banner",
|
|
152
|
+
variant: "default",
|
|
153
|
+
content: {
|
|
154
|
+
control: t({ it: "Benvenuto", en: "Welcome", fr: "Bienvenue" }),
|
|
155
|
+
black_friday: t({
|
|
156
|
+
it: "Acquista ora",
|
|
157
|
+
en: "Shop now",
|
|
158
|
+
fr: "Acheter maintenant",
|
|
159
|
+
}),
|
|
160
|
+
},
|
|
161
|
+
} satisfies Dictionary;
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
#### Utilizzo:
|
|
165
|
+
|
|
166
|
+
```ts
|
|
167
|
+
const banner = useIntlayer("hero-banner", { variant: "black_friday" });
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
### 3. Dynamic Records
|
|
171
|
+
|
|
172
|
+
Definisci dizionari le cui voci vengono caricate dinamicamente a runtime tramite ID di query:
|
|
173
|
+
|
|
174
|
+
```ts fileName="product.content.ts"
|
|
175
|
+
import { t, type Dictionary } from "intlayer";
|
|
176
|
+
|
|
177
|
+
export default {
|
|
178
|
+
key: "product-copy",
|
|
179
|
+
meta: {
|
|
180
|
+
id: "prod_123",
|
|
181
|
+
category: "books",
|
|
182
|
+
},
|
|
183
|
+
content: {
|
|
184
|
+
title: t({ it: "Clean Code", en: "Clean Code", fr: "Code Propre" }),
|
|
185
|
+
},
|
|
186
|
+
} satisfies Dictionary;
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
#### Utilizzo:
|
|
190
|
+
|
|
191
|
+
```ts
|
|
192
|
+
// Recupera solo l'elemento richiesto dinamicamente (richiede Suspense)
|
|
193
|
+
const product = useIntlayer("product-copy", {
|
|
194
|
+
id: "prod_123",
|
|
195
|
+
category: "books",
|
|
196
|
+
});
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
---
|
|
200
|
+
|
|
201
|
+
## Caricamento Dinamico e Ottimizzazioni delle Dimensioni del Bundle
|
|
202
|
+
|
|
203
|
+
Per mantenere i bundle estremamente piccoli, Intlayer v9 supporta il caricamento dinamico lazy loading.
|
|
204
|
+
|
|
205
|
+
Nella tua configurazione, imposta `importMode` su `'dynamic'` o `'fetch'`:
|
|
206
|
+
|
|
207
|
+
```ts fileName="intlayer.config.ts"
|
|
208
|
+
export default {
|
|
209
|
+
dictionary: {
|
|
210
|
+
importMode: "dynamic", // "static" | "dynamic" | "fetch"
|
|
211
|
+
},
|
|
212
|
+
};
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
In fase di build, `@intlayer/swc` e `@intlayer/babel` scansionano i tuoi file e sostituiscono le chiamate `useIntlayer` / `getIntlayer` con wrapper tree-shakeable (`useDictionary` / `useDictionaryDynamic`). Viene caricato solo il contenuto richiesto per l'elemento della collection, la variante o la locale selezionati, impedendo al tuo bundle di produzione di contenere traduzioni inutilizzate.
|
|
216
|
+
|
|
217
|
+
---
|
|
218
|
+
|
|
219
|
+
## Note di migrazione da v8
|
|
220
|
+
|
|
221
|
+
Se stai eseguendo l'aggiornamento da v8, nota che la v9 non include breaking changes. Ma ecco le modifiche chiave:
|
|
222
|
+
|
|
223
|
+
- **Locales & Dialects**: Se utilizzi dipendenze i18n esterne, aggiungi i rispettivi compat adapter plugin nella tua configurazione o setup del bundler per riscrivere automaticamente gli import.
|
|
224
|
+
- **Custom Selectors**: Quando chiami `useIntlayer`, il secondo parametro è ora riservato a un oggetto di opzioni contenente `{ locale, item, variant, id }`. Se in precedenza passavi direttamente una stringa locale, puoi ancora farlo, ma l'utilizzo dell'oggetto di opzioni è consigliato per selezioni avanzate.
|
|
225
|
+
|
|
226
|
+
---
|
|
227
|
+
|
|
228
|
+
## Link utili
|
|
229
|
+
|
|
230
|
+
- [Guida ai Compat Adapter Packages](https://github.com/aymericzip/intlayer/blob/main/docs/docs/it/compat/index.md)
|
|
231
|
+
- [Dizionari Dinamici - Collections, Variants & Dynamic Records](https://github.com/aymericzip/intlayer/blob/main/docs/docs/it/dynamic_dictionaries/index.md)
|
|
232
|
+
- [Riferimento alla Configurazione](https://github.com/aymericzip/intlayer/blob/main/docs/docs/it/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"(文字列または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"(文字列または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 "URLの翻訳を避け、マークダウン形式を維持する"`
|
|
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/ja/cli/index.md
CHANGED
package/docs/ja/cli/scan.md
CHANGED
package/docs/ja/configuration.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2024-08-13
|
|
3
|
-
updatedAt: 2026-
|
|
3
|
+
updatedAt: 2026-06-17
|
|
4
4
|
title: 設定 (Configuration)
|
|
5
5
|
description: アプリケーションにIntlayerを設定する方法について説明します。ニーズに合わせてIntlayerをカスタマイズするためのさまざまな設定とオプションを理解してください。
|
|
6
6
|
keywords:
|
|
@@ -14,6 +14,9 @@ slugs:
|
|
|
14
14
|
- concept
|
|
15
15
|
- configuration
|
|
16
16
|
history:
|
|
17
|
+
- version: 8.10.0
|
|
18
|
+
date: 2026-06-17
|
|
19
|
+
changes: "辞書設定に `format` オプションを追加"
|
|
17
20
|
- version: 8.9.4
|
|
18
21
|
date: 2026-05-12
|
|
19
22
|
changes: "LM Studio プロバイダーのサポートを追加"
|
|
@@ -135,6 +138,7 @@ Intlayer は、JSON、JS、MJS、および TS の設定ファイル形式をサ
|
|
|
135
138
|
````typescript fileName="intlayer.config.ts" codeFormat="typescript"
|
|
136
139
|
import { Locales, type IntlayerConfig } from "intlayer";
|
|
137
140
|
import { nextjsRewrite } from "intlayer/routing";
|
|
141
|
+
import { syncJSON } from "@intlayer/sync-json-plugin";
|
|
138
142
|
import { z } from "zod";
|
|
139
143
|
|
|
140
144
|
/**
|
|
@@ -583,9 +587,37 @@ const config: IntlayerConfig = {
|
|
|
583
587
|
},
|
|
584
588
|
|
|
585
589
|
/**
|
|
586
|
-
*
|
|
590
|
+
* 辞書設定。
|
|
587
591
|
*/
|
|
588
|
-
|
|
592
|
+
dictionary: {
|
|
593
|
+
/**
|
|
594
|
+
* 辞書のインポート方法を制御します。
|
|
595
|
+
* - "static": ビルド時に静的にインポート。
|
|
596
|
+
* - "dynamic": Suspenseを使用して動的にインポート。
|
|
597
|
+
* - "fetch": ライブ同期APIを介して動的に取得。
|
|
598
|
+
*/
|
|
599
|
+
importMode: "static",
|
|
600
|
+
|
|
601
|
+
/**
|
|
602
|
+
* プロジェクト内のすべての辞書のデフォルトのメッセージ形式。
|
|
603
|
+
* - 'intlayer': ネイティブの intlayer 形式 (デフォルト)。
|
|
604
|
+
* - 'icu': ICU メッセージ形式。
|
|
605
|
+
* - 'i18next': i18next 形式。
|
|
606
|
+
* - 'vue-i18n': Vue I18n 形式。
|
|
607
|
+
* - 'po': GNU Gettext PO 形式。
|
|
608
|
+
*/
|
|
609
|
+
format: "icu",
|
|
610
|
+
},
|
|
611
|
+
|
|
612
|
+
/**
|
|
613
|
+
* プラグインの設定。
|
|
614
|
+
*/
|
|
615
|
+
plugins: [
|
|
616
|
+
syncJSON({
|
|
617
|
+
format: "icu",
|
|
618
|
+
source: ({ locale }) => `./messages/${locale}.json`,
|
|
619
|
+
}),
|
|
620
|
+
],
|
|
589
621
|
};
|
|
590
622
|
|
|
591
623
|
export default config;
|
|
@@ -854,20 +886,21 @@ export default config;
|
|
|
854
886
|
|
|
855
887
|
自動入力動作やコンテンツ生成など、辞書操作を制御するパラメータ。
|
|
856
888
|
|
|
857
|
-
| フィールド | 説明 | 型 | デフォルト
|
|
858
|
-
| --------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- |
|
|
859
|
-
| `fill` | 自動入力 (AI 翻訳) の出力ファイルがどのように生成されるかを制御します。 | `boolean` | <br/> `FilePathPattern` | <br/> `Partial<Record<Locale, boolean | FilePathPattern>>` | `true`
|
|
860
|
-
| `description` | エディタや CMS が辞書の目的を理解するのに役立ちます。AI による翻訳生成のコンテキストとしても使用されます。 | `string` | `undefined`
|
|
861
|
-
| `locale` | 辞書をロケールごとの形式に変換します。宣言された各フィールドが翻訳ノードになります。存在しない場合、辞書は多言語対応として扱われます。 | `LocalesValues` | `undefined`
|
|
862
|
-
| `contentAutoTransformation` | コンテンツの文字列を型付きノード (markdown, HTML, または insertion) に自動変換します。 | `boolean` | <br/> `{ markdown?: boolean; html?: boolean; insertion?: boolean }` | `false`
|
|
863
|
-
| `location` | 辞書ファイルの保存場所と CMS との同期方法を指定します。 | `'local'` | <br/> `'remote'` | <br/> `'hybrid'` | <br/> `'plugin'` | <br/> `string` | `'local'`
|
|
864
|
-
| `importMode` | 辞書のインポート方法を制御します。 | `'static'` | <br/> `'dynamic'` | <br/> `'fetch'` | `'static'`
|
|
865
|
-
| `
|
|
866
|
-
| `
|
|
867
|
-
| `
|
|
868
|
-
| `
|
|
869
|
-
| `
|
|
870
|
-
| `
|
|
889
|
+
| フィールド | 説明 | 型 | デフォルト | 例 | 備考 |
|
|
890
|
+
| --------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | ------------ | ------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
891
|
+
| `fill` | 自動入力 (AI 翻訳) の出力ファイルがどのように生成されるかを制御します。 | `boolean` | <br/> `FilePathPattern` | <br/> `Partial<Record<Locale, boolean | FilePathPattern>>` | `true` | `{ en: '/locales/en/{{key}}.json', fr: ({ key }) => '/locales/fr/${key}.json', es: false }` | • `true`: デフォルトパス (ソースと同じファイル)。<br/>• `false`: 無効化。<br/>• 文字列/関数パターンは、ロケールごとのファイルを生成します。<br/>• ロケールごとのオブジェクト: 各ロケールが独自のパターンに対応します。`false` はそのロケールを無視します。<br/>• `{{locale}}` を含めると、ロケールごとの生成がトリガーされます。<br/>• 辞書レベルの `fill` は、常にこのグローバル設定よりも優先されます。 |
|
|
892
|
+
| `description` | エディタや CMS が辞書の目的を理解するのに役立ちます。AI による翻訳生成のコンテキストとしても使用されます。 | `string` | `undefined` | `'User profile section'` | |
|
|
893
|
+
| `locale` | 辞書をロケールごとの形式に変換します。宣言された各フィールドが翻訳ノードになります。存在しない場合、辞書は多言語対応として扱われます。 | `LocalesValues` | `undefined` | `'en'` | 辞書が複数の言語の翻訳を含むのではなく、特定のロケール専用である場合に使用します。 |
|
|
894
|
+
| `contentAutoTransformation` | コンテンツの文字列を型付きノード (markdown, HTML, または insertion) に自動変換します。 | `boolean` | <br/> `{ markdown?: boolean; html?: boolean; insertion?: boolean }` | `false` | `true` | • Markdown : `### Title` → `md('### Title')`。<br/>• HTML : `<div>Title</div>` → `html('<div>Title</div>')`。<br/>• 挿入 (Insertion) : `Hello {{name}}` → `insert('Hello {{name}}')`。 |
|
|
895
|
+
| `location` | 辞書ファイルの保存場所と CMS との同期方法を指定します。 | `'local'` | <br/> `'remote'` | <br/> `'hybrid'` | <br/> `'plugin'` | <br/> `string` | `'local'` | `'hybrid'` | • `'local'`: ローカルでのみ管理。<br/>• `'remote'`: リモート (CMS) でのみ管理。<br/>• `'hybrid'`: ローカルとリモートの両方で管理。<br/>• `'plugin'` またはカスタム文字列: プラグインやカスタムソースによって管理。 |
|
|
896
|
+
| `importMode` | 辞書のインポート方法を制御します。 | `'static'` | <br/> `'dynamic'` | <br/> `'fetch'` | `'static'` | `'dynamic'` | • `'static'`: 静的インポート。<br/>• `'dynamic'`: Suspense を介した動的インポート。<br/>• `'fetch'`: Live Sync API を介して取得。失敗した場合は `'dynamic'` にフォールバック。<br/>• `@intlayer/babel` および `@intlayer/swc` プラグインが必要。<br/>• キーは静的に宣言される必要があります。<br/>• `optimize` がオフの場合は無視されます。<br/>• `getIntlayer`、`getDictionary` などには影響しません。 |
|
|
897
|
+
| `format` | プロジェクト内のすべての辞書のデフォルトのメッセージ形式。 | `'intlayer'` | <br/> `'icu'` | <br/> `'i18next'` | <br/> `'vue-i18n'` | <br/> `'po'` | `'intlayer'` | `'icu'` | • `'intlayer'`: ネイティブ intlayer 形式。<br/>• `'icu'`: ICU メッセージ形式。<br/>• `'i18next'`: i18next 形式。<br/>• `'vue-i18n'`: Vue I18n 形式。<br/>• `'po'`: GNU Gettext PO 形式。 |
|
|
898
|
+
| `priority` | 辞書の優先順位。辞書間の競合を解決する際、高い値が低い値に優先されます。 | `number` | `undefined` | `1` | |
|
|
899
|
+
| `live` | 非推奨 - 代わりに `importMode: 'fetch'` を使用してください。辞書コンテンツを Live Sync API を介して動的に取得するかどうかを指定していました。 | `boolean` | `undefined` | | v8.0.0 で `importMode: 'fetch'` に名前変更。 |
|
|
900
|
+
| `schema` | JSON スキーマ検証のために Intlayer によって自動生成されます。 | `'https://intlayer.org/schema.json'` | 自動生成 | | 手動で編集しないでください。 |
|
|
901
|
+
| `title` | エディタや CMS で辞書を識別するのに役立ちます。 | `string` | `undefined` | `'User Profile'` | |
|
|
902
|
+
| `tags` | 辞書をカテゴリ化し、エディタや AI にコンテキストや指示を提供します。 | `string[]` | `undefined` | `['user', 'profile']` | |
|
|
903
|
+
| `version` | リモート辞書のバージョン。現在使用されているバージョンを追跡するのに役立ちます。 | `string` | `undefined` | `'1.0.0'` | • CMS で管理可能。<br/>• ローカルで編集しないでください。 |
|
|
871
904
|
|
|
872
905
|
**`fill` の例**:
|
|
873
906
|
|