@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
|
@@ -61,7 +61,10 @@ export default myFileContent;
|
|
|
61
61
|
|
|
62
62
|
## React Intlayer에서 파일 콘텐츠 사용하기
|
|
63
63
|
|
|
64
|
-
|
|
64
|
+
<Tabs group="framework">
|
|
65
|
+
<Tab label="React" value="react">
|
|
66
|
+
|
|
67
|
+
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
68
|
|
|
66
69
|
```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
|
|
67
70
|
import type { FC } from "react";
|
|
@@ -80,6 +83,153 @@ const FileComponent: FC = () => {
|
|
|
80
83
|
export default FileComponent;
|
|
81
84
|
```
|
|
82
85
|
|
|
86
|
+
</Tab>
|
|
87
|
+
<Tab label="Next.js" value="nextjs">
|
|
88
|
+
|
|
89
|
+
To use embedded file content in Next.js Client Components, retrieve it via the `useIntlayer` hook. Here's an example:
|
|
90
|
+
|
|
91
|
+
```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
|
|
92
|
+
"use client";
|
|
93
|
+
|
|
94
|
+
import type { FC } from "react";
|
|
95
|
+
import { useIntlayer } from "next-intlayer";
|
|
96
|
+
|
|
97
|
+
const FileComponent: FC = () => {
|
|
98
|
+
const { myFile } = useIntlayer("my_key");
|
|
99
|
+
|
|
100
|
+
return (
|
|
101
|
+
<div>
|
|
102
|
+
<pre>{myFile}</pre>
|
|
103
|
+
</div>
|
|
104
|
+
);
|
|
105
|
+
};
|
|
106
|
+
|
|
107
|
+
export default FileComponent;
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
</Tab>
|
|
111
|
+
<Tab label="Vue" value="vue">
|
|
112
|
+
|
|
113
|
+
To use embedded file content in Vue components, retrieve it via the `useIntlayer` hook. Here's an example:
|
|
114
|
+
|
|
115
|
+
```vue fileName="**/*.vue"
|
|
116
|
+
<script setup lang="ts">
|
|
117
|
+
import { useIntlayer } from "vue-intlayer";
|
|
118
|
+
|
|
119
|
+
const { myFile } = useIntlayer("my_key");
|
|
120
|
+
</script>
|
|
121
|
+
|
|
122
|
+
<template>
|
|
123
|
+
<div>
|
|
124
|
+
<pre>{{ myFile }}</pre>
|
|
125
|
+
</div>
|
|
126
|
+
</template>
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
</Tab>
|
|
130
|
+
<Tab label="Svelte" value="svelte">
|
|
131
|
+
|
|
132
|
+
To use embedded file content in Svelte components, retrieve it via the `useIntlayer` hook. The store is accessed with `$`. Here's an example:
|
|
133
|
+
|
|
134
|
+
```svelte fileName="**/*.svelte"
|
|
135
|
+
<script lang="ts">
|
|
136
|
+
import { useIntlayer } from "svelte-intlayer";
|
|
137
|
+
|
|
138
|
+
const content = useIntlayer("my_key");
|
|
139
|
+
</script>
|
|
140
|
+
|
|
141
|
+
<div>
|
|
142
|
+
<pre>{$content.myFile}</pre>
|
|
143
|
+
</div>
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
</Tab>
|
|
147
|
+
<Tab label="Preact" value="preact">
|
|
148
|
+
|
|
149
|
+
To use embedded file content in Preact components, retrieve it via the `useIntlayer` hook. Here's an example:
|
|
150
|
+
|
|
151
|
+
```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
|
|
152
|
+
import type { FC } from "preact";
|
|
153
|
+
import { useIntlayer } from "preact-intlayer";
|
|
154
|
+
|
|
155
|
+
const FileComponent: FC = () => {
|
|
156
|
+
const { myFile } = useIntlayer("my_key");
|
|
157
|
+
|
|
158
|
+
return (
|
|
159
|
+
<div>
|
|
160
|
+
<pre>{myFile}</pre>
|
|
161
|
+
</div>
|
|
162
|
+
);
|
|
163
|
+
};
|
|
164
|
+
|
|
165
|
+
export default FileComponent;
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
</Tab>
|
|
169
|
+
<Tab label="Solid" value="solid">
|
|
170
|
+
|
|
171
|
+
To use embedded file content in SolidJS components, retrieve it via the `useIntlayer` hook. Here's an example:
|
|
172
|
+
|
|
173
|
+
```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
|
|
174
|
+
import type { Component } from "solid-js";
|
|
175
|
+
import { useIntlayer } from "solid-intlayer";
|
|
176
|
+
|
|
177
|
+
const FileComponent: Component = () => {
|
|
178
|
+
const { myFile } = useIntlayer("my_key");
|
|
179
|
+
|
|
180
|
+
return (
|
|
181
|
+
<div>
|
|
182
|
+
<pre>{myFile}</pre>
|
|
183
|
+
</div>
|
|
184
|
+
);
|
|
185
|
+
};
|
|
186
|
+
|
|
187
|
+
export default FileComponent;
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
</Tab>
|
|
191
|
+
<Tab label="Angular" value="angular">
|
|
192
|
+
|
|
193
|
+
To use embedded file content in Angular components, retrieve it via the `useIntlayer` hook. Here's an example:
|
|
194
|
+
|
|
195
|
+
```typescript fileName="app.component.ts" codeFormat="typescript"
|
|
196
|
+
import { Component } from "@angular/core";
|
|
197
|
+
import { useIntlayer } from "angular-intlayer";
|
|
198
|
+
|
|
199
|
+
@Component({
|
|
200
|
+
selector: "app-file",
|
|
201
|
+
template: `
|
|
202
|
+
<div>
|
|
203
|
+
<pre>{{ content().myFile }}</pre>
|
|
204
|
+
</div>
|
|
205
|
+
`,
|
|
206
|
+
})
|
|
207
|
+
export class FileComponent {
|
|
208
|
+
content = useIntlayer("my_key");
|
|
209
|
+
}
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
</Tab>
|
|
213
|
+
<Tab label="Vanilla JS" value="vanilla">
|
|
214
|
+
|
|
215
|
+
To use embedded file content with `vanilla-intlayer`, retrieve it via the `useIntlayer` hook. Here's an example:
|
|
216
|
+
|
|
217
|
+
```typescript fileName="**/*.ts" codeFormat={["typescript", "esm"]}
|
|
218
|
+
import { installIntlayer, useIntlayer } from "vanilla-intlayer";
|
|
219
|
+
|
|
220
|
+
installIntlayer();
|
|
221
|
+
|
|
222
|
+
const content = useIntlayer("my_key").onChange((newContent) => {
|
|
223
|
+
document.getElementById("file-content")!.textContent = newContent.myFile;
|
|
224
|
+
});
|
|
225
|
+
|
|
226
|
+
// Initial render
|
|
227
|
+
document.getElementById("file-content")!.textContent = content.myFile;
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
</Tab>
|
|
231
|
+
</Tabs>
|
|
232
|
+
|
|
83
233
|
## 다국어 마크다운 예제
|
|
84
234
|
|
|
85
235
|
다국어 편집 가능한 마크다운 파일을 지원하기 위해, `file`을 `t()` 및 `md()`와 결합하여 마크다운 콘텐츠 파일의 다양한 언어 버전을 정의할 수 있습니다.
|
|
@@ -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
|
설정 및 사용법에 대한 자세한 정보는 다음 자료를 참조하세요:
|
|
@@ -27,89 +27,197 @@ Intlayer에서 중첩은 `nest` 함수를 통해 이루어지며, 이를 통해
|
|
|
27
27
|
|
|
28
28
|
## 중첩 설정
|
|
29
29
|
|
|
30
|
-
|
|
30
|
+
<Tabs group="framework">
|
|
31
|
+
<Tab label="React" value="react">
|
|
31
32
|
|
|
32
|
-
|
|
33
|
+
To use nested content in a React component, leverage the `useIntlayer` hook from the `react-intlayer` package. This hook retrieves the correct content based on the specified key. Here's an example of how to use it:
|
|
33
34
|
|
|
34
|
-
|
|
35
|
+
```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
|
|
36
|
+
import type { FC } from "react";
|
|
37
|
+
import { useIntlayer } from "react-intlayer";
|
|
35
38
|
|
|
36
|
-
|
|
37
|
-
|
|
39
|
+
const NestComponent: FC = () => {
|
|
40
|
+
const { fullNestedContent, partialNestedContent } = useIntlayer(
|
|
41
|
+
"key_of_my_second_dictionary"
|
|
42
|
+
);
|
|
38
43
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
},
|
|
47
|
-
},
|
|
48
|
-
} satisfies Dictionary;
|
|
44
|
+
return (
|
|
45
|
+
<div>
|
|
46
|
+
<p>Full Nested Content: {JSON.stringify(fullNestedContent)}</p>
|
|
47
|
+
<p>Partial Nested Value: {partialNestedContent}</p>
|
|
48
|
+
</div>
|
|
49
|
+
);
|
|
50
|
+
};
|
|
49
51
|
|
|
50
|
-
export default
|
|
52
|
+
export default NestComponent;
|
|
51
53
|
```
|
|
52
54
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
55
|
+
</Tab>
|
|
56
|
+
<Tab label="Next.js" value="nextjs">
|
|
57
|
+
|
|
58
|
+
To use nested content in Next.js Client Components, retrieve it via the `useIntlayer` hook. Here's an example:
|
|
59
|
+
|
|
60
|
+
```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
|
|
61
|
+
"use client";
|
|
62
|
+
|
|
63
|
+
import type { FC } from "react";
|
|
64
|
+
import { useIntlayer } from "next-intlayer";
|
|
65
|
+
|
|
66
|
+
const NestComponent: FC = () => {
|
|
67
|
+
const { fullNestedContent, partialNestedContent } = useIntlayer(
|
|
68
|
+
"key_of_my_second_dictionary"
|
|
69
|
+
);
|
|
70
|
+
|
|
71
|
+
return (
|
|
72
|
+
<div>
|
|
73
|
+
<p>Full Nested Content: {JSON.stringify(fullNestedContent)}</p>
|
|
74
|
+
<p>Partial Nested Value: {partialNestedContent}</p>
|
|
75
|
+
</div>
|
|
76
|
+
);
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
export default NestComponent;
|
|
65
80
|
```
|
|
66
81
|
|
|
67
|
-
|
|
82
|
+
</Tab>
|
|
83
|
+
<Tab label="Vue" value="vue">
|
|
68
84
|
|
|
69
|
-
|
|
85
|
+
To use nested content in Vue components, retrieve it via the `useIntlayer` hook. Here's an example:
|
|
70
86
|
|
|
71
|
-
```
|
|
72
|
-
|
|
87
|
+
```vue fileName="**/*.vue"
|
|
88
|
+
<script setup lang="ts">
|
|
89
|
+
import { useIntlayer } from "vue-intlayer";
|
|
73
90
|
|
|
74
|
-
const
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
fullNestedContent: nest("key_of_my_first_dictionary"),
|
|
79
|
-
// 특정 중첩 값을 참조합니다:
|
|
80
|
-
partialNestedContent: nest(
|
|
81
|
-
"key_of_my_first_dictionary",
|
|
82
|
-
"subContent.contentNumber"
|
|
83
|
-
),
|
|
84
|
-
},
|
|
85
|
-
} satisfies Dictionary;
|
|
91
|
+
const { fullNestedContent, partialNestedContent } = useIntlayer(
|
|
92
|
+
"key_of_my_second_dictionary"
|
|
93
|
+
);
|
|
94
|
+
</script>
|
|
86
95
|
|
|
87
|
-
|
|
96
|
+
<template>
|
|
97
|
+
<div>
|
|
98
|
+
<p>Full Nested Content: {{ JSON.stringify(fullNestedContent) }}</p>
|
|
99
|
+
<p>Partial Nested Value: {{ partialNestedContent }}</p>
|
|
100
|
+
</div>
|
|
101
|
+
</template>
|
|
88
102
|
```
|
|
89
103
|
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
104
|
+
</Tab>
|
|
105
|
+
<Tab label="Svelte" value="svelte">
|
|
106
|
+
|
|
107
|
+
To use nested content in Svelte components, retrieve it via the `useIntlayer` hook. The store is accessed with `$`. Here's an example:
|
|
108
|
+
|
|
109
|
+
```svelte fileName="**/*.svelte"
|
|
110
|
+
<script lang="ts">
|
|
111
|
+
import { useIntlayer } from "svelte-intlayer";
|
|
112
|
+
|
|
113
|
+
const content = useIntlayer("key_of_my_second_dictionary");
|
|
114
|
+
</script>
|
|
115
|
+
|
|
116
|
+
<div>
|
|
117
|
+
<p>Full Nested Content: {JSON.stringify($content.fullNestedContent)}</p>
|
|
118
|
+
<p>Partial Nested Value: {$content.partialNestedContent}</p>
|
|
119
|
+
</div>
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
</Tab>
|
|
123
|
+
<Tab label="Preact" value="preact">
|
|
124
|
+
|
|
125
|
+
To use nested content in Preact components, retrieve it via the `useIntlayer` hook. Here's an example:
|
|
126
|
+
|
|
127
|
+
```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
|
|
128
|
+
import type { FC } from "preact";
|
|
129
|
+
import { useIntlayer } from "preact-intlayer";
|
|
130
|
+
|
|
131
|
+
const NestComponent: FC = () => {
|
|
132
|
+
const { fullNestedContent, partialNestedContent } = useIntlayer(
|
|
133
|
+
"key_of_my_second_dictionary"
|
|
134
|
+
);
|
|
135
|
+
|
|
136
|
+
return (
|
|
137
|
+
<div>
|
|
138
|
+
<p>Full Nested Content: {JSON.stringify(fullNestedContent)}</p>
|
|
139
|
+
<p>Partial Nested Value: {partialNestedContent}</p>
|
|
140
|
+
</div>
|
|
141
|
+
);
|
|
142
|
+
};
|
|
143
|
+
|
|
144
|
+
export default NestComponent;
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
</Tab>
|
|
148
|
+
<Tab label="Solid" value="solid">
|
|
149
|
+
|
|
150
|
+
To use nested content in SolidJS components, retrieve it via the `useIntlayer` hook. Here's an example:
|
|
151
|
+
|
|
152
|
+
```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
|
|
153
|
+
import type { Component } from "solid-js";
|
|
154
|
+
import { useIntlayer } from "solid-intlayer";
|
|
155
|
+
|
|
156
|
+
const NestComponent: Component = () => {
|
|
157
|
+
const { fullNestedContent, partialNestedContent } = useIntlayer(
|
|
158
|
+
"key_of_my_second_dictionary"
|
|
159
|
+
);
|
|
160
|
+
|
|
161
|
+
return (
|
|
162
|
+
<div>
|
|
163
|
+
<p>Full Nested Content: {JSON.stringify(fullNestedContent)}</p>
|
|
164
|
+
<p>Partial Nested Value: {partialNestedContent}</p>
|
|
165
|
+
</div>
|
|
166
|
+
);
|
|
167
|
+
};
|
|
168
|
+
|
|
169
|
+
export default NestComponent;
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
</Tab>
|
|
173
|
+
<Tab label="Angular" value="angular">
|
|
174
|
+
|
|
175
|
+
To use nested content in Angular components, retrieve it via the `useIntlayer` hook. Here's an example:
|
|
176
|
+
|
|
177
|
+
```typescript fileName="app.component.ts" codeFormat="typescript"
|
|
178
|
+
import { Component } from "@angular/core";
|
|
179
|
+
import { useIntlayer } from "angular-intlayer";
|
|
180
|
+
|
|
181
|
+
@Component({
|
|
182
|
+
selector: "app-nest",
|
|
183
|
+
template: `
|
|
184
|
+
<div>
|
|
185
|
+
<p>
|
|
186
|
+
Full Nested Content: {{ JSON.stringify(content().fullNestedContent) }}
|
|
187
|
+
</p>
|
|
188
|
+
<p>Partial Nested Value: {{ content().partialNestedContent }}</p>
|
|
189
|
+
</div>
|
|
190
|
+
`,
|
|
191
|
+
})
|
|
192
|
+
export class NestComponent {
|
|
193
|
+
content = useIntlayer("key_of_my_second_dictionary");
|
|
194
|
+
JSON = JSON;
|
|
109
195
|
}
|
|
110
196
|
```
|
|
111
197
|
|
|
112
|
-
|
|
198
|
+
</Tab>
|
|
199
|
+
<Tab label="Vanilla JS" value="vanilla">
|
|
200
|
+
|
|
201
|
+
To use nested content with `vanilla-intlayer`, retrieve it via the `useIntlayer` hook. Here's an example:
|
|
202
|
+
|
|
203
|
+
```typescript fileName="**/*.ts" codeFormat={["typescript", "esm"]}
|
|
204
|
+
import { installIntlayer, useIntlayer } from "vanilla-intlayer";
|
|
205
|
+
|
|
206
|
+
installIntlayer();
|
|
207
|
+
|
|
208
|
+
const content = useIntlayer("key_of_my_second_dictionary").onChange(
|
|
209
|
+
(newContent) => {
|
|
210
|
+
document.getElementById("nested")!.textContent =
|
|
211
|
+
newContent.partialNestedContent;
|
|
212
|
+
}
|
|
213
|
+
);
|
|
214
|
+
|
|
215
|
+
// Initial render
|
|
216
|
+
document.getElementById("nested")!.textContent = content.partialNestedContent;
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
</Tab>
|
|
220
|
+
</Tabs>
|
|
113
221
|
|
|
114
222
|
## React Intlayer와 함께 중첩 사용
|
|
115
223
|
|