@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
|
@@ -0,0 +1,232 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2026-06-14
|
|
3
|
+
updatedAt: 2026-06-14
|
|
4
|
+
title: Nowy Intlayer v9 - Co nowego?
|
|
5
|
+
description: Odkryj nowości w Intlayer v9. Przedstawiamy pakiety kompatybilności typu drop-in dla popularnych bibliotek i18n oraz wsparcie dla Kolekcji (Collections), Wariantów (Variants) i Dynamicznych Rekordów (Dynamic Records).
|
|
6
|
+
keywords:
|
|
7
|
+
- Intlayer
|
|
8
|
+
- Kompatybilność
|
|
9
|
+
- Migracja
|
|
10
|
+
- Kolekcje
|
|
11
|
+
- Warianty
|
|
12
|
+
- Dynamiczne Rekordy
|
|
13
|
+
- i18next
|
|
14
|
+
- next-intl
|
|
15
|
+
- vue-i18n
|
|
16
|
+
slugs:
|
|
17
|
+
- doc
|
|
18
|
+
- releases
|
|
19
|
+
- v9
|
|
20
|
+
author: aymericzip
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
# Nowy Intlayer v9 - Co nowego?
|
|
24
|
+
|
|
25
|
+
Witaj w Intlayer v9! To główne wydanie (major release) stanowi ogromny krok milowy w upraszczaniu ścieżki migracji do Intlayer dzięki **pakietom kompatybilności (Compat Adapter Packages)** dla najpopularniejszych bibliotek i18n (takich jak `react-i18next`, `next-intl`, `vue-i18n` itp.) oraz wprowadza wsparcie dla bogatych struktur treści: **Kolekcji (Collections)**, **Wariantów (Variants)** i **Dynamicznych Rekordów (Dynamic Records)**.
|
|
26
|
+
|
|
27
|
+
## Spis treści
|
|
28
|
+
|
|
29
|
+
<TOC levels={[2]} maxDepth={1} />
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## Pakiety kompatybilności (Compat Adapter Packages)
|
|
34
|
+
|
|
35
|
+
Migracja do Intlayer z popularnych bibliotek i18n jest teraz łatwiejsza niż kiedykolwiek. Stworzyliśmy pięć pakietów kompatybilności (compat packages), które udostępniają **dokładnie to samo publiczne API** co standardowe biblioteki i18n, ale delegują całą pracę związaną z tłumaczeniami do Intlayer w czasie działania aplikacji (runtime).
|
|
36
|
+
|
|
37
|
+
### To samo publiczne API ze ścisłym typowaniem (Strict Typing)
|
|
38
|
+
|
|
39
|
+
Zastępując importy, zyskujesz wszystkie zalety Intlayer (w tym bezpieczeństwo typów w czasie kompilacji - compile-time type safety - w oparciu o Twoje rzeczywiste słowniki) przy minimalnych zmianach w kodzie:
|
|
40
|
+
|
|
41
|
+
- `@intlayer/i18next`
|
|
42
|
+
- `@intlayer/react-i18next`
|
|
43
|
+
- `@intlayer/next-intl`
|
|
44
|
+
- `@intlayer/next-i18next`
|
|
45
|
+
- `@intlayer/vue-i18n`
|
|
46
|
+
|
|
47
|
+
Na przykład, po prostu zmień:
|
|
48
|
+
|
|
49
|
+
```ts
|
|
50
|
+
import { useTranslation } from "react-i18next";
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
na:
|
|
54
|
+
|
|
55
|
+
```ts
|
|
56
|
+
import { useTranslation } from "@intlayer/react-i18next";
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
Twoje klucze będą teraz **ściśle typowane** (strictly typed) w oparciu o słowniki Intlayer, oferując pełne autouzupełnianie ścieżek kropkowych (dot-path) w Twoim IDE!
|
|
60
|
+
|
|
61
|
+
### Pluginy aliasów dla bundlerów (Vite, Next.js, Turbopack)
|
|
62
|
+
|
|
63
|
+
Aby umożliwić migrację bez konieczności ręcznego przepisywania wszystkich importów, każdy pakiet adaptera kompatybilności zawiera **dedykowany plugin dla bundlera** (Vite lub Next.js) w podścieżce `/plugin`.
|
|
64
|
+
|
|
65
|
+
Pluginy te automatycznie przepisują istniejące importy (np. `react-i18next` lub `next-intl`) na ich odpowiedniki `@intlayer/*` w czasie budowania (build time).
|
|
66
|
+
|
|
67
|
+
#### Przykład dla Next.js (Webpack / Turbopack)
|
|
68
|
+
|
|
69
|
+
Zamiast `withIntlayer`, owiń swoją konfigurację Next.js pluginem kompatybilności:
|
|
70
|
+
|
|
71
|
+
```ts fileName="next.config.ts"
|
|
72
|
+
import { createNextI18nPlugin } from "@intlayer/next-i18next/plugin";
|
|
73
|
+
import type { NextConfig } from "next";
|
|
74
|
+
|
|
75
|
+
const withIntlayer = createNextI18nPlugin();
|
|
76
|
+
const nextConfig: NextConfig = {};
|
|
77
|
+
|
|
78
|
+
export default withIntlayer(nextConfig);
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
#### Przykład dla Vite (React, Vue, Solid, Svelte)
|
|
82
|
+
|
|
83
|
+
```ts fileName="vite.config.ts"
|
|
84
|
+
import vueI18nVitePlugin from "@intlayer/vue-i18n/plugin";
|
|
85
|
+
|
|
86
|
+
export default defineConfig({
|
|
87
|
+
plugins: [vueI18nVitePlugin()],
|
|
88
|
+
});
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
## Wspólny parser czasu działania (Mutualized Runtime Resolver)
|
|
94
|
+
|
|
95
|
+
Wszystkie adaptery kompatybilności kierują teraz proces rozwiązywania tłumaczeń przez jeden, wysoce zoptymalizowany parser czasu działania (runtime parser): `@intlayer/core/messageFormat`.
|
|
96
|
+
|
|
97
|
+
- **Interpolacja wiadomości (Interpolate Message)**: Obsługuje standardowe szablony `{{var}}` (ze spacjami i ścieżkami kropkowymi), argumenty formatowane w standardzie ICU (`{v, number, percent}` itp.) oraz proste szablony `{var}`.
|
|
98
|
+
- **Rozwiązywanie węzłów wiadomości (Message Node Resolver)**: Obsługuje zagnieżdżone węzły: `insert()`, `plural()` (reguły liczby mnogiej CLDR), `enu()` (wyliczenia), `gender()`, tagi HTML, tablice oraz węzły funkcji wywoływalnych (callable functions).
|
|
99
|
+
- **Parser tagów tokenizowanych (Tokenized Tag Parser)**: Wspiera wbudowane tagi XML/HTML oraz tagi numerowane (np. `<1>children</1>`), aby zapewnić renderowanie bogatego tekstu (rich-text) po wyjęciu z pudełka.
|
|
100
|
+
|
|
101
|
+
---
|
|
102
|
+
|
|
103
|
+
## Specyfikacja funkcji: Kolekcje, Warianty i Dynamiczne Rekordy
|
|
104
|
+
|
|
105
|
+
Intlayer v9 wykracza poza statyczne obiekty klucz-wartość, umożliwiając słownikom deklarowanie dynamicznych struktur układu, które są w pełni typowane od początku do końca (end-to-end).
|
|
106
|
+
|
|
107
|
+
### 1. Kolekcje (Collections)
|
|
108
|
+
|
|
109
|
+
Zdefiniuj zarządzaną przez CMS uporządkowaną lista elementów (np. FAQ, produkty lub listy blogów):
|
|
110
|
+
|
|
111
|
+
```ts fileName="faq.content.ts"
|
|
112
|
+
import { t, type Dictionary } from "intlayer";
|
|
113
|
+
|
|
114
|
+
export default {
|
|
115
|
+
key: "faq",
|
|
116
|
+
content: [
|
|
117
|
+
{
|
|
118
|
+
question: t({
|
|
119
|
+
pl: "Co to jest Intlayer?",
|
|
120
|
+
en: "What is Intlayer?",
|
|
121
|
+
fr: "Qu'est-ce qu'Intlayer ?",
|
|
122
|
+
}),
|
|
123
|
+
answer: t({
|
|
124
|
+
pl: "Zestaw narzędzi i18n.",
|
|
125
|
+
en: "An i18n toolkit.",
|
|
126
|
+
fr: "Une boîte à outils i18n.",
|
|
127
|
+
}),
|
|
128
|
+
},
|
|
129
|
+
],
|
|
130
|
+
} satisfies Dictionary;
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
#### Użycie:
|
|
134
|
+
|
|
135
|
+
```ts
|
|
136
|
+
// Pobierz wszystkie elementy
|
|
137
|
+
const allFaqs = useIntlayer("faq"); // -> { question: string, answer: string }[]
|
|
138
|
+
|
|
139
|
+
// Pobierz pojedynczy element po indeksie
|
|
140
|
+
const faq = useIntlayer("faq", { item: 1 }); // -> { question: string, answer: string }
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
### 2. Warianty (Variants)
|
|
144
|
+
|
|
145
|
+
Dostarczaj testy A/B, nagłówki sezonowe, flagi funkcji (feature flags) lub niestandardowe strony docelowe (landing pages):
|
|
146
|
+
|
|
147
|
+
```ts fileName="hero.content.ts"
|
|
148
|
+
import { t, type Dictionary } from "intlayer";
|
|
149
|
+
|
|
150
|
+
export default {
|
|
151
|
+
key: "hero-banner",
|
|
152
|
+
variant: "default",
|
|
153
|
+
content: {
|
|
154
|
+
control: t({ pl: "Witaj", en: "Welcome", fr: "Bienvenue" }),
|
|
155
|
+
black_friday: t({
|
|
156
|
+
pl: "Kup teraz",
|
|
157
|
+
en: "Shop now",
|
|
158
|
+
fr: "Acheter maintenant",
|
|
159
|
+
}),
|
|
160
|
+
},
|
|
161
|
+
} satisfies Dictionary;
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
#### Użycie:
|
|
165
|
+
|
|
166
|
+
```ts
|
|
167
|
+
const banner = useIntlayer("hero-banner", { variant: "black_friday" });
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
### 3. Dynamiczne Rekordy (Dynamic Records)
|
|
171
|
+
|
|
172
|
+
Definiuj słowniki, których wpisy są ładowane dynamicznie w czasie działania aplikacji (runtime) za pomocą identyfikatorów zapytań (query IDs):
|
|
173
|
+
|
|
174
|
+
```ts fileName="product.content.ts"
|
|
175
|
+
import { t, type Dictionary } from "intlayer";
|
|
176
|
+
|
|
177
|
+
export default {
|
|
178
|
+
key: "product-copy",
|
|
179
|
+
meta: {
|
|
180
|
+
id: "prod_123",
|
|
181
|
+
category: "books",
|
|
182
|
+
},
|
|
183
|
+
content: {
|
|
184
|
+
title: t({ pl: "Czysty kod", en: "Clean Code", fr: "Code Propre" }),
|
|
185
|
+
},
|
|
186
|
+
} satisfies Dictionary;
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
#### Użycie:
|
|
190
|
+
|
|
191
|
+
```ts
|
|
192
|
+
// Pobiera dynamicznie tylko żądany element (wymaga Suspense)
|
|
193
|
+
const product = useIntlayer("product-copy", {
|
|
194
|
+
id: "prod_123",
|
|
195
|
+
category: "books",
|
|
196
|
+
});
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
---
|
|
200
|
+
|
|
201
|
+
## Dynamiczne ładowanie i optymalizacja rozmiaru paczki (Bundle Size)
|
|
202
|
+
|
|
203
|
+
Aby zachować niezwykle mały rozmiar paczek (bundles), Intlayer v9 wspiera dynamiczne leniwe ładowanie (lazy loading).
|
|
204
|
+
|
|
205
|
+
W swojej konfiguracji ustaw `importMode` na `'dynamic'` lub `'fetch'`:
|
|
206
|
+
|
|
207
|
+
```ts fileName="intlayer.config.ts"
|
|
208
|
+
export default {
|
|
209
|
+
dictionary: {
|
|
210
|
+
importMode: "dynamic", // "static" | "dynamic" | "fetch"
|
|
211
|
+
},
|
|
212
|
+
};
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
W czasie budowania (build time), `@intlayer/swc` oraz `@intlayer/babel` skanują Twoje pliki i zastępują wywołania `useIntlayer` / `getIntlayer` opakowaniami wspierającymi tree-shaking (`useDictionary` / `useDictionaryDynamic`). Ładowana jest tylko treść wymagana dla wybranego elementu kolekcji, wariantu lub języka (locale), co zapobiega dołączaniu nieużywanych tłumaczeń do Twojej paczki produkcyjnej (production bundle).
|
|
216
|
+
|
|
217
|
+
---
|
|
218
|
+
|
|
219
|
+
## Uwagi dotyczące migracji z wersji v8
|
|
220
|
+
|
|
221
|
+
Jeśli aktualizujesz aplikację z wersji v8, pamiętaj, że wersja v9 nie zawiera zmian wprowadzających niekompatybilność wsteczną (breaking changes). Oto jednak kluczowe zmiany:
|
|
222
|
+
|
|
223
|
+
- **Języki i dialekty (Locales & Dialects)**: Jeśli używasz zewnętrznych zależności i18n, dodaj odpowiednie pluginy adapterów kompatybilności w swojej konfiguracji lub konfiguracji bundlera, aby automatycznie przepisywać importy.
|
|
224
|
+
- **Niestandardowe selektory (Custom Selectors)**: Podczas wywoływania `useIntlayer`, drugi parametr jest teraz zarezerwowany dla obiektu opcji zawierającego `{ locale, item, variant, id }`. Jeśli wcześniej przekazywałeś bezpośrednio ciąg znaków języka (locale string), nadal możesz to robić, jednak zaleca się używanie obiektu opcji przy bardziej zaawansowanych wyborach.
|
|
225
|
+
|
|
226
|
+
---
|
|
227
|
+
|
|
228
|
+
## Przydatne linki
|
|
229
|
+
|
|
230
|
+
- [Przewodnik po pakietach kompatybilności (Compat Adapter Packages)](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/compat/index.md)
|
|
231
|
+
- [Dynamiczne słowniki - Kolekcje, Warianty i Dynamiczne Rekordy](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/dynamic_dictionaries/index.md)
|
|
232
|
+
- [Dokumentacja konfiguracji](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/configuration.md)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2024-08-11
|
|
3
|
-
updatedAt:
|
|
3
|
+
updatedAt: 2026-06-17
|
|
4
4
|
title: Revisar Documento
|
|
5
5
|
description: Aprenda como revisar arquivos de documentação para qualidade, consistência e completude em diferentes locais.
|
|
6
6
|
keywords:
|
|
@@ -15,6 +15,10 @@ slugs:
|
|
|
15
15
|
- concept
|
|
16
16
|
- cli
|
|
17
17
|
- doc-review
|
|
18
|
+
history:
|
|
19
|
+
- version: 9.0.0
|
|
20
|
+
date: 2026-06-17
|
|
21
|
+
changes: "Adicionar opção --log"
|
|
18
22
|
author: aymericzip
|
|
19
23
|
---
|
|
20
24
|
|
|
@@ -55,8 +59,110 @@ Para a maioria dos casos de uso,
|
|
|
55
59
|
|
|
56
60
|
## Argumentos:
|
|
57
61
|
|
|
58
|
-
|
|
62
|
+
**Opções de lista de arquivos:**
|
|
59
63
|
|
|
60
|
-
|
|
64
|
+
- **`--doc-pattern [docPattern...]`**: Padrões glob para corresponder aos arquivos de documentação a serem revisados.
|
|
61
65
|
|
|
62
|
-
|
|
66
|
+
> Exemplo: `npx intlayer doc review --doc-pattern "docs/**/*.md" "src/**/*.mdx"`
|
|
67
|
+
|
|
68
|
+
- **`--excluded-glob-pattern [excludedGlobPattern...]`**: Padrões glob para excluir da revisão.
|
|
69
|
+
|
|
70
|
+
> Exemplo: `npx intlayer doc review --excluded-glob-pattern "docs/internal/**"`
|
|
71
|
+
|
|
72
|
+
- **`--skip-if-modified-before [skipIfModifiedBefore]`**: Pular o arquivo se ele foi modificado antes do tempo especificado.
|
|
73
|
+
- Pode ser um tempo absoluto como "2025-12-05" (string ou Date)
|
|
74
|
+
- Pode ser um tempo relativo em ms `1 * 60 * 60 * 1000` (1 hora)
|
|
75
|
+
- Esta opção verifica o tempo de atualização do arquivo usando o método `fs.stat`. Portanto, pode ser impactada pelo Git ou outras ferramentas que modificam o arquivo.
|
|
76
|
+
|
|
77
|
+
> Exemplo: `npx intlayer doc review --skip-if-modified-before "2025-12-05"`
|
|
78
|
+
|
|
79
|
+
- **`--skip-if-modified-after [skipIfModifiedAfter]`**: Pular o arquivo se ele foi modificado dentro do tempo especificado.
|
|
80
|
+
- Pode ser um tempo absoluto como "2025-12-05" (string ou Date)
|
|
81
|
+
- Pode ser um tempo relativo em ms `1 * 60 * 60 * 1000` (1 hora)
|
|
82
|
+
- Esta opção verifica o tempo de atualização do arquivo usando o método `fs.stat`. Portanto, pode ser impactada pelo Git ou outras ferramentas que modificam o arquivo.
|
|
83
|
+
|
|
84
|
+
> Exemplo: `npx intlayer doc review --skip-if-modified-after "2025-12-05"`
|
|
85
|
+
|
|
86
|
+
- **`--skip-if-exists`**: Pular o arquivo se ele já existir.
|
|
87
|
+
|
|
88
|
+
> Exemplo: `npx intlayer doc review --skip-if-exists`
|
|
89
|
+
|
|
90
|
+
**Opções de modo de revisão:**
|
|
91
|
+
|
|
92
|
+
- **`--log`**: Modo apenas de registro (log-only). Não traduz com IA; em vez disso, registra os blocos que precisam de atenção (com números de linha e conteúdo) para as localidades base e de destino, a fim de ajudar outro agente a gerar as traduções.
|
|
93
|
+
|
|
94
|
+
> Exemplo: `npx intlayer doc review --log`
|
|
95
|
+
|
|
96
|
+
**Opções de saída da entrada:**
|
|
97
|
+
|
|
98
|
+
- **`--locales [locales...]`**: Locais de destino para revisar a documentação.
|
|
99
|
+
|
|
100
|
+
> Exemplo: `npx intlayer doc review --locales fr es de`
|
|
101
|
+
|
|
102
|
+
- **`--base-locale [baseLocale]`**: Local de origem (documento base) para comparar.
|
|
103
|
+
|
|
104
|
+
> Exemplo: `npx intlayer doc review --base-locale en`
|
|
105
|
+
|
|
106
|
+
**Opções de processamento de arquivos:**
|
|
107
|
+
|
|
108
|
+
- **`--nb-simultaneous-file-processed [nbSimultaneousFileProcessed]`**: Número de arquivos para processar simultaneamente para a revisão.
|
|
109
|
+
|
|
110
|
+
> Exemplo: `npx intlayer doc review --nb-simultaneous-file-processed 5`
|
|
111
|
+
|
|
112
|
+
**Opções de IA:**
|
|
113
|
+
|
|
114
|
+
- **`--model [model]`**: O modelo de IA a ser usado para a revisão (exemplo: `gpt-3.5-turbo`).
|
|
115
|
+
- **`--provider [provider]`**: O provedor de IA a ser usado para a revisão.
|
|
116
|
+
- **`--temperature [temperature]`**: Configuração de temperatura para o modelo de IA.
|
|
117
|
+
- **`--api-key [apiKey]`**: Forneça sua própria chave de API para o serviço de IA.
|
|
118
|
+
- **`--application-context [applicationContext]`**: Forneça contexto adicional para a revisão de IA.
|
|
119
|
+
- **`--data-serialization [dataSerialization]`**: O formato de serialização de dados a ser usado nas funcionalidades de IA do Intlayer. Opções: `json` (padrão, confiável), `toon` (menos tokens, menos consistente).
|
|
120
|
+
- **`--custom-prompt [prompt]`**: Personalize o prompt base usado para a revisão. (Nota: Para a maioria dos casos de uso, a opção `--custom-instructions` é recomendada, pois oferece melhor controle.)
|
|
121
|
+
|
|
122
|
+
> Exemplo: `npx intlayer doc review --model deepseek-chat --provider deepseek --temperature 0.5 --api-key sk-1234567890 --application-context "Minha aplicação é uma loja de gatos"`
|
|
123
|
+
|
|
124
|
+
**Opções de variáveis de ambiente:**
|
|
125
|
+
|
|
126
|
+
- **`--env`**: Especifica o ambiente (exemplo: `development`, `production`).
|
|
127
|
+
- **`--env-file [envFile]`**: Fornece um arquivo de ambiente personalizado para carregar variáveis.
|
|
128
|
+
- **`--base-dir`**: Especifica o diretório base do projeto.
|
|
129
|
+
- **`--no-cache`**: Desativa o cache.
|
|
130
|
+
|
|
131
|
+
> Exemplo: `npx intlayer doc review --base-dir ./docs --env-file .env.production.local`
|
|
132
|
+
|
|
133
|
+
**Opções de log:**
|
|
134
|
+
|
|
135
|
+
- **`--verbose`**: Ativa o log detalhado para depuração. (padrão para true usando CLI)
|
|
136
|
+
|
|
137
|
+
> Exemplo: `npx intlayer doc review --verbose`
|
|
138
|
+
|
|
139
|
+
**Opções de instruções personalizadas:**
|
|
140
|
+
|
|
141
|
+
- **`--custom-instructions [customInstructions]`**: Instruções personalizadas adicionadas ao prompt. Útil para aplicar regras específicas relacionadas à formatação, tradução de URLs, etc.
|
|
142
|
+
|
|
143
|
+
> Exemplo: `npx intlayer doc review --custom-instructions "Evite traduzir URLs e mantenha o formato markdown"`
|
|
144
|
+
|
|
145
|
+
> Exemplo: `npx intlayer doc review --custom-instructions "$(cat ./instructions.md)"`
|
|
146
|
+
|
|
147
|
+
**Opções do Git:**
|
|
148
|
+
|
|
149
|
+
- **`--git-diff`**: Executa apenas em arquivos que incluem alterações da base (padrão `origin/main`) para o branch atual (padrão: `HEAD`).
|
|
150
|
+
- **`--git-diff-base`**: Especifica a referência base para o git diff (padrão `origin/main`).
|
|
151
|
+
- **`--git-diff-current`**: Especifica a referência atual para o git diff (padrão: `HEAD`).
|
|
152
|
+
- **`--uncommitted`**: Inclui alterações não comitadas.
|
|
153
|
+
- **`--unpushed`**: Inclui alterações não enviadas.
|
|
154
|
+
- **`--untracked`**: Inclui arquivos não rastreados.
|
|
155
|
+
|
|
156
|
+
> Exemplo: `npx intlayer doc review --git-diff --git-diff-base origin/main --git-diff-current HEAD`
|
|
157
|
+
|
|
158
|
+
> Exemplo: `npx intlayer doc review --uncommitted --unpushed --untracked`
|
|
159
|
+
|
|
160
|
+
> Note que o caminho do arquivo de saída será determinado substituindo os seguintes padrões:
|
|
161
|
+
>
|
|
162
|
+
> - `/{{baseLocale}}/` por `/{{locale}}/` (Unix)
|
|
163
|
+
> - `\{{baseLocale}}\` por `\{{locale}}\` (Windows)
|
|
164
|
+
> - `_{{baseLocale}}.` por `_{{locale}}.`
|
|
165
|
+
> - `{{baseLocale}}_` por `{{locale}}_`
|
|
166
|
+
> - `.{{baseLocaleName}}.` por `.{{localeName}}.`
|
|
167
|
+
>
|
|
168
|
+
> Se o padrão não for encontrado, o arquivo de saída adicionará `.{{locale}}` na extensão do arquivo. `./my/file.md` será revisado e atualizado para `./my/file.fr.md` para o idioma francês.
|
package/docs/pt/cli/index.md
CHANGED
package/docs/pt/cli/scan.md
CHANGED
package/docs/pt/configuration.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2024-08-13
|
|
3
|
-
updatedAt: 2026-
|
|
3
|
+
updatedAt: 2026-06-17
|
|
4
4
|
title: Configuração (Configuration)
|
|
5
5
|
description: Saiba como configurar o Intlayer para a sua aplicação. Entenda as várias configurações e opções disponíveis para personalizar o Intlayer conforme as suas necessidades.
|
|
6
6
|
keywords:
|
|
@@ -14,6 +14,9 @@ slugs:
|
|
|
14
14
|
- concept
|
|
15
15
|
- configuration
|
|
16
16
|
history:
|
|
17
|
+
- version: 8.10.0
|
|
18
|
+
date: 2026-06-17
|
|
19
|
+
changes: "Adicionada a opção `format` à configuração do dicionário"
|
|
17
20
|
- version: 8.9.4
|
|
18
21
|
date: 2026-05-12
|
|
19
22
|
changes: "Adicionar suporte para o provedor LM Studio"
|
|
@@ -135,6 +138,7 @@ O Intlayer aceita os formatos de ficheiro de configuração JSON, JS, MJS e TS:
|
|
|
135
138
|
````typescript fileName="intlayer.config.ts" codeFormat="typescript"
|
|
136
139
|
import { Locales, type IntlayerConfig } from "intlayer";
|
|
137
140
|
import { nextjsRewrite } from "intlayer/routing";
|
|
141
|
+
import { syncJSON } from "@intlayer/sync-json-plugin";
|
|
138
142
|
import { z } from "zod";
|
|
139
143
|
|
|
140
144
|
/**
|
|
@@ -585,10 +589,38 @@ const config: IntlayerConfig = {
|
|
|
585
589
|
}),
|
|
586
590
|
},
|
|
587
591
|
|
|
592
|
+
/**
|
|
593
|
+
* Configuração do dicionário.
|
|
594
|
+
*/
|
|
595
|
+
dictionary: {
|
|
596
|
+
/**
|
|
597
|
+
* Controla como os dicionários são importados.
|
|
598
|
+
* - "static": Importado estaticamente no momento da build.
|
|
599
|
+
* - "dynamic": Importado dinamicamente usando Suspense.
|
|
600
|
+
* - "fetch": Buscado dinamicamente via API de sincronização ao vivo.
|
|
601
|
+
*/
|
|
602
|
+
importMode: "static",
|
|
603
|
+
|
|
604
|
+
/**
|
|
605
|
+
* O formato de mensagem padrão para todos os dicionários no projeto.
|
|
606
|
+
* - 'intlayer': Formato nativo do intlayer (padrão).
|
|
607
|
+
* - 'icu': Formato de mensagem ICU.
|
|
608
|
+
* - 'i18next': Formato i18next.
|
|
609
|
+
* - 'vue-i18n': Formato Vue I18n.
|
|
610
|
+
* - 'po': Formato GNU Gettext PO.
|
|
611
|
+
*/
|
|
612
|
+
format: "icu",
|
|
613
|
+
},
|
|
614
|
+
|
|
588
615
|
/**
|
|
589
616
|
* Configuração de plugins.
|
|
590
617
|
*/
|
|
591
|
-
plugins: [
|
|
618
|
+
plugins: [
|
|
619
|
+
syncJSON({
|
|
620
|
+
format: "icu",
|
|
621
|
+
source: ({ locale }) => `./messages/${locale}.json`,
|
|
622
|
+
}),
|
|
623
|
+
],
|
|
592
624
|
};
|
|
593
625
|
|
|
594
626
|
export default config;
|
|
@@ -857,20 +889,21 @@ Definições relacionadas à forma como o conteúdo é gerido dentro da aplicaç
|
|
|
857
889
|
|
|
858
890
|
Parâmetros que controlam as operações do dicionário, incluindo o comportamento de preenchimento automático (auto-fill) e geração de conteúdo.
|
|
859
891
|
|
|
860
|
-
| Campo | Descrição | Tipo | Padrão
|
|
861
|
-
| --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------- |
|
|
862
|
-
| `fill` | Controla como os ficheiros de saída do preenchimento automático (tradução por IA) são gerados. | `boolean` | <br/> `FilePathPattern` | <br/> `Partial<Record<Locale, boolean | FilePathPattern>>` | `true`
|
|
863
|
-
| `description` | Ajuda o editor e o CMS a compreender o propósito do dicionário. Também usado como contexto para a geração de traduções assistida por IA. | `string` | `undefined`
|
|
864
|
-
| `locale` | Transforma o dicionário num formato por idioma. Cada campo declarado torna-se um nó de tradução. Se ausente, o dicionário é tratado como multi-idioma. | `LocalesValues` | `undefined`
|
|
865
|
-
| `contentAutoTransformation` | Transforma automaticamente as strings de conteúdo em nós tipados (markdown, HTML ou inserção). | `boolean` | <br/> `{ markdown?: boolean; html?: boolean; insertion?: boolean }` | `false`
|
|
866
|
-
| `location` | Indica onde os ficheiros do dicionário estão armazenados e como são sincronizados com o CMS. | `'local'` | <br/> `'remote'` | <br/> `'hybrid'` | <br/> `'plugin'` | <br/> `string` | `'local'`
|
|
867
|
-
| `importMode` | Controla como os dicionários são importados. | `'static'` | <br/> `'dynamic'` | <br/> `'fetch'` | `'static'`
|
|
868
|
-
| `
|
|
869
|
-
| `
|
|
870
|
-
| `
|
|
871
|
-
| `
|
|
872
|
-
| `
|
|
873
|
-
| `
|
|
892
|
+
| Campo | Descrição | Tipo | Padrão | Exemplo | Nota |
|
|
893
|
+
| --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------- | ------------ | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
894
|
+
| `fill` | Controla como os ficheiros de saída do preenchimento automático (tradução por IA) são gerados. | `boolean` | <br/> `FilePathPattern` | <br/> `Partial<Record<Locale, boolean | FilePathPattern>>` | `true` | `{ en: '/locales/en/{{key}}.json', fr: ({ key }) => '/locales/fr/${key}.json', es: false }` | • `true`: caminho padrão (mesmo ficheiro que a origem).<br/>• `false`: desativar.<br/>• Padrão string/função gera ficheiros por idioma.<br/>• Objeto por idioma: cada idioma corresponde ao seu próprio padrão; `false` ignora esse idioma.<br/>• Incluir `{{locale}}` ativa a geração por idioma.<br/>• `fill` ao nível do dicionário tem sempre precedência sobre esta definição global. |
|
|
895
|
+
| `description` | Ajuda o editor e o CMS a compreender o propósito do dicionário. Também usado como contexto para a geração de traduções assistida por IA. | `string` | `undefined` | `'Secção do perfil do utilizador'` | |
|
|
896
|
+
| `locale` | Transforma o dicionário num formato por idioma. Cada campo declarado torna-se um nó de tradução. Se ausente, o dicionário é tratado como multi-idioma. | `LocalesValues` | `undefined` | `'en'` | Use isto quando o dicionário for específico de um único idioma em vez de conter traduções para vários. |
|
|
897
|
+
| `contentAutoTransformation` | Transforma automaticamente as strings de conteúdo em nós tipados (markdown, HTML ou inserção). | `boolean` | <br/> `{ markdown?: boolean; html?: boolean; insertion?: boolean }` | `false` | `true` | • Markdown : `### Title` → `md('### Title')`.<br/>• HTML : `<div>Title</div>` → `html('<div>Title</div>')`.<br/>• Inserção : `Olá {{name}}` → `insert('Olá {{name}}')`. |
|
|
898
|
+
| `location` | Indica onde os ficheiros do dicionário estão armazenados e como são sincronizados com o CMS. | `'local'` | <br/> `'remote'` | <br/> `'hybrid'` | <br/> `'plugin'` | <br/> `string` | `'local'` | `'hybrid'` | • `'local'`: gerido apenas localmente.<br/>• `'remote'`: gerido apenas remotamente (CMS).<br/>• `'hybrid'`: gerido local e remotamente.<br/>• `'plugin'` ou string personalizada: gerido por um plugin ou fonte personalizada. |
|
|
899
|
+
| `importMode` | Controla como os dicionários são importados. | `'static'` | <br/> `'dynamic'` | <br/> `'fetch'` | `'static'` | `'dynamic'` | • `'static'`: importado estaticamente.<br/>• `'dynamic'`: importado dinamicamente usando Suspense.<br/>• `'fetch'`: recuperado via Live Sync API; fallback para `'dynamic'` se falhar.<br/>• Requer plugins `@intlayer/babel` e `@intlayer/swc`.<br/>• Chaves devem ser declaradas estaticamente.<br/>• Ignorado se `optimize` estiver desativado.<br/>• Não afeta `getIntlayer`, `getDictionary`, etc. |
|
|
900
|
+
| `format` | O formato de mensagem padrão para todos os dicionários no projeto. | `'intlayer'` | <br/> `'icu'` | <br/> `'i18next'` | <br/> `'vue-i18n'` | <br/> `'po'` | `'intlayer'` | `'icu'` | • `'intlayer'`: Formato nativo intlayer.<br/>• `'icu'`: Formato de mensagem ICU.<br/>• `'i18next'`: Formato i18next.<br/>• `'vue-i18n'`: Formato Vue I18n.<br/>• `'po'`: Formato GNU Gettext PO. |
|
|
901
|
+
| `priority` | Prioridade do dicionário. Valores mais altos vencem valores mais baixos na resolução de conflitos entre dicionários. | `number` | `undefined` | `1` | |
|
|
902
|
+
| `live` | Depreciado - use `importMode: 'fetch'` em vez disso. Indicava se o conteúdo do dicionário devia ser recuperado dinamicamente via API Live Sync. | `boolean` | `undefined` | | Renomeado para `importMode: 'fetch'` na v8.0.0. |
|
|
903
|
+
| `schema` | Gerado automaticamente pelo Intlayer para validação de esquema JSON. | `'https://intlayer.org/schema.json'` | auto-gerado | | Não editar manualmente. |
|
|
904
|
+
| `title` | Ajuda a identificar o dicionário no editor e CMS. | `string` | `undefined` | `'Perfil do Utilizador'` | |
|
|
905
|
+
| `tags` | Categoriza dicionários e fornece contexto ou instruções para o editor e IA. | `string[]` | `undefined` | `['utilizador', 'perfil']` | |
|
|
906
|
+
| `version` | Versão do dicionário remoto; ajuda a rastrear a versão atualmente em uso. | `string` | `undefined` | `'1.0.0'` | • Gestível no CMS.<br/>• Não editar localmente. |
|
|
874
907
|
|
|
875
908
|
**Exemplo de `fill`**:
|
|
876
909
|
|