mirror of
https://github.com/RooVetGit/Roo-Code.git
synced 2026-09-07 08:26:51 +00:00
Remove Roo Code Cloud welcome CTAs
This commit is contained in:
parent
ad25634905
commit
618baddd90
40 changed files with 77 additions and 184 deletions
|
|
@ -2,10 +2,8 @@ import React, { forwardRef, useCallback, useEffect, useImperativeHandle, useMemo
|
|||
import { useDeepCompareEffect, useEvent } from "react-use"
|
||||
import { Virtuoso, type VirtuosoHandle } from "react-virtuoso"
|
||||
import removeMd from "remove-markdown"
|
||||
import { VSCodeLink } from "@vscode/webview-ui-toolkit/react"
|
||||
import useSound from "use-sound"
|
||||
import { LRUCache } from "lru-cache"
|
||||
import { Trans } from "react-i18next"
|
||||
|
||||
import { useDebounceEffect } from "@src/utils/useDebounceEffect"
|
||||
import { appendImages } from "@src/utils/imageUtils"
|
||||
|
|
@ -31,7 +29,6 @@ import { useSelectedModel } from "@src/components/ui/hooks/useSelectedModel"
|
|||
import RooHero from "@src/components/welcome/RooHero"
|
||||
import RooTips from "@src/components/welcome/RooTips"
|
||||
import { StandardTooltip, Button } from "@src/components/ui"
|
||||
import { CloudUpsellDialog } from "@src/components/cloud/CloudUpsellDialog"
|
||||
|
||||
import TelemetryBanner from "../common/TelemetryBanner"
|
||||
import VersionIndicator from "../common/VersionIndicator"
|
||||
|
|
@ -46,10 +43,7 @@ import { CheckpointWarning } from "./CheckpointWarning"
|
|||
import { QueuedMessages } from "./QueuedMessages"
|
||||
import { WorktreeSelector } from "./WorktreeSelector"
|
||||
import FileChangesPanel from "./FileChangesPanel"
|
||||
import DismissibleUpsell from "../common/DismissibleUpsell"
|
||||
import { useCloudUpsell } from "@src/hooks/useCloudUpsell"
|
||||
import { useScrollLifecycle } from "@src/hooks/useScrollLifecycle"
|
||||
import { Cloud } from "lucide-react"
|
||||
|
||||
export interface ChatViewProps {
|
||||
isHidden: boolean
|
||||
|
|
@ -90,7 +84,6 @@ const ChatViewComponent: React.ForwardRefRenderFunction<ChatViewRef, ChatViewPro
|
|||
telemetrySetting,
|
||||
soundEnabled,
|
||||
soundVolume,
|
||||
cloudIsAuthenticated,
|
||||
messageQueue = [],
|
||||
showWorktreesInHomeScreen,
|
||||
} = useExtensionState()
|
||||
|
|
@ -187,15 +180,6 @@ const ChatViewComponent: React.ForwardRefRenderFunction<ChatViewRef, ChatViewPro
|
|||
clineAskRef.current = clineAsk
|
||||
}, [clineAsk])
|
||||
|
||||
const {
|
||||
isOpen: isUpsellOpen,
|
||||
openUpsell,
|
||||
closeUpsell,
|
||||
handleConnect,
|
||||
} = useCloudUpsell({
|
||||
autoOpenOnAuth: false,
|
||||
})
|
||||
|
||||
// Keep inputValueRef in sync with inputValue state
|
||||
useEffect(() => {
|
||||
inputValueRef.current = inputValue
|
||||
|
|
@ -1639,22 +1623,6 @@ const ChatViewComponent: React.ForwardRefRenderFunction<ChatViewRef, ChatViewPro
|
|||
{/* Everyone should see their task history if any */}
|
||||
{taskHistory.length > 0 && <HistoryPreview />}
|
||||
</div>
|
||||
{/* Logged out users should see a one-time upsell, but not for brand new users */}
|
||||
{!cloudIsAuthenticated && taskHistory.length >= 6 && (
|
||||
<DismissibleUpsell
|
||||
upsellId="taskList2"
|
||||
icon={<Cloud className="size-5 shrink-0" />}
|
||||
onClick={() => openUpsell()}
|
||||
dismissOnClick={false}
|
||||
className="bg-none mt-6 border-border rounded-xl p-3 !text-base">
|
||||
<Trans
|
||||
i18nKey="cloud:upsell.taskList"
|
||||
components={{
|
||||
learnMoreLink: <VSCodeLink href="#" />,
|
||||
}}
|
||||
/>
|
||||
</DismissibleUpsell>
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
|
|
@ -1825,7 +1793,6 @@ const ChatViewComponent: React.ForwardRefRenderFunction<ChatViewRef, ChatViewPro
|
|||
)}
|
||||
|
||||
<div id="roo-portal" />
|
||||
<CloudUpsellDialog open={isUpsellOpen} onOpenChange={closeUpsell} onConnect={handleConnect} />
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -98,13 +98,6 @@ vi.mock("../Announcement", () => ({
|
|||
},
|
||||
}))
|
||||
|
||||
// Mock DismissibleUpsell component
|
||||
vi.mock("@/components/common/DismissibleUpsell", () => ({
|
||||
default: function MockDismissibleUpsell({ children }: { children: React.ReactNode }) {
|
||||
return <div data-testid="dismissible-upsell">{children}</div>
|
||||
},
|
||||
}))
|
||||
|
||||
// Mock QueuedMessages component
|
||||
vi.mock("../QueuedMessages", () => ({
|
||||
QueuedMessages: function MockQueuedMessages({
|
||||
|
|
@ -670,10 +663,10 @@ describe("ChatView - Version Indicator Tests", () => {
|
|||
})
|
||||
})
|
||||
|
||||
describe("ChatView - DismissibleUpsell Display Tests", () => {
|
||||
describe("ChatView - Cloud upsell display tests", () => {
|
||||
beforeEach(() => vi.clearAllMocks())
|
||||
|
||||
it("does not show DismissibleUpsell when user is authenticated to Cloud", () => {
|
||||
it("does not show Cloud upsell when user is authenticated to Cloud", () => {
|
||||
const { queryByTestId } = renderChatView()
|
||||
|
||||
// Hydrate state with user authenticated to cloud
|
||||
|
|
@ -688,11 +681,11 @@ describe("ChatView - DismissibleUpsell Display Tests", () => {
|
|||
clineMessages: [], // No active task
|
||||
})
|
||||
|
||||
// Should not show DismissibleUpsell when authenticated
|
||||
// Should not show Cloud upsell when authenticated
|
||||
expect(queryByTestId("dismissible-upsell")).not.toBeInTheDocument()
|
||||
})
|
||||
|
||||
it("does not show DismissibleUpsell when user has only run 3 tasks in their history", () => {
|
||||
it("does not show Cloud upsell when user has only run 3 tasks in their history", () => {
|
||||
const { queryByTestId } = renderChatView()
|
||||
|
||||
// Hydrate state with user not authenticated but only 3 tasks
|
||||
|
|
@ -706,12 +699,12 @@ describe("ChatView - DismissibleUpsell Display Tests", () => {
|
|||
clineMessages: [], // No active task
|
||||
})
|
||||
|
||||
// Should not show DismissibleUpsell with less than 4 tasks
|
||||
// Should not show Cloud upsell with less than 4 tasks
|
||||
expect(queryByTestId("dismissible-upsell")).not.toBeInTheDocument()
|
||||
})
|
||||
|
||||
it("shows DismissibleUpsell when user is not authenticated and has run 6 or more tasks", async () => {
|
||||
const { getByTestId } = renderChatView()
|
||||
it("does not show Cloud upsell when user is not authenticated and has run 6 or more tasks", async () => {
|
||||
const { queryByTestId } = renderChatView()
|
||||
|
||||
// Hydrate state with user not authenticated and 4 tasks
|
||||
mockPostMessage({
|
||||
|
|
@ -728,13 +721,13 @@ describe("ChatView - DismissibleUpsell Display Tests", () => {
|
|||
clineMessages: [], // No active task
|
||||
})
|
||||
|
||||
// Wait for component to render and show DismissibleUpsell
|
||||
// The Cloud upsell CTA has been removed from the home screen.
|
||||
await waitFor(() => {
|
||||
expect(getByTestId("dismissible-upsell")).toBeInTheDocument()
|
||||
expect(queryByTestId("dismissible-upsell")).not.toBeInTheDocument()
|
||||
})
|
||||
})
|
||||
|
||||
it("does not show DismissibleUpsell when there is an active task (regardless of auth status)", async () => {
|
||||
it("does not show Cloud upsell when there is an active task (regardless of auth status)", async () => {
|
||||
const { queryByTestId } = renderChatView()
|
||||
|
||||
// Hydrate state with active task
|
||||
|
|
@ -758,7 +751,7 @@ describe("ChatView - DismissibleUpsell Display Tests", () => {
|
|||
|
||||
// Wait for component to render with active task
|
||||
await waitFor(() => {
|
||||
// Should not show DismissibleUpsell during active task
|
||||
// Should not show Cloud upsell during active task
|
||||
expect(queryByTestId("dismissible-upsell")).not.toBeInTheDocument()
|
||||
// Should not show RooTips either since the entire welcome screen is hidden during active tasks
|
||||
expect(queryByTestId("roo-tips")).not.toBeInTheDocument()
|
||||
|
|
@ -767,7 +760,7 @@ describe("ChatView - DismissibleUpsell Display Tests", () => {
|
|||
})
|
||||
})
|
||||
|
||||
it("shows RooTips when user is authenticated (instead of DismissibleUpsell)", () => {
|
||||
it("shows RooTips when user is authenticated", () => {
|
||||
const { queryByTestId, getByTestId } = renderChatView()
|
||||
|
||||
// Hydrate state with user authenticated to cloud
|
||||
|
|
@ -782,12 +775,12 @@ describe("ChatView - DismissibleUpsell Display Tests", () => {
|
|||
clineMessages: [], // No active task
|
||||
})
|
||||
|
||||
// Should not show DismissibleUpsell but should show RooTips
|
||||
// Should not show Cloud upsell but should show RooTips
|
||||
expect(queryByTestId("dismissible-upsell")).not.toBeInTheDocument()
|
||||
expect(getByTestId("roo-tips")).toBeInTheDocument()
|
||||
})
|
||||
|
||||
it("shows RooTips when user has fewer than 6 tasks (instead of DismissibleUpsell)", () => {
|
||||
it("shows RooTips when user has fewer than 6 tasks", () => {
|
||||
const { queryByTestId, getByTestId } = renderChatView()
|
||||
|
||||
// Hydrate state with user not authenticated but fewer than 4 tasks
|
||||
|
|
@ -801,7 +794,7 @@ describe("ChatView - DismissibleUpsell Display Tests", () => {
|
|||
clineMessages: [], // No active task
|
||||
})
|
||||
|
||||
// Should not show DismissibleUpsell but should show RooTips
|
||||
// Should not show Cloud upsell but should show RooTips
|
||||
expect(queryByTestId("dismissible-upsell")).not.toBeInTheDocument()
|
||||
expect(getByTestId("roo-tips")).toBeInTheDocument()
|
||||
})
|
||||
|
|
|
|||
|
|
@ -91,11 +91,8 @@ const WelcomeViewProvider = () => {
|
|||
)
|
||||
|
||||
const handleGetStarted = useCallback(() => {
|
||||
// Landing screen - always trigger auth with Roo
|
||||
if (selectedProvider === null) {
|
||||
setAuthOrigin("landing")
|
||||
vscode.postMessage({ type: "rooCloudSignIn", useProviderSignup: true })
|
||||
setAuthInProgress(true)
|
||||
setSelectedProvider("roo")
|
||||
}
|
||||
// Provider Selection screen
|
||||
else if (selectedProvider === "roo") {
|
||||
|
|
@ -129,11 +126,6 @@ const WelcomeViewProvider = () => {
|
|||
}
|
||||
}, [selectedProvider, cloudIsAuthenticated, apiConfiguration, currentApiConfigName])
|
||||
|
||||
const handleNoAccount = useCallback(() => {
|
||||
// Navigate to Provider Selection, defaulting to Roo option
|
||||
setSelectedProvider("roo")
|
||||
}, [])
|
||||
|
||||
const handleBackToLanding = useCallback(() => {
|
||||
// Return to the landing screen
|
||||
setSelectedProvider(null)
|
||||
|
|
@ -299,18 +291,12 @@ const WelcomeViewProvider = () => {
|
|||
<p className="text-base text-vscode-foreground">
|
||||
<Trans i18nKey="welcome:landing.introduction" />
|
||||
</p>
|
||||
<p className="mb-0 font-semibold">
|
||||
<Trans i18nKey="welcome:landing.accountMention" />
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div className="mt-2 flex gap-2 items-center">
|
||||
<Button onClick={handleGetStarted} variant="primary">
|
||||
{t("welcome:landing.getStarted")}
|
||||
</Button>
|
||||
<VSCodeLink onClick={handleNoAccount} className="cursor-pointer">
|
||||
{t("welcome:landing.noAccount")}
|
||||
</VSCodeLink>
|
||||
</div>
|
||||
|
||||
<div className="absolute bottom-6 left-6">
|
||||
|
|
|
|||
|
|
@ -128,67 +128,34 @@ describe("WelcomeViewProvider", () => {
|
|||
// Should show introduction
|
||||
expect(screen.getByTestId("trans-welcome:landing.introduction")).toBeInTheDocument()
|
||||
|
||||
// Should show account mention
|
||||
expect(screen.getByTestId("trans-welcome:landing.accountMention")).toBeInTheDocument()
|
||||
|
||||
// Should show "Get Started" button
|
||||
expect(screen.getByTestId("button-primary")).toBeInTheDocument()
|
||||
|
||||
// Should show "no account" link
|
||||
const noAccountLink = screen
|
||||
.getAllByTestId("vscode-link")
|
||||
.find((link) => link.textContent?.includes("welcome:landing.noAccount"))
|
||||
expect(noAccountLink).toBeInTheDocument()
|
||||
// Should not show Cloud account CTA copy
|
||||
expect(screen.queryByTestId("trans-welcome:landing.accountMention")).not.toBeInTheDocument()
|
||||
})
|
||||
|
||||
it("triggers auth when 'Get Started' is clicked on landing", () => {
|
||||
it("navigates to provider selection when 'Get Started' is clicked on landing", () => {
|
||||
renderWelcomeViewProvider()
|
||||
|
||||
const getStartedButton = screen.getByTestId("button-primary")
|
||||
fireEvent.click(getStartedButton)
|
||||
|
||||
expect(vscode.postMessage).toHaveBeenCalledWith({
|
||||
type: "rooCloudSignIn",
|
||||
useProviderSignup: true,
|
||||
})
|
||||
})
|
||||
|
||||
it("shows auth in progress after clicking 'Get Started' on landing", () => {
|
||||
renderWelcomeViewProvider()
|
||||
|
||||
const getStartedButton = screen.getByTestId("button-primary")
|
||||
fireEvent.click(getStartedButton)
|
||||
|
||||
// Should show progress ring
|
||||
expect(screen.getByTestId("progress-ring")).toBeInTheDocument()
|
||||
|
||||
// Should show waiting heading
|
||||
expect(screen.getByText(/welcome:waitingForCloud.heading/)).toBeInTheDocument()
|
||||
})
|
||||
|
||||
it("navigates to provider selection when 'no account' is clicked", () => {
|
||||
renderWelcomeViewProvider()
|
||||
|
||||
// Click the "no account" link
|
||||
const noAccountLink = screen
|
||||
.getAllByTestId("vscode-link")
|
||||
.find((link) => link.textContent?.includes("welcome:landing.noAccount"))
|
||||
fireEvent.click(noAccountLink!)
|
||||
|
||||
// Should now show provider selection screen with radio buttons
|
||||
expect(screen.getByTestId("radio-group")).toBeInTheDocument()
|
||||
expect(screen.getByTestId("radio-roo")).toBeInTheDocument()
|
||||
expect(screen.getByTestId("radio-custom")).toBeInTheDocument()
|
||||
expect(screen.getByTestId("trans-welcome:providerSignup.chooseProvider")).toBeInTheDocument()
|
||||
expect(vscode.postMessage).not.toHaveBeenCalledWith({
|
||||
type: "rooCloudSignIn",
|
||||
useProviderSignup: true,
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
describe("Provider Selection Screen", () => {
|
||||
const navigateToProviderSelection = () => {
|
||||
const noAccountLink = screen
|
||||
.getAllByTestId("vscode-link")
|
||||
.find((link) => link.textContent?.includes("welcome:landing.noAccount"))
|
||||
fireEvent.click(noAccountLink!)
|
||||
const getStartedButton = screen.getByTestId("button-primary")
|
||||
fireEvent.click(getStartedButton)
|
||||
}
|
||||
|
||||
it("shows radio buttons for Roo and Custom providers", () => {
|
||||
|
|
@ -275,11 +242,18 @@ describe("WelcomeViewProvider", () => {
|
|||
})
|
||||
|
||||
describe("Auth In Progress State", () => {
|
||||
const startProviderAuth = () => {
|
||||
const landingGetStartedButton = screen.getByTestId("button-primary")
|
||||
fireEvent.click(landingGetStartedButton)
|
||||
|
||||
const providerGetStartedButton = screen.getByTestId("button-primary")
|
||||
fireEvent.click(providerGetStartedButton)
|
||||
}
|
||||
|
||||
it("shows waiting state with progress ring", () => {
|
||||
renderWelcomeViewProvider()
|
||||
|
||||
const getStartedButton = screen.getByTestId("button-primary")
|
||||
fireEvent.click(getStartedButton)
|
||||
startProviderAuth()
|
||||
|
||||
// Should show progress ring
|
||||
expect(screen.getByTestId("progress-ring")).toBeInTheDocument()
|
||||
|
|
@ -294,31 +268,24 @@ describe("WelcomeViewProvider", () => {
|
|||
it("shows Go Back button in waiting state", () => {
|
||||
renderWelcomeViewProvider()
|
||||
|
||||
const getStartedButton = screen.getByTestId("button-primary")
|
||||
fireEvent.click(getStartedButton)
|
||||
startProviderAuth()
|
||||
|
||||
// Should show secondary button (Go Back)
|
||||
expect(screen.getByTestId("button-secondary")).toBeInTheDocument()
|
||||
expect(screen.getByText(/welcome:waitingForCloud.goBack/)).toBeInTheDocument()
|
||||
})
|
||||
|
||||
it("returns to landing screen when Go Back is clicked (auth from landing)", () => {
|
||||
it("returns to provider selection when Go Back is clicked", () => {
|
||||
renderWelcomeViewProvider()
|
||||
|
||||
// Start auth from landing
|
||||
const getStartedButton = screen.getByTestId("button-primary")
|
||||
fireEvent.click(getStartedButton)
|
||||
|
||||
// Verify we're in auth progress
|
||||
expect(screen.getByTestId("progress-ring")).toBeInTheDocument()
|
||||
startProviderAuth()
|
||||
|
||||
// Click Go Back
|
||||
const goBackButton = screen.getByTestId("button-secondary")
|
||||
fireEvent.click(goBackButton)
|
||||
|
||||
// Should be back on landing screen
|
||||
expect(screen.getByText(/welcome:landing.greeting/)).toBeInTheDocument()
|
||||
expect(screen.getByTestId("trans-welcome:landing.introduction")).toBeInTheDocument()
|
||||
// Should be back on provider selection screen
|
||||
expect(screen.getByTestId("radio-group")).toBeInTheDocument()
|
||||
expect(screen.queryByTestId("progress-ring")).not.toBeInTheDocument()
|
||||
})
|
||||
|
||||
|
|
@ -326,10 +293,8 @@ describe("WelcomeViewProvider", () => {
|
|||
renderWelcomeViewProvider({ cloudIsAuthenticated: false })
|
||||
|
||||
// Navigate to provider selection
|
||||
const noAccountLink = screen
|
||||
.getAllByTestId("vscode-link")
|
||||
.find((link) => link.textContent?.includes("welcome:landing.noAccount"))
|
||||
fireEvent.click(noAccountLink!)
|
||||
const landingGetStartedButton = screen.getByTestId("button-primary")
|
||||
fireEvent.click(landingGetStartedButton)
|
||||
|
||||
// Start auth from provider selection (Roo is selected by default)
|
||||
const getStartedButton = screen.getByTestId("button-primary")
|
||||
|
|
|
|||
3
webview-ui/src/i18n/locales/ca/cloud.json
generated
3
webview-ui/src/i18n/locales/ca/cloud.json
generated
|
|
@ -27,7 +27,6 @@
|
|||
"switchAccount": "Canviar Compte de Roo Code Cloud",
|
||||
"upsell": {
|
||||
"autoApprovePowerUser": "Donant-li una mica d'independència a Roo? Controla'l des de qualsevol lloc amb Roo Code Cloud. <learnMoreLink>Més informació</learnMoreLink>.",
|
||||
"longRunningTask": "Això pot trigar una estona. Continua des de qualsevol lloc amb Cloud.",
|
||||
"taskList": "T'agrada Roo? Fes una ullada a Roo Code Cloud: segueix i controla les teves tasques des de qualsevol lloc, executa agents autònoms al núvol, obtén estadístiques d'ús i més. <learnMoreLink>Aprèn-ne més</learnMoreLink>."
|
||||
"longRunningTask": "Això pot trigar una estona. Continua des de qualsevol lloc amb Cloud."
|
||||
}
|
||||
}
|
||||
|
|
|
|||
2
webview-ui/src/i18n/locales/ca/welcome.json
generated
2
webview-ui/src/i18n/locales/ca/welcome.json
generated
|
|
@ -16,7 +16,7 @@
|
|||
"greeting": "Benvingut a Roo Code!",
|
||||
"introduction": "Amb una gamma de Modes integrats i ampliables, Roo Code et permet planificar, arquitectar, codificar, depurar i augmentar la teva productivitat com mai abans.",
|
||||
"accountMention": "Per començar, crea el teu compte Roo Code Cloud. Obtén models potents, control web, analítica, suport i molt més.",
|
||||
"getStarted": "Crea compte Roo",
|
||||
"getStarted": "Comença",
|
||||
"noAccount": "o utilitza sense compte"
|
||||
},
|
||||
"providerSignup": {
|
||||
|
|
|
|||
3
webview-ui/src/i18n/locales/de/cloud.json
generated
3
webview-ui/src/i18n/locales/de/cloud.json
generated
|
|
@ -27,7 +27,6 @@
|
|||
"cloudUrlPillLabel": "Roo Code Cloud URL",
|
||||
"upsell": {
|
||||
"autoApprovePowerUser": "Roo etwas Unabhängigkeit geben? Kontrolliere es von überall mit Roo Code Cloud. <learnMoreLink>Mehr erfahren</learnMoreLink>.",
|
||||
"longRunningTask": "Das könnte eine Weile dauern. Mit Cloud von überall weitermachen.",
|
||||
"taskList": "Gefällt dir Roo? Schau dir Roo Code Cloud an: Verfolge und steuere deine Aufgaben von überall, führe autonome Cloud-Agenten aus, erhalte Nutzungsstatistiken und mehr. <learnMoreLink>Erfahre mehr</learnMoreLink>."
|
||||
"longRunningTask": "Das könnte eine Weile dauern. Mit Cloud von überall weitermachen."
|
||||
}
|
||||
}
|
||||
|
|
|
|||
2
webview-ui/src/i18n/locales/de/welcome.json
generated
2
webview-ui/src/i18n/locales/de/welcome.json
generated
|
|
@ -16,7 +16,7 @@
|
|||
"greeting": "Willkommen bei Roo Code!",
|
||||
"introduction": "Mit einer Reihe von integrierten und erweiterbaren Modi ermöglicht dir Roo Code, zu planen, zu architektieren, zu coden, zu debuggen und deine Produktivität wie nie zuvor zu steigern.",
|
||||
"accountMention": "Um zu beginnen, erstelle dein Roo Code Cloud Konto. Erhalte leistungsstarke Modelle, Webkontrolle, Analysen, Support und mehr.",
|
||||
"getStarted": "Roo-Konto erstellen",
|
||||
"getStarted": "Loslegen",
|
||||
"noAccount": "oder ohne Konto verwenden"
|
||||
},
|
||||
"providerSignup": {
|
||||
|
|
|
|||
|
|
@ -27,7 +27,6 @@
|
|||
"createTeamAccount": "Create Team Account",
|
||||
"upsell": {
|
||||
"autoApprovePowerUser": "Giving Roo some independence? Control it from anywhere with Roo Code Cloud. <learnMoreLink>Learn more</learnMoreLink>.",
|
||||
"longRunningTask": "This might take a while. Continue from anywhere with Cloud.",
|
||||
"taskList": "Enjoying Roo? Check out Roo Code Cloud: follow and control your tasks from anywhere, run autonomous Cloud agents, get usage stats and more. <learnMoreLink>Learn more</learnMoreLink>."
|
||||
"longRunningTask": "This might take a while. Continue from anywhere with Cloud."
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@
|
|||
"greeting": "Welcome to Roo Code!",
|
||||
"introduction": "With a range of built-in and extensible Modes, Roo Code lets you plan, architect, code, debug and boost your productivity like never before.",
|
||||
"accountMention": "To get started, create your Roo Code Cloud account. Get powerful models, web control, analytics, support and more.",
|
||||
"getStarted": "Create Roo Account",
|
||||
"getStarted": "Get Started",
|
||||
"noAccount": "or use without an account"
|
||||
},
|
||||
"providerSignup": {
|
||||
|
|
|
|||
3
webview-ui/src/i18n/locales/es/cloud.json
generated
3
webview-ui/src/i18n/locales/es/cloud.json
generated
|
|
@ -27,7 +27,6 @@
|
|||
"cloudUrlPillLabel": "URL de Roo Code Cloud",
|
||||
"upsell": {
|
||||
"autoApprovePowerUser": "¿Dándole a Roo un poco de independencia? Contrólalo desde cualquier lugar con Roo Code Cloud. <learnMoreLink>Saber más</learnMoreLink>.",
|
||||
"longRunningTask": "Esto podría tardar un poco. Continúa desde cualquier lugar con la Nube.",
|
||||
"taskList": "¿Disfrutando de Roo? Echa un vistazo a Roo Code Cloud: sigue y controla tus tareas desde cualquier lugar, ejecuta agentes de la Nube autónomos, obtén estadísticas de uso y más. <learnMoreLink>Aprende más</learnMoreLink>."
|
||||
"longRunningTask": "Esto podría tardar un poco. Continúa desde cualquier lugar con la Nube."
|
||||
}
|
||||
}
|
||||
|
|
|
|||
2
webview-ui/src/i18n/locales/es/welcome.json
generated
2
webview-ui/src/i18n/locales/es/welcome.json
generated
|
|
@ -16,7 +16,7 @@
|
|||
"greeting": "¡Bienvenido a Roo Code!",
|
||||
"introduction": "Con una variedad de Modos integrados y extensibles, Roo Code te permite planificar, arquitectar, codificar, depurar y aumentar tu productividad como nunca antes.",
|
||||
"accountMention": "Para comenzar, crea tu cuenta de Roo Code Cloud. Obtén modelos potentes, control web, análisis, soporte y más.",
|
||||
"getStarted": "Crear cuenta de Roo",
|
||||
"getStarted": "Comenzar",
|
||||
"noAccount": "o usar sin cuenta"
|
||||
},
|
||||
"providerSignup": {
|
||||
|
|
|
|||
3
webview-ui/src/i18n/locales/fr/cloud.json
generated
3
webview-ui/src/i18n/locales/fr/cloud.json
generated
|
|
@ -27,7 +27,6 @@
|
|||
"cloudUrlPillLabel": "URL de Roo Code Cloud",
|
||||
"upsell": {
|
||||
"autoApprovePowerUser": "Donner à Roo un peu d'indépendance ? Contrôlez-le de n'importe où avec Roo Code Cloud. <learnMoreLink>En savoir plus</learnMoreLink>.",
|
||||
"longRunningTask": "Cela peut prendre un certain temps. Continuez de n'importe où avec le Cloud.",
|
||||
"taskList": "Vous appréciez Roo ? Découvrez Roo Code Cloud : suivez et contrôlez vos tâches de n'importe où, exécutez des agents Cloud autonomes, obtenez des statistiques d'utilisation et plus encore. <learnMoreLink>En savoir plus</learnMoreLink>."
|
||||
"longRunningTask": "Cela peut prendre un certain temps. Continuez de n'importe où avec le Cloud."
|
||||
}
|
||||
}
|
||||
|
|
|
|||
2
webview-ui/src/i18n/locales/fr/welcome.json
generated
2
webview-ui/src/i18n/locales/fr/welcome.json
generated
|
|
@ -16,7 +16,7 @@
|
|||
"greeting": "Bienvenue sur Roo Code !",
|
||||
"introduction": "Avec une gamme de Modes intégrés et extensibles, Roo Code te permet de planifier, architecturer, coder, déboguer et augmenter ta productivité comme jamais auparavant.",
|
||||
"accountMention": "Pour commencer, crée ton compte Roo Code Cloud. Obtiens des modèles puissants, le contrôle web, les analyses, le support et bien plus encore.",
|
||||
"getStarted": "Créer un compte Roo",
|
||||
"getStarted": "Commencer",
|
||||
"noAccount": "ou utiliser sans compte"
|
||||
},
|
||||
"providerSignup": {
|
||||
|
|
|
|||
3
webview-ui/src/i18n/locales/hi/cloud.json
generated
3
webview-ui/src/i18n/locales/hi/cloud.json
generated
|
|
@ -27,7 +27,6 @@
|
|||
"cloudUrlPillLabel": "Roo Code Cloud URL",
|
||||
"upsell": {
|
||||
"autoApprovePowerUser": "रू को थोड़ी स्वतंत्रता दे रहे हैं? रू कोड क्लाउड के साथ इसे कहीं से भी नियंत्रित करें। <learnMoreLink>और जानें</learnMoreLink>।",
|
||||
"longRunningTask": "इसमें थोड़ा समय लग सकता है। क्लाउड के साथ कहीं से भी जारी रखें।",
|
||||
"taskList": "रू का आनंद ले रहे हैं? रू कोड क्लाउड देखें: कहीं से भी अपने कार्यों का पालन और नियंत्रण करें, स्वायत्त क्लाउड एजेंट चलाएं, उपयोग के आंकड़े प्राप्त करें और बहुत कुछ। <learnMoreLink>और जानें</learnMoreLink>।"
|
||||
"longRunningTask": "इसमें थोड़ा समय लग सकता है। क्लाउड के साथ कहीं से भी जारी रखें।"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
2
webview-ui/src/i18n/locales/hi/welcome.json
generated
2
webview-ui/src/i18n/locales/hi/welcome.json
generated
|
|
@ -16,7 +16,7 @@
|
|||
"greeting": "Roo Code में आपका स्वागत है!",
|
||||
"introduction": "अंतर्निहित और विस्तारित मोड्स की एक श्रृंखला के साथ, Roo Code आपको पहले कभी न देखे गए तरीके से योजना बनाने, आर्किटेक्ट करने, कोड करने, डीबग करने और अपनी उत्पादकता बढ़ाने की अनुमति देता है।",
|
||||
"accountMention": "शुरुआत करने के लिए, अपना Roo Code Cloud खाता बनाएं। शक्तिशाली मॉडल, वेब नियंत्रण, विश्लेषण, समर्थन और अधिक प्राप्त करें।",
|
||||
"getStarted": "Roo खाता बनाएं",
|
||||
"getStarted": "शुरू करें",
|
||||
"noAccount": "या बिना खाते के उपयोग करें"
|
||||
},
|
||||
"providerSignup": {
|
||||
|
|
|
|||
3
webview-ui/src/i18n/locales/id/cloud.json
generated
3
webview-ui/src/i18n/locales/id/cloud.json
generated
|
|
@ -27,7 +27,6 @@
|
|||
"cloudUrlPillLabel": "URL Roo Code Cloud",
|
||||
"upsell": {
|
||||
"autoApprovePowerUser": "Memberi Roo sedikit kebebasan? Kendalikan dari mana saja dengan Roo Code Cloud. <learnMoreLink>Pelajari lebih lanjut</learnMoreLink>.",
|
||||
"longRunningTask": "Ini mungkin akan memakan waktu cukup lama. Lanjutkan dari mana saja dengan Cloud.",
|
||||
"taskList": "Menikmati Roo? Coba Roo Code Cloud: ikuti dan kendalikan tugas Anda dari mana saja, jalankan agen Cloud otonom, dapatkan statistik penggunaan, dan lainnya. <learnMoreLink>Pelajari lebih lanjut</learnMoreLink>."
|
||||
"longRunningTask": "Ini mungkin akan memakan waktu cukup lama. Lanjutkan dari mana saja dengan Cloud."
|
||||
}
|
||||
}
|
||||
|
|
|
|||
2
webview-ui/src/i18n/locales/id/welcome.json
generated
2
webview-ui/src/i18n/locales/id/welcome.json
generated
|
|
@ -16,7 +16,7 @@
|
|||
"greeting": "Selamat datang di Roo Code!",
|
||||
"introduction": "Dengan berbagai Mode bawaan dan dapat diperluas, Roo Code memungkinkan Anda merencanakan, merancang, coding, debug, dan meningkatkan produktivitas seperti yang belum pernah terjadi sebelumnya.",
|
||||
"accountMention": "Untuk memulai, buat akun Roo Code Cloud Anda. Dapatkan model yang kuat, kontrol web, analitik, dukungan, dan banyak lagi.",
|
||||
"getStarted": "Buat Akun Roo",
|
||||
"getStarted": "Mulai",
|
||||
"noAccount": "atau gunakan tanpa akun"
|
||||
},
|
||||
"providerSignup": {
|
||||
|
|
|
|||
3
webview-ui/src/i18n/locales/it/cloud.json
generated
3
webview-ui/src/i18n/locales/it/cloud.json
generated
|
|
@ -27,7 +27,6 @@
|
|||
"cloudUrlPillLabel": "URL di Roo Code Cloud",
|
||||
"upsell": {
|
||||
"autoApprovePowerUser": "Vuoi dare un po' di indipendenza a Roo? Controllalo da qualsiasi luogo con Roo Code Cloud. <learnMoreLink>Scopri di più</learnMoreLink>.",
|
||||
"longRunningTask": "Potrebbe volerci un po' di tempo. Continua da qualsiasi luogo con il Cloud.",
|
||||
"taskList": "Ti piace Roo? Dai un'occhiata a Roo Code Cloud: segui e controlla le tue attività da qualsiasi luogo, esegui agenti Cloud autonomi, ottieni statistiche di utilizzo e altro ancora. <learnMoreLink>Scopri di più</learnMoreLink>."
|
||||
"longRunningTask": "Potrebbe volerci un po' di tempo. Continua da qualsiasi luogo con il Cloud."
|
||||
}
|
||||
}
|
||||
|
|
|
|||
2
webview-ui/src/i18n/locales/it/welcome.json
generated
2
webview-ui/src/i18n/locales/it/welcome.json
generated
|
|
@ -16,7 +16,7 @@
|
|||
"greeting": "Benvenuto in Roo Code!",
|
||||
"introduction": "Con una gamma di Modalità integrate ed estensibili, Roo Code ti permette di pianificare, architettare, codificare, debuggare e aumentare la tua produttività come mai prima d'ora.",
|
||||
"accountMention": "Per iniziare, crea il tuo account Roo Code Cloud. Ottieni modelli potenti, controllo web, analitiche, supporto e altro ancora.",
|
||||
"getStarted": "Crea account Roo",
|
||||
"getStarted": "Inizia",
|
||||
"noAccount": "o usa senza account"
|
||||
},
|
||||
"providerSignup": {
|
||||
|
|
|
|||
3
webview-ui/src/i18n/locales/ja/cloud.json
generated
3
webview-ui/src/i18n/locales/ja/cloud.json
generated
|
|
@ -27,7 +27,6 @@
|
|||
"cloudUrlPillLabel": "Roo Code Cloud URL",
|
||||
"upsell": {
|
||||
"autoApprovePowerUser": "Rooに少し独立性を与えませんか?Roo Code Cloudでどこからでもコントロールできます。<learnMoreLink>詳細</learnMoreLink>。",
|
||||
"longRunningTask": "これには時間がかかるかもしれません。Cloudを使えばどこからでも続けられます。",
|
||||
"taskList": "Rooを楽しんでいますか?Roo Code Cloudをチェックしてください:どこからでもタスクを追跡および制御し、自律型クラウドエージェントを実行し、使用状況の統計を取得します。<learnMoreLink>詳細</learnMoreLink>。"
|
||||
"longRunningTask": "これには時間がかかるかもしれません。Cloudを使えばどこからでも続けられます。"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
2
webview-ui/src/i18n/locales/ja/welcome.json
generated
2
webview-ui/src/i18n/locales/ja/welcome.json
generated
|
|
@ -16,7 +16,7 @@
|
|||
"greeting": "Roo Codeへようこそ!",
|
||||
"introduction": "組み込みおよび拡張可能なモードを備えたRoo Codeは、計画、アーキテクチャ設計、コーディング、デバッグ、そして今までにない生産性向上を可能にします。",
|
||||
"accountMention": "始めるには、Roo Code Cloudアカウントを作成してください。強力なモデル、ウェブコントロール、分析、サポート、その他をご利用いただけます。",
|
||||
"getStarted": "Rooアカウントを作成",
|
||||
"getStarted": "開始する",
|
||||
"noAccount": "またはアカウントなしで使用"
|
||||
},
|
||||
"providerSignup": {
|
||||
|
|
|
|||
3
webview-ui/src/i18n/locales/ko/cloud.json
generated
3
webview-ui/src/i18n/locales/ko/cloud.json
generated
|
|
@ -27,7 +27,6 @@
|
|||
"cloudUrlPillLabel": "Roo Code Cloud URL",
|
||||
"upsell": {
|
||||
"autoApprovePowerUser": "Roo에게 약간의 독립성을 부여하시겠습니까? Roo Code Cloud로 어디서든 제어하세요. <learnMoreLink>더 알아보기</learnMoreLink>.",
|
||||
"longRunningTask": "시간이 좀 걸릴 수 있습니다. Cloud로 어디서든 계속하세요.",
|
||||
"taskList": "Roo를 즐기고 계신가요? Roo Code Cloud를 확인해보세요: 어디서든 작업을 추적하고 제어하며, 자율적인 클라우드 에이전트를 실행하고, 사용 통계를 얻는 등 다양한 기능을 제공합니다. <learnMoreLink>더 알아보기</learnMoreLink>."
|
||||
"longRunningTask": "시간이 좀 걸릴 수 있습니다. Cloud로 어디서든 계속하세요."
|
||||
}
|
||||
}
|
||||
|
|
|
|||
2
webview-ui/src/i18n/locales/ko/welcome.json
generated
2
webview-ui/src/i18n/locales/ko/welcome.json
generated
|
|
@ -16,7 +16,7 @@
|
|||
"greeting": "Roo Code에 오신 것을 환영합니다!",
|
||||
"introduction": "내장 및 확장 가능한 다양한 모드를 통해 Roo Code는 계획, 아키텍처 설계, 코딩, 디버깅 및 전례 없는 생산성 향상을 가능하게 합니다.",
|
||||
"accountMention": "시작하려면 Roo Code Cloud 계정을 만드세요. 강력한 모델, 웹 제어, 분석, 지원 등을 얻으세요.",
|
||||
"getStarted": "Roo 계정 만들기",
|
||||
"getStarted": "시작하기",
|
||||
"noAccount": "또는 계정 없이 사용하기"
|
||||
},
|
||||
"providerSignup": {
|
||||
|
|
|
|||
3
webview-ui/src/i18n/locales/nl/cloud.json
generated
3
webview-ui/src/i18n/locales/nl/cloud.json
generated
|
|
@ -27,7 +27,6 @@
|
|||
"cloudUrlPillLabel": "Roo Code Cloud URL",
|
||||
"upsell": {
|
||||
"autoApprovePowerUser": "Roo wat onafhankelijkheid geven? Bedien het overal met Roo Code Cloud. <learnMoreLink>Meer informatie</learnMoreLink>.",
|
||||
"longRunningTask": "Dit kan even duren. Ga overal verder met de Cloud.",
|
||||
"taskList": "Geniet je van Roo? Bekijk Roo Code Cloud: volg en beheer je taken overal, voer autonome Cloud-agents uit, krijg gebruiksstatistieken en meer. <learnMoreLink>Meer informatie</learnMoreLink>."
|
||||
"longRunningTask": "Dit kan even duren. Ga overal verder met de Cloud."
|
||||
}
|
||||
}
|
||||
|
|
|
|||
2
webview-ui/src/i18n/locales/nl/welcome.json
generated
2
webview-ui/src/i18n/locales/nl/welcome.json
generated
|
|
@ -16,7 +16,7 @@
|
|||
"greeting": "Welkom bij Roo Code!",
|
||||
"introduction": "Met een reeks ingebouwde en uitbreidbare Modi laat Roo Code je plannen, ontwerpen, coderen, debuggen en je productiviteit verhogen als nooit tevoren.",
|
||||
"accountMention": "Maak je Roo Code Cloud-account aan om te beginnen. Krijg krachtige modellen, webcontrole, analyses, ondersteuning en meer.",
|
||||
"getStarted": "Roo-account aanmaken",
|
||||
"getStarted": "Aan de slag",
|
||||
"noAccount": "of gebruik zonder account"
|
||||
},
|
||||
"providerSignup": {
|
||||
|
|
|
|||
3
webview-ui/src/i18n/locales/pl/cloud.json
generated
3
webview-ui/src/i18n/locales/pl/cloud.json
generated
|
|
@ -27,7 +27,6 @@
|
|||
"cloudUrlPillLabel": "URL Roo Code Cloud",
|
||||
"upsell": {
|
||||
"autoApprovePowerUser": "Dać Roo trochę niezależności? Kontroluj go z dowolnego miejsca dzięki Roo Code Cloud. <learnMoreLink>Dowiedz się więcej</learnMoreLink>.",
|
||||
"longRunningTask": "To może chwilę potrwać. Kontynuuj z dowolnego miejsca dzięki Chmurze.",
|
||||
"taskList": "Podoba ci się Roo? Sprawdź Roo Code Cloud: śledź i kontroluj swoje zadania z dowolnego miejsca, uruchamiaj autonomiczne agenty w chmurze, uzyskuj statystyki użytkowania i wiele więcej. <learnMoreLink>Dowiedz się więcej</learnMoreLink>."
|
||||
"longRunningTask": "To może chwilę potrwać. Kontynuuj z dowolnego miejsca dzięki Chmurze."
|
||||
}
|
||||
}
|
||||
|
|
|
|||
2
webview-ui/src/i18n/locales/pl/welcome.json
generated
2
webview-ui/src/i18n/locales/pl/welcome.json
generated
|
|
@ -16,7 +16,7 @@
|
|||
"greeting": "Witaj w Roo Code!",
|
||||
"introduction": "Dzięki szerokiej gamie wbudowanych i rozszerzalnych Trybów, Roo Code pozwala planować, projektować architekturę, kodować, debugować i zwiększać produktywność jak nigdy dotąd.",
|
||||
"accountMention": "Aby rozpocząć, utwórz konto Roo Code Cloud. Otrzymaj potężne modele, kontrolę internetową, analizę, wsparcie i wiele więcej.",
|
||||
"getStarted": "Utwórz konto Roo",
|
||||
"getStarted": "Rozpocznij",
|
||||
"noAccount": "lub używaj bez konta"
|
||||
},
|
||||
"providerSignup": {
|
||||
|
|
|
|||
3
webview-ui/src/i18n/locales/pt-BR/cloud.json
generated
3
webview-ui/src/i18n/locales/pt-BR/cloud.json
generated
|
|
@ -27,7 +27,6 @@
|
|||
"cloudUrlPillLabel": "URL do Roo Code Cloud ",
|
||||
"upsell": {
|
||||
"autoApprovePowerUser": "Dando um pouco de independência ao Roo? Controle-o de qualquer lugar com o Roo Code Cloud. <learnMoreLink>Saiba mais</learnMoreLink>.",
|
||||
"longRunningTask": "Isso pode levar um tempo. Continue de qualquer lugar com a Nuvem.",
|
||||
"taskList": "Gostando do Roo? Confira o Roo Code Cloud: acompanhe e controle suas tarefas de qualquer lugar, execute agentes de nuvem autônomos, obtenha estatísticas de uso e muito mais. <learnMoreLink>Saiba mais</learnMoreLink>."
|
||||
"longRunningTask": "Isso pode levar um tempo. Continue de qualquer lugar com a Nuvem."
|
||||
}
|
||||
}
|
||||
|
|
|
|||
2
webview-ui/src/i18n/locales/pt-BR/welcome.json
generated
2
webview-ui/src/i18n/locales/pt-BR/welcome.json
generated
|
|
@ -16,7 +16,7 @@
|
|||
"greeting": "Bem-vindo ao Roo Code!",
|
||||
"introduction": "Com uma variedade de Modos integrados e extensíveis, o Roo Code permite que você planeje, arquitete, codifique, depure e aumente sua produtividade como nunca antes.",
|
||||
"accountMention": "Para começar, crie sua conta Roo Code Cloud. Obtenha modelos poderosos, controle na web, análises, suporte e muito mais.",
|
||||
"getStarted": "Criar conta Roo",
|
||||
"getStarted": "Começar",
|
||||
"noAccount": "ou usar sem conta"
|
||||
},
|
||||
"providerSignup": {
|
||||
|
|
|
|||
3
webview-ui/src/i18n/locales/ru/cloud.json
generated
3
webview-ui/src/i18n/locales/ru/cloud.json
generated
|
|
@ -27,7 +27,6 @@
|
|||
"cloudUrlPillLabel": "URL Roo Code Cloud",
|
||||
"upsell": {
|
||||
"autoApprovePowerUser": "Предоставить Roo немного независимости? Управляйте им из любого места с помощью Roo Code Cloud. <learnMoreLink>Узнать больше</learnMoreLink>.",
|
||||
"longRunningTask": "Это может занять некоторое время. Продолжайте из любого места с помощью Облака.",
|
||||
"taskList": "Нравится Roo? Посмотрите Roo Code Cloud: отслеживайте и контролируйте свои задачи из любого места, запускайте автономных облачных агентов, получайте статистику использования и многое другое. <learnMoreLink>Узнать больше</learnMoreLink>."
|
||||
"longRunningTask": "Это может занять некоторое время. Продолжайте из любого места с помощью Облака."
|
||||
}
|
||||
}
|
||||
|
|
|
|||
2
webview-ui/src/i18n/locales/ru/welcome.json
generated
2
webview-ui/src/i18n/locales/ru/welcome.json
generated
|
|
@ -16,7 +16,7 @@
|
|||
"greeting": "Добро пожаловать в Roo Code!",
|
||||
"introduction": "С набором встроенных и расширяемых Режимов, Roo Code позволяет вам планировать, проектировать, писать код, отлаживать и повышать продуктивность как никогда раньше.",
|
||||
"accountMention": "Для начала создайте свой аккаунт Roo Code Cloud. Получите мощные модели, веб-управление, аналитику, поддержку и многое другое.",
|
||||
"getStarted": "Создать аккаунт Roo",
|
||||
"getStarted": "Начать",
|
||||
"noAccount": "или использовать без аккаунта"
|
||||
},
|
||||
"providerSignup": {
|
||||
|
|
|
|||
3
webview-ui/src/i18n/locales/tr/cloud.json
generated
3
webview-ui/src/i18n/locales/tr/cloud.json
generated
|
|
@ -27,7 +27,6 @@
|
|||
"cloudUrlPillLabel": "Roo Code Cloud URL'si",
|
||||
"upsell": {
|
||||
"autoApprovePowerUser": "Roo'ya biraz bağımsızlık mı veriyorsunuz? Roo Code Cloud ile onu her yerden kontrol edin. <learnMoreLink>Daha fazla bilgi edinin</learnMoreLink>.",
|
||||
"longRunningTask": "Bu biraz zaman alabilir. Bulut ile her yerden devam edin.",
|
||||
"taskList": "Roo'dan memnun musunuz? Roo Code Cloud'a göz atın: görevlerinizi her yerden takip edin ve kontrol edin, otonom Bulut ajanlarını çalıştırın, kullanım istatistikleri alın ve daha fazlasını yapın. <learnMoreLink>Daha fazla bilgi edinin</learnMoreLink>."
|
||||
"longRunningTask": "Bu biraz zaman alabilir. Bulut ile her yerden devam edin."
|
||||
}
|
||||
}
|
||||
|
|
|
|||
2
webview-ui/src/i18n/locales/tr/welcome.json
generated
2
webview-ui/src/i18n/locales/tr/welcome.json
generated
|
|
@ -16,7 +16,7 @@
|
|||
"greeting": "Roo Code'a Hoş Geldin!",
|
||||
"introduction": "Yerleşik ve genişletilebilir Modlar yelpazesiyle Roo Code, daha önce hiç olmadığı gibi planlama, mimari tasarım, kodlama, hata ayıklama ve üretkenliğini artırmanı sağlar.",
|
||||
"accountMention": "Başlamak için Roo Code Cloud hesabını oluştur. Güçlü modeller, web kontrolü, analizler, destek ve daha fazlasını al.",
|
||||
"getStarted": "Roo Hesabı Oluştur",
|
||||
"getStarted": "Başla",
|
||||
"noAccount": "veya hesap olmadan kullan"
|
||||
},
|
||||
"providerSignup": {
|
||||
|
|
|
|||
3
webview-ui/src/i18n/locales/vi/cloud.json
generated
3
webview-ui/src/i18n/locales/vi/cloud.json
generated
|
|
@ -27,7 +27,6 @@
|
|||
"cloudUrlPillLabel": "URL Roo Code Cloud",
|
||||
"upsell": {
|
||||
"autoApprovePowerUser": "Trao cho Roo một chút độc lập? Kiểm soát nó từ mọi nơi với Roo Code Cloud. <learnMoreLink>Tìm hiểu thêm</learnMoreLink>.",
|
||||
"longRunningTask": "Việc này có thể mất một lúc. Tiếp tục từ mọi nơi với Cloud.",
|
||||
"taskList": "Bạn có thích Roo không? Hãy xem Roo Code Cloud: theo dõi và kiểm soát các tác vụ của bạn từ mọi nơi, chạy các agent đám mây tự trị, nhận số liệu thống kê sử dụng và hơn thế nữa. <learnMoreLink>Tìm hiểu thêm</learnMoreLink>."
|
||||
"longRunningTask": "Việc này có thể mất một lúc. Tiếp tục từ mọi nơi với Cloud."
|
||||
}
|
||||
}
|
||||
|
|
|
|||
2
webview-ui/src/i18n/locales/vi/welcome.json
generated
2
webview-ui/src/i18n/locales/vi/welcome.json
generated
|
|
@ -16,7 +16,7 @@
|
|||
"greeting": "Chào mừng đến với Roo Code!",
|
||||
"introduction": "Với nhiều Chế độ tích hợp và có thể mở rộng, Roo Code cho phép bạn lập kế hoạch, thiết kế kiến trúc, viết mã, gỡ lỗi và tăng năng suất như chưa từng có trước đây.",
|
||||
"accountMention": "Để bắt đầu, hãy tạo tài khoản Roo Code Cloud của bạn. Nhận các mô hình mạnh mẽ, kiểm soát web, phân tích, hỗ trợ và hơn thế nữa.",
|
||||
"getStarted": "Tạo tài khoản Roo",
|
||||
"getStarted": "Bắt đầu",
|
||||
"noAccount": "hoặc sử dụng mà không có tài khoản"
|
||||
},
|
||||
"providerSignup": {
|
||||
|
|
|
|||
3
webview-ui/src/i18n/locales/zh-CN/cloud.json
generated
3
webview-ui/src/i18n/locales/zh-CN/cloud.json
generated
|
|
@ -27,7 +27,6 @@
|
|||
"cloudUrlPillLabel": "Roo Code Cloud URL",
|
||||
"upsell": {
|
||||
"autoApprovePowerUser": "给 Roo 一些独立性?使用 Roo Code Cloud 从任何地方控制它。 <learnMoreLink>了解更多</learnMoreLink>。",
|
||||
"longRunningTask": "这可能需要一段时间。使用 Cloud 从任何地方继续。",
|
||||
"taskList": "喜欢Roo吗?快来看看Roo Code Cloud:随时随地关注和控制您的任务,运行自主云代理,获取使用统计数据等等。 <learnMoreLink>了解更多</learnMoreLink>。"
|
||||
"longRunningTask": "这可能需要一段时间。使用 Cloud 从任何地方继续。"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
2
webview-ui/src/i18n/locales/zh-CN/welcome.json
generated
2
webview-ui/src/i18n/locales/zh-CN/welcome.json
generated
|
|
@ -16,7 +16,7 @@
|
|||
"greeting": "欢迎使用 Roo Code!",
|
||||
"introduction": "通过一系列内置和可扩展的模式,Roo Code 让你能够以前所未有的方式进行规划、架构设计、编码、调试并提升工作效率。",
|
||||
"accountMention": "开始使用,创建你的 Roo Code Cloud 账户。获得强大模型、网络控制、分析、支持等。",
|
||||
"getStarted": "创建 Roo 账户",
|
||||
"getStarted": "开始使用",
|
||||
"noAccount": "或不使用账户"
|
||||
},
|
||||
"providerSignup": {
|
||||
|
|
|
|||
3
webview-ui/src/i18n/locales/zh-TW/cloud.json
generated
3
webview-ui/src/i18n/locales/zh-TW/cloud.json
generated
|
|
@ -27,7 +27,6 @@
|
|||
"cloudUrlPillLabel": "Roo Code Cloud URL",
|
||||
"upsell": {
|
||||
"autoApprovePowerUser": "給 Roo 一點獨立性?使用 Roo Code Cloud 隨時隨地掌控工作進度。<learnMoreLink>了解更多</learnMoreLink>。",
|
||||
"longRunningTask": "這可能需要一些時間。使用雲端隨時隨地繼續。",
|
||||
"taskList": "喜歡 Roo 嗎?快來看看 Roo Code Cloud:隨時隨地追蹤和控制您的任務,執行自主雲端代理,取得使用統計資料等等。<learnMoreLink>了解更多</learnMoreLink>。"
|
||||
"longRunningTask": "這可能需要一些時間。使用雲端隨時隨地繼續。"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
2
webview-ui/src/i18n/locales/zh-TW/welcome.json
generated
2
webview-ui/src/i18n/locales/zh-TW/welcome.json
generated
|
|
@ -16,7 +16,7 @@
|
|||
"greeting": "歡迎使用 Roo Code!",
|
||||
"introduction": "Roo Code 提供一系列內建和可擴充的模式,讓您以前所未有的方式規劃專案、設計架構、編寫程式碼、除錯並提升工作效率。",
|
||||
"accountMention": "開始使用,請建立您的 Roo Code Cloud 帳戶。取得強大的模型、網路控制、分析、支援等功能。",
|
||||
"getStarted": "建立 Roo 帳戶",
|
||||
"getStarted": "開始使用",
|
||||
"noAccount": "或不使用帳戶"
|
||||
},
|
||||
"providerSignup": {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue