@intlayer/docs 8.12.5-canary.0 → 9.0.0-canary.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/generated/docs.entry.cjs +320 -0
- package/dist/cjs/generated/docs.entry.cjs.map +1 -1
- package/dist/esm/generated/docs.entry.mjs +320 -0
- package/dist/esm/generated/docs.entry.mjs.map +1 -1
- package/dist/types/generated/docs.entry.d.ts +16 -0
- package/dist/types/generated/docs.entry.d.ts.map +1 -1
- package/docs/ar/cli/doc-review.md +110 -4
- package/docs/ar/cli/index.md +1 -1
- package/docs/ar/cli/scan.md +1 -1
- package/docs/ar/configuration.md +36 -3
- package/docs/ar/dictionary/condition.md +167 -5
- package/docs/ar/dictionary/enumeration.md +540 -6
- package/docs/ar/dictionary/file.md +151 -1
- package/docs/ar/dictionary/gender.md +168 -7
- package/docs/ar/dictionary/nesting.md +173 -65
- package/docs/ar/dictionary/plurial.md +174 -5
- package/docs/ar/dictionary/translation.md +156 -2
- package/docs/ar/dynamic_dictionaries/collections.md +1 -1
- package/docs/ar/dynamic_dictionaries/dynamic_content.md +1 -1
- package/docs/ar/dynamic_dictionaries/index.md +1 -1
- package/docs/ar/dynamic_dictionaries/variants.md +1 -1
- package/docs/ar/intlayer_with_vite+react.md +31 -31
- package/docs/ar/plugins/sync-json.md +222 -49
- package/docs/ar/releases/v8.md +187 -1
- package/docs/ar/releases/v9.md +232 -0
- package/docs/bn/cli/index.md +1 -1
- package/docs/bn/cli/scan.md +1 -1
- package/docs/bn/configuration.md +36 -3
- package/docs/cs/cli/index.md +1 -1
- package/docs/cs/cli/scan.md +1 -1
- package/docs/cs/configuration.md +35 -2
- package/docs/de/cli/doc-review.md +110 -4
- package/docs/de/cli/index.md +1 -1
- package/docs/de/cli/scan.md +1 -1
- package/docs/de/configuration.md +35 -2
- package/docs/de/dictionary/condition.md +167 -5
- package/docs/de/dictionary/enumeration.md +777 -7
- package/docs/de/dictionary/file.md +151 -1
- package/docs/de/dictionary/gender.md +168 -7
- package/docs/de/dictionary/nesting.md +173 -65
- package/docs/de/dictionary/plurial.md +347 -7
- package/docs/de/dictionary/translation.md +156 -2
- package/docs/de/dynamic_dictionaries/collections.md +1 -1
- package/docs/de/dynamic_dictionaries/dynamic_content.md +1 -1
- package/docs/de/dynamic_dictionaries/index.md +1 -1
- package/docs/de/dynamic_dictionaries/variants.md +1 -1
- package/docs/de/intlayer_with_vite+react.md +48 -48
- package/docs/de/migration_from_i18next_to_intlayer.md +1 -1
- package/docs/de/migration_from_next-i18next_to_intlayer.md +1 -1
- package/docs/de/migration_from_next-intl_to_intlayer.md +1 -1
- package/docs/de/migration_from_nuxtjs_i18n_to_intlayer.md +1 -1
- package/docs/de/migration_from_react-i18next_to_intlayer.md +1 -1
- package/docs/de/migration_from_vue-i18n_to_intlayer.md +1 -1
- package/docs/de/plugins/sync-json.md +222 -49
- package/docs/de/releases/v8.md +197 -1
- package/docs/de/releases/v9.md +232 -0
- package/docs/en/CI_CD.md +7 -7
- package/docs/en/cli/ci.md +62 -8
- package/docs/en/cli/doc-review.md +110 -4
- package/docs/en/cli/index.md +1 -1
- package/docs/en/cli/scan.md +1 -1
- package/docs/en/compat/i18n-js.md +44 -0
- package/docs/en/compat/i18next.md +59 -0
- package/docs/en/compat/index.md +51 -0
- package/docs/en/compat/lingui.md +44 -0
- package/docs/en/compat/next-i18next.md +57 -0
- package/docs/en/compat/next-intl.md +59 -0
- package/docs/en/compat/next-translate.md +45 -0
- package/docs/en/compat/ngx-translate.md +45 -0
- package/docs/en/compat/nuxtjs-i18n.md +46 -0
- package/docs/en/compat/polyglot.md +45 -0
- package/docs/en/compat/react-i18next.md +58 -0
- package/docs/en/compat/react-intl.md +55 -0
- package/docs/en/compat/svelte-i18n.md +47 -0
- package/docs/en/compat/transloco.md +45 -0
- package/docs/en/compat/vue-i18n.md +58 -0
- package/docs/en/configuration.md +35 -2
- package/docs/en/dictionary/condition.md +163 -1
- package/docs/en/dictionary/enumeration.md +309 -7
- package/docs/en/dictionary/file.md +151 -1
- package/docs/en/dictionary/gender.md +162 -1
- package/docs/en/dictionary/nesting.md +173 -9
- package/docs/en/dictionary/plurial.md +155 -10
- package/docs/en/dictionary/translation.md +145 -52
- package/docs/en/dynamic_dictionaries/collections.md +1 -1
- package/docs/en/dynamic_dictionaries/dynamic_content.md +1 -1
- package/docs/en/dynamic_dictionaries/index.md +1 -1
- package/docs/en/dynamic_dictionaries/variants.md +1 -1
- package/docs/en/migration_from_i18next_to_intlayer.md +1 -1
- package/docs/en/migration_from_next-i18next_to_intlayer.md +1 -1
- package/docs/en/migration_from_next-intl_to_intlayer.md +1 -1
- package/docs/en/migration_from_nuxtjs_i18n_to_intlayer.md +1 -1
- package/docs/en/migration_from_react-i18next_to_intlayer.md +1 -1
- package/docs/en/migration_from_vue-i18n_to_intlayer.md +1 -1
- package/docs/en/plugins/sync-json.md +56 -2
- package/docs/en/releases/v8.md +187 -1
- package/docs/en/releases/v9.md +220 -0
- package/docs/en-GB/cli/doc-review.md +110 -4
- package/docs/en-GB/cli/index.md +1 -1
- package/docs/en-GB/cli/scan.md +1 -1
- package/docs/en-GB/configuration.md +35 -2
- package/docs/en-GB/dictionary/condition.md +364 -1
- package/docs/en-GB/dictionary/enumeration.md +577 -5
- package/docs/en-GB/dictionary/file.md +317 -1
- package/docs/en-GB/dictionary/gender.md +375 -2
- package/docs/en-GB/dictionary/nesting.md +368 -71
- package/docs/en-GB/dictionary/plurial.md +347 -7
- package/docs/en-GB/dictionary/translation.md +320 -32
- package/docs/en-GB/dynamic_dictionaries/collections.md +1 -1
- package/docs/en-GB/dynamic_dictionaries/dynamic_content.md +1 -1
- package/docs/en-GB/dynamic_dictionaries/index.md +1 -1
- package/docs/en-GB/dynamic_dictionaries/variants.md +1 -1
- package/docs/en-GB/plugins/sync-json.md +245 -13
- package/docs/en-GB/releases/v8.md +1 -1
- package/docs/en-GB/releases/v9.md +220 -0
- package/docs/es/cli/doc-review.md +110 -4
- package/docs/es/cli/index.md +1 -1
- package/docs/es/cli/scan.md +1 -1
- package/docs/es/configuration.md +36 -3
- package/docs/es/dictionary/condition.md +167 -5
- package/docs/es/dictionary/enumeration.md +537 -12
- package/docs/es/dictionary/file.md +151 -1
- package/docs/es/dictionary/gender.md +168 -7
- package/docs/es/dictionary/nesting.md +173 -65
- package/docs/es/dictionary/plurial.md +347 -7
- package/docs/es/dictionary/translation.md +156 -2
- package/docs/es/dynamic_dictionaries/collections.md +1 -1
- package/docs/es/dynamic_dictionaries/dynamic_content.md +1 -1
- package/docs/es/dynamic_dictionaries/index.md +1 -1
- package/docs/es/dynamic_dictionaries/variants.md +1 -1
- package/docs/es/migration_from_i18next_to_intlayer.md +1 -1
- package/docs/es/migration_from_next-i18next_to_intlayer.md +1 -1
- package/docs/es/migration_from_next-intl_to_intlayer.md +1 -1
- package/docs/es/migration_from_nuxtjs_i18n_to_intlayer.md +1 -1
- package/docs/es/migration_from_react-i18next_to_intlayer.md +1 -1
- package/docs/es/migration_from_vue-i18n_to_intlayer.md +1 -1
- package/docs/es/plugins/sync-json.md +222 -49
- package/docs/es/releases/v8.md +187 -1
- package/docs/es/releases/v9.md +228 -0
- package/docs/fr/cli/doc-review.md +110 -4
- package/docs/fr/cli/index.md +1 -1
- package/docs/fr/cli/scan.md +1 -1
- package/docs/fr/configuration.md +49 -16
- package/docs/fr/dictionary/condition.md +369 -6
- package/docs/fr/dictionary/enumeration.md +540 -6
- package/docs/fr/dictionary/file.md +151 -1
- package/docs/fr/dictionary/gender.md +168 -7
- package/docs/fr/dictionary/nesting.md +357 -86
- package/docs/fr/dictionary/plurial.md +174 -5
- package/docs/fr/dictionary/translation.md +156 -2
- package/docs/fr/dynamic_dictionaries/collections.md +1 -1
- package/docs/fr/dynamic_dictionaries/dynamic_content.md +1 -1
- package/docs/fr/dynamic_dictionaries/index.md +1 -1
- package/docs/fr/dynamic_dictionaries/variants.md +1 -1
- package/docs/fr/migration_from_i18next_to_intlayer.md +1 -1
- package/docs/fr/migration_from_next-i18next_to_intlayer.md +1 -1
- package/docs/fr/migration_from_next-intl_to_intlayer.md +1 -1
- package/docs/fr/migration_from_nuxtjs_i18n_to_intlayer.md +1 -1
- package/docs/fr/migration_from_react-i18next_to_intlayer.md +1 -1
- package/docs/fr/migration_from_vue-i18n_to_intlayer.md +1 -1
- package/docs/fr/plugins/sync-json.md +244 -12
- package/docs/fr/releases/v8.md +187 -1
- package/docs/fr/releases/v9.md +220 -0
- package/docs/hi/cli/doc-review.md +110 -4
- package/docs/hi/cli/index.md +1 -1
- package/docs/hi/cli/scan.md +1 -1
- package/docs/hi/configuration.md +49 -16
- package/docs/hi/dictionary/condition.md +167 -5
- package/docs/hi/dictionary/enumeration.md +540 -6
- package/docs/hi/dictionary/file.md +151 -1
- package/docs/hi/dictionary/gender.md +168 -7
- package/docs/hi/dictionary/nesting.md +173 -65
- package/docs/hi/dictionary/plurial.md +174 -5
- package/docs/hi/dictionary/translation.md +155 -5
- package/docs/hi/dynamic_dictionaries/collections.md +1 -1
- package/docs/hi/dynamic_dictionaries/dynamic_content.md +1 -1
- package/docs/hi/dynamic_dictionaries/index.md +1 -1
- package/docs/hi/dynamic_dictionaries/variants.md +1 -1
- package/docs/hi/plugins/sync-json.md +221 -48
- package/docs/hi/releases/v8.md +188 -2
- package/docs/hi/releases/v9.md +232 -0
- package/docs/id/cli/doc-review.md +110 -4
- package/docs/id/cli/index.md +1 -1
- package/docs/id/cli/scan.md +1 -1
- package/docs/id/configuration.md +35 -2
- package/docs/id/dictionary/condition.md +167 -5
- package/docs/id/dictionary/enumeration.md +540 -6
- package/docs/id/dictionary/file.md +318 -2
- package/docs/id/dictionary/gender.md +381 -8
- package/docs/id/dictionary/nesting.md +357 -86
- package/docs/id/dictionary/plurial.md +174 -5
- package/docs/id/dictionary/translation.md +156 -2
- package/docs/id/dynamic_dictionaries/collections.md +1 -1
- package/docs/id/dynamic_dictionaries/dynamic_content.md +1 -1
- package/docs/id/dynamic_dictionaries/index.md +1 -1
- package/docs/id/dynamic_dictionaries/variants.md +1 -1
- package/docs/id/plugins/sync-json.md +222 -49
- package/docs/id/releases/v8.md +191 -2
- package/docs/id/releases/v9.md +232 -0
- package/docs/it/cli/doc-review.md +110 -4
- package/docs/it/cli/index.md +1 -1
- package/docs/it/cli/scan.md +1 -1
- package/docs/it/configuration.md +49 -16
- package/docs/it/dictionary/condition.md +167 -5
- package/docs/it/dictionary/enumeration.md +540 -6
- package/docs/it/dictionary/file.md +318 -2
- package/docs/it/dictionary/gender.md +168 -7
- package/docs/it/dictionary/nesting.md +173 -65
- package/docs/it/dictionary/plurial.md +347 -7
- package/docs/it/dictionary/translation.md +156 -2
- package/docs/it/dynamic_dictionaries/collections.md +1 -1
- package/docs/it/dynamic_dictionaries/dynamic_content.md +1 -1
- package/docs/it/dynamic_dictionaries/index.md +1 -1
- package/docs/it/dynamic_dictionaries/variants.md +1 -1
- package/docs/it/intlayer_with_vite+react.md +0 -48
- package/docs/it/migration_from_i18next_to_intlayer.md +1 -1
- package/docs/it/migration_from_next-i18next_to_intlayer.md +1 -1
- package/docs/it/migration_from_next-intl_to_intlayer.md +1 -1
- package/docs/it/migration_from_nuxtjs_i18n_to_intlayer.md +1 -1
- package/docs/it/migration_from_react-i18next_to_intlayer.md +1 -1
- package/docs/it/migration_from_vue-i18n_to_intlayer.md +1 -1
- package/docs/it/plugins/sync-json.md +224 -51
- package/docs/it/releases/v8.md +200 -2
- package/docs/it/releases/v9.md +232 -0
- package/docs/ja/cli/doc-review.md +110 -4
- package/docs/ja/cli/index.md +1 -1
- package/docs/ja/cli/scan.md +1 -1
- package/docs/ja/configuration.md +50 -17
- package/docs/ja/dictionary/condition.md +167 -5
- package/docs/ja/dictionary/enumeration.md +540 -6
- package/docs/ja/dictionary/file.md +151 -1
- package/docs/ja/dictionary/gender.md +168 -7
- package/docs/ja/dictionary/nesting.md +173 -65
- package/docs/ja/dictionary/plurial.md +174 -5
- package/docs/ja/dictionary/translation.md +169 -8
- package/docs/ja/dynamic_dictionaries/collections.md +1 -1
- package/docs/ja/dynamic_dictionaries/dynamic_content.md +1 -1
- package/docs/ja/dynamic_dictionaries/index.md +1 -1
- package/docs/ja/dynamic_dictionaries/variants.md +1 -1
- package/docs/ja/intlayer_with_vite+react.md +290 -0
- package/docs/ja/migration_from_i18next_to_intlayer.md +1 -1
- package/docs/ja/migration_from_next-i18next_to_intlayer.md +1 -1
- package/docs/ja/migration_from_next-intl_to_intlayer.md +1 -1
- package/docs/ja/migration_from_nuxtjs_i18n_to_intlayer.md +1 -1
- package/docs/ja/migration_from_react-i18next_to_intlayer.md +1 -1
- package/docs/ja/migration_from_vue-i18n_to_intlayer.md +1 -1
- package/docs/ja/plugins/sync-json.md +222 -49
- package/docs/ja/releases/v8.md +193 -4
- package/docs/ja/releases/v9.md +232 -0
- package/docs/ko/cli/doc-review.md +110 -4
- package/docs/ko/cli/index.md +1 -1
- package/docs/ko/cli/scan.md +1 -1
- package/docs/ko/configuration.md +49 -16
- package/docs/ko/dictionary/condition.md +167 -5
- package/docs/ko/dictionary/enumeration.md +540 -6
- package/docs/ko/dictionary/file.md +151 -1
- package/docs/ko/dictionary/gender.md +168 -7
- package/docs/ko/dictionary/nesting.md +173 -65
- package/docs/ko/dictionary/plurial.md +174 -5
- package/docs/ko/dictionary/translation.md +169 -8
- package/docs/ko/dynamic_dictionaries/collections.md +1 -1
- package/docs/ko/dynamic_dictionaries/dynamic_content.md +1 -1
- package/docs/ko/dynamic_dictionaries/index.md +1 -1
- package/docs/ko/dynamic_dictionaries/variants.md +1 -1
- package/docs/ko/intlayer_with_vite+react.md +48 -490
- package/docs/ko/migration_from_i18next_to_intlayer.md +1 -1
- package/docs/ko/migration_from_next-i18next_to_intlayer.md +1 -1
- package/docs/ko/migration_from_next-intl_to_intlayer.md +1 -1
- package/docs/ko/migration_from_nuxtjs_i18n_to_intlayer.md +1 -1
- package/docs/ko/migration_from_react-i18next_to_intlayer.md +1 -1
- package/docs/ko/migration_from_vue-i18n_to_intlayer.md +1 -1
- package/docs/ko/plugins/sync-json.md +223 -50
- package/docs/ko/releases/v8.md +192 -1
- package/docs/ko/releases/v9.md +232 -0
- package/docs/nl/cli/index.md +1 -1
- package/docs/nl/cli/scan.md +1 -1
- package/docs/nl/configuration.md +36 -3
- package/docs/pl/cli/doc-review.md +110 -4
- package/docs/pl/cli/index.md +1 -1
- package/docs/pl/cli/scan.md +1 -1
- package/docs/pl/configuration.md +35 -2
- package/docs/pl/dictionary/condition.md +167 -5
- package/docs/pl/dictionary/enumeration.md +540 -6
- package/docs/pl/dictionary/file.md +318 -2
- package/docs/pl/dictionary/gender.md +168 -7
- package/docs/pl/dictionary/nesting.md +173 -65
- package/docs/pl/dictionary/plurial.md +174 -5
- package/docs/pl/dictionary/translation.md +156 -2
- package/docs/pl/dynamic_dictionaries/collections.md +1 -1
- package/docs/pl/dynamic_dictionaries/dynamic_content.md +1 -1
- package/docs/pl/dynamic_dictionaries/index.md +1 -1
- package/docs/pl/dynamic_dictionaries/variants.md +1 -1
- package/docs/pl/plugins/sync-json.md +246 -14
- package/docs/pl/releases/v8.md +188 -2
- package/docs/pl/releases/v9.md +232 -0
- package/docs/pt/cli/doc-review.md +110 -4
- package/docs/pt/cli/index.md +1 -1
- package/docs/pt/cli/scan.md +1 -1
- package/docs/pt/configuration.md +49 -16
- package/docs/pt/dictionary/condition.md +167 -5
- package/docs/pt/dictionary/enumeration.md +540 -6
- package/docs/pt/dictionary/file.md +151 -1
- package/docs/pt/dictionary/gender.md +168 -7
- package/docs/pt/dictionary/nesting.md +173 -65
- package/docs/pt/dictionary/plurial.md +347 -7
- package/docs/pt/dictionary/translation.md +156 -2
- package/docs/pt/dynamic_dictionaries/collections.md +1 -1
- package/docs/pt/dynamic_dictionaries/dynamic_content.md +1 -1
- package/docs/pt/dynamic_dictionaries/index.md +1 -1
- package/docs/pt/dynamic_dictionaries/variants.md +1 -1
- package/docs/pt/migration_from_i18next_to_intlayer.md +1 -1
- package/docs/pt/migration_from_next-i18next_to_intlayer.md +1 -1
- package/docs/pt/migration_from_next-intl_to_intlayer.md +1 -1
- package/docs/pt/migration_from_nuxtjs_i18n_to_intlayer.md +1 -1
- package/docs/pt/migration_from_react-i18next_to_intlayer.md +1 -1
- package/docs/pt/migration_from_vue-i18n_to_intlayer.md +1 -1
- package/docs/pt/plugins/sync-json.md +222 -49
- package/docs/pt/releases/v8.md +187 -1
- package/docs/pt/releases/v9.md +232 -0
- package/docs/ru/cli/doc-review.md +110 -4
- package/docs/ru/cli/index.md +1 -1
- package/docs/ru/cli/scan.md +1 -1
- package/docs/ru/configuration.md +35 -2
- package/docs/ru/dictionary/condition.md +366 -39
- package/docs/ru/dictionary/enumeration.md +777 -7
- package/docs/ru/dictionary/file.md +318 -2
- package/docs/ru/dictionary/gender.md +168 -7
- package/docs/ru/dictionary/nesting.md +368 -71
- package/docs/ru/dictionary/plurial.md +347 -7
- package/docs/ru/dictionary/translation.md +321 -33
- package/docs/ru/dynamic_dictionaries/collections.md +1 -1
- package/docs/ru/dynamic_dictionaries/dynamic_content.md +1 -1
- package/docs/ru/dynamic_dictionaries/index.md +1 -1
- package/docs/ru/dynamic_dictionaries/variants.md +1 -1
- package/docs/ru/intlayer_with_vite+react.md +48 -47
- package/docs/ru/migration_from_i18next_to_intlayer.md +1 -1
- package/docs/ru/migration_from_next-i18next_to_intlayer.md +1 -1
- package/docs/ru/migration_from_next-intl_to_intlayer.md +1 -1
- package/docs/ru/migration_from_nuxtjs_i18n_to_intlayer.md +1 -1
- package/docs/ru/migration_from_react-i18next_to_intlayer.md +1 -1
- package/docs/ru/migration_from_vue-i18n_to_intlayer.md +1 -1
- package/docs/ru/plugins/sync-json.md +269 -95
- package/docs/ru/releases/v8.md +194 -2
- package/docs/ru/releases/v9.md +232 -0
- package/docs/tr/cli/doc-review.md +110 -4
- package/docs/tr/cli/index.md +1 -1
- package/docs/tr/cli/scan.md +1 -1
- package/docs/tr/configuration.md +35 -2
- package/docs/tr/dictionary/condition.md +167 -5
- package/docs/tr/dictionary/enumeration.md +540 -6
- package/docs/tr/dictionary/file.md +151 -1
- package/docs/tr/dictionary/gender.md +168 -7
- package/docs/tr/dictionary/nesting.md +173 -65
- package/docs/tr/dictionary/plurial.md +174 -5
- package/docs/tr/dictionary/translation.md +156 -2
- package/docs/tr/dynamic_dictionaries/collections.md +1 -1
- package/docs/tr/dynamic_dictionaries/dynamic_content.md +1 -1
- package/docs/tr/dynamic_dictionaries/index.md +1 -1
- package/docs/tr/dynamic_dictionaries/variants.md +1 -1
- package/docs/tr/migration_from_i18next_to_intlayer.md +1 -1
- package/docs/tr/migration_from_next-i18next_to_intlayer.md +1 -1
- package/docs/tr/migration_from_next-intl_to_intlayer.md +1 -1
- package/docs/tr/migration_from_nuxtjs_i18n_to_intlayer.md +1 -1
- package/docs/tr/migration_from_react-i18next_to_intlayer.md +1 -1
- package/docs/tr/migration_from_vue-i18n_to_intlayer.md +1 -1
- package/docs/tr/plugins/sync-json.md +222 -50
- package/docs/tr/releases/v8.md +187 -1
- package/docs/tr/releases/v9.md +232 -0
- package/docs/uk/cli/doc-review.md +110 -4
- package/docs/uk/cli/index.md +1 -1
- package/docs/uk/cli/scan.md +1 -1
- package/docs/uk/configuration.md +35 -2
- package/docs/uk/dictionary/condition.md +167 -5
- package/docs/uk/dictionary/enumeration.md +540 -6
- package/docs/uk/dictionary/file.md +318 -2
- package/docs/uk/dictionary/gender.md +381 -8
- package/docs/uk/dictionary/nesting.md +173 -65
- package/docs/uk/dictionary/plurial.md +174 -5
- package/docs/uk/dictionary/translation.md +156 -2
- package/docs/uk/dynamic_dictionaries/collections.md +1 -1
- package/docs/uk/dynamic_dictionaries/dynamic_content.md +1 -1
- package/docs/uk/dynamic_dictionaries/index.md +1 -1
- package/docs/uk/dynamic_dictionaries/variants.md +1 -1
- package/docs/uk/plugins/sync-json.md +56 -2
- package/docs/uk/releases/v8.md +191 -3
- package/docs/uk/releases/v9.md +232 -0
- package/docs/ur/cli/index.md +1 -1
- package/docs/ur/cli/scan.md +1 -1
- package/docs/ur/configuration.md +36 -3
- package/docs/vi/cli/doc-review.md +110 -4
- package/docs/vi/cli/index.md +1 -1
- package/docs/vi/cli/scan.md +1 -1
- package/docs/vi/configuration.md +50 -17
- package/docs/vi/dictionary/condition.md +167 -5
- package/docs/vi/dictionary/enumeration.md +591 -14
- package/docs/vi/dictionary/file.md +318 -2
- package/docs/vi/dictionary/gender.md +168 -7
- package/docs/vi/dictionary/nesting.md +357 -86
- package/docs/vi/dictionary/plurial.md +174 -5
- package/docs/vi/dictionary/translation.md +156 -2
- package/docs/vi/dynamic_dictionaries/collections.md +1 -1
- package/docs/vi/dynamic_dictionaries/dynamic_content.md +1 -1
- package/docs/vi/dynamic_dictionaries/index.md +1 -1
- package/docs/vi/dynamic_dictionaries/variants.md +1 -1
- package/docs/vi/plugins/sync-json.md +230 -57
- package/docs/vi/releases/v8.md +190 -1
- package/docs/vi/releases/v9.md +232 -0
- package/docs/zh/cli/doc-review.md +110 -4
- package/docs/zh/cli/index.md +1 -1
- package/docs/zh/cli/scan.md +1 -1
- package/docs/zh/configuration.md +49 -16
- package/docs/zh/dictionary/condition.md +167 -5
- package/docs/zh/dictionary/enumeration.md +540 -6
- package/docs/zh/dictionary/file.md +151 -1
- package/docs/zh/dictionary/gender.md +168 -7
- package/docs/zh/dictionary/nesting.md +173 -65
- package/docs/zh/dictionary/plurial.md +174 -5
- package/docs/zh/dictionary/translation.md +169 -8
- package/docs/zh/dynamic_dictionaries/collections.md +1 -1
- package/docs/zh/dynamic_dictionaries/dynamic_content.md +1 -1
- package/docs/zh/dynamic_dictionaries/index.md +1 -1
- package/docs/zh/dynamic_dictionaries/variants.md +1 -1
- package/docs/zh/intlayer_with_vite+react.md +48 -288
- package/docs/zh/plugins/sync-json.md +223 -50
- package/docs/zh/releases/v8.md +1 -1
- package/docs/zh/releases/v9.md +220 -0
- package/package.json +7 -7
- package/src/generated/docs.entry.ts +320 -0
- package/dist/esm/_virtual/_rolldown/runtime.mjs +0 -8
|
@@ -27,8 +27,174 @@ author: aymericzip
|
|
|
27
27
|
|
|
28
28
|
## Как работает встраивание файлов
|
|
29
29
|
|
|
30
|
-
|
|
30
|
+
<Tabs group="framework">
|
|
31
|
+
<Tab label="React" value="react">
|
|
31
32
|
|
|
33
|
+
To use embedded file content in a React component, import and use the `useIntlayer` hook from the `react-intlayer` package. This retrieves the content from the specified key and allows it to be displayed dynamically.
|
|
34
|
+
|
|
35
|
+
```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
|
|
36
|
+
import type { FC } from "react";
|
|
37
|
+
import { useIntlayer } from "react-intlayer";
|
|
38
|
+
|
|
39
|
+
const FileComponent: FC = () => {
|
|
40
|
+
const { myFile } = useIntlayer("my_key");
|
|
41
|
+
|
|
42
|
+
return (
|
|
43
|
+
<div>
|
|
44
|
+
<pre>{myFile}</pre>
|
|
45
|
+
</div>
|
|
46
|
+
);
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
export default FileComponent;
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
</Tab>
|
|
53
|
+
<Tab label="Next.js" value="nextjs">
|
|
54
|
+
|
|
55
|
+
To use embedded file content in Next.js Client Components, retrieve it via the `useIntlayer` hook. Here's an example:
|
|
56
|
+
|
|
57
|
+
```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
|
|
58
|
+
"use client";
|
|
59
|
+
|
|
60
|
+
import type { FC } from "react";
|
|
61
|
+
import { useIntlayer } from "next-intlayer";
|
|
62
|
+
|
|
63
|
+
const FileComponent: FC = () => {
|
|
64
|
+
const { myFile } = useIntlayer("my_key");
|
|
65
|
+
|
|
66
|
+
return (
|
|
67
|
+
<div>
|
|
68
|
+
<pre>{myFile}</pre>
|
|
69
|
+
</div>
|
|
70
|
+
);
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
export default FileComponent;
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
</Tab>
|
|
77
|
+
<Tab label="Vue" value="vue">
|
|
78
|
+
|
|
79
|
+
To use embedded file content in Vue components, retrieve it via the `useIntlayer` hook. Here's an example:
|
|
80
|
+
|
|
81
|
+
```vue fileName="**/*.vue"
|
|
82
|
+
<script setup lang="ts">
|
|
83
|
+
import { useIntlayer } from "vue-intlayer";
|
|
84
|
+
|
|
85
|
+
const { myFile } = useIntlayer("my_key");
|
|
86
|
+
</script>
|
|
87
|
+
|
|
88
|
+
<template>
|
|
89
|
+
<div>
|
|
90
|
+
<pre>{{ myFile }}</pre>
|
|
91
|
+
</div>
|
|
92
|
+
</template>
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
</Tab>
|
|
96
|
+
<Tab label="Svelte" value="svelte">
|
|
97
|
+
|
|
98
|
+
To use embedded file content in Svelte components, retrieve it via the `useIntlayer` hook. The store is accessed with `$`. Here's an example:
|
|
99
|
+
|
|
100
|
+
```svelte fileName="**/*.svelte"
|
|
101
|
+
<script lang="ts">
|
|
102
|
+
import { useIntlayer } from "svelte-intlayer";
|
|
103
|
+
|
|
104
|
+
const content = useIntlayer("my_key");
|
|
105
|
+
</script>
|
|
106
|
+
|
|
107
|
+
<div>
|
|
108
|
+
<pre>{$content.myFile}</pre>
|
|
109
|
+
</div>
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
</Tab>
|
|
113
|
+
<Tab label="Preact" value="preact">
|
|
114
|
+
|
|
115
|
+
To use embedded file content in Preact components, retrieve it via the `useIntlayer` hook. Here's an example:
|
|
116
|
+
|
|
117
|
+
```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
|
|
118
|
+
import type { FC } from "preact";
|
|
119
|
+
import { useIntlayer } from "preact-intlayer";
|
|
120
|
+
|
|
121
|
+
const FileComponent: FC = () => {
|
|
122
|
+
const { myFile } = useIntlayer("my_key");
|
|
123
|
+
|
|
124
|
+
return (
|
|
125
|
+
<div>
|
|
126
|
+
<pre>{myFile}</pre>
|
|
127
|
+
</div>
|
|
128
|
+
);
|
|
129
|
+
};
|
|
130
|
+
|
|
131
|
+
export default FileComponent;
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
</Tab>
|
|
135
|
+
<Tab label="Solid" value="solid">
|
|
136
|
+
|
|
137
|
+
To use embedded file content in SolidJS components, retrieve it via the `useIntlayer` hook. Here's an example:
|
|
138
|
+
|
|
139
|
+
```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
|
|
140
|
+
import type { Component } from "solid-js";
|
|
141
|
+
import { useIntlayer } from "solid-intlayer";
|
|
142
|
+
|
|
143
|
+
const FileComponent: Component = () => {
|
|
144
|
+
const { myFile } = useIntlayer("my_key");
|
|
145
|
+
|
|
146
|
+
return (
|
|
147
|
+
<div>
|
|
148
|
+
<pre>{myFile}</pre>
|
|
149
|
+
</div>
|
|
150
|
+
);
|
|
151
|
+
};
|
|
152
|
+
|
|
153
|
+
export default FileComponent;
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
</Tab>
|
|
157
|
+
<Tab label="Angular" value="angular">
|
|
158
|
+
|
|
159
|
+
To use embedded file content in Angular components, retrieve it via the `useIntlayer` hook. Here's an example:
|
|
160
|
+
|
|
161
|
+
```typescript fileName="app.component.ts" codeFormat="typescript"
|
|
162
|
+
import { Component } from "@angular/core";
|
|
163
|
+
import { useIntlayer } from "angular-intlayer";
|
|
164
|
+
|
|
165
|
+
@Component({
|
|
166
|
+
selector: "app-file",
|
|
167
|
+
template: `
|
|
168
|
+
<div>
|
|
169
|
+
<pre>{{ content().myFile }}</pre>
|
|
170
|
+
</div>
|
|
171
|
+
`,
|
|
172
|
+
})
|
|
173
|
+
export class FileComponent {
|
|
174
|
+
content = useIntlayer("my_key");
|
|
175
|
+
}
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
</Tab>
|
|
179
|
+
<Tab label="Vanilla JS" value="vanilla">
|
|
180
|
+
|
|
181
|
+
To use embedded file content with `vanilla-intlayer`, retrieve it via the `useIntlayer` hook. Here's an example:
|
|
182
|
+
|
|
183
|
+
```typescript fileName="**/*.ts" codeFormat={["typescript", "esm"]}
|
|
184
|
+
import { installIntlayer, useIntlayer } from "vanilla-intlayer";
|
|
185
|
+
|
|
186
|
+
installIntlayer();
|
|
187
|
+
|
|
188
|
+
const content = useIntlayer("my_key").onChange((newContent) => {
|
|
189
|
+
document.getElementById("file-content")!.textContent = newContent.myFile;
|
|
190
|
+
});
|
|
191
|
+
|
|
192
|
+
// Initial render
|
|
193
|
+
document.getElementById("file-content")!.textContent = content.myFile;
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
</Tab>
|
|
197
|
+
</Tabs>
|
|
32
198
|
## Настройка содержимого файла
|
|
33
199
|
|
|
34
200
|
Чтобы встроить содержимое файла в ваш проект Intlayer, используйте функцию `file` в модуле контента. Ниже приведены примеры, демонстрирующие различные реализации.
|
|
@@ -61,7 +227,10 @@ export default myFileContent;
|
|
|
61
227
|
|
|
62
228
|
## Использование содержимого файла в React Intlayer
|
|
63
229
|
|
|
64
|
-
|
|
230
|
+
<Tabs group="framework">
|
|
231
|
+
<Tab label="React" value="react">
|
|
232
|
+
|
|
233
|
+
To use embedded file content in a React component, import and use the `useIntlayer` hook from the `react-intlayer` package. This retrieves the content from the specified key and allows it to be displayed dynamically.
|
|
65
234
|
|
|
66
235
|
```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
|
|
67
236
|
import type { FC } from "react";
|
|
@@ -80,6 +249,153 @@ const FileComponent: FC = () => {
|
|
|
80
249
|
export default FileComponent;
|
|
81
250
|
```
|
|
82
251
|
|
|
252
|
+
</Tab>
|
|
253
|
+
<Tab label="Next.js" value="nextjs">
|
|
254
|
+
|
|
255
|
+
To use embedded file content in Next.js Client Components, retrieve it via the `useIntlayer` hook. Here's an example:
|
|
256
|
+
|
|
257
|
+
```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
|
|
258
|
+
"use client";
|
|
259
|
+
|
|
260
|
+
import type { FC } from "react";
|
|
261
|
+
import { useIntlayer } from "next-intlayer";
|
|
262
|
+
|
|
263
|
+
const FileComponent: FC = () => {
|
|
264
|
+
const { myFile } = useIntlayer("my_key");
|
|
265
|
+
|
|
266
|
+
return (
|
|
267
|
+
<div>
|
|
268
|
+
<pre>{myFile}</pre>
|
|
269
|
+
</div>
|
|
270
|
+
);
|
|
271
|
+
};
|
|
272
|
+
|
|
273
|
+
export default FileComponent;
|
|
274
|
+
```
|
|
275
|
+
|
|
276
|
+
</Tab>
|
|
277
|
+
<Tab label="Vue" value="vue">
|
|
278
|
+
|
|
279
|
+
To use embedded file content in Vue components, retrieve it via the `useIntlayer` hook. Here's an example:
|
|
280
|
+
|
|
281
|
+
```vue fileName="**/*.vue"
|
|
282
|
+
<script setup lang="ts">
|
|
283
|
+
import { useIntlayer } from "vue-intlayer";
|
|
284
|
+
|
|
285
|
+
const { myFile } = useIntlayer("my_key");
|
|
286
|
+
</script>
|
|
287
|
+
|
|
288
|
+
<template>
|
|
289
|
+
<div>
|
|
290
|
+
<pre>{{ myFile }}</pre>
|
|
291
|
+
</div>
|
|
292
|
+
</template>
|
|
293
|
+
```
|
|
294
|
+
|
|
295
|
+
</Tab>
|
|
296
|
+
<Tab label="Svelte" value="svelte">
|
|
297
|
+
|
|
298
|
+
To use embedded file content in Svelte components, retrieve it via the `useIntlayer` hook. The store is accessed with `$`. Here's an example:
|
|
299
|
+
|
|
300
|
+
```svelte fileName="**/*.svelte"
|
|
301
|
+
<script lang="ts">
|
|
302
|
+
import { useIntlayer } from "svelte-intlayer";
|
|
303
|
+
|
|
304
|
+
const content = useIntlayer("my_key");
|
|
305
|
+
</script>
|
|
306
|
+
|
|
307
|
+
<div>
|
|
308
|
+
<pre>{$content.myFile}</pre>
|
|
309
|
+
</div>
|
|
310
|
+
```
|
|
311
|
+
|
|
312
|
+
</Tab>
|
|
313
|
+
<Tab label="Preact" value="preact">
|
|
314
|
+
|
|
315
|
+
To use embedded file content in Preact components, retrieve it via the `useIntlayer` hook. Here's an example:
|
|
316
|
+
|
|
317
|
+
```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
|
|
318
|
+
import type { FC } from "preact";
|
|
319
|
+
import { useIntlayer } from "preact-intlayer";
|
|
320
|
+
|
|
321
|
+
const FileComponent: FC = () => {
|
|
322
|
+
const { myFile } = useIntlayer("my_key");
|
|
323
|
+
|
|
324
|
+
return (
|
|
325
|
+
<div>
|
|
326
|
+
<pre>{myFile}</pre>
|
|
327
|
+
</div>
|
|
328
|
+
);
|
|
329
|
+
};
|
|
330
|
+
|
|
331
|
+
export default FileComponent;
|
|
332
|
+
```
|
|
333
|
+
|
|
334
|
+
</Tab>
|
|
335
|
+
<Tab label="Solid" value="solid">
|
|
336
|
+
|
|
337
|
+
To use embedded file content in SolidJS components, retrieve it via the `useIntlayer` hook. Here's an example:
|
|
338
|
+
|
|
339
|
+
```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
|
|
340
|
+
import type { Component } from "solid-js";
|
|
341
|
+
import { useIntlayer } from "solid-intlayer";
|
|
342
|
+
|
|
343
|
+
const FileComponent: Component = () => {
|
|
344
|
+
const { myFile } = useIntlayer("my_key");
|
|
345
|
+
|
|
346
|
+
return (
|
|
347
|
+
<div>
|
|
348
|
+
<pre>{myFile}</pre>
|
|
349
|
+
</div>
|
|
350
|
+
);
|
|
351
|
+
};
|
|
352
|
+
|
|
353
|
+
export default FileComponent;
|
|
354
|
+
```
|
|
355
|
+
|
|
356
|
+
</Tab>
|
|
357
|
+
<Tab label="Angular" value="angular">
|
|
358
|
+
|
|
359
|
+
To use embedded file content in Angular components, retrieve it via the `useIntlayer` hook. Here's an example:
|
|
360
|
+
|
|
361
|
+
```typescript fileName="app.component.ts" codeFormat="typescript"
|
|
362
|
+
import { Component } from "@angular/core";
|
|
363
|
+
import { useIntlayer } from "angular-intlayer";
|
|
364
|
+
|
|
365
|
+
@Component({
|
|
366
|
+
selector: "app-file",
|
|
367
|
+
template: `
|
|
368
|
+
<div>
|
|
369
|
+
<pre>{{ content().myFile }}</pre>
|
|
370
|
+
</div>
|
|
371
|
+
`,
|
|
372
|
+
})
|
|
373
|
+
export class FileComponent {
|
|
374
|
+
content = useIntlayer("my_key");
|
|
375
|
+
}
|
|
376
|
+
```
|
|
377
|
+
|
|
378
|
+
</Tab>
|
|
379
|
+
<Tab label="Vanilla JS" value="vanilla">
|
|
380
|
+
|
|
381
|
+
To use embedded file content with `vanilla-intlayer`, retrieve it via the `useIntlayer` hook. Here's an example:
|
|
382
|
+
|
|
383
|
+
```typescript fileName="**/*.ts" codeFormat={["typescript", "esm"]}
|
|
384
|
+
import { installIntlayer, useIntlayer } from "vanilla-intlayer";
|
|
385
|
+
|
|
386
|
+
installIntlayer();
|
|
387
|
+
|
|
388
|
+
const content = useIntlayer("my_key").onChange((newContent) => {
|
|
389
|
+
document.getElementById("file-content")!.textContent = newContent.myFile;
|
|
390
|
+
});
|
|
391
|
+
|
|
392
|
+
// Initial render
|
|
393
|
+
document.getElementById("file-content")!.textContent = content.myFile;
|
|
394
|
+
```
|
|
395
|
+
|
|
396
|
+
</Tab>
|
|
397
|
+
</Tabs>
|
|
398
|
+
|
|
83
399
|
## Пример многоязычного Markdown
|
|
84
400
|
|
|
85
401
|
Для поддержки многоязычных редактируемых файлов Markdown вы можете использовать `file` в сочетании с `t()` и `md()`, чтобы определить разные языковые версии файла с содержимым Markdown.
|
|
@@ -71,7 +71,10 @@ export default myGenderContent;
|
|
|
71
71
|
|
|
72
72
|
## Использование контента на основе пола с React Intlayer
|
|
73
73
|
|
|
74
|
-
|
|
74
|
+
<Tabs group="framework">
|
|
75
|
+
<Tab label="React" value="react">
|
|
76
|
+
|
|
77
|
+
To utilize gender-based 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 gender to select the appropriate output.
|
|
75
78
|
|
|
76
79
|
```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
|
|
77
80
|
import type { FC } from "react";
|
|
@@ -84,37 +87,37 @@ const GenderComponent: FC = () => {
|
|
|
84
87
|
<div>
|
|
85
88
|
<p>
|
|
86
89
|
{
|
|
87
|
-
/*
|
|
90
|
+
/* Output: my content for male users */
|
|
88
91
|
myGender("male")
|
|
89
92
|
}
|
|
90
93
|
</p>
|
|
91
94
|
<p>
|
|
92
95
|
{
|
|
93
|
-
/*
|
|
96
|
+
/* Output: my content for female users */
|
|
94
97
|
myGender("female")
|
|
95
98
|
}
|
|
96
99
|
</p>
|
|
97
100
|
<p>
|
|
98
101
|
{
|
|
99
|
-
/*
|
|
102
|
+
/* Output: my content for male users */
|
|
100
103
|
myGender("m")
|
|
101
104
|
}
|
|
102
105
|
</p>
|
|
103
106
|
<p>
|
|
104
107
|
{
|
|
105
|
-
/*
|
|
108
|
+
/* Output: my content for female users */
|
|
106
109
|
myGender("f")
|
|
107
110
|
}
|
|
108
111
|
</p>
|
|
109
112
|
<p>
|
|
110
113
|
{
|
|
111
|
-
/*
|
|
114
|
+
/* Output: my content when gender is not specified */
|
|
112
115
|
myGender("")
|
|
113
116
|
}
|
|
114
117
|
</p>
|
|
115
118
|
<p>
|
|
116
119
|
{
|
|
117
|
-
/*
|
|
120
|
+
/* Output: my content when gender is not specified */
|
|
118
121
|
myGender(undefined)
|
|
119
122
|
}
|
|
120
123
|
</p>
|
|
@@ -125,6 +128,164 @@ const GenderComponent: FC = () => {
|
|
|
125
128
|
export default GenderComponent;
|
|
126
129
|
```
|
|
127
130
|
|
|
131
|
+
</Tab>
|
|
132
|
+
<Tab label="Next.js" value="nextjs">
|
|
133
|
+
|
|
134
|
+
To utilize gender-based content in Next.js Client Components, retrieve it via the `useIntlayer` hook. Here's an example:
|
|
135
|
+
|
|
136
|
+
```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
|
|
137
|
+
"use client";
|
|
138
|
+
|
|
139
|
+
import type { FC } from "react";
|
|
140
|
+
import { useIntlayer } from "next-intlayer";
|
|
141
|
+
|
|
142
|
+
const GenderComponent: FC = () => {
|
|
143
|
+
const { myGender } = useIntlayer("my_key");
|
|
144
|
+
|
|
145
|
+
return (
|
|
146
|
+
<div>
|
|
147
|
+
<p>{myGender("male")}</p>
|
|
148
|
+
<p>{myGender("female")}</p>
|
|
149
|
+
</div>
|
|
150
|
+
);
|
|
151
|
+
};
|
|
152
|
+
|
|
153
|
+
export default GenderComponent;
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
</Tab>
|
|
157
|
+
<Tab label="Vue" value="vue">
|
|
158
|
+
|
|
159
|
+
To utilize gender-based content in Vue components, retrieve it via the `useIntlayer` hook. Here's an example:
|
|
160
|
+
|
|
161
|
+
```vue fileName="**/*.vue"
|
|
162
|
+
<script setup lang="ts">
|
|
163
|
+
import { useIntlayer } from "vue-intlayer";
|
|
164
|
+
|
|
165
|
+
const { myGender } = useIntlayer("my_key");
|
|
166
|
+
</script>
|
|
167
|
+
|
|
168
|
+
<template>
|
|
169
|
+
<div>
|
|
170
|
+
<p>{{ myGender("male") }}</p>
|
|
171
|
+
<p>{{ myGender("female") }}</p>
|
|
172
|
+
</div>
|
|
173
|
+
</template>
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
</Tab>
|
|
177
|
+
<Tab label="Svelte" value="svelte">
|
|
178
|
+
|
|
179
|
+
To utilize gender-based content in Svelte components, retrieve it via the `useIntlayer` hook. The store is accessed with `$`. Here's an example:
|
|
180
|
+
|
|
181
|
+
```svelte fileName="**/*.svelte"
|
|
182
|
+
<script lang="ts">
|
|
183
|
+
import { useIntlayer } from "svelte-intlayer";
|
|
184
|
+
|
|
185
|
+
const content = useIntlayer("my_key");
|
|
186
|
+
</script>
|
|
187
|
+
|
|
188
|
+
<div>
|
|
189
|
+
<p>{$content.myGender("male")}</p>
|
|
190
|
+
<p>{$content.myGender("female")}</p>
|
|
191
|
+
</div>
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
</Tab>
|
|
195
|
+
<Tab label="Preact" value="preact">
|
|
196
|
+
|
|
197
|
+
To utilize gender-based content in Preact components, retrieve it via the `useIntlayer` hook. Here's an example:
|
|
198
|
+
|
|
199
|
+
```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
|
|
200
|
+
import type { FC } from "preact";
|
|
201
|
+
import { useIntlayer } from "preact-intlayer";
|
|
202
|
+
|
|
203
|
+
const GenderComponent: FC = () => {
|
|
204
|
+
const { myGender } = useIntlayer("my_key");
|
|
205
|
+
|
|
206
|
+
return (
|
|
207
|
+
<div>
|
|
208
|
+
<p>{myGender("male")}</p>
|
|
209
|
+
<p>{myGender("female")}</p>
|
|
210
|
+
</div>
|
|
211
|
+
);
|
|
212
|
+
};
|
|
213
|
+
|
|
214
|
+
export default GenderComponent;
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
</Tab>
|
|
218
|
+
<Tab label="Solid" value="solid">
|
|
219
|
+
|
|
220
|
+
To utilize gender-based content in SolidJS components, retrieve it via the `useIntlayer` hook. Here's an example:
|
|
221
|
+
|
|
222
|
+
```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
|
|
223
|
+
import type { Component } from "solid-js";
|
|
224
|
+
import { useIntlayer } from "solid-intlayer";
|
|
225
|
+
|
|
226
|
+
const GenderComponent: Component = () => {
|
|
227
|
+
const { myGender } = useIntlayer("my_key");
|
|
228
|
+
|
|
229
|
+
return (
|
|
230
|
+
<div>
|
|
231
|
+
<p>{myGender("male")}</p>
|
|
232
|
+
<p>{myGender("female")}</p>
|
|
233
|
+
</div>
|
|
234
|
+
);
|
|
235
|
+
};
|
|
236
|
+
|
|
237
|
+
export default GenderComponent;
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
</Tab>
|
|
241
|
+
<Tab label="Angular" value="angular">
|
|
242
|
+
|
|
243
|
+
To utilize gender-based content in Angular components, retrieve it via the `useIntlayer` hook. Here's an example:
|
|
244
|
+
|
|
245
|
+
```typescript fileName="app.component.ts" codeFormat="typescript"
|
|
246
|
+
import { Component } from "@angular/core";
|
|
247
|
+
import { useIntlayer } from "angular-intlayer";
|
|
248
|
+
|
|
249
|
+
@Component({
|
|
250
|
+
selector: "app-gender",
|
|
251
|
+
template: `
|
|
252
|
+
<div>
|
|
253
|
+
<p>{{ content().myGender("male") }}</p>
|
|
254
|
+
<p>{{ content().myGender("female") }}</p>
|
|
255
|
+
</div>
|
|
256
|
+
`,
|
|
257
|
+
})
|
|
258
|
+
export class GenderComponent {
|
|
259
|
+
content = useIntlayer("my_key");
|
|
260
|
+
}
|
|
261
|
+
```
|
|
262
|
+
|
|
263
|
+
</Tab>
|
|
264
|
+
<Tab label="Vanilla JS" value="vanilla">
|
|
265
|
+
|
|
266
|
+
To utilize gender-based content with `vanilla-intlayer`, retrieve it via the `useIntlayer` hook. Here's an example:
|
|
267
|
+
|
|
268
|
+
```typescript fileName="**/*.ts" codeFormat={["typescript", "esm"]}
|
|
269
|
+
import { installIntlayer, useIntlayer } from "vanilla-intlayer";
|
|
270
|
+
|
|
271
|
+
installIntlayer();
|
|
272
|
+
|
|
273
|
+
const content = useIntlayer("my_key").onChange((newContent) => {
|
|
274
|
+
document.getElementById("gender-male")!.textContent =
|
|
275
|
+
newContent.myGender("male");
|
|
276
|
+
document.getElementById("gender-female")!.textContent =
|
|
277
|
+
newContent.myGender("female");
|
|
278
|
+
});
|
|
279
|
+
|
|
280
|
+
// Initial render
|
|
281
|
+
document.getElementById("gender-male")!.textContent = content.myGender("male");
|
|
282
|
+
document.getElementById("gender-female")!.textContent =
|
|
283
|
+
content.myGender("female");
|
|
284
|
+
```
|
|
285
|
+
|
|
286
|
+
</Tab>
|
|
287
|
+
</Tabs>
|
|
288
|
+
|
|
128
289
|
## Дополнительные ресурсы
|
|
129
290
|
|
|
130
291
|
Для получения более подробной информации о настройке и использовании обратитесь к следующим ресурсам:
|