@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
|
@@ -105,6 +105,248 @@ Intlayer は単なる i18n ソリューションではなく、**自己ホスト
|
|
|
105
105
|
|
|
106
106
|
GitHubの[Application Template](https://github.com/aymericzip/intlayer-vite-react-template)を参照してください。
|
|
107
107
|
|
|
108
|
+
#### フックの実装
|
|
109
|
+
|
|
110
|
+
HTML属性を管理するためのカスタムフックを作成します。このフックはロケールの変更を監視し、それに応じて属性を更新します:
|
|
111
|
+
|
|
112
|
+
```tsx fileName="src/hooks/useI18nHTMLAttributes.tsx" codeFormat={["typescript", "esm"]}
|
|
113
|
+
import { useEffect } from "react";
|
|
114
|
+
import { useLocale } from "react-intlayer";
|
|
115
|
+
import { getHTMLTextDir } from "intlayer";
|
|
116
|
+
|
|
117
|
+
/**
|
|
118
|
+
* 現在のロケールに基づいて、HTMLの <html> 要素の `lang` 属性と `dir` 属性を更新します。
|
|
119
|
+
* - `lang`: ブラウザや検索エンジンにページの言語を通知します。
|
|
120
|
+
* - `dir`: 正しい読み取り順序(例:英語の場合は 'ltr'、アラビア語の場合は 'rtl')を保証します。
|
|
121
|
+
*
|
|
122
|
+
* この動的な更新は、適切なテキストレンダリング、アクセシビリティ、およびSEOにとって不可欠です。
|
|
123
|
+
*/
|
|
124
|
+
export const useI18nHTMLAttributes = () => {
|
|
125
|
+
const { locale } = useLocale();
|
|
126
|
+
|
|
127
|
+
useEffect(() => {
|
|
128
|
+
// 言語属性を現在のロケールに更新します。
|
|
129
|
+
document.documentElement.lang = locale;
|
|
130
|
+
|
|
131
|
+
// 現在のロケールに基づいてテキストの方向を設定します。
|
|
132
|
+
document.documentElement.dir = getHTMLTextDir(locale);
|
|
133
|
+
}, [locale]);
|
|
134
|
+
};
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
#### アプリケーションでのフックの使用
|
|
138
|
+
|
|
139
|
+
ロケールが変更されるたびに HTML 属性が更新されるように、フックをメインコンポーネントに統合します:
|
|
140
|
+
|
|
141
|
+
```tsx fileName="src/App.tsx" codeFormat={["typescript", "esm"]}
|
|
142
|
+
import type { FC } from "react";
|
|
143
|
+
import { IntlayerProvider, useIntlayer } from "react-intlayer";
|
|
144
|
+
import { useI18nHTMLAttributes } from "./hooks/useI18nHTMLAttributes";
|
|
145
|
+
import "./App.css";
|
|
146
|
+
|
|
147
|
+
const AppContent: FC = () => {
|
|
148
|
+
// ロケールに基づいて <html> タグの lang および dir 属性を更新するためにフックを適用します。
|
|
149
|
+
useI18nHTMLAttributes();
|
|
150
|
+
|
|
151
|
+
// ... コンポーネントの残りの部分
|
|
152
|
+
};
|
|
153
|
+
|
|
154
|
+
const App: FC = () => (
|
|
155
|
+
<IntlayerProvider>
|
|
156
|
+
<AppContent />
|
|
157
|
+
</IntlayerProvider>
|
|
158
|
+
);
|
|
159
|
+
|
|
160
|
+
export default App;
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
これらの変更を適用することで、アプリケーションは以下のようになります:
|
|
164
|
+
|
|
165
|
+
- **言語** (`lang`) 属性が現在のロケールを正確に反映するようになり、これは SEO やブラウザの動作にとって重要です。
|
|
166
|
+
- ロケールに応じて**テキストの方向** (`dir`) を調整し、読み取り順序が異なる言語の可読性とユーザビリティを向上させます。
|
|
167
|
+
- 支援技術が最適に機能するためにこれらの属性に依存しているため、より**アクセシブル**な体験を提供します。
|
|
168
|
+
|
|
169
|
+
</Step>
|
|
170
|
+
|
|
171
|
+
<Step number={10} title="ローカライズされた Link コンポーネントの作成" isOptional={true}>
|
|
172
|
+
|
|
173
|
+
アプリケーションのナビゲーションが現在のロケールを尊重するように、カスタムの `Link` コンポーネントを作成できます。このコンポーネントは、内部 URL の先頭に現在の言語を自動的に付加します。例えば、フランス語を話すユーザーが「About」ページへのリンクをクリックすると、`/about` ではなく `/fr/about` にリダイレクトされます。
|
|
174
|
+
|
|
175
|
+
この動作は、いくつかの理由で有用です:
|
|
176
|
+
|
|
177
|
+
- **SEO とユーザーエクスペリエンス**: ローカライズされた URL は、検索エンジンが言語固有のページを正しくインデックスするのを助け、ユーザーに好みの言語でコンテンツを提供します。
|
|
178
|
+
- **一貫性**: アプリケーション全体でローカライズされたリンクを使用することで、ナビゲーションが現在のロケール内に留まることを保証し、予期しない言語の切り替えを防ぎます。
|
|
179
|
+
- **メンテナンス性**: ローカリゼーション ロジックを単一のコンポーネントに集約することで URL の管理が簡素化され、アプリケーションの成長に合わせて codebase のメンテナンスや拡張が容易になります。
|
|
180
|
+
|
|
181
|
+
以下は、TypeScript でのローカライズされた `Link` コンポーネントの実装です:
|
|
182
|
+
|
|
183
|
+
```tsx fileName="src/components/Link.tsx" codeFormat={["typescript", "esm"]}
|
|
184
|
+
import { getLocalizedUrl } from "intlayer";
|
|
185
|
+
import {
|
|
186
|
+
forwardRef,
|
|
187
|
+
type DetailedHTMLProps,
|
|
188
|
+
type AnchorHTMLAttributes,
|
|
189
|
+
} from "react";
|
|
190
|
+
import { useLocale } from "react-intlayer";
|
|
191
|
+
|
|
192
|
+
export interface LinkProps extends DetailedHTMLProps<
|
|
193
|
+
AnchorHTMLAttributes<HTMLAnchorElement>,
|
|
194
|
+
HTMLAnchorElement
|
|
195
|
+
> {}
|
|
196
|
+
|
|
197
|
+
/**
|
|
198
|
+
* 与えられた URL が外部へのものかどうかを確認するユーティリティ関数。
|
|
199
|
+
* URL が http:// または https:// で始まる場合、外部と見なされます。
|
|
200
|
+
*/
|
|
201
|
+
export const checkIsExternalLink = (href?: string): boolean =>
|
|
202
|
+
/^https?:\/\//.test(href ?? "");
|
|
203
|
+
|
|
204
|
+
/**
|
|
205
|
+
* 現在のロケールに基づいて href 属性を適応させるカスタム Link コンポーネント。
|
|
206
|
+
* 内部リンクの場合、`getLocalizedUrl` を使用して URL にロケールを付加します(例: /fr/about)。
|
|
207
|
+
* これにより、ナビゲーションが同じロケール コンテキスト内に留まることが保証されます。
|
|
208
|
+
*/
|
|
209
|
+
export const Link = forwardRef<HTMLAnchorElement, LinkProps>(
|
|
210
|
+
({ href, children, ...props }, ref) => {
|
|
211
|
+
const { locale } = useLocale();
|
|
212
|
+
const isExternalLink = checkIsExternalLink(href);
|
|
213
|
+
|
|
214
|
+
// リンクが内部向けであり、有効な href が提供されている場合、ローカライズされた URL を取得します。
|
|
215
|
+
const hrefI18n =
|
|
216
|
+
href && !isExternalLink ? getLocalizedUrl(href, locale) : href;
|
|
217
|
+
|
|
218
|
+
return (
|
|
219
|
+
<a href={hrefI18n} ref={ref} {...props}>
|
|
220
|
+
{children}
|
|
221
|
+
</a>
|
|
222
|
+
);
|
|
223
|
+
}
|
|
224
|
+
);
|
|
225
|
+
|
|
226
|
+
Link.displayName = "Link";
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
#### 仕組み
|
|
230
|
+
|
|
231
|
+
- **外部リンクの検出**:
|
|
232
|
+
ヘルパー関数 `checkIsExternalLink` は、URLが外部リンクであるかどうかを判断します。外部リンクはローカライズの必要がないため、そのままにされます。
|
|
233
|
+
|
|
234
|
+
- **現在のロケールの取得**:
|
|
235
|
+
`useLocale` フックは、現在のロケール(例:フランス語の場合は `fr`)を提供します。
|
|
236
|
+
|
|
237
|
+
- **URLのローカライズ**:
|
|
238
|
+
内部リンク(すなわち、外部ではないリンク)の場合、`getLocalizedUrl` を使用して自動的に現在のロケールをURLのプレフィックスとして付加します。これは、ユーザーがフランス語環境にいる場合、`href` として `/about` を渡すと `/fr/about` に変換されることを意味します。
|
|
239
|
+
|
|
240
|
+
- **リンクの返却**:
|
|
241
|
+
コンポーネントは、ローカライズされたURLを持つ `<a>` 要素を返し、ナビゲーションがロケールと一貫するようにします。
|
|
242
|
+
|
|
243
|
+
この `Link` コンポーネントをアプリケーション全体に統合することで、SEOとユーザビリティの向上というメリットを享受しながら、一貫性のある言語対応のユーザーエクスペリエンスを維持できます。
|
|
244
|
+
|
|
245
|
+
</Step>
|
|
246
|
+
|
|
247
|
+
<Step number={11} title="コンポーネントのコンテンツを抽出する" isOptional={true}>
|
|
248
|
+
|
|
249
|
+
既存のコードベースがある場合、数千ものファイルを変換するのは時間がかかる場合があります。
|
|
250
|
+
|
|
251
|
+
このプロセスを容易にするために、Intlayerはコンポーネントを変換し、コンテンツを抽出するための [コンパイラ](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/compiler.md) / [エクストラクター](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/cli/extract.md) を提供しています。
|
|
252
|
+
|
|
253
|
+
セットアップするには、`intlayer.config.ts` ファイルに `compiler` セクションを追加できます。
|
|
254
|
+
|
|
255
|
+
```typescript fileName="intlayer.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
256
|
+
import { type IntlayerConfig } from "intlayer";
|
|
257
|
+
|
|
258
|
+
const config: IntlayerConfig = {
|
|
259
|
+
// ... その他の設定
|
|
260
|
+
compiler: {
|
|
261
|
+
/**
|
|
262
|
+
* コンパイラを有効にするかどうかを指定します。
|
|
263
|
+
*/
|
|
264
|
+
enabled: true,
|
|
265
|
+
|
|
266
|
+
/**
|
|
267
|
+
* 出力ファイルのパスを定義します
|
|
268
|
+
*/
|
|
269
|
+
output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
270
|
+
|
|
271
|
+
/**
|
|
272
|
+
* 変換後にコンポーネントを保存するかどうかを指定します。
|
|
273
|
+
*
|
|
274
|
+
* - `true` の場合、コンパイラはディスク上のコンポーネントファイルを書き換えます。これにより変換は永続的になり、次回のプロセスでは変換をスキップします。その方法で、コンパイラがアプリを変換した後に、コンパイラを削除することができます。
|
|
275
|
+
*
|
|
276
|
+
* - `false` の場合、コンパイラはビルド出力のコードにのみ `useIntlayer()` 関数の呼び出しを注入し、元のコードベースはそのまま維持します。変換はメモリ内でのみ行われます。
|
|
277
|
+
*/
|
|
278
|
+
saveComponents: false,
|
|
279
|
+
|
|
280
|
+
/**
|
|
281
|
+
* 辞書キーのプレフィックス
|
|
282
|
+
*/
|
|
283
|
+
dictionaryKeyPrefix: "",
|
|
284
|
+
},
|
|
285
|
+
};
|
|
286
|
+
|
|
287
|
+
export default config;
|
|
288
|
+
```
|
|
289
|
+
|
|
290
|
+
<Tabs>
|
|
291
|
+
<Tab value='Extract command'>
|
|
292
|
+
|
|
293
|
+
エクストラクターを実行して、コンポーネントを変換しコンテンツを抽出します
|
|
294
|
+
|
|
295
|
+
```bash packageManager="npm"
|
|
296
|
+
npx intlayer extract
|
|
297
|
+
```
|
|
298
|
+
|
|
299
|
+
```bash packageManager="pnpm"
|
|
300
|
+
pnpm intlayer extract
|
|
301
|
+
```
|
|
302
|
+
|
|
303
|
+
```bash packageManager="yarn"
|
|
304
|
+
yarn intlayer extract
|
|
305
|
+
```
|
|
306
|
+
|
|
307
|
+
```bash packageManager="bun"
|
|
308
|
+
bun x intlayer extract
|
|
309
|
+
```
|
|
310
|
+
|
|
311
|
+
</Tab>
|
|
312
|
+
<Tab value='Babel compiler'>
|
|
313
|
+
|
|
314
|
+
`vite.config.ts` を更新して `intlayerCompiler` プラグインを含めます:
|
|
315
|
+
|
|
316
|
+
```ts fileName="vite.config.ts"
|
|
317
|
+
import { defineConfig } from "vite";
|
|
318
|
+
import { intlayer, intlayerCompiler } from "vite-intlayer";
|
|
319
|
+
|
|
320
|
+
export default defineConfig({
|
|
321
|
+
plugins: [
|
|
322
|
+
intlayer(),
|
|
323
|
+
intlayerCompiler(), // コンパイラプラグインを追加します
|
|
324
|
+
],
|
|
325
|
+
});
|
|
326
|
+
```
|
|
327
|
+
|
|
328
|
+
```bash packageManager="npm"
|
|
329
|
+
npm run build # または npm run dev
|
|
330
|
+
```
|
|
331
|
+
|
|
332
|
+
```bash packageManager="pnpm"
|
|
333
|
+
pnpm run build # または pnpm run dev
|
|
334
|
+
```
|
|
335
|
+
|
|
336
|
+
```bash packageManager="yarn"
|
|
337
|
+
yarn build # または yarn dev
|
|
338
|
+
```
|
|
339
|
+
|
|
340
|
+
```bash packageManager="bun"
|
|
341
|
+
bun run build # または bun run dev
|
|
342
|
+
```
|
|
343
|
+
|
|
344
|
+
</Tab>
|
|
345
|
+
</Tabs>
|
|
346
|
+
</Step>
|
|
347
|
+
|
|
348
|
+
</Steps>
|
|
349
|
+
|
|
108
350
|
### (任意)サイトマップと robots.txt(ビルド時生成)
|
|
109
351
|
|
|
110
352
|
Intlayer は `generateSitemap` と `getMultilingualUrls` により、クローラ向けに整形した多言語の `sitemap.xml` と `robots.txt` を `public/` に自動で書き出せます。通常は Vite より**前**に小さな Node スクリプトを走らせます(例: npm の `predev` / `prebuild`)。
|
|
@@ -179,6 +421,54 @@ console.log("SEO files generated successfully.");
|
|
|
179
421
|
|
|
180
422
|
pnpm や yarn を使う場合はコマンドを読み替えてください。CI から呼び出しても構いません。
|
|
181
423
|
|
|
424
|
+
### TypeScriptの設定
|
|
425
|
+
|
|
426
|
+
Intlayerはモジュール拡張(module augmentation)を使用してTypeScriptの利点を活用し、コードベースをより強固にします。
|
|
427
|
+
|
|
428
|
+

|
|
429
|
+
|
|
430
|
+

|
|
431
|
+
|
|
432
|
+
TypeScriptの設定に、自動生成された型が含まれていることを確認してください。
|
|
433
|
+
|
|
434
|
+
```json5 fileName="tsconfig.json"
|
|
435
|
+
{
|
|
436
|
+
// ... 既存のTypeScript設定
|
|
437
|
+
"include": [
|
|
438
|
+
// ... 既存のTypeScript設定
|
|
439
|
+
".intlayer/**/*.ts", // 自動生成された型を含める
|
|
440
|
+
],
|
|
441
|
+
}
|
|
442
|
+
```
|
|
443
|
+
|
|
444
|
+
### Gitの設定
|
|
445
|
+
|
|
446
|
+
Intlayerによって生成されたファイルを無視することをお勧めします。これにより、それらをGitリポジトリにコミットすることを避けることができます。
|
|
447
|
+
|
|
448
|
+
これを行うには、`.gitignore`ファイルに以下の指示を追加できます。
|
|
449
|
+
|
|
450
|
+
```plaintext fileName=".gitignore"
|
|
451
|
+
# Intlayerによって生成されたファイルを無視する
|
|
452
|
+
.intlayer
|
|
453
|
+
```
|
|
454
|
+
|
|
455
|
+
### VS Code 拡張機能
|
|
456
|
+
|
|
457
|
+
Intlayer での開発体験を向上させるために、公式の **Intlayer VS Code Extension** をインストールできます。
|
|
458
|
+
|
|
459
|
+
[VS Code Marketplace からインストール](https://marketplace.visualstudio.com/items?itemName=intlayer.intlayer-vs-code-extension)
|
|
460
|
+
|
|
461
|
+
この拡張機能は以下の機能を提供します:
|
|
462
|
+
|
|
463
|
+
- 翻訳キーの **オートコンプリート**。
|
|
464
|
+
- 不足している翻訳の **リアルタイムエラー検出**。
|
|
465
|
+
- 翻訳済みコンテンツの **インラインプレビュー**。
|
|
466
|
+
- 翻訳を簡単に作成・更新するための **クイックアクション**。
|
|
467
|
+
|
|
468
|
+
拡張機能の使用方法の詳細については、[Intlayer VS Code Extension ドキュメント](https://intlayer.org/ja/doc/vs-code-extension)を参照してください。
|
|
469
|
+
|
|
470
|
+
---
|
|
471
|
+
|
|
182
472
|
### さらに進むために
|
|
183
473
|
|
|
184
474
|
さらに進むには、[ビジュアルエディター](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/intlayer_visual_editor.md)を実装するか、[CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/intlayer_CMS.md)を使用してコンテンツを外部化することができます。
|