From 9c689880ed2d51d1cb5f394870fe09df9ad7d6e4 Mon Sep 17 00:00:00 2001 From: Dylan Tientcheu Date: Fri, 19 Sep 2025 14:15:57 +0200 Subject: [PATCH] feat(search): add runtime support for DocSearch v4 (#11327) Co-authored-by: sebastien --- .eslintrc.js | 2 +- .github/workflows/tests-windows.yml | 8 +- .github/workflows/tests.yml | 8 +- package.json | 3 + .../src/theme/Navbar/Search/styles.module.css | 3 +- .../package.json | 4 +- .../src/__tests__/utils.test.ts | 47 +++ .../src/__tests__/validateThemeConfig.test.ts | 285 +++++++++++-- .../src/client/index.ts | 7 +- .../src/client/useAlgoliaAskAi.ts | 108 +++++ .../useAlgoliaContextualFacetFilters.ts | 18 +- .../src/client/utils.ts | 40 ++ .../src/theme-search-algolia.d.ts | 62 ++- .../src/theme/SearchBar/index.tsx | 58 ++- .../src/theme/SearchBar/styles.css | 4 + .../src/theme/SearchPage/index.tsx | 96 +++-- .../src/theme/SearchPage/styles.module.css | 16 +- .../src/theme/SearchTranslations/index.ts | 269 ++++++++++-- .../src/validateThemeConfig.ts | 95 ++++- .../locales/ar/theme-search-algolia.json | 29 +- .../locales/base/theme-search-algolia.json | 100 +++-- .../locales/bg/theme-search-algolia.json | 31 +- .../locales/bn/theme-search-algolia.json | 87 ++-- .../locales/cs/theme-search-algolia.json | 87 ++-- .../locales/da/theme-search-algolia.json | 29 +- .../locales/de/theme-search-algolia.json | 29 +- .../locales/es/theme-search-algolia.json | 27 +- .../locales/et/theme-search-algolia.json | 45 +- .../locales/fa/theme-search-algolia.json | 31 +- .../locales/fil/theme-search-algolia.json | 33 +- .../locales/fr/theme-search-algolia.json | 27 +- .../locales/he/theme-search-algolia.json | 31 +- .../locales/hi/theme-search-algolia.json | 37 +- .../locales/hu/theme-search-algolia.json | 32 +- .../locales/id/theme-search-algolia.json | 27 +- .../locales/is/theme-search-algolia.json | 27 +- .../locales/it/theme-search-algolia.json | 27 +- .../locales/ja/theme-search-algolia.json | 27 +- .../locales/ko/theme-search-algolia.json | 27 +- .../locales/nb/theme-search-algolia.json | 27 +- .../locales/nl/theme-search-algolia.json | 27 +- .../locales/pl/theme-search-algolia.json | 27 +- .../locales/pt-BR/theme-search-algolia.json | 27 +- .../locales/pt-PT/theme-search-algolia.json | 29 +- .../locales/ru/theme-search-algolia.json | 27 +- .../locales/sl/theme-search-algolia.json | 27 +- .../locales/sr/theme-search-algolia.json | 29 +- .../locales/sv/theme-search-algolia.json | 27 +- .../locales/tk/theme-search-algolia.json | 27 +- .../locales/tr/theme-search-algolia.json | 27 +- .../locales/uk/theme-search-algolia.json | 31 +- .../locales/vi/theme-search-algolia.json | 31 +- .../locales/zh-Hans/theme-search-algolia.json | 31 +- .../locales/zh-Hant/theme-search-algolia.json | 31 +- project-words.txt | 1 + website/docs/search.mdx | 50 +++ website/docusaurus.config.ts | 11 + yarn.lock | 399 +++++++++++------- 58 files changed, 2353 insertions(+), 456 deletions(-) create mode 100644 packages/docusaurus-theme-search-algolia/src/__tests__/utils.test.ts create mode 100644 packages/docusaurus-theme-search-algolia/src/client/useAlgoliaAskAi.ts create mode 100644 packages/docusaurus-theme-search-algolia/src/client/utils.ts diff --git a/.eslintrc.js b/.eslintrc.js index e8e026c966..41859a9031 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -304,7 +304,7 @@ module.exports = { 'jest/prefer-expect-resolves': WARNING, 'jest/prefer-lowercase-title': [WARNING, {ignore: ['describe']}], 'jest/prefer-spy-on': WARNING, - 'jest/prefer-to-be': WARNING, + 'jest/prefer-to-be': OFF, 'jest/prefer-to-have-length': WARNING, 'jest/require-top-level-describe': ERROR, 'jest/valid-title': [ diff --git a/.github/workflows/tests-windows.yml b/.github/workflows/tests-windows.yml index 119a7d4b79..411ee27918 100644 --- a/.github/workflows/tests-windows.yml +++ b/.github/workflows/tests-windows.yml @@ -56,12 +56,16 @@ jobs: run: yarn build:website:fast - name: TypeCheck website - # TODO temporary, remove TS skipLibCheck # see https://github.com/facebook/docusaurus/pull/10486 - run: yarn workspace website typecheck --project tsconfig.skipLibCheck.json + run: yarn workspace website typecheck - name: TypeCheck website - min version - v5.1 run: | yarn add typescript@5.1.6 --exact -D -W --ignore-scripts + + # DocSearch@4/ai@5 doesn't support TS 5.1 (with skipLibCheck=false) + jq '.resolutions."@docsearch/react" = "^3.9.0"' package.json > package.json.tmp && mv -Force package.json.tmp package.json + yarn add @docsearch/react@^3.9.0 --exact -D -W --ignore-scripts + yarn workspace website typecheck - name: TypeCheck website - max version - Latest # For latest TS there are often lib check errors, so we disable it diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 1299065136..29aef870cc 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -55,12 +55,16 @@ jobs: run: yarn workspace website test:css-order - name: TypeCheck website - # TODO temporary, remove TS skipLibCheck # see https://github.com/facebook/docusaurus/pull/10486 - run: yarn workspace website typecheck --project tsconfig.skipLibCheck.json + run: yarn workspace website typecheck - name: TypeCheck website - min version - v5.1 run: | yarn add typescript@5.1.6 --exact -D -W --ignore-scripts + + # DocSearch@4/ai@5 doesn't support TS 5.1 (with skipLibCheck=false) + jq '.resolutions."@docsearch/react" = "^3.9.0"' package.json > package.json.tmp && mv -f package.json.tmp package.json + yarn add @docsearch/react@^3.9.0 --exact -D -W --ignore-scripts + yarn workspace website typecheck - name: TypeCheck website - max version - Latest # For latest TS there are often lib check errors, so we disable it diff --git a/package.json b/package.json index 0e9d63abf9..342345f82d 100644 --- a/package.json +++ b/package.json @@ -129,5 +129,8 @@ "stylelint-config-standard": "^29.0.0", "typescript": "~5.8.2" }, + "resolutions": { + "@docsearch/react": "^4.0.1" + }, "packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e" } diff --git a/packages/docusaurus-theme-classic/src/theme/Navbar/Search/styles.module.css b/packages/docusaurus-theme-classic/src/theme/Navbar/Search/styles.module.css index b59d29e3fc..c58238dcf9 100644 --- a/packages/docusaurus-theme-classic/src/theme/Navbar/Search/styles.module.css +++ b/packages/docusaurus-theme-classic/src/theme/Navbar/Search/styles.module.css @@ -22,7 +22,6 @@ See https://github.com/facebook/docusaurus/pull/9385 @media (min-width: 997px) { .navbarSearchContainer { - padding: var(--ifm-navbar-item-padding-vertical) - var(--ifm-navbar-item-padding-horizontal); + padding: 0 var(--ifm-navbar-item-padding-horizontal); } } diff --git a/packages/docusaurus-theme-search-algolia/package.json b/packages/docusaurus-theme-search-algolia/package.json index c536cd4c29..25362274ab 100644 --- a/packages/docusaurus-theme-search-algolia/package.json +++ b/packages/docusaurus-theme-search-algolia/package.json @@ -41,8 +41,8 @@ "@docusaurus/theme-translations": "3.8.1", "@docusaurus/utils": "3.8.1", "@docusaurus/utils-validation": "3.8.1", - "algoliasearch": "^5.17.1", - "algoliasearch-helper": "^3.22.6", + "algoliasearch": "^5.37.0", + "algoliasearch-helper": "^3.26.0", "clsx": "^2.0.0", "eta": "^2.2.0", "fs-extra": "^11.1.1", diff --git a/packages/docusaurus-theme-search-algolia/src/__tests__/utils.test.ts b/packages/docusaurus-theme-search-algolia/src/__tests__/utils.test.ts new file mode 100644 index 0000000000..b3ed86fff0 --- /dev/null +++ b/packages/docusaurus-theme-search-algolia/src/__tests__/utils.test.ts @@ -0,0 +1,47 @@ +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +import {mergeFacetFilters} from '../client/utils'; + +describe('mergeFacetFilters', () => { + it('merges [string,string]', () => { + expect(mergeFacetFilters('f1', 'f2')).toEqual(['f1', 'f2']); + }); + + it('merges [string,array]', () => { + // TODO this looks wrong to me, should be ['f1', ['f2', 'f3']] ? + expect(mergeFacetFilters('f1', ['f2', 'f3'])).toEqual(['f1', 'f2', 'f3']); + }); + + it('merges [string,undefined]', () => { + expect(mergeFacetFilters('f1', undefined)).toEqual('f1'); + }); + + it('merges [undefined,string]', () => { + expect(mergeFacetFilters(undefined, 'f1')).toEqual('f1'); + }); + + it('merges [array,undefined]', () => { + expect(mergeFacetFilters(['f1', 'f2'], undefined)).toEqual(['f1', 'f2']); + }); + + it('merges [undefined,array]', () => { + expect(mergeFacetFilters(undefined, ['f1', 'f2'])).toEqual(['f1', 'f2']); + }); + + it('merges [array,array]', () => { + expect(mergeFacetFilters(['f1'], ['f2'])).toEqual(['f1', 'f2']); + + // TODO this looks wrong to me, should be [['f1', 'f2'], ['f3', 'f4']] ? + expect(mergeFacetFilters(['f1', 'f2'], ['f3', 'f4'])).toEqual([ + 'f1', + 'f2', + 'f3', + 'f4', + ]); + }); +}); diff --git a/packages/docusaurus-theme-search-algolia/src/__tests__/validateThemeConfig.test.ts b/packages/docusaurus-theme-search-algolia/src/__tests__/validateThemeConfig.test.ts index 7559aef403..b41f5bb73b 100644 --- a/packages/docusaurus-theme-search-algolia/src/__tests__/validateThemeConfig.test.ts +++ b/packages/docusaurus-theme-search-algolia/src/__tests__/validateThemeConfig.test.ts @@ -7,8 +7,17 @@ import {DEFAULT_CONFIG, validateThemeConfig} from '../validateThemeConfig'; import type {Joi} from '@docusaurus/utils-validation'; +import type { + ThemeConfig, + UserThemeConfig, +} from '@docusaurus/theme-search-algolia'; -function testValidateThemeConfig(themeConfig: {[key: string]: unknown}) { +// mock DocSearch to a v4 version to allow AskAI tests to pass +jest.mock('@docsearch/react', () => ({version: '4.0.0'})); + +type AlgoliaInput = UserThemeConfig['algolia']; + +function testValidateThemeConfig(algolia: AlgoliaInput) { function validate( schema: Joi.ObjectSchema<{[key: string]: unknown}>, cfg: {[key: string]: unknown}, @@ -22,17 +31,20 @@ function testValidateThemeConfig(themeConfig: {[key: string]: unknown}) { return value; } - return validateThemeConfig({themeConfig, validate}); + return validateThemeConfig({ + themeConfig: (algolia ? {algolia} : {}) as ThemeConfig, + validate, + }); } describe('validateThemeConfig', () => { it('minimal config', () => { - const algolia = { + const algolia: AlgoliaInput = { indexName: 'index', apiKey: 'apiKey', appId: 'BH4D9OD16A', }; - expect(testValidateThemeConfig({algolia})).toEqual({ + expect(testValidateThemeConfig(algolia)).toEqual({ algolia: { ...DEFAULT_CONFIG, ...algolia, @@ -41,13 +53,14 @@ describe('validateThemeConfig', () => { }); it('unknown attributes', () => { - const algolia = { + const algolia: AlgoliaInput = { indexName: 'index', apiKey: 'apiKey', + // @ts-expect-error: expected type error! unknownKey: 'unknownKey', appId: 'BH4D9OD16A', }; - expect(testValidateThemeConfig({algolia})).toEqual({ + expect(testValidateThemeConfig(algolia)).toEqual({ algolia: { ...DEFAULT_CONFIG, ...algolia, @@ -58,47 +71,64 @@ describe('validateThemeConfig', () => { it('undefined config', () => { const algolia = undefined; expect(() => - testValidateThemeConfig({algolia}), + testValidateThemeConfig(algolia), ).toThrowErrorMatchingInlineSnapshot(`""themeConfig.algolia" is required"`); }); - it('undefined config 2', () => { + it('empty config', () => { expect(() => - testValidateThemeConfig({}), - ).toThrowErrorMatchingInlineSnapshot(`""themeConfig.algolia" is required"`); + testValidateThemeConfig( + // @ts-expect-error: expected type error! + {}, + ), + ).toThrowErrorMatchingInlineSnapshot( + `""algolia.appId" is required. If you haven't migrated to the new DocSearch infra, please refer to the blog post for instructions: https://docusaurus.io/blog/2021/11/21/algolia-docsearch-migration"`, + ); }); it('missing indexName config', () => { - const algolia = {apiKey: 'apiKey', appId: 'BH4D9OD16A'}; + // @ts-expect-error: expected type error! + const algolia: AlgoliaInput = { + apiKey: 'apiKey', + appId: 'BH4D9OD16A', + }; expect(() => - testValidateThemeConfig({algolia}), + testValidateThemeConfig(algolia), ).toThrowErrorMatchingInlineSnapshot(`""algolia.indexName" is required"`); }); it('missing apiKey config', () => { - const algolia = {indexName: 'indexName', appId: 'BH4D9OD16A'}; + // @ts-expect-error: expected type error! + const algolia: AlgoliaInput = { + indexName: 'indexName', + appId: 'BH4D9OD16A', + }; expect(() => - testValidateThemeConfig({algolia}), + testValidateThemeConfig(algolia), ).toThrowErrorMatchingInlineSnapshot(`""algolia.apiKey" is required"`); }); it('missing appId config', () => { - const algolia = {indexName: 'indexName', apiKey: 'apiKey'}; + // @ts-expect-error: expected type error! + const algolia: AlgoliaInput = { + indexName: 'indexName', + apiKey: 'apiKey', + }; expect(() => - testValidateThemeConfig({algolia}), + testValidateThemeConfig(algolia), ).toThrowErrorMatchingInlineSnapshot( `""algolia.appId" is required. If you haven't migrated to the new DocSearch infra, please refer to the blog post for instructions: https://docusaurus.io/blog/2021/11/21/algolia-docsearch-migration"`, ); }); it('contextualSearch config', () => { - const algolia = { + const algolia: AlgoliaInput = { appId: 'BH4D9OD16A', indexName: 'index', apiKey: 'apiKey', contextualSearch: true, }; - expect(testValidateThemeConfig({algolia})).toEqual({ + expect(testValidateThemeConfig(algolia)).toEqual({ algolia: { ...DEFAULT_CONFIG, ...algolia, @@ -107,13 +137,13 @@ describe('validateThemeConfig', () => { }); it('externalUrlRegex config', () => { - const algolia = { + const algolia: AlgoliaInput = { appId: 'BH4D9OD16A', indexName: 'index', apiKey: 'apiKey', externalUrlRegex: 'http://external-domain.com', }; - expect(testValidateThemeConfig({algolia})).toEqual({ + expect(testValidateThemeConfig(algolia)).toEqual({ algolia: { ...DEFAULT_CONFIG, ...algolia, @@ -123,7 +153,7 @@ describe('validateThemeConfig', () => { describe('replaceSearchResultPathname', () => { it('escapes from string', () => { - const algolia = { + const algolia: AlgoliaInput = { appId: 'BH4D9OD16A', indexName: 'index', apiKey: 'apiKey', @@ -132,7 +162,7 @@ describe('validateThemeConfig', () => { to: '/abc', }, }; - expect(testValidateThemeConfig({algolia})).toEqual({ + expect(testValidateThemeConfig(algolia)).toEqual({ algolia: { ...DEFAULT_CONFIG, ...algolia, @@ -145,17 +175,18 @@ describe('validateThemeConfig', () => { }); it('converts from regexp to string', () => { - const algolia = { + const algolia: AlgoliaInput = { appId: 'BH4D9OD16A', indexName: 'index', apiKey: 'apiKey', replaceSearchResultPathname: { + // @ts-expect-error: test regexp input from: /^\/docs\/(?:1\.0|next)/, to: '/abc', }, }; - expect(testValidateThemeConfig({algolia})).toEqual({ + expect(testValidateThemeConfig(algolia)).toEqual({ algolia: { ...DEFAULT_CONFIG, ...algolia, @@ -169,7 +200,7 @@ describe('validateThemeConfig', () => { }); it('searchParameters.facetFilters search config', () => { - const algolia = { + const algolia: AlgoliaInput = { appId: 'BH4D9OD16A', indexName: 'index', apiKey: 'apiKey', @@ -177,11 +208,213 @@ describe('validateThemeConfig', () => { facetFilters: ['version:1.0'], }, }; - expect(testValidateThemeConfig({algolia})).toEqual({ + expect(testValidateThemeConfig(algolia)).toEqual({ algolia: { ...DEFAULT_CONFIG, ...algolia, }, }); }); + + describe('askAi config validation', () => { + it('accepts string format (assistantId)', () => { + const algolia: AlgoliaInput = { + appId: 'BH4D9OD16A', + indexName: 'index', + apiKey: 'apiKey', + askAi: 'my-assistant-id', + }; + expect(testValidateThemeConfig(algolia)).toEqual({ + algolia: { + ...DEFAULT_CONFIG, + ...algolia, + askAi: { + indexName: 'index', + apiKey: 'apiKey', + appId: 'BH4D9OD16A', + assistantId: 'my-assistant-id', + }, + }, + }); + }); + + it('accepts full object format', () => { + const algolia: AlgoliaInput = { + appId: 'BH4D9OD16A', + indexName: 'index', + apiKey: 'apiKey', + askAi: { + indexName: 'ai-index', + apiKey: 'ai-apiKey', + appId: 'ai-appId', + assistantId: 'my-assistant-id', + }, + }; + expect(testValidateThemeConfig(algolia)).toEqual({ + algolia: { + ...DEFAULT_CONFIG, + ...algolia, + }, + }); + }); + + it('rejects invalid type', () => { + const algolia: AlgoliaInput = { + appId: 'BH4D9OD16A', + indexName: 'index', + apiKey: 'apiKey', + // @ts-expect-error: expected type error + askAi: 123, // Invalid: should be string or object + }; + expect(() => + testValidateThemeConfig(algolia), + ).toThrowErrorMatchingInlineSnapshot( + `"askAi must be either a string (assistantId) or an object with indexName, apiKey, appId, and assistantId"`, + ); + }); + + it('rejects object missing required fields', () => { + const algolia: AlgoliaInput = { + appId: 'BH4D9OD16A', + indexName: 'index', + apiKey: 'apiKey', + // @ts-expect-error: expected type error: missing mandatory fields + askAi: { + assistantId: 'my-assistant-id', + // Missing indexName, apiKey, appId + }, + }; + expect(() => + testValidateThemeConfig(algolia), + ).toThrowErrorMatchingInlineSnapshot( + `""algolia.askAi.indexName" is required"`, + ); + }); + + it('accepts undefined askAi', () => { + const algolia: AlgoliaInput = { + appId: 'BH4D9OD16A', + indexName: 'index', + apiKey: 'apiKey', + }; + expect(testValidateThemeConfig(algolia)).toEqual({ + algolia: { + ...DEFAULT_CONFIG, + ...algolia, + }, + }); + }); + + describe('Ask AI search parameters', () => { + it('accepts Ask AI facet filters', () => { + const algolia = { + appId: 'BH4D9OD16A', + indexName: 'index', + apiKey: 'apiKey', + askAi: { + indexName: 'ai-index', + apiKey: 'ai-apiKey', + appId: 'ai-appId', + assistantId: 'my-assistant-id', + searchParameters: { + facetFilters: ['version:1.0'], + }, + }, + } satisfies AlgoliaInput; + + expect(testValidateThemeConfig(algolia)).toEqual({ + algolia: { + ...DEFAULT_CONFIG, + ...algolia, + }, + }); + }); + + it('accepts distinct Ask AI / algolia facet filters', () => { + const algolia = { + appId: 'BH4D9OD16A', + indexName: 'index', + apiKey: 'apiKey', + searchParameters: { + facetFilters: ['version:algolia'], + }, + askAi: { + indexName: 'ai-index', + apiKey: 'ai-apiKey', + appId: 'ai-appId', + assistantId: 'my-assistant-id', + searchParameters: { + facetFilters: ['version:askAi'], + }, + }, + } satisfies AlgoliaInput; + + expect(testValidateThemeConfig(algolia)).toEqual({ + algolia: { + ...DEFAULT_CONFIG, + ...algolia, + }, + }); + }); + + it('falls back to algolia facet filters', () => { + const algolia = { + appId: 'BH4D9OD16A', + indexName: 'index', + apiKey: 'apiKey', + searchParameters: { + facetFilters: ['version:1.0'], + }, + askAi: { + indexName: 'ai-index', + apiKey: 'ai-apiKey', + appId: 'ai-appId', + assistantId: 'my-assistant-id', + searchParameters: {}, + }, + } satisfies AlgoliaInput; + + expect(testValidateThemeConfig(algolia)).toEqual({ + algolia: { + ...DEFAULT_CONFIG, + ...algolia, + askAi: { + ...algolia.askAi, + searchParameters: { + facetFilters: ['version:1.0'], + }, + }, + }, + }); + }); + + it('falls back to algolia facet filters with AskAI string format (assistantId)', () => { + const algolia = { + appId: 'BH4D9OD16A', + indexName: 'index', + apiKey: 'apiKey', + searchParameters: { + facetFilters: ['version:1.0'], + }, + askAi: 'my-assistant-id', + } satisfies AlgoliaInput; + + expect(testValidateThemeConfig(algolia)).toEqual({ + algolia: { + ...DEFAULT_CONFIG, + ...algolia, + askAi: { + indexName: algolia.indexName, + apiKey: algolia.apiKey, + appId: algolia.appId, + assistantId: 'my-assistant-id', + searchParameters: { + facetFilters: ['version:1.0'], + }, + }, + }, + }); + }); + }); + }); }); diff --git a/packages/docusaurus-theme-search-algolia/src/client/index.ts b/packages/docusaurus-theme-search-algolia/src/client/index.ts index 5050ce6aa0..c2d61a668d 100644 --- a/packages/docusaurus-theme-search-algolia/src/client/index.ts +++ b/packages/docusaurus-theme-search-algolia/src/client/index.ts @@ -6,5 +6,10 @@ */ export {useAlgoliaThemeConfig} from './useAlgoliaThemeConfig'; -export {useAlgoliaContextualFacetFilters} from './useAlgoliaContextualFacetFilters'; +export { + useAlgoliaContextualFacetFilters, + useAlgoliaContextualFacetFiltersIfEnabled, +} from './useAlgoliaContextualFacetFilters'; export {useSearchResultUrlProcessor} from './useSearchResultUrlProcessor'; +export {useAlgoliaAskAi} from './useAlgoliaAskAi'; +export {mergeFacetFilters} from './utils'; diff --git a/packages/docusaurus-theme-search-algolia/src/client/useAlgoliaAskAi.ts b/packages/docusaurus-theme-search-algolia/src/client/useAlgoliaAskAi.ts new file mode 100644 index 0000000000..ec80891fc6 --- /dev/null +++ b/packages/docusaurus-theme-search-algolia/src/client/useAlgoliaAskAi.ts @@ -0,0 +1,108 @@ +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +import {useCallback, useMemo, useState} from 'react'; +import { + version as docsearchVersion, + type DocSearchModalProps, + type DocSearchTranslations, +} from '@docsearch/react'; +import translations from '@theme/SearchTranslations'; +import {useAlgoliaContextualFacetFiltersIfEnabled} from './useAlgoliaContextualFacetFilters'; +import {mergeFacetFilters} from './utils'; +import type {AskAiConfig} from '@docusaurus/theme-search-algolia'; +import type {FacetFilters} from 'algoliasearch/lite'; + +// The minimal props the hook needs from DocSearch v4 props +// TODO Docusaurus v4: cleanup after we drop support for DocSearch v3 +interface DocSearchV4PropsLite { + indexName: string; + apiKey: string; + appId: string; + placeholder?: string; + translations?: DocSearchTranslations; + searchParameters?: DocSearchModalProps['searchParameters']; + askAi?: AskAiConfig; +} + +const isV4 = docsearchVersion.startsWith('4.'); + +type UseAskAiResult = { + canHandleAskAi: boolean; + isAskAiActive: boolean; + currentPlaceholder: string | undefined; + onAskAiToggle: (active: boolean) => void; + askAi?: AskAiConfig; + extraAskAiProps: Partial & { + askAi?: AskAiConfig; + canHandleAskAi?: boolean; + isAskAiActive?: boolean; + onAskAiToggle?: (active: boolean) => void; + }; +}; + +// We need to apply contextualSearch facetFilters to AskAI filters +// This can't be done at config normalization time because contextual filters +// can only be determined at runtime +function applyAskAiContextualSearch( + askAi: AskAiConfig | undefined, + contextualSearchFilters: FacetFilters | undefined, +): AskAiConfig | undefined { + if (!askAi) { + return undefined; + } + if (!contextualSearchFilters) { + return askAi; + } + const askAiFacetFilters = askAi.searchParameters?.facetFilters; + return { + ...askAi, + searchParameters: { + ...askAi.searchParameters, + facetFilters: mergeFacetFilters( + askAiFacetFilters, + contextualSearchFilters, + ), + }, + }; +} + +export function useAlgoliaAskAi(props: DocSearchV4PropsLite): UseAskAiResult { + const [isAskAiActive, setIsAskAiActive] = useState(false); + const contextualSearchFilters = useAlgoliaContextualFacetFiltersIfEnabled(); + + const askAi = useMemo(() => { + return applyAskAiContextualSearch(props.askAi, contextualSearchFilters); + }, [props.askAi, contextualSearchFilters]); + + const canHandleAskAi = Boolean(askAi); + + const currentPlaceholder = + isAskAiActive && isV4 + ? translations.modal?.searchBox?.placeholderTextAskAi + : translations.modal?.searchBox?.placeholderText || props?.placeholder; + + const onAskAiToggle = useCallback((askAiToggle: boolean) => { + setIsAskAiActive(askAiToggle); + }, []); + + const extraAskAiProps: UseAskAiResult['extraAskAiProps'] = { + askAi, + canHandleAskAi, + isAskAiActive, + onAskAiToggle, + }; + + return { + canHandleAskAi, + isAskAiActive, + currentPlaceholder, + onAskAiToggle, + askAi, + extraAskAiProps, + }; +} diff --git a/packages/docusaurus-theme-search-algolia/src/client/useAlgoliaContextualFacetFilters.ts b/packages/docusaurus-theme-search-algolia/src/client/useAlgoliaContextualFacetFilters.ts index e12b113088..753ee166bd 100644 --- a/packages/docusaurus-theme-search-algolia/src/client/useAlgoliaContextualFacetFilters.ts +++ b/packages/docusaurus-theme-search-algolia/src/client/useAlgoliaContextualFacetFilters.ts @@ -8,6 +8,8 @@ import {DEFAULT_SEARCH_TAG} from '@docusaurus/theme-common/internal'; import {useDocsContextualSearchTags} from '@docusaurus/plugin-content-docs/client'; import useDocusaurusContext from '@docusaurus/useDocusaurusContext'; +import {useAlgoliaThemeConfig} from './useAlgoliaThemeConfig'; +import type {FacetFilters} from 'algoliasearch/lite'; function useSearchTags() { // only docs have custom search tags per version @@ -16,7 +18,7 @@ function useSearchTags() { } // Translate search-engine agnostic search tags to Algolia search filters -export function useAlgoliaContextualFacetFilters(): [string, string[]] { +export function useAlgoliaContextualFacetFilters(): FacetFilters { const locale = useDocusaurusContext().i18n.currentLocale; const tags = useSearchTags(); @@ -27,3 +29,17 @@ export function useAlgoliaContextualFacetFilters(): [string, string[]] { return [languageFilter, tagsFilter]; } + +export function useAlgoliaContextualFacetFiltersIfEnabled(): + | FacetFilters + | undefined { + const { + algolia: {contextualSearch}, + } = useAlgoliaThemeConfig(); + const facetFilters = useAlgoliaContextualFacetFilters(); + if (contextualSearch) { + return facetFilters; + } else { + return undefined; + } +} diff --git a/packages/docusaurus-theme-search-algolia/src/client/utils.ts b/packages/docusaurus-theme-search-algolia/src/client/utils.ts new file mode 100644 index 0000000000..3ec1336779 --- /dev/null +++ b/packages/docusaurus-theme-search-algolia/src/client/utils.ts @@ -0,0 +1,40 @@ +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +import type {FacetFilters} from 'algoliasearch/lite'; + +export function mergeFacetFilters( + f1: FacetFilters, + f2: FacetFilters, +): FacetFilters; + +export function mergeFacetFilters( + f1: FacetFilters | undefined, + f2: FacetFilters | undefined, +): FacetFilters | undefined; + +export function mergeFacetFilters( + f1: FacetFilters | undefined, + f2: FacetFilters | undefined, +): FacetFilters | undefined { + if (f1 === undefined) { + return f2; + } + if (f2 === undefined) { + return f1; + } + + const normalize = (f: FacetFilters): FacetFilters => + typeof f === 'string' ? [f] : f; + + // Historical behavior: we flatten everything + // TODO I'm pretty sure this is incorrect + // see https://www.algolia.com/doc/api-reference/api-parameters/facetFilters/?client=javascript + // Note: Algolia is working to provide a reliable facet merging strategy + // see https://github.com/facebook/docusaurus/pull/11327#issuecomment-3284742923 + return [...normalize(f1), ...normalize(f2)]; +} diff --git a/packages/docusaurus-theme-search-algolia/src/theme-search-algolia.d.ts b/packages/docusaurus-theme-search-algolia/src/theme-search-algolia.d.ts index 9e12b5e2dd..b5e8a26bc3 100644 --- a/packages/docusaurus-theme-search-algolia/src/theme-search-algolia.d.ts +++ b/packages/docusaurus-theme-search-algolia/src/theme-search-algolia.d.ts @@ -6,8 +6,21 @@ */ declare module '@docusaurus/theme-search-algolia' { - import type {DeepPartial} from 'utility-types'; + import type {DeepPartial, Overwrite} from 'utility-types'; + import type {DocSearchProps} from '@docsearch/react'; + import type {FacetFilters} from 'algoliasearch/lite'; + + // The config after normalization (e.g. AskAI string -> object) + export type AskAiConfig = { + indexName: string; + apiKey: string; + appId: string; + assistantId: string; + searchParameters?: { + facetFilters?: FacetFilters; + }; + }; // DocSearch props that Docusaurus exposes directly through props forwarding type DocusaurusDocSearchProps = Pick< @@ -20,9 +33,15 @@ declare module '@docusaurus/theme-search-algolia' { | 'searchParameters' | 'insights' | 'initialQuery' - >; + > & { + // Docusaurus normalizes the AskAI config to an object + askAi?: AskAiConfig; + }; + + export type ThemeConfigAlgolia = DocusaurusDocSearchProps & { + // TODO Docusaurus v4: upgrade to DocSearch v4, migrate indexName to indices + indexName: string; - type ThemeConfigAlgolia = DocusaurusDocSearchProps & { // Docusaurus custom options, not coming from DocSearch contextualSearch: boolean; externalUrlRegex?: string; @@ -33,21 +52,23 @@ declare module '@docusaurus/theme-search-algolia' { }; }; - export type ThemeConfig = DocusaurusDocSearchProps & { + export type ThemeConfig = { algolia: ThemeConfigAlgolia; }; - export type UserThemeConfig = DeepPartial; -} - -declare module '@docusaurus/theme-search-algolia/client' { - import type {ThemeConfig} from '@docusaurus/theme-search-algolia'; - - export function useAlgoliaThemeConfig(): ThemeConfig; - - export function useAlgoliaContextualFacetFilters(): [string, string[]]; - - export function useSearchResultUrlProcessor(): (url: string) => string; + export type UserThemeConfig = { + algolia?: Overwrite< + DeepPartial, + { + // Required fields: + appId: ThemeConfigAlgolia['appId']; + apiKey: ThemeConfigAlgolia['apiKey']; + indexName: ThemeConfigAlgolia['indexName']; + // askAi also accepts a shorter string form + askAi?: string | AskAiConfig; + } + >; + }; } declare module '@theme/SearchPage' { @@ -65,6 +86,15 @@ declare module '@theme/SearchBar' { declare module '@theme/SearchTranslations' { import type {DocSearchTranslations} from '@docsearch/react'; - const translations: DocSearchTranslations & {placeholder: string}; + const translations: DocSearchTranslations & { + placeholder: string; + // TODO Docusaurus v4: cleanup after we drop support for DocSearch v3 + modal?: { + searchBox?: { + placeholderText?: string; + placeholderTextAskAi?: string; + }; + }; + }; export default translations; } diff --git a/packages/docusaurus-theme-search-algolia/src/theme/SearchBar/index.tsx b/packages/docusaurus-theme-search-algolia/src/theme/SearchBar/index.tsx index f0dd1189bf..11f38a8ae1 100644 --- a/packages/docusaurus-theme-search-algolia/src/theme/SearchBar/index.tsx +++ b/packages/docusaurus-theme-search-algolia/src/theme/SearchBar/index.tsx @@ -24,6 +24,8 @@ import { import { useAlgoliaContextualFacetFilters, useSearchResultUrlProcessor, + useAlgoliaAskAi, + mergeFacetFilters, } from '@docusaurus/theme-search-algolia/client'; import Translate from '@docusaurus/Translate'; import useDocusaurusContext from '@docusaurus/useDocusaurusContext'; @@ -35,10 +37,13 @@ import type { StoredDocSearchHit, DocSearchTransformClient, DocSearchHit, + DocSearchTranslations, + UseDocSearchKeyboardEventsProps, } from '@docsearch/react'; import type {AutocompleteState} from '@algolia/autocomplete-core'; import type {FacetFilters} from 'algoliasearch/lite'; +import type {ThemeConfigAlgolia} from '@docusaurus/theme-search-algolia'; type DocSearchProps = Omit< DocSearchModalProps, @@ -47,8 +52,20 @@ type DocSearchProps = Omit< contextualSearch?: string; externalUrlRegex?: string; searchPagePath: boolean | string; + askAi?: Exclude< + (DocSearchModalProps & {askAi: unknown})['askAi'], + string | undefined + >; }; +// extend DocSearchProps for v4 features +// TODO Docusaurus v4: cleanup after we drop support for DocSearch v3 +interface DocSearchV4Props extends DocSearchProps { + indexName: string; + askAi?: ThemeConfigAlgolia['askAi']; + translations?: DocSearchTranslations; +} + let DocSearchModal: typeof DocSearchModalType | null = null; function importDocSearchModalIfNeeded() { @@ -135,7 +152,7 @@ function Hit({ children, }: { hit: InternalDocSearchHit | StoredDocSearchHit; - children: React.ReactNode; + children: ReactNode; }) { return {children}; } @@ -163,14 +180,7 @@ function useSearchParameters({ contextualSearch, ...props }: DocSearchProps): DocSearchProps['searchParameters'] { - function mergeFacetFilters(f1: FacetFilters, f2: FacetFilters): FacetFilters { - const normalize = (f: FacetFilters): FacetFilters => - typeof f === 'string' ? [f] : f; - return [...normalize(f1), ...normalize(f2)]; - } - - const contextualSearchFacetFilters = - useAlgoliaContextualFacetFilters() as FacetFilters; + const contextualSearchFacetFilters = useAlgoliaContextualFacetFilters(); const configFacetFilters: FacetFilters = props.searchParameters?.facetFilters ?? []; @@ -188,20 +198,22 @@ function useSearchParameters({ }; } -function DocSearch({externalUrlRegex, ...props}: DocSearchProps) { +function DocSearch({externalUrlRegex, ...props}: DocSearchV4Props) { const navigator = useNavigator({externalUrlRegex}); const searchParameters = useSearchParameters({...props}); const transformItems = useTransformItems(props); const transformSearchClient = useTransformSearchClient(); const searchContainer = useRef(null); - // TODO remove "as any" after React 19 upgrade - const searchButtonRef = useRef(null as any); + const searchButtonRef = useRef(null); const [isOpen, setIsOpen] = useState(false); const [initialQuery, setInitialQuery] = useState( undefined, ); + const {isAskAiActive, currentPlaceholder, onAskAiToggle, extraAskAiProps} = + useAlgoliaAskAi(props); + const prepareSearchContainer = useCallback(() => { if (!searchContainer.current) { const divElement = document.createElement('div'); @@ -219,7 +231,8 @@ function DocSearch({externalUrlRegex, ...props}: DocSearchProps) { setIsOpen(false); searchButtonRef.current?.focus(); setInitialQuery(undefined); - }, []); + onAskAiToggle(false); + }, [onAskAiToggle]); const handleInput = useCallback( (event: KeyboardEvent) => { @@ -243,7 +256,13 @@ function DocSearch({externalUrlRegex, ...props}: DocSearchProps) { onClose: closeModal, onInput: handleInput, searchButtonRef, - }); + isAskAiActive: isAskAiActive ?? false, + onAskAiToggle: onAskAiToggle ?? (() => {}), + } satisfies UseDocSearchKeyboardEventsProps & { + // TODO Docusaurus v4: cleanup after we drop support for DocSearch v3 + isAskAiActive: boolean; + onAskAiToggle: (askAiToggle: boolean) => void; + } as UseDocSearchKeyboardEventsProps); return ( <> @@ -269,8 +288,6 @@ function DocSearch({externalUrlRegex, ...props}: DocSearchProps) { {isOpen && DocSearchModal && - // TODO need to fix this React Compiler lint error - // eslint-disable-next-line react-compiler/react-compiler searchContainer.current && createPortal( , - // TODO need to fix this React Compiler lint error - // eslint-disable-next-line react-compiler/react-compiler searchContainer.current, )} @@ -299,5 +315,7 @@ function DocSearch({externalUrlRegex, ...props}: DocSearchProps) { export default function SearchBar(): ReactNode { const {siteConfig} = useDocusaurusContext(); - return ; + return ( + + ); } diff --git a/packages/docusaurus-theme-search-algolia/src/theme/SearchBar/styles.css b/packages/docusaurus-theme-search-algolia/src/theme/SearchBar/styles.css index c80dd71d37..78689effe4 100644 --- a/packages/docusaurus-theme-search-algolia/src/theme/SearchBar/styles.css +++ b/packages/docusaurus-theme-search-algolia/src/theme/SearchBar/styles.css @@ -19,3 +19,7 @@ .DocSearch-Container { z-index: calc(var(--ifm-z-index-fixed) + 1); } + +.DocSearch-Button-Key { + padding: 0; +} diff --git a/packages/docusaurus-theme-search-algolia/src/theme/SearchPage/index.tsx b/packages/docusaurus-theme-search-algolia/src/theme/SearchPage/index.tsx index 0dd822f6e8..fb275f506b 100644 --- a/packages/docusaurus-theme-search-algolia/src/theme/SearchPage/index.tsx +++ b/packages/docusaurus-theme-search-algolia/src/theme/SearchPage/index.tsx @@ -139,6 +139,65 @@ function SearchVersionSelectList({ ); } +function AlgoliaLogo(): ReactNode { + return ( + + + {/* eslint-disable-next-line @docusaurus/no-untranslated-text */} + + + + + + + + + + + + + ); +} + type ResultDispatcherState = { items: { title: string; @@ -435,36 +494,23 @@ function SearchPageContent(): ReactNode { documentsFoundPlural(searchResultState.totalResults)} -
+
+ + {translate({ + id: 'theme.SearchPage.algoliaLabel', + message: 'Powered by', + description: + 'The text explain that the search powered by Algolia', + })} + - - - - - - - +
diff --git a/packages/docusaurus-theme-search-algolia/src/theme/SearchPage/styles.module.css b/packages/docusaurus-theme-search-algolia/src/theme/SearchPage/styles.module.css index d00563767f..29c4389f55 100644 --- a/packages/docusaurus-theme-search-algolia/src/theme/SearchPage/styles.module.css +++ b/packages/docusaurus-theme-search-algolia/src/theme/SearchPage/styles.module.css @@ -33,12 +33,20 @@ font-weight: bold; } -.algoliaLogo { - max-width: 150px; +.searchLogoColumn { + display: flex; + align-items: center; + gap: 0.5rem; + justify-content: flex-end; } -.algoliaLogoPathFill { - fill: var(--ifm-font-color-base); +.searchLogoColumn a { + display: flex; +} + +.searchLogoColumn span { + color: var(--docsearch-muted-color); + font-weight: normal; } .searchResultItem { diff --git a/packages/docusaurus-theme-search-algolia/src/theme/SearchTranslations/index.ts b/packages/docusaurus-theme-search-algolia/src/theme/SearchTranslations/index.ts index 40d0f44ec0..d0bf1b2b8c 100644 --- a/packages/docusaurus-theme-search-algolia/src/theme/SearchTranslations/index.ts +++ b/packages/docusaurus-theme-search-algolia/src/theme/SearchTranslations/index.ts @@ -9,7 +9,62 @@ import {translate} from '@docusaurus/Translate'; import type {DocSearchTranslations} from '@docsearch/react'; -const translations: DocSearchTranslations & {placeholder: string} = { +// TODO Docusaurus v4: require DocSearch v4 +// This needs to be cleaned after the upgrade +// Docusaurus v3 was made compatible with both DocSearch v3 and v4 +// This implies that labels have been kept retro-compatible with v3 +// Once we upgrade, we should be able to rely on v4 types only +// and remove v3 retro-compatibility labels that do not exist anymore in v4 +const translations: DocSearchTranslations & { + placeholder: string; + modal: { + searchBox: { + placeholderText: string; + placeholderTextAskAi: string; + placeholderTextAskAiStreaming: string; + enterKeyHintAskAi: string; + searchInputLabel: string; + backToKeywordSearchButtonText: string; + backToKeywordSearchButtonAriaLabel: string; + enterKeyHint: string; + clearButtonTitle: string; + clearButtonAriaLabel: string; + closeButtonText: string; + resetButtonTitle: string; + resetButtonAriaLabel: string; + cancelButtonText: string; + cancelButtonAriaLabel: string; + closeButtonAriaLabel: string; + }; + startScreen: { + recentConversationsTitle: string; + removeRecentConversationButtonTitle: string; + }; + resultsScreen: { + askAiPlaceholder: string; + }; + askAiScreen: { + disclaimerText: string; + relatedSourcesText: string; + thinkingText: string; + copyButtonText: string; + copyButtonCopiedText: string; + copyButtonTitle: string; + likeButtonTitle: string; + dislikeButtonTitle: string; + thanksForFeedbackText: string; + preToolCallText: string; + duringToolCallText: string; + afterToolCallText: string; + }; + footer: { + submitQuestionText: string; + poweredByText: string; + backToSearchText: string; + searchByText: string; + }; + }; +} = { button: { buttonText: translate({ id: 'theme.SearchBar.label', @@ -44,6 +99,69 @@ const translations: DocSearchTranslations & {placeholder: string} = { message: 'Cancel', description: 'The label and ARIA label for search box cancel button', }), + + // v4 + clearButtonTitle: translate({ + id: 'theme.SearchModal.searchBox.resetButtonTitle', + message: 'Clear the query', + description: 'The label and ARIA label for search box reset button', + }), + clearButtonAriaLabel: translate({ + id: 'theme.SearchModal.searchBox.resetButtonTitle', + message: 'Clear the query', + description: 'The label and ARIA label for search box reset button', + }), + closeButtonText: translate({ + id: 'theme.SearchModal.searchBox.cancelButtonText', + message: 'Cancel', + description: 'The label and ARIA label for search box cancel button', + }), + closeButtonAriaLabel: translate({ + id: 'theme.SearchModal.searchBox.cancelButtonText', + message: 'Cancel', + description: 'The label and ARIA label for search box cancel button', + }), + placeholderText: translate({ + id: 'theme.SearchModal.searchBox.placeholderText', + message: 'Search docs', + description: 'The placeholder text for the main search input field', + }), + placeholderTextAskAi: translate({ + id: 'theme.SearchModal.searchBox.placeholderTextAskAi', + message: 'Ask another question...', + description: 'The placeholder text when in AI question mode', + }), + placeholderTextAskAiStreaming: translate({ + id: 'theme.SearchModal.searchBox.placeholderTextAskAiStreaming', + message: 'Answering...', + description: + 'The placeholder text for search box when AI is streaming an answer', + }), + enterKeyHint: translate({ + id: 'theme.SearchModal.searchBox.enterKeyHint', + message: 'search', + description: 'The hint for the search box enter key text', + }), + enterKeyHintAskAi: translate({ + id: 'theme.SearchModal.searchBox.enterKeyHintAskAi', + message: 'enter', + description: 'The hint for the Ask AI search box enter key text', + }), + searchInputLabel: translate({ + id: 'theme.SearchModal.searchBox.searchInputLabel', + message: 'Search', + description: 'The ARIA label for search input', + }), + backToKeywordSearchButtonText: translate({ + id: 'theme.SearchModal.searchBox.backToKeywordSearchButtonText', + message: 'Back to keyword search', + description: 'The text for back to keyword search button', + }), + backToKeywordSearchButtonAriaLabel: translate({ + id: 'theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel', + message: 'Back to keyword search', + description: 'The ARIA label for back to keyword search button', + }), }, startScreen: { recentSearchesTitle: translate({ @@ -54,17 +172,17 @@ const translations: DocSearchTranslations & {placeholder: string} = { noRecentSearchesText: translate({ id: 'theme.SearchModal.startScreen.noRecentSearchesText', message: 'No recent searches', - description: 'The text when no recent searches', + description: 'The text when there are no recent searches', }), saveRecentSearchButtonTitle: translate({ id: 'theme.SearchModal.startScreen.saveRecentSearchButtonTitle', message: 'Save this search', - description: 'The label for save recent search button', + description: 'The title for save recent search button', }), removeRecentSearchButtonTitle: translate({ id: 'theme.SearchModal.startScreen.removeRecentSearchButtonTitle', message: 'Remove this search from history', - description: 'The label for remove recent search button', + description: 'The title for remove recent search button', }), favoriteSearchesTitle: translate({ id: 'theme.SearchModal.startScreen.favoriteSearchesTitle', @@ -74,91 +192,178 @@ const translations: DocSearchTranslations & {placeholder: string} = { removeFavoriteSearchButtonTitle: translate({ id: 'theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle', message: 'Remove this search from favorites', - description: 'The label for remove favorite search button', + description: 'The title for remove favorite search button', + }), + recentConversationsTitle: translate({ + id: 'theme.SearchModal.startScreen.recentConversationsTitle', + message: 'Recent conversations', + description: 'The title for recent conversations', + }), + removeRecentConversationButtonTitle: translate({ + id: 'theme.SearchModal.startScreen.removeRecentConversationButtonTitle', + message: 'Remove this conversation from history', + description: 'The title for remove recent conversation button', }), }, errorScreen: { titleText: translate({ id: 'theme.SearchModal.errorScreen.titleText', message: 'Unable to fetch results', - description: 'The title for error screen of search modal', + description: 'The title for error screen', }), helpText: translate({ id: 'theme.SearchModal.errorScreen.helpText', message: 'You might want to check your network connection.', - description: 'The help text for error screen of search modal', + description: 'The help text for error screen', + }), + }, + resultsScreen: { + askAiPlaceholder: translate({ + id: 'theme.SearchModal.resultsScreen.askAiPlaceholder', + message: 'Ask AI: ', + description: 'The placeholder text for Ask AI input', + }), + }, + askAiScreen: { + disclaimerText: translate({ + id: 'theme.SearchModal.askAiScreen.disclaimerText', + message: + 'Answers are generated with AI which can make mistakes. Verify responses.', + description: 'The disclaimer text for AI answers', + }), + relatedSourcesText: translate({ + id: 'theme.SearchModal.askAiScreen.relatedSourcesText', + message: 'Related sources', + description: 'The text for related sources', + }), + thinkingText: translate({ + id: 'theme.SearchModal.askAiScreen.thinkingText', + message: 'Thinking...', + description: 'The text when AI is thinking', + }), + copyButtonText: translate({ + id: 'theme.SearchModal.askAiScreen.copyButtonText', + message: 'Copy', + description: 'The text for copy button', + }), + copyButtonCopiedText: translate({ + id: 'theme.SearchModal.askAiScreen.copyButtonCopiedText', + message: 'Copied!', + description: 'The text for copy button when copied', + }), + copyButtonTitle: translate({ + id: 'theme.SearchModal.askAiScreen.copyButtonTitle', + message: 'Copy', + description: 'The title for copy button', + }), + likeButtonTitle: translate({ + id: 'theme.SearchModal.askAiScreen.likeButtonTitle', + message: 'Like', + description: 'The title for like button', + }), + dislikeButtonTitle: translate({ + id: 'theme.SearchModal.askAiScreen.dislikeButtonTitle', + message: 'Dislike', + description: 'The title for dislike button', + }), + thanksForFeedbackText: translate({ + id: 'theme.SearchModal.askAiScreen.thanksForFeedbackText', + message: 'Thanks for your feedback!', + description: 'The text for thanks for feedback', + }), + preToolCallText: translate({ + id: 'theme.SearchModal.askAiScreen.preToolCallText', + message: 'Searching...', + description: 'The text before tool call', + }), + duringToolCallText: translate({ + id: 'theme.SearchModal.askAiScreen.duringToolCallText', + message: 'Searching for ', + description: 'The text during tool call', + }), + afterToolCallText: translate({ + id: 'theme.SearchModal.askAiScreen.afterToolCallText', + message: 'Searched for', + description: 'The text after tool call', }), }, footer: { selectText: translate({ id: 'theme.SearchModal.footer.selectText', - message: 'to select', - description: 'The explanatory text of the action for the enter key', + message: 'Select', + description: 'The select text for footer', + }), + submitQuestionText: translate({ + id: 'theme.SearchModal.footer.submitQuestionText', + message: 'Submit question', + description: 'The submit question text for footer', }), selectKeyAriaLabel: translate({ id: 'theme.SearchModal.footer.selectKeyAriaLabel', message: 'Enter key', - description: - 'The ARIA label for the Enter key button that makes the selection', + description: 'The ARIA label for select key in footer', }), navigateText: translate({ id: 'theme.SearchModal.footer.navigateText', - message: 'to navigate', - description: - 'The explanatory text of the action for the Arrow up and Arrow down key', + message: 'Navigate', + description: 'The navigate text for footer', }), navigateUpKeyAriaLabel: translate({ id: 'theme.SearchModal.footer.navigateUpKeyAriaLabel', message: 'Arrow up', - description: - 'The ARIA label for the Arrow up key button that makes the navigation', + description: 'The ARIA label for navigate up key in footer', }), navigateDownKeyAriaLabel: translate({ id: 'theme.SearchModal.footer.navigateDownKeyAriaLabel', message: 'Arrow down', - description: - 'The ARIA label for the Arrow down key button that makes the navigation', + description: 'The ARIA label for navigate down key in footer', }), closeText: translate({ id: 'theme.SearchModal.footer.closeText', - message: 'to close', - description: 'The explanatory text of the action for Escape key', + message: 'Close', + description: 'The close text for footer', }), closeKeyAriaLabel: translate({ id: 'theme.SearchModal.footer.closeKeyAriaLabel', message: 'Escape key', - description: - 'The ARIA label for the Escape key button that close the modal', + description: 'The ARIA label for close key in footer', + }), + poweredByText: translate({ + id: 'theme.SearchModal.footer.searchByText', + message: 'Powered by', + description: "The 'Powered by' text for footer", }), searchByText: translate({ id: 'theme.SearchModal.footer.searchByText', - message: 'Search by', - description: 'The text explain that the search is making by Algolia', + message: 'Powered by', + description: "The 'Powered by' text for footer", + }), + backToSearchText: translate({ + id: 'theme.SearchModal.footer.backToSearchText', + message: 'Back to search', + description: 'The back to search text for footer', }), }, noResultsScreen: { noResultsText: translate({ id: 'theme.SearchModal.noResultsScreen.noResultsText', - message: 'No results for', - description: - 'The text explains that there are no results for the following search', + message: 'No results found for', + description: 'The text when there are no results', }), suggestedQueryText: translate({ id: 'theme.SearchModal.noResultsScreen.suggestedQueryText', message: 'Try searching for', - description: - 'The text for the suggested query when no results are found for the following search', + description: 'The text for suggested query', }), reportMissingResultsText: translate({ id: 'theme.SearchModal.noResultsScreen.reportMissingResultsText', message: 'Believe this query should return results?', - description: - 'The text for the question where the user thinks there are missing results', + description: 'The text for reporting missing results', }), reportMissingResultsLinkText: translate({ id: 'theme.SearchModal.noResultsScreen.reportMissingResultsLinkText', message: 'Let us know.', - description: 'The text for the link to report missing results', + description: 'The link text for reporting missing results', }), }, }, diff --git a/packages/docusaurus-theme-search-algolia/src/validateThemeConfig.ts b/packages/docusaurus-theme-search-algolia/src/validateThemeConfig.ts index 2e1061d864..01a3bec255 100644 --- a/packages/docusaurus-theme-search-algolia/src/validateThemeConfig.ts +++ b/packages/docusaurus-theme-search-algolia/src/validateThemeConfig.ts @@ -7,22 +7,27 @@ import {escapeRegexp} from '@docusaurus/utils'; import {Joi} from '@docusaurus/utils-validation'; +import {version as docsearchVersion} from '@docsearch/react'; +import type {ThemeConfigValidationContext} from '@docusaurus/types'; import type { ThemeConfig, - ThemeConfigValidationContext, -} from '@docusaurus/types'; + ThemeConfigAlgolia, +} from '@docusaurus/theme-search-algolia'; export const DEFAULT_CONFIG = { // Enabled by default, as it makes sense in most cases // see also https://github.com/facebook/docusaurus/issues/5880 contextualSearch: true, - searchParameters: {}, searchPagePath: 'search', -}; +} satisfies Partial; + +const FacetFiltersSchema = Joi.array().items( + Joi.alternatives().try(Joi.string(), Joi.array().items(Joi.string())), +); export const Schema = Joi.object({ - algolia: Joi.object({ + algolia: Joi.object({ // Docusaurus attributes contextualSearch: Joi.boolean().default(DEFAULT_CONFIG.contextualSearch), externalUrlRegex: Joi.string().optional(), @@ -33,7 +38,9 @@ export const Schema = Joi.object({ }), apiKey: Joi.string().required(), indexName: Joi.string().required(), - searchParameters: Joi.object() + searchParameters: Joi.object({ + facetFilters: FacetFiltersSchema.optional(), + }) .default(DEFAULT_CONFIG.searchParameters) .unknown(), searchPagePath: Joi.alternatives() @@ -53,15 +60,85 @@ export const Schema = Joi.object({ }).required(), to: Joi.string().required(), }).optional(), + // Ask AI configuration (DocSearch v4 only) + askAi: Joi.alternatives() + .try( + // Simple string format (assistantId only) + Joi.string(), + // Full configuration object + Joi.object({ + indexName: Joi.string().required(), + apiKey: Joi.string().required(), + appId: Joi.string().required(), + assistantId: Joi.string().required(), + searchParameters: Joi.object({ + facetFilters: FacetFiltersSchema.optional(), + }).optional(), + }), + ) + .custom( + ( + askAiInput: string | ThemeConfigAlgolia['askAi'] | undefined, + helpers, + ) => { + if (!askAiInput) { + return askAiInput; + } + const algolia: ThemeConfigAlgolia = helpers.state.ancestors[0]; + const algoliaFacetFilters = algolia.searchParameters?.facetFilters; + if (typeof askAiInput === 'string') { + return { + assistantId: askAiInput, + indexName: algolia.indexName, + apiKey: algolia.apiKey, + appId: algolia.appId, + ...(algoliaFacetFilters + ? { + searchParameters: { + facetFilters: algoliaFacetFilters, + }, + } + : {}), + } satisfies ThemeConfigAlgolia['askAi']; + } + + if ( + askAiInput.searchParameters?.facetFilters === undefined && + algoliaFacetFilters + ) { + askAiInput.searchParameters = askAiInput.searchParameters ?? {}; + askAiInput.searchParameters.facetFilters = algoliaFacetFilters; + } + return askAiInput; + }, + ) + .optional() + .messages({ + 'alternatives.types': + 'askAi must be either a string (assistantId) or an object with indexName, apiKey, appId, and assistantId', + }), }) .label('themeConfig.algolia') .required() - .unknown(), // DocSearch 3 is still alpha: don't validate the rest for now + .unknown(), }); +function ensureAskAISupported(themeConfig: ThemeConfig) { + // enforce DocsSearch v4 requirement when AskAI is configured + if (themeConfig.algolia.askAi && !docsearchVersion.startsWith('4.')) { + throw new Error( + 'The askAi feature is only supported in DocSearch v4. ' + + 'Please upgrade to DocSearch v4 by installing "@docsearch/react": "^4.0.0" ' + + 'or remove the askAi configuration from your theme config.', + ); + } +} + export function validateThemeConfig({ validate, - themeConfig, + themeConfig: themeConfigInput, }: ThemeConfigValidationContext): ThemeConfig { - return validate(Schema, themeConfig); + const themeConfig = validate(Schema, themeConfigInput); + ensureAskAISupported(themeConfig); + return themeConfig; } diff --git a/packages/docusaurus-theme-translations/locales/ar/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/ar/theme-search-algolia.json index 69ce6e9ce6..43bd6253cd 100644 --- a/packages/docusaurus-theme-translations/locales/ar/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/ar/theme-search-algolia.json @@ -1,30 +1,55 @@ { "theme.SearchBar.label": "بحث", "theme.SearchBar.seeAll": "مشاهدة جميع {count} نتائج", + "theme.SearchModal.askAiScreen.afterToolCallText": "Searched for", + "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copied!", + "theme.SearchModal.askAiScreen.copyButtonText": "Copy", + "theme.SearchModal.askAiScreen.copyButtonTitle": "Copy", + "theme.SearchModal.askAiScreen.disclaimerText": "Answers are generated with AI which can make mistakes. Verify responses.", + "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Dislike", + "theme.SearchModal.askAiScreen.duringToolCallText": "Searching for ", + "theme.SearchModal.askAiScreen.likeButtonTitle": "Like", + "theme.SearchModal.askAiScreen.preToolCallText": "Searching...", + "theme.SearchModal.askAiScreen.relatedSourcesText": "Related sources", + "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Thanks for your feedback!", + "theme.SearchModal.askAiScreen.thinkingText": "Thinking...", "theme.SearchModal.errorScreen.helpText": "You might want to check your network connection.", "theme.SearchModal.errorScreen.titleText": "Unable to fetch results", + "theme.SearchModal.footer.backToSearchText": "Back to search", "theme.SearchModal.footer.closeKeyAriaLabel": "Escape key", "theme.SearchModal.footer.closeText": "to close", "theme.SearchModal.footer.navigateDownKeyAriaLabel": "Arrow down", "theme.SearchModal.footer.navigateText": "to navigate", "theme.SearchModal.footer.navigateUpKeyAriaLabel": "Arrow up", - "theme.SearchModal.footer.searchByText": "Search by", + "theme.SearchModal.footer.searchByText": "Powered by", "theme.SearchModal.footer.selectKeyAriaLabel": "Enter key", "theme.SearchModal.footer.selectText": "to select", + "theme.SearchModal.footer.submitQuestionText": "Submit question", "theme.SearchModal.noResultsScreen.noResultsText": "No results for", "theme.SearchModal.noResultsScreen.reportMissingResultsLinkText": "Let us know.", "theme.SearchModal.noResultsScreen.reportMissingResultsText": "Believe this query should return results?", "theme.SearchModal.noResultsScreen.suggestedQueryText": "Try searching for", "theme.SearchModal.placeholder": "Search docs", + "theme.SearchModal.resultsScreen.askAiPlaceholder": "Ask AI: ", + "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Back to keyword search", + "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Back to keyword search", "theme.SearchModal.searchBox.cancelButtonText": "Cancel", + "theme.SearchModal.searchBox.enterKeyHint": "search", + "theme.SearchModal.searchBox.enterKeyHintAskAi": "enter", + "theme.SearchModal.searchBox.placeholderText": "Search docs", + "theme.SearchModal.searchBox.placeholderTextAskAi": "Ask another question...", + "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Answering...", "theme.SearchModal.searchBox.resetButtonTitle": "Clear the query", + "theme.SearchModal.searchBox.searchInputLabel": "Search", "theme.SearchModal.startScreen.favoriteSearchesTitle": "Favorite", "theme.SearchModal.startScreen.noRecentSearchesText": "No recent searches", + "theme.SearchModal.startScreen.recentConversationsTitle": "Recent conversations", "theme.SearchModal.startScreen.recentSearchesTitle": "Recent", "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "Remove this search from favorites", + "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Remove this conversation from history", "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "Remove this search from history", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "Save this search", - "theme.SearchPage.algoliaLabel": "البحث بواسطه Algolia", + "theme.SearchPage.algoliaLabel": "مدعوم من Algolia", "theme.SearchPage.documentsFound.plurals": "تم العثور على مستند واحد|تم العثور على {count} مستندات", "theme.SearchPage.emptyResultsTitle": "ابحث في الوثائق", "theme.SearchPage.existingResultsTitle": "نتائج البحث عن \"{query}\"", diff --git a/packages/docusaurus-theme-translations/locales/base/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/base/theme-search-algolia.json index dc394f4d88..afa916b463 100644 --- a/packages/docusaurus-theme-translations/locales/base/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/base/theme-search-algolia.json @@ -2,54 +2,104 @@ "theme.SearchBar.label": "Search", "theme.SearchBar.label___DESCRIPTION": "The ARIA label and placeholder for search button", "theme.SearchBar.seeAll": "See all {count} results", + "theme.SearchModal.askAiScreen.afterToolCallText": "Searched for", + "theme.SearchModal.askAiScreen.afterToolCallText___DESCRIPTION": "The text after tool call", + "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copied!", + "theme.SearchModal.askAiScreen.copyButtonCopiedText___DESCRIPTION": "The text for copy button when copied", + "theme.SearchModal.askAiScreen.copyButtonText": "Copy", + "theme.SearchModal.askAiScreen.copyButtonText___DESCRIPTION": "The text for copy button", + "theme.SearchModal.askAiScreen.copyButtonTitle": "Copy", + "theme.SearchModal.askAiScreen.copyButtonTitle___DESCRIPTION": "The title for copy button", + "theme.SearchModal.askAiScreen.disclaimerText": "Answers are generated with AI which can make mistakes. Verify responses.", + "theme.SearchModal.askAiScreen.disclaimerText___DESCRIPTION": "The disclaimer text for AI answers", + "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Dislike", + "theme.SearchModal.askAiScreen.dislikeButtonTitle___DESCRIPTION": "The title for dislike button", + "theme.SearchModal.askAiScreen.duringToolCallText": "Searching for ", + "theme.SearchModal.askAiScreen.duringToolCallText___DESCRIPTION": "The text during tool call", + "theme.SearchModal.askAiScreen.likeButtonTitle": "Like", + "theme.SearchModal.askAiScreen.likeButtonTitle___DESCRIPTION": "The title for like button", + "theme.SearchModal.askAiScreen.preToolCallText": "Searching...", + "theme.SearchModal.askAiScreen.preToolCallText___DESCRIPTION": "The text before tool call", + "theme.SearchModal.askAiScreen.relatedSourcesText": "Related sources", + "theme.SearchModal.askAiScreen.relatedSourcesText___DESCRIPTION": "The text for related sources", + "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Thanks for your feedback!", + "theme.SearchModal.askAiScreen.thanksForFeedbackText___DESCRIPTION": "The text for thanks for feedback", + "theme.SearchModal.askAiScreen.thinkingText": "Thinking...", + "theme.SearchModal.askAiScreen.thinkingText___DESCRIPTION": "The text when AI is thinking", "theme.SearchModal.errorScreen.helpText": "You might want to check your network connection.", - "theme.SearchModal.errorScreen.helpText___DESCRIPTION": "The help text for error screen of search modal", + "theme.SearchModal.errorScreen.helpText___DESCRIPTION": "The help text for error screen", "theme.SearchModal.errorScreen.titleText": "Unable to fetch results", - "theme.SearchModal.errorScreen.titleText___DESCRIPTION": "The title for error screen of search modal", + "theme.SearchModal.errorScreen.titleText___DESCRIPTION": "The title for error screen", + "theme.SearchModal.footer.backToSearchText": "Back to search", + "theme.SearchModal.footer.backToSearchText___DESCRIPTION": "The back to search text for footer", "theme.SearchModal.footer.closeKeyAriaLabel": "Escape key", - "theme.SearchModal.footer.closeKeyAriaLabel___DESCRIPTION": "The ARIA label for the Escape key button that close the modal", - "theme.SearchModal.footer.closeText": "to close", - "theme.SearchModal.footer.closeText___DESCRIPTION": "The explanatory text of the action for Escape key", + "theme.SearchModal.footer.closeKeyAriaLabel___DESCRIPTION": "The ARIA label for close key in footer", + "theme.SearchModal.footer.closeText": "Close", + "theme.SearchModal.footer.closeText___DESCRIPTION": "The close text for footer", "theme.SearchModal.footer.navigateDownKeyAriaLabel": "Arrow down", - "theme.SearchModal.footer.navigateDownKeyAriaLabel___DESCRIPTION": "The ARIA label for the Arrow down key button that makes the navigation", - "theme.SearchModal.footer.navigateText": "to navigate", - "theme.SearchModal.footer.navigateText___DESCRIPTION": "The explanatory text of the action for the Arrow up and Arrow down key", + "theme.SearchModal.footer.navigateDownKeyAriaLabel___DESCRIPTION": "The ARIA label for navigate down key in footer", + "theme.SearchModal.footer.navigateText": "Navigate", + "theme.SearchModal.footer.navigateText___DESCRIPTION": "The navigate text for footer", "theme.SearchModal.footer.navigateUpKeyAriaLabel": "Arrow up", - "theme.SearchModal.footer.navigateUpKeyAriaLabel___DESCRIPTION": "The ARIA label for the Arrow up key button that makes the navigation", - "theme.SearchModal.footer.searchByText": "Search by", - "theme.SearchModal.footer.searchByText___DESCRIPTION": "The text explain that the search is making by Algolia", + "theme.SearchModal.footer.navigateUpKeyAriaLabel___DESCRIPTION": "The ARIA label for navigate up key in footer", + "theme.SearchModal.footer.searchByText": "Powered by", + "theme.SearchModal.footer.searchByText___DESCRIPTION": "The 'Powered by' text for footer", "theme.SearchModal.footer.selectKeyAriaLabel": "Enter key", - "theme.SearchModal.footer.selectKeyAriaLabel___DESCRIPTION": "The ARIA label for the Enter key button that makes the selection", - "theme.SearchModal.footer.selectText": "to select", - "theme.SearchModal.footer.selectText___DESCRIPTION": "The explanatory text of the action for the enter key", - "theme.SearchModal.noResultsScreen.noResultsText": "No results for", - "theme.SearchModal.noResultsScreen.noResultsText___DESCRIPTION": "The text explains that there are no results for the following search", + "theme.SearchModal.footer.selectKeyAriaLabel___DESCRIPTION": "The ARIA label for select key in footer", + "theme.SearchModal.footer.selectText": "Select", + "theme.SearchModal.footer.selectText___DESCRIPTION": "The select text for footer", + "theme.SearchModal.footer.submitQuestionText": "Submit question", + "theme.SearchModal.footer.submitQuestionText___DESCRIPTION": "The submit question text for footer", + "theme.SearchModal.noResultsScreen.noResultsText": "No results found for", + "theme.SearchModal.noResultsScreen.noResultsText___DESCRIPTION": "The text when there are no results", "theme.SearchModal.noResultsScreen.reportMissingResultsLinkText": "Let us know.", - "theme.SearchModal.noResultsScreen.reportMissingResultsLinkText___DESCRIPTION": "The text for the link to report missing results", + "theme.SearchModal.noResultsScreen.reportMissingResultsLinkText___DESCRIPTION": "The link text for reporting missing results", "theme.SearchModal.noResultsScreen.reportMissingResultsText": "Believe this query should return results?", - "theme.SearchModal.noResultsScreen.reportMissingResultsText___DESCRIPTION": "The text for the question where the user thinks there are missing results", + "theme.SearchModal.noResultsScreen.reportMissingResultsText___DESCRIPTION": "The text for reporting missing results", "theme.SearchModal.noResultsScreen.suggestedQueryText": "Try searching for", - "theme.SearchModal.noResultsScreen.suggestedQueryText___DESCRIPTION": "The text for the suggested query when no results are found for the following search", + "theme.SearchModal.noResultsScreen.suggestedQueryText___DESCRIPTION": "The text for suggested query", "theme.SearchModal.placeholder": "Search docs", "theme.SearchModal.placeholder___DESCRIPTION": "The placeholder of the input of the DocSearch pop-up modal", + "theme.SearchModal.resultsScreen.askAiPlaceholder": "Ask AI: ", + "theme.SearchModal.resultsScreen.askAiPlaceholder___DESCRIPTION": "The placeholder text for Ask AI input", + "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Back to keyword search", + "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel___DESCRIPTION": "The ARIA label for back to keyword search button", + "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Back to keyword search", + "theme.SearchModal.searchBox.backToKeywordSearchButtonText___DESCRIPTION": "The text for back to keyword search button", "theme.SearchModal.searchBox.cancelButtonText": "Cancel", "theme.SearchModal.searchBox.cancelButtonText___DESCRIPTION": "The label and ARIA label for search box cancel button", + "theme.SearchModal.searchBox.enterKeyHint": "search", + "theme.SearchModal.searchBox.enterKeyHint___DESCRIPTION": "The hint for the search box enter key text", + "theme.SearchModal.searchBox.enterKeyHintAskAi": "enter", + "theme.SearchModal.searchBox.enterKeyHintAskAi___DESCRIPTION": "The hint for the Ask AI search box enter key text", + "theme.SearchModal.searchBox.placeholderText": "Search docs", + "theme.SearchModal.searchBox.placeholderText___DESCRIPTION": "The placeholder text for the main search input field", + "theme.SearchModal.searchBox.placeholderTextAskAi": "Ask another question...", + "theme.SearchModal.searchBox.placeholderTextAskAi___DESCRIPTION": "The placeholder text when in AI question mode", + "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Answering...", + "theme.SearchModal.searchBox.placeholderTextAskAiStreaming___DESCRIPTION": "The placeholder text for search box when AI is streaming an answer", "theme.SearchModal.searchBox.resetButtonTitle": "Clear the query", "theme.SearchModal.searchBox.resetButtonTitle___DESCRIPTION": "The label and ARIA label for search box reset button", + "theme.SearchModal.searchBox.searchInputLabel": "Search", + "theme.SearchModal.searchBox.searchInputLabel___DESCRIPTION": "The ARIA label for search input", "theme.SearchModal.startScreen.favoriteSearchesTitle": "Favorite", "theme.SearchModal.startScreen.favoriteSearchesTitle___DESCRIPTION": "The title for favorite searches", "theme.SearchModal.startScreen.noRecentSearchesText": "No recent searches", - "theme.SearchModal.startScreen.noRecentSearchesText___DESCRIPTION": "The text when no recent searches", + "theme.SearchModal.startScreen.noRecentSearchesText___DESCRIPTION": "The text when there are no recent searches", + "theme.SearchModal.startScreen.recentConversationsTitle": "Recent conversations", + "theme.SearchModal.startScreen.recentConversationsTitle___DESCRIPTION": "The title for recent conversations", "theme.SearchModal.startScreen.recentSearchesTitle": "Recent", "theme.SearchModal.startScreen.recentSearchesTitle___DESCRIPTION": "The title for recent searches", "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "Remove this search from favorites", - "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle___DESCRIPTION": "The label for remove favorite search button", + "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle___DESCRIPTION": "The title for remove favorite search button", + "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Remove this conversation from history", + "theme.SearchModal.startScreen.removeRecentConversationButtonTitle___DESCRIPTION": "The title for remove recent conversation button", "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "Remove this search from history", - "theme.SearchModal.startScreen.removeRecentSearchButtonTitle___DESCRIPTION": "The label for remove recent search button", + "theme.SearchModal.startScreen.removeRecentSearchButtonTitle___DESCRIPTION": "The title for remove recent search button", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "Save this search", - "theme.SearchModal.startScreen.saveRecentSearchButtonTitle___DESCRIPTION": "The label for save recent search button", - "theme.SearchPage.algoliaLabel": "Search by Algolia", - "theme.SearchPage.algoliaLabel___DESCRIPTION": "The ARIA label for Algolia mention", + "theme.SearchModal.startScreen.saveRecentSearchButtonTitle___DESCRIPTION": "The title for save recent search button", + "theme.SearchPage.algoliaLabel": "Powered by Algolia", + "theme.SearchPage.algoliaLabel___DESCRIPTION": "The description label for Algolia mention", "theme.SearchPage.documentsFound.plurals": "One document found|{count} documents found", "theme.SearchPage.documentsFound.plurals___DESCRIPTION": "Pluralized label for \"{count} documents found\". Use as much plural forms (separated by \"|\") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)", "theme.SearchPage.emptyResultsTitle": "Search the documentation", diff --git a/packages/docusaurus-theme-translations/locales/bg/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/bg/theme-search-algolia.json index 100008c134..7442a4697c 100644 --- a/packages/docusaurus-theme-translations/locales/bg/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/bg/theme-search-algolia.json @@ -1,8 +1,21 @@ { "theme.SearchBar.label": "Търсене", "theme.SearchBar.seeAll": "Вижте всички {count} резултата", + "theme.SearchModal.askAiScreen.afterToolCallText": "Searched for", + "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copied!", + "theme.SearchModal.askAiScreen.copyButtonText": "Copy", + "theme.SearchModal.askAiScreen.copyButtonTitle": "Copy", + "theme.SearchModal.askAiScreen.disclaimerText": "Answers are generated with AI which can make mistakes. Verify responses.", + "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Dislike", + "theme.SearchModal.askAiScreen.duringToolCallText": "Searching for ", + "theme.SearchModal.askAiScreen.likeButtonTitle": "Like", + "theme.SearchModal.askAiScreen.preToolCallText": "Searching...", + "theme.SearchModal.askAiScreen.relatedSourcesText": "Related sources", + "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Thanks for your feedback!", + "theme.SearchModal.askAiScreen.thinkingText": "Thinking...", "theme.SearchModal.errorScreen.helpText": "Може да проверите вашата мрежова връзка.", "theme.SearchModal.errorScreen.titleText": "Не може да се извлекат резултати", + "theme.SearchModal.footer.backToSearchText": "Back to search", "theme.SearchModal.footer.closeKeyAriaLabel": "Клавиш Escape", "theme.SearchModal.footer.closeText": "за затваряне", "theme.SearchModal.footer.navigateDownKeyAriaLabel": "Стрелка надолу", @@ -11,25 +24,37 @@ "theme.SearchModal.footer.searchByText": "Търсене от", "theme.SearchModal.footer.selectKeyAriaLabel": "Клавиш Enter ", "theme.SearchModal.footer.selectText": "за избиране", + "theme.SearchModal.footer.submitQuestionText": "Submit question", "theme.SearchModal.noResultsScreen.noResultsText": "Няма резултати за", "theme.SearchModal.noResultsScreen.reportMissingResultsLinkText": "Информирай ни.", "theme.SearchModal.noResultsScreen.reportMissingResultsText": "Вярвате, че тази заявка трябва да върне резултати?", "theme.SearchModal.noResultsScreen.suggestedQueryText": "Опитайте да потърсите", "theme.SearchModal.placeholder": "Търсене в документацията", + "theme.SearchModal.resultsScreen.askAiPlaceholder": "Ask AI: ", + "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Back to keyword search", + "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Back to keyword search", "theme.SearchModal.searchBox.cancelButtonText": "Отказ", + "theme.SearchModal.searchBox.enterKeyHint": "search", + "theme.SearchModal.searchBox.enterKeyHintAskAi": "enter", + "theme.SearchModal.searchBox.placeholderText": "Search docs", + "theme.SearchModal.searchBox.placeholderTextAskAi": "Ask another question...", + "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Answering...", "theme.SearchModal.searchBox.resetButtonTitle": "Изчистване на заявката", + "theme.SearchModal.searchBox.searchInputLabel": "Search", "theme.SearchModal.startScreen.favoriteSearchesTitle": "Любими", "theme.SearchModal.startScreen.noRecentSearchesText": "Няма скорошни търсения", + "theme.SearchModal.startScreen.recentConversationsTitle": "Recent conversations", "theme.SearchModal.startScreen.recentSearchesTitle": "Скорошни", "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "Премахване на това търсене от любимите", + "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Remove this conversation from history", "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "Премахване това търсене от историята", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "Запазване това търсене", - "theme.SearchPage.algoliaLabel": "Търсене от Algolia", + "theme.SearchPage.algoliaLabel": "Задвижвано от Algolia", "theme.SearchPage.documentsFound.plurals": "Намерен е един документ|{count} намерени документи", "theme.SearchPage.emptyResultsTitle": "Потърсете в документацията", "theme.SearchPage.existingResultsTitle": "Резултати от търсенето за \"{query}\"", "theme.SearchPage.fetchingNewResults": "звличане на нови резултати...", "theme.SearchPage.inputLabel": "Търсене", - "theme.SearchPage.inputPlaceholder": "Въведете вашето търсене тук", - "theme.SearchPage.noResultsText": "Не бяха намерени резултати" + "theme.SearchPage.inputPlaceholder": "Въведете търсенето си тук", + "theme.SearchPage.noResultsText": "Няма намерени резултати" } diff --git a/packages/docusaurus-theme-translations/locales/bn/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/bn/theme-search-algolia.json index b6d157a5a5..0987b48e9d 100644 --- a/packages/docusaurus-theme-translations/locales/bn/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/bn/theme-search-algolia.json @@ -1,35 +1,60 @@ { - "theme.SearchBar.label": "সার্চ", - "theme.SearchBar.seeAll": "See all {count} results", - "theme.SearchModal.errorScreen.helpText": "You might want to check your network connection.", - "theme.SearchModal.errorScreen.titleText": "Unable to fetch results", - "theme.SearchModal.footer.closeKeyAriaLabel": "Escape key", - "theme.SearchModal.footer.closeText": "to close", - "theme.SearchModal.footer.navigateDownKeyAriaLabel": "Arrow down", - "theme.SearchModal.footer.navigateText": "to navigate", - "theme.SearchModal.footer.navigateUpKeyAriaLabel": "Arrow up", - "theme.SearchModal.footer.searchByText": "Search by", - "theme.SearchModal.footer.selectKeyAriaLabel": "Enter key", - "theme.SearchModal.footer.selectText": "to select", - "theme.SearchModal.noResultsScreen.noResultsText": "No results for", - "theme.SearchModal.noResultsScreen.reportMissingResultsLinkText": "Let us know.", - "theme.SearchModal.noResultsScreen.reportMissingResultsText": "Believe this query should return results?", - "theme.SearchModal.noResultsScreen.suggestedQueryText": "Try searching for", - "theme.SearchModal.placeholder": "Search docs", - "theme.SearchModal.searchBox.cancelButtonText": "Cancel", - "theme.SearchModal.searchBox.resetButtonTitle": "Clear the query", - "theme.SearchModal.startScreen.favoriteSearchesTitle": "Favorite", - "theme.SearchModal.startScreen.noRecentSearchesText": "No recent searches", - "theme.SearchModal.startScreen.recentSearchesTitle": "Recent", - "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "Remove this search from favorites", - "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "Remove this search from history", - "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "Save this search", - "theme.SearchPage.algoliaLabel": "আলগোলিয়া দ্বারা অনুসন্ধান করুন", - "theme.SearchPage.documentsFound.plurals": "একটি ডকুমেন্ট পাওয়া গেছে|{count} ডকুমেন্টস পাওয়া গেছে", - "theme.SearchPage.emptyResultsTitle": "ডকুমেন্টেশন অনুসন্ধান করুন", + "theme.SearchBar.label": "অনুসন্ধান", + "theme.SearchBar.seeAll": "সমস্ত {count}টি ফলাফল দেখুন", + "theme.SearchModal.askAiScreen.afterToolCallText": "Searched for", + "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copied!", + "theme.SearchModal.askAiScreen.copyButtonText": "Copy", + "theme.SearchModal.askAiScreen.copyButtonTitle": "Copy", + "theme.SearchModal.askAiScreen.disclaimerText": "Answers are generated with AI which can make mistakes. Verify responses.", + "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Dislike", + "theme.SearchModal.askAiScreen.duringToolCallText": "Searching for ", + "theme.SearchModal.askAiScreen.likeButtonTitle": "Like", + "theme.SearchModal.askAiScreen.preToolCallText": "Searching...", + "theme.SearchModal.askAiScreen.relatedSourcesText": "Related sources", + "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Thanks for your feedback!", + "theme.SearchModal.askAiScreen.thinkingText": "Thinking...", + "theme.SearchModal.errorScreen.helpText": "আপনি আপনার নেটওয়ার্ক সংযোগ পরীক্ষা করতে চাইতে পারেন।", + "theme.SearchModal.errorScreen.titleText": "ফলাফল আনতে অক্ষম", + "theme.SearchModal.footer.backToSearchText": "Back to search", + "theme.SearchModal.footer.closeKeyAriaLabel": "Escape কী", + "theme.SearchModal.footer.closeText": "বন্ধ করতে", + "theme.SearchModal.footer.navigateDownKeyAriaLabel": "তীর নিচে", + "theme.SearchModal.footer.navigateText": "নেভিগেট করতে", + "theme.SearchModal.footer.navigateUpKeyAriaLabel": "তীর উপরে", + "theme.SearchModal.footer.searchByText": "অনুসন্ধান দ্বারা", + "theme.SearchModal.footer.selectKeyAriaLabel": "Enter কী", + "theme.SearchModal.footer.selectText": "নির্বাচন করতে", + "theme.SearchModal.footer.submitQuestionText": "Submit question", + "theme.SearchModal.noResultsScreen.noResultsText": "কোনো ফলাফল পাওয়া যায়নি", + "theme.SearchModal.noResultsScreen.reportMissingResultsLinkText": "আমাদের জানান।", + "theme.SearchModal.noResultsScreen.reportMissingResultsText": "বিশ্বাস করেন এই অনুসন্ধানে ফলাফল থাকা উচিত?", + "theme.SearchModal.noResultsScreen.suggestedQueryText": "অনুসন্ধান করার চেষ্টা করুন", + "theme.SearchModal.placeholder": "ডক্স অনুসন্ধান করুন", + "theme.SearchModal.resultsScreen.askAiPlaceholder": "Ask AI: ", + "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Back to keyword search", + "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Back to keyword search", + "theme.SearchModal.searchBox.cancelButtonText": "বাতিল", + "theme.SearchModal.searchBox.enterKeyHint": "search", + "theme.SearchModal.searchBox.enterKeyHintAskAi": "enter", + "theme.SearchModal.searchBox.placeholderText": "Search docs", + "theme.SearchModal.searchBox.placeholderTextAskAi": "Ask another question...", + "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Answering...", + "theme.SearchModal.searchBox.resetButtonTitle": "অনুসন্ধান সাফ করুন", + "theme.SearchModal.searchBox.searchInputLabel": "Search", + "theme.SearchModal.startScreen.favoriteSearchesTitle": "প্রিয়", + "theme.SearchModal.startScreen.noRecentSearchesText": "কোনো সাম্প্রতিক অনুসন্ধান নেই", + "theme.SearchModal.startScreen.recentConversationsTitle": "Recent conversations", + "theme.SearchModal.startScreen.recentSearchesTitle": "সাম্প্রতিক", + "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "প্রিয় থেকে এই অনুসন্ধান সরান", + "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Remove this conversation from history", + "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "ইতিহাস থেকে এই অনুসন্ধান সরান", + "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "এই অনুসন্ধান সংরক্ষণ করুন", + "theme.SearchPage.algoliaLabel": "Algolia দ্বারা অনুসন্ধান", + "theme.SearchPage.documentsFound.plurals": "{count}টি ডকুমেন্ট পাওয়া গেছে", + "theme.SearchPage.emptyResultsTitle": "ডকুমেন্টেশনে অনুসন্ধান করুন", "theme.SearchPage.existingResultsTitle": "\"{query}\" এর জন্য অনুসন্ধান ফলাফল", "theme.SearchPage.fetchingNewResults": "নতুন ফলাফল আনা হচ্ছে...", - "theme.SearchPage.inputLabel": "সার্চ", - "theme.SearchPage.inputPlaceholder": "আপনার অনুসন্ধান এখানে টাইপ করুন", - "theme.SearchPage.noResultsText": "কোন ফলাফল পাওয়া যায়নি" + "theme.SearchPage.inputLabel": "অনুসন্ধান", + "theme.SearchPage.inputPlaceholder": "এখানে আপনার অনুসন্ধান লিখুন", + "theme.SearchPage.noResultsText": "কোনো ফলাফল পাওয়া যায়নি" } diff --git a/packages/docusaurus-theme-translations/locales/cs/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/cs/theme-search-algolia.json index 8c8d092d01..ebcd44bf65 100644 --- a/packages/docusaurus-theme-translations/locales/cs/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/cs/theme-search-algolia.json @@ -1,35 +1,60 @@ { - "theme.SearchBar.label": "Hledat", - "theme.SearchBar.seeAll": "See all {count} results", - "theme.SearchModal.errorScreen.helpText": "You might want to check your network connection.", - "theme.SearchModal.errorScreen.titleText": "Unable to fetch results", - "theme.SearchModal.footer.closeKeyAriaLabel": "Escape key", - "theme.SearchModal.footer.closeText": "to close", - "theme.SearchModal.footer.navigateDownKeyAriaLabel": "Arrow down", - "theme.SearchModal.footer.navigateText": "to navigate", - "theme.SearchModal.footer.navigateUpKeyAriaLabel": "Arrow up", - "theme.SearchModal.footer.searchByText": "Search by", - "theme.SearchModal.footer.selectKeyAriaLabel": "Enter key", - "theme.SearchModal.footer.selectText": "to select", - "theme.SearchModal.noResultsScreen.noResultsText": "No results for", - "theme.SearchModal.noResultsScreen.reportMissingResultsLinkText": "Let us know.", - "theme.SearchModal.noResultsScreen.reportMissingResultsText": "Believe this query should return results?", - "theme.SearchModal.noResultsScreen.suggestedQueryText": "Try searching for", - "theme.SearchModal.placeholder": "Search docs", - "theme.SearchModal.searchBox.cancelButtonText": "Cancel", - "theme.SearchModal.searchBox.resetButtonTitle": "Clear the query", - "theme.SearchModal.startScreen.favoriteSearchesTitle": "Favorite", - "theme.SearchModal.startScreen.noRecentSearchesText": "No recent searches", - "theme.SearchModal.startScreen.recentSearchesTitle": "Recent", - "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "Remove this search from favorites", - "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "Remove this search from history", - "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "Save this search", - "theme.SearchPage.algoliaLabel": "Vyhledávání od Algolia", - "theme.SearchPage.documentsFound.plurals": "Jeden dokument nalezen|{count} dokumenty nalezeny|{count} dokumentů nalezeno", + "theme.SearchBar.label": "Vyhledávání", + "theme.SearchBar.seeAll": "Zobrazit všech {count} výsledků", + "theme.SearchModal.askAiScreen.afterToolCallText": "Searched for", + "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copied!", + "theme.SearchModal.askAiScreen.copyButtonText": "Copy", + "theme.SearchModal.askAiScreen.copyButtonTitle": "Copy", + "theme.SearchModal.askAiScreen.disclaimerText": "Answers are generated with AI which can make mistakes. Verify responses.", + "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Dislike", + "theme.SearchModal.askAiScreen.duringToolCallText": "Searching for ", + "theme.SearchModal.askAiScreen.likeButtonTitle": "Like", + "theme.SearchModal.askAiScreen.preToolCallText": "Searching...", + "theme.SearchModal.askAiScreen.relatedSourcesText": "Related sources", + "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Thanks for your feedback!", + "theme.SearchModal.askAiScreen.thinkingText": "Thinking...", + "theme.SearchModal.errorScreen.helpText": "Možná byste měli zkontrolovat připojení k síti.", + "theme.SearchModal.errorScreen.titleText": "Nelze načíst výsledky", + "theme.SearchModal.footer.backToSearchText": "Back to search", + "theme.SearchModal.footer.closeKeyAriaLabel": "Klávesa Escape", + "theme.SearchModal.footer.closeText": "zavřít", + "theme.SearchModal.footer.navigateDownKeyAriaLabel": "Šipka dolů", + "theme.SearchModal.footer.navigateText": "navigovat", + "theme.SearchModal.footer.navigateUpKeyAriaLabel": "Šipka nahoru", + "theme.SearchModal.footer.searchByText": "Vyhledávání pomocí", + "theme.SearchModal.footer.selectKeyAriaLabel": "Klávesa Enter", + "theme.SearchModal.footer.selectText": "vybrat", + "theme.SearchModal.footer.submitQuestionText": "Submit question", + "theme.SearchModal.noResultsScreen.noResultsText": "Žádné výsledky pro", + "theme.SearchModal.noResultsScreen.reportMissingResultsLinkText": "Dejte nám vědět.", + "theme.SearchModal.noResultsScreen.reportMissingResultsText": "Věříte, že tento dotaz by měl vrátit výsledky?", + "theme.SearchModal.noResultsScreen.suggestedQueryText": "Zkuste vyhledat", + "theme.SearchModal.placeholder": "Prohledat dokumentaci", + "theme.SearchModal.resultsScreen.askAiPlaceholder": "Ask AI: ", + "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Back to keyword search", + "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Back to keyword search", + "theme.SearchModal.searchBox.cancelButtonText": "Zrušit", + "theme.SearchModal.searchBox.enterKeyHint": "search", + "theme.SearchModal.searchBox.enterKeyHintAskAi": "enter", + "theme.SearchModal.searchBox.placeholderText": "Search docs", + "theme.SearchModal.searchBox.placeholderTextAskAi": "Ask another question...", + "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Answering...", + "theme.SearchModal.searchBox.resetButtonTitle": "Vymazat dotaz", + "theme.SearchModal.searchBox.searchInputLabel": "Search", + "theme.SearchModal.startScreen.favoriteSearchesTitle": "Oblíbené", + "theme.SearchModal.startScreen.noRecentSearchesText": "Žádná nedávná vyhledávání", + "theme.SearchModal.startScreen.recentConversationsTitle": "Recent conversations", + "theme.SearchModal.startScreen.recentSearchesTitle": "Nedávné", + "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "Odebrat toto vyhledávání z oblíbených", + "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Remove this conversation from history", + "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "Odebrat toto vyhledávání z historie", + "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "Uložit toto vyhledávání", + "theme.SearchPage.algoliaLabel": "Vyhledávání pomocí Algolia", + "theme.SearchPage.documentsFound.plurals": "Nalezen {count} dokument", "theme.SearchPage.emptyResultsTitle": "Prohledat dokumentaci", "theme.SearchPage.existingResultsTitle": "Výsledky vyhledávání pro \"{query}\"", - "theme.SearchPage.fetchingNewResults": "Stahuji nové výsledky...", - "theme.SearchPage.inputLabel": "Hledat", - "theme.SearchPage.inputPlaceholder": "Zde napište hledaný text", - "theme.SearchPage.noResultsText": "Nic nebylo nalezeno" + "theme.SearchPage.fetchingNewResults": "Načítání nových výsledků...", + "theme.SearchPage.inputLabel": "Vyhledávání", + "theme.SearchPage.inputPlaceholder": "Zadejte hledaný text", + "theme.SearchPage.noResultsText": "Žádné výsledky nenalezeny" } diff --git a/packages/docusaurus-theme-translations/locales/da/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/da/theme-search-algolia.json index be4f094384..b04cf00c56 100644 --- a/packages/docusaurus-theme-translations/locales/da/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/da/theme-search-algolia.json @@ -1,30 +1,55 @@ { "theme.SearchBar.label": "Søg", "theme.SearchBar.seeAll": "See all {count} results", + "theme.SearchModal.askAiScreen.afterToolCallText": "Searched for", + "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copied!", + "theme.SearchModal.askAiScreen.copyButtonText": "Copy", + "theme.SearchModal.askAiScreen.copyButtonTitle": "Copy", + "theme.SearchModal.askAiScreen.disclaimerText": "Answers are generated with AI which can make mistakes. Verify responses.", + "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Dislike", + "theme.SearchModal.askAiScreen.duringToolCallText": "Searching for ", + "theme.SearchModal.askAiScreen.likeButtonTitle": "Like", + "theme.SearchModal.askAiScreen.preToolCallText": "Searching...", + "theme.SearchModal.askAiScreen.relatedSourcesText": "Related sources", + "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Thanks for your feedback!", + "theme.SearchModal.askAiScreen.thinkingText": "Thinking...", "theme.SearchModal.errorScreen.helpText": "You might want to check your network connection.", "theme.SearchModal.errorScreen.titleText": "Unable to fetch results", + "theme.SearchModal.footer.backToSearchText": "Back to search", "theme.SearchModal.footer.closeKeyAriaLabel": "Escape key", "theme.SearchModal.footer.closeText": "to close", "theme.SearchModal.footer.navigateDownKeyAriaLabel": "Arrow down", "theme.SearchModal.footer.navigateText": "to navigate", "theme.SearchModal.footer.navigateUpKeyAriaLabel": "Arrow up", - "theme.SearchModal.footer.searchByText": "Search by", + "theme.SearchModal.footer.searchByText": "Powered by", "theme.SearchModal.footer.selectKeyAriaLabel": "Enter key", "theme.SearchModal.footer.selectText": "to select", + "theme.SearchModal.footer.submitQuestionText": "Submit question", "theme.SearchModal.noResultsScreen.noResultsText": "No results for", "theme.SearchModal.noResultsScreen.reportMissingResultsLinkText": "Let us know.", "theme.SearchModal.noResultsScreen.reportMissingResultsText": "Believe this query should return results?", "theme.SearchModal.noResultsScreen.suggestedQueryText": "Try searching for", "theme.SearchModal.placeholder": "Search docs", + "theme.SearchModal.resultsScreen.askAiPlaceholder": "Ask AI: ", + "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Back to keyword search", + "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Back to keyword search", "theme.SearchModal.searchBox.cancelButtonText": "Cancel", + "theme.SearchModal.searchBox.enterKeyHint": "search", + "theme.SearchModal.searchBox.enterKeyHintAskAi": "enter", + "theme.SearchModal.searchBox.placeholderText": "Search docs", + "theme.SearchModal.searchBox.placeholderTextAskAi": "Ask another question...", + "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Answering...", "theme.SearchModal.searchBox.resetButtonTitle": "Clear the query", + "theme.SearchModal.searchBox.searchInputLabel": "Search", "theme.SearchModal.startScreen.favoriteSearchesTitle": "Favorite", "theme.SearchModal.startScreen.noRecentSearchesText": "No recent searches", + "theme.SearchModal.startScreen.recentConversationsTitle": "Recent conversations", "theme.SearchModal.startScreen.recentSearchesTitle": "Recent", "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "Remove this search from favorites", + "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Remove this conversation from history", "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "Remove this search from history", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "Save this search", - "theme.SearchPage.algoliaLabel": "Søg med Algolia", + "theme.SearchPage.algoliaLabel": "Drevet af Algolia", "theme.SearchPage.documentsFound.plurals": "Et dokument fundet|{count} dokumenter fundet", "theme.SearchPage.emptyResultsTitle": "Søg i dokumentationen", "theme.SearchPage.existingResultsTitle": "Søgeresultater for \"{query}\"", diff --git a/packages/docusaurus-theme-translations/locales/de/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/de/theme-search-algolia.json index 5aa48122ad..b9e69701c5 100644 --- a/packages/docusaurus-theme-translations/locales/de/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/de/theme-search-algolia.json @@ -1,30 +1,55 @@ { "theme.SearchBar.label": "Suche", "theme.SearchBar.seeAll": "Alle {count} Ergebnisse anzeigen", + "theme.SearchModal.askAiScreen.afterToolCallText": "Gesucht nach ", + "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Kopiert!", + "theme.SearchModal.askAiScreen.copyButtonText": "Kopieren", + "theme.SearchModal.askAiScreen.copyButtonTitle": "Kopieren", + "theme.SearchModal.askAiScreen.disclaimerText": "Antworten werden von KI generiert und können Fehler enthalten. Bitte überprüfen Sie die Antworten.", + "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Gefällt mir nicht", + "theme.SearchModal.askAiScreen.duringToolCallText": "Suche nach ", + "theme.SearchModal.askAiScreen.likeButtonTitle": "Gefällt mir", + "theme.SearchModal.askAiScreen.preToolCallText": "Suche...", + "theme.SearchModal.askAiScreen.relatedSourcesText": "Verwandte Quellen", + "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Danke für Ihr Feedback!", + "theme.SearchModal.askAiScreen.thinkingText": "Denkt nach...", "theme.SearchModal.errorScreen.helpText": "You might want to check your network connection.", "theme.SearchModal.errorScreen.titleText": "Unable to fetch results", + "theme.SearchModal.footer.backToSearchText": "Zurück zur Suche", "theme.SearchModal.footer.closeKeyAriaLabel": "Escape key", "theme.SearchModal.footer.closeText": "to close", "theme.SearchModal.footer.navigateDownKeyAriaLabel": "Arrow down", "theme.SearchModal.footer.navigateText": "to navigate", "theme.SearchModal.footer.navigateUpKeyAriaLabel": "Arrow up", - "theme.SearchModal.footer.searchByText": "Search by", + "theme.SearchModal.footer.searchByText": "Powered by", "theme.SearchModal.footer.selectKeyAriaLabel": "Enter key", "theme.SearchModal.footer.selectText": "to select", + "theme.SearchModal.footer.submitQuestionText": "Frage absenden", "theme.SearchModal.noResultsScreen.noResultsText": "No results for", "theme.SearchModal.noResultsScreen.reportMissingResultsLinkText": "Let us know.", "theme.SearchModal.noResultsScreen.reportMissingResultsText": "Believe this query should return results?", "theme.SearchModal.noResultsScreen.suggestedQueryText": "Try searching for", "theme.SearchModal.placeholder": "Search docs", + "theme.SearchModal.resultsScreen.askAiPlaceholder": "KI fragen: ", + "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Zurück zur Stichwortsuche", + "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Zurück zur Stichwortsuche", "theme.SearchModal.searchBox.cancelButtonText": "Cancel", + "theme.SearchModal.searchBox.enterKeyHint": "suchen", + "theme.SearchModal.searchBox.enterKeyHintAskAi": "eingeben", + "theme.SearchModal.searchBox.placeholderText": "Dokumentation durchsuchen", + "theme.SearchModal.searchBox.placeholderTextAskAi": "Weitere Frage stellen...", + "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Antwortet...", "theme.SearchModal.searchBox.resetButtonTitle": "Clear the query", + "theme.SearchModal.searchBox.searchInputLabel": "Suchen", "theme.SearchModal.startScreen.favoriteSearchesTitle": "Favorite", "theme.SearchModal.startScreen.noRecentSearchesText": "No recent searches", + "theme.SearchModal.startScreen.recentConversationsTitle": "Letzte Gespräche", "theme.SearchModal.startScreen.recentSearchesTitle": "Recent", "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "Remove this search from favorites", + "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Dieses Gespräch aus dem Verlauf entfernen", "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "Remove this search from history", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "Save this search", - "theme.SearchPage.algoliaLabel": "Suche von Algolia", + "theme.SearchPage.algoliaLabel": "Unterstützt von Algolia", "theme.SearchPage.documentsFound.plurals": "Ein Dokument gefunden|{count} Dokumente gefunden", "theme.SearchPage.emptyResultsTitle": "Suche in der Dokumentation", "theme.SearchPage.existingResultsTitle": "Suchergebnisse für \"{query}\"", diff --git a/packages/docusaurus-theme-translations/locales/es/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/es/theme-search-algolia.json index 987ba4194c..159dd5d749 100644 --- a/packages/docusaurus-theme-translations/locales/es/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/es/theme-search-algolia.json @@ -1,8 +1,21 @@ { "theme.SearchBar.label": "Buscar", "theme.SearchBar.seeAll": "Ver todos los {count} resultados", + "theme.SearchModal.askAiScreen.afterToolCallText": "Se buscó ", + "theme.SearchModal.askAiScreen.copyButtonCopiedText": "¡Copiado!", + "theme.SearchModal.askAiScreen.copyButtonText": "Copiar", + "theme.SearchModal.askAiScreen.copyButtonTitle": "Copiar", + "theme.SearchModal.askAiScreen.disclaimerText": "Las respuestas son generadas por IA y pueden contener errores. Verifique las respuestas.", + "theme.SearchModal.askAiScreen.dislikeButtonTitle": "No me gusta", + "theme.SearchModal.askAiScreen.duringToolCallText": "Buscando ", + "theme.SearchModal.askAiScreen.likeButtonTitle": "Me gusta", + "theme.SearchModal.askAiScreen.preToolCallText": "Buscando...", + "theme.SearchModal.askAiScreen.relatedSourcesText": "Fuentes relacionadas", + "theme.SearchModal.askAiScreen.thanksForFeedbackText": "¡Gracias por tu opinión!", + "theme.SearchModal.askAiScreen.thinkingText": "Pensando...", "theme.SearchModal.errorScreen.helpText": "Quizás quieras comprobar tu conexión de red.", "theme.SearchModal.errorScreen.titleText": "No se pueden obtener resultados", + "theme.SearchModal.footer.backToSearchText": "Volver a la búsqueda", "theme.SearchModal.footer.closeKeyAriaLabel": "tecla Escape", "theme.SearchModal.footer.closeText": "cerrar", "theme.SearchModal.footer.navigateDownKeyAriaLabel": "Flecha abajo", @@ -11,20 +24,32 @@ "theme.SearchModal.footer.searchByText": "Buscar por", "theme.SearchModal.footer.selectKeyAriaLabel": "tecla Enter", "theme.SearchModal.footer.selectText": "seleccionar", + "theme.SearchModal.footer.submitQuestionText": "Enviar pregunta", "theme.SearchModal.noResultsScreen.noResultsText": "Sin resultados para", "theme.SearchModal.noResultsScreen.reportMissingResultsLinkText": "Háganos saber.", "theme.SearchModal.noResultsScreen.reportMissingResultsText": "Crees que esta consulta debería devolver resultados?", "theme.SearchModal.noResultsScreen.suggestedQueryText": "Intenta buscando por", "theme.SearchModal.placeholder": "Buscar documentos", + "theme.SearchModal.resultsScreen.askAiPlaceholder": "Preguntar a la IA: ", + "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Volver a búsqueda por palabras clave", + "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Volver a búsqueda por palabras clave", "theme.SearchModal.searchBox.cancelButtonText": "Cancelar", + "theme.SearchModal.searchBox.enterKeyHint": "buscar", + "theme.SearchModal.searchBox.enterKeyHintAskAi": "enviar", + "theme.SearchModal.searchBox.placeholderText": "Buscar documentos", + "theme.SearchModal.searchBox.placeholderTextAskAi": "Hacer otra pregunta...", + "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Respondiendo...", "theme.SearchModal.searchBox.resetButtonTitle": "Limpiar la búsqueda", + "theme.SearchModal.searchBox.searchInputLabel": "Buscar", "theme.SearchModal.startScreen.favoriteSearchesTitle": "Favorito", "theme.SearchModal.startScreen.noRecentSearchesText": "Sin búsquedas recientes", + "theme.SearchModal.startScreen.recentConversationsTitle": "Conversaciones recientes", "theme.SearchModal.startScreen.recentSearchesTitle": "Reciente", "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "Eliminar esta búsqueda de favoritos", + "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Eliminar esta conversación del historial", "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "Eliminar esta búsqueda del historial", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "Guardar esta búsqueda", - "theme.SearchPage.algoliaLabel": "Búsqueda por Algolia", + "theme.SearchPage.algoliaLabel": "Con tecnología de Algolia", "theme.SearchPage.documentsFound.plurals": "Un documento encontrado|{count} documentos encontrados", "theme.SearchPage.emptyResultsTitle": "Búsqueda en la documentación", "theme.SearchPage.existingResultsTitle": "Resultados de búsqueda para \"{query}\"", diff --git a/packages/docusaurus-theme-translations/locales/et/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/et/theme-search-algolia.json index 2d63010512..87f07ec7e2 100644 --- a/packages/docusaurus-theme-translations/locales/et/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/et/theme-search-algolia.json @@ -1,8 +1,21 @@ { "theme.SearchBar.label": "Otsi", "theme.SearchBar.seeAll": "Vaata kõiki {count} tulemust", + "theme.SearchModal.askAiScreen.afterToolCallText": "Searched for", + "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copied!", + "theme.SearchModal.askAiScreen.copyButtonText": "Copy", + "theme.SearchModal.askAiScreen.copyButtonTitle": "Copy", + "theme.SearchModal.askAiScreen.disclaimerText": "Answers are generated with AI which can make mistakes. Verify responses.", + "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Dislike", + "theme.SearchModal.askAiScreen.duringToolCallText": "Searching for ", + "theme.SearchModal.askAiScreen.likeButtonTitle": "Like", + "theme.SearchModal.askAiScreen.preToolCallText": "Searching...", + "theme.SearchModal.askAiScreen.relatedSourcesText": "Related sources", + "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Thanks for your feedback!", + "theme.SearchModal.askAiScreen.thinkingText": "Thinking...", "theme.SearchModal.errorScreen.helpText": "Kontrolli interneti ühendust.", "theme.SearchModal.errorScreen.titleText": "Tulemuste pärimine ebaõnnestus", + "theme.SearchModal.footer.backToSearchText": "Back to search", "theme.SearchModal.footer.closeKeyAriaLabel": "Paoklahvi nuppu", "theme.SearchModal.footer.closeText": "sulgemiseks", "theme.SearchModal.footer.navigateDownKeyAriaLabel": "Alla noolt", @@ -11,25 +24,37 @@ "theme.SearchModal.footer.searchByText": "Otsi", "theme.SearchModal.footer.selectKeyAriaLabel": "Sisestusklahvi nuppu", "theme.SearchModal.footer.selectText": "valimiseks", + "theme.SearchModal.footer.submitQuestionText": "Submit question", "theme.SearchModal.noResultsScreen.noResultsText": "Tulemused puuduvad päringule", "theme.SearchModal.noResultsScreen.reportMissingResultsLinkText": "Anna meile teada.", "theme.SearchModal.noResultsScreen.reportMissingResultsText": "Usud, et see päring peaks tulemuse andma?", "theme.SearchModal.noResultsScreen.suggestedQueryText": "Proovi otsida", "theme.SearchModal.placeholder": "Otsi dokumente", + "theme.SearchModal.resultsScreen.askAiPlaceholder": "Ask AI: ", + "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Back to keyword search", + "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Back to keyword search", "theme.SearchModal.searchBox.cancelButtonText": "Tühista", + "theme.SearchModal.searchBox.enterKeyHint": "search", + "theme.SearchModal.searchBox.enterKeyHintAskAi": "enter", + "theme.SearchModal.searchBox.placeholderText": "Search docs", + "theme.SearchModal.searchBox.placeholderTextAskAi": "Ask another question...", + "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Answering...", "theme.SearchModal.searchBox.resetButtonTitle": "Puhasta päring", + "theme.SearchModal.searchBox.searchInputLabel": "Search", "theme.SearchModal.startScreen.favoriteSearchesTitle": "Lemmik", "theme.SearchModal.startScreen.noRecentSearchesText": "Hiljutised otsingud puuduvad", + "theme.SearchModal.startScreen.recentConversationsTitle": "Recent conversations", "theme.SearchModal.startScreen.recentSearchesTitle": "Hiljutised", - "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "Kustuta see päring lemmikute seast", - "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "Kustuta see päring ajaloost", - "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "Salvesta see päring", - "theme.SearchPage.algoliaLabel": "Algolia otsing", - "theme.SearchPage.documentsFound.plurals": "Üks dokument leitud|{count} dokumenti leitud", - "theme.SearchPage.emptyResultsTitle": "Otsi dokumentatsioonist", - "theme.SearchPage.existingResultsTitle": "Otsi tulemust päringule \"{query}\"", - "theme.SearchPage.fetchingNewResults": "Pärib uusi tulemusi...", - "theme.SearchPage.inputLabel": "Otsi", - "theme.SearchPage.inputPlaceholder": "Kirjuta oma päring siia", + "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "Eemalda see otsing lemmikutest", + "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Remove this conversation from history", + "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "Eemalda see otsing ajaloost", + "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "Salvesta see otsing", + "theme.SearchPage.algoliaLabel": "Otsingu võimaldab Algolia", + "theme.SearchPage.documentsFound.plurals": "Leitud {count} dokument", + "theme.SearchPage.emptyResultsTitle": "Otsi dokumentatsioonis", + "theme.SearchPage.existingResultsTitle": "Otsingutulemused päringule \"{query}\"", + "theme.SearchPage.fetchingNewResults": "Uute tulemuste laadimine...", + "theme.SearchPage.inputLabel": "Otsing", + "theme.SearchPage.inputPlaceholder": "Sisesta oma otsing siia", "theme.SearchPage.noResultsText": "Tulemusi ei leitud" } diff --git a/packages/docusaurus-theme-translations/locales/fa/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/fa/theme-search-algolia.json index e9108bc9da..4b237da096 100644 --- a/packages/docusaurus-theme-translations/locales/fa/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/fa/theme-search-algolia.json @@ -1,8 +1,21 @@ { "theme.SearchBar.label": "جستجو", "theme.SearchBar.seeAll": "نمایش {count} نتیجه", + "theme.SearchModal.askAiScreen.afterToolCallText": "Searched for", + "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copied!", + "theme.SearchModal.askAiScreen.copyButtonText": "Copy", + "theme.SearchModal.askAiScreen.copyButtonTitle": "Copy", + "theme.SearchModal.askAiScreen.disclaimerText": "Answers are generated with AI which can make mistakes. Verify responses.", + "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Dislike", + "theme.SearchModal.askAiScreen.duringToolCallText": "Searching for ", + "theme.SearchModal.askAiScreen.likeButtonTitle": "Like", + "theme.SearchModal.askAiScreen.preToolCallText": "Searching...", + "theme.SearchModal.askAiScreen.relatedSourcesText": "Related sources", + "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Thanks for your feedback!", + "theme.SearchModal.askAiScreen.thinkingText": "Thinking...", "theme.SearchModal.errorScreen.helpText": "لطفا اتصال شبکه خود را بررسی کنید.", "theme.SearchModal.errorScreen.titleText": "دریافت نتایج ممکن نیست", + "theme.SearchModal.footer.backToSearchText": "Back to search", "theme.SearchModal.footer.closeKeyAriaLabel": "کلید Escape", "theme.SearchModal.footer.closeText": "بستن", "theme.SearchModal.footer.navigateDownKeyAriaLabel": "کلید پایین", @@ -11,25 +24,37 @@ "theme.SearchModal.footer.searchByText": "جستجو برای", "theme.SearchModal.footer.selectKeyAriaLabel": "کلید اینتر", "theme.SearchModal.footer.selectText": "انتخاب", + "theme.SearchModal.footer.submitQuestionText": "Submit question", "theme.SearchModal.noResultsScreen.noResultsText": "هیچ نتیجه ای برای", "theme.SearchModal.noResultsScreen.reportMissingResultsLinkText": "با ما در میان بگذارید.", "theme.SearchModal.noResultsScreen.reportMissingResultsText": "آیا اطمینان دارید این جستجو باید نتیجه ای داشته باشد؟", "theme.SearchModal.noResultsScreen.suggestedQueryText": "جستجو پیشنهادی برای", "theme.SearchModal.placeholder": "جستجوی مستندات", + "theme.SearchModal.resultsScreen.askAiPlaceholder": "Ask AI: ", + "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Back to keyword search", + "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Back to keyword search", "theme.SearchModal.searchBox.cancelButtonText": "کنسل", + "theme.SearchModal.searchBox.enterKeyHint": "search", + "theme.SearchModal.searchBox.enterKeyHintAskAi": "enter", + "theme.SearchModal.searchBox.placeholderText": "Search docs", + "theme.SearchModal.searchBox.placeholderTextAskAi": "Ask another question...", + "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Answering...", "theme.SearchModal.searchBox.resetButtonTitle": "پاک کردن جستجو", + "theme.SearchModal.searchBox.searchInputLabel": "Search", "theme.SearchModal.startScreen.favoriteSearchesTitle": "برگزیده", "theme.SearchModal.startScreen.noRecentSearchesText": "جستجوی اخیر مشاهده نشد", + "theme.SearchModal.startScreen.recentConversationsTitle": "Recent conversations", "theme.SearchModal.startScreen.recentSearchesTitle": "اخیرا", "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "این جستجو از برگزیده ها پاک شود", + "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Remove this conversation from history", "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "این جستجو از تاریخچه پاک شود", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "ذخیره این جستجو", - "theme.SearchPage.algoliaLabel": "جستجو با Algolia", + "theme.SearchPage.algoliaLabel": "قدرت گرفته از Algolia", "theme.SearchPage.documentsFound.plurals": "یک مورد پیدا شد|{count} مورد پیدا شد", "theme.SearchPage.emptyResultsTitle": "جستجو در متن", "theme.SearchPage.existingResultsTitle": "جستجو برای عبارت \"{query}\"", "theme.SearchPage.fetchingNewResults": "در حال دریافت نتایج...", "theme.SearchPage.inputLabel": "جستجو", - "theme.SearchPage.inputPlaceholder": "عبارت مورد نظر را اینجا بنویسید", - "theme.SearchPage.noResultsText": "هیچ نتیجه ای پیدا نشد" + "theme.SearchPage.inputPlaceholder": "جستجوی خود را اینجا تایپ کنید", + "theme.SearchPage.noResultsText": "هیچ نتیجه‌ای پیدا نشد" } diff --git a/packages/docusaurus-theme-translations/locales/fil/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/fil/theme-search-algolia.json index d17d797ded..ec81fd9efe 100644 --- a/packages/docusaurus-theme-translations/locales/fil/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/fil/theme-search-algolia.json @@ -1,35 +1,60 @@ { "theme.SearchBar.label": "Maghanap", "theme.SearchBar.seeAll": "See all {count} results", + "theme.SearchModal.askAiScreen.afterToolCallText": "Searched for", + "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copied!", + "theme.SearchModal.askAiScreen.copyButtonText": "Copy", + "theme.SearchModal.askAiScreen.copyButtonTitle": "Copy", + "theme.SearchModal.askAiScreen.disclaimerText": "Answers are generated with AI which can make mistakes. Verify responses.", + "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Dislike", + "theme.SearchModal.askAiScreen.duringToolCallText": "Searching for ", + "theme.SearchModal.askAiScreen.likeButtonTitle": "Like", + "theme.SearchModal.askAiScreen.preToolCallText": "Searching...", + "theme.SearchModal.askAiScreen.relatedSourcesText": "Related sources", + "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Thanks for your feedback!", + "theme.SearchModal.askAiScreen.thinkingText": "Thinking...", "theme.SearchModal.errorScreen.helpText": "You might want to check your network connection.", "theme.SearchModal.errorScreen.titleText": "Unable to fetch results", + "theme.SearchModal.footer.backToSearchText": "Back to search", "theme.SearchModal.footer.closeKeyAriaLabel": "Escape key", "theme.SearchModal.footer.closeText": "to close", "theme.SearchModal.footer.navigateDownKeyAriaLabel": "Arrow down", "theme.SearchModal.footer.navigateText": "to navigate", "theme.SearchModal.footer.navigateUpKeyAriaLabel": "Arrow up", - "theme.SearchModal.footer.searchByText": "Search by", + "theme.SearchModal.footer.searchByText": "Powered by", "theme.SearchModal.footer.selectKeyAriaLabel": "Enter key", "theme.SearchModal.footer.selectText": "to select", + "theme.SearchModal.footer.submitQuestionText": "Submit question", "theme.SearchModal.noResultsScreen.noResultsText": "No results for", "theme.SearchModal.noResultsScreen.reportMissingResultsLinkText": "Let us know.", "theme.SearchModal.noResultsScreen.reportMissingResultsText": "Believe this query should return results?", "theme.SearchModal.noResultsScreen.suggestedQueryText": "Try searching for", "theme.SearchModal.placeholder": "Search docs", + "theme.SearchModal.resultsScreen.askAiPlaceholder": "Ask AI: ", + "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Back to keyword search", + "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Back to keyword search", "theme.SearchModal.searchBox.cancelButtonText": "Cancel", + "theme.SearchModal.searchBox.enterKeyHint": "search", + "theme.SearchModal.searchBox.enterKeyHintAskAi": "enter", + "theme.SearchModal.searchBox.placeholderText": "Search docs", + "theme.SearchModal.searchBox.placeholderTextAskAi": "Ask another question...", + "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Answering...", "theme.SearchModal.searchBox.resetButtonTitle": "Clear the query", + "theme.SearchModal.searchBox.searchInputLabel": "Search", "theme.SearchModal.startScreen.favoriteSearchesTitle": "Favorite", "theme.SearchModal.startScreen.noRecentSearchesText": "No recent searches", + "theme.SearchModal.startScreen.recentConversationsTitle": "Recent conversations", "theme.SearchModal.startScreen.recentSearchesTitle": "Recent", "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "Remove this search from favorites", + "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Remove this conversation from history", "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "Remove this search from history", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "Save this search", - "theme.SearchPage.algoliaLabel": "Paghahanap hatid ng Algolia", + "theme.SearchPage.algoliaLabel": "Pinapagana ng Algolia", "theme.SearchPage.documentsFound.plurals": "Isang dokumento ang nahanap|{count} na mga dokumento ang nahanap", "theme.SearchPage.emptyResultsTitle": "Maghanap sa dokumentasyón", "theme.SearchPage.existingResultsTitle": "Resulta ng paghahanap para sa \"{query}\"", "theme.SearchPage.fetchingNewResults": "Kumukuha ng mga bagong resulta...", "theme.SearchPage.inputLabel": "Maghanap", - "theme.SearchPage.inputPlaceholder": "I-type and inyong hinahanap dito", - "theme.SearchPage.noResultsText": "Walang resultang nahanap" + "theme.SearchPage.inputPlaceholder": "I-type ang inyong paghahanap dito", + "theme.SearchPage.noResultsText": "Walang nahanap na resulta" } diff --git a/packages/docusaurus-theme-translations/locales/fr/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/fr/theme-search-algolia.json index be970d1af6..2eda7f3db5 100644 --- a/packages/docusaurus-theme-translations/locales/fr/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/fr/theme-search-algolia.json @@ -1,8 +1,21 @@ { "theme.SearchBar.label": "Chercher", "theme.SearchBar.seeAll": "Voir les {count} résultats", + "theme.SearchModal.askAiScreen.afterToolCallText": "Recherche effectuée pour ", + "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copié !", + "theme.SearchModal.askAiScreen.copyButtonText": "Copier", + "theme.SearchModal.askAiScreen.copyButtonTitle": "Copier", + "theme.SearchModal.askAiScreen.disclaimerText": "Les réponses sont générées par l'IA et peuvent contenir des erreurs. Veuillez vérifier les réponses.", + "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Je n'aime pas", + "theme.SearchModal.askAiScreen.duringToolCallText": "Recherche de ", + "theme.SearchModal.askAiScreen.likeButtonTitle": "J'aime", + "theme.SearchModal.askAiScreen.preToolCallText": "Recherche en cours...", + "theme.SearchModal.askAiScreen.relatedSourcesText": "Sources connexes", + "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Merci pour votre retour !", + "theme.SearchModal.askAiScreen.thinkingText": "Réflexion en cours...", "theme.SearchModal.errorScreen.helpText": "Vous pouvez vérifier votre connexion réseau.", "theme.SearchModal.errorScreen.titleText": "Impossible de récupérer les résultats", + "theme.SearchModal.footer.backToSearchText": "Retour à la recherche", "theme.SearchModal.footer.closeKeyAriaLabel": "Touche Echap", "theme.SearchModal.footer.closeText": "fermer", "theme.SearchModal.footer.navigateDownKeyAriaLabel": "Flèche vers le bas", @@ -11,20 +24,32 @@ "theme.SearchModal.footer.searchByText": "Recherche via", "theme.SearchModal.footer.selectKeyAriaLabel": "Touche Entrée", "theme.SearchModal.footer.selectText": "sélectionner", + "theme.SearchModal.footer.submitQuestionText": "Soumettre la question", "theme.SearchModal.noResultsScreen.noResultsText": "Aucun résultat pour", "theme.SearchModal.noResultsScreen.reportMissingResultsLinkText": "Faites-le nous savoir.", "theme.SearchModal.noResultsScreen.reportMissingResultsText": "Vous pensez que cette requête doit donner des résultats ?", "theme.SearchModal.noResultsScreen.suggestedQueryText": "Essayez de chercher", "theme.SearchModal.placeholder": "Rechercher des docs", + "theme.SearchModal.resultsScreen.askAiPlaceholder": "Demander à l'IA : ", + "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Retour à la recherche par mots-clés", + "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Retour à la recherche par mots-clés", "theme.SearchModal.searchBox.cancelButtonText": "Annuler", + "theme.SearchModal.searchBox.enterKeyHint": "rechercher", + "theme.SearchModal.searchBox.enterKeyHintAskAi": "entrée", + "theme.SearchModal.searchBox.placeholderText": "Rechercher des docs", + "theme.SearchModal.searchBox.placeholderTextAskAi": "Poser une autre question...", + "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "En train de répondre...", "theme.SearchModal.searchBox.resetButtonTitle": "Effacer la requête", + "theme.SearchModal.searchBox.searchInputLabel": "Rechercher", "theme.SearchModal.startScreen.favoriteSearchesTitle": "Favoris", "theme.SearchModal.startScreen.noRecentSearchesText": "Aucune recherche récente", + "theme.SearchModal.startScreen.recentConversationsTitle": "Conversations récentes", "theme.SearchModal.startScreen.recentSearchesTitle": "Récemment", "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "Supprimer cette recherche des favoris", + "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Supprimer cette conversation de l'historique", "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "Supprimer cette recherche de l'historique", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "Sauvegarder cette recherche", - "theme.SearchPage.algoliaLabel": "Recherche par Algolia", + "theme.SearchPage.algoliaLabel": "Fourni par Algolia", "theme.SearchPage.documentsFound.plurals": "Un document trouvé|{count} documents trouvés", "theme.SearchPage.emptyResultsTitle": "Rechercher dans la documentation", "theme.SearchPage.existingResultsTitle": "Résultats de recherche pour « {query} »", diff --git a/packages/docusaurus-theme-translations/locales/he/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/he/theme-search-algolia.json index 75f2ca642c..43d6a07b78 100644 --- a/packages/docusaurus-theme-translations/locales/he/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/he/theme-search-algolia.json @@ -1,35 +1,60 @@ { "theme.SearchBar.label": "חיפוש", "theme.SearchBar.seeAll": "See all {count} results", + "theme.SearchModal.askAiScreen.afterToolCallText": "Searched for", + "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copied!", + "theme.SearchModal.askAiScreen.copyButtonText": "Copy", + "theme.SearchModal.askAiScreen.copyButtonTitle": "Copy", + "theme.SearchModal.askAiScreen.disclaimerText": "Answers are generated with AI which can make mistakes. Verify responses.", + "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Dislike", + "theme.SearchModal.askAiScreen.duringToolCallText": "Searching for ", + "theme.SearchModal.askAiScreen.likeButtonTitle": "Like", + "theme.SearchModal.askAiScreen.preToolCallText": "Searching...", + "theme.SearchModal.askAiScreen.relatedSourcesText": "Related sources", + "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Thanks for your feedback!", + "theme.SearchModal.askAiScreen.thinkingText": "Thinking...", "theme.SearchModal.errorScreen.helpText": "You might want to check your network connection.", "theme.SearchModal.errorScreen.titleText": "Unable to fetch results", + "theme.SearchModal.footer.backToSearchText": "Back to search", "theme.SearchModal.footer.closeKeyAriaLabel": "Escape key", "theme.SearchModal.footer.closeText": "to close", "theme.SearchModal.footer.navigateDownKeyAriaLabel": "Arrow down", "theme.SearchModal.footer.navigateText": "to navigate", "theme.SearchModal.footer.navigateUpKeyAriaLabel": "Arrow up", - "theme.SearchModal.footer.searchByText": "Search by", + "theme.SearchModal.footer.searchByText": "Powered by", "theme.SearchModal.footer.selectKeyAriaLabel": "Enter key", "theme.SearchModal.footer.selectText": "to select", + "theme.SearchModal.footer.submitQuestionText": "Submit question", "theme.SearchModal.noResultsScreen.noResultsText": "No results for", "theme.SearchModal.noResultsScreen.reportMissingResultsLinkText": "Let us know.", "theme.SearchModal.noResultsScreen.reportMissingResultsText": "Believe this query should return results?", "theme.SearchModal.noResultsScreen.suggestedQueryText": "Try searching for", "theme.SearchModal.placeholder": "Search docs", + "theme.SearchModal.resultsScreen.askAiPlaceholder": "Ask AI: ", + "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Back to keyword search", + "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Back to keyword search", "theme.SearchModal.searchBox.cancelButtonText": "Cancel", + "theme.SearchModal.searchBox.enterKeyHint": "search", + "theme.SearchModal.searchBox.enterKeyHintAskAi": "enter", + "theme.SearchModal.searchBox.placeholderText": "Search docs", + "theme.SearchModal.searchBox.placeholderTextAskAi": "Ask another question...", + "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Answering...", "theme.SearchModal.searchBox.resetButtonTitle": "Clear the query", + "theme.SearchModal.searchBox.searchInputLabel": "Search", "theme.SearchModal.startScreen.favoriteSearchesTitle": "Favorite", "theme.SearchModal.startScreen.noRecentSearchesText": "No recent searches", + "theme.SearchModal.startScreen.recentConversationsTitle": "Recent conversations", "theme.SearchModal.startScreen.recentSearchesTitle": "Recent", "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "Remove this search from favorites", + "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Remove this conversation from history", "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "Remove this search from history", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "Save this search", - "theme.SearchPage.algoliaLabel": "חיפוש by Algolia", + "theme.SearchPage.algoliaLabel": "מופעל על ידי Algolia", "theme.SearchPage.documentsFound.plurals": "נמצא מסמך אחד|{count} מסמכים נמצאו|{count} מסמכים נמצאו|{count} מסמכים נמצאו", "theme.SearchPage.emptyResultsTitle": "חפש בדוקומנטאציה", "theme.SearchPage.existingResultsTitle": "תוצאות חיפוש עבור \"{query}\"", "theme.SearchPage.fetchingNewResults": "טוען תוצאות חיפוש חדשות...", "theme.SearchPage.inputLabel": "חיפוש", - "theme.SearchPage.inputPlaceholder": "הקלד כאן לחיפוש", + "theme.SearchPage.inputPlaceholder": "הקלד את החיפוש שלך כאן", "theme.SearchPage.noResultsText": "לא נמצאו תוצאות" } diff --git a/packages/docusaurus-theme-translations/locales/hi/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/hi/theme-search-algolia.json index f718a2fac5..46f24d198e 100644 --- a/packages/docusaurus-theme-translations/locales/hi/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/hi/theme-search-algolia.json @@ -1,35 +1,60 @@ { "theme.SearchBar.label": "खोज करें", "theme.SearchBar.seeAll": "See all {count} results", + "theme.SearchModal.askAiScreen.afterToolCallText": "Searched for", + "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copied!", + "theme.SearchModal.askAiScreen.copyButtonText": "Copy", + "theme.SearchModal.askAiScreen.copyButtonTitle": "Copy", + "theme.SearchModal.askAiScreen.disclaimerText": "Answers are generated with AI which can make mistakes. Verify responses.", + "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Dislike", + "theme.SearchModal.askAiScreen.duringToolCallText": "Searching for ", + "theme.SearchModal.askAiScreen.likeButtonTitle": "Like", + "theme.SearchModal.askAiScreen.preToolCallText": "Searching...", + "theme.SearchModal.askAiScreen.relatedSourcesText": "Related sources", + "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Thanks for your feedback!", + "theme.SearchModal.askAiScreen.thinkingText": "Thinking...", "theme.SearchModal.errorScreen.helpText": "You might want to check your network connection.", "theme.SearchModal.errorScreen.titleText": "Unable to fetch results", + "theme.SearchModal.footer.backToSearchText": "Back to search", "theme.SearchModal.footer.closeKeyAriaLabel": "Escape key", "theme.SearchModal.footer.closeText": "to close", "theme.SearchModal.footer.navigateDownKeyAriaLabel": "Arrow down", "theme.SearchModal.footer.navigateText": "to navigate", "theme.SearchModal.footer.navigateUpKeyAriaLabel": "Arrow up", - "theme.SearchModal.footer.searchByText": "Search by", + "theme.SearchModal.footer.searchByText": "Powered by", "theme.SearchModal.footer.selectKeyAriaLabel": "Enter key", "theme.SearchModal.footer.selectText": "to select", + "theme.SearchModal.footer.submitQuestionText": "Submit question", "theme.SearchModal.noResultsScreen.noResultsText": "No results for", "theme.SearchModal.noResultsScreen.reportMissingResultsLinkText": "Let us know.", "theme.SearchModal.noResultsScreen.reportMissingResultsText": "Believe this query should return results?", "theme.SearchModal.noResultsScreen.suggestedQueryText": "Try searching for", "theme.SearchModal.placeholder": "Search docs", + "theme.SearchModal.resultsScreen.askAiPlaceholder": "Ask AI: ", + "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Back to keyword search", + "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Back to keyword search", "theme.SearchModal.searchBox.cancelButtonText": "Cancel", + "theme.SearchModal.searchBox.enterKeyHint": "search", + "theme.SearchModal.searchBox.enterKeyHintAskAi": "enter", + "theme.SearchModal.searchBox.placeholderText": "Search docs", + "theme.SearchModal.searchBox.placeholderTextAskAi": "Ask another question...", + "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Answering...", "theme.SearchModal.searchBox.resetButtonTitle": "Clear the query", + "theme.SearchModal.searchBox.searchInputLabel": "Search", "theme.SearchModal.startScreen.favoriteSearchesTitle": "Favorite", "theme.SearchModal.startScreen.noRecentSearchesText": "No recent searches", + "theme.SearchModal.startScreen.recentConversationsTitle": "Recent conversations", "theme.SearchModal.startScreen.recentSearchesTitle": "Recent", "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "Remove this search from favorites", + "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Remove this conversation from history", "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "Remove this search from history", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "Save this search", - "theme.SearchPage.algoliaLabel": "अल्गोलिया द्वारा खोजें", + "theme.SearchPage.algoliaLabel": "Algolia द्वारा संचालित", "theme.SearchPage.documentsFound.plurals": "एक डॉक्यूमेंट मिला|{count} डॉक्यूमेंट मिलें", "theme.SearchPage.emptyResultsTitle": "डॉक्यूमेंटेशन में खोजें", "theme.SearchPage.existingResultsTitle": "\"{query}\" के लिए खोज परिणाम", - "theme.SearchPage.fetchingNewResults": "नए परिणाम प्राप्त कियें जा रहे हैं...", - "theme.SearchPage.inputLabel": "खोज करें", - "theme.SearchPage.inputPlaceholder": "अपनी खोज यहाँ टाइप करें", - "theme.SearchPage.noResultsText": "कोई परिणाम नहीं मिलें" + "theme.SearchPage.fetchingNewResults": "नए परिणाम प्राप्त कर रहे हैं...", + "theme.SearchPage.inputLabel": "खोजें", + "theme.SearchPage.inputPlaceholder": "यहाँ अपनी खोज टाइप करें", + "theme.SearchPage.noResultsText": "कोई परिणाम नहीं मिला" } diff --git a/packages/docusaurus-theme-translations/locales/hu/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/hu/theme-search-algolia.json index 0bf7ebca24..ef048a6bb1 100644 --- a/packages/docusaurus-theme-translations/locales/hu/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/hu/theme-search-algolia.json @@ -1,8 +1,21 @@ { "theme.SearchBar.label": "Keresés", "theme.SearchBar.seeAll": "Összes eredmény megtekintése ({count})", + "theme.SearchModal.askAiScreen.afterToolCallText": "Searched for", + "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copied!", + "theme.SearchModal.askAiScreen.copyButtonText": "Copy", + "theme.SearchModal.askAiScreen.copyButtonTitle": "Copy", + "theme.SearchModal.askAiScreen.disclaimerText": "Answers are generated with AI which can make mistakes. Verify responses.", + "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Dislike", + "theme.SearchModal.askAiScreen.duringToolCallText": "Searching for ", + "theme.SearchModal.askAiScreen.likeButtonTitle": "Like", + "theme.SearchModal.askAiScreen.preToolCallText": "Searching...", + "theme.SearchModal.askAiScreen.relatedSourcesText": "Related sources", + "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Thanks for your feedback!", + "theme.SearchModal.askAiScreen.thinkingText": "Thinking...", "theme.SearchModal.errorScreen.helpText": "Ellenőrizze a hálózati kapcsolatot.", "theme.SearchModal.errorScreen.titleText": "Nem sikerült az eredményeket lekérni", + "theme.SearchModal.footer.backToSearchText": "Back to search", "theme.SearchModal.footer.closeKeyAriaLabel": "Escape billentyű", "theme.SearchModal.footer.closeText": "bezárás", "theme.SearchModal.footer.navigateDownKeyAriaLabel": "Lefelé nyíl", @@ -11,26 +24,37 @@ "theme.SearchModal.footer.searchByText": "Motor:", "theme.SearchModal.footer.selectKeyAriaLabel": "Enter billentyű", "theme.SearchModal.footer.selectText": "kiválasztás", + "theme.SearchModal.footer.submitQuestionText": "Submit question", "theme.SearchModal.noResultsScreen.noResultsText": "Nincs eredmény", "theme.SearchModal.noResultsScreen.reportMissingResultsLinkText": "Adja meg nekünk.", "theme.SearchModal.noResultsScreen.reportMissingResultsText": "Úgy gondolja, hogy ez a keresés eredményt kellene adnia?", "theme.SearchModal.noResultsScreen.suggestedQueryText": "Próbálja meg keresni", "theme.SearchModal.placeholder": "Dokumentumok keresése", + "theme.SearchModal.resultsScreen.askAiPlaceholder": "Ask AI: ", + "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Back to keyword search", + "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Back to keyword search", "theme.SearchModal.searchBox.cancelButtonText": "Mégse", + "theme.SearchModal.searchBox.enterKeyHint": "search", + "theme.SearchModal.searchBox.enterKeyHintAskAi": "enter", + "theme.SearchModal.searchBox.placeholderText": "Search docs", + "theme.SearchModal.searchBox.placeholderTextAskAi": "Ask another question...", + "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Answering...", "theme.SearchModal.searchBox.resetButtonTitle": "Keresési kérés törlése", + "theme.SearchModal.searchBox.searchInputLabel": "Search", "theme.SearchModal.startScreen.favoriteSearchesTitle": "Kedvencek", "theme.SearchModal.startScreen.noRecentSearchesText": "Nincsenek legutóbbi keresések", + "theme.SearchModal.startScreen.recentConversationsTitle": "Recent conversations", "theme.SearchModal.startScreen.recentSearchesTitle": "Legutóbbi", "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "Törölje ezt a keresést a kedvencekből", + "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Remove this conversation from history", "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "Törölje ezt a keresést az előzményekből", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "Mentsük el ezt a keresést", - "theme.SearchPage.algoliaLabel": "Keresés az Algolia segítségével", + "theme.SearchPage.algoliaLabel": "Az Algolia támogatásával", "theme.SearchPage.documentsFound.plurals": "Egy dokumentum|{count} dokumentumok", "theme.SearchPage.emptyResultsTitle": "Keresés a webhelyen", "theme.SearchPage.existingResultsTitle": "\"{query}\" keresési eredményei", "theme.SearchPage.fetchingNewResults": "Új keresési eredmények betöltése...", "theme.SearchPage.inputLabel": "Keresés", - "theme.SearchPage.inputPlaceholder": "Adja meg a keresendő kifejezést", - "theme.SearchPage.noResultsText": "Nincs találat a keresésre", - "theme.SearchPage.saveRecentSearchButtonTitle": "Mentse ezt a keresést" + "theme.SearchPage.inputPlaceholder": "Írja be a keresését ide", + "theme.SearchPage.noResultsText": "Nem található eredmény" } diff --git a/packages/docusaurus-theme-translations/locales/id/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/id/theme-search-algolia.json index b294959d00..cbd7c6955c 100644 --- a/packages/docusaurus-theme-translations/locales/id/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/id/theme-search-algolia.json @@ -1,8 +1,21 @@ { "theme.SearchBar.label": "Cari", "theme.SearchBar.seeAll": "Lihat semua {count} hasilnya", + "theme.SearchModal.askAiScreen.afterToolCallText": "Searched for", + "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copied!", + "theme.SearchModal.askAiScreen.copyButtonText": "Copy", + "theme.SearchModal.askAiScreen.copyButtonTitle": "Copy", + "theme.SearchModal.askAiScreen.disclaimerText": "Answers are generated with AI which can make mistakes. Verify responses.", + "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Dislike", + "theme.SearchModal.askAiScreen.duringToolCallText": "Searching for ", + "theme.SearchModal.askAiScreen.likeButtonTitle": "Like", + "theme.SearchModal.askAiScreen.preToolCallText": "Searching...", + "theme.SearchModal.askAiScreen.relatedSourcesText": "Related sources", + "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Thanks for your feedback!", + "theme.SearchModal.askAiScreen.thinkingText": "Thinking...", "theme.SearchModal.errorScreen.helpText": "Barangkali anda perlu memerika koneksi jaringan anda.", "theme.SearchModal.errorScreen.titleText": "Gagal mendapatkan hasilnya", + "theme.SearchModal.footer.backToSearchText": "Back to search", "theme.SearchModal.footer.closeKeyAriaLabel": "Tombol Escape", "theme.SearchModal.footer.closeText": "menutup", "theme.SearchModal.footer.navigateDownKeyAriaLabel": "Panah ke bawah", @@ -11,20 +24,32 @@ "theme.SearchModal.footer.searchByText": "Cari dengan teks", "theme.SearchModal.footer.selectKeyAriaLabel": "Tombol Enter", "theme.SearchModal.footer.selectText": "memilih", + "theme.SearchModal.footer.submitQuestionText": "Submit question", "theme.SearchModal.noResultsScreen.noResultsText": "Tak ada hasil untuk", "theme.SearchModal.noResultsScreen.reportMissingResultsLinkText": "Beri tahu kami.", "theme.SearchModal.noResultsScreen.reportMissingResultsText": "Yakin pencarian ini seharusnya memberikan hasil?", "theme.SearchModal.noResultsScreen.suggestedQueryText": "Coba lakukan pencarian untuk", "theme.SearchModal.placeholder": "Cari dokumentasi", + "theme.SearchModal.resultsScreen.askAiPlaceholder": "Ask AI: ", + "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Back to keyword search", + "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Back to keyword search", "theme.SearchModal.searchBox.cancelButtonText": "Batalkan", + "theme.SearchModal.searchBox.enterKeyHint": "search", + "theme.SearchModal.searchBox.enterKeyHintAskAi": "enter", + "theme.SearchModal.searchBox.placeholderText": "Search docs", + "theme.SearchModal.searchBox.placeholderTextAskAi": "Ask another question...", + "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Answering...", "theme.SearchModal.searchBox.resetButtonTitle": "Hapus teks pencarian", + "theme.SearchModal.searchBox.searchInputLabel": "Search", "theme.SearchModal.startScreen.favoriteSearchesTitle": "Favorit", "theme.SearchModal.startScreen.noRecentSearchesText": "Tak ada riwayat pencarian", + "theme.SearchModal.startScreen.recentConversationsTitle": "Recent conversations", "theme.SearchModal.startScreen.recentSearchesTitle": "Terbaru", "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "Hapus pencarian ini dari favorit", + "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Remove this conversation from history", "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "Hapus pencarian ini dari riwayat", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "Simpan pencarian ini", - "theme.SearchPage.algoliaLabel": "Pencarian oleh Algolia", + "theme.SearchPage.algoliaLabel": "Didukung oleh Algolia", "theme.SearchPage.documentsFound.plurals": "Satu dokumen ditemukan|{count} dokumen ditemukan", "theme.SearchPage.emptyResultsTitle": "Cari dokumentasi", "theme.SearchPage.existingResultsTitle": "Hasil pencarian untuk \"{query}\"", diff --git a/packages/docusaurus-theme-translations/locales/is/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/is/theme-search-algolia.json index 547c0c0807..3b492a99a9 100644 --- a/packages/docusaurus-theme-translations/locales/is/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/is/theme-search-algolia.json @@ -1,8 +1,21 @@ { "theme.SearchBar.label": "Leita", "theme.SearchBar.seeAll": "Sjá allar {count} niðurstöður", + "theme.SearchModal.askAiScreen.afterToolCallText": "Searched for", + "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copied!", + "theme.SearchModal.askAiScreen.copyButtonText": "Copy", + "theme.SearchModal.askAiScreen.copyButtonTitle": "Copy", + "theme.SearchModal.askAiScreen.disclaimerText": "Answers are generated with AI which can make mistakes. Verify responses.", + "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Dislike", + "theme.SearchModal.askAiScreen.duringToolCallText": "Searching for ", + "theme.SearchModal.askAiScreen.likeButtonTitle": "Like", + "theme.SearchModal.askAiScreen.preToolCallText": "Searching...", + "theme.SearchModal.askAiScreen.relatedSourcesText": "Related sources", + "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Thanks for your feedback!", + "theme.SearchModal.askAiScreen.thinkingText": "Thinking...", "theme.SearchModal.errorScreen.helpText": "Þú gætir viljað athuga nettenginguna.", "theme.SearchModal.errorScreen.titleText": "Tókst ekki að sækja niðurstöður", + "theme.SearchModal.footer.backToSearchText": "Back to search", "theme.SearchModal.footer.closeKeyAriaLabel": "Escape hnappur", "theme.SearchModal.footer.closeText": "til að loka", "theme.SearchModal.footer.navigateDownKeyAriaLabel": "Ör niður", @@ -11,20 +24,32 @@ "theme.SearchModal.footer.searchByText": "Leit með", "theme.SearchModal.footer.selectKeyAriaLabel": "Enter hnappur", "theme.SearchModal.footer.selectText": "að velja", + "theme.SearchModal.footer.submitQuestionText": "Submit question", "theme.SearchModal.noResultsScreen.noResultsText": "Engin niðurstaða fyrir", "theme.SearchModal.noResultsScreen.reportMissingResultsLinkText": "Láttu okkur vita.", "theme.SearchModal.noResultsScreen.reportMissingResultsText": "Tel að þessi fyrirspurn eigi að skila niðurstöðum?", "theme.SearchModal.noResultsScreen.suggestedQueryText": "Prófaðu að leita að", "theme.SearchModal.placeholder": "Leita í skjölum", + "theme.SearchModal.resultsScreen.askAiPlaceholder": "Ask AI: ", + "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Back to keyword search", + "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Back to keyword search", "theme.SearchModal.searchBox.cancelButtonText": "Hætta", + "theme.SearchModal.searchBox.enterKeyHint": "search", + "theme.SearchModal.searchBox.enterKeyHintAskAi": "enter", + "theme.SearchModal.searchBox.placeholderText": "Search docs", + "theme.SearchModal.searchBox.placeholderTextAskAi": "Ask another question...", + "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Answering...", "theme.SearchModal.searchBox.resetButtonTitle": "Hreinsa fyrirspurn", + "theme.SearchModal.searchBox.searchInputLabel": "Search", "theme.SearchModal.startScreen.favoriteSearchesTitle": "Uppáhalds", "theme.SearchModal.startScreen.noRecentSearchesText": "Engar nýlegar leitir", + "theme.SearchModal.startScreen.recentConversationsTitle": "Recent conversations", "theme.SearchModal.startScreen.recentSearchesTitle": "Nýlegar", "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "Fjarlægja þessa leit úr uppáhalds", + "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Remove this conversation from history", "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "Fjarlægja þessa leit úr sögu", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "Vista þessa leit", - "theme.SearchPage.algoliaLabel": "Leit með Algolia", + "theme.SearchPage.algoliaLabel": "Keyrt af Algolia", "theme.SearchPage.documentsFound.plurals": "Eitt skjal fannst|{count} skjöl fundust", "theme.SearchPage.emptyResultsTitle": "Leita í skjölun", "theme.SearchPage.existingResultsTitle": "Niðurstöður fyrir \"{query}\"", diff --git a/packages/docusaurus-theme-translations/locales/it/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/it/theme-search-algolia.json index 0160450688..f78ea26ab3 100644 --- a/packages/docusaurus-theme-translations/locales/it/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/it/theme-search-algolia.json @@ -1,8 +1,21 @@ { "theme.SearchBar.label": "Cerca", "theme.SearchBar.seeAll": "Vedi tutti {count} risultati", + "theme.SearchModal.askAiScreen.afterToolCallText": "Searched for", + "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copied!", + "theme.SearchModal.askAiScreen.copyButtonText": "Copy", + "theme.SearchModal.askAiScreen.copyButtonTitle": "Copy", + "theme.SearchModal.askAiScreen.disclaimerText": "Answers are generated with AI which can make mistakes. Verify responses.", + "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Dislike", + "theme.SearchModal.askAiScreen.duringToolCallText": "Searching for ", + "theme.SearchModal.askAiScreen.likeButtonTitle": "Like", + "theme.SearchModal.askAiScreen.preToolCallText": "Searching...", + "theme.SearchModal.askAiScreen.relatedSourcesText": "Related sources", + "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Thanks for your feedback!", + "theme.SearchModal.askAiScreen.thinkingText": "Thinking...", "theme.SearchModal.errorScreen.helpText": "Potresti voler controllare la tua connessione di rete.", "theme.SearchModal.errorScreen.titleText": "Impossibile recuperare i risultati", + "theme.SearchModal.footer.backToSearchText": "Back to search", "theme.SearchModal.footer.closeKeyAriaLabel": "Tasto di fuga", "theme.SearchModal.footer.closeText": "chiudere", "theme.SearchModal.footer.navigateDownKeyAriaLabel": "Freccia giù", @@ -11,20 +24,32 @@ "theme.SearchModal.footer.searchByText": "Cercato da", "theme.SearchModal.footer.selectKeyAriaLabel": "Tasto Invio", "theme.SearchModal.footer.selectText": "selezionare", + "theme.SearchModal.footer.submitQuestionText": "Submit question", "theme.SearchModal.noResultsScreen.noResultsText": "Nessun risultato per", "theme.SearchModal.noResultsScreen.reportMissingResultsLinkText": "Facci sapere.", "theme.SearchModal.noResultsScreen.reportMissingResultsText": "Credi che questa query dovrebbe restituire risultati?", "theme.SearchModal.noResultsScreen.suggestedQueryText": "Prova a cercare", "theme.SearchModal.placeholder": "Cerca documenti", + "theme.SearchModal.resultsScreen.askAiPlaceholder": "Ask AI: ", + "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Back to keyword search", + "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Back to keyword search", "theme.SearchModal.searchBox.cancelButtonText": "Annulla", + "theme.SearchModal.searchBox.enterKeyHint": "search", + "theme.SearchModal.searchBox.enterKeyHintAskAi": "enter", + "theme.SearchModal.searchBox.placeholderText": "Search docs", + "theme.SearchModal.searchBox.placeholderTextAskAi": "Ask another question...", + "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Answering...", "theme.SearchModal.searchBox.resetButtonTitle": "Cancella la query", + "theme.SearchModal.searchBox.searchInputLabel": "Search", "theme.SearchModal.startScreen.favoriteSearchesTitle": "Preferita", "theme.SearchModal.startScreen.noRecentSearchesText": "Nessuna ricerca recente", + "theme.SearchModal.startScreen.recentConversationsTitle": "Recent conversations", "theme.SearchModal.startScreen.recentSearchesTitle": "Recente", "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "Rimuovi questa ricerca dai preferiti", + "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Remove this conversation from history", "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "Rimuovi questa ricerca dalla cronologia", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "Salva questa ricerca", - "theme.SearchPage.algoliaLabel": "Ricerca tramite Algolia", + "theme.SearchPage.algoliaLabel": "Fornito da Algolia", "theme.SearchPage.documentsFound.plurals": "Un documento trovato|{count} documenti trovati", "theme.SearchPage.emptyResultsTitle": "Cerca nella documentazione", "theme.SearchPage.existingResultsTitle": "Risultati di ricerca per \"{query}\"", diff --git a/packages/docusaurus-theme-translations/locales/ja/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/ja/theme-search-algolia.json index fa0ffbacdc..8d41242252 100644 --- a/packages/docusaurus-theme-translations/locales/ja/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/ja/theme-search-algolia.json @@ -1,8 +1,21 @@ { "theme.SearchBar.label": "検索", "theme.SearchBar.seeAll": "検索結果{count}件をすべて見る", + "theme.SearchModal.askAiScreen.afterToolCallText": "検索完了:", + "theme.SearchModal.askAiScreen.copyButtonCopiedText": "コピーしました!", + "theme.SearchModal.askAiScreen.copyButtonText": "コピー", + "theme.SearchModal.askAiScreen.copyButtonTitle": "コピー", + "theme.SearchModal.askAiScreen.disclaimerText": "回答はAIによって生成されており、誤りがある可能性があります。必ず内容を確認してください。", + "theme.SearchModal.askAiScreen.dislikeButtonTitle": "よくない", + "theme.SearchModal.askAiScreen.duringToolCallText": "検索中:", + "theme.SearchModal.askAiScreen.likeButtonTitle": "いいね", + "theme.SearchModal.askAiScreen.preToolCallText": "検索中...", + "theme.SearchModal.askAiScreen.relatedSourcesText": "関連ソース", + "theme.SearchModal.askAiScreen.thanksForFeedbackText": "フィードバックありがとうございます!", + "theme.SearchModal.askAiScreen.thinkingText": "考え中...", "theme.SearchModal.errorScreen.helpText": "ネットワーク接続を確認してください", "theme.SearchModal.errorScreen.titleText": "検索結果の取得に失敗しました", + "theme.SearchModal.footer.backToSearchText": "検索に戻る", "theme.SearchModal.footer.closeKeyAriaLabel": "エスケープキー", "theme.SearchModal.footer.closeText": "閉じる", "theme.SearchModal.footer.navigateDownKeyAriaLabel": "下矢印キー", @@ -11,20 +24,32 @@ "theme.SearchModal.footer.searchByText": "検索", "theme.SearchModal.footer.selectKeyAriaLabel": "エンターキー", "theme.SearchModal.footer.selectText": "選ぶ", + "theme.SearchModal.footer.submitQuestionText": "質問を送信", "theme.SearchModal.noResultsScreen.noResultsText": "見つかりませんでした", "theme.SearchModal.noResultsScreen.reportMissingResultsLinkText": "報告する", "theme.SearchModal.noResultsScreen.reportMissingResultsText": "よりよい検索結果がありますか?", "theme.SearchModal.noResultsScreen.suggestedQueryText": "次の検索を試す:", "theme.SearchModal.placeholder": "ドキュメントを検索", + "theme.SearchModal.resultsScreen.askAiPlaceholder": "AIに質問:", + "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "キーワード検索に戻る", + "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "キーワード検索に戻る", "theme.SearchModal.searchBox.cancelButtonText": "キャンセル", + "theme.SearchModal.searchBox.enterKeyHint": "検索", + "theme.SearchModal.searchBox.enterKeyHintAskAi": "確定", + "theme.SearchModal.searchBox.placeholderText": "ドキュメントを検索", + "theme.SearchModal.searchBox.placeholderTextAskAi": "別の質問をする...", + "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "回答中...", "theme.SearchModal.searchBox.resetButtonTitle": "クリア", + "theme.SearchModal.searchBox.searchInputLabel": "検索", "theme.SearchModal.startScreen.favoriteSearchesTitle": "お気に入り", "theme.SearchModal.startScreen.noRecentSearchesText": "最近の検索履歴はありません", + "theme.SearchModal.startScreen.recentConversationsTitle": "最近の会話", "theme.SearchModal.startScreen.recentSearchesTitle": "最近の検索", "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "この検索をお気に入りから削除", + "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "この会話を履歴から削除", "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "この検索を履歴から削除", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "この検索をお気に入りに追加", - "theme.SearchPage.algoliaLabel": "Algoliaで検索", + "theme.SearchPage.algoliaLabel": "Algolia提供", "theme.SearchPage.documentsFound.plurals": "{count}件のドキュメントが見つかりました", "theme.SearchPage.emptyResultsTitle": "ドキュメントを検索", "theme.SearchPage.existingResultsTitle": "『{query}』の検索結果", diff --git a/packages/docusaurus-theme-translations/locales/ko/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/ko/theme-search-algolia.json index d1941ec178..15111a335c 100644 --- a/packages/docusaurus-theme-translations/locales/ko/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/ko/theme-search-algolia.json @@ -1,8 +1,21 @@ { "theme.SearchBar.label": "검색", "theme.SearchBar.seeAll": "{count}개의 결과 확인하기", + "theme.SearchModal.askAiScreen.afterToolCallText": "검색 완료: ", + "theme.SearchModal.askAiScreen.copyButtonCopiedText": "복사됨!", + "theme.SearchModal.askAiScreen.copyButtonText": "복사", + "theme.SearchModal.askAiScreen.copyButtonTitle": "복사", + "theme.SearchModal.askAiScreen.disclaimerText": "답변은 AI가 생성하며 오류가 있을 수 있습니다. 응답을 확인해주세요.", + "theme.SearchModal.askAiScreen.dislikeButtonTitle": "싫어요", + "theme.SearchModal.askAiScreen.duringToolCallText": "검색 중: ", + "theme.SearchModal.askAiScreen.likeButtonTitle": "좋아요", + "theme.SearchModal.askAiScreen.preToolCallText": "검색 중...", + "theme.SearchModal.askAiScreen.relatedSourcesText": "관련 출처", + "theme.SearchModal.askAiScreen.thanksForFeedbackText": "피드백 감사합니다!", + "theme.SearchModal.askAiScreen.thinkingText": "생각 중...", "theme.SearchModal.errorScreen.helpText": "인터넷 연결을 다시 확인하시기 바랍니다.", "theme.SearchModal.errorScreen.titleText": "결과를 불러올 수 없음", + "theme.SearchModal.footer.backToSearchText": "검색으로 돌아가기", "theme.SearchModal.footer.closeKeyAriaLabel": "Esc 키", "theme.SearchModal.footer.closeText": "로 종료", "theme.SearchModal.footer.navigateDownKeyAriaLabel": "화살표 아래 키", @@ -11,20 +24,32 @@ "theme.SearchModal.footer.searchByText": "검색 제공", "theme.SearchModal.footer.selectKeyAriaLabel": "엔터 키", "theme.SearchModal.footer.selectText": "로 선택", + "theme.SearchModal.footer.submitQuestionText": "질문 제출", "theme.SearchModal.noResultsScreen.noResultsText": "검색 결과 없음", "theme.SearchModal.noResultsScreen.reportMissingResultsLinkText": "알려주시기 바랍니다.", "theme.SearchModal.noResultsScreen.reportMissingResultsText": "검색 결과가 없는 것이 오류라고 생각되십니까?", "theme.SearchModal.noResultsScreen.suggestedQueryText": "다른 추천 검색어", "theme.SearchModal.placeholder": "문서 검색", + "theme.SearchModal.resultsScreen.askAiPlaceholder": "AI에게 질문: ", + "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "키워드 검색으로 돌아가기", + "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "키워드 검색으로 돌아가기", "theme.SearchModal.searchBox.cancelButtonText": "취소", + "theme.SearchModal.searchBox.enterKeyHint": "검색", + "theme.SearchModal.searchBox.enterKeyHintAskAi": "입력", + "theme.SearchModal.searchBox.placeholderText": "문서 검색", + "theme.SearchModal.searchBox.placeholderTextAskAi": "다른 질문하기...", + "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "답변 중...", "theme.SearchModal.searchBox.resetButtonTitle": "검색어 초기화", + "theme.SearchModal.searchBox.searchInputLabel": "검색", "theme.SearchModal.startScreen.favoriteSearchesTitle": "즐겨찾기", "theme.SearchModal.startScreen.noRecentSearchesText": "최근 검색어 없음", + "theme.SearchModal.startScreen.recentConversationsTitle": "최근 대화", "theme.SearchModal.startScreen.recentSearchesTitle": "최근", "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "이 검색어를 즐겨찾기에서 삭제", + "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "이 대화를 기록에서 삭제", "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "이 검색어를 최근 검색어에서 삭제", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "이 검색어를 저장", - "theme.SearchPage.algoliaLabel": "Algolia로 검색", + "theme.SearchPage.algoliaLabel": "Algolia 제공", "theme.SearchPage.documentsFound.plurals": "{count}개의 문서를 찾았습니다.", "theme.SearchPage.emptyResultsTitle": "문서를 검색합니다.", "theme.SearchPage.existingResultsTitle": "\"{query}\" 검색 결과", diff --git a/packages/docusaurus-theme-translations/locales/nb/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/nb/theme-search-algolia.json index 1871413677..95048f778b 100644 --- a/packages/docusaurus-theme-translations/locales/nb/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/nb/theme-search-algolia.json @@ -1,8 +1,21 @@ { "theme.SearchBar.label": "Søk", "theme.SearchBar.seeAll": "Se alle {count} resultat", + "theme.SearchModal.askAiScreen.afterToolCallText": "Searched for", + "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copied!", + "theme.SearchModal.askAiScreen.copyButtonText": "Copy", + "theme.SearchModal.askAiScreen.copyButtonTitle": "Copy", + "theme.SearchModal.askAiScreen.disclaimerText": "Answers are generated with AI which can make mistakes. Verify responses.", + "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Dislike", + "theme.SearchModal.askAiScreen.duringToolCallText": "Searching for ", + "theme.SearchModal.askAiScreen.likeButtonTitle": "Like", + "theme.SearchModal.askAiScreen.preToolCallText": "Searching...", + "theme.SearchModal.askAiScreen.relatedSourcesText": "Related sources", + "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Thanks for your feedback!", + "theme.SearchModal.askAiScreen.thinkingText": "Thinking...", "theme.SearchModal.errorScreen.helpText": "Det kan være lurt å sjekke nettverkstilkoblingen.", "theme.SearchModal.errorScreen.titleText": "Kan ikke hente resultater", + "theme.SearchModal.footer.backToSearchText": "Back to search", "theme.SearchModal.footer.closeKeyAriaLabel": "Escape-tasten", "theme.SearchModal.footer.closeText": "Lukk", "theme.SearchModal.footer.navigateDownKeyAriaLabel": "Pil ned", @@ -11,20 +24,32 @@ "theme.SearchModal.footer.searchByText": "Søk på", "theme.SearchModal.footer.selectKeyAriaLabel": "Enter-tasten", "theme.SearchModal.footer.selectText": "for å velge", + "theme.SearchModal.footer.submitQuestionText": "Submit question", "theme.SearchModal.noResultsScreen.noResultsText": "Ingen resultat", "theme.SearchModal.noResultsScreen.reportMissingResultsLinkText": "Gi oss beskjed.", "theme.SearchModal.noResultsScreen.reportMissingResultsText": "Tenker du at denne spørringen bør gi resultater?", "theme.SearchModal.noResultsScreen.suggestedQueryText": "Prøv å søke etter", "theme.SearchModal.placeholder": "Søk i dokumenter", + "theme.SearchModal.resultsScreen.askAiPlaceholder": "Ask AI: ", + "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Back to keyword search", + "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Back to keyword search", "theme.SearchModal.searchBox.cancelButtonText": "Avbryt", + "theme.SearchModal.searchBox.enterKeyHint": "search", + "theme.SearchModal.searchBox.enterKeyHintAskAi": "enter", + "theme.SearchModal.searchBox.placeholderText": "Search docs", + "theme.SearchModal.searchBox.placeholderTextAskAi": "Ask another question...", + "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Answering...", "theme.SearchModal.searchBox.resetButtonTitle": "Fjern søket", + "theme.SearchModal.searchBox.searchInputLabel": "Search", "theme.SearchModal.startScreen.favoriteSearchesTitle": "Favoritt", "theme.SearchModal.startScreen.noRecentSearchesText": "Ingen nylige søk", + "theme.SearchModal.startScreen.recentConversationsTitle": "Recent conversations", "theme.SearchModal.startScreen.recentSearchesTitle": "Nylig", "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "Fjern dette søket fra favoritter", + "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Remove this conversation from history", "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "Fjern dette søket fra loggen", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "Lagre dette søket", - "theme.SearchPage.algoliaLabel": "Søk med Algolia", + "theme.SearchPage.algoliaLabel": "Drevet av Algolia", "theme.SearchPage.documentsFound.plurals": "Ett dokument funnet|{count} dokumenter funnet", "theme.SearchPage.emptyResultsTitle": "Søk i dokumentasjonen", "theme.SearchPage.existingResultsTitle": "Søkeresultater for \"{query}\"", diff --git a/packages/docusaurus-theme-translations/locales/nl/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/nl/theme-search-algolia.json index 8b99bcd7a7..910e036249 100644 --- a/packages/docusaurus-theme-translations/locales/nl/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/nl/theme-search-algolia.json @@ -1,8 +1,21 @@ { "theme.SearchBar.label": "Zoeken", "theme.SearchBar.seeAll": "Laat alle {count} resultaten zien", + "theme.SearchModal.askAiScreen.afterToolCallText": "Searched for", + "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copied!", + "theme.SearchModal.askAiScreen.copyButtonText": "Copy", + "theme.SearchModal.askAiScreen.copyButtonTitle": "Copy", + "theme.SearchModal.askAiScreen.disclaimerText": "Answers are generated with AI which can make mistakes. Verify responses.", + "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Dislike", + "theme.SearchModal.askAiScreen.duringToolCallText": "Searching for ", + "theme.SearchModal.askAiScreen.likeButtonTitle": "Like", + "theme.SearchModal.askAiScreen.preToolCallText": "Searching...", + "theme.SearchModal.askAiScreen.relatedSourcesText": "Related sources", + "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Thanks for your feedback!", + "theme.SearchModal.askAiScreen.thinkingText": "Thinking...", "theme.SearchModal.errorScreen.helpText": "Misschien wilt u uw netwerkverbinding controleren.", "theme.SearchModal.errorScreen.titleText": "Niet in staat resultaten op te halen", + "theme.SearchModal.footer.backToSearchText": "Back to search", "theme.SearchModal.footer.closeKeyAriaLabel": "Escape-toets", "theme.SearchModal.footer.closeText": "om te sluiten", "theme.SearchModal.footer.navigateDownKeyAriaLabel": "Pijltoets naar beneden", @@ -11,20 +24,32 @@ "theme.SearchModal.footer.searchByText": "Zoek op", "theme.SearchModal.footer.selectKeyAriaLabel": "Enter-toets", "theme.SearchModal.footer.selectText": "om te selecteren", + "theme.SearchModal.footer.submitQuestionText": "Submit question", "theme.SearchModal.noResultsScreen.noResultsText": "Geen resultaten voor", "theme.SearchModal.noResultsScreen.reportMissingResultsLinkText": "Laat het ons weten.", "theme.SearchModal.noResultsScreen.reportMissingResultsText": "Zou deze zoekopdracht resultaten moeten opleveren?", "theme.SearchModal.noResultsScreen.suggestedQueryText": "Probeer om te zoeken op", "theme.SearchModal.placeholder": "Doorzoek de documentatie", + "theme.SearchModal.resultsScreen.askAiPlaceholder": "Ask AI: ", + "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Back to keyword search", + "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Back to keyword search", "theme.SearchModal.searchBox.cancelButtonText": "Annuleren", + "theme.SearchModal.searchBox.enterKeyHint": "search", + "theme.SearchModal.searchBox.enterKeyHintAskAi": "enter", + "theme.SearchModal.searchBox.placeholderText": "Search docs", + "theme.SearchModal.searchBox.placeholderTextAskAi": "Ask another question...", + "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Answering...", "theme.SearchModal.searchBox.resetButtonTitle": "Maak de zoekopdracht leeg", + "theme.SearchModal.searchBox.searchInputLabel": "Search", "theme.SearchModal.startScreen.favoriteSearchesTitle": "Favoriet", "theme.SearchModal.startScreen.noRecentSearchesText": "Geen recente zoekopdrachten", + "theme.SearchModal.startScreen.recentConversationsTitle": "Recent conversations", "theme.SearchModal.startScreen.recentSearchesTitle": "Recente zoekopdrachten", "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "Verwijder deze zoekopdracht uit mijn favorieten", + "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Remove this conversation from history", "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "Verwijder deze zoekopdracht uit mijn geschiedenis", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "Sla deze zoekopdracht op", - "theme.SearchPage.algoliaLabel": "Zoeken door Algolia", + "theme.SearchPage.algoliaLabel": "Aangedreven door Algolia", "theme.SearchPage.documentsFound.plurals": "Een document gevonden|{count} documenten gevonden", "theme.SearchPage.emptyResultsTitle": "Doorzoek de documentatie", "theme.SearchPage.existingResultsTitle": "Zoekresultaten voor \"{query}\"", diff --git a/packages/docusaurus-theme-translations/locales/pl/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/pl/theme-search-algolia.json index bc4ab9d5f6..b689bd2133 100644 --- a/packages/docusaurus-theme-translations/locales/pl/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/pl/theme-search-algolia.json @@ -1,8 +1,21 @@ { "theme.SearchBar.label": "Szukaj", "theme.SearchBar.seeAll": "Wyświetl wszystkie {count} wyników", + "theme.SearchModal.askAiScreen.afterToolCallText": "Searched for", + "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copied!", + "theme.SearchModal.askAiScreen.copyButtonText": "Copy", + "theme.SearchModal.askAiScreen.copyButtonTitle": "Copy", + "theme.SearchModal.askAiScreen.disclaimerText": "Answers are generated with AI which can make mistakes. Verify responses.", + "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Dislike", + "theme.SearchModal.askAiScreen.duringToolCallText": "Searching for ", + "theme.SearchModal.askAiScreen.likeButtonTitle": "Like", + "theme.SearchModal.askAiScreen.preToolCallText": "Searching...", + "theme.SearchModal.askAiScreen.relatedSourcesText": "Related sources", + "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Thanks for your feedback!", + "theme.SearchModal.askAiScreen.thinkingText": "Thinking...", "theme.SearchModal.errorScreen.helpText": "Sprawdź swoje połączenie sieciowe.", "theme.SearchModal.errorScreen.titleText": "Nie można pobrać wyników", + "theme.SearchModal.footer.backToSearchText": "Back to search", "theme.SearchModal.footer.closeKeyAriaLabel": "Klawisz Escape", "theme.SearchModal.footer.closeText": "aby zamknąć", "theme.SearchModal.footer.navigateDownKeyAriaLabel": "Strzałka w dół", @@ -11,20 +24,32 @@ "theme.SearchModal.footer.searchByText": "Szukaj według", "theme.SearchModal.footer.selectKeyAriaLabel": "Klawisz Enter", "theme.SearchModal.footer.selectText": "aby wybrać", + "theme.SearchModal.footer.submitQuestionText": "Submit question", "theme.SearchModal.noResultsScreen.noResultsText": "Brak wyników dla", "theme.SearchModal.noResultsScreen.reportMissingResultsLinkText": "Daj nam znać.", "theme.SearchModal.noResultsScreen.reportMissingResultsText": "Wydaje Ci się, że to zapytanie powinno zwrócić wyniki?", "theme.SearchModal.noResultsScreen.suggestedQueryText": "Spróbuj poszukać", "theme.SearchModal.placeholder": "Wyszukaj dokumenty", + "theme.SearchModal.resultsScreen.askAiPlaceholder": "Ask AI: ", + "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Back to keyword search", + "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Back to keyword search", "theme.SearchModal.searchBox.cancelButtonText": "Anuluj", + "theme.SearchModal.searchBox.enterKeyHint": "search", + "theme.SearchModal.searchBox.enterKeyHintAskAi": "enter", + "theme.SearchModal.searchBox.placeholderText": "Search docs", + "theme.SearchModal.searchBox.placeholderTextAskAi": "Ask another question...", + "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Answering...", "theme.SearchModal.searchBox.resetButtonTitle": "Wyczyść zapytanie", + "theme.SearchModal.searchBox.searchInputLabel": "Search", "theme.SearchModal.startScreen.favoriteSearchesTitle": "Ulubione", "theme.SearchModal.startScreen.noRecentSearchesText": "Brak ostatnich wyszukiwań", + "theme.SearchModal.startScreen.recentConversationsTitle": "Recent conversations", "theme.SearchModal.startScreen.recentSearchesTitle": "Ostatnie wyszukiwania", "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "Usuń to wyszukiwanie z ulubionych", + "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Remove this conversation from history", "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "Usuń to wyszukiwanie z historii", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "Zapisz to wyszukiwanie", - "theme.SearchPage.algoliaLabel": "Dostawca rozwiązania Algolia", + "theme.SearchPage.algoliaLabel": "Napędzane przez Algolia", "theme.SearchPage.documentsFound.plurals": "Jeden dokument znaleziony|{count} dokumenty znalezione|{count} dokumentów znalezionych", "theme.SearchPage.emptyResultsTitle": "Wyszukaj w dokumentacji", "theme.SearchPage.existingResultsTitle": "Wyniki wyszukiwania dla \"{query}\"", diff --git a/packages/docusaurus-theme-translations/locales/pt-BR/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/pt-BR/theme-search-algolia.json index 83938b9c90..77c15c42c5 100644 --- a/packages/docusaurus-theme-translations/locales/pt-BR/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/pt-BR/theme-search-algolia.json @@ -1,8 +1,21 @@ { "theme.SearchBar.label": "Buscar", "theme.SearchBar.seeAll": "Ver todos os {count} resultados", + "theme.SearchModal.askAiScreen.afterToolCallText": "Searched for", + "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copied!", + "theme.SearchModal.askAiScreen.copyButtonText": "Copy", + "theme.SearchModal.askAiScreen.copyButtonTitle": "Copy", + "theme.SearchModal.askAiScreen.disclaimerText": "Answers are generated with AI which can make mistakes. Verify responses.", + "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Dislike", + "theme.SearchModal.askAiScreen.duringToolCallText": "Searching for ", + "theme.SearchModal.askAiScreen.likeButtonTitle": "Like", + "theme.SearchModal.askAiScreen.preToolCallText": "Searching...", + "theme.SearchModal.askAiScreen.relatedSourcesText": "Related sources", + "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Thanks for your feedback!", + "theme.SearchModal.askAiScreen.thinkingText": "Thinking...", "theme.SearchModal.errorScreen.helpText": "Talvez você deva verificar sua conexão de rede.", "theme.SearchModal.errorScreen.titleText": "Não foi possível obter resultados", + "theme.SearchModal.footer.backToSearchText": "Back to search", "theme.SearchModal.footer.closeKeyAriaLabel": "Tecla Esc", "theme.SearchModal.footer.closeText": "fechar", "theme.SearchModal.footer.navigateDownKeyAriaLabel": "Seta para baixo", @@ -11,20 +24,32 @@ "theme.SearchModal.footer.searchByText": "Esta busca utiliza", "theme.SearchModal.footer.selectKeyAriaLabel": "Tecla Enter", "theme.SearchModal.footer.selectText": "selecionar", + "theme.SearchModal.footer.submitQuestionText": "Submit question", "theme.SearchModal.noResultsScreen.noResultsText": "Nenhum resultado para", "theme.SearchModal.noResultsScreen.reportMissingResultsLinkText": "Nos avise.", "theme.SearchModal.noResultsScreen.reportMissingResultsText": "Você acha que esta busca deveria retornar resultados?", "theme.SearchModal.noResultsScreen.suggestedQueryText": "Tente buscar por", "theme.SearchModal.placeholder": "Buscar documentos", + "theme.SearchModal.resultsScreen.askAiPlaceholder": "Ask AI: ", + "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Back to keyword search", + "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Back to keyword search", "theme.SearchModal.searchBox.cancelButtonText": "Cancelar", + "theme.SearchModal.searchBox.enterKeyHint": "search", + "theme.SearchModal.searchBox.enterKeyHintAskAi": "enter", + "theme.SearchModal.searchBox.placeholderText": "Search docs", + "theme.SearchModal.searchBox.placeholderTextAskAi": "Ask another question...", + "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Answering...", "theme.SearchModal.searchBox.resetButtonTitle": "Limpar a busca", + "theme.SearchModal.searchBox.searchInputLabel": "Search", "theme.SearchModal.startScreen.favoriteSearchesTitle": "Favorito", "theme.SearchModal.startScreen.noRecentSearchesText": "Nenhuma busca recente", + "theme.SearchModal.startScreen.recentConversationsTitle": "Recent conversations", "theme.SearchModal.startScreen.recentSearchesTitle": "Recente", "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "Remover esta busca dos favoritos", + "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Remove this conversation from history", "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "Remover esta busca do histórico", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "Salvar esta busca", - "theme.SearchPage.algoliaLabel": "Busca feita por Algolia", + "theme.SearchPage.algoliaLabel": "Desenvolvido por Algolia", "theme.SearchPage.documentsFound.plurals": "Um documento encontrado|{count} documentos encontrados", "theme.SearchPage.emptyResultsTitle": "Busca da documentação", "theme.SearchPage.existingResultsTitle": "Resultado da busca por \"{query}\"", diff --git a/packages/docusaurus-theme-translations/locales/pt-PT/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/pt-PT/theme-search-algolia.json index 1d1ab1ef63..2a47d02c79 100644 --- a/packages/docusaurus-theme-translations/locales/pt-PT/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/pt-PT/theme-search-algolia.json @@ -1,30 +1,55 @@ { "theme.SearchBar.label": "Pesquisar", "theme.SearchBar.seeAll": "See all {count} results", + "theme.SearchModal.askAiScreen.afterToolCallText": "Searched for", + "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copied!", + "theme.SearchModal.askAiScreen.copyButtonText": "Copy", + "theme.SearchModal.askAiScreen.copyButtonTitle": "Copy", + "theme.SearchModal.askAiScreen.disclaimerText": "Answers are generated with AI which can make mistakes. Verify responses.", + "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Dislike", + "theme.SearchModal.askAiScreen.duringToolCallText": "Searching for ", + "theme.SearchModal.askAiScreen.likeButtonTitle": "Like", + "theme.SearchModal.askAiScreen.preToolCallText": "Searching...", + "theme.SearchModal.askAiScreen.relatedSourcesText": "Related sources", + "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Thanks for your feedback!", + "theme.SearchModal.askAiScreen.thinkingText": "Thinking...", "theme.SearchModal.errorScreen.helpText": "You might want to check your network connection.", "theme.SearchModal.errorScreen.titleText": "Unable to fetch results", + "theme.SearchModal.footer.backToSearchText": "Back to search", "theme.SearchModal.footer.closeKeyAriaLabel": "Escape key", "theme.SearchModal.footer.closeText": "to close", "theme.SearchModal.footer.navigateDownKeyAriaLabel": "Arrow down", "theme.SearchModal.footer.navigateText": "to navigate", "theme.SearchModal.footer.navigateUpKeyAriaLabel": "Arrow up", - "theme.SearchModal.footer.searchByText": "Search by", + "theme.SearchModal.footer.searchByText": "Powered by", "theme.SearchModal.footer.selectKeyAriaLabel": "Enter key", "theme.SearchModal.footer.selectText": "to select", + "theme.SearchModal.footer.submitQuestionText": "Submit question", "theme.SearchModal.noResultsScreen.noResultsText": "No results for", "theme.SearchModal.noResultsScreen.reportMissingResultsLinkText": "Let us know.", "theme.SearchModal.noResultsScreen.reportMissingResultsText": "Believe this query should return results?", "theme.SearchModal.noResultsScreen.suggestedQueryText": "Try searching for", "theme.SearchModal.placeholder": "Search docs", + "theme.SearchModal.resultsScreen.askAiPlaceholder": "Ask AI: ", + "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Back to keyword search", + "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Back to keyword search", "theme.SearchModal.searchBox.cancelButtonText": "Cancel", + "theme.SearchModal.searchBox.enterKeyHint": "search", + "theme.SearchModal.searchBox.enterKeyHintAskAi": "enter", + "theme.SearchModal.searchBox.placeholderText": "Search docs", + "theme.SearchModal.searchBox.placeholderTextAskAi": "Ask another question...", + "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Answering...", "theme.SearchModal.searchBox.resetButtonTitle": "Clear the query", + "theme.SearchModal.searchBox.searchInputLabel": "Search", "theme.SearchModal.startScreen.favoriteSearchesTitle": "Favorite", "theme.SearchModal.startScreen.noRecentSearchesText": "No recent searches", + "theme.SearchModal.startScreen.recentConversationsTitle": "Recent conversations", "theme.SearchModal.startScreen.recentSearchesTitle": "Recent", "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "Remove this search from favorites", + "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Remove this conversation from history", "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "Remove this search from history", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "Save this search", - "theme.SearchPage.algoliaLabel": "Pesquisa por Algolia", + "theme.SearchPage.algoliaLabel": "Desenvolvido por Algolia", "theme.SearchPage.documentsFound.plurals": "Um documento encontrado|{count} documentos encontrados", "theme.SearchPage.emptyResultsTitle": "Pesquisar pela documentação", "theme.SearchPage.existingResultsTitle": "Resultados da pesquisa por \"{query}\"", diff --git a/packages/docusaurus-theme-translations/locales/ru/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/ru/theme-search-algolia.json index 39005aee5c..1df1f89722 100644 --- a/packages/docusaurus-theme-translations/locales/ru/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/ru/theme-search-algolia.json @@ -1,8 +1,21 @@ { "theme.SearchBar.label": "Поиск", "theme.SearchBar.seeAll": "Посмотреть все результаты ({count})", + "theme.SearchModal.askAiScreen.afterToolCallText": "Searched for", + "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copied!", + "theme.SearchModal.askAiScreen.copyButtonText": "Copy", + "theme.SearchModal.askAiScreen.copyButtonTitle": "Copy", + "theme.SearchModal.askAiScreen.disclaimerText": "Answers are generated with AI which can make mistakes. Verify responses.", + "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Dislike", + "theme.SearchModal.askAiScreen.duringToolCallText": "Searching for ", + "theme.SearchModal.askAiScreen.likeButtonTitle": "Like", + "theme.SearchModal.askAiScreen.preToolCallText": "Searching...", + "theme.SearchModal.askAiScreen.relatedSourcesText": "Related sources", + "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Thanks for your feedback!", + "theme.SearchModal.askAiScreen.thinkingText": "Thinking...", "theme.SearchModal.errorScreen.helpText": "Проверьте подключение к интернету.", "theme.SearchModal.errorScreen.titleText": "Невозможно загрузить результаты поиска", + "theme.SearchModal.footer.backToSearchText": "Back to search", "theme.SearchModal.footer.closeKeyAriaLabel": "Клавиша Escape", "theme.SearchModal.footer.closeText": "закрыть", "theme.SearchModal.footer.navigateDownKeyAriaLabel": "Клавиша стрелка вниз", @@ -11,20 +24,32 @@ "theme.SearchModal.footer.searchByText": "Поиск от", "theme.SearchModal.footer.selectKeyAriaLabel": "Клавиша Enter", "theme.SearchModal.footer.selectText": "выбрать", + "theme.SearchModal.footer.submitQuestionText": "Submit question", "theme.SearchModal.noResultsScreen.noResultsText": "Нет результатов по запросу", "theme.SearchModal.noResultsScreen.reportMissingResultsLinkText": "Сообщите нам.", "theme.SearchModal.noResultsScreen.reportMissingResultsText": "Нет подходящего результата поиска?", "theme.SearchModal.noResultsScreen.suggestedQueryText": "Попробуйте", "theme.SearchModal.placeholder": "Поиск", + "theme.SearchModal.resultsScreen.askAiPlaceholder": "Ask AI: ", + "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Back to keyword search", + "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Back to keyword search", "theme.SearchModal.searchBox.cancelButtonText": "Отменить", + "theme.SearchModal.searchBox.enterKeyHint": "search", + "theme.SearchModal.searchBox.enterKeyHintAskAi": "enter", + "theme.SearchModal.searchBox.placeholderText": "Search docs", + "theme.SearchModal.searchBox.placeholderTextAskAi": "Ask another question...", + "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Answering...", "theme.SearchModal.searchBox.resetButtonTitle": "Очистить", + "theme.SearchModal.searchBox.searchInputLabel": "Search", "theme.SearchModal.startScreen.favoriteSearchesTitle": "Избранное", "theme.SearchModal.startScreen.noRecentSearchesText": "Нет истории поиска", + "theme.SearchModal.startScreen.recentConversationsTitle": "Recent conversations", "theme.SearchModal.startScreen.recentSearchesTitle": "Недавнее", "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "Удалить запись из избранное", + "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Remove this conversation from history", "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "Удалить запись из историю", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "Сохранить поисковый запрос", - "theme.SearchPage.algoliaLabel": "Поиск от Algolia", + "theme.SearchPage.algoliaLabel": "При поддержке Algolia", "theme.SearchPage.documentsFound.plurals": "{count} документ|{count} документа|{count} документов", "theme.SearchPage.emptyResultsTitle": "Поиск по сайту", "theme.SearchPage.existingResultsTitle": "Результаты поиска по запросу \"{query}\"", diff --git a/packages/docusaurus-theme-translations/locales/sl/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/sl/theme-search-algolia.json index e2c1e41bc3..d9d61b94d5 100644 --- a/packages/docusaurus-theme-translations/locales/sl/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/sl/theme-search-algolia.json @@ -1,8 +1,21 @@ { "theme.SearchBar.label": "Išči", "theme.SearchBar.seeAll": "Poglej vse rezultate ({count})", + "theme.SearchModal.askAiScreen.afterToolCallText": "Searched for", + "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copied!", + "theme.SearchModal.askAiScreen.copyButtonText": "Copy", + "theme.SearchModal.askAiScreen.copyButtonTitle": "Copy", + "theme.SearchModal.askAiScreen.disclaimerText": "Answers are generated with AI which can make mistakes. Verify responses.", + "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Dislike", + "theme.SearchModal.askAiScreen.duringToolCallText": "Searching for ", + "theme.SearchModal.askAiScreen.likeButtonTitle": "Like", + "theme.SearchModal.askAiScreen.preToolCallText": "Searching...", + "theme.SearchModal.askAiScreen.relatedSourcesText": "Related sources", + "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Thanks for your feedback!", + "theme.SearchModal.askAiScreen.thinkingText": "Thinking...", "theme.SearchModal.errorScreen.helpText": "Preverite vašo spletno povezavo.", "theme.SearchModal.errorScreen.titleText": "Rezultatov ni bilo možno naložiti", + "theme.SearchModal.footer.backToSearchText": "Back to search", "theme.SearchModal.footer.closeKeyAriaLabel": "Tipka Escape", "theme.SearchModal.footer.closeText": "zapri", "theme.SearchModal.footer.navigateDownKeyAriaLabel": "Tipka puščica navzdol", @@ -11,20 +24,32 @@ "theme.SearchModal.footer.searchByText": "Iskanje", "theme.SearchModal.footer.selectKeyAriaLabel": "tipka Enter", "theme.SearchModal.footer.selectText": "izberi", + "theme.SearchModal.footer.submitQuestionText": "Submit question", "theme.SearchModal.noResultsScreen.noResultsText": "Ni rezultatov za", "theme.SearchModal.noResultsScreen.reportMissingResultsLinkText": "Obvestite nas.", "theme.SearchModal.noResultsScreen.reportMissingResultsText": "Mislite, da bi morali obstajati rezultati?", "theme.SearchModal.noResultsScreen.suggestedQueryText": "Poskusite poiskati", "theme.SearchModal.placeholder": "Išči po dokumentaciji", + "theme.SearchModal.resultsScreen.askAiPlaceholder": "Ask AI: ", + "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Back to keyword search", + "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Back to keyword search", "theme.SearchModal.searchBox.cancelButtonText": "Prekliči", + "theme.SearchModal.searchBox.enterKeyHint": "search", + "theme.SearchModal.searchBox.enterKeyHintAskAi": "enter", + "theme.SearchModal.searchBox.placeholderText": "Search docs", + "theme.SearchModal.searchBox.placeholderTextAskAi": "Ask another question...", + "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Answering...", "theme.SearchModal.searchBox.resetButtonTitle": "Izprazni iskalni niz", + "theme.SearchModal.searchBox.searchInputLabel": "Search", "theme.SearchModal.startScreen.favoriteSearchesTitle": "Priljubljena iskanja", "theme.SearchModal.startScreen.noRecentSearchesText": "Ni iskanj pred kratkim", + "theme.SearchModal.startScreen.recentConversationsTitle": "Recent conversations", "theme.SearchModal.startScreen.recentSearchesTitle": "Pred kratkim", "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "Umakni iskanje iz priljubljenih", + "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Remove this conversation from history", "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "Umakni iskanje iz zgodovine", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "Shrani to iskanje", - "theme.SearchPage.algoliaLabel": "Iskanje Algolia", + "theme.SearchPage.algoliaLabel": "Poganja Algolia", "theme.SearchPage.documentsFound.plurals": "Dokument najden|Dokumenta najdena|{count} dokumenti najdeni|{count} dokumentov najdenih", "theme.SearchPage.emptyResultsTitle": "Išči po dokumentaciji", "theme.SearchPage.existingResultsTitle": "Rezultati iskanja za \"{query}\"", diff --git a/packages/docusaurus-theme-translations/locales/sr/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/sr/theme-search-algolia.json index 4c6e05d55e..337015a14e 100644 --- a/packages/docusaurus-theme-translations/locales/sr/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/sr/theme-search-algolia.json @@ -1,30 +1,55 @@ { "theme.SearchBar.label": "Тражи", "theme.SearchBar.seeAll": "See all {count} results", + "theme.SearchModal.askAiScreen.afterToolCallText": "Searched for", + "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copied!", + "theme.SearchModal.askAiScreen.copyButtonText": "Copy", + "theme.SearchModal.askAiScreen.copyButtonTitle": "Copy", + "theme.SearchModal.askAiScreen.disclaimerText": "Answers are generated with AI which can make mistakes. Verify responses.", + "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Dislike", + "theme.SearchModal.askAiScreen.duringToolCallText": "Searching for ", + "theme.SearchModal.askAiScreen.likeButtonTitle": "Like", + "theme.SearchModal.askAiScreen.preToolCallText": "Searching...", + "theme.SearchModal.askAiScreen.relatedSourcesText": "Related sources", + "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Thanks for your feedback!", + "theme.SearchModal.askAiScreen.thinkingText": "Thinking...", "theme.SearchModal.errorScreen.helpText": "You might want to check your network connection.", "theme.SearchModal.errorScreen.titleText": "Unable to fetch results", + "theme.SearchModal.footer.backToSearchText": "Back to search", "theme.SearchModal.footer.closeKeyAriaLabel": "Escape key", "theme.SearchModal.footer.closeText": "to close", "theme.SearchModal.footer.navigateDownKeyAriaLabel": "Arrow down", "theme.SearchModal.footer.navigateText": "to navigate", "theme.SearchModal.footer.navigateUpKeyAriaLabel": "Arrow up", - "theme.SearchModal.footer.searchByText": "Search by", + "theme.SearchModal.footer.searchByText": "Powered by", "theme.SearchModal.footer.selectKeyAriaLabel": "Enter key", "theme.SearchModal.footer.selectText": "to select", + "theme.SearchModal.footer.submitQuestionText": "Submit question", "theme.SearchModal.noResultsScreen.noResultsText": "No results for", "theme.SearchModal.noResultsScreen.reportMissingResultsLinkText": "Let us know.", "theme.SearchModal.noResultsScreen.reportMissingResultsText": "Believe this query should return results?", "theme.SearchModal.noResultsScreen.suggestedQueryText": "Try searching for", "theme.SearchModal.placeholder": "Search docs", + "theme.SearchModal.resultsScreen.askAiPlaceholder": "Ask AI: ", + "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Back to keyword search", + "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Back to keyword search", "theme.SearchModal.searchBox.cancelButtonText": "Cancel", + "theme.SearchModal.searchBox.enterKeyHint": "search", + "theme.SearchModal.searchBox.enterKeyHintAskAi": "enter", + "theme.SearchModal.searchBox.placeholderText": "Search docs", + "theme.SearchModal.searchBox.placeholderTextAskAi": "Ask another question...", + "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Answering...", "theme.SearchModal.searchBox.resetButtonTitle": "Clear the query", + "theme.SearchModal.searchBox.searchInputLabel": "Search", "theme.SearchModal.startScreen.favoriteSearchesTitle": "Favorite", "theme.SearchModal.startScreen.noRecentSearchesText": "No recent searches", + "theme.SearchModal.startScreen.recentConversationsTitle": "Recent conversations", "theme.SearchModal.startScreen.recentSearchesTitle": "Recent", "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "Remove this search from favorites", + "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Remove this conversation from history", "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "Remove this search from history", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "Save this search", - "theme.SearchPage.algoliaLabel": "Претрага из Algolia", + "theme.SearchPage.algoliaLabel": "Покреће Algolia", "theme.SearchPage.documentsFound.plurals": "Један пронађен документ|{count} пронађених докумената", "theme.SearchPage.emptyResultsTitle": "Тражи документацију", "theme.SearchPage.existingResultsTitle": "Резултати за \"{query}\"", diff --git a/packages/docusaurus-theme-translations/locales/sv/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/sv/theme-search-algolia.json index c5477d8b59..c83d2e778b 100644 --- a/packages/docusaurus-theme-translations/locales/sv/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/sv/theme-search-algolia.json @@ -1,8 +1,21 @@ { "theme.SearchBar.label": "Sök", "theme.SearchBar.seeAll": "Se alla {count} resultat", + "theme.SearchModal.askAiScreen.afterToolCallText": "Searched for", + "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copied!", + "theme.SearchModal.askAiScreen.copyButtonText": "Copy", + "theme.SearchModal.askAiScreen.copyButtonTitle": "Copy", + "theme.SearchModal.askAiScreen.disclaimerText": "Answers are generated with AI which can make mistakes. Verify responses.", + "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Dislike", + "theme.SearchModal.askAiScreen.duringToolCallText": "Searching for ", + "theme.SearchModal.askAiScreen.likeButtonTitle": "Like", + "theme.SearchModal.askAiScreen.preToolCallText": "Searching...", + "theme.SearchModal.askAiScreen.relatedSourcesText": "Related sources", + "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Thanks for your feedback!", + "theme.SearchModal.askAiScreen.thinkingText": "Thinking...", "theme.SearchModal.errorScreen.helpText": "Du kanske vill kontrollera din nätverksanslutning.", "theme.SearchModal.errorScreen.titleText": "Kunde inte hämta resultat", + "theme.SearchModal.footer.backToSearchText": "Back to search", "theme.SearchModal.footer.closeKeyAriaLabel": "Escape-tangenten", "theme.SearchModal.footer.closeText": "för att stänga", "theme.SearchModal.footer.navigateDownKeyAriaLabel": "Pil ned", @@ -11,20 +24,32 @@ "theme.SearchModal.footer.searchByText": "Sökning från", "theme.SearchModal.footer.selectKeyAriaLabel": "Enter-tangenten", "theme.SearchModal.footer.selectText": "för att välja", + "theme.SearchModal.footer.submitQuestionText": "Submit question", "theme.SearchModal.noResultsScreen.noResultsText": "Inga resultat för", "theme.SearchModal.noResultsScreen.reportMissingResultsLinkText": "Återkoppla.", "theme.SearchModal.noResultsScreen.reportMissingResultsText": "Tycker du att sökningen borde returnera resultat?", "theme.SearchModal.noResultsScreen.suggestedQueryText": "Försöka söka efter", "theme.SearchModal.placeholder": "Sök i dokumentationen", + "theme.SearchModal.resultsScreen.askAiPlaceholder": "Ask AI: ", + "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Back to keyword search", + "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Back to keyword search", "theme.SearchModal.searchBox.cancelButtonText": "Avbryt", + "theme.SearchModal.searchBox.enterKeyHint": "search", + "theme.SearchModal.searchBox.enterKeyHintAskAi": "enter", + "theme.SearchModal.searchBox.placeholderText": "Search docs", + "theme.SearchModal.searchBox.placeholderTextAskAi": "Ask another question...", + "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Answering...", "theme.SearchModal.searchBox.resetButtonTitle": "Rensa sökningen", + "theme.SearchModal.searchBox.searchInputLabel": "Search", "theme.SearchModal.startScreen.favoriteSearchesTitle": "Favoriter", "theme.SearchModal.startScreen.noRecentSearchesText": "Inga senaste sökningar", + "theme.SearchModal.startScreen.recentConversationsTitle": "Recent conversations", "theme.SearchModal.startScreen.recentSearchesTitle": "Senaste sökningar", "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "Ta bort från favoriter", + "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Remove this conversation from history", "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "Ta bort från historiken", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "Lägg till som favorit", - "theme.SearchPage.algoliaLabel": "Sökning från Algolia", + "theme.SearchPage.algoliaLabel": "Drivs av Algolia", "theme.SearchPage.documentsFound.plurals": "Ett dokument hittades|{count} dokument hittades", "theme.SearchPage.emptyResultsTitle": "Sök genom dokumentationen", "theme.SearchPage.existingResultsTitle": "Sökresultat för \"{query}\"", diff --git a/packages/docusaurus-theme-translations/locales/tk/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/tk/theme-search-algolia.json index 39627ef516..c3621dcaff 100644 --- a/packages/docusaurus-theme-translations/locales/tk/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/tk/theme-search-algolia.json @@ -1,8 +1,21 @@ { "theme.SearchBar.label": "Gözleg", "theme.SearchBar.seeAll": "Ähli netijeleri gör ({count})", + "theme.SearchModal.askAiScreen.afterToolCallText": "Searched for", + "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copied!", + "theme.SearchModal.askAiScreen.copyButtonText": "Copy", + "theme.SearchModal.askAiScreen.copyButtonTitle": "Copy", + "theme.SearchModal.askAiScreen.disclaimerText": "Answers are generated with AI which can make mistakes. Verify responses.", + "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Dislike", + "theme.SearchModal.askAiScreen.duringToolCallText": "Searching for ", + "theme.SearchModal.askAiScreen.likeButtonTitle": "Like", + "theme.SearchModal.askAiScreen.preToolCallText": "Searching...", + "theme.SearchModal.askAiScreen.relatedSourcesText": "Related sources", + "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Thanks for your feedback!", + "theme.SearchModal.askAiScreen.thinkingText": "Thinking...", "theme.SearchModal.errorScreen.helpText": "Internet birikmäňizi barlaň.", "theme.SearchModal.errorScreen.titleText": "Gözleg netijelerini ýüklemek mümkin däl", + "theme.SearchModal.footer.backToSearchText": "Back to search", "theme.SearchModal.footer.closeKeyAriaLabel": "Escape düwmesi", "theme.SearchModal.footer.closeText": "ýapmak", "theme.SearchModal.footer.navigateDownKeyAriaLabel": "Aşak ok düwmesi", @@ -11,20 +24,32 @@ "theme.SearchModal.footer.searchByText": "Gözleg", "theme.SearchModal.footer.selectKeyAriaLabel": "Enter düwmesi", "theme.SearchModal.footer.selectText": "saýlamak", + "theme.SearchModal.footer.submitQuestionText": "Submit question", "theme.SearchModal.noResultsScreen.noResultsText": "Sorag boýunça netijeler ýok", "theme.SearchModal.noResultsScreen.reportMissingResultsLinkText": "Bize habar beriň.", "theme.SearchModal.noResultsScreen.reportMissingResultsText": "Gözleg netijesi ýokmy?", "theme.SearchModal.noResultsScreen.suggestedQueryText": "Synanyşyň", "theme.SearchModal.placeholder": "Gözleg", + "theme.SearchModal.resultsScreen.askAiPlaceholder": "Ask AI: ", + "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Back to keyword search", + "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Back to keyword search", "theme.SearchModal.searchBox.cancelButtonText": "Ýatyrmak", + "theme.SearchModal.searchBox.enterKeyHint": "search", + "theme.SearchModal.searchBox.enterKeyHintAskAi": "enter", + "theme.SearchModal.searchBox.placeholderText": "Search docs", + "theme.SearchModal.searchBox.placeholderTextAskAi": "Ask another question...", + "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Answering...", "theme.SearchModal.searchBox.resetButtonTitle": "Arassalamak", + "theme.SearchModal.searchBox.searchInputLabel": "Search", "theme.SearchModal.startScreen.favoriteSearchesTitle": "Halaýanlar", "theme.SearchModal.startScreen.noRecentSearchesText": "Gözleg taryhy ýok", + "theme.SearchModal.startScreen.recentConversationsTitle": "Recent conversations", "theme.SearchModal.startScreen.recentSearchesTitle": "Soňky", "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "Halaýan ýazgyny aýyrmak", + "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Remove this conversation from history", "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "Taryh ýazgysyny aýyrmak", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "Gözleg soragyny ýatda saklaň", - "theme.SearchPage.algoliaLabel": "Algolia tarapyndan gözleg", + "theme.SearchPage.algoliaLabel": "Algolia tarapyndan goldanylýar", "theme.SearchPage.documentsFound.plurals": "{count} dokument|{count} dokumentler", "theme.SearchPage.emptyResultsTitle": "Sahypada gözleg", "theme.SearchPage.existingResultsTitle": "\"{query}\" boýunça gözleg netijeleri", diff --git a/packages/docusaurus-theme-translations/locales/tr/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/tr/theme-search-algolia.json index 04b00b9690..c1635ea334 100644 --- a/packages/docusaurus-theme-translations/locales/tr/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/tr/theme-search-algolia.json @@ -1,8 +1,21 @@ { "theme.SearchBar.label": "Ara", "theme.SearchBar.seeAll": "{count} sonucun tümünü görün", + "theme.SearchModal.askAiScreen.afterToolCallText": "Searched for", + "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copied!", + "theme.SearchModal.askAiScreen.copyButtonText": "Copy", + "theme.SearchModal.askAiScreen.copyButtonTitle": "Copy", + "theme.SearchModal.askAiScreen.disclaimerText": "Answers are generated with AI which can make mistakes. Verify responses.", + "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Dislike", + "theme.SearchModal.askAiScreen.duringToolCallText": "Searching for ", + "theme.SearchModal.askAiScreen.likeButtonTitle": "Like", + "theme.SearchModal.askAiScreen.preToolCallText": "Searching...", + "theme.SearchModal.askAiScreen.relatedSourcesText": "Related sources", + "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Thanks for your feedback!", + "theme.SearchModal.askAiScreen.thinkingText": "Thinking...", "theme.SearchModal.errorScreen.helpText": "Ağ bağlantınızı kontrol etmek isteyebilirsiniz.", "theme.SearchModal.errorScreen.titleText": "Sonuçlar alınamadı", + "theme.SearchModal.footer.backToSearchText": "Back to search", "theme.SearchModal.footer.closeKeyAriaLabel": "ESC Tuşu", "theme.SearchModal.footer.closeText": "Kapat", "theme.SearchModal.footer.navigateDownKeyAriaLabel": "Aşağı ok", @@ -11,20 +24,32 @@ "theme.SearchModal.footer.searchByText": "Şuna göre ara:", "theme.SearchModal.footer.selectKeyAriaLabel": "Enter tuşu", "theme.SearchModal.footer.selectText": "Seç", + "theme.SearchModal.footer.submitQuestionText": "Submit question", "theme.SearchModal.noResultsScreen.noResultsText": "için sonuç yok", "theme.SearchModal.noResultsScreen.reportMissingResultsLinkText": "Bilmemize izin ver.", "theme.SearchModal.noResultsScreen.reportMissingResultsText": "Bu sorgunun sonuç döndürmesi gerektiğine inanıyor musunuz?", "theme.SearchModal.noResultsScreen.suggestedQueryText": "Aramayı deneyin", "theme.SearchModal.placeholder": "Dokümanlarda ara", + "theme.SearchModal.resultsScreen.askAiPlaceholder": "Ask AI: ", + "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Back to keyword search", + "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Back to keyword search", "theme.SearchModal.searchBox.cancelButtonText": "İptal", + "theme.SearchModal.searchBox.enterKeyHint": "search", + "theme.SearchModal.searchBox.enterKeyHintAskAi": "enter", + "theme.SearchModal.searchBox.placeholderText": "Search docs", + "theme.SearchModal.searchBox.placeholderTextAskAi": "Ask another question...", + "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Answering...", "theme.SearchModal.searchBox.resetButtonTitle": "Sorguyu temizle", + "theme.SearchModal.searchBox.searchInputLabel": "Search", "theme.SearchModal.startScreen.favoriteSearchesTitle": "Favori", "theme.SearchModal.startScreen.noRecentSearchesText": "Son arama yok", + "theme.SearchModal.startScreen.recentConversationsTitle": "Recent conversations", "theme.SearchModal.startScreen.recentSearchesTitle": "Son", "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "Bu aramayı favorilerden kaldır", + "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Remove this conversation from history", "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "Bu aramayı geçmişten kaldır", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "Bu aramayı kaydet", - "theme.SearchPage.algoliaLabel": "Algolia ile Ara", + "theme.SearchPage.algoliaLabel": "Algolia tarafından desteklenmektedir", "theme.SearchPage.documentsFound.plurals": "Bir döküman bulundu|{count} döküman bulundu", "theme.SearchPage.emptyResultsTitle": "Dokümanlarda ara", "theme.SearchPage.existingResultsTitle": "Arama sonuçları", diff --git a/packages/docusaurus-theme-translations/locales/uk/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/uk/theme-search-algolia.json index 263ee92511..d26538bc52 100644 --- a/packages/docusaurus-theme-translations/locales/uk/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/uk/theme-search-algolia.json @@ -1,8 +1,21 @@ { "theme.SearchBar.label": "Пошук", "theme.SearchBar.seeAll": "Переглянути всі результати ({count})", + "theme.SearchModal.askAiScreen.afterToolCallText": "Searched for", + "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copied!", + "theme.SearchModal.askAiScreen.copyButtonText": "Copy", + "theme.SearchModal.askAiScreen.copyButtonTitle": "Copy", + "theme.SearchModal.askAiScreen.disclaimerText": "Answers are generated with AI which can make mistakes. Verify responses.", + "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Dislike", + "theme.SearchModal.askAiScreen.duringToolCallText": "Searching for ", + "theme.SearchModal.askAiScreen.likeButtonTitle": "Like", + "theme.SearchModal.askAiScreen.preToolCallText": "Searching...", + "theme.SearchModal.askAiScreen.relatedSourcesText": "Related sources", + "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Thanks for your feedback!", + "theme.SearchModal.askAiScreen.thinkingText": "Thinking...", "theme.SearchModal.errorScreen.helpText": "Перевірте підключення до мережі.", "theme.SearchModal.errorScreen.titleText": "Не вдалося отримати результати", + "theme.SearchModal.footer.backToSearchText": "Back to search", "theme.SearchModal.footer.closeKeyAriaLabel": "Клавіша Escape", "theme.SearchModal.footer.closeText": "закрити", "theme.SearchModal.footer.navigateDownKeyAriaLabel": "Стрілка вниз", @@ -11,25 +24,37 @@ "theme.SearchModal.footer.searchByText": "Пошук за допомогою", "theme.SearchModal.footer.selectKeyAriaLabel": "Клавіша Enter", "theme.SearchModal.footer.selectText": "обрати", + "theme.SearchModal.footer.submitQuestionText": "Submit question", "theme.SearchModal.noResultsScreen.noResultsText": "Немає результатів для", "theme.SearchModal.noResultsScreen.reportMissingResultsLinkText": "Дайте нам знати.", "theme.SearchModal.noResultsScreen.reportMissingResultsText": "Чи вважаєте ви, що цей запит має повернути результати?", "theme.SearchModal.noResultsScreen.suggestedQueryText": "Спробуйте пошукати", "theme.SearchModal.placeholder": "Пошук документів", + "theme.SearchModal.resultsScreen.askAiPlaceholder": "Ask AI: ", + "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Back to keyword search", + "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Back to keyword search", "theme.SearchModal.searchBox.cancelButtonText": "Скасувати", + "theme.SearchModal.searchBox.enterKeyHint": "search", + "theme.SearchModal.searchBox.enterKeyHintAskAi": "enter", + "theme.SearchModal.searchBox.placeholderText": "Search docs", + "theme.SearchModal.searchBox.placeholderTextAskAi": "Ask another question...", + "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Answering...", "theme.SearchModal.searchBox.resetButtonTitle": "Очистити запит", + "theme.SearchModal.searchBox.searchInputLabel": "Search", "theme.SearchModal.startScreen.favoriteSearchesTitle": "Обране", "theme.SearchModal.startScreen.noRecentSearchesText": "Немає останніх пошуків", + "theme.SearchModal.startScreen.recentConversationsTitle": "Recent conversations", "theme.SearchModal.startScreen.recentSearchesTitle": "Останні", "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "Видалити цей пошук з обраного", + "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Remove this conversation from history", "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "Видалити цей пошук з історії", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "Зберегти цей пошук", - "theme.SearchPage.algoliaLabel": "Пошук за допомогою Algolia", + "theme.SearchPage.algoliaLabel": "Працює на Algolia", "theme.SearchPage.documentsFound.plurals": "{count} документ|{count} документи|{count} документів", "theme.SearchPage.emptyResultsTitle": "Пошук по сайту", "theme.SearchPage.existingResultsTitle": "Результати пошуку за запитом \"{query}\"", "theme.SearchPage.fetchingNewResults": "Завантаження нових результатів пошуку...", "theme.SearchPage.inputLabel": "Пошук", - "theme.SearchPage.inputPlaceholder": "Введіть фразу для пошуку", - "theme.SearchPage.noResultsText": "За запитом нічого не знайдено" + "theme.SearchPage.inputPlaceholder": "Введіть ваш пошук тут", + "theme.SearchPage.noResultsText": "Не знайдено результатів" } diff --git a/packages/docusaurus-theme-translations/locales/vi/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/vi/theme-search-algolia.json index 664f86539c..18191ca11a 100644 --- a/packages/docusaurus-theme-translations/locales/vi/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/vi/theme-search-algolia.json @@ -1,8 +1,21 @@ { "theme.SearchBar.label": "Tìm kiếm", "theme.SearchBar.seeAll": "Xem tất cả {count} kết quả", + "theme.SearchModal.askAiScreen.afterToolCallText": "Searched for", + "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copied!", + "theme.SearchModal.askAiScreen.copyButtonText": "Copy", + "theme.SearchModal.askAiScreen.copyButtonTitle": "Copy", + "theme.SearchModal.askAiScreen.disclaimerText": "Answers are generated with AI which can make mistakes. Verify responses.", + "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Dislike", + "theme.SearchModal.askAiScreen.duringToolCallText": "Searching for ", + "theme.SearchModal.askAiScreen.likeButtonTitle": "Like", + "theme.SearchModal.askAiScreen.preToolCallText": "Searching...", + "theme.SearchModal.askAiScreen.relatedSourcesText": "Related sources", + "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Thanks for your feedback!", + "theme.SearchModal.askAiScreen.thinkingText": "Thinking...", "theme.SearchModal.errorScreen.helpText": "Bạn nên kiểm tra lại kết nối mạng của mình.", "theme.SearchModal.errorScreen.titleText": "Không thể tìm nạp dữ liệu", + "theme.SearchModal.footer.backToSearchText": "Back to search", "theme.SearchModal.footer.closeKeyAriaLabel": "Phím thoát", "theme.SearchModal.footer.closeText": "để đóng", "theme.SearchModal.footer.navigateDownKeyAriaLabel": "Mũi tên xuống", @@ -11,25 +24,37 @@ "theme.SearchModal.footer.searchByText": "Tìm kiếm theo", "theme.SearchModal.footer.selectKeyAriaLabel": "Nhập khóa", "theme.SearchModal.footer.selectText": "để chọn", + "theme.SearchModal.footer.submitQuestionText": "Submit question", "theme.SearchModal.noResultsScreen.noResultsText": "Không có kết quả dành cho", "theme.SearchModal.noResultsScreen.reportMissingResultsLinkText": "Hãy để chúng tôi biết.", "theme.SearchModal.noResultsScreen.reportMissingResultsText": "Tin rằng truy vấn này sẽ trả về kết quả?", "theme.SearchModal.noResultsScreen.suggestedQueryText": "Thử tìm kiếm", "theme.SearchModal.placeholder": "Tìm kiếm tài liệu", + "theme.SearchModal.resultsScreen.askAiPlaceholder": "Ask AI: ", + "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Back to keyword search", + "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Back to keyword search", "theme.SearchModal.searchBox.cancelButtonText": "Hủy bỏ", + "theme.SearchModal.searchBox.enterKeyHint": "search", + "theme.SearchModal.searchBox.enterKeyHintAskAi": "enter", + "theme.SearchModal.searchBox.placeholderText": "Search docs", + "theme.SearchModal.searchBox.placeholderTextAskAi": "Ask another question...", + "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Answering...", "theme.SearchModal.searchBox.resetButtonTitle": "Xóa truy vấn", + "theme.SearchModal.searchBox.searchInputLabel": "Search", "theme.SearchModal.startScreen.favoriteSearchesTitle": "Yêu thích", "theme.SearchModal.startScreen.noRecentSearchesText": "Không có tìm kiếm nào gần đây", + "theme.SearchModal.startScreen.recentConversationsTitle": "Recent conversations", "theme.SearchModal.startScreen.recentSearchesTitle": "Gần đây", "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "Xóa tìm kiếm này khỏi danh sách yêu thích", + "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Remove this conversation from history", "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "Xóa tìm kiếm này khỏi lịch sử", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "Lưu tìm kiếm này", - "theme.SearchPage.algoliaLabel": "Tìm kiếm với Algolia", + "theme.SearchPage.algoliaLabel": "Được cung cấp bởi Algolia", "theme.SearchPage.documentsFound.plurals": "Tìm thấy {count} kết quả", "theme.SearchPage.emptyResultsTitle": "Tìm kiếm", "theme.SearchPage.existingResultsTitle": "Kết quả tìm kiếm cho \"{query}\"", "theme.SearchPage.fetchingNewResults": "Đang tải thêm kết quả...", "theme.SearchPage.inputLabel": "Tìm kiếm", - "theme.SearchPage.inputPlaceholder": "Nhập từ khóa cần tìm vào đây", - "theme.SearchPage.noResultsText": "Không tìm thấy kết quả nào" + "theme.SearchPage.inputPlaceholder": "Nhập tìm kiếm của bạn ở đây", + "theme.SearchPage.noResultsText": "Không tìm thấy kết quả" } diff --git a/packages/docusaurus-theme-translations/locales/zh-Hans/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/zh-Hans/theme-search-algolia.json index fb86932938..7f6ac62a23 100644 --- a/packages/docusaurus-theme-translations/locales/zh-Hans/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/zh-Hans/theme-search-algolia.json @@ -1,8 +1,21 @@ { "theme.SearchBar.label": "搜索", "theme.SearchBar.seeAll": "查看全部 {count} 个结果", + "theme.SearchModal.askAiScreen.afterToolCallText": "Searched for", + "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copied!", + "theme.SearchModal.askAiScreen.copyButtonText": "Copy", + "theme.SearchModal.askAiScreen.copyButtonTitle": "Copy", + "theme.SearchModal.askAiScreen.disclaimerText": "Answers are generated with AI which can make mistakes. Verify responses.", + "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Dislike", + "theme.SearchModal.askAiScreen.duringToolCallText": "Searching for ", + "theme.SearchModal.askAiScreen.likeButtonTitle": "Like", + "theme.SearchModal.askAiScreen.preToolCallText": "Searching...", + "theme.SearchModal.askAiScreen.relatedSourcesText": "Related sources", + "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Thanks for your feedback!", + "theme.SearchModal.askAiScreen.thinkingText": "Thinking...", "theme.SearchModal.errorScreen.helpText": "你可能需要检查网络连接。", "theme.SearchModal.errorScreen.titleText": "无法获取结果", + "theme.SearchModal.footer.backToSearchText": "Back to search", "theme.SearchModal.footer.closeKeyAriaLabel": "Esc 键", "theme.SearchModal.footer.closeText": "关闭", "theme.SearchModal.footer.navigateDownKeyAriaLabel": "向下键", @@ -11,25 +24,37 @@ "theme.SearchModal.footer.searchByText": "搜索提供", "theme.SearchModal.footer.selectKeyAriaLabel": "Enter 键", "theme.SearchModal.footer.selectText": "选中", + "theme.SearchModal.footer.submitQuestionText": "Submit question", "theme.SearchModal.noResultsScreen.noResultsText": "没有结果:", "theme.SearchModal.noResultsScreen.reportMissingResultsLinkText": "请告知我们。", "theme.SearchModal.noResultsScreen.reportMissingResultsText": "认为这个查询应该有结果?", "theme.SearchModal.noResultsScreen.suggestedQueryText": "试试搜索", "theme.SearchModal.placeholder": "搜索文档", + "theme.SearchModal.resultsScreen.askAiPlaceholder": "Ask AI: ", + "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Back to keyword search", + "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Back to keyword search", "theme.SearchModal.searchBox.cancelButtonText": "取消", + "theme.SearchModal.searchBox.enterKeyHint": "search", + "theme.SearchModal.searchBox.enterKeyHintAskAi": "enter", + "theme.SearchModal.searchBox.placeholderText": "Search docs", + "theme.SearchModal.searchBox.placeholderTextAskAi": "Ask another question...", + "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Answering...", "theme.SearchModal.searchBox.resetButtonTitle": "清除查询", + "theme.SearchModal.searchBox.searchInputLabel": "Search", "theme.SearchModal.startScreen.favoriteSearchesTitle": "收藏", "theme.SearchModal.startScreen.noRecentSearchesText": "没有最近搜索", + "theme.SearchModal.startScreen.recentConversationsTitle": "Recent conversations", "theme.SearchModal.startScreen.recentSearchesTitle": "最近搜索", "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "从收藏列表中删除这个搜索", + "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Remove this conversation from history", "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "从历史记录中删除这个搜索", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "保存这个搜索", - "theme.SearchPage.algoliaLabel": "通过 Algolia 搜索", + "theme.SearchPage.algoliaLabel": "由 Algolia 提供", "theme.SearchPage.documentsFound.plurals": "找到 {count} 份文件", "theme.SearchPage.emptyResultsTitle": "在文档中搜索", "theme.SearchPage.existingResultsTitle": "「{query}」的搜索结果", "theme.SearchPage.fetchingNewResults": "正在获取新的搜索结果...", "theme.SearchPage.inputLabel": "搜索", - "theme.SearchPage.inputPlaceholder": "在此输入搜索字词", - "theme.SearchPage.noResultsText": "未找到任何结果" + "theme.SearchPage.inputPlaceholder": "在此输入搜索词", + "theme.SearchPage.noResultsText": "未找到结果" } diff --git a/packages/docusaurus-theme-translations/locales/zh-Hant/theme-search-algolia.json b/packages/docusaurus-theme-translations/locales/zh-Hant/theme-search-algolia.json index 9e71d66561..4f8bee87df 100644 --- a/packages/docusaurus-theme-translations/locales/zh-Hant/theme-search-algolia.json +++ b/packages/docusaurus-theme-translations/locales/zh-Hant/theme-search-algolia.json @@ -1,8 +1,21 @@ { "theme.SearchBar.label": "搜尋", "theme.SearchBar.seeAll": "查看全部 {count} 個結果", + "theme.SearchModal.askAiScreen.afterToolCallText": "Searched for", + "theme.SearchModal.askAiScreen.copyButtonCopiedText": "Copied!", + "theme.SearchModal.askAiScreen.copyButtonText": "Copy", + "theme.SearchModal.askAiScreen.copyButtonTitle": "Copy", + "theme.SearchModal.askAiScreen.disclaimerText": "Answers are generated with AI which can make mistakes. Verify responses.", + "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Dislike", + "theme.SearchModal.askAiScreen.duringToolCallText": "Searching for ", + "theme.SearchModal.askAiScreen.likeButtonTitle": "Like", + "theme.SearchModal.askAiScreen.preToolCallText": "Searching...", + "theme.SearchModal.askAiScreen.relatedSourcesText": "Related sources", + "theme.SearchModal.askAiScreen.thanksForFeedbackText": "Thanks for your feedback!", + "theme.SearchModal.askAiScreen.thinkingText": "Thinking...", "theme.SearchModal.errorScreen.helpText": "你可能需要檢查網路連線。", "theme.SearchModal.errorScreen.titleText": "無法獲取結果", + "theme.SearchModal.footer.backToSearchText": "Back to search", "theme.SearchModal.footer.closeKeyAriaLabel": "Esc 鍵", "theme.SearchModal.footer.closeText": "關閉", "theme.SearchModal.footer.navigateDownKeyAriaLabel": "向下鍵", @@ -11,25 +24,37 @@ "theme.SearchModal.footer.searchByText": "搜尋提供", "theme.SearchModal.footer.selectKeyAriaLabel": "Enter 鍵", "theme.SearchModal.footer.selectText": "選中", + "theme.SearchModal.footer.submitQuestionText": "Submit question", "theme.SearchModal.noResultsScreen.noResultsText": "沒有結果:", "theme.SearchModal.noResultsScreen.reportMissingResultsLinkText": "請告知我們。", "theme.SearchModal.noResultsScreen.reportMissingResultsText": "認為這個查詢應該有結果?", "theme.SearchModal.noResultsScreen.suggestedQueryText": "試試搜尋", "theme.SearchModal.placeholder": "搜尋文檔", + "theme.SearchModal.resultsScreen.askAiPlaceholder": "Ask AI: ", + "theme.SearchModal.searchBox.backToKeywordSearchButtonAriaLabel": "Back to keyword search", + "theme.SearchModal.searchBox.backToKeywordSearchButtonText": "Back to keyword search", "theme.SearchModal.searchBox.cancelButtonText": "取消", + "theme.SearchModal.searchBox.enterKeyHint": "search", + "theme.SearchModal.searchBox.enterKeyHintAskAi": "enter", + "theme.SearchModal.searchBox.placeholderText": "Search docs", + "theme.SearchModal.searchBox.placeholderTextAskAi": "Ask another question...", + "theme.SearchModal.searchBox.placeholderTextAskAiStreaming": "Answering...", "theme.SearchModal.searchBox.resetButtonTitle": "清除查詢", + "theme.SearchModal.searchBox.searchInputLabel": "Search", "theme.SearchModal.startScreen.favoriteSearchesTitle": "收藏", "theme.SearchModal.startScreen.noRecentSearchesText": "沒有最近的搜尋", + "theme.SearchModal.startScreen.recentConversationsTitle": "Recent conversations", "theme.SearchModal.startScreen.recentSearchesTitle": "最近搜尋", "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": "從收藏列表中刪除這個搜尋", + "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Remove this conversation from history", "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": "從歷史記錄中刪除這個搜尋", "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": "保存這個搜尋", - "theme.SearchPage.algoliaLabel": "透過 Algolia 搜尋", + "theme.SearchPage.algoliaLabel": "由 Algolia 提供", "theme.SearchPage.documentsFound.plurals": "找到 {count} 份文件", "theme.SearchPage.emptyResultsTitle": "在文件中搜尋", "theme.SearchPage.existingResultsTitle": "「{query}」的搜尋結果", "theme.SearchPage.fetchingNewResults": "正在取得新的搜尋結果...", "theme.SearchPage.inputLabel": "搜尋", - "theme.SearchPage.inputPlaceholder": "在此輸入搜尋字詞", - "theme.SearchPage.noResultsText": "未找到任何結果" + "theme.SearchPage.inputPlaceholder": "在此輸入搜尋詞", + "theme.SearchPage.noResultsText": "未找到結果" } diff --git a/project-words.txt b/project-words.txt index e377036d12..84ab6efecc 100644 --- a/project-words.txt +++ b/project-words.txt @@ -367,3 +367,4 @@ Zhou zoomable zpao ödingers +BYOLLM diff --git a/website/docs/search.mdx b/website/docs/search.mdx index c3264f62ca..eb7a130644 100644 --- a/website/docs/search.mdx +++ b/website/docs/search.mdx @@ -127,6 +127,9 @@ export default { // Optional: whether the insights feature is enabled or not on Docsearch (`false` by default) insights: false, + // Optional: whether you want to use the new Ask AI feature (undefined by default) + askAi: 'YOUR_ALGOLIA_ASK_AI_ASSISTANT_ID', + //... other Algolia params }, // highlight-end @@ -214,6 +217,53 @@ If you only get search results when Contextual Search is disabled, this is very ::: +### Ask AI {#ask-ai} + +Ask AI is a new feature that allows you to ask questions about your documentation. + +Ask AI brings the power of AI to your documentation: + +- **Conversational search:** Users can ask questions in natural language and get context-aware answers. +- **Completely free:** Ask AI is available at no additional cost. You'll pay only for the LLM usage to your provider. +- **BYOLLM (Bring Your Own LLM):** You can use your own language model provider, giving you full control over the AI experience. +- **Direct Algolia index integration:** The provider/models retrieve relevant context directly from your Algolia index, ensuring accurate and up-to-date answers. +- **Recently asked & conversation history:** Easily revisit your recent questions and jump back into previous Ask AI conversations. +- **Seamless integration:** Ask AI is available directly from the search modal. + +To enable it, add an `askAi` field in your `algolia` config: + +```js title="docusaurus.config.js" +export default { + // ... + themeConfig: { + // ... + algolia: { + // highlight-start + askAi: 'YOUR_ALGOLIA_ASK_AI_ASSISTANT_ID', + // highlight-end + + // highlight-start + // OR with custom parameters + askAi: { + assistantId: 'YOUR_ALGOLIA_ASK_AI_ASSISTANT_ID', + indexName: 'YOUR_ALGOLIA_INDEX_NAME', + apiKey: 'YOUR_ALGOLIA_API_KEY', + appId: 'YOUR_ALGOLIA_APP_ID', + }, + // highlight-end + + //... other Algolia params + }, + }, +}; +``` + +:::info + +To use Ask AI, you need to have an Algolia index with the Ask AI assistant enabled. Learn more about [how to setup Ask AI](https://docsearch.algolia.com/docs/v4/askai). + +::: + ### Styling your Algolia search {#styling-your-algolia-search} By default, DocSearch comes with a fine-tuned theme that was designed for accessibility, making sure that colors and contrasts respect standards. diff --git a/website/docusaurus.config.ts b/website/docusaurus.config.ts index 7ed001e3e0..2f96f7ff39 100644 --- a/website/docusaurus.config.ts +++ b/website/docusaurus.config.ts @@ -655,6 +655,17 @@ export default async function createConfigAsync() { appId: 'X1Z85QJPUV', apiKey: 'bf7211c161e8205da2f933a02534105a', indexName: 'docusaurus-2', + + // TODO temporary, for DocSearch v3/v4 conditional Ask AI integration + // see https://github.com/facebook/docusaurus/pull/11327 + // eslint-disable-next-line @typescript-eslint/no-var-requires,global-require + ...(require('@docsearch/react').version.startsWith('4.') + ? { + // cSpell:ignore IMYF + askAi: 'RgIMYFUmTfrN', + } + : {}), + replaceSearchResultPathname: isDev || isDeployPreview ? { diff --git a/yarn.lock b/yarn.lock index 3d53a19683..b02878f9cd 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,153 +2,190 @@ # yarn lockfile v1 -"@algolia/autocomplete-core@1.17.9": - version "1.17.9" - resolved "https://registry.yarnpkg.com/@algolia/autocomplete-core/-/autocomplete-core-1.17.9.tgz#83374c47dc72482aa45d6b953e89377047f0dcdc" - integrity sha512-O7BxrpLDPJWWHv/DLA9DRFWs+iY1uOJZkqUwjS5HSZAGcl0hIVCQ97LTLewiZmZ402JYUrun+8NqFP+hCknlbQ== +"@ai-sdk/gateway@1.0.23": + version "1.0.23" + resolved "https://registry.yarnpkg.com/@ai-sdk/gateway/-/gateway-1.0.23.tgz#284a7de5bf7c9e80ac68416f19cf3644d7bb2db6" + integrity sha512-ynV7WxpRK2zWLGkdOtrU2hW22mBVkEYVS3iMg1+ZGmAYSgzCqzC74bfOJZ2GU1UdcrFWUsFI9qAYjsPkd+AebA== dependencies: - "@algolia/autocomplete-plugin-algolia-insights" "1.17.9" - "@algolia/autocomplete-shared" "1.17.9" + "@ai-sdk/provider" "2.0.0" + "@ai-sdk/provider-utils" "3.0.9" -"@algolia/autocomplete-plugin-algolia-insights@1.17.9": - version "1.17.9" - resolved "https://registry.yarnpkg.com/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.17.9.tgz#74c86024d09d09e8bfa3dd90b844b77d9f9947b6" - integrity sha512-u1fEHkCbWF92DBeB/KHeMacsjsoI0wFhjZtlCq2ddZbAehshbZST6Hs0Avkc0s+4UyBGbMDnSuXHLuvRWK5iDQ== +"@ai-sdk/provider-utils@3.0.9": + version "3.0.9" + resolved "https://registry.yarnpkg.com/@ai-sdk/provider-utils/-/provider-utils-3.0.9.tgz#ac35a11eaafb5943a6c1bb024b4d2fdda6a8a0a3" + integrity sha512-Pm571x5efqaI4hf9yW4KsVlDBDme8++UepZRnq+kqVBWWjgvGhQlzU8glaFq0YJEB9kkxZHbRRyVeHoV2sRYaQ== dependencies: - "@algolia/autocomplete-shared" "1.17.9" + "@ai-sdk/provider" "2.0.0" + "@standard-schema/spec" "^1.0.0" + eventsource-parser "^3.0.5" -"@algolia/autocomplete-preset-algolia@1.17.9": - version "1.17.9" - resolved "https://registry.yarnpkg.com/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.17.9.tgz#911f3250544eb8ea4096fcfb268f156b085321b5" - integrity sha512-Na1OuceSJeg8j7ZWn5ssMu/Ax3amtOwk76u4h5J4eK2Nx2KB5qt0Z4cOapCsxot9VcEN11ADV5aUSlQF4RhGjQ== +"@ai-sdk/provider@2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@ai-sdk/provider/-/provider-2.0.0.tgz#b853c739d523b33675bc74b6c506b2c690bc602b" + integrity sha512-6o7Y2SeO9vFKB8lArHXehNuusnpddKPk7xqL7T2/b+OvXMRIXUO1rR4wcv1hAFUAT9avGZshty3Wlua/XA7TvA== dependencies: - "@algolia/autocomplete-shared" "1.17.9" + json-schema "^0.4.0" -"@algolia/autocomplete-shared@1.17.9": - version "1.17.9" - resolved "https://registry.yarnpkg.com/@algolia/autocomplete-shared/-/autocomplete-shared-1.17.9.tgz#5f38868f7cb1d54b014b17a10fc4f7e79d427fa8" - integrity sha512-iDf05JDQ7I0b7JEA/9IektxN/80a2MZ1ToohfmNS3rfeuQnIKI3IJlIafD0xu4StbtQTghx9T3Maa97ytkXenQ== - -"@algolia/client-abtesting@5.17.1": - version "5.17.1" - resolved "https://registry.yarnpkg.com/@algolia/client-abtesting/-/client-abtesting-5.17.1.tgz#cd591627245e2a4f2a978e51df5507b62d74b664" - integrity sha512-Os/xkQbDp5A5RdGYq1yS3fF69GoBJH5FIfrkVh+fXxCSe714i1Xdl9XoXhS4xG76DGKm6EFMlUqP024qjps8cg== +"@ai-sdk/react@^2.0.30": + version "2.0.45" + resolved "https://registry.yarnpkg.com/@ai-sdk/react/-/react-2.0.45.tgz#ea368c59e0e200e6506c8f82abefaf8cf52833f3" + integrity sha512-jrTeBQpIsueV6EB/L6KNdH/yadK/Ehx1qCus+9RC29kRikVhjgj8xNvHfH3qHCwsfGqLX9ljj69dCRLrmzpvnw== dependencies: - "@algolia/client-common" "5.17.1" - "@algolia/requester-browser-xhr" "5.17.1" - "@algolia/requester-fetch" "5.17.1" - "@algolia/requester-node-http" "5.17.1" + "@ai-sdk/provider-utils" "3.0.9" + ai "5.0.45" + swr "^2.2.5" + throttleit "2.1.0" -"@algolia/client-analytics@5.17.1": - version "5.17.1" - resolved "https://registry.yarnpkg.com/@algolia/client-analytics/-/client-analytics-5.17.1.tgz#32d5670b2640a44415dd58fc4b65a032dcfb7c29" - integrity sha512-WKpGC+cUhmdm3wndIlTh8RJXoVabUH+4HrvZHC4hXtvCYojEXYeep8RZstatwSZ7Ocg6Y2u67bLw90NEINuYEw== +"@algolia/abtesting@1.3.0": + version "1.3.0" + resolved "https://registry.yarnpkg.com/@algolia/abtesting/-/abtesting-1.3.0.tgz#3fade769bf5b03244baaee8034b83e2b49f8e86c" + integrity sha512-KqPVLdVNfoJzX5BKNGM9bsW8saHeyax8kmPFXul5gejrSPN3qss7PgsFH5mMem7oR8tvjvNkia97ljEYPYCN8Q== dependencies: - "@algolia/client-common" "5.17.1" - "@algolia/requester-browser-xhr" "5.17.1" - "@algolia/requester-fetch" "5.17.1" - "@algolia/requester-node-http" "5.17.1" + "@algolia/client-common" "5.37.0" + "@algolia/requester-browser-xhr" "5.37.0" + "@algolia/requester-fetch" "5.37.0" + "@algolia/requester-node-http" "5.37.0" -"@algolia/client-common@5.17.1": - version "5.17.1" - resolved "https://registry.yarnpkg.com/@algolia/client-common/-/client-common-5.17.1.tgz#9e75b4bfd510bf1fd39ec0abfb742958e6e2a144" - integrity sha512-5rb5+yPIie6912riAypTSyzbE23a7UM1UpESvD8GEPI4CcWQvA9DBlkRNx9qbq/nJ5pvv8VjZjUxJj7rFkzEAA== - -"@algolia/client-insights@5.17.1": - version "5.17.1" - resolved "https://registry.yarnpkg.com/@algolia/client-insights/-/client-insights-5.17.1.tgz#af6f5cbb97c35ab12b32872c6fb9f64d99234369" - integrity sha512-nb/tfwBMn209TzFv1DDTprBKt/wl5btHVKoAww9fdEVdoKK02R2KAqxe5tuXLdEzAsS+LevRyOM/YjXuLmPtjQ== +"@algolia/autocomplete-core@1.19.2": + version "1.19.2" + resolved "https://registry.yarnpkg.com/@algolia/autocomplete-core/-/autocomplete-core-1.19.2.tgz#702df67a08cb3cfe8c33ee1111ef136ec1a9e232" + integrity sha512-mKv7RyuAzXvwmq+0XRK8HqZXt9iZ5Kkm2huLjgn5JoCPtDy+oh9yxUMfDDaVCw0oyzZ1isdJBc7l9nuCyyR7Nw== dependencies: - "@algolia/client-common" "5.17.1" - "@algolia/requester-browser-xhr" "5.17.1" - "@algolia/requester-fetch" "5.17.1" - "@algolia/requester-node-http" "5.17.1" + "@algolia/autocomplete-plugin-algolia-insights" "1.19.2" + "@algolia/autocomplete-shared" "1.19.2" -"@algolia/client-personalization@5.17.1": - version "5.17.1" - resolved "https://registry.yarnpkg.com/@algolia/client-personalization/-/client-personalization-5.17.1.tgz#4df4781347d7bd493403604841376fef3c79f80f" - integrity sha512-JuNlZe1SdW9KbV0gcgdsiVkFfXt0mmPassdS3cBSGvZGbPB9JsHthD719k5Y6YOY4dGvw1JmC1i9CwCQHAS8hg== +"@algolia/autocomplete-plugin-algolia-insights@1.19.2": + version "1.19.2" + resolved "https://registry.yarnpkg.com/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.19.2.tgz#3584b625b9317e333d1ae43664d02358e175c52d" + integrity sha512-TjxbcC/r4vwmnZaPwrHtkXNeqvlpdyR+oR9Wi2XyfORkiGkLTVhX2j+O9SaCCINbKoDfc+c2PB8NjfOnz7+oKg== dependencies: - "@algolia/client-common" "5.17.1" - "@algolia/requester-browser-xhr" "5.17.1" - "@algolia/requester-fetch" "5.17.1" - "@algolia/requester-node-http" "5.17.1" + "@algolia/autocomplete-shared" "1.19.2" -"@algolia/client-query-suggestions@5.17.1": - version "5.17.1" - resolved "https://registry.yarnpkg.com/@algolia/client-query-suggestions/-/client-query-suggestions-5.17.1.tgz#df3ceaada101f0265f08bf7911e0dd40d9b8f6e5" - integrity sha512-RBIFIv1QE3IlAikJKWTOpd6pwE4d2dY6t02iXH7r/SLXWn0HzJtsAPPeFg/OKkFvWAXt0H7In2/Mp7a1/Dy2pw== - dependencies: - "@algolia/client-common" "5.17.1" - "@algolia/requester-browser-xhr" "5.17.1" - "@algolia/requester-fetch" "5.17.1" - "@algolia/requester-node-http" "5.17.1" +"@algolia/autocomplete-shared@1.19.2": + version "1.19.2" + resolved "https://registry.yarnpkg.com/@algolia/autocomplete-shared/-/autocomplete-shared-1.19.2.tgz#c0b7b8dc30a5c65b70501640e62b009535e4578f" + integrity sha512-jEazxZTVD2nLrC+wYlVHQgpBoBB5KPStrJxLzsIFl6Kqd1AlG9sIAGl39V5tECLpIQzB3Qa2T6ZPJ1ChkwMK/w== -"@algolia/client-search@5.17.1": - version "5.17.1" - resolved "https://registry.yarnpkg.com/@algolia/client-search/-/client-search-5.17.1.tgz#ff5e699bfae2786f08557960a74afbfb94ba7930" - integrity sha512-bd5JBUOP71kPsxwDcvOxqtqXXVo/706NFifZ/O5Rx5GB8ZNVAhg4l7aGoT6jBvEfgmrp2fqPbkdIZ6JnuOpGcw== +"@algolia/client-abtesting@5.37.0": + version "5.37.0" + resolved "https://registry.yarnpkg.com/@algolia/client-abtesting/-/client-abtesting-5.37.0.tgz#37df3674ccc37dfb0aa4cbfea42002bb136fb909" + integrity sha512-Dp2Zq+x9qQFnuiQhVe91EeaaPxWBhzwQ6QnznZQnH9C1/ei3dvtmAFfFeaTxM6FzfJXDLvVnaQagTYFTQz3R5g== dependencies: - "@algolia/client-common" "5.17.1" - "@algolia/requester-browser-xhr" "5.17.1" - "@algolia/requester-fetch" "5.17.1" - "@algolia/requester-node-http" "5.17.1" + "@algolia/client-common" "5.37.0" + "@algolia/requester-browser-xhr" "5.37.0" + "@algolia/requester-fetch" "5.37.0" + "@algolia/requester-node-http" "5.37.0" + +"@algolia/client-analytics@5.37.0": + version "5.37.0" + resolved "https://registry.yarnpkg.com/@algolia/client-analytics/-/client-analytics-5.37.0.tgz#6fb4d748e1af43d8bc9f955d73d98205ce1c1ee5" + integrity sha512-wyXODDOluKogTuZxRII6mtqhAq4+qUR3zIUJEKTiHLe8HMZFxfUEI4NO2qSu04noXZHbv/sRVdQQqzKh12SZuQ== + dependencies: + "@algolia/client-common" "5.37.0" + "@algolia/requester-browser-xhr" "5.37.0" + "@algolia/requester-fetch" "5.37.0" + "@algolia/requester-node-http" "5.37.0" + +"@algolia/client-common@5.37.0": + version "5.37.0" + resolved "https://registry.yarnpkg.com/@algolia/client-common/-/client-common-5.37.0.tgz#f7ca097c4bae44e4ea365ee8f420693d0005c98e" + integrity sha512-GylIFlPvLy9OMgFG8JkonIagv3zF+Dx3H401Uo2KpmfMVBBJiGfAb9oYfXtplpRMZnZPxF5FnkWaI/NpVJMC+g== + +"@algolia/client-insights@5.37.0": + version "5.37.0" + resolved "https://registry.yarnpkg.com/@algolia/client-insights/-/client-insights-5.37.0.tgz#f4f4011fc89bc0b2dfc384acc3c6fb38f633f4ec" + integrity sha512-T63afO2O69XHKw2+F7mfRoIbmXWGzgpZxgOFAdP3fR4laid7pWBt20P4eJ+Zn23wXS5kC9P2K7Bo3+rVjqnYiw== + dependencies: + "@algolia/client-common" "5.37.0" + "@algolia/requester-browser-xhr" "5.37.0" + "@algolia/requester-fetch" "5.37.0" + "@algolia/requester-node-http" "5.37.0" + +"@algolia/client-personalization@5.37.0": + version "5.37.0" + resolved "https://registry.yarnpkg.com/@algolia/client-personalization/-/client-personalization-5.37.0.tgz#c1688db681623b189f353599815a118033ceebb5" + integrity sha512-1zOIXM98O9zD8bYDCJiUJRC/qNUydGHK/zRK+WbLXrW1SqLFRXECsKZa5KoG166+o5q5upk96qguOtE8FTXDWQ== + dependencies: + "@algolia/client-common" "5.37.0" + "@algolia/requester-browser-xhr" "5.37.0" + "@algolia/requester-fetch" "5.37.0" + "@algolia/requester-node-http" "5.37.0" + +"@algolia/client-query-suggestions@5.37.0": + version "5.37.0" + resolved "https://registry.yarnpkg.com/@algolia/client-query-suggestions/-/client-query-suggestions-5.37.0.tgz#fa514df8d36fb548258c712f3ba6f97eb84ebb87" + integrity sha512-31Nr2xOLBCYVal+OMZn1rp1H4lPs1914Tfr3a34wU/nsWJ+TB3vWjfkUUuuYhWoWBEArwuRzt3YNLn0F/KRVkg== + dependencies: + "@algolia/client-common" "5.37.0" + "@algolia/requester-browser-xhr" "5.37.0" + "@algolia/requester-fetch" "5.37.0" + "@algolia/requester-node-http" "5.37.0" + +"@algolia/client-search@5.37.0": + version "5.37.0" + resolved "https://registry.yarnpkg.com/@algolia/client-search/-/client-search-5.37.0.tgz#38c7110d96fbbbda7b7fb0578a18b8cad3c25af2" + integrity sha512-DAFVUvEg+u7jUs6BZiVz9zdaUebYULPiQ4LM2R4n8Nujzyj7BZzGr2DCd85ip4p/cx7nAZWKM8pLcGtkTRTdsg== + dependencies: + "@algolia/client-common" "5.37.0" + "@algolia/requester-browser-xhr" "5.37.0" + "@algolia/requester-fetch" "5.37.0" + "@algolia/requester-node-http" "5.37.0" "@algolia/events@^4.0.1": version "4.0.1" resolved "https://registry.yarnpkg.com/@algolia/events/-/events-4.0.1.tgz#fd39e7477e7bc703d7f893b556f676c032af3950" integrity sha512-FQzvOCgoFXAbf5Y6mYozw2aj5KCJoA3m4heImceldzPSMbdyS4atVjJzXKMsfX3wnZTFYwkkt8/z8UesLHlSBQ== -"@algolia/ingestion@1.17.1": - version "1.17.1" - resolved "https://registry.yarnpkg.com/@algolia/ingestion/-/ingestion-1.17.1.tgz#e11cadca936a05f40d54f6ece5dc07d206e15048" - integrity sha512-T18tvePi1rjRYcIKhd82oRukrPWHxG/Iy1qFGaxCplgRm9Im5z96qnYOq75MSKGOUHkFxaBKJOLmtn8xDR+Mcw== +"@algolia/ingestion@1.37.0": + version "1.37.0" + resolved "https://registry.yarnpkg.com/@algolia/ingestion/-/ingestion-1.37.0.tgz#bb6016e656c68014050814abf130e103f977794e" + integrity sha512-pkCepBRRdcdd7dTLbFddnu886NyyxmhgqiRcHHaDunvX03Ij4WzvouWrQq7B7iYBjkMQrLS8wQqSP0REfA4W8g== dependencies: - "@algolia/client-common" "5.17.1" - "@algolia/requester-browser-xhr" "5.17.1" - "@algolia/requester-fetch" "5.17.1" - "@algolia/requester-node-http" "5.17.1" + "@algolia/client-common" "5.37.0" + "@algolia/requester-browser-xhr" "5.37.0" + "@algolia/requester-fetch" "5.37.0" + "@algolia/requester-node-http" "5.37.0" -"@algolia/monitoring@1.17.1": - version "1.17.1" - resolved "https://registry.yarnpkg.com/@algolia/monitoring/-/monitoring-1.17.1.tgz#c5fa1a0fe2bd07ed954e8925c7d8fb196bab427f" - integrity sha512-gDtow+AUywTehRP8S1tWKx2IvhcJOxldAoqBxzN3asuQobF7er5n72auBeL++HY4ImEuzMi7PDOA/Iuwxs2IcA== +"@algolia/monitoring@1.37.0": + version "1.37.0" + resolved "https://registry.yarnpkg.com/@algolia/monitoring/-/monitoring-1.37.0.tgz#6d20c220d648db8faea45679350f1516917cc13d" + integrity sha512-fNw7pVdyZAAQQCJf1cc/ih4fwrRdQSgKwgor4gchsI/Q/ss9inmC6bl/69jvoRSzgZS9BX4elwHKdo0EfTli3w== dependencies: - "@algolia/client-common" "5.17.1" - "@algolia/requester-browser-xhr" "5.17.1" - "@algolia/requester-fetch" "5.17.1" - "@algolia/requester-node-http" "5.17.1" + "@algolia/client-common" "5.37.0" + "@algolia/requester-browser-xhr" "5.37.0" + "@algolia/requester-fetch" "5.37.0" + "@algolia/requester-node-http" "5.37.0" -"@algolia/recommend@5.17.1": - version "5.17.1" - resolved "https://registry.yarnpkg.com/@algolia/recommend/-/recommend-5.17.1.tgz#42c296d39ba967c89410fb46b28721010bca59ec" - integrity sha512-2992tTHkRe18qmf5SP57N78kN1D3e5t4PO1rt10sJncWtXBZWiNOK6K/UcvWsFbNSGAogFcIcvIMAl5mNp6RWA== +"@algolia/recommend@5.37.0": + version "5.37.0" + resolved "https://registry.yarnpkg.com/@algolia/recommend/-/recommend-5.37.0.tgz#dd5e814f30bbb92395902e120fdb28a120b91341" + integrity sha512-U+FL5gzN2ldx3TYfQO5OAta2TBuIdabEdFwD5UVfWPsZE5nvOKkc/6BBqP54Z/adW/34c5ZrvvZhlhNTZujJXQ== dependencies: - "@algolia/client-common" "5.17.1" - "@algolia/requester-browser-xhr" "5.17.1" - "@algolia/requester-fetch" "5.17.1" - "@algolia/requester-node-http" "5.17.1" + "@algolia/client-common" "5.37.0" + "@algolia/requester-browser-xhr" "5.37.0" + "@algolia/requester-fetch" "5.37.0" + "@algolia/requester-node-http" "5.37.0" -"@algolia/requester-browser-xhr@5.17.1": - version "5.17.1" - resolved "https://registry.yarnpkg.com/@algolia/requester-browser-xhr/-/requester-browser-xhr-5.17.1.tgz#e924954aa5c4f223be86ee38b2536959a7755560" - integrity sha512-XpKgBfyczVesKgr7DOShNyPPu5kqlboimRRPjdqAw5grSyHhCmb8yoTIKy0TCqBABZeXRPMYT13SMruUVRXvHA== +"@algolia/requester-browser-xhr@5.37.0": + version "5.37.0" + resolved "https://registry.yarnpkg.com/@algolia/requester-browser-xhr/-/requester-browser-xhr-5.37.0.tgz#8851ab846d8005055c36a59422161ebe1594ae48" + integrity sha512-Ao8GZo8WgWFABrU7iq+JAftXV0t+UcOtCDL4mzHHZ+rQeTTf1TZssr4d0vIuoqkVNnKt9iyZ7T4lQff4ydcTrw== dependencies: - "@algolia/client-common" "5.17.1" + "@algolia/client-common" "5.37.0" -"@algolia/requester-fetch@5.17.1": - version "5.17.1" - resolved "https://registry.yarnpkg.com/@algolia/requester-fetch/-/requester-fetch-5.17.1.tgz#2d0385db7a08ce219325a001766065fa1e0d3c33" - integrity sha512-EhUomH+DZP5vb6DnEjT0GvXaXBSwzZnuU6hPGNU1EYKRXDouRjII/bIWpVjt7ycMgL2D2oQruqDh6rAWUhQwRw== +"@algolia/requester-fetch@5.37.0": + version "5.37.0" + resolved "https://registry.yarnpkg.com/@algolia/requester-fetch/-/requester-fetch-5.37.0.tgz#93602fdc9a59b41ecd53768c53c11cddb0db846a" + integrity sha512-H7OJOXrFg5dLcGJ22uxx8eiFId0aB9b0UBhoOi4SMSuDBe6vjJJ/LeZyY25zPaSvkXNBN3vAM+ad6M0h6ha3AA== dependencies: - "@algolia/client-common" "5.17.1" + "@algolia/client-common" "5.37.0" -"@algolia/requester-node-http@5.17.1": - version "5.17.1" - resolved "https://registry.yarnpkg.com/@algolia/requester-node-http/-/requester-node-http-5.17.1.tgz#d42dcafb6784409252a27ee60055b4ce83ee2937" - integrity sha512-PSnENJtl4/wBWXlGyOODbLYm6lSiFqrtww7UpQRCJdsHXlJKF8XAP6AME8NxvbE0Qo/RJUxK0mvyEh9sQcx6bg== +"@algolia/requester-node-http@5.37.0": + version "5.37.0" + resolved "https://registry.yarnpkg.com/@algolia/requester-node-http/-/requester-node-http-5.37.0.tgz#83da1b52f3ee86f262a5d4b2a88a74db665211c2" + integrity sha512-npZ9aeag4SGTx677eqPL3rkSPlQrnzx/8wNrl1P7GpWq9w/eTmRbOq+wKrJ2r78idlY0MMgmY/mld2tq6dc44g== dependencies: - "@algolia/client-common" "5.17.1" + "@algolia/client-common" "5.37.0" "@ampproject/remapping@^2.2.0": version "2.3.0" @@ -2040,20 +2077,23 @@ resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70" integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== -"@docsearch/css@3.9.0": - version "3.9.0" - resolved "https://registry.yarnpkg.com/@docsearch/css/-/css-3.9.0.tgz#3bc29c96bf024350d73b0cfb7c2a7b71bf251cd5" - integrity sha512-cQbnVbq0rrBwNAKegIac/t6a8nWoUAn8frnkLFW6YARaRmAQr5/Eoe6Ln2fqkUCZ40KpdrKbpSAmgrkviOxuWA== +"@docsearch/css@4.0.1": + version "4.0.1" + resolved "https://registry.yarnpkg.com/@docsearch/css/-/css-4.0.1.tgz#970436628cf03ba816ed6e4269cc866e9853bb0d" + integrity sha512-ouRI2SEwAg8qBqX4S3zfm4OJ/07o9Is7TzivNGkqP7FtYU4W0qgigumWkPbYvDwtG0koZw2ZebpcQiEpkCyv+g== -"@docsearch/react@^3.9.0": - version "3.9.0" - resolved "https://registry.yarnpkg.com/@docsearch/react/-/react-3.9.0.tgz#d0842b700c3ee26696786f3c8ae9f10c1a3f0db3" - integrity sha512-mb5FOZYZIkRQ6s/NWnM98k879vu5pscWqTLubLFBO87igYYT4VzVazh4h5o/zCvTIZgEt3PvsCOMOswOUo9yHQ== +"@docsearch/react@^3.9.0", "@docsearch/react@^4.0.1": + version "4.0.1" + resolved "https://registry.yarnpkg.com/@docsearch/react/-/react-4.0.1.tgz#337bc73a00e20036aa989af4c00869104195d672" + integrity sha512-X/0mSdAt2/8el0sTBpSQJM8XKRlCLmITaWYZf9gLLqiN3eXdglOtt3cH7RjTQDS75REwmhadKzQIjFF8mbmf+A== dependencies: - "@algolia/autocomplete-core" "1.17.9" - "@algolia/autocomplete-preset-algolia" "1.17.9" - "@docsearch/css" "3.9.0" - algoliasearch "^5.14.2" + "@ai-sdk/react" "^2.0.30" + "@algolia/autocomplete-core" "1.19.2" + "@docsearch/css" "4.0.1" + ai "^5.0.30" + algoliasearch "^5.28.0" + marked "^15.0.12" + zod "^4.1.8" "@docusaurus/responsive-loader@^1.7.0": version "1.7.0" @@ -3118,6 +3158,11 @@ dependencies: "@octokit/openapi-types" "^18.0.0" +"@opentelemetry/api@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/api/-/api-1.9.0.tgz#d03eba68273dc0f7509e2a3d5cba21eae10379fe" + integrity sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg== + "@parcel/watcher@2.0.4": version "2.0.4" resolved "https://registry.yarnpkg.com/@parcel/watcher/-/watcher-2.0.4.tgz#f300fef4cc38008ff4b8c29d92588eced3ce014b" @@ -3516,6 +3561,11 @@ resolved "https://registry.yarnpkg.com/@socket.io/component-emitter/-/component-emitter-3.1.2.tgz#821f8442f4175d8f0467b9daf26e3a18e2d02af2" integrity sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA== +"@standard-schema/spec@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@standard-schema/spec/-/spec-1.0.0.tgz#f193b73dc316c4170f2e82a881da0f550d551b9c" + integrity sha512-m2bOd0f2RT9k8QJx1JN85cZYyH1RqFBdlwtkSlf4tBDYLCiiZnv1fIIwacK6cqwXavOydf0NPToMQgpKq+dVlA== + "@surma/rollup-plugin-off-main-thread@^2.2.3": version "2.2.3" resolved "https://registry.yarnpkg.com/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-2.2.3.tgz#ee34985952ca21558ab0d952f00298ad2190c053" @@ -5144,6 +5194,16 @@ aggregate-error@^3.0.0: clean-stack "^2.0.0" indent-string "^4.0.0" +ai@5.0.45, ai@^5.0.30: + version "5.0.45" + resolved "https://registry.yarnpkg.com/ai/-/ai-5.0.45.tgz#0e1472883914d2a031b1317cf53cc74891168a88" + integrity sha512-go6J78B1oTXZMN2XLlNJnrFxwcqXQtpPqUVyk1wvzvpb2dk5nP9yNuxqqOX9HrrKuf5U9M6rSezEJWr1eEG9RA== + dependencies: + "@ai-sdk/gateway" "1.0.23" + "@ai-sdk/provider" "2.0.0" + "@ai-sdk/provider-utils" "3.0.9" + "@opentelemetry/api" "1.9.0" + ajv-formats@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/ajv-formats/-/ajv-formats-2.1.1.tgz#6e669400659eb74973bbf2e33327180a0996b520" @@ -5183,31 +5243,32 @@ ajv@^8.0.0, ajv@^8.0.1, ajv@^8.6.0, ajv@^8.9.0: json-schema-traverse "^1.0.0" require-from-string "^2.0.2" -algoliasearch-helper@^3.22.6: - version "3.22.6" - resolved "https://registry.yarnpkg.com/algoliasearch-helper/-/algoliasearch-helper-3.22.6.tgz#6a31c67d277a32f3f7ae1b8a6e57ca73f1e1a0b0" - integrity sha512-F2gSb43QHyvZmvH/2hxIjbk/uFdO2MguQYTFP7J+RowMW1csjIODMobEnpLI8nbLQuzZnGZdIxl5Bpy1k9+CFQ== +algoliasearch-helper@^3.26.0: + version "3.26.0" + resolved "https://registry.yarnpkg.com/algoliasearch-helper/-/algoliasearch-helper-3.26.0.tgz#d6e283396a9fc5bf944f365dc3b712570314363f" + integrity sha512-Rv2x3GXleQ3ygwhkhJubhhYGsICmShLAiqtUuJTUkr9uOCOXyF2E71LVT4XDnVffbknv8XgScP4U0Oxtgm+hIw== dependencies: "@algolia/events" "^4.0.1" -algoliasearch@^5.14.2, algoliasearch@^5.17.1: - version "5.17.1" - resolved "https://registry.yarnpkg.com/algoliasearch/-/algoliasearch-5.17.1.tgz#8c8879dbf77ba38a3150d19ab8321c8d60b83035" - integrity sha512-3CcbT5yTWJDIcBe9ZHgsPi184SkT1kyZi3GWlQU5EFgvq1V73X2sqHRkPCQMe0RA/uvZbB+1sFeAk73eWygeLg== +algoliasearch@^5.28.0, algoliasearch@^5.37.0: + version "5.37.0" + resolved "https://registry.yarnpkg.com/algoliasearch/-/algoliasearch-5.37.0.tgz#73dc4a09654e6e02b529300018d639706b95b47b" + integrity sha512-y7gau/ZOQDqoInTQp0IwTOjkrHc4Aq4R8JgpmCleFwiLl+PbN2DMWoDUWZnrK8AhNJwT++dn28Bt4NZYNLAmuA== dependencies: - "@algolia/client-abtesting" "5.17.1" - "@algolia/client-analytics" "5.17.1" - "@algolia/client-common" "5.17.1" - "@algolia/client-insights" "5.17.1" - "@algolia/client-personalization" "5.17.1" - "@algolia/client-query-suggestions" "5.17.1" - "@algolia/client-search" "5.17.1" - "@algolia/ingestion" "1.17.1" - "@algolia/monitoring" "1.17.1" - "@algolia/recommend" "5.17.1" - "@algolia/requester-browser-xhr" "5.17.1" - "@algolia/requester-fetch" "5.17.1" - "@algolia/requester-node-http" "5.17.1" + "@algolia/abtesting" "1.3.0" + "@algolia/client-abtesting" "5.37.0" + "@algolia/client-analytics" "5.37.0" + "@algolia/client-common" "5.37.0" + "@algolia/client-insights" "5.37.0" + "@algolia/client-personalization" "5.37.0" + "@algolia/client-query-suggestions" "5.37.0" + "@algolia/client-search" "5.37.0" + "@algolia/ingestion" "1.37.0" + "@algolia/monitoring" "1.37.0" + "@algolia/recommend" "5.37.0" + "@algolia/requester-browser-xhr" "5.37.0" + "@algolia/requester-fetch" "5.37.0" + "@algolia/requester-node-http" "5.37.0" ansi-align@^3.0.1: version "3.0.1" @@ -7773,7 +7834,7 @@ deprecation@^2.0.0, deprecation@^2.3.1: resolved "https://registry.yarnpkg.com/deprecation/-/deprecation-2.3.1.tgz#6368cbdb40abf3373b525ac87e4a260c3a700919" integrity sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ== -dequal@^2.0.0: +dequal@^2.0.0, dequal@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/dequal/-/dequal-2.0.3.tgz#2644214f1997d39ed0ee0ece72335490a7ac67be" integrity sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA== @@ -8714,6 +8775,11 @@ events@^3.2.0, events@^3.3.0: resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== +eventsource-parser@^3.0.5: + version "3.0.6" + resolved "https://registry.yarnpkg.com/eventsource-parser/-/eventsource-parser-3.0.6.tgz#292e165e34cacbc936c3c92719ef326d4aeb4e90" + integrity sha512-Vo1ab+QXPzZ4tCa8SwIHJFaSzy4R6SHf7BY79rFBDf0idraZWAkYrDjDj8uWaSm3S2TK+hJ7/t1CEmZ7jXw+pg== + execa@5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/execa/-/execa-5.0.0.tgz#4029b0007998a841fbd1032e5f4de86a3c1e3376" @@ -12243,10 +12309,10 @@ markdown-table@^3.0.0: resolved "https://registry.yarnpkg.com/markdown-table/-/markdown-table-3.0.3.tgz#e6331d30e493127e031dd385488b5bd326e4a6bd" integrity sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw== -marked@^15.0.7: - version "15.0.8" - resolved "https://registry.yarnpkg.com/marked/-/marked-15.0.8.tgz#39873a3fdf91a520111e48aeb2ef3746d58d7166" - integrity sha512-rli4l2LyZqpQuRve5C0rkn6pj3hT8EWPC+zkAxFTAJLxRbENfTAhEQq9itrmf1Y81QtAX5D/MYlGlIomNgj9lA== +marked@^15.0.12, marked@^15.0.7: + version "15.0.12" + resolved "https://registry.yarnpkg.com/marked/-/marked-15.0.12.tgz#30722c7346e12d0a2d0207ab9b0c4f0102d86c4e" + integrity sha512-8dD6FusOQSrpv9Z1rdNMdlSgQOIP880DHqnohobOmYLElGEqAL/JvxvuxZO16r4HtjTlfPRDC1hbvxC9dPN2nA== math-intrinsics@^1.1.0: version "1.1.0" @@ -17420,6 +17486,14 @@ swc-loader@^0.2.6: dependencies: "@swc/counter" "^0.1.3" +swr@^2.2.5: + version "2.3.6" + resolved "https://registry.yarnpkg.com/swr/-/swr-2.3.6.tgz#5fee0ee8a0762a16871ee371075cb09422b64f50" + integrity sha512-wfHRmHWk/isGNMwlLGlZX5Gzz/uTgo0o2IRuTMcf4CPuPFJZlq0rDaKUx+ozB5nBOReNV1kiOyzMfj+MBMikLw== + dependencies: + dequal "^2.0.3" + use-sync-external-store "^1.4.0" + symbol-tree@^3.2.4: version "3.2.4" resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" @@ -17594,6 +17668,11 @@ thingies@^2.5.0: resolved "https://registry.yarnpkg.com/thingies/-/thingies-2.5.0.tgz#5f7b882c933b85989f8466b528a6247a6881e04f" integrity sha512-s+2Bwztg6PhWUD7XMfeYm5qliDdSiZm7M7n8KjTkIsm3l/2lgVRc2/Gx/v+ZX8lT4FMA+i8aQvhcWylldc+ZNw== +throttleit@2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/throttleit/-/throttleit-2.1.0.tgz#a7e4aa0bf4845a5bd10daa39ea0c783f631a07b4" + integrity sha512-nt6AMGKW1p/70DF/hGBdJB57B8Tspmbp5gfJ8ilhLnt7kkr2ye7hzD6NVG8GGErk2HWF34igrL2CXmNIkzKqKw== + through2@^2.0.0: version "2.0.5" resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" @@ -18270,6 +18349,11 @@ use-editable@^2.3.3: resolved "https://registry.yarnpkg.com/use-editable/-/use-editable-2.3.3.tgz#a292fe9ba4c291cd28d1cc2728c75a5fc8d9a33f" integrity sha512-7wVD2JbfAFJ3DK0vITvXBdpd9JAz5BcKAAolsnLBuBn6UDDwBGuCIAGvR3yA2BNKm578vAMVHFCWaOcA+BhhiA== +use-sync-external-store@^1.4.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/use-sync-external-store/-/use-sync-external-store-1.5.0.tgz#55122e2a3edd2a6c106174c27485e0fd59bcfca0" + integrity sha512-Rb46I4cGGVBmjamjphe8L/UnvJD+uPPtTkNvX5mZgqdbavhI4EbgIWJiIHXJ8bc/i9EQGPRh4DwEURJ552Do0A== + util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" @@ -19179,9 +19263,14 @@ zod-validation-error@^3.0.3: integrity sha512-ZOPR9SVY6Pb2qqO5XHt+MkkTRxGXb4EVtnjc9JpXUOtUB1T9Ru7mZOT361AN3MsetVe7R0a1KZshJDZdgp9miQ== zod@^3.22.4: - version "3.24.2" - resolved "https://registry.yarnpkg.com/zod/-/zod-3.24.2.tgz#8efa74126287c675e92f46871cfc8d15c34372b3" - integrity sha512-lY7CDW43ECgW9u1TcT3IoXHflywfVqDYze4waEz812jR/bZ8FHDsl7pFQoSZTz5N+2NqRXs8GBwnAwo3ZNxqhQ== + version "3.25.76" + resolved "https://registry.yarnpkg.com/zod/-/zod-3.25.76.tgz#26841c3f6fd22a6a2760e7ccb719179768471e34" + integrity sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ== + +zod@^4.1.8: + version "4.1.9" + resolved "https://registry.yarnpkg.com/zod/-/zod-4.1.9.tgz#c03a0ddb10f5578f13f8f70f1959f89fd09c1c06" + integrity sha512-HI32jTq0AUAC125z30E8bQNz0RQ+9Uc+4J7V97gLYjZVKRjeydPgGt6dvQzFrav7MYOUGFqqOGiHpA/fdbd0cQ== zwitch@^2.0.0, zwitch@^2.0.4: version "2.0.4"