Selaa lähdekoodia

feat: Add contact links to About Roo Code settings page (#9570)

* feat: add contact links to About settings page

* Tweaks

* i18n

* Update webview-ui/src/components/settings/__tests__/About.spec.tsx

Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>

---------

Co-authored-by: Roo Code <[email protected]>
Co-authored-by: Bruno Bergher <[email protected]>
Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>
roomote[bot] 2 kuukautta sitten
vanhempi
sitoutus
9437103427

+ 65 - 11
webview-ui/src/components/settings/About.tsx

@@ -1,7 +1,17 @@
 import { HTMLAttributes } from "react"
 import { useAppTranslation } from "@/i18n/TranslationContext"
 import { Trans } from "react-i18next"
-import { Info, Download, Upload, TriangleAlert } from "lucide-react"
+import {
+	Info,
+	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"
@@ -56,19 +66,63 @@ export const About = ({ telemetrySetting, setTelemetrySetting, className, ...pro
 						/>
 					</p>
 				</div>
+			</Section>
 
-				<div>
-					<Trans
-						i18nKey="settings:footer.feedback"
-						components={{
-							githubLink: <VSCodeLink href="https://github.com/RooCodeInc/Roo-Code" />,
-							redditLink: <VSCodeLink href="https://reddit.com/r/RooCode" />,
-							discordLink: <VSCodeLink href="https://discord.gg/roocode" />,
-						}}
-					/>
+			<Section className="space-y-0">
+				<h3>{t("settings:about.contactAndCommunity")}</h3>
+				<div className="flex flex-col gap-3">
+					<div className="flex items-start gap-2">
+						<Bug className="size-4 text-vscode-descriptionForeground shrink-0" />
+						<span>
+							{t("settings:about.bugReport.label")}{" "}
+							<VSCodeLink href="https://github.com/RooCodeInc/Roo-Code/issues/new?template=bug_report.yml">
+								{t("settings:about.bugReport.link")}
+							</VSCodeLink>
+						</span>
+					</div>
+					<div className="flex items-start gap-2">
+						<Lightbulb className="size-4 text-vscode-descriptionForeground shrink-0" />
+						<span>
+							{t("settings:about.featureRequest.label")}{" "}
+							<VSCodeLink href="https://github.com/RooCodeInc/Roo-Code/issues/new?template=feature_request.yml">
+								{t("settings:about.featureRequest.link")}
+							</VSCodeLink>
+						</span>
+					</div>
+					<div className="flex items-start gap-2">
+						<Shield className="size-4 text-vscode-descriptionForeground shrink-0" />
+						<span>
+							{t("settings:about.securityIssue.label")}{" "}
+							<VSCodeLink href="https://github.com/RooCodeInc/Roo-Code/security/policy">
+								{t("settings:about.securityIssue.link")}
+							</VSCodeLink>
+						</span>
+					</div>
+					<div className="flex items-start gap-2">
+						<MessageCircle className="size-4 text-vscode-descriptionForeground shrink-0" />
+						<span>
+							{t("settings:about.contact.label")}{" "}
+							<VSCodeLink href="mailto:[email protected]">[email protected]</VSCodeLink>
+						</span>
+					</div>
+					<div className="flex items-start gap-2">
+						<MessagesSquare className="size-4 text-vscode-descriptionForeground shrink-0" />
+						<span>
+							<Trans
+								i18nKey="settings:about.community"
+								components={{
+									redditLink: <VSCodeLink href="https://reddit.com/r/RooCode" />,
+									discordLink: <VSCodeLink href="https://discord.gg/roocode" />,
+								}}
+							/>
+						</span>
+					</div>
 				</div>
+			</Section>
 
-				<div className="flex flex-wrap items-center gap-2 mt-2">
+			<Section className="space-y-0">
+				<h3>{t("settings:about.manageSettings")}</h3>
+				<div className="flex flex-wrap items-center gap-2">
 					<Button onClick={() => vscode.postMessage({ type: "exportSettings" })} className="w-28">
 						<Upload className="p-0.5" />
 						{t("settings:footer.settings.export")}

+ 1 - 1
webview-ui/src/components/settings/Section.tsx

@@ -5,5 +5,5 @@ import { cn } from "@/lib/utils"
 type SectionProps = HTMLAttributes<HTMLDivElement>
 
 export const Section = ({ className, ...props }: SectionProps) => (
-	<div className={cn("flex flex-col gap-3 p-5", className)} {...props} />
+	<div className={cn("flex flex-col gap-4 px-5 py-2", className)} {...props} />
 )

+ 106 - 0
webview-ui/src/components/settings/__tests__/About.spec.tsx

@@ -0,0 +1,106 @@
+import { render, screen } from "@/utils/test-utils"
+
+import { TranslationProvider } from "@/i18n/__mocks__/TranslationContext"
+
+import { About } from "../About"
+
+vi.mock("@/utils/vscode", () => ({
+	vscode: { postMessage: vi.fn() },
+}))
+
+vi.mock("@/i18n/TranslationContext", () => {
+	const actual = vi.importActual("@/i18n/TranslationContext")
+	return {
+		...actual,
+		useAppTranslation: () => ({
+			t: (key: string) => key,
+		}),
+	}
+})
+
+vi.mock("@roo/package", () => ({
+	Package: {
+		version: "1.0.0",
+		sha: "abc12345",
+	},
+}))
+
+describe("About", () => {
+	const defaultProps = {
+		telemetrySetting: "enabled" as const,
+		setTelemetrySetting: vi.fn(),
+	}
+
+	beforeEach(() => {
+		vi.clearAllMocks()
+	})
+
+	it("renders the About section header", () => {
+		render(
+			<TranslationProvider>
+				<About {...defaultProps} />
+			</TranslationProvider>,
+		)
+		expect(screen.getByText("settings:sections.about")).toBeInTheDocument()
+	})
+
+	it("displays version information", () => {
+		render(
+			<TranslationProvider>
+				<About {...defaultProps} />
+			</TranslationProvider>,
+		)
+		expect(screen.getByText(/Version: 1\.0\.0/)).toBeInTheDocument()
+	})
+
+	it("renders the bug report section with label and link text", () => {
+		render(
+			<TranslationProvider>
+				<About {...defaultProps} />
+			</TranslationProvider>,
+		)
+		expect(screen.getByText("settings:about.bugReport.label")).toBeInTheDocument()
+		expect(screen.getByText("settings:about.bugReport.link")).toBeInTheDocument()
+	})
+
+	it("renders the feature request section with label and link text", () => {
+		render(
+			<TranslationProvider>
+				<About {...defaultProps} />
+			</TranslationProvider>,
+		)
+		expect(screen.getByText("settings:about.featureRequest.label")).toBeInTheDocument()
+		expect(screen.getByText("settings:about.featureRequest.link")).toBeInTheDocument()
+	})
+
+	it("renders the security issue section with label and link text", () => {
+		render(
+			<TranslationProvider>
+				<About {...defaultProps} />
+			</TranslationProvider>,
+		)
+		expect(screen.getByText("settings:about.securityIssue.label")).toBeInTheDocument()
+		expect(screen.getByText("settings:about.securityIssue.link")).toBeInTheDocument()
+	})
+
+	it("renders the contact section with label and email", () => {
+		render(
+			<TranslationProvider>
+				<About {...defaultProps} />
+			</TranslationProvider>,
+		)
+		expect(screen.getByText("settings:about.contact.label")).toBeInTheDocument()
+		expect(screen.getByText("[email protected]")).toBeInTheDocument()
+	})
+
+	it("renders export, import, and reset buttons", () => {
+		render(
+			<TranslationProvider>
+				<About {...defaultProps} />
+			</TranslationProvider>,
+		)
+		expect(screen.getByText("settings:footer.settings.export")).toBeInTheDocument()
+		expect(screen.getByText("settings:footer.settings.import")).toBeInTheDocument()
+		expect(screen.getByText("settings:footer.settings.reset")).toBeInTheDocument()
+	})
+})

+ 20 - 0
webview-ui/src/i18n/locales/ca/settings.json

@@ -35,6 +35,26 @@
 		"language": "Idioma",
 		"about": "Sobre Roo Code"
 	},
+	"about": {
+		"bugReport": {
+			"label": "Has trobat un error?",
+			"link": "Informa'n a GitHub"
+		},
+		"featureRequest": {
+			"label": "Tens una idea?",
+			"link": "Comparteix-la amb nosaltres"
+		},
+		"securityIssue": {
+			"label": "Has descobert una vulnerabilitat?",
+			"link": "Segueix el nostre procés de divulgació"
+		},
+		"contact": {
+			"label": "Necessites parlar amb nosaltres? Escriu"
+		},
+		"community": "Vols consells o simplement passar l'estona amb altres usuaris de Roo Code? Uneix-te a <redditLink>reddit.com/r/RooCode</redditLink> o <discordLink>discord.gg/roocode</discordLink>",
+		"contactAndCommunity": "Contacte i Comunitat",
+		"manageSettings": "Gestionar Configuració"
+	},
 	"slashCommands": {
 		"description": "Gestiona les teves comandes de barra per executar ràpidament fluxos de treball i accions personalitzades. <DocsLink>Aprèn-ne més</DocsLink>"
 	},

+ 20 - 0
webview-ui/src/i18n/locales/de/settings.json

@@ -35,6 +35,26 @@
 		"language": "Sprache",
 		"about": "Über Roo Code"
 	},
+	"about": {
+		"bugReport": {
+			"label": "Fehler gefunden?",
+			"link": "Auf GitHub melden"
+		},
+		"featureRequest": {
+			"label": "Hast du eine Idee?",
+			"link": "Teile sie mit uns"
+		},
+		"securityIssue": {
+			"label": "Sicherheitslücke entdeckt?",
+			"link": "Folge unserem Offenlegungsprozess"
+		},
+		"contact": {
+			"label": "Musst du mit uns sprechen? Schreibe"
+		},
+		"community": "Möchtest du Tipps oder dich einfach mit anderen Roo Code-Nutzern austauschen? Tritt <redditLink>reddit.com/r/RooCode</redditLink> oder <discordLink>discord.gg/roocode</discordLink> bei",
+		"contactAndCommunity": "Kontakt & Community",
+		"manageSettings": "Einstellungen verwalten"
+	},
 	"slashCommands": {
 		"description": "Verwalte deine Slash-Befehle, um benutzerdefinierte Workflows und Aktionen schnell auszuführen. <DocsLink>Mehr erfahren</DocsLink>"
 	},

+ 20 - 1
webview-ui/src/i18n/locales/en/settings.json

@@ -35,6 +35,26 @@
 		"language": "Language",
 		"about": "About Roo Code"
 	},
+	"about": {
+		"bugReport": {
+			"label": "Found a bug?",
+			"link": "Report on GitHub"
+		},
+		"featureRequest": {
+			"label": "Have an idea?",
+			"link": "Share it with us"
+		},
+		"securityIssue": {
+			"label": "Discovered a vulnerability?",
+			"link": "Follow our disclosure process"
+		},
+		"contact": {
+			"label": "Need to talk to us? Write"
+		},
+		"community": "Want tips or to just hang out with other Roo Code users? Join <redditLink>reddit.com/r/RooCode</redditLink> or <discordLink>discord.gg/roocode</discordLink>",
+		"contactAndCommunity": "Contact & Community",
+		"manageSettings": "Manage Settings"
+	},
 	"slashCommands": {
 		"description": "Manage your slash commands to quickly execute custom workflows and actions. <DocsLink>Learn more</DocsLink>"
 	},
@@ -835,7 +855,6 @@
 		"useCustomModel": "Use custom: {{modelId}}"
 	},
 	"footer": {
-		"feedback": "If you have any questions or feedback, feel free to open an issue at <githubLink>github.com/RooCodeInc/Roo-Code</githubLink> or join <redditLink>reddit.com/r/RooCode</redditLink> or <discordLink>discord.gg/roocode</discordLink>",
 		"telemetry": {
 			"label": "Allow anonymous error and usage reporting",
 			"description": "Help improve Roo Code by sending anonymous usage data and error reports. This telemetry does not collect code, prompts or personal information. See our <privacyLink>privacy policy</privacyLink> for more details."

+ 20 - 0
webview-ui/src/i18n/locales/es/settings.json

@@ -35,6 +35,26 @@
 		"language": "Idioma",
 		"about": "Acerca de Roo Code"
 	},
+	"about": {
+		"bugReport": {
+			"label": "¿Encontraste un error?",
+			"link": "Reportar en GitHub"
+		},
+		"featureRequest": {
+			"label": "¿Tienes una idea?",
+			"link": "Compártela con nosotros"
+		},
+		"securityIssue": {
+			"label": "¿Descubriste una vulnerabilidad?",
+			"link": "Sigue nuestro proceso de divulgación"
+		},
+		"contact": {
+			"label": "¿Necesitas hablar con nosotros? Escribe"
+		},
+		"community": "¿Quieres consejos o simplemente pasar el rato con otros usuarios de Roo Code? Únete a <redditLink>reddit.com/r/RooCode</redditLink> o <discordLink>discord.gg/roocode</discordLink>",
+		"contactAndCommunity": "Contacto y Comunidad",
+		"manageSettings": "Gestionar Configuración"
+	},
 	"slashCommands": {
 		"description": "Gestiona tus comandos de barra para ejecutar rápidamente flujos de trabajo y acciones personalizadas. <DocsLink>Saber más</DocsLink>"
 	},

+ 20 - 0
webview-ui/src/i18n/locales/fr/settings.json

@@ -35,6 +35,26 @@
 		"language": "Langue",
 		"about": "À propos de Roo Code"
 	},
