From 4363a4b0deb9d2ed2380b73cb07f763ac3efc795 Mon Sep 17 00:00:00 2001 From: n4ze3m Date: Sat, 22 Jun 2024 16:55:02 +0530 Subject: [PATCH] feat: Add localization support for visitSpecificWebsite label This commit adds localization support for the "visitSpecificWebsite" label in the settings.json file for multiple languages. Now, the label can be translated into different languages, including Japanese, Chinese, English, Malayalam, Italian, Portuguese, Russian, French, and Spanish. --- src/assets/locale/en/settings.json | 3 ++ src/assets/locale/es/settings.json | 5 +++- src/assets/locale/fr/settings.json | 3 ++ src/assets/locale/it/settings.json | 3 ++ src/assets/locale/ja-JP/settings.json | 3 ++ src/assets/locale/ml/settings.json | 3 ++ src/assets/locale/pt-BR/settings.json | 3 ++ src/assets/locale/ru/settings.json | 3 ++ src/assets/locale/zh/settings.json | 5 +++- .../Option/Settings/search-mode.tsx | 19 ++++++++++-- src/services/search.ts | 30 +++++++++++++++---- src/web/web.ts | 6 ++-- src/web/website/index.ts | 18 +++++------ 13 files changed, 84 insertions(+), 20 deletions(-) diff --git a/src/assets/locale/en/settings.json b/src/assets/locale/en/settings.json index 0396fda..7107a00 100644 --- a/src/assets/locale/en/settings.json +++ b/src/assets/locale/en/settings.json @@ -37,6 +37,9 @@ "totalSearchResults": { "label": "Total Search Results", "placeholder": "Enter Total Search Results" + }, + "visitSpecificWebsite": { + "label": "Visit the website mentioned in the message" } }, "system": { diff --git a/src/assets/locale/es/settings.json b/src/assets/locale/es/settings.json index e8c46cb..d1f1785 100644 --- a/src/assets/locale/es/settings.json +++ b/src/assets/locale/es/settings.json @@ -37,6 +37,9 @@ "totalSearchResults": { "label": "Resultados totales de la busqueda", "placeholder": "Ingresar el total de Resultados de la busqueda" + }, + "visitSpecificWebsite": { + "label": "Visita el sitio web mencionado en el mensaje" } }, "system": { @@ -286,4 +289,4 @@ "webSearchFollowUpPromptPlaceholder": "Su prompt de seguimiento de busqueda web" } } -} +} \ No newline at end of file diff --git a/src/assets/locale/fr/settings.json b/src/assets/locale/fr/settings.json index e06e7ed..634358f 100644 --- a/src/assets/locale/fr/settings.json +++ b/src/assets/locale/fr/settings.json @@ -37,6 +37,9 @@ "totalSearchResults": { "label": "Résultats de la recherche totaux", "placeholder": "Entrez les résultats de la recherche totaux" + }, + "visitSpecificWebsite": { + "label": "Visitez le site web mentionné dans le message" } }, "system": { diff --git a/src/assets/locale/it/settings.json b/src/assets/locale/it/settings.json index c083e5f..41bef3d 100644 --- a/src/assets/locale/it/settings.json +++ b/src/assets/locale/it/settings.json @@ -37,6 +37,9 @@ "totalSearchResults": { "label": "Risultati della ricerca", "placeholder": "Inserisci il totale delle ricerche" + }, + "visitSpecificWebsite": { + "label": "Visita il sito web menzionato nel messaggio" } }, "system": { diff --git a/src/assets/locale/ja-JP/settings.json b/src/assets/locale/ja-JP/settings.json index cef567f..74c9567 100644 --- a/src/assets/locale/ja-JP/settings.json +++ b/src/assets/locale/ja-JP/settings.json @@ -40,6 +40,9 @@ "totalSearchResults": { "label": "合計検索結果", "placeholder": "合計検索結果を入力する" + }, + "visitSpecificWebsite": { + "label": "メッセージに記載されたウェブサイトを訪問してください" } }, "system": { diff --git a/src/assets/locale/ml/settings.json b/src/assets/locale/ml/settings.json index b83a07e..46780df 100644 --- a/src/assets/locale/ml/settings.json +++ b/src/assets/locale/ml/settings.json @@ -40,6 +40,9 @@ "totalSearchResults": { "label": "ആകെ തിരച്ചിൽ ഫലങ്ങൾ", "placeholder": "ആകെ തിരച്ചിൽ ഫലങ്ങളുടെ എണ്ണം നൽകുക" + }, + "visitSpecificWebsite": { + "label": "സന്ദേശത്തിൽ പറയുന്ന വെബ്സൈറ്റ് സന്ദർശിക്കുക." } }, "system": { diff --git a/src/assets/locale/pt-BR/settings.json b/src/assets/locale/pt-BR/settings.json index fb22698..21bcee4 100644 --- a/src/assets/locale/pt-BR/settings.json +++ b/src/assets/locale/pt-BR/settings.json @@ -37,6 +37,9 @@ "totalSearchResults": { "label": "Resultados de Pesquisa Totais", "placeholder": "Insira Resultados de Pesquisa Totais" + }, + "visitSpecificWebsite": { + "label": "Visite o site mencionado na mensagem." } }, "system": { diff --git a/src/assets/locale/ru/settings.json b/src/assets/locale/ru/settings.json index d745db8..6099b2a 100644 --- a/src/assets/locale/ru/settings.json +++ b/src/assets/locale/ru/settings.json @@ -37,6 +37,9 @@ "totalSearchResults": { "label": "Общее количество результатов поиска", "placeholder": "Введите общее количество результатов поиска" + }, + "visitSpecificWebsite": { + "label": "Посетите веб-сайт, указанный в сообщении." } }, "system": { diff --git a/src/assets/locale/zh/settings.json b/src/assets/locale/zh/settings.json index 9b27993..44213eb 100644 --- a/src/assets/locale/zh/settings.json +++ b/src/assets/locale/zh/settings.json @@ -40,7 +40,10 @@ "totalSearchResults": { "label": "总搜索结果", "placeholder": "输入总搜索结果" - } + }, + "visitSpecificWebsite": { + "label": "访问消息中提到的网站。" + } }, "system": { "heading": "系统设置", diff --git a/src/components/Option/Settings/search-mode.tsx b/src/components/Option/Settings/search-mode.tsx index e7cc04d..53f391b 100644 --- a/src/components/Option/Settings/search-mode.tsx +++ b/src/components/Option/Settings/search-mode.tsx @@ -13,7 +13,8 @@ export const SearchModeSettings = () => { initialValues: { isSimpleInternetSearch: false, searchProvider: "", - totalSearchResults: 0 + totalSearchResults: 0, + visitSpecificWebsite: false } }) @@ -67,7 +68,7 @@ export const SearchModeSettings = () => {
{
+
+ + {t("generalSettings.webSearch.visitSpecificWebsite.label")} + +
+ +
+
+
diff --git a/src/services/search.ts b/src/services/search.ts index f3851b9..19e5f28 100644 --- a/src/services/search.ts +++ b/src/services/search.ts @@ -15,6 +15,21 @@ export const getIsSimpleInternetSearch = async () => { return isSimpleInternetSearch === "true" } +export const getIsVisitSpecificWebsite = async () => { + const isVisitSpecificWebsite = await storage.get("isVisitSpecificWebsite") + if (!isVisitSpecificWebsite || isVisitSpecificWebsite.length === 0) { + return false + } + return isVisitSpecificWebsite === "true" +} + + +export const setIsVisitSpecificWebsite = async ( + isVisitSpecificWebsite: boolean +) => { + await storage.set("isVisitSpecificWebsite", isVisitSpecificWebsite.toString()) +} + export const setIsSimpleInternetSearch = async ( isSimpleInternetSearch: boolean ) => { @@ -48,32 +63,37 @@ export const setTotalSearchResults = async (totalSearchResults: number) => { } export const getSearchSettings = async () => { - const [isSimpleInternetSearch, searchProvider, totalSearchResult] = + const [isSimpleInternetSearch, searchProvider, totalSearchResult, visitSpecificWebsite] = await Promise.all([ getIsSimpleInternetSearch(), getSearchProvider(), - totalSearchResults() + totalSearchResults(), + getIsVisitSpecificWebsite() ]) return { isSimpleInternetSearch, searchProvider, - totalSearchResults: totalSearchResult + totalSearchResults: totalSearchResult, + visitSpecificWebsite } } export const setSearchSettings = async ({ isSimpleInternetSearch, searchProvider, - totalSearchResults + totalSearchResults, + visitSpecificWebsite }: { isSimpleInternetSearch: boolean searchProvider: string totalSearchResults: number + visitSpecificWebsite: boolean }) => { await Promise.all([ setIsSimpleInternetSearch(isSimpleInternetSearch), setSearchProvider(searchProvider), - setTotalSearchResults(totalSearchResults) + setTotalSearchResults(totalSearchResults), + setIsVisitSpecificWebsite(visitSpecificWebsite) ]) } diff --git a/src/web/web.ts b/src/web/web.ts index 8661489..88aabc4 100644 --- a/src/web/web.ts +++ b/src/web/web.ts @@ -1,7 +1,7 @@ import { getWebSearchPrompt } from "~/services/ollama" import { webGoogleSearch } from "./search-engines/google" import { webDuckDuckGoSearch } from "./search-engines/duckduckgo" -import { getSearchProvider } from "@/services/search" +import { getIsVisitSpecificWebsite, getSearchProvider } from "@/services/search" import { webSogouSearch } from "./search-engines/sogou" import { webBraveSearch } from "./search-engines/brave" import { getWebsiteFromQuery, processSingleWebsite } from "./website" @@ -37,7 +37,9 @@ export const getSystemPromptForWeb = async (query: string) => { content: string; }[] = [] - if (websiteVisit.hasUrl) { + const isVisitSpecificWebsite = await getIsVisitSpecificWebsite() + + if (isVisitSpecificWebsite && websiteVisit.hasUrl) { const url = websiteVisit.url const queryWithoutUrl = websiteVisit.queryWithouUrls diff --git a/src/web/website/index.ts b/src/web/website/index.ts index 021db16..e0ce399 100644 --- a/src/web/website/index.ts +++ b/src/web/website/index.ts @@ -10,16 +10,16 @@ import { MemoryVectorStore } from "langchain/vectorstores/memory" export const processSingleWebsite = async (url: string, query: string) => { let content = await extractReadabilityContent(url) - const isSimpleMode = await getIsSimpleInternetSearch() + // const isSimpleMode = await getIsSimpleInternetSearch() - if (isSimpleMode) { - return [ - { - url, - content: content.length > 5000 ? content.slice(0, 5000) : content - } - ] - } + // if (isSimpleMode) { + // return [ + // { + // url, + // content: content.length > 5000 ? content.slice(0, 5000) : content + // } + // ] + // } const docs: Document>[] = [ {