mirror of
https://github.com/RooVetGit/Roo-Code.git
synced 2026-09-07 08:26:51 +00:00
feat: improve retention UX with confirmation dialog and friendly messaging
- Add confirmation dialog before changing retention settings to prevent accidental changes
- Move task count display from About tab to History View settings popover
- Combine redundant description/warning into single, clear warning message
- Update task count display to be more human-friendly ('X tasks in history')
- Update all 18 locale files with consistent messaging
- Revert About.tsx to original state (no retention UI there)
This commit is contained in:
parent
739f6c1989
commit
fea999b3b5
21 changed files with 409 additions and 282 deletions
|
|
@ -1,5 +1,5 @@
|
|||
import React, { memo, useState, useMemo } from "react"
|
||||
import { ArrowLeft, Settings } from "lucide-react"
|
||||
import React, { memo, useState, useMemo, useCallback, useEffect } from "react"
|
||||
import { ArrowLeft, Settings, FolderOpen, RefreshCw, Loader2 } from "lucide-react"
|
||||
import { DeleteTaskDialog } from "./DeleteTaskDialog"
|
||||
import { BatchDeleteTaskDialog } from "./BatchDeleteTaskDialog"
|
||||
import { Virtuoso } from "react-virtuoso"
|
||||
|
|
@ -11,6 +11,14 @@ import { VSCodeTextField } from "@vscode/webview-ui-toolkit/react"
|
|||
import { vscode } from "@/utils/vscode"
|
||||
import { useExtensionState } from "@/context/ExtensionStateContext"
|
||||
import {
|
||||
AlertDialog,
|
||||
AlertDialogAction,
|
||||
AlertDialogCancel,
|
||||
AlertDialogContent,
|
||||
AlertDialogDescription,
|
||||
AlertDialogFooter,
|
||||
AlertDialogHeader,
|
||||
AlertDialogTitle,
|
||||
Button,
|
||||
Checkbox,
|
||||
Popover,
|
||||
|
|
@ -48,7 +56,7 @@ const HistoryView = ({ onDone }: HistoryViewProps) => {
|
|||
showAllWorkspaces,
|
||||
setShowAllWorkspaces,
|
||||
} = useTaskSearch()
|
||||
const { taskHistoryRetention } = useExtensionState()
|
||||
const { taskHistoryRetention, taskHistorySize } = useExtensionState()
|
||||
const { t } = useAppTranslation()
|
||||
|
||||
// Use grouped tasks hook
|
||||
|
|
@ -60,6 +68,39 @@ const HistoryView = ({ onDone }: HistoryViewProps) => {
|
|||
const [selectedTaskIds, setSelectedTaskIds] = useState<string[]>([])
|
||||
const [showBatchDeleteDialog, setShowBatchDeleteDialog] = useState<boolean>(false)
|
||||
const [isRetentionPopoverOpen, setIsRetentionPopoverOpen] = useState(false)
|
||||
const [pendingRetention, setPendingRetention] = useState<TaskHistoryRetentionSetting | null>(null)
|
||||
const [showRetentionConfirmDialog, setShowRetentionConfirmDialog] = useState(false)
|
||||
const [isRefreshingTaskCount, setIsRefreshingTaskCount] = useState(false)
|
||||
const [cachedTaskCount, setCachedTaskCount] = useState<number | undefined>(taskHistorySize?.taskCount)
|
||||
|
||||
// Update cached task count when taskHistorySize changes
|
||||
useEffect(() => {
|
||||
if (taskHistorySize) {
|
||||
setCachedTaskCount(taskHistorySize.taskCount)
|
||||
setIsRefreshingTaskCount(false)
|
||||
}
|
||||
}, [taskHistorySize])
|
||||
|
||||
// Handle refresh task count
|
||||
const handleRefreshTaskCount = useCallback(() => {
|
||||
setIsRefreshingTaskCount(true)
|
||||
vscode.postMessage({ type: "refreshTaskHistorySize" })
|
||||
}, [])
|
||||
|
||||
// Get task count display text
|
||||
const getTaskCountDisplayText = (): string => {
|
||||
const count = taskHistorySize?.taskCount ?? cachedTaskCount
|
||||
if (count === undefined) {
|
||||
return t("settings:taskHistoryStorage.clickToCount")
|
||||
}
|
||||
if (count === 0) {
|
||||
return t("settings:taskHistoryStorage.empty")
|
||||
}
|
||||
if (count === 1) {
|
||||
return t("settings:taskHistoryStorage.countSingular")
|
||||
}
|
||||
return t("settings:taskHistoryStorage.count", { count })
|
||||
}
|
||||
|
||||
// Normalize retention setting to ensure it's valid
|
||||
const normalizedRetention: TaskHistoryRetentionSetting = TASK_HISTORY_RETENTION_OPTIONS.includes(
|
||||
|
|
@ -68,9 +109,31 @@ const HistoryView = ({ onDone }: HistoryViewProps) => {
|
|||
? (taskHistoryRetention as TaskHistoryRetentionSetting)
|
||||
: "never"
|
||||
|
||||
// Handle retention setting change
|
||||
// Handle retention setting change - show confirmation dialog first
|
||||
const handleRetentionChange = (value: TaskHistoryRetentionSetting) => {
|
||||
vscode.postMessage({ type: "updateSettings", updatedSettings: { taskHistoryRetention: value } })
|
||||
// If selecting the same value, do nothing
|
||||
if (value === normalizedRetention) {
|
||||
return
|
||||
}
|
||||
// Show confirmation dialog for any change
|
||||
setPendingRetention(value)
|
||||
setShowRetentionConfirmDialog(true)
|
||||
}
|
||||
|
||||
// Confirm retention change
|
||||
const confirmRetentionChange = () => {
|
||||
if (pendingRetention !== null) {
|
||||
vscode.postMessage({ type: "updateSettings", updatedSettings: { taskHistoryRetention: pendingRetention } })
|
||||
}
|
||||
setShowRetentionConfirmDialog(false)
|
||||
setPendingRetention(null)
|
||||
setIsRetentionPopoverOpen(false)
|
||||
}
|
||||
|
||||
// Cancel retention change
|
||||
const cancelRetentionChange = () => {
|
||||
setShowRetentionConfirmDialog(false)
|
||||
setPendingRetention(null)
|
||||
}
|
||||
|
||||
// Get subtask count for a task
|
||||
|
|
@ -148,7 +211,28 @@ const HistoryView = ({ onDone }: HistoryViewProps) => {
|
|||
</StandardTooltip>
|
||||
<PopoverContent className="w-72" align="end">
|
||||
<div className="space-y-3">
|
||||
<h4 className="font-medium text-sm">{t("settings:aboutRetention.label")}</h4>
|
||||
{/* Task count display */}
|
||||
<div className="flex items-center gap-2">
|
||||
<FolderOpen className="size-4 text-vscode-descriptionForeground shrink-0" />
|
||||
<span className="text-sm">{getTaskCountDisplayText()}</span>
|
||||
<Button
|
||||
variant="ghost"
|
||||
size="sm"
|
||||
onClick={handleRefreshTaskCount}
|
||||
disabled={isRefreshingTaskCount}
|
||||
className="h-6 w-6 p-0 ml-auto"
|
||||
title={t("settings:taskHistoryStorage.refresh")}>
|
||||
{isRefreshingTaskCount ? (
|
||||
<Loader2 className="size-3.5 animate-spin" />
|
||||
) : (
|
||||
<RefreshCw className="size-3.5" />
|
||||
)}
|
||||
</Button>
|
||||
</div>
|
||||
|
||||
<div className="border-t border-vscode-settings-headerBorder pt-3">
|
||||
<h4 className="font-medium text-sm">{t("settings:aboutRetention.label")}</h4>
|
||||
</div>
|
||||
<Select
|
||||
value={normalizedRetention}
|
||||
onValueChange={(value: TaskHistoryRetentionSetting) => {
|
||||
|
|
@ -175,9 +259,8 @@ const HistoryView = ({ onDone }: HistoryViewProps) => {
|
|||
</SelectContent>
|
||||
</Select>
|
||||
<p className="text-vscode-descriptionForeground text-xs">
|
||||
{t("settings:aboutRetention.description")}
|
||||
{t("settings:aboutRetention.warning")}
|
||||
</p>
|
||||
<p className="text-red-500 text-xs">{t("settings:aboutRetention.warning")}</p>
|
||||
</div>
|
||||
</PopoverContent>
|
||||
</Popover>
|
||||
|
|
@ -421,6 +504,32 @@ const HistoryView = ({ onDone }: HistoryViewProps) => {
|
|||
}}
|
||||
/>
|
||||
)}
|
||||
|
||||
{/* Retention change confirmation dialog */}
|
||||
<AlertDialog open={showRetentionConfirmDialog} onOpenChange={setShowRetentionConfirmDialog}>
|
||||
<AlertDialogContent>
|
||||
<AlertDialogHeader>
|
||||
<AlertDialogTitle>{t("settings:aboutRetention.confirmDialog.title")}</AlertDialogTitle>
|
||||
<AlertDialogDescription>
|
||||
{pendingRetention === "never"
|
||||
? t("settings:aboutRetention.confirmDialog.descriptionNever")
|
||||
: t("settings:aboutRetention.confirmDialog.description", {
|
||||
period: pendingRetention,
|
||||
})}
|
||||
</AlertDialogDescription>
|
||||
</AlertDialogHeader>
|
||||
<AlertDialogFooter>
|
||||
<AlertDialogCancel onClick={cancelRetentionChange}>
|
||||
{t("settings:aboutRetention.confirmDialog.cancel")}
|
||||
</AlertDialogCancel>
|
||||
<AlertDialogAction onClick={confirmRetentionChange}>
|
||||
{pendingRetention === "never"
|
||||
? t("settings:aboutRetention.confirmDialog.confirmNever")
|
||||
: t("settings:aboutRetention.confirmDialog.confirm")}
|
||||
</AlertDialogAction>
|
||||
</AlertDialogFooter>
|
||||
</AlertDialogContent>
|
||||
</AlertDialog>
|
||||
</Tab>
|
||||
)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,19 +1,7 @@
|
|||
import { HTMLAttributes, useState, useCallback, useEffect } from "react"
|
||||
import { HTMLAttributes } from "react"
|
||||
import { useAppTranslation } from "@/i18n/TranslationContext"
|
||||
import { Trans } from "react-i18next"
|
||||
import {
|
||||
Download,
|
||||
Upload,
|
||||
TriangleAlert,
|
||||
Bug,
|
||||
Lightbulb,
|
||||
Shield,
|
||||
MessageCircle,
|
||||
MessagesSquare,
|
||||
RefreshCw,
|
||||
FolderOpen,
|
||||
Loader2,
|
||||
} from "lucide-react"
|
||||
import { Download, Upload, TriangleAlert, Bug, Lightbulb, Shield, MessageCircle, MessagesSquare } from "lucide-react"
|
||||
import { VSCodeCheckbox, VSCodeLink } from "@vscode/webview-ui-toolkit/react"
|
||||
|
||||
import type { TelemetrySetting } from "@roo-code/types"
|
||||
|
|
@ -28,63 +16,15 @@ import { SectionHeader } from "./SectionHeader"
|
|||
import { Section } from "./Section"
|
||||
import { SearchableSetting } from "./SearchableSetting"
|
||||
|
||||
type TaskHistorySize = {
|
||||
taskCount: number
|
||||
}
|
||||
|
||||
type AboutProps = HTMLAttributes<HTMLDivElement> & {
|
||||
telemetrySetting: TelemetrySetting
|
||||
setTelemetrySetting: (setting: TelemetrySetting) => void
|
||||
debug?: boolean
|
||||
setDebug?: (debug: boolean) => void
|
||||
taskHistorySize?: TaskHistorySize
|
||||
}
|
||||
|
||||
export const About = ({
|
||||
telemetrySetting,
|
||||
setTelemetrySetting,
|
||||
debug,
|
||||
setDebug,
|
||||
taskHistorySize,
|
||||
className,
|
||||
...props
|
||||
}: AboutProps) => {
|
||||
export const About = ({ telemetrySetting, setTelemetrySetting, debug, setDebug, className, ...props }: AboutProps) => {
|
||||
const { t } = useAppTranslation()
|
||||
const [isRefreshing, setIsRefreshing] = useState(false)
|
||||
const [cachedSize, setCachedSize] = useState<TaskHistorySize | undefined>(taskHistorySize)
|
||||
|
||||
// Update cached size when taskHistorySize changes and reset refreshing state
|
||||
useEffect(() => {
|
||||
if (taskHistorySize) {
|
||||
setCachedSize(taskHistorySize)
|
||||
setIsRefreshing(false)
|
||||
}
|
||||
}, [taskHistorySize])
|
||||
|
||||
// NOTE: No auto-trigger on mount - user must click refresh button
|
||||
// This is intentional for performance with large task counts (e.g., 9000+ tasks)
|
||||
|
||||
const handleRefreshTaskCount = useCallback(() => {
|
||||
setIsRefreshing(true)
|
||||
vscode.postMessage({ type: "refreshTaskHistorySize" })
|
||||
}, [])
|
||||
|
||||
const getTaskCountDisplayText = (): string => {
|
||||
// Use cached size if available, otherwise prompt user to click refresh
|
||||
const displaySize = taskHistorySize || cachedSize
|
||||
if (!displaySize) {
|
||||
return t("settings:taskHistoryStorage.clickToCount")
|
||||
}
|
||||
if (displaySize.taskCount === 0) {
|
||||
return t("settings:taskHistoryStorage.empty")
|
||||
}
|
||||
if (displaySize.taskCount === 1) {
|
||||
return t("settings:taskHistoryStorage.countSingular")
|
||||
}
|
||||
return t("settings:taskHistoryStorage.count", {
|
||||
count: displaySize.taskCount,
|
||||
})
|
||||
}
|
||||
|
||||
return (
|
||||
<div className={cn("flex flex-col gap-2", className)} {...props}>
|
||||
|
|
@ -191,37 +131,10 @@ export const About = ({
|
|||
</Section>
|
||||
|
||||
<Section className="space-y-0">
|
||||
<SearchableSetting
|
||||
settingId="about-task-history-count"
|
||||
section="about"
|
||||
label={t("settings:taskHistoryStorage.label")}
|
||||
className="mt-4">
|
||||
<div className="flex items-center gap-2">
|
||||
<FolderOpen className="size-4 text-vscode-descriptionForeground shrink-0" />
|
||||
<span className="text-sm">
|
||||
{t("settings:taskHistoryStorage.label")}: {getTaskCountDisplayText()}
|
||||
</span>
|
||||
<Button
|
||||
variant="ghost"
|
||||
size="sm"
|
||||
onClick={handleRefreshTaskCount}
|
||||
disabled={isRefreshing}
|
||||
className="h-6 w-6 p-0"
|
||||
title={t("settings:taskHistoryStorage.refresh")}>
|
||||
{isRefreshing ? (
|
||||
<Loader2 className="size-3.5 animate-spin" />
|
||||
) : (
|
||||
<RefreshCw className="size-3.5" />
|
||||
)}
|
||||
</Button>
|
||||
</div>
|
||||
</SearchableSetting>
|
||||
|
||||
<SearchableSetting
|
||||
settingId="about-manage-settings"
|
||||
section="about"
|
||||
label={t("settings:about.manageSettings")}
|
||||
className="mt-4 pt-4 border-t border-vscode-settings-headerBorder">
|
||||
label={t("settings:about.manageSettings")}>
|
||||
<h3>{t("settings:about.manageSettings")}</h3>
|
||||
<div className="flex flex-wrap items-center gap-2">
|
||||
<Button onClick={() => vscode.postMessage({ type: "exportSettings" })} className="w-28">
|
||||
|
|
|
|||
|
|
@ -218,9 +218,6 @@ const SettingsView = forwardRef<SettingsViewRef, SettingsViewProps>(({ onDone, t
|
|||
taskHistoryRetention,
|
||||
} = cachedState
|
||||
|
||||
// taskHistorySize is read-only (not a saveable setting) so we use extensionState directly
|
||||
const taskHistorySize = extensionState.taskHistorySize
|
||||
|
||||
const apiConfiguration = useMemo(() => cachedState.apiConfiguration ?? {}, [cachedState.apiConfiguration])
|
||||
|
||||
useEffect(() => {
|
||||
|
|
@ -974,7 +971,6 @@ const SettingsView = forwardRef<SettingsViewRef, SettingsViewProps>(({ onDone, t
|
|||
setTelemetrySetting={setTelemetrySetting}
|
||||
debug={cachedState.debug}
|
||||
setDebug={setDebug}
|
||||
taskHistorySize={taskHistorySize}
|
||||
/>
|
||||
)}
|
||||
</SearchIndexProvider>
|
||||
|
|
|
|||
26
webview-ui/src/i18n/locales/ca/settings.json
generated
26
webview-ui/src/i18n/locales/ca/settings.json
generated
|
|
@ -898,10 +898,17 @@
|
|||
},
|
||||
"aboutRetention": {
|
||||
"label": "Eliminar automàticament l'historial de tasques",
|
||||
"description": "Elimina les tasques anteriors al període seleccionat quan s'activa l'extensió.",
|
||||
"warning": "Advertència: Aquesta acció elimina permanentment les tasques antigues i s'executa quan s'activa l'extensió.",
|
||||
"warning": "Quan estigui activat, les tasques anteriors al període seleccionat s'eliminen permanentment en reiniciar VS Code.",
|
||||
"confirmDialog": {
|
||||
"title": "Activar l'eliminació automàtica?",
|
||||
"description": "Això eliminarà permanentment les tasques de més de {{period}} dies cada vegada que es reiniciï VS Code. Aquesta acció no es pot desfer.",
|
||||
"descriptionNever": "L'eliminació automàtica es desactivarà. El teu historial de tasques es conservarà.",
|
||||
"confirm": "Activar eliminació automàtica",
|
||||
"confirmNever": "Desactivar eliminació automàtica",
|
||||
"cancel": "Cancel·lar"
|
||||
},
|
||||
"options": {
|
||||
"never": "Mai",
|
||||
"never": "Mai (per defecte)",
|
||||
"90": "90 dies",
|
||||
"60": "60 dies",
|
||||
"30": "30 dies",
|
||||
|
|
@ -910,13 +917,12 @@
|
|||
}
|
||||
},
|
||||
"taskHistoryStorage": {
|
||||
"label": "Ús d'emmagatzematge",
|
||||
"calculating": "Calculant...",
|
||||
"format": "{{size}} ({{count}} tasques)",
|
||||
"formatSingular": "{{size}} (1 tasca)",
|
||||
"empty": "Cap tasca emmagatzemada",
|
||||
"refresh": "Actualitzar",
|
||||
"error": "No es pot calcular"
|
||||
"label": "Historial de tasques",
|
||||
"clickToCount": "Clica per comptar",
|
||||
"count": "{{count}} tasques a l'historial",
|
||||
"countSingular": "1 tasca a l'historial",
|
||||
"empty": "Encara no hi ha tasques",
|
||||
"refresh": "Actualitzar"
|
||||
},
|
||||
"footer": {
|
||||
"feedback": "Si teniu qualsevol pregunta o comentari, no dubteu a obrir un issue a <githubLink>github.com/RooCodeInc/Roo-Code</githubLink> o unir-vos a <redditLink>reddit.com/r/RooCode</redditLink> o <discordLink>discord.gg/roocode</discordLink>",
|
||||
|
|
|
|||
26
webview-ui/src/i18n/locales/de/settings.json
generated
26
webview-ui/src/i18n/locales/de/settings.json
generated
|
|
@ -898,10 +898,17 @@
|
|||
},
|
||||
"aboutRetention": {
|
||||
"label": "Aufgabenverlauf automatisch löschen",
|
||||
"description": "Löscht Aufgaben, die älter als der ausgewählte Zeitraum sind, wenn die Erweiterung aktiviert wird.",
|
||||
"warning": "Warnung: Diese Aktion löscht alte Aufgaben dauerhaft und wird ausgeführt, wenn die Erweiterung aktiviert wird.",
|
||||
"warning": "Wenn aktiviert, werden Aufgaben, die älter als der ausgewählte Zeitraum sind, beim Neustart von VS Code dauerhaft gelöscht.",
|
||||
"confirmDialog": {
|
||||
"title": "Automatisches Löschen aktivieren?",
|
||||
"description": "Dies löscht dauerhaft Aufgaben, die älter als {{period}} Tage sind, bei jedem Neustart von VS Code. Diese Aktion kann nicht rückgängig gemacht werden.",
|
||||
"descriptionNever": "Das automatische Löschen wird deaktiviert. Dein Aufgabenverlauf bleibt erhalten.",
|
||||
"confirm": "Automatisches Löschen aktivieren",
|
||||
"confirmNever": "Automatisches Löschen deaktivieren",
|
||||
"cancel": "Abbrechen"
|
||||
},
|
||||
"options": {
|
||||
"never": "Nie",
|
||||
"never": "Nie (Standard)",
|
||||
"90": "90 Tage",
|
||||
"60": "60 Tage",
|
||||
"30": "30 Tage",
|
||||
|
|
@ -910,13 +917,12 @@
|
|||
}
|
||||
},
|
||||
"taskHistoryStorage": {
|
||||
"label": "Speichernutzung",
|
||||
"calculating": "Berechne...",
|
||||
"format": "{{size}} ({{count}} Aufgaben)",
|
||||
"formatSingular": "{{size}} (1 Aufgabe)",
|
||||
"empty": "Keine Aufgaben gespeichert",
|
||||
"refresh": "Aktualisieren",
|
||||
"error": "Berechnung nicht möglich"
|
||||
"label": "Aufgabenverlauf",
|
||||
"clickToCount": "Klicken zum Zählen",
|
||||
"count": "{{count}} Aufgaben im Verlauf",
|
||||
"countSingular": "1 Aufgabe im Verlauf",
|
||||
"empty": "Noch keine Aufgaben",
|
||||
"refresh": "Aktualisieren"
|
||||
},
|
||||
"footer": {
|
||||
"feedback": "Wenn du Fragen oder Feedback hast, kannst du gerne ein Issue auf <githubLink>github.com/RooCodeInc/Roo-Code</githubLink> eröffnen oder <redditLink>reddit.com/r/RooCode</redditLink> oder <discordLink>discord.gg/roocode</discordLink> beitreten",
|
||||
|
|
|
|||
|
|
@ -907,10 +907,17 @@
|
|||
},
|
||||
"aboutRetention": {
|
||||
"label": "Auto-delete task history",
|
||||
"description": "Deletes tasks older than the selected period when the extension is activated.",
|
||||
"warning": "Warning: This action permanently deletes old tasks and runs when the extension is activated.",
|
||||
"warning": "When enabled, tasks older than the selected period are permanently deleted when VS Code restarts.",
|
||||
"confirmDialog": {
|
||||
"title": "Enable Auto-Delete?",
|
||||
"description": "This will permanently delete tasks older than {{period}} days whenever VS Code restarts. This action cannot be undone.",
|
||||
"descriptionNever": "Auto-delete will be disabled. Your task history will be preserved.",
|
||||
"confirm": "Enable Auto-Delete",
|
||||
"confirmNever": "Disable Auto-Delete",
|
||||
"cancel": "Cancel"
|
||||
},
|
||||
"options": {
|
||||
"never": "Never",
|
||||
"never": "Never (default)",
|
||||
"90": "90 days",
|
||||
"60": "60 days",
|
||||
"30": "30 days",
|
||||
|
|
@ -919,12 +926,12 @@
|
|||
}
|
||||
},
|
||||
"taskHistoryStorage": {
|
||||
"label": "Task count",
|
||||
"clickToCount": "Click refresh to count",
|
||||
"count": "{{count}} tasks",
|
||||
"countSingular": "1 task",
|
||||
"empty": "No tasks stored",
|
||||
"refresh": "Count tasks"
|
||||
"label": "Task history",
|
||||
"clickToCount": "Click to count tasks",
|
||||
"count": "{{count}} tasks in history",
|
||||
"countSingular": "1 task in history",
|
||||
"empty": "No tasks yet",
|
||||
"refresh": "Refresh count"
|
||||
},
|
||||
"footer": {
|
||||
"telemetry": {
|
||||
|
|
|
|||
26
webview-ui/src/i18n/locales/es/settings.json
generated
26
webview-ui/src/i18n/locales/es/settings.json
generated
|
|
@ -898,10 +898,17 @@
|
|||
},
|
||||
"aboutRetention": {
|
||||
"label": "Eliminar automáticamente el historial de tareas",
|
||||
"description": "Elimina las tareas anteriores al período seleccionado cuando se activa la extensión.",
|
||||
"warning": "Advertencia: Esta acción elimina permanentemente las tareas antiguas y se ejecuta cuando se activa la extensión.",
|
||||
"warning": "Cuando está habilitado, las tareas anteriores al período seleccionado se eliminan permanentemente al reiniciar VS Code.",
|
||||
"confirmDialog": {
|
||||
"title": "¿Activar eliminación automática?",
|
||||
"description": "Esto eliminará permanentemente las tareas de más de {{period}} días cada vez que VS Code se reinicie. Esta acción no se puede deshacer.",
|
||||
"descriptionNever": "La eliminación automática se desactivará. Tu historial de tareas se conservará.",
|
||||
"confirm": "Activar eliminación automática",
|
||||
"confirmNever": "Desactivar eliminación automática",
|
||||
"cancel": "Cancelar"
|
||||
},
|
||||
"options": {
|
||||
"never": "Nunca",
|
||||
"never": "Nunca (predeterminado)",
|
||||
"90": "90 días",
|
||||
"60": "60 días",
|
||||
"30": "30 días",
|
||||
|
|
@ -910,13 +917,12 @@
|
|||
}
|
||||
},
|
||||
"taskHistoryStorage": {
|
||||
"label": "Uso de almacenamiento",
|
||||
"calculating": "Calculando...",
|
||||
"format": "{{size}} ({{count}} tareas)",
|
||||
"formatSingular": "{{size}} (1 tarea)",
|
||||
"empty": "No hay tareas almacenadas",
|
||||
"refresh": "Actualizar",
|
||||
"error": "No se puede calcular"
|
||||
"label": "Historial de tareas",
|
||||
"clickToCount": "Clic para contar",
|
||||
"count": "{{count}} tareas en el historial",
|
||||
"countSingular": "1 tarea en el historial",
|
||||
"empty": "Sin tareas aún",
|
||||
"refresh": "Actualizar"
|
||||
},
|
||||
"footer": {
|
||||
"feedback": "Si tiene alguna pregunta o comentario, no dude en abrir un issue en <githubLink>github.com/RooCodeInc/Roo-Code</githubLink> o unirse a <redditLink>reddit.com/r/RooCode</redditLink> o <discordLink>discord.gg/roocode</discordLink>",
|
||||
|
|
|
|||
26
webview-ui/src/i18n/locales/fr/settings.json
generated
26
webview-ui/src/i18n/locales/fr/settings.json
generated
|
|
@ -898,10 +898,17 @@
|
|||
},
|
||||
"aboutRetention": {
|
||||
"label": "Supprimer automatiquement l'historique des tâches",
|
||||
"description": "Supprime les tâches antérieures à la période sélectionnée lorsque l'extension est activée.",
|
||||
"warning": "Avertissement : Cette action supprime définitivement les anciennes tâches et s'exécute lorsque l'extension est activée.",
|
||||
"warning": "Si activé, les tâches antérieures à la période sélectionnée sont définitivement supprimées au redémarrage de VS Code.",
|
||||
"confirmDialog": {
|
||||
"title": "Activer la suppression automatique ?",
|
||||
"description": "Cela supprimera définitivement les tâches de plus de {{period}} jours à chaque redémarrage de VS Code. Cette action ne peut pas être annulée.",
|
||||
"descriptionNever": "La suppression automatique sera désactivée. Votre historique des tâches sera conservé.",
|
||||
"confirm": "Activer la suppression automatique",
|
||||
"confirmNever": "Désactiver la suppression automatique",
|
||||
"cancel": "Annuler"
|
||||
},
|
||||
"options": {
|
||||
"never": "Jamais",
|
||||
"never": "Jamais (par défaut)",
|
||||
"90": "90 jours",
|
||||
"60": "60 jours",
|
||||
"30": "30 jours",
|
||||
|
|
@ -910,13 +917,12 @@
|
|||
}
|
||||
},
|
||||
"taskHistoryStorage": {
|
||||
"label": "Utilisation du stockage",
|
||||
"calculating": "Calcul en cours...",
|
||||
"format": "{{size}} ({{count}} tâches)",
|
||||
"formatSingular": "{{size}} (1 tâche)",
|
||||
"empty": "Aucune tâche stockée",
|
||||
"refresh": "Actualiser",
|
||||
"error": "Impossible de calculer"
|
||||
"label": "Historique des tâches",
|
||||
"clickToCount": "Cliquer pour compter",
|
||||
"count": "{{count}} tâches dans l'historique",
|
||||
"countSingular": "1 tâche dans l'historique",
|
||||
"empty": "Aucune tâche pour l'instant",
|
||||
"refresh": "Actualiser"
|
||||
},
|
||||
"footer": {
|
||||
"feedback": "Si vous avez des questions ou des commentaires, n'hésitez pas à ouvrir un problème sur <githubLink>github.com/RooCodeInc/Roo-Code</githubLink> ou à rejoindre <redditLink>reddit.com/r/RooCode</redditLink> ou <discordLink>discord.gg/roocode</discordLink>",
|
||||
|
|
|
|||
26
webview-ui/src/i18n/locales/hi/settings.json
generated
26
webview-ui/src/i18n/locales/hi/settings.json
generated
|
|
@ -899,10 +899,17 @@
|
|||
},
|
||||
"aboutRetention": {
|
||||
"label": "कार्य इतिहास स्वचालित रूप से हटाएं",
|
||||
"description": "एक्सटेंशन सक्रिय होने पर चयनित अवधि से पुराने कार्यों को हटा देता है।",
|
||||
"warning": "चेतावनी: यह क्रिया स्थायी रूप से पुराने कार्यों को हटा देती है और एक्सटेंशन सक्रिय होने पर चलती है।",
|
||||
"warning": "सक्षम होने पर, चयनित अवधि से पुराने कार्य VS Code के पुनः आरंभ होने पर स्थायी रूप से हटा दिए जाते हैं।",
|
||||
"confirmDialog": {
|
||||
"title": "स्वचालित हटाना सक्षम करें?",
|
||||
"description": "यह VS Code के हर पुनः आरंभ पर {{period}} दिनों से पुराने कार्यों को स्थायी रूप से हटा देगा। इस क्रिया को पूर्ववत नहीं किया जा सकता।",
|
||||
"descriptionNever": "स्वचालित हटाना अक्षम किया जाएगा। आपका कार्य इतिहास संरक्षित रहेगा।",
|
||||
"confirm": "स्वचालित हटाना सक्षम करें",
|
||||
"confirmNever": "स्वचालित हटाना अक्षम करें",
|
||||
"cancel": "रद्द करें"
|
||||
},
|
||||
"options": {
|
||||
"never": "कभी नहीं",
|
||||
"never": "कभी नहीं (डिफ़ॉल्ट)",
|
||||
"90": "90 दिन",
|
||||
"60": "60 दिन",
|
||||
"30": "30 दिन",
|
||||
|
|
@ -911,13 +918,12 @@
|
|||
}
|
||||
},
|
||||
"taskHistoryStorage": {
|
||||
"label": "स्टोरेज उपयोग",
|
||||
"calculating": "गणना हो रही है...",
|
||||
"format": "{{size}} ({{count}} कार्य)",
|
||||
"formatSingular": "{{size}} (1 कार्य)",
|
||||
"empty": "कोई कार्य संग्रहीत नहीं",
|
||||
"refresh": "रिफ्रेश करें",
|
||||
"error": "गणना करने में असमर्थ"
|
||||
"label": "कार्य इतिहास",
|
||||
"clickToCount": "गिनने के लिए क्लिक करें",
|
||||
"count": "इतिहास में {{count}} कार्य",
|
||||
"countSingular": "इतिहास में 1 कार्य",
|
||||
"empty": "अभी तक कोई कार्य नहीं",
|
||||
"refresh": "रिफ्रेश करें"
|
||||
},
|
||||
"footer": {
|
||||
"feedback": "यदि आपके कोई प्रश्न या प्रतिक्रिया है, तो <githubLink>github.com/RooCodeInc/Roo-Code</githubLink> पर एक मुद्दा खोलने या <redditLink>reddit.com/r/RooCode</redditLink> या <discordLink>discord.gg/roocode</discordLink> में शामिल होने में संकोच न करें",
|
||||
|
|
|
|||
26
webview-ui/src/i18n/locales/id/settings.json
generated
26
webview-ui/src/i18n/locales/id/settings.json
generated
|
|
@ -928,10 +928,17 @@
|
|||
},
|
||||
"aboutRetention": {
|
||||
"label": "Hapus otomatis riwayat tugas",
|
||||
"description": "Menghapus tugas yang lebih lama dari periode yang dipilih saat ekstensi diaktifkan.",
|
||||
"warning": "Peringatan: Tindakan ini menghapus tugas lama secara permanen dan berjalan saat ekstensi diaktifkan.",
|
||||
"warning": "Saat diaktifkan, tugas yang lebih lama dari periode yang dipilih akan dihapus secara permanen saat VS Code dimulai ulang.",
|
||||
"confirmDialog": {
|
||||
"title": "Aktifkan hapus otomatis?",
|
||||
"description": "Ini akan menghapus tugas yang lebih lama dari {{period}} hari secara permanen setiap kali VS Code dimulai ulang. Tindakan ini tidak dapat dibatalkan.",
|
||||
"descriptionNever": "Hapus otomatis akan dinonaktifkan. Riwayat tugas Anda akan dipertahankan.",
|
||||
"confirm": "Aktifkan hapus otomatis",
|
||||
"confirmNever": "Nonaktifkan hapus otomatis",
|
||||
"cancel": "Batal"
|
||||
},
|
||||
"options": {
|
||||
"never": "Tidak pernah",
|
||||
"never": "Tidak pernah (default)",
|
||||
"90": "90 hari",
|
||||
"60": "60 hari",
|
||||
"30": "30 hari",
|
||||
|
|
@ -940,13 +947,12 @@
|
|||
}
|
||||
},
|
||||
"taskHistoryStorage": {
|
||||
"label": "Penggunaan penyimpanan",
|
||||
"calculating": "Menghitung...",
|
||||
"format": "{{size}} ({{count}} tugas)",
|
||||
"formatSingular": "{{size}} (1 tugas)",
|
||||
"empty": "Tidak ada tugas tersimpan",
|
||||
"refresh": "Segarkan",
|
||||
"error": "Tidak dapat menghitung"
|
||||
"label": "Riwayat tugas",
|
||||
"clickToCount": "Klik untuk menghitung",
|
||||
"count": "{{count}} tugas dalam riwayat",
|
||||
"countSingular": "1 tugas dalam riwayat",
|
||||
"empty": "Belum ada tugas",
|
||||
"refresh": "Segarkan"
|
||||
},
|
||||
"footer": {
|
||||
"feedback": "Jika kamu punya pertanyaan atau feedback, jangan ragu untuk membuka issue di <githubLink>github.com/RooCodeInc/Roo-Code</githubLink> atau bergabung <redditLink>reddit.com/r/RooCode</redditLink> atau <discordLink>discord.gg/roocode</discordLink>",
|
||||
|
|
|
|||
26
webview-ui/src/i18n/locales/it/settings.json
generated
26
webview-ui/src/i18n/locales/it/settings.json
generated
|
|
@ -899,10 +899,17 @@
|
|||
},
|
||||
"aboutRetention": {
|
||||
"label": "Elimina automaticamente la cronologia delle attività",
|
||||
"description": "Elimina le attività più vecchie del periodo selezionato quando l'estensione viene attivata.",
|
||||
"warning": "Avviso: Questa azione elimina permanentemente le attività vecchie e viene eseguita quando l'estensione viene attivata.",
|
||||
"warning": "Se abilitato, le attività più vecchie del periodo selezionato vengono eliminate permanentemente al riavvio di VS Code.",
|
||||
"confirmDialog": {
|
||||
"title": "Attivare l'eliminazione automatica?",
|
||||
"description": "Questo eliminerà permanentemente le attività più vecchie di {{period}} giorni ogni volta che VS Code viene riavviato. Questa azione non può essere annullata.",
|
||||
"descriptionNever": "L'eliminazione automatica sarà disattivata. La cronologia delle attività sarà conservata.",
|
||||
"confirm": "Attiva eliminazione automatica",
|
||||
"confirmNever": "Disattiva eliminazione automatica",
|
||||
"cancel": "Annulla"
|
||||
},
|
||||
"options": {
|
||||
"never": "Mai",
|
||||
"never": "Mai (predefinito)",
|
||||
"90": "90 giorni",
|
||||
"60": "60 giorni",
|
||||
"30": "30 giorni",
|
||||
|
|
@ -911,13 +918,12 @@
|
|||
}
|
||||
},
|
||||
"taskHistoryStorage": {
|
||||
"label": "Utilizzo dello spazio di archiviazione",
|
||||
"calculating": "Calcolo in corso...",
|
||||
"format": "{{size}} ({{count}} attività)",
|
||||
"formatSingular": "{{size}} (1 attività)",
|
||||
"empty": "Nessuna attività archiviata",
|
||||
"refresh": "Aggiorna",
|
||||
"error": "Impossibile calcolare"
|
||||
"label": "Cronologia attività",
|
||||
"clickToCount": "Clicca per contare",
|
||||
"count": "{{count}} attività nella cronologia",
|
||||
"countSingular": "1 attività nella cronologia",
|
||||
"empty": "Nessuna attività ancora",
|
||||
"refresh": "Aggiorna"
|
||||
},
|
||||
"footer": {
|
||||
"feedback": "Se hai domande o feedback, sentiti libero di aprire un issue su <githubLink>github.com/RooCodeInc/Roo-Code</githubLink> o unirti a <redditLink>reddit.com/r/RooCode</redditLink> o <discordLink>discord.gg/roocode</discordLink>",
|
||||
|
|
|
|||
26
webview-ui/src/i18n/locales/ja/settings.json
generated
26
webview-ui/src/i18n/locales/ja/settings.json
generated
|
|
@ -899,10 +899,17 @@
|
|||
},
|
||||
"aboutRetention": {
|
||||
"label": "タスク履歴を自動削除",
|
||||
"description": "拡張機能が起動したときに、選択された期間より古いタスクを削除します。",
|
||||
"warning": "警告:この操作は古いタスクを完全に削除し、拡張機能が起動したときに実行されます。",
|
||||
"warning": "有効にすると、選択した期間より古いタスクはVS Code再起動時に完全に削除されます。",
|
||||
"confirmDialog": {
|
||||
"title": "自動削除を有効にしますか?",
|
||||
"description": "VS Codeを再起動するたびに、{{period}}日以上経過したタスクが完全に削除されます。この操作は取り消せません。",
|
||||
"descriptionNever": "自動削除が無効になります。タスク履歴は保持されます。",
|
||||
"confirm": "自動削除を有効にする",
|
||||
"confirmNever": "自動削除を無効にする",
|
||||
"cancel": "キャンセル"
|
||||
},
|
||||
"options": {
|
||||
"never": "削除しない",
|
||||
"never": "削除しない(デフォルト)",
|
||||
"90": "90日",
|
||||
"60": "60日",
|
||||
"30": "30日",
|
||||
|
|
@ -911,13 +918,12 @@
|
|||
}
|
||||
},
|
||||
"taskHistoryStorage": {
|
||||
"label": "ストレージ使用量",
|
||||
"calculating": "計算中...",
|
||||
"format": "{{size}} ({{count}} タスク)",
|
||||
"formatSingular": "{{size}} (1 タスク)",
|
||||
"empty": "保存されたタスクがありません",
|
||||
"refresh": "更新",
|
||||
"error": "計算できません"
|
||||
"label": "タスク履歴",
|
||||
"clickToCount": "クリックしてカウント",
|
||||
"count": "履歴に{{count}}件のタスク",
|
||||
"countSingular": "履歴に1件のタスク",
|
||||
"empty": "タスクはまだありません",
|
||||
"refresh": "更新"
|
||||
},
|
||||
"footer": {
|
||||
"feedback": "質問やフィードバックがある場合は、<githubLink>github.com/RooCodeInc/Roo-Code</githubLink>で問題を開くか、<redditLink>reddit.com/r/RooCode</redditLink>や<discordLink>discord.gg/roocode</discordLink>に参加してください",
|
||||
|
|
|
|||
26
webview-ui/src/i18n/locales/ko/settings.json
generated
26
webview-ui/src/i18n/locales/ko/settings.json
generated
|
|
@ -899,10 +899,17 @@
|
|||
},
|
||||
"aboutRetention": {
|
||||
"label": "작업 기록 자동 삭제",
|
||||
"description": "확장 프로그램이 활성화될 때 선택한 기간보다 오래된 작업을 삭제합니다.",
|
||||
"warning": "경고: 이 작업은 오래된 작업을 영구적으로 삭제하며 확장 프로그램이 활성화될 때 실행됩니다.",
|
||||
"warning": "활성화하면 선택한 기간보다 오래된 작업이 VS Code 재시작 시 영구적으로 삭제됩니다.",
|
||||
"confirmDialog": {
|
||||
"title": "자동 삭제를 활성화하시겠습니까?",
|
||||
"description": "VS Code가 재시작될 때마다 {{period}}일 이상 된 작업이 영구적으로 삭제됩니다. 이 작업은 취소할 수 없습니다.",
|
||||
"descriptionNever": "자동 삭제가 비활성화됩니다. 작업 기록이 보존됩니다.",
|
||||
"confirm": "자동 삭제 활성화",
|
||||
"confirmNever": "자동 삭제 비활성화",
|
||||
"cancel": "취소"
|
||||
},
|
||||
"options": {
|
||||
"never": "삭제 안 함",
|
||||
"never": "삭제 안 함 (기본값)",
|
||||
"90": "90일",
|
||||
"60": "60일",
|
||||
"30": "30일",
|
||||
|
|
@ -911,13 +918,12 @@
|
|||
}
|
||||
},
|
||||
"taskHistoryStorage": {
|
||||
"label": "저장소 사용량",
|
||||
"calculating": "계산 중...",
|
||||
"format": "{{size}} ({{count}}개 작업)",
|
||||
"formatSingular": "{{size}} (1개 작업)",
|
||||
"empty": "저장된 작업 없음",
|
||||
"refresh": "새로고침",
|
||||
"error": "계산할 수 없음"
|
||||
"label": "작업 기록",
|
||||
"clickToCount": "클릭하여 계산",
|
||||
"count": "기록에 {{count}}개 작업",
|
||||
"countSingular": "기록에 1개 작업",
|
||||
"empty": "아직 작업 없음",
|
||||
"refresh": "새로고침"
|
||||
},
|
||||
"footer": {
|
||||
"feedback": "질문이나 피드백이 있으시면 <githubLink>github.com/RooCodeInc/Roo-Code</githubLink>에서 이슈를 열거나 <redditLink>reddit.com/r/RooCode</redditLink> 또는 <discordLink>discord.gg/roocode</discordLink>에 가입하세요",
|
||||
|
|
|
|||
26
webview-ui/src/i18n/locales/nl/settings.json
generated
26
webview-ui/src/i18n/locales/nl/settings.json
generated
|
|
@ -899,10 +899,17 @@
|
|||
},
|
||||
"aboutRetention": {
|
||||
"label": "Taakgeschiedenis automatisch verwijderen",
|
||||
"description": "Verwijdert taken ouder dan de geselecteerde periode wanneer de extensie wordt geactiveerd.",
|
||||
"warning": "Waarschuwing: Deze actie verwijdert oude taken permanent en wordt uitgevoerd wanneer de extensie wordt geactiveerd.",
|
||||
"warning": "Wanneer ingeschakeld, worden taken ouder dan de geselecteerde periode permanent verwijderd bij het herstarten van VS Code.",
|
||||
"confirmDialog": {
|
||||
"title": "Automatisch verwijderen activeren?",
|
||||
"description": "Dit verwijdert permanent taken ouder dan {{period}} dagen telkens wanneer VS Code opnieuw wordt gestart. Deze actie kan niet ongedaan worden gemaakt.",
|
||||
"descriptionNever": "Automatisch verwijderen wordt uitgeschakeld. Je taakgeschiedenis wordt bewaard.",
|
||||
"confirm": "Automatisch verwijderen activeren",
|
||||
"confirmNever": "Automatisch verwijderen uitschakelen",
|
||||
"cancel": "Annuleren"
|
||||
},
|
||||
"options": {
|
||||
"never": "Nooit",
|
||||
"never": "Nooit (standaard)",
|
||||
"90": "90 dagen",
|
||||
"60": "60 dagen",
|
||||
"30": "30 dagen",
|
||||
|
|
@ -911,13 +918,12 @@
|
|||
}
|
||||
},
|
||||
"taskHistoryStorage": {
|
||||
"label": "Opslaggebruik",
|
||||
"calculating": "Berekenen...",
|
||||
"format": "{{size}} ({{count}} taken)",
|
||||
"formatSingular": "{{size}} (1 taak)",
|
||||
"empty": "Geen opgeslagen taken",
|
||||
"refresh": "Vernieuwen",
|
||||
"error": "Kan niet berekenen"
|
||||
"label": "Taakgeschiedenis",
|
||||
"clickToCount": "Klik om te tellen",
|
||||
"count": "{{count}} taken in geschiedenis",
|
||||
"countSingular": "1 taak in geschiedenis",
|
||||
"empty": "Nog geen taken",
|
||||
"refresh": "Vernieuwen"
|
||||
},
|
||||
"footer": {
|
||||
"feedback": "Heb je vragen of feedback? Open gerust een issue op <githubLink>github.com/RooCodeInc/Roo-Code</githubLink> of sluit je aan bij <redditLink>reddit.com/r/RooCode</redditLink> of <discordLink>discord.gg/roocode</discordLink>",
|
||||
|
|
|
|||
26
webview-ui/src/i18n/locales/pl/settings.json
generated
26
webview-ui/src/i18n/locales/pl/settings.json
generated
|
|
@ -899,10 +899,17 @@
|
|||
},
|
||||
"aboutRetention": {
|
||||
"label": "Automatyczne usuwanie historii zadań",
|
||||
"description": "Usuwa zadania starsze niż wybrany okres po aktywacji rozszerzenia.",
|
||||
"warning": "Ostrzeżenie: Ta akcja trwale usuwa stare zadania i działa po aktywacji rozszerzenia.",
|
||||
"warning": "Po włączeniu, zadania starsze niż wybrany okres są trwale usuwane przy ponownym uruchomieniu VS Code.",
|
||||
"confirmDialog": {
|
||||
"title": "Włączyć automatyczne usuwanie?",
|
||||
"description": "To trwale usunie zadania starsze niż {{period}} dni przy każdym ponownym uruchomieniu VS Code. Tej akcji nie można cofnąć.",
|
||||
"descriptionNever": "Automatyczne usuwanie zostanie wyłączone. Historia zadań zostanie zachowana.",
|
||||
"confirm": "Włącz automatyczne usuwanie",
|
||||
"confirmNever": "Wyłącz automatyczne usuwanie",
|
||||
"cancel": "Anuluj"
|
||||
},
|
||||
"options": {
|
||||
"never": "Nigdy",
|
||||
"never": "Nigdy (domyślnie)",
|
||||
"90": "90 dni",
|
||||
"60": "60 dni",
|
||||
"30": "30 dni",
|
||||
|
|
@ -911,13 +918,12 @@
|
|||
}
|
||||
},
|
||||
"taskHistoryStorage": {
|
||||
"label": "Wykorzystanie pamięci",
|
||||
"calculating": "Obliczanie...",
|
||||
"format": "{{size}} ({{count}} zadań)",
|
||||
"formatSingular": "{{size}} (1 zadanie)",
|
||||
"empty": "Brak zapisanych zadań",
|
||||
"refresh": "Odśwież",
|
||||
"error": "Nie można obliczyć"
|
||||
"label": "Historia zadań",
|
||||
"clickToCount": "Kliknij, aby policzyć",
|
||||
"count": "{{count}} zadań w historii",
|
||||
"countSingular": "1 zadanie w historii",
|
||||
"empty": "Brak zadań",
|
||||
"refresh": "Odśwież"
|
||||
},
|
||||
"footer": {
|
||||
"feedback": "Jeśli masz jakiekolwiek pytania lub opinie, śmiało otwórz zgłoszenie na <githubLink>github.com/RooCodeInc/Roo-Code</githubLink> lub dołącz do <redditLink>reddit.com/r/RooCode</redditLink> lub <discordLink>discord.gg/roocode</discordLink>",
|
||||
|
|
|
|||
26
webview-ui/src/i18n/locales/pt-BR/settings.json
generated
26
webview-ui/src/i18n/locales/pt-BR/settings.json
generated
|
|
@ -899,10 +899,17 @@
|
|||
},
|
||||
"aboutRetention": {
|
||||
"label": "Excluir automaticamente o histórico de tarefas",
|
||||
"description": "Exclui tarefas mais antigas que o período selecionado quando a extensão é ativada.",
|
||||
"warning": "Aviso: Esta ação exclui permanentemente as tarefas antigas e é executada quando a extensão é ativada.",
|
||||
"warning": "Quando ativado, tarefas mais antigas que o período selecionado são excluídas permanentemente ao reiniciar o VS Code.",
|
||||
"confirmDialog": {
|
||||
"title": "Ativar exclusão automática?",
|
||||
"description": "Isso excluirá permanentemente tarefas com mais de {{period}} dias sempre que o VS Code for reiniciado. Esta ação não pode ser desfeita.",
|
||||
"descriptionNever": "A exclusão automática será desativada. Seu histórico de tarefas será preservado.",
|
||||
"confirm": "Ativar exclusão automática",
|
||||
"confirmNever": "Desativar exclusão automática",
|
||||
"cancel": "Cancelar"
|
||||
},
|
||||
"options": {
|
||||
"never": "Nunca",
|
||||
"never": "Nunca (padrão)",
|
||||
"90": "90 dias",
|
||||
"60": "60 dias",
|
||||
"30": "30 dias",
|
||||
|
|
@ -911,13 +918,12 @@
|
|||
}
|
||||
},
|
||||
"taskHistoryStorage": {
|
||||
"label": "Uso de armazenamento",
|
||||
"calculating": "Calculando...",
|
||||
"format": "{{size}} ({{count}} tarefas)",
|
||||
"formatSingular": "{{size}} (1 tarefa)",
|
||||
"empty": "Nenhuma tarefa armazenada",
|
||||
"refresh": "Atualizar",
|
||||
"error": "Não foi possível calcular"
|
||||
"label": "Histórico de tarefas",
|
||||
"clickToCount": "Clique para contar",
|
||||
"count": "{{count}} tarefas no histórico",
|
||||
"countSingular": "1 tarefa no histórico",
|
||||
"empty": "Nenhuma tarefa ainda",
|
||||
"refresh": "Atualizar"
|
||||
},
|
||||
"footer": {
|
||||
"feedback": "Se tiver alguma dúvida ou feedback, sinta-se à vontade para abrir um problema em <githubLink>github.com/RooCodeInc/Roo-Code</githubLink> ou juntar-se a <redditLink>reddit.com/r/RooCode</redditLink> ou <discordLink>discord.gg/roocode</discordLink>",
|
||||
|
|
|
|||
26
webview-ui/src/i18n/locales/ru/settings.json
generated
26
webview-ui/src/i18n/locales/ru/settings.json
generated
|
|
@ -899,10 +899,17 @@
|
|||
},
|
||||
"aboutRetention": {
|
||||
"label": "Автоматически удалять историю задач",
|
||||
"description": "Удаляет задачи старше выбранного периода при активации расширения.",
|
||||
"warning": "Внимание: Это действие безвозвратно удаляет старые задачи и выполняется при активации расширения.",
|
||||
"warning": "При включении задачи старше выбранного периода безвозвратно удаляются при перезапуске VS Code.",
|
||||
"confirmDialog": {
|
||||
"title": "Включить автоудаление?",
|
||||
"description": "Это безвозвратно удалит задачи старше {{period}} дней при каждом перезапуске VS Code. Это действие нельзя отменить.",
|
||||
"descriptionNever": "Автоудаление будет отключено. История задач будет сохранена.",
|
||||
"confirm": "Включить автоудаление",
|
||||
"confirmNever": "Отключить автоудаление",
|
||||
"cancel": "Отмена"
|
||||
},
|
||||
"options": {
|
||||
"never": "Никогда",
|
||||
"never": "Никогда (по умолчанию)",
|
||||
"90": "90 дней",
|
||||
"60": "60 дней",
|
||||
"30": "30 дней",
|
||||
|
|
@ -911,13 +918,12 @@
|
|||
}
|
||||
},
|
||||
"taskHistoryStorage": {
|
||||
"label": "Использование хранилища",
|
||||
"calculating": "Подсчет...",
|
||||
"format": "{{size}} ({{count}} задач)",
|
||||
"formatSingular": "{{size}} (1 задача)",
|
||||
"empty": "Нет сохраненных задач",
|
||||
"refresh": "Обновить",
|
||||
"error": "Невозможно подсчитать"
|
||||
"label": "История задач",
|
||||
"clickToCount": "Нажмите для подсчета",
|
||||
"count": "{{count}} задач в истории",
|
||||
"countSingular": "1 задача в истории",
|
||||
"empty": "Задач пока нет",
|
||||
"refresh": "Обновить"
|
||||
},
|
||||
"footer": {
|
||||
"feedback": "Если у вас есть вопросы или предложения, откройте issue на <githubLink>github.com/RooCodeInc/Roo-Code</githubLink> или присоединяйтесь к <redditLink>reddit.com/r/RooCode</redditLink> или <discordLink>discord.gg/roocode</discordLink>",
|
||||
|
|
|
|||
26
webview-ui/src/i18n/locales/tr/settings.json
generated
26
webview-ui/src/i18n/locales/tr/settings.json
generated
|
|
@ -899,10 +899,17 @@
|
|||
},
|
||||
"aboutRetention": {
|
||||
"label": "Görev geçmişini otomatik sil",
|
||||
"description": "Uzantı etkinleştirildiğinde seçilen döneme göre daha eski görevleri siler.",
|
||||
"warning": "Uyarı: Bu işlem eski görevleri kalıcı olarak siler ve uzantı etkinleştirildiğinde çalışır.",
|
||||
"warning": "Etkinleştirildiğinde, seçilen döneme göre daha eski görevler VS Code yeniden başlatıldığında kalıcı olarak silinir.",
|
||||
"confirmDialog": {
|
||||
"title": "Otomatik silmeyi etkinleştir?",
|
||||
"description": "Bu, VS Code her yeniden başlatıldığında {{period}} günden eski görevleri kalıcı olarak silecek. Bu işlem geri alınamaz.",
|
||||
"descriptionNever": "Otomatik silme devre dışı bırakılacak. Görev geçmişiniz korunacak.",
|
||||
"confirm": "Otomatik silmeyi etkinleştir",
|
||||
"confirmNever": "Otomatik silmeyi devre dışı bırak",
|
||||
"cancel": "İptal"
|
||||
},
|
||||
"options": {
|
||||
"never": "Asla",
|
||||
"never": "Asla (varsayılan)",
|
||||
"90": "90 gün",
|
||||
"60": "60 gün",
|
||||
"30": "30 gün",
|
||||
|
|
@ -911,13 +918,12 @@
|
|||
}
|
||||
},
|
||||
"taskHistoryStorage": {
|
||||
"label": "Depolama kullanımı",
|
||||
"calculating": "Hesaplanıyor...",
|
||||
"format": "{{size}} ({{count}} görev)",
|
||||
"formatSingular": "{{size}} (1 görev)",
|
||||
"empty": "Depolanmış görev yok",
|
||||
"refresh": "Yenile",
|
||||
"error": "Hesaplanamıyor"
|
||||
"label": "Görev geçmişi",
|
||||
"clickToCount": "Saymak için tıklayın",
|
||||
"count": "Geçmişte {{count}} görev",
|
||||
"countSingular": "Geçmişte 1 görev",
|
||||
"empty": "Henüz görev yok",
|
||||
"refresh": "Yenile"
|
||||
},
|
||||
"footer": {
|
||||
"feedback": "Herhangi bir sorunuz veya geri bildiriminiz varsa, <githubLink>github.com/RooCodeInc/Roo-Code</githubLink> adresinde bir konu açmaktan veya <redditLink>reddit.com/r/RooCode</redditLink> ya da <discordLink>discord.gg/roocode</discordLink>'a katılmaktan çekinmeyin",
|
||||
|
|
|
|||
26
webview-ui/src/i18n/locales/vi/settings.json
generated
26
webview-ui/src/i18n/locales/vi/settings.json
generated
|
|
@ -899,10 +899,17 @@
|
|||
},
|
||||
"aboutRetention": {
|
||||
"label": "Tự động xóa lịch sử tác vụ",
|
||||
"description": "Xóa các tác vụ cũ hơn khoảng thời gian đã chọn khi tiện ích được kích hoạt.",
|
||||
"warning": "Cảnh báo: Hành động này xóa vĩnh viễn các tác vụ cũ và chạy khi tiện ích được kích hoạt.",
|
||||
"warning": "Khi được bật, các tác vụ cũ hơn khoảng thời gian đã chọn sẽ bị xóa vĩnh viễn khi VS Code khởi động lại.",
|
||||
"confirmDialog": {
|
||||
"title": "Bật tự động xóa?",
|
||||
"description": "Điều này sẽ xóa vĩnh viễn các tác vụ cũ hơn {{period}} ngày mỗi khi VS Code khởi động lại. Hành động này không thể hoàn tác.",
|
||||
"descriptionNever": "Tự động xóa sẽ bị tắt. Lịch sử tác vụ của bạn sẽ được bảo tồn.",
|
||||
"confirm": "Bật tự động xóa",
|
||||
"confirmNever": "Tắt tự động xóa",
|
||||
"cancel": "Hủy"
|
||||
},
|
||||
"options": {
|
||||
"never": "Không bao giờ",
|
||||
"never": "Không bao giờ (mặc định)",
|
||||
"90": "90 ngày",
|
||||
"60": "60 ngày",
|
||||
"30": "30 ngày",
|
||||
|
|
@ -911,13 +918,12 @@
|
|||
}
|
||||
},
|
||||
"taskHistoryStorage": {
|
||||
"label": "Dung lượng lưu trữ",
|
||||
"calculating": "Đang tính toán...",
|
||||
"format": "{{size}} ({{count}} tác vụ)",
|
||||
"formatSingular": "{{size}} (1 tác vụ)",
|
||||
"empty": "Không có tác vụ được lưu trữ",
|
||||
"refresh": "Làm mới",
|
||||
"error": "Không thể tính toán"
|
||||
"label": "Lịch sử tác vụ",
|
||||
"clickToCount": "Nhấp để đếm",
|
||||
"count": "{{count}} tác vụ trong lịch sử",
|
||||
"countSingular": "1 tác vụ trong lịch sử",
|
||||
"empty": "Chưa có tác vụ nào",
|
||||
"refresh": "Làm mới"
|
||||
},
|
||||
"footer": {
|
||||
"feedback": "Nếu bạn có bất kỳ câu hỏi hoặc phản hồi nào, vui lòng mở một vấn đề tại <githubLink>github.com/RooCodeInc/Roo-Code</githubLink> hoặc tham gia <redditLink>reddit.com/r/RooCode</redditLink> hoặc <discordLink>discord.gg/roocode</discordLink>",
|
||||
|
|
|
|||
26
webview-ui/src/i18n/locales/zh-CN/settings.json
generated
26
webview-ui/src/i18n/locales/zh-CN/settings.json
generated
|
|
@ -899,10 +899,17 @@
|
|||
},
|
||||
"aboutRetention": {
|
||||
"label": "自动删除任务历史",
|
||||
"description": "扩展激活时删除早于所选时段的任务。",
|
||||
"warning": "警告:此操作永久删除旧任务,并在扩展激活时运行。",
|
||||
"warning": "启用后,早于所选时段的任务将在VS Code重启时被永久删除。",
|
||||
"confirmDialog": {
|
||||
"title": "启用自动删除?",
|
||||
"description": "每次VS Code重启时,将永久删除超过{{period}}天的任务。此操作无法撤销。",
|
||||
"descriptionNever": "自动删除将被禁用。您的任务历史将被保留。",
|
||||
"confirm": "启用自动删除",
|
||||
"confirmNever": "禁用自动删除",
|
||||
"cancel": "取消"
|
||||
},
|
||||
"options": {
|
||||
"never": "永不",
|
||||
"never": "永不(默认)",
|
||||
"90": "90天",
|
||||
"60": "60天",
|
||||
"30": "30天",
|
||||
|
|
@ -911,13 +918,12 @@
|
|||
}
|
||||
},
|
||||
"taskHistoryStorage": {
|
||||
"label": "存储使用量",
|
||||
"calculating": "计算中...",
|
||||
"format": "{{size}} ({{count}} 个任务)",
|
||||
"formatSingular": "{{size}} (1 个任务)",
|
||||
"empty": "无任务存储",
|
||||
"refresh": "刷新",
|
||||
"error": "无法计算"
|
||||
"label": "任务历史",
|
||||
"clickToCount": "点击计数",
|
||||
"count": "历史中有 {{count}} 个任务",
|
||||
"countSingular": "历史中有 1 个任务",
|
||||
"empty": "暂无任务",
|
||||
"refresh": "刷新"
|
||||
},
|
||||
"footer": {
|
||||
"feedback": "如果您有任何问题或反馈,请随时在 <githubLink>github.com/RooCodeInc/Roo-Code</githubLink> 上提出问题或加入 <redditLink>reddit.com/r/RooCode</redditLink> 或 <discordLink>discord.gg/roocode</discordLink>",
|
||||
|
|
|
|||
26
webview-ui/src/i18n/locales/zh-TW/settings.json
generated
26
webview-ui/src/i18n/locales/zh-TW/settings.json
generated
|
|
@ -907,10 +907,17 @@
|
|||
},
|
||||
"aboutRetention": {
|
||||
"label": "自動刪除工作歷程記錄",
|
||||
"description": "擴充功能啟動時刪除早於所選時段的工作。",
|
||||
"warning": "警告:此操作永久刪除舊工作,並在擴充功能啟動時執行。",
|
||||
"warning": "啟用後,早於所選時段的工作將在VS Code重新啟動時被永久刪除。",
|
||||
"confirmDialog": {
|
||||
"title": "啟用自動刪除?",
|
||||
"description": "每次VS Code重新啟動時,將永久刪除超過{{period}}天的工作。此操作無法復原。",
|
||||
"descriptionNever": "自動刪除將被停用。您的工作歷程記錄將被保留。",
|
||||
"confirm": "啟用自動刪除",
|
||||
"confirmNever": "停用自動刪除",
|
||||
"cancel": "取消"
|
||||
},
|
||||
"options": {
|
||||
"never": "永不",
|
||||
"never": "永不(預設)",
|
||||
"90": "90天",
|
||||
"60": "60天",
|
||||
"30": "30天",
|
||||
|
|
@ -919,13 +926,12 @@
|
|||
}
|
||||
},
|
||||
"taskHistoryStorage": {
|
||||
"label": "儲存空間使用量",
|
||||
"calculating": "計算中...",
|
||||
"format": "{{size}} ({{count}} 個工作)",
|
||||
"formatSingular": "{{size}} (1 個工作)",
|
||||
"empty": "無已儲存工作",
|
||||
"refresh": "重新整理",
|
||||
"error": "無法計算"
|
||||
"label": "工作歷程",
|
||||
"clickToCount": "點擊計數",
|
||||
"count": "歷程中有 {{count}} 個工作",
|
||||
"countSingular": "歷程中有 1 個工作",
|
||||
"empty": "尚無工作",
|
||||
"refresh": "重新整理"
|
||||
},
|
||||
"footer": {
|
||||
"telemetry": {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue