From acaa31b577c0c10ff168348d3e411563cb8d7e07 Mon Sep 17 00:00:00 2001 From: cte Date: Thu, 24 Apr 2025 12:05:42 -0700 Subject: [PATCH 1/3] Add an option to enable prompt caching --- src/exports/roo-code.d.ts | 10 +++++-- src/exports/types.ts | 10 +++++-- src/schemas/index.ts | 11 ++++--- src/shared/api.ts | 3 ++ .../src/components/settings/ApiOptions.tsx | 16 +++++++--- .../settings/PromptCachingControl.tsx | 29 +++++++++++++++++++ webview-ui/src/i18n/locales/ca/settings.json | 4 +++ webview-ui/src/i18n/locales/de/settings.json | 4 +++ webview-ui/src/i18n/locales/en/settings.json | 4 +++ webview-ui/src/i18n/locales/es/settings.json | 4 +++ webview-ui/src/i18n/locales/fr/settings.json | 4 +++ webview-ui/src/i18n/locales/hi/settings.json | 4 +++ webview-ui/src/i18n/locales/it/settings.json | 4 +++ webview-ui/src/i18n/locales/ja/settings.json | 4 +++ webview-ui/src/i18n/locales/ko/settings.json | 4 +++ webview-ui/src/i18n/locales/pl/settings.json | 4 +++ .../src/i18n/locales/pt-BR/settings.json | 4 +++ webview-ui/src/i18n/locales/tr/settings.json | 4 +++ webview-ui/src/i18n/locales/vi/settings.json | 4 +++ .../src/i18n/locales/zh-CN/settings.json | 4 +++ .../src/i18n/locales/zh-TW/settings.json | 4 +++ 21 files changed, 127 insertions(+), 12 deletions(-) create mode 100644 webview-ui/src/components/settings/PromptCachingControl.tsx diff --git a/src/exports/roo-code.d.ts b/src/exports/roo-code.d.ts index 54afe27146..e21391464c 100644 --- a/src/exports/roo-code.d.ts +++ b/src/exports/roo-code.d.ts @@ -36,6 +36,7 @@ type ProviderSettings = { supportsImages?: boolean | undefined supportsComputerUse?: boolean | undefined supportsPromptCache: boolean + isPromptCacheOptional?: boolean | undefined inputPrice?: number | undefined outputPrice?: number | undefined cacheWritesPrice?: number | undefined @@ -68,6 +69,7 @@ type ProviderSettings = { supportsImages?: boolean | undefined supportsComputerUse?: boolean | undefined supportsPromptCache: boolean + isPromptCacheOptional?: boolean | undefined inputPrice?: number | undefined outputPrice?: number | undefined cacheWritesPrice?: number | undefined @@ -120,6 +122,7 @@ type ProviderSettings = { supportsImages?: boolean | undefined supportsComputerUse?: boolean | undefined supportsPromptCache: boolean + isPromptCacheOptional?: boolean | undefined inputPrice?: number | undefined outputPrice?: number | undefined cacheWritesPrice?: number | undefined @@ -175,6 +178,7 @@ type ProviderSettings = { supportsImages?: boolean | undefined supportsComputerUse?: boolean | undefined supportsPromptCache: boolean + isPromptCacheOptional?: boolean | undefined inputPrice?: number | undefined outputPrice?: number | undefined cacheWritesPrice?: number | undefined @@ -206,6 +210,7 @@ type ProviderSettings = { supportsImages?: boolean | undefined supportsComputerUse?: boolean | undefined supportsPromptCache: boolean + isPromptCacheOptional?: boolean | undefined inputPrice?: number | undefined outputPrice?: number | undefined cacheWritesPrice?: number | undefined @@ -231,11 +236,12 @@ type ProviderSettings = { modelMaxTokens?: number | undefined modelMaxThinkingTokens?: number | undefined includeMaxTokens?: boolean | undefined - modelTemperature?: (number | null) | undefined reasoningEffort?: ("low" | "medium" | "high") | undefined - rateLimitSeconds?: number | undefined + promptCachingEnabled?: boolean | undefined diffEnabled?: boolean | undefined fuzzyMatchThreshold?: number | undefined + modelTemperature?: (number | null) | undefined + rateLimitSeconds?: number | undefined fakeAi?: unknown | undefined } diff --git a/src/exports/types.ts b/src/exports/types.ts index 194951ac59..3c31ffc735 100644 --- a/src/exports/types.ts +++ b/src/exports/types.ts @@ -37,6 +37,7 @@ type ProviderSettings = { supportsImages?: boolean | undefined supportsComputerUse?: boolean | undefined supportsPromptCache: boolean + isPromptCacheOptional?: boolean | undefined inputPrice?: number | undefined outputPrice?: number | undefined cacheWritesPrice?: number | undefined @@ -69,6 +70,7 @@ type ProviderSettings = { supportsImages?: boolean | undefined supportsComputerUse?: boolean | undefined supportsPromptCache: boolean + isPromptCacheOptional?: boolean | undefined inputPrice?: number | undefined outputPrice?: number | undefined cacheWritesPrice?: number | undefined @@ -121,6 +123,7 @@ type ProviderSettings = { supportsImages?: boolean | undefined supportsComputerUse?: boolean | undefined supportsPromptCache: boolean + isPromptCacheOptional?: boolean | undefined inputPrice?: number | undefined outputPrice?: number | undefined cacheWritesPrice?: number | undefined @@ -176,6 +179,7 @@ type ProviderSettings = { supportsImages?: boolean | undefined supportsComputerUse?: boolean | undefined supportsPromptCache: boolean + isPromptCacheOptional?: boolean | undefined inputPrice?: number | undefined outputPrice?: number | undefined cacheWritesPrice?: number | undefined @@ -207,6 +211,7 @@ type ProviderSettings = { supportsImages?: boolean | undefined supportsComputerUse?: boolean | undefined supportsPromptCache: boolean + isPromptCacheOptional?: boolean | undefined inputPrice?: number | undefined outputPrice?: number | undefined cacheWritesPrice?: number | undefined @@ -232,11 +237,12 @@ type ProviderSettings = { modelMaxTokens?: number | undefined modelMaxThinkingTokens?: number | undefined includeMaxTokens?: boolean | undefined - modelTemperature?: (number | null) | undefined reasoningEffort?: ("low" | "medium" | "high") | undefined - rateLimitSeconds?: number | undefined + promptCachingEnabled?: boolean | undefined diffEnabled?: boolean | undefined fuzzyMatchThreshold?: number | undefined + modelTemperature?: (number | null) | undefined + rateLimitSeconds?: number | undefined fakeAi?: unknown | undefined } diff --git a/src/schemas/index.ts b/src/schemas/index.ts index 909dec5f9f..8a609a1bac 100644 --- a/src/schemas/index.ts +++ b/src/schemas/index.ts @@ -104,6 +104,7 @@ export const modelInfoSchema = z.object({ supportsImages: z.boolean().optional(), supportsComputerUse: z.boolean().optional(), supportsPromptCache: z.boolean(), + isPromptCacheOptional: z.boolean().optional(), inputPrice: z.number().optional(), outputPrice: z.number().optional(), cacheWritesPrice: z.number().optional(), @@ -398,11 +399,12 @@ export const providerSettingsSchema = z.object({ modelMaxThinkingTokens: z.number().optional(), // Generic includeMaxTokens: z.boolean().optional(), - modelTemperature: z.number().nullish(), reasoningEffort: reasoningEffortsSchema.optional(), - rateLimitSeconds: z.number().optional(), + promptCachingEnabled: z.boolean().optional(), diffEnabled: z.boolean().optional(), fuzzyMatchThreshold: z.number().optional(), + modelTemperature: z.number().nullish(), + rateLimitSeconds: z.number().optional(), // Fake AI fakeAi: z.unknown().optional(), }) @@ -489,11 +491,12 @@ const providerSettingsRecord: ProviderSettingsRecord = { modelMaxThinkingTokens: undefined, // Generic includeMaxTokens: undefined, - modelTemperature: undefined, reasoningEffort: undefined, - rateLimitSeconds: undefined, + promptCachingEnabled: undefined, diffEnabled: undefined, fuzzyMatchThreshold: undefined, + modelTemperature: undefined, + rateLimitSeconds: undefined, // Fake AI fakeAi: undefined, // X.AI (Grok) diff --git a/src/shared/api.ts b/src/shared/api.ts index 4908b26c3a..d4d1314bca 100644 --- a/src/shared/api.ts +++ b/src/shared/api.ts @@ -683,6 +683,7 @@ export const geminiModels = { contextWindow: 1_048_576, supportsImages: true, supportsPromptCache: false, + isPromptCacheOptional: true, inputPrice: 2.5, // This is the pricing for prompts above 200k tokens. outputPrice: 15, cacheReadsPrice: 0.625, @@ -707,6 +708,7 @@ export const geminiModels = { contextWindow: 1_048_576, supportsImages: true, supportsPromptCache: false, + isPromptCacheOptional: true, inputPrice: 0.1, outputPrice: 0.4, cacheReadsPrice: 0.025, @@ -757,6 +759,7 @@ export const geminiModels = { contextWindow: 1_048_576, supportsImages: true, supportsPromptCache: false, + isPromptCacheOptional: true, inputPrice: 0.15, // This is the pricing for prompts above 128k tokens. outputPrice: 0.6, cacheReadsPrice: 0.0375, diff --git a/webview-ui/src/components/settings/ApiOptions.tsx b/webview-ui/src/components/settings/ApiOptions.tsx index 0242346f81..052bc6e5fe 100644 --- a/webview-ui/src/components/settings/ApiOptions.tsx +++ b/webview-ui/src/components/settings/ApiOptions.tsx @@ -41,15 +41,16 @@ import { VSCodeButtonLink } from "../common/VSCodeButtonLink" import { MODELS_BY_PROVIDER, PROVIDERS, VERTEX_REGIONS, REASONING_MODELS } from "./constants" import { ModelInfoView } from "./ModelInfoView" import { ModelPicker } from "./ModelPicker" -import { TemperatureControl } from "./TemperatureControl" -import { RateLimitSecondsControl } from "./RateLimitSecondsControl" -import { DiffSettingsControl } from "./DiffSettingsControl" import { ApiErrorMessage } from "./ApiErrorMessage" import { ThinkingBudget } from "./ThinkingBudget" import { R1FormatSetting } from "./R1FormatSetting" import { OpenRouterBalanceDisplay } from "./OpenRouterBalanceDisplay" import { RequestyBalanceDisplay } from "./RequestyBalanceDisplay" import { ReasoningEffort } from "./ReasoningEffort" +import { PromptCachingControl } from "./PromptCachingControl" +import { DiffSettingsControl } from "./DiffSettingsControl" +import { TemperatureControl } from "./TemperatureControl" +import { RateLimitSecondsControl } from "./RateLimitSecondsControl" interface ApiOptionsProps { uriScheme: string | undefined @@ -1742,6 +1743,13 @@ const ApiOptions = ({ /> )} + {selectedModelInfo.supportsPromptCache && selectedModelInfo.isPromptCacheOptional && ( + + )} + {!fromWelcomeView && ( <> setApiConfigurationField(field, value)} /> diff --git a/webview-ui/src/components/settings/PromptCachingControl.tsx b/webview-ui/src/components/settings/PromptCachingControl.tsx new file mode 100644 index 0000000000..ad68d8d8a9 --- /dev/null +++ b/webview-ui/src/components/settings/PromptCachingControl.tsx @@ -0,0 +1,29 @@ +import { VSCodeCheckbox } from "@vscode/webview-ui-toolkit/react" + +import { ApiConfiguration } from "@roo/shared/api" + +import { useAppTranslation } from "@src/i18n/TranslationContext" + +interface PromptCachingControlProps { + apiConfiguration: ApiConfiguration + setApiConfigurationField: (field: K, value: ApiConfiguration[K]) => void +} + +export const PromptCachingControl = ({ apiConfiguration, setApiConfigurationField }: PromptCachingControlProps) => { + const { t } = useAppTranslation() + + return ( + <> +
+ setApiConfigurationField("promptCachingEnabled", e.target.checked)}> + + +
+ {t("settings:promptCaching.description")} +
+
+ + ) +} diff --git a/webview-ui/src/i18n/locales/ca/settings.json b/webview-ui/src/i18n/locales/ca/settings.json index b6cdb4c6b0..4f883af9f8 100644 --- a/webview-ui/src/i18n/locales/ca/settings.json +++ b/webview-ui/src/i18n/locales/ca/settings.json @@ -386,6 +386,10 @@ "description": "Quan està activat, Roo utilitzarà l'eina diff de blocs múltiples. Això intentarà actualitzar múltiples blocs de codi a l'arxiu en una sola petició." } }, + "promptCaching": { + "label": "Habilitar la memòria cau de prompts", + "description": "Quan està habilitat, Roo utilitzarà aquest model amb la memòria cau de prompts activada per reduir costos." + }, "temperature": { "useCustom": "Utilitzar temperatura personalitzada", "description": "Controla l'aleatorietat en les respostes del model.", diff --git a/webview-ui/src/i18n/locales/de/settings.json b/webview-ui/src/i18n/locales/de/settings.json index 6786218817..2307eee89c 100644 --- a/webview-ui/src/i18n/locales/de/settings.json +++ b/webview-ui/src/i18n/locales/de/settings.json @@ -386,6 +386,10 @@ "description": "Wenn aktiviert, verwendet Roo das Multi-Block-Diff-Werkzeug. Dies versucht, mehrere Codeblöcke in der Datei in einer Anfrage zu aktualisieren." } }, + "promptCaching": { + "label": "Prompt-Caching aktivieren", + "description": "Wenn aktiviert, wird Roo dieses Modell mit aktiviertem Prompt-Caching verwenden, um Kosten zu reduzieren." + }, "temperature": { "useCustom": "Benutzerdefinierte Temperatur verwenden", "description": "Steuert die Zufälligkeit in den Antworten des Modells.", diff --git a/webview-ui/src/i18n/locales/en/settings.json b/webview-ui/src/i18n/locales/en/settings.json index d15d97a974..4a81e77ae9 100644 --- a/webview-ui/src/i18n/locales/en/settings.json +++ b/webview-ui/src/i18n/locales/en/settings.json @@ -386,6 +386,10 @@ "description": "When enabled, Roo will use multi block diff tool. This will try to update multiple code blocks in the file in one request." } }, + "promptCaching": { + "label": "Enable prompt caching", + "description": "When enabled, Roo will use this model with prompt caching turned on in order to reduce costs." + }, "temperature": { "useCustom": "Use custom temperature", "description": "Controls randomness in the model's responses.", diff --git a/webview-ui/src/i18n/locales/es/settings.json b/webview-ui/src/i18n/locales/es/settings.json index ac67755076..9a481b4bee 100644 --- a/webview-ui/src/i18n/locales/es/settings.json +++ b/webview-ui/src/i18n/locales/es/settings.json @@ -386,6 +386,10 @@ "description": "Cuando está habilitado, Roo usará la herramienta de diff de bloques múltiples. Esto intentará actualizar múltiples bloques de código en el archivo en una sola solicitud." } }, + "promptCaching": { + "label": "Habilitar caché de prompts", + "description": "Cuando está habilitado, Roo usará este modelo con el caché de prompts activado para reducir costos." + }, "temperature": { "useCustom": "Usar temperatura personalizada", "description": "Controla la aleatoriedad en las respuestas del modelo.", diff --git a/webview-ui/src/i18n/locales/fr/settings.json b/webview-ui/src/i18n/locales/fr/settings.json index abd29a7479..b0032980ee 100644 --- a/webview-ui/src/i18n/locales/fr/settings.json +++ b/webview-ui/src/i18n/locales/fr/settings.json @@ -386,6 +386,10 @@ "description": "Lorsqu'il est activé, Roo utilisera l'outil diff multi-blocs. Cela tentera de mettre à jour plusieurs blocs de code dans le fichier en une seule requête." } }, + "promptCaching": { + "label": "Activer la mise en cache des prompts", + "description": "Lorsque cette option est activée, Roo utilisera ce modèle avec la mise en cache des prompts activée afin de réduire les coûts." + }, "temperature": { "useCustom": "Utiliser une température personnalisée", "description": "Contrôle l'aléatoire dans les réponses du modèle.", diff --git a/webview-ui/src/i18n/locales/hi/settings.json b/webview-ui/src/i18n/locales/hi/settings.json index 3174b497b0..ba0de0c9d3 100644 --- a/webview-ui/src/i18n/locales/hi/settings.json +++ b/webview-ui/src/i18n/locales/hi/settings.json @@ -386,6 +386,10 @@ "description": "जब सक्षम किया जाता है, तो Roo मल्टी ब्लॉक diff उपकरण का उपयोग करेगा। यह एक अनुरोध में फ़ाइल में कई कोड ब्लॉक अपडेट करने का प्रयास करेगा।" } }, + "promptCaching": { + "label": "प्रॉम्प्ट कैशिंग सक्षम करें", + "description": "जब सक्षम किया जाता है, तो Roo लागत को कम करने के लिए प्रॉम्प्ट कैशिंग चालू के साथ इस मॉडल का उपयोग करेगा।" + }, "temperature": { "useCustom": "कस्टम तापमान का उपयोग करें", "description": "मॉडल की प्रतिक्रियाओं में यादृच्छिकता को नियंत्रित करता है।", diff --git a/webview-ui/src/i18n/locales/it/settings.json b/webview-ui/src/i18n/locales/it/settings.json index 2ff6ef663c..2eb8b38655 100644 --- a/webview-ui/src/i18n/locales/it/settings.json +++ b/webview-ui/src/i18n/locales/it/settings.json @@ -386,6 +386,10 @@ "description": "Quando abilitato, Roo utilizzerà lo strumento diff multi-blocco. Questo tenterà di aggiornare più blocchi di codice nel file in una singola richiesta." } }, + "promptCaching": { + "label": "Abilita cache dei prompt", + "description": "Quando abilitato, Roo utilizzerà questo modello con la cache dei prompt attivata per ridurre i costi." + }, "temperature": { "useCustom": "Usa temperatura personalizzata", "description": "Controlla la casualità nelle risposte del modello.", diff --git a/webview-ui/src/i18n/locales/ja/settings.json b/webview-ui/src/i18n/locales/ja/settings.json index 368a9405bf..2276464bbd 100644 --- a/webview-ui/src/i18n/locales/ja/settings.json +++ b/webview-ui/src/i18n/locales/ja/settings.json @@ -386,6 +386,10 @@ "description": "有効にすると、Rooはマルチブロックdiffツールを使用します。これにより、1つのリクエストでファイル内の複数のコードブロックを更新しようとします。" } }, + "promptCaching": { + "label": "プロンプトキャッシングを有効化", + "description": "有効にすると、Rooはコスト削減のためにプロンプトキャッシングを有効にしてこのモデルを使用します。" + }, "temperature": { "useCustom": "カスタム温度を使用", "description": "モデルの応答のランダム性を制御します。", diff --git a/webview-ui/src/i18n/locales/ko/settings.json b/webview-ui/src/i18n/locales/ko/settings.json index 8fce6d7c67..414dd93e43 100644 --- a/webview-ui/src/i18n/locales/ko/settings.json +++ b/webview-ui/src/i18n/locales/ko/settings.json @@ -386,6 +386,10 @@ "description": "활성화하면 Roo가 다중 블록 diff 도구를 사용합니다. 이것은 하나의 요청에서 파일의 여러 코드 블록을 업데이트하려고 시도합니다." } }, + "promptCaching": { + "label": "프롬프트 캐싱 활성화", + "description": "활성화하면 Roo는 비용 절감을 위해 프롬프트 캐싱을 켠 상태로 이 모델을 사용합니다." + }, "temperature": { "useCustom": "사용자 정의 온도 사용", "description": "모델 응답의 무작위성을 제어합니다.", diff --git a/webview-ui/src/i18n/locales/pl/settings.json b/webview-ui/src/i18n/locales/pl/settings.json index a83b2195e5..aa13a807a4 100644 --- a/webview-ui/src/i18n/locales/pl/settings.json +++ b/webview-ui/src/i18n/locales/pl/settings.json @@ -386,6 +386,10 @@ "description": "Po włączeniu, Roo użyje narzędzia diff wieloblokowego. Spróbuje to zaktualizować wiele bloków kodu w pliku w jednym żądaniu." } }, + "promptCaching": { + "label": "Włącz buforowanie promptów", + "description": "Po włączeniu, Roo będzie używać tego modelu z włączonym buforowaniem promptów w celu zmniejszenia kosztów." + }, "temperature": { "useCustom": "Użyj niestandardowej temperatury", "description": "Kontroluje losowość w odpowiedziach modelu.", diff --git a/webview-ui/src/i18n/locales/pt-BR/settings.json b/webview-ui/src/i18n/locales/pt-BR/settings.json index 4dba3f6d10..974f0a7b6b 100644 --- a/webview-ui/src/i18n/locales/pt-BR/settings.json +++ b/webview-ui/src/i18n/locales/pt-BR/settings.json @@ -386,6 +386,10 @@ "description": "Quando ativado, o Roo usará a ferramenta diff de múltiplos blocos. Isso tentará atualizar vários blocos de código no arquivo em uma única solicitação." } }, + "promptCaching": { + "label": "Ativar cache de prompts", + "description": "Quando ativado, o Roo usará este modelo com o cache de prompts ativado para reduzir custos." + }, "temperature": { "useCustom": "Usar temperatura personalizada", "description": "Controla a aleatoriedade nas respostas do modelo.", diff --git a/webview-ui/src/i18n/locales/tr/settings.json b/webview-ui/src/i18n/locales/tr/settings.json index 8627ac57df..c47f428760 100644 --- a/webview-ui/src/i18n/locales/tr/settings.json +++ b/webview-ui/src/i18n/locales/tr/settings.json @@ -386,6 +386,10 @@ "description": "Etkinleştirildiğinde, Roo çoklu blok diff aracını kullanacaktır. Bu, tek bir istekte dosyadaki birden fazla kod bloğunu güncellemeye çalışacaktır." } }, + "promptCaching": { + "label": "Prompt önbelleğini etkinleştir", + "description": "Etkinleştirildiğinde, Roo maliyetleri azaltmak için prompt önbelleği açık olan bu modeli kullanacaktır." + }, "temperature": { "useCustom": "Özel sıcaklık kullan", "description": "Model yanıtlarındaki rastgeleliği kontrol eder.", diff --git a/webview-ui/src/i18n/locales/vi/settings.json b/webview-ui/src/i18n/locales/vi/settings.json index 8c145842fa..5bcafb666b 100644 --- a/webview-ui/src/i18n/locales/vi/settings.json +++ b/webview-ui/src/i18n/locales/vi/settings.json @@ -386,6 +386,10 @@ "description": "Khi được bật, Roo sẽ sử dụng công cụ diff đa khối. Điều này sẽ cố gắng cập nhật nhiều khối mã trong tệp trong một yêu cầu." } }, + "promptCaching": { + "label": "Bật bộ nhớ đệm prompt", + "description": "Khi được bật, Roo sẽ sử dụng mô hình này với bộ nhớ đệm prompt được bật để giảm chi phí." + }, "temperature": { "useCustom": "Sử dụng nhiệt độ tùy chỉnh", "description": "Kiểm soát tính ngẫu nhiên trong phản hồi của mô hình.", diff --git a/webview-ui/src/i18n/locales/zh-CN/settings.json b/webview-ui/src/i18n/locales/zh-CN/settings.json index 9dbc6a3bf3..0c40cfdf7e 100644 --- a/webview-ui/src/i18n/locales/zh-CN/settings.json +++ b/webview-ui/src/i18n/locales/zh-CN/settings.json @@ -386,6 +386,10 @@ "description": "启用后,Roo 将尝试在一个请求中进行批量搜索和替换。" } }, + "promptCaching": { + "label": "启用提示词缓存", + "description": "启用后 Roo 将使用提示词缓存功能以降低成本。" + }, "temperature": { "useCustom": "使用自定义温度", "description": "控制模型响应的随机性", diff --git a/webview-ui/src/i18n/locales/zh-TW/settings.json b/webview-ui/src/i18n/locales/zh-TW/settings.json index 8285a095e2..18a48eb9c5 100644 --- a/webview-ui/src/i18n/locales/zh-TW/settings.json +++ b/webview-ui/src/i18n/locales/zh-TW/settings.json @@ -386,6 +386,10 @@ "description": "啟用後,Roo 將使用多區塊差異比對工具,嘗試在單一請求中更新檔案內的多個程式碼區塊。" } }, + "promptCaching": { + "label": "啟用提示快取", + "description": "啟用後,Roo 將使用提示快取功能以降低成本。" + }, "temperature": { "useCustom": "使用自訂溫度", "description": "控制模型回應的隨機性", From 44c564dca170348c805df46be298e76c0916173e Mon Sep 17 00:00:00 2001 From: Chris Estreich Date: Thu, 24 Apr 2025 12:19:32 -0700 Subject: [PATCH 2/3] Update webview-ui/src/i18n/locales/ca/settings.json Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com> --- webview-ui/src/i18n/locales/ca/settings.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/webview-ui/src/i18n/locales/ca/settings.json b/webview-ui/src/i18n/locales/ca/settings.json index 4f883af9f8..16f0b833b3 100644 --- a/webview-ui/src/i18n/locales/ca/settings.json +++ b/webview-ui/src/i18n/locales/ca/settings.json @@ -387,7 +387,7 @@ } }, "promptCaching": { - "label": "Habilitar la memòria cau de prompts", + "label": "Habilitar emmagatzematge en caché de prompts", "description": "Quan està habilitat, Roo utilitzarà aquest model amb la memòria cau de prompts activada per reduir costos." }, "temperature": { From 16335c5cc78865626188fdc79a41b4177a197dd9 Mon Sep 17 00:00:00 2001 From: Chris Estreich Date: Thu, 24 Apr 2025 12:19:40 -0700 Subject: [PATCH 3/3] Update webview-ui/src/i18n/locales/pl/settings.json Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com> --- webview-ui/src/i18n/locales/pl/settings.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/webview-ui/src/i18n/locales/pl/settings.json b/webview-ui/src/i18n/locales/pl/settings.json index aa13a807a4..7205413792 100644 --- a/webview-ui/src/i18n/locales/pl/settings.json +++ b/webview-ui/src/i18n/locales/pl/settings.json @@ -387,7 +387,7 @@ } }, "promptCaching": { - "label": "Włącz buforowanie promptów", + "label": "Włącz buforowanie podpowiedzi", "description": "Po włączeniu, Roo będzie używać tego modelu z włączonym buforowaniem promptów w celu zmniejszenia kosztów." }, "temperature": {