+	"about": {
+		"bugReport": {
+			"label": "Vous avez trouvé un bug ?",
+			"link": "Signaler sur GitHub"
+		},
+		"featureRequest": {
+			"label": "Vous avez une idée ?",
+			"link": "Partagez-la avec nous"
+		},
+		"securityIssue": {
+			"label": "Vous avez découvert une vulnérabilité ?",
+			"link": "Suivez notre processus de divulgation"
+		},
+		"contact": {
+			"label": "Besoin de nous parler ? Écrivez"
+		},
+		"community": "Vous voulez des conseils ou simplement discuter avec d'autres utilisateurs de Roo Code ? Rejoignez <redditLink>reddit.com/r/RooCode</redditLink> ou <discordLink>discord.gg/roocode</discordLink>",
+		"contactAndCommunity": "Contact et Communauté",
+		"manageSettings": "Gérer les Paramètres"
+	},
 	"slashCommands": {
 		"description": "Gérez vos commandes slash pour exécuter rapidement des flux de travail et des actions personnalisées. <DocsLink>En savoir plus</DocsLink>"
 	},

+ 20 - 0
webview-ui/src/i18n/locales/hi/settings.json

@@ -35,6 +35,26 @@
 		"language": "भाषा",
 		"about": "परिचय"
 	},
+	"about": {
+		"bugReport": {
+			"label": "बग मिला?",
+			"link": "GitHub पर रिपोर्ट करें"
+		},
+		"featureRequest": {
+			"label": "कोई विचार है?",
+			"link": "हमारे साथ साझा करें"
+		},
+		"securityIssue": {
+			"label": "कोई कमजोरी खोजी?",
+			"link": "हमारी प्रकटीकरण प्रक्रिया का पालन करें"
+		},
+		"contact": {
+			"label": "हमसे बात करने की जरूरत है? लिखें"
+		},
+		"community": "सुझाव चाहिए या बस अन्य Roo Code उपयोगकर्ताओं के साथ घूमना चाहते हैं? <redditLink>reddit.com/r/RooCode</redditLink> या <discordLink>discord.gg/roocode</discordLink> में शामिल हों",
+		"contactAndCommunity": "संपर्क और समुदाय",
+		"manageSettings": "सेटिंग्स प्रबंधित करें"
+	},
 	"slashCommands": {
 		"description": "कस्टम वर्कफ़्लो और क्रियाओं को तेज़ी से निष्पादित करने के लिए अपने स्लैश कमांड प्रबंधित करें। <DocsLink>और जानें</DocsLink>"
 	},

+ 20 - 0
webview-ui/src/i18n/locales/id/settings.json

@@ -35,6 +35,26 @@
 		"language": "Bahasa",
 		"about": "Tentang Roo Code"
 	},
+	"about": {
+		"bugReport": {
+			"label": "Menemukan bug?",
+			"link": "Laporkan di GitHub"
+		},
+		"featureRequest": {
+			"label": "Punya ide?",
+			"link": "Bagikan dengan kami"
+		},
+		"securityIssue": {
+			"label": "Menemukan kerentanan?",
+			"link": "Ikuti proses pengungkapan kami"
+		},
+		"contact": {
+			"label": "Perlu bicara dengan kami? Tulis"
+		},
+		"community": "Ingin tips atau hanya nongkrong dengan pengguna Roo Code lainnya? Bergabunglah dengan <redditLink>reddit.com/r/RooCode</redditLink> atau <discordLink>discord.gg/roocode</discordLink>",
+		"contactAndCommunity": "Kontak & Komunitas",
+		"manageSettings": "Kelola Pengaturan"
+	},
 	"slashCommands": {
 		"description": "Kelola perintah slash kamu untuk mengeksekusi alur kerja dan tindakan kustom dengan cepat. <DocsLink>Pelajari lebih lanjut</DocsLink>"
 	},

+ 20 - 0
webview-ui/src/i18n/locales/it/settings.json

