@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
|
@@ -35,12 +35,181 @@ author: aymericzip
|
|
|
35
35
|
|
|
36
36
|
## متى تستخدم `plural` مقابل `enu`
|
|
37
37
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
| أشكال الجمع النحوية المتوافقة مع اللغة (تفاحة واحدة / تفاحتان / 5 تفاحات) | `plural` |
|
|
41
|
-
| النطاقات الرقمية المخصصة (`<5` ، `>=10`) أو الفئات غير التابعة لـ CLDR | `enu` |
|
|
38
|
+
<Tabs group="framework">
|
|
39
|
+
<Tab label="React" value="react">
|
|
42
40
|
|
|
43
|
-
|
|
41
|
+
To use plural content inside a React component, retrieve it via the `useIntlayer` hook and call it with a count. The active locale and the count are combined to pick the matching CLDR category.
|
|
42
|
+
|
|
43
|
+
```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
|
|
44
|
+
import type { FC } from "react";
|
|
45
|
+
import { useIntlayer } from "react-intlayer";
|
|
46
|
+
|
|
47
|
+
const OpeningsComponent: FC<{ count: number }> = ({ count }) => {
|
|
48
|
+
const { totalOpenings } = useIntlayer("total_openings");
|
|
49
|
+
|
|
50
|
+
return (
|
|
51
|
+
<div>
|
|
52
|
+
<p>{totalOpenings(count)}</p>
|
|
53
|
+
</div>
|
|
54
|
+
);
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
export default OpeningsComponent;
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
</Tab>
|
|
61
|
+
<Tab label="Next.js" value="nextjs">
|
|
62
|
+
|
|
63
|
+
To use plural content in Next.js Client Components, retrieve it via the `useIntlayer` hook and call it with a count. Here's an example:
|
|
64
|
+
|
|
65
|
+
```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
|
|
66
|
+
"use client";
|
|
67
|
+
|
|
68
|
+
import type { FC } from "react";
|
|
69
|
+
import { useIntlayer } from "next-intlayer";
|
|
70
|
+
|
|
71
|
+
const OpeningsComponent: FC<{ count: number }> = ({ count }) => {
|
|
72
|
+
const { totalOpenings } = useIntlayer("total_openings");
|
|
73
|
+
|
|
74
|
+
return (
|
|
75
|
+
<div>
|
|
76
|
+
<p>{totalOpenings(count)}</p>
|
|
77
|
+
</div>
|
|
78
|
+
);
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
export default OpeningsComponent;
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
</Tab>
|
|
85
|
+
<Tab label="Vue" value="vue">
|
|
86
|
+
|
|
87
|
+
To use plural content in Vue components, retrieve it via the `useIntlayer` hook and call it with a count. Here's an example:
|
|
88
|
+
|
|
89
|
+
```vue fileName="**/*.vue"
|
|
90
|
+
<script setup lang="ts">
|
|
91
|
+
import { useIntlayer } from "vue-intlayer";
|
|
92
|
+
|
|
93
|
+
defineProps<{ count: number }>();
|
|
94
|
+
|
|
95
|
+
const { totalOpenings } = useIntlayer("total_openings");
|
|
96
|
+
</script>
|
|
97
|
+
|
|
98
|
+
<template>
|
|
99
|
+
<div>
|
|
100
|
+
<p>{{ totalOpenings(count) }}</p>
|
|
101
|
+
</div>
|
|
102
|
+
</template>
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
</Tab>
|
|
106
|
+
<Tab label="Svelte" value="svelte">
|
|
107
|
+
|
|
108
|
+
To use plural content in Svelte components, retrieve it via the `useIntlayer` hook and call it with a count. The store is accessed with `$`. Here's an example:
|
|
109
|
+
|
|
110
|
+
```svelte fileName="**/*.svelte"
|
|
111
|
+
<script lang="ts">
|
|
112
|
+
import { useIntlayer } from "svelte-intlayer";
|
|
113
|
+
|
|
114
|
+
export let count: number;
|
|
115
|
+
|
|
116
|
+
const content = useIntlayer("total_openings");
|
|
117
|
+
</script>
|
|
118
|
+
|
|
119
|
+
<div>
|
|
120
|
+
<p>{$content.totalOpenings(count)}</p>
|
|
121
|
+
</div>
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
</Tab>
|
|
125
|
+
<Tab label="Preact" value="preact">
|
|
126
|
+
|
|
127
|
+
To use plural content in Preact components, retrieve it via the `useIntlayer` hook and call it with a count. Here's an example:
|
|
128
|
+
|
|
129
|
+
```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
|
|
130
|
+
import type { FC } from "preact";
|
|
131
|
+
import { useIntlayer } from "preact-intlayer";
|
|
132
|
+
|
|
133
|
+
const OpeningsComponent: FC<{ count: number }> = ({ count }) => {
|
|
134
|
+
const { totalOpenings } = useIntlayer("total_openings");
|
|
135
|
+
|
|
136
|
+
return (
|
|
137
|
+
<div>
|
|
138
|
+
<p>{totalOpenings(count)}</p>
|
|
139
|
+
</div>
|
|
140
|
+
);
|
|
141
|
+
};
|
|
142
|
+
|
|
143
|
+
export default OpeningsComponent;
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
</Tab>
|
|
147
|
+
<Tab label="Solid" value="solid">
|
|
148
|
+
|
|
149
|
+
To use plural content in SolidJS components, retrieve it via the `useIntlayer` hook and call it with a count. Here's an example:
|
|
150
|
+
|
|
151
|
+
```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
|
|
152
|
+
import type { Component } from "solid-js";
|
|
153
|
+
import { useIntlayer } from "solid-intlayer";
|
|
154
|
+
|
|
155
|
+
const OpeningsComponent: Component<{ count: number }> = (props) => {
|
|
156
|
+
const { totalOpenings } = useIntlayer("total_openings");
|
|
157
|
+
|
|
158
|
+
return (
|
|
159
|
+
<div>
|
|
160
|
+
<p>{totalOpenings(props.count)}</p>
|
|
161
|
+
</div>
|
|
162
|
+
);
|
|
163
|
+
};
|
|
164
|
+
|
|
165
|
+
export default OpeningsComponent;
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
</Tab>
|
|
169
|
+
<Tab label="Angular" value="angular">
|
|
170
|
+
|
|
171
|
+
To use plural content in Angular components, retrieve it via the `useIntlayer` hook and call it with a count. Here's an example:
|
|
172
|
+
|
|
173
|
+
```typescript fileName="app.component.ts" codeFormat="typescript"
|
|
174
|
+
import { Component, Input } from "@angular/core";
|
|
175
|
+
import { useIntlayer } from "angular-intlayer";
|
|
176
|
+
|
|
177
|
+
@Component({
|
|
178
|
+
selector: "app-openings",
|
|
179
|
+
template: `
|
|
180
|
+
<div>
|
|
181
|
+
<p>{{ content().totalOpenings(count) }}</p>
|
|
182
|
+
</div>
|
|
183
|
+
`,
|
|
184
|
+
})
|
|
185
|
+
export class OpeningsComponent {
|
|
186
|
+
@Input() count!: number;
|
|
187
|
+
|
|
188
|
+
content = useIntlayer("total_openings");
|
|
189
|
+
}
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
</Tab>
|
|
193
|
+
<Tab label="Vanilla JS" value="vanilla">
|
|
194
|
+
|
|
195
|
+
To use plural content with `vanilla-intlayer`, retrieve it via the `useIntlayer` hook and call it with a count. Here's an example:
|
|
196
|
+
|
|
197
|
+
```typescript fileName="**/*.ts" codeFormat={["typescript", "esm"]}
|
|
198
|
+
import { installIntlayer, useIntlayer } from "vanilla-intlayer";
|
|
199
|
+
|
|
200
|
+
installIntlayer();
|
|
201
|
+
|
|
202
|
+
const content = useIntlayer("total_openings").onChange((newContent) => {
|
|
203
|
+
document.getElementById("openings")!.textContent =
|
|
204
|
+
newContent.totalOpenings(5);
|
|
205
|
+
});
|
|
206
|
+
|
|
207
|
+
// Initial render
|
|
208
|
+
document.getElementById("openings")!.textContent = content.totalOpenings(5);
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
</Tab>
|
|
212
|
+
</Tabs>
|
|
44
213
|
|
|
45
214
|
## إعداد محتوى الجمع
|
|
46
215
|
|
|
@@ -94,7 +94,10 @@ export default config;
|
|
|
94
94
|
|
|
95
95
|
## استخدام الترجمات في مكونات React
|
|
96
96
|
|
|
97
|
-
|
|
97
|
+
<Tabs group="framework">
|
|
98
|
+
<Tab label="React" value="react">
|
|
99
|
+
|
|
100
|
+
With `react-intlayer`, you can use translations in React components. Here's an example:
|
|
98
101
|
|
|
99
102
|
```jsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
|
|
100
103
|
import type { FC } from "react";
|
|
@@ -113,7 +116,158 @@ const MyComponent: FC = () => {
|
|
|
113
116
|
export default MyComponent;
|
|
114
117
|
```
|
|
115
118
|
|
|
116
|
-
|
|
119
|
+
This component fetches the corresponding translation based on the current locale set in your application.
|
|
120
|
+
|
|
121
|
+
</Tab>
|
|
122
|
+
<Tab label="Next.js" value="nextjs">
|
|
123
|
+
|
|
124
|
+
With `next-intlayer`, you can use translations in React Server Components or Client Components. Here's an example in a Client Component:
|
|
125
|
+
|
|
126
|
+
```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
|
|
127
|
+
"use client";
|
|
128
|
+
|
|
129
|
+
import type { FC } from "react";
|
|
130
|
+
import { useIntlayer } from "next-intlayer";
|
|
131
|
+
|
|
132
|
+
const MyComponent: FC = () => {
|
|
133
|
+
const content = useIntlayer("multi_lang");
|
|
134
|
+
|
|
135
|
+
return (
|
|
136
|
+
<div>
|
|
137
|
+
<p>{content.welcomeMessage}</p>
|
|
138
|
+
</div>
|
|
139
|
+
);
|
|
140
|
+
};
|
|
141
|
+
|
|
142
|
+
export default MyComponent;
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
</Tab>
|
|
146
|
+
<Tab label="Vue" value="vue">
|
|
147
|
+
|
|
148
|
+
With `vue-intlayer`, you can use translations in Vue components. Here's an example:
|
|
149
|
+
|
|
150
|
+
```vue fileName="**/*.vue"
|
|
151
|
+
<script setup lang="ts">
|
|
152
|
+
import { useIntlayer } from "vue-intlayer";
|
|
153
|
+
|
|
154
|
+
const content = useIntlayer("multi_lang");
|
|
155
|
+
</script>
|
|
156
|
+
|
|
157
|
+
<template>
|
|
158
|
+
<div>
|
|
159
|
+
<p>{{ content.welcomeMessage }}</p>
|
|
160
|
+
</div>
|
|
161
|
+
</template>
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
</Tab>
|
|
165
|
+
<Tab label="Svelte" value="svelte">
|
|
166
|
+
|
|
167
|
+
With `svelte-intlayer`, you can use translations in Svelte components. The hook returns a Svelte store. Here's an example:
|
|
168
|
+
|
|
169
|
+
```svelte fileName="**/*.svelte"
|
|
170
|
+
<script lang="ts">
|
|
171
|
+
import { useIntlayer } from "svelte-intlayer";
|
|
172
|
+
|
|
173
|
+
const content = useIntlayer("multi_lang");
|
|
174
|
+
</script>
|
|
175
|
+
|
|
176
|
+
<div>
|
|
177
|
+
<p>{$content.welcomeMessage}</p>
|
|
178
|
+
</div>
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
</Tab>
|
|
182
|
+
<Tab label="Preact" value="preact">
|
|
183
|
+
|
|
184
|
+
With `preact-intlayer`, you can use translations in Preact components. Here's an example:
|
|
185
|
+
|
|
186
|
+
```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
|
|
187
|
+
import type { FC } from "preact";
|
|
188
|
+
import { useIntlayer } from "preact-intlayer";
|
|
189
|
+
|
|
190
|
+
const MyComponent: FC = () => {
|
|
191
|
+
const content = useIntlayer("multi_lang");
|
|
192
|
+
|
|
193
|
+
return (
|
|
194
|
+
<div>
|
|
195
|
+
<p>{content.welcomeMessage}</p>
|
|
196
|
+
</div>
|
|
197
|
+
);
|
|
198
|
+
};
|
|
199
|
+
|
|
200
|
+
export default MyComponent;
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
</Tab>
|
|
204
|
+
<Tab label="Solid" value="solid">
|
|
205
|
+
|
|
206
|
+
With `solid-intlayer`, you can use translations in SolidJS components. Here's an example:
|
|
207
|
+
|
|
208
|
+
```tsx fileName="**/*.tsx" codeFormat={["typescript", "esm"]}
|
|
209
|
+
import type { Component } from "solid-js";
|
|
210
|
+
import { useIntlayer } from "solid-intlayer";
|
|
211
|
+
|
|
212
|
+
const MyComponent: Component = () => {
|
|
213
|
+
const content = useIntlayer("multi_lang");
|
|
214
|
+
|
|
215
|
+
return (
|
|
216
|
+
<div>
|
|
217
|
+
<p>{content.welcomeMessage}</p>
|
|
218
|
+
</div>
|
|
219
|
+
);
|
|
220
|
+
};
|
|
221
|
+
|
|
222
|
+
export default MyComponent;
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
</Tab>
|
|
226
|
+
<Tab label="Angular" value="angular">
|
|
227
|
+
|
|
228
|
+
With `angular-intlayer`, you can use translations in Angular components. Here's an example:
|
|
229
|
+
|
|
230
|
+
```typescript fileName="app.component.ts" codeFormat="typescript"
|
|
231
|
+
import { Component } from "@angular/core";
|
|
232
|
+
import { useIntlayer } from "angular-intlayer";
|
|
233
|
+
|
|
234
|
+
@Component({
|
|
235
|
+
selector: "app-my-component",
|
|
236
|
+
template: `
|
|
237
|
+
<div>
|
|
238
|
+
<p>{{ content().welcomeMessage }}</p>
|
|
239
|
+
</div>
|
|
240
|
+
`,
|
|
241
|
+
})
|
|
242
|
+
export class MyComponent {
|
|
243
|
+
content = useIntlayer("multi_lang");
|
|
244
|
+
}
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
</Tab>
|
|
248
|
+
<Tab label="Vanilla JS" value="vanilla">
|
|
249
|
+
|
|
250
|
+
With `vanilla-intlayer`, you can use translations by subscribing to content changes. 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("multi_lang").onChange((newContent) => {
|
|
258
|
+
document.getElementById("welcome-message")!.textContent = String(
|
|
259
|
+
newContent.welcomeMessage
|
|
260
|
+
);
|
|
261
|
+
});
|
|
262
|
+
|
|
263
|
+
// Initial render
|
|
264
|
+
document.getElementById("welcome-message")!.textContent = String(
|
|
265
|
+
content.welcomeMessage
|
|
266
|
+
);
|
|
267
|
+
```
|
|
268
|
+
|
|
269
|
+
</Tab>
|
|
270
|
+
</Tabs>
|
|
117
271
|
|
|
118
272
|
## كائنات المحتوى المخصصة
|
|
119
273
|
|
|
@@ -840,37 +840,6 @@ bun run build # Or bun run dev
|
|
|
840
840
|
|
|
841
841
|
</Steps>
|
|
842
842
|
|
|
843
|
-
### تكوين TypeScript
|
|
844
|
-
|
|
845
|
-
يستخدم Intlayer توسيع الوحدات (module augmentation) للاستفادة من TypeScript وجعل قاعدة الشيفرة الخاصة بك أقوى.
|
|
846
|
-
|
|
847
|
-

|
|
848
|
-
|
|
849
|
-

|
|
850
|
-
|
|
851
|
-
تأكد من أن تكوين TypeScript الخاص بك يتضمن الأنواع التي تم إنشاؤها تلقائيًا.
|
|
852
|
-
|
|
853
|
-
```json5 fileName="tsconfig.json"
|
|
854
|
-
{
|
|
855
|
-
// ... تكوينات TypeScript الحالية الخاصة بك
|
|
856
|
-
"include": [
|
|
857
|
-
// ... تكوينات TypeScript الحالية الخاصة بك
|
|
858
|
-
".intlayer/**/*.ts", // تضمين الأنواع التي تم إنشاؤها تلقائيًا
|
|
859
|
-
],
|
|
860
|
-
}
|
|
861
|
-
```
|
|
862
|
-
|
|
863
|
-
### تكوين Git
|
|
864
|
-
|
|
865
|
-
يوصى بتجاهل الملفات التي تم إنشاؤها بواسطة Intlayer. هذا يسمح لك بتجنب الالتزام بها في مستودع Git الخاص بك.
|
|
866
|
-
|
|
867
|
-
للقيام بذلك، يمكنك إضافة التعليمات التالية إلى ملف `.gitignore` الخاص بك:
|
|
868
|
-
|
|
869
|
-
```plaintext fileName=".gitignore"
|
|
870
|
-
# تجاهل الملفات التي تم إنشاؤها بواسطة Intlayer
|
|
871
|
-
.intlayer
|
|
872
|
-
```
|
|
873
|
-
|
|
874
843
|
### (اختياري) خريطة الموقع و robots.txt (توليد وقت البناء)
|
|
875
844
|
|
|
876
845
|
يوفّر Intlayer الدالتين `generateSitemap` و`getMultilingualUrls` لتنسيق مخرجات جاهزة للزحّافات (`sitemap.xml` متعدد اللغات و`robots.txt`) وكتابتها تلقائياً إلى `public/`. عادةً تشغّل سكربت Node صغير **قبل** Vite (مثلاً خطافات npm `predev` / `prebuild`).
|
|
@@ -945,6 +914,37 @@ console.log("SEO files generated successfully.");
|
|
|
945
914
|
|
|
946
915
|
عدّل الأوامر إن كنت تستخدم pnpm أو yarn. يمكن استدعاء السكربت من CI أيضاً.
|
|
947
916
|
|
|
917
|
+
### تكوين TypeScript
|
|
918
|
+
|
|
919
|
+
يستخدم Intlayer ميزة module augmentation للاستفادة من TypeScript وجعل codebase الخاص بك أقوى.
|
|
920
|
+
|
|
921
|
+

|
|
922
|
+
|
|
923
|
+

|
|
924
|
+
|
|
925
|
+
تأكد من أن تكوين TypeScript الخاص بك يتضمن الأنواع المُنشأة تلقائيًا (autogenerated types).
|
|
926
|
+
|
|
927
|
+
```json5 fileName="tsconfig.json"
|
|
928
|
+
{
|
|
929
|
+
// ... تكوينات TypeScript الحالية الخاصة بك
|
|
930
|
+
"include": [
|
|
931
|
+
// ... تكوينات TypeScript الحالية الخاصة بك
|
|
932
|
+
".intlayer/**/*.ts", // تضمين الأنواع المُنشأة تلقائيًا
|
|
933
|
+
],
|
|
934
|
+
}
|
|
935
|
+
```
|
|
936
|
+
|
|
937
|
+
### إعداد Git
|
|
938
|
+
|
|
939
|
+
يوصى بتجاهل الملفات التي تم إنشاؤها بواسطة Intlayer. يتيح لك ذلك تجنب إرسالها (committing) إلى مستودع Git الخاص بك.
|
|
940
|
+
|
|
941
|
+
للقيام بذلك، يمكنك إضافة التعليمات التالية إلى ملف `.gitignore` الخاص بك:
|
|
942
|
+
|
|
943
|
+
```plaintext fileName=".gitignore"
|
|
944
|
+
# تجاهل الملفات التي تم إنشاؤها بواسطة Intlayer
|
|
945
|
+
.intlayer
|
|
946
|
+
```
|
|
947
|
+
|
|
948
948
|
### إضافة VS Code
|
|
949
949
|
|
|
950
950
|
لتحسين تجربة التطوير الخاصة بك مع Intlayer، يمكنك تثبيت **إضافة Intlayer الرسمية لـ VS Code**.
|