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 <roomote@roocode.com>
Co-authored-by: Bruno Bergher <bruno@roocode.com>
Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>
This commit is contained in:
roomote[bot] 2025-11-25 08:54:12 -05:00 committed by GitHub
parent 2945b30191
commit 9437103427
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
21 changed files with 532 additions and 13 deletions

View file

@ -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:support@roocode.com">support@roocode.com</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")}

View file

@ -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} />
)

View file

@ -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("support@roocode.com")).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()
})
})

View file

@ -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>"
},

View file

@ -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>"
},

View file

@ -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."

View file

@ -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>"
},

View file

@ -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>"
},

View file

@ -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>"
},

View file

@ -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>"
},

View file

@ -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>"
},

View file

@ -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>"
},

View file

@ -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>"
},

View file

@ -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>"
},

View file

@ -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>"
},

View file

@ -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>"
},

View file

@ -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>"
},

View file

@ -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>"
},

View file

@ -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>"
},

View file

@ -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>"
},

View file

@ -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>"
},