@@ -35,6 +35,26 @@
 		"language": "Lingua",
 		"about": "Informazioni su Roo Code"
 	},
+	"about": {
+		"bugReport": {
+			"label": "Hai trovato un bug?",
+			"link": "Segnala su GitHub"
+		},
+		"featureRequest": {
+			"label": "Hai un'idea?",
+			"link": "Condividila con noi"
+		},
+		"securityIssue": {
+			"label": "Hai scoperto una vulnerabilità?",
+			"link": "Segui il nostro processo di divulgazione"
+		},
+		"contact": {
+			"label": "Hai bisogno di parlarci? Scrivi"
+		},
+		"community": "Vuoi consigli o semplicemente uscire con altri utenti di Roo Code? Unisciti a <redditLink>reddit.com/r/RooCode</redditLink> o <discordLink>discord.gg/roocode</discordLink>",
+		"contactAndCommunity": "Contatti e Comunità",
+		"manageSettings": "Gestisci Impostazioni"
+	},
 	"slashCommands": {
 		"description": "Gestisci i tuoi comandi slash per eseguire rapidamente flussi di lavoro e azioni personalizzate. <DocsLink>Scopri di più</DocsLink>"
 	},

+ 20 - 0
webview-ui/src/i18n/locales/ja/settings.json

@@ -35,6 +35,26 @@
 		"language": "言語",
 		"about": "Roo Codeについて"
 	},
+	"about": {
+		"bugReport": {
+			"label": "バグを見つけましたか?",
+			"link": "GitHubで報告"
+		},
+		"featureRequest": {
+			"label": "アイデアがありますか?",
+			"link": "共有してください"
+		},
+		"securityIssue": {
+			"label": "脆弱性を発見しましたか?",
+			"link": "開示プロセスに従ってください"
+		},
+		"contact": {
+			"label": "お問い合わせが必要ですか?メールを送信"
+		},
+		"community": "ヒントが欲しいですか、または他のRoo Codeユーザーと交流したいですか?<redditLink>reddit.com/r/RooCode</redditLink>または<discordLink>discord.gg/roocode</discordLink>に参加してください",
+		"contactAndCommunity": "お問い合わせとコミュニティ",
+		"manageSettings": "設定を管理"
+	},
 	"slashCommands": {
 		"description": "スラッシュコマンドを管理して、カスタムワークフローやアクションを素早く実行します。<DocsLink>詳細はこちら</DocsLink>"
 	},

