@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
|
@@ -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`(更少 token,但一致性较低)。
|
|
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 默认启用)
|
|
136
|
+
|
|
137
|
+
> 示例: `npx intlayer doc review --verbose`
|
|
138
|
+
|
|
139
|
+
**自定义指令选项:**
|
|
140
|
+
|
|
141
|
+
- **`--custom-instructions [customInstructions]`**: 添加到提示中的自定义指令。用于应用关于格式、URL 翻译等的特定规则。
|
|
142
|
+
|
|
143
|
+
> 示例: `npx intlayer doc review --custom-instructions "避免翻译网址,并保持 markdown 格式"`
|
|
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/zh/cli/index.md
CHANGED
package/docs/zh/cli/scan.md
CHANGED
package/docs/zh/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: 配置
|
|
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
|
/**
|
|
@@ -585,10 +589,38 @@ const config: IntlayerConfig = {
|
|
|
585
589
|
}),
|
|
586
590
|
},
|
|
587
591
|
|
|
592
|
+
/**
|
|
593
|
+
* 字典配置。
|
|
594
|
+
*/
|
|
595
|
+
dictionary: {
|
|
596
|
+
/**
|
|
597
|
+
* 控制如何导入字典。
|
|
598
|
+
* - "static": 在构建时静态导入。
|
|
599
|
+
* - "dynamic": 使用 Suspense 动态导入。
|
|
600
|
+
* - "fetch": 通过实时同步 API 动态获取。
|
|
601
|
+
*/
|
|
602
|
+
importMode: "static",
|
|
603
|
+
|
|
604
|
+
/**
|
|
605
|
+
* 项目中所有字典的默认消息格式。
|
|
606
|
+
* - 'intlayer': 原生 intlayer 格式 (默认)。
|
|
607
|
+
* - 'icu': ICU 消息格式。
|
|
608
|
+
* - 'i18next': i18next 格式。
|
|
609
|
+
* - 'vue-i18n': Vue I18n 格式。
|
|
610
|
+
* - 'po': GNU Gettext PO 格式。
|
|
611
|
+
*/
|
|
612
|
+
format: "icu",
|
|
613
|
+
},
|
|
614
|
+
|
|
588
615
|
/**
|
|
589
616
|
* 插件配置。
|
|
590
617
|
*/
|
|
591
|
-
plugins: [
|
|
618
|
+
plugins: [
|
|
619
|
+
syncJSON({
|
|
620
|
+
format: "icu",
|
|
621
|
+
source: ({ locale }) => `./messages/${locale}.json`,
|
|
622
|
+
}),
|
|
623
|
+
],
|
|
592
624
|
};
|
|
593
625
|
|
|
594
626
|
export default config;
|
|
@@ -857,20 +889,21 @@ export default config;
|
|
|
857
889
|
|
|
858
890
|
控制字典操作的参数,包括自动填充行为和内容生成。
|
|
859
891
|
|
|
860
|
-
| 字段 | 说明 | 类型 | 默认值
|
|
861
|
-
| --------------------------- | -------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- |
|
|
862
|
-
| `fill` | 控制自动填充 (AI 翻译) 输出文件的生成方式。 | `boolean` | <br/> `FilePathPattern` | <br/> `Partial<Record<Locale, boolean | FilePathPattern>>` | `true`
|
|
863
|
-
| `description` | 帮助编辑器和 CMS 理解字典的目的。也用作 AI 生成翻译的上下文。 | `string` | `undefined`
|
|
864
|
-
| `locale` | 将字典转换为特定区域设置格式。每个声明的字段变为一个翻译节点。如果缺少,则字典被视为多语言。 | `LocalesValues` | `undefined`
|
|
865
|
-
| `contentAutoTransformation` | 是否将内容字符串自动转换为类型化的节点(Markdown、HTML 或插入内容)。 | `boolean` | <br/> `{ markdown?: boolean; html?: boolean; insertion?: boolean }` | `false`
|
|
866
|
-
| `location` | 指出字典文件存储在哪里以及如何与 CMS 同步。 | `'local'` | <br/> `'remote'` | <br/> `'hybrid'` | <br/> `'plugin'` | <br/> `string` | `'local'`
|
|
867
|
-
| `importMode` | 控制字典的导入方式。 | `'static'` | <br/> `'dynamic'` | <br/> `'fetch'` | `'static'`
|
|
868
|
-
| `
|
|
869
|
-
| `
|
|
870
|
-
| `
|
|
871
|
-
| `
|
|
872
|
-
| `
|
|
873
|
-
| `
|
|
892
|
+
| 字段 | 说明 | 类型 | 默认值 | 示例 | 备注 |
|
|
893
|
+
| --------------------------- | -------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | ------------ | ------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
894
|
+
| `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` 始终优先于此全局设置。 |
|
|
895
|
+
| `description` | 帮助编辑器和 CMS 理解字典的目的。也用作 AI 生成翻译的上下文。 | `string` | `undefined` | `'User profile section'` | |
|
|
896
|
+
| `locale` | 将字典转换为特定区域设置格式。每个声明的字段变为一个翻译节点。如果缺少,则字典被视为多语言。 | `LocalesValues` | `undefined` | `'en'` | 如果字典是针对特定区域设置而非包含多种翻译,请使用此项。 |
|
|
897
|
+
| `contentAutoTransformation` | 是否将内容字符串自动转换为类型化的节点(Markdown、HTML 或插入内容)。 | `boolean` | <br/> `{ markdown?: boolean; html?: boolean; insertion?: boolean }` | `false` | `true` | • Markdown : `### Title` → `md('### Title')` 。<br/>• HTML : `<div>Title</div>` → `html('<div>Title</div>')` 。<br/>• 插入内容 : `Hello {{name}}` → `insert('Hello {{name}}')` 。 |
|
|
898
|
+
| `location` | 指出字典文件存储在哪里以及如何与 CMS 同步。 | `'local'` | <br/> `'remote'` | <br/> `'hybrid'` | <br/> `'plugin'` | <br/> `string` | `'local'` | `'hybrid'` | • `'local'`: 仅本地管理。<br/>• `'remote'`: 仅远程管理 (CMS)。<br/>• `'hybrid'`: 本地和远程管理。<br/>• `'plugin'` 或自定义字符串:通过插件或自定义源管理。 |
|
|
899
|
+
| `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` 等。 |
|
|
900
|
+
| `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 格式。 |
|
|
901
|
+
| `priority` | 字典优先级。在解决字典之间的冲突时,较高的值比较低的值具有优先级。 | `number` | `undefined` | `1` | |
|
|
902
|
+
| `live` | 已弃用 - 请使用 `importMode: 'fetch'`。曾指示是否应通过 Live Sync API 动态获取字典内容。 | `boolean` | `undefined` | | 在 v8.0.0 中重命名为 `importMode: 'fetch'`。 |
|
|
903
|
+
| `schema` | 由 Intlayer 自动生成,用于 JSON 架构验证。 | `'https://intlayer.org/schema.json'` | 自动生成 | | 请勿手动编辑。 |
|
|
904
|
+
| `title` | 帮助在编辑器和 CMS 中识别字典。 | `string` | `undefined` | `'User Profile'` | |
|
|
905
|
+
| `tags` | 对字典进行分类并为编辑器和 AI 提供上下文或指令。 | `string[]` | `undefined` | `['user', 'profile']` | |
|
|
906
|
+
| `version` | 远程字典版本;帮助跟踪当前正在使用的版本。 | `string` | `undefined` | `'1.0.0'` | • 在 CMS 中管理。<br/>• 请勿本地编辑。 |
|
|
874
907
|
|
|
875
908
|
**`fill` 示例**:
|
|
876
909
|
|
|
@@ -67,7 +67,10 @@ export default myConditionalContent;
|
|
|
67
67
|
|
|
68
68
|
## 在 React Intlayer 中使用条件内容
|
|
69
69
|
|
|
70
|
-
|
|
70
|
+
<Tabs group="framework">
|
|
71
|
+
<Tab label="React" value="react">
|
|
72
|
+
|
|
73
|
+
To utilize conditional content within a React component, import and use the `useIntlayer` hook from the `react-intlayer` package. This hook fetches the content for the specified key and allows you to pass in a condition to select the appropriate output.
|
|
71
74
|
|
|
72
75
|
```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
|
|
73
76
|
import type { FC } from "react";
|
|
@@ -80,25 +83,25 @@ const ConditionalComponent: FC = () => {
|
|
|
80
83
|
<div>
|
|
81
84
|
<p>
|
|
82
85
|
{
|
|
83
|
-
/*
|
|
86
|
+
/* Output: my content when it's true */
|
|
84
87
|
myCondition(true)
|
|
85
88
|
}
|
|
86
89
|
</p>
|
|
87
90
|
<p>
|
|
88
91
|
{
|
|
89
|
-
/*
|
|
92
|
+
/* Output: my content when it's false */
|
|
90
93
|
myCondition(false)
|
|
91
94
|
}
|
|
92
95
|
</p>
|
|
93
96
|
<p>
|
|
94
97
|
{
|
|
95
|
-
/*
|
|
98
|
+
/* Output: my content when the condition fails */
|
|
96
99
|
myCondition("")
|
|
97
100
|
}
|
|
98
101
|
</p>
|
|
99
102
|
<p>
|
|
100
103
|
{
|
|
101
|
-
/*
|
|
104
|
+
/* Output: my content when the condition fails */
|
|
102
105
|
myCondition(undefined)
|
|
103
106
|
}
|
|
104
107
|
</p>
|
|
@@ -109,6 +112,165 @@ const ConditionalComponent: FC = () => {
|
|
|
109
112
|
export default ConditionalComponent;
|
|
110
113
|
```
|
|
111
114
|
|
|
115
|
+
</Tab>
|
|
116
|
+
<Tab label="Next.js" value="nextjs">
|
|
117
|
+
|
|
118
|
+
To utilize conditional content in Next.js Client Components, retrieve it via the `useIntlayer` hook. Here's an example:
|
|
119
|
+
|
|
120
|
+
```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
|
|
121
|
+
"use client";
|
|
122
|
+
|
|
123
|
+
import type { FC } from "react";
|
|
124
|
+
import { useIntlayer } from "next-intlayer";
|
|
125
|
+
|
|
126
|
+
const ConditionalComponent: FC = () => {
|
|
127
|
+
const { myCondition } = useIntlayer("my_key");
|
|
128
|
+
|
|
129
|
+
return (
|
|
130
|
+
<div>
|
|
131
|
+
<p>{myCondition(true)}</p>
|
|
132
|
+
<p>{myCondition(false)}</p>
|
|
133
|
+
</div>
|
|
134
|
+
);
|
|
135
|
+
};
|
|
136
|
+
|
|
137
|
+
export default ConditionalComponent;
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
</Tab>
|
|
141
|
+
<Tab label="Vue" value="vue">
|
|
142
|
+
|
|
143
|
+
To utilize conditional content in Vue components, retrieve it via the `useIntlayer` hook. Here's an example:
|
|
144
|
+
|
|
145
|
+
```vue fileName="**/*.vue"
|
|
146
|
+
<script setup lang="ts">
|
|
147
|
+
import { useIntlayer } from "vue-intlayer";
|
|
148
|
+
|
|
149
|
+
const { myCondition } = useIntlayer("my_key");
|
|
150
|
+
</script>
|
|
151
|
+
|
|
152
|
+
<template>
|
|
153
|
+
<div>
|
|
154
|
+
<p>{{ myCondition(true) }}</p>
|
|
155
|
+
<p>{{ myCondition(false) }}</p>
|
|
156
|
+
</div>
|
|
157
|
+
</template>
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
</Tab>
|
|
161
|
+
<Tab label="Svelte" value="svelte">
|
|
162
|
+
|
|
163
|
+
To utilize conditional content in Svelte components, retrieve it via the `useIntlayer` hook. The store is accessed with `$`. Here's an example:
|
|
164
|
+
|
|
165
|
+
```svelte fileName="**/*.svelte"
|
|
166
|
+
<script lang="ts">
|
|
167
|
+
import { useIntlayer } from "svelte-intlayer";
|
|
168
|
+
|
|
169
|
+
const content = useIntlayer("my_key");
|
|
170
|
+
</script>
|
|
171
|
+
|
|
172
|
+
<div>
|
|
173
|
+
<p>{$content.myCondition(true)}</p>
|
|
174
|
+
<p>{$content.myCondition(false)}</p>
|
|
175
|
+
</div>
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
</Tab>
|
|
179
|
+
<Tab label="Preact" value="preact">
|
|
180
|
+
|
|
181
|
+
To utilize conditional content in Preact components, retrieve it via the `useIntlayer` hook. Here's an example:
|
|
182
|
+
|
|
183
|
+
```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
|
|
184
|
+
import type { FC } from "preact";
|
|
185
|
+
import { useIntlayer } from "preact-intlayer";
|
|
186
|
+
|
|
187
|
+
const ConditionalComponent: FC = () => {
|
|
188
|
+
const { myCondition } = useIntlayer("my_key");
|
|
189
|
+
|
|
190
|
+
return (
|
|
191
|
+
<div>
|
|
192
|
+
<p>{myCondition(true)}</p>
|
|
193
|
+
<p>{myCondition(false)}</p>
|
|
194
|
+
</div>
|
|
195
|
+
);
|
|
196
|
+
};
|
|
197
|
+
|
|
198
|
+
export default ConditionalComponent;
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
</Tab>
|
|
202
|
+
<Tab label="Solid" value="solid">
|
|
203
|
+
|
|
204
|
+
To utilize conditional content in SolidJS components, retrieve it via the `useIntlayer` hook. Here's an example:
|
|
205
|
+
|
|
206
|
+
```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
|
|
207
|
+
import type { Component } from "solid-js";
|
|
208
|
+
import { useIntlayer } from "solid-intlayer";
|
|
209
|
+
|
|
210
|
+
const ConditionalComponent: Component = () => {
|
|
211
|
+
const { myCondition } = useIntlayer("my_key");
|
|
212
|
+
|
|
213
|
+
return (
|
|
214
|
+
<div>
|
|
215
|
+
<p>{myCondition(true)}</p>
|
|
216
|
+
<p>{myCondition(false)}</p>
|
|
217
|
+
</div>
|
|
218
|
+
);
|
|
219
|
+
};
|
|
220
|
+
|
|
221
|
+
export default ConditionalComponent;
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
</Tab>
|
|
225
|
+
<Tab label="Angular" value="angular">
|
|
226
|
+
|
|
227
|
+
To utilize conditional content in Angular components, retrieve it via the `useIntlayer` hook. Here's an example:
|
|
228
|
+
|
|
229
|
+
```typescript fileName="app.component.ts" codeFormat="typescript"
|
|
230
|
+
import { Component } from "@angular/core";
|
|
231
|
+
import { useIntlayer } from "angular-intlayer";
|
|
232
|
+
|
|
233
|
+
@Component({
|
|
234
|
+
selector: "app-conditional",
|
|
235
|
+
template: `
|
|
236
|
+
<div>
|
|
237
|
+
<p>{{ content().myCondition(true) }}</p>
|
|
238
|
+
<p>{{ content().myCondition(false) }}</p>
|
|
239
|
+
</div>
|
|
240
|
+
`,
|
|
241
|
+
})
|
|
242
|
+
export class ConditionalComponent {
|
|
243
|
+
content = useIntlayer("my_key");
|
|
244
|
+
}
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
</Tab>
|
|
248
|
+
<Tab label="Vanilla JS" value="vanilla">
|
|
249
|
+
|
|
250
|
+
To utilize conditional content with `vanilla-intlayer`, retrieve it via the `useIntlayer` hook. Here's an example:
|
|
251
|
+
|
|
252
|
+
```typescript fileName="**/*.ts" codeFormat={["typescript", "esm"]}
|
|
253
|
+
import { installIntlayer, useIntlayer } from "vanilla-intlayer";
|
|
254
|
+
|
|
255
|
+
installIntlayer();
|
|
256
|
+
|
|
257
|
+
const content = useIntlayer("my_key").onChange((newContent) => {
|
|
258
|
+
document.getElementById("true-content")!.textContent =
|
|
259
|
+
newContent.myCondition(true);
|
|
260
|
+
document.getElementById("false-content")!.textContent =
|
|
261
|
+
newContent.myCondition(false);
|
|
262
|
+
});
|
|
263
|
+
|
|
264
|
+
// Initial render
|
|
265
|
+
document.getElementById("true-content")!.textContent =
|
|
266
|
+
content.myCondition(true);
|
|
267
|
+
document.getElementById("false-content")!.textContent =
|
|
268
|
+
content.myCondition(false);
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
</Tab>
|
|
272
|
+
</Tabs>
|
|
273
|
+
|
|
112
274
|
## 其他资源
|
|
113
275
|
|
|
114
276
|
有关配置和使用的更多详细信息,请参考以下资源:
|