diff --git a/packages/app/src/app.tsx b/packages/app/src/app.tsx index b4496ba7de1f..bc0c8d2788d1 100644 --- a/packages/app/src/app.tsx +++ b/packages/app/src/app.tsx @@ -65,6 +65,7 @@ import { ErrorPage } from "./pages/error" import { useCheckServerHealth } from "./utils/server-health" import { legacySessionHref, legacySessionServer, requireServerKey, sessionHref } from "./utils/session-route" import { createSessionLineage } from "@/pages/session/session-lineage" +import { translateDesktopMenu } from "@/desktop-menu" import { SessionPage, SessionRouteErrorBoundary, TargetSessionRouteContent } from "@/pages/session" import { NewHome, LegacyHome } from "@/pages/home" @@ -236,6 +237,18 @@ function UiI18nBridge(props: ParentProps) { return {props.children} } +function DesktopMenuSync() { + const language = useLanguage() + const platform = usePlatform() + + createEffect(() => { + if (!platform.setDesktopMenuLabels) return + void platform.setDesktopMenuLabels(translateDesktopMenu(language.t)) + }) + + return null +} + declare global { interface Window { __OPENCODE__?: { @@ -370,6 +383,7 @@ export function AppBaseProviders(props: ParentProps<{ locale?: Locale }>) { }} > + { diff --git a/packages/app/src/components/windows-app-menu.tsx b/packages/app/src/components/windows-app-menu.tsx index 017ac4cf8dea..8bf2afac303a 100644 --- a/packages/app/src/components/windows-app-menu.tsx +++ b/packages/app/src/components/windows-app-menu.tsx @@ -6,14 +6,25 @@ import { IconButtonV2 } from "@opencode-ai/ui/v2/icon-button-v2" import { Icon as IconV2 } from "@opencode-ai/ui/v2/icon" import { useCommand } from "@/context/command" -import { DESKTOP_MENU, desktopMenuVisible, type DesktopMenuAction, type DesktopMenuEntry } from "@/desktop-menu" +import { + DESKTOP_MENU, + DESKTOP_MENU_ARIA_LABEL, + desktopMenuVisible, + type DesktopMenuAction, + type DesktopMenuEntry, + type DesktopMenuLabelKey, +} from "@/desktop-menu" import { usePlatform } from "@/context/platform" +import { useLanguage } from "@/context/language" export function WindowsAppMenu(props: { command: ReturnType platform: ReturnType variant?: "legacy" | "v2" }) { + const language = useLanguage() + const label = (item: { label?: string; labelKey?: DesktopMenuLabelKey }) => + item.labelKey ? language.t(item.labelKey) : item.label let lastFocused: HTMLElement | undefined const rememberFocus = () => { @@ -58,7 +69,7 @@ export function WindowsAppMenu(props: { variant="ghost-muted" size="large" icon={} - aria-label="OpenCode menu" + aria-label={language.t(DESKTOP_MENU_ARIA_LABEL)} onPointerDown={rememberFocus} onKeyDown={rememberFocus} /> @@ -69,7 +80,7 @@ export function WindowsAppMenu(props: { icon="menu" variant="ghost" class="titlebar-icon rounded-md shrink-0" - aria-label="OpenCode menu" + aria-label={language.t(DESKTOP_MENU_ARIA_LABEL)} onPointerDown={rememberFocus} onKeyDown={rememberFocus} /> @@ -79,7 +90,7 @@ export function WindowsAppMenu(props: { OpenCode {DESKTOP_MENU.filter((menu) => desktopMenuVisible(menu, "windows")).map((menu) => ( - + {menu.items ?.filter((entry) => desktopMenuVisible(entry, "windows")) .map((entry) => @@ -87,7 +98,7 @@ export function WindowsAppMenu(props: { ) : ( runEntry(entry)} diff --git a/packages/app/src/context/platform.tsx b/packages/app/src/context/platform.tsx index cf343bfa7e91..26a1eb4f1e8d 100644 --- a/packages/app/src/context/platform.tsx +++ b/packages/app/src/context/platform.tsx @@ -1,7 +1,7 @@ import { createSimpleContext } from "@opencode-ai/ui/context" import type { AsyncStorage, SyncStorage } from "@solid-primitives/storage" import type { Accessor } from "solid-js" -import type { DesktopMenuAction } from "../desktop-menu" +import type { DesktopMenuAction, DesktopMenuLabels } from "../desktop-menu" import { ServerConnection } from "./server" import type { WslServersPlatform } from "../wsl/types" import type { UpdaterPlatform } from "../updater" @@ -106,6 +106,9 @@ type PlatformBase = { /** Run a desktop-only menu action from the app chrome */ runDesktopMenuAction?(action: DesktopMenuAction): Promise | void + /** Update translated labels in the native desktop application menu */ + setDesktopMenuLabels?(labels: DesktopMenuLabels): Promise | void + /** Check if an editor app exists (desktop only) */ checkAppExists?(appName: string): Promise diff --git a/packages/app/src/desktop-menu.ts b/packages/app/src/desktop-menu.ts index d3902cd2b245..636c4d89b9e9 100644 --- a/packages/app/src/desktop-menu.ts +++ b/packages/app/src/desktop-menu.ts @@ -1,5 +1,12 @@ +import type { dict as en } from "./i18n/en" + export type DesktopMenuPlatform = "macos" | "windows" +export type DesktopMenuLabelKey = Extract +export type DesktopMenuLabels = Partial> + +export const DESKTOP_MENU_ARIA_LABEL = "desktop.appMenu.ariaLabel" satisfies DesktopMenuLabelKey + export type DesktopMenuAction = | "app.checkForUpdates" | "app.relaunch" @@ -28,6 +35,8 @@ export type DesktopMenuRole = | "cut" | "hide" | "hideOthers" + | "front" + | "minimize" | "paste" | "quit" | "redo" @@ -38,13 +47,21 @@ export type DesktopMenuRole = | "togglefullscreen" | "undo" | "unhide" + | "window" | "windowMenu" + | "zoom" | "zoomIn" | "zoomOut" -export type DesktopMenuItem = { +type DesktopMenuText = + | { label: string; labelKey: DesktopMenuLabelKey; translatable?: undefined } + | { label: string; labelKey?: undefined; translatable: false } + +export type DesktopMenuItem = ( + | DesktopMenuText + | { label?: undefined; labelKey?: undefined; translatable?: undefined } +) & { type: "item" - label?: string command?: string action?: DesktopMenuAction role?: DesktopMenuRole @@ -61,9 +78,8 @@ export type DesktopMenuSeparator = { export type DesktopMenuEntry = DesktopMenuItem | DesktopMenuSeparator -export type DesktopMenu = { +export type DesktopMenu = DesktopMenuText & { id: string - label: string role?: DesktopMenuRole items?: DesktopMenuEntry[] platforms?: DesktopMenuPlatform[] @@ -73,36 +89,58 @@ export const DESKTOP_MENU: DesktopMenu[] = [ { id: "app", label: "OpenCode", + translatable: false, platforms: ["macos"], items: [ - { type: "item", role: "about" }, - { type: "item", label: "Check for Updates...", action: "app.checkForUpdates", enabled: "updater" }, - { type: "item", label: "Settings", command: "settings.open", accelerator: { macos: "Cmd+," } }, - { type: "item", label: "Reload Webview", action: "view.reload" }, - { type: "item", label: "Restart", action: "app.relaunch" }, - { type: "item", label: "Export Logs...", command: "logs.export" }, + { type: "item", label: "About OpenCode", labelKey: "desktop.appMenu.about", role: "about" }, + { + type: "item", + label: "Check for Updates...", + labelKey: "desktop.appMenu.checkForUpdates", + action: "app.checkForUpdates", + enabled: "updater", + }, + { + type: "item", + label: "Settings", + labelKey: "desktop.appMenu.settings", + command: "settings.open", + accelerator: { macos: "Cmd+," }, + }, + { type: "item", label: "Reload Webview", labelKey: "desktop.appMenu.reloadWebview", action: "view.reload" }, + { type: "item", label: "Restart", labelKey: "desktop.appMenu.restart", action: "app.relaunch" }, + { type: "item", label: "Export Logs...", labelKey: "desktop.appMenu.exportLogs", command: "logs.export" }, { type: "separator" }, - { type: "item", role: "hide" }, - { type: "item", role: "hideOthers" }, - { type: "item", role: "unhide" }, + { type: "item", label: "Hide OpenCode", labelKey: "desktop.appMenu.hide", role: "hide" }, + { type: "item", label: "Hide Others", labelKey: "desktop.appMenu.hideOthers", role: "hideOthers" }, + { type: "item", label: "Show All", labelKey: "desktop.appMenu.showAll", role: "unhide" }, { type: "separator" }, - { type: "item", role: "quit" }, + { type: "item", label: "Quit OpenCode", labelKey: "desktop.appMenu.quit", role: "quit" }, ], }, { id: "file", label: "File", + labelKey: "desktop.appMenu.file", items: [ { type: "item", label: "New Session", + labelKey: "desktop.appMenu.newSession", command: "session.new", accelerator: { macos: "Shift+Cmd+S" }, }, - { type: "item", label: "Open Project...", command: "project.open", accelerator: { macos: "Cmd+O" } }, + { + type: "item", + label: "Open Project...", + labelKey: "desktop.appMenu.openProject", + command: "project.open", + accelerator: { macos: "Cmd+O" }, + }, { type: "item", label: "Settings", + labelKey: "desktop.appMenu.settings", command: "settings.open", accelerator: { windows: "Ctrl+," }, platforms: ["windows"], @@ -110,27 +148,71 @@ export const DESKTOP_MENU: DesktopMenu[] = [ { type: "item", label: "New Window", + labelKey: "desktop.appMenu.newWindow", action: "window.new", accelerator: { macos: "Cmd+Shift+N", windows: "Ctrl+Shift+N" }, }, { type: "separator" }, - { type: "item", label: "Close Window", action: "window.close", role: "close" }, + { + type: "item", + label: "Close Window", + labelKey: "desktop.appMenu.closeWindow", + action: "window.close", + role: "close", + }, ], }, { id: "edit", label: "Edit", + labelKey: "desktop.appMenu.edit", items: [ - { type: "item", label: "Undo", action: "edit.undo", role: "undo", accelerator: { windows: "Ctrl+Z" } }, - { type: "item", label: "Redo", action: "edit.redo", role: "redo", accelerator: { windows: "Ctrl+Y" } }, + { + type: "item", + label: "Undo", + labelKey: "desktop.appMenu.undo", + action: "edit.undo", + role: "undo", + accelerator: { windows: "Ctrl+Z" }, + }, + { + type: "item", + label: "Redo", + labelKey: "desktop.appMenu.redo", + action: "edit.redo", + role: "redo", + accelerator: { windows: "Ctrl+Y" }, + }, { type: "separator" }, - { type: "item", label: "Cut", action: "edit.cut", role: "cut", accelerator: { windows: "Ctrl+X" } }, - { type: "item", label: "Copy", action: "edit.copy", role: "copy", accelerator: { windows: "Ctrl+C" } }, - { type: "item", label: "Paste", action: "edit.paste", role: "paste", accelerator: { windows: "Ctrl+V" } }, - { type: "item", label: "Delete", action: "edit.delete" }, + { + type: "item", + label: "Cut", + labelKey: "desktop.appMenu.cut", + action: "edit.cut", + role: "cut", + accelerator: { windows: "Ctrl+X" }, + }, + { + type: "item", + label: "Copy", + labelKey: "desktop.appMenu.copy", + action: "edit.copy", + role: "copy", + accelerator: { windows: "Ctrl+C" }, + }, + { + type: "item", + label: "Paste", + labelKey: "desktop.appMenu.paste", + action: "edit.paste", + role: "paste", + accelerator: { windows: "Ctrl+V" }, + }, + { type: "item", label: "Delete", labelKey: "desktop.appMenu.delete", action: "edit.delete" }, { type: "item", label: "Select All", + labelKey: "desktop.appMenu.selectAll", action: "edit.selectAll", role: "selectAll", accelerator: { windows: "Ctrl+A" }, @@ -140,46 +222,112 @@ export const DESKTOP_MENU: DesktopMenu[] = [ { id: "view", label: "View", + labelKey: "desktop.appMenu.view", items: [ - { type: "item", label: "Toggle Sidebar", command: "sidebar.toggle" }, - { type: "item", label: "Toggle Terminal", command: "terminal.toggle", accelerator: { macos: "Ctrl+`" } }, - { type: "item", label: "Toggle File Tree", command: "fileTree.toggle" }, + { type: "item", label: "Toggle Sidebar", labelKey: "desktop.appMenu.toggleSidebar", command: "sidebar.toggle" }, + { + type: "item", + label: "Toggle Terminal", + labelKey: "desktop.appMenu.toggleTerminal", + command: "terminal.toggle", + accelerator: { macos: "Ctrl+`" }, + }, + { + type: "item", + label: "Toggle File Tree", + labelKey: "desktop.appMenu.toggleFileTree", + command: "fileTree.toggle", + }, { type: "separator" }, - { type: "item", label: "Reload", action: "view.reload", role: "reload" }, - { type: "item", label: "Toggle Developer Tools", action: "view.toggleDevTools", role: "toggleDevTools" }, + { type: "item", label: "Reload", labelKey: "desktop.appMenu.reload", action: "view.reload", role: "reload" }, + { + type: "item", + label: "Toggle Developer Tools", + labelKey: "desktop.appMenu.toggleDeveloperTools", + action: "view.toggleDevTools", + role: "toggleDevTools", + }, { type: "separator" }, { type: "item", label: "Actual Size", + labelKey: "desktop.appMenu.actualSize", action: "view.resetZoom", role: "resetZoom", accelerator: { windows: "Ctrl+0" }, }, - { type: "item", label: "Zoom In", action: "view.zoomIn", role: "zoomIn", accelerator: { windows: "Ctrl++" } }, - { type: "item", label: "Zoom Out", action: "view.zoomOut", role: "zoomOut", accelerator: { windows: "Ctrl+-" } }, + { + type: "item", + label: "Zoom In", + labelKey: "desktop.appMenu.zoomIn", + action: "view.zoomIn", + role: "zoomIn", + accelerator: { windows: "Ctrl++" }, + }, + { + type: "item", + label: "Zoom Out", + labelKey: "desktop.appMenu.zoomOut", + action: "view.zoomOut", + role: "zoomOut", + accelerator: { windows: "Ctrl+-" }, + }, { type: "separator" }, - { type: "item", label: "Toggle Full Screen", action: "view.toggleFullscreen", role: "togglefullscreen" }, + { + type: "item", + label: "Toggle Full Screen", + labelKey: "desktop.appMenu.toggleFullScreen", + action: "view.toggleFullscreen", + role: "togglefullscreen", + }, ], }, { id: "go", label: "Go", + labelKey: "desktop.appMenu.go", items: [ - { type: "item", label: "Back", command: "common.goBack", accelerator: { macos: "Cmd+[" } }, - { type: "item", label: "Forward", command: "common.goForward", accelerator: { macos: "Cmd+]" } }, + { + type: "item", + label: "Back", + labelKey: "desktop.appMenu.back", + command: "common.goBack", + accelerator: { macos: "Cmd+[" }, + }, + { + type: "item", + label: "Forward", + labelKey: "desktop.appMenu.forward", + command: "common.goForward", + accelerator: { macos: "Cmd+]" }, + }, { type: "separator" }, - { type: "item", label: "Previous Session", command: "session.previous", accelerator: { macos: "Option+Up" } }, - { type: "item", label: "Next Session", command: "session.next", accelerator: { macos: "Option+Down" } }, + { + type: "item", + label: "Previous Session", + labelKey: "desktop.appMenu.previousSession", + command: "session.previous", + accelerator: { macos: "Option+Up" }, + }, + { + type: "item", + label: "Next Session", + labelKey: "desktop.appMenu.nextSession", + command: "session.next", + accelerator: { macos: "Option+Down" }, + }, { type: "separator" }, { type: "item", label: "Previous Project", + labelKey: "desktop.appMenu.previousProject", command: "project.previous", accelerator: { macos: "Cmd+Option+Up" }, }, { type: "item", label: "Next Project", + labelKey: "desktop.appMenu.nextProject", command: "project.next", accelerator: { macos: "Cmd+Option+Down" }, }, @@ -188,36 +336,103 @@ export const DESKTOP_MENU: DesktopMenu[] = [ { id: "window", label: "Window", - role: "windowMenu", + labelKey: "desktop.appMenu.window", items: [ - { type: "item", label: "Minimize", action: "window.minimize" }, - { type: "item", label: "Maximize", action: "window.toggleMaximize" }, + { + type: "item", + label: "Minimize", + labelKey: "desktop.appMenu.minimize", + action: "window.minimize", + role: "minimize", + }, + { + type: "item", + label: "Zoom", + labelKey: "desktop.appMenu.zoomWindow", + role: "zoom", + platforms: ["macos"], + }, + { + type: "item", + label: "Maximize", + labelKey: "desktop.appMenu.maximize", + action: "window.toggleMaximize", + platforms: ["windows"], + }, { type: "separator" }, - { type: "item", label: "Close Window", action: "window.close" }, + { + type: "item", + label: "Close Window", + labelKey: "desktop.appMenu.closeWindow", + action: "window.close", + platforms: ["windows"], + }, + { + type: "item", + label: "Bring All to Front", + labelKey: "desktop.appMenu.bringAllToFront", + role: "front", + platforms: ["macos"], + }, + { type: "separator", platforms: ["macos"] }, + { type: "item", role: "window", platforms: ["macos"] }, ], }, { id: "help", label: "Help", + labelKey: "desktop.appMenu.help", items: [ - { type: "item", label: "OpenCode Documentation", href: "https://opencode.ai/docs" }, - { type: "item", label: "Support Forum", href: "https://discord.com/invite/opencode" }, - { type: "item", label: "Export Logs...", command: "logs.export" }, + { + type: "item", + label: "OpenCode Documentation", + labelKey: "desktop.appMenu.documentation", + href: "https://opencode.ai/docs", + }, + { + type: "item", + label: "Support Forum", + labelKey: "desktop.appMenu.supportForum", + href: "https://discord.com/invite/opencode", + }, + { type: "item", label: "Export Logs...", labelKey: "desktop.appMenu.exportLogs", command: "logs.export" }, { type: "separator" }, { type: "item", label: "Share Feedback", + labelKey: "desktop.appMenu.shareFeedback", href: "https://github.com/anomalyco/opencode/issues/new?template=feature_request.yml", }, { type: "item", label: "Report a Bug", + labelKey: "desktop.appMenu.reportBug", href: "https://github.com/anomalyco/opencode/issues/new?template=bug_report.yml", }, ], }, ] +export const DESKTOP_MENU_LABEL_KEYS: DesktopMenuLabelKey[] = [ + ...new Set([ + DESKTOP_MENU_ARIA_LABEL, + ...DESKTOP_MENU.flatMap((menu) => [ + ...(menu.labelKey ? [menu.labelKey] : []), + ...(menu.items?.flatMap((entry) => (entry.type === "item" && entry.labelKey ? [entry.labelKey] : [])) ?? []), + ]), + ]), +] + +export function translateDesktopMenu(translate: (key: DesktopMenuLabelKey) => string): DesktopMenuLabels { + return Object.fromEntries(DESKTOP_MENU_LABEL_KEYS.map((key) => [key, translate(key)])) +} + +export function desktopMenuLabel(item: { label?: string; labelKey?: DesktopMenuLabelKey }, labels: DesktopMenuLabels) { + if (!item.labelKey) return item.label + const translated = labels[item.labelKey] + return typeof translated === "string" && translated.trim() ? translated : item.label +} + export function desktopMenuVisible(item: { platforms?: DesktopMenuPlatform[] }, platform: DesktopMenuPlatform) { return !item.platforms || item.platforms.includes(platform) } diff --git a/packages/app/src/i18n/ar.ts b/packages/app/src/i18n/ar.ts index 320738a6b027..a7401b408a15 100644 --- a/packages/app/src/i18n/ar.ts +++ b/packages/app/src/i18n/ar.ts @@ -19,6 +19,57 @@ export const dict = { "theme.scheme.system": "نظام", "theme.scheme.light": "فاتح", "theme.scheme.dark": "داكن", + "desktop.appMenu.ariaLabel": "قائمة OpenCode", + "desktop.appMenu.file": "ملف", + "desktop.appMenu.edit": "تحرير", + "desktop.appMenu.view": "عرض", + "desktop.appMenu.go": "انتقال", + "desktop.appMenu.window": "نافذة", + "desktop.appMenu.help": "مساعدة", + "desktop.appMenu.about": "حول OpenCode", + "desktop.appMenu.checkForUpdates": "التحقق من وجود تحديثات...", + "desktop.appMenu.settings": "الإعدادات", + "desktop.appMenu.reloadWebview": "إعادة تحميل عرض الويب", + "desktop.appMenu.restart": "إعادة التشغيل", + "desktop.appMenu.exportLogs": "تصدير السجلات...", + "desktop.appMenu.hide": "إخفاء OpenCode", + "desktop.appMenu.hideOthers": "إخفاء الآخرين", + "desktop.appMenu.showAll": "إظهار الكل", + "desktop.appMenu.quit": "إنهاء OpenCode", + "desktop.appMenu.newSession": "جلسة جديدة", + "desktop.appMenu.openProject": "فتح مشروع...", + "desktop.appMenu.newWindow": "نافذة جديدة", + "desktop.appMenu.closeWindow": "إغلاق النافذة", + "desktop.appMenu.undo": "تراجع", + "desktop.appMenu.redo": "إعادة", + "desktop.appMenu.cut": "قص", + "desktop.appMenu.copy": "نسخ", + "desktop.appMenu.paste": "لصق", + "desktop.appMenu.delete": "حذف", + "desktop.appMenu.selectAll": "تحديد الكل", + "desktop.appMenu.toggleSidebar": "تبديل الشريط الجانبي", + "desktop.appMenu.toggleTerminal": "تبديل المحطة الطرفية", + "desktop.appMenu.toggleFileTree": "تبديل شجرة الملفات", + "desktop.appMenu.reload": "إعادة التحميل", + "desktop.appMenu.toggleDeveloperTools": "تبديل أدوات المطور", + "desktop.appMenu.actualSize": "الحجم الفعلي", + "desktop.appMenu.zoomIn": "تكبير", + "desktop.appMenu.zoomOut": "تصغير", + "desktop.appMenu.toggleFullScreen": "تبديل وضع ملء الشاشة", + "desktop.appMenu.back": "رجوع", + "desktop.appMenu.forward": "تقدم", + "desktop.appMenu.previousSession": "الجلسة السابقة", + "desktop.appMenu.nextSession": "الجلسة التالية", + "desktop.appMenu.previousProject": "المشروع السابق", + "desktop.appMenu.nextProject": "المشروع التالي", + "desktop.appMenu.minimize": "تصغير", + "desktop.appMenu.zoomWindow": "تكبير", + "desktop.appMenu.maximize": "تكبير", + "desktop.appMenu.bringAllToFront": "إحضار الكل إلى المقدمة", + "desktop.appMenu.documentation": "وثائق OpenCode", + "desktop.appMenu.supportForum": "منتدى الدعم", + "desktop.appMenu.shareFeedback": "مشاركة الملاحظات", + "desktop.appMenu.reportBug": "الإبلاغ عن خطأ", "command.sidebar.toggle": "تبديل الشريط الجانبي", "command.project.open": "فتح مشروع", "command.project.previous": "المشروع السابق", diff --git a/packages/app/src/i18n/br.ts b/packages/app/src/i18n/br.ts index 9d6765ec94ef..faf69fa9c071 100644 --- a/packages/app/src/i18n/br.ts +++ b/packages/app/src/i18n/br.ts @@ -19,6 +19,57 @@ export const dict = { "theme.scheme.system": "Sistema", "theme.scheme.light": "Claro", "theme.scheme.dark": "Escuro", + "desktop.appMenu.ariaLabel": "Menu do OpenCode", + "desktop.appMenu.file": "Arquivo", + "desktop.appMenu.edit": "Editar", + "desktop.appMenu.view": "Visualizar", + "desktop.appMenu.go": "Ir", + "desktop.appMenu.window": "Janela", + "desktop.appMenu.help": "Ajuda", + "desktop.appMenu.about": "Sobre o OpenCode", + "desktop.appMenu.checkForUpdates": "Verificar atualizações...", + "desktop.appMenu.settings": "Configurações", + "desktop.appMenu.reloadWebview": "Recarregar visualização web", + "desktop.appMenu.restart": "Reiniciar", + "desktop.appMenu.exportLogs": "Exportar logs...", + "desktop.appMenu.hide": "Ocultar OpenCode", + "desktop.appMenu.hideOthers": "Ocultar outros", + "desktop.appMenu.showAll": "Mostrar tudo", + "desktop.appMenu.quit": "Sair do OpenCode", + "desktop.appMenu.newSession": "Nova sessão", + "desktop.appMenu.openProject": "Abrir projeto...", + "desktop.appMenu.newWindow": "Nova janela", + "desktop.appMenu.closeWindow": "Fechar janela", + "desktop.appMenu.undo": "Desfazer", + "desktop.appMenu.redo": "Refazer", + "desktop.appMenu.cut": "Recortar", + "desktop.appMenu.copy": "Copiar", + "desktop.appMenu.paste": "Colar", + "desktop.appMenu.delete": "Excluir", + "desktop.appMenu.selectAll": "Selecionar tudo", + "desktop.appMenu.toggleSidebar": "Alternar barra lateral", + "desktop.appMenu.toggleTerminal": "Alternar terminal", + "desktop.appMenu.toggleFileTree": "Alternar árvore de arquivos", + "desktop.appMenu.reload": "Recarregar", + "desktop.appMenu.toggleDeveloperTools": "Alternar ferramentas do desenvolvedor", + "desktop.appMenu.actualSize": "Tamanho real", + "desktop.appMenu.zoomIn": "Ampliar", + "desktop.appMenu.zoomOut": "Reduzir", + "desktop.appMenu.toggleFullScreen": "Alternar tela cheia", + "desktop.appMenu.back": "Voltar", + "desktop.appMenu.forward": "Avançar", + "desktop.appMenu.previousSession": "Sessão anterior", + "desktop.appMenu.nextSession": "Próxima sessão", + "desktop.appMenu.previousProject": "Projeto anterior", + "desktop.appMenu.nextProject": "Próximo projeto", + "desktop.appMenu.minimize": "Minimizar", + "desktop.appMenu.zoomWindow": "Zoom", + "desktop.appMenu.maximize": "Maximizar", + "desktop.appMenu.bringAllToFront": "Trazer Tudo para Frente", + "desktop.appMenu.documentation": "Documentação do OpenCode", + "desktop.appMenu.supportForum": "Fórum de suporte", + "desktop.appMenu.shareFeedback": "Compartilhar feedback", + "desktop.appMenu.reportBug": "Relatar um bug", "command.sidebar.toggle": "Alternar barra lateral", "command.project.open": "Abrir projeto", "command.project.previous": "Projeto anterior", diff --git a/packages/app/src/i18n/bs.ts b/packages/app/src/i18n/bs.ts index 915313c3e2b5..dd43c7cbc1be 100644 --- a/packages/app/src/i18n/bs.ts +++ b/packages/app/src/i18n/bs.ts @@ -21,6 +21,58 @@ export const dict = { "theme.scheme.light": "Svijetlo", "theme.scheme.dark": "Tamno", + "desktop.appMenu.ariaLabel": "OpenCode meni", + "desktop.appMenu.file": "Datoteka", + "desktop.appMenu.edit": "Uredi", + "desktop.appMenu.view": "Prikaz", + "desktop.appMenu.go": "Idi", + "desktop.appMenu.window": "Prozor", + "desktop.appMenu.help": "Pomoć", + "desktop.appMenu.about": "O aplikaciji OpenCode", + "desktop.appMenu.checkForUpdates": "Provjeri ažuriranja...", + "desktop.appMenu.settings": "Postavke", + "desktop.appMenu.reloadWebview": "Ponovo učitaj web-prikaz", + "desktop.appMenu.restart": "Ponovo pokreni", + "desktop.appMenu.exportLogs": "Izvezi logove...", + "desktop.appMenu.hide": "Sakrij OpenCode", + "desktop.appMenu.hideOthers": "Sakrij ostale", + "desktop.appMenu.showAll": "Prikaži sve", + "desktop.appMenu.quit": "Zatvori OpenCode", + "desktop.appMenu.newSession": "Nova sesija", + "desktop.appMenu.openProject": "Otvori projekat...", + "desktop.appMenu.newWindow": "Novi prozor", + "desktop.appMenu.closeWindow": "Zatvori prozor", + "desktop.appMenu.undo": "Poništi", + "desktop.appMenu.redo": "Vrati", + "desktop.appMenu.cut": "Izreži", + "desktop.appMenu.copy": "Kopiraj", + "desktop.appMenu.paste": "Zalijepi", + "desktop.appMenu.delete": "Izbriši", + "desktop.appMenu.selectAll": "Odaberi sve", + "desktop.appMenu.toggleSidebar": "Prikaži/sakrij bočnu traku", + "desktop.appMenu.toggleTerminal": "Prikaži/sakrij terminal", + "desktop.appMenu.toggleFileTree": "Prikaži/sakrij stablo datoteka", + "desktop.appMenu.reload": "Ponovo učitaj", + "desktop.appMenu.toggleDeveloperTools": "Prikaži/sakrij razvojne alate", + "desktop.appMenu.actualSize": "Stvarna veličina", + "desktop.appMenu.zoomIn": "Uvećaj", + "desktop.appMenu.zoomOut": "Umanji", + "desktop.appMenu.toggleFullScreen": "Prikaži/sakrij cijeli ekran", + "desktop.appMenu.back": "Nazad", + "desktop.appMenu.forward": "Naprijed", + "desktop.appMenu.previousSession": "Prethodna sesija", + "desktop.appMenu.nextSession": "Sljedeća sesija", + "desktop.appMenu.previousProject": "Prethodni projekat", + "desktop.appMenu.nextProject": "Sljedeći projekat", + "desktop.appMenu.minimize": "Minimiziraj", + "desktop.appMenu.zoomWindow": "Uvećaj", + "desktop.appMenu.maximize": "Maksimiziraj", + "desktop.appMenu.bringAllToFront": "Dovedi sve naprijed", + "desktop.appMenu.documentation": "Dokumentacija za OpenCode", + "desktop.appMenu.supportForum": "Forum za podršku", + "desktop.appMenu.shareFeedback": "Podijeli povratne informacije", + "desktop.appMenu.reportBug": "Prijavi grešku", + "command.sidebar.toggle": "Prikaži/sakrij bočnu traku", "command.project.open": "Otvori projekat", "command.project.previous": "Prethodni projekat", diff --git a/packages/app/src/i18n/da.ts b/packages/app/src/i18n/da.ts index 22fcdf39ceb0..16513db93215 100644 --- a/packages/app/src/i18n/da.ts +++ b/packages/app/src/i18n/da.ts @@ -21,6 +21,58 @@ export const dict = { "theme.scheme.light": "Lys", "theme.scheme.dark": "Mørk", + "desktop.appMenu.ariaLabel": "OpenCode-menu", + "desktop.appMenu.file": "Fil", + "desktop.appMenu.edit": "Rediger", + "desktop.appMenu.view": "Vis", + "desktop.appMenu.go": "Gå", + "desktop.appMenu.window": "Vindue", + "desktop.appMenu.help": "Hjælp", + "desktop.appMenu.about": "Om OpenCode", + "desktop.appMenu.checkForUpdates": "Søg efter opdateringer...", + "desktop.appMenu.settings": "Indstillinger", + "desktop.appMenu.reloadWebview": "Genindlæs webvisning", + "desktop.appMenu.restart": "Genstart", + "desktop.appMenu.exportLogs": "Eksportér logfiler...", + "desktop.appMenu.hide": "Skjul OpenCode", + "desktop.appMenu.hideOthers": "Skjul andre", + "desktop.appMenu.showAll": "Vis alle", + "desktop.appMenu.quit": "Afslut OpenCode", + "desktop.appMenu.newSession": "Ny session", + "desktop.appMenu.openProject": "Åbn projekt...", + "desktop.appMenu.newWindow": "Nyt vindue", + "desktop.appMenu.closeWindow": "Luk vindue", + "desktop.appMenu.undo": "Fortryd", + "desktop.appMenu.redo": "Gentag", + "desktop.appMenu.cut": "Klip", + "desktop.appMenu.copy": "Kopiér", + "desktop.appMenu.paste": "Sæt ind", + "desktop.appMenu.delete": "Slet", + "desktop.appMenu.selectAll": "Vælg alle", + "desktop.appMenu.toggleSidebar": "Vis/skjul sidebjælke", + "desktop.appMenu.toggleTerminal": "Vis/skjul terminal", + "desktop.appMenu.toggleFileTree": "Vis/skjul filtræ", + "desktop.appMenu.reload": "Genindlæs", + "desktop.appMenu.toggleDeveloperTools": "Vis/skjul udviklerværktøjer", + "desktop.appMenu.actualSize": "Faktisk størrelse", + "desktop.appMenu.zoomIn": "Zoom ind", + "desktop.appMenu.zoomOut": "Zoom ud", + "desktop.appMenu.toggleFullScreen": "Slå fuld skærm til/fra", + "desktop.appMenu.back": "Tilbage", + "desktop.appMenu.forward": "Frem", + "desktop.appMenu.previousSession": "Forrige session", + "desktop.appMenu.nextSession": "Næste session", + "desktop.appMenu.previousProject": "Forrige projekt", + "desktop.appMenu.nextProject": "Næste projekt", + "desktop.appMenu.minimize": "Minimer", + "desktop.appMenu.zoomWindow": "Zoom", + "desktop.appMenu.maximize": "Maksimer", + "desktop.appMenu.bringAllToFront": "Anbring alle forrest", + "desktop.appMenu.documentation": "OpenCode-dokumentation", + "desktop.appMenu.supportForum": "Supportforum", + "desktop.appMenu.shareFeedback": "Giv feedback", + "desktop.appMenu.reportBug": "Rapportér en fejl", + "command.sidebar.toggle": "Skift sidebjælke", "command.project.open": "Åbn projekt", "command.project.previous": "Forrige projekt", diff --git a/packages/app/src/i18n/de.ts b/packages/app/src/i18n/de.ts index bc2ac9be381d..5e51c92de1d2 100644 --- a/packages/app/src/i18n/de.ts +++ b/packages/app/src/i18n/de.ts @@ -23,6 +23,57 @@ export const dict = { "theme.scheme.system": "System", "theme.scheme.light": "Hell", "theme.scheme.dark": "Dunkel", + "desktop.appMenu.ariaLabel": "OpenCode-Menü", + "desktop.appMenu.file": "Datei", + "desktop.appMenu.edit": "Bearbeiten", + "desktop.appMenu.view": "Ansicht", + "desktop.appMenu.go": "Gehe zu", + "desktop.appMenu.window": "Fenster", + "desktop.appMenu.help": "Hilfe", + "desktop.appMenu.about": "Über OpenCode", + "desktop.appMenu.checkForUpdates": "Nach Updates suchen...", + "desktop.appMenu.settings": "Einstellungen", + "desktop.appMenu.reloadWebview": "Webview neu laden", + "desktop.appMenu.restart": "Neu starten", + "desktop.appMenu.exportLogs": "Protokolle exportieren...", + "desktop.appMenu.hide": "OpenCode ausblenden", + "desktop.appMenu.hideOthers": "Andere ausblenden", + "desktop.appMenu.showAll": "Alle einblenden", + "desktop.appMenu.quit": "OpenCode beenden", + "desktop.appMenu.newSession": "Neue Sitzung", + "desktop.appMenu.openProject": "Projekt öffnen...", + "desktop.appMenu.newWindow": "Neues Fenster", + "desktop.appMenu.closeWindow": "Fenster schließen", + "desktop.appMenu.undo": "Rückgängig", + "desktop.appMenu.redo": "Wiederholen", + "desktop.appMenu.cut": "Ausschneiden", + "desktop.appMenu.copy": "Kopieren", + "desktop.appMenu.paste": "Einfügen", + "desktop.appMenu.delete": "Löschen", + "desktop.appMenu.selectAll": "Alles auswählen", + "desktop.appMenu.toggleSidebar": "Seitenleiste ein-/ausblenden", + "desktop.appMenu.toggleTerminal": "Terminal ein-/ausblenden", + "desktop.appMenu.toggleFileTree": "Dateibaum ein-/ausblenden", + "desktop.appMenu.reload": "Neu laden", + "desktop.appMenu.toggleDeveloperTools": "Entwicklerwerkzeuge ein-/ausblenden", + "desktop.appMenu.actualSize": "Tatsächliche Größe", + "desktop.appMenu.zoomIn": "Vergrößern", + "desktop.appMenu.zoomOut": "Verkleinern", + "desktop.appMenu.toggleFullScreen": "Vollbild ein-/ausschalten", + "desktop.appMenu.back": "Zurück", + "desktop.appMenu.forward": "Vorwärts", + "desktop.appMenu.previousSession": "Vorherige Sitzung", + "desktop.appMenu.nextSession": "Nächste Sitzung", + "desktop.appMenu.previousProject": "Vorheriges Projekt", + "desktop.appMenu.nextProject": "Nächstes Projekt", + "desktop.appMenu.minimize": "Minimieren", + "desktop.appMenu.zoomWindow": "Zoomen", + "desktop.appMenu.maximize": "Maximieren", + "desktop.appMenu.bringAllToFront": "Alle nach vorne", + "desktop.appMenu.documentation": "OpenCode-Dokumentation", + "desktop.appMenu.supportForum": "Supportforum", + "desktop.appMenu.shareFeedback": "Feedback geben", + "desktop.appMenu.reportBug": "Fehler melden", "command.sidebar.toggle": "Seitenleiste umschalten", "command.project.open": "Projekt öffnen", "command.project.previous": "Vorheriges Projekt", diff --git a/packages/app/src/i18n/en.ts b/packages/app/src/i18n/en.ts index f03147f151d1..625e8756bf79 100644 --- a/packages/app/src/i18n/en.ts +++ b/packages/app/src/i18n/en.ts @@ -21,6 +21,58 @@ export const dict = { "theme.scheme.light": "Light", "theme.scheme.dark": "Dark", + "desktop.appMenu.ariaLabel": "OpenCode menu", + "desktop.appMenu.file": "File", + "desktop.appMenu.edit": "Edit", + "desktop.appMenu.view": "View", + "desktop.appMenu.go": "Go", + "desktop.appMenu.window": "Window", + "desktop.appMenu.help": "Help", + "desktop.appMenu.about": "About OpenCode", + "desktop.appMenu.checkForUpdates": "Check for Updates...", + "desktop.appMenu.settings": "Settings", + "desktop.appMenu.reloadWebview": "Reload Webview", + "desktop.appMenu.restart": "Restart", + "desktop.appMenu.exportLogs": "Export Logs...", + "desktop.appMenu.hide": "Hide OpenCode", + "desktop.appMenu.hideOthers": "Hide Others", + "desktop.appMenu.showAll": "Show All", + "desktop.appMenu.quit": "Quit OpenCode", + "desktop.appMenu.newSession": "New Session", + "desktop.appMenu.openProject": "Open Project...", + "desktop.appMenu.newWindow": "New Window", + "desktop.appMenu.closeWindow": "Close Window", + "desktop.appMenu.undo": "Undo", + "desktop.appMenu.redo": "Redo", + "desktop.appMenu.cut": "Cut", + "desktop.appMenu.copy": "Copy", + "desktop.appMenu.paste": "Paste", + "desktop.appMenu.delete": "Delete", + "desktop.appMenu.selectAll": "Select All", + "desktop.appMenu.toggleSidebar": "Toggle Sidebar", + "desktop.appMenu.toggleTerminal": "Toggle Terminal", + "desktop.appMenu.toggleFileTree": "Toggle File Tree", + "desktop.appMenu.reload": "Reload", + "desktop.appMenu.toggleDeveloperTools": "Toggle Developer Tools", + "desktop.appMenu.actualSize": "Actual Size", + "desktop.appMenu.zoomIn": "Zoom In", + "desktop.appMenu.zoomOut": "Zoom Out", + "desktop.appMenu.toggleFullScreen": "Toggle Full Screen", + "desktop.appMenu.back": "Back", + "desktop.appMenu.forward": "Forward", + "desktop.appMenu.previousSession": "Previous Session", + "desktop.appMenu.nextSession": "Next Session", + "desktop.appMenu.previousProject": "Previous Project", + "desktop.appMenu.nextProject": "Next Project", + "desktop.appMenu.minimize": "Minimize", + "desktop.appMenu.zoomWindow": "Zoom", + "desktop.appMenu.maximize": "Maximize", + "desktop.appMenu.bringAllToFront": "Bring All to Front", + "desktop.appMenu.documentation": "OpenCode Documentation", + "desktop.appMenu.supportForum": "Support Forum", + "desktop.appMenu.shareFeedback": "Share Feedback", + "desktop.appMenu.reportBug": "Report a Bug", + "command.sidebar.toggle": "Toggle sidebar", "command.project.open": "Open project", "command.project.previous": "Previous project", diff --git a/packages/app/src/i18n/es.ts b/packages/app/src/i18n/es.ts index 00dca6704b25..01be2c2c90a6 100644 --- a/packages/app/src/i18n/es.ts +++ b/packages/app/src/i18n/es.ts @@ -21,6 +21,58 @@ export const dict = { "theme.scheme.light": "Claro", "theme.scheme.dark": "Oscuro", + "desktop.appMenu.ariaLabel": "Menú de OpenCode", + "desktop.appMenu.file": "Archivo", + "desktop.appMenu.edit": "Editar", + "desktop.appMenu.view": "Ver", + "desktop.appMenu.go": "Ir", + "desktop.appMenu.window": "Ventana", + "desktop.appMenu.help": "Ayuda", + "desktop.appMenu.about": "Acerca de OpenCode", + "desktop.appMenu.checkForUpdates": "Buscar actualizaciones...", + "desktop.appMenu.settings": "Ajustes", + "desktop.appMenu.reloadWebview": "Recargar vista web", + "desktop.appMenu.restart": "Reiniciar", + "desktop.appMenu.exportLogs": "Exportar registros...", + "desktop.appMenu.hide": "Ocultar OpenCode", + "desktop.appMenu.hideOthers": "Ocultar las demás", + "desktop.appMenu.showAll": "Mostrar todo", + "desktop.appMenu.quit": "Salir de OpenCode", + "desktop.appMenu.newSession": "Nueva sesión", + "desktop.appMenu.openProject": "Abrir proyecto...", + "desktop.appMenu.newWindow": "Nueva ventana", + "desktop.appMenu.closeWindow": "Cerrar ventana", + "desktop.appMenu.undo": "Deshacer", + "desktop.appMenu.redo": "Rehacer", + "desktop.appMenu.cut": "Cortar", + "desktop.appMenu.copy": "Copiar", + "desktop.appMenu.paste": "Pegar", + "desktop.appMenu.delete": "Eliminar", + "desktop.appMenu.selectAll": "Seleccionar todo", + "desktop.appMenu.toggleSidebar": "Mostrar/ocultar barra lateral", + "desktop.appMenu.toggleTerminal": "Mostrar/ocultar terminal", + "desktop.appMenu.toggleFileTree": "Mostrar/ocultar árbol de archivos", + "desktop.appMenu.reload": "Recargar", + "desktop.appMenu.toggleDeveloperTools": "Mostrar/ocultar herramientas para desarrolladores", + "desktop.appMenu.actualSize": "Tamaño real", + "desktop.appMenu.zoomIn": "Acercar", + "desktop.appMenu.zoomOut": "Alejar", + "desktop.appMenu.toggleFullScreen": "Alternar pantalla completa", + "desktop.appMenu.back": "Atrás", + "desktop.appMenu.forward": "Adelante", + "desktop.appMenu.previousSession": "Sesión anterior", + "desktop.appMenu.nextSession": "Siguiente sesión", + "desktop.appMenu.previousProject": "Proyecto anterior", + "desktop.appMenu.nextProject": "Siguiente proyecto", + "desktop.appMenu.minimize": "Minimizar", + "desktop.appMenu.zoomWindow": "Zoom", + "desktop.appMenu.maximize": "Maximizar", + "desktop.appMenu.bringAllToFront": "Traer todo al frente", + "desktop.appMenu.documentation": "Documentación de OpenCode", + "desktop.appMenu.supportForum": "Foro de soporte", + "desktop.appMenu.shareFeedback": "Compartir comentarios", + "desktop.appMenu.reportBug": "Informar de un error", + "command.sidebar.toggle": "Alternar barra lateral", "command.project.open": "Abrir proyecto", "command.project.previous": "Proyecto anterior", diff --git a/packages/app/src/i18n/fr.ts b/packages/app/src/i18n/fr.ts index d1487ff61ef3..a5bc37d6d416 100644 --- a/packages/app/src/i18n/fr.ts +++ b/packages/app/src/i18n/fr.ts @@ -19,6 +19,57 @@ export const dict = { "theme.scheme.system": "Système", "theme.scheme.light": "Clair", "theme.scheme.dark": "Sombre", + "desktop.appMenu.ariaLabel": "Menu OpenCode", + "desktop.appMenu.file": "Fichier", + "desktop.appMenu.edit": "Édition", + "desktop.appMenu.view": "Affichage", + "desktop.appMenu.go": "Aller", + "desktop.appMenu.window": "Fenêtre", + "desktop.appMenu.help": "Aide", + "desktop.appMenu.about": "À propos d'OpenCode", + "desktop.appMenu.checkForUpdates": "Rechercher les mises à jour...", + "desktop.appMenu.settings": "Paramètres", + "desktop.appMenu.reloadWebview": "Recharger la vue web", + "desktop.appMenu.restart": "Redémarrer", + "desktop.appMenu.exportLogs": "Exporter les journaux...", + "desktop.appMenu.hide": "Masquer OpenCode", + "desktop.appMenu.hideOthers": "Masquer les autres", + "desktop.appMenu.showAll": "Tout afficher", + "desktop.appMenu.quit": "Quitter OpenCode", + "desktop.appMenu.newSession": "Nouvelle session", + "desktop.appMenu.openProject": "Ouvrir un projet...", + "desktop.appMenu.newWindow": "Nouvelle fenêtre", + "desktop.appMenu.closeWindow": "Fermer la fenêtre", + "desktop.appMenu.undo": "Annuler", + "desktop.appMenu.redo": "Rétablir", + "desktop.appMenu.cut": "Couper", + "desktop.appMenu.copy": "Copier", + "desktop.appMenu.paste": "Coller", + "desktop.appMenu.delete": "Supprimer", + "desktop.appMenu.selectAll": "Tout sélectionner", + "desktop.appMenu.toggleSidebar": "Afficher ou masquer la barre latérale", + "desktop.appMenu.toggleTerminal": "Afficher ou masquer le terminal", + "desktop.appMenu.toggleFileTree": "Afficher ou masquer l'arborescence des fichiers", + "desktop.appMenu.reload": "Recharger", + "desktop.appMenu.toggleDeveloperTools": "Afficher ou masquer les outils de développement", + "desktop.appMenu.actualSize": "Taille réelle", + "desktop.appMenu.zoomIn": "Zoom avant", + "desktop.appMenu.zoomOut": "Zoom arrière", + "desktop.appMenu.toggleFullScreen": "Activer ou désactiver le plein écran", + "desktop.appMenu.back": "Retour", + "desktop.appMenu.forward": "Suivant", + "desktop.appMenu.previousSession": "Session précédente", + "desktop.appMenu.nextSession": "Session suivante", + "desktop.appMenu.previousProject": "Projet précédent", + "desktop.appMenu.nextProject": "Projet suivant", + "desktop.appMenu.minimize": "Réduire", + "desktop.appMenu.zoomWindow": "Zoom", + "desktop.appMenu.maximize": "Agrandir", + "desktop.appMenu.bringAllToFront": "Tout ramener au premier plan", + "desktop.appMenu.documentation": "Documentation OpenCode", + "desktop.appMenu.supportForum": "Forum d'assistance", + "desktop.appMenu.shareFeedback": "Donner votre avis", + "desktop.appMenu.reportBug": "Signaler un bug", "command.sidebar.toggle": "Basculer la barre latérale", "command.project.open": "Ouvrir un projet", "command.project.previous": "Projet précédent", diff --git a/packages/app/src/i18n/ja.ts b/packages/app/src/i18n/ja.ts index 6a3b1ebcb02e..19e56b4c3c4f 100644 --- a/packages/app/src/i18n/ja.ts +++ b/packages/app/src/i18n/ja.ts @@ -19,6 +19,57 @@ export const dict = { "theme.scheme.system": "システム", "theme.scheme.light": "ライト", "theme.scheme.dark": "ダーク", + "desktop.appMenu.ariaLabel": "OpenCodeメニュー", + "desktop.appMenu.file": "ファイル", + "desktop.appMenu.edit": "編集", + "desktop.appMenu.view": "表示", + "desktop.appMenu.go": "移動", + "desktop.appMenu.window": "ウィンドウ", + "desktop.appMenu.help": "ヘルプ", + "desktop.appMenu.about": "OpenCodeについて", + "desktop.appMenu.checkForUpdates": "アップデートを確認...", + "desktop.appMenu.settings": "設定", + "desktop.appMenu.reloadWebview": "Webビューを再読み込み", + "desktop.appMenu.restart": "再起動", + "desktop.appMenu.exportLogs": "ログをエクスポート...", + "desktop.appMenu.hide": "OpenCodeを隠す", + "desktop.appMenu.hideOthers": "ほかを隠す", + "desktop.appMenu.showAll": "すべてを表示", + "desktop.appMenu.quit": "OpenCodeを終了", + "desktop.appMenu.newSession": "新しいセッション", + "desktop.appMenu.openProject": "プロジェクトを開く...", + "desktop.appMenu.newWindow": "新しいウィンドウ", + "desktop.appMenu.closeWindow": "ウィンドウを閉じる", + "desktop.appMenu.undo": "元に戻す", + "desktop.appMenu.redo": "やり直す", + "desktop.appMenu.cut": "切り取り", + "desktop.appMenu.copy": "コピー", + "desktop.appMenu.paste": "ペースト", + "desktop.appMenu.delete": "削除", + "desktop.appMenu.selectAll": "すべてを選択", + "desktop.appMenu.toggleSidebar": "サイドバーの表示を切り替え", + "desktop.appMenu.toggleTerminal": "ターミナルの表示を切り替え", + "desktop.appMenu.toggleFileTree": "ファイルツリーの表示を切り替え", + "desktop.appMenu.reload": "再読み込み", + "desktop.appMenu.toggleDeveloperTools": "開発者ツールの表示を切り替え", + "desktop.appMenu.actualSize": "実際のサイズ", + "desktop.appMenu.zoomIn": "拡大", + "desktop.appMenu.zoomOut": "縮小", + "desktop.appMenu.toggleFullScreen": "フルスクリーン表示を切り替え", + "desktop.appMenu.back": "戻る", + "desktop.appMenu.forward": "進む", + "desktop.appMenu.previousSession": "前のセッション", + "desktop.appMenu.nextSession": "次のセッション", + "desktop.appMenu.previousProject": "前のプロジェクト", + "desktop.appMenu.nextProject": "次のプロジェクト", + "desktop.appMenu.minimize": "最小化", + "desktop.appMenu.zoomWindow": "ズーム", + "desktop.appMenu.maximize": "最大化", + "desktop.appMenu.bringAllToFront": "すべてを手前に移動", + "desktop.appMenu.documentation": "OpenCodeドキュメント", + "desktop.appMenu.supportForum": "サポートフォーラム", + "desktop.appMenu.shareFeedback": "フィードバックを送信", + "desktop.appMenu.reportBug": "バグを報告", "command.sidebar.toggle": "サイドバーの切り替え", "command.project.open": "プロジェクトを開く", "command.project.previous": "前のプロジェクト", diff --git a/packages/app/src/i18n/ko.ts b/packages/app/src/i18n/ko.ts index 3c262ce3b93a..66a09cee6c63 100644 --- a/packages/app/src/i18n/ko.ts +++ b/packages/app/src/i18n/ko.ts @@ -19,6 +19,57 @@ export const dict = { "theme.scheme.system": "시스템", "theme.scheme.light": "라이트", "theme.scheme.dark": "다크", + "desktop.appMenu.ariaLabel": "OpenCode 메뉴", + "desktop.appMenu.file": "파일", + "desktop.appMenu.edit": "편집", + "desktop.appMenu.view": "보기", + "desktop.appMenu.go": "이동", + "desktop.appMenu.window": "창", + "desktop.appMenu.help": "도움말", + "desktop.appMenu.about": "OpenCode 정보", + "desktop.appMenu.checkForUpdates": "업데이트 확인...", + "desktop.appMenu.settings": "설정", + "desktop.appMenu.reloadWebview": "웹뷰 새로고침", + "desktop.appMenu.restart": "다시 시작", + "desktop.appMenu.exportLogs": "로그 내보내기...", + "desktop.appMenu.hide": "OpenCode 가리기", + "desktop.appMenu.hideOthers": "기타 가리기", + "desktop.appMenu.showAll": "모두 보기", + "desktop.appMenu.quit": "OpenCode 종료", + "desktop.appMenu.newSession": "새 세션", + "desktop.appMenu.openProject": "프로젝트 열기...", + "desktop.appMenu.newWindow": "새 창", + "desktop.appMenu.closeWindow": "창 닫기", + "desktop.appMenu.undo": "실행 취소", + "desktop.appMenu.redo": "다시 실행", + "desktop.appMenu.cut": "잘라내기", + "desktop.appMenu.copy": "복사", + "desktop.appMenu.paste": "붙여넣기", + "desktop.appMenu.delete": "삭제", + "desktop.appMenu.selectAll": "모두 선택", + "desktop.appMenu.toggleSidebar": "사이드바 표시 전환", + "desktop.appMenu.toggleTerminal": "터미널 표시 전환", + "desktop.appMenu.toggleFileTree": "파일 트리 표시 전환", + "desktop.appMenu.reload": "새로고침", + "desktop.appMenu.toggleDeveloperTools": "개발자 도구 표시 전환", + "desktop.appMenu.actualSize": "실제 크기", + "desktop.appMenu.zoomIn": "확대", + "desktop.appMenu.zoomOut": "축소", + "desktop.appMenu.toggleFullScreen": "전체 화면 전환", + "desktop.appMenu.back": "뒤로", + "desktop.appMenu.forward": "앞으로", + "desktop.appMenu.previousSession": "이전 세션", + "desktop.appMenu.nextSession": "다음 세션", + "desktop.appMenu.previousProject": "이전 프로젝트", + "desktop.appMenu.nextProject": "다음 프로젝트", + "desktop.appMenu.minimize": "최소화", + "desktop.appMenu.zoomWindow": "확대/축소", + "desktop.appMenu.maximize": "최대화", + "desktop.appMenu.bringAllToFront": "모두 앞으로 가져오기", + "desktop.appMenu.documentation": "OpenCode 문서", + "desktop.appMenu.supportForum": "지원 포럼", + "desktop.appMenu.shareFeedback": "피드백 보내기", + "desktop.appMenu.reportBug": "버그 신고", "command.sidebar.toggle": "사이드바 토글", "command.project.open": "프로젝트 열기", "command.provider.connect": "공급자 연결", diff --git a/packages/app/src/i18n/no.ts b/packages/app/src/i18n/no.ts index a4e8efb79d27..9fa9602d0d7e 100644 --- a/packages/app/src/i18n/no.ts +++ b/packages/app/src/i18n/no.ts @@ -24,6 +24,58 @@ export const dict = { "theme.scheme.light": "Lys", "theme.scheme.dark": "Mørk", + "desktop.appMenu.ariaLabel": "OpenCode-meny", + "desktop.appMenu.file": "Fil", + "desktop.appMenu.edit": "Rediger", + "desktop.appMenu.view": "Vis", + "desktop.appMenu.go": "Gå", + "desktop.appMenu.window": "Vindu", + "desktop.appMenu.help": "Hjelp", + "desktop.appMenu.about": "Om OpenCode", + "desktop.appMenu.checkForUpdates": "Se etter oppdateringer...", + "desktop.appMenu.settings": "Innstillinger", + "desktop.appMenu.reloadWebview": "Last inn nettvisning på nytt", + "desktop.appMenu.restart": "Start på nytt", + "desktop.appMenu.exportLogs": "Eksporter logger...", + "desktop.appMenu.hide": "Skjul OpenCode", + "desktop.appMenu.hideOthers": "Skjul andre", + "desktop.appMenu.showAll": "Vis alle", + "desktop.appMenu.quit": "Avslutt OpenCode", + "desktop.appMenu.newSession": "Ny sesjon", + "desktop.appMenu.openProject": "Åpne prosjekt...", + "desktop.appMenu.newWindow": "Nytt vindu", + "desktop.appMenu.closeWindow": "Lukk vindu", + "desktop.appMenu.undo": "Angre", + "desktop.appMenu.redo": "Gjør om", + "desktop.appMenu.cut": "Klipp ut", + "desktop.appMenu.copy": "Kopier", + "desktop.appMenu.paste": "Lim inn", + "desktop.appMenu.delete": "Slett", + "desktop.appMenu.selectAll": "Merk alt", + "desktop.appMenu.toggleSidebar": "Vis/skjul sidepanel", + "desktop.appMenu.toggleTerminal": "Vis/skjul terminal", + "desktop.appMenu.toggleFileTree": "Vis/skjul filtre", + "desktop.appMenu.reload": "Last inn på nytt", + "desktop.appMenu.toggleDeveloperTools": "Vis/skjul utviklerverktøy", + "desktop.appMenu.actualSize": "Faktisk størrelse", + "desktop.appMenu.zoomIn": "Zoom inn", + "desktop.appMenu.zoomOut": "Zoom ut", + "desktop.appMenu.toggleFullScreen": "Slå fullskjermmodus av/på", + "desktop.appMenu.back": "Tilbake", + "desktop.appMenu.forward": "Frem", + "desktop.appMenu.previousSession": "Forrige sesjon", + "desktop.appMenu.nextSession": "Neste sesjon", + "desktop.appMenu.previousProject": "Forrige prosjekt", + "desktop.appMenu.nextProject": "Neste prosjekt", + "desktop.appMenu.minimize": "Minimer", + "desktop.appMenu.zoomWindow": "Zoom", + "desktop.appMenu.maximize": "Maksimer", + "desktop.appMenu.bringAllToFront": "Flytt alle fremst", + "desktop.appMenu.documentation": "OpenCode-dokumentasjon", + "desktop.appMenu.supportForum": "Forum for brukerstøtte", + "desktop.appMenu.shareFeedback": "Send tilbakemelding", + "desktop.appMenu.reportBug": "Rapporter en feil", + "command.sidebar.toggle": "Veksle sidepanel", "command.project.open": "Åpne prosjekt", "command.provider.connect": "Koble til leverandør", diff --git a/packages/app/src/i18n/pl.ts b/packages/app/src/i18n/pl.ts index f2e32ffeb879..99e0fadce468 100644 --- a/packages/app/src/i18n/pl.ts +++ b/packages/app/src/i18n/pl.ts @@ -19,6 +19,57 @@ export const dict = { "theme.scheme.system": "Systemowy", "theme.scheme.light": "Jasny", "theme.scheme.dark": "Ciemny", + "desktop.appMenu.ariaLabel": "Menu OpenCode", + "desktop.appMenu.file": "Plik", + "desktop.appMenu.edit": "Edycja", + "desktop.appMenu.view": "Widok", + "desktop.appMenu.go": "Przejdź", + "desktop.appMenu.window": "Okno", + "desktop.appMenu.help": "Pomoc", + "desktop.appMenu.about": "O OpenCode", + "desktop.appMenu.checkForUpdates": "Sprawdź aktualizacje...", + "desktop.appMenu.settings": "Ustawienia", + "desktop.appMenu.reloadWebview": "Odśwież widok internetowy", + "desktop.appMenu.restart": "Uruchom ponownie", + "desktop.appMenu.exportLogs": "Eksportuj dzienniki...", + "desktop.appMenu.hide": "Ukryj OpenCode", + "desktop.appMenu.hideOthers": "Ukryj pozostałe", + "desktop.appMenu.showAll": "Pokaż wszystkie", + "desktop.appMenu.quit": "Zakończ OpenCode", + "desktop.appMenu.newSession": "Nowa sesja", + "desktop.appMenu.openProject": "Otwórz projekt...", + "desktop.appMenu.newWindow": "Nowe okno", + "desktop.appMenu.closeWindow": "Zamknij okno", + "desktop.appMenu.undo": "Cofnij", + "desktop.appMenu.redo": "Ponów", + "desktop.appMenu.cut": "Wytnij", + "desktop.appMenu.copy": "Kopiuj", + "desktop.appMenu.paste": "Wklej", + "desktop.appMenu.delete": "Usuń", + "desktop.appMenu.selectAll": "Zaznacz wszystko", + "desktop.appMenu.toggleSidebar": "Przełącz pasek boczny", + "desktop.appMenu.toggleTerminal": "Przełącz terminal", + "desktop.appMenu.toggleFileTree": "Przełącz drzewo plików", + "desktop.appMenu.reload": "Odśwież", + "desktop.appMenu.toggleDeveloperTools": "Przełącz narzędzia deweloperskie", + "desktop.appMenu.actualSize": "Rozmiar rzeczywisty", + "desktop.appMenu.zoomIn": "Powiększ", + "desktop.appMenu.zoomOut": "Pomniejsz", + "desktop.appMenu.toggleFullScreen": "Przełącz tryb pełnoekranowy", + "desktop.appMenu.back": "Wstecz", + "desktop.appMenu.forward": "Dalej", + "desktop.appMenu.previousSession": "Poprzednia sesja", + "desktop.appMenu.nextSession": "Następna sesja", + "desktop.appMenu.previousProject": "Poprzedni projekt", + "desktop.appMenu.nextProject": "Następny projekt", + "desktop.appMenu.minimize": "Minimalizuj", + "desktop.appMenu.zoomWindow": "Powiększ", + "desktop.appMenu.maximize": "Maksymalizuj", + "desktop.appMenu.bringAllToFront": "Przenieś wszystko na wierzch", + "desktop.appMenu.documentation": "Dokumentacja OpenCode", + "desktop.appMenu.supportForum": "Forum pomocy", + "desktop.appMenu.shareFeedback": "Prześlij opinię", + "desktop.appMenu.reportBug": "Zgłoś błąd", "command.sidebar.toggle": "Przełącz pasek boczny", "command.project.open": "Otwórz projekt", "command.project.previous": "Poprzedni projekt", diff --git a/packages/app/src/i18n/ru.ts b/packages/app/src/i18n/ru.ts index fa6fb04d04e1..08893164c95e 100644 --- a/packages/app/src/i18n/ru.ts +++ b/packages/app/src/i18n/ru.ts @@ -21,6 +21,58 @@ export const dict = { "theme.scheme.light": "Светлая", "theme.scheme.dark": "Тёмная", + "desktop.appMenu.ariaLabel": "Меню OpenCode", + "desktop.appMenu.file": "Файл", + "desktop.appMenu.edit": "Правка", + "desktop.appMenu.view": "Вид", + "desktop.appMenu.go": "Переход", + "desktop.appMenu.window": "Окно", + "desktop.appMenu.help": "Справка", + "desktop.appMenu.about": "О программе OpenCode", + "desktop.appMenu.checkForUpdates": "Проверить наличие обновлений...", + "desktop.appMenu.settings": "Настройки", + "desktop.appMenu.reloadWebview": "Перезагрузить веб-представление", + "desktop.appMenu.restart": "Перезапустить", + "desktop.appMenu.exportLogs": "Экспортировать журналы...", + "desktop.appMenu.hide": "Скрыть OpenCode", + "desktop.appMenu.hideOthers": "Скрыть остальные", + "desktop.appMenu.showAll": "Показать все", + "desktop.appMenu.quit": "Выйти из OpenCode", + "desktop.appMenu.newSession": "Новая сессия", + "desktop.appMenu.openProject": "Открыть проект...", + "desktop.appMenu.newWindow": "Новое окно", + "desktop.appMenu.closeWindow": "Закрыть окно", + "desktop.appMenu.undo": "Отменить", + "desktop.appMenu.redo": "Повторить", + "desktop.appMenu.cut": "Вырезать", + "desktop.appMenu.copy": "Копировать", + "desktop.appMenu.paste": "Вставить", + "desktop.appMenu.delete": "Удалить", + "desktop.appMenu.selectAll": "Выделить всё", + "desktop.appMenu.toggleSidebar": "Переключить боковую панель", + "desktop.appMenu.toggleTerminal": "Переключить терминал", + "desktop.appMenu.toggleFileTree": "Переключить дерево файлов", + "desktop.appMenu.reload": "Перезагрузить", + "desktop.appMenu.toggleDeveloperTools": "Переключить инструменты разработчика", + "desktop.appMenu.actualSize": "Фактический размер", + "desktop.appMenu.zoomIn": "Увеличить", + "desktop.appMenu.zoomOut": "Уменьшить", + "desktop.appMenu.toggleFullScreen": "Переключить полноэкранный режим", + "desktop.appMenu.back": "Назад", + "desktop.appMenu.forward": "Вперёд", + "desktop.appMenu.previousSession": "Предыдущая сессия", + "desktop.appMenu.nextSession": "Следующая сессия", + "desktop.appMenu.previousProject": "Предыдущий проект", + "desktop.appMenu.nextProject": "Следующий проект", + "desktop.appMenu.minimize": "Свернуть", + "desktop.appMenu.zoomWindow": "Масштаб", + "desktop.appMenu.maximize": "Развернуть", + "desktop.appMenu.bringAllToFront": "Все окна на передний план", + "desktop.appMenu.documentation": "Документация OpenCode", + "desktop.appMenu.supportForum": "Форум поддержки", + "desktop.appMenu.shareFeedback": "Отправить отзыв", + "desktop.appMenu.reportBug": "Сообщить об ошибке", + "command.sidebar.toggle": "Переключить боковую панель", "command.project.open": "Открыть проект", "command.project.previous": "Предыдущий проект", diff --git a/packages/app/src/i18n/th.ts b/packages/app/src/i18n/th.ts index 0ae67ee34eb1..cd6b0b6293b2 100644 --- a/packages/app/src/i18n/th.ts +++ b/packages/app/src/i18n/th.ts @@ -21,6 +21,58 @@ export const dict = { "theme.scheme.light": "สว่าง", "theme.scheme.dark": "มืด", + "desktop.appMenu.ariaLabel": "เมนู OpenCode", + "desktop.appMenu.file": "ไฟล์", + "desktop.appMenu.edit": "แก้ไข", + "desktop.appMenu.view": "มุมมอง", + "desktop.appMenu.go": "ไป", + "desktop.appMenu.window": "หน้าต่าง", + "desktop.appMenu.help": "วิธีใช้", + "desktop.appMenu.about": "เกี่ยวกับ OpenCode", + "desktop.appMenu.checkForUpdates": "ตรวจหาการอัปเดต...", + "desktop.appMenu.settings": "การตั้งค่า", + "desktop.appMenu.reloadWebview": "โหลดเว็บวิวใหม่", + "desktop.appMenu.restart": "เริ่มใหม่", + "desktop.appMenu.exportLogs": "ส่งออกบันทึก...", + "desktop.appMenu.hide": "ซ่อน OpenCode", + "desktop.appMenu.hideOthers": "ซ่อนแอปอื่น", + "desktop.appMenu.showAll": "แสดงทั้งหมด", + "desktop.appMenu.quit": "ออกจาก OpenCode", + "desktop.appMenu.newSession": "เซสชันใหม่", + "desktop.appMenu.openProject": "เปิดโปรเจกต์...", + "desktop.appMenu.newWindow": "หน้าต่างใหม่", + "desktop.appMenu.closeWindow": "ปิดหน้าต่าง", + "desktop.appMenu.undo": "เลิกทำ", + "desktop.appMenu.redo": "ทำซ้ำ", + "desktop.appMenu.cut": "ตัด", + "desktop.appMenu.copy": "คัดลอก", + "desktop.appMenu.paste": "วาง", + "desktop.appMenu.delete": "ลบ", + "desktop.appMenu.selectAll": "เลือกทั้งหมด", + "desktop.appMenu.toggleSidebar": "สลับแถบข้าง", + "desktop.appMenu.toggleTerminal": "สลับเทอร์มินัล", + "desktop.appMenu.toggleFileTree": "สลับต้นไม้ไฟล์", + "desktop.appMenu.reload": "โหลดใหม่", + "desktop.appMenu.toggleDeveloperTools": "สลับเครื่องมือสำหรับนักพัฒนา", + "desktop.appMenu.actualSize": "ขนาดจริง", + "desktop.appMenu.zoomIn": "ขยาย", + "desktop.appMenu.zoomOut": "ย่อ", + "desktop.appMenu.toggleFullScreen": "สลับโหมดเต็มหน้าจอ", + "desktop.appMenu.back": "ย้อนกลับ", + "desktop.appMenu.forward": "ไปข้างหน้า", + "desktop.appMenu.previousSession": "เซสชันก่อนหน้า", + "desktop.appMenu.nextSession": "เซสชันถัดไป", + "desktop.appMenu.previousProject": "โปรเจกต์ก่อนหน้า", + "desktop.appMenu.nextProject": "โปรเจกต์ถัดไป", + "desktop.appMenu.minimize": "ย่อหน้าต่าง", + "desktop.appMenu.zoomWindow": "ซูม", + "desktop.appMenu.maximize": "ขยายหน้าต่าง", + "desktop.appMenu.bringAllToFront": "นำทั้งหมดมาไว้ด้านหน้า", + "desktop.appMenu.documentation": "เอกสาร OpenCode", + "desktop.appMenu.supportForum": "ฟอรัมสนับสนุน", + "desktop.appMenu.shareFeedback": "ส่งความคิดเห็น", + "desktop.appMenu.reportBug": "รายงานข้อบกพร่อง", + "command.sidebar.toggle": "สลับแถบข้าง", "command.project.open": "เปิดโปรเจกต์", "command.project.previous": "โปรเจกต์ก่อนหน้า", diff --git a/packages/app/src/i18n/tr.ts b/packages/app/src/i18n/tr.ts index d401519af9c9..373aaab708fd 100644 --- a/packages/app/src/i18n/tr.ts +++ b/packages/app/src/i18n/tr.ts @@ -25,6 +25,58 @@ export const dict = { "theme.scheme.light": "Açık", "theme.scheme.dark": "Koyu", + "desktop.appMenu.ariaLabel": "OpenCode menüsü", + "desktop.appMenu.file": "Dosya", + "desktop.appMenu.edit": "Düzenle", + "desktop.appMenu.view": "Görünüm", + "desktop.appMenu.go": "Git", + "desktop.appMenu.window": "Pencere", + "desktop.appMenu.help": "Yardım", + "desktop.appMenu.about": "OpenCode hakkında", + "desktop.appMenu.checkForUpdates": "Güncellemeleri denetle...", + "desktop.appMenu.settings": "Ayarlar", + "desktop.appMenu.reloadWebview": "Web görünümünü yeniden yükle", + "desktop.appMenu.restart": "Yeniden başlat", + "desktop.appMenu.exportLogs": "Günlükleri dışa aktar...", + "desktop.appMenu.hide": "OpenCode'u gizle", + "desktop.appMenu.hideOthers": "Diğerlerini gizle", + "desktop.appMenu.showAll": "Tümünü göster", + "desktop.appMenu.quit": "OpenCode'dan çık", + "desktop.appMenu.newSession": "Yeni oturum", + "desktop.appMenu.openProject": "Proje aç...", + "desktop.appMenu.newWindow": "Yeni pencere", + "desktop.appMenu.closeWindow": "Pencereyi kapat", + "desktop.appMenu.undo": "Geri al", + "desktop.appMenu.redo": "Yinele", + "desktop.appMenu.cut": "Kes", + "desktop.appMenu.copy": "Kopyala", + "desktop.appMenu.paste": "Yapıştır", + "desktop.appMenu.delete": "Sil", + "desktop.appMenu.selectAll": "Tümünü seç", + "desktop.appMenu.toggleSidebar": "Kenar çubuğunu aç/kapat", + "desktop.appMenu.toggleTerminal": "Terminali aç/kapat", + "desktop.appMenu.toggleFileTree": "Dosya ağacını aç/kapat", + "desktop.appMenu.reload": "Yeniden yükle", + "desktop.appMenu.toggleDeveloperTools": "Geliştirici araçlarını aç/kapat", + "desktop.appMenu.actualSize": "Gerçek boyut", + "desktop.appMenu.zoomIn": "Yakınlaştır", + "desktop.appMenu.zoomOut": "Uzaklaştır", + "desktop.appMenu.toggleFullScreen": "Tam ekranı aç/kapat", + "desktop.appMenu.back": "Geri", + "desktop.appMenu.forward": "İleri", + "desktop.appMenu.previousSession": "Önceki oturum", + "desktop.appMenu.nextSession": "Sonraki oturum", + "desktop.appMenu.previousProject": "Önceki proje", + "desktop.appMenu.nextProject": "Sonraki proje", + "desktop.appMenu.minimize": "Küçült", + "desktop.appMenu.zoomWindow": "Büyüt", + "desktop.appMenu.maximize": "Büyüt", + "desktop.appMenu.bringAllToFront": "Tümünü Öne Getir", + "desktop.appMenu.documentation": "OpenCode belgeleri", + "desktop.appMenu.supportForum": "Destek forumu", + "desktop.appMenu.shareFeedback": "Geri bildirim paylaş", + "desktop.appMenu.reportBug": "Hata bildir", + "command.sidebar.toggle": "Kenar çubuğunu aç/kapat", "command.project.open": "Proje aç", "command.project.previous": "Önceki proje", diff --git a/packages/app/src/i18n/uk.ts b/packages/app/src/i18n/uk.ts index c949f41de2dc..0423acc0d1bd 100644 --- a/packages/app/src/i18n/uk.ts +++ b/packages/app/src/i18n/uk.ts @@ -21,6 +21,58 @@ export const dict = { "theme.scheme.light": "Світла", "theme.scheme.dark": "Темна", + "desktop.appMenu.ariaLabel": "Меню OpenCode", + "desktop.appMenu.file": "Файл", + "desktop.appMenu.edit": "Редагування", + "desktop.appMenu.view": "Вигляд", + "desktop.appMenu.go": "Перехід", + "desktop.appMenu.window": "Вікно", + "desktop.appMenu.help": "Довідка", + "desktop.appMenu.about": "Про OpenCode", + "desktop.appMenu.checkForUpdates": "Перевірити наявність оновлень...", + "desktop.appMenu.settings": "Налаштування", + "desktop.appMenu.reloadWebview": "Перезавантажити вебперегляд", + "desktop.appMenu.restart": "Перезапустити", + "desktop.appMenu.exportLogs": "Експортувати журнали...", + "desktop.appMenu.hide": "Приховати OpenCode", + "desktop.appMenu.hideOthers": "Приховати інші", + "desktop.appMenu.showAll": "Показати все", + "desktop.appMenu.quit": "Вийти з OpenCode", + "desktop.appMenu.newSession": "Нова сесія", + "desktop.appMenu.openProject": "Відкрити проєкт...", + "desktop.appMenu.newWindow": "Нове вікно", + "desktop.appMenu.closeWindow": "Закрити вікно", + "desktop.appMenu.undo": "Скасувати", + "desktop.appMenu.redo": "Повторити", + "desktop.appMenu.cut": "Вирізати", + "desktop.appMenu.copy": "Копіювати", + "desktop.appMenu.paste": "Вставити", + "desktop.appMenu.delete": "Видалити", + "desktop.appMenu.selectAll": "Вибрати все", + "desktop.appMenu.toggleSidebar": "Перемкнути бічну панель", + "desktop.appMenu.toggleTerminal": "Перемкнути термінал", + "desktop.appMenu.toggleFileTree": "Перемкнути дерево файлів", + "desktop.appMenu.reload": "Перезавантажити", + "desktop.appMenu.toggleDeveloperTools": "Перемкнути інструменти розробника", + "desktop.appMenu.actualSize": "Фактичний розмір", + "desktop.appMenu.zoomIn": "Збільшити масштаб", + "desktop.appMenu.zoomOut": "Зменшити масштаб", + "desktop.appMenu.toggleFullScreen": "Перемкнути повноекранний режим", + "desktop.appMenu.back": "Назад", + "desktop.appMenu.forward": "Вперед", + "desktop.appMenu.previousSession": "Попередня сесія", + "desktop.appMenu.nextSession": "Наступна сесія", + "desktop.appMenu.previousProject": "Попередній проєкт", + "desktop.appMenu.nextProject": "Наступний проєкт", + "desktop.appMenu.minimize": "Згорнути", + "desktop.appMenu.zoomWindow": "Масштаб", + "desktop.appMenu.maximize": "Розгорнути", + "desktop.appMenu.bringAllToFront": "Усі вікна на передній план", + "desktop.appMenu.documentation": "Документація OpenCode", + "desktop.appMenu.supportForum": "Форум підтримки", + "desktop.appMenu.shareFeedback": "Надіслати відгук", + "desktop.appMenu.reportBug": "Повідомити про помилку", + "command.sidebar.toggle": "Перемкнути бічну панель", "command.project.open": "Відкрити проєкт", "command.project.previous": "Попередній проєкт", diff --git a/packages/app/src/i18n/zh.ts b/packages/app/src/i18n/zh.ts index 82d73ac3a6a6..f3b4d4b80e3c 100644 --- a/packages/app/src/i18n/zh.ts +++ b/packages/app/src/i18n/zh.ts @@ -25,6 +25,58 @@ export const dict = { "theme.scheme.light": "浅色", "theme.scheme.dark": "深色", + "desktop.appMenu.ariaLabel": "OpenCode 菜单", + "desktop.appMenu.file": "文件", + "desktop.appMenu.edit": "编辑", + "desktop.appMenu.view": "视图", + "desktop.appMenu.go": "前往", + "desktop.appMenu.window": "窗口", + "desktop.appMenu.help": "帮助", + "desktop.appMenu.about": "关于 OpenCode", + "desktop.appMenu.checkForUpdates": "检查更新...", + "desktop.appMenu.settings": "设置", + "desktop.appMenu.reloadWebview": "重新加载 Webview", + "desktop.appMenu.restart": "重启", + "desktop.appMenu.exportLogs": "导出日志...", + "desktop.appMenu.hide": "隐藏 OpenCode", + "desktop.appMenu.hideOthers": "隐藏其他", + "desktop.appMenu.showAll": "全部显示", + "desktop.appMenu.quit": "退出 OpenCode", + "desktop.appMenu.newSession": "新建会话", + "desktop.appMenu.openProject": "打开项目...", + "desktop.appMenu.newWindow": "新建窗口", + "desktop.appMenu.closeWindow": "关闭窗口", + "desktop.appMenu.undo": "撤销", + "desktop.appMenu.redo": "重做", + "desktop.appMenu.cut": "剪切", + "desktop.appMenu.copy": "复制", + "desktop.appMenu.paste": "粘贴", + "desktop.appMenu.delete": "删除", + "desktop.appMenu.selectAll": "全选", + "desktop.appMenu.toggleSidebar": "切换侧边栏", + "desktop.appMenu.toggleTerminal": "切换终端", + "desktop.appMenu.toggleFileTree": "切换文件树", + "desktop.appMenu.reload": "重新加载", + "desktop.appMenu.toggleDeveloperTools": "切换开发者工具", + "desktop.appMenu.actualSize": "实际大小", + "desktop.appMenu.zoomIn": "放大", + "desktop.appMenu.zoomOut": "缩小", + "desktop.appMenu.toggleFullScreen": "切换全屏", + "desktop.appMenu.back": "后退", + "desktop.appMenu.forward": "前进", + "desktop.appMenu.previousSession": "上一个会话", + "desktop.appMenu.nextSession": "下一个会话", + "desktop.appMenu.previousProject": "上一个项目", + "desktop.appMenu.nextProject": "下一个项目", + "desktop.appMenu.minimize": "最小化", + "desktop.appMenu.zoomWindow": "缩放", + "desktop.appMenu.maximize": "最大化", + "desktop.appMenu.bringAllToFront": "将全部移到最前面", + "desktop.appMenu.documentation": "OpenCode 文档", + "desktop.appMenu.supportForum": "支持论坛", + "desktop.appMenu.shareFeedback": "提供反馈", + "desktop.appMenu.reportBug": "报告错误", + "command.sidebar.toggle": "切换侧边栏", "command.project.open": "打开项目", diff --git a/packages/app/src/i18n/zht.ts b/packages/app/src/i18n/zht.ts index fbe80d95eeff..571e3c023f0b 100644 --- a/packages/app/src/i18n/zht.ts +++ b/packages/app/src/i18n/zht.ts @@ -25,6 +25,58 @@ export const dict = { "theme.scheme.light": "淺色", "theme.scheme.dark": "深色", + "desktop.appMenu.ariaLabel": "OpenCode 選單", + "desktop.appMenu.file": "檔案", + "desktop.appMenu.edit": "編輯", + "desktop.appMenu.view": "檢視", + "desktop.appMenu.go": "前往", + "desktop.appMenu.window": "視窗", + "desktop.appMenu.help": "說明", + "desktop.appMenu.about": "關於 OpenCode", + "desktop.appMenu.checkForUpdates": "檢查更新...", + "desktop.appMenu.settings": "設定", + "desktop.appMenu.reloadWebview": "重新載入 Webview", + "desktop.appMenu.restart": "重新啟動", + "desktop.appMenu.exportLogs": "匯出日誌...", + "desktop.appMenu.hide": "隱藏 OpenCode", + "desktop.appMenu.hideOthers": "隱藏其他項目", + "desktop.appMenu.showAll": "全部顯示", + "desktop.appMenu.quit": "結束 OpenCode", + "desktop.appMenu.newSession": "新增工作階段", + "desktop.appMenu.openProject": "開啟專案...", + "desktop.appMenu.newWindow": "新增視窗", + "desktop.appMenu.closeWindow": "關閉視窗", + "desktop.appMenu.undo": "復原", + "desktop.appMenu.redo": "重做", + "desktop.appMenu.cut": "剪下", + "desktop.appMenu.copy": "複製", + "desktop.appMenu.paste": "貼上", + "desktop.appMenu.delete": "刪除", + "desktop.appMenu.selectAll": "全選", + "desktop.appMenu.toggleSidebar": "切換側邊欄", + "desktop.appMenu.toggleTerminal": "切換終端機", + "desktop.appMenu.toggleFileTree": "切換檔案樹", + "desktop.appMenu.reload": "重新載入", + "desktop.appMenu.toggleDeveloperTools": "切換開發人員工具", + "desktop.appMenu.actualSize": "實際大小", + "desktop.appMenu.zoomIn": "放大", + "desktop.appMenu.zoomOut": "縮小", + "desktop.appMenu.toggleFullScreen": "切換全螢幕", + "desktop.appMenu.back": "返回", + "desktop.appMenu.forward": "前進", + "desktop.appMenu.previousSession": "上一個工作階段", + "desktop.appMenu.nextSession": "下一個工作階段", + "desktop.appMenu.previousProject": "上一個專案", + "desktop.appMenu.nextProject": "下一個專案", + "desktop.appMenu.minimize": "最小化", + "desktop.appMenu.zoomWindow": "縮放", + "desktop.appMenu.maximize": "最大化", + "desktop.appMenu.bringAllToFront": "將全部移到最前面", + "desktop.appMenu.documentation": "OpenCode 文件", + "desktop.appMenu.supportForum": "支援論壇", + "desktop.appMenu.shareFeedback": "提供意見", + "desktop.appMenu.reportBug": "回報錯誤", + "command.sidebar.toggle": "切換側邊欄", "command.project.open": "開啟專案", "command.project.previous": "上一個專案", diff --git a/packages/desktop/src/main/index.ts b/packages/desktop/src/main/index.ts index c7c1643092d1..df3e449ea17c 100644 --- a/packages/desktop/src/main/index.ts +++ b/packages/desktop/src/main/index.ts @@ -270,6 +270,16 @@ const main = Effect.gen(function* () { registerRendererProtocol() setDockIcon() const updater = setupAutoUpdater(stopSidecars) + const menu = createMenu({ + trigger: (id) => { + const win = getLastFocusedWindow() + if (win) sendMenuCommand(win, id) + }, + checkForUpdates: () => { + void showUpdaterDialog(updater, true) + }, + relaunch, + }) registerIpcHandlers({ killSidecar: () => killSidecar(), relaunch, @@ -296,6 +306,7 @@ const main = Effect.gen(function* () { updater, showUpdater: () => showUpdaterDialog(updater, true), setBackgroundColor: (color) => setBackgroundColor(color), + setDesktopMenuLabels: (labels) => menu.setLabels(labels), exportDebugLogs: () => exportDebugLogs(), recordFatalRendererError: (error) => writeLog("renderer", "fatal renderer error", { ...error }, "error"), }) @@ -379,21 +390,8 @@ const main = Effect.gen(function* () { yield* Fiber.await(loadingTask) - const windows = restoreMainWindows() - if (windows.length) { - createMenu({ - trigger: (id) => { - const win = getLastFocusedWindow() - if (win) sendMenuCommand(win, id) - }, - checkForUpdates: () => { - void showUpdaterDialog(updater, true) - }, - relaunch: () => { - relaunch() - }, - }) - } + restoreMainWindows() + menu.show() }) Effect.runFork(main) diff --git a/packages/desktop/src/main/ipc.ts b/packages/desktop/src/main/ipc.ts index 4563b688acea..2ada154824a7 100644 --- a/packages/desktop/src/main/ipc.ts +++ b/packages/desktop/src/main/ipc.ts @@ -3,7 +3,7 @@ import { stat } from "node:fs/promises" import { basename } from "node:path" import { app, BrowserWindow, Notification, clipboard, dialog, ipcMain, shell } from "electron" import type { IpcMainEvent, IpcMainInvokeEvent } from "electron" -import type { DesktopMenuAction } from "@opencode-ai/app/desktop-menu" +import type { DesktopMenuAction, DesktopMenuLabels } from "@opencode-ai/app/desktop-menu" import type { FatalRendererError, ServerReadyData, TitlebarTheme } from "../preload/types" import { runDesktopMenuAction } from "./desktop-menu-actions" @@ -39,6 +39,7 @@ type Deps = { updater: UpdaterController showUpdater: () => Promise | void setBackgroundColor: (color: string) => void + setDesktopMenuLabels: (labels: DesktopMenuLabels) => void exportDebugLogs: () => Promise recordFatalRendererError: (error: FatalRendererError) => Promise | void } @@ -81,6 +82,9 @@ export function registerIpcHandlers(deps: Deps) { ipcMain.handle("updater-check", () => deps.updater.check()) ipcMain.handle("updater-install", () => deps.updater.install()) ipcMain.handle("set-background-color", (_event: IpcMainInvokeEvent, color: string) => deps.setBackgroundColor(color)) + ipcMain.handle("set-desktop-menu-labels", (_event: IpcMainInvokeEvent, labels: DesktopMenuLabels) => + deps.setDesktopMenuLabels(labels), + ) ipcMain.handle("export-debug-logs", () => deps.exportDebugLogs()) ipcMain.handle("set-force-focus", (event: IpcMainInvokeEvent, enabled: boolean) => setForceFocus(event.sender, enabled), diff --git a/packages/desktop/src/main/menu.ts b/packages/desktop/src/main/menu.ts index 7adc65a429b3..a4601e1c1cc2 100644 --- a/packages/desktop/src/main/menu.ts +++ b/packages/desktop/src/main/menu.ts @@ -1,9 +1,13 @@ -import { BrowserWindow, Menu, shell } from "electron" +import { app, BrowserWindow, Menu, shell } from "electron" import type { MenuItemConstructorOptions } from "electron" import { DESKTOP_MENU, + DESKTOP_MENU_LABEL_KEYS, + desktopMenuLabel, desktopMenuVisible, type DesktopMenuEntry, + type DesktopMenuLabelKey, + type DesktopMenuLabels, type DesktopMenuRole, } from "@opencode-ai/app/desktop-menu" @@ -17,27 +21,60 @@ type Deps = { } export function createMenu(deps: Deps) { - if (process.platform !== "darwin") return - - const template = DESKTOP_MENU.filter((menu) => desktopMenuVisible(menu, "macos")).map((menu) => { - if (menu.role) return { role: nativeRole(menu.role) } + if (process.platform !== "darwin") { return { - label: menu.label, - submenu: menu.items - ?.filter((entry) => desktopMenuVisible(entry, "macos")) - .map((entry) => nativeItem(entry, deps)), + show: () => undefined, + setLabels: (_labels: DesktopMenuLabels) => undefined, } - }) + } + + let labels: DesktopMenuLabels = {} + let fingerprint = JSON.stringify(labels) + let shown = false - Menu.setApplicationMenu(Menu.buildFromTemplate(template)) + const build = () => { + const template = DESKTOP_MENU.filter((menu) => desktopMenuVisible(menu, "macos")).map((menu) => { + const label = nativeLabel(menu, labels) + if (menu.role) return { role: nativeRole(menu.role), label } + return { + label, + submenu: menu.items + ?.filter((entry) => desktopMenuVisible(entry, "macos")) + .map((entry) => nativeItem(entry, labels, deps)), + } + }) + + Menu.setApplicationMenu(Menu.buildFromTemplate(template)) + } + + return { + show() { + if (shown) return + shown = true + build() + }, + setLabels(next: DesktopMenuLabels) { + const normalized = Object.fromEntries( + DESKTOP_MENU_LABEL_KEYS.flatMap((key) => { + const value = next?.[key] + return typeof value === "string" && value.trim() ? [[key, value]] : [] + }), + ) + const nextFingerprint = JSON.stringify(normalized) + if (nextFingerprint === fingerprint) return + labels = normalized + fingerprint = nextFingerprint + if (shown) build() + }, + } } -function nativeItem(entry: DesktopMenuEntry, deps: Deps): MenuItemConstructorOptions { +function nativeItem(entry: DesktopMenuEntry, labels: DesktopMenuLabels, deps: Deps): MenuItemConstructorOptions { if (entry.type === "separator") return { type: "separator" } - if (entry.role) return { role: nativeRole(entry.role) } + if (entry.role) return { role: nativeRole(entry.role), label: nativeLabel(entry, labels) } const item: MenuItemConstructorOptions = { - label: entry.label, + label: desktopMenuLabel(entry, labels), accelerator: entry.accelerator?.macos, enabled: entry.enabled === "updater" ? UPDATER_ENABLED : undefined, } @@ -62,6 +99,15 @@ function nativeItem(entry: DesktopMenuEntry, deps: Deps): MenuItemConstructorOpt return item } +function nativeLabel( + item: { label?: string; labelKey?: DesktopMenuLabelKey; role?: DesktopMenuRole }, + labels: DesktopMenuLabels, +) { + const label = desktopMenuLabel(item, labels) + if (!label || !item.role || !["about", "hide", "quit"].includes(item.role)) return label + return label.replace("OpenCode", app.name) +} + function nativeRole(role: DesktopMenuRole) { return role as NonNullable } diff --git a/packages/desktop/src/preload/index.ts b/packages/desktop/src/preload/index.ts index 87eac1fa805e..dec5e600ffed 100644 --- a/packages/desktop/src/preload/index.ts +++ b/packages/desktop/src/preload/index.ts @@ -119,6 +119,7 @@ const api: ElectronAPI = { }, setTitlebar: (theme) => ipcRenderer.invoke("set-titlebar", theme), runDesktopMenuAction: (action) => ipcRenderer.invoke("run-desktop-menu-action", action), + setDesktopMenuLabels: (labels) => ipcRenderer.invoke("set-desktop-menu-labels", labels), setBackgroundColor: (color: string) => ipcRenderer.invoke("set-background-color", color), exportDebugLogs: () => ipcRenderer.invoke("export-debug-logs"), setForceFocus: (enabled) => ipcRenderer.invoke("set-force-focus", enabled), diff --git a/packages/desktop/src/preload/types.ts b/packages/desktop/src/preload/types.ts index 5fbace72c7ca..bbb5a64b3a60 100644 --- a/packages/desktop/src/preload/types.ts +++ b/packages/desktop/src/preload/types.ts @@ -1,4 +1,4 @@ -import type { DesktopMenuAction } from "@opencode-ai/app/desktop-menu" +import type { DesktopMenuAction, DesktopMenuLabels } from "@opencode-ai/app/desktop-menu" import type { WslServersPlatform } from "@opencode-ai/app/wsl/types" import type { UpdaterState } from "@opencode-ai/app/updater" export type { @@ -102,6 +102,7 @@ export type ElectronAPI = { onZoomFactorChanged: (cb: (factor: number) => void) => () => void setTitlebar: (theme: TitlebarTheme) => Promise runDesktopMenuAction: (action: DesktopMenuAction) => Promise + setDesktopMenuLabels: (labels: DesktopMenuLabels) => Promise setBackgroundColor: (color: string) => Promise exportDebugLogs: () => Promise setForceFocus: (enabled: boolean) => Promise diff --git a/packages/desktop/src/renderer/i18n/ar.ts b/packages/desktop/src/renderer/i18n/ar.ts index fdbf0a804708..de3c72f6608b 100644 --- a/packages/desktop/src/renderer/i18n/ar.ts +++ b/packages/desktop/src/renderer/i18n/ar.ts @@ -1,8 +1,5 @@ export const dict = { - "desktop.menu.checkForUpdates": "التحقق من وجود تحديثات...", "desktop.menu.installCli": "تثبيت CLI...", - "desktop.menu.reloadWebview": "إعادة تحميل Webview", - "desktop.menu.restart": "إعادة تشغيل", "desktop.dialog.chooseFolder": "اختر مجلدًا", "desktop.dialog.chooseFile": "اختر ملفًا", diff --git a/packages/desktop/src/renderer/i18n/br.ts b/packages/desktop/src/renderer/i18n/br.ts index 75fe2dc32bc7..fd7de953cd84 100644 --- a/packages/desktop/src/renderer/i18n/br.ts +++ b/packages/desktop/src/renderer/i18n/br.ts @@ -1,8 +1,5 @@ export const dict = { - "desktop.menu.checkForUpdates": "Verificar atualizações...", "desktop.menu.installCli": "Instalar CLI...", - "desktop.menu.reloadWebview": "Recarregar Webview", - "desktop.menu.restart": "Reiniciar", "desktop.dialog.chooseFolder": "Escolher uma pasta", "desktop.dialog.chooseFile": "Escolher um arquivo", diff --git a/packages/desktop/src/renderer/i18n/bs.ts b/packages/desktop/src/renderer/i18n/bs.ts index 58c266f5305e..a8e0b387588d 100644 --- a/packages/desktop/src/renderer/i18n/bs.ts +++ b/packages/desktop/src/renderer/i18n/bs.ts @@ -1,8 +1,5 @@ export const dict = { - "desktop.menu.checkForUpdates": "Provjeri ažuriranja...", "desktop.menu.installCli": "Instaliraj CLI...", - "desktop.menu.reloadWebview": "Ponovo učitavanje webview-a", - "desktop.menu.restart": "Restartuj", "desktop.dialog.chooseFolder": "Odaberi folder", "desktop.dialog.chooseFile": "Odaberi datoteku", diff --git a/packages/desktop/src/renderer/i18n/da.ts b/packages/desktop/src/renderer/i18n/da.ts index 2109495f7612..8462f96556a5 100644 --- a/packages/desktop/src/renderer/i18n/da.ts +++ b/packages/desktop/src/renderer/i18n/da.ts @@ -1,8 +1,5 @@ export const dict = { - "desktop.menu.checkForUpdates": "Tjek for opdateringer...", "desktop.menu.installCli": "Installer CLI...", - "desktop.menu.reloadWebview": "Genindlæs Webview", - "desktop.menu.restart": "Genstart", "desktop.dialog.chooseFolder": "Vælg en mappe", "desktop.dialog.chooseFile": "Vælg en fil", diff --git a/packages/desktop/src/renderer/i18n/de.ts b/packages/desktop/src/renderer/i18n/de.ts index 38ad8096e31e..5522bf1ecf72 100644 --- a/packages/desktop/src/renderer/i18n/de.ts +++ b/packages/desktop/src/renderer/i18n/de.ts @@ -1,8 +1,5 @@ export const dict = { - "desktop.menu.checkForUpdates": "Nach Updates suchen...", "desktop.menu.installCli": "CLI installieren...", - "desktop.menu.reloadWebview": "Webview neu laden", - "desktop.menu.restart": "Neustart", "desktop.dialog.chooseFolder": "Ordner auswählen", "desktop.dialog.chooseFile": "Datei auswählen", diff --git a/packages/desktop/src/renderer/i18n/en.ts b/packages/desktop/src/renderer/i18n/en.ts index 4c30380d562c..5f09de3b8b28 100644 --- a/packages/desktop/src/renderer/i18n/en.ts +++ b/packages/desktop/src/renderer/i18n/en.ts @@ -1,8 +1,5 @@ export const dict = { - "desktop.menu.checkForUpdates": "Check for Updates...", "desktop.menu.installCli": "Install CLI...", - "desktop.menu.reloadWebview": "Reload Webview", - "desktop.menu.restart": "Restart", "desktop.dialog.chooseFolder": "Choose a folder", "desktop.dialog.chooseFile": "Choose a file", diff --git a/packages/desktop/src/renderer/i18n/es.ts b/packages/desktop/src/renderer/i18n/es.ts index 80504a8f248c..584446b4fbc6 100644 --- a/packages/desktop/src/renderer/i18n/es.ts +++ b/packages/desktop/src/renderer/i18n/es.ts @@ -1,8 +1,5 @@ export const dict = { - "desktop.menu.checkForUpdates": "Buscar actualizaciones...", "desktop.menu.installCli": "Instalar CLI...", - "desktop.menu.reloadWebview": "Recargar Webview", - "desktop.menu.restart": "Reiniciar", "desktop.dialog.chooseFolder": "Elegir una carpeta", "desktop.dialog.chooseFile": "Elegir un archivo", diff --git a/packages/desktop/src/renderer/i18n/fr.ts b/packages/desktop/src/renderer/i18n/fr.ts index 4f0bb2b16c65..03ce49d9dbec 100644 --- a/packages/desktop/src/renderer/i18n/fr.ts +++ b/packages/desktop/src/renderer/i18n/fr.ts @@ -1,8 +1,5 @@ export const dict = { - "desktop.menu.checkForUpdates": "Vérifier les mises à jour...", "desktop.menu.installCli": "Installer la CLI...", - "desktop.menu.reloadWebview": "Recharger la Webview", - "desktop.menu.restart": "Redémarrer", "desktop.dialog.chooseFolder": "Choisir un dossier", "desktop.dialog.chooseFile": "Choisir un fichier", diff --git a/packages/desktop/src/renderer/i18n/ja.ts b/packages/desktop/src/renderer/i18n/ja.ts index fc485c6f401d..745b6682a54f 100644 --- a/packages/desktop/src/renderer/i18n/ja.ts +++ b/packages/desktop/src/renderer/i18n/ja.ts @@ -1,8 +1,5 @@ export const dict = { - "desktop.menu.checkForUpdates": "アップデートを確認...", "desktop.menu.installCli": "CLI をインストール...", - "desktop.menu.reloadWebview": "Webview を再読み込み", - "desktop.menu.restart": "再起動", "desktop.dialog.chooseFolder": "フォルダーを選択", "desktop.dialog.chooseFile": "ファイルを選択", diff --git a/packages/desktop/src/renderer/i18n/ko.ts b/packages/desktop/src/renderer/i18n/ko.ts index be27cec86aca..503d1e3b57e3 100644 --- a/packages/desktop/src/renderer/i18n/ko.ts +++ b/packages/desktop/src/renderer/i18n/ko.ts @@ -1,8 +1,5 @@ export const dict = { - "desktop.menu.checkForUpdates": "업데이트 확인...", "desktop.menu.installCli": "CLI 설치...", - "desktop.menu.reloadWebview": "Webview 새로고침", - "desktop.menu.restart": "다시 시작", "desktop.dialog.chooseFolder": "폴더 선택", "desktop.dialog.chooseFile": "파일 선택", diff --git a/packages/desktop/src/renderer/i18n/no.ts b/packages/desktop/src/renderer/i18n/no.ts index e39bd7f3b447..6c48ec43a1cc 100644 --- a/packages/desktop/src/renderer/i18n/no.ts +++ b/packages/desktop/src/renderer/i18n/no.ts @@ -1,8 +1,5 @@ export const dict = { - "desktop.menu.checkForUpdates": "Se etter oppdateringer...", "desktop.menu.installCli": "Installer CLI...", - "desktop.menu.reloadWebview": "Last inn Webview på nytt", - "desktop.menu.restart": "Start på nytt", "desktop.dialog.chooseFolder": "Velg en mappe", "desktop.dialog.chooseFile": "Velg en fil", diff --git a/packages/desktop/src/renderer/i18n/pl.ts b/packages/desktop/src/renderer/i18n/pl.ts index d3ad7ce64f81..c24e494a2700 100644 --- a/packages/desktop/src/renderer/i18n/pl.ts +++ b/packages/desktop/src/renderer/i18n/pl.ts @@ -1,8 +1,5 @@ export const dict = { - "desktop.menu.checkForUpdates": "Sprawdź aktualizacje...", "desktop.menu.installCli": "Zainstaluj CLI...", - "desktop.menu.reloadWebview": "Przeładuj Webview", - "desktop.menu.restart": "Restartuj", "desktop.dialog.chooseFolder": "Wybierz folder", "desktop.dialog.chooseFile": "Wybierz plik", diff --git a/packages/desktop/src/renderer/i18n/ru.ts b/packages/desktop/src/renderer/i18n/ru.ts index 8e09cc45b49d..822d4ecf5286 100644 --- a/packages/desktop/src/renderer/i18n/ru.ts +++ b/packages/desktop/src/renderer/i18n/ru.ts @@ -1,8 +1,5 @@ export const dict = { - "desktop.menu.checkForUpdates": "Проверить обновления...", "desktop.menu.installCli": "Установить CLI...", - "desktop.menu.reloadWebview": "Перезагрузить Webview", - "desktop.menu.restart": "Перезапустить", "desktop.dialog.chooseFolder": "Выберите папку", "desktop.dialog.chooseFile": "Выберите файл", diff --git a/packages/desktop/src/renderer/i18n/uk.ts b/packages/desktop/src/renderer/i18n/uk.ts index f9a6212b228b..bff41265b3c9 100644 --- a/packages/desktop/src/renderer/i18n/uk.ts +++ b/packages/desktop/src/renderer/i18n/uk.ts @@ -1,8 +1,5 @@ export const dict = { - "desktop.menu.checkForUpdates": "Перевірити оновлення...", "desktop.menu.installCli": "Встановити CLI...", - "desktop.menu.reloadWebview": "Перезавантажити Webview", - "desktop.menu.restart": "Перезапустити", "desktop.dialog.chooseFolder": "Виберіть теку", "desktop.dialog.chooseFile": "Виберіть файл", diff --git a/packages/desktop/src/renderer/i18n/zh.ts b/packages/desktop/src/renderer/i18n/zh.ts index aeb3a54e03e9..acdf304bae93 100644 --- a/packages/desktop/src/renderer/i18n/zh.ts +++ b/packages/desktop/src/renderer/i18n/zh.ts @@ -1,8 +1,5 @@ export const dict = { - "desktop.menu.checkForUpdates": "检查更新...", "desktop.menu.installCli": "安装 CLI...", - "desktop.menu.reloadWebview": "重新加载 Webview", - "desktop.menu.restart": "重启", "desktop.dialog.chooseFolder": "选择文件夹", "desktop.dialog.chooseFile": "选择文件", diff --git a/packages/desktop/src/renderer/i18n/zht.ts b/packages/desktop/src/renderer/i18n/zht.ts index 7fd677aca444..346c9d3295a3 100644 --- a/packages/desktop/src/renderer/i18n/zht.ts +++ b/packages/desktop/src/renderer/i18n/zht.ts @@ -1,8 +1,5 @@ export const dict = { - "desktop.menu.checkForUpdates": "檢查更新...", "desktop.menu.installCli": "安裝 CLI...", - "desktop.menu.reloadWebview": "重新載入 Webview", - "desktop.menu.restart": "重新啟動", "desktop.dialog.chooseFolder": "選擇資料夾", "desktop.dialog.chooseFile": "選擇檔案", diff --git a/packages/desktop/src/renderer/index.tsx b/packages/desktop/src/renderer/index.tsx index b7d2d9a74dad..007328712e6f 100644 --- a/packages/desktop/src/renderer/index.tsx +++ b/packages/desktop/src/renderer/index.tsx @@ -300,6 +300,8 @@ const createPlatform = (windowState: DesktopWindowState): Platform => { runDesktopMenuAction, + setDesktopMenuLabels: os === "macos" ? (labels) => window.api.setDesktopMenuLabels(labels) : undefined, + checkAppExists: async (appName: string) => { return window.api.checkAppExists(appName) },