+ 20 - 0
webview-ui/src/i18n/locales/ko/settings.json

@@ -35,6 +35,26 @@
 		"language": "언어",
 		"about": "Roo Code 정보"
 	},
+	"about": {
+		"bugReport": {
+			"label": "버그를 발견하셨나요?",
+			"link": "GitHub에서 보고"
+		},
+		"featureRequest": {
+			"label": "아이디어가 있으신가요?",
+			"link": "공유해 주세요"
+		},
+		"securityIssue": {
+			"label": "취약점을 발견하셨나요?",
+			"link": "공개 프로세스 따르기"
+		},
+		"contact": {
+			"label": "문의가 필요하신가요? 이메일 보내기"
+		},
+		"community": "팁을 얻거나 다른 Roo Code 사용자들과 교류하고 싶으신가요? <redditLink>reddit.com/r/RooCode</redditLink> 또는 <discordLink>discord.gg/roocode</discordLink>에 참여하세요",
+		"contactAndCommunity": "문의 및 커뮤니티",
+		"manageSettings": "설정 관리"
+	},
 	"slashCommands": {
 		"description": "사용자 지정 워크플로와 작업을 신속하게 실행하기 위해 슬래시 명령을 관리합니다. <DocsLink>더 알아보기</DocsLink>"
 	},

+ 20 - 0
webview-ui/src/i18n/locales/nl/settings.json

@@ -35,6 +35,26 @@
 		"language": "Taal",
 		"about": "Over Roo Code"
 	},
+	"about": {
+		"bugReport": {
+			"label": "Bug gevonden?",
+			"link": "Rapporteer op GitHub"
+		},
+		"featureRequest": {
+			"label": "Heb je een idee?",
+			"link": "Deel het met ons"
+		},
+		"securityIssue": {
+			"label": "Kwetsbaarheid ontdekt?",
+			"link": "Volg ons openbaarmakingsproces"
+		},
+		"contact": {
+			"label": "Moet je met ons praten? Schrijf"
+		},
+		"community": "Wil je tips of gewoon even hangen met andere Roo Code-gebruikers? Sluit je aan bij <redditLink>reddit.com/r/RooCode</redditLink> of <discordLink>discord.gg/roocode</discordLink>",
+		"contactAndCommunity": "Contact & Gemeenschap",
+		"manageSettings": "Instellingen Beheren"
+	},
 	"slashCommands": {
 		"description": "Beheer je slash-commando's om snel aangepaste workflows en acties uit te voeren. <DocsLink>Meer informatie</DocsLink>"
 	},

+ 20 - 0
webview-ui/src/i18n/locales/pl/settings.json

@@ -35,6 +35,26 @@
 		"language": "Język",
 		"about": "O Roo Code"
 	},
+	"about": {
+		"bugReport": {
+			"label": "Znalazłeś błąd?",
+			"link": "Zgłoś na GitHub"
+		},
+		"featureRequest": {
+			"label": "Masz pomysł?",
+			"link": "Podziel się nim z nami"
+		},
+		"securityIssue": {
+			"label": "Odkryłeś lukę w zabezpieczeniach?",
+			"link": "Postępuj zgodnie z naszym procesem ujawniania"
+		},
+		"contact": {
+			"label": "Musisz z nami porozmawiać? Napisz"
+		},
+		"community": "Chcesz wskazówek lub po prostu porozmawiać z innymi użytkownikami Roo Code? Dołącz do <redditLink>reddit.com/r/RooCode</redditLink> lub <discordLink>discord.gg/roocode</discordLink>",
+		"contactAndCommunity": "Kontakt i Społeczność",
+		"manageSettings": "Zarządzaj Ustawieniami"
+	},
 	"slashCommands": {
 		"description": "Zarządzaj poleceniami slash, aby szybko wykonywać niestandardowe przepływy pracy i akcje. <DocsLink>Dowiedz się więcej</DocsLink>"
 	},

