@intlayer/docs 5.5.11 → 5.5.12
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/blog/ar/intlayer_with_next-intl.md +0 -1
- package/blog/ar/list_i18n_technologies/CMS/wordpress.md +1 -1
- package/blog/ar/list_i18n_technologies/frameworks/angular.md +1 -1
- package/blog/ar/list_i18n_technologies/frameworks/flutter.md +1 -1
- package/blog/ar/list_i18n_technologies/frameworks/react-native.md +1 -1
- package/blog/ar/list_i18n_technologies/frameworks/react.md +1 -1
- package/blog/ar/list_i18n_technologies/frameworks/svelte.md +1 -1
- package/blog/ar/list_i18n_technologies/frameworks/vue.md +1 -1
- package/blog/ar/what_is_internationalization.md +2 -2
- package/blog/de/intlayer_with_next-intl.md +0 -1
- package/blog/de/list_i18n_technologies/CMS/wordpress.md +1 -1
- package/blog/de/list_i18n_technologies/frameworks/angular.md +1 -1
- package/blog/de/list_i18n_technologies/frameworks/flutter.md +1 -1
- package/blog/de/list_i18n_technologies/frameworks/react-native.md +1 -1
- package/blog/de/list_i18n_technologies/frameworks/react.md +1 -1
- package/blog/de/list_i18n_technologies/frameworks/svelte.md +1 -1
- package/blog/de/list_i18n_technologies/frameworks/vue.md +1 -1
- package/blog/de/what_is_internationalization.md +2 -2
- package/blog/en/intlayer_with_next-intl.md +0 -1
- package/blog/en/list_i18n_technologies/CMS/wordpress.md +1 -1
- package/blog/en/list_i18n_technologies/frameworks/angular.md +1 -1
- package/blog/en/list_i18n_technologies/frameworks/flutter.md +1 -1
- package/blog/en/list_i18n_technologies/frameworks/react-native.md +1 -1
- package/blog/en/list_i18n_technologies/frameworks/react.md +1 -1
- package/blog/en/list_i18n_technologies/frameworks/svelte.md +1 -1
- package/blog/en/list_i18n_technologies/frameworks/vue.md +1 -1
- package/blog/en/what_is_internationalization.md +2 -2
- package/blog/en-GB/intlayer_with_next-intl.md +0 -1
- package/blog/en-GB/list_i18n_technologies/CMS/wordpress.md +1 -1
- package/blog/en-GB/list_i18n_technologies/frameworks/angular.md +1 -1
- package/blog/en-GB/list_i18n_technologies/frameworks/flutter.md +1 -1
- package/blog/en-GB/list_i18n_technologies/frameworks/react-native.md +1 -1
- package/blog/en-GB/list_i18n_technologies/frameworks/svelte.md +1 -1
- package/blog/en-GB/list_i18n_technologies/frameworks/vue.md +1 -1
- package/blog/en-GB/what_is_internationalization.md +2 -2
- package/blog/es/intlayer_with_next-intl.md +0 -1
- package/blog/es/list_i18n_technologies/CMS/wordpress.md +1 -1
- package/blog/es/list_i18n_technologies/frameworks/angular.md +1 -1
- package/blog/es/list_i18n_technologies/frameworks/flutter.md +1 -1
- package/blog/es/list_i18n_technologies/frameworks/react-native.md +1 -1
- package/blog/es/list_i18n_technologies/frameworks/react.md +1 -1
- package/blog/es/list_i18n_technologies/frameworks/svelte.md +1 -1
- package/blog/es/list_i18n_technologies/frameworks/vue.md +1 -1
- package/blog/es/what_is_internationalization.md +2 -2
- package/blog/fr/intlayer_with_next-intl.md +0 -1
- package/blog/fr/list_i18n_technologies/CMS/wordpress.md +1 -1
- package/blog/fr/list_i18n_technologies/frameworks/angular.md +1 -1
- package/blog/fr/list_i18n_technologies/frameworks/flutter.md +1 -1
- package/blog/fr/list_i18n_technologies/frameworks/react-native.md +1 -1
- package/blog/fr/list_i18n_technologies/frameworks/react.md +1 -1
- package/blog/fr/list_i18n_technologies/frameworks/svelte.md +1 -1
- package/blog/fr/list_i18n_technologies/frameworks/vue.md +1 -1
- package/blog/fr/what_is_internationalization.md +2 -2
- package/blog/hi/list_i18n_technologies/CMS/wordpress.md +1 -1
- package/blog/hi/list_i18n_technologies/frameworks/angular.md +1 -1
- package/blog/hi/list_i18n_technologies/frameworks/flutter.md +1 -1
- package/blog/hi/list_i18n_technologies/frameworks/react-native.md +1 -1
- package/blog/hi/list_i18n_technologies/frameworks/react.md +1 -1
- package/blog/hi/list_i18n_technologies/frameworks/svelte.md +1 -1
- package/blog/hi/list_i18n_technologies/frameworks/vue.md +1 -1
- package/blog/hi/what_is_internationalization.md +2 -2
- package/blog/it/intlayer_with_next-intl.md +0 -1
- package/blog/it/list_i18n_technologies/CMS/wordpress.md +1 -1
- package/blog/it/list_i18n_technologies/frameworks/angular.md +1 -1
- package/blog/it/list_i18n_technologies/frameworks/react-native.md +1 -1
- package/blog/it/list_i18n_technologies/frameworks/react.md +1 -1
- package/blog/it/list_i18n_technologies/frameworks/svelte.md +1 -1
- package/blog/it/list_i18n_technologies/frameworks/vue.md +1 -1
- package/blog/it/what_is_internationalization.md +2 -2
- package/blog/ja/intlayer_with_next-intl.md +0 -1
- package/blog/ja/list_i18n_technologies/CMS/wordpress.md +1 -1
- package/blog/ja/list_i18n_technologies/frameworks/angular.md +1 -1
- package/blog/ja/list_i18n_technologies/frameworks/flutter.md +1 -1
- package/blog/ja/list_i18n_technologies/frameworks/react-native.md +1 -1
- package/blog/ja/list_i18n_technologies/frameworks/react.md +1 -1
- package/blog/ja/list_i18n_technologies/frameworks/svelte.md +1 -1
- package/blog/ja/list_i18n_technologies/frameworks/vue.md +1 -1
- package/blog/ja/what_is_internationalization.md +2 -2
- package/blog/ko/intlayer_with_next-intl.md +0 -1
- package/blog/ko/list_i18n_technologies/CMS/wordpress.md +1 -1
- package/blog/ko/list_i18n_technologies/frameworks/angular.md +1 -1
- package/blog/ko/list_i18n_technologies/frameworks/react-native.md +1 -1
- package/blog/ko/list_i18n_technologies/frameworks/react.md +1 -1
- package/blog/ko/list_i18n_technologies/frameworks/vue.md +1 -1
- package/blog/pt/intlayer_with_next-intl.md +0 -1
- package/blog/pt/list_i18n_technologies/CMS/wordpress.md +1 -1
- package/blog/pt/list_i18n_technologies/frameworks/angular.md +1 -1
- package/blog/pt/list_i18n_technologies/frameworks/flutter.md +1 -1
- package/blog/pt/list_i18n_technologies/frameworks/react-native.md +1 -1
- package/blog/pt/list_i18n_technologies/frameworks/react.md +1 -1
- package/blog/pt/list_i18n_technologies/frameworks/svelte.md +1 -1
- package/blog/pt/list_i18n_technologies/frameworks/vue.md +1 -1
- package/blog/pt/what_is_internationalization.md +2 -2
- package/blog/ru/intlayer_with_next-intl.md +0 -1
- package/blog/ru/list_i18n_technologies/CMS/wordpress.md +1 -1
- package/blog/ru/list_i18n_technologies/frameworks/angular.md +1 -1
- package/blog/ru/list_i18n_technologies/frameworks/flutter.md +1 -1
- package/blog/ru/list_i18n_technologies/frameworks/react-native.md +1 -1
- package/blog/ru/list_i18n_technologies/frameworks/react.md +1 -1
- package/blog/ru/list_i18n_technologies/frameworks/svelte.md +1 -1
- package/blog/ru/list_i18n_technologies/frameworks/vue.md +1 -1
- package/blog/ru/what_is_internationalization.md +2 -2
- package/blog/zh/intlayer_with_next-intl.md +0 -1
- package/blog/zh/list_i18n_technologies/CMS/wordpress.md +1 -1
- package/blog/zh/list_i18n_technologies/frameworks/angular.md +1 -1
- package/blog/zh/list_i18n_technologies/frameworks/flutter.md +1 -1
- package/blog/zh/list_i18n_technologies/frameworks/react-native.md +1 -1
- package/blog/zh/list_i18n_technologies/frameworks/react.md +1 -1
- package/blog/zh/list_i18n_technologies/frameworks/svelte.md +1 -1
- package/blog/zh/list_i18n_technologies/frameworks/vue.md +1 -1
- package/blog/zh/what_is_internationalization.md +2 -2
- package/dist/cjs/blog.cjs +2 -2
- package/dist/cjs/blog.cjs.map +1 -1
- package/dist/cjs/common.cjs +17 -6
- package/dist/cjs/common.cjs.map +1 -1
- package/dist/cjs/doc.cjs +2 -2
- package/dist/cjs/doc.cjs.map +1 -1
- package/dist/cjs/frequentQuestions.cjs +2 -2
- package/dist/cjs/frequentQuestions.cjs.map +1 -1
- package/dist/cjs/generated/blog.entry.cjs +1152 -252
- package/dist/cjs/generated/blog.entry.cjs.map +1 -1
- package/dist/cjs/generated/docs.entry.cjs +3778 -1124
- package/dist/cjs/generated/docs.entry.cjs.map +1 -1
- package/dist/cjs/generated/frequentQuestions.entry.cjs +794 -161
- package/dist/cjs/generated/frequentQuestions.entry.cjs.map +1 -1
- package/dist/cjs/generated/legal.entry.cjs +32 -31
- package/dist/cjs/generated/legal.entry.cjs.map +1 -1
- package/dist/cjs/legal.cjs +2 -2
- package/dist/cjs/legal.cjs.map +1 -1
- package/dist/esm/blog.mjs +2 -2
- package/dist/esm/blog.mjs.map +1 -1
- package/dist/esm/common.mjs +17 -6
- package/dist/esm/common.mjs.map +1 -1
- package/dist/esm/doc.mjs +2 -2
- package/dist/esm/doc.mjs.map +1 -1
- package/dist/esm/frequentQuestions.mjs +2 -2
- package/dist/esm/frequentQuestions.mjs.map +1 -1
- package/dist/esm/generated/blog.entry.mjs +1151 -252
- package/dist/esm/generated/blog.entry.mjs.map +1 -1
- package/dist/esm/generated/docs.entry.mjs +3777 -1124
- package/dist/esm/generated/docs.entry.mjs.map +1 -1
- package/dist/esm/generated/frequentQuestions.entry.mjs +793 -161
- package/dist/esm/generated/frequentQuestions.entry.mjs.map +1 -1
- package/dist/esm/generated/legal.entry.mjs +31 -31
- package/dist/esm/generated/legal.entry.mjs.map +1 -1
- package/dist/esm/legal.mjs +2 -2
- package/dist/esm/legal.mjs.map +1 -1
- package/dist/types/blog.d.ts +2 -2
- package/dist/types/blog.d.ts.map +1 -1
- package/dist/types/common.d.ts +3 -2
- package/dist/types/common.d.ts.map +1 -1
- package/dist/types/doc.d.ts +2 -2
- package/dist/types/doc.d.ts.map +1 -1
- package/dist/types/frequentQuestions.d.ts +2 -2
- package/dist/types/frequentQuestions.d.ts.map +1 -1
- package/dist/types/generated/blog.entry.d.ts.map +1 -1
- package/dist/types/generated/docs.entry.d.ts.map +1 -1
- package/dist/types/generated/frequentQuestions.entry.d.ts +1 -0
- package/dist/types/generated/frequentQuestions.entry.d.ts.map +1 -1
- package/dist/types/generated/legal.entry.d.ts.map +1 -1
- package/dist/types/legal.d.ts +2 -2
- package/dist/types/legal.d.ts.map +1 -1
- package/docs/ar/intlayer_with_vite+react.md +100 -108
- package/docs/de/intlayer_with_vite+react.md +121 -142
- package/docs/en/CI_CD.md +3 -1
- package/docs/en/autoFill.md +3 -1
- package/docs/en/configuration.md +4 -1
- package/docs/en/dictionary/condition.md +3 -1
- package/docs/en/dictionary/content_extention_customization.md +3 -1
- package/docs/en/dictionary/enumeration.md +3 -1
- package/docs/en/dictionary/file.md +3 -1
- package/docs/en/dictionary/function_fetching.md +3 -1
- package/docs/en/dictionary/get_started.md +3 -1
- package/docs/en/dictionary/insertion.md +3 -1
- package/docs/en/dictionary/markdown.md +3 -1
- package/docs/en/dictionary/nesting.md +3 -1
- package/docs/en/dictionary/translation.md +3 -1
- package/docs/en/how_works_intlayer.md +3 -1
- package/docs/en/index.md +3 -1
- package/docs/en/interest_of_intlayer.md +3 -1
- package/docs/en/intlayer_CMS.md +3 -1
- package/docs/en/intlayer_cli.md +3 -1
- package/docs/en/intlayer_visual_editor.md +3 -1
- package/docs/en/intlayer_with_angular.md +3 -1
- package/docs/en/intlayer_with_create_react_app.md +3 -1
- package/docs/en/intlayer_with_express.md +3 -1
- package/docs/en/intlayer_with_lynx+react.md +3 -1
- package/docs/en/intlayer_with_nextjs_14.md +6 -1
- package/docs/en/intlayer_with_nextjs_15.md +5 -1
- package/docs/en/intlayer_with_nextjs_page_router.md +5 -1
- package/docs/en/intlayer_with_nuxt.md +3 -1
- package/docs/en/intlayer_with_react_native+expo.md +3 -1
- package/docs/en/intlayer_with_vite+preact.md +3 -1
- package/docs/en/intlayer_with_vite+react.md +9 -7
- package/docs/en/intlayer_with_vite+solid.md +3 -1
- package/docs/en/intlayer_with_vite+svelte.md +3 -1
- package/docs/en/intlayer_with_vite+vue.md +3 -1
- package/docs/en/introduction.md +3 -1
- package/docs/en/mcp_server.md +42 -1
- package/docs/en/packages/@intlayer/api/index.md +3 -1
- package/docs/en/packages/@intlayer/chokidar/index.md +3 -1
- package/docs/en/packages/@intlayer/cli/index.md +3 -1
- package/docs/en/packages/@intlayer/config/index.md +3 -1
- package/docs/en/packages/@intlayer/core/index.md +3 -1
- package/docs/en/packages/@intlayer/design-system/index.md +3 -1
- package/docs/en/packages/@intlayer/dictionary-entry/index.md +3 -1
- package/docs/en/packages/@intlayer/editor/index.md +3 -1
- package/docs/en/packages/@intlayer/editor-react/index.md +3 -1
- package/docs/en/packages/@intlayer/webpack/index.md +3 -1
- package/docs/en/packages/angular-intlayer/index.md +3 -1
- package/docs/en/packages/express-intlayer/index.md +3 -1
- package/docs/en/packages/express-intlayer/t.md +3 -1
- package/docs/en/packages/intlayer/getConfiguration.md +3 -1
- package/docs/en/packages/intlayer/getEnumeration.md +3 -1
- package/docs/en/packages/intlayer/getHTMLTextDir.md +3 -1
- package/docs/en/packages/intlayer/getLocaleLang.md +3 -1
- package/docs/en/packages/intlayer/getLocaleName.md +3 -1
- package/docs/en/packages/intlayer/getLocalizedUrl.md +3 -1
- package/docs/en/packages/intlayer/getMultilingualUrls.md +3 -1
- package/docs/en/packages/intlayer/getPathWithoutLocale.md +3 -1
- package/docs/en/packages/intlayer/getTranslation.md +3 -1
- package/docs/en/packages/intlayer/getTranslationContent.md +3 -1
- package/docs/en/packages/intlayer/index.md +3 -1
- package/docs/en/packages/intlayer-cli/index.md +3 -1
- package/docs/en/packages/intlayer-editor/index.md +3 -1
- package/docs/en/packages/lynx-intlayer/index.md +3 -1
- package/docs/en/packages/next-intlayer/index.md +3 -1
- package/docs/en/packages/next-intlayer/t.md +3 -1
- package/docs/en/packages/next-intlayer/useDictionary.md +3 -1
- package/docs/en/packages/next-intlayer/useIntlayer.md +3 -1
- package/docs/en/packages/next-intlayer/useIntlayerAsync.md +3 -1
- package/docs/en/packages/next-intlayer/useLocale.md +3 -1
- package/docs/en/packages/nuxt-intlayer/index.md +3 -1
- package/docs/en/packages/preact-intlayer/index.md +3 -1
- package/docs/en/packages/react-intlayer/index.md +3 -1
- package/docs/en/packages/react-intlayer/t.md +3 -1
- package/docs/en/packages/react-intlayer/useDictionary.md +3 -1
- package/docs/en/packages/react-intlayer/useIntlayer.md +3 -1
- package/docs/en/packages/react-intlayer/useIntlayerAsync.md +3 -1
- package/docs/en/packages/react-intlayer/useLocale.md +3 -1
- package/docs/en/packages/react-native-intlayer/index.md +3 -1
- package/docs/en/packages/react-scripts-intlayer/index.md +3 -1
- package/docs/en/packages/solid-intlayer/index.md +3 -1
- package/docs/en/packages/svelte-intlayer/index.md +3 -1
- package/docs/en/packages/vite-intlayer/index.md +3 -1
- package/docs/en/packages/vue-intlayer/index.md +3 -1
- package/docs/en/per_locale_file.md +3 -1
- package/docs/en/roadmap.md +5 -2
- package/docs/en/vs_code_extension.md +3 -1
- package/docs/en-GB/intlayer_with_vite+react.md +64 -83
- package/docs/es/intlayer_with_vite+react.md +91 -94
- package/docs/fr/intlayer_with_vite+react.md +73 -65
- package/docs/hi/intlayer_with_vite+react.md +107 -107
- package/docs/it/intlayer_with_vite+react.md +156 -112
- package/docs/ja/intlayer_with_vite+react.md +153 -218
- package/docs/ko/intlayer_with_vite+react.md +116 -148
- package/docs/ko/packages/intlayer/getLocalizedUrl.md +1 -23
- package/docs/pt/intlayer_with_vite+react.md +110 -132
- package/docs/ru/intlayer_with_vite+react.md +98 -83
- package/docs/zh/intlayer_with_vite+react.md +147 -184
- package/docs/zh/packages/intlayer/getLocalizedUrl.md +1 -23
- package/frequent_questions/ar/build_error_CI_CD.md +75 -0
- package/frequent_questions/de/build_error_CI_CD.md +75 -0
- package/frequent_questions/en/build_error_CI_CD.md +75 -0
- package/frequent_questions/en-GB/build_error_CI_CD.md +75 -0
- package/frequent_questions/es/build_error_CI_CD.md +75 -0
- package/frequent_questions/fr/build_error_CI_CD.md +75 -0
- package/frequent_questions/hi/build_error_CI_CD.md +75 -0
- package/frequent_questions/it/build_error_CI_CD.md +75 -0
- package/frequent_questions/ja/build_error_CI_CD.md +75 -0
- package/frequent_questions/ja/intlayer_command_undefined.md +3 -3
- package/frequent_questions/ko/build_error_CI_CD.md +75 -0
- package/frequent_questions/ko/intlayer_command_undefined.md +3 -3
- package/frequent_questions/pt/build_error_CI_CD.md +75 -0
- package/frequent_questions/ru/build_error_CI_CD.md +75 -0
- package/frequent_questions/zh/build_error_CI_CD.md +75 -0
- package/frequent_questions/zh/intlayer_command_undefined.md +3 -3
- package/legal/ar/privacy_notice.md +83 -0
- package/legal/ar/terms_of_service.md +55 -0
- package/legal/de/privacy_notice.md +83 -0
- package/legal/de/terms_of_service.md +55 -0
- package/legal/en/privacy_notice.md +83 -0
- package/legal/en/terms_of_service.md +55 -0
- package/legal/en-GB/privacy_notice.md +83 -0
- package/legal/en-GB/terms_of_service.md +55 -0
- package/legal/es/privacy_notice.md +83 -0
- package/legal/es/terms_of_service.md +55 -0
- package/legal/fr/privacy_notice.md +83 -0
- package/legal/fr/terms_of_service.md +55 -0
- package/legal/hi/privacy_notice.md +83 -0
- package/legal/hi/terms_of_service.md +55 -0
- package/legal/it/privacy_notice.md +83 -0
- package/legal/it/terms_of_service.md +55 -0
- package/legal/ja/privacy_notice.md +83 -0
- package/legal/ja/terms_of_service.md +55 -0
- package/legal/ko/privacy_notice.md +83 -0
- package/legal/ko/terms_of_service.md +55 -0
- package/legal/pt/privacy_notice.md +83 -0
- package/legal/pt/terms_of_service.md +55 -0
- package/legal/ru/privacy_notice.md +83 -0
- package/legal/ru/terms_of_service.md +55 -0
- package/legal/zh/privacy_notice.md +83 -0
- package/legal/zh/terms_of_service.md +55 -0
- package/package.json +7 -6
- package/src/blog.ts +6 -4
- package/src/common.ts +23 -7
- package/src/doc.ts +6 -4
- package/src/frequentQuestions.ts +6 -4
- package/src/generated/blog.entry.ts +1177 -280
- package/src/generated/docs.entry.ts +3868 -1217
- package/src/generated/frequentQuestions.entry.ts +808 -178
- package/src/generated/legal.entry.ts +34 -36
- package/src/legal.ts +6 -4
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2025-04-18
|
|
3
|
+
updatedAt: 2025-06-29
|
|
4
|
+
title: Termos de Serviço do Intlayer
|
|
5
|
+
description: Descubra como o Intlayer lida com as informações coletadas através do nosso site e CMS. Siga a documentação para entender os diferentes formatos e casos de uso.
|
|
6
|
+
keywords:
|
|
7
|
+
- Internacionalização
|
|
8
|
+
- Documentação
|
|
9
|
+
- Intlayer
|
|
10
|
+
- Termos de Serviço
|
|
11
|
+
- Serviço
|
|
12
|
+
- Uso
|
|
13
|
+
- Licença
|
|
14
|
+
- Responsabilidade
|
|
15
|
+
- Privacidade
|
|
16
|
+
- Contribuições
|
|
17
|
+
- Atribuição
|
|
18
|
+
- Modificação dos Termos
|
|
19
|
+
slugs:
|
|
20
|
+
- terms-of-service
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
# Termos de Uso do Intlayer
|
|
24
|
+
|
|
25
|
+
## 1. Aceitação dos Termos
|
|
26
|
+
|
|
27
|
+
Ao usar o Intlayer, você concorda em estar vinculado a estes termos de uso. Se você não aceitar estes termos, por favor, não utilize a ferramenta.
|
|
28
|
+
|
|
29
|
+
## 2. Licença
|
|
30
|
+
|
|
31
|
+
O Intlayer é distribuído sob a **licença Apache 2.0**, que permite o uso, modificação e distribuição do código tanto para projetos de código aberto quanto comerciais. Os usuários têm permissão para modificar o código-fonte e enviar contribuições via pull requests de acordo com as diretrizes estabelecidas em nosso [guia de contribuição](https://github.com/aymericzip/intlayer/blob/main/CONTRIBUTING.md). O roubo de código para uso comercial é estritamente proibido.
|
|
32
|
+
|
|
33
|
+
## 3. Uso Comercial
|
|
34
|
+
|
|
35
|
+
Você tem permissão para usar o Intlayer em projetos comerciais. No entanto, reutilizar o código para criar ferramentas concorrentes diretas baseadas no Intlayer sem uma transformação significativa ou uma adição substancial de valor é proibido.
|
|
36
|
+
|
|
37
|
+
## 4. Responsabilidade
|
|
38
|
+
|
|
39
|
+
Os mantenedores do Intlayer se esforçam para corrigir bugs e problemas de segurança assim que são descobertos. No entanto, eles isentam-se de qualquer responsabilidade por danos resultantes desses problemas nas infraestruturas dos usuários. Incentivamos os usuários a reportar problemas através do nosso [sistema de acompanhamento de issues](https://github.com/aymericzip/intlayer/issues).
|
|
40
|
+
|
|
41
|
+
## 5. Privacidade
|
|
42
|
+
|
|
43
|
+
O Intlayer não coleta nem armazena quaisquer dados pessoais dos usuários.
|
|
44
|
+
|
|
45
|
+
## 6. Contribuições
|
|
46
|
+
|
|
47
|
+
Os usuários são incentivados a contribuir para o Intlayer seguindo as diretrizes fornecidas em nosso guia de contribuição. Qualquer código submetido deve aderir aos padrões de qualidade estabelecidos e será revisado pelos mantenedores antes da integração.
|
|
48
|
+
|
|
49
|
+
## 7. Atribuição
|
|
50
|
+
|
|
51
|
+
Qualquer ferramenta desenvolvida para estender ou utilizar o código do Intlayer deve creditar claramente o Intlayer como base do código. Essa atribuição deve ser visível no código-fonte, bem como em qualquer documentação para usuários ou promocional.
|
|
52
|
+
|
|
53
|
+
## 8. Modificação dos Termos
|
|
54
|
+
|
|
55
|
+
Estes termos de uso podem ser modificados a qualquer momento. Os usuários serão informados sobre quaisquer mudanças significativas nos termos de uso e devem aceitar as alterações para continuar utilizando o Intlayer.
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2025-04-18
|
|
3
|
+
updatedAt: 2025-06-29
|
|
4
|
+
title: Уведомление о конфиденциальности Intlayer
|
|
5
|
+
description: Узнайте, как Intlayer обрабатывает информацию, собранную через наш веб-сайт и CMS. Следуйте документации, чтобы понять различные форматы и варианты использования.
|
|
6
|
+
keywords:
|
|
7
|
+
- Интернационализация
|
|
8
|
+
- Документация
|
|
9
|
+
- Intlayer
|
|
10
|
+
- Конфиденциальность
|
|
11
|
+
- Уведомление
|
|
12
|
+
- Файлы cookie
|
|
13
|
+
- Отслеживание
|
|
14
|
+
- Аналитика
|
|
15
|
+
- Google Analytics
|
|
16
|
+
- Meta (Facebook) Pixel
|
|
17
|
+
- Аутентификация
|
|
18
|
+
- Данные пользователя
|
|
19
|
+
slugs:
|
|
20
|
+
- privacy-notice
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
# Уведомление о конфиденциальности Intlayer
|
|
24
|
+
|
|
25
|
+
## Введение
|
|
26
|
+
|
|
27
|
+
В Intlayer мы серьезно относимся к конфиденциальности. В этом уведомлении объясняется, как мы обрабатываем информацию, собранную через наш веб-сайт и CMS.
|
|
28
|
+
|
|
29
|
+
## Контакт
|
|
30
|
+
|
|
31
|
+
Если у вас есть вопросы или опасения по поводу конфиденциальности, пожалуйста, свяжитесь с нами по следующему адресу: [contact@intlayer.org](mailto:contact@intlayer.org).
|
|
32
|
+
|
|
33
|
+
## Использование файлов cookie и технологий отслеживания
|
|
34
|
+
|
|
35
|
+
Мы используем **Google Analytics** и **Meta (Facebook) Pixel** для анализа использования нашего веб-сайта и улучшения наших услуг. Эти инструменты генерируют статистику и другую информацию о сайте с помощью файлов cookie, хранящихся на устройствах пользователей.
|
|
36
|
+
|
|
37
|
+
Для получения дополнительной информации:
|
|
38
|
+
|
|
39
|
+
- [Политика конфиденциальности Google](https://policies.google.com/privacy)
|
|
40
|
+
- [Политика конфиденциальности Meta](https://www.facebook.com/privacy/policy)
|
|
41
|
+
|
|
42
|
+
## Аутентификация и данные пользователя
|
|
43
|
+
|
|
44
|
+
Доступ к CMS Intlayer требует аутентификации пользователя. Мы предлагаем аутентификацию по электронной почте и паролю, а также вход через сторонние сервисы **Google** и **GitHub**.
|
|
45
|
+
|
|
46
|
+
В процессе аутентификации мы собираем:
|
|
47
|
+
|
|
48
|
+
- Адрес электронной почты
|
|
49
|
+
- Отображаемое имя (или выбранное имя)
|
|
50
|
+
|
|
51
|
+
Пользователи также могут получить доступ к CMS через токены доступа, связанные с их аккаунтом. Эти токены привязаны к тем же данным аутентификации.
|
|
52
|
+
|
|
53
|
+
## Хранение данных и безопасность
|
|
54
|
+
|
|
55
|
+
Данные аутентификации пользователей хранятся в базе данных **MongoDB**, размещённой на **cloud.mongodb.com**:
|
|
56
|
+
|
|
57
|
+
- **Регион:** AWS / Орегон (us-west-2)
|
|
58
|
+
- **Тип:** Replica Set (3 узла)
|
|
59
|
+
- **Безопасность паролей:** Все пароли хранятся в виде хешей с использованием стандартных отраслевых методов.
|
|
60
|
+
|
|
61
|
+
Мы не храним никаких лишних персональных данных, кроме тех, которые необходимы для аутентификации и безопасного доступа к CMS.
|
|
62
|
+
|
|
63
|
+
## Передача данных третьим лицам
|
|
64
|
+
|
|
65
|
+
Мы **не** продаём и не передаём ваши персональные данные третьим лицам, за исключением случаев, когда это необходимо для аналитики (Google Analytics, Facebook Pixel) или в рамках процесса аутентификации (вход через Google или GitHub).
|
|
66
|
+
|
|
67
|
+
## Права пользователей
|
|
68
|
+
|
|
69
|
+
Как пользователь, вы имеете право:
|
|
70
|
+
|
|
71
|
+
- Получать доступ к персональным данным, которые мы храним о вас
|
|
72
|
+
- Запрашивать исправление или удаление ваших данных
|
|
73
|
+
- Отзывать доступ или удалять ваш аккаунт
|
|
74
|
+
|
|
75
|
+
По любым вопросам, связанным с вашими данными, обращайтесь к нам по адресу [contact@intlayer.org](mailto:contact@intlayer.org).
|
|
76
|
+
|
|
77
|
+
## Изменения в настоящем уведомлении
|
|
78
|
+
|
|
79
|
+
Мы можем время от времени обновлять это уведомление о конфиденциальности. Рекомендуется регулярно проверять эту страницу, чтобы быть в курсе любых изменений.
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
Сообщите, если вы хотите более формальный стиль, добавить упоминания о GDPR/CCPA или адаптировать текст для юридической страницы вашего сайта.
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2025-04-18
|
|
3
|
+
updatedAt: 2025-06-29
|
|
4
|
+
title: Условия использования Intlayer
|
|
5
|
+
description: Узнайте, как Intlayer обрабатывает информацию, собранную через наш веб-сайт и CMS. Следуйте документации, чтобы понять различные форматы и варианты использования.
|
|
6
|
+
keywords:
|
|
7
|
+
- Интернационализация
|
|
8
|
+
- Документация
|
|
9
|
+
- Intlayer
|
|
10
|
+
- Условия использования
|
|
11
|
+
- Сервис
|
|
12
|
+
- Использование
|
|
13
|
+
- Лицензия
|
|
14
|
+
- Ответственность
|
|
15
|
+
- Конфиденциальность
|
|
16
|
+
- Вклад
|
|
17
|
+
- Атрибуция
|
|
18
|
+
- Изменение условий
|
|
19
|
+
slugs:
|
|
20
|
+
- terms-of-service
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
# Условия использования Intlayer
|
|
24
|
+
|
|
25
|
+
## 1. Принятие условий
|
|
26
|
+
|
|
27
|
+
Используя Intlayer, вы соглашаетесь соблюдать эти условия использования. Если вы не принимаете эти условия, пожалуйста, не используйте этот инструмент.
|
|
28
|
+
|
|
29
|
+
## 2. Лицензия
|
|
30
|
+
|
|
31
|
+
Intlayer распространяется под **лицензией Apache 2.0**, которая разрешает использование, модификацию и распространение кода как для проектов с открытым исходным кодом, так и для коммерческих проектов. Пользователям разрешается изменять исходный код и отправлять вклад через pull-запросы в соответствии с руководством, изложенным в нашем [руководстве по внесению вклада](https://github.com/aymericzip/intlayer/blob/main/CONTRIBUTING.md). Кража кода для коммерческого использования строго запрещена.
|
|
32
|
+
|
|
33
|
+
## 3. Коммерческое использование
|
|
34
|
+
|
|
35
|
+
Вам разрешено использовать Intlayer для коммерческих проектов. Однако повторное использование кода для создания прямых конкурирующих инструментов на основе Intlayer без значительной трансформации или существенного добавления ценности запрещено.
|
|
36
|
+
|
|
37
|
+
## 4. Ответственность
|
|
38
|
+
|
|
39
|
+
Поддерживающие Intlayer стремятся исправлять ошибки и проблемы безопасности сразу после их обнаружения. Тем не менее, они не несут ответственности за ущерб, вызванный такими проблемами в инфраструктуре пользователей. Мы призываем пользователей сообщать о проблемах через нашу [систему отслеживания проблем](https://github.com/aymericzip/intlayer/issues).
|
|
40
|
+
|
|
41
|
+
## 5. Конфиденциальность
|
|
42
|
+
|
|
43
|
+
Intlayer не собирает и не хранит никаких персональных данных пользователей.
|
|
44
|
+
|
|
45
|
+
## 6. Вклад
|
|
46
|
+
|
|
47
|
+
Пользователям рекомендуется вносить вклад в развитие Intlayer, следуя рекомендациям, изложенным в нашем руководстве по внесению изменений. Любой предоставленный код должен соответствовать установленным стандартам качества и будет проверен поддерживающими перед интеграцией.
|
|
48
|
+
|
|
49
|
+
## 7. Атрибуция
|
|
50
|
+
|
|
51
|
+
Любой инструмент, разработанный для расширения или использования кода Intlayer, должен явно указывать Intlayer как основу кода. Эта атрибуция должна быть видна в исходном коде, а также в любой пользовательской или рекламной документации.
|
|
52
|
+
|
|
53
|
+
## 8. Изменение условий
|
|
54
|
+
|
|
55
|
+
Данные условия использования могут быть изменены в любое время. Пользователи будут информированы о любых существенных изменениях условий использования и должны принять эти изменения для продолжения использования Intlayer.
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2025-04-18
|
|
3
|
+
updatedAt: 2025-06-29
|
|
4
|
+
title: Intlayer 隐私声明
|
|
5
|
+
description: 了解 Intlayer 如何处理通过我们的网站和 CMS 收集的信息。请参阅文档以了解不同的格式和使用场景。
|
|
6
|
+
keywords:
|
|
7
|
+
- 国际化
|
|
8
|
+
- 文档
|
|
9
|
+
- Intlayer
|
|
10
|
+
- 隐私
|
|
11
|
+
- 声明
|
|
12
|
+
- Cookie
|
|
13
|
+
- 跟踪
|
|
14
|
+
- 分析
|
|
15
|
+
- Google Analytics
|
|
16
|
+
- Meta(Facebook)Pixel
|
|
17
|
+
- 认证
|
|
18
|
+
- 用户数据
|
|
19
|
+
slugs:
|
|
20
|
+
- privacy-notice
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
# Intlayer 隐私声明
|
|
24
|
+
|
|
25
|
+
## 介绍
|
|
26
|
+
|
|
27
|
+
在 Intlayer,我们非常重视隐私。本声明解释了我们如何处理通过我们的网站和 CMS 收集的信息。
|
|
28
|
+
|
|
29
|
+
## 联系方式
|
|
30
|
+
|
|
31
|
+
如果您对隐私有任何疑问或担忧,请通过以下地址联系我们:[contact@intlayer.org](mailto:contact@intlayer.org)。
|
|
32
|
+
|
|
33
|
+
## Cookie 和跟踪技术的使用
|
|
34
|
+
|
|
35
|
+
我们使用 **Google Analytics** 和 **Meta(Facebook)Pixel** 来分析我们网站的使用情况并改进我们的服务。这些工具通过存储在用户设备上的 Cookie 生成网站的统计数据和其他信息。
|
|
36
|
+
|
|
37
|
+
更多信息请参阅:
|
|
38
|
+
|
|
39
|
+
- [Google 隐私政策](https://policies.google.com/privacy)
|
|
40
|
+
- [Meta 隐私政策](https://www.facebook.com/privacy/policy)
|
|
41
|
+
|
|
42
|
+
## 认证和用户数据
|
|
43
|
+
|
|
44
|
+
访问 Intlayer CMS 需要用户认证。我们提供电子邮件/密码认证以及通过 **Google** 和 **GitHub** 的第三方登录。
|
|
45
|
+
|
|
46
|
+
在认证过程中,我们会收集:
|
|
47
|
+
|
|
48
|
+
- 电子邮件地址
|
|
49
|
+
- 显示名称(或选择的名称)
|
|
50
|
+
|
|
51
|
+
用户也可以通过与其账户关联的访问令牌访问 CMS。这些令牌与相同的认证数据相关联。
|
|
52
|
+
|
|
53
|
+
## 数据存储与安全
|
|
54
|
+
|
|
55
|
+
用户认证数据存储在托管于 **cloud.mongodb.com** 的 **MongoDB 数据库** 中:
|
|
56
|
+
|
|
57
|
+
- **区域:** AWS / 俄勒冈(us-west-2)
|
|
58
|
+
- **类型:** 副本集(3 个节点)
|
|
59
|
+
- **密码安全:** 所有密码均采用行业标准的哈希方法进行加密。
|
|
60
|
+
|
|
61
|
+
我们不会存储除认证和安全访问 CMS 所需之外的任何不必要的个人数据。
|
|
62
|
+
|
|
63
|
+
## 与第三方共享数据
|
|
64
|
+
|
|
65
|
+
我们**不会**出售或与第三方共享您的个人数据,除非是出于分析目的(如 Google Analytics、Facebook Pixel)或作为身份验证过程的一部分(如 Google 或 GitHub 登录)。
|
|
66
|
+
|
|
67
|
+
## 用户权利
|
|
68
|
+
|
|
69
|
+
作为用户,您有权:
|
|
70
|
+
|
|
71
|
+
- 访问我们持有的关于您的个人数据
|
|
72
|
+
- 请求更正或删除您的数据
|
|
73
|
+
- 撤销访问权限或删除您的账户
|
|
74
|
+
|
|
75
|
+
如有任何关于您数据的请求,请通过 [contact@intlayer.org](mailto:contact@intlayer.org) 与我们联系。
|
|
76
|
+
|
|
77
|
+
## 本通知的变更
|
|
78
|
+
|
|
79
|
+
我们可能会不时更新本隐私声明。建议用户定期查看此页面,以了解任何变更。
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
如果您希望使用更正式的语气,添加 GDPR/CCPA 相关内容,或将其调整为您网站上的法律页面,请告知我们。
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2025-04-18
|
|
3
|
+
updatedAt: 2025-06-29
|
|
4
|
+
title: Intlayer 服务条款
|
|
5
|
+
description: 了解 Intlayer 如何处理通过我们的网站和 CMS 收集的信息。请参阅文档以了解不同的格式和使用案例。
|
|
6
|
+
keywords:
|
|
7
|
+
- 国际化
|
|
8
|
+
- 文档
|
|
9
|
+
- Intlayer
|
|
10
|
+
- 服务条款
|
|
11
|
+
- 服务
|
|
12
|
+
- 使用
|
|
13
|
+
- 许可
|
|
14
|
+
- 责任
|
|
15
|
+
- 隐私
|
|
16
|
+
- 贡献
|
|
17
|
+
- 归属
|
|
18
|
+
- 条款修改
|
|
19
|
+
slugs:
|
|
20
|
+
- terms-of-service
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
# Intlayer 使用条款
|
|
24
|
+
|
|
25
|
+
## 1. 条款接受
|
|
26
|
+
|
|
27
|
+
通过使用 Intlayer,您同意受这些使用条款的约束。如果您不接受这些条款,请不要使用该工具。
|
|
28
|
+
|
|
29
|
+
## 2. 许可
|
|
30
|
+
|
|
31
|
+
Intlayer 采用 **Apache 2.0 许可证** 进行分发,该许可证允许在开源和商业项目中使用、修改和分发代码。用户被允许根据我们[贡献指南](https://github.com/aymericzip/intlayer/blob/main/CONTRIBUTING.md)中制定的规则修改源代码并通过拉取请求提交贡献。严禁为商业用途盗用代码。
|
|
32
|
+
|
|
33
|
+
## 3. 商业使用
|
|
34
|
+
|
|
35
|
+
您被允许将 Intlayer 用于商业项目。然而,禁止在未进行重大改造或实质性增值的情况下,直接复用代码以创建基于 Intlayer 的竞争工具。
|
|
36
|
+
|
|
37
|
+
## 4. 责任
|
|
38
|
+
|
|
39
|
+
Intlayer 的维护者致力于在发现漏洞和安全问题后尽快修复。但对于因这些问题对用户基础设施造成的任何损害,维护者不承担任何责任。我们鼓励用户通过我们的[问题跟踪系统](https://github.com/aymericzip/intlayer/issues)报告问题。
|
|
40
|
+
|
|
41
|
+
## 5. 隐私
|
|
42
|
+
|
|
43
|
+
Intlayer 不会收集或存储任何用户的个人数据。
|
|
44
|
+
|
|
45
|
+
## 6. 贡献
|
|
46
|
+
|
|
47
|
+
鼓励用户按照我们的贡献指南中的指引为 Intlayer 做出贡献。任何提交的代码必须符合既定的质量标准,并将在集成前由维护者进行审核。
|
|
48
|
+
|
|
49
|
+
## 7. 归属
|
|
50
|
+
|
|
51
|
+
任何为扩展或利用 Intlayer 代码而开发的工具,必须明确标注 Intlayer 作为代码的基础。此归属必须在源代码中以及任何用户或宣传文档中可见。
|
|
52
|
+
|
|
53
|
+
## 8. 条款修改
|
|
54
|
+
|
|
55
|
+
本使用条款可随时修改。用户将被告知使用条款的任何重大变更,并且必须接受这些变更才能继续使用 Intlayer。
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@intlayer/docs",
|
|
3
|
-
"version": "5.5.
|
|
3
|
+
"version": "5.5.12",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Intlayer documentation",
|
|
6
6
|
"keywords": [
|
|
@@ -45,7 +45,8 @@
|
|
|
45
45
|
"src",
|
|
46
46
|
"dist",
|
|
47
47
|
"frequent_questions",
|
|
48
|
-
"blog"
|
|
48
|
+
"blog",
|
|
49
|
+
"legal"
|
|
49
50
|
],
|
|
50
51
|
"dependencies": {
|
|
51
52
|
"@intlayer/config": "5.5.11",
|
|
@@ -65,14 +66,14 @@
|
|
|
65
66
|
"typescript": "^5.8.3",
|
|
66
67
|
"vitest": "^3.2.2",
|
|
67
68
|
"@intlayer/api": "5.5.11",
|
|
68
|
-
"@
|
|
69
|
+
"@intlayer/cli": "5.5.11",
|
|
69
70
|
"@utils/ts-config-types": "1.0.4",
|
|
70
71
|
"@utils/tsup-config": "1.0.4",
|
|
71
|
-
"@
|
|
72
|
+
"@utils/ts-config": "1.0.4"
|
|
72
73
|
},
|
|
73
74
|
"peerDependencies": {
|
|
74
|
-
"@intlayer/api": "5.5.11",
|
|
75
75
|
"@intlayer/cli": "5.5.11",
|
|
76
|
+
"@intlayer/api": "5.5.11",
|
|
76
77
|
"@intlayer/config": "5.5.11"
|
|
77
78
|
},
|
|
78
79
|
"engines": {
|
|
@@ -82,12 +83,12 @@
|
|
|
82
83
|
"url": "https://github.com/aymericzip/intlayer/issues"
|
|
83
84
|
},
|
|
84
85
|
"scripts": {
|
|
86
|
+
"prebuild": "tsx tools/generateEntry.ts",
|
|
85
87
|
"build": "pnpm build:package & pnpm build:types",
|
|
86
88
|
"build:package": "tsup",
|
|
87
89
|
"build:types": "tsc --project ./tsconfig.types.json && tsc-alias --project ./tsconfig.types.json",
|
|
88
90
|
"clean": "rimraf ./dist",
|
|
89
91
|
"dev": "concurrently --prefix none \"tsup --watch\" \"tsc --project ./tsconfig.types.json --watch\" \"tsc-alias --project ./tsconfig.types.json --watch\"",
|
|
90
|
-
"generateEntry": "tsx tools/generateEntry.ts",
|
|
91
92
|
"lint": "eslint . --cache",
|
|
92
93
|
"lint:fix": "eslint . --cache --fix",
|
|
93
94
|
"prettier": "prettier . --check",
|
package/src/blog.ts
CHANGED
|
@@ -39,11 +39,13 @@ export const getBlogMetadata = async <
|
|
|
39
39
|
|
|
40
40
|
export const getBlogMetadataBySlug = async <L extends LocalesValues>(
|
|
41
41
|
slugs: string | string[],
|
|
42
|
-
locale: L = defaultLocale as L
|
|
42
|
+
locale: L = defaultLocale as L,
|
|
43
|
+
strict = false
|
|
43
44
|
): Promise<FileMetadata[]> =>
|
|
44
|
-
await getFileMetadataBySlug(blogEntry, slugs, locale);
|
|
45
|
+
await getFileMetadataBySlug(blogEntry, slugs, locale, strict);
|
|
45
46
|
|
|
46
47
|
export const getBlogBySlug = async <L extends LocalesValues>(
|
|
47
48
|
slugs: string | string[],
|
|
48
|
-
locale: L = defaultLocale as L
|
|
49
|
-
|
|
49
|
+
locale: L = defaultLocale as L,
|
|
50
|
+
strict = false
|
|
51
|
+
): Promise<string[]> => await getFileBySlug(blogEntry, slugs, locale, strict);
|
package/src/common.ts
CHANGED
|
@@ -66,6 +66,7 @@ export type FileMetadata = {
|
|
|
66
66
|
keywords: string[];
|
|
67
67
|
updatedAt: string;
|
|
68
68
|
createdAt: string;
|
|
69
|
+
author?: string;
|
|
69
70
|
};
|
|
70
71
|
|
|
71
72
|
export const formatMetadata = (
|
|
@@ -76,10 +77,12 @@ export const formatMetadata = (
|
|
|
76
77
|
const metadata = getMarkdownMetadata(file);
|
|
77
78
|
const relativeUrl = join('/', ...(metadata.slugs ?? []));
|
|
78
79
|
|
|
80
|
+
const slicedDocKey = docKey.slice(1);
|
|
81
|
+
|
|
79
82
|
return {
|
|
80
83
|
...metadata,
|
|
81
84
|
docKey,
|
|
82
|
-
githubUrl:
|
|
85
|
+
githubUrl: `${GITHUB_URL_PREFIX}${slicedDocKey}`.replace(
|
|
83
86
|
'/en/',
|
|
84
87
|
`/${locale}/`
|
|
85
88
|
),
|
|
@@ -127,7 +130,8 @@ export const getFileMetadataBySlug = async <
|
|
|
127
130
|
>(
|
|
128
131
|
files: F,
|
|
129
132
|
slugs: string | string[],
|
|
130
|
-
locale: LocalesValues = defaultLocale as LocalesValues
|
|
133
|
+
locale: LocalesValues = defaultLocale as LocalesValues,
|
|
134
|
+
strict = false
|
|
131
135
|
) => {
|
|
132
136
|
const slugsArray = Array.isArray(slugs) ? slugs : [slugs];
|
|
133
137
|
const filesMetadata = await getFileMetadataRecord(
|
|
@@ -135,11 +139,17 @@ export const getFileMetadataBySlug = async <
|
|
|
135
139
|
defaultLocale as LocalesValues
|
|
136
140
|
);
|
|
137
141
|
|
|
138
|
-
|
|
142
|
+
let fileMetadataArray: FileMetadata[] = Object.values(filesMetadata).filter(
|
|
139
143
|
(fileMetadata) =>
|
|
140
144
|
slugsArray.every((slug) => fileMetadata.slugs?.includes(slug))
|
|
141
145
|
);
|
|
142
146
|
|
|
147
|
+
if (strict) {
|
|
148
|
+
fileMetadataArray = fileMetadataArray.filter(
|
|
149
|
+
(fileMetadata) => fileMetadata.slugs.length === slugsArray.length
|
|
150
|
+
);
|
|
151
|
+
}
|
|
152
|
+
|
|
143
153
|
if (locale !== defaultLocale) {
|
|
144
154
|
const localizedFileMetadata = await Promise.all(
|
|
145
155
|
fileMetadataArray.map(
|
|
@@ -159,7 +169,8 @@ export const getFileBySlug = async <
|
|
|
159
169
|
>(
|
|
160
170
|
files: F,
|
|
161
171
|
slugs: string | string[],
|
|
162
|
-
locale: LocalesValues = defaultLocale as LocalesValues
|
|
172
|
+
locale: LocalesValues = defaultLocale as LocalesValues,
|
|
173
|
+
strict = false
|
|
163
174
|
) => {
|
|
164
175
|
const slugsArray = Array.isArray(slugs) ? slugs : [slugs];
|
|
165
176
|
const filesMetadata = await getFileMetadataRecord(
|
|
@@ -167,11 +178,16 @@ export const getFileBySlug = async <
|
|
|
167
178
|
defaultLocale as LocalesValues
|
|
168
179
|
);
|
|
169
180
|
|
|
170
|
-
|
|
171
|
-
(
|
|
172
|
-
fileMetadata.slugs.every((slug) => slugsArray.includes(slug))
|
|
181
|
+
let fileMetadataArray = Object.values(filesMetadata).filter((fileMetadata) =>
|
|
182
|
+
slugsArray.every((slug) => fileMetadata.slugs?.includes(slug))
|
|
173
183
|
);
|
|
174
184
|
|
|
185
|
+
if (strict) {
|
|
186
|
+
fileMetadataArray = fileMetadataArray.filter(
|
|
187
|
+
(fileMetadata) => fileMetadata.slugs.length === slugsArray.length
|
|
188
|
+
);
|
|
189
|
+
}
|
|
190
|
+
|
|
175
191
|
const fileList = await Promise.all(
|
|
176
192
|
fileMetadataArray.map(async (fileMetadata) => {
|
|
177
193
|
const file = await getFile(files, fileMetadata.docKey, locale);
|
package/src/doc.ts
CHANGED
|
@@ -36,11 +36,13 @@ export const getDocMetadata = async <D extends DocKey, L extends LocalesValues>(
|
|
|
36
36
|
|
|
37
37
|
export const getDocMetadataBySlug = async <L extends LocalesValues>(
|
|
38
38
|
slugs: string | string[],
|
|
39
|
-
locale: L = defaultLocale as L
|
|
39
|
+
locale: L = defaultLocale as L,
|
|
40
|
+
strict = false
|
|
40
41
|
): Promise<FileMetadata[]> =>
|
|
41
|
-
await getFileMetadataBySlug(docsEntry, slugs, locale);
|
|
42
|
+
await getFileMetadataBySlug(docsEntry, slugs, locale, strict);
|
|
42
43
|
|
|
43
44
|
export const getDocBySlug = async <L extends LocalesValues>(
|
|
44
45
|
slugs: string | string[],
|
|
45
|
-
locale: L = defaultLocale as L
|
|
46
|
-
|
|
46
|
+
locale: L = defaultLocale as L,
|
|
47
|
+
strict = false
|
|
48
|
+
): Promise<string[]> => await getFileBySlug(docsEntry, slugs, locale, strict);
|
package/src/frequentQuestions.ts
CHANGED
|
@@ -44,12 +44,14 @@ export const getFrequentQuestionMetadata = async <
|
|
|
44
44
|
|
|
45
45
|
export const getFrequentQuestionMetadataBySlug = async <L extends Locales>(
|
|
46
46
|
slugs: string | string[],
|
|
47
|
-
locale: L = defaultLocale as L
|
|
47
|
+
locale: L = defaultLocale as L,
|
|
48
|
+
strict = false
|
|
48
49
|
): Promise<FileMetadata[]> =>
|
|
49
|
-
await getFileMetadataBySlug(frequentQuestionsEntry, slugs, locale);
|
|
50
|
+
await getFileMetadataBySlug(frequentQuestionsEntry, slugs, locale, strict);
|
|
50
51
|
|
|
51
52
|
export const getFrequentQuestionBySlug = async <L extends Locales>(
|
|
52
53
|
slugs: string | string[],
|
|
53
|
-
locale: L = defaultLocale as L
|
|
54
|
+
locale: L = defaultLocale as L,
|
|
55
|
+
strict = false
|
|
54
56
|
): Promise<string[]> =>
|
|
55
|
-
await getFileBySlug(frequentQuestionsEntry, slugs, locale);
|
|
57
|
+
await getFileBySlug(frequentQuestionsEntry, slugs, locale, strict);
|