+ 20 - 0
webview-ui/src/i18n/locales/pt-BR/settings.json

@@ -35,6 +35,26 @@
 		"language": "Idioma",
 		"about": "Sobre"
 	},
+	"about": {
+		"bugReport": {
+			"label": "Encontrou um bug?",
+			"link": "Relatar no GitHub"
+		},
+		"featureRequest": {
+			"label": "Tem uma ideia?",
+			"link": "Compartilhe conosco"
+		},
+		"securityIssue": {
+			"label": "Descobriu uma vulnerabilidade?",
+			"link": "Siga nosso processo de divulgação"
+		},
+		"contact": {
+			"label": "Precisa falar conosco? Escreva"
+		},
+		"community": "Quer dicas ou apenas conversar com outros usuários do Roo Code? Junte-se a <redditLink>reddit.com/r/RooCode</redditLink> ou <discordLink>discord.gg/roocode</discordLink>",
+		"contactAndCommunity": "Contato e Comunidade",
+		"manageSettings": "Gerenciar Configurações"
+	},
 	"slashCommands": {
 		"description": "Gerencie seus comandos de barra para executar rapidamente fluxos de trabalho e ações personalizadas. <DocsLink>Saiba mais</DocsLink>"
 	},

+ 20 - 0
webview-ui/src/i18n/locales/ru/settings.json

@@ -35,6 +35,26 @@
 		"language": "Язык",
 		"about": "О Roo Code"
 	},
+	"about": {
+		"bugReport": {
+			"label": "Нашли ошибку?",
+			"link": "Сообщить на GitHub"
+		},
+		"featureRequest": {
+			"label": "Есть идея?",
+			"link": "Поделитесь с нами"
+		},
+		"securityIssue": {
+			"label": "Обнаружили уязвимость?",
+			"link": "Следуйте нашему процессу раскрытия"
+		},
+		"contact": {
+			"label": "Нужно с нами связаться? Напишите"
+		},
+		"community": "Хотите получить советы или просто пообщаться с другими пользователями Roo Code? Присоединяйтесь к <redditLink>reddit.com/r/RooCode</redditLink> или <discordLink>discord.gg/roocode</discordLink>",
+		"contactAndCommunity": "Контакты и Сообщество",
+		"manageSettings": "Управление Настройками"
+	},
 	"slashCommands": {
 		"description": "Управляйте своими слэш-командами для быстрого выполнения пользовательских рабочих процессов и действий. <DocsLink>Узнать больше</DocsLink>"
 	},

+ 20 - 0
webview-ui/src/i18n/locales/tr/settings.json

@@ -35,6 +35,26 @@
 		"language": "Dil",
 		"about": "Roo Code Hakkında"
 	},
+	"about": {
+		"bugReport": {
+			"label": "Bir hata mı buldunuz?",
+			"link": "GitHub'da bildirin"
+		},
+		"featureRequest": {
+			"label": "Bir fikriniz mi var?",
+			"link": "Bizimle paylaşın"
+		},
+		"securityIssue": {
+			"label": "Bir güvenlik açığı mı keşfettiniz?",
+			"link": "Açıklama sürecimizi takip edin"
+		},
+		"contact": {
+			"label": "Bizimle konuşmanız mı gerekiyor? Yazın"
+		},
+		"community": "İpuçları mı istiyorsunuz yoksa sadece diğer Roo Code kullanıcılarıyla takılmak mı istiyorsunuz? <redditLink>reddit.com/r/RooCode</redditLink> veya <discordLink>discord.gg/roocode</discordLink>'a katılın",
+		"contactAndCommunity": "İletişim ve Topluluk",
+		"manageSettings": "Ayarları Yönet"
+	},
 	"slashCommands": {
 		"description": "Özel iş akışlarını ve eylemleri hızlı bir şekilde yürütmek için eğik çizgi komutlarınızı yönetin. <DocsLink>Daha fazla bilgi edinin</DocsLink>"
 	},

+ 20 - 0
webview-ui/src/i18n/locales/vi/settings.json

@@ -35,6 +35,26 @@
 		"language": "Ngôn ngữ",
 		"about": "Giới thiệu"
 	},
+	"about": {
+		"bugReport": {
+			"label": "Tìm thấy lỗi?",
+			"link": "Báo cáo trên GitHub"
+		},
+		"featureRequest": {
+			"label": "Có ý tưởng?",
+			"link": "Chia sẻ với chúng tôi"
+		},
+		"securityIssue": {
+			"label": "Phát hiện lỗ hổng bảo mật?",
+			"link": "Làm theo quy trình công bố của chúng tôi"
+		},
+		"contact": {
+			"label": "Cần nói chuyện với chúng tôi? Viết"
+		},
+		"community": "Muốn nhận mẹo hoặc chỉ muốn giao lưu với những người dùng Roo Code khác? Tham gia <redditLink>reddit.com/r/RooCode</redditLink> hoặc <discordLink>discord.gg/roocode</discordLink>",
+		"contactAndCommunity": "Liên Hệ & Cộng Đồng",
+		"manageSettings": "Quản Lý Cài Đặt"
+	},
 	"slashCommands": {
 		"description": "Quản lý các lệnh slash của bạn để thực thi nhanh các quy trình công việc và hành động tùy chỉnh. <DocsLink>Tìm hiểu thêm</DocsLink>"
 	},

+ 20 - 0
webview-ui/src/i18n/locales/zh-CN/settings.json

@@ -35,6 +35,26 @@
 		"language": "语言",
 		"about": "关于 Roo Code"
 	},
+	"about": {
+		"bugReport": {
+			"label": "发现 Bug?",
+			"link": "在 GitHub 报告"
+		},
+		"featureRequest": {
+			"label": "有想法?",
+			"link": "与我们分享"
+		},
+		"securityIssue": {
+			"label": "发现安全漏洞?",
+			"link": "遵循我们的披露流程"
+		},
+		"contact": {
+			"label": "需要联系我们?请发送邮件至"
+		},
+		"community": "想要获取使用技巧或与其他 Roo Code 用户交流?加入 <redditLink>reddit.com/r/RooCode</redditLink> 或 <discordLink>discord.gg/roocode</discordLink>",
+		"contactAndCommunity": "联系与社区",
+		"manageSettings": "管理设置"
+	},
 	"slashCommands": {
 		"description": "管理您的斜杠命令,以快速执行自定义工作流和操作。 <DocsLink>了解更多</DocsLink>"
 	},

+ 20 - 0
webview-ui/src/i18n/locales/zh-TW/settings.json

@@ -35,6 +35,26 @@
 		"language": "語言",
 		"about": "關於 Roo Code"
 	},
+	"about": {
+		"bugReport": {
+			"label": "發現錯誤?",
+			"link": "在 GitHub 回報"
+		},
+		"featureRequest": {
+			"label": "有想法?",
+			"link": "與我們分享"
+		},
+		"securityIssue": {
+			"label": "發現安全漏洞?",
+			"link": "遵循我們的揭露流程"
+		},
+		"contact": {
+			"label": "需要與我們聯絡?請寫信"
+		},
+		"community": "想要獲取使用技巧或與其他 Roo Code 使用者交流?加入 <redditLink>reddit.com/r/RooCode</redditLink> 或 <discordLink>discord.gg/roocode</discordLink>",
+		"contactAndCommunity": "聯絡與社群",
+		"manageSettings": "管理設定"
+	},
 	"slashCommands": {
 		"description": "管理您的斜線命令,以便快速執行自訂工作流程和動作。 <DocsLink>了解更多</DocsLink>"
 	},