diff --git a/.github/workflows/build-ghosttykit.yml b/.github/workflows/build-ghosttykit.yml index a6e296e9c413..5468c178b4e0 100644 --- a/.github/workflows/build-ghosttykit.yml +++ b/.github/workflows/build-ghosttykit.yml @@ -129,6 +129,17 @@ jobs: -Dtest-filter="unfocused render pacer spaces unfocused frames" \ --summary all + - name: Test Ghostty prompt input + run: | + set -euo pipefail + cd ghostty + zig build test \ + -Dapp-runtime=none \ + -Demit-macos-app=false \ + -Dsentry=false \ + -Dtest-filter="promptInput" \ + --summary all + - name: Test Ghostty startup input bytes run: | set -euo pipefail diff --git a/Packages/macOS/CmuxFoundation/Sources/CmuxFoundation/ConfigValidation/CmuxConfigSchema.generated.swift b/Packages/macOS/CmuxFoundation/Sources/CmuxFoundation/ConfigValidation/CmuxConfigSchema.generated.swift index 308f0dfbb70f..a7a352d7a2e5 100644 --- a/Packages/macOS/CmuxFoundation/Sources/CmuxFoundation/ConfigValidation/CmuxConfigSchema.generated.swift +++ b/Packages/macOS/CmuxFoundation/Sources/CmuxFoundation/ConfigValidation/CmuxConfigSchema.generated.swift @@ -846,6 +846,11 @@ enum CmuxEmbeddedConfigSchema { "default": false, "description": "Keep textEditingGestures active while a full-screen application has the terminal on the alternate screen. tmux, screen, and zellij keep the outer terminal on the alternate screen even at their shell prompt, so turn this on to use gestures inside a multiplexer. Applications that bind the gesture chords themselves then receive the translated keys." }, + "promptSelection": { + "type": "boolean", + "default": false, + "description": "When true, the shell input at a prompt behaves like a text field for selection: Command-A selects only the command being typed (an empty prompt keeps select-all), Shift-Left/Right and Command-Shift-Left/Right extend the selection, and typing, Delete, or Command-X replace it through arrow and Backspace keys. Needs shell integration (OSC 133) and applies only at a prompt on the main screen, never inside full-screen TUIs or while a command runs. Assumes an emacs-style line editor; in vi command mode the replayed Backspace keys move instead of deleting." + }, "showPasswordInputIndicator": { "type": "boolean", "default": true, diff --git a/Packages/macOS/CmuxSettings/Sources/CmuxSettings/Keys/TerminalCatalogSection.swift b/Packages/macOS/CmuxSettings/Sources/CmuxSettings/Keys/TerminalCatalogSection.swift index 98f85bf57ade..e76c7a1948fb 100644 --- a/Packages/macOS/CmuxSettings/Sources/CmuxSettings/Keys/TerminalCatalogSection.swift +++ b/Packages/macOS/CmuxSettings/Sources/CmuxSettings/Keys/TerminalCatalogSection.swift @@ -72,6 +72,17 @@ public struct TerminalCatalogSection: SettingCatalogSection { userDefaultsKey: "terminal.textEditingGestures" ) + /// Whether the shell input at a prompt behaves like a text field for + /// selection: Command-A selects the command being typed, Shift-arrows + /// extend, and typing, Delete, or Command-X replace the selection. Needs + /// shell integration (OSC 133). Off by default, because edits replay + /// arrow and Backspace keys that assume an emacs-style line editor. + public let promptSelection = DefaultsKey( + id: "terminal.promptSelection", + defaultValue: false, + userDefaultsKey: "terminal.promptSelection" + ) + /// Whether text-editing gestures use the browser-style layout: Command /// moves and deletes by word like Option, and Control+Left/Right move to /// the line start and end. Only consulted while ``textEditingGestures`` is diff --git a/Packages/macOS/CmuxSettingsUI/Sources/CmuxSettingsUI/Navigation/CuratedSettingEntry+Default.swift b/Packages/macOS/CmuxSettingsUI/Sources/CmuxSettingsUI/Navigation/CuratedSettingEntry+Default.swift index ec7ef6b3f70e..0c1967ae9ddd 100644 --- a/Packages/macOS/CmuxSettingsUI/Sources/CmuxSettingsUI/Navigation/CuratedSettingEntry+Default.swift +++ b/Packages/macOS/CmuxSettingsUI/Sources/CmuxSettingsUI/Navigation/CuratedSettingEntry+Default.swift @@ -181,6 +181,7 @@ extension Array where Element == CuratedSettingEntry { synonyms: "terminal.scrollSpeed scroll speed multiplier wheel mouse trackpad sensitivity faster slower" ), .init(section: .terminal, id: "copy-on-select", title: String(localized: "settings.terminal.copyOnSelect", defaultValue: "Copy on Selection"), synonyms: "Copy on Selection terminal.copyOnSelect copy on selection select clipboard mouse double click triple click iterm"), + .init(section: .terminal, id: "prompt-selection", title: String(localized: "settings.terminal.promptSelection", defaultValue: "Prompt Text Selection"), synonyms: "Prompt Text Selection terminal.promptSelection prompt text selection select all command a shift arrow cut replace shell input command line text field osc 133"), .init(section: .terminal, id: "text-editing-gestures", title: String(localized: "settings.terminal.textEditingGestures", defaultValue: "Text Editing Gestures"), synonyms: "Text Editing Gestures terminal.textEditingGestures text editing gestures option alt word line kill readline emacs keybindings command arrow delete"), .init( section: .terminal, diff --git a/Packages/macOS/CmuxSettingsUI/Sources/CmuxSettingsUI/Sections/TerminalSection.swift b/Packages/macOS/CmuxSettingsUI/Sources/CmuxSettingsUI/Sections/TerminalSection.swift index 405079715836..569498a39d82 100644 --- a/Packages/macOS/CmuxSettingsUI/Sources/CmuxSettingsUI/Sections/TerminalSection.swift +++ b/Packages/macOS/CmuxSettingsUI/Sources/CmuxSettingsUI/Sections/TerminalSection.swift @@ -26,6 +26,7 @@ public struct TerminalSection: View { @State private var reflowHardWrapOnCopy: DefaultsValueModel @State private var confirmUnsafePaste: DefaultsValueModel @State private var textEditingGestures: DefaultsValueModel + @State private var promptSelection: DefaultsValueModel @State private var textEditingCommandMovesByWord: DefaultsValueModel @State private var textEditingGesturesInFullScreenApps: DefaultsValueModel @State private var passwordInputIndicator: DefaultsValueModel @@ -61,6 +62,7 @@ public struct TerminalSection: View { _reflowHardWrapOnCopy = State(initialValue: DefaultsValueModel(store: defaultsStore, key: catalog.terminal.reflowHardWrapOnCopy)) _confirmUnsafePaste = State(initialValue: DefaultsValueModel(store: defaultsStore, key: catalog.terminal.confirmUnsafePaste)) _textEditingGestures = State(initialValue: DefaultsValueModel(store: defaultsStore, key: catalog.terminal.textEditingGestures)) + _promptSelection = State(initialValue: DefaultsValueModel(store: defaultsStore, key: catalog.terminal.promptSelection)) _textEditingCommandMovesByWord = State( initialValue: DefaultsValueModel(store: defaultsStore, key: catalog.terminal.textEditingCommandMovesByWord) ) @@ -109,6 +111,7 @@ public struct TerminalSection: View { reflowHardWrapOnCopy, confirmUnsafePaste, textEditingGestures, + promptSelection, textEditingCommandMovesByWord, textEditingGesturesInFullScreenApps, passwordInputIndicator, @@ -448,6 +451,19 @@ public struct TerminalSection: View { .accessibilityIdentifier("SettingsTerminalTextEditingGesturesToggle") } SettingsCardDivider() + SettingsCardRow( + configurationReview: .json("terminal.promptSelection"), + String(localized: "settings.terminal.promptSelection", defaultValue: "Prompt Text Selection"), + subtitle: promptSelection.current + ? String(localized: "settings.terminal.promptSelection.subtitleOn", defaultValue: "At a shell prompt, Command-A selects the command you're typing, Shift-arrow keys extend the selection, and typing, Delete, or Command-X replace it. Needs shell integration and an emacs-style line editor.") + : String(localized: "settings.terminal.promptSelection.subtitleOff", defaultValue: "Command-A selects everything in the terminal, and typing never replaces a selection.") + ) { + Toggle("", isOn: Binding(get: { promptSelection.current }, set: { promptSelection.set($0) })) + .labelsHidden() + .controlSize(.small) + .accessibilityIdentifier("SettingsTerminalPromptSelectionToggle") + } + SettingsCardDivider() SettingsCardRow( configurationReview: .json("terminal.textEditingCommandMovesByWord"), String(localized: "settings.terminal.textEditingCommandMovesByWord", defaultValue: "Command Moves by Word"), diff --git a/Packages/macOS/CmuxSettingsUI/Tests/CmuxSettingsUITests/SettingsRowAnchorResolutionTests.swift b/Packages/macOS/CmuxSettingsUI/Tests/CmuxSettingsUITests/SettingsRowAnchorResolutionTests.swift index 4858c4f47eea..58af39ac5641 100644 --- a/Packages/macOS/CmuxSettingsUI/Tests/CmuxSettingsUITests/SettingsRowAnchorResolutionTests.swift +++ b/Packages/macOS/CmuxSettingsUI/Tests/CmuxSettingsUITests/SettingsRowAnchorResolutionTests.swift @@ -153,6 +153,7 @@ struct SettingsRowAnchorResolutionTests { "terminal.showPasswordInputDots", "terminal.predictiveLocalEcho", "terminal.textEditingGestures", + "terminal.promptSelection", "terminal.textEditingCommandMovesByWord", "terminal.textEditingGesturesInFullScreenApps", "terminal.resumeCommands", diff --git a/Packages/macOS/CmuxTerminal/Tests/GhosttyRuntimeTestStubs/GhosttyRuntimeTestStubs.c b/Packages/macOS/CmuxTerminal/Tests/GhosttyRuntimeTestStubs/GhosttyRuntimeTestStubs.c index 77077d16bfb9..e29ce15f151f 100644 --- a/Packages/macOS/CmuxTerminal/Tests/GhosttyRuntimeTestStubs/GhosttyRuntimeTestStubs.c +++ b/Packages/macOS/CmuxTerminal/Tests/GhosttyRuntimeTestStubs/GhosttyRuntimeTestStubs.c @@ -525,6 +525,8 @@ bool ghostty_surface_needs_confirm_quit(void *surface) { return cmux_test_needs_confirm_quit; } void ghostty_surface_new(void) {} +void ghostty_surface_prompt_input(void) {} +void ghostty_surface_select_prompt_input(void) {} bool ghostty_surface_process_exited(void *surface) { (void)surface; return false; diff --git a/Packages/macOS/CmuxTerminal/Tests/GhosttyRuntimeTestStubs/include/GhosttyRuntimeTestStubs.h b/Packages/macOS/CmuxTerminal/Tests/GhosttyRuntimeTestStubs/include/GhosttyRuntimeTestStubs.h index d251c00bddfb..39b7ee95db5e 100644 --- a/Packages/macOS/CmuxTerminal/Tests/GhosttyRuntimeTestStubs/include/GhosttyRuntimeTestStubs.h +++ b/Packages/macOS/CmuxTerminal/Tests/GhosttyRuntimeTestStubs/include/GhosttyRuntimeTestStubs.h @@ -77,6 +77,8 @@ void ghostty_surface_mouse_pos(void); void ghostty_surface_mouse_scroll(void); bool ghostty_surface_needs_confirm_quit(void *surface); void ghostty_surface_new(void); +void ghostty_surface_prompt_input(void); +void ghostty_surface_select_prompt_input(void); bool ghostty_surface_process_exited(void *surface); void ghostty_surface_process_output(void *surface, const char *data, uintptr_t len); void ghostty_surface_quicklook_font(void); diff --git a/Packages/macOS/CmuxTerminalCore/Sources/CmuxTerminalCore/Interop/TerminalPromptInputSnapshot+Ghostty.swift b/Packages/macOS/CmuxTerminalCore/Sources/CmuxTerminalCore/Interop/TerminalPromptInputSnapshot+Ghostty.swift new file mode 100644 index 000000000000..42a98be42563 --- /dev/null +++ b/Packages/macOS/CmuxTerminalCore/Sources/CmuxTerminalCore/Interop/TerminalPromptInputSnapshot+Ghostty.swift @@ -0,0 +1,26 @@ +public import GhosttyKit + +extension TerminalPromptInputSnapshot { + /// Reads the shell input under the cursor of a live Ghostty surface. + /// + /// Takes Ghostty's renderer lock once, so call it for selection gestures, + /// not on every keystroke. + /// + /// - Parameter surface: A live runtime surface. + /// - Returns: The snapshot, or `nil` when Ghostty reports no editable + /// prompt: the alternate screen, a running command, no shell + /// integration, or a line without a prompt before its input. + public static func read(from surface: ghostty_surface_t) -> TerminalPromptInputSnapshot? { + var input = ghostty_surface_prompt_input_s() + guard ghostty_surface_prompt_input(surface, &input) else { return nil } + let selection: Range? = input.has_selection && input.selection_end > input.selection_start + ? Int(input.selection_start).. Bool { + ghostty_surface_select_prompt_input( + surface, + UInt32(clamping: range.lowerBound), + UInt32(clamping: range.upperBound) + ) + } +} diff --git a/Packages/macOS/CmuxTerminalCore/Sources/CmuxTerminalCore/TextEditing/TerminalPromptSelection.swift b/Packages/macOS/CmuxTerminalCore/Sources/CmuxTerminalCore/TextEditing/TerminalPromptSelection.swift new file mode 100644 index 000000000000..11ff9ef086ce --- /dev/null +++ b/Packages/macOS/CmuxTerminalCore/Sources/CmuxTerminalCore/TextEditing/TerminalPromptSelection.swift @@ -0,0 +1,376 @@ +/// The shell input the cursor is editing, as Ghostty reports it. +/// +/// Offsets count caret stops: input cells holding a character, with +/// wide-character spacers skipped. Each stop is one Left/Right arrow step for +/// a line editor such as zle or readline, so a selection over stops can be +/// turned into cursor motion plus deletion without the shell knowing anything +/// about selection. +public struct TerminalPromptInputSnapshot: Equatable, Sendable { + /// Caret stops in the input. + public let length: Int + + /// Caret stops before the cursor, in `0...length`. + public let caret: Int + + /// The selected stops, present only when the terminal selection lies + /// wholly within the input. + public let selection: Range? + + /// Whether the terminal has a selection that is not wholly inside the + /// input, such as earlier output selected with the mouse. Shift-arrows + /// then belong to that selection, not to the prompt. + public let selectionOutsideInput: Bool + + /// Creates a snapshot. + /// + /// - Parameters: + /// - length: Caret stops in the input. + /// - caret: Caret stops before the cursor. + /// - selection: The selected stops, or `nil` when the terminal selection + /// is absent or reaches outside the input. + /// - selectionOutsideInput: Whether a terminal selection exists that + /// does not lie wholly inside the input. + public init(length: Int, caret: Int, selection: Range?, selectionOutsideInput: Bool = false) { + self.length = length + self.caret = caret + self.selection = selection + self.selectionOutsideInput = selectionOutsideInput + } +} + +/// A prompt selection with the direction a text field gives it. +/// +/// Terminal selections have no direction, so cmux keeps the anchor itself. +/// `anchor` stays put while Shift+arrow moves `head`. +public struct TerminalPromptSelection: Equatable, Sendable { + /// The end that stays fixed while the selection is extended. + public let anchor: Int + + /// The end that Shift+arrow moves. + public let head: Int + + /// Creates a directed selection. + /// + /// - Parameters: + /// - anchor: The fixed end. + /// - head: The moving end. + public init(anchor: Int, head: Int) { + self.anchor = anchor + self.head = head + } + + /// The selected caret stops. + public var range: Range { min(anchor, head).. Select All. + case selectAll + /// Shift-extended caret motion. + case extend(TerminalPromptSelectionDirection, TerminalPromptSelectionGranularity) + /// Cmd+X, Edit > Cut. + case cut + /// Plain Left/Right, which collapses a selection toward that edge. + /// + /// The caret moves left onto the edge but never right, so collapsing + /// cannot accept a zsh autosuggestion. + case collapse(TerminalPromptSelectionDirection) + /// Backspace or forward Delete. + case delete + /// A keystroke that inserts printable text. + case insertText +} + +/// Keystrokes that move the shell caret and delete the selected input. +/// +/// The arrows run first, leaving the caret just after the selection, then +/// `deleteBackward` backspaces remove it. Backspace is used for both deletion +/// keys because every line editor binds it; forward delete is not universal. +/// +/// This assumes an emacs-style keymap. In a vi command mode Backspace moves +/// instead of deleting, and a Right arrow at the end of a zsh buffer accepts +/// an autosuggestion, so an edit that reaches into a suggestion does the +/// wrong thing. It also assumes one cell per buffer character: a control +/// character the line editor shows as `^X` takes two cells, and a literal +/// Tab several, so an edit across one sends too many Backspaces. +public struct TerminalPromptInputEdit: Equatable, Sendable { + /// Left-arrow presses to send first. + public let moveLeft: Int + + /// Right-arrow presses to send first. + public let moveRight: Int + + /// Backspace presses to send after the arrows. + public let deleteBackward: Int + + /// Creates an edit. + /// + /// - Parameters: + /// - moveLeft: Left-arrow presses. + /// - moveRight: Right-arrow presses. + /// - deleteBackward: Backspace presses. + public init(moveLeft: Int, moveRight: Int, deleteBackward: Int) { + self.moveLeft = moveLeft + self.moveRight = moveRight + self.deleteBackward = deleteBackward + } + + /// The edit that removes `range` when the caret sits at `caret`. + /// + /// - Parameters: + /// - range: The caret stops to delete. + /// - caret: The current caret, in stops. + /// - Returns: The arrow and backspace counts. + public static func deleting(_ range: Range, caret: Int) -> TerminalPromptInputEdit { + TerminalPromptInputEdit( + moveLeft: max(0, caret - range.upperBound), + moveRight: max(0, range.upperBound - caret), + deleteBackward: range.count + ) + } + + /// The edit that only moves the caret from `caret` to `target`. + /// + /// - Parameters: + /// - target: The caret stop to move to. + /// - caret: The current caret, in stops. + /// - Returns: The arrow counts, with no deletion. + public static func moving(to target: Int, caret: Int) -> TerminalPromptInputEdit { + TerminalPromptInputEdit( + moveLeft: max(0, caret - target), + moveRight: max(0, target - caret), + deleteBackward: 0 + ) + } +} + +/// What the terminal view should do with a prompt selection intent. +public enum TerminalPromptSelectionAction: Equatable, Sendable { + /// Not ours: deliver the event exactly as the terminal does today. + case passThrough + /// Ours, but nothing changes, such as Shift+Left at the start of input. + case consume + /// Select the given stops and remember the direction. + case select(TerminalPromptSelection) + /// Clear the selection; the extension collapsed it onto its anchor. + /// + /// The caller keeps the empty `collapsed` selection as its tracked state + /// so the next Shift+arrow continues from there, and drops it on any + /// other input. + case clearSelection(collapsed: TerminalPromptSelection) + /// Clear the selection and apply `edit`. + /// + /// When `copyFirst` is set the selection is copied before it is cleared + /// (Cut). When `thenPassThrough` is set the original keystroke is still + /// delivered afterward, so typed text replaces the selection. + case edit(TerminalPromptInputEdit, copyFirst: Bool, thenPassThrough: Bool) +} + +/// Resolves a text-field gesture against the shell input under the cursor. +/// +/// A `nil` snapshot means Ghostty reported no editable prompt: no shell +/// integration, a command running, or the alternate screen. Every intent then +/// passes through, so TUIs and bare shells behave exactly as they do today. +/// Cut, delete, and typing only act on a selection that lies wholly inside the +/// input; anything else passes through, which also means Cut never copies an +/// empty selection. +/// +/// ```swift +/// let action = terminalPromptSelectionResolve( +/// intent: .selectAll, +/// snapshot: TerminalPromptInputSnapshot(length: 5, caret: 5, selection: nil), +/// tracked: nil +/// ) +/// // action == .select(TerminalPromptSelection(anchor: 0, head: 5)) +/// ``` +/// +/// - Parameters: +/// - intent: The gesture. +/// - snapshot: The input under the cursor, or `nil` when not at a prompt. +/// - tracked: The directed selection cmux last made, if any. It is trusted +/// only while it still matches the terminal's selection. +/// - Returns: The action to take. +public func terminalPromptSelectionResolve( + intent: TerminalPromptSelectionIntent, + snapshot: TerminalPromptInputSnapshot?, + tracked: TerminalPromptSelection? +) -> TerminalPromptSelectionAction { + guard let snapshot else { return .passThrough } + let length = max(0, snapshot.length) + let caret = min(max(0, snapshot.caret), length) + let selection = snapshot.selection.flatMap { range -> Range? in + let clamped = range.clamped(to: 0.. 0 else { return .passThrough } + return .select(TerminalPromptSelection(anchor: 0, head: length)) + + case let .extend(direction, granularity): + // A selection elsewhere in the terminal keeps Ghostty's own + // Shift-arrow handling (adjust_selection). + if selection == nil, snapshot.selectionOutsideInput { return .passThrough } + let current = terminalPromptSelectionCurrent( + selection: selection, + tracked: tracked, + caret: caret, + length: length, + direction: direction + ) + let head: Int + switch (direction, granularity) { + case (.backward, .character): head = max(0, current.head - 1) + case (.forward, .character): head = min(length, current.head + 1) + case (.backward, .inputBoundary): head = 0 + case (.forward, .inputBoundary): head = length + } + guard head != current.head else { return .consume } + guard head != current.anchor else { + return .clearSelection(collapsed: TerminalPromptSelection(anchor: head, head: head)) + } + return .select(TerminalPromptSelection(anchor: current.anchor, head: head)) + + case let .collapse(direction): + guard let selection else { return .passThrough } + // Collapsing never presses Right. At the end of a zsh buffer, Right + // accepts an autosuggestion, and the suggestion's cells read as input, + // so a selection can reach past the real buffer. When the edge lies + // right of the caret the caret stays put, which is already that edge + // for Cmd+A at the end of the line and for a Shift+Right extension's + // anchor side. + let edge = direction == .backward ? selection.lowerBound : selection.upperBound + return .edit(.moving(to: min(edge, caret), caret: caret), copyFirst: false, thenPassThrough: false) + + case .cut, .delete, .insertText: + guard let selection else { return .passThrough } + return .edit( + .deleting(selection, caret: caret), + copyFirst: intent == .cut, + thenPassThrough: intent == .insertText + ) + } +} + +/// The directed selection an extension starts from. +/// +/// The tracked selection wins while it matches the terminal, including an +/// empty one left by a collapse. A selection cmux did not make (a mouse drag +/// inside the input) is extended from its far end in the direction of +/// travel. With neither, the caret is both anchor and head. +private func terminalPromptSelectionCurrent( + selection: Range?, + tracked: TerminalPromptSelection?, + caret: Int, + length: Int, + direction: TerminalPromptSelectionDirection +) -> TerminalPromptSelection { + guard let selection else { + // Trust a collapse point only while it still lies inside the input. + if let tracked, tracked.range.isEmpty, tracked.head <= length { return tracked } + return TerminalPromptSelection(anchor: caret, head: caret) + } + if let tracked, tracked.range == selection { return tracked } + switch direction { + case .backward: + return TerminalPromptSelection(anchor: selection.upperBound, head: selection.lowerBound) + case .forward: + return TerminalPromptSelection(anchor: selection.lowerBound, head: selection.upperBound) + } +} + +/// Maps a key-down event to a prompt selection intent. +/// +/// Cmd+A and Cmd+X are not mapped here: the terminal view matches them in +/// its key-equivalent path, ahead of Ghostty's `select_all` binding. +/// Control-bearing events never map, so Ctrl+C keeps reaching the shell. +/// Option+arrow and Option+Delete do not map; word-wise selection needs the +/// input text, which Ghostty does not export. +/// Option-typed text (German `@`, accented letters) does map to insertion. +/// +/// Plain arrows and plain typing map too, but the resolver passes them +/// through unless a selection lies inside the input, so the caller should +/// consult it only while it holds a prompt selection. +/// +/// This is pure and cheap so the key path can call it before doing any +/// terminal I/O. +/// +/// - Parameters: +/// - keyCode: The virtual key code. +/// - modifiers: The event modifiers, already mapped off AppKit. +/// - producesText: Whether the event inserts printable text (not a control +/// character, not Return or Tab, not marked text). Must be `false` when +/// Option is acting as Alt (`macos-option-as-alt`), since the shell then +/// receives a Meta chord rather than text. +/// - Returns: The intent, or `nil` when the event is not one this layer owns. +public func terminalPromptSelectionIntent( + keyCode: UInt16, + modifiers: TerminalTextEditingModifiers, + producesText: Bool +) -> TerminalPromptSelectionIntent? { + let normalized = terminalTextEditingNormalizedModifiers(modifiers) + guard !normalized.contains(.control) else { return nil } + + switch keyCode { + case TerminalTextEditingKeyCode.leftArrow, TerminalTextEditingKeyCode.rightArrow: + let direction: TerminalPromptSelectionDirection = + keyCode == TerminalTextEditingKeyCode.leftArrow ? .backward : .forward + switch normalized { + case []: return .collapse(direction) + case [.shift]: return .extend(direction, .character) + case [.shift, .command]: return .extend(direction, .inputBoundary) + default: return nil + } + case TerminalTextEditingKeyCode.backspace, TerminalTextEditingKeyCode.forwardDelete: + return normalized.isSubset(of: [.shift]) ? .delete : nil + default: + guard producesText, !normalized.contains(.command) else { return nil } + return .insertText + } +} diff --git a/Packages/macOS/CmuxTerminalCore/Sources/CmuxTerminalCore/TextEditing/TerminalTextEditingKeyResolution.swift b/Packages/macOS/CmuxTerminalCore/Sources/CmuxTerminalCore/TextEditing/TerminalTextEditingKeyResolution.swift index 464b64492069..e57a37ea8a7b 100644 --- a/Packages/macOS/CmuxTerminalCore/Sources/CmuxTerminalCore/TextEditing/TerminalTextEditingKeyResolution.swift +++ b/Packages/macOS/CmuxTerminalCore/Sources/CmuxTerminalCore/TextEditing/TerminalTextEditingKeyResolution.swift @@ -65,7 +65,9 @@ public struct TerminalTextEditingChord: Equatable, Sendable { } /// Strips modifiers that never participate in gesture matching. -private func terminalTextEditingNormalizedModifiers( +/// +/// Shared with the prompt selection key mapping in `TerminalPromptSelection.swift`. +func terminalTextEditingNormalizedModifiers( _ modifiers: TerminalTextEditingModifiers ) -> TerminalTextEditingModifiers { modifiers.subtracting([.numericPad, .function, .capsLock]) diff --git a/Packages/macOS/CmuxTerminalCore/Tests/CmuxTerminalCoreTests/TextEditing/TerminalPromptSelectionTests.swift b/Packages/macOS/CmuxTerminalCore/Tests/CmuxTerminalCoreTests/TextEditing/TerminalPromptSelectionTests.swift new file mode 100644 index 000000000000..a857e05f7c2d --- /dev/null +++ b/Packages/macOS/CmuxTerminalCore/Tests/CmuxTerminalCoreTests/TextEditing/TerminalPromptSelectionTests.swift @@ -0,0 +1,353 @@ +import CmuxTerminalCore +import Testing + +@Suite("Terminal prompt selection resolver") +struct TerminalPromptSelectionTests { + private enum Key { + static let backspace: UInt16 = 0x33 + static let forwardDelete: UInt16 = 0x75 + static let leftArrow: UInt16 = 0x7B + static let rightArrow: UInt16 = 0x7C + static let letterA: UInt16 = 0x00 + static let returnKey: UInt16 = 0x24 + } + + private func snapshot( + length: Int = 5, + caret: Int = 5, + selection: Range? = nil + ) -> TerminalPromptInputSnapshot { + TerminalPromptInputSnapshot(length: length, caret: caret, selection: selection) + } + + // MARK: Outside a prompt + + /// No prompt state (TUI, alternate screen, running command, no shell + /// integration) must leave every gesture exactly as it is today. + @Test func everyIntentPassesThroughWithoutPromptState() { + let intents: [TerminalPromptSelectionIntent] = [ + .selectAll, + .extend(.backward, .character), + .extend(.forward, .inputBoundary), + .collapse(.backward), + .cut, + .delete, + .insertText, + ] + for intent in intents { + let tracked = TerminalPromptSelection(anchor: 0, head: 3) + #expect( + terminalPromptSelectionResolve(intent: intent, snapshot: nil, tracked: tracked) == .passThrough, + "\(intent)" + ) + } + } + + // MARK: Select all + + @Test func selectAllSelectsTheWholeInput() { + let action = terminalPromptSelectionResolve(intent: .selectAll, snapshot: snapshot(caret: 2), tracked: nil) + #expect(action == .select(TerminalPromptSelection(anchor: 0, head: 5))) + } + + @Test func selectAllOnAnEmptyPromptKeepsTodaysBehavior() { + let action = terminalPromptSelectionResolve( + intent: .selectAll, + snapshot: snapshot(length: 0, caret: 0), + tracked: nil + ) + #expect(action == .passThrough) + } + + // MARK: Extending + + @Test func shiftLeftFromTheCaretSelectsOneStop() { + let action = terminalPromptSelectionResolve( + intent: .extend(.backward, .character), + snapshot: snapshot(caret: 5), + tracked: nil + ) + #expect(action == .select(TerminalPromptSelection(anchor: 5, head: 4))) + } + + @Test func trackedSelectionKeepsItsAnchor() { + let tracked = TerminalPromptSelection(anchor: 5, head: 3) + let action = terminalPromptSelectionResolve( + intent: .extend(.backward, .character), + snapshot: snapshot(caret: 5, selection: 3..<5), + tracked: tracked + ) + #expect(action == .select(TerminalPromptSelection(anchor: 5, head: 2))) + } + + @Test func extendingBackOntoTheAnchorClearsTheSelection() { + let tracked = TerminalPromptSelection(anchor: 5, head: 4) + let action = terminalPromptSelectionResolve( + intent: .extend(.forward, .character), + snapshot: snapshot(caret: 5, selection: 4..<5), + tracked: tracked + ) + #expect(action == .clearSelection(collapsed: TerminalPromptSelection(anchor: 5, head: 5))) + } + + /// After a collapse the next Shift+arrow continues from the collapse + /// point, not from wherever the shell caret happens to be. + @Test func extendingContinuesFromACollapsedSelection() { + let collapsed = TerminalPromptSelection(anchor: 0, head: 0) + let action = terminalPromptSelectionResolve( + intent: .extend(.backward, .character), + snapshot: snapshot(caret: 2), + tracked: collapsed + ) + #expect(action == .consume) + } + + @Test func pasteInvalidatesACollapsedSelectionBeforeTheNextShiftArrow() { + var tracking = TerminalPromptSelectionTracker() + tracking.record(TerminalPromptSelection(anchor: 2, head: 2)) + tracking.invalidateForInput() + + let action = terminalPromptSelectionResolve( + intent: .extend(.backward, .character), + snapshot: snapshot(caret: 5), + tracked: tracking.selection + ) + #expect(action == .select(TerminalPromptSelection(anchor: 5, head: 4))) + } + + @Test func surfaceReplacementInvalidatesACollapsedSelectionBeforeTheNextShiftArrow() { + var tracking = TerminalPromptSelectionTracker() + tracking.record(TerminalPromptSelection(anchor: 2, head: 2)) + tracking.invalidateForSurfaceReplacement() + + let action = terminalPromptSelectionResolve( + intent: .extend(.backward, .character), + snapshot: snapshot(caret: 5), + tracked: tracking.selection + ) + #expect(action == .select(TerminalPromptSelection(anchor: 5, head: 4))) + } + + /// A collapse point the input has since shrunk past is dropped. + @Test func collapsePointOutsideTheInputIsIgnored() { + let collapsed = TerminalPromptSelection(anchor: 7, head: 7) + let action = terminalPromptSelectionResolve( + intent: .extend(.backward, .character), + snapshot: snapshot(length: 5, caret: 5), + tracked: collapsed + ) + #expect(action == .select(TerminalPromptSelection(anchor: 5, head: 4))) + } + + @Test func extendingPastTheInputEdgeIsConsumedWithoutChange() { + let atStart = terminalPromptSelectionResolve( + intent: .extend(.backward, .character), + snapshot: snapshot(caret: 0), + tracked: nil + ) + #expect(atStart == .consume) + + let atEnd = terminalPromptSelectionResolve( + intent: .extend(.forward, .inputBoundary), + snapshot: snapshot(caret: 5), + tracked: nil + ) + #expect(atEnd == .consume) + } + + @Test func commandShiftExtendsToTheInputBoundary() { + let backward = terminalPromptSelectionResolve( + intent: .extend(.backward, .inputBoundary), + snapshot: snapshot(caret: 3), + tracked: nil + ) + #expect(backward == .select(TerminalPromptSelection(anchor: 3, head: 0))) + + let forward = terminalPromptSelectionResolve( + intent: .extend(.forward, .inputBoundary), + snapshot: snapshot(caret: 3), + tracked: nil + ) + #expect(forward == .select(TerminalPromptSelection(anchor: 3, head: 5))) + } + + /// With output selected elsewhere, Shift-arrows stay Ghostty's + /// adjust_selection instead of starting a prompt selection. + @Test func extendingPassesThroughWhenOutputIsSelected() { + let action = terminalPromptSelectionResolve( + intent: .extend(.backward, .character), + snapshot: TerminalPromptInputSnapshot(length: 5, caret: 5, selection: nil, selectionOutsideInput: true), + tracked: nil + ) + #expect(action == .passThrough) + } + + /// A stale tracked selection (the user dragged a new one with the mouse) + /// must not win over what the terminal actually has selected. + @Test func staleTrackedSelectionIsIgnored() { + let stale = TerminalPromptSelection(anchor: 5, head: 4) + let action = terminalPromptSelectionResolve( + intent: .extend(.forward, .character), + snapshot: snapshot(caret: 5, selection: 1..<3), + tracked: stale + ) + #expect(action == .select(TerminalPromptSelection(anchor: 1, head: 4))) + } + + // MARK: Editing a selection + + @Test func deleteMovesToTheSelectionEndThenBackspaces() { + let action = terminalPromptSelectionResolve( + intent: .delete, + snapshot: snapshot(caret: 5, selection: 1..<3), + tracked: nil + ) + let edit = TerminalPromptInputEdit(moveLeft: 2, moveRight: 0, deleteBackward: 2) + #expect(action == .edit(edit, copyFirst: false, thenPassThrough: false)) + } + + @Test func cutCopiesFirstAndTypingPassesTheKeyThrough() { + let cut = terminalPromptSelectionResolve( + intent: .cut, + snapshot: snapshot(caret: 0, selection: 0..<5), + tracked: nil + ) + let wholeLine = TerminalPromptInputEdit(moveLeft: 0, moveRight: 5, deleteBackward: 5) + #expect(cut == .edit(wholeLine, copyFirst: true, thenPassThrough: false)) + + let typed = terminalPromptSelectionResolve( + intent: .insertText, + snapshot: snapshot(caret: 0, selection: 0..<5), + tracked: nil + ) + #expect(typed == .edit(wholeLine, copyFirst: false, thenPassThrough: true)) + } + + /// Cut with nothing selected in the input must not reach the clipboard. + @Test func editsWithoutAnInputSelectionPassThrough() { + for intent in [TerminalPromptSelectionIntent.cut, .delete, .insertText, .collapse(.forward)] { + let action = terminalPromptSelectionResolve(intent: intent, snapshot: snapshot(), tracked: nil) + #expect(action == .passThrough, "\(intent)") + } + } + + @Test func plainArrowsCollapseTheSelectionToAnEdge() { + let left = terminalPromptSelectionResolve( + intent: .collapse(.backward), + snapshot: snapshot(caret: 5, selection: 1..<3), + tracked: nil + ) + #expect(left == .edit( + TerminalPromptInputEdit(moveLeft: 4, moveRight: 0, deleteBackward: 0), + copyFirst: false, + thenPassThrough: false + )) + + let right = terminalPromptSelectionResolve( + intent: .collapse(.forward), + snapshot: snapshot(caret: 5, selection: 1..<3), + tracked: nil + ) + #expect(right == .edit( + TerminalPromptInputEdit(moveLeft: 2, moveRight: 0, deleteBackward: 0), + copyFirst: false, + thenPassThrough: false + )) + } + + /// Right at the end of a zsh buffer accepts an autosuggestion, whose cells + /// read as input. Cmd+A there selects the suggestion too, so collapsing + /// with Right must clear the selection without pressing Right. + @Test func collapsingNeverPressesRight() { + let afterSelectAll = terminalPromptSelectionResolve( + intent: .collapse(.forward), + snapshot: snapshot(length: 12, caret: 5, selection: 0..<12), + tracked: TerminalPromptSelection(anchor: 0, head: 12) + ) + #expect(afterSelectAll == .edit( + TerminalPromptInputEdit(moveLeft: 0, moveRight: 0, deleteBackward: 0), + copyFirst: false, + thenPassThrough: false + )) + + let leftOfCaret = terminalPromptSelectionResolve( + intent: .collapse(.backward), + snapshot: snapshot(caret: 0, selection: 1..<3), + tracked: nil + ) + #expect(leftOfCaret == .edit( + TerminalPromptInputEdit(moveLeft: 0, moveRight: 0, deleteBackward: 0), + copyFirst: false, + thenPassThrough: false + )) + } + + @Test func editCountsFollowTheCaret() { + #expect( + TerminalPromptInputEdit.deleting(2..<4, caret: 4) + == TerminalPromptInputEdit(moveLeft: 0, moveRight: 0, deleteBackward: 2) + ) + #expect( + TerminalPromptInputEdit.deleting(2..<4, caret: 1) + == TerminalPromptInputEdit(moveLeft: 0, moveRight: 3, deleteBackward: 2) + ) + #expect( + TerminalPromptInputEdit.deleting(2..<4, caret: 7) + == TerminalPromptInputEdit(moveLeft: 3, moveRight: 0, deleteBackward: 2) + ) + } + + // MARK: Key mapping + + @Test func shiftArrowsMapToExtension() { + #expect( + terminalPromptSelectionIntent(keyCode: Key.leftArrow, modifiers: [.shift], producesText: false) + == .extend(.backward, .character) + ) + #expect( + terminalPromptSelectionIntent(keyCode: Key.rightArrow, modifiers: [.shift, .command], producesText: false) + == .extend(.forward, .inputBoundary) + ) + // Arrow keys carry the function and numeric-pad flags on macOS. + #expect( + terminalPromptSelectionIntent( + keyCode: Key.rightArrow, + modifiers: [.shift, .function, .numericPad], + producesText: false + ) == .extend(.forward, .character) + ) + } + + @Test func arrowAndDeletionKeysMap() { + #expect(terminalPromptSelectionIntent(keyCode: Key.leftArrow, modifiers: [], producesText: false) == .collapse(.backward)) + #expect(terminalPromptSelectionIntent(keyCode: Key.leftArrow, modifiers: [.command], producesText: false) == nil) + #expect(terminalPromptSelectionIntent(keyCode: Key.backspace, modifiers: [.command], producesText: false) == nil) + #expect(terminalPromptSelectionIntent(keyCode: Key.backspace, modifiers: [.option], producesText: false) == nil) + #expect(terminalPromptSelectionIntent(keyCode: Key.backspace, modifiers: [], producesText: false) == .delete) + #expect(terminalPromptSelectionIntent(keyCode: Key.backspace, modifiers: [.shift], producesText: false) == .delete) + #expect(terminalPromptSelectionIntent(keyCode: Key.forwardDelete, modifiers: [.function], producesText: false) == .delete) + } + + /// Control stays with the shell. + @Test func controlNeverMaps() { + let modifierSets: [TerminalTextEditingModifiers] = [[.control], [.control, .shift], [.control, .option]] + for modifiers in modifierSets { + #expect(terminalPromptSelectionIntent(keyCode: Key.leftArrow, modifiers: modifiers, producesText: false) == nil) + #expect(terminalPromptSelectionIntent(keyCode: Key.letterA, modifiers: modifiers, producesText: true) == nil) + } + } + + /// Option word selection waits on the input text, but Option-typed + /// characters (German `@`, accents) still replace a selection. + @Test func optionArrowsDoNotMapButOptionTextDoes() { + #expect(terminalPromptSelectionIntent(keyCode: Key.leftArrow, modifiers: [.option, .shift], producesText: false) == nil) + #expect(terminalPromptSelectionIntent(keyCode: Key.letterA, modifiers: [.option], producesText: true) == .insertText) + } + + @Test func printableTextMapsToInsertion() { + #expect(terminalPromptSelectionIntent(keyCode: Key.letterA, modifiers: [], producesText: true) == .insertText) + #expect(terminalPromptSelectionIntent(keyCode: Key.letterA, modifiers: [.shift], producesText: true) == .insertText) + #expect(terminalPromptSelectionIntent(keyCode: Key.letterA, modifiers: [.command], producesText: true) == nil) + #expect(terminalPromptSelectionIntent(keyCode: Key.returnKey, modifiers: [], producesText: false) == nil) + } +} diff --git a/Packages/macOS/CmuxTerminalCore/Tests/GhosttyRuntimeTestStubs/GhosttyRuntimeTestStubs.c b/Packages/macOS/CmuxTerminalCore/Tests/GhosttyRuntimeTestStubs/GhosttyRuntimeTestStubs.c index 51e84ca1166a..29a572c0c5d8 100644 --- a/Packages/macOS/CmuxTerminalCore/Tests/GhosttyRuntimeTestStubs/GhosttyRuntimeTestStubs.c +++ b/Packages/macOS/CmuxTerminalCore/Tests/GhosttyRuntimeTestStubs/GhosttyRuntimeTestStubs.c @@ -57,6 +57,28 @@ GHOSTTY_RUNTIME_TEST_STUB_WEAK bool ghostty_surface_clear_selection(void *surfac return false; } +GHOSTTY_RUNTIME_TEST_STUB_WEAK bool ghostty_surface_has_selection(void *surface) { + (void)surface; + return false; +} + +GHOSTTY_RUNTIME_TEST_STUB_WEAK bool ghostty_surface_prompt_input(void *surface, void *result) { + (void)surface; + (void)result; + return false; +} + +GHOSTTY_RUNTIME_TEST_STUB_WEAK bool ghostty_surface_select_prompt_input( + void *surface, + uint32_t start, + uint32_t end +) { + (void)surface; + (void)start; + (void)end; + return false; +} + GHOSTTY_RUNTIME_TEST_STUB_WEAK float ghostty_surface_font_size(void *surface) { (void)surface; return 0; diff --git a/Packages/macOS/CmuxTerminalCore/Tests/GhosttyRuntimeTestStubs/include/GhosttyRuntimeTestStubs.h b/Packages/macOS/CmuxTerminalCore/Tests/GhosttyRuntimeTestStubs/include/GhosttyRuntimeTestStubs.h index 5dc2782ae25e..f8a9da300194 100644 --- a/Packages/macOS/CmuxTerminalCore/Tests/GhosttyRuntimeTestStubs/include/GhosttyRuntimeTestStubs.h +++ b/Packages/macOS/CmuxTerminalCore/Tests/GhosttyRuntimeTestStubs/include/GhosttyRuntimeTestStubs.h @@ -31,6 +31,13 @@ GHOSTTY_RUNTIME_TEST_STUB_WEAK void *ghostty_surface_new_with_scrollback_limit( size_t scrollback_limit_bytes); GHOSTTY_RUNTIME_TEST_STUB_WEAK bool ghostty_surface_clear_selection(void *surface); +GHOSTTY_RUNTIME_TEST_STUB_WEAK bool ghostty_surface_has_selection(void *surface); +GHOSTTY_RUNTIME_TEST_STUB_WEAK bool ghostty_surface_prompt_input(void *surface, void *result); +GHOSTTY_RUNTIME_TEST_STUB_WEAK bool ghostty_surface_select_prompt_input( + void *surface, + uint32_t start, + uint32_t end +); GHOSTTY_RUNTIME_TEST_STUB_WEAK float ghostty_surface_font_size(void *surface); diff --git a/Resources/Localizable.xcstrings b/Resources/Localizable.xcstrings index 2e875afc9e96..73025ff00a0c 100644 --- a/Resources/Localizable.xcstrings +++ b/Resources/Localizable.xcstrings @@ -1,478 +1,6 @@ { "sourceLanguage": "en", "strings": { - "browser.omnibar.accessibilityLabel": { - "extractionState": "manual", - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Address and search bar" - } - }, - "de": { - "stringUnit": { - "state": "translated", - "value": "Adress- und Suchleiste" - } - }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Barre d’adresse et de recherche" - } - }, - "ar": { - "stringUnit": { - "state": "translated", - "value": "شريط العنوان والبحث" - } - }, - "es": { - "stringUnit": { - "state": "translated", - "value": "Barra de direcciones y búsqueda" - } - }, - "zh-Hant": { - "stringUnit": { - "state": "translated", - "value": "網址與搜尋列" - } - }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "地址和搜索栏" - } - }, - "ko": { - "stringUnit": { - "state": "translated", - "value": "주소 및 검색 막대" - } - }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "アドレスと検索バー" - } - } - } - }, - "projectPanel.reload": { - "extractionState": "manual", - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Reload Project" - } - }, - "de": { - "stringUnit": { - "state": "translated", - "value": "Projekt neu laden" - } - }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Recharger le projet" - } - }, - "ar": { - "stringUnit": { - "state": "translated", - "value": "إعادة تحميل المشروع" - } - }, - "es": { - "stringUnit": { - "state": "translated", - "value": "Recargar proyecto" - } - }, - "zh-Hant": { - "stringUnit": { - "state": "translated", - "value": "重新載入專案" - } - }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "重新加载项目" - } - }, - "ko": { - "stringUnit": { - "state": "translated", - "value": "프로젝트 다시 불러오기" - } - }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "プロジェクトを再読み込み" - } - } - } - }, - "projectPanel.reloadErrors": { - "extractionState": "manual", - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Reload returned errors: %@" - } - }, - "de": { - "stringUnit": { - "state": "translated", - "value": "Beim Neuladen sind Fehler aufgetreten: %@" - } - }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Le rechargement a renvoyé des erreurs : %@" - } - }, - "ar": { - "stringUnit": { - "state": "translated", - "value": "أعادت إعادة التحميل أخطاء: %@" - } - }, - "es": { - "stringUnit": { - "state": "translated", - "value": "La recarga devolvió errores: %@" - } - }, - "zh-Hant": { - "stringUnit": { - "state": "translated", - "value": "重新載入時發生錯誤:%@" - } - }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "重新加载时出现错误:%@" - } - }, - "ko": { - "stringUnit": { - "state": "translated", - "value": "다시 불러오기 중 오류 발생: %@" - } - }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "再読み込みでエラーが発生しました: %@" - } - } - } - }, - "projectPanel.dismissReloadErrors": { - "extractionState": "manual", - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Dismiss Errors" - } - }, - "de": { - "stringUnit": { - "state": "translated", - "value": "Fehler ausblenden" - } - }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Ignorer les erreurs" - } - }, - "ar": { - "stringUnit": { - "state": "translated", - "value": "تجاهل الأخطاء" - } - }, - "es": { - "stringUnit": { - "state": "translated", - "value": "Descartar errores" - } - }, - "zh-Hant": { - "stringUnit": { - "state": "translated", - "value": "關閉錯誤" - } - }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "关闭错误" - } - }, - "ko": { - "stringUnit": { - "state": "translated", - "value": "오류 닫기" - } - }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "エラーを閉じる" - } - } - } - }, - "projectPanel.scheme": { - "extractionState": "manual", - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Scheme" - } - }, - "de": { - "stringUnit": { - "state": "translated", - "value": "Schema" - } - }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Schéma" - } - }, - "ar": { - "stringUnit": { - "state": "translated", - "value": "المخطط" - } - }, - "es": { - "stringUnit": { - "state": "translated", - "value": "Esquema" - } - }, - "zh-Hant": { - "stringUnit": { - "state": "translated", - "value": "方案" - } - }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "方案" - } - }, - "ko": { - "stringUnit": { - "state": "translated", - "value": "스킴" - } - }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "スキーム" - } - } - } - }, - "projectPanel.configuration": { - "extractionState": "manual", - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Configuration" - } - }, - "de": { - "stringUnit": { - "state": "translated", - "value": "Konfiguration" - } - }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Configuration de build" - } - }, - "ar": { - "stringUnit": { - "state": "translated", - "value": "التكوين" - } - }, - "es": { - "stringUnit": { - "state": "translated", - "value": "Configuración" - } - }, - "zh-Hant": { - "stringUnit": { - "state": "translated", - "value": "組態" - } - }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "配置" - } - }, - "ko": { - "stringUnit": { - "state": "translated", - "value": "구성" - } - }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "構成" - } - } - } - }, - "projectPanel.loadingFormat": { - "extractionState": "manual", - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Loading %@" - } - }, - "de": { - "stringUnit": { - "state": "translated", - "value": "%@ wird geladen" - } - }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Chargement de %@" - } - }, - "ar": { - "stringUnit": { - "state": "translated", - "value": "جارٍ تحميل %@" - } - }, - "es": { - "stringUnit": { - "state": "translated", - "value": "Cargando %@" - } - }, - "zh-Hant": { - "stringUnit": { - "state": "translated", - "value": "正在載入 %@" - } - }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "正在加载 %@" - } - }, - "ko": { - "stringUnit": { - "state": "translated", - "value": "%@ 불러오는 중" - } - }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "%@ を読み込み中" - } - } - } - }, - "projectPanel.failedFormat": { - "extractionState": "manual", - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Failed: %@" - } - }, - "de": { - "stringUnit": { - "state": "translated", - "value": "Fehlgeschlagen: %@" - } - }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Échec : %@" - } - }, - "ar": { - "stringUnit": { - "state": "translated", - "value": "فشل: %@" - } - }, - "es": { - "stringUnit": { - "state": "translated", - "value": "Error: %@" - } - }, - "zh-Hant": { - "stringUnit": { - "state": "translated", - "value": "失敗:%@" - } - }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "失败:%@" - } - }, - "ko": { - "stringUnit": { - "state": "translated", - "value": "실패: %@" - } - }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "失敗: %@" - } - } - } - }, "settings.automation.rules.createFailed.title": { "extractionState": "manual", "localizations": { @@ -176299,71 +175827,6 @@ } } }, - "dialog.close.dontAskAgain": { - "extractionState": "manual", - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Don’t ask again" - } - }, - "ar": { - "stringUnit": { - "state": "translated", - "value": "لا تسأل مرة أخرى" - } - }, - "de": { - "stringUnit": { - "state": "translated", - "value": "Nicht mehr fragen" - } - }, - "es": { - "stringUnit": { - "state": "translated", - "value": "No volver a preguntar" - } - }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Ne plus demander" - } - }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "今後確認しない" - } - }, - "ko": { - "stringUnit": { - "state": "translated", - "value": "다시 묻지 않기" - } - }, - "uk": { - "stringUnit": { - "state": "translated", - "value": "Більше не запитувати" - } - }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "不再询问" - } - }, - "zh-Hant": { - "stringUnit": { - "state": "translated", - "value": "不再詢問" - } - } - } - }, "dialog.closeAnchor.message.lone": { "extractionState": "manual", "localizations": { @@ -228122,65 +227585,6 @@ } } }, - "globalSearch.kind.terminal": { - "extractionState": "manual", - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Terminal" - } - }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "ターミナル" - } - }, - "ko": { - "stringUnit": { - "state": "translated", - "value": "터미널" - } - }, - "ar": { - "stringUnit": { - "state": "translated", - "value": "طرفية" - } - }, - "zh-Hant": { - "stringUnit": { - "state": "translated", - "value": "終端" - } - }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "终端" - } - }, - "de": { - "stringUnit": { - "state": "translated", - "value": "Terminal" - } - }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Terminal" - } - }, - "es": { - "stringUnit": { - "state": "translated", - "value": "Terminal" - } - } - } - }, "globalSearch.kind.title": { "extractionState": "manual", "localizations": { @@ -230044,23 +229448,6 @@ } } }, - "machines.agent.pi": { - "extractionState": "manual", - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Pi" - } - }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "Pi" - } - } - } - }, "machines.auth.checking": { "extractionState": "manual", "localizations": { @@ -234922,256 +234309,6 @@ } } }, - "cloudTree.group.cloudMachines": { - "extractionState": "manual", - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Cloud Machines" - } - }, - "de": { - "stringUnit": { - "state": "translated", - "value": "Cloud-Maschinen" - } - }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Machines cloud" - } - }, - "ar": { - "stringUnit": { - "state": "translated", - "value": "أجهزة سحابية" - } - }, - "es": { - "stringUnit": { - "state": "translated", - "value": "Máquinas en la nube" - } - }, - "zh-Hant": { - "stringUnit": { - "state": "translated", - "value": "雲端機器" - } - }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "云端机器" - } - }, - "ko": { - "stringUnit": { - "state": "translated", - "value": "클라우드 머신" - } - }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "クラウドマシン" - } - }, - "bs": { - "stringUnit": { - "state": "translated", - "value": "Mašine u oblaku" - } - }, - "da": { - "stringUnit": { - "state": "translated", - "value": "Cloud-maskiner" - } - }, - "it": { - "stringUnit": { - "state": "translated", - "value": "Macchine cloud" - } - }, - "km": { - "stringUnit": { - "state": "translated", - "value": "ម៉ាស៊ីនលើពពក" - } - }, - "nb": { - "stringUnit": { - "state": "translated", - "value": "Skymaskiner" - } - }, - "pl": { - "stringUnit": { - "state": "translated", - "value": "Maszyny w chmurze" - } - }, - "pt-BR": { - "stringUnit": { - "state": "translated", - "value": "Máquinas na nuvem" - } - }, - "ru": { - "stringUnit": { - "state": "translated", - "value": "Облачные машины" - } - }, - "th": { - "stringUnit": { - "state": "translated", - "value": "เครื่องคลาวด์" - } - }, - "tr": { - "stringUnit": { - "state": "translated", - "value": "Bulut makineleri" - } - }, - "uk": { - "stringUnit": { - "state": "translated", - "value": "Хмарні машини" - } - } - } - }, - "cloudTree.group.devices": { - "extractionState": "manual", - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "My Devices" - } - }, - "de": { - "stringUnit": { - "state": "translated", - "value": "Meine Geräte" - } - }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Mes appareils" - } - }, - "ar": { - "stringUnit": { - "state": "translated", - "value": "أجهزتي" - } - }, - "es": { - "stringUnit": { - "state": "translated", - "value": "Mis dispositivos" - } - }, - "zh-Hant": { - "stringUnit": { - "state": "translated", - "value": "我的裝置" - } - }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "我的设备" - } - }, - "ko": { - "stringUnit": { - "state": "translated", - "value": "내 기기" - } - }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "マイデバイス" - } - }, - "bs": { - "stringUnit": { - "state": "translated", - "value": "Moji uređaji" - } - }, - "da": { - "stringUnit": { - "state": "translated", - "value": "Mine enheder" - } - }, - "it": { - "stringUnit": { - "state": "translated", - "value": "I miei dispositivi" - } - }, - "km": { - "stringUnit": { - "state": "translated", - "value": "ឧបករណ៍របស់ខ្ញុំ" - } - }, - "nb": { - "stringUnit": { - "state": "translated", - "value": "Mine enheter" - } - }, - "pl": { - "stringUnit": { - "state": "translated", - "value": "Moje urządzenia" - } - }, - "pt-BR": { - "stringUnit": { - "state": "translated", - "value": "Meus dispositivos" - } - }, - "ru": { - "stringUnit": { - "state": "translated", - "value": "Мои устройства" - } - }, - "th": { - "stringUnit": { - "state": "translated", - "value": "อุปกรณ์ของฉัน" - } - }, - "tr": { - "stringUnit": { - "state": "translated", - "value": "Cihazlarım" - } - }, - "uk": { - "stringUnit": { - "state": "translated", - "value": "Мої пристрої" - } - } - } - }, "machines.operation.checkpoint": { "extractionState": "manual", "localizations": { @@ -237567,419 +236704,6 @@ } } }, - "machines.listUnavailable.stale": { - "extractionState": "manual", - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Machine list unavailable — showing last known" - } - }, - "de": { - "stringUnit": { - "state": "translated", - "value": "Maschinenliste nicht verfügbar – zeige letzten bekannten Stand" - } - }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Liste des machines indisponible — affichage des dernières informations connues" - } - }, - "ar": { - "stringUnit": { - "state": "translated", - "value": "قائمة الأجهزة غير متاحة — يتم عرض آخر حالة معروفة" - } - }, - "es": { - "stringUnit": { - "state": "translated", - "value": "Lista de máquinas no disponible — se muestra el último estado conocido" - } - }, - "zh-Hant": { - "stringUnit": { - "state": "translated", - "value": "無法取得機器清單 — 顯示上次已知的狀態" - } - }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "机器列表不可用 —— 显示的是最后已知状态" - } - }, - "ko": { - "stringUnit": { - "state": "translated", - "value": "머신 목록을 사용할 수 없음 — 마지막으로 확인된 상태 표시 중" - } - }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "マシン一覧を取得できません — 最後の状態を表示中" - } - } - } - }, - "machines.listUnavailable.subtitle": { - "extractionState": "manual", - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Your machines are unchanged. cmux couldn’t load the list from the Cloud service and retries on its own." - } - }, - "de": { - "stringUnit": { - "state": "translated", - "value": "Deine Maschinen sind unverändert. cmux konnte die Liste nicht vom Cloud-Dienst laden und versucht es selbstständig erneut." - } - }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Vos machines ne sont pas modifiées. cmux n’a pas pu charger la liste depuis le service Cloud et va réessayer automatiquement." - } - }, - "ar": { - "stringUnit": { - "state": "translated", - "value": "لم تتغير أجهزتك. تعذر على cmux تحميل القائمة من الخدمة السحابية، وسيعيد المحاولة تلقائيًا." - } - }, - "es": { - "stringUnit": { - "state": "translated", - "value": "Tus máquinas no han cambiado. cmux no pudo cargar la lista desde el servicio de la nube y volverá a intentarlo automáticamente." - } - }, - "zh-Hant": { - "stringUnit": { - "state": "translated", - "value": "您的機器沒有任何變動。cmux 無法從雲端服務載入清單,會自動重試。" - } - }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "你的机器没有任何变化。cmux 无法从云端服务加载列表,会自动重试。" - } - }, - "ko": { - "stringUnit": { - "state": "translated", - "value": "머신은 변경되지 않았습니다. cmux가 클라우드 서비스에서 목록을 불러오지 못했으며 자동으로 다시 시도합니다." - } - }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "マシンは変更されていません。cmux はクラウドサービスから一覧を読み込めませんでした。自動的に再試行します。" - } - } - } - }, - "machines.listUnavailable.title": { - "extractionState": "manual", - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Can’t load the machine list" - } - }, - "de": { - "stringUnit": { - "state": "translated", - "value": "Maschinenliste kann nicht geladen werden" - } - }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Impossible de charger la liste des machines" - } - }, - "ar": { - "stringUnit": { - "state": "translated", - "value": "تعذر تحميل قائمة الأجهزة" - } - }, - "es": { - "stringUnit": { - "state": "translated", - "value": "No se puede cargar la lista de máquinas" - } - }, - "zh-Hant": { - "stringUnit": { - "state": "translated", - "value": "無法載入機器清單" - } - }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "无法加载机器列表" - } - }, - "ko": { - "stringUnit": { - "state": "translated", - "value": "머신 목록을 불러올 수 없습니다" - } - }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "マシン一覧を読み込めません" - } - } - } - }, - "machines.offline.stale": { - "extractionState": "manual", - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Offline — showing last known" - } - }, - "de": { - "stringUnit": { - "state": "translated", - "value": "Offline – zeige letzten bekannten Stand" - } - }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Hors ligne — affichage des dernières informations connues" - } - }, - "ar": { - "stringUnit": { - "state": "translated", - "value": "غير متصل — يتم عرض آخر حالة معروفة" - } - }, - "es": { - "stringUnit": { - "state": "translated", - "value": "Sin conexión — se muestra el último estado conocido" - } - }, - "zh-Hant": { - "stringUnit": { - "state": "translated", - "value": "離線 — 顯示上次已知的狀態" - } - }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "离线 —— 显示的是最后已知状态" - } - }, - "ko": { - "stringUnit": { - "state": "translated", - "value": "오프라인 — 마지막으로 확인된 상태 표시 중" - } - }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "オフライン — 最後の状態を表示中" - } - } - } - }, - "machines.offline.subtitle": { - "extractionState": "manual", - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Cloud machines load when this Mac is back online." - } - }, - "de": { - "stringUnit": { - "state": "translated", - "value": "Cloud-Maschinen werden geladen, sobald dieser Mac wieder online ist." - } - }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Les machines Cloud se chargeront dès que ce Mac sera de nouveau en ligne." - } - }, - "ar": { - "stringUnit": { - "state": "translated", - "value": "سيتم تحميل الأجهزة السحابية عندما يعود جهاز Mac هذا إلى الاتصال بالإنترنت." - } - }, - "es": { - "stringUnit": { - "state": "translated", - "value": "Las máquinas en la nube se cargarán cuando este Mac vuelva a estar en línea." - } - }, - "zh-Hant": { - "stringUnit": { - "state": "translated", - "value": "這台 Mac 恢復連線後,就會載入雲端機器。" - } - }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "这台 Mac 恢复联网后,就会加载云端机器。" - } - }, - "ko": { - "stringUnit": { - "state": "translated", - "value": "이 Mac이 다시 온라인 상태가 되면 클라우드 머신을 불러옵니다." - } - }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "この Mac がオンラインに戻ると Cloud マシンを読み込みます。" - } - } - } - }, - "machines.offline.title": { - "extractionState": "manual", - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Waiting for network" - } - }, - "de": { - "stringUnit": { - "state": "translated", - "value": "Warte auf Netzwerk" - } - }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "En attente du réseau" - } - }, - "ar": { - "stringUnit": { - "state": "translated", - "value": "في انتظار الشبكة" - } - }, - "es": { - "stringUnit": { - "state": "translated", - "value": "Esperando la red" - } - }, - "zh-Hant": { - "stringUnit": { - "state": "translated", - "value": "正在等待網路" - } - }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "正在等待网络" - } - }, - "ko": { - "stringUnit": { - "state": "translated", - "value": "네트워크 대기 중" - } - }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "ネットワークを待機中" - } - } - } - }, - "machines.reconnecting.title": { - "extractionState": "manual", - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Reconnecting to Cloud…" - } - }, - "de": { - "stringUnit": { - "state": "translated", - "value": "Verbindung zur Cloud wird wiederhergestellt…" - } - }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Reconnexion au Cloud…" - } - }, - "ar": { - "stringUnit": { - "state": "translated", - "value": "جارٍ إعادة الاتصال بالسحابة…" - } - }, - "es": { - "stringUnit": { - "state": "translated", - "value": "Reconectando con la nube…" - } - }, - "zh-Hant": { - "stringUnit": { - "state": "translated", - "value": "正在重新連線至雲端…" - } - }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "正在重新连接云端…" - } - }, - "ko": { - "stringUnit": { - "state": "translated", - "value": "클라우드에 다시 연결하는 중…" - } - }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "クラウドに再接続中…" - } - } - } - }, "markdown.copyConfirm.html": { "extractionState": "manual", "localizations": { @@ -291685,596 +290409,6 @@ } } }, - "settings.app.accentColor": { - "localizations": { - "ar": { - "stringUnit": { - "state": "translated", - "value": "لون التمييز" - } - }, - "bs": { - "stringUnit": { - "state": "translated", - "value": "Boja naglaska" - } - }, - "da": { - "stringUnit": { - "state": "translated", - "value": "Accentfarve" - } - }, - "de": { - "stringUnit": { - "state": "translated", - "value": "Akzentfarbe" - } - }, - "en": { - "stringUnit": { - "state": "translated", - "value": "Accent Color" - } - }, - "es": { - "stringUnit": { - "state": "translated", - "value": "Color de acento" - } - }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Couleur d’accentuation" - } - }, - "it": { - "stringUnit": { - "state": "translated", - "value": "Colore di evidenziazione" - } - }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "アクセントカラー" - } - }, - "ko": { - "stringUnit": { - "state": "translated", - "value": "강조 색상" - } - }, - "nb": { - "stringUnit": { - "state": "translated", - "value": "Aksentfarge" - } - }, - "pl": { - "stringUnit": { - "state": "translated", - "value": "Kolor akcentu" - } - }, - "pt-BR": { - "stringUnit": { - "state": "translated", - "value": "Cor de destaque" - } - }, - "ru": { - "stringUnit": { - "state": "translated", - "value": "Цвет акцента" - } - }, - "th": { - "stringUnit": { - "state": "translated", - "value": "สีเน้น" - } - }, - "tr": { - "stringUnit": { - "state": "translated", - "value": "Vurgu Rengi" - } - }, - "uk": { - "stringUnit": { - "state": "translated", - "value": "Колір акценту" - } - }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "强调色" - } - }, - "zh-Hant": { - "stringUnit": { - "state": "translated", - "value": "強調色" - } - } - } - }, - "settings.app.accentColor.cmux": { - "localizations": { - "ar": { - "stringUnit": { - "state": "translated", - "value": "أزرق cmux" - } - }, - "bs": { - "stringUnit": { - "state": "translated", - "value": "cmux plava" - } - }, - "da": { - "stringUnit": { - "state": "translated", - "value": "cmux-blå" - } - }, - "de": { - "stringUnit": { - "state": "translated", - "value": "cmux-Blau" - } - }, - "en": { - "stringUnit": { - "state": "translated", - "value": "cmux Blue" - } - }, - "es": { - "stringUnit": { - "state": "translated", - "value": "Azul de cmux" - } - }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Bleu cmux" - } - }, - "it": { - "stringUnit": { - "state": "translated", - "value": "Blu cmux" - } - }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "cmux ブルー" - } - }, - "ko": { - "stringUnit": { - "state": "translated", - "value": "cmux 파란색" - } - }, - "nb": { - "stringUnit": { - "state": "translated", - "value": "cmux-blå" - } - }, - "pl": { - "stringUnit": { - "state": "translated", - "value": "Niebieski cmux" - } - }, - "pt-BR": { - "stringUnit": { - "state": "translated", - "value": "Azul do cmux" - } - }, - "ru": { - "stringUnit": { - "state": "translated", - "value": "Синий cmux" - } - }, - "th": { - "stringUnit": { - "state": "translated", - "value": "สีน้ำเงิน cmux" - } - }, - "tr": { - "stringUnit": { - "state": "translated", - "value": "cmux Mavisi" - } - }, - "uk": { - "stringUnit": { - "state": "translated", - "value": "Синій cmux" - } - }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "cmux 蓝" - } - }, - "zh-Hant": { - "stringUnit": { - "state": "translated", - "value": "cmux 藍" - } - } - } - }, - "settings.app.accentColor.subtitle": { - "localizations": { - "ar": { - "stringUnit": { - "state": "translated", - "value": "لون مساحة العمل المحددة وحلقة التنبيه وحالة الوكيل وإبرازات cmux الأخرى. يتبع خيار النظام لون التمييز في macOS." - } - }, - "bs": { - "stringUnit": { - "state": "translated", - "value": "Boja odabranog radnog prostora, prstena pažnje, statusa agenta i ostalih cmux istaknutih elemenata. Sistem prati boju naglaska macOS-a." - } - }, - "da": { - "stringUnit": { - "state": "translated", - "value": "Farve for det valgte arbejdsområde, opmærksomhedsringen, agentstatus og andre cmux-fremhævninger. System følger macOS-accentfarven." - } - }, - "de": { - "stringUnit": { - "state": "translated", - "value": "Farbe des ausgewählten Workspace, des Aufmerksamkeitsrings, des Agentenstatus und anderer cmux-Hervorhebungen. „Systemfarbe“ folgt der macOS-Akzentfarbe." - } - }, - "en": { - "stringUnit": { - "state": "translated", - "value": "Color of the selected workspace, attention ring, agent status, and other cmux highlights. System follows the macOS accent color." - } - }, - "es": { - "stringUnit": { - "state": "translated", - "value": "Color del espacio de trabajo seleccionado, el anillo de atención, el estado del agente y otros resaltados de cmux. Sistema sigue el color de acento de macOS." - } - }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Couleur de l’espace de travail sélectionné, de l’anneau d’attention, de l’état de l’agent et des autres mises en évidence de cmux. Système suit la couleur d’accentuation de macOS." - } - }, - "it": { - "stringUnit": { - "state": "translated", - "value": "Colore dell’area di lavoro selezionata, dell’anello di attenzione, dello stato dell’agente e degli altri elementi evidenziati di cmux. Sistema segue il colore di evidenziazione di macOS." - } - }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "選択中のワークスペース、注意リング、エージェントの状態など、cmux のハイライトの色です。「システム」は macOS のアクセントカラーに従います。" - } - }, - "ko": { - "stringUnit": { - "state": "translated", - "value": "선택한 워크스페이스, 주의 링, 에이전트 상태 등 cmux 강조 표시의 색상입니다. 시스템은 macOS 강조 색상을 따릅니다." - } - }, - "nb": { - "stringUnit": { - "state": "translated", - "value": "Farge for det valgte arbeidsområdet, oppmerksomhetsringen, agentstatus og andre cmux-uthevinger. System følger macOS-aksentfargen." - } - }, - "pl": { - "stringUnit": { - "state": "translated", - "value": "Kolor wybranego obszaru roboczego, pierścienia uwagi, stanu agenta i innych wyróżnień cmux. Systemowy podąża za kolorem akcentu macOS." - } - }, - "pt-BR": { - "stringUnit": { - "state": "translated", - "value": "Cor do espaço de trabalho selecionado, do anel de atenção, do status do agente e de outros destaques do cmux. Sistema segue a cor de destaque do macOS." - } - }, - "ru": { - "stringUnit": { - "state": "translated", - "value": "Цвет выбранного рабочего пространства, кольца внимания, статуса агента и других выделений cmux. «Системный» следует цвету акцента macOS." - } - }, - "th": { - "stringUnit": { - "state": "translated", - "value": "สีของพื้นที่ทำงานที่เลือก วงแจ้งเตือน สถานะเอเจนต์ และไฮไลต์อื่นๆ ของ cmux ตัวเลือกระบบจะใช้สีเน้นของ macOS" - } - }, - "tr": { - "stringUnit": { - "state": "translated", - "value": "Seçili çalışma alanı, dikkat halkası, ajan durumu ve diğer cmux vurgularının rengi. Sistem, macOS vurgu rengini izler." - } - }, - "uk": { - "stringUnit": { - "state": "translated", - "value": "Колір вибраного робочого простору, кільця уваги, статусу агента та інших виділень cmux. «Системний» використовує колір акценту macOS." - } - }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "所选工作区、提醒环、代理状态和其他 cmux 高亮的颜色。“系统”跟随 macOS 强调色。" - } - }, - "zh-Hant": { - "stringUnit": { - "state": "translated", - "value": "所選工作區、提醒環、代理狀態和其他 cmux 醒目提示的顏色。「系統」跟隨 macOS 強調色。" - } - } - } - }, - "settings.app.accentColor.system": { - "localizations": { - "ar": { - "stringUnit": { - "state": "translated", - "value": "النظام" - } - }, - "bs": { - "stringUnit": { - "state": "translated", - "value": "Sistem" - } - }, - "da": { - "stringUnit": { - "state": "translated", - "value": "System" - } - }, - "de": { - "stringUnit": { - "state": "translated", - "value": "Systemfarbe" - } - }, - "en": { - "stringUnit": { - "state": "translated", - "value": "System" - } - }, - "es": { - "stringUnit": { - "state": "translated", - "value": "Sistema" - } - }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Système" - } - }, - "it": { - "stringUnit": { - "state": "translated", - "value": "Sistema" - } - }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "システム" - } - }, - "ko": { - "stringUnit": { - "state": "translated", - "value": "시스템" - } - }, - "nb": { - "stringUnit": { - "state": "translated", - "value": "System" - } - }, - "pl": { - "stringUnit": { - "state": "translated", - "value": "Systemowy" - } - }, - "pt-BR": { - "stringUnit": { - "state": "translated", - "value": "Sistema" - } - }, - "ru": { - "stringUnit": { - "state": "translated", - "value": "Системный" - } - }, - "th": { - "stringUnit": { - "state": "translated", - "value": "ระบบ" - } - }, - "tr": { - "stringUnit": { - "state": "translated", - "value": "Sistem" - } - }, - "uk": { - "stringUnit": { - "state": "translated", - "value": "Системний" - } - }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "系统" - } - }, - "zh-Hant": { - "stringUnit": { - "state": "translated", - "value": "系統" - } - } - } - }, - "settings.app.accentColor.systemToggle": { - "localizations": { - "ar": { - "stringUnit": { - "state": "translated", - "value": "لون التمييز للنظام" - } - }, - "bs": { - "stringUnit": { - "state": "translated", - "value": "Sistemska boja naglaska" - } - }, - "da": { - "stringUnit": { - "state": "translated", - "value": "Systemets accentfarve" - } - }, - "de": { - "stringUnit": { - "state": "translated", - "value": "System-Akzentfarbe" - } - }, - "en": { - "stringUnit": { - "state": "translated", - "value": "System Accent Color" - } - }, - "es": { - "stringUnit": { - "state": "translated", - "value": "Color de acento del sistema" - } - }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Couleur d’accentuation du système" - } - }, - "it": { - "stringUnit": { - "state": "translated", - "value": "Colore di evidenziazione di sistema" - } - }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "システムのアクセントカラー" - } - }, - "ko": { - "stringUnit": { - "state": "translated", - "value": "시스템 강조 색상" - } - }, - "nb": { - "stringUnit": { - "state": "translated", - "value": "Systemets aksentfarge" - } - }, - "pl": { - "stringUnit": { - "state": "translated", - "value": "Systemowy kolor akcentu" - } - }, - "pt-BR": { - "stringUnit": { - "state": "translated", - "value": "Cor de destaque do sistema" - } - }, - "ru": { - "stringUnit": { - "state": "translated", - "value": "Системный цвет акцента" - } - }, - "th": { - "stringUnit": { - "state": "translated", - "value": "สีเน้นของระบบ" - } - }, - "tr": { - "stringUnit": { - "state": "translated", - "value": "Sistem Vurgu Rengi" - } - }, - "uk": { - "stringUnit": { - "state": "translated", - "value": "Системний колір акценту" - } - }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "系统强调色" - } - }, - "zh-Hant": { - "stringUnit": { - "state": "translated", - "value": "系統強調色" - } - } - } - }, "settings.app.appearance": { "extractionState": "manual", "localizations": { @@ -344844,124 +342978,6 @@ } } }, - "settings.search.alias.setting.app.accent-color": { - "localizations": { - "ar": { - "stringUnit": { - "state": "translated", - "value": "app.accentColor accent color highlight tint blue purple system accent macOS accent cmux blue لون التمييز أزرق النظام" - } - }, - "bs": { - "stringUnit": { - "state": "translated", - "value": "app.accentColor accent color highlight tint blue purple system accent macOS accent cmux blue boja naglaska plava sistem" - } - }, - "da": { - "stringUnit": { - "state": "translated", - "value": "app.accentColor accent color highlight tint blue purple system accent macOS accent cmux blue accentfarve blå system" - } - }, - "de": { - "stringUnit": { - "state": "translated", - "value": "app.accentColor accent color highlight tint blue purple system accent macOS accent cmux blue Akzentfarbe blau System" - } - }, - "en": { - "stringUnit": { - "state": "translated", - "value": "app.accentColor accent color highlight tint blue purple system accent macOS accent cmux blue" - } - }, - "es": { - "stringUnit": { - "state": "translated", - "value": "app.accentColor accent color highlight tint blue purple system accent macOS accent cmux blue color de acento azul sistema" - } - }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "app.accentColor accent color highlight tint blue purple system accent macOS accent cmux blue couleur d’accentuation bleu système" - } - }, - "it": { - "stringUnit": { - "state": "translated", - "value": "app.accentColor accent color highlight tint blue purple system accent macOS accent cmux blue colore di evidenziazione blu sistema" - } - }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "app.accentColor accent color highlight tint blue purple system accent macOS accent cmux blue アクセントカラー 青 システム" - } - }, - "ko": { - "stringUnit": { - "state": "translated", - "value": "app.accentColor accent color highlight tint blue purple system accent macOS accent cmux blue 강조 색상 파란색 시스템" - } - }, - "nb": { - "stringUnit": { - "state": "translated", - "value": "app.accentColor accent color highlight tint blue purple system accent macOS accent cmux blue aksentfarge blå system" - } - }, - "pl": { - "stringUnit": { - "state": "translated", - "value": "app.accentColor accent color highlight tint blue purple system accent macOS accent cmux blue kolor akcentu niebieski systemowy" - } - }, - "pt-BR": { - "stringUnit": { - "state": "translated", - "value": "app.accentColor accent color highlight tint blue purple system accent macOS accent cmux blue cor de destaque azul sistema" - } - }, - "ru": { - "stringUnit": { - "state": "translated", - "value": "app.accentColor accent color highlight tint blue purple system accent macOS accent cmux blue цвет акцента синий системный" - } - }, - "th": { - "stringUnit": { - "state": "translated", - "value": "app.accentColor accent color highlight tint blue purple system accent macOS accent cmux blue สีเน้น สีน้ำเงิน ระบบ" - } - }, - "tr": { - "stringUnit": { - "state": "translated", - "value": "app.accentColor accent color highlight tint blue purple system accent macOS accent cmux blue vurgu rengi mavi sistem" - } - }, - "uk": { - "stringUnit": { - "state": "translated", - "value": "app.accentColor accent color highlight tint blue purple system accent macOS accent cmux blue колір акценту синій системний" - } - }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "app.accentColor accent color highlight tint blue purple system accent macOS accent cmux blue 强调色 蓝色 系统" - } - }, - "zh-Hant": { - "stringUnit": { - "state": "translated", - "value": "app.accentColor accent color highlight tint blue purple system accent macOS accent cmux blue 強調色 藍色 系統" - } - } - } - }, "settings.search.alias.setting.app.appearance": { "extractionState": "manual", "localizations": { @@ -366828,6 +364844,183 @@ } } }, + "settings.terminal.promptSelection": { + "extractionState": "manual", + "localizations": { + "en": { + "stringUnit": { + "state": "translated", + "value": "Prompt Text Selection" + } + }, + "ja": { + "stringUnit": { + "state": "translated", + "value": "プロンプトのテキスト選択" + } + }, + "zh-Hans": { + "stringUnit": { + "state": "translated", + "value": "提示符文本选择" + } + }, + "de": { + "stringUnit": { + "state": "translated", + "value": "Textauswahl in der Eingabezeile" + } + }, + "fr": { + "stringUnit": { + "state": "translated", + "value": "Sélection de texte dans l’invite" + } + }, + "ar": { + "stringUnit": { + "state": "translated", + "value": "تحديد النص في موجه الأوامر" + } + }, + "es": { + "stringUnit": { + "state": "translated", + "value": "Selección de texto en la línea de comandos" + } + }, + "zh-Hant": { + "stringUnit": { + "state": "translated", + "value": "提示字元文字選取" + } + }, + "ko": { + "stringUnit": { + "state": "translated", + "value": "프롬프트 텍스트 선택" + } + } + } + }, + "settings.terminal.promptSelection.subtitleOn": { + "extractionState": "manual", + "localizations": { + "en": { + "stringUnit": { + "state": "translated", + "value": "At a shell prompt, Command-A selects the command you're typing, Shift-arrow keys extend the selection, and typing, Delete, or Command-X replace it. Needs shell integration and an emacs-style line editor." + } + }, + "ja": { + "stringUnit": { + "state": "translated", + "value": "シェルのプロンプトで、Command-A は入力中のコマンドを選択し、Shift-矢印キーで選択を広げ、入力、Delete、Command-X で選択範囲を置き換えます。シェル統合と emacs スタイルの行エディタが必要です。" + } + }, + "zh-Hans": { + "stringUnit": { + "state": "translated", + "value": "在 shell 提示符处,Command-A 选择正在输入的命令,Shift 加方向键扩展选择,输入、Delete 或 Command-X 会替换所选内容。需要 shell 集成和 emacs 风格的行编辑器。" + } + }, + "de": { + "stringUnit": { + "state": "translated", + "value": "An einer Shell-Eingabeaufforderung wählt Befehl-A den eingegebenen Befehl aus, Umschalt-Pfeiltasten erweitern die Auswahl, und Tippen, Löschen oder Befehl-X ersetzen sie. Erfordert Shell-Integration und einen Zeileneditor im Emacs-Stil." + } + }, + "fr": { + "stringUnit": { + "state": "translated", + "value": "À une invite du shell, Commande-A sélectionne la commande en cours de saisie, Maj-flèches étendent la sélection, et la saisie, Supprimer ou Commande-X la remplacent. Nécessite l’intégration du shell et un éditeur de ligne de style emacs." + } + }, + "ar": { + "stringUnit": { + "state": "translated", + "value": "عند موجه الصدفة، يحدد Command-A الأمر الذي تكتبه، وتوسّع مفاتيح Shift مع الأسهم التحديد، وتستبدله الكتابة أو Delete أو Command-X. يتطلب تكامل الصدفة ومحرر أسطر بنمط emacs." + } + }, + "es": { + "stringUnit": { + "state": "translated", + "value": "En la línea de comandos del shell, Comando-A selecciona el comando que escribes, Mayúsculas con las flechas amplía la selección, y escribir, Eliminar o Comando-X la reemplazan. Requiere la integración del shell y un editor de línea de estilo emacs." + } + }, + "zh-Hant": { + "stringUnit": { + "state": "translated", + "value": "在 shell 提示字元中,Command-A 會選取正在輸入的指令,Shift 加方向鍵可延伸選取範圍,輸入文字、Delete 或 Command-X 會取代選取內容。需要 shell 整合與 emacs 風格的行編輯器。" + } + }, + "ko": { + "stringUnit": { + "state": "translated", + "value": "셸 프롬프트에서 Command-A는 입력 중인 명령을 선택하고, Shift-화살표 키로 선택을 확장하며, 입력, Delete 또는 Command-X로 선택 영역을 대체합니다. 셸 통합과 emacs 스타일 줄 편집기가 필요합니다." + } + } + } + }, + "settings.terminal.promptSelection.subtitleOff": { + "extractionState": "manual", + "localizations": { + "en": { + "stringUnit": { + "state": "translated", + "value": "Command-A selects everything in the terminal, and typing never replaces a selection." + } + }, + "ja": { + "stringUnit": { + "state": "translated", + "value": "Command-A はターミナル全体を選択し、入力しても選択範囲は置き換えられません。" + } + }, + "zh-Hans": { + "stringUnit": { + "state": "translated", + "value": "Command-A 选择终端中的全部内容,输入不会替换所选内容。" + } + }, + "de": { + "stringUnit": { + "state": "translated", + "value": "Befehl-A wählt den gesamten Terminalinhalt aus, und Tippen ersetzt nie eine Auswahl." + } + }, + "fr": { + "stringUnit": { + "state": "translated", + "value": "Commande-A sélectionne tout le contenu du terminal, et la saisie ne remplace jamais une sélection." + } + }, + "ar": { + "stringUnit": { + "state": "translated", + "value": "يحدد Command-A كل محتوى الطرفية، ولا تستبدل الكتابة أي تحديد." + } + }, + "es": { + "stringUnit": { + "state": "translated", + "value": "Comando-A selecciona todo el contenido de la terminal, y escribir nunca reemplaza una selección." + } + }, + "zh-Hant": { + "stringUnit": { + "state": "translated", + "value": "Command-A 會選取終端機中的所有內容,輸入文字不會取代選取內容。" + } + }, + "ko": { + "stringUnit": { + "state": "translated", + "value": "Command-A는 터미널의 모든 내용을 선택하며, 입력해도 선택 영역이 대체되지 않습니다." + } + } + } + }, "settings.terminal.textEditingGestures": { "extractionState": "manual", "localizations": { @@ -546993,54 +545186,14 @@ "value": "Workspace Color: %@" } }, - "de": { - "stringUnit": { - "state": "translated", - "value": "Arbeitsbereichfarbe: %@" - } - }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Couleur de l’espace de travail : %@" - } - }, - "ar": { - "stringUnit": { - "state": "translated", - "value": "لون مساحة العمل: %@" - } - }, - "es": { - "stringUnit": { - "state": "translated", - "value": "Color del espacio de trabajo: %@" - } - }, - "zh-Hant": { - "stringUnit": { - "state": "translated", - "value": "工作區顏色:%@" - } - }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "工作区颜色:%@" - } - }, - "ko": { - "stringUnit": { - "state": "translated", - "value": "작업 공간 색상: %@" - } - }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "ワークスペースの色: %@" - } - } + "de": {"stringUnit": {"state": "translated", "value": "Arbeitsbereichfarbe: %@"}}, + "fr": {"stringUnit": {"state": "translated", "value": "Couleur de l’espace de travail : %@"}}, + "ar": {"stringUnit": {"state": "translated", "value": "لون مساحة العمل: %@"}}, + "es": {"stringUnit": {"state": "translated", "value": "Color del espacio de trabajo: %@"}}, + "zh-Hant": {"stringUnit": {"state": "translated", "value": "工作區顏色:%@"}}, + "zh-Hans": {"stringUnit": {"state": "translated", "value": "工作区颜色:%@"}}, + "ko": {"stringUnit": {"state": "translated", "value": "작업 공간 색상: %@"}}, + "ja": {"stringUnit": {"state": "translated", "value": "ワークスペースの色: %@"}} } }, "fileExplorer.preview.failedTitle": { @@ -547817,6 +545970,82 @@ } } }, + "globalSearch.kind.terminal": { + "extractionState": "manual", + "localizations": { + "en": { + "stringUnit": { + "state": "translated", + "value": "Terminal" + } + }, + "ja": { + "stringUnit": { + "state": "translated", + "value": "ターミナル" + } + }, + "ko": { + "stringUnit": { + "state": "translated", + "value": "터미널" + } + }, + "ar": { + "stringUnit": { + "state": "translated", + "value": "طرفية" + } + }, + "zh-Hant": { + "stringUnit": { + "state": "translated", + "value": "終端" + } + }, + "zh-Hans": { + "stringUnit": { + "state": "translated", + "value": "终端" + } + }, + "de": { + "stringUnit": { + "state": "translated", + "value": "Terminal" + } + }, + "fr": { + "stringUnit": { + "state": "translated", + "value": "Terminal" + } + }, + "es": { + "stringUnit": { + "state": "translated", + "value": "Terminal" + } + } + } + }, + "machines.agent.pi": { + "extractionState": "manual", + "localizations": { + "en": { + "stringUnit": { + "state": "translated", + "value": "Pi" + } + }, + "ja": { + "stringUnit": { + "state": "translated", + "value": "Pi" + } + } + } + }, "terminal.passwordInput.indicator": { "extractionState": "manual", "localizations": { @@ -548584,11288 +546813,11117 @@ } } }, - "command.shortcutKeymap.title": { + "cli.help.send": { "extractionState": "manual", "localizations": { - "en": { + "ar": { "stringUnit": { "state": "translated", - "value": "Base Keymap: %@" + "value": "الاستخدام: cmux send [flags] [--] \n\nيرسل نصًا إلى سطح طرفية كضغطات مفاتيح. تسلسلات الهروب: \\n و\\r ترسلان Enter، و\\t ترسل Tab.\n\nللنصوص الكبيرة (مثلًا أكثر من 4 كيلوبايت، أو عدة أسطر موجهة إلى وكيل)، استخدم --paste أو cmux paste. تضغط ضغطات المفاتيح Enter عند كل سطر جديد، مما قد يرسل كل سطر بمفرده.\n\nمع --paste، يمر النص دون تغيير عبر مسار اللصق نفسه الذي يستخدمه cmux paste وCmd+V: لا تُفسَّر تسلسلات الهروب مثل \\n، وتُستبدل أحرف التحكم مثل Esc وCtrl-C بمسافات. يجب أن يأتي --paste قبل النص.\n\nالخيارات:\n --workspace مساحة العمل المستهدفة (الافتراضي: $CMUX_WORKSPACE_ID)\n --surface السطح المستهدف (الافتراضي: $CMUX_SURFACE_ID)\n --window سياق النافذة لمراجع وفهارس مساحة العمل/السطح\n --paste يلصق النص بدلًا من كتابته\n\nمثال:\n cmux send \"echo hello\"\n cmux send --surface surface:2 \"ls -la\\n\"\n cmux send --paste --surface surface:2 \"$(cat notes.md)\"" } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "مخطط المفاتيح الأساسي: %@" + "value": "Verwendung: cmux send [flags] [--] \n\nSendet Text als Tastatureingaben an eine Terminal-Oberfläche. Escape-Sequenzen: \\n und \\r senden Enter, \\t sendet Tab.\n\nFür große Texte (zum Beispiel über 4 KB oder mehrere Zeilen an einen Agenten) --paste oder cmux paste verwenden. Tastatureingaben drücken bei jedem Zeilenumbruch Enter, wodurch jede Zeile einzeln abgesendet werden kann.\n\nMit --paste geht der Text unverändert über denselben Einfügepfad wie cmux paste und Cmd+V: Escape-Sequenzen wie \\n werden nicht interpretiert, und Steuerzeichen wie Esc und Strg-C werden durch Leerzeichen ersetzt. --paste muss vor dem Text stehen.\n\nFlags:\n --workspace Ziel-Workspace (Standard: $CMUX_WORKSPACE_ID)\n --surface Ziel-Oberfläche (Standard: $CMUX_SURFACE_ID)\n --window Fensterkontext für Workspace-/Oberflächen-Refs und -Indizes\n --paste Fügt den Text ein, statt ihn zu tippen\n\nBeispiel:\n cmux send \"echo hello\"\n cmux send --surface surface:2 \"ls -la\\n\"\n cmux send --paste --surface surface:2 \"$(cat notes.md)\"" } }, - "de": { + "en": { "stringUnit": { "state": "translated", - "value": "Basis-Tastaturbelegung: %@" + "value": "Usage: cmux send [flags] [--] \n\nSend text to a terminal surface as keystrokes. Escape sequences: \\n and \\r send Enter, \\t sends Tab.\n\nFor large text (for example over 4 KB, or several lines going to an agent), use --paste or cmux paste. Keystrokes press Enter at every newline, which can submit each line on its own.\n\nWith --paste, the text goes through the same paste path as cmux paste and Cmd+V, unchanged: escape sequences such as \\n are not interpreted, and control characters such as Esc and Ctrl-C are replaced with spaces. --paste must come before the text.\n\nFlags:\n --workspace Target workspace (default: $CMUX_WORKSPACE_ID)\n --surface Target surface (default: $CMUX_SURFACE_ID)\n --window Window context for workspace/surface refs and indexes\n --paste Paste the text instead of typing it\n\nExample:\n cmux send \"echo hello\"\n cmux send --surface surface:2 \"ls -la\\n\"\n cmux send --paste --surface surface:2 \"$(cat notes.md)\"" } }, "es": { "stringUnit": { "state": "translated", - "value": "Mapa de teclas base: %@" + "value": "Uso: cmux send [flags] [--] \n\nEnvía texto a una superficie de terminal como pulsaciones de teclas. Secuencias de escape: \\n y \\r envían Intro, \\t envía Tab.\n\nPara textos grandes (por ejemplo, más de 4 KB o varias líneas dirigidas a un agente), usa --paste o cmux paste. Las pulsaciones presionan Intro en cada salto de línea, lo que puede enviar cada línea por separado.\n\nCon --paste, el texto pasa sin cambios por la misma ruta de pegado que cmux paste y Cmd+V: las secuencias de escape como \\n no se interpretan y los caracteres de control como Esc y Ctrl-C se reemplazan por espacios. --paste debe ir antes del texto.\n\nOpciones:\n --workspace Espacio de trabajo de destino (predeterminado: $CMUX_WORKSPACE_ID)\n --surface Superficie de destino (predeterminada: $CMUX_SURFACE_ID)\n --window Contexto de ventana para referencias e índices de espacio de trabajo/superficie\n --paste Pega el texto en lugar de escribirlo\n\nEjemplo:\n cmux send \"echo hello\"\n cmux send --surface surface:2 \"ls -la\\n\"\n cmux send --paste --surface surface:2 \"$(cat notes.md)\"" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Disposition de base : %@" + "value": "Utilisation : cmux send [flags] [--] \n\nEnvoie du texte à une surface de terminal sous forme de frappes. Séquences d’échappement : \\n et \\r envoient Entrée, \\t envoie Tab.\n\nPour un texte volumineux (par exemple plus de 4 Ko, ou plusieurs lignes destinées à un agent), utilisez --paste ou cmux paste. Les frappes appuient sur Entrée à chaque saut de ligne, ce qui peut envoyer chaque ligne séparément.\n\nAvec --paste, le texte passe tel quel par le même chemin de collage que cmux paste et Cmd+V : les séquences d’échappement comme \\n ne sont pas interprétées, et les caractères de contrôle comme Échap et Ctrl-C sont remplacés par des espaces. --paste doit précéder le texte.\n\nOptions :\n --workspace Espace de travail cible (par défaut : $CMUX_WORKSPACE_ID)\n --surface Surface cible (par défaut : $CMUX_SURFACE_ID)\n --window Contexte de fenêtre pour les références et index d’espace de travail/surface\n --paste Colle le texte au lieu de le taper\n\nExemple :\n cmux send \"echo hello\"\n cmux send --surface surface:2 \"ls -la\\n\"\n cmux send --paste --surface surface:2 \"$(cat notes.md)\"" } }, "ja": { "stringUnit": { "state": "translated", - "value": "ベースキーマップ: %@" + "value": "使用方法: cmux send [flags] [--] \n\nテキストをキー入力としてターミナルサーフェスに送信します。エスケープシーケンス: \\n と \\r は Enter、\\t は Tab を送信します。\n\n大きなテキスト(たとえば 4 KB を超えるもの、またはエージェントに送る複数行)には --paste または cmux paste を使ってください。キー入力では改行ごとに Enter が押されるため、各行が個別に送信されることがあります。\n\n--paste を使うと、テキストはそのまま cmux paste や Cmd+V と同じ貼り付け経路で送られます。\\n などのエスケープシーケンスは解釈されず、Esc や Ctrl-C などの制御文字はスペースに置き換えられます。--paste はテキストより前に指定してください。\n\nフラグ:\n --workspace 対象ワークスペース(既定: $CMUX_WORKSPACE_ID)\n --surface 対象サーフェス(既定: $CMUX_SURFACE_ID)\n --window ワークスペース/サーフェスの参照とインデックスに使うウィンドウコンテキスト\n --paste テキストを入力する代わりに貼り付けます\n\n例:\n cmux send \"echo hello\"\n cmux send --surface surface:2 \"ls -la\\n\"\n cmux send --paste --surface surface:2 \"$(cat notes.md)\"" } }, "ko": { "stringUnit": { "state": "translated", - "value": "기본 키맵: %@" + "value": "사용법: cmux send [flags] [--] \n\n텍스트를 키 입력으로 터미널 서피스에 보냅니다. 이스케이프 시퀀스: \\n과 \\r은 Enter, \\t는 Tab을 보냅니다.\n\n큰 텍스트(예: 4 KB 초과 또는 에이전트로 보내는 여러 줄)에는 --paste 또는 cmux paste를 사용하세요. 키 입력은 줄바꿈마다 Enter를 누르므로 각 줄이 따로 제출될 수 있습니다.\n\n--paste를 쓰면 텍스트가 변경 없이 cmux paste 및 Cmd+V와 같은 붙여넣기 경로로 전달됩니다. \\n 같은 이스케이프 시퀀스는 해석되지 않으며, Esc와 Ctrl-C 같은 제어 문자는 공백으로 바뀝니다. --paste는 텍스트보다 앞에 와야 합니다.\n\n플래그:\n --workspace 대상 워크스페이스 (기본값: $CMUX_WORKSPACE_ID)\n --surface 대상 서피스 (기본값: $CMUX_SURFACE_ID)\n --window 워크스페이스/서피스 참조와 인덱스에 사용할 창 컨텍스트\n --paste 텍스트를 입력하는 대신 붙여넣습니다\n\n예:\n cmux send \"echo hello\"\n cmux send --surface surface:2 \"ls -la\\n\"\n cmux send --paste --surface surface:2 \"$(cat notes.md)\"" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "基础键位方案:%@" + "value": "用法:cmux send [flags] [--] \n\n以按键方式将文本发送到终端表面。转义序列:\\n 和 \\r 发送 Enter,\\t 发送 Tab。\n\n对于大量文本(例如超过 4 KB,或要发给代理的多行文本),请使用 --paste 或 cmux paste。按键方式会在每个换行处按下 Enter,可能让每一行单独提交。\n\n使用 --paste 时,文本会原样通过与 cmux paste 和 Cmd+V 相同的粘贴路径发送:不会解释 \\n 等转义序列,Esc 和 Ctrl-C 等控制字符会被替换为空格。--paste 必须放在文本之前。\n\n标志:\n --workspace 目标工作区(默认:$CMUX_WORKSPACE_ID)\n --surface 目标表面(默认:$CMUX_SURFACE_ID)\n --window 工作区/表面引用与索引的窗口上下文\n --paste 粘贴文本,而不是逐键输入\n\n示例:\n cmux send \"echo hello\"\n cmux send --surface surface:2 \"ls -la\\n\"\n cmux send --paste --surface surface:2 \"$(cat notes.md)\"" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "基礎按鍵配置:%@" + "value": "用法:cmux send [flags] [--] \n\n以按鍵方式將文字傳送到終端機表面。跳脫序列:\\n 和 \\r 送出 Enter,\\t 送出 Tab。\n\n若是大量文字(例如超過 4 KB,或要送給代理的多行文字),請使用 --paste 或 cmux paste。按鍵方式會在每個換行處按下 Enter,可能讓每一行各自送出。\n\n使用 --paste 時,文字會原封不動地透過與 cmux paste 和 Cmd+V 相同的貼上路徑送出:不會解譯 \\n 等跳脫序列,Esc 和 Ctrl-C 等控制字元會被替換為空格。--paste 必須放在文字之前。\n\n旗標:\n --workspace 目標工作區(預設:$CMUX_WORKSPACE_ID)\n --surface 目標表面(預設:$CMUX_SURFACE_ID)\n --window 工作區/表面參照與索引所用的視窗上下文\n --paste 貼上文字,而不是逐鍵輸入\n\n範例:\n cmux send \"echo hello\"\n cmux send --surface surface:2 \"ls -la\\n\"\n cmux send --paste --surface surface:2 \"$(cat notes.md)\"" } } } }, - "settings.shortcuts.baseKeymap": { + "cli.send.hint.usePaste": { "extractionState": "manual", "localizations": { - "en": { + "ar": { "stringUnit": { "state": "translated", - "value": "Base Keymap" + "value": "تلميح: كُتب كل سطر جديد كضغطة Enter؛ للنصوص الكبيرة متعددة الأسطر استخدم cmux send --paste أو cmux paste لإرسالها كلصقة واحدة" } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "مخطط المفاتيح الأساسي" + "value": "Hinweis: Jeder Zeilenumbruch wurde als Enter getippt; für große mehrzeilige Texte cmux send --paste oder cmux paste verwenden, um sie als ein einziges Einfügen zu senden" } }, - "de": { + "en": { "stringUnit": { "state": "translated", - "value": "Basis-Tastaturbelegung" + "value": "hint: each newline was typed as Enter; for large multi-line text use cmux send --paste or cmux paste to deliver it as one paste" } }, "es": { "stringUnit": { "state": "translated", - "value": "Mapa de teclas base" + "value": "sugerencia: cada salto de línea se escribió como Intro; para textos grandes de varias líneas usa cmux send --paste o cmux paste para enviarlos como un solo pegado" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Disposition de base" + "value": "astuce : chaque saut de ligne a été tapé comme Entrée ; pour un texte volumineux sur plusieurs lignes, utilisez cmux send --paste ou cmux paste pour l’envoyer en un seul collage" } }, "ja": { "stringUnit": { "state": "translated", - "value": "ベースキーマップ" + "value": "ヒント: 各改行は Enter として入力されました。大きな複数行テキストは cmux send --paste または cmux paste を使うと 1 回の貼り付けとして送れます" } }, "ko": { "stringUnit": { "state": "translated", - "value": "기본 키맵" + "value": "힌트: 각 줄바꿈이 Enter로 입력되었습니다. 큰 여러 줄 텍스트는 cmux send --paste 또는 cmux paste를 사용해 한 번의 붙여넣기로 보내세요" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "基础键位方案" + "value": "提示:每个换行都作为 Enter 输入;对于大量多行文本,请使用 cmux send --paste 或 cmux paste 以一次粘贴发送" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "基礎按鍵配置" + "value": "提示:每個換行都以 Enter 輸入;若是大量多行文字,請使用 cmux send --paste 或 cmux paste 以單次貼上送出" } } } }, - "settings.shortcuts.baseKeymap.conflictHint": { + "settings.computerUse.enabled.subtitle": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Change or turn off the macOS shortcut in System Settings > Keyboard > Keyboard Shortcuts." + "value": "Lets supported agents see and control apps on this Mac. An agent's first Computer Use request starts setup automatically." } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "غيّر اختصار macOS أو أوقفه في إعدادات النظام > لوحة المفاتيح > اختصارات لوحة المفاتيح." + "value": "Unterstützte Agenten können Apps auf diesem Mac sehen und steuern. Die erste Computer-Use-Anfrage eines Agenten startet die Einrichtung automatisch." } }, - "de": { + "fr": { "stringUnit": { "state": "translated", - "value": "Ändern oder deaktivieren Sie das macOS-Tastaturkürzel unter Systemeinstellungen > Tastatur > Tastaturkurzbefehle." + "value": "Les agents pris en charge peuvent voir et contrôler les apps de ce Mac. La première requête Computer Use d’un agent lance automatiquement la configuration." } }, - "es": { + "ar": { "stringUnit": { "state": "translated", - "value": "Cambia o desactiva el atajo de macOS en Ajustes del Sistema > Teclado > Atajos de teclado." + "value": "يمكن للوكلاء المدعومين رؤية التطبيقات على جهاز Mac هذا والتحكم فيها. ويبدأ الإعداد تلقائيًا عند أول طلب Computer Use من أحد الوكلاء." } }, - "fr": { + "es": { "stringUnit": { "state": "translated", - "value": "Modifiez ou désactivez le raccourci macOS dans Réglages Système > Clavier > Raccourcis clavier." + "value": "Los agentes compatibles pueden ver y controlar apps en este Mac. La primera solicitud de Computer Use de un agente inicia la configuración automáticamente." } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "システム設定 > キーボード > キーボードショートカットで macOS のショートカットを変更するかオフにしてください。" + "value": "允許支援的代理程式查看及操作此 Mac 上的 App。代理程式第一次發出 Computer Use 要求時會自動開始設定。" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "시스템 설정 > 키보드 > 키보드 단축키에서 macOS 단축키를 변경하거나 끄세요." + "value": "允许受支持的代理查看并控制这台 Mac 上的 App。代理第一次发出 Computer Use 请求时会自动开始设置。" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "请在“系统设置”>“键盘”>“键盘快捷键”中更改或关闭该 macOS 快捷键。" + "value": "지원되는 에이전트가 이 Mac의 앱을 보고 제어할 수 있게 합니다. 에이전트가 처음 Computer Use를 요청하면 설정이 자동으로 시작됩니다." } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "請在「系統設定」>「鍵盤」>「鍵盤快速鍵」中更改或關閉該 macOS 快速鍵。" + "value": "対応するエージェントが、この Mac のアプリの画面を見て操作できるようにします。エージェントが最初に Computer Use を要求すると、セットアップが自動的に始まります。" } } } }, - "settings.shortcuts.baseKeymap.custom": { + "settings.app.closeWorkspaceOnLastSurfaceShortcut.subtitle": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Custom" + "value": "Closing the last surface in a workspace keeps the workspace open." } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "مخصص" + "value": "Der Arbeitsbereich bleibt geöffnet, auch wenn seine letzte Oberfläche geschlossen wird." } }, - "de": { + "fr": { "stringUnit": { "state": "translated", - "value": "Benutzerdefiniert" + "value": "L’espace de travail reste ouvert après la fermeture de sa dernière surface d’affichage." } }, - "es": { + "ar": { "stringUnit": { "state": "translated", - "value": "Personalizado" + "value": "تبقى مساحة العمل مفتوحة عند إغلاق آخر سطح فيها." } }, - "fr": { + "es": { "stringUnit": { "state": "translated", - "value": "Personnalisée" + "value": "El espacio de trabajo permanece abierto aunque se cierre su última superficie." } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "カスタム" + "value": "即使關閉最後一個介面,工作區仍會保持開啟。" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "사용자 지정" + "value": "即使关闭最后一个表面,工作区也会保持打开。" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "自定义" + "value": "마지막 서피스를 닫아도 워크스페이스는 닫히지 않습니다." } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "自訂" + "value": "最後のサーフェスを閉じても、ワークスペースは閉じません。" } } } }, - "settings.shortcuts.baseKeymap.subtitle": { + "settings.app.commandPaletteSearchAllSurfaces.subtitle": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Start from another terminal's shortcuts. Only the differences are written to cmux.json; choose cmux to remove them." + "value": "Includes terminal, browser, and Markdown surfaces from every workspace in command palette results." } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "ابدأ من اختصارات طرفية أخرى. تُكتب الاختلافات فقط في cmux.json؛ اختر cmux لإزالتها." + "value": "Die Befehlspalette findet auch Terminal-, Browser- und Markdown-Oberflächen in allen Arbeitsbereichen." } }, - "de": { + "fr": { "stringUnit": { "state": "translated", - "value": "Mit den Tastaturkürzeln eines anderen Terminals beginnen. Nur die Unterschiede werden in cmux.json geschrieben; wählen Sie cmux, um sie zu entfernen." + "value": "La palette de commandes affiche aussi les surfaces d’affichage de terminal, de navigateur et Markdown de tous les espaces de travail." } }, - "es": { + "ar": { "stringUnit": { "state": "translated", - "value": "Parte de los atajos de otro terminal. Solo se escriben las diferencias en cmux.json; elige cmux para eliminarlas." + "value": "تعرض نتائج لوحة الأوامر أسطح الطرفية والمتصفح وMarkdown من جميع مساحات العمل." } }, - "fr": { + "es": { "stringUnit": { "state": "translated", - "value": "Partez des raccourcis d’un autre terminal. Seules les différences sont écrites dans cmux.json ; choisissez cmux pour les supprimer." + "value": "La paleta de comandos también muestra las superficies de terminal, navegador y Markdown de todos los espacios de trabajo." } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "他のターミナルのショートカットから始めます。差分だけが cmux.json に書き込まれ、cmux を選ぶと削除されます。" + "value": "在命令面板中也能找到所有工作區的終端機、瀏覽器和 Markdown 介面。" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "다른 터미널의 단축키에서 시작합니다. 차이점만 cmux.json에 기록되며, cmux를 선택하면 제거됩니다." + "value": "在命令面板中也能找到所有工作区的终端、浏览器和 Markdown 表面。" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "以其他终端的快捷键为起点。只会将差异写入 cmux.json;选择 cmux 即可移除。" + "value": "명령어 팔레트에서 모든 워크스페이스의 터미널, 브라우저, Markdown 서피스도 찾을 수 있습니다." } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "以其他終端機的快速鍵為起點。只會將差異寫入 cmux.json;選擇 cmux 即可移除。" + "value": "コマンドパレットで、すべてのワークスペースのターミナル、ブラウザ、Markdown のサーフェスも検索できます。" } } } }, - "shortcut.keymap.preset.cmux": { + "settings.app.fileDrop.defaultBehavior.subtitle": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "cmux (Default)" + "value": "Choose what dropping files on a terminal or editor does. Holding Shift while dragging does the other." } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "cmux (الافتراضي)" + "value": "Wählen Sie, was beim Ablegen von Dateien auf einem Terminal oder Editor passiert. Wenn Sie beim Ziehen die Umschalttaste gedrückt halten, gilt die andere Option." } }, - "de": { + "fr": { "stringUnit": { "state": "translated", - "value": "cmux (Standard)" + "value": "Choisissez ce qui se passe lorsque vous déposez des fichiers sur un terminal ou un éditeur. Si vous maintenez la touche Maj enfoncée pendant le glissement, l’autre option s’applique." } }, - "es": { + "ar": { "stringUnit": { "state": "translated", - "value": "cmux (predeterminado)" + "value": "اختر ما يحدث عند إفلات الملفات على طرفية أو محرر. يؤدي الضغط مع الاستمرار على مفتاح Shift أثناء السحب إلى تطبيق الخيار الآخر." } }, - "fr": { + "es": { "stringUnit": { "state": "translated", - "value": "cmux (par défaut)" + "value": "Elige qué ocurre al soltar archivos en una terminal o un editor. Si mantienes pulsada la tecla Mayúsculas al arrastrar, se usa la otra opción." } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "cmux(デフォルト)" + "value": "選擇將檔案拖放到終端機或編輯器時要執行的動作。拖移時按住 Shift 鍵可改用另一個動作。" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "cmux (기본값)" + "value": "选择将文件拖放到终端或编辑器时执行的操作。拖动时按住 Shift 键可改用另一种操作。" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "cmux(默认)" + "value": "파일을 터미널이나 편집기에 드롭했을 때 수행할 동작을 선택합니다. 드래그 중에 Shift 키를 누르고 있으면 다른 쪽 동작을 수행합니다." } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "cmux(預設)" + "value": "ファイルをターミナルやエディタにドロップしたときの動作を選択します。ドラッグ中に Shift キーを押したままにすると、もう一方の動作になります。" } } } }, - "shortcut.keymap.preset.iterm2": { + "settings.app.focusHistoryIncludesPanesAndTabs.subtitle": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "iTerm2" + "value": "Using Back and Forward also returns to previous panes and tabs." } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "iTerm2" + "value": "Mit „Zurück“ und „Vor“ kehren Sie auch zu vorherigen Teilfenstern und Tabs zurück." } }, - "de": { + "fr": { "stringUnit": { "state": "translated", - "value": "iTerm2" + "value": "Précédent et Suivant ramènent aussi aux volets et aux onglets précédents." } }, - "es": { + "ar": { "stringUnit": { "state": "translated", - "value": "iTerm2" + "value": "ينتقل «رجوع» و«تقدم» أيضًا إلى الأجزاء وعلامات التبويب السابقة." } }, - "fr": { + "es": { "stringUnit": { "state": "translated", - "value": "iTerm2" + "value": "Atrás y Adelante también vuelven a los paneles y pestañas anteriores." } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "iTerm2" + "value": "使用「返回」與「前進」時,也會回到先前的窗格與標籤頁。" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "iTerm2" + "value": "“后退”和“前进”也会回到之前的窗格和标签页。" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "iTerm2" + "value": "뒤로 가기와 앞으로 가기로 이전 분할 창과 탭에도 돌아갈 수 있습니다." } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "iTerm2" + "value": "「戻る」と「進む」で、以前のペインやタブにも戻れます。" } } } }, - "shortcut.keymap.preset.terminal": { + "settings.app.globalFontMagnification.subtitle": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Terminal.app" + "value": "Scales all text in cmux. Command-Plus and Command-Minus still zoom the focused pane." } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "Terminal.app" + "value": "Ändert die Größe des gesamten Texts in cmux. Mit Befehlstaste-Plus und Befehlstaste-Minus lässt sich das fokussierte Teilfenster weiterhin zoomen." } }, - "de": { + "fr": { "stringUnit": { "state": "translated", - "value": "Terminal.app" + "value": "Modifie la taille de tout le texte de cmux. Commande + Plus et Commande + Moins continuent de régler le zoom du volet actif." } }, - "es": { + "ar": { "stringUnit": { "state": "translated", - "value": "Terminal.app" + "value": "يغيّر حجم جميع النصوص في cmux. ولا يزال الاختصاران Command-علامة الجمع وCommand-علامة الطرح يكبّران الجزء المركّز عليه ويصغّرانه." } }, - "fr": { + "es": { "stringUnit": { "state": "translated", - "value": "Terminal.app" + "value": "Cambia el tamaño de todo el texto de cmux. Comando + Más y Comando + Menos siguen ajustando el zoom del panel enfocado." } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "Terminal.app" + "value": "調整 cmux 中所有文字的大小。Command + 加號和 Command + 減號仍可用來縮放目前聚焦的窗格。" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "Terminal.app" + "value": "调整 cmux 中所有文本的大小。Command + 加号和 Command + 减号仍可用于缩放当前聚焦的窗格。" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "Terminal.app" + "value": "cmux의 모든 텍스트 크기를 조절합니다. 포커스된 분할 창은 계속 Command-더하기와 Command-빼기로 확대/축소할 수 있습니다." } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "Terminal.app" + "value": "cmux 内のすべてのテキストの大きさを変更します。フォーカス中のペインは、これまでどおり Command + プラスと Command + マイナスで拡大縮小できます。" } } } }, - "shortcut.keymap.preset.tmux": { + "settings.app.hideAllSidebarDetails.subtitle": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "tmux-style (Ctrl-B Prefix)" + "value": "Shows only workspace titles in the sidebar." } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "نمط tmux (البادئة Ctrl-B)" + "value": "Zeigt in der Seitenleiste nur die Titel der Arbeitsbereiche an." } }, - "de": { + "fr": { "stringUnit": { "state": "translated", - "value": "tmux-Stil (Ctrl-B-Präfix)" + "value": "Affiche uniquement les titres des espaces de travail dans la barre latérale." } }, - "es": { + "ar": { "stringUnit": { "state": "translated", - "value": "Estilo tmux (prefijo Ctrl-B)" + "value": "يعرض عناوين مساحات العمل فقط في الشريط الجانبي." } }, - "fr": { + "es": { "stringUnit": { "state": "translated", - "value": "Style tmux (préfixe Ctrl-B)" + "value": "Muestra solo los títulos de los espacios de trabajo en la barra lateral." } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "tmux 風(Ctrl-B プレフィックス)" + "value": "側邊欄只顯示工作區標題。" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "tmux 스타일 (Ctrl-B 접두사)" + "value": "侧边栏只显示工作区标题。" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "tmux 风格(Ctrl-B 前缀)" + "value": "사이드바에 워크스페이스 제목만 표시합니다." } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "tmux 風格(Ctrl-B 前綴)" + "value": "サイドバーにワークスペースのタイトルだけを表示します。" } } } }, - "shortcut.keymap.summary.change": { + "settings.app.hideTabCloseButton.subtitle": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "%1$@: %2$@ → %3$@" + "value": "Removes the close button from tabs." } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "%1$@: %2$@ → %3$@" + "value": "Tabs werden ohne Schließen-Taste angezeigt." } }, - "de": { + "fr": { "stringUnit": { "state": "translated", - "value": "%1$@: %2$@ → %3$@" + "value": "Les onglets s’affichent sans bouton de fermeture." } }, - "es": { + "ar": { "stringUnit": { "state": "translated", - "value": "%1$@: %2$@ → %3$@" + "value": "تظهر علامات التبويب دون زر إغلاق." } }, - "fr": { + "es": { "stringUnit": { "state": "translated", - "value": "%1$@: %2$@ → %3$@" + "value": "Las pestañas se muestran sin el botón de cerrar." } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "%1$@: %2$@ → %3$@" + "value": "標籤頁上不顯示關閉按鈕。" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "%1$@: %2$@ → %3$@" + "value": "标签页上不显示关闭按钮。" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "%1$@: %2$@ → %3$@" + "value": "탭에 닫기 버튼을 표시하지 않습니다." } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "%1$@: %2$@ → %3$@" + "value": "タブの閉じるボタンを非表示にします。" } } } }, - "shortcut.keymap.summary.conflict": { + "settings.app.minimalMode.subtitle": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "%1$@ is also a macOS shortcut (%2$@). macOS may handle it before cmux." + "value": "Hides the workspace title bar and shows its controls in the sidebar." } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "%1$@ هو أيضًا اختصار في macOS (%2$@). قد يعالجه macOS قبل cmux." + "value": "Blendet die Titelleiste des Arbeitsbereichs aus und zeigt ihre Steuerelemente in der Seitenleiste an." } }, - "de": { + "fr": { "stringUnit": { "state": "translated", - "value": "%1$@ ist auch ein macOS-Tastaturkürzel (%2$@). macOS verarbeitet es möglicherweise vor cmux." + "value": "Masque la barre de titre de l’espace de travail et affiche ses commandes dans la barre latérale." } }, - "es": { + "ar": { "stringUnit": { "state": "translated", - "value": "%1$@ también es un atajo de macOS (%2$@). macOS puede procesarlo antes que cmux." + "value": "يخفي شريط عنوان مساحة العمل ويعرض عناصر التحكم الخاصة به في الشريط الجانبي." } }, - "fr": { + "es": { "stringUnit": { "state": "translated", - "value": "%1$@ est aussi un raccourci macOS (%2$@). macOS peut le traiter avant cmux." + "value": "Oculta la barra de título del espacio de trabajo y muestra sus controles en la barra lateral." } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "%1$@ は macOS のショートカット(%2$@)でもあります。cmux より先に macOS が処理する場合があります。" + "value": "隱藏工作區標題列,改在側邊欄中顯示其控制項。" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "%1$@은(는) macOS 단축키(%2$@)이기도 합니다. macOS가 cmux보다 먼저 처리할 수 있습니다." + "value": "隐藏工作区标题栏,改为在侧边栏中显示其控件。" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "%1$@ 也是 macOS 快捷键(%2$@)。macOS 可能会先于 cmux 处理它。" + "value": "워크스페이스 제목 막대를 숨기고, 제목 막대의 컨트롤을 사이드바에 표시합니다." } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "%1$@ 也是 macOS 快速鍵(%2$@)。macOS 可能會先於 cmux 處理它。" + "value": "ワークスペースのタイトルバーを非表示にし、そのコントロールをサイドバーに表示します。" } } } }, - "shortcut.keymap.summary.kept": { + "settings.app.newWorkspacePlacement.subtitle": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Kept your own shortcut for %@." + "value": "Choose where new workspaces appear in the sidebar." } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "تم الاحتفاظ باختصارك الخاص لـ %@." + "value": "Wählen Sie, wo neue Arbeitsbereiche in der Seitenleiste erscheinen." } }, - "de": { + "fr": { "stringUnit": { "state": "translated", - "value": "Ihr eigenes Tastaturkürzel für %@ wurde beibehalten." + "value": "Choisissez où les nouveaux espaces de travail apparaissent dans la barre latérale." } }, - "es": { + "ar": { "stringUnit": { "state": "translated", - "value": "Se conservó tu propio atajo para %@." + "value": "اختر مكان ظهور مساحات العمل الجديدة في الشريط الجانبي." } }, - "fr": { + "es": { "stringUnit": { "state": "translated", - "value": "Votre propre raccourci pour %@ a été conservé." + "value": "Elige dónde aparecen los nuevos espacios de trabajo en la barra lateral." } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "%@ に設定したショートカットはそのまま残しました。" + "value": "選擇新工作區要顯示在側邊欄的哪個位置。" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "%@에 대한 사용자 단축키를 유지했습니다." + "value": "选择新工作区在侧边栏中的显示位置。" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "已保留你为“%@”设置的快捷键。" + "value": "새 작업 공간을 사이드바의 어디에 표시할지 선택합니다." } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "已保留您為「%@」設定的快速鍵。" + "value": "新しいワークスペースをサイドバーのどこに表示するかを選択します。" } } } }, - "shortcut.keymap.summary.none": { + "settings.app.openSidebarPRLinks.subtitle": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "No shortcuts changed." + "value": "Clicking a pull request link in the sidebar opens it in the cmux browser." } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "لم يتم تغيير أي اختصارات." + "value": "Pull-Request-Links in der Seitenleiste werden per Klick im cmux-Browser geöffnet." } }, - "de": { + "fr": { "stringUnit": { "state": "translated", - "value": "Keine Tastaturkürzel geändert." + "value": "Un clic sur un lien de pull request de la barre latérale l’ouvre dans le navigateur cmux." } }, - "es": { + "ar": { "stringUnit": { "state": "translated", - "value": "No se cambió ningún atajo." + "value": "تُفتح روابط طلبات السحب في الشريط الجانبي في متصفح cmux عند النقر عليها." } }, - "fr": { + "es": { "stringUnit": { "state": "translated", - "value": "Aucun raccourci modifié." + "value": "Los enlaces de pull request de la barra lateral se abren en el navegador de cmux al hacer clic en ellos." } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "変更されたショートカットはありません。" + "value": "側邊欄中的 PR 連結會在 cmux 瀏覽器中開啟。" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "변경된 단축키가 없습니다." + "value": "侧边栏中的 PR 链接会在 cmux 浏览器中打开。" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "未更改任何快捷键。" + "value": "사이드바의 풀 리퀘스트 링크를 클릭하면 cmux 브라우저에서 열립니다." } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "未變更任何快速鍵。" + "value": "サイドバーのプルリクエストのリンクをクリックすると、cmuxブラウザで開きます。" } } } }, - "shortcut.macos.accessibilityShortcuts": { + "settings.app.openSidebarPortLinks.subtitle": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Show Accessibility Shortcuts" + "value": "Clicking a port link in the sidebar opens it in the cmux browser." } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "إظهار اختصارات تسهيلات الاستخدام" + "value": "Port-Links in der Seitenleiste werden per Klick im cmux-Browser geöffnet." } }, - "de": { + "fr": { "stringUnit": { "state": "translated", - "value": "Kurzbefehle für Bedienungshilfen anzeigen" + "value": "Un clic sur un lien de port de la barre latérale l’ouvre dans le navigateur cmux." } }, - "es": { + "ar": { "stringUnit": { "state": "translated", - "value": "Mostrar funciones rápidas de accesibilidad" + "value": "تُفتح روابط المنافذ في الشريط الجانبي في متصفح cmux عند النقر عليها." } }, - "fr": { + "es": { "stringUnit": { "state": "translated", - "value": "Afficher les raccourcis d’accessibilité" + "value": "Los enlaces de puerto de la barra lateral se abren en el navegador de cmux al hacer clic en ellos." } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "アクセシビリティのショートカットを表示" + "value": "側邊欄中的連接埠連結會在 cmux 瀏覽器中開啟。" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "손쉬운 사용 단축키 보기" + "value": "侧边栏中的端口链接会在 cmux 浏览器中打开。" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "显示辅助功能快捷键" + "value": "사이드바의 포트 링크를 클릭하면 cmux 브라우저에서 열립니다." } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "顯示輔助使用快速鍵" + "value": "サイドバーのポートリンクをクリックすると、cmuxブラウザで開きます。" } } } }, - "shortcut.macos.appSwitcher": { + "settings.app.paneFirstClickFocus.subtitle": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Switch apps" + "value": "Clicking a pane while cmux is in the background focuses that pane right away." } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "التبديل بين التطبيقات" + "value": "Ist cmux im Hintergrund, wird ein Teilfenster schon beim ersten Klick fokussiert." } }, - "de": { + "fr": { "stringUnit": { "state": "translated", - "value": "Zwischen Apps wechseln" + "value": "Lorsque cmux est en arrière-plan, un clic sur un volet l’active immédiatement." } }, - "es": { + "ar": { "stringUnit": { "state": "translated", - "value": "Cambiar de app" + "value": "عندما يكون cmux في الخلفية، يكفي النقر على جزء للتركيز عليه فورًا." } }, - "fr": { + "es": { "stringUnit": { "state": "translated", - "value": "Passer d’une app à l’autre" + "value": "Si cmux está en segundo plano, un clic en un panel lo enfoca de inmediato." } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "アプリを切り替える" + "value": "即使 cmux 在背景執行,按一下窗格也會立即將焦點移到該窗格。" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "앱 전환" + "value": "即使 cmux 在后台,点按窗格也会立即将焦点移到该窗格。" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "切换 App" + "value": "cmux가 백그라운드에 있어도 분할 창을 클릭하면 바로 그 분할 창에 포커스가 이동합니다." } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "切換 App" + "value": "cmux がバックグラウンドにあっても、ペインをクリックするとすぐにそのペインにフォーカスが移ります。" } } } }, - "shortcut.macos.appSwitcherReverse": { + "settings.app.pathLastSegmentOnly.subtitle": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Switch apps backward" + "value": "Shortens long paths from the start to keep their end visible." } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "التبديل بين التطبيقات للخلف" + "value": "Kürzt lange Pfade am Anfang, damit ihr Ende sichtbar bleibt." } }, - "de": { + "fr": { "stringUnit": { "state": "translated", - "value": "Rückwärts zwischen Apps wechseln" + "value": "Raccourcit les chemins longs par le début pour que leur fin reste visible." } }, - "es": { + "ar": { "stringUnit": { "state": "translated", - "value": "Cambiar de app hacia atrás" + "value": "يختصر المسارات الطويلة من بدايتها لتبقى نهايتها ظاهرة." } }, - "fr": { + "es": { "stringUnit": { "state": "translated", - "value": "Passer d’une app à l’autre en sens inverse" + "value": "Acorta las rutas largas por el inicio para que su final siga visible." } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "アプリを逆順に切り替える" + "value": "長路徑會省略開頭,保留結尾部分。" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "앱 역방향 전환" + "value": "长路径会省略开头,保留结尾部分。" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "反向切换 App" + "value": "긴 경로는 앞부분을 생략하여 끝부분이 보이게 합니다." } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "反向切換 App" + "value": "長いパスは先頭を省略して、末尾が見えるようにします。" } } } }, - "shortcut.macos.applicationWindows": { + "settings.app.renameSelectsName.subtitle": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Show application windows" + "value": "Renaming from the command palette selects the current name." } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "إظهار نوافذ التطبيق" + "value": "Beim Umbenennen über die Befehlspalette ist der aktuelle Name bereits ausgewählt." } }, - "de": { + "fr": { "stringUnit": { "state": "translated", - "value": "Programmfenster anzeigen" + "value": "Lors d’un renommage depuis la palette de commandes, le nom actuel est sélectionné." } }, - "es": { + "ar": { "stringUnit": { "state": "translated", - "value": "Mostrar ventanas de la aplicación" + "value": "عند إعادة التسمية من لوحة الأوامر، يكون الاسم الحالي محددًا." } }, - "fr": { + "es": { "stringUnit": { "state": "translated", - "value": "Afficher les fenêtres d’application" + "value": "Al cambiar el nombre desde la paleta de comandos, el nombre actual aparece seleccionado." } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "アプリケーションウインドウを表示" + "value": "從命令面板重新命名時,會選取目前的名稱。" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "응용 프로그램 윈도우 보기" + "value": "从命令面板重命名时,会选中当前名称。" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "显示应用程序窗口" + "value": "명령어 팔레트에서 이름을 변경할 때 현재 이름이 선택된 상태로 표시됩니다." } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "顯示應用程式視窗" + "value": "コマンドパレットで名前を変更するとき、現在の名前が選択された状態になります。" } } } }, - "shortcut.macos.characterViewer": { + "settings.app.sidebarBranchLayout.subtitle": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Show Emoji & Symbols" + "value": "Choose whether branches share one line or each get their own line." } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "إظهار الرموز التعبيرية والرموز" + "value": "Wählen Sie, ob sich Branches eine Zeile teilen oder jeweils eine eigene Zeile erhalten." } }, - "de": { + "fr": { "stringUnit": { "state": "translated", - "value": "Emoji & Symbole anzeigen" + "value": "Choisissez si les branches partagent une même ligne ou ont chacune leur propre ligne." } }, - "es": { + "ar": { "stringUnit": { "state": "translated", - "value": "Mostrar emojis y símbolos" + "value": "اختر ما إذا كانت الفروع تتشارك سطرًا واحدًا أو يحصل كل منها على سطر خاص به." } }, - "fr": { + "es": { "stringUnit": { "state": "translated", - "value": "Afficher Emoji et symboles" + "value": "Elige si las ramas comparten una sola línea o cada una ocupa su propia línea." } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "絵文字と記号を表示" + "value": "選擇分支要共用一行,還是各自獨立一行。" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "이모티콘 및 기호 보기" + "value": "选择分支是共用一行,还是各占一行。" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "显示表情与符号" + "value": "브랜치를 한 줄에 함께 표시할지, 각각 별도의 줄에 표시할지 선택합니다." } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "顯示表情符號與符號" + "value": "ブランチを 1 行にまとめて表示するか、それぞれ別の行に表示するかを選択します。" } } } }, - "shortcut.macos.finderSearch": { + "settings.app.stackBranchDirectory.subtitle": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Show Finder search window" + "value": "Shows the branch and directory on separate lines." } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "إظهار نافذة البحث في Finder" + "value": "Zeigt Branch und Verzeichnis in getrennten Zeilen an." } }, - "de": { + "fr": { "stringUnit": { "state": "translated", - "value": "Finder-Suchfenster anzeigen" + "value": "Affiche la branche et le répertoire sur des lignes distinctes." } }, - "es": { + "ar": { "stringUnit": { "state": "translated", - "value": "Mostrar ventana de búsqueda del Finder" + "value": "يعرض الفرع والدليل في سطرين منفصلين." } }, - "fr": { + "es": { "stringUnit": { "state": "translated", - "value": "Afficher la fenêtre de recherche du Finder" + "value": "Muestra la rama y el directorio en líneas separadas." } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "Finder の検索ウインドウを表示" + "value": "分支與目錄分行顯示。" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "Finder 검색 윈도우 보기" + "value": "分支和目录分行显示。" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "显示“访达”搜索窗口" + "value": "브랜치와 디렉터리를 각각 다른 줄에 표시합니다." } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "顯示 Finder 搜尋視窗" + "value": "ブランチとディレクトリを別々の行に表示します。" } } } }, - "shortcut.macos.focusDock": { + "settings.app.warnBeforeClosingTab.subtitle": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Move focus to the Dock" + "value": "Closing a tab asks for confirmation first." } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "نقل التركيز إلى Dock" + "value": "Beim Schließen eines Tabs wird zuerst nach einer Bestätigung gefragt." } }, - "de": { + "fr": { "stringUnit": { "state": "translated", - "value": "Fokus auf das Dock bewegen" + "value": "Une confirmation est demandée avant la fermeture d’un onglet." } }, - "es": { + "ar": { "stringUnit": { "state": "translated", - "value": "Mover el foco al Dock" + "value": "يُطلب التأكيد قبل إغلاق علامة التبويب." } }, - "fr": { + "es": { "stringUnit": { "state": "translated", - "value": "Placer le curseur dans le Dock" + "value": "Se pide confirmación antes de cerrar una pestaña." } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "Dock にフォーカスを移動" + "value": "關閉標籤頁前先要求確認。" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "Dock으로 포커스 이동" + "value": "关闭标签页前先要求确认。" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "将焦点移到程序坞" + "value": "탭을 닫기 전에 확인을 요청합니다." } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "將焦點移至 Dock" + "value": "タブを閉じる前に確認します。" } } } }, - "shortcut.macos.focusMenuBar": { + "settings.app.warnBeforeClosingTabXButton.subtitle": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Move focus to the menu bar" + "value": "Clicking a tab's close button asks for confirmation first." } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "نقل التركيز إلى شريط القائمة" + "value": "Beim Klicken auf die Schließen-Taste eines Tabs wird zuerst nach einer Bestätigung gefragt." } }, - "de": { + "fr": { "stringUnit": { "state": "translated", - "value": "Fokus auf die Menüleiste bewegen" + "value": "Une confirmation est demandée avant la fermeture d’un onglet avec son bouton de fermeture." } }, - "es": { + "ar": { "stringUnit": { "state": "translated", - "value": "Mover el foco a la barra de menús" + "value": "يُطلب التأكيد قبل إغلاق علامة التبويب بالنقر على زر الإغلاق الخاص بها." } }, - "fr": { + "es": { "stringUnit": { "state": "translated", - "value": "Placer le curseur dans la barre des menus" + "value": "Se pide confirmación antes de cerrar una pestaña con su botón de cerrar." } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "メニューバーにフォーカスを移動" + "value": "按一下標籤頁上的關閉按鈕後,會先要求確認再關閉。" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "메뉴 막대로 포커스 이동" + "value": "点按标签页上的关闭按钮后,会先要求确认再关闭。" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "将焦点移到菜单栏" + "value": "탭의 닫기 버튼을 클릭하면 탭을 닫기 전에 확인을 요청합니다." } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "將焦點移至選單列" + "value": "タブの閉じるボタンをクリックしたとき、閉じる前に確認します。" } } } }, - "shortcut.macos.helpMenuSearch": { + "settings.app.warnBeforeQuit.subtitle": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Show Help menu" + "value": "Choose when quitting with Command-Q asks for confirmation. Dirty Only asks only when a workspace would ask before closing." } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "إظهار قائمة التعليمات" + "value": "Wählen Sie, wann beim Beenden mit Befehlstaste-Q nach einer Bestätigung gefragt wird. „Nur bei Bedarf“ fragt nur, wenn ein Arbeitsbereich vor dem Schließen nachfragen würde." } }, - "de": { + "fr": { "stringUnit": { "state": "translated", - "value": "Menü „Hilfe“ anzeigen" + "value": "Choisissez quand une confirmation est demandée pour quitter avec Commande + Q. « Si nécessaire » ne la demande que si un espace de travail la demanderait avant sa fermeture." } }, - "es": { + "ar": { "stringUnit": { "state": "translated", - "value": "Mostrar el menú Ayuda" + "value": "اختر متى يُطلب التأكيد عند الإنهاء باستخدام Command-Q. يطلب خيار «عند الحاجة فقط» التأكيد فقط عندما تطلبه مساحة عمل قبل إغلاقها." } }, - "fr": { + "es": { "stringUnit": { "state": "translated", - "value": "Afficher le menu Aide" + "value": "Elige cuándo se pide confirmación al salir con Comando + Q. «Solo si hace falta» solo la pide cuando un espacio de trabajo la pediría antes de cerrarse." } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "「ヘルプ」メニューを表示" + "value": "選擇按 Command + Q 結束時,在什麼情況下要求確認。「僅在需要時」只會在某個工作區關閉前需要確認時才詢問。" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "도움말 메뉴 보기" + "value": "选择按 Command + Q 退出时,在什么情况下要求确认。“仅在需要时”只会在某个工作区关闭前需要确认时才询问。" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "显示“帮助”菜单" + "value": "Command-Q로 종료할 때 확인을 요청할 조건을 선택합니다. ‘필요 시에만’은 닫기 전에 확인이 필요한 작업 공간이 있을 때만 확인을 요청합니다." } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "顯示「輔助說明」選單" + "value": "Command + Q で終了するときに、どのような場合に確認するかを選択します。「必要時のみ」では、閉じる前に確認が必要なワークスペースがある場合だけ確認します。" } } } }, - "shortcut.macos.lockScreen": { + "settings.app.workspaceInheritWorkingDirectory.subtitle": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Lock Screen" + "value": "Starts new workspaces in the working directory of the current workspace." } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "قفل الشاشة" + "value": "Startet neue Arbeitsbereiche im Arbeitsverzeichnis des aktuellen Arbeitsbereichs." } }, - "de": { + "fr": { "stringUnit": { "state": "translated", - "value": "Bildschirm sperren" + "value": "Ouvre les nouveaux espaces de travail dans le répertoire de travail de l’espace de travail actuel." } }, - "es": { + "ar": { "stringUnit": { "state": "translated", - "value": "Bloquear pantalla" + "value": "يبدأ مساحات العمل الجديدة في دليل العمل الخاص بمساحة العمل الحالية." } }, - "fr": { + "es": { "stringUnit": { "state": "translated", - "value": "Verrouiller l’écran" + "value": "Inicia los nuevos espacios de trabajo en el directorio de trabajo del espacio de trabajo actual." } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "画面をロック" + "value": "新工作區會沿用目前工作區的工作目錄。" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "화면 잠금" + "value": "新工作区会沿用当前工作区的工作目录。" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "锁定屏幕" + "value": "새 작업 공간은 현재 작업 공간의 작업 디렉터리에서 시작됩니다." } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "鎖定螢幕" + "value": "新しいワークスペースは、現在のワークスペースと同じ作業ディレクトリで開始します。" } } } }, - "shortcut.macos.logOut": { + "settings.app.wrapWorkspaceTitles.subtitle": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Log Out" + "value": "Shows long workspace titles in full on multiple lines." } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "تسجيل الخروج" + "value": "Zeigt lange Arbeitsbereichstitel vollständig in mehreren Zeilen an." } }, - "de": { + "fr": { "stringUnit": { "state": "translated", - "value": "Abmelden" + "value": "Affiche en entier les titres longs des espaces de travail sur plusieurs lignes." } }, - "es": { + "ar": { "stringUnit": { "state": "translated", - "value": "Cerrar sesión" + "value": "يعرض عناوين مساحات العمل الطويلة كاملةً على عدة أسطر." } }, - "fr": { + "es": { "stringUnit": { "state": "translated", - "value": "Fermer la session" + "value": "Muestra completos los títulos largos de los espacios de trabajo en varias líneas." } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "ログアウト" + "value": "較長的工作區標題會換行完整顯示。" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "로그아웃" + "value": "较长的工作区标题会换行完整显示。" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "退出登录" + "value": "긴 워크스페이스 제목을 줄바꿈하여 모두 표시합니다." } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "登出" + "value": "長いワークスペースタイトルを省略せずに複数行で表示します。" } } } }, - "shortcut.macos.lookUp": { + "settings.automation.amp.subtitle": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Look up & data detectors" + "value": "Shows Amp status and notifications in the sidebar." } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "البحث وكاشفات البيانات" + "value": "Zeigt den Status und die Benachrichtigungen von Amp in der Seitenleiste an." } }, - "de": { + "fr": { "stringUnit": { "state": "translated", - "value": "Nachschlagen & Datenerkennung" + "value": "Affiche l’état et les notifications d’Amp dans la barre latérale." } }, - "es": { + "ar": { "stringUnit": { "state": "translated", - "value": "Consultar y detectores de datos" + "value": "يعرض حالة Amp وإشعاراته في الشريط الجانبي." } }, - "fr": { + "es": { "stringUnit": { "state": "translated", - "value": "Recherche et détecteurs de données" + "value": "Muestra el estado y las notificaciones de Amp en la barra lateral." } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "調べる/データ検出" + "value": "在側邊欄中顯示 Amp 的狀態與通知。" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "찾아보기 및 데이터 감지기" + "value": "在侧边栏中显示 Amp 的状态和通知。" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "查询与数据检测器" + "value": "사이드바에 Amp 상태와 알림을 표시합니다." } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "查詢與資料偵測器" + "value": "サイドバーにAmpのステータスと通知を表示します。" } } } }, - "shortcut.macos.missionControl": { + "settings.automation.autoNamingAgent.subtitle": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Show Mission Control" + "value": "Automatic uses each session's own agent. Other supported agents need their command-line tool on the PATH." } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "إظهار Mission Control" + "value": "„Automatisch“ verwendet den Agenten der jeweiligen Sitzung. Andere unterstützte Agenten benötigen ihr Befehlszeilentool im PATH." } }, - "de": { + "fr": { "stringUnit": { "state": "translated", - "value": "Mission Control anzeigen" + "value": "« Automatique » utilise l’agent propre à chaque session. Les autres agents pris en charge nécessitent que leur outil en ligne de commande soit dans le PATH." } }, - "es": { + "ar": { "stringUnit": { "state": "translated", - "value": "Mostrar Mission Control" + "value": "يستخدم خيار «تلقائي» الوكيل الخاص بكل جلسة. يحتاج الوكلاء المدعومون الآخرون إلى وجود أداة سطر الأوامر الخاصة بهم في PATH." } }, - "fr": { + "es": { "stringUnit": { "state": "translated", - "value": "Afficher Mission Control" + "value": "«Automático» usa el agente de cada sesión. Los demás agentes compatibles necesitan su herramienta de línea de comandos en el PATH." } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "Mission Control を表示" + "value": "「自動」會使用各工作階段本身的代理。若要使用其他支援的代理,其命令列工具必須位於 PATH 中。" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "Mission Control 보기" + "value": "“自动”会使用各会话自身的代理。要使用其他受支持的代理,其命令行工具必须位于 PATH 中。" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "显示调度中心" + "value": "‘자동’은 세션마다 해당 세션의 에이전트를 사용합니다. 지원되는 다른 에이전트를 사용하려면 해당 명령줄 도구가 PATH에 있어야 합니다." } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "顯示「指揮中心」" + "value": "「自動」では、各セッションのエージェントを使用します。ほかの対応エージェントを使うには、そのコマンドラインツールが PATH に含まれている必要があります。" } } } }, - "shortcut.macos.nextInputSource": { + "settings.automation.claudeCode.subtitle": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Select the next input source" + "value": "Shows Claude Code status and notifications in the sidebar." } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "تحديد مصدر الإدخال التالي" + "value": "Zeigt den Status und die Benachrichtigungen von Claude Code in der Seitenleiste an." } }, - "de": { + "fr": { "stringUnit": { "state": "translated", - "value": "Nächste Eingabequelle auswählen" + "value": "Affiche l’état et les notifications de Claude Code dans la barre latérale." } }, - "es": { + "ar": { "stringUnit": { "state": "translated", - "value": "Seleccionar la siguiente fuente de entrada" + "value": "يعرض حالة Claude Code وإشعاراته في الشريط الجانبي." } }, - "fr": { + "es": { "stringUnit": { "state": "translated", - "value": "Sélectionner la source de saisie suivante" + "value": "Muestra el estado y las notificaciones de Claude Code en la barra lateral." } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "次の入力ソースを選択" + "value": "在側邊欄中顯示 Claude Code 的狀態與通知。" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "다음 입력 소스 선택" + "value": "在侧边栏中显示 Claude Code 的状态和通知。" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "选择下一个输入法" + "value": "사이드바에 Claude Code 상태와 알림을 표시합니다." } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "選取下一個輸入方式" + "value": "サイドバーにClaude Codeのステータスと通知を表示します。" } } } }, - "shortcut.macos.nextWindow": { + "settings.automation.codex.subtitle": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Move focus to the next window" + "value": "Shows Codex status and notifications in the sidebar." } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "نقل التركيز إلى النافذة التالية" + "value": "Zeigt den Status und die Benachrichtigungen von Codex in der Seitenleiste an." } }, - "de": { + "fr": { "stringUnit": { "state": "translated", - "value": "Fokus auf das nächste Fenster bewegen" + "value": "Affiche l’état et les notifications de Codex dans la barre latérale." } }, - "es": { + "ar": { "stringUnit": { "state": "translated", - "value": "Mover el foco a la siguiente ventana" + "value": "يعرض حالة Codex وإشعاراته في الشريط الجانبي." } }, - "fr": { + "es": { "stringUnit": { "state": "translated", - "value": "Placer le curseur sur la fenêtre suivante" + "value": "Muestra el estado y las notificaciones de Codex en la barra lateral." } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "次のウインドウにフォーカスを移動" + "value": "在側邊欄中顯示 Codex 的狀態與通知。" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "다음 윈도우로 포커스 이동" + "value": "在侧边栏中显示 Codex 的状态和通知。" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "将焦点移到下一个窗口" + "value": "사이드바에 Codex 상태와 알림을 표시합니다." } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "將焦點移至下一個視窗" + "value": "サイドバーにCodexのステータスと通知を表示します。" } } } }, - "shortcut.macos.previousInputSource": { + "settings.automation.cursor.subtitle": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Select the previous input source" + "value": "Shows Cursor status and notifications in the sidebar." } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "تحديد مصدر الإدخال السابق" + "value": "Zeigt den Status und die Benachrichtigungen von Cursor in der Seitenleiste an." } }, - "de": { + "fr": { "stringUnit": { "state": "translated", - "value": "Vorherige Eingabequelle auswählen" + "value": "Affiche l’état et les notifications de Cursor dans la barre latérale." } }, - "es": { + "ar": { "stringUnit": { "state": "translated", - "value": "Seleccionar la fuente de entrada anterior" + "value": "يعرض حالة Cursor وإشعاراته في الشريط الجانبي." } }, - "fr": { + "es": { "stringUnit": { "state": "translated", - "value": "Sélectionner la source de saisie précédente" + "value": "Muestra el estado y las notificaciones de Cursor en la barra lateral." } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "前の入力ソースを選択" + "value": "在側邊欄中顯示 Cursor 的狀態與通知。" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "이전 입력 소스 선택" + "value": "在侧边栏中显示 Cursor 的状态和通知。" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "选择上一个输入法" + "value": "사이드바에 Cursor 상태와 알림을 표시합니다." } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "選取上一個輸入方式" + "value": "サイドバーにCursorのステータスと通知を表示します。" } } } }, - "shortcut.macos.previousWindow": { + "settings.automation.gemini.subtitle": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Move focus to the previous window" + "value": "Shows Gemini CLI status and notifications in the sidebar." } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "نقل التركيز إلى النافذة السابقة" + "value": "Zeigt den Status und die Benachrichtigungen von Gemini CLI in der Seitenleiste an." } }, - "de": { + "fr": { "stringUnit": { "state": "translated", - "value": "Fokus auf das vorherige Fenster bewegen" + "value": "Affiche l’état et les notifications de Gemini CLI dans la barre latérale." } }, - "es": { + "ar": { "stringUnit": { "state": "translated", - "value": "Mover el foco a la ventana anterior" + "value": "يعرض حالة Gemini CLI وإشعاراته في الشريط الجانبي." } }, - "fr": { + "es": { "stringUnit": { "state": "translated", - "value": "Placer le curseur sur la fenêtre précédente" + "value": "Muestra el estado y las notificaciones de Gemini CLI en la barra lateral." } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "前のウインドウにフォーカスを移動" + "value": "在側邊欄中顯示 Gemini CLI 的狀態與通知。" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "이전 윈도우로 포커스 이동" + "value": "在侧边栏中显示 Gemini CLI 的状态和通知。" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "将焦点移到上一个窗口" + "value": "사이드바에 Gemini CLI 상태와 알림을 표시합니다." } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "將焦點移至上一個視窗" + "value": "サイドバーにGemini CLIのステータスと通知を表示します。" } } } }, - "shortcut.macos.screenshotScreen": { + "settings.automation.kiro.subtitle": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Save picture of screen as a file" + "value": "Shows Kiro CLI status and notifications in the sidebar, and its tool events in Feed." } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "حفظ صورة الشاشة كملف" + "value": "Zeigt den Status und die Benachrichtigungen von Kiro CLI in der Seitenleiste und seine Tool-Ereignisse im Feed an." } }, - "de": { + "fr": { "stringUnit": { "state": "translated", - "value": "Bildschirmfoto als Datei sichern" + "value": "Affiche l’état et les notifications de Kiro CLI dans la barre latérale, et ses événements d’outils dans le Flux." } }, - "es": { + "ar": { "stringUnit": { "state": "translated", - "value": "Guardar imagen de la pantalla como archivo" + "value": "يعرض حالة Kiro CLI وإشعاراته في الشريط الجانبي، وأحداث أدواته في Feed." } }, - "fr": { + "es": { "stringUnit": { "state": "translated", - "value": "Enregistrer une image de l’écran dans un fichier" + "value": "Muestra el estado y las notificaciones de Kiro CLI en la barra lateral, y sus eventos de herramientas en el Feed." } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "画面のピクチャをファイルとして保存" + "value": "在側邊欄中顯示 Kiro CLI 的狀態與通知,並在 Feed 中顯示其工具事件。" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "화면 사진을 파일로 저장" + "value": "在侧边栏中显示 Kiro CLI 的状态和通知,并在 Feed 中显示其工具事件。" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "将屏幕图片存储为文件" + "value": "사이드바에 Kiro CLI 상태와 알림을 표시하고, 피드에 해당 도구 이벤트를 표시합니다." } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "將螢幕圖片儲存為檔案" + "value": "サイドバーにKiro CLIのステータスと通知を、フィードにそのツールイベントを表示します。" } } } }, - "shortcut.macos.screenshotScreenToClipboard": { + "settings.automation.socketMode.subtitle": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Copy picture of screen to the clipboard" + "value": "Choose which local processes can control cmux." } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "نسخ صورة الشاشة إلى الحافظة" + "value": "Wählen Sie, welche lokalen Prozesse cmux steuern können." } }, - "de": { + "fr": { "stringUnit": { "state": "translated", - "value": "Bildschirmfoto in die Zwischenablage kopieren" + "value": "Choisissez quels processus locaux peuvent contrôler cmux." } }, - "es": { + "ar": { "stringUnit": { "state": "translated", - "value": "Copiar imagen de la pantalla en el portapapeles" + "value": "اختر العمليات المحلية التي يمكنها التحكم في cmux." } }, - "fr": { + "es": { "stringUnit": { "state": "translated", - "value": "Copier une image de l’écran dans le presse-papiers" + "value": "Elige qué procesos locales pueden controlar cmux." } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "画面のピクチャをクリップボードにコピー" + "value": "選擇哪些本機程序可以控制 cmux。" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "화면 사진을 클립보드로 복사" + "value": "选择哪些本地进程可以控制 cmux。" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "将屏幕图片拷贝到剪贴板" + "value": "cmux를 제어할 수 있는 로컬 프로세스를 선택합니다." } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "將螢幕圖片拷貝到剪貼板" + "value": "cmux を制御できるローカルプロセスを選択します。" } } } }, - "shortcut.macos.screenshotSelection": { + "settings.automation.suppressSubagentNotifications.subtitle": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Save picture of selected area as a file" + "value": "Lists subagent completions in Feed without sending notifications." } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "حفظ صورة المنطقة المحددة كملف" + "value": "Abgeschlossene Subagenten erscheinen im Feed, ohne dass Benachrichtigungen gesendet werden." } }, - "de": { + "fr": { "stringUnit": { "state": "translated", - "value": "Foto des ausgewählten Bereichs als Datei sichern" + "value": "Les sous-agents terminés apparaissent dans le Flux, sans notification." } }, - "es": { + "ar": { "stringUnit": { "state": "translated", - "value": "Guardar imagen del área seleccionada como archivo" + "value": "يظهر اكتمال مهام الوكلاء الفرعيين في Feed دون إرسال إشعارات." } }, - "fr": { + "es": { "stringUnit": { "state": "translated", - "value": "Enregistrer une image de la zone sélectionnée dans un fichier" + "value": "Los subagentes finalizados aparecen en el Feed sin enviar notificaciones." } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "選択部分のピクチャをファイルとして保存" + "value": "子代理完成時只會列在 Feed 中,不會傳送通知。" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "선택 영역 사진을 파일로 저장" + "value": "子代理完成时只会列在 Feed 中,不会发送通知。" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "将所选区域的图片存储为文件" + "value": "하위 에이전트가 완료되면 알림을 보내지 않고 피드에만 표시합니다." } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "將所選區域的圖片儲存為檔案" + "value": "サブエージェントが完了しても通知は送らず、フィードにのみ表示します。" } } } }, - "shortcut.macos.screenshotSelectionToClipboard": { + "settings.automation.workspaceAutoNaming.subtitle": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Copy picture of selected area to the clipboard" + "value": "Generates workspace and tab titles from agent conversations." } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "نسخ صورة المنطقة المحددة إلى الحافظة" + "value": "Benennt Arbeitsbereiche und Tabs anhand von Agentengesprächen." } }, - "de": { + "fr": { "stringUnit": { "state": "translated", - "value": "Foto des ausgewählten Bereichs in die Zwischenablage kopieren" + "value": "Nomme les espaces de travail et les onglets d’après les conversations des agents." } }, - "es": { + "ar": { "stringUnit": { "state": "translated", - "value": "Copiar imagen del área seleccionada en el portapapeles" + "value": "يسمّي مساحات العمل وعلامات التبويب بناءً على محادثات الوكلاء." } }, - "fr": { + "es": { "stringUnit": { "state": "translated", - "value": "Copier une image de la zone sélectionnée dans le presse-papiers" + "value": "Pone nombre a los espacios de trabajo y las pestañas según las conversaciones de los agentes." } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "選択部分のピクチャをクリップボードにコピー" + "value": "根據代理對話產生工作區和標籤頁標題。" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "선택 영역 사진을 클립보드로 복사" + "value": "根据代理对话生成工作区和标签页标题。" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "将所选区域的图片拷贝到剪贴板" + "value": "에이전트 대화를 바탕으로 작업 공간과 탭 제목을 생성합니다." } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "將所選區域的圖片拷貝到剪貼板" + "value": "エージェントの会話からワークスペースとタブのタイトルを生成します。" } } } }, - "shortcut.macos.screenshotToolbar": { + "settings.betaFeatures.cloudMachines.subtitle": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Screenshot and recording options" + "value": "Adds Cloud Machines to the right sidebar, Settings, the command palette, and the new workspace menu. Cloud Machines also require a remote rollout; with this off, the Cloud tunnel and fleet polling stay off." } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "خيارات لقطة الشاشة والتسجيل" + "value": "Fügt Cloud-Maschinen zur rechten Seitenleiste, zu den Einstellungen, zur Befehlspalette und zum Menü für neue Arbeitsbereiche hinzu. Cloud-Maschinen erfordern außerdem ein Remote-Rollout; solange diese Option deaktiviert ist, bleiben Cloud-Tunnel und Flottenabfrage aus." } }, - "de": { + "fr": { "stringUnit": { "state": "translated", - "value": "Bildschirmfoto- und Aufnahmeoptionen" + "value": "Ajoute les machines cloud à la barre latérale droite, aux Réglages, à la palette de commandes et au menu de nouvel espace de travail. Les machines cloud nécessitent aussi un déploiement à distance ; si cette option est désactivée, le tunnel Cloud et l’interrogation de la flotte restent arrêtés." } }, - "es": { + "ar": { "stringUnit": { "state": "translated", - "value": "Opciones de captura de pantalla y grabación" + "value": "يضيف الأجهزة السحابية إلى الشريط الجانبي الأيمن والإعدادات ولوحة الأوامر وقائمة مساحة العمل الجديدة. وتتطلب الأجهزة السحابية أيضًا طرحًا عن بُعد؛ وعند إيقاف هذا الخيار يظل نفق Cloud واستطلاع الأسطول متوقفين." } }, - "fr": { + "es": { "stringUnit": { "state": "translated", - "value": "Options de capture d’écran et d’enregistrement" + "value": "Añade las máquinas en la nube a la barra lateral derecha, a Ajustes, a la paleta de comandos y al menú de nuevo espacio de trabajo. Las máquinas en la nube también requieren un despliegue remoto; con esta opción desactivada, el túnel de Cloud y el sondeo de la flota permanecen desactivados." } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "スクリーンショットと収録のオプション" + "value": "在右側邊欄、設定、命令面板和新增工作區選單中加入雲端機器。雲端機器也需要遠端推出才能使用;關閉此選項時,Cloud 通道和機群輪詢都會保持停用。" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "스크린샷 및 기록 옵션" + "value": "在右侧边栏、设置、命令面板和新建工作区菜单中添加云主机。云主机还需要远程推出才能使用;关闭此选项时,Cloud 隧道和机群轮询都会保持停用。" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "截屏和录制选项" + "value": "오른쪽 사이드바, 설정, 명령어 팔레트, 새 작업 공간 메뉴에 클라우드 머신을 추가합니다. 클라우드 머신은 원격 출시도 필요하며, 이 옵션이 꺼져 있으면 Cloud 터널과 플릿 폴링도 꺼진 상태로 유지됩니다." } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "截圖和錄製選項" + "value": "右サイドバー、設定、コマンドパレット、新規ワークスペースメニューにクラウドマシンを追加します。クラウドマシンにはリモートでの提供開始も必要です。この設定がオフの間は、Cloud トンネルとフリートのポーリングも停止したままです。" } } } }, - "shortcut.macos.spaceLeft": { + "settings.betaFeatures.customSidebars.subtitle": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Move left a space" + "value": "Adds sidebars from ~/.config/cmux/sidebars to the sidebar picker." } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "الانتقال مساحة واحدة إلى اليسار" + "value": "Fügt Seitenleisten aus ~/.config/cmux/sidebars zur Seitenleistenauswahl hinzu." } }, - "de": { + "fr": { "stringUnit": { "state": "translated", - "value": "Einen Space nach links" + "value": "Ajoute les barres latérales de ~/.config/cmux/sidebars au sélecteur de barre latérale." } }, - "es": { + "ar": { "stringUnit": { "state": "translated", - "value": "Ir un espacio a la izquierda" + "value": "يضيف الأشرطة الجانبية من ~/.config/cmux/sidebars إلى منتقي الشريط الجانبي." } }, - "fr": { + "es": { "stringUnit": { "state": "translated", - "value": "Aller un espace à gauche" + "value": "Añade las barras laterales de ~/.config/cmux/sidebars al selector de barra lateral." } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "左の操作スペースへ移動" + "value": "在側邊欄選取器中加入 ~/.config/cmux/sidebars 裡的側邊欄。" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "왼쪽 스페이스로 이동" + "value": "在侧边栏选择器中添加 ~/.config/cmux/sidebars 里的侧边栏。" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "向左移动一个空间" + "value": "~/.config/cmux/sidebars의 사이드바를 사이드바 선택기에 추가합니다." } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "向左移動一個空間" + "value": "~/.config/cmux/sidebars のサイドバーをサイドバーピッカーに追加します。" } } } }, - "shortcut.macos.spaceRight": { + "settings.betaFeatures.extensions.subtitle": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Move right a space" + "value": "Adds the extensions button and lets cmux install and run sidebar extensions." } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "الانتقال مساحة واحدة إلى اليمين" + "value": "Fügt die Taste „Erweiterungen“ hinzu und erlaubt cmux, Seitenleisten-Erweiterungen zu installieren und auszuführen." } }, - "de": { + "fr": { "stringUnit": { "state": "translated", - "value": "Einen Space nach rechts" + "value": "Ajoute le bouton des extensions et permet à cmux d’installer et d’exécuter des extensions de barre latérale." } }, - "es": { + "ar": { "stringUnit": { "state": "translated", - "value": "Ir un espacio a la derecha" + "value": "يضيف زر الامتدادات ويتيح لـ cmux تثبيت امتدادات الشريط الجانبي وتشغيلها." } }, - "fr": { + "es": { "stringUnit": { "state": "translated", - "value": "Aller un espace à droite" + "value": "Añade el botón de extensiones y permite que cmux instale y ejecute extensiones de barra lateral." } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "右の操作スペースへ移動" + "value": "加入擴充功能按鈕,並讓 cmux 可安裝及執行側邊欄擴充功能。" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "오른쪽 스페이스로 이동" + "value": "添加扩展按钮,并允许 cmux 安装和运行侧边栏扩展。" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "向右移动一个空间" + "value": "확장 기능 버튼을 추가하고 cmux가 사이드바 확장 기능을 설치하고 실행할 수 있게 합니다." } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "向右移動一個空間" + "value": "エクステンションボタンを追加し、cmuxでサイドバーエクステンションをインストールして実行できるようにします。" } } } }, - "shortcut.macos.spotlight": { + "settings.betaFeatures.feed.subtitle": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Show Spotlight search" + "value": "Adds Feed to the right sidebar for answering agent requests." } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "إظهار بحث Spotlight" + "value": "Fügt der rechten Seitenleiste den Feed zum Beantworten von Agentenanfragen hinzu." } }, - "de": { + "fr": { "stringUnit": { "state": "translated", - "value": "Spotlight-Suche anzeigen" + "value": "Ajoute le Flux à la barre latérale droite pour répondre aux demandes des agents." } }, - "es": { + "ar": { "stringUnit": { "state": "translated", - "value": "Mostrar búsqueda de Spotlight" + "value": "يضيف Feed إلى الشريط الجانبي الأيمن للرد على طلبات الوكلاء." } }, - "fr": { + "es": { "stringUnit": { "state": "translated", - "value": "Afficher la recherche Spotlight" + "value": "Añade el Feed a la barra lateral derecha para responder a las solicitudes de los agentes." } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "Spotlight 検索を表示" + "value": "在右側邊欄加入 Feed,用於回覆代理程式的請求。" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "Spotlight 검색 보기" + "value": "在右侧边栏添加 Feed,用于回复代理请求。" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "显示“聚焦”搜索" + "value": "오른쪽 사이드바에 피드를 추가해 에이전트 요청에 응답할 수 있습니다." } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "顯示 Spotlight 搜尋" + "value": "右サイドバーにフィードを追加し、エージェントからのリクエストに応答できるようにします。" } } } }, - "shortcut.macos.toggleDockHiding": { + "settings.betaFeatures.remoteTmux.subtitle": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Turn Dock hiding on or off" + "value": "Shows tmux sessions on remote hosts as workspaces in the sidebar. The sessions keep running after cmux quits." } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "تشغيل أو إيقاف إخفاء Dock" + "value": "Zeigt tmux-Sitzungen auf Remote-Hosts als Arbeitsbereiche in der Seitenleiste an. Die Sitzungen laufen auch nach dem Beenden von cmux weiter." } }, - "de": { + "fr": { "stringUnit": { "state": "translated", - "value": "Automatisches Ausblenden des Docks ein- oder ausschalten" + "value": "Affiche les sessions tmux des hôtes distants comme des espaces de travail dans la barre latérale. Les sessions continuent de s’exécuter après la fermeture de cmux." } }, - "es": { + "ar": { "stringUnit": { "state": "translated", - "value": "Activar o desactivar la ocultación del Dock" + "value": "يعرض جلسات tmux على المضيفين البعيدين كمساحات عمل في الشريط الجانبي. وتستمر الجلسات في العمل حتى بعد إنهاء cmux." } }, - "fr": { + "es": { "stringUnit": { "state": "translated", - "value": "Activer ou désactiver le masquage du Dock" + "value": "Muestra las sesiones de tmux de hosts remotos como espacios de trabajo en la barra lateral. Las sesiones siguen ejecutándose al salir de cmux." } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "Dock を自動的に表示/非表示のオン/オフ" + "value": "在側邊欄中將遠端主機上的 tmux 工作階段顯示為工作區。結束 cmux 後,這些工作階段仍會繼續執行。" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "Dock 가리기 켜기 또는 끄기" + "value": "在侧边栏中将远程主机上的 tmux 会话显示为工作区。退出 cmux 后,这些会话仍会继续运行。" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "打开或关闭程序坞隐藏" + "value": "원격 호스트의 tmux 세션을 사이드바에 작업 공간으로 표시합니다. cmux를 종료해도 세션은 계속 실행됩니다." } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "開啟或關閉 Dock 隱藏" + "value": "リモートホストの tmux セッションをサイドバーにワークスペースとして表示します。cmux を終了してもセッションは動作し続けます。" } } } }, - "shortcut.macos.voiceOver": { + "settings.betaFeatures.workspaceTodoControls.subtitle": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Turn VoiceOver on or off" + "value": "Shows Add Checklist Item and status controls on workspaces. A remote rollout can turn them on even while this is off." } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "تشغيل VoiceOver أو إيقافه" + "value": "Zeigt „Checklisten-Eintrag hinzufügen“ und Statussteuerelemente bei Arbeitsbereichen an. Ein Remote-Rollout kann sie auch dann aktivieren, wenn diese Option deaktiviert ist." } }, - "de": { + "fr": { "stringUnit": { "state": "translated", - "value": "VoiceOver ein- oder ausschalten" + "value": "Affiche « Ajouter un élément à la liste de contrôle » et les commandes d’état sur les espaces de travail. Un déploiement à distance peut les activer même si cette option est désactivée." } }, - "es": { + "ar": { "stringUnit": { "state": "translated", - "value": "Activar o desactivar VoiceOver" + "value": "يعرض «إضافة عنصر قائمة تحقق» وعناصر التحكم في الحالة على مساحات العمل. ويمكن لطرح عن بُعد تفعيلها حتى عند إيقاف هذا الخيار." } }, - "fr": { + "es": { "stringUnit": { "state": "translated", - "value": "Activer ou désactiver VoiceOver" + "value": "Muestra «Añadir elemento a la lista de verificación» y los controles de estado en los espacios de trabajo. Un despliegue remoto puede activarlos aunque esta opción esté desactivada." } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "VoiceOver のオン/オフ" + "value": "在工作區上顯示「新增檢查清單項目」和狀態控制項。即使關閉此選項,遠端推出仍可能啟用這些控制項。" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "VoiceOver 켜기 또는 끄기" + "value": "在工作区上显示“添加清单项”和状态控件。即使关闭此选项,远程推出仍可能启用这些控件。" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "打开或关闭旁白" + "value": "작업 공간에 ‘체크리스트 항목 추가’ 및 상태 컨트롤을 표시합니다. 이 옵션이 꺼져 있어도 원격 출시로 이 컨트롤이 켜질 수 있습니다." } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "開啟或關閉「旁白」" + "value": "ワークスペースに「チェックリスト項目を追加」とステータスコントロールを表示します。この設定がオフでも、リモートでの提供開始によって有効になることがあります。" } } } }, - "settings.search.alias.setting.keyboardShortcuts.base-keymap": { + "settings.betaFeatures.workspaceTodosChecklistStyle.subtitle": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "base keymap preset iterm iterm2 terminal app tmux prefix keybindings coming from another terminal" + "value": "Choose whether clicking a workspace checklist opens a popover or expands it under the row." } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "مخطط المفاتيح الأساسي إعداد مسبق iterm iterm2 terminal app tmux بادئة اختصارات طرفية أخرى" + "value": "Wählen Sie, ob sich beim Klicken auf die Checkliste eines Arbeitsbereichs ein Popover öffnet oder die Checkliste unter der Zeile aufklappt." } }, - "de": { + "fr": { "stringUnit": { "state": "translated", - "value": "Basis Tastaturbelegung Vorlage iterm iterm2 terminal app tmux Präfix Tastenbelegung anderes Terminal" + "value": "Choisissez si un clic sur la liste de contrôle d’un espace de travail ouvre une fenêtre contextuelle ou la déplie sous la ligne." } }, - "es": { + "ar": { "stringUnit": { "state": "translated", - "value": "mapa de teclas base preajuste iterm iterm2 terminal app tmux prefijo atajos otro terminal" + "value": "اختر ما إذا كان النقر على قائمة التحقق الخاصة بمساحة العمل يفتح نافذة منبثقة أو يوسّعها أسفل الصف." } }, - "fr": { + "es": { "stringUnit": { "state": "translated", - "value": "disposition de base préréglage iterm iterm2 terminal app tmux préfixe raccourcis autre terminal" + "value": "Elige si al hacer clic en la lista de verificación de un espacio de trabajo se abre un popover o se despliega bajo la fila." } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "ベースキーマップ プリセット iterm iterm2 terminal app tmux プレフィックス ショートカット 他のターミナル" + "value": "選擇按一下工作區檢查清單時,要在彈出視窗中開啟,還是在該列下方展開。" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "기본 키맵 프리셋 iterm iterm2 terminal app tmux 접두사 단축키 다른 터미널" + "value": "选择点按工作区清单时,是在浮层中打开,还是在该行下方展开。" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "基础键位方案 预设 iterm iterm2 terminal app tmux 前缀 快捷键 其他终端" + "value": "작업 공간 체크리스트를 클릭했을 때 팝오버로 열지, 행 아래에 펼칠지 선택합니다." } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "基礎按鍵配置 預設組合 iterm iterm2 terminal app tmux 前綴 快速鍵 其他終端機" + "value": "ワークスペースのチェックリストをクリックしたときに、ポップオーバーで開くか、行の下に展開するかを選択します。" } } } }, - "settings.shortcuts.baseKeymap.apply": { + "settings.browser.enabled.subtitle": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Apply Keymap" + "value": "Opens browser tabs and links from terminals in the cmux browser." } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "تطبيق مخطط المفاتيح" + "value": "Browser-Tabs und Links aus Terminals werden im cmux-Browser geöffnet." } }, - "de": { + "fr": { "stringUnit": { "state": "translated", - "value": "Tastaturbelegung anwenden" + "value": "Ouvre les onglets de navigateur et les liens des terminaux dans le navigateur cmux." } }, - "es": { + "ar": { "stringUnit": { "state": "translated", - "value": "Aplicar mapa de teclas" + "value": "يفتح علامات تبويب المتصفح والروابط من الطرفيات في متصفح cmux." } }, - "fr": { + "es": { "stringUnit": { "state": "translated", - "value": "Appliquer la disposition" + "value": "Abre pestañas del navegador y enlaces de las terminales en el navegador de cmux." } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "キーマップを適用" + "value": "瀏覽器標籤頁和從終端機開啟的連結都會在 cmux 瀏覽器中開啟。" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "키맵 적용" + "value": "浏览器标签页和从终端打开的链接都会在 cmux 浏览器中打开。" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "应用键位方案" + "value": "브라우저 탭과 터미널에서 연 링크를 cmux 브라우저에서 엽니다." } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "套用按鍵配置" + "value": "ブラウザタブとターミナルから開いたリンクをcmuxブラウザで開きます。" } } } }, - "shortcut.keymap.summary.iterm2Numbers": { + "settings.browser.hiddenWebViewDiscard.subtitle": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "⌘1…9 will select tabs in the focused pane instead of workspaces. Workspaces move to ⌥⌘1…9." + "value": "Frees memory from browser tabs hidden longer than the delay. They reload when shown again." } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "سيحدد ⌘1…9 علامات التبويب في الجزء المحدد بدلًا من مساحات العمل. تنتقل مساحات العمل إلى ⌥⌘1…9." + "value": "Browser-Tabs, die länger als die festgelegte Zeit ausgeblendet sind, geben ihren Speicher frei und werden beim erneuten Anzeigen neu geladen." } }, - "de": { + "fr": { "stringUnit": { "state": "translated", - "value": "⌘1…9 wählt dann Tabs im fokussierten Bereich statt Arbeitsbereiche aus. Arbeitsbereiche wechseln zu ⌥⌘1…9." + "value": "Libère la mémoire des onglets de navigateur masqués depuis plus longtemps que le délai défini. Ils se rechargent lorsqu’ils réapparaissent." } }, - "es": { + "ar": { "stringUnit": { "state": "translated", - "value": "⌘1…9 seleccionará pestañas del panel enfocado en lugar de espacios de trabajo. Los espacios de trabajo pasan a ⌥⌘1…9." + "value": "يحرر ذاكرة علامات تبويب المتصفح المخفية لمدة تتجاوز المهلة المحددة، ويُعاد تحميلها عند عرضها مجددًا." } }, - "fr": { + "es": { "stringUnit": { "state": "translated", - "value": "⌘1…9 sélectionnera les onglets du panneau actif au lieu des espaces de travail. Les espaces de travail passent à ⌥⌘1…9." + "value": "Libera la memoria de las pestañas del navegador que llevan ocultas más tiempo del indicado. Se vuelven a cargar al mostrarse de nuevo." } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "⌘1…9 はワークスペースではなく、フォーカス中のペインのタブを選択するようになります。ワークスペースは ⌥⌘1…9 に移ります。" + "value": "瀏覽器標籤頁隱藏超過延遲時間後,會釋放其記憶體。再次顯示時會重新載入。" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "⌘1…9는 작업 공간 대신 포커스된 패널의 탭을 선택합니다. 작업 공간은 ⌥⌘1…9로 이동합니다." + "value": "浏览器标签页隐藏超过延迟时间后,会释放其内存。再次显示时会重新加载。" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "⌘1…9 将选择当前窗格中的标签页,而不是工作区。工作区改用 ⌥⌘1…9。" + "value": "브라우저 탭이 지연 시간보다 오래 숨겨져 있으면 메모리를 해제합니다. 탭을 다시 표시하면 새로 고칩니다." } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "⌘1…9 將選取目前窗格中的分頁,而不是工作區。工作區改用 ⌥⌘1…9。" + "value": "非表示の時間が遅延時間を超えたブラウザタブのメモリを解放します。タブは再び表示したときに再読み込みされます。" } } } }, - "cli.help.send": { + "settings.browser.theme.subtitle": { "extractionState": "manual", "localizations": { - "ar": { + "en": { "stringUnit": { "state": "translated", - "value": "الاستخدام: cmux send [flags] [--] \n\nيرسل نصًا إلى سطح طرفية كضغطات مفاتيح. تسلسلات الهروب: \\n و\\r ترسلان Enter، و\\t ترسل Tab.\n\nللنصوص الكبيرة (مثلًا أكثر من 4 كيلوبايت، أو عدة أسطر موجهة إلى وكيل)، استخدم --paste أو cmux paste. تضغط ضغطات المفاتيح Enter عند كل سطر جديد، مما قد يرسل كل سطر بمفرده.\n\nمع --paste، يمر النص دون تغيير عبر مسار اللصق نفسه الذي يستخدمه cmux paste وCmd+V: لا تُفسَّر تسلسلات الهروب مثل \\n، وتُستبدل أحرف التحكم مثل Esc وCtrl-C بمسافات. يجب أن يأتي --paste قبل النص.\n\nالخيارات:\n --workspace مساحة العمل المستهدفة (الافتراضي: $CMUX_WORKSPACE_ID)\n --surface السطح المستهدف (الافتراضي: $CMUX_SURFACE_ID)\n --window سياق النافذة لمراجع وفهارس مساحة العمل/السطح\n --paste يلصق النص بدلًا من كتابته\n\nمثال:\n cmux send \"echo hello\"\n cmux send --surface surface:2 \"ls -la\\n\"\n cmux send --paste --surface surface:2 \"$(cat notes.md)\"" + "value": "Choose light or dark pages for sites that support both. System matches the app appearance." } }, "de": { "stringUnit": { "state": "translated", - "value": "Verwendung: cmux send [flags] [--] \n\nSendet Text als Tastatureingaben an eine Terminal-Oberfläche. Escape-Sequenzen: \\n und \\r senden Enter, \\t sendet Tab.\n\nFür große Texte (zum Beispiel über 4 KB oder mehrere Zeilen an einen Agenten) --paste oder cmux paste verwenden. Tastatureingaben drücken bei jedem Zeilenumbruch Enter, wodurch jede Zeile einzeln abgesendet werden kann.\n\nMit --paste geht der Text unverändert über denselben Einfügepfad wie cmux paste und Cmd+V: Escape-Sequenzen wie \\n werden nicht interpretiert, und Steuerzeichen wie Esc und Strg-C werden durch Leerzeichen ersetzt. --paste muss vor dem Text stehen.\n\nFlags:\n --workspace Ziel-Workspace (Standard: $CMUX_WORKSPACE_ID)\n --surface Ziel-Oberfläche (Standard: $CMUX_SURFACE_ID)\n --window Fensterkontext für Workspace-/Oberflächen-Refs und -Indizes\n --paste Fügt den Text ein, statt ihn zu tippen\n\nBeispiel:\n cmux send \"echo hello\"\n cmux send --surface surface:2 \"ls -la\\n\"\n cmux send --paste --surface surface:2 \"$(cat notes.md)\"" + "value": "Wählen Sie helle oder dunkle Seiten für Websites, die beides unterstützen. „System“ folgt dem Erscheinungsbild der App." } }, - "en": { + "fr": { "stringUnit": { "state": "translated", - "value": "Usage: cmux send [flags] [--] \n\nSend text to a terminal surface as keystrokes. Escape sequences: \\n and \\r send Enter, \\t sends Tab.\n\nFor large text (for example over 4 KB, or several lines going to an agent), use --paste or cmux paste. Keystrokes press Enter at every newline, which can submit each line on its own.\n\nWith --paste, the text goes through the same paste path as cmux paste and Cmd+V, unchanged: escape sequences such as \\n are not interpreted, and control characters such as Esc and Ctrl-C are replaced with spaces. --paste must come before the text.\n\nFlags:\n --workspace Target workspace (default: $CMUX_WORKSPACE_ID)\n --surface Target surface (default: $CMUX_SURFACE_ID)\n --window Window context for workspace/surface refs and indexes\n --paste Paste the text instead of typing it\n\nExample:\n cmux send \"echo hello\"\n cmux send --surface surface:2 \"ls -la\\n\"\n cmux send --paste --surface surface:2 \"$(cat notes.md)\"" + "value": "Choisissez des pages claires ou sombres pour les sites qui prennent en charge les deux. « Système » suit l’apparence de l’app." } }, - "es": { + "ar": { "stringUnit": { "state": "translated", - "value": "Uso: cmux send [flags] [--] \n\nEnvía texto a una superficie de terminal como pulsaciones de teclas. Secuencias de escape: \\n y \\r envían Intro, \\t envía Tab.\n\nPara textos grandes (por ejemplo, más de 4 KB o varias líneas dirigidas a un agente), usa --paste o cmux paste. Las pulsaciones presionan Intro en cada salto de línea, lo que puede enviar cada línea por separado.\n\nCon --paste, el texto pasa sin cambios por la misma ruta de pegado que cmux paste y Cmd+V: las secuencias de escape como \\n no se interpretan y los caracteres de control como Esc y Ctrl-C se reemplazan por espacios. --paste debe ir antes del texto.\n\nOpciones:\n --workspace Espacio de trabajo de destino (predeterminado: $CMUX_WORKSPACE_ID)\n --surface Superficie de destino (predeterminada: $CMUX_SURFACE_ID)\n --window Contexto de ventana para referencias e índices de espacio de trabajo/superficie\n --paste Pega el texto en lugar de escribirlo\n\nEjemplo:\n cmux send \"echo hello\"\n cmux send --surface surface:2 \"ls -la\\n\"\n cmux send --paste --surface surface:2 \"$(cat notes.md)\"" + "value": "اختر الصفحات الفاتحة أو الداكنة للمواقع التي تدعم الوضعين. يتبع خيار «النظام» مظهر التطبيق." } }, - "fr": { + "es": { "stringUnit": { "state": "translated", - "value": "Utilisation : cmux send [flags] [--] \n\nEnvoie du texte à une surface de terminal sous forme de frappes. Séquences d’échappement : \\n et \\r envoient Entrée, \\t envoie Tab.\n\nPour un texte volumineux (par exemple plus de 4 Ko, ou plusieurs lignes destinées à un agent), utilisez --paste ou cmux paste. Les frappes appuient sur Entrée à chaque saut de ligne, ce qui peut envoyer chaque ligne séparément.\n\nAvec --paste, le texte passe tel quel par le même chemin de collage que cmux paste et Cmd+V : les séquences d’échappement comme \\n ne sont pas interprétées, et les caractères de contrôle comme Échap et Ctrl-C sont remplacés par des espaces. --paste doit précéder le texte.\n\nOptions :\n --workspace Espace de travail cible (par défaut : $CMUX_WORKSPACE_ID)\n --surface Surface cible (par défaut : $CMUX_SURFACE_ID)\n --window Contexte de fenêtre pour les références et index d’espace de travail/surface\n --paste Colle le texte au lieu de le taper\n\nExemple :\n cmux send \"echo hello\"\n cmux send --surface surface:2 \"ls -la\\n\"\n cmux send --paste --surface surface:2 \"$(cat notes.md)\"" + "value": "Elige páginas claras u oscuras para los sitios compatibles con ambos modos. «Sistema» sigue el aspecto de la app." } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "使用方法: cmux send [flags] [--] \n\nテキストをキー入力としてターミナルサーフェスに送信します。エスケープシーケンス: \\n と \\r は Enter、\\t は Tab を送信します。\n\n大きなテキスト(たとえば 4 KB を超えるもの、またはエージェントに送る複数行)には --paste または cmux paste を使ってください。キー入力では改行ごとに Enter が押されるため、各行が個別に送信されることがあります。\n\n--paste を使うと、テキストはそのまま cmux paste や Cmd+V と同じ貼り付け経路で送られます。\\n などのエスケープシーケンスは解釈されず、Esc や Ctrl-C などの制御文字はスペースに置き換えられます。--paste はテキストより前に指定してください。\n\nフラグ:\n --workspace 対象ワークスペース(既定: $CMUX_WORKSPACE_ID)\n --surface 対象サーフェス(既定: $CMUX_SURFACE_ID)\n --window ワークスペース/サーフェスの参照とインデックスに使うウィンドウコンテキスト\n --paste テキストを入力する代わりに貼り付けます\n\n例:\n cmux send \"echo hello\"\n cmux send --surface surface:2 \"ls -la\\n\"\n cmux send --paste --surface surface:2 \"$(cat notes.md)\"" + "value": "網站同時支援淺色與深色時,選擇要使用淺色或深色頁面。「系統」會跟隨 App 的外觀。" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "사용법: cmux send [flags] [--] \n\n텍스트를 키 입력으로 터미널 서피스에 보냅니다. 이스케이프 시퀀스: \\n과 \\r은 Enter, \\t는 Tab을 보냅니다.\n\n큰 텍스트(예: 4 KB 초과 또는 에이전트로 보내는 여러 줄)에는 --paste 또는 cmux paste를 사용하세요. 키 입력은 줄바꿈마다 Enter를 누르므로 각 줄이 따로 제출될 수 있습니다.\n\n--paste를 쓰면 텍스트가 변경 없이 cmux paste 및 Cmd+V와 같은 붙여넣기 경로로 전달됩니다. \\n 같은 이스케이프 시퀀스는 해석되지 않으며, Esc와 Ctrl-C 같은 제어 문자는 공백으로 바뀝니다. --paste는 텍스트보다 앞에 와야 합니다.\n\n플래그:\n --workspace 대상 워크스페이스 (기본값: $CMUX_WORKSPACE_ID)\n --surface 대상 서피스 (기본값: $CMUX_SURFACE_ID)\n --window 워크스페이스/서피스 참조와 인덱스에 사용할 창 컨텍스트\n --paste 텍스트를 입력하는 대신 붙여넣습니다\n\n예:\n cmux send \"echo hello\"\n cmux send --surface surface:2 \"ls -la\\n\"\n cmux send --paste --surface surface:2 \"$(cat notes.md)\"" + "value": "网站同时支持浅色和深色时,选择使用浅色还是深色页面。“系统”会跟随应用外观。" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "用法:cmux send [flags] [--] \n\n以按键方式将文本发送到终端表面。转义序列:\\n 和 \\r 发送 Enter,\\t 发送 Tab。\n\n对于大量文本(例如超过 4 KB,或要发给代理的多行文本),请使用 --paste 或 cmux paste。按键方式会在每个换行处按下 Enter,可能让每一行单独提交。\n\n使用 --paste 时,文本会原样通过与 cmux paste 和 Cmd+V 相同的粘贴路径发送:不会解释 \\n 等转义序列,Esc 和 Ctrl-C 等控制字符会被替换为空格。--paste 必须放在文本之前。\n\n标志:\n --workspace 目标工作区(默认:$CMUX_WORKSPACE_ID)\n --surface 目标表面(默认:$CMUX_SURFACE_ID)\n --window 工作区/表面引用与索引的窗口上下文\n --paste 粘贴文本,而不是逐键输入\n\n示例:\n cmux send \"echo hello\"\n cmux send --surface surface:2 \"ls -la\\n\"\n cmux send --paste --surface surface:2 \"$(cat notes.md)\"" + "value": "라이트와 다크를 모두 지원하는 사이트에서 표시할 페이지 모드를 선택합니다. ‘시스템’은 앱의 외관 설정을 따릅니다." } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "用法:cmux send [flags] [--] \n\n以按鍵方式將文字傳送到終端機表面。跳脫序列:\\n 和 \\r 送出 Enter,\\t 送出 Tab。\n\n若是大量文字(例如超過 4 KB,或要送給代理的多行文字),請使用 --paste 或 cmux paste。按鍵方式會在每個換行處按下 Enter,可能讓每一行各自送出。\n\n使用 --paste 時,文字會原封不動地透過與 cmux paste 和 Cmd+V 相同的貼上路徑送出:不會解譯 \\n 等跳脫序列,Esc 和 Ctrl-C 等控制字元會被替換為空格。--paste 必須放在文字之前。\n\n旗標:\n --workspace 目標工作區(預設:$CMUX_WORKSPACE_ID)\n --surface 目標表面(預設:$CMUX_SURFACE_ID)\n --window 工作區/表面參照與索引所用的視窗上下文\n --paste 貼上文字,而不是逐鍵輸入\n\n範例:\n cmux send \"echo hello\"\n cmux send --surface surface:2 \"ls -la\\n\"\n cmux send --paste --surface surface:2 \"$(cat notes.md)\"" + "value": "ライトとダークの両方に対応したサイトで、どちらのページを表示するかを選択します。「システム」はアプリの外観に合わせます。" } } } }, - "cli.send.hint.usePaste": { + "settings.customSidebars.enabled.subtitle": { "extractionState": "manual", "localizations": { - "ar": { + "en": { "stringUnit": { "state": "translated", - "value": "تلميح: كُتب كل سطر جديد كضغطة Enter؛ للنصوص الكبيرة متعددة الأسطر استخدم cmux send --paste أو cmux paste لإرسالها كلصقة واحدة" + "value": "Adds sidebars from ~/.config/cmux/sidebars to the sidebar picker." } }, "de": { "stringUnit": { "state": "translated", - "value": "Hinweis: Jeder Zeilenumbruch wurde als Enter getippt; für große mehrzeilige Texte cmux send --paste oder cmux paste verwenden, um sie als ein einziges Einfügen zu senden" + "value": "Fügt Seitenleisten aus ~/.config/cmux/sidebars zur Seitenleistenauswahl hinzu." } }, - "en": { + "fr": { "stringUnit": { "state": "translated", - "value": "hint: each newline was typed as Enter; for large multi-line text use cmux send --paste or cmux paste to deliver it as one paste" + "value": "Ajoute les barres latérales de ~/.config/cmux/sidebars au sélecteur de barre latérale." } }, - "es": { + "ar": { "stringUnit": { "state": "translated", - "value": "sugerencia: cada salto de línea se escribió como Intro; para textos grandes de varias líneas usa cmux send --paste o cmux paste para enviarlos como un solo pegado" + "value": "يضيف الأشرطة الجانبية من ~/.config/cmux/sidebars إلى منتقي الشريط الجانبي." } }, - "fr": { + "es": { "stringUnit": { "state": "translated", - "value": "astuce : chaque saut de ligne a été tapé comme Entrée ; pour un texte volumineux sur plusieurs lignes, utilisez cmux send --paste ou cmux paste pour l’envoyer en un seul collage" + "value": "Añade las barras laterales de ~/.config/cmux/sidebars al selector de barra lateral." } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "ヒント: 各改行は Enter として入力されました。大きな複数行テキストは cmux send --paste または cmux paste を使うと 1 回の貼り付けとして送れます" + "value": "在側邊欄選取器中加入 ~/.config/cmux/sidebars 裡的側邊欄。" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "힌트: 각 줄바꿈이 Enter로 입력되었습니다. 큰 여러 줄 텍스트는 cmux send --paste 또는 cmux paste를 사용해 한 번의 붙여넣기로 보내세요" + "value": "在侧边栏选择器中添加 ~/.config/cmux/sidebars 里的侧边栏。" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "提示:每个换行都作为 Enter 输入;对于大量多行文本,请使用 cmux send --paste 或 cmux paste 以一次粘贴发送" + "value": "~/.config/cmux/sidebars의 사이드바를 사이드바 선택기에 추가합니다." } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "提示:每個換行都以 Enter 輸入;若是大量多行文字,請使用 cmux send --paste 或 cmux paste 以單次貼上送出" + "value": "~/.config/cmux/sidebars のサイドバーをサイドバーピッカーに追加します。" } } } }, - "settings.computerUse.enabled.subtitle": { + "settings.customSidebars.renderer.subtitle": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Lets supported agents see and control apps on this Mac. An agent's first Computer Use request starts setup automatically." + "value": "Isolated process protects cmux from a faulty sidebar but accepts clicks only. In-app also accepts hover, focus, and typing." } }, "de": { "stringUnit": { "state": "translated", - "value": "Unterstützte Agenten können Apps auf diesem Mac sehen und steuern. Die erste Computer-Use-Anfrage eines Agenten startet die Einrichtung automatisch." + "value": "„Isolierter Prozess“ schützt cmux vor einer fehlerhaften Seitenleiste, unterstützt aber nur Klicks. „In-App“ unterstützt zusätzlich Hover, Fokus und Texteingabe." } }, "fr": { "stringUnit": { "state": "translated", - "value": "Les agents pris en charge peuvent voir et contrôler les apps de ce Mac. La première requête Computer Use d’un agent lance automatiquement la configuration." + "value": "« Processus isolé » protège cmux d’une barre latérale défectueuse, mais n’accepte que les clics. « Dans l’application » accepte aussi le survol, le focus et la saisie." } }, "ar": { "stringUnit": { "state": "translated", - "value": "يمكن للوكلاء المدعومين رؤية التطبيقات على جهاز Mac هذا والتحكم فيها. ويبدأ الإعداد تلقائيًا عند أول طلب Computer Use من أحد الوكلاء." + "value": "يحمي خيار «عملية معزولة» cmux من الشريط الجانبي المعيب، لكنه لا يقبل سوى النقرات. أما خيار «داخل التطبيق» فيقبل أيضًا تمرير المؤشر والتركيز والكتابة." } }, "es": { "stringUnit": { "state": "translated", - "value": "Los agentes compatibles pueden ver y controlar apps en este Mac. La primera solicitud de Computer Use de un agente inicia la configuración automáticamente." + "value": "«Proceso aislado» protege cmux de una barra lateral defectuosa, pero solo admite clics. «En la aplicación» también admite pasar el puntero por encima, enfocar y escribir." } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "允許支援的代理程式查看及操作此 Mac 上的 App。代理程式第一次發出 Computer Use 要求時會自動開始設定。" + "value": "「隔離程序」可保護 cmux 不受有問題的側邊欄影響,但只接受點擊。「應用程式內」還接受游標停留、聚焦和輸入。" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "允许受支持的代理查看并控制这台 Mac 上的 App。代理第一次发出 Computer Use 请求时会自动开始设置。" + "value": "“隔离进程”可保护 cmux 不受有问题的侧边栏影响,但只接受点击。“应用内”还接受悬停、聚焦和输入。" } }, "ko": { "stringUnit": { "state": "translated", - "value": "지원되는 에이전트가 이 Mac의 앱을 보고 제어할 수 있게 합니다. 에이전트가 처음 Computer Use를 요청하면 설정이 자동으로 시작됩니다." + "value": "‘격리된 프로세스’는 결함이 있는 사이드바로부터 cmux를 보호하지만 클릭만 허용합니다. ‘앱 내부’는 포인터 올려놓기, 포커스, 키보드 입력도 허용합니다." } }, "ja": { "stringUnit": { "state": "translated", - "value": "対応するエージェントが、この Mac のアプリの画面を見て操作できるようにします。エージェントが最初に Computer Use を要求すると、セットアップが自動的に始まります。" + "value": "「分離プロセス」は問題のあるサイドバーから cmux を保護しますが、クリックしか受け付けません。「アプリ内」では、ホバー、フォーカス、入力も受け付けます。" } } } }, - "settings.app.closeWorkspaceOnLastSurfaceShortcut.subtitle": { + "settings.globalHotkey.enable.subtitle": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Closing the last surface in a workspace keeps the workspace open." + "value": "Pressing the shortcut in any app shows or hides all cmux windows." } }, "de": { "stringUnit": { "state": "translated", - "value": "Der Arbeitsbereich bleibt geöffnet, auch wenn seine letzte Oberfläche geschlossen wird." + "value": "Das Tastaturkürzel blendet in jeder App alle cmux-Fenster ein oder aus." } }, "fr": { "stringUnit": { "state": "translated", - "value": "L’espace de travail reste ouvert après la fermeture de sa dernière surface d’affichage." + "value": "Le raccourci affiche ou masque toutes les fenêtres cmux, quelle que soit l’app active." } }, "ar": { "stringUnit": { "state": "translated", - "value": "تبقى مساحة العمل مفتوحة عند إغلاق آخر سطح فيها." + "value": "يُظهر الاختصار جميع نوافذ cmux أو يخفيها من أي تطبيق." } }, "es": { "stringUnit": { "state": "translated", - "value": "El espacio de trabajo permanece abierto aunque se cierre su última superficie." + "value": "El atajo muestra u oculta todas las ventanas de cmux desde cualquier app." } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "即使關閉最後一個介面,工作區仍會保持開啟。" + "value": "在任何 App 中按下快速鍵,即可顯示或隱藏所有 cmux 視窗。" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "即使关闭最后一个表面,工作区也会保持打开。" + "value": "在任意 App 中按下快捷键,即可显示或隐藏所有 cmux 窗口。" } }, "ko": { "stringUnit": { "state": "translated", - "value": "마지막 서피스를 닫아도 워크스페이스는 닫히지 않습니다." + "value": "어느 앱에서든 단축키를 눌러 모든 cmux 윈도우를 표시하거나 숨길 수 있습니다." } }, "ja": { "stringUnit": { "state": "translated", - "value": "最後のサーフェスを閉じても、ワークスペースは閉じません。" + "value": "どのアプリを使用中でも、ショートカットを押すと cmux のすべてのウィンドウを表示または非表示にできます。" } } } }, - "settings.app.commandPaletteSearchAllSurfaces.subtitle": { + "settings.mobile.artifactFolderAccess.subtitle": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Includes terminal, browser, and Markdown surfaces from every workspace in command palette results." + "value": "Choose how much of a folder iPhone and iPad can browse. One Level shows only the items directly inside it." } }, "de": { "stringUnit": { "state": "translated", - "value": "Die Befehlspalette findet auch Terminal-, Browser- und Markdown-Oberflächen in allen Arbeitsbereichen." + "value": "Wählen Sie, wie tief iPhone und iPad einen Ordner durchsuchen können. „Eine Ebene“ zeigt nur die Objekte direkt darin." } }, "fr": { "stringUnit": { "state": "translated", - "value": "La palette de commandes affiche aussi les surfaces d’affichage de terminal, de navigateur et Markdown de tous les espaces de travail." + "value": "Choisissez jusqu’où l’iPhone et l’iPad peuvent parcourir un dossier. « Un niveau » n’affiche que les éléments qui s’y trouvent directement." } }, "ar": { "stringUnit": { "state": "translated", - "value": "تعرض نتائج لوحة الأوامر أسطح الطرفية والمتصفح وMarkdown من جميع مساحات العمل." + "value": "اختر مدى عمق تصفح iPhone وiPad داخل المجلد. يعرض خيار «مستوى واحد» العناصر الموجودة مباشرةً داخله فقط." } }, "es": { "stringUnit": { "state": "translated", - "value": "La paleta de comandos también muestra las superficies de terminal, navegador y Markdown de todos los espacios de trabajo." + "value": "Elige hasta qué nivel pueden explorar una carpeta el iPhone y el iPad. «Un nivel» solo muestra los elementos que contiene directamente." } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "在命令面板中也能找到所有工作區的終端機、瀏覽器和 Markdown 介面。" + "value": "選擇 iPhone 和 iPad 可瀏覽資料夾的範圍。「單一層級」只顯示該資料夾第一層的項目。" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "在命令面板中也能找到所有工作区的终端、浏览器和 Markdown 表面。" + "value": "选择 iPhone 和 iPad 可浏览文件夹的范围。“一层”只显示该文件夹第一层的项目。" } }, "ko": { "stringUnit": { "state": "translated", - "value": "명령어 팔레트에서 모든 워크스페이스의 터미널, 브라우저, Markdown 서피스도 찾을 수 있습니다." + "value": "iPhone 및 iPad에서 폴더를 어디까지 탐색할 수 있는지 선택합니다. ‘한 단계’는 폴더 바로 아래에 있는 항목만 표시합니다." } }, "ja": { "stringUnit": { "state": "translated", - "value": "コマンドパレットで、すべてのワークスペースのターミナル、ブラウザ、Markdown のサーフェスも検索できます。" + "value": "iPhone と iPad からフォルダをどこまで参照できるかを選択します。「1 階層」では、そのフォルダの直下にある項目のみが表示されます。" } } } }, - "settings.app.fileDrop.defaultBehavior.subtitle": { + "settings.mobile.iOSPairingHost.subtitle": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Choose what dropping files on a terminal or editor does. Holding Shift while dragging does the other." + "value": "Lets iPhone and iPad pair with and connect to this Mac." } }, "de": { "stringUnit": { "state": "translated", - "value": "Wählen Sie, was beim Ablegen von Dateien auf einem Terminal oder Editor passiert. Wenn Sie beim Ziehen die Umschalttaste gedrückt halten, gilt die andere Option." + "value": "iPhone und iPad können sich mit diesem Mac koppeln und verbinden." } }, "fr": { "stringUnit": { "state": "translated", - "value": "Choisissez ce qui se passe lorsque vous déposez des fichiers sur un terminal ou un éditeur. Si vous maintenez la touche Maj enfoncée pendant le glissement, l’autre option s’applique." + "value": "L’iPhone et l’iPad peuvent se jumeler avec ce Mac et s’y connecter." } }, "ar": { "stringUnit": { "state": "translated", - "value": "اختر ما يحدث عند إفلات الملفات على طرفية أو محرر. يؤدي الضغط مع الاستمرار على مفتاح Shift أثناء السحب إلى تطبيق الخيار الآخر." + "value": "يمكن لـ iPhone وiPad الاقتران بجهاز Mac هذا والاتصال به." } }, "es": { "stringUnit": { "state": "translated", - "value": "Elige qué ocurre al soltar archivos en una terminal o un editor. Si mantienes pulsada la tecla Mayúsculas al arrastrar, se usa la otra opción." + "value": "El iPhone y el iPad pueden emparejarse con este Mac y conectarse a él." } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "選擇將檔案拖放到終端機或編輯器時要執行的動作。拖移時按住 Shift 鍵可改用另一個動作。" + "value": "允許 iPhone 和 iPad 與此 Mac 配對及連線。" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "选择将文件拖放到终端或编辑器时执行的操作。拖动时按住 Shift 键可改用另一种操作。" + "value": "允许 iPhone 和 iPad 与这台 Mac 配对并连接。" } }, "ko": { "stringUnit": { "state": "translated", - "value": "파일을 터미널이나 편집기에 드롭했을 때 수행할 동작을 선택합니다. 드래그 중에 Shift 키를 누르고 있으면 다른 쪽 동작을 수행합니다." + "value": "iPhone과 iPad가 이 Mac과 페어링하고 연결할 수 있게 합니다." } }, "ja": { "stringUnit": { "state": "translated", - "value": "ファイルをターミナルやエディタにドロップしたときの動作を選択します。ドラッグ中に Shift キーを押したままにすると、もう一方の動作になります。" + "value": "iPhone と iPad がこの Mac とペアリングして接続できるようにします。" } } } }, - "settings.app.focusHistoryIncludesPanesAndTabs.subtitle": { + "settings.mobile.phonePush.forwarding.subtitle": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Using Back and Forward also returns to previous panes and tabs." + "value": "Sends agent notifications from this Mac to cmux on iPhone and iPad." } }, "de": { "stringUnit": { "state": "translated", - "value": "Mit „Zurück“ und „Vor“ kehren Sie auch zu vorherigen Teilfenstern und Tabs zurück." + "value": "Leitet Agentenbenachrichtigungen von diesem Mac an cmux auf iPhone und iPad weiter." } }, "fr": { "stringUnit": { "state": "translated", - "value": "Précédent et Suivant ramènent aussi aux volets et aux onglets précédents." + "value": "Transfère les notifications des agents de ce Mac vers cmux sur iPhone et iPad." } }, "ar": { "stringUnit": { "state": "translated", - "value": "ينتقل «رجوع» و«تقدم» أيضًا إلى الأجزاء وعلامات التبويب السابقة." + "value": "يوجّه إشعارات الوكلاء من جهاز Mac هذا إلى cmux على iPhone وiPad." } }, "es": { "stringUnit": { "state": "translated", - "value": "Atrás y Adelante también vuelven a los paneles y pestañas anteriores." + "value": "Reenvía las notificaciones de agentes de este Mac a cmux en iPhone y iPad." } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "使用「返回」與「前進」時,也會回到先前的窗格與標籤頁。" + "value": "將此 Mac 上的代理程式通知傳送至 iPhone 和 iPad 上的 cmux。" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "“后退”和“前进”也会回到之前的窗格和标签页。" + "value": "将这台 Mac 上的代理通知发送到 iPhone 和 iPad 上的 cmux。" } }, "ko": { "stringUnit": { "state": "translated", - "value": "뒤로 가기와 앞으로 가기로 이전 분할 창과 탭에도 돌아갈 수 있습니다." + "value": "이 Mac의 에이전트 알림을 iPhone 및 iPad의 cmux로 보냅니다." } }, "ja": { "stringUnit": { "state": "translated", - "value": "「戻る」と「進む」で、以前のペインやタブにも戻れます。" + "value": "この Mac からエージェントの通知を iPhone と iPad の cmux に送信します。" } } } }, - "settings.app.globalFontMagnification.subtitle": { + "settings.shortcuts.showModifierHoldHints.subtitle": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Scales all text in cmux. Command-Plus and Command-Minus still zoom the focused pane." + "value": "Holding Command or Control shows shortcut hints." } }, "de": { "stringUnit": { "state": "translated", - "value": "Ändert die Größe des gesamten Texts in cmux. Mit Befehlstaste-Plus und Befehlstaste-Minus lässt sich das fokussierte Teilfenster weiterhin zoomen." + "value": "Hinweise zu Tastaturkürzeln erscheinen, solange die Befehlstaste oder die Control-Taste gedrückt ist." } }, "fr": { "stringUnit": { "state": "translated", - "value": "Modifie la taille de tout le texte de cmux. Commande + Plus et Commande + Moins continuent de régler le zoom du volet actif." + "value": "Les indices de raccourcis apparaissent tant que la touche Commande ou Contrôle est maintenue enfoncée." } }, "ar": { "stringUnit": { "state": "translated", - "value": "يغيّر حجم جميع النصوص في cmux. ولا يزال الاختصاران Command-علامة الجمع وCommand-علامة الطرح يكبّران الجزء المركّز عليه ويصغّرانه." + "value": "تظهر تلميحات الاختصارات عند الضغط مع الاستمرار على Command أو Control." } }, "es": { "stringUnit": { "state": "translated", - "value": "Cambia el tamaño de todo el texto de cmux. Comando + Más y Comando + Menos siguen ajustando el zoom del panel enfocado." + "value": "Las sugerencias de atajos aparecen mientras se mantiene presionada la tecla Comando o Control." } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "調整 cmux 中所有文字的大小。Command + 加號和 Command + 減號仍可用來縮放目前聚焦的窗格。" + "value": "按住 Command 或 Control 鍵時,會顯示快速鍵提示。" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "调整 cmux 中所有文本的大小。Command + 加号和 Command + 减号仍可用于缩放当前聚焦的窗格。" + "value": "按住 Command 或 Control 键时,会显示快捷键提示。" } }, "ko": { "stringUnit": { "state": "translated", - "value": "cmux의 모든 텍스트 크기를 조절합니다. 포커스된 분할 창은 계속 Command-더하기와 Command-빼기로 확대/축소할 수 있습니다." + "value": "Command 또는 Control 키를 누르고 있으면 단축키 힌트가 표시됩니다." } }, "ja": { "stringUnit": { "state": "translated", - "value": "cmux 内のすべてのテキストの大きさを変更します。フォーカス中のペインは、これまでどおり Command + プラスと Command + マイナスで拡大縮小できます。" + "value": "Command キーまたは Control キーを押したままにすると、ショートカットヒントが表示されます。" } } } }, - "settings.app.hideAllSidebarDetails.subtitle": { + "settings.sidebar.rightMaxWidth.subtitle": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Shows only workspace titles in the sidebar." + "value": "Lets the Dock in the right sidebar grow up to this width while leaving room for terminals." } }, "de": { "stringUnit": { "state": "translated", - "value": "Zeigt in der Seitenleiste nur die Titel der Arbeitsbereiche an." + "value": "Das Dock in der rechten Seitenleiste kann bis zu dieser Breite wachsen, lässt aber Platz für Terminals." } }, "fr": { "stringUnit": { "state": "translated", - "value": "Affiche uniquement les titres des espaces de travail dans la barre latérale." + "value": "Le Dock de la barre latérale droite peut s’élargir jusqu’à cette largeur tout en laissant de la place aux terminaux." } }, "ar": { "stringUnit": { "state": "translated", - "value": "يعرض عناوين مساحات العمل فقط في الشريط الجانبي." + "value": "يمكن أن يتسع Dock في الشريط الجانبي الأيمن حتى هذا العرض مع ترك مساحة للطرفيات." } }, "es": { "stringUnit": { "state": "translated", - "value": "Muestra solo los títulos de los espacios de trabajo en la barra lateral." + "value": "El Dock de la barra lateral derecha puede ampliarse hasta este ancho, pero deja espacio para las terminales." } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "側邊欄只顯示工作區標題。" + "value": "右側邊欄中的 Dock 最寬可擴展至此寬度,並為終端機保留空間。" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "侧边栏只显示工作区标题。" + "value": "右侧边栏中的 Dock 最宽可扩展到此宽度,同时为终端保留空间。" } }, "ko": { "stringUnit": { "state": "translated", - "value": "사이드바에 워크스페이스 제목만 표시합니다." + "value": "오른쪽 사이드바의 Dock은 터미널 공간을 남겨 둔 채 이 너비까지 넓어질 수 있습니다." } }, "ja": { "stringUnit": { "state": "translated", - "value": "サイドバーにワークスペースのタイトルだけを表示します。" + "value": "右サイドバーの Dock は、ターミナルの領域を残したまま、この幅まで広げられます。" } } } }, - "settings.app.hideTabCloseButton.subtitle": { + "settings.terminal.adaptiveDefaultTheme.subtitle": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Removes the close button from tabs." + "value": "Matches terminal colors to the light or dark appearance when no Ghostty theme or colors are set." } }, "de": { "stringUnit": { "state": "translated", - "value": "Tabs werden ohne Schließen-Taste angezeigt." + "value": "Passt die Terminalfarben an das helle oder dunkle Erscheinungsbild an, wenn in Ghostty kein Theme und keine Farben festgelegt sind." } }, "fr": { "stringUnit": { "state": "translated", - "value": "Les onglets s’affichent sans bouton de fermeture." + "value": "Si aucun thème ni aucune couleur Ghostty n’est défini, les couleurs du terminal suivent l’apparence claire ou sombre." } }, "ar": { "stringUnit": { "state": "translated", - "value": "تظهر علامات التبويب دون زر إغلاق." + "value": "عندما لا تكون هناك سمة أو ألوان محددة في Ghostty، تتوافق ألوان الطرفية مع المظهر الفاتح أو الداكن." } }, "es": { "stringUnit": { "state": "translated", - "value": "Las pestañas se muestran sin el botón de cerrar." + "value": "Si no hay ningún tema ni colores de Ghostty definidos, los colores de la terminal siguen la apariencia clara u oscura." } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "標籤頁上不顯示關閉按鈕。" + "value": "未設定 Ghostty 主題或顏色時,終端機顏色會配合淺色或深色外觀。" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "标签页上不显示关闭按钮。" + "value": "未设置 Ghostty 主题或颜色时,终端颜色会随浅色或深色外观变化。" } }, "ko": { "stringUnit": { "state": "translated", - "value": "탭에 닫기 버튼을 표시하지 않습니다." + "value": "Ghostty 테마나 색상이 설정되어 있지 않으면 터미널 색상을 라이트 또는 다크 모드에 맞춥니다." } }, "ja": { "stringUnit": { "state": "translated", - "value": "タブの閉じるボタンを非表示にします。" + "value": "Ghostty のテーマや色が設定されていない場合、ターミナルの色をライトまたはダークの外観に合わせます。" } } } }, - "settings.app.minimalMode.subtitle": { + "settings.terminal.agentAutoResume.subtitle": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Hides the workspace title bar and shows its controls in the sidebar." + "value": "Reopening cmux resumes agent sessions automatically." } }, "de": { "stringUnit": { "state": "translated", - "value": "Blendet die Titelleiste des Arbeitsbereichs aus und zeigt ihre Steuerelemente in der Seitenleiste an." + "value": "Beim erneuten Öffnen von cmux werden Agenten-Sitzungen automatisch fortgesetzt." } }, "fr": { "stringUnit": { "state": "translated", - "value": "Masque la barre de titre de l’espace de travail et affiche ses commandes dans la barre latérale." + "value": "Les sessions d’agent reprennent automatiquement à la réouverture de cmux." } }, "ar": { "stringUnit": { "state": "translated", - "value": "يخفي شريط عنوان مساحة العمل ويعرض عناصر التحكم الخاصة به في الشريط الجانبي." + "value": "تُستأنف جلسات الوكلاء تلقائيًا عند إعادة فتح cmux." } }, "es": { "stringUnit": { "state": "translated", - "value": "Oculta la barra de título del espacio de trabajo y muestra sus controles en la barra lateral." + "value": "Las sesiones de agentes se reanudan automáticamente al volver a abrir cmux." } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "隱藏工作區標題列,改在側邊欄中顯示其控制項。" + "value": "重新開啟 cmux 時,自動繼續先前的代理工作階段。" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "隐藏工作区标题栏,改为在侧边栏中显示其控件。" + "value": "重新打开 cmux 时,自动恢复之前的代理会话。" } }, "ko": { "stringUnit": { "state": "translated", - "value": "워크스페이스 제목 막대를 숨기고, 제목 막대의 컨트롤을 사이드바에 표시합니다." + "value": "cmux를 다시 열면 에이전트 세션이 자동으로 재개됩니다." } }, "ja": { "stringUnit": { "state": "translated", - "value": "ワークスペースのタイトルバーを非表示にし、そのコントロールをサイドバーに表示します。" + "value": "cmux を開き直すと、エージェントのセッションが自動的に再開されます。" } } } }, - "settings.app.newWorkspacePlacement.subtitle": { + "settings.terminal.agentHibernation.subtitle": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Choose where new workspaces appear in the sidebar." + "value": "Hibernates idle background agent terminals above the live terminal limit. Even when this is off, cmux may hibernate them under memory pressure." } }, "de": { "stringUnit": { "state": "translated", - "value": "Wählen Sie, wo neue Arbeitsbereiche in der Seitenleiste erscheinen." + "value": "Versetzt inaktive Agenten-Terminals im Hintergrund in den Ruhezustand, sobald das Limit für aktive Terminals überschritten ist. Auch wenn diese Option deaktiviert ist, kann cmux sie bei hoher Speicherauslastung in den Ruhezustand versetzen." } }, "fr": { "stringUnit": { "state": "translated", - "value": "Choisissez où les nouveaux espaces de travail apparaissent dans la barre latérale." + "value": "Met en hibernation les terminaux d’agent inactifs en arrière-plan au-delà de la limite de terminaux actifs. Même si cette option est désactivée, cmux peut les mettre en hibernation en cas de pression mémoire." } }, "ar": { "stringUnit": { "state": "translated", - "value": "اختر مكان ظهور مساحات العمل الجديدة في الشريط الجانبي." + "value": "يُدخل طرفيات الوكلاء الخاملة في الخلفية في السبات عند تجاوز حد الطرفيات النشطة. وحتى عند إيقاف هذا الخيار، قد يُدخلها cmux في السبات عند ضغط الذاكرة." } }, "es": { "stringUnit": { "state": "translated", - "value": "Elige dónde aparecen los nuevos espacios de trabajo en la barra lateral." + "value": "Pone en hibernación las terminales de agentes inactivas en segundo plano que superan el límite de terminales activas. Aunque esta opción esté desactivada, cmux puede ponerlas en hibernación si hay presión de memoria." } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "選擇新工作區要顯示在側邊欄的哪個位置。" + "value": "作用中終端機超過上限時,閒置的背景代理終端機會進入休眠。即使關閉此選項,cmux 仍可能在記憶體吃緊時讓它們休眠。" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "选择新工作区在侧边栏中的显示位置。" + "value": "活动终端超过上限时,空闲的后台代理终端会进入休眠。即使关闭此选项,cmux 仍可能在内存紧张时让它们休眠。" } }, "ko": { "stringUnit": { "state": "translated", - "value": "새 작업 공간을 사이드바의 어디에 표시할지 선택합니다." + "value": "활성 터미널 수가 한도를 넘으면 백그라운드에서 유휴 상태인 에이전트 터미널을 최대 절전 모드로 전환합니다. 이 옵션을 꺼도 메모리가 부족하면 cmux가 해당 터미널을 최대 절전 모드로 전환할 수 있습니다." } }, "ja": { "stringUnit": { "state": "translated", - "value": "新しいワークスペースをサイドバーのどこに表示するかを選択します。" + "value": "実行中のターミナル数が上限を超えると、アイドル状態のバックグラウンドエージェントのターミナルを休止させます。この設定がオフでも、メモリが逼迫している場合は cmux がこれらを休止させることがあります。" } } } }, - "settings.app.openSidebarPRLinks.subtitle": { + "settings.terminal.copyOnSelect.subtitle": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Clicking a pull request link in the sidebar opens it in the cmux browser." + "value": "Selecting text in a terminal copies it to the clipboard." } }, "de": { "stringUnit": { "state": "translated", - "value": "Pull-Request-Links in der Seitenleiste werden per Klick im cmux-Browser geöffnet." + "value": "Im Terminal ausgewählter Text wird in die Zwischenablage kopiert." } }, "fr": { "stringUnit": { "state": "translated", - "value": "Un clic sur un lien de pull request de la barre latérale l’ouvre dans le navigateur cmux." + "value": "Le texte sélectionné dans un terminal est copié dans le presse-papiers." } }, "ar": { "stringUnit": { "state": "translated", - "value": "تُفتح روابط طلبات السحب في الشريط الجانبي في متصفح cmux عند النقر عليها." + "value": "يُنسخ النص المحدد في الطرفية إلى الحافظة." } }, "es": { "stringUnit": { "state": "translated", - "value": "Los enlaces de pull request de la barra lateral se abren en el navegador de cmux al hacer clic en ellos." + "value": "El texto seleccionado en una terminal se copia al portapapeles." } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "側邊欄中的 PR 連結會在 cmux 瀏覽器中開啟。" + "value": "在終端機中選取文字時,會將文字複製到剪貼簿。" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "侧边栏中的 PR 链接会在 cmux 浏览器中打开。" + "value": "在终端中选择文本时,会将文本复制到剪贴板。" } }, "ko": { "stringUnit": { "state": "translated", - "value": "사이드바의 풀 리퀘스트 링크를 클릭하면 cmux 브라우저에서 열립니다." + "value": "터미널에서 텍스트를 선택하면 클립보드에 복사됩니다." } }, "ja": { "stringUnit": { "state": "translated", - "value": "サイドバーのプルリクエストのリンクをクリックすると、cmuxブラウザで開きます。" + "value": "ターミナルでテキストを選択すると、クリップボードにコピーされます。" } } } }, - "settings.app.openSidebarPortLinks.subtitle": { + "settings.terminal.reflowHardWrapOnCopy.subtitle": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Clicking a port link in the sidebar opens it in the cmux browser." + "value": "Copying text also joins line breaks a program printed at the full terminal width and drops a short continuation indent. Soft-wrapped lines always copy as one line." } }, "de": { "stringUnit": { "state": "translated", - "value": "Port-Links in der Seitenleiste werden per Klick im cmux-Browser geöffnet." + "value": "Beim Kopieren werden auch Zeilenumbrüche zusammengefügt, die ein Programm bei voller Terminalbreite ausgegeben hat, und ein kurzer Fortsetzungseinzug wird entfernt. Weich umbrochene Zeilen werden immer als eine Zeile kopiert." } }, "fr": { "stringUnit": { "state": "translated", - "value": "Un clic sur un lien de port de la barre latérale l’ouvre dans le navigateur cmux." + "value": "Lors de la copie, les sauts de ligne qu’un programme a insérés à pleine largeur du terminal sont aussi supprimés, ainsi qu’un court retrait de continuation. Les lignes à retour automatique sont toujours copiées sur une seule ligne." } }, "ar": { "stringUnit": { "state": "translated", - "value": "تُفتح روابط المنافذ في الشريط الجانبي في متصفح cmux عند النقر عليها." + "value": "عند النسخ، تُدمج أيضًا فواصل الأسطر التي طبعها برنامج عند العرض الكامل للطرفية، وتُحذف مسافة البادئة القصيرة للسطر التالي. أما الأسطر الملتفّة تلقائيًا فتُنسخ دائمًا كسطر واحد." } }, "es": { "stringUnit": { "state": "translated", - "value": "Los enlaces de puerto de la barra lateral se abren en el navegador de cmux al hacer clic en ellos." + "value": "Al copiar, también se unen los saltos de línea que un programa imprimió al ancho completo de la terminal y se quita una sangría de continuación corta. Las líneas con ajuste automático siempre se copian como una sola línea." } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "側邊欄中的連接埠連結會在 cmux 瀏覽器中開啟。" + "value": "複製文字時,也會合併程式在終端機滿寬處輸出的換行,並移除較短的續行縮排。自動換行的行一律會複製為一行。" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "侧边栏中的端口链接会在 cmux 浏览器中打开。" + "value": "复制文本时,也会合并程序在终端满宽处输出的换行,并移除较短的续行缩进。自动换行的行始终会复制为一行。" } }, "ko": { "stringUnit": { "state": "translated", - "value": "사이드바의 포트 링크를 클릭하면 cmux 브라우저에서 열립니다." + "value": "텍스트를 복사할 때 프로그램이 터미널 전체 너비에서 넣은 줄바꿈도 합치고 짧은 연속 들여쓰기를 제거합니다. 자동 줄바꿈된 줄은 항상 한 줄로 복사됩니다." } }, "ja": { "stringUnit": { "state": "translated", - "value": "サイドバーのポートリンクをクリックすると、cmuxブラウザで開きます。" + "value": "テキストをコピーするとき、プログラムがターミナルの幅いっぱいで出力した改行もつなげ、短い継続インデントを取り除きます。ソフトラップされた行は常に 1 行としてコピーされます。" } } } }, - "settings.app.paneFirstClickFocus.subtitle": { + "settings.terminal.memoryGuardrail.subtitle": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Clicking a pane while cmux is in the background focuses that pane right away." + "value": "Warns when the processes in one pane use too much memory." } }, "de": { "stringUnit": { "state": "translated", - "value": "Ist cmux im Hintergrund, wird ein Teilfenster schon beim ersten Klick fokussiert." + "value": "Warnt, wenn die Prozesse in einem Teilfenster zu viel Speicher verbrauchen." } }, "fr": { "stringUnit": { "state": "translated", - "value": "Lorsque cmux est en arrière-plan, un clic sur un volet l’active immédiatement." + "value": "Avertit lorsque les processus d’un volet utilisent trop de mémoire." } }, "ar": { "stringUnit": { "state": "translated", - "value": "عندما يكون cmux في الخلفية، يكفي النقر على جزء للتركيز عليه فورًا." + "value": "ينبّه عندما تستهلك العمليات في جزء واحد ذاكرة أكثر من اللازم." } }, "es": { "stringUnit": { "state": "translated", - "value": "Si cmux está en segundo plano, un clic en un panel lo enfoca de inmediato." + "value": "Avisa cuando los procesos de un panel usan demasiada memoria." } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "即使 cmux 在背景執行,按一下窗格也會立即將焦點移到該窗格。" + "value": "單一窗格中的處理程序使用過多記憶體時發出警告。" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "即使 cmux 在后台,点按窗格也会立即将焦点移到该窗格。" + "value": "某个窗格中的进程占用过多内存时发出警告。" } }, "ko": { "stringUnit": { "state": "translated", - "value": "cmux가 백그라운드에 있어도 분할 창을 클릭하면 바로 그 분할 창에 포커스가 이동합니다." + "value": "한 분할 창의 프로세스가 메모리를 너무 많이 사용하면 경고합니다." } }, "ja": { "stringUnit": { "state": "translated", - "value": "cmux がバックグラウンドにあっても、ペインをクリックするとすぐにそのペインにフォーカスが移ります。" + "value": "1 つのペインのプロセスがメモリを使いすぎると警告します。" } } } }, - "settings.app.pathLastSegmentOnly.subtitle": { + "settings.terminal.rendererRealization.subtitle": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Shortens long paths from the start to keep their end visible." + "value": "Frees graphics memory from terminals that are out of view. Their processes keep running." } }, "de": { "stringUnit": { "state": "translated", - "value": "Kürzt lange Pfade am Anfang, damit ihr Ende sichtbar bleibt." + "value": "Gibt den Grafikspeicher nicht sichtbarer Terminals frei. Ihre Prozesse laufen weiter." } }, "fr": { "stringUnit": { "state": "translated", - "value": "Raccourcit les chemins longs par le début pour que leur fin reste visible." + "value": "Libère la mémoire graphique des terminaux hors de vue. Leurs processus continuent de s’exécuter." } }, "ar": { "stringUnit": { "state": "translated", - "value": "يختصر المسارات الطويلة من بدايتها لتبقى نهايتها ظاهرة." + "value": "يحرر ذاكرة الرسومات للطرفيات غير الظاهرة، مع استمرار تشغيل عملياتها." } }, "es": { "stringUnit": { "state": "translated", - "value": "Acorta las rutas largas por el inicio para que su final siga visible." + "value": "Libera la memoria gráfica de las terminales fuera de la vista. Sus procesos siguen ejecutándose." } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "長路徑會省略開頭,保留結尾部分。" + "value": "釋放不在畫面上的終端機所使用的圖形記憶體,其處理程序仍會繼續執行。" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "长路径会省略开头,保留结尾部分。" + "value": "释放不在屏幕上的终端所占用的图形内存,其进程仍会继续运行。" } }, "ko": { "stringUnit": { "state": "translated", - "value": "긴 경로는 앞부분을 생략하여 끝부분이 보이게 합니다." + "value": "화면에 보이지 않는 터미널의 그래픽 메모리를 해제합니다. 해당 프로세스는 계속 실행됩니다." } }, "ja": { "stringUnit": { "state": "translated", - "value": "長いパスは先頭を省略して、末尾が見えるようにします。" + "value": "表示されていないターミナルのグラフィックスメモリを解放します。プロセスは動作し続けます。" } } } }, - "settings.app.renameSelectsName.subtitle": { + "settings.terminal.scrollBar.subtitle": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Renaming from the command palette selects the current name." + "value": "Shows a scroll bar in terminals, except in full-screen apps." } }, "de": { "stringUnit": { "state": "translated", - "value": "Beim Umbenennen über die Befehlspalette ist der aktuelle Name bereits ausgewählt." + "value": "Zeigt in Terminals eine Bildlaufleiste an, außer in Vollbild-Apps." } }, "fr": { "stringUnit": { "state": "translated", - "value": "Lors d’un renommage depuis la palette de commandes, le nom actuel est sélectionné." + "value": "Affiche une barre de défilement dans les terminaux, sauf dans les apps en plein écran." } }, "ar": { "stringUnit": { "state": "translated", - "value": "عند إعادة التسمية من لوحة الأوامر، يكون الاسم الحالي محددًا." + "value": "يعرض شريط تمرير في الطرفيات، إلا في التطبيقات بملء الشاشة." } }, "es": { "stringUnit": { "state": "translated", - "value": "Al cambiar el nombre desde la paleta de comandos, el nombre actual aparece seleccionado." + "value": "Muestra una barra de desplazamiento en las terminales, excepto en las apps a pantalla completa." } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "從命令面板重新命名時,會選取目前的名稱。" + "value": "在終端機中顯示捲軸(全螢幕 App 除外)。" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "从命令面板重命名时,会选中当前名称。" + "value": "在终端中显示滚动条(全屏 App 除外)。" } }, "ko": { "stringUnit": { "state": "translated", - "value": "명령어 팔레트에서 이름을 변경할 때 현재 이름이 선택된 상태로 표시됩니다." + "value": "터미널에 스크롤 바를 표시합니다(전체 화면 앱 제외)." } }, "ja": { "stringUnit": { "state": "translated", - "value": "コマンドパレットで名前を変更するとき、現在の名前が選択された状態になります。" + "value": "ターミナルにスクロールバーを表示します(フルスクリーンアプリを除く)。" } } } }, - "settings.app.sidebarBranchLayout.subtitle": { + "settings.terminal.sessionContentWidth.subtitle": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Choose whether branches share one line or each get their own line." + "value": "Wraps terminal and agent chat content at this width. Narrow panes still use their full width." } }, "de": { "stringUnit": { "state": "translated", - "value": "Wählen Sie, ob sich Branches eine Zeile teilen oder jeweils eine eigene Zeile erhalten." + "value": "Terminal- und Agenten-Chat-Inhalte werden bei dieser Breite umbrochen. Schmalere Teilfenster nutzen weiterhin ihre volle Breite." } }, "fr": { "stringUnit": { "state": "translated", - "value": "Choisissez si les branches partagent une même ligne ou ont chacune leur propre ligne." + "value": "Le contenu du terminal et du chat de l’agent revient à la ligne à cette largeur. Les volets plus étroits conservent toute leur largeur." } }, "ar": { "stringUnit": { "state": "translated", - "value": "اختر ما إذا كانت الفروع تتشارك سطرًا واحدًا أو يحصل كل منها على سطر خاص به." + "value": "يلتف محتوى الطرفية ودردشة الوكيل عند هذا العرض. أما الأجزاء الأضيق فتستخدم عرضها الكامل." } }, "es": { "stringUnit": { "state": "translated", - "value": "Elige si las ramas comparten una sola línea o cada una ocupa su propia línea." + "value": "El contenido de la terminal y del chat de agentes se ajusta a este ancho. Los paneles más estrechos siguen usando todo su ancho." } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "選擇分支要共用一行,還是各自獨立一行。" + "value": "終端機和代理對話的內容會在此寬度換行。較窄的窗格仍使用完整寬度。" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "选择分支是共用一行,还是各占一行。" + "value": "终端和代理对话的内容会在此宽度处换行。较窄的窗格仍使用全部宽度。" } }, "ko": { "stringUnit": { "state": "translated", - "value": "브랜치를 한 줄에 함께 표시할지, 각각 별도의 줄에 표시할지 선택합니다." + "value": "터미널과 에이전트 채팅 내용을 이 너비에서 줄바꿈합니다. 이보다 좁은 분할 창에서는 전체 너비를 사용합니다." } }, "ja": { "stringUnit": { "state": "translated", - "value": "ブランチを 1 行にまとめて表示するか、それぞれ別の行に表示するかを選択します。" + "value": "ターミナルとエージェントチャットの内容をこの幅で折り返します。これより狭いペインでは、ペインの幅いっぱいに表示します。" } } } }, - "settings.app.stackBranchDirectory.subtitle": { + "settings.terminal.textEditingGestures.subtitle": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Shows the branch and directory on separate lines." + "value": "Command and Option arrow and delete keys move and delete by line and word at the shell prompt." } }, - "de": { + "ja": { "stringUnit": { "state": "translated", - "value": "Zeigt Branch und Verzeichnis in getrennten Zeilen an." + "value": "シェルのプロンプトでは、Command と Option の矢印キー・削除キーで行単位・単語単位に移動・削除します。" } }, - "fr": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "Affiche la branche et le répertoire sur des lignes distinctes." + "value": "在 shell 提示符下,Command 和 Option 加方向键和删除键按行和按词移动和删除。" } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "يعرض الفرع والدليل في سطرين منفصلين." + "value": "Befehls- und Wahltaste mit Pfeil- und Löschtasten bewegen und löschen an der Shell-Eingabeaufforderung zeilen- und wortweise." } }, - "es": { + "fr": { "stringUnit": { "state": "translated", - "value": "Muestra la rama y el directorio en líneas separadas." + "value": "À l'invite du shell, les flèches et la touche Supprimer avec Commande et Option déplacent et suppriment par ligne et par mot." } }, - "zh-Hant": { + "ar": { "stringUnit": { "state": "translated", - "value": "分支與目錄分行顯示。" + "value": "في موجه الصدفة، تنقل مفاتيح الأسهم والحذف مع Command وOption وتحذف حسب السطر والكلمة." } }, - "zh-Hans": { + "es": { "stringUnit": { "state": "translated", - "value": "分支和目录分行显示。" + "value": "En el prompt de la shell, las flechas y la tecla Eliminar con Comando y Opción mueven y borran por línea y por palabra." } }, - "ko": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "브랜치와 디렉터리를 각각 다른 줄에 표시합니다." + "value": "在 shell 提示字元下,Command 與 Option 加方向鍵與刪除鍵會依行與依字移動與刪除。" } }, - "ja": { + "ko": { "stringUnit": { "state": "translated", - "value": "ブランチとディレクトリを別々の行に表示します。" + "value": "셸 프롬프트에서 Command 및 Option 화살표와 삭제 키가 줄 및 단어 단위로 이동하고 삭제합니다." } } } }, - "settings.app.warnBeforeClosingTab.subtitle": { + "settings.textBox.focusOnNewTerminals.subtitle": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Closing a tab asks for confirmation first." + "value": "Opening a terminal tab, split, or workspace puts keyboard focus in the TextBox." } }, "de": { "stringUnit": { "state": "translated", - "value": "Beim Schließen eines Tabs wird zuerst nach einer Bestätigung gefragt." + "value": "Wenn ein Terminal-Tab, eine Teilung oder ein Arbeitsbereich geöffnet wird, liegt der Tastaturfokus in der TextBox." } }, "fr": { "stringUnit": { "state": "translated", - "value": "Une confirmation est demandée avant la fermeture d’un onglet." + "value": "À l’ouverture d’un onglet, d’une division ou d’un espace de travail de terminal, le focus du clavier est placé dans la TextBox." } }, "ar": { "stringUnit": { "state": "translated", - "value": "يُطلب التأكيد قبل إغلاق علامة التبويب." + "value": "عند فتح علامة تبويب طرفية أو تقسيم أو مساحة عمل، ينتقل تركيز لوحة المفاتيح إلى TextBox." } }, "es": { "stringUnit": { "state": "translated", - "value": "Se pide confirmación antes de cerrar una pestaña." + "value": "Al abrir una pestaña de terminal, una división o un espacio de trabajo, el enfoque del teclado se sitúa en el TextBox." } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "關閉標籤頁前先要求確認。" + "value": "開啟終端機標籤頁、分割或工作區時,將鍵盤焦點移到 TextBox。" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "关闭标签页前先要求确认。" + "value": "打开终端标签页、分屏或工作区时,将键盘焦点移到 TextBox。" } }, "ko": { "stringUnit": { "state": "translated", - "value": "탭을 닫기 전에 확인을 요청합니다." + "value": "터미널 탭, 분할 또는 작업 공간을 열면 키보드 포커스가 TextBox로 이동합니다." } }, "ja": { "stringUnit": { "state": "translated", - "value": "タブを閉じる前に確認します。" + "value": "ターミナルタブ、分割、またはワークスペースを開くと、キーボードフォーカスが TextBox に移動します。" } } } }, - "settings.app.warnBeforeClosingTabXButton.subtitle": { + "settings.textBox.showOnNewTerminals.subtitle": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Clicking a tab's close button asks for confirmation first." + "value": "Opening a terminal tab, split, or workspace shows the TextBox." } }, "de": { "stringUnit": { "state": "translated", - "value": "Beim Klicken auf die Schließen-Taste eines Tabs wird zuerst nach einer Bestätigung gefragt." + "value": "Beim Öffnen eines Terminal-Tabs, einer Teilung oder eines Arbeitsbereichs erscheint die TextBox." } }, "fr": { "stringUnit": { "state": "translated", - "value": "Une confirmation est demandée avant la fermeture d’un onglet avec son bouton de fermeture." + "value": "À l’ouverture d’un onglet, d’une division ou d’un espace de travail de terminal, la TextBox s’affiche." } }, "ar": { "stringUnit": { "state": "translated", - "value": "يُطلب التأكيد قبل إغلاق علامة التبويب بالنقر على زر الإغلاق الخاص بها." + "value": "عند فتح علامة تبويب طرفية أو تقسيم أو مساحة عمل، يظهر TextBox." } }, "es": { "stringUnit": { "state": "translated", - "value": "Se pide confirmación antes de cerrar una pestaña con su botón de cerrar." + "value": "Al abrir una pestaña de terminal, una división o un espacio de trabajo, se muestra el TextBox." } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "按一下標籤頁上的關閉按鈕後,會先要求確認再關閉。" + "value": "開啟終端機標籤頁、分割或工作區時顯示 TextBox。" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "点按标签页上的关闭按钮后,会先要求确认再关闭。" + "value": "打开终端标签页、分屏或工作区时显示 TextBox。" } }, "ko": { "stringUnit": { "state": "translated", - "value": "탭의 닫기 버튼을 클릭하면 탭을 닫기 전에 확인을 요청합니다." + "value": "터미널 탭, 분할 또는 작업 공간을 열면 TextBox가 표시됩니다." } }, "ja": { "stringUnit": { "state": "translated", - "value": "タブの閉じるボタンをクリックしたとき、閉じる前に確認します。" + "value": "ターミナルタブ、分割、またはワークスペースを開くと、TextBox が表示されます。" } } } }, - "settings.app.warnBeforeQuit.subtitle": { + "settings.app.equalizeSplitsOnCreate.subtitle": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Choose when quitting with Command-Q asks for confirmation. Dirty Only asks only when a workspace would ask before closing." + "value": "Splitting a pane makes the panes in that direction equal in size." } }, "de": { "stringUnit": { "state": "translated", - "value": "Wählen Sie, wann beim Beenden mit Befehlstaste-Q nach einer Bestätigung gefragt wird. „Nur bei Bedarf“ fragt nur, wenn ein Arbeitsbereich vor dem Schließen nachfragen würde." + "value": "Wird ein Teilfenster geteilt, werden alle Teilfenster in dieser Richtung gleich groß." } }, "fr": { "stringUnit": { "state": "translated", - "value": "Choisissez quand une confirmation est demandée pour quitter avec Commande + Q. « Si nécessaire » ne la demande que si un espace de travail la demanderait avant sa fermeture." + "value": "Lorsqu’un volet est divisé, les volets dans cette direction prennent la même taille." } }, "ar": { "stringUnit": { "state": "translated", - "value": "اختر متى يُطلب التأكيد عند الإنهاء باستخدام Command-Q. يطلب خيار «عند الحاجة فقط» التأكيد فقط عندما تطلبه مساحة عمل قبل إغلاقها." + "value": "عند تقسيم جزء، تصبح الأجزاء في ذلك الاتجاه متساوية الحجم." } }, "es": { "stringUnit": { "state": "translated", - "value": "Elige cuándo se pide confirmación al salir con Comando + Q. «Solo si hace falta» solo la pide cuando un espacio de trabajo la pediría antes de cerrarse." + "value": "Al dividir un panel, los paneles en esa dirección se ajustan al mismo tamaño." } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "選擇按 Command + Q 結束時,在什麼情況下要求確認。「僅在需要時」只會在某個工作區關閉前需要確認時才詢問。" + "value": "分割窗格時,同一方向的窗格會調整為相同大小。" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "选择按 Command + Q 退出时,在什么情况下要求确认。“仅在需要时”只会在某个工作区关闭前需要确认时才询问。" + "value": "拆分窗格时,同一方向的窗格会调整为相同大小。" } }, "ko": { "stringUnit": { "state": "translated", - "value": "Command-Q로 종료할 때 확인을 요청할 조건을 선택합니다. ‘필요 시에만’은 닫기 전에 확인이 필요한 작업 공간이 있을 때만 확인을 요청합니다." + "value": "창을 분할하면 같은 방향의 분할 창이 모두 같은 크기가 됩니다." } }, "ja": { "stringUnit": { "state": "translated", - "value": "Command + Q で終了するときに、どのような場合に確認するかを選択します。「必要時のみ」では、閉じる前に確認が必要なワークスペースがある場合だけ確認します。" + "value": "ペインを分割すると、その方向のペインが同じサイズになります。" } } } }, - "settings.app.workspaceInheritWorkingDirectory.subtitle": { + "settings.terminal.showPasswordInputIndicator.subtitle": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Starts new workspaces in the working directory of the current workspace." + "value": "Shows a lock badge in the terminal corner while a program such as sudo or ssh reads a password with echo off. Only local prompts are detected: ssh's own password prompt counts, but sudo inside an ssh session does not." } }, "de": { "stringUnit": { "state": "translated", - "value": "Startet neue Arbeitsbereiche im Arbeitsverzeichnis des aktuellen Arbeitsbereichs." + "value": "Zeigt in der Terminalecke ein Schloss-Symbol an, während ein Programm wie sudo oder ssh ein Passwort ohne Echo einliest. Nur lokale Abfragen werden erkannt: Die Passwortabfrage von ssh selbst zählt, sudo innerhalb einer ssh-Sitzung nicht." } }, "fr": { "stringUnit": { "state": "translated", - "value": "Ouvre les nouveaux espaces de travail dans le répertoire de travail de l’espace de travail actuel." + "value": "Affiche un badge de cadenas dans le coin du terminal pendant qu'un programme comme sudo ou ssh lit un mot de passe sans écho. Seules les invites locales sont détectées : l'invite de mot de passe de ssh compte, mais pas sudo dans une session ssh." } }, "ar": { "stringUnit": { "state": "translated", - "value": "يبدأ مساحات العمل الجديدة في دليل العمل الخاص بمساحة العمل الحالية." + "value": "يعرض شارة قفل في زاوية الطرفية أثناء قراءة برنامج مثل sudo أو ssh لكلمة مرور مع إيقاف الصدى. تُكتشف المطالبات المحلية فقط: تُحتسب مطالبة كلمة مرور ssh نفسها، أما sudo داخل جلسة ssh فلا." } }, "es": { "stringUnit": { "state": "translated", - "value": "Inicia los nuevos espacios de trabajo en el directorio de trabajo del espacio de trabajo actual." + "value": "Muestra una insignia de candado en la esquina del terminal mientras un programa como sudo o ssh lee una contraseña sin eco. Solo se detectan las solicitudes locales: la solicitud de contraseña de ssh cuenta, pero sudo dentro de una sesión ssh no." } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "新工作區會沿用目前工作區的工作目錄。" + "value": "當 sudo 或 ssh 等程式在關閉回顯的情況下讀取密碼時,在終端機角落顯示鎖頭標記。僅偵測本機提示:ssh 本身的密碼提示會被偵測,但 ssh 工作階段中的 sudo 不會。" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "新工作区会沿用当前工作区的工作目录。" + "value": "当 sudo 或 ssh 等程序在关闭回显的情况下读取密码时,在终端角落显示锁形标记。仅检测本地提示:ssh 自身的密码提示会被检测,但 ssh 会话中的 sudo 不会。" } }, "ko": { "stringUnit": { "state": "translated", - "value": "새 작업 공간은 현재 작업 공간의 작업 디렉터리에서 시작됩니다." + "value": "sudo나 ssh 같은 프로그램이 에코를 끈 상태로 비밀번호를 읽는 동안 터미널 모서리에 자물쇠 배지를 표시합니다. 로컬 프롬프트만 감지됩니다. ssh 자체의 비밀번호 프롬프트는 포함되지만 ssh 세션 안의 sudo는 포함되지 않습니다." } }, "ja": { "stringUnit": { "state": "translated", - "value": "新しいワークスペースは、現在のワークスペースと同じ作業ディレクトリで開始します。" + "value": "sudo や ssh などのプログラムがエコーをオフにしてパスワードを読み取っている間、ターミナルの隅に鍵のバッジを表示します。検出されるのはローカルのプロンプトだけです。ssh 自体のパスワード入力は対象ですが、ssh セッション内の sudo は対象外です。" } } } }, - "settings.app.wrapWorkspaceTitles.subtitle": { + "settings.terminal.showPasswordInputDots.subtitle": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Shows long workspace titles in full on multiple lines." + "value": "Shows one dot in the badge per typed character. cmux keeps only a count, never the characters. Pasted text is not counted." } }, "de": { "stringUnit": { "state": "translated", - "value": "Zeigt lange Arbeitsbereichstitel vollständig in mehreren Zeilen an." + "value": "Zeigt im Symbol einen Punkt pro eingegebenem Zeichen. cmux speichert nur die Anzahl, niemals die Zeichen. Eingefügter Text wird nicht gezählt." } }, "fr": { "stringUnit": { "state": "translated", - "value": "Affiche en entier les titres longs des espaces de travail sur plusieurs lignes." + "value": "Affiche dans le badge un point par caractère saisi. cmux ne conserve qu'un compteur, jamais les caractères. Le texte collé n'est pas compté." } }, "ar": { "stringUnit": { "state": "translated", - "value": "يعرض عناوين مساحات العمل الطويلة كاملةً على عدة أسطر." + "value": "يعرض في الشارة نقطة واحدة لكل حرف مكتوب. يحتفظ cmux بالعدد فقط، ولا يحتفظ بالأحرف أبدًا. لا يُحتسب النص الملصق." } }, "es": { "stringUnit": { "state": "translated", - "value": "Muestra completos los títulos largos de los espacios de trabajo en varias líneas." + "value": "Muestra en la insignia un punto por cada carácter escrito. cmux solo guarda un recuento, nunca los caracteres. El texto pegado no se cuenta." } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "較長的工作區標題會換行完整顯示。" + "value": "在標記中為每個已輸入的字元顯示一個圓點。cmux 只保留數量,絕不保留字元本身。貼上的文字不計入。" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "较长的工作区标题会换行完整显示。" + "value": "在标记中为每个已输入的字符显示一个圆点。cmux 只保留数量,绝不保留字符本身。粘贴的文本不计入。" } }, "ko": { "stringUnit": { "state": "translated", - "value": "긴 워크스페이스 제목을 줄바꿈하여 모두 표시합니다." + "value": "배지에 입력한 문자마다 점을 하나씩 표시합니다. cmux는 개수만 유지하며 문자는 절대 보관하지 않습니다. 붙여넣은 텍스트는 세지 않습니다." } }, "ja": { "stringUnit": { "state": "translated", - "value": "長いワークスペースタイトルを省略せずに複数行で表示します。" + "value": "入力した文字ごとにバッジにドットを 1 つ表示します。cmux が保持するのは数だけで、文字そのものは保持しません。貼り付けたテキストは数えません。" } } } }, - "settings.automation.amp.subtitle": { + "cli.session.usage": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Shows Amp status and notifications in the sidebar." + "value": "Usage: cmux session move --to [options]\n\nMove a stopped Claude Code session to another machine and resume it there.\nExit the agent first: the move refuses while the session runs on either side.\n\nThe move carries:\n - the cwd's git checkout: HEAD (on the same branch when safe) plus modified,\n deleted and untracked non-ignored files; a worktree is added when the\n repository exists on the destination but the path does not\n - the transcript, its session directory, file history, and the project\n memory directory (merged both ways, newest wins, nothing deleted)\n\nIt then opens a workspace on the destination (`cmux ssh` for a host, a local\nworkspace for `local`) that resumes the session with its recorded launcher.\nWhen the destination home is not at the same absolute path, paths under the\nhome are mapped and the project is re-slugged.\n\nOptions:\n --to SSH destination (user@host or ssh_config alias), or local\n --from Where the session is now (default: where the last move put it, else local)\n --name Workspace title (default: the first 8 characters of the id)\n --no-code Do not carry the git checkout\n --port <n> SSH port\n --identity <path> SSH identity file\n --ssh-option <opt> Extra SSH -o option (repeatable)\n --no-focus Open the workspace without switching to it\n\nExamples:\n cmux session move 0b7a1e7c-3f0a-4c6e-9d59-8a0d8f7c2b11 --to dev@my-host\n cmux session move 0b7a1e7c-3f0a-4c6e-9d59-8a0d8f7c2b11 --to local" } }, "de": { "stringUnit": { "state": "translated", - "value": "Zeigt den Status und die Benachrichtigungen von Amp in der Seitenleiste an." + "value": "Verwendung: cmux session move <session-id> --to <ssh-destination|local> [options]\n\nVerschiebt eine beendete Claude Code-Sitzung auf eine andere Maschine und setzt sie dort fort.\nBeende zuerst den Agenten: Die Verschiebung wird abgelehnt, solange die Sitzung auf einer Seite läuft.\n\nDie Verschiebung überträgt:\n - den git-Checkout des cwd: HEAD (auf demselben Branch, wenn das sicher ist) sowie geänderte,\n gelöschte und nicht ignorierte, nicht verfolgte Dateien; ein Worktree wird hinzugefügt, wenn\n das Repository am Ziel existiert, der Pfad aber nicht\n - das Transkript, sein Sitzungsverzeichnis, den Dateiverlauf und das Projektgedächtnis\n (in beide Richtungen zusammengeführt, das Neueste gewinnt, nichts wird gelöscht)\n\nDanach öffnet sie am Ziel einen Workspace (`cmux ssh` für einen Host, einen lokalen Workspace\nfür `local`), der die Sitzung mit ihrem aufgezeichneten Launcher fortsetzt. Liegt das Home-\nVerzeichnis am Ziel nicht unter demselben absoluten Pfad, werden Pfade darunter umgeschrieben\nund das Projekt erhält einen neuen Slug.\n\nOptionen:\n --to <destination> SSH-Ziel (user@host oder ssh_config-Alias) oder local\n --from <destination> Wo die Sitzung jetzt ist (Standard: wohin die letzte Verschiebung sie gebracht hat, sonst local)\n --name <title> Workspace-Titel (Standard: die ersten 8 Zeichen der ID)\n --no-code Den git-Checkout nicht übertragen\n --port <n> SSH-Port\n --identity <path> SSH-Identitätsdatei\n --ssh-option <opt> Zusätzliche SSH-Option -o (wiederholbar)\n --no-focus Workspace öffnen, ohne dorthin zu wechseln\n\nBeispiele:\n cmux session move 0b7a1e7c-3f0a-4c6e-9d59-8a0d8f7c2b11 --to dev@my-host\n cmux session move 0b7a1e7c-3f0a-4c6e-9d59-8a0d8f7c2b11 --to local" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Affiche l’état et les notifications d’Amp dans la barre latérale." + "value": "Utilisation: cmux session move <session-id> --to <ssh-destination|local> [options]\n\nDéplace une session Claude Code arrêtée vers une autre machine et la reprend là-bas.\nQuittez d'abord l'agent : le déplacement est refusé tant que la session s'exécute d'un côté ou de l'autre.\n\nLe déplacement transfère :\n - le checkout git du cwd : HEAD (sur la même branche quand c'est sûr) ainsi que les fichiers\n modifiés, supprimés et non suivis non ignorés ; un worktree est ajouté quand le dépôt existe\n sur la destination mais pas le chemin\n - la transcription, son répertoire de session, l'historique des fichiers et la mémoire du\n projet (fusionnée dans les deux sens, le plus récent l'emporte, rien n'est supprimé)\n\nIl ouvre ensuite un espace de travail sur la destination (`cmux ssh` pour un hôte, un espace\nlocal pour `local`) qui reprend la session avec son lanceur enregistré. Quand le dossier\npersonnel de destination n'a pas le même chemin absolu, les chemins qu'il contient sont\nconvertis et le projet reçoit un nouveau slug.\n\nOptions :\n --to <destination> Destination SSH (user@host ou alias ssh_config), ou local\n --from <destination> Où se trouve la session (par défaut : là où l'a mise le dernier déplacement, sinon local)\n --name <title> Titre de l'espace de travail (par défaut : les 8 premiers caractères de l'id)\n --no-code Ne pas transférer le checkout git\n --port <n> Port SSH\n --identity <path> Fichier d'identité SSH\n --ssh-option <opt> Option SSH -o supplémentaire (répétable)\n --no-focus Ouvrir l'espace de travail sans y basculer\n\nExemples :\n cmux session move 0b7a1e7c-3f0a-4c6e-9d59-8a0d8f7c2b11 --to dev@my-host\n cmux session move 0b7a1e7c-3f0a-4c6e-9d59-8a0d8f7c2b11 --to local" } }, "ar": { "stringUnit": { "state": "translated", - "value": "يعرض حالة Amp وإشعاراته في الشريط الجانبي." + "value": "الاستخدام: cmux session move <session-id> --to <ssh-destination|local> [options]\n\nينقل جلسة Claude Code متوقفة إلى جهاز آخر ويستأنفها هناك.\nأغلق الوكيل أولًا: يُرفض النقل ما دامت الجلسة تعمل على أي من الجانبين.\n\nينقل الأمر:\n - checkout الخاص بـ git في cwd: HEAD (على الفرع نفسه عندما يكون ذلك آمنًا) والملفات المعدّلة\n والمحذوفة وغير المتتبعة وغير المتجاهلة؛ ويُضاف worktree عندما يوجد المستودع في الوجهة\n ولا يوجد المسار\n - نص الجلسة ودليل الجلسة وسجل الملفات ودليل ذاكرة المشروع\n (مدمج في الاتجاهين، الأحدث يفوز، ولا يُحذف شيء)\n\nثم يفتح مساحة عمل في الوجهة (`cmux ssh` لمضيف، أو مساحة عمل محلية لـ `local`)\nتستأنف الجلسة بالمشغّل المسجّل لها. عندما لا يكون المجلد الرئيسي في الوجهة\nعلى المسار المطلق نفسه، تُحوَّل المسارات داخله\nويُعاد إنشاء slug للمشروع.\n\nالخيارات:\n --to <destination> وجهة SSH (user@host أو اسم مستعار من ssh_config)، أو local\n --from <destination> مكان الجلسة الآن (الافتراضي: حيث وضعها آخر نقل، وإلا local)\n --name <title> عنوان مساحة العمل (الافتراضي: أول 8 أحرف من المعرّف)\n --no-code لا تنقل checkout الخاص بـ git\n --port <n> منفذ SSH\n --identity <path> ملف هوية SSH\n --ssh-option <opt> خيار SSH إضافي -o (قابل للتكرار)\n --no-focus افتح مساحة العمل دون التبديل إليها\n\nأمثلة:\n cmux session move 0b7a1e7c-3f0a-4c6e-9d59-8a0d8f7c2b11 --to dev@my-host\n cmux session move 0b7a1e7c-3f0a-4c6e-9d59-8a0d8f7c2b11 --to local" } }, "es": { "stringUnit": { "state": "translated", - "value": "Muestra el estado y las notificaciones de Amp en la barra lateral." + "value": "Uso: cmux session move <session-id> --to <ssh-destination|local> [options]\n\nMueve una sesión detenida de Claude Code a otra máquina y la reanuda allí.\nSal primero del agente: el movimiento se rechaza mientras la sesión se ejecute en cualquiera de los lados.\n\nEl movimiento lleva:\n - el checkout de git del cwd: HEAD (en la misma rama cuando es seguro) más los archivos\n modificados, eliminados y sin seguimiento no ignorados; se añade un worktree cuando el\n repositorio existe en el destino pero la ruta no\n - la transcripción, su directorio de sesión, el historial de archivos y la memoria del\n proyecto (combinada en ambos sentidos, gana la más reciente, no se borra nada)\n\nDespués abre un espacio de trabajo en el destino (`cmux ssh` para un host, uno local para\n`local`) que reanuda la sesión con su lanzador registrado. Cuando el home del destino no está\nen la misma ruta absoluta, las rutas bajo él se convierten\ny el proyecto recibe un nuevo slug.\n\nOpciones:\n --to <destination> Destino SSH (user@host o alias de ssh_config), o local\n --from <destination> Dónde está la sesión ahora (por defecto: donde la dejó el último movimiento, si no local)\n --name <title> Título del espacio de trabajo (por defecto: los primeros 8 caracteres del id)\n --no-code No llevar el checkout de git\n --port <n> Puerto SSH\n --identity <path> Archivo de identidad SSH\n --ssh-option <opt> Opción SSH -o adicional (repetible)\n --no-focus Abrir el espacio de trabajo sin cambiar a él\n\nEjemplos:\n cmux session move 0b7a1e7c-3f0a-4c6e-9d59-8a0d8f7c2b11 --to dev@my-host\n cmux session move 0b7a1e7c-3f0a-4c6e-9d59-8a0d8f7c2b11 --to local" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "在側邊欄中顯示 Amp 的狀態與通知。" + "value": "用法: cmux session move <session-id> --to <ssh-destination|local> [options]\n\n將已停止的 Claude Code 工作階段移到另一台機器並在那裡恢復。\n請先結束代理:只要工作階段仍在任一端執行,移動就會被拒絕。\n\n移動會帶上:\n - cwd 的 git checkout:HEAD(安全時使用同一分支)加上已修改、已刪除\n 和未追蹤且未忽略的檔案;若目的地有儲存庫\n 但沒有該路徑,會新增 worktree\n - 對話紀錄、其工作階段目錄、檔案歷史與專案記憶目錄\n (雙向合併,較新者優先,不刪除任何內容)\n\n接著在目的地開啟工作區(主機用 `cmux ssh`,`local` 則開本機工作區),\n以記錄的啟動器恢復工作階段。\n若目的地的主目錄不在相同的絕對路徑,其下的路徑會被對應,\n專案也會重新產生 slug。\n\n選項:\n --to <destination> SSH 目的地(user@host 或 ssh_config 別名),或 local\n --from <destination> 工作階段目前所在位置(預設:上次移動所放的位置,否則為 local)\n --name <title> 工作區標題(預設:ID 的前 8 個字元)\n --no-code 不帶上 git checkout\n --port <n> SSH 連接埠\n --identity <path> SSH 身分檔案\n --ssh-option <opt> 額外的 SSH -o 選項(可重複)\n --no-focus 開啟工作區但不切換過去\n\n範例:\n cmux session move 0b7a1e7c-3f0a-4c6e-9d59-8a0d8f7c2b11 --to dev@my-host\n cmux session move 0b7a1e7c-3f0a-4c6e-9d59-8a0d8f7c2b11 --to local" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "在侧边栏中显示 Amp 的状态和通知。" + "value": "用法: cmux session move <session-id> --to <ssh-destination|local> [options]\n\n将已停止的 Claude Code 会话移到另一台机器并在那里恢复。\n请先退出代理:只要会话仍在任一端运行,移动就会被拒绝。\n\n移动会带上:\n - cwd 的 git 检出:HEAD(安全时使用同一分支)以及已修改、已删除\n 和未跟踪且未忽略的文件;若目标上有仓库\n 但没有该路径,会添加 worktree\n - 会话记录、其会话目录、文件历史和项目记忆目录\n (双向合并,较新者优先,不删除任何内容)\n\n随后在目标上打开工作区(主机用 `cmux ssh`,`local` 则打开本地工作区),\n用记录的启动器恢复会话。\n若目标的主目录不在相同的绝对路径,其下的路径会被映射,\n项目也会重新生成 slug。\n\n选项:\n --to <destination> SSH 目标(user@host 或 ssh_config 别名),或 local\n --from <destination> 会话当前所在位置(默认:上次移动放置的位置,否则为 local)\n --name <title> 工作区标题(默认:ID 的前 8 个字符)\n --no-code 不带上 git 检出\n --port <n> SSH 端口\n --identity <path> SSH 身份文件\n --ssh-option <opt> 额外的 SSH -o 选项(可重复)\n --no-focus 打开工作区但不切换过去\n\n示例:\n cmux session move 0b7a1e7c-3f0a-4c6e-9d59-8a0d8f7c2b11 --to dev@my-host\n cmux session move 0b7a1e7c-3f0a-4c6e-9d59-8a0d8f7c2b11 --to local" } }, "ko": { "stringUnit": { "state": "translated", - "value": "사이드바에 Amp 상태와 알림을 표시합니다." + "value": "사용법: cmux session move <session-id> --to <ssh-destination|local> [options]\n\n중지된 Claude Code 세션을 다른 머신으로 옮기고 그곳에서 재개합니다.\n먼저 에이전트를 종료하세요. 어느 쪽에서든 세션이 실행 중이면 이동이 거부됩니다.\n\n이동하는 항목:\n - cwd의 git 체크아웃: HEAD(안전하면 같은 브랜치)와 수정, 삭제,\n 무시되지 않은 추적 안 된 파일. 대상에 저장소는 있지만\n 경로가 없으면 worktree를 추가합니다\n - 트랜스크립트, 세션 디렉터리, 파일 기록, 프로젝트 메모리 디렉터리\n (양방향 병합, 최신 우선, 삭제 없음)\n\n그런 다음 대상에서 작업 공간(호스트는 `cmux ssh`, `local`은 로컬 작업 공간)을 열고\n기록된 런처로 세션을 재개합니다.\n대상의 홈이 같은 절대 경로에 있지 않으면 홈 아래 경로를 변환하고\n프로젝트 slug를 다시 만듭니다.\n\n옵션:\n --to <destination> SSH 대상(user@host 또는 ssh_config 별칭) 또는 local\n --from <destination> 세션의 현재 위치(기본값: 마지막 이동으로 옮긴 곳, 없으면 local)\n --name <title> 작업 공간 제목(기본값: ID의 처음 8자)\n --no-code git 체크아웃을 옮기지 않음\n --port <n> SSH 포트\n --identity <path> SSH ID 파일\n --ssh-option <opt> 추가 SSH -o 옵션(반복 가능)\n --no-focus 작업 공간으로 전환하지 않고 열기\n\n예시:\n cmux session move 0b7a1e7c-3f0a-4c6e-9d59-8a0d8f7c2b11 --to dev@my-host\n cmux session move 0b7a1e7c-3f0a-4c6e-9d59-8a0d8f7c2b11 --to local" } }, "ja": { "stringUnit": { "state": "translated", - "value": "サイドバーにAmpのステータスと通知を表示します。" + "value": "使用方法: cmux session move <session-id> --to <ssh-destination|local> [options]\n\n停止した Claude Code セッションを別のマシンへ移動し、そこで再開します。\n先にエージェントを終了してください。どちらかでセッションが実行中の間は移動を拒否します。\n\n移動する内容:\n - cwd の git チェックアウト: HEAD (安全なら同じブランチ) と、変更・削除されたファイル、\n 無視されていない未追跡ファイル。移動先にリポジトリはあるが\n パスがない場合は worktree を追加します\n - トランスクリプト、セッションディレクトリ、ファイル履歴、プロジェクトのメモリディレクトリ\n (双方向にマージ、新しいほうを優先、削除はしません)\n\nその後、移動先でワークスペース (ホストなら `cmux ssh`、`local` ならローカルのワークスペース) を\n開き、記録されたランチャーでセッションを再開します。\n移動先のホームが同じ絶対パスにない場合は、ホーム配下のパスを変換し、\nプロジェクトの slug を作り直します。\n\nオプション:\n --to <destination> SSH 接続先 (user@host または ssh_config のエイリアス)、または local\n --from <destination> セッションの現在の場所 (既定: 前回の移動先、なければ local)\n --name <title> ワークスペースのタイトル (既定: ID の先頭 8 文字)\n --no-code git チェックアウトを移動しない\n --port <n> SSH ポート\n --identity <path> SSH の ID ファイル\n --ssh-option <opt> 追加の SSH -o オプション (繰り返し可)\n --no-focus ワークスペースに切り替えずに開く\n\n例:\n cmux session move 0b7a1e7c-3f0a-4c6e-9d59-8a0d8f7c2b11 --to dev@my-host\n cmux session move 0b7a1e7c-3f0a-4c6e-9d59-8a0d8f7c2b11 --to local" } } } }, - "settings.automation.autoNamingAgent.subtitle": { + "settings.notifications.sound.preview": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Automatic uses each session's own agent. Other supported agents need their command-line tool on the PATH." + "value": "Preview Sound" } }, "de": { "stringUnit": { "state": "translated", - "value": "„Automatisch“ verwendet den Agenten der jeweiligen Sitzung. Andere unterstützte Agenten benötigen ihr Befehlszeilentool im PATH." + "value": "Ton anhören" } }, "fr": { "stringUnit": { "state": "translated", - "value": "« Automatique » utilise l’agent propre à chaque session. Les autres agents pris en charge nécessitent que leur outil en ligne de commande soit dans le PATH." + "value": "Écouter le son" } }, "ar": { "stringUnit": { "state": "translated", - "value": "يستخدم خيار «تلقائي» الوكيل الخاص بكل جلسة. يحتاج الوكلاء المدعومون الآخرون إلى وجود أداة سطر الأوامر الخاصة بهم في PATH." + "value": "معاينة الصوت" } }, "es": { "stringUnit": { "state": "translated", - "value": "«Automático» usa el agente de cada sesión. Los demás agentes compatibles necesitan su herramienta de línea de comandos en el PATH." + "value": "Escuchar sonido" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "「自動」會使用各工作階段本身的代理。若要使用其他支援的代理,其命令列工具必須位於 PATH 中。" + "value": "試聽音效" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "“自动”会使用各会话自身的代理。要使用其他受支持的代理,其命令行工具必须位于 PATH 中。" + "value": "试听声音" } }, "ko": { "stringUnit": { "state": "translated", - "value": "‘자동’은 세션마다 해당 세션의 에이전트를 사용합니다. 지원되는 다른 에이전트를 사용하려면 해당 명령줄 도구가 PATH에 있어야 합니다." + "value": "소리 미리 듣기" } }, "ja": { "stringUnit": { "state": "translated", - "value": "「自動」では、各セッションのエージェントを使用します。ほかの対応エージェントを使うには、そのコマンドラインツールが PATH に含まれている必要があります。" + "value": "サウンドをプレビュー" } } } }, - "settings.automation.claudeCode.subtitle": { + "cli.session.error.unknownSubcommand": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Shows Claude Code status and notifications in the sidebar." + "value": "Unknown session subcommand: %@. Usage: cmux session move <session-id> --to <ssh-destination|local>" } }, - "de": { + "ar": { "stringUnit": { "state": "translated", - "value": "Zeigt den Status und die Benachrichtigungen von Claude Code in der Seitenleiste an." + "value": "أمر session فرعي غير معروف: %@. الاستخدام: cmux session move <session-id> --to <ssh-destination|local>" } }, - "fr": { + "de": { "stringUnit": { "state": "translated", - "value": "Affiche l’état et les notifications de Claude Code dans la barre latérale." + "value": "Unbekannter session-Unterbefehl: %@. Verwendung: cmux session move <session-id> --to <ssh-destination|local>" } }, - "ar": { + "es": { "stringUnit": { "state": "translated", - "value": "يعرض حالة Claude Code وإشعاراته في الشريط الجانبي." + "value": "Subcomando de session desconocido: %@. Uso: cmux session move <session-id> --to <ssh-destination|local>" } }, - "es": { + "fr": { "stringUnit": { "state": "translated", - "value": "Muestra el estado y las notificaciones de Claude Code en la barra lateral." + "value": "Sous-commande session inconnue : %@. Utilisation : cmux session move <session-id> --to <ssh-destination|local>" } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "在側邊欄中顯示 Claude Code 的狀態與通知。" + "value": "不明な session サブコマンド: %@。使用方法: cmux session move <session-id> --to <ssh-destination|local>" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "在侧边栏中显示 Claude Code 的状态和通知。" + "value": "알 수 없는 session 하위 명령: %@. 사용법: cmux session move <session-id> --to <ssh-destination|local>" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "사이드바에 Claude Code 상태와 알림을 표시합니다." + "value": "未知的 session 子命令:%@。用法:cmux session move <session-id> --to <ssh-destination|local>" } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "サイドバーにClaude Codeのステータスと通知を表示します。" + "value": "未知的 session 子命令:%@。用法:cmux session move <session-id> --to <ssh-destination|local>" } } } }, - "settings.automation.codex.subtitle": { + "cli.session.move.error.branchDiverged": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Shows Codex status and notifications in the sidebar." + "value": "session move: branch %@ on the destination has commits the session's HEAD does not contain" } }, - "de": { + "ar": { "stringUnit": { "state": "translated", - "value": "Zeigt den Status und die Benachrichtigungen von Codex in der Seitenleiste an." + "value": "session move: الفرع %@ في الوجهة يحتوي على commits غير موجودة في HEAD الخاص بالجلسة" } }, - "fr": { + "de": { "stringUnit": { "state": "translated", - "value": "Affiche l’état et les notifications de Codex dans la barre latérale." + "value": "session move: Der Branch %@ am Ziel enthält Commits, die im HEAD der Sitzung fehlen" } }, - "ar": { + "es": { "stringUnit": { "state": "translated", - "value": "يعرض حالة Codex وإشعاراته في الشريط الجانبي." + "value": "session move: la rama %@ en el destino tiene commits que el HEAD de la sesión no contiene" } }, - "es": { + "fr": { "stringUnit": { "state": "translated", - "value": "Muestra el estado y las notificaciones de Codex en la barra lateral." + "value": "session move : la branche %@ sur la destination contient des commits absents du HEAD de la session" } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "在側邊欄中顯示 Codex 的狀態與通知。" + "value": "session move: 移動先のブランチ %@ にセッションの HEAD に含まれないコミットがあります" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "在侧边栏中显示 Codex 的状态和通知。" + "value": "session move: 대상의 %@ 브랜치에 세션 HEAD에 없는 커밋이 있습니다" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "사이드바에 Codex 상태와 알림을 표시합니다." + "value": "session move:目标上的分支 %@ 包含会话 HEAD 中没有的提交" } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "サイドバーにCodexのステータスと通知を表示します。" + "value": "session move:目的地的分支 %@ 含有此工作階段 HEAD 沒有的 commit" } } } }, - "settings.automation.cursor.subtitle": { + "cli.session.move.error.checkoutDirty": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Shows Cursor status and notifications in the sidebar." + "value": "session move: %@ on the destination has changes that did not come from this session; commit or stash them there first" } }, - "de": { + "ar": { "stringUnit": { "state": "translated", - "value": "Zeigt den Status und die Benachrichtigungen von Cursor in der Seitenleiste an." + "value": "session move: يحتوي %@ في الوجهة على تغييرات لم تأتِ من هذه الجلسة؛ نفّذ commit لها أو stash هناك أولًا" } }, - "fr": { + "de": { "stringUnit": { "state": "translated", - "value": "Affiche l’état et les notifications de Cursor dans la barre latérale." + "value": "session move: %@ am Ziel hat Änderungen, die nicht aus dieser Sitzung stammen; committe oder stashe sie dort zuerst" } }, - "ar": { + "es": { "stringUnit": { "state": "translated", - "value": "يعرض حالة Cursor وإشعاراته في الشريط الجانبي." + "value": "session move: %@ en el destino tiene cambios que no provienen de esta sesión; haz commit o stash allí primero" } }, - "es": { + "fr": { "stringUnit": { "state": "translated", - "value": "Muestra el estado y las notificaciones de Cursor en la barra lateral." + "value": "session move : %@ sur la destination contient des modifications qui ne viennent pas de cette session ; validez-les ou mettez-les de côté (stash) d'abord" } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "在側邊欄中顯示 Cursor 的狀態與通知。" + "value": "session move: 移動先の %@ にこのセッション由来ではない変更があります。先にそこでコミットまたは stash してください" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "在侧边栏中显示 Cursor 的状态和通知。" + "value": "session move: 대상의 %@에 이 세션에서 오지 않은 변경 사항이 있습니다. 먼저 그곳에서 커밋하거나 stash하세요" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "사이드바에 Cursor 상태와 알림을 표시합니다." + "value": "session move:目标上的 %@ 有并非来自此会话的更改;请先在那里提交或 stash" } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "サイドバーにCursorのステータスと通知を表示します。" + "value": "session move:目的地的 %@ 有不是來自此工作階段的變更;請先在那裡 commit 或 stash" } } } }, - "settings.automation.gemini.subtitle": { + "cli.session.move.error.copyFailed": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Shows Gemini CLI status and notifications in the sidebar." + "value": "session move: copying %@ failed: %@" } }, - "de": { + "ar": { "stringUnit": { "state": "translated", - "value": "Zeigt den Status und die Benachrichtigungen von Gemini CLI in der Seitenleiste an." + "value": "session move: فشل نسخ %1$@: %2$@" } }, - "fr": { + "de": { "stringUnit": { "state": "translated", - "value": "Affiche l’état et les notifications de Gemini CLI dans la barre latérale." + "value": "session move: Kopieren von %1$@ fehlgeschlagen: %2$@" } }, - "ar": { + "es": { "stringUnit": { "state": "translated", - "value": "يعرض حالة Gemini CLI وإشعاراته في الشريط الجانبي." + "value": "session move: no se pudo copiar %1$@: %2$@" } }, - "es": { + "fr": { "stringUnit": { "state": "translated", - "value": "Muestra el estado y las notificaciones de Gemini CLI en la barra lateral." + "value": "session move : échec de la copie de %1$@ : %2$@" } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "在側邊欄中顯示 Gemini CLI 的狀態與通知。" + "value": "session move: %1$@ のコピーに失敗しました: %2$@" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "在侧边栏中显示 Gemini CLI 的状态和通知。" + "value": "session move: %1$@ 복사 실패: %2$@" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "사이드바에 Gemini CLI 상태와 알림을 표시합니다." + "value": "session move:复制 %1$@ 失败:%2$@" } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "サイドバーにGemini CLIのステータスと通知を表示します。" + "value": "session move:複製 %1$@ 失敗:%2$@" } } } }, - "settings.automation.kiro.subtitle": { + "cli.session.move.error.cwdMissing": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Shows Kiro CLI status and notifications in the sidebar, and its tool events in Feed." + "value": "session move: %@ does not exist on the destination" } }, - "de": { + "ar": { "stringUnit": { "state": "translated", - "value": "Zeigt den Status und die Benachrichtigungen von Kiro CLI in der Seitenleiste und seine Tool-Ereignisse im Feed an." + "value": "session move: %@ غير موجود في الوجهة" } }, - "fr": { + "de": { "stringUnit": { "state": "translated", - "value": "Affiche l’état et les notifications de Kiro CLI dans la barre latérale, et ses événements d’outils dans le Flux." + "value": "session move: %@ existiert am Ziel nicht" } }, - "ar": { + "es": { "stringUnit": { "state": "translated", - "value": "يعرض حالة Kiro CLI وإشعاراته في الشريط الجانبي، وأحداث أدواته في Feed." + "value": "session move: %@ no existe en el destino" } }, - "es": { + "fr": { "stringUnit": { "state": "translated", - "value": "Muestra el estado y las notificaciones de Kiro CLI en la barra lateral, y sus eventos de herramientas en el Feed." + "value": "session move : %@ n'existe pas sur la destination" } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "在側邊欄中顯示 Kiro CLI 的狀態與通知,並在 Feed 中顯示其工具事件。" + "value": "session move: 移動先に %@ が存在しません" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "在侧边栏中显示 Kiro CLI 的状态和通知,并在 Feed 中显示其工具事件。" + "value": "session move: 대상에 %@이(가) 없습니다" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "사이드바에 Kiro CLI 상태와 알림을 표시하고, 피드에 해당 도구 이벤트를 표시합니다." + "value": "session move:目标上不存在 %@" } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "サイドバーにKiro CLIのステータスと通知を、フィードにそのツールイベントを表示します。" + "value": "session move:目的地上不存在 %@" } } } }, - "settings.automation.socketMode.subtitle": { + "cli.session.move.error.flagRequiresValue": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Choose which local processes can control cmux." + "value": "session move: %@ requires a value" } }, - "de": { + "ar": { "stringUnit": { "state": "translated", - "value": "Wählen Sie, welche lokalen Prozesse cmux steuern können." + "value": "session move: يتطلب %@ قيمة" } }, - "fr": { + "de": { "stringUnit": { "state": "translated", - "value": "Choisissez quels processus locaux peuvent contrôler cmux." + "value": "session move: %@ benötigt einen Wert" } }, - "ar": { + "es": { "stringUnit": { "state": "translated", - "value": "اختر العمليات المحلية التي يمكنها التحكم في cmux." + "value": "session move: %@ requiere un valor" } }, - "es": { + "fr": { "stringUnit": { "state": "translated", - "value": "Elige qué procesos locales pueden controlar cmux." + "value": "session move : %@ nécessite une valeur" } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "選擇哪些本機程序可以控制 cmux。" + "value": "session move: %@ には値が必要です" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "选择哪些本地进程可以控制 cmux。" + "value": "session move: %@에는 값이 필요합니다" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "cmux를 제어할 수 있는 로컬 프로세스를 선택합니다." + "value": "session move:%@ 需要一个值" } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "cmux を制御できるローカルプロセスを選択します。" + "value": "session move:%@ 需要一個值" } } } }, - "settings.automation.suppressSubagentNotifications.subtitle": { + "cli.session.move.error.gitFailed": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Lists subagent completions in Feed without sending notifications." + "value": "session move: git %@ failed: %@" } }, - "de": { + "ar": { "stringUnit": { "state": "translated", - "value": "Abgeschlossene Subagenten erscheinen im Feed, ohne dass Benachrichtigungen gesendet werden." + "value": "session move: فشل git %1$@: %2$@" } }, - "fr": { + "de": { "stringUnit": { "state": "translated", - "value": "Les sous-agents terminés apparaissent dans le Flux, sans notification." + "value": "session move: git %1$@ fehlgeschlagen: %2$@" } }, - "ar": { + "es": { "stringUnit": { "state": "translated", - "value": "يظهر اكتمال مهام الوكلاء الفرعيين في Feed دون إرسال إشعارات." + "value": "session move: falló git %1$@: %2$@" } }, - "es": { + "fr": { "stringUnit": { "state": "translated", - "value": "Los subagentes finalizados aparecen en el Feed sin enviar notificaciones." + "value": "session move : échec de git %1$@ : %2$@" } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "子代理完成時只會列在 Feed 中,不會傳送通知。" + "value": "session move: git %1$@ に失敗しました: %2$@" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "子代理完成时只会列在 Feed 中,不会发送通知。" + "value": "session move: git %1$@ 실패: %2$@" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "하위 에이전트가 완료되면 알림을 보내지 않고 피드에만 표시합니다." + "value": "session move:git %1$@ 失败:%2$@" } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "サブエージェントが完了しても通知は送らず、フィードにのみ表示します。" + "value": "session move:git %1$@ 失敗:%2$@" } } } }, - "settings.automation.workspaceAutoNaming.subtitle": { + "cli.session.move.error.invalidSessionID": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Generates workspace and tab titles from agent conversations." + "value": "session move: '%@' is not a session id" } }, - "de": { + "ar": { "stringUnit": { "state": "translated", - "value": "Benennt Arbeitsbereiche und Tabs anhand von Agentengesprächen." + "value": "session move: '%@' ليس معرّف جلسة" } }, - "fr": { + "de": { "stringUnit": { "state": "translated", - "value": "Nomme les espaces de travail et les onglets d’après les conversations des agents." + "value": "session move: „%@“ ist keine Sitzungs-ID" } }, - "ar": { + "es": { "stringUnit": { "state": "translated", - "value": "يسمّي مساحات العمل وعلامات التبويب بناءً على محادثات الوكلاء." + "value": "session move: '%@' no es un id de sesión" } }, - "es": { + "fr": { "stringUnit": { "state": "translated", - "value": "Pone nombre a los espacios de trabajo y las pestañas según las conversaciones de los agentes." + "value": "session move : '%@' n'est pas un identifiant de session" } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "根據代理對話產生工作區和標籤頁標題。" + "value": "session move: '%@' はセッション ID ではありません" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "根据代理对话生成工作区和标签页标题。" + "value": "session move: '%@'은(는) 세션 ID가 아닙니다" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "에이전트 대화를 바탕으로 작업 공간과 탭 제목을 생성합니다." + "value": "session move:'%@' 不是会话 ID" } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "エージェントの会話からワークスペースとタブのタイトルを生成します。" + "value": "session move:'%@' 不是工作階段 ID" } } } }, - "settings.betaFeatures.cloudMachines.subtitle": { + "cli.session.move.error.liveOnDestination": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Adds Cloud Machines to the right sidebar, Settings, the command palette, and the new workspace menu. Cloud Machines also require a remote rollout; with this off, the Cloud tunnel and fleet polling stay off." + "value": "session move: the session is already running on %@" } }, - "de": { + "ar": { "stringUnit": { "state": "translated", - "value": "Fügt Cloud-Maschinen zur rechten Seitenleiste, zu den Einstellungen, zur Befehlspalette und zum Menü für neue Arbeitsbereiche hinzu. Cloud-Maschinen erfordern außerdem ein Remote-Rollout; solange diese Option deaktiviert ist, bleiben Cloud-Tunnel und Flottenabfrage aus." + "value": "session move: الجلسة قيد التشغيل بالفعل على %@" } }, - "fr": { + "de": { "stringUnit": { "state": "translated", - "value": "Ajoute les machines cloud à la barre latérale droite, aux Réglages, à la palette de commandes et au menu de nouvel espace de travail. Les machines cloud nécessitent aussi un déploiement à distance ; si cette option est désactivée, le tunnel Cloud et l’interrogation de la flotte restent arrêtés." + "value": "session move: Die Sitzung läuft bereits auf %@" } }, - "ar": { + "es": { "stringUnit": { "state": "translated", - "value": "يضيف الأجهزة السحابية إلى الشريط الجانبي الأيمن والإعدادات ولوحة الأوامر وقائمة مساحة العمل الجديدة. وتتطلب الأجهزة السحابية أيضًا طرحًا عن بُعد؛ وعند إيقاف هذا الخيار يظل نفق Cloud واستطلاع الأسطول متوقفين." + "value": "session move: la sesión ya se está ejecutando en %@" } }, - "es": { + "fr": { "stringUnit": { "state": "translated", - "value": "Añade las máquinas en la nube a la barra lateral derecha, a Ajustes, a la paleta de comandos y al menú de nuevo espacio de trabajo. Las máquinas en la nube también requieren un despliegue remoto; con esta opción desactivada, el túnel de Cloud y el sondeo de la flota permanecen desactivados." + "value": "session move : la session s'exécute déjà sur %@" } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "在右側邊欄、設定、命令面板和新增工作區選單中加入雲端機器。雲端機器也需要遠端推出才能使用;關閉此選項時,Cloud 通道和機群輪詢都會保持停用。" + "value": "session move: セッションはすでに %@ で実行中です" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "在右侧边栏、设置、命令面板和新建工作区菜单中添加云主机。云主机还需要远程推出才能使用;关闭此选项时,Cloud 隧道和机群轮询都会保持停用。" + "value": "session move: 세션이 이미 %@에서 실행 중입니다" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "오른쪽 사이드바, 설정, 명령어 팔레트, 새 작업 공간 메뉴에 클라우드 머신을 추가합니다. 클라우드 머신은 원격 출시도 필요하며, 이 옵션이 꺼져 있으면 Cloud 터널과 플릿 폴링도 꺼진 상태로 유지됩니다." + "value": "session move:会话已在 %@ 上运行" } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "右サイドバー、設定、コマンドパレット、新規ワークスペースメニューにクラウドマシンを追加します。クラウドマシンにはリモートでの提供開始も必要です。この設定がオフの間は、Cloud トンネルとフリートのポーリングも停止したままです。" + "value": "session move:此工作階段已在 %@ 上執行" } } } }, - "settings.betaFeatures.customSidebars.subtitle": { + "cli.session.move.error.liveOnSource": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Adds sidebars from ~/.config/cmux/sidebars to the sidebar picker." + "value": "session move: the session is still running on %@; exit the agent at the end of its turn, then move it" } }, - "de": { + "ar": { "stringUnit": { "state": "translated", - "value": "Fügt Seitenleisten aus ~/.config/cmux/sidebars zur Seitenleistenauswahl hinzu." + "value": "session move: الجلسة لا تزال قيد التشغيل على %@؛ أغلق الوكيل عند نهاية دوره ثم انقلها" } }, - "fr": { + "de": { "stringUnit": { "state": "translated", - "value": "Ajoute les barres latérales de ~/.config/cmux/sidebars au sélecteur de barre latérale." + "value": "session move: Die Sitzung läuft noch auf %@; beende den Agenten am Ende seines Zuges und verschiebe sie dann" } }, - "ar": { + "es": { "stringUnit": { "state": "translated", - "value": "يضيف الأشرطة الجانبية من ~/.config/cmux/sidebars إلى منتقي الشريط الجانبي." + "value": "session move: la sesión sigue ejecutándose en %@; sal del agente al final de su turno y luego muévela" } }, - "es": { + "fr": { "stringUnit": { "state": "translated", - "value": "Añade las barras laterales de ~/.config/cmux/sidebars al selector de barra lateral." + "value": "session move : la session s'exécute encore sur %@ ; quittez l'agent à la fin de son tour, puis déplacez-la" } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "在側邊欄選取器中加入 ~/.config/cmux/sidebars 裡的側邊欄。" + "value": "session move: セッションはまだ %@ で実行中です。ターンの終わりにエージェントを終了してから移動してください" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "在侧边栏选择器中添加 ~/.config/cmux/sidebars 里的侧边栏。" + "value": "session move: 세션이 아직 %@에서 실행 중입니다. 에이전트가 턴을 마치면 종료한 뒤 이동하세요" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "~/.config/cmux/sidebars의 사이드바를 사이드바 선택기에 추가합니다." + "value": "session move:会话仍在 %@ 上运行;请在代理本轮结束后退出,再移动" } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "~/.config/cmux/sidebars のサイドバーをサイドバーピッカーに追加します。" + "value": "session move:此工作階段仍在 %@ 上執行;請在代理完成本輪後結束它,再移動" } } } }, - "settings.betaFeatures.extensions.subtitle": { + "cli.session.move.error.repositoryMissing": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Adds the extensions button and lets cmux install and run sidebar extensions." + "value": "session move: no checkout at %@ and no repository at %@ on the destination; clone it there first" } }, - "de": { + "ar": { "stringUnit": { "state": "translated", - "value": "Fügt die Taste „Erweiterungen“ hinzu und erlaubt cmux, Seitenleisten-Erweiterungen zu installieren und auszuführen." + "value": "session move: لا يوجد checkout في %1$@ ولا مستودع في %2$@ على الوجهة؛ انسخه (clone) هناك أولًا" } }, - "fr": { + "de": { "stringUnit": { "state": "translated", - "value": "Ajoute le bouton des extensions et permet à cmux d’installer et d’exécuter des extensions de barre latérale." + "value": "session move: Am Ziel gibt es keinen Checkout unter %1$@ und kein Repository unter %2$@; klone es dort zuerst" } }, - "ar": { + "es": { "stringUnit": { "state": "translated", - "value": "يضيف زر الامتدادات ويتيح لـ cmux تثبيت امتدادات الشريط الجانبي وتشغيلها." + "value": "session move: no hay checkout en %1$@ ni repositorio en %2$@ en el destino; clónalo allí primero" } }, - "es": { + "fr": { "stringUnit": { "state": "translated", - "value": "Añade el botón de extensiones y permite que cmux instale y ejecute extensiones de barra lateral." + "value": "session move : aucun checkout à %1$@ et aucun dépôt à %2$@ sur la destination ; clonez-le d'abord" } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "加入擴充功能按鈕,並讓 cmux 可安裝及執行側邊欄擴充功能。" + "value": "session move: 移動先の %1$@ にチェックアウトがなく、%2$@ にリポジトリもありません。先にそこでクローンしてください" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "添加扩展按钮,并允许 cmux 安装和运行侧边栏扩展。" + "value": "session move: 대상의 %1$@에 체크아웃이 없고 %2$@에 저장소도 없습니다. 먼저 그곳에 클론하세요" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "확장 기능 버튼을 추가하고 cmux가 사이드바 확장 기능을 설치하고 실행할 수 있게 합니다." + "value": "session move:目标上 %1$@ 没有检出,%2$@ 也没有仓库;请先在那里克隆" } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "エクステンションボタンを追加し、cmuxでサイドバーエクステンションをインストールして実行できるようにします。" + "value": "session move:目的地的 %1$@ 沒有 checkout,%2$@ 也沒有儲存庫;請先在那裡 clone" } } } }, - "settings.betaFeatures.feed.subtitle": { + "cli.session.move.error.sameEndpoint": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Adds Feed to the right sidebar for answering agent requests." + "value": "session move: the session is already there" } }, - "de": { + "ar": { "stringUnit": { "state": "translated", - "value": "Fügt der rechten Seitenleiste den Feed zum Beantworten von Agentenanfragen hinzu." + "value": "session move: الجلسة موجودة هناك بالفعل" } }, - "fr": { + "de": { "stringUnit": { "state": "translated", - "value": "Ajoute le Flux à la barre latérale droite pour répondre aux demandes des agents." + "value": "session move: Die Sitzung ist bereits dort" } }, - "ar": { + "es": { "stringUnit": { "state": "translated", - "value": "يضيف Feed إلى الشريط الجانبي الأيمن للرد على طلبات الوكلاء." + "value": "session move: la sesión ya está allí" } }, - "es": { + "fr": { "stringUnit": { "state": "translated", - "value": "Añade el Feed a la barra lateral derecha para responder a las solicitudes de los agentes." + "value": "session move : la session y est déjà" } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "在右側邊欄加入 Feed,用於回覆代理程式的請求。" + "value": "session move: セッションはすでにそこにあります" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "在右侧边栏添加 Feed,用于回复代理请求。" + "value": "session move: 세션이 이미 그곳에 있습니다" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "오른쪽 사이드바에 피드를 추가해 에이전트 요청에 응답할 수 있습니다." + "value": "session move:会话已经在那里" } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "右サイドバーにフィードを追加し、エージェントからのリクエストに応答できるようにします。" + "value": "session move:此工作階段已經在那裡" } } } }, - "settings.betaFeatures.remoteTmux.subtitle": { + "cli.session.move.error.transcriptNewer": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Shows tmux sessions on remote hosts as workspaces in the sidebar. The sessions keep running after cmux quits." + "value": "session move: the destination transcript is newer; the session continued there, so move it the other way" } }, - "de": { + "ar": { "stringUnit": { "state": "translated", - "value": "Zeigt tmux-Sitzungen auf Remote-Hosts als Arbeitsbereiche in der Seitenleiste an. Die Sitzungen laufen auch nach dem Beenden von cmux weiter." + "value": "session move: نص الجلسة في الوجهة أحدث؛ استمرت الجلسة هناك، لذا انقلها في الاتجاه الآخر" } }, - "fr": { + "de": { "stringUnit": { "state": "translated", - "value": "Affiche les sessions tmux des hôtes distants comme des espaces de travail dans la barre latérale. Les sessions continuent de s’exécuter après la fermeture de cmux." + "value": "session move: Das Transkript am Ziel ist neuer; die Sitzung wurde dort fortgesetzt, verschiebe sie also in die andere Richtung" } }, - "ar": { + "es": { "stringUnit": { "state": "translated", - "value": "يعرض جلسات tmux على المضيفين البعيدين كمساحات عمل في الشريط الجانبي. وتستمر الجلسات في العمل حتى بعد إنهاء cmux." + "value": "session move: la transcripción del destino es más reciente; la sesión continuó allí, así que muévela en sentido contrario" } }, - "es": { + "fr": { "stringUnit": { "state": "translated", - "value": "Muestra las sesiones de tmux de hosts remotos como espacios de trabajo en la barra lateral. Las sesiones siguen ejecutándose al salir de cmux." + "value": "session move : la transcription de destination est plus récente ; la session s'y est poursuivie, déplacez-la dans l'autre sens" } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "在側邊欄中將遠端主機上的 tmux 工作階段顯示為工作區。結束 cmux 後,這些工作階段仍會繼續執行。" + "value": "session move: 移動先のトランスクリプトのほうが新しいです。セッションはそこで続行されたので、逆方向に移動してください" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "在侧边栏中将远程主机上的 tmux 会话显示为工作区。退出 cmux 后,这些会话仍会继续运行。" + "value": "session move: 대상의 트랜스크립트가 더 최신입니다. 세션이 그곳에서 계속되었으니 반대 방향으로 이동하세요" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "원격 호스트의 tmux 세션을 사이드바에 작업 공간으로 표시합니다. cmux를 종료해도 세션은 계속 실행됩니다." + "value": "session move:目标上的记录更新;会话已在那里继续,请反向移动" } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "リモートホストの tmux セッションをサイドバーにワークスペースとして表示します。cmux を終了してもセッションは動作し続けます。" + "value": "session move:目的地的對話紀錄較新;工作階段已在那裡繼續,請反向移動" } } } }, - "settings.betaFeatures.workspaceTodoControls.subtitle": { + "cli.session.move.error.transcriptNotFound": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Shows Add Checklist Item and status controls on workspaces. A remote rollout can turn them on even while this is off." + "value": "session move: no Claude transcript for this session on %@" } }, - "de": { + "ar": { "stringUnit": { "state": "translated", - "value": "Zeigt „Checklisten-Eintrag hinzufügen“ und Statussteuerelemente bei Arbeitsbereichen an. Ein Remote-Rollout kann sie auch dann aktivieren, wenn diese Option deaktiviert ist." + "value": "session move: لا يوجد نص Claude لهذه الجلسة على %@" } }, - "fr": { + "de": { "stringUnit": { "state": "translated", - "value": "Affiche « Ajouter un élément à la liste de contrôle » et les commandes d’état sur les espaces de travail. Un déploiement à distance peut les activer même si cette option est désactivée." + "value": "session move: Kein Claude-Transkript für diese Sitzung auf %@" } }, - "ar": { + "es": { "stringUnit": { "state": "translated", - "value": "يعرض «إضافة عنصر قائمة تحقق» وعناصر التحكم في الحالة على مساحات العمل. ويمكن لطرح عن بُعد تفعيلها حتى عند إيقاف هذا الخيار." + "value": "session move: no hay transcripción de Claude para esta sesión en %@" } }, - "es": { + "fr": { "stringUnit": { "state": "translated", - "value": "Muestra «Añadir elemento a la lista de verificación» y los controles de estado en los espacios de trabajo. Un despliegue remoto puede activarlos aunque esta opción esté desactivada." + "value": "session move : aucune transcription Claude pour cette session sur %@" } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "在工作區上顯示「新增檢查清單項目」和狀態控制項。即使關閉此選項,遠端推出仍可能啟用這些控制項。" + "value": "session move: %@ にこのセッションの Claude トランスクリプトがありません" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "在工作区上显示“添加清单项”和状态控件。即使关闭此选项,远程推出仍可能启用这些控件。" + "value": "session move: %@에 이 세션의 Claude 트랜스크립트가 없습니다" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "작업 공간에 ‘체크리스트 항목 추가’ 및 상태 컨트롤을 표시합니다. 이 옵션이 꺼져 있어도 원격 출시로 이 컨트롤이 켜질 수 있습니다." + "value": "session move:%@ 上没有此会话的 Claude 记录" } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "ワークスペースに「チェックリスト項目を追加」とステータスコントロールを表示します。この設定がオフでも、リモートでの提供開始によって有効になることがあります。" + "value": "session move:%@ 上沒有此工作階段的 Claude 對話紀錄" } } } }, - "settings.betaFeatures.workspaceTodosChecklistStyle.subtitle": { + "cli.session.move.error.transcriptsDiverged": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Choose whether clicking a workspace checklist opens a popover or expands it under the row." + "value": "session move: the transcripts diverged (the destination copy is not a prefix of the source); resolve by hand" } }, - "de": { + "ar": { "stringUnit": { "state": "translated", - "value": "Wählen Sie, ob sich beim Klicken auf die Checkliste eines Arbeitsbereichs ein Popover öffnet oder die Checkliste unter der Zeile aufklappt." + "value": "session move: تباعدت النصوص (نسخة الوجهة ليست بادئة للمصدر)؛ عالج ذلك يدويًا" } }, - "fr": { + "de": { "stringUnit": { "state": "translated", - "value": "Choisissez si un clic sur la liste de contrôle d’un espace de travail ouvre une fenêtre contextuelle ou la déplie sous la ligne." + "value": "session move: Die Transkripte sind auseinandergelaufen (die Kopie am Ziel ist kein Präfix der Quelle); bitte manuell auflösen" } }, - "ar": { + "es": { "stringUnit": { "state": "translated", - "value": "اختر ما إذا كان النقر على قائمة التحقق الخاصة بمساحة العمل يفتح نافذة منبثقة أو يوسّعها أسفل الصف." + "value": "session move: las transcripciones divergieron (la copia del destino no es un prefijo del origen); resuélvelo a mano" } }, - "es": { + "fr": { "stringUnit": { "state": "translated", - "value": "Elige si al hacer clic en la lista de verificación de un espacio de trabajo se abre un popover o se despliega bajo la fila." + "value": "session move : les transcriptions ont divergé (la copie de destination n'est pas un préfixe de la source) ; résolvez manuellement" } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "選擇按一下工作區檢查清單時,要在彈出視窗中開啟,還是在該列下方展開。" + "value": "session move: トランスクリプトが分岐しました (移動先のコピーが元の先頭部分ではありません)。手動で解決してください" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "选择点按工作区清单时,是在浮层中打开,还是在该行下方展开。" + "value": "session move: 트랜스크립트가 갈라졌습니다(대상 사본이 원본의 접두사가 아님). 직접 해결하세요" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "작업 공간 체크리스트를 클릭했을 때 팝오버로 열지, 행 아래에 펼칠지 선택합니다." + "value": "session move:记录已分叉(目标副本不是源的前缀);请手动处理" } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "ワークスペースのチェックリストをクリックしたときに、ポップオーバーで開くか、行の下に展開するかを選択します。" + "value": "session move:對話紀錄已分歧(目的地的副本不是來源的前綴);請手動處理" } } } }, - "settings.browser.enabled.subtitle": { + "cli.session.move.error.unknownFlag": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Opens browser tabs and links from terminals in the cmux browser." + "value": "session move: unknown flag '%@'" } }, - "de": { + "ar": { "stringUnit": { "state": "translated", - "value": "Browser-Tabs und Links aus Terminals werden im cmux-Browser geöffnet." + "value": "session move: علم غير معروف '%@'" } }, - "fr": { + "de": { "stringUnit": { "state": "translated", - "value": "Ouvre les onglets de navigateur et les liens des terminaux dans le navigateur cmux." + "value": "session move: unbekanntes Flag „%@“" } }, - "ar": { + "es": { "stringUnit": { "state": "translated", - "value": "يفتح علامات تبويب المتصفح والروابط من الطرفيات في متصفح cmux." + "value": "session move: opción desconocida '%@'" } }, - "es": { + "fr": { "stringUnit": { "state": "translated", - "value": "Abre pestañas del navegador y enlaces de las terminales en el navegador de cmux." + "value": "session move : option inconnue '%@'" } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "瀏覽器標籤頁和從終端機開啟的連結都會在 cmux 瀏覽器中開啟。" + "value": "session move: 不明なフラグ '%@'" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "浏览器标签页和从终端打开的链接都会在 cmux 浏览器中打开。" + "value": "session move: 알 수 없는 플래그 '%@'" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "브라우저 탭과 터미널에서 연 링크를 cmux 브라우저에서 엽니다." + "value": "session move:未知标志 '%@'" } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "ブラウザタブとターミナルから開いたリンクをcmuxブラウザで開きます。" + "value": "session move:未知的旗標 '%@'" } } } }, - "settings.browser.hiddenWebViewDiscard.subtitle": { + "cli.session.move.error.unknownSource": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Frees memory from browser tabs hidden longer than the delay. They reload when shown again." + "value": "session move: no record of where this session was moved; pass --from <ssh-destination>" } }, - "de": { + "ar": { "stringUnit": { "state": "translated", - "value": "Browser-Tabs, die länger als die festgelegte Zeit ausgeblendet sind, geben ihren Speicher frei und werden beim erneuten Anzeigen neu geladen." + "value": "session move: لا يوجد سجل بالمكان الذي نُقلت إليه هذه الجلسة؛ مرّر --from <ssh-destination>" } }, - "fr": { + "de": { "stringUnit": { "state": "translated", - "value": "Libère la mémoire des onglets de navigateur masqués depuis plus longtemps que le délai défini. Ils se rechargent lorsqu’ils réapparaissent." + "value": "session move: Kein Eintrag, wohin diese Sitzung verschoben wurde; gib --from <ssh-destination> an" } }, - "ar": { + "es": { "stringUnit": { "state": "translated", - "value": "يحرر ذاكرة علامات تبويب المتصفح المخفية لمدة تتجاوز المهلة المحددة، ويُعاد تحميلها عند عرضها مجددًا." + "value": "session move: no hay registro de adónde se movió esta sesión; pasa --from <ssh-destination>" } }, - "es": { + "fr": { "stringUnit": { "state": "translated", - "value": "Libera la memoria de las pestañas del navegador que llevan ocultas más tiempo del indicado. Se vuelven a cargar al mostrarse de nuevo." + "value": "session move : aucune trace de l'endroit où cette session a été déplacée ; passez --from <ssh-destination>" } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "瀏覽器標籤頁隱藏超過延遲時間後,會釋放其記憶體。再次顯示時會重新載入。" + "value": "session move: このセッションの移動先の記録がありません。--from <ssh-destination> を指定してください" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "浏览器标签页隐藏超过延迟时间后,会释放其内存。再次显示时会重新加载。" + "value": "session move: 이 세션을 어디로 옮겼는지 기록이 없습니다. --from <ssh-destination>을 지정하세요" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "브라우저 탭이 지연 시간보다 오래 숨겨져 있으면 메모리를 해제합니다. 탭을 다시 표시하면 새로 고칩니다." + "value": "session move:没有此会话被移动到何处的记录;请传入 --from <ssh-destination>" } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "非表示の時間が遅延時間を超えたブラウザタブのメモリを解放します。タブは再び表示したときに再読み込みされます。" + "value": "session move:沒有此工作階段被移到何處的紀錄;請傳入 --from <ssh-destination>" } } } }, - "settings.browser.theme.subtitle": { + "cli.session.move.error.unreachable": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Choose light or dark pages for sites that support both. System matches the app appearance." + "value": "session move: cannot reach %@: %@" } }, - "de": { + "ar": { "stringUnit": { "state": "translated", - "value": "Wählen Sie helle oder dunkle Seiten für Websites, die beides unterstützen. „System“ folgt dem Erscheinungsbild der App." + "value": "session move: تعذّر الوصول إلى %1$@: %2$@" } }, - "fr": { + "de": { "stringUnit": { "state": "translated", - "value": "Choisissez des pages claires ou sombres pour les sites qui prennent en charge les deux. « Système » suit l’apparence de l’app." + "value": "session move: %1$@ ist nicht erreichbar: %2$@" } }, - "ar": { + "es": { "stringUnit": { "state": "translated", - "value": "اختر الصفحات الفاتحة أو الداكنة للمواقع التي تدعم الوضعين. يتبع خيار «النظام» مظهر التطبيق." + "value": "session move: no se puede acceder a %1$@: %2$@" } }, - "es": { + "fr": { "stringUnit": { "state": "translated", - "value": "Elige páginas claras u oscuras para los sitios compatibles con ambos modos. «Sistema» sigue el aspecto de la app." + "value": "session move : impossible de joindre %1$@ : %2$@" } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "網站同時支援淺色與深色時,選擇要使用淺色或深色頁面。「系統」會跟隨 App 的外觀。" + "value": "session move: %1$@ に接続できません: %2$@" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "网站同时支持浅色和深色时,选择使用浅色还是深色页面。“系统”会跟随应用外观。" + "value": "session move: %1$@에 연결할 수 없습니다: %2$@" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "라이트와 다크를 모두 지원하는 사이트에서 표시할 페이지 모드를 선택합니다. ‘시스템’은 앱의 외관 설정을 따릅니다." + "value": "session move:无法连接 %1$@:%2$@" } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "ライトとダークの両方に対応したサイトで、どちらのページを表示するかを選択します。「システム」はアプリの外観に合わせます。" + "value": "session move:無法連線到 %1$@:%2$@" } } } }, - "settings.customSidebars.enabled.subtitle": { + "cli.session.move.error.unsupportedPath": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Adds sidebars from ~/.config/cmux/sidebars to the sidebar picker." + "value": "session move: paths with whitespace are not supported: %@" } }, - "de": { + "ar": { "stringUnit": { "state": "translated", - "value": "Fügt Seitenleisten aus ~/.config/cmux/sidebars zur Seitenleistenauswahl hinzu." + "value": "session move: المسارات التي تحتوي على مسافات غير مدعومة: %@" } }, - "fr": { + "de": { "stringUnit": { "state": "translated", - "value": "Ajoute les barres latérales de ~/.config/cmux/sidebars au sélecteur de barre latérale." + "value": "session move: Pfade mit Leerzeichen werden nicht unterstützt: %@" } }, - "ar": { + "es": { "stringUnit": { "state": "translated", - "value": "يضيف الأشرطة الجانبية من ~/.config/cmux/sidebars إلى منتقي الشريط الجانبي." + "value": "session move: no se admiten rutas con espacios: %@" } }, - "es": { + "fr": { "stringUnit": { "state": "translated", - "value": "Añade las barras laterales de ~/.config/cmux/sidebars al selector de barra lateral." + "value": "session move : les chemins contenant des espaces ne sont pas pris en charge : %@" } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "在側邊欄選取器中加入 ~/.config/cmux/sidebars 裡的側邊欄。" + "value": "session move: 空白を含むパスはサポートされていません: %@" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "在侧边栏选择器中添加 ~/.config/cmux/sidebars 里的侧边栏。" + "value": "session move: 공백이 포함된 경로는 지원하지 않습니다: %@" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "~/.config/cmux/sidebars의 사이드바를 사이드바 선택기에 추가합니다." + "value": "session move:不支持包含空白的路径:%@" } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "~/.config/cmux/sidebars のサイドバーをサイドバーピッカーに追加します。" + "value": "session move:不支援含有空白的路徑:%@" } } } }, - "settings.customSidebars.renderer.subtitle": { + "cli.session.move.error.unsupportedRoute": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Isolated process protects cmux from a faulty sidebar but accepts clicks only. In-app also accepts hover, focus, and typing." + "value": "session move: moves go between this Mac and one host; move the session back with --to local first" } }, - "de": { + "ar": { "stringUnit": { "state": "translated", - "value": "„Isolierter Prozess“ schützt cmux vor einer fehlerhaften Seitenleiste, unterstützt aber nur Klicks. „In-App“ unterstützt zusätzlich Hover, Fokus und Texteingabe." + "value": "session move: يتم النقل بين هذا الـ Mac ومضيف واحد؛ أعد الجلسة أولًا باستخدام --to local" } }, - "fr": { + "de": { "stringUnit": { "state": "translated", - "value": "« Processus isolé » protège cmux d’une barre latérale défectueuse, mais n’accepte que les clics. « Dans l’application » accepte aussi le survol, le focus et la saisie." + "value": "session move: Verschiebungen laufen zwischen diesem Mac und einem Host; verschiebe die Sitzung zuerst mit --to local zurück" } }, - "ar": { + "es": { "stringUnit": { "state": "translated", - "value": "يحمي خيار «عملية معزولة» cmux من الشريط الجانبي المعيب، لكنه لا يقبل سوى النقرات. أما خيار «داخل التطبيق» فيقبل أيضًا تمرير المؤشر والتركيز والكتابة." + "value": "session move: los movimientos van entre este Mac y un host; primero devuelve la sesión con --to local" } }, - "es": { + "fr": { "stringUnit": { "state": "translated", - "value": "«Proceso aislado» protege cmux de una barra lateral defectuosa, pero solo admite clics. «En la aplicación» también admite pasar el puntero por encima, enfocar y escribir." + "value": "session move : les déplacements se font entre ce Mac et un hôte ; ramenez d'abord la session avec --to local" } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "「隔離程序」可保護 cmux 不受有問題的側邊欄影響,但只接受點擊。「應用程式內」還接受游標停留、聚焦和輸入。" + "value": "session move: 移動はこの Mac と 1 台のホストの間で行います。先に --to local でセッションを戻してください" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "“隔离进程”可保护 cmux 不受有问题的侧边栏影响,但只接受点击。“应用内”还接受悬停、聚焦和输入。" + "value": "session move: 이동은 이 Mac과 한 호스트 사이에서만 가능합니다. 먼저 --to local로 세션을 되돌리세요" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "‘격리된 프로세스’는 결함이 있는 사이드바로부터 cmux를 보호하지만 클릭만 허용합니다. ‘앱 내부’는 포인터 올려놓기, 포커스, 키보드 입력도 허용합니다." + "value": "session move:移动只在这台 Mac 与一台主机之间进行;请先用 --to local 把会话移回" } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "「分離プロセス」は問題のあるサイドバーから cmux を保護しますが、クリックしか受け付けません。「アプリ内」では、ホバー、フォーカス、入力も受け付けます。" + "value": "session move:移動只在這台 Mac 與一台主機之間進行;請先用 --to local 把工作階段移回來" } } } }, - "settings.globalHotkey.enable.subtitle": { + "cli.session.move.error.unsupportedSSHTarget": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Pressing the shortcut in any app shows or hides all cmux windows." + "value": "session move: unsupported SSH destination or option for '%@' (use user@host or an ssh_config alias, without whitespace)" } }, - "de": { + "ar": { "stringUnit": { "state": "translated", - "value": "Das Tastaturkürzel blendet in jeder App alle cmux-Fenster ein oder aus." + "value": "session move: وجهة أو خيار SSH غير مدعوم لـ '%@' (استخدم user@host أو اسمًا مستعارًا من ssh_config، بدون مسافات)" } }, - "fr": { + "de": { "stringUnit": { "state": "translated", - "value": "Le raccourci affiche ou masque toutes les fenêtres cmux, quelle que soit l’app active." + "value": "session move: nicht unterstütztes SSH-Ziel oder -Option für „%@“ (verwende user@host oder einen ssh_config-Alias, ohne Leerzeichen)" } }, - "ar": { + "es": { "stringUnit": { "state": "translated", - "value": "يُظهر الاختصار جميع نوافذ cmux أو يخفيها من أي تطبيق." + "value": "session move: destino u opción SSH no admitidos para '%@' (usa user@host o un alias de ssh_config, sin espacios)" } }, - "es": { + "fr": { "stringUnit": { "state": "translated", - "value": "El atajo muestra u oculta todas las ventanas de cmux desde cualquier app." + "value": "session move : destination ou option SSH non prise en charge pour '%@' (utilisez user@host ou un alias ssh_config, sans espaces)" } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "在任何 App 中按下快速鍵,即可顯示或隱藏所有 cmux 視窗。" + "value": "session move: '%@' の SSH 接続先またはオプションはサポートされていません (空白なしの user@host か ssh_config のエイリアスを使ってください)" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "在任意 App 中按下快捷键,即可显示或隐藏所有 cmux 窗口。" + "value": "session move: '%@'에 대한 SSH 대상 또는 옵션을 지원하지 않습니다(공백 없이 user@host 또는 ssh_config 별칭 사용)" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "어느 앱에서든 단축키를 눌러 모든 cmux 윈도우를 표시하거나 숨길 수 있습니다." + "value": "session move:'%@' 的 SSH 目标或选项不受支持(请使用 user@host 或 ssh_config 别名,且不含空白)" } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "どのアプリを使用中でも、ショートカットを押すと cmux のすべてのウィンドウを表示または非表示にできます。" + "value": "session move:'%@' 的 SSH 目的地或選項不受支援(請使用 user@host 或 ssh_config 別名,且不含空白)" } } } }, - "settings.mobile.artifactFolderAccess.subtitle": { + "cli.session.move.error.usage": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Choose how much of a folder iPhone and iPad can browse. One Level shows only the items directly inside it." + "value": "Usage: cmux session move <session-id> --to <ssh-destination|local>" } }, - "de": { + "ar": { "stringUnit": { "state": "translated", - "value": "Wählen Sie, wie tief iPhone und iPad einen Ordner durchsuchen können. „Eine Ebene“ zeigt nur die Objekte direkt darin." + "value": "الاستخدام: cmux session move <session-id> --to <ssh-destination|local>" } }, - "fr": { + "de": { "stringUnit": { "state": "translated", - "value": "Choisissez jusqu’où l’iPhone et l’iPad peuvent parcourir un dossier. « Un niveau » n’affiche que les éléments qui s’y trouvent directement." + "value": "Verwendung: cmux session move <session-id> --to <ssh-destination|local>" } }, - "ar": { + "es": { "stringUnit": { "state": "translated", - "value": "اختر مدى عمق تصفح iPhone وiPad داخل المجلد. يعرض خيار «مستوى واحد» العناصر الموجودة مباشرةً داخله فقط." + "value": "Uso: cmux session move <session-id> --to <ssh-destination|local>" } }, - "es": { + "fr": { "stringUnit": { "state": "translated", - "value": "Elige hasta qué nivel pueden explorar una carpeta el iPhone y el iPad. «Un nivel» solo muestra los elementos que contiene directamente." + "value": "Utilisation : cmux session move <session-id> --to <ssh-destination|local>" } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "選擇 iPhone 和 iPad 可瀏覽資料夾的範圍。「單一層級」只顯示該資料夾第一層的項目。" + "value": "使用方法: cmux session move <session-id> --to <ssh-destination|local>" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "选择 iPhone 和 iPad 可浏览文件夹的范围。“一层”只显示该文件夹第一层的项目。" + "value": "사용법: cmux session move <session-id> --to <ssh-destination|local>" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "iPhone 및 iPad에서 폴더를 어디까지 탐색할 수 있는지 선택합니다. ‘한 단계’는 폴더 바로 아래에 있는 항목만 표시합니다." + "value": "用法:cmux session move <session-id> --to <ssh-destination|local>" } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "iPhone と iPad からフォルダをどこまで参照できるかを選択します。「1 階層」では、そのフォルダの直下にある項目のみが表示されます。" + "value": "用法:cmux session move <session-id> --to <ssh-destination|local>" } } } }, - "settings.mobile.iOSPairingHost.subtitle": { + "cli.session.move.error.workingDirectoryUnknown": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Lets iPhone and iPad pair with and connect to this Mac." + "value": "session move: the transcript does not record the session's working directory" } }, - "de": { + "ar": { "stringUnit": { "state": "translated", - "value": "iPhone und iPad können sich mit diesem Mac koppeln und verbinden." + "value": "session move: لا يسجّل النص دليل العمل الخاص بالجلسة" } }, - "fr": { + "de": { "stringUnit": { "state": "translated", - "value": "L’iPhone et l’iPad peuvent se jumeler avec ce Mac et s’y connecter." + "value": "session move: Das Transkript enthält kein Arbeitsverzeichnis der Sitzung" } }, - "ar": { + "es": { "stringUnit": { "state": "translated", - "value": "يمكن لـ iPhone وiPad الاقتران بجهاز Mac هذا والاتصال به." + "value": "session move: la transcripción no registra el directorio de trabajo de la sesión" } }, - "es": { + "fr": { "stringUnit": { "state": "translated", - "value": "El iPhone y el iPad pueden emparejarse con este Mac y conectarse a él." + "value": "session move : la transcription n'indique pas le répertoire de travail de la session" } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "允許 iPhone 和 iPad 與此 Mac 配對及連線。" + "value": "session move: トランスクリプトにセッションの作業ディレクトリが記録されていません" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "允许 iPhone 和 iPad 与这台 Mac 配对并连接。" + "value": "session move: 트랜스크립트에 세션의 작업 디렉터리가 기록되어 있지 않습니다" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "iPhone과 iPad가 이 Mac과 페어링하고 연결할 수 있게 합니다." + "value": "session move:记录中没有会话的工作目录" } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "iPhone と iPad がこの Mac とペアリングして接続できるようにします。" + "value": "session move:對話紀錄沒有記錄工作階段的工作目錄" } } } }, - "settings.mobile.phonePush.forwarding.subtitle": { + "cli.session.move.error.worktreeAddFailed": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Sends agent notifications from this Mac to cmux on iPhone and iPad." + "value": "session move: could not add a worktree at %@: %@" } }, - "de": { + "ar": { "stringUnit": { "state": "translated", - "value": "Leitet Agentenbenachrichtigungen von diesem Mac an cmux auf iPhone und iPad weiter." + "value": "session move: تعذّرت إضافة worktree في %1$@: %2$@" } }, - "fr": { + "de": { "stringUnit": { "state": "translated", - "value": "Transfère les notifications des agents de ce Mac vers cmux sur iPhone et iPad." + "value": "session move: Worktree unter %1$@ konnte nicht hinzugefügt werden: %2$@" } }, - "ar": { + "es": { "stringUnit": { "state": "translated", - "value": "يوجّه إشعارات الوكلاء من جهاز Mac هذا إلى cmux على iPhone وiPad." + "value": "session move: no se pudo añadir un worktree en %1$@: %2$@" } }, - "es": { + "fr": { "stringUnit": { "state": "translated", - "value": "Reenvía las notificaciones de agentes de este Mac a cmux en iPhone y iPad." + "value": "session move : impossible d'ajouter un worktree à %1$@ : %2$@" } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "將此 Mac 上的代理程式通知傳送至 iPhone 和 iPad 上的 cmux。" + "value": "session move: %1$@ に worktree を追加できませんでした: %2$@" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "将这台 Mac 上的代理通知发送到 iPhone 和 iPad 上的 cmux。" + "value": "session move: %1$@에 worktree를 추가할 수 없습니다: %2$@" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "이 Mac의 에이전트 알림을 iPhone 및 iPad의 cmux로 보냅니다." + "value": "session move:无法在 %1$@ 添加 worktree:%2$@" } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "この Mac からエージェントの通知を iPhone と iPad の cmux に送信します。" + "value": "session move:無法在 %1$@ 新增 worktree:%2$@" } } } }, - "settings.shortcuts.showModifierHoldHints.subtitle": { + "cli.session.move.output.code": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Holding Command or Control shows shortcut hints." + "value": "Code: %@ at %@ (%@) with working tree snapshot %@." } }, - "de": { + "ar": { "stringUnit": { "state": "translated", - "value": "Hinweise zu Tastaturkürzeln erscheinen, solange die Befehlstaste oder die Control-Taste gedrückt ist." + "value": "الكود: %1$@ عند %2$@ (%3$@) مع لقطة شجرة العمل %4$@." } }, - "fr": { + "de": { "stringUnit": { "state": "translated", - "value": "Les indices de raccourcis apparaissent tant que la touche Commande ou Contrôle est maintenue enfoncée." + "value": "Code: %1$@ auf %2$@ (%3$@) mit Snapshot des Arbeitsverzeichnisses %4$@." } }, - "ar": { + "es": { "stringUnit": { "state": "translated", - "value": "تظهر تلميحات الاختصارات عند الضغط مع الاستمرار على Command أو Control." + "value": "Código: %1$@ en %2$@ (%3$@) con la instantánea del árbol de trabajo %4$@." } }, - "es": { + "fr": { "stringUnit": { "state": "translated", - "value": "Las sugerencias de atajos aparecen mientras se mantiene presionada la tecla Comando o Control." + "value": "Code : %1$@ à %2$@ (%3$@) avec l'instantané de l'arbre de travail %4$@." } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "按住 Command 或 Control 鍵時,會顯示快速鍵提示。" + "value": "コード: %1$@ は %2$@ (%3$@)、作業ツリーのスナップショット %4$@。" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "按住 Command 或 Control 键时,会显示快捷键提示。" + "value": "코드: %1$@, %2$@ (%3$@), 작업 트리 스냅샷 %4$@." } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "Command 또는 Control 키를 누르고 있으면 단축키 힌트가 표시됩니다." + "value": "代码:%1$@ 位于 %2$@(%3$@),含工作树快照 %4$@。" } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "Command キーまたは Control キーを押したままにすると、ショートカットヒントが表示されます。" + "value": "程式碼:%1$@ 位於 %2$@(%3$@),含工作樹快照 %4$@。" } } } }, - "settings.sidebar.rightMaxWidth.subtitle": { + "cli.session.move.output.detached": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Lets the Dock in the right sidebar grow up to this width while leaving room for terminals." + "value": "detached" } }, - "de": { + "ar": { "stringUnit": { "state": "translated", - "value": "Das Dock in der rechten Seitenleiste kann bis zu dieser Breite wachsen, lässt aber Platz für Terminals." + "value": "منفصل" } }, - "fr": { + "de": { "stringUnit": { "state": "translated", - "value": "Le Dock de la barre latérale droite peut s’élargir jusqu’à cette largeur tout en laissant de la place aux terminaux." + "value": "losgelöst" } }, - "ar": { + "es": { "stringUnit": { "state": "translated", - "value": "يمكن أن يتسع Dock في الشريط الجانبي الأيمن حتى هذا العرض مع ترك مساحة للطرفيات." + "value": "desacoplado" } }, - "es": { + "fr": { "stringUnit": { "state": "translated", - "value": "El Dock de la barra lateral derecha puede ampliarse hasta este ancho, pero deja espacio para las terminales." + "value": "détaché" } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "右側邊欄中的 Dock 最寬可擴展至此寬度,並為終端機保留空間。" + "value": "デタッチ" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "右侧边栏中的 Dock 最宽可扩展到此宽度,同时为终端保留空间。" + "value": "분리됨" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "오른쪽 사이드바의 Dock은 터미널 공간을 남겨 둔 채 이 너비까지 넓어질 수 있습니다." + "value": "分离" } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "右サイドバーの Dock は、ターミナルの領域を残したまま、この幅まで広げられます。" + "value": "分離" } } } }, - "settings.terminal.adaptiveDefaultTheme.subtitle": { + "cli.session.move.output.moved": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Matches terminal colors to the light or dark appearance when no Ghostty theme or colors are set." + "value": "Moved session %@ to %@ (cwd %@)." } }, - "de": { + "ar": { "stringUnit": { "state": "translated", - "value": "Passt die Terminalfarben an das helle oder dunkle Erscheinungsbild an, wenn in Ghostty kein Theme und keine Farben festgelegt sind." + "value": "تم نقل الجلسة %1$@ إلى %2$@ (cwd %3$@)." } }, - "fr": { + "de": { "stringUnit": { "state": "translated", - "value": "Si aucun thème ni aucune couleur Ghostty n’est défini, les couleurs du terminal suivent l’apparence claire ou sombre." + "value": "Sitzung %1$@ nach %2$@ verschoben (cwd %3$@)." } }, - "ar": { + "es": { "stringUnit": { "state": "translated", - "value": "عندما لا تكون هناك سمة أو ألوان محددة في Ghostty، تتوافق ألوان الطرفية مع المظهر الفاتح أو الداكن." + "value": "Sesión %1$@ movida a %2$@ (cwd %3$@)." } }, - "es": { + "fr": { "stringUnit": { "state": "translated", - "value": "Si no hay ningún tema ni colores de Ghostty definidos, los colores de la terminal siguen la apariencia clara u oscura." + "value": "Session %1$@ déplacée vers %2$@ (cwd %3$@)." } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "未設定 Ghostty 主題或顏色時,終端機顏色會配合淺色或深色外觀。" + "value": "セッション %1$@ を %2$@ に移動しました (cwd %3$@)。" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "未设置 Ghostty 主题或颜色时,终端颜色会随浅色或深色外观变化。" + "value": "세션 %1$@을(를) %2$@(으)로 이동했습니다 (cwd %3$@)." } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "Ghostty 테마나 색상이 설정되어 있지 않으면 터미널 색상을 라이트 또는 다크 모드에 맞춥니다." + "value": "已将会话 %1$@ 移到 %2$@(cwd %3$@)。" } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "Ghostty のテーマや色が設定されていない場合、ターミナルの色をライトまたはダークの外観に合わせます。" + "value": "已將工作階段 %1$@ 移到 %2$@(cwd %3$@)。" } } } }, - "settings.terminal.agentAutoResume.subtitle": { + "cli.session.move.output.notGit": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Reopening cmux resumes agent sessions automatically." + "value": "Code: %@ is not a git checkout; no files were moved." } }, - "de": { + "ar": { "stringUnit": { "state": "translated", - "value": "Beim erneuten Öffnen von cmux werden Agenten-Sitzungen automatisch fortgesetzt." + "value": "الكود: %@ ليس checkout لـ git؛ لم يتم نقل أي ملفات." } }, - "fr": { + "de": { "stringUnit": { "state": "translated", - "value": "Les sessions d’agent reprennent automatiquement à la réouverture de cmux." + "value": "Code: %@ ist kein git-Checkout; es wurden keine Dateien verschoben." } }, - "ar": { + "es": { "stringUnit": { "state": "translated", - "value": "تُستأنف جلسات الوكلاء تلقائيًا عند إعادة فتح cmux." + "value": "Código: %@ no es un checkout de git; no se movió ningún archivo." } }, - "es": { + "fr": { "stringUnit": { "state": "translated", - "value": "Las sesiones de agentes se reanudan automáticamente al volver a abrir cmux." + "value": "Code : %@ n'est pas un checkout git ; aucun fichier n'a été déplacé." } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "重新開啟 cmux 時,自動繼續先前的代理工作階段。" + "value": "コード: %@ は git のチェックアウトではないため、ファイルは移動していません。" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "重新打开 cmux 时,自动恢复之前的代理会话。" + "value": "코드: %@은(는) git 체크아웃이 아니므로 파일을 옮기지 않았습니다." } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "cmux를 다시 열면 에이전트 세션이 자동으로 재개됩니다." + "value": "代码:%@ 不是 git 检出;未移动任何文件。" } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "cmux を開き直すと、エージェントのセッションが自動的に再開されます。" + "value": "程式碼:%@ 不是 git checkout;未移動任何檔案。" } } } }, - "settings.terminal.agentHibernation.subtitle": { + "cli.session.move.output.pathsRewritten": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Hibernates idle background agent terminals above the live terminal limit. Even when this is off, cmux may hibernate them under memory pressure." + "value": "Paths were rewritten: %@ -> %@. Absolute paths inside the transcript still name the old home." } }, - "de": { + "ar": { "stringUnit": { "state": "translated", - "value": "Versetzt inaktive Agenten-Terminals im Hintergrund in den Ruhezustand, sobald das Limit für aktive Terminals überschritten ist. Auch wenn diese Option deaktiviert ist, kann cmux sie bei hoher Speicherauslastung in den Ruhezustand versetzen." + "value": "تمت إعادة كتابة المسارات: %1$@ -> %2$@. لا تزال المسارات المطلقة داخل النص تشير إلى المجلد الرئيسي القديم." } }, - "fr": { + "de": { "stringUnit": { "state": "translated", - "value": "Met en hibernation les terminaux d’agent inactifs en arrière-plan au-delà de la limite de terminaux actifs. Même si cette option est désactivée, cmux peut les mettre en hibernation en cas de pression mémoire." + "value": "Pfade wurden umgeschrieben: %1$@ -> %2$@. Absolute Pfade im Transkript nennen weiterhin das alte Home-Verzeichnis." } }, - "ar": { + "es": { "stringUnit": { "state": "translated", - "value": "يُدخل طرفيات الوكلاء الخاملة في الخلفية في السبات عند تجاوز حد الطرفيات النشطة. وحتى عند إيقاف هذا الخيار، قد يُدخلها cmux في السبات عند ضغط الذاكرة." + "value": "Se reescribieron las rutas: %1$@ -> %2$@. Las rutas absolutas dentro de la transcripción aún nombran el home anterior." } }, - "es": { + "fr": { "stringUnit": { "state": "translated", - "value": "Pone en hibernación las terminales de agentes inactivas en segundo plano que superan el límite de terminales activas. Aunque esta opción esté desactivada, cmux puede ponerlas en hibernación si hay presión de memoria." + "value": "Chemins réécrits : %1$@ -> %2$@. Les chemins absolus de la transcription désignent encore l'ancien dossier personnel." } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "作用中終端機超過上限時,閒置的背景代理終端機會進入休眠。即使關閉此選項,cmux 仍可能在記憶體吃緊時讓它們休眠。" + "value": "パスを書き換えました: %1$@ -> %2$@。トランスクリプト内の絶対パスは古いホームのままです。" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "活动终端超过上限时,空闲的后台代理终端会进入休眠。即使关闭此选项,cmux 仍可能在内存紧张时让它们休眠。" + "value": "경로를 다시 썼습니다: %1$@ -> %2$@. 트랜스크립트 안의 절대 경로는 여전히 이전 홈을 가리킵니다." } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "활성 터미널 수가 한도를 넘으면 백그라운드에서 유휴 상태인 에이전트 터미널을 최대 절전 모드로 전환합니다. 이 옵션을 꺼도 메모리가 부족하면 cmux가 해당 터미널을 최대 절전 모드로 전환할 수 있습니다." + "value": "已改写路径:%1$@ -> %2$@。记录中的绝对路径仍指向旧的主目录。" } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "実行中のターミナル数が上限を超えると、アイドル状態のバックグラウンドエージェントのターミナルを休止させます。この設定がオフでも、メモリが逼迫している場合は cmux がこれらを休止させることがあります。" + "value": "已改寫路徑:%1$@ -> %2$@。對話紀錄中的絕對路徑仍指向舊的主目錄。" } } } }, - "settings.terminal.copyOnSelect.subtitle": { + "cli.session.move.output.sourceKept": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Selecting text in a terminal copies it to the clipboard." + "value": "The copy on %@ stays; do not resume it there too." } }, - "de": { + "ar": { "stringUnit": { "state": "translated", - "value": "Im Terminal ausgewählter Text wird in die Zwischenablage kopiert." + "value": "تبقى النسخة على %@؛ لا تستأنفها هناك أيضًا." } }, - "fr": { + "de": { "stringUnit": { "state": "translated", - "value": "Le texte sélectionné dans un terminal est copié dans le presse-papiers." + "value": "Die Kopie auf %@ bleibt erhalten; setze sie dort nicht ebenfalls fort." } }, - "ar": { + "es": { "stringUnit": { "state": "translated", - "value": "يُنسخ النص المحدد في الطرفية إلى الحافظة." + "value": "La copia en %@ se conserva; no la reanudes también allí." } }, - "es": { + "fr": { "stringUnit": { "state": "translated", - "value": "El texto seleccionado en una terminal se copia al portapapeles." + "value": "La copie sur %@ est conservée ; ne la reprenez pas aussi là-bas." } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "在終端機中選取文字時,會將文字複製到剪貼簿。" + "value": "%@ のコピーは残ります。そちらでも再開しないでください。" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "在终端中选择文本时,会将文本复制到剪贴板。" + "value": "%@의 사본은 그대로 남습니다. 그곳에서도 재개하지 마세요." } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "터미널에서 텍스트를 선택하면 클립보드에 복사됩니다." + "value": "%@ 上的副本会保留;请勿也在那里恢复它。" } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "ターミナルでテキストを選択すると、クリップボードにコピーされます。" + "value": "%@ 上的副本會保留;請勿也在那裡恢復它。" } } } }, - "settings.terminal.reflowHardWrapOnCopy.subtitle": { + "cli.session.move.progress.addingWorktree": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Copying text also joins line breaks a program printed at the full terminal width and drops a short continuation indent. Soft-wrapped lines always copy as one line." + "value": "session move: adding worktree %@ on the destination" } }, - "de": { + "ar": { "stringUnit": { "state": "translated", - "value": "Beim Kopieren werden auch Zeilenumbrüche zusammengefügt, die ein Programm bei voller Terminalbreite ausgegeben hat, und ein kurzer Fortsetzungseinzug wird entfernt. Weich umbrochene Zeilen werden immer als eine Zeile kopiert." + "value": "session move: جارٍ إضافة worktree %@ في الوجهة" } }, - "fr": { + "de": { "stringUnit": { "state": "translated", - "value": "Lors de la copie, les sauts de ligne qu’un programme a insérés à pleine largeur du terminal sont aussi supprimés, ainsi qu’un court retrait de continuation. Les lignes à retour automatique sont toujours copiées sur une seule ligne." + "value": "session move: Worktree %@ wird am Ziel hinzugefügt" } }, - "ar": { + "es": { "stringUnit": { "state": "translated", - "value": "عند النسخ، تُدمج أيضًا فواصل الأسطر التي طبعها برنامج عند العرض الكامل للطرفية، وتُحذف مسافة البادئة القصيرة للسطر التالي. أما الأسطر الملتفّة تلقائيًا فتُنسخ دائمًا كسطر واحد." + "value": "session move: añadiendo el worktree %@ en el destino" } }, - "es": { + "fr": { "stringUnit": { "state": "translated", - "value": "Al copiar, también se unen los saltos de línea que un programa imprimió al ancho completo de la terminal y se quita una sangría de continuación corta. Las líneas con ajuste automático siempre se copian como una sola línea." + "value": "session move : ajout du worktree %@ sur la destination" } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "複製文字時,也會合併程式在終端機滿寬處輸出的換行,並移除較短的續行縮排。自動換行的行一律會複製為一行。" + "value": "session move: 移動先に worktree %@ を追加しています" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "复制文本时,也会合并程序在终端满宽处输出的换行,并移除较短的续行缩进。自动换行的行始终会复制为一行。" + "value": "session move: 대상에 worktree %@을(를) 추가하는 중" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "텍스트를 복사할 때 프로그램이 터미널 전체 너비에서 넣은 줄바꿈도 합치고 짧은 연속 들여쓰기를 제거합니다. 자동 줄바꿈된 줄은 항상 한 줄로 복사됩니다." + "value": "session move:正在目标上添加 worktree %@" } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "テキストをコピーするとき、プログラムがターミナルの幅いっぱいで出力した改行もつなげ、短い継続インデントを取り除きます。ソフトラップされた行は常に 1 行としてコピーされます。" + "value": "session move:正在目的地新增 worktree %@" } } } }, - "settings.terminal.importFromTerminal": { + "browser.omnibar.accessibilityLabel": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Import from Another Terminal" + "value": "Address and search bar" } }, - "ja": { + "de": { "stringUnit": { "state": "translated", - "value": "別のターミナルから読み込む" + "value": "Adress- und Suchleiste" } }, - "zh-Hans": { + "fr": { "stringUnit": { "state": "translated", - "value": "从其他终端导入" + "value": "Barre d’adresse et de recherche" } }, - "de": { + "ar": { "stringUnit": { "state": "translated", - "value": "Aus anderem Terminal importieren" + "value": "شريط العنوان والبحث" } }, - "fr": { + "es": { "stringUnit": { "state": "translated", - "value": "Importer depuis un autre terminal" + "value": "Barra de direcciones y búsqueda" } }, - "ar": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "استيراد من طرفية أخرى" + "value": "網址與搜尋列" } }, - "es": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "Importar desde otra terminal" + "value": "地址和搜索栏" } }, - "zh-Hant": { + "ko": { "stringUnit": { "state": "translated", - "value": "從其他終端機匯入" + "value": "주소 및 검색 막대" } }, - "ko": { + "ja": { "stringUnit": { "state": "translated", - "value": "다른 터미널에서 가져오기" + "value": "アドレスと検索バー" } } } }, - "settings.terminal.importFromTerminal.button": { + "projectPanel.reload": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Import…" + "value": "Reload Project" } }, - "ja": { + "de": { "stringUnit": { "state": "translated", - "value": "読み込む…" + "value": "Projekt neu laden" } }, - "zh-Hans": { + "fr": { "stringUnit": { "state": "translated", - "value": "导入…" + "value": "Recharger le projet" } }, - "de": { + "ar": { "stringUnit": { "state": "translated", - "value": "Importieren…" + "value": "إعادة تحميل المشروع" } }, - "fr": { + "es": { "stringUnit": { "state": "translated", - "value": "Importer…" + "value": "Recargar proyecto" } }, - "ar": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "استيراد…" + "value": "重新載入專案" } }, - "es": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "Importar…" + "value": "重新加载项目" } }, - "zh-Hant": { + "ko": { "stringUnit": { "state": "translated", - "value": "匯入…" + "value": "프로젝트 다시 불러오기" } }, - "ko": { + "ja": { "stringUnit": { "state": "translated", - "value": "가져오기…" + "value": "プロジェクトを再読み込み" } } } }, - "settings.terminal.importFromTerminal.subtitle": { + "projectPanel.reloadErrors": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Bring over your font, colors, cursor and more from iTerm2, Terminal, Alacritty, Kitty, WezTerm or Warp." + "value": "Reload returned errors: %@" } }, - "ja": { + "de": { "stringUnit": { "state": "translated", - "value": "iTerm2、ターミナル、Alacritty、Kitty、WezTerm、Warp からフォント、カラー、カーソルなどを引き継ぎます。" + "value": "Beim Neuladen sind Fehler aufgetreten: %@" } }, - "zh-Hans": { + "fr": { "stringUnit": { "state": "translated", - "value": "从 iTerm2、终端、Alacritty、Kitty、WezTerm 或 Warp 导入字体、颜色、光标等设置。" + "value": "Le rechargement a renvoyé des erreurs : %@" } }, - "de": { + "ar": { "stringUnit": { "state": "translated", - "value": "Übernimmt Schrift, Farben, Cursor und mehr aus iTerm2, Terminal, Alacritty, Kitty, WezTerm oder Warp." + "value": "أعادت إعادة التحميل أخطاء: %@" } }, - "fr": { + "es": { "stringUnit": { "state": "translated", - "value": "Reprend la police, les couleurs, le curseur et plus encore depuis iTerm2, Terminal, Alacritty, Kitty, WezTerm ou Warp." + "value": "La recarga devolvió errores: %@" } }, - "ar": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "انقل الخط والألوان والمؤشر وغيرها من iTerm2 أو Terminal أو Alacritty أو Kitty أو WezTerm أو Warp." + "value": "重新載入時發生錯誤:%@" } }, - "es": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "Trae la fuente, los colores, el cursor y más desde iTerm2, Terminal, Alacritty, Kitty, WezTerm o Warp." + "value": "重新加载时出现错误:%@" } }, - "zh-Hant": { + "ko": { "stringUnit": { "state": "translated", - "value": "從 iTerm2、終端機、Alacritty、Kitty、WezTerm 或 Warp 匯入字體、顏色、游標等設定。" + "value": "다시 불러오기 중 오류 발생: %@" } }, - "ko": { + "ja": { "stringUnit": { "state": "translated", - "value": "iTerm2, 터미널, Alacritty, Kitty, WezTerm, Warp에서 글꼴, 색상, 커서 등을 가져옵니다." + "value": "再読み込みでエラーが発生しました: %@" } } } }, - "settings.terminal.memoryGuardrail.subtitle": { + "projectPanel.dismissReloadErrors": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Warns when the processes in one pane use too much memory." + "value": "Dismiss Errors" } }, "de": { "stringUnit": { "state": "translated", - "value": "Warnt, wenn die Prozesse in einem Teilfenster zu viel Speicher verbrauchen." + "value": "Fehler ausblenden" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Avertit lorsque les processus d’un volet utilisent trop de mémoire." + "value": "Ignorer les erreurs" } }, "ar": { "stringUnit": { "state": "translated", - "value": "ينبّه عندما تستهلك العمليات في جزء واحد ذاكرة أكثر من اللازم." + "value": "تجاهل الأخطاء" } }, "es": { "stringUnit": { "state": "translated", - "value": "Avisa cuando los procesos de un panel usan demasiada memoria." + "value": "Descartar errores" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "單一窗格中的處理程序使用過多記憶體時發出警告。" + "value": "關閉錯誤" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "某个窗格中的进程占用过多内存时发出警告。" + "value": "关闭错误" } }, "ko": { "stringUnit": { "state": "translated", - "value": "한 분할 창의 프로세스가 메모리를 너무 많이 사용하면 경고합니다." + "value": "오류 닫기" } }, "ja": { "stringUnit": { "state": "translated", - "value": "1 つのペインのプロセスがメモリを使いすぎると警告します。" + "value": "エラーを閉じる" } } } }, - "settings.terminal.rendererRealization.subtitle": { + "projectPanel.scheme": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Frees graphics memory from terminals that are out of view. Their processes keep running." + "value": "Scheme" } }, "de": { "stringUnit": { "state": "translated", - "value": "Gibt den Grafikspeicher nicht sichtbarer Terminals frei. Ihre Prozesse laufen weiter." + "value": "Schema" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Libère la mémoire graphique des terminaux hors de vue. Leurs processus continuent de s’exécuter." + "value": "Schéma" } }, "ar": { "stringUnit": { "state": "translated", - "value": "يحرر ذاكرة الرسومات للطرفيات غير الظاهرة، مع استمرار تشغيل عملياتها." + "value": "المخطط" } }, "es": { "stringUnit": { "state": "translated", - "value": "Libera la memoria gráfica de las terminales fuera de la vista. Sus procesos siguen ejecutándose." + "value": "Esquema" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "釋放不在畫面上的終端機所使用的圖形記憶體,其處理程序仍會繼續執行。" + "value": "方案" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "释放不在屏幕上的终端所占用的图形内存,其进程仍会继续运行。" + "value": "方案" } }, "ko": { "stringUnit": { "state": "translated", - "value": "화면에 보이지 않는 터미널의 그래픽 메모리를 해제합니다. 해당 프로세스는 계속 실행됩니다." + "value": "스킴" } }, "ja": { "stringUnit": { "state": "translated", - "value": "表示されていないターミナルのグラフィックスメモリを解放します。プロセスは動作し続けます。" + "value": "スキーム" } } } }, - "settings.terminal.scrollBar.subtitle": { + "projectPanel.configuration": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Shows a scroll bar in terminals, except in full-screen apps." + "value": "Configuration" } }, "de": { "stringUnit": { "state": "translated", - "value": "Zeigt in Terminals eine Bildlaufleiste an, außer in Vollbild-Apps." + "value": "Konfiguration" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Affiche une barre de défilement dans les terminaux, sauf dans les apps en plein écran." + "value": "Configuration de build" } }, "ar": { "stringUnit": { "state": "translated", - "value": "يعرض شريط تمرير في الطرفيات، إلا في التطبيقات بملء الشاشة." + "value": "التكوين" } }, "es": { "stringUnit": { "state": "translated", - "value": "Muestra una barra de desplazamiento en las terminales, excepto en las apps a pantalla completa." + "value": "Configuración" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "在終端機中顯示捲軸(全螢幕 App 除外)。" + "value": "組態" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "在终端中显示滚动条(全屏 App 除外)。" + "value": "配置" } }, "ko": { "stringUnit": { "state": "translated", - "value": "터미널에 스크롤 바를 표시합니다(전체 화면 앱 제외)." + "value": "구성" } }, "ja": { "stringUnit": { "state": "translated", - "value": "ターミナルにスクロールバーを表示します(フルスクリーンアプリを除く)。" + "value": "構成" } } } }, - "settings.terminal.sessionContentWidth.subtitle": { + "projectPanel.loadingFormat": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Wraps terminal and agent chat content at this width. Narrow panes still use their full width." + "value": "Loading %@" } }, "de": { "stringUnit": { "state": "translated", - "value": "Terminal- und Agenten-Chat-Inhalte werden bei dieser Breite umbrochen. Schmalere Teilfenster nutzen weiterhin ihre volle Breite." + "value": "%@ wird geladen" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Le contenu du terminal et du chat de l’agent revient à la ligne à cette largeur. Les volets plus étroits conservent toute leur largeur." + "value": "Chargement de %@" } }, "ar": { "stringUnit": { "state": "translated", - "value": "يلتف محتوى الطرفية ودردشة الوكيل عند هذا العرض. أما الأجزاء الأضيق فتستخدم عرضها الكامل." + "value": "جارٍ تحميل %@" } }, "es": { "stringUnit": { "state": "translated", - "value": "El contenido de la terminal y del chat de agentes se ajusta a este ancho. Los paneles más estrechos siguen usando todo su ancho." + "value": "Cargando %@" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "終端機和代理對話的內容會在此寬度換行。較窄的窗格仍使用完整寬度。" + "value": "正在載入 %@" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "终端和代理对话的内容会在此宽度处换行。较窄的窗格仍使用全部宽度。" + "value": "正在加载 %@" } }, "ko": { "stringUnit": { "state": "translated", - "value": "터미널과 에이전트 채팅 내용을 이 너비에서 줄바꿈합니다. 이보다 좁은 분할 창에서는 전체 너비를 사용합니다." + "value": "%@ 불러오는 중" } }, "ja": { "stringUnit": { "state": "translated", - "value": "ターミナルとエージェントチャットの内容をこの幅で折り返します。これより狭いペインでは、ペインの幅いっぱいに表示します。" + "value": "%@ を読み込み中" } } } }, - "settings.terminal.textEditingGestures.subtitle": { + "projectPanel.failedFormat": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Command and Option arrow and delete keys move and delete by line and word at the shell prompt." + "value": "Failed: %@" } }, - "ja": { + "de": { "stringUnit": { "state": "translated", - "value": "シェルのプロンプトでは、Command と Option の矢印キー・削除キーで行単位・単語単位に移動・削除します。" + "value": "Fehlgeschlagen: %@" } }, - "zh-Hans": { + "fr": { "stringUnit": { "state": "translated", - "value": "在 shell 提示符下,Command 和 Option 加方向键和删除键按行和按词移动和删除。" + "value": "Échec : %@" } }, - "de": { + "ar": { "stringUnit": { "state": "translated", - "value": "Befehls- und Wahltaste mit Pfeil- und Löschtasten bewegen und löschen an der Shell-Eingabeaufforderung zeilen- und wortweise." + "value": "فشل: %@" } }, - "fr": { + "es": { "stringUnit": { "state": "translated", - "value": "À l'invite du shell, les flèches et la touche Supprimer avec Commande et Option déplacent et suppriment par ligne et par mot." + "value": "Error: %@" } }, - "ar": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "في موجه الصدفة، تنقل مفاتيح الأسهم والحذف مع Command وOption وتحذف حسب السطر والكلمة." + "value": "失敗:%@" } }, - "es": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "En el prompt de la shell, las flechas y la tecla Eliminar con Comando y Opción mueven y borran por línea y por palabra." + "value": "失败:%@" } }, - "zh-Hant": { + "ko": { "stringUnit": { "state": "translated", - "value": "在 shell 提示字元下,Command 與 Option 加方向鍵與刪除鍵會依行與依字移動與刪除。" + "value": "실패: %@" } }, - "ko": { + "ja": { "stringUnit": { "state": "translated", - "value": "셸 프롬프트에서 Command 및 Option 화살표와 삭제 키가 줄 및 단어 단위로 이동하고 삭제합니다." + "value": "失敗: %@" } } } }, - "settings.textBox.focusOnNewTerminals.subtitle": { + "update.readyWaiting": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Opening a terminal tab, split, or workspace puts keyboard focus in the TextBox." + "value": "Update Ready" } }, "de": { "stringUnit": { "state": "translated", - "value": "Wenn ein Terminal-Tab, eine Teilung oder ein Arbeitsbereich geöffnet wird, liegt der Tastaturfokus in der TextBox." + "value": "Update bereit" } }, "fr": { "stringUnit": { "state": "translated", - "value": "À l’ouverture d’un onglet, d’une division ou d’un espace de travail de terminal, le focus du clavier est placé dans la TextBox." + "value": "Mise à jour prête" } }, "ar": { "stringUnit": { "state": "translated", - "value": "عند فتح علامة تبويب طرفية أو تقسيم أو مساحة عمل، ينتقل تركيز لوحة المفاتيح إلى TextBox." + "value": "التحديث جاهز" } }, "es": { "stringUnit": { "state": "translated", - "value": "Al abrir una pestaña de terminal, una división o un espacio de trabajo, el enfoque del teclado se sitúa en el TextBox." + "value": "Actualización lista" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "開啟終端機標籤頁、分割或工作區時,將鍵盤焦點移到 TextBox。" + "value": "更新已就緒" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "打开终端标签页、分屏或工作区时,将键盘焦点移到 TextBox。" + "value": "更新已就绪" } }, "ko": { "stringUnit": { "state": "translated", - "value": "터미널 탭, 분할 또는 작업 공간을 열면 키보드 포커스가 TextBox로 이동합니다." + "value": "업데이트 준비됨" } }, "ja": { "stringUnit": { "state": "translated", - "value": "ターミナルタブ、分割、またはワークスペースを開くと、キーボードフォーカスが TextBox に移動します。" + "value": "アップデートの準備完了" } } } }, - "settings.textBox.showOnNewTerminals.subtitle": { + "update.installNow": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Opening a terminal tab, split, or workspace shows the TextBox." + "value": "Install Now" } }, "de": { "stringUnit": { "state": "translated", - "value": "Beim Öffnen eines Terminal-Tabs, einer Teilung oder eines Arbeitsbereichs erscheint die TextBox." + "value": "Jetzt installieren" } }, "fr": { "stringUnit": { "state": "translated", - "value": "À l’ouverture d’un onglet, d’une division ou d’un espace de travail de terminal, la TextBox s’affiche." + "value": "Installer maintenant" } }, "ar": { "stringUnit": { "state": "translated", - "value": "عند فتح علامة تبويب طرفية أو تقسيم أو مساحة عمل، يظهر TextBox." + "value": "التثبيت الآن" } }, "es": { "stringUnit": { "state": "translated", - "value": "Al abrir una pestaña de terminal, una división o un espacio de trabajo, se muestra el TextBox." + "value": "Instalar ahora" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "開啟終端機標籤頁、分割或工作區時顯示 TextBox。" + "value": "立即安裝" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "打开终端标签页、分屏或工作区时显示 TextBox。" + "value": "立即安装" } }, "ko": { "stringUnit": { "state": "translated", - "value": "터미널 탭, 분할 또는 작업 공간을 열면 TextBox가 표시됩니다." + "value": "지금 설치" } }, "ja": { "stringUnit": { "state": "translated", - "value": "ターミナルタブ、分割、またはワークスペースを開くと、TextBox が表示されます。" + "value": "今すぐインストール" } } } }, - "workspaceGroup.error.customColorIsNotAnInputKey": { + "terminal.paste.notice.imageTooLarge": { "extractionState": "manual", "localizations": { - "en": { + "ar": { "stringUnit": { "state": "translated", - "value": "unknown key custom_color; set_color accepts hex or color" + "value": "الصورة أكبر من 10 ميغابايت" } }, - "ja": { + "de": { "stringUnit": { "state": "translated", - "value": "不明なキー custom_color です。set_color は hex または color を受け付けます" + "value": "Bild ist größer als 10 MB" } }, - "zh-Hans": { + "en": { "stringUnit": { "state": "translated", - "value": "未知的键 custom_color;set_color 接受 hex 或 color" + "value": "Image is larger than 10 MB" } }, - "de": { + "es": { "stringUnit": { "state": "translated", - "value": "Unbekannter Schlüssel custom_color; set_color akzeptiert hex oder color" + "value": "La imagen supera los 10 MB" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Clé inconnue custom_color ; set_color accepte hex ou color" + "value": "L’image dépasse 10 Mo" } }, - "ar": { + "ja": { "stringUnit": { "state": "translated", - "value": "مفتاح غير معروف custom_color؛ يقبل set_color المفتاح hex أو color" + "value": "画像が 10 MB を超えています" } }, - "es": { + "ko": { "stringUnit": { "state": "translated", - "value": "Clave desconocida custom_color; set_color acepta hex o color" + "value": "이미지가 10MB보다 큽니다" } }, - "zh-Hant": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "未知的鍵 custom_color;set_color 接受 hex 或 color" + "value": "图片大于 10 MB" } }, - "ko": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "알 수 없는 키 custom_color입니다. set_color는 hex 또는 color를 받습니다" + "value": "圖片大於 10 MB" } } } }, - "workspaceGroup.error.colorMustBeHex": { + "terminal.paste.notice.timedOut": { "extractionState": "manual", "localizations": { - "en": { + "ar": { "stringUnit": { "state": "translated", - "value": "color must be a 6-digit hex color like #FF3EA5 (leading # optional)" + "value": "انتهت مهلة اللصق" } }, - "ja": { + "de": { "stringUnit": { "state": "translated", - "value": "color は #FF3EA5 のような 6 桁の 16 進カラーである必要があります(先頭の # は省略可)" + "value": "Zeitüberschreitung beim Einfügen" } }, - "zh-Hans": { + "en": { "stringUnit": { "state": "translated", - "value": "color 必须是 6 位十六进制颜色,例如 #FF3EA5(开头的 # 可省略)" + "value": "Paste timed out" } }, - "de": { + "es": { "stringUnit": { "state": "translated", - "value": "color muss eine 6-stellige Hex-Farbe wie #FF3EA5 sein (führendes # optional)" + "value": "Se agotó el tiempo para pegar" } }, "fr": { "stringUnit": { "state": "translated", - "value": "color doit être une couleur hexadécimale à 6 chiffres comme #FF3EA5 (# initial facultatif)" + "value": "Le collage a expiré" } }, - "ar": { + "ja": { "stringUnit": { "state": "translated", - "value": "يجب أن تكون قيمة color لونًا سداسيًا عشريًا من 6 خانات مثل #FF3EA5 (الرمز # في البداية اختياري)" + "value": "貼り付けがタイムアウトしました" } }, - "es": { + "ko": { "stringUnit": { "state": "translated", - "value": "color debe ser un color hexadecimal de 6 dígitos como #FF3EA5 (el # inicial es opcional)" + "value": "붙여넣기 시간이 초과되었습니다" } }, - "zh-Hant": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "color 必須是 6 位十六進位顏色,例如 #FF3EA5(開頭的 # 可省略)" + "value": "粘贴超时" } }, - "ko": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "color는 #FF3EA5 같은 6자리 16진수 색상이어야 합니다(앞의 #는 생략 가능)" + "value": "貼上逾時" } } } }, - "workspaceGroup.error.colorMustBeString": { + "shortcut.pasteLastScreenshot.label": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "color must be a string holding a hex color" + "value": "Paste Last Screenshot" } }, - "ja": { + "ar": { "stringUnit": { "state": "translated", - "value": "color は 16 進カラーを含む文字列である必要があります" + "value": "لصق آخر لقطة شاشة" } }, - "zh-Hans": { + "de": { "stringUnit": { "state": "translated", - "value": "color 必须是包含十六进制颜色的字符串" + "value": "Letzten Screenshot einfügen" } }, - "de": { + "es": { "stringUnit": { "state": "translated", - "value": "color muss ein String mit einer Hex-Farbe sein" + "value": "Pegar la última captura de pantalla" } }, "fr": { "stringUnit": { "state": "translated", - "value": "color doit être une chaîne contenant une couleur hexadécimale" + "value": "Coller la dernière capture d’écran" } }, - "ar": { + "ja": { "stringUnit": { "state": "translated", - "value": "يجب أن تكون قيمة color سلسلة نصية تحتوي على لون سداسي عشري" + "value": "最新のスクリーンショットを貼り付け" } }, - "es": { + "ko": { "stringUnit": { "state": "translated", - "value": "color debe ser una cadena de texto con un color hexadecimal" + "value": "마지막 스크린샷 붙여넣기" } }, - "zh-Hant": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "color 必須是包含十六進位顏色的字串" + "value": "粘贴最新的截图" } }, - "ko": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "color는 16진수 색상을 담은 문자열이어야 합니다" + "value": "貼上最新的螢幕截圖" } } } }, - "workspaceGroup.error.iconSymbolIsNotAnInputKey": { + "command.terminalPasteLastScreenshot.title": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "unknown key icon_symbol; set_icon accepts symbol or icon" + "value": "Paste Last Screenshot" } }, - "ja": { + "ar": { "stringUnit": { "state": "translated", - "value": "不明なキー icon_symbol です。set_icon は symbol または icon を受け付けます" + "value": "لصق آخر لقطة شاشة" } }, - "zh-Hans": { + "de": { "stringUnit": { "state": "translated", - "value": "未知的键 icon_symbol;set_icon 接受 symbol 或 icon" + "value": "Letzten Screenshot einfügen" } }, - "de": { + "es": { "stringUnit": { "state": "translated", - "value": "Unbekannter Schlüssel icon_symbol; set_icon akzeptiert symbol oder icon" + "value": "Pegar la última captura de pantalla" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Clé inconnue icon_symbol ; set_icon accepte symbol ou icon" + "value": "Coller la dernière capture d’écran" } }, - "ar": { + "ja": { "stringUnit": { "state": "translated", - "value": "مفتاح غير معروف icon_symbol؛ يقبل set_icon المفتاح symbol أو icon" + "value": "最新のスクリーンショットを貼り付け" } }, - "es": { + "ko": { "stringUnit": { "state": "translated", - "value": "Clave desconocida icon_symbol; set_icon acepta symbol o icon" + "value": "마지막 스크린샷 붙여넣기" } }, - "zh-Hant": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "未知的鍵 icon_symbol;set_icon 接受 symbol 或 icon" + "value": "粘贴最新的截图" } }, - "ko": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "알 수 없는 키 icon_symbol입니다. set_icon은 symbol 또는 icon을 받습니다" + "value": "貼上最新的螢幕截圖" } } } }, - "workspaceGroup.error.symbolMustBeString": { + "settings.terminal.importFromTerminal": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "symbol must be a string" + "value": "Import from Another Terminal" } }, "ja": { "stringUnit": { "state": "translated", - "value": "symbol は文字列である必要があります" + "value": "別のターミナルから読み込む" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "symbol 必须是字符串" + "value": "从其他终端导入" } }, "de": { "stringUnit": { "state": "translated", - "value": "symbol muss ein String sein" + "value": "Aus anderem Terminal importieren" } }, "fr": { "stringUnit": { "state": "translated", - "value": "symbol doit être une chaîne de caractères" + "value": "Importer depuis un autre terminal" } }, "ar": { "stringUnit": { "state": "translated", - "value": "يجب أن تكون قيمة symbol سلسلة نصية" + "value": "استيراد من طرفية أخرى" } }, "es": { "stringUnit": { "state": "translated", - "value": "symbol debe ser una cadena de texto" + "value": "Importar desde otra terminal" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "symbol 必須是字串" + "value": "從其他終端機匯入" } }, "ko": { "stringUnit": { "state": "translated", - "value": "symbol은 문자열이어야 합니다" + "value": "다른 터미널에서 가져오기" } } } }, - "settings.app.equalizeSplitsOnCreate.subtitle": { + "settings.terminal.importFromTerminal.button": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Splitting a pane makes the panes in that direction equal in size." + "value": "Import…" } }, - "de": { + "ja": { "stringUnit": { "state": "translated", - "value": "Wird ein Teilfenster geteilt, werden alle Teilfenster in dieser Richtung gleich groß." + "value": "読み込む…" } }, - "fr": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "Lorsqu’un volet est divisé, les volets dans cette direction prennent la même taille." + "value": "导入…" } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "عند تقسيم جزء، تصبح الأجزاء في ذلك الاتجاه متساوية الحجم." + "value": "Importieren…" } }, - "es": { + "fr": { "stringUnit": { "state": "translated", - "value": "Al dividir un panel, los paneles en esa dirección se ajustan al mismo tamaño." + "value": "Importer…" } }, - "zh-Hant": { + "ar": { "stringUnit": { "state": "translated", - "value": "分割窗格時,同一方向的窗格會調整為相同大小。" + "value": "استيراد…" } }, - "zh-Hans": { + "es": { "stringUnit": { "state": "translated", - "value": "拆分窗格时,同一方向的窗格会调整为相同大小。" + "value": "Importar…" } }, - "ko": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "창을 분할하면 같은 방향의 분할 창이 모두 같은 크기가 됩니다." + "value": "匯入…" } }, - "ja": { + "ko": { "stringUnit": { "state": "translated", - "value": "ペインを分割すると、その方向のペインが同じサイズになります。" + "value": "가져오기…" } } } }, - "settings.terminal.showPasswordInputIndicator.subtitle": { + "settings.terminal.importFromTerminal.subtitle": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Shows a lock badge in the terminal corner while a program such as sudo or ssh reads a password with echo off. Only local prompts are detected: ssh's own password prompt counts, but sudo inside an ssh session does not." + "value": "Bring over your font, colors, cursor and more from iTerm2, Terminal, Alacritty, Kitty, WezTerm or Warp." } }, - "de": { + "ja": { "stringUnit": { "state": "translated", - "value": "Zeigt in der Terminalecke ein Schloss-Symbol an, während ein Programm wie sudo oder ssh ein Passwort ohne Echo einliest. Nur lokale Abfragen werden erkannt: Die Passwortabfrage von ssh selbst zählt, sudo innerhalb einer ssh-Sitzung nicht." + "value": "iTerm2、ターミナル、Alacritty、Kitty、WezTerm、Warp からフォント、カラー、カーソルなどを引き継ぎます。" } }, - "fr": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "Affiche un badge de cadenas dans le coin du terminal pendant qu'un programme comme sudo ou ssh lit un mot de passe sans écho. Seules les invites locales sont détectées : l'invite de mot de passe de ssh compte, mais pas sudo dans une session ssh." + "value": "从 iTerm2、终端、Alacritty、Kitty、WezTerm 或 Warp 导入字体、颜色、光标等设置。" } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "يعرض شارة قفل في زاوية الطرفية أثناء قراءة برنامج مثل sudo أو ssh لكلمة مرور مع إيقاف الصدى. تُكتشف المطالبات المحلية فقط: تُحتسب مطالبة كلمة مرور ssh نفسها، أما sudo داخل جلسة ssh فلا." + "value": "Übernimmt Schrift, Farben, Cursor und mehr aus iTerm2, Terminal, Alacritty, Kitty, WezTerm oder Warp." } }, - "es": { + "fr": { "stringUnit": { "state": "translated", - "value": "Muestra una insignia de candado en la esquina del terminal mientras un programa como sudo o ssh lee una contraseña sin eco. Solo se detectan las solicitudes locales: la solicitud de contraseña de ssh cuenta, pero sudo dentro de una sesión ssh no." + "value": "Reprend la police, les couleurs, le curseur et plus encore depuis iTerm2, Terminal, Alacritty, Kitty, WezTerm ou Warp." } }, - "zh-Hant": { + "ar": { "stringUnit": { "state": "translated", - "value": "當 sudo 或 ssh 等程式在關閉回顯的情況下讀取密碼時,在終端機角落顯示鎖頭標記。僅偵測本機提示:ssh 本身的密碼提示會被偵測,但 ssh 工作階段中的 sudo 不會。" + "value": "انقل الخط والألوان والمؤشر وغيرها من iTerm2 أو Terminal أو Alacritty أو Kitty أو WezTerm أو Warp." } }, - "zh-Hans": { + "es": { "stringUnit": { "state": "translated", - "value": "当 sudo 或 ssh 等程序在关闭回显的情况下读取密码时,在终端角落显示锁形标记。仅检测本地提示:ssh 自身的密码提示会被检测,但 ssh 会话中的 sudo 不会。" + "value": "Trae la fuente, los colores, el cursor y más desde iTerm2, Terminal, Alacritty, Kitty, WezTerm o Warp." } }, - "ko": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "sudo나 ssh 같은 프로그램이 에코를 끈 상태로 비밀번호를 읽는 동안 터미널 모서리에 자물쇠 배지를 표시합니다. 로컬 프롬프트만 감지됩니다. ssh 자체의 비밀번호 프롬프트는 포함되지만 ssh 세션 안의 sudo는 포함되지 않습니다." + "value": "從 iTerm2、終端機、Alacritty、Kitty、WezTerm 或 Warp 匯入字體、顏色、游標等設定。" } }, - "ja": { + "ko": { "stringUnit": { "state": "translated", - "value": "sudo や ssh などのプログラムがエコーをオフにしてパスワードを読み取っている間、ターミナルの隅に鍵のバッジを表示します。検出されるのはローカルのプロンプトだけです。ssh 自体のパスワード入力は対象ですが、ssh セッション内の sudo は対象外です。" + "value": "iTerm2, 터미널, Alacritty, Kitty, WezTerm, Warp에서 글꼴, 색상, 커서 등을 가져옵니다." } } } }, - "settings.terminal.showPasswordInputDots.subtitle": { + "workspaceGroup.error.customColorIsNotAnInputKey": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Shows one dot in the badge per typed character. cmux keeps only a count, never the characters. Pasted text is not counted." + "value": "unknown key custom_color; set_color accepts hex or color" } }, - "de": { + "ja": { "stringUnit": { "state": "translated", - "value": "Zeigt im Symbol einen Punkt pro eingegebenem Zeichen. cmux speichert nur die Anzahl, niemals die Zeichen. Eingefügter Text wird nicht gezählt." + "value": "不明なキー custom_color です。set_color は hex または color を受け付けます" } }, - "fr": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "Affiche dans le badge un point par caractère saisi. cmux ne conserve qu'un compteur, jamais les caractères. Le texte collé n'est pas compté." + "value": "未知的键 custom_color;set_color 接受 hex 或 color" } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "يعرض في الشارة نقطة واحدة لكل حرف مكتوب. يحتفظ cmux بالعدد فقط، ولا يحتفظ بالأحرف أبدًا. لا يُحتسب النص الملصق." + "value": "Unbekannter Schlüssel custom_color; set_color akzeptiert hex oder color" } }, - "es": { + "fr": { "stringUnit": { "state": "translated", - "value": "Muestra en la insignia un punto por cada carácter escrito. cmux solo guarda un recuento, nunca los caracteres. El texto pegado no se cuenta." + "value": "Clé inconnue custom_color ; set_color accepte hex ou color" } }, - "zh-Hant": { + "ar": { "stringUnit": { "state": "translated", - "value": "在標記中為每個已輸入的字元顯示一個圓點。cmux 只保留數量,絕不保留字元本身。貼上的文字不計入。" + "value": "مفتاح غير معروف custom_color؛ يقبل set_color المفتاح hex أو color" } }, - "zh-Hans": { + "es": { "stringUnit": { "state": "translated", - "value": "在标记中为每个已输入的字符显示一个圆点。cmux 只保留数量,绝不保留字符本身。粘贴的文本不计入。" + "value": "Clave desconocida custom_color; set_color acepta hex o color" } }, - "ko": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "배지에 입력한 문자마다 점을 하나씩 표시합니다. cmux는 개수만 유지하며 문자는 절대 보관하지 않습니다. 붙여넣은 텍스트는 세지 않습니다." + "value": "未知的鍵 custom_color;set_color 接受 hex 或 color" } }, - "ja": { + "ko": { "stringUnit": { "state": "translated", - "value": "入力した文字ごとにバッジにドットを 1 つ表示します。cmux が保持するのは数だけで、文字そのものは保持しません。貼り付けたテキストは数えません。" + "value": "알 수 없는 키 custom_color입니다. set_color는 hex 또는 color를 받습니다" } } } }, - "cli.session.usage": { + "workspaceGroup.error.colorMustBeHex": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Usage: cmux session move <session-id> --to <ssh-destination|local> [options]\n\nMove a stopped Claude Code session to another machine and resume it there.\nExit the agent first: the move refuses while the session runs on either side.\n\nThe move carries:\n - the cwd's git checkout: HEAD (on the same branch when safe) plus modified,\n deleted and untracked non-ignored files; a worktree is added when the\n repository exists on the destination but the path does not\n - the transcript, its session directory, file history, and the project\n memory directory (merged both ways, newest wins, nothing deleted)\n\nIt then opens a workspace on the destination (`cmux ssh` for a host, a local\nworkspace for `local`) that resumes the session with its recorded launcher.\nWhen the destination home is not at the same absolute path, paths under the\nhome are mapped and the project is re-slugged.\n\nOptions:\n --to <destination> SSH destination (user@host or ssh_config alias), or local\n --from <destination> Where the session is now (default: where the last move put it, else local)\n --name <title> Workspace title (default: the first 8 characters of the id)\n --no-code Do not carry the git checkout\n --port <n> SSH port\n --identity <path> SSH identity file\n --ssh-option <opt> Extra SSH -o option (repeatable)\n --no-focus Open the workspace without switching to it\n\nExamples:\n cmux session move 0b7a1e7c-3f0a-4c6e-9d59-8a0d8f7c2b11 --to dev@my-host\n cmux session move 0b7a1e7c-3f0a-4c6e-9d59-8a0d8f7c2b11 --to local" + "value": "color must be a 6-digit hex color like #FF3EA5 (leading # optional)" } }, - "de": { + "ja": { "stringUnit": { "state": "translated", - "value": "Verwendung: cmux session move <session-id> --to <ssh-destination|local> [options]\n\nVerschiebt eine beendete Claude Code-Sitzung auf eine andere Maschine und setzt sie dort fort.\nBeende zuerst den Agenten: Die Verschiebung wird abgelehnt, solange die Sitzung auf einer Seite läuft.\n\nDie Verschiebung überträgt:\n - den git-Checkout des cwd: HEAD (auf demselben Branch, wenn das sicher ist) sowie geänderte,\n gelöschte und nicht ignorierte, nicht verfolgte Dateien; ein Worktree wird hinzugefügt, wenn\n das Repository am Ziel existiert, der Pfad aber nicht\n - das Transkript, sein Sitzungsverzeichnis, den Dateiverlauf und das Projektgedächtnis\n (in beide Richtungen zusammengeführt, das Neueste gewinnt, nichts wird gelöscht)\n\nDanach öffnet sie am Ziel einen Workspace (`cmux ssh` für einen Host, einen lokalen Workspace\nfür `local`), der die Sitzung mit ihrem aufgezeichneten Launcher fortsetzt. Liegt das Home-\nVerzeichnis am Ziel nicht unter demselben absoluten Pfad, werden Pfade darunter umgeschrieben\nund das Projekt erhält einen neuen Slug.\n\nOptionen:\n --to <destination> SSH-Ziel (user@host oder ssh_config-Alias) oder local\n --from <destination> Wo die Sitzung jetzt ist (Standard: wohin die letzte Verschiebung sie gebracht hat, sonst local)\n --name <title> Workspace-Titel (Standard: die ersten 8 Zeichen der ID)\n --no-code Den git-Checkout nicht übertragen\n --port <n> SSH-Port\n --identity <path> SSH-Identitätsdatei\n --ssh-option <opt> Zusätzliche SSH-Option -o (wiederholbar)\n --no-focus Workspace öffnen, ohne dorthin zu wechseln\n\nBeispiele:\n cmux session move 0b7a1e7c-3f0a-4c6e-9d59-8a0d8f7c2b11 --to dev@my-host\n cmux session move 0b7a1e7c-3f0a-4c6e-9d59-8a0d8f7c2b11 --to local" + "value": "color は #FF3EA5 のような 6 桁の 16 進カラーである必要があります(先頭の # は省略可)" } }, - "fr": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "Utilisation: cmux session move <session-id> --to <ssh-destination|local> [options]\n\nDéplace une session Claude Code arrêtée vers une autre machine et la reprend là-bas.\nQuittez d'abord l'agent : le déplacement est refusé tant que la session s'exécute d'un côté ou de l'autre.\n\nLe déplacement transfère :\n - le checkout git du cwd : HEAD (sur la même branche quand c'est sûr) ainsi que les fichiers\n modifiés, supprimés et non suivis non ignorés ; un worktree est ajouté quand le dépôt existe\n sur la destination mais pas le chemin\n - la transcription, son répertoire de session, l'historique des fichiers et la mémoire du\n projet (fusionnée dans les deux sens, le plus récent l'emporte, rien n'est supprimé)\n\nIl ouvre ensuite un espace de travail sur la destination (`cmux ssh` pour un hôte, un espace\nlocal pour `local`) qui reprend la session avec son lanceur enregistré. Quand le dossier\npersonnel de destination n'a pas le même chemin absolu, les chemins qu'il contient sont\nconvertis et le projet reçoit un nouveau slug.\n\nOptions :\n --to <destination> Destination SSH (user@host ou alias ssh_config), ou local\n --from <destination> Où se trouve la session (par défaut : là où l'a mise le dernier déplacement, sinon local)\n --name <title> Titre de l'espace de travail (par défaut : les 8 premiers caractères de l'id)\n --no-code Ne pas transférer le checkout git\n --port <n> Port SSH\n --identity <path> Fichier d'identité SSH\n --ssh-option <opt> Option SSH -o supplémentaire (répétable)\n --no-focus Ouvrir l'espace de travail sans y basculer\n\nExemples :\n cmux session move 0b7a1e7c-3f0a-4c6e-9d59-8a0d8f7c2b11 --to dev@my-host\n cmux session move 0b7a1e7c-3f0a-4c6e-9d59-8a0d8f7c2b11 --to local" + "value": "color 必须是 6 位十六进制颜色,例如 #FF3EA5(开头的 # 可省略)" } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "الاستخدام: cmux session move <session-id> --to <ssh-destination|local> [options]\n\nينقل جلسة Claude Code متوقفة إلى جهاز آخر ويستأنفها هناك.\nأغلق الوكيل أولًا: يُرفض النقل ما دامت الجلسة تعمل على أي من الجانبين.\n\nينقل الأمر:\n - checkout الخاص بـ git في cwd: HEAD (على الفرع نفسه عندما يكون ذلك آمنًا) والملفات المعدّلة\n والمحذوفة وغير المتتبعة وغير المتجاهلة؛ ويُضاف worktree عندما يوجد المستودع في الوجهة\n ولا يوجد المسار\n - نص الجلسة ودليل الجلسة وسجل الملفات ودليل ذاكرة المشروع\n (مدمج في الاتجاهين، الأحدث يفوز، ولا يُحذف شيء)\n\nثم يفتح مساحة عمل في الوجهة (`cmux ssh` لمضيف، أو مساحة عمل محلية لـ `local`)\nتستأنف الجلسة بالمشغّل المسجّل لها. عندما لا يكون المجلد الرئيسي في الوجهة\nعلى المسار المطلق نفسه، تُحوَّل المسارات داخله\nويُعاد إنشاء slug للمشروع.\n\nالخيارات:\n --to <destination> وجهة SSH (user@host أو اسم مستعار من ssh_config)، أو local\n --from <destination> مكان الجلسة الآن (الافتراضي: حيث وضعها آخر نقل، وإلا local)\n --name <title> عنوان مساحة العمل (الافتراضي: أول 8 أحرف من المعرّف)\n --no-code لا تنقل checkout الخاص بـ git\n --port <n> منفذ SSH\n --identity <path> ملف هوية SSH\n --ssh-option <opt> خيار SSH إضافي -o (قابل للتكرار)\n --no-focus افتح مساحة العمل دون التبديل إليها\n\nأمثلة:\n cmux session move 0b7a1e7c-3f0a-4c6e-9d59-8a0d8f7c2b11 --to dev@my-host\n cmux session move 0b7a1e7c-3f0a-4c6e-9d59-8a0d8f7c2b11 --to local" + "value": "color muss eine 6-stellige Hex-Farbe wie #FF3EA5 sein (führendes # optional)" } }, - "es": { + "fr": { "stringUnit": { "state": "translated", - "value": "Uso: cmux session move <session-id> --to <ssh-destination|local> [options]\n\nMueve una sesión detenida de Claude Code a otra máquina y la reanuda allí.\nSal primero del agente: el movimiento se rechaza mientras la sesión se ejecute en cualquiera de los lados.\n\nEl movimiento lleva:\n - el checkout de git del cwd: HEAD (en la misma rama cuando es seguro) más los archivos\n modificados, eliminados y sin seguimiento no ignorados; se añade un worktree cuando el\n repositorio existe en el destino pero la ruta no\n - la transcripción, su directorio de sesión, el historial de archivos y la memoria del\n proyecto (combinada en ambos sentidos, gana la más reciente, no se borra nada)\n\nDespués abre un espacio de trabajo en el destino (`cmux ssh` para un host, uno local para\n`local`) que reanuda la sesión con su lanzador registrado. Cuando el home del destino no está\nen la misma ruta absoluta, las rutas bajo él se convierten\ny el proyecto recibe un nuevo slug.\n\nOpciones:\n --to <destination> Destino SSH (user@host o alias de ssh_config), o local\n --from <destination> Dónde está la sesión ahora (por defecto: donde la dejó el último movimiento, si no local)\n --name <title> Título del espacio de trabajo (por defecto: los primeros 8 caracteres del id)\n --no-code No llevar el checkout de git\n --port <n> Puerto SSH\n --identity <path> Archivo de identidad SSH\n --ssh-option <opt> Opción SSH -o adicional (repetible)\n --no-focus Abrir el espacio de trabajo sin cambiar a él\n\nEjemplos:\n cmux session move 0b7a1e7c-3f0a-4c6e-9d59-8a0d8f7c2b11 --to dev@my-host\n cmux session move 0b7a1e7c-3f0a-4c6e-9d59-8a0d8f7c2b11 --to local" + "value": "color doit être une couleur hexadécimale à 6 chiffres comme #FF3EA5 (# initial facultatif)" } }, - "zh-Hant": { + "ar": { "stringUnit": { "state": "translated", - "value": "用法: cmux session move <session-id> --to <ssh-destination|local> [options]\n\n將已停止的 Claude Code 工作階段移到另一台機器並在那裡恢復。\n請先結束代理:只要工作階段仍在任一端執行,移動就會被拒絕。\n\n移動會帶上:\n - cwd 的 git checkout:HEAD(安全時使用同一分支)加上已修改、已刪除\n 和未追蹤且未忽略的檔案;若目的地有儲存庫\n 但沒有該路徑,會新增 worktree\n - 對話紀錄、其工作階段目錄、檔案歷史與專案記憶目錄\n (雙向合併,較新者優先,不刪除任何內容)\n\n接著在目的地開啟工作區(主機用 `cmux ssh`,`local` 則開本機工作區),\n以記錄的啟動器恢復工作階段。\n若目的地的主目錄不在相同的絕對路徑,其下的路徑會被對應,\n專案也會重新產生 slug。\n\n選項:\n --to <destination> SSH 目的地(user@host 或 ssh_config 別名),或 local\n --from <destination> 工作階段目前所在位置(預設:上次移動所放的位置,否則為 local)\n --name <title> 工作區標題(預設:ID 的前 8 個字元)\n --no-code 不帶上 git checkout\n --port <n> SSH 連接埠\n --identity <path> SSH 身分檔案\n --ssh-option <opt> 額外的 SSH -o 選項(可重複)\n --no-focus 開啟工作區但不切換過去\n\n範例:\n cmux session move 0b7a1e7c-3f0a-4c6e-9d59-8a0d8f7c2b11 --to dev@my-host\n cmux session move 0b7a1e7c-3f0a-4c6e-9d59-8a0d8f7c2b11 --to local" + "value": "يجب أن تكون قيمة color لونًا سداسيًا عشريًا من 6 خانات مثل #FF3EA5 (الرمز # في البداية اختياري)" } }, - "zh-Hans": { + "es": { "stringUnit": { "state": "translated", - "value": "用法: cmux session move <session-id> --to <ssh-destination|local> [options]\n\n将已停止的 Claude Code 会话移到另一台机器并在那里恢复。\n请先退出代理:只要会话仍在任一端运行,移动就会被拒绝。\n\n移动会带上:\n - cwd 的 git 检出:HEAD(安全时使用同一分支)以及已修改、已删除\n 和未跟踪且未忽略的文件;若目标上有仓库\n 但没有该路径,会添加 worktree\n - 会话记录、其会话目录、文件历史和项目记忆目录\n (双向合并,较新者优先,不删除任何内容)\n\n随后在目标上打开工作区(主机用 `cmux ssh`,`local` 则打开本地工作区),\n用记录的启动器恢复会话。\n若目标的主目录不在相同的绝对路径,其下的路径会被映射,\n项目也会重新生成 slug。\n\n选项:\n --to <destination> SSH 目标(user@host 或 ssh_config 别名),或 local\n --from <destination> 会话当前所在位置(默认:上次移动放置的位置,否则为 local)\n --name <title> 工作区标题(默认:ID 的前 8 个字符)\n --no-code 不带上 git 检出\n --port <n> SSH 端口\n --identity <path> SSH 身份文件\n --ssh-option <opt> 额外的 SSH -o 选项(可重复)\n --no-focus 打开工作区但不切换过去\n\n示例:\n cmux session move 0b7a1e7c-3f0a-4c6e-9d59-8a0d8f7c2b11 --to dev@my-host\n cmux session move 0b7a1e7c-3f0a-4c6e-9d59-8a0d8f7c2b11 --to local" + "value": "color debe ser un color hexadecimal de 6 dígitos como #FF3EA5 (el # inicial es opcional)" } }, - "ko": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "사용법: cmux session move <session-id> --to <ssh-destination|local> [options]\n\n중지된 Claude Code 세션을 다른 머신으로 옮기고 그곳에서 재개합니다.\n먼저 에이전트를 종료하세요. 어느 쪽에서든 세션이 실행 중이면 이동이 거부됩니다.\n\n이동하는 항목:\n - cwd의 git 체크아웃: HEAD(안전하면 같은 브랜치)와 수정, 삭제,\n 무시되지 않은 추적 안 된 파일. 대상에 저장소는 있지만\n 경로가 없으면 worktree를 추가합니다\n - 트랜스크립트, 세션 디렉터리, 파일 기록, 프로젝트 메모리 디렉터리\n (양방향 병합, 최신 우선, 삭제 없음)\n\n그런 다음 대상에서 작업 공간(호스트는 `cmux ssh`, `local`은 로컬 작업 공간)을 열고\n기록된 런처로 세션을 재개합니다.\n대상의 홈이 같은 절대 경로에 있지 않으면 홈 아래 경로를 변환하고\n프로젝트 slug를 다시 만듭니다.\n\n옵션:\n --to <destination> SSH 대상(user@host 또는 ssh_config 별칭) 또는 local\n --from <destination> 세션의 현재 위치(기본값: 마지막 이동으로 옮긴 곳, 없으면 local)\n --name <title> 작업 공간 제목(기본값: ID의 처음 8자)\n --no-code git 체크아웃을 옮기지 않음\n --port <n> SSH 포트\n --identity <path> SSH ID 파일\n --ssh-option <opt> 추가 SSH -o 옵션(반복 가능)\n --no-focus 작업 공간으로 전환하지 않고 열기\n\n예시:\n cmux session move 0b7a1e7c-3f0a-4c6e-9d59-8a0d8f7c2b11 --to dev@my-host\n cmux session move 0b7a1e7c-3f0a-4c6e-9d59-8a0d8f7c2b11 --to local" + "value": "color 必須是 6 位十六進位顏色,例如 #FF3EA5(開頭的 # 可省略)" } }, - "ja": { + "ko": { "stringUnit": { "state": "translated", - "value": "使用方法: cmux session move <session-id> --to <ssh-destination|local> [options]\n\n停止した Claude Code セッションを別のマシンへ移動し、そこで再開します。\n先にエージェントを終了してください。どちらかでセッションが実行中の間は移動を拒否します。\n\n移動する内容:\n - cwd の git チェックアウト: HEAD (安全なら同じブランチ) と、変更・削除されたファイル、\n 無視されていない未追跡ファイル。移動先にリポジトリはあるが\n パスがない場合は worktree を追加します\n - トランスクリプト、セッションディレクトリ、ファイル履歴、プロジェクトのメモリディレクトリ\n (双方向にマージ、新しいほうを優先、削除はしません)\n\nその後、移動先でワークスペース (ホストなら `cmux ssh`、`local` ならローカルのワークスペース) を\n開き、記録されたランチャーでセッションを再開します。\n移動先のホームが同じ絶対パスにない場合は、ホーム配下のパスを変換し、\nプロジェクトの slug を作り直します。\n\nオプション:\n --to <destination> SSH 接続先 (user@host または ssh_config のエイリアス)、または local\n --from <destination> セッションの現在の場所 (既定: 前回の移動先、なければ local)\n --name <title> ワークスペースのタイトル (既定: ID の先頭 8 文字)\n --no-code git チェックアウトを移動しない\n --port <n> SSH ポート\n --identity <path> SSH の ID ファイル\n --ssh-option <opt> 追加の SSH -o オプション (繰り返し可)\n --no-focus ワークスペースに切り替えずに開く\n\n例:\n cmux session move 0b7a1e7c-3f0a-4c6e-9d59-8a0d8f7c2b11 --to dev@my-host\n cmux session move 0b7a1e7c-3f0a-4c6e-9d59-8a0d8f7c2b11 --to local" + "value": "color는 #FF3EA5 같은 6자리 16진수 색상이어야 합니다(앞의 #는 생략 가능)" } } } }, - "settings.notifications.sound.preview": { + "workspaceGroup.error.colorMustBeString": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Preview Sound" + "value": "color must be a string holding a hex color" } }, - "de": { + "ja": { "stringUnit": { "state": "translated", - "value": "Ton anhören" + "value": "color は 16 進カラーを含む文字列である必要があります" } }, - "fr": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "Écouter le son" + "value": "color 必须是包含十六进制颜色的字符串" } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "معاينة الصوت" + "value": "color muss ein String mit einer Hex-Farbe sein" } }, - "es": { + "fr": { "stringUnit": { "state": "translated", - "value": "Escuchar sonido" + "value": "color doit être une chaîne contenant une couleur hexadécimale" } }, - "zh-Hant": { + "ar": { "stringUnit": { "state": "translated", - "value": "試聽音效" + "value": "يجب أن تكون قيمة color سلسلة نصية تحتوي على لون سداسي عشري" } }, - "zh-Hans": { + "es": { "stringUnit": { "state": "translated", - "value": "试听声音" + "value": "color debe ser una cadena de texto con un color hexadecimal" } }, - "ko": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "소리 미리 듣기" + "value": "color 必須是包含十六進位顏色的字串" } }, - "ja": { + "ko": { "stringUnit": { "state": "translated", - "value": "サウンドをプレビュー" + "value": "color는 16진수 색상을 담은 문자열이어야 합니다" } } } }, - "cli.session.error.unknownSubcommand": { + "workspaceGroup.error.iconSymbolIsNotAnInputKey": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Unknown session subcommand: %@. Usage: cmux session move <session-id> --to <ssh-destination|local>" + "value": "unknown key icon_symbol; set_icon accepts symbol or icon" } }, - "ar": { + "ja": { "stringUnit": { "state": "translated", - "value": "أمر session فرعي غير معروف: %@. الاستخدام: cmux session move <session-id> --to <ssh-destination|local>" + "value": "不明なキー icon_symbol です。set_icon は symbol または icon を受け付けます" } }, - "de": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "Unbekannter session-Unterbefehl: %@. Verwendung: cmux session move <session-id> --to <ssh-destination|local>" + "value": "未知的键 icon_symbol;set_icon 接受 symbol 或 icon" } }, - "es": { + "de": { "stringUnit": { "state": "translated", - "value": "Subcomando de session desconocido: %@. Uso: cmux session move <session-id> --to <ssh-destination|local>" + "value": "Unbekannter Schlüssel icon_symbol; set_icon akzeptiert symbol oder icon" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Sous-commande session inconnue : %@. Utilisation : cmux session move <session-id> --to <ssh-destination|local>" + "value": "Clé inconnue icon_symbol ; set_icon accepte symbol ou icon" } }, - "ja": { + "ar": { "stringUnit": { "state": "translated", - "value": "不明な session サブコマンド: %@。使用方法: cmux session move <session-id> --to <ssh-destination|local>" + "value": "مفتاح غير معروف icon_symbol؛ يقبل set_icon المفتاح symbol أو icon" } }, - "ko": { + "es": { "stringUnit": { "state": "translated", - "value": "알 수 없는 session 하위 명령: %@. 사용법: cmux session move <session-id> --to <ssh-destination|local>" + "value": "Clave desconocida icon_symbol; set_icon acepta symbol o icon" } }, - "zh-Hans": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "未知的 session 子命令:%@。用法:cmux session move <session-id> --to <ssh-destination|local>" + "value": "未知的鍵 icon_symbol;set_icon 接受 symbol 或 icon" } }, - "zh-Hant": { + "ko": { "stringUnit": { "state": "translated", - "value": "未知的 session 子命令:%@。用法:cmux session move <session-id> --to <ssh-destination|local>" + "value": "알 수 없는 키 icon_symbol입니다. set_icon은 symbol 또는 icon을 받습니다" } } } }, - "cli.session.move.error.branchDiverged": { + "workspaceGroup.error.symbolMustBeString": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "session move: branch %@ on the destination has commits the session's HEAD does not contain" + "value": "symbol must be a string" } }, - "ar": { + "ja": { "stringUnit": { "state": "translated", - "value": "session move: الفرع %@ في الوجهة يحتوي على commits غير موجودة في HEAD الخاص بالجلسة" + "value": "symbol は文字列である必要があります" } }, - "de": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "session move: Der Branch %@ am Ziel enthält Commits, die im HEAD der Sitzung fehlen" + "value": "symbol 必须是字符串" } }, - "es": { + "de": { "stringUnit": { "state": "translated", - "value": "session move: la rama %@ en el destino tiene commits que el HEAD de la sesión no contiene" + "value": "symbol muss ein String sein" } }, "fr": { "stringUnit": { "state": "translated", - "value": "session move : la branche %@ sur la destination contient des commits absents du HEAD de la session" + "value": "symbol doit être une chaîne de caractères" } }, - "ja": { + "ar": { "stringUnit": { "state": "translated", - "value": "session move: 移動先のブランチ %@ にセッションの HEAD に含まれないコミットがあります" + "value": "يجب أن تكون قيمة symbol سلسلة نصية" } }, - "ko": { + "es": { "stringUnit": { "state": "translated", - "value": "session move: 대상의 %@ 브랜치에 세션 HEAD에 없는 커밋이 있습니다" + "value": "symbol debe ser una cadena de texto" } }, - "zh-Hans": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "session move:目标上的分支 %@ 包含会话 HEAD 中没有的提交" + "value": "symbol 必須是字串" } }, - "zh-Hant": { + "ko": { "stringUnit": { "state": "translated", - "value": "session move:目的地的分支 %@ 含有此工作階段 HEAD 沒有的 commit" + "value": "symbol은 문자열이어야 합니다" } } } }, - "cli.session.move.error.checkoutDirty": { + "dialog.close.dontAskAgain": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "session move: %@ on the destination has changes that did not come from this session; commit or stash them there first" + "value": "Don’t ask again" } }, "ar": { "stringUnit": { "state": "translated", - "value": "session move: يحتوي %@ في الوجهة على تغييرات لم تأتِ من هذه الجلسة؛ نفّذ commit لها أو stash هناك أولًا" + "value": "لا تسأل مرة أخرى" } }, "de": { "stringUnit": { "state": "translated", - "value": "session move: %@ am Ziel hat Änderungen, die nicht aus dieser Sitzung stammen; committe oder stashe sie dort zuerst" + "value": "Nicht mehr fragen" } }, "es": { "stringUnit": { "state": "translated", - "value": "session move: %@ en el destino tiene cambios que no provienen de esta sesión; haz commit o stash allí primero" + "value": "No volver a preguntar" } }, "fr": { "stringUnit": { "state": "translated", - "value": "session move : %@ sur la destination contient des modifications qui ne viennent pas de cette session ; validez-les ou mettez-les de côté (stash) d'abord" + "value": "Ne plus demander" } }, "ja": { "stringUnit": { "state": "translated", - "value": "session move: 移動先の %@ にこのセッション由来ではない変更があります。先にそこでコミットまたは stash してください" + "value": "今後確認しない" } }, "ko": { "stringUnit": { "state": "translated", - "value": "session move: 대상의 %@에 이 세션에서 오지 않은 변경 사항이 있습니다. 먼저 그곳에서 커밋하거나 stash하세요" + "value": "다시 묻지 않기" + } + }, + "uk": { + "stringUnit": { + "state": "translated", + "value": "Більше не запитувати" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "session move:目标上的 %@ 有并非来自此会话的更改;请先在那里提交或 stash" + "value": "不再询问" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "session move:目的地的 %@ 有不是來自此工作階段的變更;請先在那裡 commit 或 stash" + "value": "不再詢問" } } } }, - "cli.session.move.error.copyFailed": { - "extractionState": "manual", + "settings.app.accentColor": { "localizations": { - "en": { + "ar": { "stringUnit": { "state": "translated", - "value": "session move: copying %@ failed: %@" + "value": "لون التمييز" } }, - "ar": { + "bs": { "stringUnit": { "state": "translated", - "value": "session move: فشل نسخ %1$@: %2$@" + "value": "Boja naglaska" } }, - "de": { + "da": { "stringUnit": { "state": "translated", - "value": "session move: Kopieren von %1$@ fehlgeschlagen: %2$@" + "value": "Accentfarve" } }, - "es": { + "de": { "stringUnit": { "state": "translated", - "value": "session move: no se pudo copiar %1$@: %2$@" + "value": "Akzentfarbe" } }, - "fr": { + "en": { "stringUnit": { "state": "translated", - "value": "session move : échec de la copie de %1$@ : %2$@" + "value": "Accent Color" } }, - "ja": { + "es": { "stringUnit": { "state": "translated", - "value": "session move: %1$@ のコピーに失敗しました: %2$@" + "value": "Color de acento" } }, - "ko": { + "fr": { "stringUnit": { "state": "translated", - "value": "session move: %1$@ 복사 실패: %2$@" + "value": "Couleur d’accentuation" } }, - "zh-Hans": { + "it": { "stringUnit": { "state": "translated", - "value": "session move:复制 %1$@ 失败:%2$@" + "value": "Colore di evidenziazione" } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "session move:複製 %1$@ 失敗:%2$@" + "value": "アクセントカラー" } - } - } - }, - "cli.session.move.error.cwdMissing": { - "extractionState": "manual", - "localizations": { - "en": { + }, + "ko": { "stringUnit": { "state": "translated", - "value": "session move: %@ does not exist on the destination" + "value": "강조 색상" } }, - "ar": { + "nb": { "stringUnit": { "state": "translated", - "value": "session move: %@ غير موجود في الوجهة" + "value": "Aksentfarge" } }, - "de": { + "pl": { "stringUnit": { "state": "translated", - "value": "session move: %@ existiert am Ziel nicht" + "value": "Kolor akcentu" } }, - "es": { + "pt-BR": { "stringUnit": { "state": "translated", - "value": "session move: %@ no existe en el destino" + "value": "Cor de destaque" } }, - "fr": { + "ru": { "stringUnit": { "state": "translated", - "value": "session move : %@ n'existe pas sur la destination" + "value": "Цвет акцента" } }, - "ja": { + "th": { "stringUnit": { "state": "translated", - "value": "session move: 移動先に %@ が存在しません" + "value": "สีเน้น" } }, - "ko": { + "tr": { "stringUnit": { "state": "translated", - "value": "session move: 대상에 %@이(가) 없습니다" + "value": "Vurgu Rengi" + } + }, + "uk": { + "stringUnit": { + "state": "translated", + "value": "Колір акценту" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "session move:目标上不存在 %@" + "value": "强调色" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "session move:目的地上不存在 %@" + "value": "強調色" } } } }, - "cli.session.move.error.flagRequiresValue": { - "extractionState": "manual", + "settings.app.accentColor.cmux": { "localizations": { - "en": { + "ar": { "stringUnit": { "state": "translated", - "value": "session move: %@ requires a value" + "value": "أزرق cmux" } }, - "ar": { + "bs": { "stringUnit": { "state": "translated", - "value": "session move: يتطلب %@ قيمة" + "value": "cmux plava" + } + }, + "da": { + "stringUnit": { + "state": "translated", + "value": "cmux-blå" } }, "de": { "stringUnit": { "state": "translated", - "value": "session move: %@ benötigt einen Wert" + "value": "cmux-Blau" } }, - "es": { + "en": { "stringUnit": { "state": "translated", - "value": "session move: %@ requiere un valor" + "value": "cmux Blue" } }, - "fr": { + "es": { "stringUnit": { "state": "translated", - "value": "session move : %@ nécessite une valeur" + "value": "Azul de cmux" } }, - "ja": { + "fr": { "stringUnit": { "state": "translated", - "value": "session move: %@ には値が必要です" + "value": "Bleu cmux" } }, - "ko": { + "it": { "stringUnit": { "state": "translated", - "value": "session move: %@에는 값이 필요합니다" + "value": "Blu cmux" } }, - "zh-Hans": { + "ja": { "stringUnit": { "state": "translated", - "value": "session move:%@ 需要一个值" + "value": "cmux ブルー" } }, - "zh-Hant": { + "ko": { "stringUnit": { "state": "translated", - "value": "session move:%@ 需要一個值" + "value": "cmux 파란색" } - } - } - }, - "cli.session.move.error.gitFailed": { - "extractionState": "manual", - "localizations": { - "en": { + }, + "nb": { "stringUnit": { "state": "translated", - "value": "session move: git %@ failed: %@" + "value": "cmux-blå" } }, - "ar": { + "pl": { "stringUnit": { "state": "translated", - "value": "session move: فشل git %1$@: %2$@" + "value": "Niebieski cmux" } }, - "de": { + "pt-BR": { "stringUnit": { "state": "translated", - "value": "session move: git %1$@ fehlgeschlagen: %2$@" + "value": "Azul do cmux" } }, - "es": { + "ru": { "stringUnit": { "state": "translated", - "value": "session move: falló git %1$@: %2$@" + "value": "Синий cmux" } }, - "fr": { + "th": { "stringUnit": { "state": "translated", - "value": "session move : échec de git %1$@ : %2$@" + "value": "สีน้ำเงิน cmux" } }, - "ja": { + "tr": { "stringUnit": { "state": "translated", - "value": "session move: git %1$@ に失敗しました: %2$@" + "value": "cmux Mavisi" } }, - "ko": { + "uk": { "stringUnit": { "state": "translated", - "value": "session move: git %1$@ 실패: %2$@" + "value": "Синій cmux" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "session move:git %1$@ 失败:%2$@" + "value": "cmux 蓝" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "session move:git %1$@ 失敗:%2$@" + "value": "cmux 藍" } } } }, - "cli.session.move.error.invalidSessionID": { - "extractionState": "manual", + "settings.app.accentColor.subtitle": { "localizations": { - "en": { + "ar": { "stringUnit": { "state": "translated", - "value": "session move: '%@' is not a session id" + "value": "لون مساحة العمل المحددة وحلقة التنبيه وحالة الوكيل وإبرازات cmux الأخرى. يتبع خيار النظام لون التمييز في macOS." } }, - "ar": { + "bs": { "stringUnit": { "state": "translated", - "value": "session move: '%@' ليس معرّف جلسة" + "value": "Boja odabranog radnog prostora, prstena pažnje, statusa agenta i ostalih cmux istaknutih elemenata. Sistem prati boju naglaska macOS-a." + } + }, + "da": { + "stringUnit": { + "state": "translated", + "value": "Farve for det valgte arbejdsområde, opmærksomhedsringen, agentstatus og andre cmux-fremhævninger. System følger macOS-accentfarven." } }, "de": { "stringUnit": { "state": "translated", - "value": "session move: „%@“ ist keine Sitzungs-ID" + "value": "Farbe des ausgewählten Workspace, des Aufmerksamkeitsrings, des Agentenstatus und anderer cmux-Hervorhebungen. „Systemfarbe“ folgt der macOS-Akzentfarbe." } }, - "es": { + "en": { "stringUnit": { "state": "translated", - "value": "session move: '%@' no es un id de sesión" + "value": "Color of the selected workspace, attention ring, agent status, and other cmux highlights. System follows the macOS accent color." } }, - "fr": { + "es": { "stringUnit": { "state": "translated", - "value": "session move : '%@' n'est pas un identifiant de session" + "value": "Color del espacio de trabajo seleccionado, el anillo de atención, el estado del agente y otros resaltados de cmux. Sistema sigue el color de acento de macOS." } }, - "ja": { + "fr": { "stringUnit": { "state": "translated", - "value": "session move: '%@' はセッション ID ではありません" + "value": "Couleur de l’espace de travail sélectionné, de l’anneau d’attention, de l’état de l’agent et des autres mises en évidence de cmux. Système suit la couleur d’accentuation de macOS." } }, - "ko": { + "it": { "stringUnit": { "state": "translated", - "value": "session move: '%@'은(는) 세션 ID가 아닙니다" + "value": "Colore dell’area di lavoro selezionata, dell’anello di attenzione, dello stato dell’agente e degli altri elementi evidenziati di cmux. Sistema segue il colore di evidenziazione di macOS." } }, - "zh-Hans": { + "ja": { "stringUnit": { "state": "translated", - "value": "session move:'%@' 不是会话 ID" + "value": "選択中のワークスペース、注意リング、エージェントの状態など、cmux のハイライトの色です。「システム」は macOS のアクセントカラーに従います。" } }, - "zh-Hant": { + "ko": { "stringUnit": { "state": "translated", - "value": "session move:'%@' 不是工作階段 ID" + "value": "선택한 워크스페이스, 주의 링, 에이전트 상태 등 cmux 강조 표시의 색상입니다. 시스템은 macOS 강조 색상을 따릅니다." } - } - } - }, - "cli.session.move.error.liveOnDestination": { - "extractionState": "manual", - "localizations": { - "en": { + }, + "nb": { "stringUnit": { "state": "translated", - "value": "session move: the session is already running on %@" + "value": "Farge for det valgte arbeidsområdet, oppmerksomhetsringen, agentstatus og andre cmux-uthevinger. System følger macOS-aksentfargen." } }, - "ar": { + "pl": { "stringUnit": { "state": "translated", - "value": "session move: الجلسة قيد التشغيل بالفعل على %@" + "value": "Kolor wybranego obszaru roboczego, pierścienia uwagi, stanu agenta i innych wyróżnień cmux. Systemowy podąża za kolorem akcentu macOS." } }, - "de": { + "pt-BR": { "stringUnit": { "state": "translated", - "value": "session move: Die Sitzung läuft bereits auf %@" + "value": "Cor do espaço de trabalho selecionado, do anel de atenção, do status do agente e de outros destaques do cmux. Sistema segue a cor de destaque do macOS." } }, - "es": { + "ru": { "stringUnit": { "state": "translated", - "value": "session move: la sesión ya se está ejecutando en %@" + "value": "Цвет выбранного рабочего пространства, кольца внимания, статуса агента и других выделений cmux. «Системный» следует цвету акцента macOS." } }, - "fr": { + "th": { "stringUnit": { "state": "translated", - "value": "session move : la session s'exécute déjà sur %@" + "value": "สีของพื้นที่ทำงานที่เลือก วงแจ้งเตือน สถานะเอเจนต์ และไฮไลต์อื่นๆ ของ cmux ตัวเลือกระบบจะใช้สีเน้นของ macOS" } }, - "ja": { + "tr": { "stringUnit": { "state": "translated", - "value": "session move: セッションはすでに %@ で実行中です" + "value": "Seçili çalışma alanı, dikkat halkası, ajan durumu ve diğer cmux vurgularının rengi. Sistem, macOS vurgu rengini izler." } }, - "ko": { + "uk": { "stringUnit": { "state": "translated", - "value": "session move: 세션이 이미 %@에서 실행 중입니다" + "value": "Колір вибраного робочого простору, кільця уваги, статусу агента та інших виділень cmux. «Системний» використовує колір акценту macOS." } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "session move:会话已在 %@ 上运行" + "value": "所选工作区、提醒环、代理状态和其他 cmux 高亮的颜色。“系统”跟随 macOS 强调色。" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "session move:此工作階段已在 %@ 上執行" + "value": "所選工作區、提醒環、代理狀態和其他 cmux 醒目提示的顏色。「系統」跟隨 macOS 強調色。" } } } }, - "cli.session.move.error.liveOnSource": { - "extractionState": "manual", + "settings.app.accentColor.system": { "localizations": { - "en": { + "ar": { "stringUnit": { "state": "translated", - "value": "session move: the session is still running on %@; exit the agent at the end of its turn, then move it" + "value": "النظام" } }, - "ar": { + "bs": { "stringUnit": { "state": "translated", - "value": "session move: الجلسة لا تزال قيد التشغيل على %@؛ أغلق الوكيل عند نهاية دوره ثم انقلها" + "value": "Sistem" + } + }, + "da": { + "stringUnit": { + "state": "translated", + "value": "System" } }, "de": { "stringUnit": { "state": "translated", - "value": "session move: Die Sitzung läuft noch auf %@; beende den Agenten am Ende seines Zuges und verschiebe sie dann" + "value": "Systemfarbe" } }, - "es": { + "en": { "stringUnit": { "state": "translated", - "value": "session move: la sesión sigue ejecutándose en %@; sal del agente al final de su turno y luego muévela" + "value": "System" } }, - "fr": { + "es": { "stringUnit": { "state": "translated", - "value": "session move : la session s'exécute encore sur %@ ; quittez l'agent à la fin de son tour, puis déplacez-la" + "value": "Sistema" } }, - "ja": { + "fr": { "stringUnit": { "state": "translated", - "value": "session move: セッションはまだ %@ で実行中です。ターンの終わりにエージェントを終了してから移動してください" + "value": "Système" } }, - "ko": { + "it": { "stringUnit": { "state": "translated", - "value": "session move: 세션이 아직 %@에서 실행 중입니다. 에이전트가 턴을 마치면 종료한 뒤 이동하세요" + "value": "Sistema" } }, - "zh-Hans": { + "ja": { "stringUnit": { "state": "translated", - "value": "session move:会话仍在 %@ 上运行;请在代理本轮结束后退出,再移动" + "value": "システム" } }, - "zh-Hant": { + "ko": { "stringUnit": { "state": "translated", - "value": "session move:此工作階段仍在 %@ 上執行;請在代理完成本輪後結束它,再移動" + "value": "시스템" } - } - } - }, - "cli.session.move.error.repositoryMissing": { - "extractionState": "manual", - "localizations": { - "en": { + }, + "nb": { "stringUnit": { "state": "translated", - "value": "session move: no checkout at %@ and no repository at %@ on the destination; clone it there first" + "value": "System" } }, - "ar": { + "pl": { "stringUnit": { "state": "translated", - "value": "session move: لا يوجد checkout في %1$@ ولا مستودع في %2$@ على الوجهة؛ انسخه (clone) هناك أولًا" + "value": "Systemowy" } }, - "de": { + "pt-BR": { "stringUnit": { "state": "translated", - "value": "session move: Am Ziel gibt es keinen Checkout unter %1$@ und kein Repository unter %2$@; klone es dort zuerst" + "value": "Sistema" } }, - "es": { + "ru": { "stringUnit": { "state": "translated", - "value": "session move: no hay checkout en %1$@ ni repositorio en %2$@ en el destino; clónalo allí primero" + "value": "Системный" } }, - "fr": { + "th": { "stringUnit": { "state": "translated", - "value": "session move : aucun checkout à %1$@ et aucun dépôt à %2$@ sur la destination ; clonez-le d'abord" + "value": "ระบบ" } }, - "ja": { + "tr": { "stringUnit": { "state": "translated", - "value": "session move: 移動先の %1$@ にチェックアウトがなく、%2$@ にリポジトリもありません。先にそこでクローンしてください" + "value": "Sistem" } }, - "ko": { + "uk": { "stringUnit": { "state": "translated", - "value": "session move: 대상의 %1$@에 체크아웃이 없고 %2$@에 저장소도 없습니다. 먼저 그곳에 클론하세요" + "value": "Системний" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "session move:目标上 %1$@ 没有检出,%2$@ 也没有仓库;请先在那里克隆" + "value": "系统" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "session move:目的地的 %1$@ 沒有 checkout,%2$@ 也沒有儲存庫;請先在那裡 clone" + "value": "系統" } } } }, - "cli.session.move.error.sameEndpoint": { - "extractionState": "manual", + "settings.app.accentColor.systemToggle": { "localizations": { - "en": { + "ar": { "stringUnit": { "state": "translated", - "value": "session move: the session is already there" + "value": "لون التمييز للنظام" } }, - "ar": { + "bs": { "stringUnit": { "state": "translated", - "value": "session move: الجلسة موجودة هناك بالفعل" + "value": "Sistemska boja naglaska" + } + }, + "da": { + "stringUnit": { + "state": "translated", + "value": "Systemets accentfarve" } }, "de": { "stringUnit": { "state": "translated", - "value": "session move: Die Sitzung ist bereits dort" + "value": "System-Akzentfarbe" } }, - "es": { + "en": { "stringUnit": { "state": "translated", - "value": "session move: la sesión ya está allí" + "value": "System Accent Color" } }, - "fr": { + "es": { "stringUnit": { "state": "translated", - "value": "session move : la session y est déjà" + "value": "Color de acento del sistema" } }, - "ja": { + "fr": { "stringUnit": { "state": "translated", - "value": "session move: セッションはすでにそこにあります" + "value": "Couleur d’accentuation du système" } }, - "ko": { + "it": { "stringUnit": { "state": "translated", - "value": "session move: 세션이 이미 그곳에 있습니다" + "value": "Colore di evidenziazione di sistema" } }, - "zh-Hans": { + "ja": { "stringUnit": { "state": "translated", - "value": "session move:会话已经在那里" + "value": "システムのアクセントカラー" } }, - "zh-Hant": { + "ko": { "stringUnit": { "state": "translated", - "value": "session move:此工作階段已經在那裡" + "value": "시스템 강조 색상" } - } - } - }, - "cli.session.move.error.transcriptNewer": { - "extractionState": "manual", - "localizations": { - "en": { + }, + "nb": { "stringUnit": { "state": "translated", - "value": "session move: the destination transcript is newer; the session continued there, so move it the other way" + "value": "Systemets aksentfarge" } }, - "ar": { + "pl": { "stringUnit": { "state": "translated", - "value": "session move: نص الجلسة في الوجهة أحدث؛ استمرت الجلسة هناك، لذا انقلها في الاتجاه الآخر" + "value": "Systemowy kolor akcentu" } }, - "de": { + "pt-BR": { "stringUnit": { "state": "translated", - "value": "session move: Das Transkript am Ziel ist neuer; die Sitzung wurde dort fortgesetzt, verschiebe sie also in die andere Richtung" + "value": "Cor de destaque do sistema" } }, - "es": { + "ru": { "stringUnit": { "state": "translated", - "value": "session move: la transcripción del destino es más reciente; la sesión continuó allí, así que muévela en sentido contrario" + "value": "Системный цвет акцента" } }, - "fr": { + "th": { "stringUnit": { "state": "translated", - "value": "session move : la transcription de destination est plus récente ; la session s'y est poursuivie, déplacez-la dans l'autre sens" + "value": "สีเน้นของระบบ" } }, - "ja": { + "tr": { "stringUnit": { "state": "translated", - "value": "session move: 移動先のトランスクリプトのほうが新しいです。セッションはそこで続行されたので、逆方向に移動してください" + "value": "Sistem Vurgu Rengi" } }, - "ko": { + "uk": { "stringUnit": { "state": "translated", - "value": "session move: 대상의 트랜스크립트가 더 최신입니다. 세션이 그곳에서 계속되었으니 반대 방향으로 이동하세요" + "value": "Системний колір акценту" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "session move:目标上的记录更新;会话已在那里继续,请反向移动" + "value": "系统强调色" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "session move:目的地的對話紀錄較新;工作階段已在那裡繼續,請反向移動" + "value": "系統強調色" } } } }, - "cli.session.move.error.transcriptNotFound": { - "extractionState": "manual", + "settings.search.alias.setting.app.accent-color": { "localizations": { - "en": { + "ar": { "stringUnit": { "state": "translated", - "value": "session move: no Claude transcript for this session on %@" + "value": "app.accentColor accent color highlight tint blue purple system accent macOS accent cmux blue لون التمييز أزرق النظام" } }, - "ar": { + "bs": { "stringUnit": { "state": "translated", - "value": "session move: لا يوجد نص Claude لهذه الجلسة على %@" + "value": "app.accentColor accent color highlight tint blue purple system accent macOS accent cmux blue boja naglaska plava sistem" + } + }, + "da": { + "stringUnit": { + "state": "translated", + "value": "app.accentColor accent color highlight tint blue purple system accent macOS accent cmux blue accentfarve blå system" } }, "de": { "stringUnit": { "state": "translated", - "value": "session move: Kein Claude-Transkript für diese Sitzung auf %@" + "value": "app.accentColor accent color highlight tint blue purple system accent macOS accent cmux blue Akzentfarbe blau System" } }, - "es": { + "en": { "stringUnit": { "state": "translated", - "value": "session move: no hay transcripción de Claude para esta sesión en %@" + "value": "app.accentColor accent color highlight tint blue purple system accent macOS accent cmux blue" } }, - "fr": { + "es": { "stringUnit": { "state": "translated", - "value": "session move : aucune transcription Claude pour cette session sur %@" + "value": "app.accentColor accent color highlight tint blue purple system accent macOS accent cmux blue color de acento azul sistema" } }, - "ja": { + "fr": { "stringUnit": { "state": "translated", - "value": "session move: %@ にこのセッションの Claude トランスクリプトがありません" + "value": "app.accentColor accent color highlight tint blue purple system accent macOS accent cmux blue couleur d’accentuation bleu système" } }, - "ko": { + "it": { "stringUnit": { "state": "translated", - "value": "session move: %@에 이 세션의 Claude 트랜스크립트가 없습니다" + "value": "app.accentColor accent color highlight tint blue purple system accent macOS accent cmux blue colore di evidenziazione blu sistema" } }, - "zh-Hans": { + "ja": { "stringUnit": { "state": "translated", - "value": "session move:%@ 上没有此会话的 Claude 记录" + "value": "app.accentColor accent color highlight tint blue purple system accent macOS accent cmux blue アクセントカラー 青 システム" } }, - "zh-Hant": { + "ko": { "stringUnit": { "state": "translated", - "value": "session move:%@ 上沒有此工作階段的 Claude 對話紀錄" + "value": "app.accentColor accent color highlight tint blue purple system accent macOS accent cmux blue 강조 색상 파란색 시스템" } - } - } - }, - "cli.session.move.error.transcriptsDiverged": { - "extractionState": "manual", - "localizations": { - "en": { + }, + "nb": { "stringUnit": { "state": "translated", - "value": "session move: the transcripts diverged (the destination copy is not a prefix of the source); resolve by hand" + "value": "app.accentColor accent color highlight tint blue purple system accent macOS accent cmux blue aksentfarge blå system" } }, - "ar": { + "pl": { "stringUnit": { "state": "translated", - "value": "session move: تباعدت النصوص (نسخة الوجهة ليست بادئة للمصدر)؛ عالج ذلك يدويًا" + "value": "app.accentColor accent color highlight tint blue purple system accent macOS accent cmux blue kolor akcentu niebieski systemowy" } }, - "de": { + "pt-BR": { "stringUnit": { "state": "translated", - "value": "session move: Die Transkripte sind auseinandergelaufen (die Kopie am Ziel ist kein Präfix der Quelle); bitte manuell auflösen" + "value": "app.accentColor accent color highlight tint blue purple system accent macOS accent cmux blue cor de destaque azul sistema" } }, - "es": { + "ru": { "stringUnit": { "state": "translated", - "value": "session move: las transcripciones divergieron (la copia del destino no es un prefijo del origen); resuélvelo a mano" + "value": "app.accentColor accent color highlight tint blue purple system accent macOS accent cmux blue цвет акцента синий системный" } }, - "fr": { + "th": { "stringUnit": { "state": "translated", - "value": "session move : les transcriptions ont divergé (la copie de destination n'est pas un préfixe de la source) ; résolvez manuellement" + "value": "app.accentColor accent color highlight tint blue purple system accent macOS accent cmux blue สีเน้น สีน้ำเงิน ระบบ" } }, - "ja": { + "tr": { "stringUnit": { "state": "translated", - "value": "session move: トランスクリプトが分岐しました (移動先のコピーが元の先頭部分ではありません)。手動で解決してください" + "value": "app.accentColor accent color highlight tint blue purple system accent macOS accent cmux blue vurgu rengi mavi sistem" } }, - "ko": { + "uk": { "stringUnit": { "state": "translated", - "value": "session move: 트랜스크립트가 갈라졌습니다(대상 사본이 원본의 접두사가 아님). 직접 해결하세요" + "value": "app.accentColor accent color highlight tint blue purple system accent macOS accent cmux blue колір акценту синій системний" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "session move:记录已分叉(目标副本不是源的前缀);请手动处理" + "value": "app.accentColor accent color highlight tint blue purple system accent macOS accent cmux blue 强调色 蓝色 系统" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "session move:對話紀錄已分歧(目的地的副本不是來源的前綴);請手動處理" + "value": "app.accentColor accent color highlight tint blue purple system accent macOS accent cmux blue 強調色 藍色 系統" } } } }, - "cli.session.move.error.unknownFlag": { + "command.shortcutKeymap.title": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "session move: unknown flag '%@'" + "value": "Base Keymap: %@" } }, "ar": { "stringUnit": { "state": "translated", - "value": "session move: علم غير معروف '%@'" + "value": "مخطط المفاتيح الأساسي: %@" } }, "de": { "stringUnit": { "state": "translated", - "value": "session move: unbekanntes Flag „%@“" + "value": "Basis-Tastaturbelegung: %@" } }, "es": { "stringUnit": { "state": "translated", - "value": "session move: opción desconocida '%@'" + "value": "Mapa de teclas base: %@" } }, "fr": { "stringUnit": { "state": "translated", - "value": "session move : option inconnue '%@'" + "value": "Disposition de base : %@" } }, "ja": { "stringUnit": { "state": "translated", - "value": "session move: 不明なフラグ '%@'" + "value": "ベースキーマップ: %@" } }, "ko": { "stringUnit": { "state": "translated", - "value": "session move: 알 수 없는 플래그 '%@'" + "value": "기본 키맵: %@" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "session move:未知标志 '%@'" + "value": "基础键位方案:%@" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "session move:未知的旗標 '%@'" + "value": "基礎按鍵配置:%@" } } } }, - "cli.session.move.error.unknownSource": { + "settings.shortcuts.baseKeymap": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "session move: no record of where this session was moved; pass --from <ssh-destination>" + "value": "Base Keymap" } }, "ar": { "stringUnit": { "state": "translated", - "value": "session move: لا يوجد سجل بالمكان الذي نُقلت إليه هذه الجلسة؛ مرّر --from <ssh-destination>" + "value": "مخطط المفاتيح الأساسي" } }, "de": { "stringUnit": { "state": "translated", - "value": "session move: Kein Eintrag, wohin diese Sitzung verschoben wurde; gib --from <ssh-destination> an" + "value": "Basis-Tastaturbelegung" } }, "es": { "stringUnit": { "state": "translated", - "value": "session move: no hay registro de adónde se movió esta sesión; pasa --from <ssh-destination>" + "value": "Mapa de teclas base" } }, "fr": { "stringUnit": { "state": "translated", - "value": "session move : aucune trace de l'endroit où cette session a été déplacée ; passez --from <ssh-destination>" + "value": "Disposition de base" } }, "ja": { "stringUnit": { "state": "translated", - "value": "session move: このセッションの移動先の記録がありません。--from <ssh-destination> を指定してください" + "value": "ベースキーマップ" } }, "ko": { "stringUnit": { "state": "translated", - "value": "session move: 이 세션을 어디로 옮겼는지 기록이 없습니다. --from <ssh-destination>을 지정하세요" + "value": "기본 키맵" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "session move:没有此会话被移动到何处的记录;请传入 --from <ssh-destination>" + "value": "基础键位方案" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "session move:沒有此工作階段被移到何處的紀錄;請傳入 --from <ssh-destination>" + "value": "基礎按鍵配置" } } } }, - "cli.session.move.error.unreachable": { + "settings.shortcuts.baseKeymap.conflictHint": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "session move: cannot reach %@: %@" + "value": "Change or turn off the macOS shortcut in System Settings > Keyboard > Keyboard Shortcuts." } }, "ar": { "stringUnit": { "state": "translated", - "value": "session move: تعذّر الوصول إلى %1$@: %2$@" + "value": "غيّر اختصار macOS أو أوقفه في إعدادات النظام > لوحة المفاتيح > اختصارات لوحة المفاتيح." } }, "de": { "stringUnit": { "state": "translated", - "value": "session move: %1$@ ist nicht erreichbar: %2$@" + "value": "Ändern oder deaktivieren Sie das macOS-Tastaturkürzel unter Systemeinstellungen > Tastatur > Tastaturkurzbefehle." } }, "es": { "stringUnit": { "state": "translated", - "value": "session move: no se puede acceder a %1$@: %2$@" + "value": "Cambia o desactiva el atajo de macOS en Ajustes del Sistema > Teclado > Atajos de teclado." } }, "fr": { "stringUnit": { "state": "translated", - "value": "session move : impossible de joindre %1$@ : %2$@" + "value": "Modifiez ou désactivez le raccourci macOS dans Réglages Système > Clavier > Raccourcis clavier." } }, "ja": { "stringUnit": { "state": "translated", - "value": "session move: %1$@ に接続できません: %2$@" + "value": "システム設定 > キーボード > キーボードショートカットで macOS のショートカットを変更するかオフにしてください。" } }, "ko": { "stringUnit": { "state": "translated", - "value": "session move: %1$@에 연결할 수 없습니다: %2$@" + "value": "시스템 설정 > 키보드 > 키보드 단축키에서 macOS 단축키를 변경하거나 끄세요." } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "session move:无法连接 %1$@:%2$@" + "value": "请在“系统设置”>“键盘”>“键盘快捷键”中更改或关闭该 macOS 快捷键。" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "session move:無法連線到 %1$@:%2$@" + "value": "請在「系統設定」>「鍵盤」>「鍵盤快速鍵」中更改或關閉該 macOS 快速鍵。" } } } }, - "cli.session.move.error.unsupportedPath": { + "settings.shortcuts.baseKeymap.custom": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "session move: paths with whitespace are not supported: %@" + "value": "Custom" } }, "ar": { "stringUnit": { "state": "translated", - "value": "session move: المسارات التي تحتوي على مسافات غير مدعومة: %@" + "value": "مخصص" } }, "de": { "stringUnit": { "state": "translated", - "value": "session move: Pfade mit Leerzeichen werden nicht unterstützt: %@" + "value": "Benutzerdefiniert" } }, "es": { "stringUnit": { "state": "translated", - "value": "session move: no se admiten rutas con espacios: %@" + "value": "Personalizado" } }, "fr": { "stringUnit": { "state": "translated", - "value": "session move : les chemins contenant des espaces ne sont pas pris en charge : %@" + "value": "Personnalisée" } }, "ja": { "stringUnit": { "state": "translated", - "value": "session move: 空白を含むパスはサポートされていません: %@" + "value": "カスタム" } }, "ko": { "stringUnit": { "state": "translated", - "value": "session move: 공백이 포함된 경로는 지원하지 않습니다: %@" + "value": "사용자 지정" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "session move:不支持包含空白的路径:%@" + "value": "自定义" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "session move:不支援含有空白的路徑:%@" + "value": "自訂" } } } }, - "cli.session.move.error.unsupportedRoute": { + "settings.shortcuts.baseKeymap.subtitle": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "session move: moves go between this Mac and one host; move the session back with --to local first" + "value": "Start from another terminal's shortcuts. Only the differences are written to cmux.json; choose cmux to remove them." } }, "ar": { "stringUnit": { "state": "translated", - "value": "session move: يتم النقل بين هذا الـ Mac ومضيف واحد؛ أعد الجلسة أولًا باستخدام --to local" + "value": "ابدأ من اختصارات طرفية أخرى. تُكتب الاختلافات فقط في cmux.json؛ اختر cmux لإزالتها." } }, "de": { "stringUnit": { "state": "translated", - "value": "session move: Verschiebungen laufen zwischen diesem Mac und einem Host; verschiebe die Sitzung zuerst mit --to local zurück" + "value": "Mit den Tastaturkürzeln eines anderen Terminals beginnen. Nur die Unterschiede werden in cmux.json geschrieben; wählen Sie cmux, um sie zu entfernen." } }, "es": { "stringUnit": { "state": "translated", - "value": "session move: los movimientos van entre este Mac y un host; primero devuelve la sesión con --to local" + "value": "Parte de los atajos de otro terminal. Solo se escriben las diferencias en cmux.json; elige cmux para eliminarlas." } }, "fr": { "stringUnit": { "state": "translated", - "value": "session move : les déplacements se font entre ce Mac et un hôte ; ramenez d'abord la session avec --to local" + "value": "Partez des raccourcis d’un autre terminal. Seules les différences sont écrites dans cmux.json ; choisissez cmux pour les supprimer." } }, "ja": { "stringUnit": { "state": "translated", - "value": "session move: 移動はこの Mac と 1 台のホストの間で行います。先に --to local でセッションを戻してください" + "value": "他のターミナルのショートカットから始めます。差分だけが cmux.json に書き込まれ、cmux を選ぶと削除されます。" } }, "ko": { "stringUnit": { "state": "translated", - "value": "session move: 이동은 이 Mac과 한 호스트 사이에서만 가능합니다. 먼저 --to local로 세션을 되돌리세요" + "value": "다른 터미널의 단축키에서 시작합니다. 차이점만 cmux.json에 기록되며, cmux를 선택하면 제거됩니다." } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "session move:移动只在这台 Mac 与一台主机之间进行;请先用 --to local 把会话移回" + "value": "以其他终端的快捷键为起点。只会将差异写入 cmux.json;选择 cmux 即可移除。" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "session move:移動只在這台 Mac 與一台主機之間進行;請先用 --to local 把工作階段移回來" + "value": "以其他終端機的快速鍵為起點。只會將差異寫入 cmux.json;選擇 cmux 即可移除。" } } } }, - "cli.session.move.error.unsupportedSSHTarget": { + "shortcut.keymap.preset.cmux": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "session move: unsupported SSH destination or option for '%@' (use user@host or an ssh_config alias, without whitespace)" + "value": "cmux (Default)" } }, "ar": { "stringUnit": { "state": "translated", - "value": "session move: وجهة أو خيار SSH غير مدعوم لـ '%@' (استخدم user@host أو اسمًا مستعارًا من ssh_config، بدون مسافات)" + "value": "cmux (الافتراضي)" } }, "de": { "stringUnit": { "state": "translated", - "value": "session move: nicht unterstütztes SSH-Ziel oder -Option für „%@“ (verwende user@host oder einen ssh_config-Alias, ohne Leerzeichen)" + "value": "cmux (Standard)" } }, "es": { "stringUnit": { "state": "translated", - "value": "session move: destino u opción SSH no admitidos para '%@' (usa user@host o un alias de ssh_config, sin espacios)" + "value": "cmux (predeterminado)" } }, "fr": { "stringUnit": { "state": "translated", - "value": "session move : destination ou option SSH non prise en charge pour '%@' (utilisez user@host ou un alias ssh_config, sans espaces)" + "value": "cmux (par défaut)" } }, "ja": { "stringUnit": { "state": "translated", - "value": "session move: '%@' の SSH 接続先またはオプションはサポートされていません (空白なしの user@host か ssh_config のエイリアスを使ってください)" + "value": "cmux(デフォルト)" } }, "ko": { "stringUnit": { "state": "translated", - "value": "session move: '%@'에 대한 SSH 대상 또는 옵션을 지원하지 않습니다(공백 없이 user@host 또는 ssh_config 별칭 사용)" + "value": "cmux (기본값)" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "session move:'%@' 的 SSH 目标或选项不受支持(请使用 user@host 或 ssh_config 别名,且不含空白)" + "value": "cmux(默认)" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "session move:'%@' 的 SSH 目的地或選項不受支援(請使用 user@host 或 ssh_config 別名,且不含空白)" + "value": "cmux(預設)" } } } }, - "cli.session.move.error.usage": { + "shortcut.keymap.preset.iterm2": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Usage: cmux session move <session-id> --to <ssh-destination|local>" + "value": "iTerm2" } }, "ar": { "stringUnit": { "state": "translated", - "value": "الاستخدام: cmux session move <session-id> --to <ssh-destination|local>" + "value": "iTerm2" } }, "de": { "stringUnit": { "state": "translated", - "value": "Verwendung: cmux session move <session-id> --to <ssh-destination|local>" + "value": "iTerm2" } }, "es": { "stringUnit": { "state": "translated", - "value": "Uso: cmux session move <session-id> --to <ssh-destination|local>" + "value": "iTerm2" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Utilisation : cmux session move <session-id> --to <ssh-destination|local>" + "value": "iTerm2" } }, "ja": { "stringUnit": { "state": "translated", - "value": "使用方法: cmux session move <session-id> --to <ssh-destination|local>" + "value": "iTerm2" } }, "ko": { "stringUnit": { "state": "translated", - "value": "사용법: cmux session move <session-id> --to <ssh-destination|local>" + "value": "iTerm2" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "用法:cmux session move <session-id> --to <ssh-destination|local>" + "value": "iTerm2" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "用法:cmux session move <session-id> --to <ssh-destination|local>" + "value": "iTerm2" } } } }, - "cli.session.move.error.workingDirectoryUnknown": { + "shortcut.keymap.preset.terminal": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "session move: the transcript does not record the session's working directory" + "value": "Terminal.app" } }, "ar": { "stringUnit": { "state": "translated", - "value": "session move: لا يسجّل النص دليل العمل الخاص بالجلسة" + "value": "Terminal.app" } }, "de": { "stringUnit": { "state": "translated", - "value": "session move: Das Transkript enthält kein Arbeitsverzeichnis der Sitzung" + "value": "Terminal.app" } }, "es": { "stringUnit": { "state": "translated", - "value": "session move: la transcripción no registra el directorio de trabajo de la sesión" + "value": "Terminal.app" } }, "fr": { "stringUnit": { "state": "translated", - "value": "session move : la transcription n'indique pas le répertoire de travail de la session" + "value": "Terminal.app" } }, "ja": { "stringUnit": { "state": "translated", - "value": "session move: トランスクリプトにセッションの作業ディレクトリが記録されていません" + "value": "Terminal.app" } }, "ko": { "stringUnit": { "state": "translated", - "value": "session move: 트랜스크립트에 세션의 작업 디렉터리가 기록되어 있지 않습니다" + "value": "Terminal.app" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "session move:记录中没有会话的工作目录" + "value": "Terminal.app" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "session move:對話紀錄沒有記錄工作階段的工作目錄" + "value": "Terminal.app" } } } }, - "cli.session.move.error.worktreeAddFailed": { + "shortcut.keymap.preset.tmux": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "session move: could not add a worktree at %@: %@" + "value": "tmux-style (Ctrl-B Prefix)" } }, "ar": { "stringUnit": { "state": "translated", - "value": "session move: تعذّرت إضافة worktree في %1$@: %2$@" + "value": "نمط tmux (البادئة Ctrl-B)" } }, "de": { "stringUnit": { "state": "translated", - "value": "session move: Worktree unter %1$@ konnte nicht hinzugefügt werden: %2$@" + "value": "tmux-Stil (Ctrl-B-Präfix)" } }, "es": { "stringUnit": { "state": "translated", - "value": "session move: no se pudo añadir un worktree en %1$@: %2$@" + "value": "Estilo tmux (prefijo Ctrl-B)" } }, "fr": { "stringUnit": { "state": "translated", - "value": "session move : impossible d'ajouter un worktree à %1$@ : %2$@" + "value": "Style tmux (préfixe Ctrl-B)" } }, "ja": { "stringUnit": { "state": "translated", - "value": "session move: %1$@ に worktree を追加できませんでした: %2$@" + "value": "tmux 風(Ctrl-B プレフィックス)" } }, "ko": { "stringUnit": { "state": "translated", - "value": "session move: %1$@에 worktree를 추가할 수 없습니다: %2$@" + "value": "tmux 스타일 (Ctrl-B 접두사)" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "session move:无法在 %1$@ 添加 worktree:%2$@" + "value": "tmux 风格(Ctrl-B 前缀)" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "session move:無法在 %1$@ 新增 worktree:%2$@" + "value": "tmux 風格(Ctrl-B 前綴)" } } } }, - "cli.session.move.output.code": { + "shortcut.keymap.summary.change": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Code: %@ at %@ (%@) with working tree snapshot %@." + "value": "%1$@: %2$@ → %3$@" } }, "ar": { "stringUnit": { "state": "translated", - "value": "الكود: %1$@ عند %2$@ (%3$@) مع لقطة شجرة العمل %4$@." + "value": "%1$@: %2$@ → %3$@" } }, "de": { "stringUnit": { "state": "translated", - "value": "Code: %1$@ auf %2$@ (%3$@) mit Snapshot des Arbeitsverzeichnisses %4$@." + "value": "%1$@: %2$@ → %3$@" } }, "es": { "stringUnit": { "state": "translated", - "value": "Código: %1$@ en %2$@ (%3$@) con la instantánea del árbol de trabajo %4$@." + "value": "%1$@: %2$@ → %3$@" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Code : %1$@ à %2$@ (%3$@) avec l'instantané de l'arbre de travail %4$@." + "value": "%1$@: %2$@ → %3$@" } }, "ja": { "stringUnit": { "state": "translated", - "value": "コード: %1$@ は %2$@ (%3$@)、作業ツリーのスナップショット %4$@。" + "value": "%1$@: %2$@ → %3$@" } }, "ko": { "stringUnit": { "state": "translated", - "value": "코드: %1$@, %2$@ (%3$@), 작업 트리 스냅샷 %4$@." + "value": "%1$@: %2$@ → %3$@" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "代码:%1$@ 位于 %2$@(%3$@),含工作树快照 %4$@。" + "value": "%1$@: %2$@ → %3$@" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "程式碼:%1$@ 位於 %2$@(%3$@),含工作樹快照 %4$@。" + "value": "%1$@: %2$@ → %3$@" } } } }, - "cli.session.move.output.detached": { + "shortcut.keymap.summary.conflict": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "detached" + "value": "%1$@ is also a macOS shortcut (%2$@). macOS may handle it before cmux." } }, "ar": { "stringUnit": { "state": "translated", - "value": "منفصل" + "value": "%1$@ هو أيضًا اختصار في macOS (%2$@). قد يعالجه macOS قبل cmux." } }, "de": { "stringUnit": { "state": "translated", - "value": "losgelöst" + "value": "%1$@ ist auch ein macOS-Tastaturkürzel (%2$@). macOS verarbeitet es möglicherweise vor cmux." } }, "es": { "stringUnit": { "state": "translated", - "value": "desacoplado" + "value": "%1$@ también es un atajo de macOS (%2$@). macOS puede procesarlo antes que cmux." } }, "fr": { "stringUnit": { "state": "translated", - "value": "détaché" + "value": "%1$@ est aussi un raccourci macOS (%2$@). macOS peut le traiter avant cmux." } }, "ja": { "stringUnit": { "state": "translated", - "value": "デタッチ" + "value": "%1$@ は macOS のショートカット(%2$@)でもあります。cmux より先に macOS が処理する場合があります。" } }, "ko": { "stringUnit": { "state": "translated", - "value": "분리됨" + "value": "%1$@은(는) macOS 단축키(%2$@)이기도 합니다. macOS가 cmux보다 먼저 처리할 수 있습니다." } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "分离" + "value": "%1$@ 也是 macOS 快捷键(%2$@)。macOS 可能会先于 cmux 处理它。" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "分離" + "value": "%1$@ 也是 macOS 快速鍵(%2$@)。macOS 可能會先於 cmux 處理它。" } } } }, - "cli.session.move.output.moved": { + "shortcut.keymap.summary.kept": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Moved session %@ to %@ (cwd %@)." + "value": "Kept your own shortcut for %@." } }, "ar": { "stringUnit": { "state": "translated", - "value": "تم نقل الجلسة %1$@ إلى %2$@ (cwd %3$@)." + "value": "تم الاحتفاظ باختصارك الخاص لـ %@." } }, "de": { "stringUnit": { "state": "translated", - "value": "Sitzung %1$@ nach %2$@ verschoben (cwd %3$@)." + "value": "Ihr eigenes Tastaturkürzel für %@ wurde beibehalten." } }, "es": { "stringUnit": { "state": "translated", - "value": "Sesión %1$@ movida a %2$@ (cwd %3$@)." + "value": "Se conservó tu propio atajo para %@." } }, "fr": { "stringUnit": { "state": "translated", - "value": "Session %1$@ déplacée vers %2$@ (cwd %3$@)." + "value": "Votre propre raccourci pour %@ a été conservé." } }, "ja": { "stringUnit": { "state": "translated", - "value": "セッション %1$@ を %2$@ に移動しました (cwd %3$@)。" + "value": "%@ に設定したショートカットはそのまま残しました。" } }, "ko": { "stringUnit": { "state": "translated", - "value": "세션 %1$@을(를) %2$@(으)로 이동했습니다 (cwd %3$@)." + "value": "%@에 대한 사용자 단축키를 유지했습니다." } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "已将会话 %1$@ 移到 %2$@(cwd %3$@)。" + "value": "已保留你为“%@”设置的快捷键。" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "已將工作階段 %1$@ 移到 %2$@(cwd %3$@)。" + "value": "已保留您為「%@」設定的快速鍵。" } } } }, - "cli.session.move.output.notGit": { + "shortcut.keymap.summary.none": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Code: %@ is not a git checkout; no files were moved." + "value": "No shortcuts changed." } }, "ar": { "stringUnit": { "state": "translated", - "value": "الكود: %@ ليس checkout لـ git؛ لم يتم نقل أي ملفات." + "value": "لم يتم تغيير أي اختصارات." } }, "de": { "stringUnit": { "state": "translated", - "value": "Code: %@ ist kein git-Checkout; es wurden keine Dateien verschoben." + "value": "Keine Tastaturkürzel geändert." } }, "es": { "stringUnit": { "state": "translated", - "value": "Código: %@ no es un checkout de git; no se movió ningún archivo." + "value": "No se cambió ningún atajo." } }, "fr": { "stringUnit": { "state": "translated", - "value": "Code : %@ n'est pas un checkout git ; aucun fichier n'a été déplacé." + "value": "Aucun raccourci modifié." } }, "ja": { "stringUnit": { "state": "translated", - "value": "コード: %@ は git のチェックアウトではないため、ファイルは移動していません。" + "value": "変更されたショートカットはありません。" } }, "ko": { "stringUnit": { "state": "translated", - "value": "코드: %@은(는) git 체크아웃이 아니므로 파일을 옮기지 않았습니다." + "value": "변경된 단축키가 없습니다." } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "代码:%@ 不是 git 检出;未移动任何文件。" + "value": "未更改任何快捷键。" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "程式碼:%@ 不是 git checkout;未移動任何檔案。" + "value": "未變更任何快速鍵。" } } } }, - "cli.session.move.output.pathsRewritten": { + "shortcut.macos.accessibilityShortcuts": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Paths were rewritten: %@ -> %@. Absolute paths inside the transcript still name the old home." + "value": "Show Accessibility Shortcuts" } }, "ar": { "stringUnit": { "state": "translated", - "value": "تمت إعادة كتابة المسارات: %1$@ -> %2$@. لا تزال المسارات المطلقة داخل النص تشير إلى المجلد الرئيسي القديم." + "value": "إظهار اختصارات تسهيلات الاستخدام" } }, "de": { "stringUnit": { "state": "translated", - "value": "Pfade wurden umgeschrieben: %1$@ -> %2$@. Absolute Pfade im Transkript nennen weiterhin das alte Home-Verzeichnis." + "value": "Kurzbefehle für Bedienungshilfen anzeigen" } }, "es": { "stringUnit": { "state": "translated", - "value": "Se reescribieron las rutas: %1$@ -> %2$@. Las rutas absolutas dentro de la transcripción aún nombran el home anterior." + "value": "Mostrar funciones rápidas de accesibilidad" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Chemins réécrits : %1$@ -> %2$@. Les chemins absolus de la transcription désignent encore l'ancien dossier personnel." + "value": "Afficher les raccourcis d’accessibilité" } }, "ja": { "stringUnit": { "state": "translated", - "value": "パスを書き換えました: %1$@ -> %2$@。トランスクリプト内の絶対パスは古いホームのままです。" + "value": "アクセシビリティのショートカットを表示" } }, "ko": { "stringUnit": { "state": "translated", - "value": "경로를 다시 썼습니다: %1$@ -> %2$@. 트랜스크립트 안의 절대 경로는 여전히 이전 홈을 가리킵니다." + "value": "손쉬운 사용 단축키 보기" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "已改写路径:%1$@ -> %2$@。记录中的绝对路径仍指向旧的主目录。" + "value": "显示辅助功能快捷键" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "已改寫路徑:%1$@ -> %2$@。對話紀錄中的絕對路徑仍指向舊的主目錄。" + "value": "顯示輔助使用快速鍵" } } } }, - "cli.session.move.output.sourceKept": { + "shortcut.macos.appSwitcher": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "The copy on %@ stays; do not resume it there too." + "value": "Switch apps" } }, "ar": { "stringUnit": { "state": "translated", - "value": "تبقى النسخة على %@؛ لا تستأنفها هناك أيضًا." + "value": "التبديل بين التطبيقات" } }, "de": { "stringUnit": { "state": "translated", - "value": "Die Kopie auf %@ bleibt erhalten; setze sie dort nicht ebenfalls fort." + "value": "Zwischen Apps wechseln" } }, "es": { "stringUnit": { "state": "translated", - "value": "La copia en %@ se conserva; no la reanudes también allí." + "value": "Cambiar de app" } }, "fr": { "stringUnit": { "state": "translated", - "value": "La copie sur %@ est conservée ; ne la reprenez pas aussi là-bas." + "value": "Passer d’une app à l’autre" } }, "ja": { "stringUnit": { "state": "translated", - "value": "%@ のコピーは残ります。そちらでも再開しないでください。" + "value": "アプリを切り替える" } }, "ko": { "stringUnit": { "state": "translated", - "value": "%@의 사본은 그대로 남습니다. 그곳에서도 재개하지 마세요." + "value": "앱 전환" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "%@ 上的副本会保留;请勿也在那里恢复它。" + "value": "切换 App" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "%@ 上的副本會保留;請勿也在那裡恢復它。" + "value": "切換 App" } } } }, - "cli.session.move.progress.addingWorktree": { + "shortcut.macos.appSwitcherReverse": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "session move: adding worktree %@ on the destination" + "value": "Switch apps backward" } }, "ar": { "stringUnit": { "state": "translated", - "value": "session move: جارٍ إضافة worktree %@ في الوجهة" + "value": "التبديل بين التطبيقات للخلف" } }, "de": { "stringUnit": { "state": "translated", - "value": "session move: Worktree %@ wird am Ziel hinzugefügt" + "value": "Rückwärts zwischen Apps wechseln" } }, "es": { "stringUnit": { "state": "translated", - "value": "session move: añadiendo el worktree %@ en el destino" + "value": "Cambiar de app hacia atrás" } }, "fr": { "stringUnit": { "state": "translated", - "value": "session move : ajout du worktree %@ sur la destination" + "value": "Passer d’une app à l’autre en sens inverse" } }, "ja": { "stringUnit": { "state": "translated", - "value": "session move: 移動先に worktree %@ を追加しています" + "value": "アプリを逆順に切り替える" } }, "ko": { "stringUnit": { "state": "translated", - "value": "session move: 대상에 worktree %@을(를) 추가하는 중" + "value": "앱 역방향 전환" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "session move:正在目标上添加 worktree %@" + "value": "反向切换 App" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "session move:正在目的地新增 worktree %@" + "value": "反向切換 App" } } } }, - "update.readyWaiting": { + "shortcut.macos.applicationWindows": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Update Ready" - } - }, - "de": { - "stringUnit": { - "state": "translated", - "value": "Update bereit" - } - }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Mise à jour prête" + "value": "Show application windows" } }, "ar": { "stringUnit": { "state": "translated", - "value": "التحديث جاهز" - } - }, - "es": { - "stringUnit": { - "state": "translated", - "value": "Actualización lista" - } - }, - "zh-Hant": { - "stringUnit": { - "state": "translated", - "value": "更新已就緒" - } - }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "更新已就绪" - } - }, - "ko": { - "stringUnit": { - "state": "translated", - "value": "업데이트 준비됨" - } - }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "アップデートの準備完了" - } - } - } - }, - "update.installNow": { - "extractionState": "manual", - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Install Now" + "value": "إظهار نوافذ التطبيق" } }, "de": { "stringUnit": { "state": "translated", - "value": "Jetzt installieren" + "value": "Programmfenster anzeigen" } }, - "fr": { + "es": { "stringUnit": { "state": "translated", - "value": "Installer maintenant" + "value": "Mostrar ventanas de la aplicación" } }, - "ar": { + "fr": { "stringUnit": { "state": "translated", - "value": "التثبيت الآن" + "value": "Afficher les fenêtres d’application" } }, - "es": { + "ja": { "stringUnit": { "state": "translated", - "value": "Instalar ahora" + "value": "アプリケーションウインドウを表示" } }, - "zh-Hant": { + "ko": { "stringUnit": { "state": "translated", - "value": "立即安裝" + "value": "응용 프로그램 윈도우 보기" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "立即安装" - } - }, - "ko": { - "stringUnit": { - "state": "translated", - "value": "지금 설치" + "value": "显示应用程序窗口" } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "今すぐインストール" + "value": "顯示應用程式視窗" } } } }, - "terminal.paste.notice.imageTooLarge": { + "shortcut.macos.characterViewer": { "extractionState": "manual", "localizations": { - "ar": { + "en": { "stringUnit": { "state": "translated", - "value": "الصورة أكبر من 10 ميغابايت" + "value": "Show Emoji & Symbols" } }, - "de": { + "ar": { "stringUnit": { "state": "translated", - "value": "Bild ist größer als 10 MB" + "value": "إظهار الرموز التعبيرية والرموز" } }, - "en": { + "de": { "stringUnit": { "state": "translated", - "value": "Image is larger than 10 MB" + "value": "Emoji & Symbole anzeigen" } }, "es": { "stringUnit": { "state": "translated", - "value": "La imagen supera los 10 MB" + "value": "Mostrar emojis y símbolos" } }, "fr": { "stringUnit": { "state": "translated", - "value": "L’image dépasse 10 Mo" + "value": "Afficher Emoji et symboles" } }, "ja": { "stringUnit": { "state": "translated", - "value": "画像が 10 MB を超えています" + "value": "絵文字と記号を表示" } }, "ko": { "stringUnit": { "state": "translated", - "value": "이미지가 10MB보다 큽니다" + "value": "이모티콘 및 기호 보기" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "图片大于 10 MB" + "value": "显示表情与符号" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "圖片大於 10 MB" + "value": "顯示表情符號與符號" } } } }, - "terminal.paste.notice.timedOut": { + "shortcut.macos.finderSearch": { "extractionState": "manual", "localizations": { - "ar": { + "en": { "stringUnit": { "state": "translated", - "value": "انتهت مهلة اللصق" + "value": "Show Finder search window" } }, - "de": { + "ar": { "stringUnit": { "state": "translated", - "value": "Zeitüberschreitung beim Einfügen" + "value": "إظهار نافذة البحث في Finder" } }, - "en": { + "de": { "stringUnit": { "state": "translated", - "value": "Paste timed out" + "value": "Finder-Suchfenster anzeigen" } }, "es": { "stringUnit": { "state": "translated", - "value": "Se agotó el tiempo para pegar" + "value": "Mostrar ventana de búsqueda del Finder" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Le collage a expiré" + "value": "Afficher la fenêtre de recherche du Finder" } }, "ja": { "stringUnit": { "state": "translated", - "value": "貼り付けがタイムアウトしました" + "value": "Finder の検索ウインドウを表示" } }, "ko": { "stringUnit": { "state": "translated", - "value": "붙여넣기 시간이 초과되었습니다" + "value": "Finder 검색 윈도우 보기" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "粘贴超时" + "value": "显示“访达”搜索窗口" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "貼上逾時" + "value": "顯示 Finder 搜尋視窗" } } } }, - "shortcut.pasteLastScreenshot.label": { + "shortcut.macos.focusDock": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Paste Last Screenshot" + "value": "Move focus to the Dock" } }, "ar": { "stringUnit": { "state": "translated", - "value": "لصق آخر لقطة شاشة" + "value": "نقل التركيز إلى Dock" } }, "de": { "stringUnit": { "state": "translated", - "value": "Letzten Screenshot einfügen" + "value": "Fokus auf das Dock bewegen" } }, "es": { "stringUnit": { "state": "translated", - "value": "Pegar la última captura de pantalla" + "value": "Mover el foco al Dock" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Coller la dernière capture d’écran" + "value": "Placer le curseur dans le Dock" } }, "ja": { "stringUnit": { "state": "translated", - "value": "最新のスクリーンショットを貼り付け" + "value": "Dock にフォーカスを移動" } }, "ko": { "stringUnit": { "state": "translated", - "value": "마지막 스크린샷 붙여넣기" + "value": "Dock으로 포커스 이동" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "粘贴最新的截图" + "value": "将焦点移到程序坞" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "貼上最新的螢幕截圖" + "value": "將焦點移至 Dock" } } } }, - "command.terminalPasteLastScreenshot.title": { + "shortcut.macos.focusMenuBar": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Paste Last Screenshot" + "value": "Move focus to the menu bar" } }, "ar": { "stringUnit": { "state": "translated", - "value": "لصق آخر لقطة شاشة" + "value": "نقل التركيز إلى شريط القائمة" } }, "de": { "stringUnit": { "state": "translated", - "value": "Letzten Screenshot einfügen" + "value": "Fokus auf die Menüleiste bewegen" } }, "es": { "stringUnit": { "state": "translated", - "value": "Pegar la última captura de pantalla" + "value": "Mover el foco a la barra de menús" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Coller la dernière capture d’écran" + "value": "Placer le curseur dans la barre des menus" } }, "ja": { "stringUnit": { "state": "translated", - "value": "最新のスクリーンショットを貼り付け" + "value": "メニューバーにフォーカスを移動" } }, "ko": { "stringUnit": { "state": "translated", - "value": "마지막 스크린샷 붙여넣기" + "value": "메뉴 막대로 포커스 이동" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "粘贴最新的截图" + "value": "将焦点移到菜单栏" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "貼上最新的螢幕截圖" + "value": "將焦點移至選單列" } } } }, - "terminal.unsafePasteConfirmation.message": { + "shortcut.macos.helpMenuSearch": { "extractionState": "manual", "localizations": { - "ar": { + "en": { "stringUnit": { "state": "translated", - "value": "قد ينفّذ هذا النص أوامر فور لصقه، مثلًا لأنه يحتوي على فاصل أسطر. الصقه فقط إذا كنت تثق به." + "value": "Show Help menu" } }, - "de": { + "ar": { "stringUnit": { "state": "translated", - "value": "Dieser Text könnte beim Einfügen sofort Befehle ausführen, zum Beispiel weil er einen Zeilenumbruch enthält. Füge ihn nur ein, wenn du ihm vertraust." + "value": "إظهار قائمة التعليمات" } }, - "en": { + "de": { "stringUnit": { "state": "translated", - "value": "This text could run commands as soon as it is pasted, for example because it contains a line break. Paste it only if you trust it." + "value": "Menü „Hilfe“ anzeigen" } }, "es": { "stringUnit": { "state": "translated", - "value": "Este texto podría ejecutar comandos en cuanto se pegue, por ejemplo porque contiene un salto de línea. Pégalo solo si confías en él." + "value": "Mostrar el menú Ayuda" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Ce texte pourrait exécuter des commandes dès qu’il est collé, par exemple parce qu’il contient un saut de ligne. Ne le collez que si vous lui faites confiance." + "value": "Afficher le menu Aide" } }, "ja": { "stringUnit": { "state": "translated", - "value": "このテキストには改行が含まれているなどの理由で、貼り付けた直後にコマンドが実行される可能性があります。信頼できる場合にのみ貼り付けてください。" + "value": "「ヘルプ」メニューを表示" } }, "ko": { "stringUnit": { "state": "translated", - "value": "이 텍스트는 줄바꿈이 들어 있는 등의 이유로 붙여넣는 즉시 명령을 실행할 수 있습니다. 신뢰할 수 있을 때만 붙여넣으세요." + "value": "도움말 메뉴 보기" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "这段文本可能在粘贴后立即运行命令,例如因为其中包含换行。只有在你信任它时才粘贴。" + "value": "显示“帮助”菜单" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "這段文字可能在貼上後立即執行指令,例如因為其中包含換行。只有在你信任它時才貼上。" + "value": "顯示「輔助說明」選單" } } } }, - "terminal.unsafePasteConfirmation.paste": { + "shortcut.macos.lockScreen": { "extractionState": "manual", "localizations": { - "ar": { + "en": { "stringUnit": { "state": "translated", - "value": "لصق" + "value": "Lock Screen" } }, - "de": { + "ar": { "stringUnit": { "state": "translated", - "value": "Einfügen" + "value": "قفل الشاشة" } }, - "en": { + "de": { "stringUnit": { "state": "translated", - "value": "Paste" + "value": "Bildschirm sperren" } }, "es": { "stringUnit": { "state": "translated", - "value": "Pegar" + "value": "Bloquear pantalla" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Coller" + "value": "Verrouiller l’écran" } }, "ja": { "stringUnit": { "state": "translated", - "value": "貼り付け" + "value": "画面をロック" } }, "ko": { "stringUnit": { "state": "translated", - "value": "붙여넣기" + "value": "화면 잠금" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "粘贴" + "value": "锁定屏幕" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "貼上" + "value": "鎖定螢幕" } } } }, - "terminal.unsafePasteConfirmation.title": { + "shortcut.macos.logOut": { "extractionState": "manual", "localizations": { - "ar": { + "en": { "stringUnit": { "state": "translated", - "value": "هل تريد لصق نص قد يكون غير آمن؟" + "value": "Log Out" } }, - "de": { + "ar": { "stringUnit": { "state": "translated", - "value": "Möglicherweise unsicheren Text einfügen?" + "value": "تسجيل الخروج" } }, - "en": { + "de": { "stringUnit": { "state": "translated", - "value": "Paste Potentially Unsafe Text?" + "value": "Abmelden" } }, "es": { "stringUnit": { "state": "translated", - "value": "¿Pegar texto potencialmente no seguro?" + "value": "Cerrar sesión" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Coller un texte potentiellement dangereux ?" + "value": "Fermer la session" } }, "ja": { "stringUnit": { "state": "translated", - "value": "安全でない可能性のあるテキストを貼り付けますか?" + "value": "ログアウト" } }, "ko": { "stringUnit": { "state": "translated", - "value": "안전하지 않을 수 있는 텍스트를 붙여넣을까요?" + "value": "로그아웃" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "要粘贴可能不安全的文本吗?" + "value": "退出登录" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "要貼上可能不安全的文字嗎?" + "value": "登出" } } } }, - "settings.terminal.confirmUnsafePaste": { + "shortcut.macos.lookUp": { "extractionState": "manual", "localizations": { - "ar": { + "en": { "stringUnit": { "state": "translated", - "value": "تأكيد اللصق غير الآمن" + "value": "Look up & data detectors" } }, - "de": { + "ar": { "stringUnit": { "state": "translated", - "value": "Unsicheres Einfügen bestätigen" + "value": "البحث وكاشفات البيانات" } }, - "en": { + "de": { "stringUnit": { "state": "translated", - "value": "Confirm Unsafe Pastes" + "value": "Nachschlagen & Datenerkennung" } }, "es": { "stringUnit": { "state": "translated", - "value": "Confirmar pegados no seguros" + "value": "Consultar y detectores de datos" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Confirmer les collages non sûrs" + "value": "Recherche et détecteurs de données" } }, "ja": { "stringUnit": { "state": "translated", - "value": "安全でない貼り付けを確認" + "value": "調べる/データ検出" } }, "ko": { "stringUnit": { "state": "translated", - "value": "안전하지 않은 붙여넣기 확인" + "value": "찾아보기 및 데이터 감지기" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "确认不安全的粘贴" + "value": "查询与数据检测器" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "確認不安全的貼上" + "value": "查詢與資料偵測器" } } } }, - "settings.terminal.confirmUnsafePaste.subtitleOff": { + "shortcut.macos.missionControl": { "extractionState": "manual", "localizations": { - "ar": { + "en": { "stringUnit": { "state": "translated", - "value": "يتم اللصق الذي يصنّفه Ghostty على أنه غير آمن دون سؤال." + "value": "Show Mission Control" } }, - "de": { + "ar": { "stringUnit": { "state": "translated", - "value": "Von Ghostty als unsicher markierte Einfügungen werden ohne Nachfrage ausgeführt." + "value": "إظهار Mission Control" } }, - "en": { + "de": { "stringUnit": { "state": "translated", - "value": "Pastes Ghostty flags as unsafe go through without asking." + "value": "Mission Control anzeigen" } }, "es": { "stringUnit": { "state": "translated", - "value": "Los pegados que Ghostty marca como no seguros se realizan sin preguntar." + "value": "Mostrar Mission Control" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Les collages que Ghostty signale comme non sûrs sont effectués sans demander." + "value": "Afficher Mission Control" } }, "ja": { "stringUnit": { "state": "translated", - "value": "Ghostty が安全でないと判定した貼り付けも、確認せずに実行します。" + "value": "Mission Control を表示" } }, "ko": { "stringUnit": { "state": "translated", - "value": "Ghostty가 안전하지 않다고 표시한 붙여넣기도 묻지 않고 진행합니다." + "value": "Mission Control 보기" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "Ghostty 标记为不安全的粘贴会直接执行,不会询问。" + "value": "显示调度中心" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "Ghostty 標記為不安全的貼上會直接執行,不會詢問。" + "value": "顯示「指揮中心」" } } } }, - "settings.terminal.confirmUnsafePaste.subtitleOn": { + "shortcut.macos.nextInputSource": { "extractionState": "manual", "localizations": { - "ar": { + "en": { "stringUnit": { "state": "translated", - "value": "ينتظر اللصق الذي يصنّفه Ghostty على أنه غير آمن، مثل عدة أسطر في برنامج لا يستخدم اللصق المحاط (bracketed paste)، تأكيدك في ورقة مرفقة بالنافذة." + "value": "Select the next input source" } }, - "de": { + "ar": { "stringUnit": { "state": "translated", - "value": "Ein Einfügen, das Ghostty als unsicher markiert, etwa mehrere Zeilen in ein Programm ohne Bracketed Paste, wartet auf deine Bestätigung in einem Sheet am Fenster." + "value": "تحديد مصدر الإدخال التالي" } }, - "en": { + "de": { "stringUnit": { "state": "translated", - "value": "A paste Ghostty flags as unsafe, such as several lines into a program without bracketed paste, waits for you to confirm it in a sheet on the window." + "value": "Nächste Eingabequelle auswählen" } }, "es": { "stringUnit": { "state": "translated", - "value": "Un pegado que Ghostty marca como no seguro, como varias líneas en un programa sin pegado entre corchetes (bracketed paste), espera tu confirmación en una hoja de la ventana." + "value": "Seleccionar la siguiente fuente de entrada" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Un collage que Ghostty signale comme non sûr, par exemple plusieurs lignes dans un programme sans collage entre crochets (bracketed paste), attend votre confirmation dans une feuille attachée à la fenêtre." + "value": "Sélectionner la source de saisie suivante" } }, "ja": { "stringUnit": { "state": "translated", - "value": "Ghostty が安全でないと判定した貼り付け(ブラケットペーストを使わないプログラムへの複数行の貼り付けなど)は、ウインドウのシートで確認するまで待機します。" + "value": "次の入力ソースを選択" } }, "ko": { "stringUnit": { "state": "translated", - "value": "Ghostty가 안전하지 않다고 표시한 붙여넣기(예: 브래킷 붙여넣기를 쓰지 않는 프로그램에 여러 줄 붙여넣기)는 창에 붙은 시트에서 확인할 때까지 기다립니다." + "value": "다음 입력 소스 선택" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "Ghostty 标记为不安全的粘贴(例如将多行文本粘贴到未启用括号粘贴的程序中)会先在窗口上的表单中等待你确认。" + "value": "选择下一个输入法" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "Ghostty 標記為不安全的貼上(例如將多行文字貼到未啟用括號貼上的程式中)會先在視窗上的表單中等待你確認。" + "value": "選取下一個輸入方式" } } } }, - "settings.search.alias.setting.terminal.confirm-unsafe-paste": { + "shortcut.macos.nextWindow": { "extractionState": "manual", "localizations": { - "ar": { + "en": { "stringUnit": { "state": "translated", - "value": "terminal.confirmUnsafePaste confirm unsafe paste protection warning multi-line newline clipboard sheet لصق غير آمن تأكيد تحذير عدة أسطر فاصل أسطر حافظة" + "value": "Move focus to the next window" } }, - "de": { + "ar": { "stringUnit": { "state": "translated", - "value": "terminal.confirmUnsafePaste confirm unsafe paste protection warning multi-line newline clipboard sheet unsicher einfügen bestätigen warnung mehrzeilig zeilenumbruch zwischenablage" + "value": "نقل التركيز إلى النافذة التالية" } }, - "en": { + "de": { "stringUnit": { "state": "translated", - "value": "terminal.confirmUnsafePaste confirm unsafe paste protection warning multi-line newline clipboard sheet" + "value": "Fokus auf das nächste Fenster bewegen" } }, "es": { "stringUnit": { "state": "translated", - "value": "terminal.confirmUnsafePaste confirm unsafe paste protection warning multi-line newline clipboard sheet pegar no seguro confirmar advertencia varias líneas salto de línea portapapeles" + "value": "Mover el foco a la siguiente ventana" } }, "fr": { "stringUnit": { "state": "translated", - "value": "terminal.confirmUnsafePaste confirm unsafe paste protection warning multi-line newline clipboard sheet coller non sûr confirmer avertissement plusieurs lignes saut de ligne presse-papiers" + "value": "Placer le curseur sur la fenêtre suivante" } }, "ja": { "stringUnit": { "state": "translated", - "value": "terminal.confirmUnsafePaste confirm unsafe paste protection warning multi-line newline clipboard sheet 貼り付け ペースト 安全でない 確認 警告 複数行 改行 クリップボード" + "value": "次のウインドウにフォーカスを移動" } }, "ko": { "stringUnit": { "state": "translated", - "value": "terminal.confirmUnsafePaste confirm unsafe paste protection warning multi-line newline clipboard sheet 붙여넣기 안전하지 않음 확인 경고 여러 줄 줄바꿈 클립보드" + "value": "다음 윈도우로 포커스 이동" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "terminal.confirmUnsafePaste confirm unsafe paste protection warning multi-line newline clipboard sheet 粘贴 不安全 确认 警告 多行 换行 剪贴板" + "value": "将焦点移到下一个窗口" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "terminal.confirmUnsafePaste confirm unsafe paste protection warning multi-line newline clipboard sheet 貼上 不安全 確認 警告 多行 換行 剪貼簿" + "value": "將焦點移至下一個視窗" } } } }, - "appChannelSwitch.action.nightly": { + "shortcut.macos.previousInputSource": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Switch to Nightly" + "value": "Select the previous input source" } }, "ar": { "stringUnit": { "state": "translated", - "value": "التبديل إلى Nightly" + "value": "تحديد مصدر الإدخال السابق" } }, "de": { "stringUnit": { "state": "translated", - "value": "Zu Nightly wechseln" + "value": "Vorherige Eingabequelle auswählen" } }, "es": { "stringUnit": { "state": "translated", - "value": "Cambiar a Nightly" + "value": "Seleccionar la fuente de entrada anterior" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Passer à Nightly" + "value": "Sélectionner la source de saisie précédente" } }, "ja": { "stringUnit": { "state": "translated", - "value": "Nightly に切り替える" + "value": "前の入力ソースを選択" } }, "ko": { "stringUnit": { "state": "translated", - "value": "Nightly로 전환" + "value": "이전 입력 소스 선택" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "切换到 Nightly" + "value": "选择上一个输入法" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "切換至 Nightly" + "value": "選取上一個輸入方式" } } } }, - "appChannelSwitch.action.stable": { + "shortcut.macos.previousWindow": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Switch to Stable" + "value": "Move focus to the previous window" } }, "ar": { "stringUnit": { "state": "translated", - "value": "التبديل إلى الإصدار المستقر" + "value": "نقل التركيز إلى النافذة السابقة" } }, "de": { "stringUnit": { "state": "translated", - "value": "Zu Stable wechseln" + "value": "Fokus auf das vorherige Fenster bewegen" } }, "es": { "stringUnit": { "state": "translated", - "value": "Cambiar a Stable" + "value": "Mover el foco a la ventana anterior" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Passer à Stable" + "value": "Placer le curseur sur la fenêtre précédente" } }, "ja": { "stringUnit": { "state": "translated", - "value": "安定版に切り替える" + "value": "前のウインドウにフォーカスを移動" } }, "ko": { "stringUnit": { "state": "translated", - "value": "안정 버전으로 전환" + "value": "이전 윈도우로 포커스 이동" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "切换到稳定版" + "value": "将焦点移到上一个窗口" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "切換至穩定版" + "value": "將焦點移至上一個視窗" } } } }, - "appChannelSwitch.failed.appMissing": { + "shortcut.macos.screenshotScreen": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "The downloaded disk image does not contain the expected app." + "value": "Save picture of screen as a file" } }, "ar": { "stringUnit": { "state": "translated", - "value": "لا تحتوي صورة القرص التي تم تنزيلها على التطبيق المتوقع." + "value": "حفظ صورة الشاشة كملف" } }, "de": { "stringUnit": { "state": "translated", - "value": "Das heruntergeladene Disk-Image enthält nicht die erwartete App." + "value": "Bildschirmfoto als Datei sichern" } }, "es": { "stringUnit": { "state": "translated", - "value": "La imagen de disco descargada no contiene la app esperada." + "value": "Guardar imagen de la pantalla como archivo" } }, "fr": { "stringUnit": { "state": "translated", - "value": "L’image disque téléchargée ne contient pas l’app attendue." + "value": "Enregistrer une image de l’écran dans un fichier" } }, "ja": { "stringUnit": { "state": "translated", - "value": "ダウンロードしたディスクイメージに目的のアプリが含まれていません。" + "value": "画面のピクチャをファイルとして保存" } }, "ko": { "stringUnit": { "state": "translated", - "value": "다운로드한 디스크 이미지에 예상한 앱이 없습니다." + "value": "화면 사진을 파일로 저장" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "下载的磁盘映像不包含预期的应用。" + "value": "将屏幕图片存储为文件" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "下載的磁碟映像檔不包含預期的 App。" + "value": "將螢幕圖片儲存為檔案" } } } }, - "appChannelSwitch.failed.close": { + "shortcut.macos.screenshotScreenToClipboard": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Close" + "value": "Copy picture of screen to the clipboard" } }, "ar": { "stringUnit": { "state": "translated", - "value": "إغلاق" + "value": "نسخ صورة الشاشة إلى الحافظة" } }, "de": { "stringUnit": { "state": "translated", - "value": "Schließen" + "value": "Bildschirmfoto in die Zwischenablage kopieren" } }, "es": { "stringUnit": { "state": "translated", - "value": "Cerrar" + "value": "Copiar imagen de la pantalla en el portapapeles" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Fermer" + "value": "Copier une image de l’écran dans le presse-papiers" } }, "ja": { "stringUnit": { "state": "translated", - "value": "閉じる" + "value": "画面のピクチャをクリップボードにコピー" } }, "ko": { "stringUnit": { "state": "translated", - "value": "닫기" + "value": "화면 사진을 클립보드로 복사" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "关闭" + "value": "将屏幕图片拷贝到剪贴板" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "關閉" + "value": "將螢幕圖片拷貝到剪貼板" } } } }, - "appChannelSwitch.failed.download": { + "shortcut.macos.screenshotSelection": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Download Manually" + "value": "Save picture of selected area as a file" } }, "ar": { "stringUnit": { "state": "translated", - "value": "التنزيل يدويًا" + "value": "حفظ صورة المنطقة المحددة كملف" } }, "de": { "stringUnit": { "state": "translated", - "value": "Manuell laden" + "value": "Foto des ausgewählten Bereichs als Datei sichern" } }, "es": { "stringUnit": { "state": "translated", - "value": "Descargar manualmente" + "value": "Guardar imagen del área seleccionada como archivo" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Télécharger manuellement" + "value": "Enregistrer une image de la zone sélectionnée dans un fichier" } }, "ja": { "stringUnit": { "state": "translated", - "value": "手動でダウンロード" + "value": "選択部分のピクチャをファイルとして保存" } }, "ko": { "stringUnit": { "state": "translated", - "value": "수동으로 다운로드" + "value": "선택 영역 사진을 파일로 저장" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "手动下载" + "value": "将所选区域的图片存储为文件" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "手動下載" + "value": "將所選區域的圖片儲存為檔案" } } } }, - "appChannelSwitch.failed.downloadDetail": { + "shortcut.macos.screenshotSelectionToClipboard": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "The download failed: %@" + "value": "Copy picture of selected area to the clipboard" } }, "ar": { "stringUnit": { "state": "translated", - "value": "فشل التنزيل: %@" + "value": "نسخ صورة المنطقة المحددة إلى الحافظة" } }, "de": { "stringUnit": { "state": "translated", - "value": "Der Download ist fehlgeschlagen: %@" + "value": "Foto des ausgewählten Bereichs in die Zwischenablage kopieren" } }, "es": { "stringUnit": { "state": "translated", - "value": "La descarga falló: %@" + "value": "Copiar imagen del área seleccionada en el portapapeles" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Le téléchargement a échoué : %@" + "value": "Copier une image de la zone sélectionnée dans le presse-papiers" } }, "ja": { "stringUnit": { "state": "translated", - "value": "ダウンロードに失敗しました: %@" + "value": "選択部分のピクチャをクリップボードにコピー" } }, "ko": { "stringUnit": { "state": "translated", - "value": "다운로드 실패: %@" + "value": "선택 영역 사진을 클립보드로 복사" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "下载失败:%@" + "value": "将所选区域的图片拷贝到剪贴板" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "下載失敗:%@" + "value": "將所選區域的圖片拷貝到剪貼板" } } } }, - "appChannelSwitch.failed.installDetail": { + "shortcut.macos.screenshotToolbar": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "The app could not be installed: %@" + "value": "Screenshot and recording options" } }, "ar": { "stringUnit": { "state": "translated", - "value": "تعذّر تثبيت التطبيق: %@" + "value": "خيارات لقطة الشاشة والتسجيل" } }, "de": { "stringUnit": { "state": "translated", - "value": "Die App konnte nicht installiert werden: %@" + "value": "Bildschirmfoto- und Aufnahmeoptionen" } }, "es": { "stringUnit": { "state": "translated", - "value": "No se pudo instalar la app: %@" + "value": "Opciones de captura de pantalla y grabación" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Impossible d’installer l’app : %@" + "value": "Options de capture d’écran et d’enregistrement" } }, "ja": { "stringUnit": { "state": "translated", - "value": "アプリをインストールできませんでした: %@" + "value": "スクリーンショットと収録のオプション" } }, "ko": { "stringUnit": { "state": "translated", - "value": "앱을 설치할 수 없습니다: %@" + "value": "스크린샷 및 기록 옵션" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "无法安装应用:%@" + "value": "截屏和录制选项" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "無法安裝 App:%@" + "value": "截圖和錄製選項" } } } }, - "appChannelSwitch.failed.launchDetail": { + "shortcut.macos.spaceLeft": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "The app could not be opened: %@" + "value": "Move left a space" } }, "ar": { "stringUnit": { "state": "translated", - "value": "تعذّر فتح التطبيق: %@" + "value": "الانتقال مساحة واحدة إلى اليسار" } }, "de": { "stringUnit": { "state": "translated", - "value": "Die App konnte nicht geöffnet werden: %@" + "value": "Einen Space nach links" } }, "es": { "stringUnit": { "state": "translated", - "value": "No se pudo abrir la app: %@" + "value": "Ir un espacio a la izquierda" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Impossible d’ouvrir l’app : %@" + "value": "Aller un espace à gauche" } }, "ja": { "stringUnit": { "state": "translated", - "value": "アプリを開けませんでした: %@" + "value": "左の操作スペースへ移動" } }, "ko": { "stringUnit": { "state": "translated", - "value": "앱을 열 수 없습니다: %@" + "value": "왼쪽 스페이스로 이동" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "无法打开应用:%@" + "value": "向左移动一个空间" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "無法開啟 App:%@" + "value": "向左移動一個空間" } } } }, - "appChannelSwitch.failed.mountDetail": { + "shortcut.macos.spaceRight": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "The disk image could not be opened: %@" + "value": "Move right a space" } }, "ar": { "stringUnit": { "state": "translated", - "value": "تعذّر فتح صورة القرص: %@" + "value": "الانتقال مساحة واحدة إلى اليمين" } }, "de": { "stringUnit": { "state": "translated", - "value": "Das Disk-Image konnte nicht geöffnet werden: %@" + "value": "Einen Space nach rechts" } }, "es": { "stringUnit": { "state": "translated", - "value": "No se pudo abrir la imagen de disco: %@" + "value": "Ir un espacio a la derecha" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Impossible d’ouvrir l’image disque : %@" + "value": "Aller un espace à droite" } }, "ja": { "stringUnit": { "state": "translated", - "value": "ディスクイメージを開けませんでした: %@" + "value": "右の操作スペースへ移動" } }, "ko": { "stringUnit": { "state": "translated", - "value": "디스크 이미지를 열 수 없습니다: %@" + "value": "오른쪽 스페이스로 이동" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "无法打开磁盘映像:%@" + "value": "向右移动一个空间" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "無法開啟磁碟映像檔:%@" + "value": "向右移動一個空間" } } } }, - "appChannelSwitch.failed.occupied": { + "shortcut.macos.spotlight": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Another app is already installed at %@." + "value": "Show Spotlight search" } }, "ar": { "stringUnit": { "state": "translated", - "value": "يوجد تطبيق آخر مثبت بالفعل في %@." + "value": "إظهار بحث Spotlight" } }, "de": { "stringUnit": { "state": "translated", - "value": "Unter %@ ist bereits eine andere App installiert." + "value": "Spotlight-Suche anzeigen" } }, "es": { "stringUnit": { "state": "translated", - "value": "Ya hay otra app instalada en %@." + "value": "Mostrar búsqueda de Spotlight" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Une autre app est déjà installée à l’emplacement %@." + "value": "Afficher la recherche Spotlight" } }, "ja": { "stringUnit": { "state": "translated", - "value": "%@ には別のアプリがすでにインストールされています。" + "value": "Spotlight 検索を表示" } }, "ko": { "stringUnit": { "state": "translated", - "value": "%@에 이미 다른 앱이 설치되어 있습니다." + "value": "Spotlight 검색 보기" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "%@ 已安装其他应用。" + "value": "显示“聚焦”搜索" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "%@ 已安裝其他 App。" + "value": "顯示 Spotlight 搜尋" } } } }, - "appChannelSwitch.failed.title": { + "shortcut.macos.toggleDockHiding": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Couldn't switch to %@" + "value": "Turn Dock hiding on or off" } }, "ar": { "stringUnit": { "state": "translated", - "value": "تعذّر التبديل إلى %@" + "value": "تشغيل أو إيقاف إخفاء Dock" } }, "de": { "stringUnit": { "state": "translated", - "value": "Wechsel zu %@ nicht möglich" + "value": "Automatisches Ausblenden des Docks ein- oder ausschalten" } }, "es": { "stringUnit": { "state": "translated", - "value": "No se pudo cambiar a %@" + "value": "Activar o desactivar la ocultación del Dock" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Impossible de passer à %@" + "value": "Activer ou désactiver le masquage du Dock" } }, "ja": { "stringUnit": { "state": "translated", - "value": "%@ に切り替えられませんでした" + "value": "Dock を自動的に表示/非表示のオン/オフ" } }, "ko": { "stringUnit": { "state": "translated", - "value": "%@(으)로 전환할 수 없습니다" + "value": "Dock 가리기 켜기 또는 끄기" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "无法切换到 %@" + "value": "打开或关闭程序坞隐藏" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "無法切換至 %@" + "value": "開啟或關閉 Dock 隱藏" } } } }, - "appChannelSwitch.failed.verification": { + "shortcut.macos.voiceOver": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "The downloaded app did not pass code signature verification, so it was not installed." + "value": "Turn VoiceOver on or off" } }, "ar": { "stringUnit": { "state": "translated", - "value": "لم يجتز التطبيق الذي تم تنزيله التحقق من توقيع الشيفرة، لذا لم يتم تثبيته." + "value": "تشغيل VoiceOver أو إيقافه" } }, "de": { "stringUnit": { "state": "translated", - "value": "Die heruntergeladene App hat die Prüfung der Codesignatur nicht bestanden und wurde nicht installiert." + "value": "VoiceOver ein- oder ausschalten" } }, "es": { "stringUnit": { "state": "translated", - "value": "La app descargada no superó la verificación de la firma de código, así que no se instaló." + "value": "Activar o desactivar VoiceOver" } }, "fr": { "stringUnit": { "state": "translated", - "value": "L’app téléchargée n’a pas passé la vérification de la signature du code ; elle n’a donc pas été installée." + "value": "Activer ou désactiver VoiceOver" } }, "ja": { "stringUnit": { "state": "translated", - "value": "ダウンロードしたアプリはコード署名の検証に合格しなかったため、インストールされませんでした。" + "value": "VoiceOver のオン/オフ" } }, "ko": { "stringUnit": { "state": "translated", - "value": "다운로드한 앱이 코드 서명 확인을 통과하지 못해 설치하지 않았습니다." + "value": "VoiceOver 켜기 또는 끄기" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "下载的应用未通过代码签名验证,因此未安装。" + "value": "打开或关闭旁白" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "下載的 App 未通過程式碼簽章驗證,因此未安裝。" + "value": "開啟或關閉「旁白」" } } } }, - "appChannelSwitch.menu.nightly": { + "settings.search.alias.setting.keyboardShortcuts.base-keymap": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Switch to Nightly…" + "value": "base keymap preset iterm iterm2 terminal app tmux prefix keybindings coming from another terminal" } }, "ar": { "stringUnit": { "state": "translated", - "value": "التبديل إلى Nightly…" + "value": "مخطط المفاتيح الأساسي إعداد مسبق iterm iterm2 terminal app tmux بادئة اختصارات طرفية أخرى" } }, "de": { "stringUnit": { "state": "translated", - "value": "Zu Nightly wechseln…" + "value": "Basis Tastaturbelegung Vorlage iterm iterm2 terminal app tmux Präfix Tastenbelegung anderes Terminal" } }, "es": { "stringUnit": { "state": "translated", - "value": "Cambiar a Nightly…" + "value": "mapa de teclas base preajuste iterm iterm2 terminal app tmux prefijo atajos otro terminal" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Passer à Nightly…" + "value": "disposition de base préréglage iterm iterm2 terminal app tmux préfixe raccourcis autre terminal" } }, "ja": { "stringUnit": { "state": "translated", - "value": "Nightly に切り替える…" + "value": "ベースキーマップ プリセット iterm iterm2 terminal app tmux プレフィックス ショートカット 他のターミナル" } }, "ko": { "stringUnit": { "state": "translated", - "value": "Nightly로 전환…" + "value": "기본 키맵 프리셋 iterm iterm2 terminal app tmux 접두사 단축키 다른 터미널" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "切换到 Nightly…" + "value": "基础键位方案 预设 iterm iterm2 terminal app tmux 前缀 快捷键 其他终端" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "切換至 Nightly…" + "value": "基礎按鍵配置 預設組合 iterm iterm2 terminal app tmux 前綴 快速鍵 其他終端機" } } } }, - "appChannelSwitch.menu.stable": { + "settings.shortcuts.baseKeymap.apply": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Switch to Stable…" + "value": "Apply Keymap" } }, "ar": { "stringUnit": { "state": "translated", - "value": "التبديل إلى الإصدار المستقر…" + "value": "تطبيق مخطط المفاتيح" } }, "de": { "stringUnit": { "state": "translated", - "value": "Zu Stable wechseln…" + "value": "Tastaturbelegung anwenden" } }, "es": { "stringUnit": { "state": "translated", - "value": "Cambiar a Stable…" + "value": "Aplicar mapa de teclas" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Passer à Stable…" + "value": "Appliquer la disposition" } }, "ja": { "stringUnit": { "state": "translated", - "value": "安定版に切り替える…" + "value": "キーマップを適用" } }, "ko": { "stringUnit": { "state": "translated", - "value": "안정 버전으로 전환…" + "value": "키맵 적용" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "切换到稳定版…" + "value": "应用键位方案" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "切換至穩定版…" + "value": "套用按鍵配置" } } } }, - "appChannelSwitch.opened.detail": { + "shortcut.keymap.summary.iterm2Numbers": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Both apps can run side by side. Quit this one now?" + "value": "⌘1…9 will select tabs in the focused pane instead of workspaces. Workspaces move to ⌥⌘1…9." } }, "ar": { "stringUnit": { "state": "translated", - "value": "يمكن تشغيل التطبيقين جنبًا إلى جنب. هل تريد إنهاء هذا التطبيق الآن؟" + "value": "سيحدد ⌘1…9 علامات التبويب في الجزء المحدد بدلًا من مساحات العمل. تنتقل مساحات العمل إلى ⌥⌘1…9." } }, "de": { "stringUnit": { "state": "translated", - "value": "Beide Apps können parallel laufen. Diese App jetzt beenden?" + "value": "⌘1…9 wählt dann Tabs im fokussierten Bereich statt Arbeitsbereiche aus. Arbeitsbereiche wechseln zu ⌥⌘1…9." } }, "es": { "stringUnit": { "state": "translated", - "value": "Ambas apps pueden ejecutarse a la vez. ¿Salir de esta ahora?" + "value": "⌘1…9 seleccionará pestañas del panel enfocado en lugar de espacios de trabajo. Los espacios de trabajo pasan a ⌥⌘1…9." } }, "fr": { "stringUnit": { "state": "translated", - "value": "Les deux apps peuvent fonctionner côte à côte. Quitter celle-ci maintenant ?" + "value": "⌘1…9 sélectionnera les onglets du panneau actif au lieu des espaces de travail. Les espaces de travail passent à ⌥⌘1…9." } }, "ja": { "stringUnit": { "state": "translated", - "value": "両方のアプリを同時に実行できます。このアプリを今すぐ終了しますか?" + "value": "⌘1…9 はワークスペースではなく、フォーカス中のペインのタブを選択するようになります。ワークスペースは ⌥⌘1…9 に移ります。" } }, "ko": { "stringUnit": { "state": "translated", - "value": "두 앱을 동시에 실행할 수 있습니다. 지금 이 앱을 종료할까요?" + "value": "⌘1…9는 작업 공간 대신 포커스된 패널의 탭을 선택합니다. 작업 공간은 ⌥⌘1…9로 이동합니다." } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "两个应用可以同时运行。要现在退出此应用吗?" + "value": "⌘1…9 将选择当前窗格中的标签页,而不是工作区。工作区改用 ⌥⌘1…9。" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "兩個 App 可以同時執行。要現在結束此 App 嗎?" + "value": "⌘1…9 將選取目前窗格中的分頁,而不是工作區。工作區改用 ⌥⌘1…9。" } } } }, - "appChannelSwitch.opened.keep": { + "terminal.unsafePasteConfirmation.message": { "extractionState": "manual", "localizations": { - "en": { + "ar": { "stringUnit": { "state": "translated", - "value": "Keep Open" + "value": "قد ينفّذ هذا النص أوامر فور لصقه، مثلًا لأنه يحتوي على فاصل أسطر. الصقه فقط إذا كنت تثق به." } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "إبقاؤه مفتوحًا" + "value": "Dieser Text könnte beim Einfügen sofort Befehle ausführen, zum Beispiel weil er einen Zeilenumbruch enthält. Füge ihn nur ein, wenn du ihm vertraust." } }, - "de": { + "en": { "stringUnit": { "state": "translated", - "value": "Geöffnet lassen" + "value": "This text could run commands as soon as it is pasted, for example because it contains a line break. Paste it only if you trust it." } }, "es": { "stringUnit": { "state": "translated", - "value": "Mantener abierta" + "value": "Este texto podría ejecutar comandos en cuanto se pegue, por ejemplo porque contiene un salto de línea. Pégalo solo si confías en él." } }, "fr": { "stringUnit": { "state": "translated", - "value": "Garder ouverte" + "value": "Ce texte pourrait exécuter des commandes dès qu’il est collé, par exemple parce qu’il contient un saut de ligne. Ne le collez que si vous lui faites confiance." } }, "ja": { "stringUnit": { "state": "translated", - "value": "開いたままにする" + "value": "このテキストには改行が含まれているなどの理由で、貼り付けた直後にコマンドが実行される可能性があります。信頼できる場合にのみ貼り付けてください。" } }, "ko": { "stringUnit": { "state": "translated", - "value": "열어 두기" + "value": "이 텍스트는 줄바꿈이 들어 있는 등의 이유로 붙여넣는 즉시 명령을 실행할 수 있습니다. 신뢰할 수 있을 때만 붙여넣으세요." } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "保持打开" + "value": "这段文本可能在粘贴后立即运行命令,例如因为其中包含换行。只有在你信任它时才粘贴。" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "保持開啟" + "value": "這段文字可能在貼上後立即執行指令,例如因為其中包含換行。只有在你信任它時才貼上。" } } } }, - "appChannelSwitch.opened.quit": { + "terminal.unsafePasteConfirmation.paste": { "extractionState": "manual", "localizations": { - "en": { + "ar": { "stringUnit": { "state": "translated", - "value": "Quit This App" + "value": "لصق" } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "إنهاء هذا التطبيق" + "value": "Einfügen" } }, - "de": { + "en": { "stringUnit": { "state": "translated", - "value": "Diese App beenden" + "value": "Paste" } }, "es": { "stringUnit": { "state": "translated", - "value": "Salir de esta app" + "value": "Pegar" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Quitter cette app" + "value": "Coller" } }, "ja": { "stringUnit": { "state": "translated", - "value": "このアプリを終了" + "value": "貼り付け" } }, "ko": { "stringUnit": { "state": "translated", - "value": "이 앱 종료" + "value": "붙여넣기" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "退出此应用" + "value": "粘贴" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "結束此 App" + "value": "貼上" } } } }, - "appChannelSwitch.opened.title": { + "terminal.unsafePasteConfirmation.title": { "extractionState": "manual", "localizations": { - "en": { + "ar": { "stringUnit": { "state": "translated", - "value": "%@ is open" + "value": "هل تريد لصق نص قد يكون غير آمن؟" } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "%@ مفتوح" + "value": "Möglicherweise unsicheren Text einfügen?" } }, - "de": { + "en": { "stringUnit": { "state": "translated", - "value": "%@ ist geöffnet" + "value": "Paste Potentially Unsafe Text?" } }, "es": { "stringUnit": { "state": "translated", - "value": "%@ está abierta" + "value": "¿Pegar texto potencialmente no seguro?" } }, "fr": { "stringUnit": { "state": "translated", - "value": "%@ est ouverte" + "value": "Coller un texte potentiellement dangereux ?" } }, "ja": { "stringUnit": { "state": "translated", - "value": "%@ が開きました" + "value": "安全でない可能性のあるテキストを貼り付けますか?" } }, "ko": { "stringUnit": { "state": "translated", - "value": "%@이(가) 열렸습니다" + "value": "안전하지 않을 수 있는 텍스트를 붙여넣을까요?" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "%@ 已打开" + "value": "要粘贴可能不安全的文本吗?" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "%@ 已開啟" + "value": "要貼上可能不安全的文字嗎?" } } } }, - "appChannelSwitch.progress.cancel": { + "settings.terminal.confirmUnsafePaste": { "extractionState": "manual", "localizations": { - "en": { + "ar": { "stringUnit": { "state": "translated", - "value": "Cancel" + "value": "تأكيد اللصق غير الآمن" } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "إلغاء" + "value": "Unsicheres Einfügen bestätigen" } }, - "de": { + "en": { "stringUnit": { "state": "translated", - "value": "Abbrechen" + "value": "Confirm Unsafe Pastes" } }, "es": { "stringUnit": { "state": "translated", - "value": "Cancelar" + "value": "Confirmar pegados no seguros" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Annuler" + "value": "Confirmer les collages non sûrs" } }, "ja": { "stringUnit": { "state": "translated", - "value": "キャンセル" + "value": "安全でない貼り付けを確認" } }, "ko": { "stringUnit": { "state": "translated", - "value": "취소" + "value": "안전하지 않은 붙여넣기 확인" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "取消" + "value": "确认不安全的粘贴" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "取消" + "value": "確認不安全的貼上" } } } }, - "appChannelSwitch.progress.downloading": { + "settings.terminal.confirmUnsafePaste.subtitleOff": { "extractionState": "manual", "localizations": { - "en": { + "ar": { "stringUnit": { "state": "translated", - "value": "Downloading %@…" + "value": "يتم اللصق الذي يصنّفه Ghostty على أنه غير آمن دون سؤال." } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "جارٍ تنزيل %@…" + "value": "Von Ghostty als unsicher markierte Einfügungen werden ohne Nachfrage ausgeführt." } }, - "de": { + "en": { "stringUnit": { "state": "translated", - "value": "%@ wird geladen…" + "value": "Pastes Ghostty flags as unsafe go through without asking." } }, "es": { "stringUnit": { "state": "translated", - "value": "Descargando %@…" + "value": "Los pegados que Ghostty marca como no seguros se realizan sin preguntar." } }, "fr": { "stringUnit": { "state": "translated", - "value": "Téléchargement de %@…" + "value": "Les collages que Ghostty signale comme non sûrs sont effectués sans demander." } }, "ja": { "stringUnit": { "state": "translated", - "value": "%@ をダウンロード中…" + "value": "Ghostty が安全でないと判定した貼り付けも、確認せずに実行します。" } }, "ko": { "stringUnit": { "state": "translated", - "value": "%@ 다운로드 중…" + "value": "Ghostty가 안전하지 않다고 표시한 붙여넣기도 묻지 않고 진행합니다." } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "正在下载 %@…" + "value": "Ghostty 标记为不安全的粘贴会直接执行,不会询问。" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "正在下載 %@…" + "value": "Ghostty 標記為不安全的貼上會直接執行,不會詢問。" } } } }, - "appChannelSwitch.progress.installing": { + "settings.terminal.confirmUnsafePaste.subtitleOn": { "extractionState": "manual", "localizations": { - "en": { + "ar": { "stringUnit": { "state": "translated", - "value": "Installing…" + "value": "ينتظر اللصق الذي يصنّفه Ghostty على أنه غير آمن، مثل عدة أسطر في برنامج لا يستخدم اللصق المحاط (bracketed paste)، تأكيدك في ورقة مرفقة بالنافذة." } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "جارٍ التثبيت…" + "value": "Ein Einfügen, das Ghostty als unsicher markiert, etwa mehrere Zeilen in ein Programm ohne Bracketed Paste, wartet auf deine Bestätigung in einem Sheet am Fenster." } }, - "de": { + "en": { "stringUnit": { "state": "translated", - "value": "Wird installiert…" + "value": "A paste Ghostty flags as unsafe, such as several lines into a program without bracketed paste, waits for you to confirm it in a sheet on the window." } }, "es": { "stringUnit": { "state": "translated", - "value": "Instalando…" + "value": "Un pegado que Ghostty marca como no seguro, como varias líneas en un programa sin pegado entre corchetes (bracketed paste), espera tu confirmación en una hoja de la ventana." } }, "fr": { "stringUnit": { "state": "translated", - "value": "Installation…" + "value": "Un collage que Ghostty signale comme non sûr, par exemple plusieurs lignes dans un programme sans collage entre crochets (bracketed paste), attend votre confirmation dans une feuille attachée à la fenêtre." } }, "ja": { "stringUnit": { "state": "translated", - "value": "インストール中…" + "value": "Ghostty が安全でないと判定した貼り付け(ブラケットペーストを使わないプログラムへの複数行の貼り付けなど)は、ウインドウのシートで確認するまで待機します。" } }, "ko": { "stringUnit": { "state": "translated", - "value": "설치 중…" + "value": "Ghostty가 안전하지 않다고 표시한 붙여넣기(예: 브래킷 붙여넣기를 쓰지 않는 프로그램에 여러 줄 붙여넣기)는 창에 붙은 시트에서 확인할 때까지 기다립니다." } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "正在安装…" + "value": "Ghostty 标记为不安全的粘贴(例如将多行文本粘贴到未启用括号粘贴的程序中)会先在窗口上的表单中等待你确认。" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "正在安裝…" + "value": "Ghostty 標記為不安全的貼上(例如將多行文字貼到未啟用括號貼上的程式中)會先在視窗上的表單中等待你確認。" } } } }, - "appChannelSwitch.progress.launching": { + "settings.search.alias.setting.terminal.confirm-unsafe-paste": { "extractionState": "manual", "localizations": { - "en": { + "ar": { "stringUnit": { "state": "translated", - "value": "Opening %@…" + "value": "terminal.confirmUnsafePaste confirm unsafe paste protection warning multi-line newline clipboard sheet لصق غير آمن تأكيد تحذير عدة أسطر فاصل أسطر حافظة" } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "جارٍ فتح %@…" + "value": "terminal.confirmUnsafePaste confirm unsafe paste protection warning multi-line newline clipboard sheet unsicher einfügen bestätigen warnung mehrzeilig zeilenumbruch zwischenablage" } }, - "de": { + "en": { "stringUnit": { "state": "translated", - "value": "%@ wird geöffnet…" + "value": "terminal.confirmUnsafePaste confirm unsafe paste protection warning multi-line newline clipboard sheet" } }, "es": { "stringUnit": { "state": "translated", - "value": "Abriendo %@…" + "value": "terminal.confirmUnsafePaste confirm unsafe paste protection warning multi-line newline clipboard sheet pegar no seguro confirmar advertencia varias líneas salto de línea portapapeles" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Ouverture de %@…" + "value": "terminal.confirmUnsafePaste confirm unsafe paste protection warning multi-line newline clipboard sheet coller non sûr confirmer avertissement plusieurs lignes saut de ligne presse-papiers" } }, "ja": { "stringUnit": { "state": "translated", - "value": "%@ を開いています…" + "value": "terminal.confirmUnsafePaste confirm unsafe paste protection warning multi-line newline clipboard sheet 貼り付け ペースト 安全でない 確認 警告 複数行 改行 クリップボード" } }, "ko": { "stringUnit": { "state": "translated", - "value": "%@ 여는 중…" + "value": "terminal.confirmUnsafePaste confirm unsafe paste protection warning multi-line newline clipboard sheet 붙여넣기 안전하지 않음 확인 경고 여러 줄 줄바꿈 클립보드" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "正在打开 %@…" + "value": "terminal.confirmUnsafePaste confirm unsafe paste protection warning multi-line newline clipboard sheet 粘贴 不安全 确认 警告 多行 换行 剪贴板" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "正在開啟 %@…" + "value": "terminal.confirmUnsafePaste confirm unsafe paste protection warning multi-line newline clipboard sheet 貼上 不安全 確認 警告 多行 換行 剪貼簿" } } } }, - "appChannelSwitch.progress.title": { + "appChannelSwitch.action.nightly": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Switching to %@" + "value": "Switch to Nightly" } }, "ar": { "stringUnit": { "state": "translated", - "value": "جارٍ التبديل إلى %@" + "value": "التبديل إلى Nightly" } }, "de": { "stringUnit": { "state": "translated", - "value": "Wechsel zu %@" + "value": "Zu Nightly wechseln" } }, "es": { "stringUnit": { "state": "translated", - "value": "Cambiando a %@" + "value": "Cambiar a Nightly" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Passage à %@" + "value": "Passer à Nightly" } }, "ja": { "stringUnit": { "state": "translated", - "value": "%@ に切り替え中" + "value": "Nightly に切り替える" } }, "ko": { "stringUnit": { "state": "translated", - "value": "%@(으)로 전환 중" + "value": "Nightly로 전환" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "正在切换到 %@" + "value": "切换到 Nightly" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "正在切換至 %@" + "value": "切換至 Nightly" } } } }, - "appChannelSwitch.progress.verifying": { + "appChannelSwitch.action.stable": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Verifying the code signature…" + "value": "Switch to Stable" } }, "ar": { "stringUnit": { "state": "translated", - "value": "جارٍ التحقق من توقيع الشيفرة…" + "value": "التبديل إلى الإصدار المستقر" } }, "de": { "stringUnit": { "state": "translated", - "value": "Codesignatur wird geprüft…" + "value": "Zu Stable wechseln" } }, "es": { "stringUnit": { "state": "translated", - "value": "Verificando la firma de código…" + "value": "Cambiar a Stable" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Vérification de la signature du code…" + "value": "Passer à Stable" } }, "ja": { "stringUnit": { "state": "translated", - "value": "コード署名を検証中…" + "value": "安定版に切り替える" } }, "ko": { "stringUnit": { "state": "translated", - "value": "코드 서명 확인 중…" + "value": "안정 버전으로 전환" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "正在验证代码签名…" + "value": "切换到稳定版" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "正在驗證程式碼簽章…" + "value": "切換至穩定版" } } } }, - "settings.search.alias.setting.workspaceColors.subtle-selection": { + "appChannelSwitch.failed.appMissing": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "workspaceColors.subtleSelection subtle calm quiet selection highlight tint hairline edge selected workspace accent" - } - }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "workspaceColors.subtleSelection subtle calm quiet selection highlight tint hairline edge selected workspace accent 控えめ 選択 ハイライト 淡い 枠線" - } - }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "workspaceColors.subtleSelection subtle calm quiet selection highlight tint hairline edge selected workspace accent 柔和 选中 高亮 淡色 边框" - } - }, - "zh-Hant": { - "stringUnit": { - "state": "translated", - "value": "workspaceColors.subtleSelection subtle calm quiet selection highlight tint hairline edge selected workspace accent 柔和 選取 高亮 淡色 邊框" + "value": "The downloaded disk image does not contain the expected app." } }, - "ko": { + "ar": { "stringUnit": { "state": "translated", - "value": "workspaceColors.subtleSelection subtle calm quiet selection highlight tint hairline edge selected workspace accent 은은한 선택 하이라이트 옅은 테두리" + "value": "لا تحتوي صورة القرص التي تم تنزيلها على التطبيق المتوقع." } }, "de": { "stringUnit": { "state": "translated", - "value": "workspaceColors.subtleSelection subtle calm quiet selection highlight tint hairline edge selected workspace accent dezent Auswahl Hervorhebung Akzent Rand" + "value": "Das heruntergeladene Disk-Image enthält nicht die erwartete App." } }, "es": { "stringUnit": { "state": "translated", - "value": "workspaceColors.subtleSelection subtle calm quiet selection highlight tint hairline edge selected workspace accent sutil selección resaltado acento borde" + "value": "La imagen de disco descargada no contiene la app esperada." } }, "fr": { "stringUnit": { "state": "translated", - "value": "workspaceColors.subtleSelection subtle calm quiet selection highlight tint hairline edge selected workspace accent discret sélection surlignage accent bordure" - } - }, - "ar": { - "stringUnit": { - "state": "translated", - "value": "workspaceColors.subtleSelection subtle calm quiet selection highlight tint hairline edge selected workspace accent هادئ تحديد تمييز لون حافة" - } - } - } - }, - "settings.workspaceColors.subtleSelection": { - "extractionState": "manual", - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Subtle Selection Highlight" + "value": "L’image disque téléchargée ne contient pas l’app attendue." } }, "ja": { "stringUnit": { "state": "translated", - "value": "控えめな選択ハイライト" - } - }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "柔和的选中高亮" - } - }, - "zh-Hant": { - "stringUnit": { - "state": "translated", - "value": "柔和的選取高亮" + "value": "ダウンロードしたディスクイメージに目的のアプリが含まれていません。" } }, "ko": { "stringUnit": { "state": "translated", - "value": "은은한 선택 하이라이트" - } - }, - "de": { - "stringUnit": { - "state": "translated", - "value": "Dezente Auswahlhervorhebung" - } - }, - "es": { - "stringUnit": { - "state": "translated", - "value": "Resaltado de selección sutil" - } - }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Surlignage de la sélection discret" - } - }, - "ar": { - "stringUnit": { - "state": "translated", - "value": "تمييز تحديد هادئ" - } - } - } - }, - "settings.workspaceColors.subtleSelection.subtitle": { - "extractionState": "manual", - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Show the selected workspace as a faint accent tint with a thin edge instead of a solid fill. A custom Selection Highlight color still uses a solid fill." - } - }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "選択中のワークスペースを、塗りつぶしではなく淡いアクセントカラーと細い枠線で表示します。カスタムの選択ハイライト色を設定している場合は塗りつぶしのままです。" + "value": "다운로드한 디스크 이미지에 예상한 앱이 없습니다." } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "用淡淡的强调色和细边框显示选中的工作区,而不是实色填充。设置了自定义选中高亮颜色时仍使用实色填充。" + "value": "下载的磁盘映像不包含预期的应用。" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "以淡淡的強調色和細邊框顯示選取的工作區,而非實色填滿。設定了自訂選取高亮顏色時仍使用實色填滿。" - } - }, - "ko": { - "stringUnit": { - "state": "translated", - "value": "선택한 작업 공간을 단색 채우기 대신 옅은 강조 색상과 얇은 테두리로 표시합니다. 사용자 지정 선택 하이라이트 색상은 계속 단색으로 채웁니다." - } - }, - "de": { - "stringUnit": { - "state": "translated", - "value": "Zeigt den ausgewählten Arbeitsbereich als zarte Akzentfarbe mit feinem Rand statt als volle Füllung. Eine eigene Farbe für die Auswahlhervorhebung bleibt eine volle Füllung." - } - }, - "es": { - "stringUnit": { - "state": "translated", - "value": "Muestra el espacio de trabajo seleccionado con un tono de acento suave y un borde fino en lugar de un relleno sólido. Un color de resaltado de selección personalizado sigue usando relleno sólido." - } - }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Affiche l’espace de travail sélectionné avec une légère teinte d’accentuation et une fine bordure au lieu d’un remplissage plein. Une couleur de surlignage de la sélection personnalisée reste un remplissage plein." - } - }, - "ar": { - "stringUnit": { - "state": "translated", - "value": "يعرض مساحة العمل المحددة بلون تمييز خفيف وحافة رفيعة بدلاً من تعبئة كاملة. يظل لون تمييز التحديد المخصص يستخدم تعبئة كاملة." + "value": "下載的磁碟映像檔不包含預期的 App。" } } } }, - "ghosttyConfigDiagnostics.notice.dismiss": { + "appChannelSwitch.failed.close": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Dismiss" + "value": "Close" } }, "ar": { "stringUnit": { "state": "translated", - "value": "تجاهل" + "value": "إغلاق" } }, "de": { @@ -559877,13 +557935,1429 @@ "es": { "stringUnit": { "state": "translated", - "value": "Descartar" + "value": "Cerrar" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Ignorer" + "value": "Fermer" + } + }, + "ja": { + "stringUnit": { + "state": "translated", + "value": "閉じる" + } + }, + "ko": { + "stringUnit": { + "state": "translated", + "value": "닫기" + } + }, + "zh-Hans": { + "stringUnit": { + "state": "translated", + "value": "关闭" + } + }, + "zh-Hant": { + "stringUnit": { + "state": "translated", + "value": "關閉" + } + } + } + }, + "appChannelSwitch.failed.download": { + "extractionState": "manual", + "localizations": { + "en": { + "stringUnit": { + "state": "translated", + "value": "Download Manually" + } + }, + "ar": { + "stringUnit": { + "state": "translated", + "value": "التنزيل يدويًا" + } + }, + "de": { + "stringUnit": { + "state": "translated", + "value": "Manuell laden" + } + }, + "es": { + "stringUnit": { + "state": "translated", + "value": "Descargar manualmente" + } + }, + "fr": { + "stringUnit": { + "state": "translated", + "value": "Télécharger manuellement" + } + }, + "ja": { + "stringUnit": { + "state": "translated", + "value": "手動でダウンロード" + } + }, + "ko": { + "stringUnit": { + "state": "translated", + "value": "수동으로 다운로드" + } + }, + "zh-Hans": { + "stringUnit": { + "state": "translated", + "value": "手动下载" + } + }, + "zh-Hant": { + "stringUnit": { + "state": "translated", + "value": "手動下載" + } + } + } + }, + "appChannelSwitch.failed.downloadDetail": { + "extractionState": "manual", + "localizations": { + "en": { + "stringUnit": { + "state": "translated", + "value": "The download failed: %@" + } + }, + "ar": { + "stringUnit": { + "state": "translated", + "value": "فشل التنزيل: %@" + } + }, + "de": { + "stringUnit": { + "state": "translated", + "value": "Der Download ist fehlgeschlagen: %@" + } + }, + "es": { + "stringUnit": { + "state": "translated", + "value": "La descarga falló: %@" + } + }, + "fr": { + "stringUnit": { + "state": "translated", + "value": "Le téléchargement a échoué : %@" + } + }, + "ja": { + "stringUnit": { + "state": "translated", + "value": "ダウンロードに失敗しました: %@" + } + }, + "ko": { + "stringUnit": { + "state": "translated", + "value": "다운로드 실패: %@" + } + }, + "zh-Hans": { + "stringUnit": { + "state": "translated", + "value": "下载失败:%@" + } + }, + "zh-Hant": { + "stringUnit": { + "state": "translated", + "value": "下載失敗:%@" + } + } + } + }, + "appChannelSwitch.failed.installDetail": { + "extractionState": "manual", + "localizations": { + "en": { + "stringUnit": { + "state": "translated", + "value": "The app could not be installed: %@" + } + }, + "ar": { + "stringUnit": { + "state": "translated", + "value": "تعذّر تثبيت التطبيق: %@" + } + }, + "de": { + "stringUnit": { + "state": "translated", + "value": "Die App konnte nicht installiert werden: %@" + } + }, + "es": { + "stringUnit": { + "state": "translated", + "value": "No se pudo instalar la app: %@" + } + }, + "fr": { + "stringUnit": { + "state": "translated", + "value": "Impossible d’installer l’app : %@" + } + }, + "ja": { + "stringUnit": { + "state": "translated", + "value": "アプリをインストールできませんでした: %@" + } + }, + "ko": { + "stringUnit": { + "state": "translated", + "value": "앱을 설치할 수 없습니다: %@" + } + }, + "zh-Hans": { + "stringUnit": { + "state": "translated", + "value": "无法安装应用:%@" + } + }, + "zh-Hant": { + "stringUnit": { + "state": "translated", + "value": "無法安裝 App:%@" + } + } + } + }, + "appChannelSwitch.failed.launchDetail": { + "extractionState": "manual", + "localizations": { + "en": { + "stringUnit": { + "state": "translated", + "value": "The app could not be opened: %@" + } + }, + "ar": { + "stringUnit": { + "state": "translated", + "value": "تعذّر فتح التطبيق: %@" + } + }, + "de": { + "stringUnit": { + "state": "translated", + "value": "Die App konnte nicht geöffnet werden: %@" + } + }, + "es": { + "stringUnit": { + "state": "translated", + "value": "No se pudo abrir la app: %@" + } + }, + "fr": { + "stringUnit": { + "state": "translated", + "value": "Impossible d’ouvrir l’app : %@" + } + }, + "ja": { + "stringUnit": { + "state": "translated", + "value": "アプリを開けませんでした: %@" + } + }, + "ko": { + "stringUnit": { + "state": "translated", + "value": "앱을 열 수 없습니다: %@" + } + }, + "zh-Hans": { + "stringUnit": { + "state": "translated", + "value": "无法打开应用:%@" + } + }, + "zh-Hant": { + "stringUnit": { + "state": "translated", + "value": "無法開啟 App:%@" + } + } + } + }, + "appChannelSwitch.failed.mountDetail": { + "extractionState": "manual", + "localizations": { + "en": { + "stringUnit": { + "state": "translated", + "value": "The disk image could not be opened: %@" + } + }, + "ar": { + "stringUnit": { + "state": "translated", + "value": "تعذّر فتح صورة القرص: %@" + } + }, + "de": { + "stringUnit": { + "state": "translated", + "value": "Das Disk-Image konnte nicht geöffnet werden: %@" + } + }, + "es": { + "stringUnit": { + "state": "translated", + "value": "No se pudo abrir la imagen de disco: %@" + } + }, + "fr": { + "stringUnit": { + "state": "translated", + "value": "Impossible d’ouvrir l’image disque : %@" + } + }, + "ja": { + "stringUnit": { + "state": "translated", + "value": "ディスクイメージを開けませんでした: %@" + } + }, + "ko": { + "stringUnit": { + "state": "translated", + "value": "디스크 이미지를 열 수 없습니다: %@" + } + }, + "zh-Hans": { + "stringUnit": { + "state": "translated", + "value": "无法打开磁盘映像:%@" + } + }, + "zh-Hant": { + "stringUnit": { + "state": "translated", + "value": "無法開啟磁碟映像檔:%@" + } + } + } + }, + "appChannelSwitch.failed.occupied": { + "extractionState": "manual", + "localizations": { + "en": { + "stringUnit": { + "state": "translated", + "value": "Another app is already installed at %@." + } + }, + "ar": { + "stringUnit": { + "state": "translated", + "value": "يوجد تطبيق آخر مثبت بالفعل في %@." + } + }, + "de": { + "stringUnit": { + "state": "translated", + "value": "Unter %@ ist bereits eine andere App installiert." + } + }, + "es": { + "stringUnit": { + "state": "translated", + "value": "Ya hay otra app instalada en %@." + } + }, + "fr": { + "stringUnit": { + "state": "translated", + "value": "Une autre app est déjà installée à l’emplacement %@." + } + }, + "ja": { + "stringUnit": { + "state": "translated", + "value": "%@ には別のアプリがすでにインストールされています。" + } + }, + "ko": { + "stringUnit": { + "state": "translated", + "value": "%@에 이미 다른 앱이 설치되어 있습니다." + } + }, + "zh-Hans": { + "stringUnit": { + "state": "translated", + "value": "%@ 已安装其他应用。" + } + }, + "zh-Hant": { + "stringUnit": { + "state": "translated", + "value": "%@ 已安裝其他 App。" + } + } + } + }, + "appChannelSwitch.failed.title": { + "extractionState": "manual", + "localizations": { + "en": { + "stringUnit": { + "state": "translated", + "value": "Couldn't switch to %@" + } + }, + "ar": { + "stringUnit": { + "state": "translated", + "value": "تعذّر التبديل إلى %@" + } + }, + "de": { + "stringUnit": { + "state": "translated", + "value": "Wechsel zu %@ nicht möglich" + } + }, + "es": { + "stringUnit": { + "state": "translated", + "value": "No se pudo cambiar a %@" + } + }, + "fr": { + "stringUnit": { + "state": "translated", + "value": "Impossible de passer à %@" + } + }, + "ja": { + "stringUnit": { + "state": "translated", + "value": "%@ に切り替えられませんでした" + } + }, + "ko": { + "stringUnit": { + "state": "translated", + "value": "%@(으)로 전환할 수 없습니다" + } + }, + "zh-Hans": { + "stringUnit": { + "state": "translated", + "value": "无法切换到 %@" + } + }, + "zh-Hant": { + "stringUnit": { + "state": "translated", + "value": "無法切換至 %@" + } + } + } + }, + "appChannelSwitch.failed.verification": { + "extractionState": "manual", + "localizations": { + "en": { + "stringUnit": { + "state": "translated", + "value": "The downloaded app did not pass code signature verification, so it was not installed." + } + }, + "ar": { + "stringUnit": { + "state": "translated", + "value": "لم يجتز التطبيق الذي تم تنزيله التحقق من توقيع الشيفرة، لذا لم يتم تثبيته." + } + }, + "de": { + "stringUnit": { + "state": "translated", + "value": "Die heruntergeladene App hat die Prüfung der Codesignatur nicht bestanden und wurde nicht installiert." + } + }, + "es": { + "stringUnit": { + "state": "translated", + "value": "La app descargada no superó la verificación de la firma de código, así que no se instaló." + } + }, + "fr": { + "stringUnit": { + "state": "translated", + "value": "L’app téléchargée n’a pas passé la vérification de la signature du code ; elle n’a donc pas été installée." + } + }, + "ja": { + "stringUnit": { + "state": "translated", + "value": "ダウンロードしたアプリはコード署名の検証に合格しなかったため、インストールされませんでした。" + } + }, + "ko": { + "stringUnit": { + "state": "translated", + "value": "다운로드한 앱이 코드 서명 확인을 통과하지 못해 설치하지 않았습니다." + } + }, + "zh-Hans": { + "stringUnit": { + "state": "translated", + "value": "下载的应用未通过代码签名验证,因此未安装。" + } + }, + "zh-Hant": { + "stringUnit": { + "state": "translated", + "value": "下載的 App 未通過程式碼簽章驗證,因此未安裝。" + } + } + } + }, + "appChannelSwitch.menu.nightly": { + "extractionState": "manual", + "localizations": { + "en": { + "stringUnit": { + "state": "translated", + "value": "Switch to Nightly…" + } + }, + "ar": { + "stringUnit": { + "state": "translated", + "value": "التبديل إلى Nightly…" + } + }, + "de": { + "stringUnit": { + "state": "translated", + "value": "Zu Nightly wechseln…" + } + }, + "es": { + "stringUnit": { + "state": "translated", + "value": "Cambiar a Nightly…" + } + }, + "fr": { + "stringUnit": { + "state": "translated", + "value": "Passer à Nightly…" + } + }, + "ja": { + "stringUnit": { + "state": "translated", + "value": "Nightly に切り替える…" + } + }, + "ko": { + "stringUnit": { + "state": "translated", + "value": "Nightly로 전환…" + } + }, + "zh-Hans": { + "stringUnit": { + "state": "translated", + "value": "切换到 Nightly…" + } + }, + "zh-Hant": { + "stringUnit": { + "state": "translated", + "value": "切換至 Nightly…" + } + } + } + }, + "appChannelSwitch.menu.stable": { + "extractionState": "manual", + "localizations": { + "en": { + "stringUnit": { + "state": "translated", + "value": "Switch to Stable…" + } + }, + "ar": { + "stringUnit": { + "state": "translated", + "value": "التبديل إلى الإصدار المستقر…" + } + }, + "de": { + "stringUnit": { + "state": "translated", + "value": "Zu Stable wechseln…" + } + }, + "es": { + "stringUnit": { + "state": "translated", + "value": "Cambiar a Stable…" + } + }, + "fr": { + "stringUnit": { + "state": "translated", + "value": "Passer à Stable…" + } + }, + "ja": { + "stringUnit": { + "state": "translated", + "value": "安定版に切り替える…" + } + }, + "ko": { + "stringUnit": { + "state": "translated", + "value": "안정 버전으로 전환…" + } + }, + "zh-Hans": { + "stringUnit": { + "state": "translated", + "value": "切换到稳定版…" + } + }, + "zh-Hant": { + "stringUnit": { + "state": "translated", + "value": "切換至穩定版…" + } + } + } + }, + "appChannelSwitch.opened.detail": { + "extractionState": "manual", + "localizations": { + "en": { + "stringUnit": { + "state": "translated", + "value": "Both apps can run side by side. Quit this one now?" + } + }, + "ar": { + "stringUnit": { + "state": "translated", + "value": "يمكن تشغيل التطبيقين جنبًا إلى جنب. هل تريد إنهاء هذا التطبيق الآن؟" + } + }, + "de": { + "stringUnit": { + "state": "translated", + "value": "Beide Apps können parallel laufen. Diese App jetzt beenden?" + } + }, + "es": { + "stringUnit": { + "state": "translated", + "value": "Ambas apps pueden ejecutarse a la vez. ¿Salir de esta ahora?" + } + }, + "fr": { + "stringUnit": { + "state": "translated", + "value": "Les deux apps peuvent fonctionner côte à côte. Quitter celle-ci maintenant ?" + } + }, + "ja": { + "stringUnit": { + "state": "translated", + "value": "両方のアプリを同時に実行できます。このアプリを今すぐ終了しますか?" + } + }, + "ko": { + "stringUnit": { + "state": "translated", + "value": "두 앱을 동시에 실행할 수 있습니다. 지금 이 앱을 종료할까요?" + } + }, + "zh-Hans": { + "stringUnit": { + "state": "translated", + "value": "两个应用可以同时运行。要现在退出此应用吗?" + } + }, + "zh-Hant": { + "stringUnit": { + "state": "translated", + "value": "兩個 App 可以同時執行。要現在結束此 App 嗎?" + } + } + } + }, + "appChannelSwitch.opened.keep": { + "extractionState": "manual", + "localizations": { + "en": { + "stringUnit": { + "state": "translated", + "value": "Keep Open" + } + }, + "ar": { + "stringUnit": { + "state": "translated", + "value": "إبقاؤه مفتوحًا" + } + }, + "de": { + "stringUnit": { + "state": "translated", + "value": "Geöffnet lassen" + } + }, + "es": { + "stringUnit": { + "state": "translated", + "value": "Mantener abierta" + } + }, + "fr": { + "stringUnit": { + "state": "translated", + "value": "Garder ouverte" + } + }, + "ja": { + "stringUnit": { + "state": "translated", + "value": "開いたままにする" + } + }, + "ko": { + "stringUnit": { + "state": "translated", + "value": "열어 두기" + } + }, + "zh-Hans": { + "stringUnit": { + "state": "translated", + "value": "保持打开" + } + }, + "zh-Hant": { + "stringUnit": { + "state": "translated", + "value": "保持開啟" + } + } + } + }, + "appChannelSwitch.opened.quit": { + "extractionState": "manual", + "localizations": { + "en": { + "stringUnit": { + "state": "translated", + "value": "Quit This App" + } + }, + "ar": { + "stringUnit": { + "state": "translated", + "value": "إنهاء هذا التطبيق" + } + }, + "de": { + "stringUnit": { + "state": "translated", + "value": "Diese App beenden" + } + }, + "es": { + "stringUnit": { + "state": "translated", + "value": "Salir de esta app" + } + }, + "fr": { + "stringUnit": { + "state": "translated", + "value": "Quitter cette app" + } + }, + "ja": { + "stringUnit": { + "state": "translated", + "value": "このアプリを終了" + } + }, + "ko": { + "stringUnit": { + "state": "translated", + "value": "이 앱 종료" + } + }, + "zh-Hans": { + "stringUnit": { + "state": "translated", + "value": "退出此应用" + } + }, + "zh-Hant": { + "stringUnit": { + "state": "translated", + "value": "結束此 App" + } + } + } + }, + "appChannelSwitch.opened.title": { + "extractionState": "manual", + "localizations": { + "en": { + "stringUnit": { + "state": "translated", + "value": "%@ is open" + } + }, + "ar": { + "stringUnit": { + "state": "translated", + "value": "%@ مفتوح" + } + }, + "de": { + "stringUnit": { + "state": "translated", + "value": "%@ ist geöffnet" + } + }, + "es": { + "stringUnit": { + "state": "translated", + "value": "%@ está abierta" + } + }, + "fr": { + "stringUnit": { + "state": "translated", + "value": "%@ est ouverte" + } + }, + "ja": { + "stringUnit": { + "state": "translated", + "value": "%@ が開きました" + } + }, + "ko": { + "stringUnit": { + "state": "translated", + "value": "%@이(가) 열렸습니다" + } + }, + "zh-Hans": { + "stringUnit": { + "state": "translated", + "value": "%@ 已打开" + } + }, + "zh-Hant": { + "stringUnit": { + "state": "translated", + "value": "%@ 已開啟" + } + } + } + }, + "appChannelSwitch.progress.cancel": { + "extractionState": "manual", + "localizations": { + "en": { + "stringUnit": { + "state": "translated", + "value": "Cancel" + } + }, + "ar": { + "stringUnit": { + "state": "translated", + "value": "إلغاء" + } + }, + "de": { + "stringUnit": { + "state": "translated", + "value": "Abbrechen" + } + }, + "es": { + "stringUnit": { + "state": "translated", + "value": "Cancelar" + } + }, + "fr": { + "stringUnit": { + "state": "translated", + "value": "Annuler" + } + }, + "ja": { + "stringUnit": { + "state": "translated", + "value": "キャンセル" + } + }, + "ko": { + "stringUnit": { + "state": "translated", + "value": "취소" + } + }, + "zh-Hans": { + "stringUnit": { + "state": "translated", + "value": "取消" + } + }, + "zh-Hant": { + "stringUnit": { + "state": "translated", + "value": "取消" + } + } + } + }, + "appChannelSwitch.progress.downloading": { + "extractionState": "manual", + "localizations": { + "en": { + "stringUnit": { + "state": "translated", + "value": "Downloading %@…" + } + }, + "ar": { + "stringUnit": { + "state": "translated", + "value": "جارٍ تنزيل %@…" + } + }, + "de": { + "stringUnit": { + "state": "translated", + "value": "%@ wird geladen…" + } + }, + "es": { + "stringUnit": { + "state": "translated", + "value": "Descargando %@…" + } + }, + "fr": { + "stringUnit": { + "state": "translated", + "value": "Téléchargement de %@…" + } + }, + "ja": { + "stringUnit": { + "state": "translated", + "value": "%@ をダウンロード中…" + } + }, + "ko": { + "stringUnit": { + "state": "translated", + "value": "%@ 다운로드 중…" + } + }, + "zh-Hans": { + "stringUnit": { + "state": "translated", + "value": "正在下载 %@…" + } + }, + "zh-Hant": { + "stringUnit": { + "state": "translated", + "value": "正在下載 %@…" + } + } + } + }, + "appChannelSwitch.progress.installing": { + "extractionState": "manual", + "localizations": { + "en": { + "stringUnit": { + "state": "translated", + "value": "Installing…" + } + }, + "ar": { + "stringUnit": { + "state": "translated", + "value": "جارٍ التثبيت…" + } + }, + "de": { + "stringUnit": { + "state": "translated", + "value": "Wird installiert…" + } + }, + "es": { + "stringUnit": { + "state": "translated", + "value": "Instalando…" + } + }, + "fr": { + "stringUnit": { + "state": "translated", + "value": "Installation…" + } + }, + "ja": { + "stringUnit": { + "state": "translated", + "value": "インストール中…" + } + }, + "ko": { + "stringUnit": { + "state": "translated", + "value": "설치 중…" + } + }, + "zh-Hans": { + "stringUnit": { + "state": "translated", + "value": "正在安装…" + } + }, + "zh-Hant": { + "stringUnit": { + "state": "translated", + "value": "正在安裝…" + } + } + } + }, + "appChannelSwitch.progress.launching": { + "extractionState": "manual", + "localizations": { + "en": { + "stringUnit": { + "state": "translated", + "value": "Opening %@…" + } + }, + "ar": { + "stringUnit": { + "state": "translated", + "value": "جارٍ فتح %@…" + } + }, + "de": { + "stringUnit": { + "state": "translated", + "value": "%@ wird geöffnet…" + } + }, + "es": { + "stringUnit": { + "state": "translated", + "value": "Abriendo %@…" + } + }, + "fr": { + "stringUnit": { + "state": "translated", + "value": "Ouverture de %@…" + } + }, + "ja": { + "stringUnit": { + "state": "translated", + "value": "%@ を開いています…" + } + }, + "ko": { + "stringUnit": { + "state": "translated", + "value": "%@ 여는 중…" + } + }, + "zh-Hans": { + "stringUnit": { + "state": "translated", + "value": "正在打开 %@…" + } + }, + "zh-Hant": { + "stringUnit": { + "state": "translated", + "value": "正在開啟 %@…" + } + } + } + }, + "appChannelSwitch.progress.title": { + "extractionState": "manual", + "localizations": { + "en": { + "stringUnit": { + "state": "translated", + "value": "Switching to %@" + } + }, + "ar": { + "stringUnit": { + "state": "translated", + "value": "جارٍ التبديل إلى %@" + } + }, + "de": { + "stringUnit": { + "state": "translated", + "value": "Wechsel zu %@" + } + }, + "es": { + "stringUnit": { + "state": "translated", + "value": "Cambiando a %@" + } + }, + "fr": { + "stringUnit": { + "state": "translated", + "value": "Passage à %@" + } + }, + "ja": { + "stringUnit": { + "state": "translated", + "value": "%@ に切り替え中" + } + }, + "ko": { + "stringUnit": { + "state": "translated", + "value": "%@(으)로 전환 중" + } + }, + "zh-Hans": { + "stringUnit": { + "state": "translated", + "value": "正在切换到 %@" + } + }, + "zh-Hant": { + "stringUnit": { + "state": "translated", + "value": "正在切換至 %@" + } + } + } + }, + "appChannelSwitch.progress.verifying": { + "extractionState": "manual", + "localizations": { + "en": { + "stringUnit": { + "state": "translated", + "value": "Verifying the code signature…" + } + }, + "ar": { + "stringUnit": { + "state": "translated", + "value": "جارٍ التحقق من توقيع الشيفرة…" + } + }, + "de": { + "stringUnit": { + "state": "translated", + "value": "Codesignatur wird geprüft…" + } + }, + "es": { + "stringUnit": { + "state": "translated", + "value": "Verificando la firma de código…" + } + }, + "fr": { + "stringUnit": { + "state": "translated", + "value": "Vérification de la signature du code…" + } + }, + "ja": { + "stringUnit": { + "state": "translated", + "value": "コード署名を検証中…" + } + }, + "ko": { + "stringUnit": { + "state": "translated", + "value": "코드 서명 확인 중…" + } + }, + "zh-Hans": { + "stringUnit": { + "state": "translated", + "value": "正在验证代码签名…" + } + }, + "zh-Hant": { + "stringUnit": { + "state": "translated", + "value": "正在驗證程式碼簽章…" + } + } + } + }, + "settings.search.alias.setting.workspaceColors.subtle-selection": { + "extractionState": "manual", + "localizations": { + "en": { + "stringUnit": { + "state": "translated", + "value": "workspaceColors.subtleSelection subtle calm quiet selection highlight tint hairline edge selected workspace accent" + } + }, + "ja": { + "stringUnit": { + "state": "translated", + "value": "workspaceColors.subtleSelection subtle calm quiet selection highlight tint hairline edge selected workspace accent 控えめ 選択 ハイライト 淡い 枠線" + } + }, + "zh-Hans": { + "stringUnit": { + "state": "translated", + "value": "workspaceColors.subtleSelection subtle calm quiet selection highlight tint hairline edge selected workspace accent 柔和 选中 高亮 淡色 边框" + } + }, + "zh-Hant": { + "stringUnit": { + "state": "translated", + "value": "workspaceColors.subtleSelection subtle calm quiet selection highlight tint hairline edge selected workspace accent 柔和 選取 高亮 淡色 邊框" + } + }, + "ko": { + "stringUnit": { + "state": "translated", + "value": "workspaceColors.subtleSelection subtle calm quiet selection highlight tint hairline edge selected workspace accent 은은한 선택 하이라이트 옅은 테두리" + } + }, + "de": { + "stringUnit": { + "state": "translated", + "value": "workspaceColors.subtleSelection subtle calm quiet selection highlight tint hairline edge selected workspace accent dezent Auswahl Hervorhebung Akzent Rand" + } + }, + "es": { + "stringUnit": { + "state": "translated", + "value": "workspaceColors.subtleSelection subtle calm quiet selection highlight tint hairline edge selected workspace accent sutil selección resaltado acento borde" + } + }, + "fr": { + "stringUnit": { + "state": "translated", + "value": "workspaceColors.subtleSelection subtle calm quiet selection highlight tint hairline edge selected workspace accent discret sélection surlignage accent bordure" + } + }, + "ar": { + "stringUnit": { + "state": "translated", + "value": "workspaceColors.subtleSelection subtle calm quiet selection highlight tint hairline edge selected workspace accent هادئ تحديد تمييز لون حافة" + } + } + } + }, + "settings.workspaceColors.subtleSelection": { + "extractionState": "manual", + "localizations": { + "en": { + "stringUnit": { + "state": "translated", + "value": "Subtle Selection Highlight" + } + }, + "ja": { + "stringUnit": { + "state": "translated", + "value": "控えめな選択ハイライト" + } + }, + "zh-Hans": { + "stringUnit": { + "state": "translated", + "value": "柔和的选中高亮" + } + }, + "zh-Hant": { + "stringUnit": { + "state": "translated", + "value": "柔和的選取高亮" + } + }, + "ko": { + "stringUnit": { + "state": "translated", + "value": "은은한 선택 하이라이트" + } + }, + "de": { + "stringUnit": { + "state": "translated", + "value": "Dezente Auswahlhervorhebung" + } + }, + "es": { + "stringUnit": { + "state": "translated", + "value": "Resaltado de selección sutil" + } + }, + "fr": { + "stringUnit": { + "state": "translated", + "value": "Surlignage de la sélection discret" + } + }, + "ar": { + "stringUnit": { + "state": "translated", + "value": "تمييز تحديد هادئ" + } + } + } + }, + "settings.workspaceColors.subtleSelection.subtitle": { + "extractionState": "manual", + "localizations": { + "en": { + "stringUnit": { + "state": "translated", + "value": "Show the selected workspace as a faint accent tint with a thin edge instead of a solid fill. A custom Selection Highlight color still uses a solid fill." + } + }, + "ja": { + "stringUnit": { + "state": "translated", + "value": "選択中のワークスペースを、塗りつぶしではなく淡いアクセントカラーと細い枠線で表示します。カスタムの選択ハイライト色を設定している場合は塗りつぶしのままです。" + } + }, + "zh-Hans": { + "stringUnit": { + "state": "translated", + "value": "用淡淡的强调色和细边框显示选中的工作区,而不是实色填充。设置了自定义选中高亮颜色时仍使用实色填充。" + } + }, + "zh-Hant": { + "stringUnit": { + "state": "translated", + "value": "以淡淡的強調色和細邊框顯示選取的工作區,而非實色填滿。設定了自訂選取高亮顏色時仍使用實色填滿。" + } + }, + "ko": { + "stringUnit": { + "state": "translated", + "value": "선택한 작업 공간을 단색 채우기 대신 옅은 강조 색상과 얇은 테두리로 표시합니다. 사용자 지정 선택 하이라이트 색상은 계속 단색으로 채웁니다." + } + }, + "de": { + "stringUnit": { + "state": "translated", + "value": "Zeigt den ausgewählten Arbeitsbereich als zarte Akzentfarbe mit feinem Rand statt als volle Füllung. Eine eigene Farbe für die Auswahlhervorhebung bleibt eine volle Füllung." + } + }, + "es": { + "stringUnit": { + "state": "translated", + "value": "Muestra el espacio de trabajo seleccionado con un tono de acento suave y un borde fino en lugar de un relleno sólido. Un color de resaltado de selección personalizado sigue usando relleno sólido." + } + }, + "fr": { + "stringUnit": { + "state": "translated", + "value": "Affiche l’espace de travail sélectionné avec une légère teinte d’accentuation et une fine bordure au lieu d’un remplissage plein. Une couleur de surlignage de la sélection personnalisée reste un remplissage plein." + } + }, + "ar": { + "stringUnit": { + "state": "translated", + "value": "يعرض مساحة العمل المحددة بلون تمييز خفيف وحافة رفيعة بدلاً من تعبئة كاملة. يظل لون تمييز التحديد المخصص يستخدم تعبئة كاملة." + } + } + } + }, + "ghosttyConfigDiagnostics.notice.dismiss": { + "extractionState": "manual", + "localizations": { + "en": { + "stringUnit": { + "state": "translated", + "value": "Dismiss" + } + }, + "ar": { + "stringUnit": { + "state": "translated", + "value": "تجاهل" + } + }, + "de": { + "stringUnit": { + "state": "translated", + "value": "Schließen" + } + }, + "es": { + "stringUnit": { + "state": "translated", + "value": "Descartar" + } + }, + "fr": { + "stringUnit": { + "state": "translated", + "value": "Ignorer" } }, "ja": { @@ -562160,131 +561634,6 @@ } } }, - "cli.sshPtyAttach.launchAcknowledgementTimeoutRetry": { - "extractionState": "manual", - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "[cmux] cmux did not acknowledge the SSH launch; retrying %s in %ss." - } - }, - "de": { - "stringUnit": { - "state": "translated", - "value": "[cmux] cmux hat den SSH-Start nicht bestätigt; neuer Versuch %s in %ss." - } - }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "[cmux] cmux n’a pas confirmé le démarrage SSH ; nouvelle tentative %s dans %ss." - } - }, - "ar": { - "stringUnit": { - "state": "translated", - "value": "[cmux] لم يؤكد cmux بدء SSH؛ ستتم إعادة المحاولة %s خلال %s ث." - } - }, - "es": { - "stringUnit": { - "state": "translated", - "value": "[cmux] cmux no confirmó el inicio de SSH; reintentando %s en %ss." - } - }, - "zh-Hant": { - "stringUnit": { - "state": "translated", - "value": "[cmux] cmux 未確認 SSH 啟動;將在第 %s 次於 %s 秒後重試。" - } - }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "[cmux] cmux 未确认 SSH 启动;将在第 %s 次于 %s 秒后重试。" - } - }, - "ko": { - "stringUnit": { - "state": "translated", - "value": "[cmux] cmux가 SSH 시작을 확인하지 못했습니다. %s번째로 %s초 후 다시 시도합니다." - } - }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "[cmux] cmux が SSH の起動を確認できないため、%s 回目を %s 秒後に再試行します。" - } - }, - "bs": { - "stringUnit": { - "state": "translated", - "value": "[cmux] cmux nije potvrdio SSH pokretanje; ponovni pokušaj %s za %ss." - } - }, - "da": { - "stringUnit": { - "state": "translated", - "value": "[cmux] cmux bekræftede ikke SSH-starten; prøver igen %s om %ss." - } - }, - "it": { - "stringUnit": { - "state": "translated", - "value": "[cmux] cmux non ha confermato l’avvio SSH; nuovo tentativo %s tra %ss." - } - }, - "km": { - "stringUnit": { - "state": "translated", - "value": "[cmux] cmux មិនបានបញ្ជាក់ការចាប់ផ្តើម SSH ទេ; កំពុងព្យាយាមម្តងទៀត %s ក្នុងរយៈពេល %ss។" - } - }, - "nb": { - "stringUnit": { - "state": "translated", - "value": "[cmux] cmux bekreftet ikke SSH-oppstarten; prøver på nytt %s om %ss." - } - }, - "pl": { - "stringUnit": { - "state": "translated", - "value": "[cmux] cmux nie potwierdził uruchomienia SSH; ponawianie próby %s za %ss." - } - }, - "pt-BR": { - "stringUnit": { - "state": "translated", - "value": "[cmux] o cmux não confirmou o início do SSH; tentando novamente %s em %ss." - } - }, - "ru": { - "stringUnit": { - "state": "translated", - "value": "[cmux] cmux не подтвердил запуск SSH; повторная попытка %s через %ss." - } - }, - "th": { - "stringUnit": { - "state": "translated", - "value": "[cmux] cmux ไม่ยืนยันการเริ่มต้น SSH; กำลังลองใหม่ครั้งที่ %s ในอีก %s วินาที" - } - }, - "tr": { - "stringUnit": { - "state": "translated", - "value": "[cmux] cmux SSH başlatmasını onaylamadı; %s saniye içinde %s. deneme yapılıyor." - } - }, - "uk": { - "stringUnit": { - "state": "translated", - "value": "[cmux] cmux не підтвердив запуск SSH; повторна спроба %s через %s с." - } - } - } - }, "devices.discovery.settingsDisabled": { "extractionState": "manual", "localizations": { @@ -564055,22231 +563404,22547 @@ } } }, - "settings.automation.pi": { + "cloudTree.group.cloudMachines": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Pi Integration" + "value": "Cloud Machines" } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "تكامل Pi" + "value": "Cloud-Maschinen" } }, - "de": { + "fr": { "stringUnit": { "state": "translated", - "value": "Pi-Integration" + "value": "Machines cloud" } }, - "es": { + "ar": { "stringUnit": { "state": "translated", - "value": "Integración de Pi" + "value": "أجهزة سحابية" } }, - "fr": { + "es": { "stringUnit": { "state": "translated", - "value": "Intégration de Pi" + "value": "Máquinas en la nube" } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "Pi連携" + "value": "雲端機器" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "Pi 연동" + "value": "云端机器" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "Pi 集成" + "value": "클라우드 머신" } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "Pi 整合" + "value": "クラウドマシン" } }, "bs": { "stringUnit": { "state": "translated", - "value": "Pi integracija" + "value": "Mašine u oblaku" } }, "da": { "stringUnit": { "state": "translated", - "value": "Pi-integration" + "value": "Cloud-maskiner" } }, "it": { "stringUnit": { "state": "translated", - "value": "Integrazione di Pi" + "value": "Macchine cloud" } }, "km": { "stringUnit": { "state": "translated", - "value": "ការរួមបញ្ចូល Pi" + "value": "ម៉ាស៊ីនលើពពក" } }, "nb": { "stringUnit": { "state": "translated", - "value": "Pi-integrasjon" + "value": "Skymaskiner" } }, "pl": { "stringUnit": { "state": "translated", - "value": "Integracja Pi" + "value": "Maszyny w chmurze" } }, "pt-BR": { "stringUnit": { "state": "translated", - "value": "Integração do Pi" + "value": "Máquinas na nuvem" } }, "ru": { "stringUnit": { "state": "translated", - "value": "Интеграция Pi" + "value": "Облачные машины" } }, "th": { "stringUnit": { "state": "translated", - "value": "การผสานรวม Pi" + "value": "เครื่องคลาวด์" } }, "tr": { "stringUnit": { "state": "translated", - "value": "Pi entegrasyonu" + "value": "Bulut makineleri" } }, "uk": { "stringUnit": { "state": "translated", - "value": "Інтеграція Pi" + "value": "Хмарні машини" } } } }, - "settings.automation.pi.note": { + "cloudTree.group.devices": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "When enabled, cmux wraps the pi command and loads its bundled session extension without changing your Pi configuration. Disable if you prefer to manage Pi hooks yourself." + "value": "My Devices" } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "عند التفعيل، يغلّف cmux أمر pi ويحمّل امتداد الجلسة المضمّن دون تغيير إعدادات Pi. عطّل هذا الخيار إذا كنت تفضّل إدارة خطافات Pi بنفسك." + "value": "Meine Geräte" } }, - "de": { + "fr": { "stringUnit": { "state": "translated", - "value": "Wenn aktiviert, umhüllt cmux den pi-Befehl und lädt seine gebündelte Sitzungserweiterung, ohne deine Pi-Konfiguration zu ändern. Deaktiviere dies, wenn du die Pi-Hooks selbst verwalten möchtest." + "value": "Mes appareils" } }, - "es": { + "ar": { "stringUnit": { "state": "translated", - "value": "Cuando está activado, cmux envuelve el comando pi y carga su extensión de sesión integrada sin cambiar tu configuración de Pi. Desactívalo si prefieres gestionar tú mismo los hooks de Pi." + "value": "أجهزتي" } }, - "fr": { + "es": { "stringUnit": { "state": "translated", - "value": "Lorsque cette option est activée, cmux encapsule la commande pi et charge son extension de session intégrée sans modifier votre configuration Pi. Désactivez-la si vous préférez gérer les hooks Pi vous-même." + "value": "Mis dispositivos" } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "有効にすると、cmuxはpiコマンドをラップし、Piの設定を変更せずにバンドルされたセッション拡張機能を読み込みます。Piのフックを自分で管理する場合は無効にしてください。" + "value": "我的裝置" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "활성화하면 cmux가 pi 명령을 래핑하고 Pi 설정을 변경하지 않고 번들 세션 확장을 로드합니다. Pi 훅을 직접 관리하려면 비활성화하세요." + "value": "我的设备" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "启用后,cmux 会包装 pi 命令并加载内置会话扩展,不会更改你的 Pi 配置。如果你希望自行管理 Pi 钩子,请禁用此选项。" + "value": "내 기기" } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "啟用後,cmux 會包裝 pi 指令並載入內建工作階段擴充功能,不會變更你的 Pi 設定。若偏好自行管理 Pi 掛鉤,請停用此選項。" + "value": "マイデバイス" } }, "bs": { "stringUnit": { "state": "translated", - "value": "Kada je omogućeno, cmux obavija naredbu pi i učitava ugrađeno proširenje sesije bez mijenjanja vaše Pi konfiguracije. Onemogućite ako želite sami upravljati Pi kukama." + "value": "Moji uređaji" } }, "da": { "stringUnit": { "state": "translated", - "value": "Når funktionen er aktiveret, indpakker cmux pi-kommandoen og indlæser den medfølgende sessionsudvidelse uden at ændre din Pi-konfiguration. Deaktiver den, hvis du selv vil administrere Pi-hooks." + "value": "Mine enheder" } }, "it": { "stringUnit": { "state": "translated", - "value": "Quando è abilitata, cmux avvolge il comando pi e carica l'estensione di sessione inclusa senza modificare la configurazione di Pi. Disabilitala se preferisci gestire autonomamente gli hook di Pi." + "value": "I miei dispositivi" } }, "km": { "stringUnit": { "state": "translated", - "value": "នៅពេលបើកដំណើរការ cmux នឹងរុំពាក្យបញ្ជា pi ហើយផ្ទុកផ្នែកបន្ថែមសម័យដែលភ្ជាប់មកជាមួយ ដោយមិនផ្លាស់ប្តូរការកំណត់ Pi របស់អ្នក។ បិទវា ប្រសិនបើអ្នកចង់គ្រប់គ្រង hooks របស់ Pi ដោយខ្លួនឯង។" + "value": "ឧបករណ៍របស់ខ្ញុំ" } }, "nb": { "stringUnit": { "state": "translated", - "value": "Når dette er aktivert, pakker cmux inn pi-kommandoen og laster den medfølgende øktutvidelsen uten å endre Pi-konfigurasjonen din. Deaktiver hvis du vil administrere Pi-hookene selv." + "value": "Mine enheter" } }, "pl": { "stringUnit": { "state": "translated", - "value": "Po włączeniu cmux opakuje polecenie pi i załaduje dołączone rozszerzenie sesji bez zmieniania konfiguracji Pi. Wyłącz tę opcję, jeśli wolisz samodzielnie zarządzać hookami Pi." + "value": "Moje urządzenia" } }, "pt-BR": { "stringUnit": { "state": "translated", - "value": "Quando ativado, o cmux envolve o comando pi e carrega a extensão de sessão incluída sem alterar sua configuração do Pi. Desative se preferir gerenciar os hooks do Pi por conta própria." + "value": "Meus dispositivos" } }, "ru": { "stringUnit": { "state": "translated", - "value": "При включении cmux оборачивает команду pi и загружает встроенное расширение сеанса, не изменяя конфигурацию Pi. Отключите этот параметр, если предпочитаете управлять хуками Pi самостоятельно." + "value": "Мои устройства" } }, "th": { "stringUnit": { "state": "translated", - "value": "เมื่อเปิดใช้งาน cmux จะครอบคำสั่ง pi และโหลดส่วนขยายเซสชันที่มาพร้อมกับโปรแกรมโดยไม่เปลี่ยนการตั้งค่า Pi ของคุณ ปิดใช้งานหากต้องการจัดการ hooks ของ Pi เอง" + "value": "อุปกรณ์ของฉัน" } }, "tr": { "stringUnit": { "state": "translated", - "value": "Etkinleştirildiğinde cmux, Pi yapılandırmanızı değiştirmeden pi komutunu sarar ve birlikte gelen oturum uzantısını yükler. Pi kancalarını kendiniz yönetmeyi tercih ediyorsanız devre dışı bırakın." + "value": "Cihazlarım" } }, "uk": { "stringUnit": { "state": "translated", - "value": "Якщо ввімкнено, cmux обгортає команду pi й завантажує вбудоване розширення сеансу, не змінюючи конфігурацію Pi. Вимкніть цей параметр, якщо хочете самостійно керувати хуками Pi." + "value": "Мої пристрої" } } } }, - "settings.automation.pi.subtitleOff": { + "machines.listUnavailable.stale": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Pi runs without cmux integration." - } - }, - "ar": { - "stringUnit": { - "state": "translated", - "value": "يعمل Pi بدون تكامل cmux." + "value": "Machine list unavailable — showing last known" } }, "de": { "stringUnit": { "state": "translated", - "value": "Pi läuft ohne cmux-Integration." - } - }, - "es": { - "stringUnit": { - "state": "translated", - "value": "Pi se ejecuta sin integración con cmux." + "value": "Maschinenliste nicht verfügbar – zeige letzten bekannten Stand" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Pi s’exécute sans intégration cmux." - } - }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "Piはcmux連携なしで実行されます。" + "value": "Liste des machines indisponible — affichage des dernières informations connues" } }, - "ko": { + "ar": { "stringUnit": { "state": "translated", - "value": "Pi가 cmux 연동 없이 실행됩니다." + "value": "قائمة الأجهزة غير متاحة — يتم عرض آخر حالة معروفة" } }, - "zh-Hans": { + "es": { "stringUnit": { "state": "translated", - "value": "Pi 在没有 cmux 集成的情况下运行。" + "value": "Lista de máquinas no disponible — se muestra el último estado conocido" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "Pi 會在不使用 cmux 整合的情況下執行。" - } - }, - "bs": { - "stringUnit": { - "state": "translated", - "value": "Pi radi bez cmux integracije." - } - }, - "da": { - "stringUnit": { - "state": "translated", - "value": "Pi kører uden cmux-integration." - } - }, - "it": { - "stringUnit": { - "state": "translated", - "value": "Pi viene eseguito senza l'integrazione con cmux." - } - }, - "km": { - "stringUnit": { - "state": "translated", - "value": "Pi ដំណើរការដោយគ្មានការរួមបញ្ចូល cmux។" - } - }, - "nb": { - "stringUnit": { - "state": "translated", - "value": "Pi kjører uten cmux-integrasjon." - } - }, - "pl": { - "stringUnit": { - "state": "translated", - "value": "Pi działa bez integracji z cmux." - } - }, - "pt-BR": { - "stringUnit": { - "state": "translated", - "value": "O Pi é executado sem a integração com o cmux." - } - }, - "ru": { - "stringUnit": { - "state": "translated", - "value": "Pi работает без интеграции с cmux." + "value": "無法取得機器清單 — 顯示上次已知的狀態" } }, - "th": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "Pi ทำงานโดยไม่มีการผสานรวมกับ cmux" + "value": "机器列表不可用 —— 显示的是最后已知状态" } }, - "tr": { + "ko": { "stringUnit": { "state": "translated", - "value": "Pi, cmux entegrasyonu olmadan çalışır." + "value": "머신 목록을 사용할 수 없음 — 마지막으로 확인된 상태 표시 중" } }, - "uk": { + "ja": { "stringUnit": { "state": "translated", - "value": "Pi працює без інтеграції з cmux." + "value": "マシン一覧を取得できません — 最後の状態を表示中" } } } }, - "settings.automation.pi.subtitleOn": { + "machines.listUnavailable.subtitle": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Sidebar shows Pi session status and notifications." - } - }, - "ar": { - "stringUnit": { - "state": "translated", - "value": "يعرض الشريط الجانبي حالة جلسة Pi والإشعارات." + "value": "Your machines are unchanged. cmux couldn’t load the list from the Cloud service and retries on its own." } }, "de": { "stringUnit": { "state": "translated", - "value": "Die Seitenleiste zeigt den Pi-Sitzungsstatus und Benachrichtigungen an." - } - }, - "es": { - "stringUnit": { - "state": "translated", - "value": "La barra lateral muestra el estado de la sesión de Pi y las notificaciones." + "value": "Deine Maschinen sind unverändert. cmux konnte die Liste nicht vom Cloud-Dienst laden und versucht es selbstständig erneut." } }, "fr": { "stringUnit": { "state": "translated", - "value": "La barre latérale affiche le statut de la session Pi et les notifications." + "value": "Vos machines ne sont pas modifiées. cmux n’a pas pu charger la liste depuis le service Cloud et va réessayer automatiquement." } }, - "ja": { + "ar": { "stringUnit": { "state": "translated", - "value": "サイドバーにPiセッションのステータスと通知が表示されます。" + "value": "لم تتغير أجهزتك. تعذر على cmux تحميل القائمة من الخدمة السحابية، وسيعيد المحاولة تلقائيًا." } }, - "ko": { + "es": { "stringUnit": { "state": "translated", - "value": "사이드바에 Pi 세션 상태와 알림이 표시됩니다." + "value": "Tus máquinas no han cambiado. cmux no pudo cargar la lista desde el servicio de la nube y volverá a intentarlo automáticamente." } }, - "zh-Hans": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "侧边栏显示 Pi 会话状态和通知。" + "value": "您的機器沒有任何變動。cmux 無法從雲端服務載入清單,會自動重試。" } }, - "zh-Hant": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "側邊欄顯示 Pi 工作階段狀態和通知。" + "value": "你的机器没有任何变化。cmux 无法从云端服务加载列表,会自动重试。" } }, - "bs": { + "ko": { "stringUnit": { "state": "translated", - "value": "Bočna traka prikazuje status Pi sesije i obavijesti." + "value": "머신은 변경되지 않았습니다. cmux가 클라우드 서비스에서 목록을 불러오지 못했으며 자동으로 다시 시도합니다." } }, - "da": { + "ja": { "stringUnit": { "state": "translated", - "value": "Sidepanelet viser Pi-sessionens status og notifikationer." + "value": "マシンは変更されていません。cmux はクラウドサービスから一覧を読み込めませんでした。自動的に再試行します。" } - }, - "it": { + } + } + }, + "machines.listUnavailable.title": { + "extractionState": "manual", + "localizations": { + "en": { "stringUnit": { "state": "translated", - "value": "La barra laterale mostra lo stato della sessione Pi e le notifiche." + "value": "Can’t load the machine list" } }, - "km": { + "de": { "stringUnit": { "state": "translated", - "value": "របារចំហៀងបង្ហាញស្ថានភាពសម័យ Pi និងការជូនដំណឹង។" + "value": "Maschinenliste kann nicht geladen werden" } }, - "nb": { + "fr": { "stringUnit": { "state": "translated", - "value": "Sidepanelet viser status og varsler for Pi-økten." + "value": "Impossible de charger la liste des machines" } }, - "pl": { + "ar": { "stringUnit": { "state": "translated", - "value": "Pasek boczny pokazuje stan sesji Pi i powiadomienia." + "value": "تعذر تحميل قائمة الأجهزة" } }, - "pt-BR": { + "es": { "stringUnit": { "state": "translated", - "value": "A barra lateral mostra o status da sessão do Pi e as notificações." + "value": "No se puede cargar la lista de máquinas" } }, - "ru": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "На боковой панели отображаются состояние сеанса Pi и уведомления." + "value": "無法載入機器清單" } }, - "th": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "แถบด้านข้างจะแสดงสถานะเซสชัน Pi และการแจ้งเตือน" + "value": "无法加载机器列表" } }, - "tr": { + "ko": { "stringUnit": { "state": "translated", - "value": "Kenar çubuğu, Pi oturumunun durumunu ve bildirimleri gösterir." + "value": "머신 목록을 불러올 수 없습니다" } }, - "uk": { + "ja": { "stringUnit": { "state": "translated", - "value": "Бічна панель показує стан сеансу Pi та сповіщення." + "value": "マシン一覧を読み込めません" } } } }, - "settings.search.alias.setting.automation.pi": { + "machines.offline.stale": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "automation.piIntegration pi hooks agent integration status notifications" - } - }, - "ar": { - "stringUnit": { - "state": "translated", - "value": "automation.piIntegration تكامل Pi خطافات وكيل حالة إشعارات" + "value": "Offline — showing last known" } }, - "bs": { + "de": { "stringUnit": { "state": "translated", - "value": "automation.piIntegration Pi kukice integracija agenta status obavijesti" + "value": "Offline – zeige letzten bekannten Stand" } }, - "da": { + "fr": { "stringUnit": { "state": "translated", - "value": "automation.piIntegration Pi-hooks agentintegration status notifikationer" + "value": "Hors ligne — affichage des dernières informations connues" } }, - "de": { + "ar": { "stringUnit": { "state": "translated", - "value": "automation.piIntegration Pi Hooks Agent Integration Status Benachrichtigungen" + "value": "غير متصل — يتم عرض آخر حالة معروفة" } }, "es": { "stringUnit": { "state": "translated", - "value": "automation.piIntegration Pi hooks integración de agente estado notificaciones" - } - }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "automation.piIntegration Pi hooks intégration agent état notifications" + "value": "Sin conexión — se muestra el último estado conocido" } }, - "it": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "automation.piIntegration hook Pi integrazione agente stato notifiche" + "value": "離線 — 顯示上次已知的狀態" } }, - "ja": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "automation.piIntegration Pi フック エージェント連携 ステータス 通知" + "value": "离线 —— 显示的是最后已知状态" } }, - "km": { + "ko": { "stringUnit": { "state": "translated", - "value": "automation.piIntegration hooks Pi ការរួមបញ្ចូលភ្នាក់ងារ ស្ថានភាព ការជូនដំណឹង" + "value": "오프라인 — 마지막으로 확인된 상태 표시 중" } }, - "ko": { + "ja": { "stringUnit": { "state": "translated", - "value": "automation.piIntegration Pi 훅 에이전트 연동 상태 알림" + "value": "オフライン — 最後の状態を表示中" } - }, - "nb": { + } + } + }, + "machines.offline.subtitle": { + "extractionState": "manual", + "localizations": { + "en": { "stringUnit": { "state": "translated", - "value": "automation.piIntegration Pi-hook agentintegrasjon status varsler" + "value": "Cloud machines load when this Mac is back online." } }, - "pl": { + "de": { "stringUnit": { "state": "translated", - "value": "automation.piIntegration hooki Pi integracja agenta stan powiadomienia" + "value": "Cloud-Maschinen werden geladen, sobald dieser Mac wieder online ist." } }, - "pt-BR": { + "fr": { "stringUnit": { "state": "translated", - "value": "automation.piIntegration hooks do Pi integração do agente status notificações" + "value": "Les machines Cloud se chargeront dès que ce Mac sera de nouveau en ligne." } }, - "ru": { + "ar": { "stringUnit": { "state": "translated", - "value": "automation.piIntegration хуки Pi интеграция агента состояние уведомления" + "value": "سيتم تحميل الأجهزة السحابية عندما يعود جهاز Mac هذا إلى الاتصال بالإنترنت." } }, - "th": { + "es": { "stringUnit": { "state": "translated", - "value": "automation.piIntegration hooks ของ Pi การผสานรวมเอเจนต์ สถานะ การแจ้งเตือน" + "value": "Las máquinas en la nube se cargarán cuando este Mac vuelva a estar en línea." } }, - "tr": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "automation.piIntegration Pi kancaları aracı entegrasyonu durum bildirimler" + "value": "這台 Mac 恢復連線後,就會載入雲端機器。" } }, - "uk": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "automation.piIntegration хуки Pi інтеграція агента стан сповіщення" + "value": "这台 Mac 恢复联网后,就会加载云端机器。" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "automation.piIntegration Pi 钩子 代理集成 状态 通知" + "value": "이 Mac이 다시 온라인 상태가 되면 클라우드 머신을 불러옵니다." } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "automation.piIntegration Pi 掛鉤 代理程式整合 狀態 通知" + "value": "この Mac がオンラインに戻ると Cloud マシンを読み込みます。" } } } }, - "cli.hooks.setup.wrapperNote": { + "machines.offline.title": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": " (Claude Code and Pi hooks are injected automatically via their cmux wrappers)" - } - }, - "ar": { - "stringUnit": { - "state": "translated", - "value": " (يتم حقن خطافات Claude Code وPi تلقائيًا عبر أغلفة cmux)" + "value": "Waiting for network" } }, - "bs": { + "de": { "stringUnit": { "state": "translated", - "value": " (Claude Code i Pi kukice se automatski ubacuju putem cmux omotača)" + "value": "Warte auf Netzwerk" } }, - "da": { + "fr": { "stringUnit": { "state": "translated", - "value": " (Claude Code- og Pi-hooks indsættes automatisk via deres cmux-wrappere)" + "value": "En attente du réseau" } }, - "de": { + "ar": { "stringUnit": { "state": "translated", - "value": " (Claude-Code- und Pi-Hooks werden automatisch über ihre cmux-Wrapper eingefügt)" + "value": "في انتظار الشبكة" } }, "es": { "stringUnit": { "state": "translated", - "value": " (Los hooks de Claude Code y Pi se inyectan automáticamente mediante sus wrappers de cmux)" - } - }, - "fr": { - "stringUnit": { - "state": "translated", - "value": " (Les hooks de Claude Code et Pi sont injectés automatiquement par leurs wrappers cmux)" + "value": "Esperando la red" } }, - "it": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": " (Gli hook di Claude Code e Pi vengono iniettati automaticamente tramite i rispettivi wrapper cmux)" + "value": "正在等待網路" } }, - "ja": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": " (Claude Code と Pi のフックは cmux ラッパーによって自動的に注入されます)" + "value": "正在等待网络" } }, - "km": { + "ko": { "stringUnit": { "state": "translated", - "value": " (hooks របស់ Claude Code និង Pi ត្រូវបានបញ្ចូលដោយស្វ័យប្រវត្តិតាមរយៈ wrapper របស់ cmux)" + "value": "네트워크 대기 중" } }, - "ko": { + "ja": { "stringUnit": { "state": "translated", - "value": " (Claude Code 및 Pi 훅은 cmux 래퍼를 통해 자동으로 주입됩니다)" + "value": "ネットワークを待機中" } - }, - "nb": { + } + } + }, + "machines.reconnecting.title": { + "extractionState": "manual", + "localizations": { + "en": { "stringUnit": { "state": "translated", - "value": " (Claude Code- og Pi-hooker settes inn automatisk via cmux-innpakningene)" + "value": "Reconnecting to Cloud…" } }, - "pl": { + "de": { "stringUnit": { "state": "translated", - "value": " (Hooki Claude Code i Pi są automatycznie wstrzykiwane przez ich opakowania cmux)" + "value": "Verbindung zur Cloud wird wiederhergestellt…" } }, - "pt-BR": { + "fr": { "stringUnit": { "state": "translated", - "value": " (Os hooks do Claude Code e do Pi são injetados automaticamente pelos respectivos wrappers do cmux)" + "value": "Reconnexion au Cloud…" } }, - "ru": { + "ar": { "stringUnit": { "state": "translated", - "value": " (Хуки Claude Code и Pi автоматически внедряются их оболочками cmux)" + "value": "جارٍ إعادة الاتصال بالسحابة…" } }, - "th": { + "es": { "stringUnit": { "state": "translated", - "value": " (hooks ของ Claude Code และ Pi จะถูกฉีดโดยอัตโนมัติผ่าน wrapper ของ cmux)" + "value": "Reconectando con la nube…" } }, - "tr": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": " (Claude Code ve Pi kancaları, cmux sarmalayıcıları aracılığıyla otomatik olarak eklenir)" + "value": "正在重新連線至雲端…" } }, - "uk": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": " (Хуки Claude Code і Pi автоматично додаються їхніми обгортками cmux)" + "value": "正在重新连接云端…" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": " (Claude Code 和 Pi 的钩子会通过各自的 cmux 包装器自动注入)" + "value": "클라우드에 다시 연결하는 중…" } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": " (Claude Code 和 Pi 的掛鉤會透過各自的 cmux 包裝器自動注入)" + "value": "クラウドに再接続中…" } } } }, - "devices.link.error.notDiscoverable": { + "settings.automation.pi": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "This Mac isn’t discoverable. On that Mac, turn on “Make this Mac discoverable” in Settings › Devices." + "value": "Pi Integration" } }, "ar": { "stringUnit": { "state": "translated", - "value": "جهاز Mac هذا غير قابل للاكتشاف. على ذلك الجهاز، فعّل «جعل جهاز Mac هذا قابلاً للاكتشاف» في الإعدادات › الأجهزة." + "value": "تكامل Pi" } }, "de": { "stringUnit": { "state": "translated", - "value": "Dieser Mac ist nicht auffindbar. Aktiviere auf diesem Mac unter „Einstellungen › Geräte“ die Option „Diesen Mac auffindbar machen“." + "value": "Pi-Integration" } }, "es": { "stringUnit": { "state": "translated", - "value": "Este Mac no es detectable. En ese Mac, activa «Hacer que este Mac sea detectable» en Ajustes › Dispositivos." + "value": "Integración de Pi" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Ce Mac n’est pas détectable. Sur ce Mac, activez « Rendre ce Mac détectable » dans Réglages › Appareils." + "value": "Intégration de Pi" } }, "ja": { "stringUnit": { "state": "translated", - "value": "このMacは検出可能になっていません。そのMacの「設定 › デバイス」で「このMacを検出可能にする」をオンにしてください。" + "value": "Pi連携" } }, "ko": { "stringUnit": { "state": "translated", - "value": "이 Mac을 검색할 수 없습니다. 해당 Mac의 설정 › 기기에서 “이 Mac을 검색할 수 있도록 설정”을 켜세요." + "value": "Pi 연동" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "这台 Mac 无法被发现。请在该 Mac 的“设置 › 设备”中开启“允许发现此 Mac”。" + "value": "Pi 集成" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "這部 Mac 無法被探索。請在該 Mac 的「設定 › 裝置」中開啟「允許探索此 Mac」。" + "value": "Pi 整合" } }, "bs": { "stringUnit": { "state": "translated", - "value": "Ovaj Mac nije vidljiv. Na tom Macu uključite „Učini ovaj Mac vidljivim” u Postavke › Uređaji." + "value": "Pi integracija" } }, "da": { "stringUnit": { "state": "translated", - "value": "Denne Mac kan ikke findes. Slå “Gør denne Mac synlig” til på den Mac under Indstillinger › Enheder." + "value": "Pi-integration" } }, "it": { "stringUnit": { "state": "translated", - "value": "Questo Mac non è individuabile. Su quel Mac, attiva “Rendi individuabile questo Mac” in Impostazioni › Dispositivi." + "value": "Integrazione di Pi" } }, "km": { "stringUnit": { "state": "translated", - "value": "Mac នេះមិនអាចរកឃើញបានទេ។ នៅលើ Mac នោះ សូមបើក “ធ្វើឲ្យ Mac នេះអាចរកឃើញ” ក្នុងការកំណត់ › ឧបករណ៍។" + "value": "ការរួមបញ្ចូល Pi" } }, "nb": { "stringUnit": { "state": "translated", - "value": "Denne Macen er ikke synlig. Slå på «Gjør denne Macen synlig» på den Macen under Innstillinger › Enheter." + "value": "Pi-integrasjon" } }, "pl": { "stringUnit": { "state": "translated", - "value": "Ten Mac nie jest wykrywalny. Na tym Macu włącz „Uczyń ten Mac wykrywalnym” w Ustawienia › Urządzenia." + "value": "Integracja Pi" } }, "pt-BR": { "stringUnit": { "state": "translated", - "value": "Este Mac não está detectável. Nesse Mac, ative “Tornar este Mac detectável” em Ajustes › Dispositivos." + "value": "Integração do Pi" } }, "ru": { "stringUnit": { "state": "translated", - "value": "Этот Mac недоступен для обнаружения. На том Mac включите «Сделать этот Mac доступным для обнаружения» в разделе Настройки › Устройства." + "value": "Интеграция Pi" } }, "th": { "stringUnit": { "state": "translated", - "value": "Mac เครื่องนี้ไม่สามารถค้นพบได้ บน Mac เครื่องนั้น ให้เปิด “ทำให้ Mac เครื่องนี้ค้นพบได้” ในการตั้งค่า › อุปกรณ์" + "value": "การผสานรวม Pi" } }, "tr": { "stringUnit": { "state": "translated", - "value": "Bu Mac keşfedilebilir değil. O Mac’te Ayarlar › Cihazlar bölümünden “Bu Mac’i keşfedilebilir yap” seçeneğini açın." + "value": "Pi entegrasyonu" } }, "uk": { "stringUnit": { "state": "translated", - "value": "Цей Mac недоступний для виявлення. На тому Mac увімкніть «Зробити цей Mac доступним для виявлення» у розділі Налаштування › Пристрої." + "value": "Інтеграція Pi" } } } }, - "cli.auth.status.teamNotLoaded": { + "settings.automation.pi.note": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": " team: not loaded" + "value": "When enabled, cmux wraps the pi command and loads its bundled session extension without changing your Pi configuration. Disable if you prefer to manage Pi hooks yourself." } }, - "ja": { + "ar": { "stringUnit": { "state": "translated", - "value": " チーム: 未読み込み" + "value": "عند التفعيل، يغلّف cmux أمر pi ويحمّل امتداد الجلسة المضمّن دون تغيير إعدادات Pi. عطّل هذا الخيار إذا كنت تفضّل إدارة خطافات Pi بنفسك." } }, - "zh-Hans": { + "de": { "stringUnit": { "state": "translated", - "value": " 团队: 未加载" + "value": "Wenn aktiviert, umhüllt cmux den pi-Befehl und lädt seine gebündelte Sitzungserweiterung, ohne deine Pi-Konfiguration zu ändern. Deaktiviere dies, wenn du die Pi-Hooks selbst verwalten möchtest." } }, - "de": { + "es": { "stringUnit": { "state": "translated", - "value": " Team: nicht geladen" + "value": "Cuando está activado, cmux envuelve el comando pi y carga su extensión de sesión integrada sin cambiar tu configuración de Pi. Desactívalo si prefieres gestionar tú mismo los hooks de Pi." } }, "fr": { "stringUnit": { "state": "translated", - "value": " équipe: non chargée" + "value": "Lorsque cette option est activée, cmux encapsule la commande pi et charge son extension de session intégrée sans modifier votre configuration Pi. Désactivez-la si vous préférez gérer les hooks Pi vous-même." } }, - "ar": { + "ja": { "stringUnit": { "state": "translated", - "value": " الفريق: لم يتم تحميله" + "value": "有効にすると、cmuxはpiコマンドをラップし、Piの設定を変更せずにバンドルされたセッション拡張機能を読み込みます。Piのフックを自分で管理する場合は無効にしてください。" } }, - "es": { + "ko": { "stringUnit": { "state": "translated", - "value": " equipo: no cargado" + "value": "활성화하면 cmux가 pi 명령을 래핑하고 Pi 설정을 변경하지 않고 번들 세션 확장을 로드합니다. Pi 훅을 직접 관리하려면 비활성화하세요." } }, - "zh-Hant": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": " 團隊: 未載入" + "value": "启用后,cmux 会包装 pi 命令并加载内置会话扩展,不会更改你的 Pi 配置。如果你希望自行管理 Pi 钩子,请禁用此选项。" } }, - "ko": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": " 팀: 로드되지 않음" + "value": "啟用後,cmux 會包裝 pi 指令並載入內建工作階段擴充功能,不會變更你的 Pi 設定。若偏好自行管理 Pi 掛鉤,請停用此選項。" } }, "bs": { "stringUnit": { "state": "translated", - "value": " tim: nije učitan" + "value": "Kada je omogućeno, cmux obavija naredbu pi i učitava ugrađeno proširenje sesije bez mijenjanja vaše Pi konfiguracije. Onemogućite ako želite sami upravljati Pi kukama." } }, "da": { "stringUnit": { "state": "translated", - "value": " team: ikke indlæst" + "value": "Når funktionen er aktiveret, indpakker cmux pi-kommandoen og indlæser den medfølgende sessionsudvidelse uden at ændre din Pi-konfiguration. Deaktiver den, hvis du selv vil administrere Pi-hooks." } }, "it": { "stringUnit": { "state": "translated", - "value": " team: non caricato" + "value": "Quando è abilitata, cmux avvolge il comando pi e carica l'estensione di sessione inclusa senza modificare la configurazione di Pi. Disabilitala se preferisci gestire autonomamente gli hook di Pi." } }, "km": { "stringUnit": { "state": "translated", - "value": " ក្រុម៖ មិនទាន់បានផ្ទុក" + "value": "នៅពេលបើកដំណើរការ cmux នឹងរុំពាក្យបញ្ជា pi ហើយផ្ទុកផ្នែកបន្ថែមសម័យដែលភ្ជាប់មកជាមួយ ដោយមិនផ្លាស់ប្តូរការកំណត់ Pi របស់អ្នក។ បិទវា ប្រសិនបើអ្នកចង់គ្រប់គ្រង hooks របស់ Pi ដោយខ្លួនឯង។" } }, "nb": { "stringUnit": { "state": "translated", - "value": " team: ikke lastet" + "value": "Når dette er aktivert, pakker cmux inn pi-kommandoen og laster den medfølgende øktutvidelsen uten å endre Pi-konfigurasjonen din. Deaktiver hvis du vil administrere Pi-hookene selv." } }, "pl": { "stringUnit": { "state": "translated", - "value": " zespół: nie załadowano" + "value": "Po włączeniu cmux opakuje polecenie pi i załaduje dołączone rozszerzenie sesji bez zmieniania konfiguracji Pi. Wyłącz tę opcję, jeśli wolisz samodzielnie zarządzać hookami Pi." } }, "pt-BR": { "stringUnit": { "state": "translated", - "value": " equipe: não carregada" + "value": "Quando ativado, o cmux envolve o comando pi e carrega a extensão de sessão incluída sem alterar sua configuração do Pi. Desative se preferir gerenciar os hooks do Pi por conta própria." } }, "ru": { "stringUnit": { "state": "translated", - "value": " команда: не загружена" + "value": "При включении cmux оборачивает команду pi и загружает встроенное расширение сеанса, не изменяя конфигурацию Pi. Отключите этот параметр, если предпочитаете управлять хуками Pi самостоятельно." } }, "th": { "stringUnit": { "state": "translated", - "value": " ทีม: ยังไม่ได้โหลด" + "value": "เมื่อเปิดใช้งาน cmux จะครอบคำสั่ง pi และโหลดส่วนขยายเซสชันที่มาพร้อมกับโปรแกรมโดยไม่เปลี่ยนการตั้งค่า Pi ของคุณ ปิดใช้งานหากต้องการจัดการ hooks ของ Pi เอง" } }, "tr": { "stringUnit": { "state": "translated", - "value": " ekip: yüklenmedi" + "value": "Etkinleştirildiğinde cmux, Pi yapılandırmanızı değiştirmeden pi komutunu sarar ve birlikte gelen oturum uzantısını yükler. Pi kancalarını kendiniz yönetmeyi tercih ediyorsanız devre dışı bırakın." } }, "uk": { "stringUnit": { "state": "translated", - "value": " команда: не завантажена" + "value": "Якщо ввімкнено, cmux обгортає команду pi й завантажує вбудоване розширення сеансу, не змінюючи конфігурацію Pi. Вимкніть цей параметр, якщо хочете самостійно керувати хуками Pi." } } } }, - "cli.auth.status.teamNotLoadedRetrying": { + "settings.automation.pi.subtitleOff": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": " team: not loaded (retrying)" + "value": "Pi runs without cmux integration." } }, - "ja": { + "ar": { "stringUnit": { "state": "translated", - "value": " チーム: 未読み込み(再試行中)" + "value": "يعمل Pi بدون تكامل cmux." } }, - "zh-Hans": { + "de": { "stringUnit": { "state": "translated", - "value": " 团队: 未加载(正在重试)" + "value": "Pi läuft ohne cmux-Integration." } }, - "de": { + "es": { "stringUnit": { "state": "translated", - "value": " Team: nicht geladen (wird erneut versucht)" + "value": "Pi se ejecuta sin integración con cmux." } }, "fr": { "stringUnit": { "state": "translated", - "value": " équipe: non chargée (nouvel essai)" + "value": "Pi s’exécute sans intégration cmux." } }, - "ar": { + "ja": { "stringUnit": { "state": "translated", - "value": " الفريق: لم يتم تحميله (جارٍ إعادة المحاولة)" + "value": "Piはcmux連携なしで実行されます。" } }, - "es": { + "ko": { "stringUnit": { "state": "translated", - "value": " equipo: no cargado (reintentando)" + "value": "Pi가 cmux 연동 없이 실행됩니다." } }, - "zh-Hant": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": " 團隊: 未載入(重試中)" + "value": "Pi 在没有 cmux 集成的情况下运行。" } }, - "ko": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": " 팀: 로드되지 않음 (재시도 중)" + "value": "Pi 會在不使用 cmux 整合的情況下執行。" } }, "bs": { "stringUnit": { "state": "translated", - "value": " tim: nije učitan (ponovni pokušaj)" + "value": "Pi radi bez cmux integracije." } }, "da": { "stringUnit": { "state": "translated", - "value": " team: ikke indlæst (prøver igen)" + "value": "Pi kører uden cmux-integration." } }, "it": { "stringUnit": { "state": "translated", - "value": " team: non caricato (nuovo tentativo)" + "value": "Pi viene eseguito senza l'integrazione con cmux." } }, "km": { "stringUnit": { "state": "translated", - "value": " ក្រុម៖ មិនទាន់បានផ្ទុក (កំពុងព្យាយាមម្ដងទៀត)" + "value": "Pi ដំណើរការដោយគ្មានការរួមបញ្ចូល cmux។" } }, "nb": { "stringUnit": { "state": "translated", - "value": " team: ikke lastet (prøver igjen)" + "value": "Pi kjører uten cmux-integrasjon." } }, "pl": { "stringUnit": { "state": "translated", - "value": " zespół: nie załadowano (ponawianie próby)" + "value": "Pi działa bez integracji z cmux." } }, "pt-BR": { "stringUnit": { "state": "translated", - "value": " equipe: não carregada (tentando novamente)" + "value": "O Pi é executado sem a integração com o cmux." } }, "ru": { "stringUnit": { "state": "translated", - "value": " команда: не загружена (повторная попытка)" + "value": "Pi работает без интеграции с cmux." } }, "th": { "stringUnit": { "state": "translated", - "value": " ทีม: ยังไม่ได้โหลด (กำลังลองอีกครั้ง)" + "value": "Pi ทำงานโดยไม่มีการผสานรวมกับ cmux" } }, "tr": { "stringUnit": { "state": "translated", - "value": " ekip: yüklenmedi (yeniden deneniyor)" + "value": "Pi, cmux entegrasyonu olmadan çalışır." } }, "uk": { "stringUnit": { "state": "translated", - "value": " команда: не завантажена (повторна спроба)" + "value": "Pi працює без інтеграції з cmux." } } } }, - "mobile.pairing.error.teamUnavailable": { + "settings.automation.pi.subtitleOn": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Could not load your cmux team. Check your internet connection, then try again." + "value": "Sidebar shows Pi session status and notifications." } }, - "ja": { + "ar": { "stringUnit": { "state": "translated", - "value": "cmux チームを読み込めませんでした。インターネット接続を確認してから、もう一度お試しください。" + "value": "يعرض الشريط الجانبي حالة جلسة Pi والإشعارات." } }, - "zh-Hans": { + "de": { "stringUnit": { "state": "translated", - "value": "无法加载你的 cmux 团队。请检查网络连接,然后重试。" + "value": "Die Seitenleiste zeigt den Pi-Sitzungsstatus und Benachrichtigungen an." } }, - "de": { + "es": { "stringUnit": { "state": "translated", - "value": "Dein cmux-Team konnte nicht geladen werden. Prüfe deine Internetverbindung und versuche es erneut." + "value": "La barra lateral muestra el estado de la sesión de Pi y las notificaciones." } }, "fr": { "stringUnit": { "state": "translated", - "value": "Impossible de charger votre équipe cmux. Vérifiez votre connexion Internet, puis réessayez." + "value": "La barre latérale affiche le statut de la session Pi et les notifications." } }, - "ar": { + "ja": { "stringUnit": { "state": "translated", - "value": "تعذّر تحميل فريق cmux الخاص بك. تحقّق من اتصالك بالإنترنت، ثم حاول مرة أخرى." + "value": "サイドバーにPiセッションのステータスと通知が表示されます。" } }, - "es": { + "ko": { "stringUnit": { "state": "translated", - "value": "No se pudo cargar tu equipo de cmux. Comprueba tu conexión a internet e inténtalo de nuevo." + "value": "사이드바에 Pi 세션 상태와 알림이 표시됩니다." } }, - "zh-Hant": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "無法載入你的 cmux 團隊。請檢查網路連線,然後再試一次。" + "value": "侧边栏显示 Pi 会话状态和通知。" } }, - "ko": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "cmux 팀을 불러올 수 없습니다. 인터넷 연결을 확인한 후 다시 시도하세요." + "value": "側邊欄顯示 Pi 工作階段狀態和通知。" } }, "bs": { "stringUnit": { "state": "translated", - "value": "Nije moguće učitati vaš cmux tim. Provjerite internetsku vezu i pokušajte ponovo." + "value": "Bočna traka prikazuje status Pi sesije i obavijesti." } }, "da": { "stringUnit": { "state": "translated", - "value": "Din cmux-team kunne ikke indlæses. Kontrollér din internetforbindelse, og prøv igen." + "value": "Sidepanelet viser Pi-sessionens status og notifikationer." } }, "it": { "stringUnit": { "state": "translated", - "value": "Impossibile caricare il tuo team cmux. Controlla la connessione Internet e riprova." + "value": "La barra laterale mostra lo stato della sessione Pi e le notifiche." } }, "km": { "stringUnit": { "state": "translated", - "value": "មិនអាចផ្ទុកក្រុម cmux របស់អ្នកបានទេ។ សូមពិនិត្យការតភ្ជាប់អ៊ីនធឺណិត ហើយព្យាយាមម្ដងទៀត។" + "value": "របារចំហៀងបង្ហាញស្ថានភាពសម័យ Pi និងការជូនដំណឹង។" } }, "nb": { "stringUnit": { "state": "translated", - "value": "Kunne ikke laste inn cmux-teamet ditt. Kontroller internettilkoblingen, og prøv igjen." + "value": "Sidepanelet viser status og varsler for Pi-økten." } }, "pl": { "stringUnit": { "state": "translated", - "value": "Nie udało się załadować Twojego zespołu cmux. Sprawdź połączenie z internetem i spróbuj ponownie." + "value": "Pasek boczny pokazuje stan sesji Pi i powiadomienia." } }, "pt-BR": { "stringUnit": { "state": "translated", - "value": "Não foi possível carregar sua equipe cmux. Verifique sua conexão com a internet e tente novamente." + "value": "A barra lateral mostra o status da sessão do Pi e as notificações." } }, "ru": { "stringUnit": { "state": "translated", - "value": "Не удалось загрузить вашу команду cmux. Проверьте подключение к интернету и попробуйте ещё раз." + "value": "На боковой панели отображаются состояние сеанса Pi и уведомления." } }, "th": { "stringUnit": { "state": "translated", - "value": "ไม่สามารถโหลดทีม cmux ของคุณได้ ตรวจสอบการเชื่อมต่ออินเทอร์เน็ตแล้วลองอีกครั้ง" + "value": "แถบด้านข้างจะแสดงสถานะเซสชัน Pi และการแจ้งเตือน" } }, "tr": { "stringUnit": { "state": "translated", - "value": "cmux ekibiniz yüklenemedi. İnternet bağlantınızı kontrol edip tekrar deneyin." + "value": "Kenar çubuğu, Pi oturumunun durumunu ve bildirimleri gösterir." } }, "uk": { "stringUnit": { "state": "translated", - "value": "Не вдалося завантажити вашу команду cmux. Перевірте підключення до інтернету й спробуйте ще раз." + "value": "Бічна панель показує стан сеансу Pi та сповіщення." } } } }, - "command.newPaneAutoLayout.title": { + "settings.search.alias.setting.automation.pi": { "extractionState": "manual", "localizations": { - "ar": { + "en": { "stringUnit": { "state": "translated", - "value": "لوحة جديدة (تخطيط تلقائي)" + "value": "automation.piIntegration pi hooks agent integration status notifications" } }, - "bs": { + "ar": { "stringUnit": { "state": "translated", - "value": "Novi panel (automatski raspored)" + "value": "automation.piIntegration تكامل Pi خطافات وكيل حالة إشعارات" } }, - "da": { + "bs": { "stringUnit": { "state": "translated", - "value": "Nyt panel (automatisk layout)" + "value": "automation.piIntegration Pi kukice integracija agenta status obavijesti" } }, - "de": { + "da": { "stringUnit": { "state": "translated", - "value": "Neuer Bereich (automatisches Layout)" + "value": "automation.piIntegration Pi-hooks agentintegration status notifikationer" } }, - "en": { + "de": { "stringUnit": { "state": "translated", - "value": "New Pane (Auto Layout)" + "value": "automation.piIntegration Pi Hooks Agent Integration Status Benachrichtigungen" } }, "es": { "stringUnit": { "state": "translated", - "value": "Nuevo panel (diseño automático)" + "value": "automation.piIntegration Pi hooks integración de agente estado notificaciones" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Nouveau panneau (disposition automatique)" + "value": "automation.piIntegration Pi hooks intégration agent état notifications" } }, "it": { "stringUnit": { "state": "translated", - "value": "Nuovo pannello (layout automatico)" + "value": "automation.piIntegration hook Pi integrazione agente stato notifiche" } }, "ja": { "stringUnit": { "state": "translated", - "value": "新しいペイン(自動レイアウト)" + "value": "automation.piIntegration Pi フック エージェント連携 ステータス 通知" + } + }, + "km": { + "stringUnit": { + "state": "translated", + "value": "automation.piIntegration hooks Pi ការរួមបញ្ចូលភ្នាក់ងារ ស្ថានភាព ការជូនដំណឹង" } }, "ko": { "stringUnit": { "state": "translated", - "value": "새 패널 (자동 레이아웃)" + "value": "automation.piIntegration Pi 훅 에이전트 연동 상태 알림" } }, "nb": { "stringUnit": { "state": "translated", - "value": "Nytt panel (automatisk oppsett)" + "value": "automation.piIntegration Pi-hook agentintegrasjon status varsler" } }, "pl": { "stringUnit": { "state": "translated", - "value": "Nowy panel (układ automatyczny)" + "value": "automation.piIntegration hooki Pi integracja agenta stan powiadomienia" } }, "pt-BR": { "stringUnit": { "state": "translated", - "value": "Novo Painel (Layout Automático)" + "value": "automation.piIntegration hooks do Pi integração do agente status notificações" } }, "ru": { "stringUnit": { "state": "translated", - "value": "Новая панель (автоматическая раскладка)" + "value": "automation.piIntegration хуки Pi интеграция агента состояние уведомления" } }, "th": { "stringUnit": { "state": "translated", - "value": "บานหน้าต่างใหม่ (จัดวางอัตโนมัติ)" + "value": "automation.piIntegration hooks ของ Pi การผสานรวมเอเจนต์ สถานะ การแจ้งเตือน" } }, "tr": { "stringUnit": { "state": "translated", - "value": "Yeni Bölme (Otomatik Düzen)" + "value": "automation.piIntegration Pi kancaları aracı entegrasyonu durum bildirimler" } }, "uk": { "stringUnit": { "state": "translated", - "value": "Нова панель (автоматичне розташування)" + "value": "automation.piIntegration хуки Pi інтеграція агента стан сповіщення" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "新建窗格(自动布局)" + "value": "automation.piIntegration Pi 钩子 代理集成 状态 通知" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "新增窗格(自動佈局)" + "value": "automation.piIntegration Pi 掛鉤 代理程式整合 狀態 通知" } } } }, - "shortcut.newPaneAutoLayout.label": { + "cli.hooks.setup.wrapperNote": { "extractionState": "manual", "localizations": { - "ar": { + "en": { "stringUnit": { "state": "translated", - "value": "لوحة جديدة (تخطيط تلقائي)" + "value": " (Claude Code and Pi hooks are injected automatically via their cmux wrappers)" } }, - "bs": { + "ar": { "stringUnit": { "state": "translated", - "value": "Novi panel (automatski raspored)" + "value": " (يتم حقن خطافات Claude Code وPi تلقائيًا عبر أغلفة cmux)" } }, - "da": { + "bs": { "stringUnit": { "state": "translated", - "value": "Nyt panel (automatisk layout)" + "value": " (Claude Code i Pi kukice se automatski ubacuju putem cmux omotača)" } }, - "de": { + "da": { "stringUnit": { "state": "translated", - "value": "Neuer Bereich (automatisches Layout)" + "value": " (Claude Code- og Pi-hooks indsættes automatisk via deres cmux-wrappere)" } }, - "en": { + "de": { "stringUnit": { "state": "translated", - "value": "New Pane (Auto Layout)" + "value": " (Claude-Code- und Pi-Hooks werden automatisch über ihre cmux-Wrapper eingefügt)" } }, "es": { "stringUnit": { "state": "translated", - "value": "Nuevo panel (diseño automático)" + "value": " (Los hooks de Claude Code y Pi se inyectan automáticamente mediante sus wrappers de cmux)" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Nouveau panneau (disposition automatique)" + "value": " (Les hooks de Claude Code et Pi sont injectés automatiquement par leurs wrappers cmux)" } }, "it": { "stringUnit": { "state": "translated", - "value": "Nuovo pannello (layout automatico)" + "value": " (Gli hook di Claude Code e Pi vengono iniettati automaticamente tramite i rispettivi wrapper cmux)" } }, "ja": { "stringUnit": { "state": "translated", - "value": "新しいペイン(自動レイアウト)" + "value": " (Claude Code と Pi のフックは cmux ラッパーによって自動的に注入されます)" + } + }, + "km": { + "stringUnit": { + "state": "translated", + "value": " (hooks របស់ Claude Code និង Pi ត្រូវបានបញ្ចូលដោយស្វ័យប្រវត្តិតាមរយៈ wrapper របស់ cmux)" } }, "ko": { "stringUnit": { "state": "translated", - "value": "새 패널 (자동 레이아웃)" + "value": " (Claude Code 및 Pi 훅은 cmux 래퍼를 통해 자동으로 주입됩니다)" } }, "nb": { "stringUnit": { "state": "translated", - "value": "Nytt panel (automatisk oppsett)" + "value": " (Claude Code- og Pi-hooker settes inn automatisk via cmux-innpakningene)" } }, "pl": { "stringUnit": { "state": "translated", - "value": "Nowy panel (układ automatyczny)" + "value": " (Hooki Claude Code i Pi są automatycznie wstrzykiwane przez ich opakowania cmux)" } }, "pt-BR": { "stringUnit": { "state": "translated", - "value": "Novo Painel (Layout Automático)" + "value": " (Os hooks do Claude Code e do Pi são injetados automaticamente pelos respectivos wrappers do cmux)" } }, "ru": { "stringUnit": { "state": "translated", - "value": "Новая панель (автоматическая раскладка)" + "value": " (Хуки Claude Code и Pi автоматически внедряются их оболочками cmux)" } }, "th": { "stringUnit": { "state": "translated", - "value": "บานหน้าต่างใหม่ (จัดวางอัตโนมัติ)" + "value": " (hooks ของ Claude Code และ Pi จะถูกฉีดโดยอัตโนมัติผ่าน wrapper ของ cmux)" } }, "tr": { "stringUnit": { "state": "translated", - "value": "Yeni Bölme (Otomatik Düzen)" + "value": " (Claude Code ve Pi kancaları, cmux sarmalayıcıları aracılığıyla otomatik olarak eklenir)" } }, "uk": { "stringUnit": { "state": "translated", - "value": "Нова панель (автоматичне розташування)" + "value": " (Хуки Claude Code і Pi автоматично додаються їхніми обгортками cmux)" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "新建窗格(自动布局)" + "value": " (Claude Code 和 Pi 的钩子会通过各自的 cmux 包装器自动注入)" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "新增窗格(自動佈局)" + "value": " (Claude Code 和 Pi 的掛鉤會透過各自的 cmux 包裝器自動注入)" } } } }, - "socket.terminal.notRunning.awaitingRestore": { + "shortcut.sizeTerminalToMyWindow.label": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "cmux is still restoring the terminal after it reopened and is checking which agent session to resume. Retry in a few seconds." + "value": "Size Terminal to My Window" } }, "ar": { "stringUnit": { "state": "translated", - "value": "لا يزال cmux يستعيد الطرفية بعد إعادة فتحه ويتحقق من جلسة الوكيل التي يجب استئنافها. أعد المحاولة بعد بضع ثوانٍ." + "value": "ضبط حجم الطرفية على نافذتي" } }, "de": { "stringUnit": { "state": "translated", - "value": "cmux stellt das Terminal nach dem erneuten Öffnen noch wieder her und prüft, welche Agent-Sitzung fortgesetzt werden soll. Versuche es in ein paar Sekunden erneut." + "value": "Terminal an mein Fenster anpassen" } }, "es": { "stringUnit": { "state": "translated", - "value": "cmux todavía está restaurando la terminal después de volver a abrirse y comprueba qué sesión de agente reanudar. Vuelve a intentarlo en unos segundos." + "value": "Ajustar la terminal a mi ventana" } }, "fr": { "stringUnit": { "state": "translated", - "value": "cmux restaure encore le terminal après sa réouverture et vérifie quelle session d’agent reprendre. Réessayez dans quelques secondes." + "value": "Adapter le terminal à ma fenêtre" } }, "ja": { "stringUnit": { "state": "translated", - "value": "cmux は再起動後にターミナルを復元中で、再開するエージェントセッションを確認しています。数秒後に再試行してください。" + "value": "ターミナルを自分のウィンドウに合わせる" } }, "ko": { "stringUnit": { "state": "translated", - "value": "cmux가 다시 열린 후 터미널을 아직 복원하는 중이며 어떤 에이전트 세션을 재개할지 확인하고 있습니다. 몇 초 후에 다시 시도하세요." + "value": "터미널을 내 창 크기에 맞추기" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "cmux 重新打开后仍在恢复此终端,并确认要恢复哪个代理会话。请几秒后重试。" + "value": "让终端适配我的窗口" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "cmux 重新開啟後仍在還原此終端機,並確認要恢復哪個代理工作階段。請幾秒後再試。" - } - }, - "bs": { - "stringUnit": { - "state": "translated", - "value": "cmux još vraća terminal nakon ponovnog otvaranja i provjerava koju sesiju agenta treba nastaviti. Pokušajte ponovo za nekoliko sekundi." - } - }, - "da": { - "stringUnit": { - "state": "translated", - "value": "cmux gendanner stadig terminalen efter genåbning og tjekker, hvilken agentsession der skal genoptages. Prøv igen om et par sekunder." - } - }, - "it": { - "stringUnit": { - "state": "translated", - "value": "cmux sta ancora ripristinando il terminale dopo la riapertura e verifica quale sessione dell’agente riprendere. Riprova tra qualche secondo." - } - }, - "km": { - "stringUnit": { - "state": "translated", - "value": "cmux នៅតែកំពុងស្ដារទែមីណាល់ឡើងវិញ បន្ទាប់ពីបើកម្ដងទៀត ហើយកំពុងពិនិត្យមើលថាត្រូវបន្តវគ្គភ្នាក់ងារមួយណា។ សូមព្យាយាមម្ដងទៀតក្នុងរយៈពេលពីរបីវិនាទី។" - } - }, - "nb": { - "stringUnit": { - "state": "translated", - "value": "cmux gjenoppretter fortsatt terminalen etter at den ble åpnet på nytt, og sjekker hvilken agentøkt som skal gjenopptas. Prøv igjen om noen sekunder." - } - }, - "pl": { - "stringUnit": { - "state": "translated", - "value": "cmux wciąż przywraca terminal po ponownym otwarciu i sprawdza, którą sesję agenta wznowić. Spróbuj ponownie za kilka sekund." - } - }, - "pt-BR": { - "stringUnit": { - "state": "translated", - "value": "O cmux ainda está restaurando o terminal após ser reaberto e verificando qual sessão do agente retomar. Tente novamente em alguns segundos." - } - }, - "ru": { - "stringUnit": { - "state": "translated", - "value": "cmux ещё восстанавливает терминал после повторного открытия и проверяет, какой сеанс агента возобновить. Повторите попытку через несколько секунд." - } - }, - "th": { - "stringUnit": { - "state": "translated", - "value": "cmux ยังคงกู้คืนเทอร์มินัลหลังจากเปิดใหม่ และกำลังตรวจสอบว่าจะทำเซสชันเอเจนต์ใดต่อ ลองอีกครั้งในอีกไม่กี่วินาที" - } - }, - "tr": { - "stringUnit": { - "state": "translated", - "value": "cmux yeniden açıldıktan sonra terminali hâlâ geri yüklüyor ve hangi ajan oturumunun sürdürüleceğini denetliyor. Birkaç saniye sonra yeniden deneyin." - } - }, - "uk": { - "stringUnit": { - "state": "translated", - "value": "cmux ще відновлює термінал після повторного відкриття та перевіряє, який сеанс агента відновити. Спробуйте ще раз за кілька секунд." + "value": "讓終端機符合我的視窗大小" } } } }, - "socket.terminal.notRunning.closing": { + "command.terminalDisconnectOtherClients.title": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "The terminal is closing and cannot be read." + "value": "Disconnect Other Terminal Clients…" } }, "ar": { "stringUnit": { "state": "translated", - "value": "الطرفية قيد الإغلاق ولا يمكن قراءتها." + "value": "قطع اتصال عملاء الطرفية الآخرين…" } }, "de": { "stringUnit": { "state": "translated", - "value": "Das Terminal wird geschlossen und kann nicht gelesen werden." + "value": "Andere Terminal-Clients trennen…" } }, "es": { "stringUnit": { "state": "translated", - "value": "La terminal se está cerrando y no se puede leer." + "value": "Desconectar otros clientes de la terminal…" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Le terminal est en cours de fermeture et ne peut pas être lu." + "value": "Déconnecter les autres clients du terminal…" } }, "ja": { "stringUnit": { "state": "translated", - "value": "ターミナルは閉じられているため読み取れません。" + "value": "他のターミナルクライアントを切断…" } }, "ko": { "stringUnit": { "state": "translated", - "value": "터미널이 닫히는 중이라 읽을 수 없습니다." + "value": "다른 터미널 클라이언트 연결 끊기…" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "此终端正在关闭,无法读取。" + "value": "断开其他终端客户端…" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "此終端機正在關閉,無法讀取。" - } - }, - "bs": { - "stringUnit": { - "state": "translated", - "value": "Terminal se zatvara i ne može se pročitati." - } - }, - "da": { - "stringUnit": { - "state": "translated", - "value": "Terminalen lukkes og kan ikke læses." - } - }, - "it": { - "stringUnit": { - "state": "translated", - "value": "Il terminale si sta chiudendo e non può essere letto." - } - }, - "km": { - "stringUnit": { - "state": "translated", - "value": "ទែមីណាល់កំពុងបិទ ហើយមិនអាចអានបានទេ។" - } - }, - "nb": { - "stringUnit": { - "state": "translated", - "value": "Terminalen lukkes og kan ikke leses." - } - }, - "pl": { - "stringUnit": { - "state": "translated", - "value": "Terminal jest zamykany i nie można go odczytać." - } - }, - "pt-BR": { - "stringUnit": { - "state": "translated", - "value": "O terminal está sendo fechado e não pode ser lido." - } - }, - "ru": { - "stringUnit": { - "state": "translated", - "value": "Терминал закрывается, и его нельзя прочитать." - } - }, - "th": { - "stringUnit": { - "state": "translated", - "value": "เทอร์มินัลกำลังปิดและไม่สามารถอ่านได้" - } - }, - "tr": { - "stringUnit": { - "state": "translated", - "value": "Terminal kapanıyor ve okunamıyor." - } - }, - "uk": { - "stringUnit": { - "state": "translated", - "value": "Термінал закривається, і його не можна прочитати." + "value": "中斷其他終端機用戶端的連線…" } } } }, - "socket.terminal.notRunning.hibernated": { + "command.terminalShowSizePanel.title": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "The terminal is hibernated: cmux suspended its idle agent to save memory. Wake it by showing it (this brings its window to the front), then retry: %@" + "value": "Show Terminal Size Panel" } }, "ar": { "stringUnit": { "state": "translated", - "value": "الطرفية في وضع السبات: أوقف cmux وكيلها الخامل مؤقتًا لتوفير الذاكرة. أيقظها بعرضها (يؤدي ذلك إلى إحضار نافذتها إلى المقدمة)، ثم أعد المحاولة: %@" + "value": "إظهار لوحة حجم الطرفية" } }, "de": { "stringUnit": { "state": "translated", - "value": "Das Terminal ruht: cmux hat seinen inaktiven Agenten angehalten, um Speicher zu sparen. Wecke es, indem du es anzeigst (dadurch kommt sein Fenster in den Vordergrund), und versuche es dann erneut: %@" + "value": "Terminalgrößen-Bereich anzeigen" } }, "es": { "stringUnit": { "state": "translated", - "value": "La terminal está hibernada: cmux suspendió su agente inactivo para ahorrar memoria. Despiértala mostrándola (esto trae su ventana al frente) y vuelve a intentarlo: %@" + "value": "Mostrar el panel de tamaño de la terminal" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Le terminal est en veille : cmux a suspendu son agent inactif pour économiser de la mémoire. Réveillez-le en l’affichant (sa fenêtre passe au premier plan), puis réessayez : %@" + "value": "Afficher le panneau de taille du terminal" } }, "ja": { "stringUnit": { "state": "translated", - "value": "ターミナルは休止中です。cmux がメモリ節約のためアイドル状態のエージェントを停止しました。表示すると再開します(ウィンドウが前面に出ます)。その後、再試行してください: %@" + "value": "ターミナルサイズパネルを表示" } }, "ko": { "stringUnit": { "state": "translated", - "value": "터미널이 최대 절전 상태입니다. cmux가 메모리를 절약하려고 유휴 에이전트를 일시 중단했습니다. 터미널을 표시해 깨운 후(창이 앞으로 옵니다) 다시 시도하세요: %@" + "value": "터미널 크기 패널 보기" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "此终端已休眠:cmux 暂停了其空闲的代理以节省内存。显示它即可唤醒(这会将其窗口带到最前面),然后重试:%@" + "value": "显示终端大小面板" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "此終端機已休眠:cmux 暫停了其閒置的代理以節省記憶體。顯示它即可喚醒(這會將其視窗帶到最前面),然後再試一次:%@" - } - }, - "bs": { - "stringUnit": { - "state": "translated", - "value": "Terminal je u hibernaciji: cmux je pauzirao njegovog neaktivnog agenta radi uštede memorije. Probudite ga tako što ćete ga prikazati (njegov prozor prelazi u prvi plan), pa pokušajte ponovo: %@" - } - }, - "da": { - "stringUnit": { - "state": "translated", - "value": "Terminalen er i dvale: cmux har sat dens inaktive agent på pause for at spare hukommelse. Væk den ved at vise den (dens vindue kommer forrest), og prøv igen: %@" - } - }, - "it": { - "stringUnit": { - "state": "translated", - "value": "Il terminale è ibernato: cmux ha sospeso il suo agente inattivo per risparmiare memoria. Riattivalo mostrandolo (la sua finestra passa in primo piano), quindi riprova: %@" - } - }, - "km": { - "stringUnit": { - "state": "translated", - "value": "ទែមីណាល់កំពុងសម្រាក៖ cmux បានផ្អាកភ្នាក់ងារដែលទំនេររបស់វា ដើម្បីសន្សំអង្គចងចាំ។ ដាស់វាដោយបង្ហាញវា (បង្អួចរបស់វានឹងមកខាងមុខ) រួចព្យាយាមម្ដងទៀត៖ %@" - } - }, - "nb": { - "stringUnit": { - "state": "translated", - "value": "Terminalen er i dvale: cmux har satt den inaktive agenten på pause for å spare minne. Vekk den ved å vise den (vinduet kommer i forgrunnen), og prøv igjen: %@" - } - }, - "pl": { - "stringUnit": { - "state": "translated", - "value": "Terminal jest uśpiony: cmux wstrzymał jego bezczynnego agenta, aby oszczędzić pamięć. Wybudź go, wyświetlając go (jego okno przejdzie na pierwszy plan), a potem spróbuj ponownie: %@" - } - }, - "pt-BR": { - "stringUnit": { - "state": "translated", - "value": "O terminal está hibernado: o cmux suspendeu o agente ocioso para economizar memória. Desperte-o exibindo-o (a janela vem para a frente) e tente novamente: %@" - } - }, - "ru": { - "stringUnit": { - "state": "translated", - "value": "Терминал в спящем режиме: cmux приостановил неактивного агента, чтобы сэкономить память. Разбудите его, показав терминал (его окно выйдет на передний план), и повторите попытку: %@" - } - }, - "th": { - "stringUnit": { - "state": "translated", - "value": "เทอร์มินัลอยู่ในโหมดพัก: cmux หยุดเอเจนต์ที่ไม่ได้ใช้งานชั่วคราวเพื่อประหยัดหน่วยความจำ ปลุกโดยแสดงเทอร์มินัล (หน้าต่างจะมาอยู่ด้านหน้า) แล้วลองอีกครั้ง: %@" - } - }, - "tr": { - "stringUnit": { - "state": "translated", - "value": "Terminal hazırda bekliyor: cmux bellek tasarrufu için boştaki ajanını askıya aldı. Onu göstererek uyandırın (penceresi öne gelir), ardından yeniden deneyin: %@" - } - }, - "uk": { - "stringUnit": { - "state": "translated", - "value": "Термінал у режимі сну: cmux призупинив неактивного агента, щоб заощадити пам’ять. Розбудіть його, показавши термінал (його вікно перейде на передній план), і спробуйте ще раз: %@" + "value": "顯示終端機大小面板" } } } }, - "socket.terminal.notRunning.hibernatedNoCommand": { + "command.terminalSizeToMyWindow.title": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "The terminal is hibernated: cmux suspended its idle agent to save memory. Show the terminal in cmux to wake it, then retry." + "value": "Size Terminal to My Window" } }, "ar": { "stringUnit": { "state": "translated", - "value": "الطرفية في وضع السبات: أوقف cmux وكيلها الخامل مؤقتًا لتوفير الذاكرة. اعرض الطرفية في cmux لإيقاظها، ثم أعد المحاولة." + "value": "ضبط حجم الطرفية على نافذتي" } }, "de": { "stringUnit": { "state": "translated", - "value": "Das Terminal ruht: cmux hat seinen inaktiven Agenten angehalten, um Speicher zu sparen. Zeige das Terminal in cmux an, um es zu wecken, und versuche es dann erneut." + "value": "Terminal an mein Fenster anpassen" } }, "es": { "stringUnit": { "state": "translated", - "value": "La terminal está hibernada: cmux suspendió su agente inactivo para ahorrar memoria. Muestra la terminal en cmux para despertarla y vuelve a intentarlo." + "value": "Ajustar la terminal a mi ventana" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Le terminal est en veille : cmux a suspendu son agent inactif pour économiser de la mémoire. Affichez le terminal dans cmux pour le réveiller, puis réessayez." + "value": "Adapter le terminal à ma fenêtre" } }, "ja": { "stringUnit": { "state": "translated", - "value": "ターミナルは休止中です。cmux がメモリ節約のためアイドル状態のエージェントを停止しました。cmux でターミナルを表示して再開してから、再試行してください。" + "value": "ターミナルを自分のウィンドウに合わせる" } }, "ko": { "stringUnit": { "state": "translated", - "value": "터미널이 최대 절전 상태입니다. cmux가 메모리를 절약하려고 유휴 에이전트를 일시 중단했습니다. cmux에서 터미널을 표시해 깨운 후 다시 시도하세요." + "value": "터미널을 내 창 크기에 맞추기" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "此终端已休眠:cmux 暂停了其空闲的代理以节省内存。请在 cmux 中显示此终端以唤醒它,然后重试。" + "value": "让终端适配我的窗口" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "此終端機已休眠:cmux 暫停了其閒置的代理以節省記憶體。請在 cmux 中顯示此終端機以喚醒它,然後再試一次。" - } - }, - "bs": { - "stringUnit": { - "state": "translated", - "value": "Terminal je u hibernaciji: cmux je pauzirao njegovog neaktivnog agenta radi uštede memorije. Prikažite terminal u cmuxu da ga probudite, pa pokušajte ponovo." - } - }, - "da": { - "stringUnit": { - "state": "translated", - "value": "Terminalen er i dvale: cmux har sat dens inaktive agent på pause for at spare hukommelse. Vis terminalen i cmux for at vække den, og prøv igen." + "value": "讓終端機符合我的視窗大小" } - }, - "it": { + } + } + }, + "terminalSharing.detached.hostShutdown": { + "extractionState": "manual", + "localizations": { + "en": { "stringUnit": { "state": "translated", - "value": "Il terminale è ibernato: cmux ha sospeso il suo agente inattivo per risparmiare memoria. Mostra il terminale in cmux per riattivarlo, quindi riprova." + "value": "The terminal host shut down at %@." } }, - "km": { + "ar": { "stringUnit": { "state": "translated", - "value": "ទែមីណាល់កំពុងសម្រាក៖ cmux បានផ្អាកភ្នាក់ងារដែលទំនេររបស់វា ដើម្បីសន្សំអង្គចងចាំ។ បង្ហាញទែមីណាល់នៅក្នុង cmux ដើម្បីដាស់វា រួចព្យាយាមម្ដងទៀត។" + "value": "توقف مضيف الطرفية في %@." } }, - "nb": { + "de": { "stringUnit": { "state": "translated", - "value": "Terminalen er i dvale: cmux har satt den inaktive agenten på pause for å spare minne. Vis terminalen i cmux for å vekke den, og prøv igjen." + "value": "Der Terminal-Host wurde um %@ beendet." } }, - "pl": { + "es": { "stringUnit": { "state": "translated", - "value": "Terminal jest uśpiony: cmux wstrzymał jego bezczynnego agenta, aby oszczędzić pamięć. Wyświetl terminal w cmux, aby go wybudzić, a potem spróbuj ponownie." + "value": "El host de la terminal se detuvo a las %@." } }, - "pt-BR": { + "fr": { "stringUnit": { "state": "translated", - "value": "O terminal está hibernado: o cmux suspendeu o agente ocioso para economizar memória. Mostre o terminal no cmux para despertá-lo e tente novamente." + "value": "L’hôte du terminal s’est arrêté à %@." } }, - "ru": { + "ja": { "stringUnit": { "state": "translated", - "value": "Терминал в спящем режиме: cmux приостановил неактивного агента, чтобы сэкономить память. Покажите терминал в cmux, чтобы разбудить его, и повторите попытку." + "value": "ターミナルホストが %@ に終了しました。" } }, - "th": { + "ko": { "stringUnit": { "state": "translated", - "value": "เทอร์มินัลอยู่ในโหมดพัก: cmux หยุดเอเจนต์ที่ไม่ได้ใช้งานชั่วคราวเพื่อประหยัดหน่วยความจำ แสดงเทอร์มินัลใน cmux เพื่อปลุก แล้วลองอีกครั้ง" + "value": "터미널 호스트가 %@에 종료되었습니다." } }, - "tr": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "Terminal hazırda bekliyor: cmux bellek tasarrufu için boştaki ajanını askıya aldı. Uyandırmak için terminali cmux'ta gösterin, ardından yeniden deneyin." + "value": "终端主机已于 %@ 关闭。" } }, - "uk": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "Термінал у режимі сну: cmux призупинив неактивного агента, щоб заощадити пам’ять. Покажіть термінал у cmux, щоб розбудити його, і спробуйте ще раз." + "value": "終端機主機已於 %@ 關閉。" } } } }, - "socket.terminal.notRunning.starting": { + "terminalSharing.detached.network": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "The terminal has not started yet. Retry in a few seconds." + "value": "The network dropped." } }, "ar": { "stringUnit": { "state": "translated", - "value": "لم تبدأ الطرفية بعد. أعد المحاولة بعد بضع ثوانٍ." + "value": "انقطع اتصال الشبكة." } }, "de": { "stringUnit": { "state": "translated", - "value": "Das Terminal wurde noch nicht gestartet. Versuche es in ein paar Sekunden erneut." + "value": "Die Netzwerkverbindung wurde unterbrochen." } }, "es": { "stringUnit": { "state": "translated", - "value": "La terminal aún no se ha iniciado. Vuelve a intentarlo en unos segundos." + "value": "Se perdió la conexión de red." } }, "fr": { "stringUnit": { "state": "translated", - "value": "Le terminal n’a pas encore démarré. Réessayez dans quelques secondes." + "value": "La connexion réseau a été interrompue." } }, "ja": { "stringUnit": { "state": "translated", - "value": "ターミナルはまだ起動していません。数秒後に再試行してください。" + "value": "ネットワーク接続が切れました。" } }, "ko": { "stringUnit": { "state": "translated", - "value": "터미널이 아직 시작되지 않았습니다. 몇 초 후에 다시 시도하세요." + "value": "네트워크 연결이 끊어졌습니다." } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "此终端尚未启动。请几秒后重试。" + "value": "网络连接已中断。" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "此終端機尚未啟動。請幾秒後再試。" - } - }, - "bs": { - "stringUnit": { - "state": "translated", - "value": "Terminal se još nije pokrenuo. Pokušajte ponovo za nekoliko sekundi." - } - }, - "da": { - "stringUnit": { - "state": "translated", - "value": "Terminalen er ikke startet endnu. Prøv igen om et par sekunder." + "value": "網路連線中斷。" } - }, - "it": { + } + } + }, + "terminalSharing.detached.reattach": { + "extractionState": "manual", + "localizations": { + "en": { "stringUnit": { "state": "translated", - "value": "Il terminale non è ancora stato avviato. Riprova tra qualche secondo." + "value": "Reattach" } }, - "km": { + "ar": { "stringUnit": { "state": "translated", - "value": "ទែមីណាល់មិនទាន់បានចាប់ផ្តើមនៅឡើយទេ។ សូមព្យាយាមម្ដងទៀតក្នុងរយៈពេលពីរបីវិនាទី។" + "value": "إعادة الإرفاق" } }, - "nb": { + "de": { "stringUnit": { "state": "translated", - "value": "Terminalen har ikke startet ennå. Prøv igjen om noen sekunder." + "value": "Erneut verbinden" } }, - "pl": { + "es": { "stringUnit": { "state": "translated", - "value": "Terminal jeszcze się nie uruchomił. Spróbuj ponownie za kilka sekund." + "value": "Volver a conectar" } }, - "pt-BR": { + "fr": { "stringUnit": { "state": "translated", - "value": "O terminal ainda não foi iniciado. Tente novamente em alguns segundos." + "value": "Se reconnecter" } }, - "ru": { + "ja": { "stringUnit": { "state": "translated", - "value": "Терминал ещё не запущен. Повторите попытку через несколько секунд." + "value": "再接続" } }, - "th": { + "ko": { "stringUnit": { "state": "translated", - "value": "เทอร์มินัลยังไม่ได้เริ่มทำงาน ลองอีกครั้งในอีกไม่กี่วินาที" + "value": "다시 연결" } }, - "tr": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "Terminal henüz başlamadı. Birkaç saniye sonra yeniden deneyin." + "value": "重新连接" } }, - "uk": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "Термінал ще не запущено. Спробуйте ще раз за кілька секунд." + "value": "重新連接" } } } }, - "cli.restoreSession.help": { + "terminalSharing.detached.reattachAsViewer": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Usage: cmux restore-session\n cmux restore-session --from <stable|nightly|rc|staging|debug:<tag>|path>\n cmux restore-session --export <path> [--force]\n\nReopen the previous saved cmux session.\n\nIf the app is already running, this restores the last saved session into the current app.\nIf the app is not running, this launches cmux and lets startup restore reopen the saved session.\n\nEach cmux install (stable, nightly, rc, staging, tagged debug builds) saves its own session.\n--from <channel> Reopen another install's saved session in this running cmux, for example\n after trying nightly and switching back to stable. The session opens as\n additional windows; the other install's saved file is only read.\n--from <path> Reopen a session file written by --export.\n--export <path> Write this cmux's saved session to a file. Pass --force to replace an\n existing file.\n\n--from and --export require cmux to be running." + "value": "Reattach as Viewer" } }, - "de": { + "ar": { "stringUnit": { "state": "translated", - "value": "Verwendung: cmux restore-session\n cmux restore-session --from <stable|nightly|rc|staging|debug:<tag>|path>\n cmux restore-session --export <path> [--force]\n\nDie zuletzt gespeicherte cmux-Sitzung erneut öffnen.\n\nLäuft die App bereits, wird die zuletzt gespeicherte Sitzung in der aktuellen App wiederhergestellt.\nLäuft die App nicht, wird cmux gestartet und die gespeicherte Sitzung beim Start wiederhergestellt.\n\nJede cmux-Installation (stable, nightly, rc, staging, getaggte Debug-Builds) speichert ihre eigene Sitzung.\n--from <channel> Die gespeicherte Sitzung einer anderen Installation in diesem laufenden cmux öffnen,\n z. B. nachdem Sie nightly ausprobiert haben und zu stable zurückkehren. Die Sitzung\n öffnet sich in zusätzlichen Fenstern; die Datei der anderen Installation wird nur gelesen.\n--from <path> Eine mit --export geschriebene Sitzungsdatei öffnen.\n--export <path> Die gespeicherte Sitzung dieses cmux in eine Datei schreiben. Mit --force wird eine\n vorhandene Datei ersetzt.\n\n--from und --export setzen ein laufendes cmux voraus." + "value": "إعادة الإرفاق كمشاهد" } }, - "fr": { + "de": { "stringUnit": { "state": "translated", - "value": "Utilisation : cmux restore-session\n cmux restore-session --from <stable|nightly|rc|staging|debug:<tag>|path>\n cmux restore-session --export <path> [--force]\n\nRouvrir la dernière session cmux enregistrée.\n\nSi l'app est déjà ouverte, la dernière session enregistrée est restaurée dans l'app actuelle.\nSi l'app n'est pas ouverte, cmux est lancé et la restauration au démarrage rouvre la session enregistrée.\n\nChaque installation de cmux (stable, nightly, rc, staging, builds debug avec tag) enregistre sa propre session.\n--from <channel> Rouvrir la session enregistrée d'une autre installation dans ce cmux en cours, par exemple\n après avoir essayé nightly puis être revenu à stable. La session s'ouvre dans des fenêtres\n supplémentaires ; le fichier de l'autre installation est seulement lu.\n--from <path> Rouvrir un fichier de session écrit par --export.\n--export <path> Écrire la session enregistrée de ce cmux dans un fichier. Ajoutez --force pour remplacer\n un fichier existant.\n\n--from et --export nécessitent que cmux soit ouvert." + "value": "Als Zuschauer erneut verbinden" } }, "es": { "stringUnit": { "state": "translated", - "value": "Uso: cmux restore-session\n cmux restore-session --from <stable|nightly|rc|staging|debug:<tag>|path>\n cmux restore-session --export <path> [--force]\n\nVuelve a abrir la última sesión guardada de cmux.\n\nSi la app ya está abierta, restaura la última sesión guardada en la app actual.\nSi la app no está abierta, inicia cmux y deja que la restauración de inicio vuelva a abrir la sesión guardada.\n\nCada instalación de cmux (stable, nightly, rc, staging, builds de depuración con etiqueta) guarda su propia sesión.\n--from <channel> Abre en este cmux la sesión guardada de otra instalación, por ejemplo después de\n probar nightly y volver a stable. La sesión se abre en ventanas adicionales; el archivo\n de la otra instalación solo se lee.\n--from <path> Abre un archivo de sesión escrito con --export.\n--export <path> Escribe en un archivo la sesión guardada de este cmux. Usa --force para reemplazar un\n archivo existente.\n\n--from y --export requieren que cmux esté abierto." + "value": "Volver a conectar como espectador" } }, - "ja": { + "fr": { "stringUnit": { "state": "translated", - "value": "使い方: cmux restore-session\n cmux restore-session --from <stable|nightly|rc|staging|debug:<tag>|path>\n cmux restore-session --export <path> [--force]\n\n前回保存した cmux セッションを再度開きます。\n\nアプリがすでに起動している場合は、最後に保存したセッションを現在のアプリに復元します。\nアプリが起動していない場合は、cmux を起動し、起動時の復元で保存済みセッションを開きます。\n\ncmux の各インストール(stable、nightly、rc、staging、タグ付き debug ビルド)はそれぞれ独自のセッションを保存します。\n--from <channel> 別のインストールで保存したセッションを、起動中のこの cmux で開きます。たとえば nightly を\n 試したあと stable に戻る場合に使います。セッションは追加のウインドウとして開き、別の\n インストールのファイルは読み取るだけです。\n--from <path> --export で書き出したセッションファイルを開きます。\n--export <path> この cmux の保存済みセッションをファイルに書き出します。既存のファイルを置き換えるには\n --force を指定します。\n\n--from と --export を使うには cmux が起動している必要があります。" + "value": "Se reconnecter en lecture seule" } }, - "ar": { + "ja": { "stringUnit": { "state": "translated", - "value": "الاستخدام: cmux restore-session\n cmux restore-session --from <stable|nightly|rc|staging|debug:<tag>|path>\n cmux restore-session --export <path> [--force]\n\nأعد فتح آخر جلسة cmux محفوظة.\n\nإذا كان التطبيق يعمل بالفعل، فستُستعاد آخر جلسة محفوظة في التطبيق الحالي.\nإذا لم يكن التطبيق يعمل، فسيُشغَّل cmux وتعيد استعادة بدء التشغيل فتح الجلسة المحفوظة.\n\nيحفظ كل تثبيت من cmux (stable وnightly وrc وstaging وإصدارات debug الموسومة) جلسته الخاصة.\n--from <channel> افتح الجلسة المحفوظة لتثبيت آخر في cmux الذي يعمل الآن، مثلًا\n بعد تجربة nightly والعودة إلى stable. تُفتح الجلسة في\n نوافذ إضافية، ويُقرأ ملف التثبيت الآخر فقط.\n--from <path> افتح ملف جلسة كتبه الأمر --export.\n--export <path> اكتب الجلسة المحفوظة لهذا cmux في ملف. استخدم --force لاستبدال\n ملف موجود.\n\nيتطلب --from و--export أن يكون cmux قيد التشغيل." + "value": "閲覧者として再接続" } }, - "zh-Hant": { + "ko": { "stringUnit": { "state": "translated", - "value": "用法: cmux restore-session\n cmux restore-session --from <stable|nightly|rc|staging|debug:<tag>|path>\n cmux restore-session --export <path> [--force]\n\n重新開啟上次儲存的 cmux 工作階段。\n\n如果 App 已在執行,會將上次儲存的工作階段還原到目前的 App 中。\n如果 App 未執行,會啟動 cmux,並由啟動還原重新開啟已儲存的工作階段。\n\n每個 cmux 安裝(stable、nightly、rc、staging、帶標籤的 debug 建置)都會儲存自己的工作階段。\n--from <channel> 在執行中的 cmux 開啟另一個安裝儲存的工作階段,例如\n 試用 nightly 後切回 stable。工作階段會以\n 額外視窗開啟;另一個安裝的檔案只會被讀取。\n--from <path> 開啟由 --export 寫出的工作階段檔案。\n--export <path> 將此 cmux 儲存的工作階段寫入檔案。使用 --force 可取代\n 既有檔案。\n\n--from 和 --export 需要 cmux 正在執行。" + "value": "보기 전용으로 다시 연결" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "用法: cmux restore-session\n cmux restore-session --from <stable|nightly|rc|staging|debug:<tag>|path>\n cmux restore-session --export <path> [--force]\n\n重新打开上次保存的 cmux 会话。\n\n如果应用已在运行,会将上次保存的会话恢复到当前应用中。\n如果应用未运行,会启动 cmux,并由启动恢复重新打开保存的会话。\n\n每个 cmux 安装(stable、nightly、rc、staging、带标签的 debug 构建)都会保存自己的会话。\n--from <channel> 在正在运行的 cmux 中打开另一个安装保存的会话,例如\n 试用 nightly 后切回 stable。会话会以\n 额外窗口打开;另一个安装的会话文件只会被读取。\n--from <path> 打开由 --export 写出的会话文件。\n--export <path> 将此 cmux 保存的会话写入文件。使用 --force 可替换\n 已有文件。\n\n--from 和 --export 需要 cmux 正在运行。" + "value": "以查看者身份重新连接" } }, - "ko": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "사용법: cmux restore-session\n cmux restore-session --from <stable|nightly|rc|staging|debug:<tag>|path>\n cmux restore-session --export <path> [--force]\n\n마지막으로 저장된 cmux 세션을 다시 엽니다.\n\n앱이 이미 실행 중이면 마지막으로 저장된 세션을 현재 앱에 복원합니다.\n앱이 실행 중이 아니면 cmux를 실행하고 시작 복원이 저장된 세션을 다시 열도록 합니다.\n\n각 cmux 설치(stable, nightly, rc, staging, 태그가 지정된 debug 빌드)는 자체 세션을 저장합니다.\n--from <channel> 다른 설치에 저장된 세션을 실행 중인 이 cmux에서 엽니다. 예를 들어\n nightly를 사용해 본 뒤 stable로 돌아올 때 사용합니다. 세션은\n 추가 창으로 열리며, 다른 설치의 파일은 읽기만 합니다.\n--from <path> --export로 작성한 세션 파일을 엽니다.\n--export <path> 이 cmux에 저장된 세션을 파일로 씁니다. 기존 파일을 바꾸려면\n --force를 사용하세요.\n\n--from과 --export를 사용하려면 cmux가 실행 중이어야 합니다." + "value": "以檢視者身分重新連接" } } } }, - "session.export.error.destinationExists": { + "terminalSharing.detached.reattachAsViewer.help": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "%@ already exists. Pass --force to replace it." + "value": "Reattach without changing the terminal size" } }, "ar": { "stringUnit": { "state": "translated", - "value": "%@ موجود بالفعل. استخدم --force لاستبداله." + "value": "إعادة الإرفاق دون تغيير حجم الطرفية" } }, "de": { "stringUnit": { "state": "translated", - "value": "%@ ist bereits vorhanden. Verwenden Sie --force, um die Datei zu ersetzen." + "value": "Erneut verbinden, ohne die Terminalgröße zu ändern" } }, "es": { "stringUnit": { "state": "translated", - "value": "%@ ya existe. Usa --force para reemplazarlo." + "value": "Volver a conectar sin cambiar el tamaño de la terminal" } }, "fr": { "stringUnit": { "state": "translated", - "value": "%@ existe déjà. Ajoutez --force pour le remplacer." + "value": "Se reconnecter sans modifier la taille du terminal" } }, "ja": { "stringUnit": { "state": "translated", - "value": "%@ はすでに存在します。置き換えるには --force を指定してください。" + "value": "ターミナルサイズを変えずに再接続" } }, "ko": { "stringUnit": { "state": "translated", - "value": "%@ 파일이 이미 있습니다. 바꾸려면 --force를 사용하세요." + "value": "터미널 크기를 바꾸지 않고 다시 연결" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "%@ 已存在。使用 --force 以替换它。" + "value": "重新连接但不更改终端大小" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "%@ 已存在。使用 --force 以取代它。" + "value": "重新連接但不變更終端機大小" } } } }, - "session.export.error.destinationIsLive": { + "terminalSharing.detached.someone": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "%@ is this cmux's own session file. Choose another path." + "value": "Someone" } }, "ar": { "stringUnit": { "state": "translated", - "value": "%@ هو ملف الجلسة الخاص بهذا الـ cmux. اختر مسارًا آخر." + "value": "شخص ما" } }, "de": { "stringUnit": { "state": "translated", - "value": "%@ ist die eigene Sitzungsdatei dieses cmux. Wählen Sie einen anderen Pfad." + "value": "Jemand" } }, "es": { "stringUnit": { "state": "translated", - "value": "%@ es el archivo de sesión de este cmux. Elige otra ruta." + "value": "Alguien" } }, "fr": { "stringUnit": { "state": "translated", - "value": "%@ est le fichier de session de ce cmux. Choisissez un autre chemin." + "value": "Quelqu’un" } }, "ja": { "stringUnit": { "state": "translated", - "value": "%@ はこの cmux 自身のセッションファイルです。別のパスを指定してください。" + "value": "誰か" } }, "ko": { "stringUnit": { "state": "translated", - "value": "%@ 파일은 이 cmux의 세션 파일입니다. 다른 경로를 선택하세요." + "value": "누군가" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "%@ 是此 cmux 自己的会话文件。请选择其他路径。" + "value": "有人" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "%@ 是此 cmux 本身的工作階段檔案。請選擇其他路徑。" + "value": "有人" } } } }, - "session.export.error.noSnapshot": { + "terminalSharing.detached.superseded": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "cmux has not saved a session yet. Try again in a few seconds." + "value": "Another window of this Mac replaced this one at %@." } }, "ar": { "stringUnit": { "state": "translated", - "value": "لم يحفظ cmux أي جلسة بعد. حاول مرة أخرى بعد بضع ثوانٍ." + "value": "استبدلت نافذة أخرى على جهاز Mac هذا هذه النافذة في %@." } }, "de": { "stringUnit": { "state": "translated", - "value": "cmux hat noch keine Sitzung gespeichert. Versuchen Sie es in ein paar Sekunden erneut." + "value": "Ein anderes Fenster dieses Macs hat dieses um %@ ersetzt." } }, "es": { "stringUnit": { "state": "translated", - "value": "cmux aún no ha guardado ninguna sesión. Inténtalo de nuevo en unos segundos." + "value": "Otra ventana de este Mac reemplazó a esta a las %@." } }, "fr": { "stringUnit": { "state": "translated", - "value": "cmux n'a pas encore enregistré de session. Réessayez dans quelques secondes." + "value": "Une autre fenêtre de ce Mac a remplacé celle-ci à %@." } }, "ja": { "stringUnit": { "state": "translated", - "value": "cmux はまだセッションを保存していません。数秒後にもう一度お試しください。" + "value": "このMacの別のウィンドウが %@ にこのウィンドウを置き換えました。" } }, "ko": { "stringUnit": { "state": "translated", - "value": "cmux가 아직 세션을 저장하지 않았습니다. 몇 초 후에 다시 시도하세요." + "value": "이 Mac의 다른 창이 %@에 이 창을 대체했습니다." } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "cmux 尚未保存会话。请几秒后再试。" + "value": "这台 Mac 的另一个窗口已于 %@ 替换此窗口。" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "cmux 尚未儲存工作階段。請過幾秒再試一次。" + "value": "這台 Mac 的另一個視窗已於 %@ 取代此視窗。" } } } }, - "session.export.error.writeFailed": { + "terminalSharing.participant.personDevice": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Could not write %@." + "value": "%1$@ · %2$@" + } + }, + "ja": { + "stringUnit": { + "state": "translated", + "value": "%1$@ · %2$@" + } + } + } + }, + "terminalSharing.device.browser": { + "extractionState": "manual", + "localizations": { + "en": { + "stringUnit": { + "state": "translated", + "value": "Browser" } }, "ar": { "stringUnit": { "state": "translated", - "value": "تعذّرت كتابة %@." + "value": "المتصفح" } }, "de": { "stringUnit": { "state": "translated", - "value": "%@ konnte nicht geschrieben werden." + "value": "Browser" } }, "es": { "stringUnit": { "state": "translated", - "value": "No se pudo escribir %@." + "value": "Navegador" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Impossible d'écrire %@." + "value": "Navigateur" } }, "ja": { "stringUnit": { "state": "translated", - "value": "%@ を書き込めませんでした。" + "value": "ブラウザ" } }, "ko": { "stringUnit": { "state": "translated", - "value": "%@ 파일을 쓸 수 없습니다." + "value": "브라우저" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "无法写入 %@。" + "value": "浏览器" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "無法寫入 %@。" + "value": "瀏覽器" } } } }, - "session.import.error.fileNotFound": { + "terminalSharing.device.ipad": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "No saved cmux session at %@." - } - }, - "ar": { - "stringUnit": { - "state": "translated", - "value": "لا توجد جلسة cmux محفوظة في %@." - } - }, - "de": { - "stringUnit": { - "state": "translated", - "value": "Unter %@ gibt es keine gespeicherte cmux-Sitzung." + "value": "iPad" } }, - "es": { + "ja": { "stringUnit": { "state": "translated", - "value": "No hay ninguna sesión de cmux guardada en %@." + "value": "iPad" } - }, - "fr": { + } + } + }, + "terminalSharing.device.iphone": { + "extractionState": "manual", + "localizations": { + "en": { "stringUnit": { "state": "translated", - "value": "Aucune session cmux enregistrée à l'emplacement %@." + "value": "iPhone" } }, "ja": { "stringUnit": { "state": "translated", - "value": "%@ に保存された cmux セッションはありません。" - } - }, - "ko": { - "stringUnit": { - "state": "translated", - "value": "%@ 위치에 저장된 cmux 세션이 없습니다." + "value": "iPhone" } - }, - "zh-Hans": { + } + } + }, + "terminalSharing.device.mac": { + "extractionState": "manual", + "localizations": { + "en": { "stringUnit": { "state": "translated", - "value": "%@ 没有已保存的 cmux 会话。" + "value": "Mac" } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "%@ 沒有已儲存的 cmux 工作階段。" + "value": "Mac" } } } }, - "session.import.error.newerSchema": { + "terminalSharing.device.tui": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "%1$@ was saved by a newer cmux (session format %2$@, this cmux reads %3$@). Update cmux to import it." + "value": "Terminal client" } }, "ar": { "stringUnit": { "state": "translated", - "value": "حُفظ %1$@ بواسطة إصدار أحدث من cmux (تنسيق الجلسة %2$@، ويقرأ هذا الـ cmux التنسيق %3$@). حدّث cmux لاستيراده." + "value": "عميل طرفية" } }, "de": { "stringUnit": { "state": "translated", - "value": "%1$@ wurde von einem neueren cmux gespeichert (Sitzungsformat %2$@, dieses cmux liest %3$@). Aktualisieren Sie cmux, um die Datei zu importieren." + "value": "Terminal-Client" } }, "es": { "stringUnit": { "state": "translated", - "value": "%1$@ se guardó con un cmux más reciente (formato de sesión %2$@; este cmux lee el %3$@). Actualiza cmux para importarlo." + "value": "Cliente de terminal" } }, "fr": { "stringUnit": { "state": "translated", - "value": "%1$@ a été enregistré par une version plus récente de cmux (format de session %2$@, ce cmux lit le format %3$@). Mettez cmux à jour pour l'importer." + "value": "Client terminal" } }, "ja": { "stringUnit": { "state": "translated", - "value": "%1$@ は新しい cmux で保存されています(セッション形式 %2$@、この cmux が読める形式は %3$@)。読み込むには cmux をアップデートしてください。" + "value": "ターミナルクライアント" } }, "ko": { "stringUnit": { "state": "translated", - "value": "%1$@ 파일은 더 새로운 cmux에서 저장되었습니다(세션 형식 %2$@, 이 cmux는 %3$@ 형식을 읽음). 가져오려면 cmux를 업데이트하세요." + "value": "터미널 클라이언트" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "%1$@ 由较新版本的 cmux 保存(会话格式 %2$@,此 cmux 读取 %3$@)。请更新 cmux 后再导入。" + "value": "终端客户端" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "%1$@ 是由較新版本的 cmux 儲存(工作階段格式 %2$@,此 cmux 讀取 %3$@)。請更新 cmux 後再匯入。" + "value": "終端機用戶端" } } } }, - "session.import.error.noWindows": { + "terminalSharing.device.unknown": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "%@ has no windows to restore." + "value": "Device" } }, "ar": { "stringUnit": { "state": "translated", - "value": "لا يحتوي %@ على نوافذ لاستعادتها." + "value": "جهاز" } }, "de": { "stringUnit": { "state": "translated", - "value": "%@ enthält keine Fenster zum Wiederherstellen." + "value": "Gerät" } }, "es": { "stringUnit": { "state": "translated", - "value": "%@ no tiene ventanas que restaurar." + "value": "Dispositivo" } }, "fr": { "stringUnit": { "state": "translated", - "value": "%@ ne contient aucune fenêtre à restaurer." + "value": "Appareil" } }, "ja": { "stringUnit": { "state": "translated", - "value": "%@ には復元できるウインドウがありません。" + "value": "デバイス" } }, "ko": { "stringUnit": { "state": "translated", - "value": "%@ 파일에 복원할 창이 없습니다." + "value": "기기" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "%@ 没有可恢复的窗口。" + "value": "设备" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "%@ 沒有可還原的視窗。" + "value": "裝置" } } } }, - "session.import.error.notASnapshot": { + "terminalSharing.owner.held": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "%@ is not a cmux session snapshot." + "value": "Held size" } }, "ar": { "stringUnit": { "state": "translated", - "value": "%@ ليس لقطة جلسة cmux." + "value": "حجم محتفظ به" } }, "de": { "stringUnit": { "state": "translated", - "value": "%@ ist keine cmux-Sitzungsdatei." + "value": "Beibehaltene Größe" } }, "es": { "stringUnit": { "state": "translated", - "value": "%@ no es una instantánea de sesión de cmux." + "value": "Tamaño conservado" } }, "fr": { "stringUnit": { "state": "translated", - "value": "%@ n'est pas un instantané de session cmux." + "value": "Taille conservée" } }, "ja": { "stringUnit": { "state": "translated", - "value": "%@ は cmux のセッションスナップショットではありません。" + "value": "保持されたサイズ" } }, "ko": { "stringUnit": { "state": "translated", - "value": "%@ 파일은 cmux 세션 스냅샷이 아닙니다." + "value": "유지된 크기" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "%@ 不是 cmux 会话快照。" + "value": "保留的大小" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "%@ 不是 cmux 工作階段快照。" + "value": "保留的大小" } } } }, - "session.import.error.nothingRestored": { + "terminalSharing.owner.largest": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Nothing in %@ could be reopened." + "value": "Largest window" } }, "ar": { "stringUnit": { "state": "translated", - "value": "تعذّر إعادة فتح أي شيء من %@." + "value": "أكبر نافذة" } }, "de": { "stringUnit": { "state": "translated", - "value": "Aus %@ konnte nichts wieder geöffnet werden." + "value": "Größtes Fenster" } }, "es": { "stringUnit": { "state": "translated", - "value": "No se pudo volver a abrir nada de %@." + "value": "Ventana más grande" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Aucun élément de %@ n'a pu être rouvert." + "value": "Plus grande fenêtre" } }, "ja": { "stringUnit": { "state": "translated", - "value": "%@ から再度開けるものはありませんでした。" + "value": "最大のウィンドウ" } }, "ko": { "stringUnit": { "state": "translated", - "value": "%@ 파일에서 다시 열 수 있는 항목이 없습니다." + "value": "가장 큰 창" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "无法重新打开 %@ 中的任何内容。" + "value": "最大的窗口" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "無法重新開啟 %@ 中的任何內容。" + "value": "最大的視窗" } } } }, - "session.import.error.olderSchema": { + "terminalSharing.owner.shared": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "%1$@ uses an older session format (%2$@) that this cmux no longer reads (%3$@)." + "value": "Shared size" } }, "ar": { "stringUnit": { "state": "translated", - "value": "يستخدم %1$@ تنسيق جلسة أقدم (%2$@) لم يعد هذا الـ cmux يقرؤه (%3$@)." + "value": "حجم مشترك" } }, "de": { "stringUnit": { "state": "translated", - "value": "%1$@ verwendet ein älteres Sitzungsformat (%2$@), das dieses cmux nicht mehr liest (%3$@)." + "value": "Gemeinsame Größe" } }, "es": { "stringUnit": { "state": "translated", - "value": "%1$@ usa un formato de sesión anterior (%2$@) que este cmux ya no lee (%3$@)." + "value": "Tamaño compartido" } }, "fr": { "stringUnit": { "state": "translated", - "value": "%1$@ utilise un ancien format de session (%2$@) que ce cmux ne lit plus (%3$@)." + "value": "Taille partagée" } }, "ja": { "stringUnit": { "state": "translated", - "value": "%1$@ はこの cmux が読み込まなくなった古いセッション形式(%2$@)を使用しています(%3$@)。" + "value": "共有サイズ" } }, "ko": { "stringUnit": { "state": "translated", - "value": "%1$@ 파일은 이 cmux가 더 이상 읽지 않는 이전 세션 형식(%2$@)을 사용합니다(%3$@)." + "value": "공유 크기" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "%1$@ 使用较旧的会话格式(%2$@),此 cmux 已不再读取(%3$@)。" + "value": "共享大小" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "%1$@ 使用較舊的工作階段格式(%2$@),此 cmux 已不再讀取(%3$@)。" + "value": "共用大小" } } } }, - "session.import.error.unknownChannel": { + "terminalSharing.owner.smallest": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Unknown cmux channel \"%@\". Use stable, nightly, rc, staging, debug:<tag>, or a path to a session file." + "value": "Fits everyone" } }, "ar": { "stringUnit": { "state": "translated", - "value": "قناة cmux غير معروفة \"%@\". استخدم stable أو nightly أو rc أو staging أو debug:<tag> أو مسار ملف جلسة." + "value": "يناسب الجميع" } }, "de": { "stringUnit": { "state": "translated", - "value": "Unbekannter cmux-Kanal \"%@\". Verwenden Sie stable, nightly, rc, staging, debug:<tag> oder einen Pfad zu einer Sitzungsdatei." + "value": "Passt für alle" } }, "es": { "stringUnit": { "state": "translated", - "value": "Canal de cmux desconocido \"%@\". Usa stable, nightly, rc, staging, debug:<tag> o la ruta de un archivo de sesión." + "value": "Se ajusta a todos" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Canal cmux inconnu « %@ ». Utilisez stable, nightly, rc, staging, debug:<tag> ou le chemin d'un fichier de session." + "value": "Convient à tous" } }, "ja": { "stringUnit": { "state": "translated", - "value": "不明な cmux チャンネル「%@」です。stable、nightly、rc、staging、debug:<tag>、またはセッションファイルのパスを指定してください。" + "value": "全員に合わせる" } }, "ko": { "stringUnit": { "state": "translated", - "value": "알 수 없는 cmux 채널 \"%@\"입니다. stable, nightly, rc, staging, debug:<tag> 또는 세션 파일 경로를 사용하세요." + "value": "모두에게 맞춤" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "未知的 cmux 渠道“%@”。请使用 stable、nightly、rc、staging、debug:<tag> 或会话文件路径。" + "value": "适合所有人" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "未知的 cmux 通道「%@」。請使用 stable、nightly、rc、staging、debug:<tag> 或工作階段檔案路徑。" + "value": "符合所有人" } } } }, - "session.import.error.unreadable": { + "terminalSharing.participant.thisMac": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Could not read %@." + "value": "This Mac" } }, "ar": { "stringUnit": { "state": "translated", - "value": "تعذّرت قراءة %@." + "value": "جهاز Mac هذا" } }, "de": { "stringUnit": { "state": "translated", - "value": "%@ konnte nicht gelesen werden." + "value": "Dieser Mac" } }, "es": { "stringUnit": { "state": "translated", - "value": "No se pudo leer %@." + "value": "Este Mac" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Impossible de lire %@." + "value": "Ce Mac" } }, "ja": { "stringUnit": { "state": "translated", - "value": "%@ を読み込めませんでした。" + "value": "このMac" } }, "ko": { "stringUnit": { "state": "translated", - "value": "%@ 파일을 읽을 수 없습니다." + "value": "이 Mac" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "无法读取 %@。" + "value": "这台 Mac" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "無法讀取 %@。" + "value": "這台 Mac" } } } }, - "session.import.error.liveSnapshot": { + "terminalSharing.owner.possessiveDevice": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "%@ is the session this cmux is saving right now. Run cmux restore-session without --from to reopen the previous launch." + "value": "%1$@'s %2$@" } }, - "de": { + "ar": { "stringUnit": { "state": "translated", - "value": "%@ ist die Sitzung, die dieses cmux gerade speichert. Führen Sie cmux restore-session ohne --from aus, um den vorherigen Start wieder zu öffnen." + "value": "%1$@ · %2$@" } }, - "fr": { + "de": { "stringUnit": { "state": "translated", - "value": "%@ est la session que ce cmux enregistre actuellement. Exécutez cmux restore-session sans --from pour rouvrir le lancement précédent." + "value": "%1$@ · %2$@" } }, - "ar": { + "es": { "stringUnit": { "state": "translated", - "value": "%@ هي الجلسة التي يحفظها cmux هذا الآن. شغّل cmux restore-session دون --from لإعادة فتح التشغيل السابق." + "value": "%1$@ · %2$@" } }, - "es": { + "fr": { "stringUnit": { "state": "translated", - "value": "%@ es la sesión que este cmux está guardando ahora. Ejecuta cmux restore-session sin --from para volver a abrir el inicio anterior." + "value": "%1$@ · %2$@" } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "%@ 是此 cmux 目前正在儲存的工作階段。執行不含 --from 的 cmux restore-session 以重新開啟上次啟動的內容。" + "value": "%1$@の%2$@" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "%@ 是此 cmux 当前正在保存的会话。运行不带 --from 的 cmux restore-session 以重新打开上次启动的内容。" + "value": "%1$@의 %2$@" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "%@ 파일은 이 cmux가 지금 저장 중인 세션입니다. 이전 실행을 다시 열려면 --from 없이 cmux restore-session을 실행하세요." + "value": "%1$@的%2$@" } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "%@ はこの cmux が現在保存しているセッションです。前回の起動を再度開くには、--from を付けずに cmux restore-session を実行してください。" + "value": "%1$@的%2$@" } } } }, - "machines.requiresPro.upgrade.short": { + "terminalSharing.owner.fixedShort": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Upgrade" + "value": "Fixed" } }, "ar": { "stringUnit": { "state": "translated", - "value": "ترقية" + "value": "ثابت" } }, "de": { "stringUnit": { "state": "translated", - "value": "Upgraden" + "value": "Fest" } }, "es": { "stringUnit": { "state": "translated", - "value": "Actualizar" + "value": "Fijo" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Mettre à niveau" + "value": "Fixe" } }, "ja": { "stringUnit": { "state": "translated", - "value": "アップグレード" + "value": "固定" } }, "ko": { "stringUnit": { "state": "translated", - "value": "업그레이드" + "value": "고정" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "升级" + "value": "固定" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "升級" + "value": "固定" } } } }, - "machines.sessionRejected.signInAgain.short": { + "terminalSharing.tab.tooltip": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Sign In" + "value": "Size set by %1$@ · %2$@" } }, "ar": { "stringUnit": { "state": "translated", - "value": "تسجيل الدخول" + "value": "الحجم يحدده %1$@ · %2$@" } }, "de": { "stringUnit": { "state": "translated", - "value": "Anmelden" + "value": "Größe festgelegt von %1$@ · %2$@" } }, "es": { "stringUnit": { "state": "translated", - "value": "Iniciar sesión" + "value": "Tamaño definido por %1$@ · %2$@" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Se reconnecter" + "value": "Taille définie par %1$@ · %2$@" } }, "ja": { "stringUnit": { "state": "translated", - "value": "再サインイン" + "value": "%1$@がサイズを設定 · %2$@" } }, "ko": { "stringUnit": { "state": "translated", - "value": "다시 로그인" + "value": "크기 설정: %1$@ · %2$@" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "重新登录" + "value": "尺寸由%1$@设定 · %2$@" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "重新登入" + "value": "尺寸由%1$@設定 · %2$@" } } } }, - "machines.requiresPro.stale": { + "terminalSharing.panel.sizeLabel": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Cloud machines need cmux Pro, showing last known" + "value": "Size" } }, "ar": { "stringUnit": { "state": "translated", - "value": "تتطلب الأجهزة السحابية إصدار cmux Pro، يتم عرض آخر حالة معروفة" + "value": "الحجم" } }, "de": { "stringUnit": { "state": "translated", - "value": "Cloud-Maschinen erfordern cmux Pro, zeige letzten bekannten Stand" + "value": "Größe" } }, "es": { "stringUnit": { "state": "translated", - "value": "Las máquinas en la nube requieren cmux Pro, se muestra el último estado conocido" + "value": "Tamaño" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Les machines Cloud nécessitent cmux Pro, affichage des dernières informations connues" + "value": "Taille" } }, "ja": { "stringUnit": { "state": "translated", - "value": "Cloud マシンには cmux Pro が必要です。最後の状態を表示中" + "value": "サイズ" } }, "ko": { "stringUnit": { "state": "translated", - "value": "클라우드 머신을 사용하려면 cmux Pro가 필요함, 마지막으로 확인된 상태 표시 중" + "value": "크기" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "云端机器需要 cmux Pro,显示的是最后已知状态" + "value": "尺寸" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "雲端機器需要 cmux Pro,顯示上次已知的狀態" + "value": "尺寸" } } } }, - "machines.sessionRejected.stale": { + "terminalSharing.sizeMode.latest": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Sign-in needs a refresh, showing last known" + "value": "Follow Latest" } }, "ar": { "stringUnit": { "state": "translated", - "value": "يحتاج تسجيل الدخول إلى تحديث، يتم عرض آخر حالة معروفة" + "value": "اتباع الأحدث" } }, "de": { "stringUnit": { "state": "translated", - "value": "Anmeldung muss aktualisiert werden, zeige letzten bekannten Stand" + "value": "Letzter Eingabe folgen" } }, "es": { "stringUnit": { "state": "translated", - "value": "Es necesario actualizar el inicio de sesión, se muestra el último estado conocido" + "value": "Seguir la última entrada" } }, "fr": { "stringUnit": { "state": "translated", - "value": "La connexion doit être actualisée, affichage des dernières informations connues" + "value": "Suivre la dernière saisie" } }, "ja": { "stringUnit": { "state": "translated", - "value": "再サインインが必要です。最後の状態を表示中" + "value": "最新の入力に合わせる" } }, "ko": { "stringUnit": { "state": "translated", - "value": "로그인 갱신 필요, 마지막으로 확인된 상태 표시 중" + "value": "최근 입력 따르기" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "登录状态需要刷新,显示的是最后已知状态" + "value": "跟随最新输入" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "登入狀態需要重新整理,顯示上次已知的狀態" + "value": "跟隨最新輸入" } } } }, - "cli.session.help": { + "terminalSharing.sizeMode.smallest": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Usage: cmux session restore [--list] [--session <id>]...\n\nReopen Claude sessions that were running when cmux last quit unexpectedly.\ncmux finds them in the agent journal, skips any that are running or already\nopen, and resumes each in its own workspace through the launcher that started\nit.\n\nWithout --session, restore acts only after an unexpected quit.\n\nOptions:\n --list Show the sessions without restoring them.\n --session <id> Restore only this session (repeatable)." + "value": "Fit Everyone" } }, - "de": { + "ar": { "stringUnit": { "state": "translated", - "value": "Verwendung: cmux session restore [--list] [--session <id>]...\n\nÖffnet Claude-Sitzungen erneut, die liefen, als cmux zuletzt unerwartet beendet wurde.\ncmux findet sie im Agent-Journal, überspringt laufende oder bereits geöffnete\nund setzt jede in einem eigenen Workspace\nüber den Launcher fort, der sie gestartet hat.\n\nOhne --session stellt restore nur nach einem unerwarteten Beenden wieder her.\n\nOptionen:\n --list Sitzungen anzeigen, ohne sie wiederherzustellen.\n --session <id> Nur diese Sitzung wiederherstellen (wiederholbar)." + "value": "ملاءمة الجميع" } }, - "fr": { + "de": { "stringUnit": { "state": "translated", - "value": "Utilisation : cmux session restore [--list] [--session <id>]...\n\nRouvre les sessions Claude en cours lorsque cmux s’est fermé de façon inattendue.\ncmux les trouve dans le journal des agents, ignore celles qui tournent ou sont déjà\nouvertes, et reprend chacune dans son propre espace de travail via le lanceur qui l’a\ndémarrée.\n\nSans --session, restore n’agit qu’après une fermeture inattendue.\n\nOptions :\n --list Afficher les sessions sans les restaurer.\n --session <id> Restaurer uniquement cette session (répétable)." + "value": "Allen anpassen" } }, - "ar": { + "es": { "stringUnit": { "state": "translated", - "value": "الاستخدام: cmux session restore [--list] [--session <id>]...\n\nيعيد فتح جلسات Claude التي كانت قيد التشغيل عندما أُغلق cmux بشكل غير متوقع آخر مرة.\nيعثر cmux عليها في سجل الوكيل، ويتخطى ما يعمل منها أو المفتوح بالفعل،\nويستأنف كل جلسة في مساحة عمل خاصة بها\nعبر المشغّل الذي بدأها.\n\nبدون --session، لا تعمل الاستعادة إلا بعد إغلاق غير متوقع.\n\nالخيارات:\n --list عرض الجلسات دون استعادتها.\n --session <id> استعادة هذه الجلسة فقط (قابل للتكرار)." + "value": "Ajustar a todos" } }, - "es": { + "fr": { "stringUnit": { "state": "translated", - "value": "Uso: cmux session restore [--list] [--session <id>]...\n\nVuelve a abrir las sesiones de Claude que estaban en ejecución cuando cmux se cerró inesperadamente.\ncmux las encuentra en el diario de agentes, omite las que están en ejecución o ya\nabiertas, y reanuda cada una en su propio espacio de trabajo mediante el lanzador que\nla inició.\n\nSin --session, restore solo actúa tras un cierre inesperado.\n\nOpciones:\n --list Mostrar las sesiones sin restaurarlas.\n --session <id> Restaurar solo esta sesión (repetible)." + "value": "Adapter à tous" } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "用法: cmux session restore [--list] [--session <id>]...\n\n重新開啟 cmux 上次意外結束時仍在執行的 Claude 工作階段。\ncmux 會從代理日誌中找出它們,略過仍在執行或已開啟的工作階段,\n並透過原本啟動它的啟動器\n在各自的工作區中繼續。\n\n未指定 --session 時,restore 只會在意外結束後執行。\n\n選項:\n --list 只列出工作階段,不還原。\n --session <id> 只還原此工作階段(可重複)。" + "value": "全員に合わせる" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "用法: cmux session restore [--list] [--session <id>]...\n\n重新打开 cmux 上次意外退出时仍在运行的 Claude 会话。\ncmux 会从代理日志中找到它们,跳过仍在运行或已打开的会话,\n并通过最初启动它的启动器\n在各自的工作区中继续。\n\n未指定 --session 时,restore 只会在意外退出后执行。\n\n选项:\n --list 只列出会话,不恢复。\n --session <id> 只恢复此会话(可重复)。" + "value": "모두에게 맞추기" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "사용법: cmux session restore [--list] [--session <id>]...\n\ncmux가 마지막으로 예기치 않게 종료될 때 실행 중이던 Claude 세션을 다시 엽니다.\ncmux는 에이전트 저널에서 세션을 찾고, 실행 중이거나 이미 열려 있는 세션은 건너뛰며,\n각 세션을 시작한 런처를 통해\n자체 워크스페이스에서 이어갑니다.\n\n--session이 없으면 restore는 예기치 않은 종료 후에만 동작합니다.\n\n옵션:\n --list 복원하지 않고 세션만 표시합니다.\n --session <id> 이 세션만 복원합니다(반복 가능)." + "value": "适合所有人" } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "使用法: cmux session restore [--list] [--session <id>]...\n\ncmux が前回予期せず終了したときに実行中だった Claude セッションを再び開きます。\ncmux はエージェントジャーナルからセッションを見つけ、実行中または既に開いている\nものはスキップし、それぞれを起動したランチャー経由で\n専用のワークスペースで再開します。\n\n--session を指定しない場合、restore は予期しない終了の後にのみ動作します。\n\nオプション:\n --list 復元せずにセッションを表示します。\n --session <id> このセッションのみ復元します(複数指定可)。" + "value": "適合所有人" } } } }, - "cli.session.error.expectedRestore": { + "terminalSharing.sizeMode.largest": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "session: expected 'restore' (see cmux help session)" + "value": "Largest Window" } }, - "de": { + "ar": { "stringUnit": { "state": "translated", - "value": "session: 'restore' erwartet (siehe cmux help session)" + "value": "أكبر نافذة" } }, - "fr": { + "de": { "stringUnit": { "state": "translated", - "value": "session : « restore » attendu (voir cmux help session)" + "value": "Größtes Fenster" } }, - "ar": { + "es": { "stringUnit": { "state": "translated", - "value": "session: كان المتوقع 'restore' (راجع cmux help session)" + "value": "Ventana más grande" } }, - "es": { + "fr": { "stringUnit": { "state": "translated", - "value": "session: se esperaba 'restore' (consulta cmux help session)" + "value": "Plus grande fenêtre" } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "session:應為 'restore'(請參閱 cmux help session)" + "value": "最大のウインドウ" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "session:应为 'restore'(请参阅 cmux help session)" + "value": "가장 큰 윈도우" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "session: 'restore'가 필요합니다(cmux help session 참조)" + "value": "最大窗口" } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "session: 'restore' が必要です(cmux help session を参照)" + "value": "最大視窗" } } } }, - "cli.session.error.sessionRequiresId": { + "terminalSharing.sizeMode.priority": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "session restore: --session requires an id" + "value": "Priority" } }, - "de": { + "ar": { "stringUnit": { "state": "translated", - "value": "session restore: --session erfordert eine ID" + "value": "الأولوية" } }, - "fr": { + "de": { "stringUnit": { "state": "translated", - "value": "session restore : --session nécessite un identifiant" + "value": "Priorität" } }, - "ar": { + "es": { "stringUnit": { "state": "translated", - "value": "session restore: يتطلب --session معرّفًا" + "value": "Prioridad" } }, - "es": { + "fr": { "stringUnit": { "state": "translated", - "value": "session restore: --session requiere un id" + "value": "Priorité" } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "session restore:--session 需要一個 ID" + "value": "優先順位" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "session restore:--session 需要一个 ID" + "value": "우선순위" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "session restore: --session에는 ID가 필요합니다" + "value": "优先级" } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "session restore: --session には ID が必要です" + "value": "優先順序" } } } }, - "cli.session.error.unknownArgument": { + "terminalSharing.sizeMode.fixed": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "session restore: unknown argument '%@'" + "value": "Fixed" } }, - "de": { + "ar": { "stringUnit": { "state": "translated", - "value": "session restore: unbekanntes Argument '%@'" + "value": "ثابت" } }, - "fr": { + "de": { "stringUnit": { "state": "translated", - "value": "session restore : argument inconnu « %@ »" + "value": "Fest" } }, - "ar": { + "es": { "stringUnit": { "state": "translated", - "value": "session restore: وسيط غير معروف '%@'" + "value": "Fijo" } }, - "es": { + "fr": { "stringUnit": { "state": "translated", - "value": "session restore: argumento desconocido '%@'" + "value": "Fixe" } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "session restore:未知的參數 '%@'" + "value": "固定" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "session restore:未知参数 '%@'" + "value": "고정" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "session restore: 알 수 없는 인수 '%@'" + "value": "固定" } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "session restore: 不明な引数 '%@'" + "value": "固定" } } } }, - "cli.session.list.empty": { + "terminalSharing.panel.setsSize": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "No agent sessions to restore." + "value": "sets size" } }, - "de": { + "ar": { "stringUnit": { "state": "translated", - "value": "Keine Agent-Sitzungen zum Wiederherstellen." + "value": "يحدد الحجم" } }, - "fr": { + "de": { "stringUnit": { "state": "translated", - "value": "Aucune session d’agent à restaurer." + "value": "legt Größe fest" } }, - "ar": { + "es": { "stringUnit": { "state": "translated", - "value": "لا توجد جلسات وكيل لاستعادتها." + "value": "define el tamaño" } }, - "es": { + "fr": { "stringUnit": { "state": "translated", - "value": "No hay sesiones de agente para restaurar." + "value": "définit la taille" } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "沒有可還原的代理工作階段。" + "value": "サイズを設定" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "没有可恢复的代理会话。" + "value": "크기 설정" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "복원할 에이전트 세션이 없습니다." + "value": "设定尺寸" } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "復元するエージェントセッションはありません。" + "value": "設定尺寸" } } } }, - "cli.session.restore.cleanQuit": { + "terminalSharing.panel.notCounted": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "No agent sessions restored: cmux last quit normally. To restore one anyway, pass --session <id> from --list." + "value": "not counted" } }, - "de": { + "ar": { "stringUnit": { "state": "translated", - "value": "Keine Agent-Sitzungen wiederhergestellt: cmux wurde zuletzt normal beendet. Um trotzdem eine wiederherzustellen, übergib --session <id> aus --list." + "value": "غير محتسب" } }, - "fr": { + "de": { "stringUnit": { "state": "translated", - "value": "Aucune session d’agent restaurée : cmux s’est fermé normalement la dernière fois. Pour en restaurer une quand même, passez --session <id> depuis --list." + "value": "nicht gezählt" } }, - "ar": { + "es": { "stringUnit": { "state": "translated", - "value": "لم تتم استعادة أي جلسات وكيل: أُغلق cmux بشكل طبيعي آخر مرة. لاستعادة جلسة على أي حال، مرّر --session <id> من --list." + "value": "no cuenta" } }, - "es": { + "fr": { "stringUnit": { "state": "translated", - "value": "No se restauró ninguna sesión de agente: cmux se cerró normalmente la última vez. Para restaurar una de todos modos, pasa --session <id> de --list." + "value": "non compté" } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "未還原任何代理工作階段:cmux 上次是正常結束。若仍要還原,請傳入 --list 中的 --session <id>。" + "value": "カウント対象外" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "未恢复任何代理会话:cmux 上次是正常退出。若仍要恢复,请传入 --list 中的 --session <id>。" + "value": "계산 안 됨" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "복원된 에이전트 세션이 없습니다. cmux가 마지막에 정상적으로 종료되었습니다. 그래도 복원하려면 --list에서 확인한 --session <id>를 전달하세요." + "value": "不计入" } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "エージェントセッションは復元されませんでした。cmux は前回正常に終了しています。それでも復元する場合は、--list の --session <id> を指定してください。" + "value": "不計入" } } } }, - "cli.session.restore.empty": { + "terminalSharing.panel.rowOptions": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "No agent sessions restored." + "value": "Options for %@" } }, - "de": { + "ar": { "stringUnit": { "state": "translated", - "value": "Keine Agent-Sitzungen wiederhergestellt." + "value": "خيارات %@" } }, - "fr": { + "de": { "stringUnit": { "state": "translated", - "value": "Aucune session d’agent restaurée." + "value": "Optionen für %@" } }, - "ar": { + "es": { "stringUnit": { "state": "translated", - "value": "لم تتم استعادة أي جلسات وكيل." + "value": "Opciones de %@" } }, - "es": { + "fr": { "stringUnit": { "state": "translated", - "value": "No se restauró ninguna sesión de agente." + "value": "Options pour %@" } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "未還原任何代理工作階段。" + "value": "%@のオプション" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "未恢复任何代理会话。" + "value": "%@ 옵션" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "복원된 에이전트 세션이 없습니다." + "value": "%@的选项" } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "エージェントセッションは復元されませんでした。" + "value": "%@的選項" } } } }, - "cli.session.restore.done": { + "terminalSharing.panel.disconnectOthersButton": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Agent sessions restored: %lld" + "value": "Disconnect Others" } }, - "de": { + "ar": { "stringUnit": { "state": "translated", - "value": "Wiederhergestellte Agent-Sitzungen: %lld" + "value": "قطع اتصال الآخرين" } }, - "fr": { + "de": { "stringUnit": { "state": "translated", - "value": "Sessions d’agent restaurées : %lld" + "value": "Andere trennen" } }, - "ar": { + "es": { "stringUnit": { "state": "translated", - "value": "جلسات الوكيل المستعادة: %lld" + "value": "Desconectar a los demás" } }, - "es": { + "fr": { "stringUnit": { "state": "translated", - "value": "Sesiones de agente restauradas: %lld" + "value": "Déconnecter les autres" } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "已還原的代理工作階段:%lld" + "value": "他の接続を切断" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "已恢复的代理会话:%lld" + "value": "다른 연결 끊기" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "복원된 에이전트 세션: %lld" + "value": "断开其他连接" } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "復元したエージェントセッション: %lld" + "value": "中斷其他連線" } } } }, - "agentRecovery.alert.title": { + "terminalSharing.detached.titleShort": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Restore agent sessions?" + "value": "Detached" } }, - "de": { + "ar": { "stringUnit": { "state": "translated", - "value": "Agent-Sitzungen wiederherstellen?" + "value": "تم الفصل" } }, - "fr": { + "de": { "stringUnit": { "state": "translated", - "value": "Restaurer les sessions d’agent ?" + "value": "Getrennt" } }, - "ar": { + "es": { "stringUnit": { "state": "translated", - "value": "هل تريد استعادة جلسات الوكيل؟" + "value": "Desconectado" } }, - "es": { + "fr": { "stringUnit": { "state": "translated", - "value": "¿Restaurar las sesiones de agente?" + "value": "Détaché" } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "要還原代理工作階段嗎?" + "value": "切断されました" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "要恢复代理会话吗?" + "value": "분리됨" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "에이전트 세션을 복원할까요?" + "value": "已分离" } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "エージェントセッションを復元しますか?" + "value": "已分離" } } } }, - "agentRecovery.alert.message": { + "terminalSharing.detached.byMessageShort": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "cmux quit unexpectedly while agent sessions were running. Sessions to restore: %lld. Each one reopens in its own workspace and resumes where it left off." + "value": "%1$@ disconnected this Mac at %2$@." } }, - "de": { + "ar": { "stringUnit": { "state": "translated", - "value": "cmux wurde unerwartet beendet, während Agent-Sitzungen liefen. Wiederherzustellende Sitzungen: %lld. Jede wird in einem eigenen Workspace geöffnet und dort fortgesetzt, wo sie aufgehört hat." + "value": "قطع %1$@ اتصال هذا الـMac في %2$@." } }, - "fr": { + "de": { "stringUnit": { "state": "translated", - "value": "cmux s’est fermé de façon inattendue pendant que des sessions d’agent étaient en cours. Sessions à restaurer : %lld. Chacune rouvre dans son propre espace de travail et reprend là où elle s’était arrêtée." + "value": "%1$@ hat diesen Mac um %2$@ getrennt." } }, - "ar": { + "es": { "stringUnit": { "state": "translated", - "value": "أُغلق cmux بشكل غير متوقع أثناء تشغيل جلسات الوكيل. الجلسات المطلوب استعادتها: %lld. تُفتح كل جلسة في مساحة عمل خاصة بها وتُستأنف من حيث توقفت." + "value": "%1$@ desconectó este Mac a las %2$@." } }, - "es": { + "fr": { "stringUnit": { "state": "translated", - "value": "cmux se cerró inesperadamente mientras había sesiones de agente en ejecución. Sesiones por restaurar: %lld. Cada una se abre en su propio espacio de trabajo y continúa donde se quedó." + "value": "%1$@ a déconnecté ce Mac à %2$@." } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "cmux 在代理工作階段執行時意外結束。要還原的工作階段:%lld。每個工作階段都會在各自的工作區重新開啟,並從中斷處繼續。" + "value": "%1$@が%2$@にこのMacを切断しました。" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "cmux 在代理会话运行时意外退出。要恢复的会话:%lld。每个会话都会在各自的工作区重新打开,并从中断处继续。" + "value": "%1$@이(가) %2$@에 이 Mac의 연결을 끊었습니다." } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "에이전트 세션이 실행 중일 때 cmux가 예기치 않게 종료되었습니다. 복원할 세션: %lld. 각 세션은 자체 워크스페이스에서 다시 열리고 중단된 곳에서 이어집니다." + "value": "%1$@于%2$@断开了这台Mac的连接。" } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "エージェントセッションの実行中に cmux が予期せず終了しました。復元するセッション: %lld。各セッションは専用のワークスペースで再び開き、中断したところから再開します。" + "value": "%1$@於%2$@中斷了這台Mac的連線。" } } } }, - "agentRecovery.alert.restore": { + "terminalSharing.chip.hiddenColumns": { "extractionState": "manual", "localizations": { "en": { - "stringUnit": { - "state": "translated", - "value": "Restore Agent Sessions" - } - }, - "de": { - "stringUnit": { - "state": "translated", - "value": "Agent-Sitzungen wiederherstellen" - } - }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Restaurer les sessions d’agent" + "variations": { + "plural": { + "one": { + "stringUnit": { + "state": "translated", + "value": "%ld col hidden" + } + }, + "other": { + "stringUnit": { + "state": "translated", + "value": "%ld cols hidden" + } + } + } } }, "ar": { - "stringUnit": { - "state": "translated", - "value": "استعادة جلسات الوكيل" - } - }, - "es": { - "stringUnit": { - "state": "translated", - "value": "Restaurar sesiones de agente" - } + "variations": { + "plural": { + "zero": { + "stringUnit": { + "state": "translated", + "value": "لا أعمدة مخفية (%ld)" + } + }, + "one": { + "stringUnit": { + "state": "translated", + "value": "عمود واحد مخفي (%ld)" + } + }, + "two": { + "stringUnit": { + "state": "translated", + "value": "عمودان مخفيان (%ld)" + } + }, + "few": { + "stringUnit": { + "state": "translated", + "value": "%ld أعمدة مخفية" + } + }, + "many": { + "stringUnit": { + "state": "translated", + "value": "%ld عمودًا مخفيًا" + } + }, + "other": { + "stringUnit": { + "state": "translated", + "value": "%ld عمود مخفي" + } + } + } + } }, - "zh-Hant": { - "stringUnit": { - "state": "translated", - "value": "還原代理工作階段" + "de": { + "variations": { + "plural": { + "one": { + "stringUnit": { + "state": "translated", + "value": "%ld Spalte ausgeblendet" + } + }, + "other": { + "stringUnit": { + "state": "translated", + "value": "%ld Spalten ausgeblendet" + } + } + } } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "恢复代理会话" + "es": { + "variations": { + "plural": { + "one": { + "stringUnit": { + "state": "translated", + "value": "%ld columna oculta" + } + }, + "many": { + "stringUnit": { + "state": "translated", + "value": "%ld de columnas ocultas" + } + }, + "other": { + "stringUnit": { + "state": "translated", + "value": "%ld columnas ocultas" + } + } + } } }, - "ko": { - "stringUnit": { - "state": "translated", - "value": "에이전트 세션 복원" + "fr": { + "variations": { + "plural": { + "one": { + "stringUnit": { + "state": "translated", + "value": "%ld colonne masquée" + } + }, + "many": { + "stringUnit": { + "state": "translated", + "value": "%ld de colonnes masquées" + } + }, + "other": { + "stringUnit": { + "state": "translated", + "value": "%ld colonnes masquées" + } + } + } } }, "ja": { - "stringUnit": { - "state": "translated", - "value": "エージェントセッションを復元" + "variations": { + "plural": { + "other": { + "stringUnit": { + "state": "translated", + "value": "%ld列が非表示" + } + } + } + } + }, + "ko": { + "variations": { + "plural": { + "other": { + "stringUnit": { + "state": "translated", + "value": "%ld열 숨겨짐" + } + } + } + } + }, + "zh-Hans": { + "variations": { + "plural": { + "other": { + "stringUnit": { + "state": "translated", + "value": "隐藏 %ld 列" + } + } + } + } + }, + "zh-Hant": { + "variations": { + "plural": { + "other": { + "stringUnit": { + "state": "translated", + "value": "隱藏 %ld 欄" + } + } + } } } } }, - "agentRecovery.alert.notNow": { + "terminalSharing.panel.cancel": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Not Now" + "value": "Cancel" } }, - "de": { + "ar": { "stringUnit": { "state": "translated", - "value": "Nicht jetzt" + "value": "إلغاء" } }, - "fr": { + "de": { "stringUnit": { "state": "translated", - "value": "Pas maintenant" + "value": "Abbrechen" } }, - "ar": { + "es": { "stringUnit": { "state": "translated", - "value": "ليس الآن" + "value": "Cancelar" } }, - "es": { + "fr": { "stringUnit": { "state": "translated", - "value": "Ahora no" + "value": "Annuler" } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "稍後" + "value": "キャンセル" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "以后再说" + "value": "취소" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "나중에" + "value": "取消" } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "後で" + "value": "取消" } } } }, - "settings.notifications.soundWhenFocused.subtitle": { + "terminalSharing.panel.disconnectOthers.confirm": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Play the notification sound even when the pane that notified is already focused. When off, a focused pane shows its ring without a sound." + "value": "Disconnect all other clients?" } }, "ar": { "stringUnit": { "state": "translated", - "value": "شغّل صوت الإشعار حتى عندما تكون اللوحة التي أرسلت الإشعار في موضع التركيز بالفعل. عند إيقافه، تعرض اللوحة المُركَّز عليها حلقتها دون صوت." + "value": "هل تريد قطع اتصال جميع العملاء الآخرين؟" } }, "de": { "stringUnit": { "state": "translated", - "value": "Den Benachrichtigungston auch abspielen, wenn der benachrichtigende Bereich bereits fokussiert ist. Wenn aus, zeigt ein fokussierter Bereich seinen Ring ohne Ton." + "value": "Alle anderen Clients trennen?" } }, "es": { "stringUnit": { "state": "translated", - "value": "Reproduce el sonido de notificación incluso cuando el panel que notificó ya tiene el foco. Si está desactivado, un panel con foco muestra su anillo sin sonido." + "value": "¿Desconectar todos los demás clientes?" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Jouer le son de notification même lorsque le panneau à l’origine de la notification a déjà le focus. Désactivé, un panneau actif affiche son anneau sans son." + "value": "Déconnecter tous les autres clients ?" } }, "ja": { "stringUnit": { "state": "translated", - "value": "通知を送ったペインがすでにフォーカスされている場合でも通知音を鳴らします。オフの場合、フォーカス中のペインは音を鳴らさずにリングを表示します。" + "value": "他のすべてのクライアントを切断しますか?" } }, "ko": { "stringUnit": { "state": "translated", - "value": "알림을 보낸 패널이 이미 포커스된 상태여도 알림음을 재생합니다. 끄면 포커스된 패널은 소리 없이 링만 표시합니다." + "value": "다른 모든 클라이언트의 연결을 끊을까요?" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "即使发出通知的窗格已处于焦点状态,也播放通知声音。关闭时,处于焦点的窗格会显示光环但不发出声音。" + "value": "要断开其他所有客户端吗?" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "即使發出通知的窗格已在焦點中,也播放通知聲音。關閉時,焦點中的窗格會顯示光環但不發出聲音。" + "value": "要中斷其他所有用戶端的連線嗎?" } } } }, - "settings.notifications.soundWhenFocused.title": { + "terminalSharing.panel.disconnectOthers.confirmButton": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Sound for Focused Pane" + "value": "Disconnect" } }, "ar": { "stringUnit": { "state": "translated", - "value": "صوت للوحة المُركَّز عليها" + "value": "قطع الاتصال" } }, "de": { "stringUnit": { "state": "translated", - "value": "Ton für fokussierten Bereich" + "value": "Trennen" } }, "es": { "stringUnit": { "state": "translated", - "value": "Sonido para el panel con foco" + "value": "Desconectar" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Son pour le panneau actif" + "value": "Déconnecter" } }, "ja": { "stringUnit": { "state": "translated", - "value": "フォーカス中のペインの通知音" + "value": "切断" } }, "ko": { "stringUnit": { "state": "translated", - "value": "포커스된 패널 소리" + "value": "연결 끊기" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "焦点窗格的声音" + "value": "断开连接" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "焦點窗格的聲音" + "value": "中斷連線" } } } }, - "agent.claude.stopFailure.body.generic": { + "terminalSharing.panel.fixedColumns": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Claude Code stopped on an API error" + "value": "Columns" } }, - "ja": { + "ar": { "stringUnit": { "state": "translated", - "value": "Claude Code は API エラーで停止しました" + "value": "الأعمدة" } }, - "zh-Hans": { + "de": { "stringUnit": { "state": "translated", - "value": "Claude Code 因 API 错误而停止" + "value": "Spalten" } }, - "de": { + "es": { "stringUnit": { "state": "translated", - "value": "Claude Code wurde wegen eines API-Fehlers gestoppt" + "value": "Columnas" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Claude Code s'est arrêté sur une erreur d'API" + "value": "Colonnes" } }, - "ar": { + "ja": { "stringUnit": { "state": "translated", - "value": "توقف Claude Code بسبب خطأ في واجهة API" + "value": "列" } }, - "es": { + "ko": { "stringUnit": { "state": "translated", - "value": "Claude Code se detuvo por un error de la API" + "value": "열" } }, - "zh-Hant": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "Claude Code 因 API 錯誤而停止" + "value": "列数" } }, - "ko": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "Claude Code가 API 오류로 중지되었습니다" + "value": "欄數" } } } }, - "agent.claude.stopFailure.status.apiError": { + "terminalSharing.panel.fixedRows": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "API error" + "value": "Rows" } }, - "ja": { + "ar": { "stringUnit": { "state": "translated", - "value": "API エラー" + "value": "الصفوف" } }, - "zh-Hans": { + "de": { "stringUnit": { "state": "translated", - "value": "API 错误" + "value": "Zeilen" } }, - "de": { + "es": { "stringUnit": { "state": "translated", - "value": "API-Fehler" + "value": "Filas" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Erreur d'API" + "value": "Lignes" } }, - "ar": { + "ja": { "stringUnit": { "state": "translated", - "value": "خطأ في واجهة API" + "value": "行" } }, - "es": { + "ko": { "stringUnit": { "state": "translated", - "value": "Error de la API" + "value": "행" } }, - "zh-Hant": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "API 錯誤" + "value": "行数" } }, - "ko": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "API 오류" + "value": "列數" } } } }, - "agent.claude.stopFailure.status.authentication": { + "terminalSharing.panel.unavailable": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Auth error" + "value": "This terminal is not shared." } }, - "ja": { + "ar": { "stringUnit": { "state": "translated", - "value": "認証エラー" + "value": "هذه الطرفية غير مشتركة." } }, - "zh-Hans": { + "de": { "stringUnit": { "state": "translated", - "value": "认证错误" + "value": "Dieses Terminal wird nicht geteilt." } }, - "de": { + "es": { "stringUnit": { "state": "translated", - "value": "Authentifizierungsfehler" + "value": "Esta terminal no está compartida." } }, "fr": { "stringUnit": { "state": "translated", - "value": "Erreur d'authentification" + "value": "Ce terminal n’est pas partagé." } }, - "ar": { + "ja": { "stringUnit": { "state": "translated", - "value": "خطأ في المصادقة" + "value": "このターミナルは共有されていません。" } }, - "es": { + "ko": { "stringUnit": { "state": "translated", - "value": "Error de autenticación" + "value": "이 터미널은 공유되지 않았습니다." } }, - "zh-Hant": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "驗證錯誤" + "value": "此终端未共享。" } }, - "ko": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "인증 오류" + "value": "此終端機未共用。" } } } }, - "agent.claude.stopFailure.status.billing": { + "terminalSharing.panel.counts": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Billing error" + "value": "Counts toward size" } }, - "ja": { + "ar": { "stringUnit": { "state": "translated", - "value": "請求エラー" + "value": "يُحتسب في الحجم" } }, - "zh-Hans": { + "de": { "stringUnit": { "state": "translated", - "value": "账单错误" + "value": "Zählt für die Größe" } }, - "de": { + "es": { "stringUnit": { "state": "translated", - "value": "Abrechnungsfehler" + "value": "Cuenta para el tamaño" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Erreur de facturation" + "value": "Compte pour la taille" } }, - "ar": { + "ja": { "stringUnit": { "state": "translated", - "value": "خطأ في الفوترة" + "value": "サイズに反映" } }, - "es": { + "ko": { "stringUnit": { "state": "translated", - "value": "Error de facturación" + "value": "크기에 반영" } }, - "zh-Hant": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "帳單錯誤" + "value": "计入大小" } }, - "ko": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "결제 오류" + "value": "計入大小" } } } }, - "agent.claude.stopFailure.status.connectionDropped": { + "terminalSharing.panel.disconnect": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Connection dropped" + "value": "Disconnect" } }, - "ja": { + "ar": { "stringUnit": { "state": "translated", - "value": "接続が切断されました" + "value": "قطع الاتصال" } }, - "zh-Hans": { + "de": { "stringUnit": { "state": "translated", - "value": "连接已断开" + "value": "Trennen" } }, - "de": { + "es": { "stringUnit": { "state": "translated", - "value": "Verbindung abgebrochen" + "value": "Desconectar" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Connexion interrompue" + "value": "Déconnecter" } }, - "ar": { + "ja": { "stringUnit": { "state": "translated", - "value": "انقطع الاتصال" + "value": "切断" } }, - "es": { + "ko": { "stringUnit": { "state": "translated", - "value": "Conexión perdida" + "value": "연결 끊기" } }, - "zh-Hant": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "連線已中斷" + "value": "断开连接" } }, - "ko": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "연결 끊김" + "value": "中斷連線" } } } }, - "agent.claude.stopFailure.status.outputLimit": { + "cli.sshPtyAttach.launchAcknowledgementTimeoutRetry": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Output limit" + "value": "[cmux] cmux did not acknowledge the SSH launch; retrying %s in %ss." } }, - "ja": { + "de": { "stringUnit": { "state": "translated", - "value": "出力上限" + "value": "[cmux] cmux hat den SSH-Start nicht bestätigt; neuer Versuch %s in %ss." } }, - "zh-Hans": { + "fr": { "stringUnit": { "state": "translated", - "value": "输出上限" + "value": "[cmux] cmux n’a pas confirmé le démarrage SSH ; nouvelle tentative %s dans %ss." } }, - "de": { + "ar": { "stringUnit": { "state": "translated", - "value": "Ausgabelimit" + "value": "[cmux] لم يؤكد cmux بدء SSH؛ ستتم إعادة المحاولة %s خلال %s ث." } }, - "fr": { + "es": { "stringUnit": { "state": "translated", - "value": "Limite de sortie" + "value": "[cmux] cmux no confirmó el inicio de SSH; reintentando %s en %ss." } }, - "ar": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "حد المخرجات" + "value": "[cmux] cmux 未確認 SSH 啟動;將在第 %s 次於 %s 秒後重試。" } }, - "es": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "Límite de salida" + "value": "[cmux] cmux 未确认 SSH 启动;将在第 %s 次于 %s 秒后重试。" } }, - "zh-Hant": { + "ko": { "stringUnit": { "state": "translated", - "value": "輸出上限" + "value": "[cmux] cmux가 SSH 시작을 확인하지 못했습니다. %s번째로 %s초 후 다시 시도합니다." } }, - "ko": { + "ja": { "stringUnit": { "state": "translated", - "value": "출력 한도" + "value": "[cmux] cmux が SSH の起動を確認できないため、%s 回目を %s 秒後に再試行します。" } - } - } - }, - "agent.claude.stopFailure.status.overloaded": { - "extractionState": "manual", - "localizations": { - "en": { + }, + "bs": { "stringUnit": { "state": "translated", - "value": "API overloaded" + "value": "[cmux] cmux nije potvrdio SSH pokretanje; ponovni pokušaj %s za %ss." } }, - "ja": { + "da": { "stringUnit": { "state": "translated", - "value": "API 過負荷" + "value": "[cmux] cmux bekræftede ikke SSH-starten; prøver igen %s om %ss." } }, - "zh-Hans": { + "it": { "stringUnit": { "state": "translated", - "value": "API 过载" + "value": "[cmux] cmux non ha confermato l’avvio SSH; nuovo tentativo %s tra %ss." } }, - "de": { + "km": { "stringUnit": { "state": "translated", - "value": "API überlastet" + "value": "[cmux] cmux មិនបានបញ្ជាក់ការចាប់ផ្តើម SSH ទេ; កំពុងព្យាយាមម្តងទៀត %s ក្នុងរយៈពេល %ss។" } }, - "fr": { + "nb": { "stringUnit": { "state": "translated", - "value": "API surchargée" + "value": "[cmux] cmux bekreftet ikke SSH-oppstarten; prøver på nytt %s om %ss." } }, - "ar": { + "pl": { "stringUnit": { "state": "translated", - "value": "واجهة API محمّلة فوق طاقتها" + "value": "[cmux] cmux nie potwierdził uruchomienia SSH; ponawianie próby %s za %ss." } }, - "es": { + "pt-BR": { "stringUnit": { "state": "translated", - "value": "API sobrecargada" + "value": "[cmux] o cmux não confirmou o início do SSH; tentando novamente %s em %ss." } }, - "zh-Hant": { + "ru": { "stringUnit": { "state": "translated", - "value": "API 過載" + "value": "[cmux] cmux не подтвердил запуск SSH; повторная попытка %s через %ss." } }, - "ko": { + "th": { "stringUnit": { "state": "translated", - "value": "API 과부하" + "value": "[cmux] cmux ไม่ยืนยันการเริ่มต้น SSH; กำลังลองใหม่ครั้งที่ %s ในอีก %s วินาที" + } + }, + "tr": { + "stringUnit": { + "state": "translated", + "value": "[cmux] cmux SSH başlatmasını onaylamadı; %s saniye içinde %s. deneme yapılıyor." + } + }, + "uk": { + "stringUnit": { + "state": "translated", + "value": "[cmux] cmux не підтвердив запуск SSH; повторна спроба %s через %s с." } } } }, - "agent.claude.stopFailure.status.rateLimited": { + "devices.link.error.notDiscoverable": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Rate limited" + "value": "This Mac isn’t discoverable. On that Mac, turn on “Make this Mac discoverable” in Settings › Devices." } }, - "ja": { + "ar": { "stringUnit": { "state": "translated", - "value": "レート制限中" + "value": "جهاز Mac هذا غير قابل للاكتشاف. على ذلك الجهاز، فعّل «جعل جهاز Mac هذا قابلاً للاكتشاف» في الإعدادات › الأجهزة." } }, - "zh-Hans": { + "de": { "stringUnit": { "state": "translated", - "value": "已限速" + "value": "Dieser Mac ist nicht auffindbar. Aktiviere auf diesem Mac unter „Einstellungen › Geräte“ die Option „Diesen Mac auffindbar machen“." } }, - "de": { + "es": { "stringUnit": { "state": "translated", - "value": "Ratenbegrenzt" + "value": "Este Mac no es detectable. En ese Mac, activa «Hacer que este Mac sea detectable» en Ajustes › Dispositivos." } }, "fr": { "stringUnit": { "state": "translated", - "value": "Limite de requêtes atteinte" + "value": "Ce Mac n’est pas détectable. Sur ce Mac, activez « Rendre ce Mac détectable » dans Réglages › Appareils." } }, - "ar": { + "ja": { "stringUnit": { "state": "translated", - "value": "تم تقييد المعدل" + "value": "このMacは検出可能になっていません。そのMacの「設定 › デバイス」で「このMacを検出可能にする」をオンにしてください。" } }, - "es": { + "ko": { "stringUnit": { "state": "translated", - "value": "Límite de frecuencia alcanzado" + "value": "이 Mac을 검색할 수 없습니다. 해당 Mac의 설정 › 기기에서 “이 Mac을 검색할 수 있도록 설정”을 켜세요." + } + }, + "zh-Hans": { + "stringUnit": { + "state": "translated", + "value": "这台 Mac 无法被发现。请在该 Mac 的“设置 › 设备”中开启“允许发现此 Mac”。" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "已限速" + "value": "這部 Mac 無法被探索。請在該 Mac 的「設定 › 裝置」中開啟「允許探索此 Mac」。" } }, - "ko": { + "bs": { "stringUnit": { "state": "translated", - "value": "속도 제한됨" + "value": "Ovaj Mac nije vidljiv. Na tom Macu uključite „Učini ovaj Mac vidljivim” u Postavke › Uređaji." } - } - } - }, - "agent.claude.stopFailure.status.usageLimit": { - "extractionState": "manual", - "localizations": { - "en": { + }, + "da": { "stringUnit": { "state": "translated", - "value": "Usage limit" + "value": "Denne Mac kan ikke findes. Slå “Gør denne Mac synlig” til på den Mac under Indstillinger › Enheder." } }, - "ja": { + "it": { "stringUnit": { "state": "translated", - "value": "使用量の上限" + "value": "Questo Mac non è individuabile. Su quel Mac, attiva “Rendi individuabile questo Mac” in Impostazioni › Dispositivi." } }, - "zh-Hans": { + "km": { "stringUnit": { "state": "translated", - "value": "用量上限" + "value": "Mac នេះមិនអាចរកឃើញបានទេ។ នៅលើ Mac នោះ សូមបើក “ធ្វើឲ្យ Mac នេះអាចរកឃើញ” ក្នុងការកំណត់ › ឧបករណ៍។" } }, - "de": { + "nb": { "stringUnit": { "state": "translated", - "value": "Nutzungslimit" + "value": "Denne Macen er ikke synlig. Slå på «Gjør denne Macen synlig» på den Macen under Innstillinger › Enheter." } }, - "fr": { + "pl": { "stringUnit": { "state": "translated", - "value": "Limite d'utilisation" + "value": "Ten Mac nie jest wykrywalny. Na tym Macu włącz „Uczyń ten Mac wykrywalnym” w Ustawienia › Urządzenia." } }, - "ar": { + "pt-BR": { "stringUnit": { "state": "translated", - "value": "حد الاستخدام" + "value": "Este Mac não está detectável. Nesse Mac, ative “Tornar este Mac detectável” em Ajustes › Dispositivos." } }, - "es": { + "ru": { "stringUnit": { "state": "translated", - "value": "Límite de uso" + "value": "Этот Mac недоступен для обнаружения. На том Mac включите «Сделать этот Mac доступным для обнаружения» в разделе Настройки › Устройства." } }, - "zh-Hant": { + "th": { "stringUnit": { "state": "translated", - "value": "用量上限" + "value": "Mac เครื่องนี้ไม่สามารถค้นพบได้ บน Mac เครื่องนั้น ให้เปิด “ทำให้ Mac เครื่องนี้ค้นพบได้” ในการตั้งค่า › อุปกรณ์" } }, - "ko": { + "tr": { "stringUnit": { "state": "translated", - "value": "사용량 한도" + "value": "Bu Mac keşfedilebilir değil. O Mac’te Ayarlar › Cihazlar bölümünden “Bu Mac’i keşfedilebilir yap” seçeneğini açın." + } + }, + "uk": { + "stringUnit": { + "state": "translated", + "value": "Цей Mac недоступний для виявлення. На тому Mac увімкніть «Зробити цей Mac доступним для виявлення» у розділі Налаштування › Пристрої." } } } }, - "agent.claude.stopFailure.status.usageLimitResets": { + "cli.auth.status.teamNotLoaded": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Usage limit, resets %@" + "value": " team: not loaded" } }, "ja": { "stringUnit": { "state": "translated", - "value": "使用量の上限、%@ にリセット" + "value": " チーム: 未読み込み" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "用量上限,%@ 重置" + "value": " 团队: 未加载" } }, "de": { "stringUnit": { "state": "translated", - "value": "Nutzungslimit, Reset %@" + "value": " Team: nicht geladen" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Limite d'utilisation, réinitialisation %@" + "value": " équipe: non chargée" } }, "ar": { "stringUnit": { "state": "translated", - "value": "حد الاستخدام، يُعاد التعيين %@" + "value": " الفريق: لم يتم تحميله" } }, "es": { "stringUnit": { "state": "translated", - "value": "Límite de uso, se restablece %@" + "value": " equipo: no cargado" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "用量上限,%@ 重設" + "value": " 團隊: 未載入" } }, "ko": { "stringUnit": { "state": "translated", - "value": "사용량 한도, %@에 초기화" - } - } - } - }, - "settings.app.reorderOnNotification.mode.agentActivity": { - "extractionState": "manual", - "localizations": { - "ar": { - "stringUnit": { - "state": "translated", - "value": "نشاط الوكيل" + "value": " 팀: 로드되지 않음" } }, "bs": { "stringUnit": { "state": "translated", - "value": "Aktivnost agenata" + "value": " tim: nije učitan" } }, "da": { "stringUnit": { "state": "translated", - "value": "Agentaktivitet" - } - }, - "de": { - "stringUnit": { - "state": "translated", - "value": "Agentenaktivität" - } - }, - "en": { - "stringUnit": { - "state": "translated", - "value": "Agent Activity" - } - }, - "es": { - "stringUnit": { - "state": "translated", - "value": "Actividad de agentes" - } - }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Activité des agents" + "value": " team: ikke indlæst" } }, "it": { "stringUnit": { "state": "translated", - "value": "Attività degli agenti" - } - }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "エージェントのアクティビティ" + "value": " team: non caricato" } }, - "ko": { + "km": { "stringUnit": { "state": "translated", - "value": "에이전트 활동" + "value": " ក្រុម៖ មិនទាន់បានផ្ទុក" } }, "nb": { "stringUnit": { "state": "translated", - "value": "Agentaktivitet" + "value": " team: ikke lastet" } }, "pl": { "stringUnit": { "state": "translated", - "value": "Aktywność agentów" + "value": " zespół: nie załadowano" } }, "pt-BR": { "stringUnit": { "state": "translated", - "value": "Atividade dos agentes" + "value": " equipe: não carregada" } }, "ru": { "stringUnit": { "state": "translated", - "value": "Активность агентов" + "value": " команда: не загружена" } }, "th": { "stringUnit": { "state": "translated", - "value": "กิจกรรมของเอเจนต์" + "value": " ทีม: ยังไม่ได้โหลด" } }, "tr": { "stringUnit": { "state": "translated", - "value": "Ajan etkinliği" + "value": " ekip: yüklenmedi" } }, "uk": { "stringUnit": { "state": "translated", - "value": "Активність агентів" - } - }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "代理活动" - } - }, - "zh-Hant": { - "stringUnit": { - "state": "translated", - "value": "代理活動" + "value": " команда: не завантажена" } } } }, - "settings.app.reorderOnNotification.mode.notifications": { + "cli.auth.status.teamNotLoadedRetrying": { "extractionState": "manual", "localizations": { - "ar": { + "en": { "stringUnit": { "state": "translated", - "value": "الإشعارات" + "value": " team: not loaded (retrying)" } }, - "bs": { + "ja": { "stringUnit": { "state": "translated", - "value": "Obavještenja" + "value": " チーム: 未読み込み(再試行中)" } }, - "da": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "Notifikationer" + "value": " 团队: 未加载(正在重试)" } }, "de": { "stringUnit": { "state": "translated", - "value": "Benachrichtigungen" + "value": " Team: nicht geladen (wird erneut versucht)" } }, - "en": { + "fr": { "stringUnit": { "state": "translated", - "value": "Notifications" + "value": " équipe: non chargée (nouvel essai)" + } + }, + "ar": { + "stringUnit": { + "state": "translated", + "value": " الفريق: لم يتم تحميله (جارٍ إعادة المحاولة)" } }, "es": { "stringUnit": { "state": "translated", - "value": "Notificaciones" + "value": " equipo: no cargado (reintentando)" } }, - "fr": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "Sur notification" + "value": " 團隊: 未載入(重試中)" } }, - "it": { + "ko": { "stringUnit": { "state": "translated", - "value": "Notifiche" + "value": " 팀: 로드되지 않음 (재시도 중)" } }, - "ja": { + "bs": { "stringUnit": { "state": "translated", - "value": "通知" + "value": " tim: nije učitan (ponovni pokušaj)" } }, - "ko": { + "da": { "stringUnit": { "state": "translated", - "value": "알림" + "value": " team: ikke indlæst (prøver igen)" } }, - "nb": { + "it": { "stringUnit": { "state": "translated", - "value": "Varsler" + "value": " team: non caricato (nuovo tentativo)" } }, - "pl": { + "km": { "stringUnit": { "state": "translated", - "value": "Powiadomienia" + "value": " ក្រុម៖ មិនទាន់បានផ្ទុក (កំពុងព្យាយាមម្ដងទៀត)" } }, - "pt-BR": { + "nb": { "stringUnit": { "state": "translated", - "value": "Notificações" + "value": " team: ikke lastet (prøver igjen)" } }, - "ru": { + "pl": { "stringUnit": { "state": "translated", - "value": "Уведомления" + "value": " zespół: nie załadowano (ponawianie próby)" } }, - "th": { + "pt-BR": { "stringUnit": { "state": "translated", - "value": "การแจ้งเตือน" + "value": " equipe: não carregada (tentando novamente)" } }, - "tr": { + "ru": { "stringUnit": { "state": "translated", - "value": "Bildirimler" + "value": " команда: не загружена (повторная попытка)" } }, - "uk": { + "th": { "stringUnit": { "state": "translated", - "value": "Сповіщення" + "value": " ทีม: ยังไม่ได้โหลด (กำลังลองอีกครั้ง)" } }, - "zh-Hans": { + "tr": { "stringUnit": { "state": "translated", - "value": "通知" + "value": " ekip: yüklenmedi (yeniden deneniyor)" } }, - "zh-Hant": { + "uk": { "stringUnit": { "state": "translated", - "value": "通知" + "value": " команда: не завантажена (повторна спроба)" } } } }, - "settings.app.reorderOnNotification.mode.off": { + "mobile.pairing.error.teamUnavailable": { "extractionState": "manual", "localizations": { - "ar": { + "en": { "stringUnit": { "state": "translated", - "value": "إيقاف" + "value": "Could not load your cmux team. Check your internet connection, then try again." } }, - "bs": { + "ja": { "stringUnit": { "state": "translated", - "value": "Isključeno" + "value": "cmux チームを読み込めませんでした。インターネット接続を確認してから、もう一度お試しください。" } }, - "da": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "Fra" + "value": "无法加载你的 cmux 团队。请检查网络连接,然后重试。" } }, "de": { "stringUnit": { "state": "translated", - "value": "Aus" + "value": "Dein cmux-Team konnte nicht geladen werden. Prüfe deine Internetverbindung und versuche es erneut." } }, - "en": { + "fr": { "stringUnit": { "state": "translated", - "value": "Off" + "value": "Impossible de charger votre équipe cmux. Vérifiez votre connexion Internet, puis réessayez." + } + }, + "ar": { + "stringUnit": { + "state": "translated", + "value": "تعذّر تحميل فريق cmux الخاص بك. تحقّق من اتصالك بالإنترنت، ثم حاول مرة أخرى." } }, "es": { "stringUnit": { "state": "translated", - "value": "Desactivado" + "value": "No se pudo cargar tu equipo de cmux. Comprueba tu conexión a internet e inténtalo de nuevo." } }, - "fr": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "Désactivé" + "value": "無法載入你的 cmux 團隊。請檢查網路連線,然後再試一次。" } }, - "it": { + "ko": { "stringUnit": { "state": "translated", - "value": "Disattivato" + "value": "cmux 팀을 불러올 수 없습니다. 인터넷 연결을 확인한 후 다시 시도하세요." } }, - "ja": { + "bs": { "stringUnit": { "state": "translated", - "value": "オフ" + "value": "Nije moguće učitati vaš cmux tim. Provjerite internetsku vezu i pokušajte ponovo." } }, - "ko": { + "da": { "stringUnit": { "state": "translated", - "value": "끔" + "value": "Din cmux-team kunne ikke indlæses. Kontrollér din internetforbindelse, og prøv igen." } }, - "nb": { + "it": { "stringUnit": { "state": "translated", - "value": "Av" + "value": "Impossibile caricare il tuo team cmux. Controlla la connessione Internet e riprova." } }, - "pl": { + "km": { "stringUnit": { "state": "translated", - "value": "Wyłączone" + "value": "មិនអាចផ្ទុកក្រុម cmux របស់អ្នកបានទេ។ សូមពិនិត្យការតភ្ជាប់អ៊ីនធឺណិត ហើយព្យាយាមម្ដងទៀត។" } }, - "pt-BR": { + "nb": { "stringUnit": { "state": "translated", - "value": "Desativado" + "value": "Kunne ikke laste inn cmux-teamet ditt. Kontroller internettilkoblingen, og prøv igjen." } }, - "ru": { + "pl": { "stringUnit": { "state": "translated", - "value": "Выкл." + "value": "Nie udało się załadować Twojego zespołu cmux. Sprawdź połączenie z internetem i spróbuj ponownie." } }, - "th": { + "pt-BR": { "stringUnit": { "state": "translated", - "value": "ปิด" + "value": "Não foi possível carregar sua equipe cmux. Verifique sua conexão com a internet e tente novamente." } }, - "tr": { + "ru": { "stringUnit": { "state": "translated", - "value": "Kapalı" + "value": "Не удалось загрузить вашу команду cmux. Проверьте подключение к интернету и попробуйте ещё раз." } }, - "uk": { + "th": { "stringUnit": { "state": "translated", - "value": "Вимкнено" + "value": "ไม่สามารถโหลดทีม cmux ของคุณได้ ตรวจสอบการเชื่อมต่ออินเทอร์เน็ตแล้วลองอีกครั้ง" } }, - "zh-Hans": { + "tr": { "stringUnit": { "state": "translated", - "value": "关闭" + "value": "cmux ekibiniz yüklenemedi. İnternet bağlantınızı kontrol edip tekrar deneyin." } }, - "zh-Hant": { + "uk": { "stringUnit": { "state": "translated", - "value": "關閉" + "value": "Не вдалося завантажити вашу команду cmux. Перевірте підключення до інтернету й спробуйте ще раз." } } } }, - "settings.app.reorderOnNotification.modeSubtitle": { + "command.newPaneAutoLayout.title": { "extractionState": "manual", "localizations": { "ar": { "stringUnit": { "state": "translated", - "value": "ينقل مساحات العمل إلى الأعلى عندما تتلقى إشعارًا. مع نشاط الوكيل، ينقلها أيضًا عندما ترسل مطالبة أو ينهي وكيل دورة أو يحتاج إلى إدخال أو يفشل، لكن ليس أبدًا أثناء وجود المؤشر فوق الشريط الجانبي. الإيقاف يحافظ على ثبات مواضع الاختصارات." + "value": "لوحة جديدة (تخطيط تلقائي)" } }, "bs": { "stringUnit": { "state": "translated", - "value": "Pomjera radne prostore na vrh kada prime obavještenje. Aktivnost agenata ih pomjera i kada pošaljete upit ili agent završi potez, treba unos ili ne uspije, ali nikad dok je pokazivač iznad bočne trake. Isključeno čuva stabilne pozicije prečica." + "value": "Novi panel (automatski raspored)" } }, "da": { "stringUnit": { "state": "translated", - "value": "Flytter arbejdsområder til toppen, når de modtager en notifikation. Agentaktivitet flytter dem også, når du sender en prompt eller en agent afslutter en tur, har brug for input eller fejler, men aldrig mens markøren er over sidepanelet. Fra holder genvejspositionerne stabile." + "value": "Nyt panel (automatisk layout)" } }, "de": { "stringUnit": { "state": "translated", - "value": "Verschiebt Workspaces nach oben, wenn sie eine Benachrichtigung erhalten. Mit Agentenaktivität auch dann, wenn Sie einen Prompt senden oder ein Agent einen Durchlauf beendet, eine Eingabe braucht oder fehlschlägt, aber nie, während der Zeiger über der Seitenleiste ist. Aus hält die Positionen der Tastenkürzel stabil." + "value": "Neuer Bereich (automatisches Layout)" } }, "en": { "stringUnit": { "state": "translated", - "value": "Move workspaces to the top when they receive a notification. Agent Activity also moves them when you send a prompt or an agent finishes a turn, needs input, or fails, but never while you point at the sidebar. Off keeps shortcut positions stable." + "value": "New Pane (Auto Layout)" } }, "es": { "stringUnit": { "state": "translated", - "value": "Mueve los espacios de trabajo arriba cuando reciben una notificación. Con Actividad de agentes, también cuando envías un prompt o un agente termina un turno, necesita una respuesta o falla, pero nunca mientras el puntero está sobre la barra lateral. Desactivado mantiene estables las posiciones de los atajos." + "value": "Nuevo panel (diseño automático)" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Place les espaces de travail en haut lorsqu’ils reçoivent une notification. Avec Activité des agents, aussi lorsque vous envoyez un prompt ou qu’un agent termine un tour, attend une saisie ou échoue, mais jamais pendant que le pointeur survole la barre latérale. Désactivé garde les positions des raccourcis stables." + "value": "Nouveau panneau (disposition automatique)" } }, "it": { "stringUnit": { "state": "translated", - "value": "Sposta gli spazi di lavoro in cima quando ricevono una notifica. Attività degli agenti li sposta anche quando invii un prompt o un agente termina un turno, attende un input o fallisce, ma mai mentre il puntatore è sulla barra laterale. Disattivato mantiene stabili le posizioni delle scorciatoie." + "value": "Nuovo pannello (layout automatico)" } }, "ja": { "stringUnit": { "state": "translated", - "value": "通知を受け取ったワークスペースを先頭に移動します。「エージェントのアクティビティ」では、プロンプトを送信したときや、エージェントがターンを終えたとき、入力を待っているとき、失敗したときにも移動しますが、ポインタがサイドバー上にある間は移動しません。「オフ」ではショートカットの位置が変わりません。" + "value": "新しいペイン(自動レイアウト)" } }, "ko": { "stringUnit": { "state": "translated", - "value": "알림을 받으면 워크스페이스를 맨 위로 옮깁니다. 에이전트 활동을 선택하면 프롬프트를 보내거나 에이전트가 턴을 마치거나 입력이 필요하거나 실패할 때도 옮기지만, 포인터가 사이드바 위에 있을 때는 옮기지 않습니다. 끔은 단축키 위치를 고정합니다." + "value": "새 패널 (자동 레이아웃)" } }, "nb": { "stringUnit": { "state": "translated", - "value": "Flytter arbeidsområder til toppen når de mottar et varsel. Agentaktivitet flytter dem også når du sender en ledetekst eller en agent fullfører en runde, trenger input eller feiler, men aldri mens pekeren er over sidefeltet. Av holder snarveisposisjonene stabile." + "value": "Nytt panel (automatisk oppsett)" } }, "pl": { "stringUnit": { "state": "translated", - "value": "Przenosi obszary robocze na górę, gdy otrzymają powiadomienie. Aktywność agentów przenosi je także, gdy wyślesz prompt lub agent zakończy turę, potrzebuje danych lub zakończy się błędem, ale nigdy, gdy wskaźnik jest nad paskiem bocznym. Wyłączone zachowuje stałe pozycje skrótów." + "value": "Nowy panel (układ automatyczny)" } }, "pt-BR": { "stringUnit": { "state": "translated", - "value": "Move os espaços de trabalho para o topo quando recebem uma notificação. Atividade dos agentes também os move quando você envia um prompt ou um agente termina um turno, precisa de uma resposta ou falha, mas nunca enquanto o ponteiro está sobre a barra lateral. Desativado mantém as posições dos atalhos estáveis." + "value": "Novo Painel (Layout Automático)" } }, "ru": { "stringUnit": { "state": "translated", - "value": "Перемещает рабочие области наверх, когда они получают уведомление. «Активность агентов» также перемещает их, когда вы отправляете запрос или агент завершает ход, ждёт ввода или завершается с ошибкой, но никогда, пока указатель находится над боковой панелью. «Выкл.» сохраняет позиции сочетаний клавиш." + "value": "Новая панель (автоматическая раскладка)" } }, "th": { "stringUnit": { "state": "translated", - "value": "ย้ายเวิร์กสเปซขึ้นด้านบนเมื่อได้รับการแจ้งเตือน กิจกรรมของเอเจนต์จะย้ายเมื่อคุณส่งพรอมต์หรือเอเจนต์จบรอบ ต้องการข้อมูล หรือล้มเหลวด้วย แต่จะไม่ย้ายขณะที่ตัวชี้อยู่เหนือแถบด้านข้าง ปิดจะคงตำแหน่งของทางลัดไว้" + "value": "บานหน้าต่างใหม่ (จัดวางอัตโนมัติ)" } }, "tr": { "stringUnit": { "state": "translated", - "value": "Bildirim aldıklarında çalışma alanlarını en üste taşır. Ajan etkinliği, bir istem gönderdiğinizde, bir ajan turunu bitirdiğinde, girdi beklediğinde veya başarısız olduğunda da taşır, ancak işaretçi kenar çubuğunun üzerindeyken asla taşımaz. Kapalı, kısayol konumlarını sabit tutar." + "value": "Yeni Bölme (Otomatik Düzen)" } }, "uk": { "stringUnit": { "state": "translated", - "value": "Переміщує робочі області вгору, коли вони отримують сповіщення. «Активність агентів» також переміщує їх, коли ви надсилаєте запит або агент завершує хід, чекає на введення або завершується з помилкою, але ніколи, поки вказівник над бічною панеллю. «Вимкнено» зберігає позиції скорочень." + "value": "Нова панель (автоматичне розташування)" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "工作区收到通知时移到顶部。选择“代理活动”时,你发送提示词或代理完成一轮、需要输入或失败时也会移动,但指针停在侧边栏上时绝不移动。关闭可让快捷键位置保持不变。" + "value": "新建窗格(自动布局)" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "工作區收到通知時移到頂部。選擇「代理活動」時,你送出提示詞或代理完成一輪、需要輸入或失敗時也會移動,但指標停在側邊欄上時絕不移動。關閉可讓快捷鍵位置保持不變。" + "value": "新增窗格(自動佈局)" } } } }, - "cli.restore.notice.routedLauncherUnavailable": { + "shortcut.newPaneAutoLayout.label": { "extractionState": "manual", "localizations": { - "en": { + "ar": { "stringUnit": { "state": "translated", - "value": "restore: this session was started through the routed launcher '%@', which is not on PATH. Resuming the agent directly instead." + "value": "لوحة جديدة (تخطيط تلقائي)" } }, - "ja": { + "bs": { "stringUnit": { "state": "translated", - "value": "restore: このセッションはルーティングされたランチャー「%@」経由で開始されましたが、PATH にありません。代わりにエージェントを直接再開します。" + "value": "Novi panel (automatski raspored)" } }, - "zh-Hans": { + "da": { "stringUnit": { "state": "translated", - "value": "restore:此会话是通过路由启动器“%@”启动的,但它不在 PATH 中。将改为直接恢复该代理。" + "value": "Nyt panel (automatisk layout)" } }, "de": { "stringUnit": { "state": "translated", - "value": "restore: Diese Sitzung wurde über den weitergeleiteten Launcher „%@“ gestartet, der nicht im PATH liegt. Der Agent wird stattdessen direkt fortgesetzt." + "value": "Neuer Bereich (automatisches Layout)" } }, - "fr": { + "en": { "stringUnit": { "state": "translated", - "value": "restore : cette session a été lancée via le lanceur routé « %@ », qui est introuvable dans le PATH. Reprise directe de l'agent à la place." + "value": "New Pane (Auto Layout)" } }, - "ar": { + "es": { "stringUnit": { "state": "translated", - "value": "restore: بدأت هذه الجلسة عبر المشغّل الموجَّه '%@'، وهو غير موجود في PATH. سيتم استئناف الوكيل مباشرةً بدلاً من ذلك." + "value": "Nuevo panel (diseño automático)" } }, - "es": { + "fr": { "stringUnit": { "state": "translated", - "value": "restore: esta sesión se inició mediante el lanzador enrutado '%@', que no está en el PATH. Se reanudará el agente directamente." + "value": "Nouveau panneau (disposition automatique)" } }, - "zh-Hant": { + "it": { "stringUnit": { "state": "translated", - "value": "restore:此工作階段是透過路由啟動器「%@」啟動的,但它不在 PATH 中。將改為直接繼續該代理程式。" + "value": "Nuovo pannello (layout automatico)" + } + }, + "ja": { + "stringUnit": { + "state": "translated", + "value": "新しいペイン(自動レイアウト)" } }, "ko": { "stringUnit": { "state": "translated", - "value": "restore: 이 세션은 라우팅된 런처 '%@'를 통해 시작되었지만 PATH에 없습니다. 대신 에이전트를 직접 재개합니다." + "value": "새 패널 (자동 레이아웃)" } - } - } - }, - "sidebar.extensions.action.noSpaceForPane": { - "extractionState": "manual", - "localizations": { - "en": { + }, + "nb": { "stringUnit": { "state": "translated", - "value": "No space for new pane" + "value": "Nytt panel (automatisk oppsett)" } }, - "ar": { + "pl": { "stringUnit": { "state": "translated", - "value": "لا توجد مساحة للوحة جديدة" + "value": "Nowy panel (układ automatyczny)" } }, - "de": { + "pt-BR": { "stringUnit": { "state": "translated", - "value": "Kein Platz für einen neuen Bereich" + "value": "Novo Painel (Layout Automático)" } }, - "es": { + "ru": { "stringUnit": { "state": "translated", - "value": "No hay espacio para un panel nuevo" + "value": "Новая панель (автоматическая раскладка)" } }, - "fr": { + "th": { "stringUnit": { "state": "translated", - "value": "Pas de place pour un nouveau panneau" + "value": "บานหน้าต่างใหม่ (จัดวางอัตโนมัติ)" } }, - "ja": { + "tr": { "stringUnit": { "state": "translated", - "value": "新しいペインを置く場所がありません" + "value": "Yeni Bölme (Otomatik Düzen)" } }, - "ko": { + "uk": { "stringUnit": { "state": "translated", - "value": "새 창을 위한 공간이 없습니다" + "value": "Нова панель (автоматичне розташування)" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "没有空间容纳新窗格" + "value": "新建窗格(自动布局)" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "沒有空間容納新窗格" + "value": "新增窗格(自動佈局)" } } } }, - "cli.focus.defaultHelp": { + "socket.terminal.notRunning.awaitingRestore": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Default: focus when run interactively, stay in the background when run by an agent or script." + "value": "cmux is still restoring the terminal after it reopened and is checking which agent session to resume. Retry in a few seconds." } }, - "ja": { + "ar": { "stringUnit": { "state": "translated", - "value": "既定: 対話的に実行した場合はフォーカスし、エージェントやスクリプトから実行した場合はバックグラウンドのままにします。" + "value": "لا يزال cmux يستعيد الطرفية بعد إعادة فتحه ويتحقق من جلسة الوكيل التي يجب استئنافها. أعد المحاولة بعد بضع ثوانٍ." } }, "de": { "stringUnit": { "state": "translated", - "value": "Standard: bei interaktiver Ausführung fokussieren, bei Ausführung durch einen Agenten oder ein Skript im Hintergrund bleiben." - } - }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Par défaut : prend le focus en exécution interactive, reste en arrière-plan quand un agent ou un script l’exécute." - } - }, - "ar": { - "stringUnit": { - "state": "translated", - "value": "الافتراضي: التركيز عند التشغيل التفاعلي، والبقاء في الخلفية عند التشغيل بواسطة وكيل أو برنامج نصي." + "value": "cmux stellt das Terminal nach dem erneuten Öffnen noch wieder her und prüft, welche Agent-Sitzung fortgesetzt werden soll. Versuche es in ein paar Sekunden erneut." } }, "es": { "stringUnit": { "state": "translated", - "value": "Predeterminado: enfoca al ejecutarse de forma interactiva y se queda en segundo plano cuando lo ejecuta un agente o un script." - } - }, - "zh-Hant": { - "stringUnit": { - "state": "translated", - "value": "預設:互動執行時取得焦點;由代理程式或指令稿執行時保持在背景。" - } - }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "默认:交互式运行时获得焦点;由代理或脚本运行时保持在后台。" + "value": "cmux todavía está restaurando la terminal después de volver a abrirse y comprueba qué sesión de agente reanudar. Vuelve a intentarlo en unos segundos." } }, - "ko": { - "stringUnit": { - "state": "translated", - "value": "기본값: 대화형으로 실행하면 포커스를 가져오고, 에이전트나 스크립트가 실행하면 백그라운드에 머뭅니다." - } - } - } - }, - "cli.help.openFocusFlags": { - "extractionState": "manual", - "localizations": { - "en": { + "fr": { "stringUnit": { "state": "translated", - "value": "Focus:\n --focus Switch to the new workspace\n --no-focus Open it in the background" + "value": "cmux restaure encore le terminal après sa réouverture et vérifie quelle session d’agent reprendre. Réessayez dans quelques secondes." } }, "ja": { "stringUnit": { "state": "translated", - "value": "フォーカス:\n --focus 新しいワークスペースに切り替えます\n --no-focus バックグラウンドで開きます" - } - }, - "de": { - "stringUnit": { - "state": "translated", - "value": "Fokus:\n --focus Zum neuen Workspace wechseln\n --no-focus Im Hintergrund öffnen" - } - }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Focus :\n --focus Bascule vers le nouvel espace de travail\n --no-focus L’ouvre en arrière-plan" + "value": "cmux は再起動後にターミナルを復元中で、再開するエージェントセッションを確認しています。数秒後に再試行してください。" } }, - "ar": { + "ko": { "stringUnit": { "state": "translated", - "value": "التركيز:\n --focus ينتقل إلى مساحة العمل الجديدة\n --no-focus يفتحها في الخلفية" + "value": "cmux가 다시 열린 후 터미널을 아직 복원하는 중이며 어떤 에이전트 세션을 재개할지 확인하고 있습니다. 몇 초 후에 다시 시도하세요." } }, - "es": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "Foco:\n --focus Cambia al nuevo espacio de trabajo\n --no-focus Lo abre en segundo plano" + "value": "cmux 重新打开后仍在恢复此终端,并确认要恢复哪个代理会话。请几秒后重试。" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "焦點:\n --focus 切換到新的工作區\n --no-focus 在背景開啟" + "value": "cmux 重新開啟後仍在還原此終端機,並確認要恢復哪個代理工作階段。請幾秒後再試。" } }, - "zh-Hans": { + "bs": { "stringUnit": { "state": "translated", - "value": "焦点:\n --focus 切换到新的工作区\n --no-focus 在后台打开" + "value": "cmux još vraća terminal nakon ponovnog otvaranja i provjerava koju sesiju agenta treba nastaviti. Pokušajte ponovo za nekoliko sekundi." } }, - "ko": { + "da": { "stringUnit": { "state": "translated", - "value": "포커스:\n --focus 새 워크스페이스로 전환합니다\n --no-focus 백그라운드에서 엽니다" + "value": "cmux gendanner stadig terminalen efter genåbning og tjekker, hvilken agentsession der skal genoptages. Prøv igen om et par sekunder." } - } - } - }, - "settings.app.compactAgentStatus": { - "extractionState": "manual", - "localizations": { - "en": { + }, + "it": { "stringUnit": { "state": "translated", - "value": "Compact Agent Status" + "value": "cmux sta ancora ripristinando il terminale dopo la riapertura e verifica quale sessione dell’agente riprendere. Riprova tra qualche secondo." } }, - "ar": { + "km": { "stringUnit": { "state": "translated", - "value": "حالة الوكيل المختصرة" + "value": "cmux នៅតែកំពុងស្ដារទែមីណាល់ឡើងវិញ បន្ទាប់ពីបើកម្ដងទៀត ហើយកំពុងពិនិត្យមើលថាត្រូវបន្តវគ្គភ្នាក់ងារមួយណា។ សូមព្យាយាមម្ដងទៀតក្នុងរយៈពេលពីរបីវិនាទី។" } }, - "de": { + "nb": { "stringUnit": { "state": "translated", - "value": "Kompakter Agentenstatus" + "value": "cmux gjenoppretter fortsatt terminalen etter at den ble åpnet på nytt, og sjekker hvilken agentøkt som skal gjenopptas. Prøv igjen om noen sekunder." } }, - "es": { + "pl": { "stringUnit": { "state": "translated", - "value": "Estado de agente compacto" + "value": "cmux wciąż przywraca terminal po ponownym otwarciu i sprawdza, którą sesję agenta wznowić. Spróbuj ponownie za kilka sekund." } }, - "fr": { + "pt-BR": { "stringUnit": { "state": "translated", - "value": "Statut d’agent compact" + "value": "O cmux ainda está restaurando o terminal após ser reaberto e verificando qual sessão do agente retomar. Tente novamente em alguns segundos." } }, - "ja": { + "ru": { "stringUnit": { "state": "translated", - "value": "エージェント状態のコンパクト表示" + "value": "cmux ещё восстанавливает терминал после повторного открытия и проверяет, какой сеанс агента возобновить. Повторите попытку через несколько секунд." } }, - "ko": { + "th": { "stringUnit": { "state": "translated", - "value": "간결한 에이전트 상태" + "value": "cmux ยังคงกู้คืนเทอร์มินัลหลังจากเปิดใหม่ และกำลังตรวจสอบว่าจะทำเซสชันเอเจนต์ใดต่อ ลองอีกครั้งในอีกไม่กี่วินาที" } }, - "zh-Hans": { + "tr": { "stringUnit": { "state": "translated", - "value": "精简代理状态" + "value": "cmux yeniden açıldıktan sonra terminali hâlâ geri yüklüyor ve hangi ajan oturumunun sürdürüleceğini denetliyor. Birkaç saniye sonra yeniden deneyin." } }, - "zh-Hant": { + "uk": { "stringUnit": { "state": "translated", - "value": "精簡代理狀態" + "value": "cmux ще відновлює термінал після повторного відкриття та перевіряє, який сеанс агента відновити. Спробуйте ще раз за кілька секунд." } } } }, - "settings.app.compactAgentStatus.subtitle": { + "socket.terminal.notRunning.closing": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Show a workspace's agent, unread and pull request state as one colored icon before the title instead of separate rows. Hover the icon for details." + "value": "The terminal is closing and cannot be read." } }, "ar": { "stringUnit": { "state": "translated", - "value": "إظهار حالة الوكيل والعناصر غير المقروءة وطلب السحب لمساحة العمل كأيقونة ملونة واحدة قبل العنوان بدلاً من صفوف منفصلة. مرّر المؤشر فوق الأيقونة لعرض التفاصيل." + "value": "الطرفية قيد الإغلاق ولا يمكن قراءتها." } }, "de": { "stringUnit": { "state": "translated", - "value": "Agenten-, Ungelesen- und Pull-Request-Status eines Workspace als ein farbiges Symbol vor dem Titel anzeigen statt in eigenen Zeilen. Details erscheinen, wenn du den Zeiger über das Symbol bewegst." + "value": "Das Terminal wird geschlossen und kann nicht gelesen werden." } }, "es": { "stringUnit": { "state": "translated", - "value": "Mostrar el estado del agente, lo no leído y la pull request de un espacio de trabajo como un único icono de color antes del título, en lugar de filas separadas. Pasa el cursor sobre el icono para ver los detalles." + "value": "La terminal se está cerrando y no se puede leer." } }, "fr": { "stringUnit": { "state": "translated", - "value": "Afficher l’état de l’agent, des éléments non lus et de la pull request d’un espace de travail sous forme d’une seule icône colorée avant le titre, au lieu de lignes distinctes. Survolez l’icône pour voir les détails." + "value": "Le terminal est en cours de fermeture et ne peut pas être lu." } }, "ja": { "stringUnit": { "state": "translated", - "value": "ワークスペースのエージェント、未読、プルリクエストの状態を、個別の行ではなくタイトルの前の色付きアイコン1つで示します。詳細はアイコンにポインタを合わせると表示されます。" + "value": "ターミナルは閉じられているため読み取れません。" } }, "ko": { "stringUnit": { "state": "translated", - "value": "워크스페이스의 에이전트, 읽지 않음, 풀 리퀘스트 상태를 별도의 줄이 아니라 제목 앞의 색상 아이콘 하나로 나타냅니다. 자세한 내용은 아이콘 위에 포인터를 올려 확인하세요." + "value": "터미널이 닫히는 중이라 읽을 수 없습니다." } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "用标题前的单个彩色图标表示工作区的代理、未读和拉取请求状态,而不是各自占一行。将指针悬停在图标上可查看详细信息。" + "value": "此终端正在关闭,无法读取。" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "以標題前的單一彩色圖示表示工作區的代理、未讀與拉取請求狀態,而非各自佔一行。將游標移到圖示上可查看詳細資訊。" + "value": "此終端機正在關閉,無法讀取。" } - } - } - }, - "settings.search.alias.setting.app.compact-agent-status": { - "extractionState": "manual", - "localizations": { - "ar": { + }, + "bs": { "stringUnit": { "state": "translated", - "value": "sidebar.compactAgentStatus compact agent status running needs input glyph icon title line dense claude codex مختصر وكيل حالة أيقونة سطر العنوان" + "value": "Terminal se zatvara i ne može se pročitati." } }, - "de": { + "da": { "stringUnit": { "state": "translated", - "value": "sidebar.compactAgentStatus compact agent status running needs input glyph icon title line dense claude codex kompakt Agent Status Symbol Titelzeile" + "value": "Terminalen lukkes og kan ikke læses." } }, - "en": { + "it": { "stringUnit": { "state": "translated", - "value": "sidebar.compactAgentStatus compact agent status running needs input glyph icon title line dense claude codex" + "value": "Il terminale si sta chiudendo e non può essere letto." } }, - "es": { + "km": { "stringUnit": { "state": "translated", - "value": "sidebar.compactAgentStatus compact agent status running needs input glyph icon title line dense claude codex compacto agente estado icono línea de título" + "value": "ទែមីណាល់កំពុងបិទ ហើយមិនអាចអានបានទេ។" } }, - "fr": { + "nb": { "stringUnit": { "state": "translated", - "value": "sidebar.compactAgentStatus compact agent status running needs input glyph icon title line dense claude codex compact agent statut icône ligne de titre" + "value": "Terminalen lukkes og kan ikke leses." } }, - "ja": { + "pl": { "stringUnit": { "state": "translated", - "value": "sidebar.compactAgentStatus compact agent status running needs input glyph icon title line dense claude codex コンパクト エージェント 状態 アイコン タイトル行" + "value": "Terminal jest zamykany i nie można go odczytać." } }, - "ko": { + "pt-BR": { "stringUnit": { "state": "translated", - "value": "sidebar.compactAgentStatus compact agent status running needs input glyph icon title line dense claude codex 간결 에이전트 상태 아이콘 제목 줄" + "value": "O terminal está sendo fechado e não pode ser lido." } }, - "zh-Hans": { + "ru": { "stringUnit": { "state": "translated", - "value": "sidebar.compactAgentStatus compact agent status running needs input glyph icon title line dense claude codex 精简 代理 状态 图标 标题行" + "value": "Терминал закрывается, и его нельзя прочитать." } }, - "zh-Hant": { + "th": { "stringUnit": { "state": "translated", - "value": "sidebar.compactAgentStatus compact agent status running needs input glyph icon title line dense claude codex 精簡 代理 狀態 圖示 標題列" + "value": "เทอร์มินัลกำลังปิดและไม่สามารถอ่านได้" + } + }, + "tr": { + "stringUnit": { + "state": "translated", + "value": "Terminal kapanıyor ve okunamıyor." + } + }, + "uk": { + "stringUnit": { + "state": "translated", + "value": "Термінал закривається, і його не можна прочитати." } } } }, - "sidebar.agentStatus.glyph.tooltip": { + "socket.terminal.notRunning.hibernated": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "%1$@: %2$@" + "value": "The terminal is hibernated: cmux suspended its idle agent to save memory. Wake it by showing it (this brings its window to the front), then retry: %@" } }, "ar": { "stringUnit": { "state": "translated", - "value": "%1$@: %2$@" + "value": "الطرفية في وضع السبات: أوقف cmux وكيلها الخامل مؤقتًا لتوفير الذاكرة. أيقظها بعرضها (يؤدي ذلك إلى إحضار نافذتها إلى المقدمة)، ثم أعد المحاولة: %@" } }, "de": { "stringUnit": { "state": "translated", - "value": "%1$@: %2$@" + "value": "Das Terminal ruht: cmux hat seinen inaktiven Agenten angehalten, um Speicher zu sparen. Wecke es, indem du es anzeigst (dadurch kommt sein Fenster in den Vordergrund), und versuche es dann erneut: %@" } }, "es": { "stringUnit": { "state": "translated", - "value": "%1$@: %2$@" + "value": "La terminal está hibernada: cmux suspendió su agente inactivo para ahorrar memoria. Despiértala mostrándola (esto trae su ventana al frente) y vuelve a intentarlo: %@" } }, "fr": { "stringUnit": { "state": "translated", - "value": "%1$@ : %2$@" + "value": "Le terminal est en veille : cmux a suspendu son agent inactif pour économiser de la mémoire. Réveillez-le en l’affichant (sa fenêtre passe au premier plan), puis réessayez : %@" } }, "ja": { "stringUnit": { "state": "translated", - "value": "%1$@:%2$@" + "value": "ターミナルは休止中です。cmux がメモリ節約のためアイドル状態のエージェントを停止しました。表示すると再開します(ウィンドウが前面に出ます)。その後、再試行してください: %@" } }, "ko": { "stringUnit": { "state": "translated", - "value": "%1$@: %2$@" + "value": "터미널이 최대 절전 상태입니다. cmux가 메모리를 절약하려고 유휴 에이전트를 일시 중단했습니다. 터미널을 표시해 깨운 후(창이 앞으로 옵니다) 다시 시도하세요: %@" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "%1$@:%2$@" + "value": "此终端已休眠:cmux 暂停了其空闲的代理以节省内存。显示它即可唤醒(这会将其窗口带到最前面),然后重试:%@" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "%1$@:%2$@" + "value": "此終端機已休眠:cmux 暫停了其閒置的代理以節省記憶體。顯示它即可喚醒(這會將其視窗帶到最前面),然後再試一次:%@" } - } - } - }, - "sidebar.compactStatus.profile": { - "extractionState": "manual", - "localizations": { - "en": { + }, + "bs": { "stringUnit": { "state": "translated", - "value": "Profile" + "value": "Terminal je u hibernaciji: cmux je pauzirao njegovog neaktivnog agenta radi uštede memorije. Probudite ga tako što ćete ga prikazati (njegov prozor prelazi u prvi plan), pa pokušajte ponovo: %@" } }, - "ar": { + "da": { "stringUnit": { "state": "translated", - "value": "الملف الشخصي" + "value": "Terminalen er i dvale: cmux har sat dens inaktive agent på pause for at spare hukommelse. Væk den ved at vise den (dens vindue kommer forrest), og prøv igen: %@" } }, - "de": { + "it": { "stringUnit": { "state": "translated", - "value": "Profil" + "value": "Il terminale è ibernato: cmux ha sospeso il suo agente inattivo per risparmiare memoria. Riattivalo mostrandolo (la sua finestra passa in primo piano), quindi riprova: %@" } }, - "es": { + "km": { "stringUnit": { "state": "translated", - "value": "Perfil" + "value": "ទែមីណាល់កំពុងសម្រាក៖ cmux បានផ្អាកភ្នាក់ងារដែលទំនេររបស់វា ដើម្បីសន្សំអង្គចងចាំ។ ដាស់វាដោយបង្ហាញវា (បង្អួចរបស់វានឹងមកខាងមុខ) រួចព្យាយាមម្ដងទៀត៖ %@" } }, - "fr": { + "nb": { "stringUnit": { "state": "translated", - "value": "Profil" + "value": "Terminalen er i dvale: cmux har satt den inaktive agenten på pause for å spare minne. Vekk den ved å vise den (vinduet kommer i forgrunnen), og prøv igjen: %@" } }, - "ja": { + "pl": { "stringUnit": { "state": "translated", - "value": "プロファイル" + "value": "Terminal jest uśpiony: cmux wstrzymał jego bezczynnego agenta, aby oszczędzić pamięć. Wybudź go, wyświetlając go (jego okno przejdzie na pierwszy plan), a potem spróbuj ponownie: %@" } }, - "ko": { + "pt-BR": { "stringUnit": { "state": "translated", - "value": "프로필" + "value": "O terminal está hibernado: o cmux suspendeu o agente ocioso para economizar memória. Desperte-o exibindo-o (a janela vem para a frente) e tente novamente: %@" } }, - "zh-Hans": { + "ru": { "stringUnit": { "state": "translated", - "value": "配置文件" + "value": "Терминал в спящем режиме: cmux приостановил неактивного агента, чтобы сэкономить память. Разбудите его, показав терминал (его окно выйдет на передний план), и повторите попытку: %@" } }, - "zh-Hant": { + "th": { "stringUnit": { "state": "translated", - "value": "設定檔" + "value": "เทอร์มินัลอยู่ในโหมดพัก: cmux หยุดเอเจนต์ที่ไม่ได้ใช้งานชั่วคราวเพื่อประหยัดหน่วยความจำ ปลุกโดยแสดงเทอร์มินัล (หน้าต่างจะมาอยู่ด้านหน้า) แล้วลองอีกครั้ง: %@" + } + }, + "tr": { + "stringUnit": { + "state": "translated", + "value": "Terminal hazırda bekliyor: cmux bellek tasarrufu için boştaki ajanını askıya aldı. Onu göstererek uyandırın (penceresi öne gelir), ardından yeniden deneyin: %@" + } + }, + "uk": { + "stringUnit": { + "state": "translated", + "value": "Термінал у режимі сну: cmux призупинив неактивного агента, щоб заощадити пам’ять. Розбудіть його, показавши термінал (його вікно перейде на передній план), і спробуйте ще раз: %@" } } } }, - "terminal.clipboardReadConfirmation.deny": { + "socket.terminal.notRunning.hibernatedNoCommand": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Deny" + "value": "The terminal is hibernated: cmux suspended its idle agent to save memory. Show the terminal in cmux to wake it, then retry." } }, "ar": { "stringUnit": { "state": "translated", - "value": "رفض" + "value": "الطرفية في وضع السبات: أوقف cmux وكيلها الخامل مؤقتًا لتوفير الذاكرة. اعرض الطرفية في cmux لإيقاظها، ثم أعد المحاولة." } }, "de": { "stringUnit": { "state": "translated", - "value": "Ablehnen" + "value": "Das Terminal ruht: cmux hat seinen inaktiven Agenten angehalten, um Speicher zu sparen. Zeige das Terminal in cmux an, um es zu wecken, und versuche es dann erneut." } }, "es": { "stringUnit": { "state": "translated", - "value": "Denegar" + "value": "La terminal está hibernada: cmux suspendió su agente inactivo para ahorrar memoria. Muestra la terminal en cmux para despertarla y vuelve a intentarlo." } }, "fr": { "stringUnit": { "state": "translated", - "value": "Refuser" + "value": "Le terminal est en veille : cmux a suspendu son agent inactif pour économiser de la mémoire. Affichez le terminal dans cmux pour le réveiller, puis réessayez." } }, "ja": { "stringUnit": { "state": "translated", - "value": "拒否" + "value": "ターミナルは休止中です。cmux がメモリ節約のためアイドル状態のエージェントを停止しました。cmux でターミナルを表示して再開してから、再試行してください。" } }, "ko": { "stringUnit": { "state": "translated", - "value": "거부" + "value": "터미널이 최대 절전 상태입니다. cmux가 메모리를 절약하려고 유휴 에이전트를 일시 중단했습니다. cmux에서 터미널을 표시해 깨운 후 다시 시도하세요." } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "拒绝" + "value": "此终端已休眠:cmux 暂停了其空闲的代理以节省内存。请在 cmux 中显示此终端以唤醒它,然后重试。" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "拒絕" + "value": "此終端機已休眠:cmux 暫停了其閒置的代理以節省記憶體。請在 cmux 中顯示此終端機以喚醒它,然後再試一次。" } }, "bs": { "stringUnit": { "state": "translated", - "value": "Odbij" + "value": "Terminal je u hibernaciji: cmux je pauzirao njegovog neaktivnog agenta radi uštede memorije. Prikažite terminal u cmuxu da ga probudite, pa pokušajte ponovo." } }, "da": { "stringUnit": { "state": "translated", - "value": "Afvis" + "value": "Terminalen er i dvale: cmux har sat dens inaktive agent på pause for at spare hukommelse. Vis terminalen i cmux for at vække den, og prøv igen." } }, "it": { "stringUnit": { "state": "translated", - "value": "Nega" + "value": "Il terminale è ibernato: cmux ha sospeso il suo agente inattivo per risparmiare memoria. Mostra il terminale in cmux per riattivarlo, quindi riprova." } }, "km": { "stringUnit": { "state": "translated", - "value": "បដិសេធ" + "value": "ទែមីណាល់កំពុងសម្រាក៖ cmux បានផ្អាកភ្នាក់ងារដែលទំនេររបស់វា ដើម្បីសន្សំអង្គចងចាំ។ បង្ហាញទែមីណាល់នៅក្នុង cmux ដើម្បីដាស់វា រួចព្យាយាមម្ដងទៀត។" } }, "nb": { "stringUnit": { "state": "translated", - "value": "Avslå" + "value": "Terminalen er i dvale: cmux har satt den inaktive agenten på pause for å spare minne. Vis terminalen i cmux for å vekke den, og prøv igjen." } }, "pl": { "stringUnit": { "state": "translated", - "value": "Odmów" + "value": "Terminal jest uśpiony: cmux wstrzymał jego bezczynnego agenta, aby oszczędzić pamięć. Wyświetl terminal w cmux, aby go wybudzić, a potem spróbuj ponownie." } }, "pt-BR": { "stringUnit": { "state": "translated", - "value": "Negar" + "value": "O terminal está hibernado: o cmux suspendeu o agente ocioso para economizar memória. Mostre o terminal no cmux para despertá-lo e tente novamente." } }, "ru": { "stringUnit": { "state": "translated", - "value": "Запретить" + "value": "Терминал в спящем режиме: cmux приостановил неактивного агента, чтобы сэкономить память. Покажите терминал в cmux, чтобы разбудить его, и повторите попытку." } }, "th": { "stringUnit": { "state": "translated", - "value": "ปฏิเสธ" + "value": "เทอร์มินัลอยู่ในโหมดพัก: cmux หยุดเอเจนต์ที่ไม่ได้ใช้งานชั่วคราวเพื่อประหยัดหน่วยความจำ แสดงเทอร์มินัลใน cmux เพื่อปลุก แล้วลองอีกครั้ง" } }, "tr": { "stringUnit": { "state": "translated", - "value": "Reddet" + "value": "Terminal hazırda bekliyor: cmux bellek tasarrufu için boştaki ajanını askıya aldı. Uyandırmak için terminali cmux'ta gösterin, ardından yeniden deneyin." } }, "uk": { "stringUnit": { "state": "translated", - "value": "Заборонити" + "value": "Термінал у режимі сну: cmux призупинив неактивного агента, щоб заощадити пам’ять. Покажіть термінал у cmux, щоб розбудити його, і спробуйте ще раз." } } } }, - "terminal.clipboardReadConfirmation.message": { + "socket.terminal.notRunning.starting": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "A program in this terminal wants to read your clipboard. Allow it only if you trust the program." + "value": "The terminal has not started yet. Retry in a few seconds." } }, "ar": { "stringUnit": { "state": "translated", - "value": "يريد برنامج في هذه الطرفية قراءة الحافظة. اسمح بذلك فقط إذا كنت تثق بالبرنامج." + "value": "لم تبدأ الطرفية بعد. أعد المحاولة بعد بضع ثوانٍ." } }, "de": { "stringUnit": { "state": "translated", - "value": "Ein Programm in diesem Terminal möchte deine Zwischenablage lesen. Erlaube es nur, wenn du dem Programm vertraust." + "value": "Das Terminal wurde noch nicht gestartet. Versuche es in ein paar Sekunden erneut." } }, "es": { "stringUnit": { "state": "translated", - "value": "Un programa de esta terminal quiere leer tu portapapeles. Permítelo solo si confías en el programa." + "value": "La terminal aún no se ha iniciado. Vuelve a intentarlo en unos segundos." } }, "fr": { "stringUnit": { "state": "translated", - "value": "Un programme de ce terminal veut lire votre presse-papiers. Ne l’autorisez que si vous faites confiance à ce programme." + "value": "Le terminal n’a pas encore démarré. Réessayez dans quelques secondes." } }, "ja": { "stringUnit": { "state": "translated", - "value": "このターミナルのプログラムがクリップボードを読み取ろうとしています。信頼できるプログラムの場合にのみ許可してください。" + "value": "ターミナルはまだ起動していません。数秒後に再試行してください。" } }, "ko": { "stringUnit": { "state": "translated", - "value": "이 터미널의 프로그램이 클립보드를 읽으려고 합니다. 프로그램을 신뢰할 수 있을 때만 허용하세요." + "value": "터미널이 아직 시작되지 않았습니다. 몇 초 후에 다시 시도하세요." } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "此终端中的程序想要读取你的剪贴板。只有在你信任该程序时才允许。" + "value": "此终端尚未启动。请几秒后重试。" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "此終端機中的程式想要讀取你的剪貼簿。只有在你信任該程式時才允許。" + "value": "此終端機尚未啟動。請幾秒後再試。" } }, "bs": { "stringUnit": { "state": "translated", - "value": "Program u ovom terminalu želi čitati vaš međuspremnik. Dozvolite samo ako vjerujete programu." + "value": "Terminal se još nije pokrenuo. Pokušajte ponovo za nekoliko sekundi." } }, "da": { "stringUnit": { "state": "translated", - "value": "Et program i denne terminal vil læse din udklipsholder. Tillad det kun, hvis du har tillid til programmet." + "value": "Terminalen er ikke startet endnu. Prøv igen om et par sekunder." } }, "it": { "stringUnit": { "state": "translated", - "value": "Un programma in questo terminale vuole leggere gli appunti. Consentilo solo se ti fidi del programma." + "value": "Il terminale non è ancora stato avviato. Riprova tra qualche secondo." } }, "km": { "stringUnit": { "state": "translated", - "value": "កម្មវិធីក្នុងស្ថានីយនេះចង់អានក្ដារតម្បៀតខ្ទាស់របស់អ្នក។ អនុញ្ញាតតែបើអ្នកទុកចិត្តកម្មវិធីនេះ។" + "value": "ទែមីណាល់មិនទាន់បានចាប់ផ្តើមនៅឡើយទេ។ សូមព្យាយាមម្ដងទៀតក្នុងរយៈពេលពីរបីវិនាទី។" } }, "nb": { "stringUnit": { "state": "translated", - "value": "Et program i denne terminalen vil lese utklippstavlen din. Tillat det bare hvis du stoler på programmet." + "value": "Terminalen har ikke startet ennå. Prøv igjen om noen sekunder." } }, "pl": { "stringUnit": { "state": "translated", - "value": "Program w tym terminalu chce odczytać schowek. Zezwól tylko, jeśli ufasz temu programowi." + "value": "Terminal jeszcze się nie uruchomił. Spróbuj ponownie za kilka sekund." } }, "pt-BR": { "stringUnit": { "state": "translated", - "value": "Um programa neste terminal quer ler sua área de transferência. Permita somente se você confiar no programa." + "value": "O terminal ainda não foi iniciado. Tente novamente em alguns segundos." } }, "ru": { "stringUnit": { "state": "translated", - "value": "Программа в этом терминале хочет прочитать буфер обмена. Разрешайте только программам, которым доверяете." + "value": "Терминал ещё не запущен. Повторите попытку через несколько секунд." } }, "th": { "stringUnit": { "state": "translated", - "value": "โปรแกรมในเทอร์มินัลนี้ต้องการอ่านคลิปบอร์ดของคุณ อนุญาตเฉพาะเมื่อคุณเชื่อถือโปรแกรมนี้" + "value": "เทอร์มินัลยังไม่ได้เริ่มทำงาน ลองอีกครั้งในอีกไม่กี่วินาที" } }, "tr": { "stringUnit": { "state": "translated", - "value": "Bu terminaldeki bir program panonuzu okumak istiyor. Yalnızca programa güveniyorsanız izin verin." + "value": "Terminal henüz başlamadı. Birkaç saniye sonra yeniden deneyin." } }, "uk": { "stringUnit": { "state": "translated", - "value": "Програма в цьому терміналі хоче прочитати ваш буфер обміну. Дозволяйте, лише якщо довіряєте програмі." + "value": "Термінал ще не запущено. Спробуйте ще раз за кілька секунд." } } } }, - "terminal.clipboardReadConfirmation.title": { + "cli.restoreSession.help": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Allow Clipboard Access?" - } - }, - "ar": { - "stringUnit": { - "state": "translated", - "value": "السماح بالوصول إلى الحافظة؟" + "value": "Usage: cmux restore-session\n cmux restore-session --from <stable|nightly|rc|staging|debug:<tag>|path>\n cmux restore-session --export <path> [--force]\n\nReopen the previous saved cmux session.\n\nIf the app is already running, this restores the last saved session into the current app.\nIf the app is not running, this launches cmux and lets startup restore reopen the saved session.\n\nEach cmux install (stable, nightly, rc, staging, tagged debug builds) saves its own session.\n--from <channel> Reopen another install's saved session in this running cmux, for example\n after trying nightly and switching back to stable. The session opens as\n additional windows; the other install's saved file is only read.\n--from <path> Reopen a session file written by --export.\n--export <path> Write this cmux's saved session to a file. Pass --force to replace an\n existing file.\n\n--from and --export require cmux to be running." } }, "de": { "stringUnit": { "state": "translated", - "value": "Zugriff auf die Zwischenablage erlauben?" - } - }, - "es": { - "stringUnit": { - "state": "translated", - "value": "¿Permitir el acceso al portapapeles?" + "value": "Verwendung: cmux restore-session\n cmux restore-session --from <stable|nightly|rc|staging|debug:<tag>|path>\n cmux restore-session --export <path> [--force]\n\nDie zuletzt gespeicherte cmux-Sitzung erneut öffnen.\n\nLäuft die App bereits, wird die zuletzt gespeicherte Sitzung in der aktuellen App wiederhergestellt.\nLäuft die App nicht, wird cmux gestartet und die gespeicherte Sitzung beim Start wiederhergestellt.\n\nJede cmux-Installation (stable, nightly, rc, staging, getaggte Debug-Builds) speichert ihre eigene Sitzung.\n--from <channel> Die gespeicherte Sitzung einer anderen Installation in diesem laufenden cmux öffnen,\n z. B. nachdem Sie nightly ausprobiert haben und zu stable zurückkehren. Die Sitzung\n öffnet sich in zusätzlichen Fenstern; die Datei der anderen Installation wird nur gelesen.\n--from <path> Eine mit --export geschriebene Sitzungsdatei öffnen.\n--export <path> Die gespeicherte Sitzung dieses cmux in eine Datei schreiben. Mit --force wird eine\n vorhandene Datei ersetzt.\n\n--from und --export setzen ein laufendes cmux voraus." } }, "fr": { "stringUnit": { "state": "translated", - "value": "Autoriser l’accès au presse-papiers ?" + "value": "Utilisation : cmux restore-session\n cmux restore-session --from <stable|nightly|rc|staging|debug:<tag>|path>\n cmux restore-session --export <path> [--force]\n\nRouvrir la dernière session cmux enregistrée.\n\nSi l'app est déjà ouverte, la dernière session enregistrée est restaurée dans l'app actuelle.\nSi l'app n'est pas ouverte, cmux est lancé et la restauration au démarrage rouvre la session enregistrée.\n\nChaque installation de cmux (stable, nightly, rc, staging, builds debug avec tag) enregistre sa propre session.\n--from <channel> Rouvrir la session enregistrée d'une autre installation dans ce cmux en cours, par exemple\n après avoir essayé nightly puis être revenu à stable. La session s'ouvre dans des fenêtres\n supplémentaires ; le fichier de l'autre installation est seulement lu.\n--from <path> Rouvrir un fichier de session écrit par --export.\n--export <path> Écrire la session enregistrée de ce cmux dans un fichier. Ajoutez --force pour remplacer\n un fichier existant.\n\n--from et --export nécessitent que cmux soit ouvert." } }, - "ja": { + "es": { "stringUnit": { "state": "translated", - "value": "クリップボードへのアクセスを許可しますか?" + "value": "Uso: cmux restore-session\n cmux restore-session --from <stable|nightly|rc|staging|debug:<tag>|path>\n cmux restore-session --export <path> [--force]\n\nVuelve a abrir la última sesión guardada de cmux.\n\nSi la app ya está abierta, restaura la última sesión guardada en la app actual.\nSi la app no está abierta, inicia cmux y deja que la restauración de inicio vuelva a abrir la sesión guardada.\n\nCada instalación de cmux (stable, nightly, rc, staging, builds de depuración con etiqueta) guarda su propia sesión.\n--from <channel> Abre en este cmux la sesión guardada de otra instalación, por ejemplo después de\n probar nightly y volver a stable. La sesión se abre en ventanas adicionales; el archivo\n de la otra instalación solo se lee.\n--from <path> Abre un archivo de sesión escrito con --export.\n--export <path> Escribe en un archivo la sesión guardada de este cmux. Usa --force para reemplazar un\n archivo existente.\n\n--from y --export requieren que cmux esté abierto." } }, - "ko": { + "ja": { "stringUnit": { "state": "translated", - "value": "클립보드 접근을 허용하시겠습니까?" + "value": "使い方: cmux restore-session\n cmux restore-session --from <stable|nightly|rc|staging|debug:<tag>|path>\n cmux restore-session --export <path> [--force]\n\n前回保存した cmux セッションを再度開きます。\n\nアプリがすでに起動している場合は、最後に保存したセッションを現在のアプリに復元します。\nアプリが起動していない場合は、cmux を起動し、起動時の復元で保存済みセッションを開きます。\n\ncmux の各インストール(stable、nightly、rc、staging、タグ付き debug ビルド)はそれぞれ独自のセッションを保存します。\n--from <channel> 別のインストールで保存したセッションを、起動中のこの cmux で開きます。たとえば nightly を\n 試したあと stable に戻る場合に使います。セッションは追加のウインドウとして開き、別の\n インストールのファイルは読み取るだけです。\n--from <path> --export で書き出したセッションファイルを開きます。\n--export <path> この cmux の保存済みセッションをファイルに書き出します。既存のファイルを置き換えるには\n --force を指定します。\n\n--from と --export を使うには cmux が起動している必要があります。" } }, - "zh-Hans": { + "ar": { "stringUnit": { "state": "translated", - "value": "允许访问剪贴板?" + "value": "الاستخدام: cmux restore-session\n cmux restore-session --from <stable|nightly|rc|staging|debug:<tag>|path>\n cmux restore-session --export <path> [--force]\n\nأعد فتح آخر جلسة cmux محفوظة.\n\nإذا كان التطبيق يعمل بالفعل، فستُستعاد آخر جلسة محفوظة في التطبيق الحالي.\nإذا لم يكن التطبيق يعمل، فسيُشغَّل cmux وتعيد استعادة بدء التشغيل فتح الجلسة المحفوظة.\n\nيحفظ كل تثبيت من cmux (stable وnightly وrc وstaging وإصدارات debug الموسومة) جلسته الخاصة.\n--from <channel> افتح الجلسة المحفوظة لتثبيت آخر في cmux الذي يعمل الآن، مثلًا\n بعد تجربة nightly والعودة إلى stable. تُفتح الجلسة في\n نوافذ إضافية، ويُقرأ ملف التثبيت الآخر فقط.\n--from <path> افتح ملف جلسة كتبه الأمر --export.\n--export <path> اكتب الجلسة المحفوظة لهذا cmux في ملف. استخدم --force لاستبدال\n ملف موجود.\n\nيتطلب --from و--export أن يكون cmux قيد التشغيل." } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "允許存取剪貼簿?" + "value": "用法: cmux restore-session\n cmux restore-session --from <stable|nightly|rc|staging|debug:<tag>|path>\n cmux restore-session --export <path> [--force]\n\n重新開啟上次儲存的 cmux 工作階段。\n\n如果 App 已在執行,會將上次儲存的工作階段還原到目前的 App 中。\n如果 App 未執行,會啟動 cmux,並由啟動還原重新開啟已儲存的工作階段。\n\n每個 cmux 安裝(stable、nightly、rc、staging、帶標籤的 debug 建置)都會儲存自己的工作階段。\n--from <channel> 在執行中的 cmux 開啟另一個安裝儲存的工作階段,例如\n 試用 nightly 後切回 stable。工作階段會以\n 額外視窗開啟;另一個安裝的檔案只會被讀取。\n--from <path> 開啟由 --export 寫出的工作階段檔案。\n--export <path> 將此 cmux 儲存的工作階段寫入檔案。使用 --force 可取代\n 既有檔案。\n\n--from 和 --export 需要 cmux 正在執行。" } }, - "bs": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "Dozvoliti pristup međuspremniku?" + "value": "用法: cmux restore-session\n cmux restore-session --from <stable|nightly|rc|staging|debug:<tag>|path>\n cmux restore-session --export <path> [--force]\n\n重新打开上次保存的 cmux 会话。\n\n如果应用已在运行,会将上次保存的会话恢复到当前应用中。\n如果应用未运行,会启动 cmux,并由启动恢复重新打开保存的会话。\n\n每个 cmux 安装(stable、nightly、rc、staging、带标签的 debug 构建)都会保存自己的会话。\n--from <channel> 在正在运行的 cmux 中打开另一个安装保存的会话,例如\n 试用 nightly 后切回 stable。会话会以\n 额外窗口打开;另一个安装的会话文件只会被读取。\n--from <path> 打开由 --export 写出的会话文件。\n--export <path> 将此 cmux 保存的会话写入文件。使用 --force 可替换\n 已有文件。\n\n--from 和 --export 需要 cmux 正在运行。" } }, - "da": { + "ko": { "stringUnit": { "state": "translated", - "value": "Tillad adgang til udklipsholderen?" + "value": "사용법: cmux restore-session\n cmux restore-session --from <stable|nightly|rc|staging|debug:<tag>|path>\n cmux restore-session --export <path> [--force]\n\n마지막으로 저장된 cmux 세션을 다시 엽니다.\n\n앱이 이미 실행 중이면 마지막으로 저장된 세션을 현재 앱에 복원합니다.\n앱이 실행 중이 아니면 cmux를 실행하고 시작 복원이 저장된 세션을 다시 열도록 합니다.\n\n각 cmux 설치(stable, nightly, rc, staging, 태그가 지정된 debug 빌드)는 자체 세션을 저장합니다.\n--from <channel> 다른 설치에 저장된 세션을 실행 중인 이 cmux에서 엽니다. 예를 들어\n nightly를 사용해 본 뒤 stable로 돌아올 때 사용합니다. 세션은\n 추가 창으로 열리며, 다른 설치의 파일은 읽기만 합니다.\n--from <path> --export로 작성한 세션 파일을 엽니다.\n--export <path> 이 cmux에 저장된 세션을 파일로 씁니다. 기존 파일을 바꾸려면\n --force를 사용하세요.\n\n--from과 --export를 사용하려면 cmux가 실행 중이어야 합니다." } - }, - "it": { + } + } + }, + "session.export.error.destinationExists": { + "extractionState": "manual", + "localizations": { + "en": { "stringUnit": { "state": "translated", - "value": "Consentire l'accesso agli appunti?" + "value": "%@ already exists. Pass --force to replace it." } }, - "km": { + "ar": { "stringUnit": { "state": "translated", - "value": "អនុញ្ញាតឱ្យចូលប្រើក្ដារតម្បៀតខ្ទាស់?" + "value": "%@ موجود بالفعل. استخدم --force لاستبداله." } }, - "nb": { + "de": { "stringUnit": { "state": "translated", - "value": "Tillat tilgang til utklippstavlen?" + "value": "%@ ist bereits vorhanden. Verwenden Sie --force, um die Datei zu ersetzen." } }, - "pl": { + "es": { "stringUnit": { "state": "translated", - "value": "Zezwolić na dostęp do schowka?" + "value": "%@ ya existe. Usa --force para reemplazarlo." } }, - "pt-BR": { + "fr": { "stringUnit": { "state": "translated", - "value": "Permitir acesso à área de transferência?" + "value": "%@ existe déjà. Ajoutez --force pour le remplacer." } }, - "ru": { + "ja": { "stringUnit": { "state": "translated", - "value": "Разрешить доступ к буферу обмена?" + "value": "%@ はすでに存在します。置き換えるには --force を指定してください。" } }, - "th": { + "ko": { "stringUnit": { "state": "translated", - "value": "อนุญาตให้เข้าถึงคลิปบอร์ดหรือไม่?" + "value": "%@ 파일이 이미 있습니다. 바꾸려면 --force를 사용하세요." } }, - "tr": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "Panoya erişime izin verilsin mi?" + "value": "%@ 已存在。使用 --force 以替换它。" } }, - "uk": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "Дозволити доступ до буфера обміну?" + "value": "%@ 已存在。使用 --force 以取代它。" } } } }, - "notification.remoteRelay.hostFallback": { + "session.export.error.destinationIsLive": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Remote host" + "value": "%@ is this cmux's own session file. Choose another path." } }, "ar": { "stringUnit": { "state": "translated", - "value": "مضيف بعيد" + "value": "%@ هو ملف الجلسة الخاص بهذا الـ cmux. اختر مسارًا آخر." } }, "de": { "stringUnit": { "state": "translated", - "value": "Remote-Host" + "value": "%@ ist die eigene Sitzungsdatei dieses cmux. Wählen Sie einen anderen Pfad." } }, "es": { "stringUnit": { "state": "translated", - "value": "Host remoto" + "value": "%@ es el archivo de sesión de este cmux. Elige otra ruta." } }, "fr": { "stringUnit": { "state": "translated", - "value": "Hôte distant" + "value": "%@ est le fichier de session de ce cmux. Choisissez un autre chemin." } }, "ja": { "stringUnit": { "state": "translated", - "value": "リモートホスト" + "value": "%@ はこの cmux 自身のセッションファイルです。別のパスを指定してください。" } }, "ko": { "stringUnit": { "state": "translated", - "value": "원격 호스트" + "value": "%@ 파일은 이 cmux의 세션 파일입니다. 다른 경로를 선택하세요." } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "远程主机" + "value": "%@ 是此 cmux 自己的会话文件。请选择其他路径。" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "遠端主機" - } - }, - "bs": { - "stringUnit": { - "state": "translated", - "value": "Udaljeni host" - } - }, - "da": { - "stringUnit": { - "state": "translated", - "value": "Fjernvært" + "value": "%@ 是此 cmux 本身的工作階段檔案。請選擇其他路徑。" } - }, - "it": { + } + } + }, + "session.export.error.noSnapshot": { + "extractionState": "manual", + "localizations": { + "en": { "stringUnit": { "state": "translated", - "value": "Host remoto" + "value": "cmux has not saved a session yet. Try again in a few seconds." } }, - "km": { + "ar": { "stringUnit": { "state": "translated", - "value": "ម៉ាស៊ីនពីចម្ងាយ" + "value": "لم يحفظ cmux أي جلسة بعد. حاول مرة أخرى بعد بضع ثوانٍ." } }, - "nb": { + "de": { "stringUnit": { "state": "translated", - "value": "Ekstern vert" + "value": "cmux hat noch keine Sitzung gespeichert. Versuchen Sie es in ein paar Sekunden erneut." } }, - "pl": { + "es": { "stringUnit": { "state": "translated", - "value": "Zdalny host" + "value": "cmux aún no ha guardado ninguna sesión. Inténtalo de nuevo en unos segundos." } }, - "pt-BR": { + "fr": { "stringUnit": { "state": "translated", - "value": "Host remoto" + "value": "cmux n'a pas encore enregistré de session. Réessayez dans quelques secondes." } }, - "ru": { + "ja": { "stringUnit": { "state": "translated", - "value": "Удалённый хост" + "value": "cmux はまだセッションを保存していません。数秒後にもう一度お試しください。" } }, - "th": { + "ko": { "stringUnit": { "state": "translated", - "value": "โฮสต์ระยะไกล" + "value": "cmux가 아직 세션을 저장하지 않았습니다. 몇 초 후에 다시 시도하세요." } }, - "tr": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "Uzak ana bilgisayar" + "value": "cmux 尚未保存会话。请几秒后再试。" } }, - "uk": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "Віддалений хост" + "value": "cmux 尚未儲存工作階段。請過幾秒再試一次。" } } } }, - "notification.remoteRelay.title": { + "session.export.error.writeFailed": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "%1$@: %2$@" + "value": "Could not write %@." } }, "ar": { "stringUnit": { "state": "translated", - "value": "%1$@: %2$@" + "value": "تعذّرت كتابة %@." } }, "de": { "stringUnit": { "state": "translated", - "value": "%1$@: %2$@" + "value": "%@ konnte nicht geschrieben werden." } }, "es": { "stringUnit": { "state": "translated", - "value": "%1$@: %2$@" + "value": "No se pudo escribir %@." } }, "fr": { "stringUnit": { "state": "translated", - "value": "%1$@: %2$@" + "value": "Impossible d'écrire %@." } }, "ja": { "stringUnit": { "state": "translated", - "value": "%1$@: %2$@" + "value": "%@ を書き込めませんでした。" } }, "ko": { "stringUnit": { "state": "translated", - "value": "%1$@: %2$@" + "value": "%@ 파일을 쓸 수 없습니다." } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "%1$@: %2$@" + "value": "无法写入 %@。" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "%1$@: %2$@" - } - }, - "bs": { - "stringUnit": { - "state": "translated", - "value": "%1$@: %2$@" - } - }, - "da": { - "stringUnit": { - "state": "translated", - "value": "%1$@: %2$@" + "value": "無法寫入 %@。" } - }, - "it": { + } + } + }, + "session.import.error.fileNotFound": { + "extractionState": "manual", + "localizations": { + "en": { "stringUnit": { "state": "translated", - "value": "%1$@: %2$@" + "value": "No saved cmux session at %@." } }, - "km": { + "ar": { "stringUnit": { "state": "translated", - "value": "%1$@: %2$@" + "value": "لا توجد جلسة cmux محفوظة في %@." } }, - "nb": { + "de": { "stringUnit": { "state": "translated", - "value": "%1$@: %2$@" + "value": "Unter %@ gibt es keine gespeicherte cmux-Sitzung." } }, - "pl": { + "es": { "stringUnit": { "state": "translated", - "value": "%1$@: %2$@" + "value": "No hay ninguna sesión de cmux guardada en %@." } }, - "pt-BR": { + "fr": { "stringUnit": { "state": "translated", - "value": "%1$@: %2$@" + "value": "Aucune session cmux enregistrée à l'emplacement %@." } }, - "ru": { + "ja": { "stringUnit": { "state": "translated", - "value": "%1$@: %2$@" + "value": "%@ に保存された cmux セッションはありません。" } }, - "th": { + "ko": { "stringUnit": { "state": "translated", - "value": "%1$@: %2$@" + "value": "%@ 위치에 저장된 cmux 세션이 없습니다." } }, - "tr": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "%1$@: %2$@" + "value": "%@ 没有已保存的 cmux 会话。" } }, - "uk": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "%1$@: %2$@" + "value": "%@ 沒有已儲存的 cmux 工作階段。" } } } }, - "socket.mainActorHop.timeout.mayHaveRun": { + "session.import.error.newerSchema": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "cmux did not respond within 10 seconds after the command started, so its result is unknown. Check the effect before retrying." + "value": "%1$@ was saved by a newer cmux (session format %2$@, this cmux reads %3$@). Update cmux to import it." } }, - "ja": { + "ar": { "stringUnit": { "state": "translated", - "value": "コマンドの開始後 10 秒以内に cmux が応答しなかったため、結果は不明です。再試行する前に効果を確認してください。" + "value": "حُفظ %1$@ بواسطة إصدار أحدث من cmux (تنسيق الجلسة %2$@، ويقرأ هذا الـ cmux التنسيق %3$@). حدّث cmux لاستيراده." } }, - "zh-Hans": { + "de": { "stringUnit": { "state": "translated", - "value": "命令开始后 10 秒内 cmux 没有响应,因此结果未知。请先确认效果再重试。" + "value": "%1$@ wurde von einem neueren cmux gespeichert (Sitzungsformat %2$@, dieses cmux liest %3$@). Aktualisieren Sie cmux, um die Datei zu importieren." } }, - "de": { + "es": { "stringUnit": { "state": "translated", - "value": "cmux hat innerhalb von 10 Sekunden nach dem Start des Befehls nicht geantwortet, das Ergebnis ist daher unbekannt. Prüfe die Auswirkung, bevor du es erneut versuchst." + "value": "%1$@ se guardó con un cmux más reciente (formato de sesión %2$@; este cmux lee el %3$@). Actualiza cmux para importarlo." } }, "fr": { "stringUnit": { "state": "translated", - "value": "cmux n’a pas répondu dans les 10 secondes suivant le démarrage de la commande, son résultat est donc inconnu. Vérifiez l’effet avant de réessayer." + "value": "%1$@ a été enregistré par une version plus récente de cmux (format de session %2$@, ce cmux lit le format %3$@). Mettez cmux à jour pour l'importer." } }, - "ar": { + "ja": { "stringUnit": { "state": "translated", - "value": "لم يستجب cmux خلال 10 ثوانٍ بعد بدء الأمر، لذا فإن نتيجته غير معروفة. تحقق من الأثر قبل إعادة المحاولة." + "value": "%1$@ は新しい cmux で保存されています(セッション形式 %2$@、この cmux が読める形式は %3$@)。読み込むには cmux をアップデートしてください。" } }, - "es": { + "ko": { "stringUnit": { "state": "translated", - "value": "cmux no respondió en los 10 segundos posteriores al inicio del comando, por lo que su resultado es desconocido. Comprueba el efecto antes de reintentar." + "value": "%1$@ 파일은 더 새로운 cmux에서 저장되었습니다(세션 형식 %2$@, 이 cmux는 %3$@ 형식을 읽음). 가져오려면 cmux를 업데이트하세요." } }, - "zh-Hant": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "命令開始後 10 秒內 cmux 沒有回應,因此結果未知。請先確認效果再重試。" + "value": "%1$@ 由较新版本的 cmux 保存(会话格式 %2$@,此 cmux 读取 %3$@)。请更新 cmux 后再导入。" } }, - "ko": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "명령이 시작된 후 10초 안에 cmux가 응답하지 않아 결과를 알 수 없습니다. 다시 시도하기 전에 효과를 확인하세요." + "value": "%1$@ 是由較新版本的 cmux 儲存(工作階段格式 %2$@,此 cmux 讀取 %3$@)。請更新 cmux 後再匯入。" } } } }, - "socket.mainActorHop.timeout.notRun": { + "session.import.error.noWindows": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "cmux did not respond within 10 seconds, so the command was not run. Retry in a moment." + "value": "%@ has no windows to restore." } }, - "ja": { + "ar": { "stringUnit": { "state": "translated", - "value": "cmux が 10 秒以内に応答しなかったため、コマンドは実行されませんでした。しばらくしてから再試行してください。" + "value": "لا يحتوي %@ على نوافذ لاستعادتها." } }, - "zh-Hans": { + "de": { "stringUnit": { "state": "translated", - "value": "cmux 在 10 秒内没有响应,因此未运行该命令。请稍后重试。" + "value": "%@ enthält keine Fenster zum Wiederherstellen." } }, - "de": { + "es": { "stringUnit": { "state": "translated", - "value": "cmux hat innerhalb von 10 Sekunden nicht geantwortet, der Befehl wurde daher nicht ausgeführt. Versuche es gleich noch einmal." + "value": "%@ no tiene ventanas que restaurar." } }, "fr": { "stringUnit": { "state": "translated", - "value": "cmux n’a pas répondu dans les 10 secondes, la commande n’a donc pas été exécutée. Réessayez dans un instant." + "value": "%@ ne contient aucune fenêtre à restaurer." } }, - "ar": { + "ja": { "stringUnit": { "state": "translated", - "value": "لم يستجب cmux خلال 10 ثوانٍ، لذا لم يتم تنفيذ الأمر. أعد المحاولة بعد لحظات." + "value": "%@ には復元できるウインドウがありません。" } }, - "es": { + "ko": { "stringUnit": { "state": "translated", - "value": "cmux no respondió en 10 segundos, por lo que el comando no se ejecutó. Reintenta en un momento." + "value": "%@ 파일에 복원할 창이 없습니다." } }, - "zh-Hant": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "cmux 在 10 秒內沒有回應,因此未執行該命令。請稍後重試。" + "value": "%@ 没有可恢复的窗口。" } }, - "ko": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "cmux가 10초 안에 응답하지 않아 명령이 실행되지 않았습니다. 잠시 후 다시 시도하세요." + "value": "%@ 沒有可還原的視窗。" } } } }, - "socket.overloaded.message": { + "session.import.error.notASnapshot": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "cmux is handling too many control-socket requests right now, so this one was not run. Retry in a moment." + "value": "%@ is not a cmux session snapshot." } }, - "ja": { + "ar": { "stringUnit": { "state": "translated", - "value": "cmux は現在、制御ソケットの要求を処理しきれないため、この要求は実行されませんでした。しばらくしてから再試行してください。" + "value": "%@ ليس لقطة جلسة cmux." } }, - "zh-Hans": { + "de": { "stringUnit": { "state": "translated", - "value": "cmux 当前正在处理过多的控制套接字请求,因此未运行此请求。请稍后重试。" + "value": "%@ ist keine cmux-Sitzungsdatei." } }, - "de": { + "es": { "stringUnit": { "state": "translated", - "value": "cmux verarbeitet gerade zu viele Control-Socket-Anfragen, diese wurde daher nicht ausgeführt. Versuche es gleich noch einmal." + "value": "%@ no es una instantánea de sesión de cmux." } }, "fr": { "stringUnit": { "state": "translated", - "value": "cmux traite actuellement trop de requêtes du socket de contrôle, celle-ci n’a donc pas été exécutée. Réessayez dans un instant." + "value": "%@ n'est pas un instantané de session cmux." } }, - "ar": { + "ja": { "stringUnit": { "state": "translated", - "value": "يعالج cmux حاليًا عددًا كبيرًا جدًا من طلبات مقبس التحكم، لذا لم يتم تنفيذ هذا الطلب. أعد المحاولة بعد لحظات." + "value": "%@ は cmux のセッションスナップショットではありません。" } }, - "es": { + "ko": { "stringUnit": { "state": "translated", - "value": "cmux está gestionando demasiadas solicitudes del socket de control ahora mismo, por lo que esta no se ejecutó. Reintenta en un momento." + "value": "%@ 파일은 cmux 세션 스냅샷이 아닙니다." } }, - "zh-Hant": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "cmux 目前正在處理過多的控制 socket 請求,因此未執行此請求。請稍後重試。" + "value": "%@ 不是 cmux 会话快照。" } }, - "ko": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "cmux가 지금 너무 많은 제어 소켓 요청을 처리하고 있어 이 요청은 실행되지 않았습니다. 잠시 후 다시 시도하세요." + "value": "%@ 不是 cmux 工作階段快照。" } } } }, - "socket.request.cancelled": { + "session.import.error.nothingRestored": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Request was cancelled" + "value": "Nothing in %@ could be reopened." } }, - "ja": { + "ar": { "stringUnit": { "state": "translated", - "value": "リクエストはキャンセルされました" + "value": "تعذّر إعادة فتح أي شيء من %@." } }, - "zh-Hans": { + "de": { "stringUnit": { "state": "translated", - "value": "请求已取消" + "value": "Aus %@ konnte nichts wieder geöffnet werden." } }, - "de": { + "es": { "stringUnit": { "state": "translated", - "value": "Die Anfrage wurde abgebrochen" + "value": "No se pudo volver a abrir nada de %@." } }, "fr": { "stringUnit": { "state": "translated", - "value": "La requête a été annulée" + "value": "Aucun élément de %@ n'a pu être rouvert." } }, - "ar": { + "ja": { "stringUnit": { "state": "translated", - "value": "تم إلغاء الطلب" + "value": "%@ から再度開けるものはありませんでした。" } }, - "es": { + "ko": { "stringUnit": { "state": "translated", - "value": "Se canceló la solicitud" + "value": "%@ 파일에서 다시 열 수 있는 항목이 없습니다." } }, - "zh-Hant": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "請求已取消" + "value": "无法重新打开 %@ 中的任何内容。" } }, - "ko": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "요청이 취소되었습니다" + "value": "無法重新開啟 %@ 中的任何內容。" } } } }, - "socket.request.failedBeforeResult": { + "session.import.error.olderSchema": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Request failed before returning a result" + "value": "%1$@ uses an older session format (%2$@) that this cmux no longer reads (%3$@)." } }, - "ja": { + "ar": { "stringUnit": { "state": "translated", - "value": "結果を返す前にリクエストが失敗しました" + "value": "يستخدم %1$@ تنسيق جلسة أقدم (%2$@) لم يعد هذا الـ cmux يقرؤه (%3$@)." } }, - "zh-Hans": { + "de": { "stringUnit": { "state": "translated", - "value": "请求在返回结果之前失败" + "value": "%1$@ verwendet ein älteres Sitzungsformat (%2$@), das dieses cmux nicht mehr liest (%3$@)." } }, - "de": { + "es": { "stringUnit": { "state": "translated", - "value": "Die Anfrage ist fehlgeschlagen, bevor ein Ergebnis zurückgegeben wurde" + "value": "%1$@ usa un formato de sesión anterior (%2$@) que este cmux ya no lee (%3$@)." } }, "fr": { "stringUnit": { "state": "translated", - "value": "La requête a échoué avant de renvoyer un résultat" + "value": "%1$@ utilise un ancien format de session (%2$@) que ce cmux ne lit plus (%3$@)." } }, - "ar": { + "ja": { "stringUnit": { "state": "translated", - "value": "فشل الطلب قبل إرجاع نتيجة" + "value": "%1$@ はこの cmux が読み込まなくなった古いセッション形式(%2$@)を使用しています(%3$@)。" } }, - "es": { + "ko": { "stringUnit": { "state": "translated", - "value": "La solicitud falló antes de devolver un resultado" + "value": "%1$@ 파일은 이 cmux가 더 이상 읽지 않는 이전 세션 형식(%2$@)을 사용합니다(%3$@)." } }, - "zh-Hant": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "請求在傳回結果之前失敗" + "value": "%1$@ 使用较旧的会话格式(%2$@),此 cmux 已不再读取(%3$@)。" } }, - "ko": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "결과를 반환하기 전에 요청이 실패했습니다" + "value": "%1$@ 使用較舊的工作階段格式(%2$@),此 cmux 已不再讀取(%3$@)。" } } } }, - "agent.codex.fork.notice.body": { + "session.import.error.unknownChannel": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "cmux could not identify the new fork session. Start the fork again from the parent pane." + "value": "Unknown cmux channel \"%@\". Use stable, nightly, rc, staging, debug:<tag>, or a path to a session file." } }, - "ja": { + "ar": { "stringUnit": { "state": "translated", - "value": "cmux は新しいフォーク セッションを特定できませんでした。親ペインからもう一度フォークしてください。" + "value": "قناة cmux غير معروفة \"%@\". استخدم stable أو nightly أو rc أو staging أو debug:<tag> أو مسار ملف جلسة." } }, "de": { "stringUnit": { "state": "translated", - "value": "cmux konnte die neue Fork-Sitzung nicht erkennen. Starten Sie den Fork erneut im übergeordneten Pane." - } - }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "cmux n’a pas pu identifier la nouvelle session forkée. Relancez le fork depuis le volet parent." - } - }, - "ar": { - "stringUnit": { - "state": "translated", - "value": "تعذر على cmux تحديد جلسة التفريع الجديدة. ابدأ التفريع مرة أخرى من الجزء الأصلي." + "value": "Unbekannter cmux-Kanal \"%@\". Verwenden Sie stable, nightly, rc, staging, debug:<tag> oder einen Pfad zu einer Sitzungsdatei." } }, "es": { "stringUnit": { "state": "translated", - "value": "cmux no pudo identificar la nueva sesión bifurcada. Inicia el fork de nuevo desde el panel principal." + "value": "Canal de cmux desconocido \"%@\". Usa stable, nightly, rc, staging, debug:<tag> o la ruta de un archivo de sesión." } }, - "zh-Hant": { + "fr": { "stringUnit": { "state": "translated", - "value": "cmux 無法識別新的分支工作階段。請從父窗格重新開始分支。" + "value": "Canal cmux inconnu « %@ ». Utilisez stable, nightly, rc, staging, debug:<tag> ou le chemin d'un fichier de session." } }, - "zh-Hans": { + "ja": { "stringUnit": { "state": "translated", - "value": "cmux 无法识别新的分支会话。请从父窗格重新开始分支。" + "value": "不明な cmux チャンネル「%@」です。stable、nightly、rc、staging、debug:<tag>、またはセッションファイルのパスを指定してください。" } }, "ko": { "stringUnit": { "state": "translated", - "value": "cmux가 새 포크 세션을 식별하지 못했습니다. 부모 패널에서 포크를 다시 시작하세요." + "value": "알 수 없는 cmux 채널 \"%@\"입니다. stable, nightly, rc, staging, debug:<tag> 또는 세션 파일 경로를 사용하세요." } }, - "bs": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "cmux nije mogao prepoznati novu sesiju račvanja. Ponovo pokrenite račvanje iz nadređenog okna." + "value": "未知的 cmux 渠道“%@”。请使用 stable、nightly、rc、staging、debug:<tag> 或会话文件路径。" } }, - "da": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "cmux kunne ikke identificere den nye forgreningssession. Start forgreningen igen fra forældreruden." + "value": "未知的 cmux 通道「%@」。請使用 stable、nightly、rc、staging、debug:<tag> 或工作階段檔案路徑。" } - }, - "it": { + } + } + }, + "session.import.error.unreadable": { + "extractionState": "manual", + "localizations": { + "en": { "stringUnit": { "state": "translated", - "value": "cmux non ha potuto identificare la nuova sessione fork. Avvia di nuovo il fork dal riquadro principale." + "value": "Could not read %@." } }, - "km": { + "ar": { "stringUnit": { "state": "translated", - "value": "cmux មិនអាចកំណត់អត្តសញ្ញាណសម័យ fork ថ្មីបានទេ។ ចាប់ផ្ដើម fork ម្ដងទៀតពីផ្ទាំងមេ។" + "value": "تعذّرت قراءة %@." } }, - "nb": { + "de": { "stringUnit": { "state": "translated", - "value": "cmux kunne ikke identifisere den nye forgreningsøkten. Start forgreningen på nytt fra den overordnede ruten." + "value": "%@ konnte nicht gelesen werden." } }, - "pl": { + "es": { "stringUnit": { "state": "translated", - "value": "cmux nie mógł zidentyfikować nowej sesji forka. Uruchom fork ponownie z panelu nadrzędnego." + "value": "No se pudo leer %@." } }, - "pt-BR": { + "fr": { "stringUnit": { "state": "translated", - "value": "O cmux não conseguiu identificar a nova sessão bifurcada. Inicie o fork novamente no painel principal." + "value": "Impossible de lire %@." } }, - "ru": { + "ja": { "stringUnit": { "state": "translated", - "value": "cmux не удалось определить новый сеанс форка. Запустите форк снова из родительской панели." + "value": "%@ を読み込めませんでした。" } }, - "th": { + "ko": { "stringUnit": { "state": "translated", - "value": "cmux ไม่สามารถระบุเซสชันที่แยกใหม่ได้ เริ่มการแยกอีกครั้งจากบานหน้าต่างหลัก" + "value": "%@ 파일을 읽을 수 없습니다." } }, - "tr": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "cmux yeni fork oturumunu belirleyemedi. Fork'u üst panelden yeniden başlatın." + "value": "无法读取 %@。" } }, - "uk": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "cmux не вдалося визначити новий сеанс форка. Запустіть форк ще раз із батьківської панелі." + "value": "無法讀取 %@。" } } } }, - "agent.codex.fork.notice.parentClearFailed.body": { + "session.import.error.liveSnapshot": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "cmux could not safely bind the new fork session. Retry the fork from the parent pane." - } - }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "cmux は新しいフォーク セッションを安全にバインドできませんでした。親ペインからもう一度フォークしてください。" + "value": "%@ is the session this cmux is saving right now. Run cmux restore-session without --from to reopen the previous launch." } }, "de": { "stringUnit": { "state": "translated", - "value": "cmux konnte die neue Fork-Sitzung nicht sicher binden. Starten Sie den Fork erneut im übergeordneten Pane." + "value": "%@ ist die Sitzung, die dieses cmux gerade speichert. Führen Sie cmux restore-session ohne --from aus, um den vorherigen Start wieder zu öffnen." } }, "fr": { "stringUnit": { "state": "translated", - "value": "cmux n’a pas pu lier la nouvelle session forkée en toute sécurité. Relancez le fork depuis le volet parent." + "value": "%@ est la session que ce cmux enregistre actuellement. Exécutez cmux restore-session sans --from pour rouvrir le lancement précédent." } }, "ar": { "stringUnit": { "state": "translated", - "value": "تعذر على cmux ربط جلسة التفريع الجديدة بأمان. أعد بدء التفريع من الجزء الأصلي." + "value": "%@ هي الجلسة التي يحفظها cmux هذا الآن. شغّل cmux restore-session دون --from لإعادة فتح التشغيل السابق." } }, "es": { "stringUnit": { "state": "translated", - "value": "cmux no pudo vincular de forma segura la nueva sesión bifurcada. Inicia el fork de nuevo desde el panel principal." + "value": "%@ es la sesión que este cmux está guardando ahora. Ejecuta cmux restore-session sin --from para volver a abrir el inicio anterior." } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "cmux 無法安全繫結新的分支工作階段。請從父窗格重新開始分支。" + "value": "%@ 是此 cmux 目前正在儲存的工作階段。執行不含 --from 的 cmux restore-session 以重新開啟上次啟動的內容。" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "cmux 无法安全绑定新的分支会话。请从父窗格重新开始分支。" + "value": "%@ 是此 cmux 当前正在保存的会话。运行不带 --from 的 cmux restore-session 以重新打开上次启动的内容。" } }, "ko": { "stringUnit": { "state": "translated", - "value": "cmux가 새 포크 세션을 안전하게 연결하지 못했습니다. 부모 패널에서 포크를 다시 시작하세요." - } - }, - "bs": { - "stringUnit": { - "state": "translated", - "value": "cmux nije mogao sigurno povezati novu sesiju račvanja. Ponovo pokrenite račvanje iz nadređenog okna." + "value": "%@ 파일은 이 cmux가 지금 저장 중인 세션입니다. 이전 실행을 다시 열려면 --from 없이 cmux restore-session을 실행하세요." } }, - "da": { + "ja": { "stringUnit": { "state": "translated", - "value": "cmux kunne ikke binde den nye forgreningssession sikkert. Start forgreningen igen fra forældreruden." + "value": "%@ はこの cmux が現在保存しているセッションです。前回の起動を再度開くには、--from を付けずに cmux restore-session を実行してください。" } - }, - "it": { + } + } + }, + "machines.requiresPro.upgrade.short": { + "extractionState": "manual", + "localizations": { + "en": { "stringUnit": { "state": "translated", - "value": "cmux non ha potuto associare in sicurezza la nuova sessione fork. Avvia di nuovo il fork dal riquadro principale." + "value": "Upgrade" } }, - "km": { + "ar": { "stringUnit": { "state": "translated", - "value": "cmux មិនអាចភ្ជាប់សម័យ fork ថ្មីដោយសុវត្ថិភាពបានទេ។ ចាប់ផ្ដើម fork ម្ដងទៀតពីផ្ទាំងមេ។" + "value": "ترقية" } }, - "nb": { + "de": { "stringUnit": { "state": "translated", - "value": "cmux kunne ikke binde den nye forgreningsøkten på en trygg måte. Start forgreningen på nytt fra den overordnede ruten." + "value": "Upgraden" } }, - "pl": { + "es": { "stringUnit": { "state": "translated", - "value": "cmux nie mógł bezpiecznie powiązać nowej sesji forka. Uruchom fork ponownie z panelu nadrzędnego." + "value": "Actualizar" } }, - "pt-BR": { + "fr": { "stringUnit": { "state": "translated", - "value": "O cmux não conseguiu vincular com segurança a nova sessão bifurcada. Inicie o fork novamente no painel principal." + "value": "Mettre à niveau" } }, - "ru": { + "ja": { "stringUnit": { "state": "translated", - "value": "cmux не удалось безопасно привязать новый сеанс форка. Запустите форк снова из родительской панели." + "value": "アップグレード" } }, - "th": { + "ko": { "stringUnit": { "state": "translated", - "value": "cmux ไม่สามารถผูกเซสชันที่แยกใหม่ได้อย่างปลอดภัย เริ่มการแยกอีกครั้งจากบานหน้าต่างหลัก" + "value": "업그레이드" } }, - "tr": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "cmux yeni fork oturumunu güvenli bir şekilde bağlayamadı. Fork'u üst panelden yeniden başlatın." + "value": "升级" } }, - "uk": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "cmux не вдалося безпечно прив’язати новий сеанс форка. Запустіть форк ще раз із батьківської панелі." + "value": "升級" } } } }, - "agent.codex.fork.notice.subtitle": { + "machines.sessionRejected.signInAgain.short": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Fork unavailable" + "value": "Sign In" } }, - "ja": { + "ar": { "stringUnit": { "state": "translated", - "value": "フォークを利用できません" + "value": "تسجيل الدخول" } }, "de": { "stringUnit": { "state": "translated", - "value": "Fork nicht verfügbar" - } - }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "Fork indisponible" - } - }, - "ar": { - "stringUnit": { - "state": "translated", - "value": "التفريع غير متاح" + "value": "Anmelden" } }, "es": { "stringUnit": { "state": "translated", - "value": "Fork no disponible" + "value": "Iniciar sesión" } }, - "zh-Hant": { + "fr": { "stringUnit": { "state": "translated", - "value": "無法使用分支" + "value": "Se reconnecter" } }, - "zh-Hans": { + "ja": { "stringUnit": { "state": "translated", - "value": "分支不可用" + "value": "再サインイン" } }, "ko": { "stringUnit": { "state": "translated", - "value": "포크를 사용할 수 없음" + "value": "다시 로그인" } }, - "bs": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "Račvanje nije dostupno" + "value": "重新登录" } }, - "da": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "Fork ikke tilgængelig" + "value": "重新登入" } - }, - "it": { + } + } + }, + "machines.requiresPro.stale": { + "extractionState": "manual", + "localizations": { + "en": { "stringUnit": { "state": "translated", - "value": "Fork non disponibile" + "value": "Cloud machines need cmux Pro, showing last known" } }, - "km": { + "ar": { "stringUnit": { "state": "translated", - "value": "មិនអាចប្រើការបំបែកបាន" + "value": "تتطلب الأجهزة السحابية إصدار cmux Pro، يتم عرض آخر حالة معروفة" } }, - "nb": { + "de": { "stringUnit": { "state": "translated", - "value": "Fork utilgjengelig" + "value": "Cloud-Maschinen erfordern cmux Pro, zeige letzten bekannten Stand" } }, - "pl": { + "es": { "stringUnit": { "state": "translated", - "value": "Fork niedostępny" + "value": "Las máquinas en la nube requieren cmux Pro, se muestra el último estado conocido" } }, - "pt-BR": { + "fr": { "stringUnit": { "state": "translated", - "value": "Fork indisponível" + "value": "Les machines Cloud nécessitent cmux Pro, affichage des dernières informations connues" } }, - "ru": { + "ja": { "stringUnit": { "state": "translated", - "value": "Форк недоступен" + "value": "Cloud マシンには cmux Pro が必要です。最後の状態を表示中" } }, - "th": { + "ko": { "stringUnit": { "state": "translated", - "value": "ไม่สามารถใช้การแยกสาขาได้" + "value": "클라우드 머신을 사용하려면 cmux Pro가 필요함, 마지막으로 확인된 상태 표시 중" } }, - "tr": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "Fork kullanılamıyor" + "value": "云端机器需要 cmux Pro,显示的是最后已知状态" } }, - "uk": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "Форк недоступний" + "value": "雲端機器需要 cmux Pro,顯示上次已知的狀態" } } } }, - "agent.codex.fork.notice.title": { + "machines.sessionRejected.stale": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Agent fork" + "value": "Sign-in needs a refresh, showing last known" } }, - "ja": { + "ar": { "stringUnit": { "state": "translated", - "value": "エージェントフォーク" + "value": "يحتاج تسجيل الدخول إلى تحديث، يتم عرض آخر حالة معروفة" } }, "de": { "stringUnit": { "state": "translated", - "value": "Agent-Fork" + "value": "Anmeldung muss aktualisiert werden, zeige letzten bekannten Stand" } }, - "fr": { + "es": { "stringUnit": { "state": "translated", - "value": "Fork d’agent" + "value": "Es necesario actualizar el inicio de sesión, se muestra el último estado conocido" } }, - "ar": { + "fr": { "stringUnit": { "state": "translated", - "value": "تفريع الوكيل" + "value": "La connexion doit être actualisée, affichage des dernières informations connues" } }, - "es": { + "ja": { "stringUnit": { "state": "translated", - "value": "Fork del agente" + "value": "再サインインが必要です。最後の状態を表示中" } }, - "zh-Hant": { + "ko": { "stringUnit": { "state": "translated", - "value": "代理程式分支" + "value": "로그인 갱신 필요, 마지막으로 확인된 상태 표시 중" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "代理分支" + "value": "登录状态需要刷新,显示的是最后已知状态" } }, - "ko": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "에이전트 포크" + "value": "登入狀態需要重新整理,顯示上次已知的狀態" } - }, - "bs": { + } + } + }, + "cli.session.help": { + "extractionState": "manual", + "localizations": { + "en": { "stringUnit": { "state": "translated", - "value": "Račvanje agenta" + "value": "Usage: cmux session restore [--list] [--session <id>]...\n\nReopen Claude sessions that were running when cmux last quit unexpectedly.\ncmux finds them in the agent journal, skips any that are running or already\nopen, and resumes each in its own workspace through the launcher that started\nit.\n\nWithout --session, restore acts only after an unexpected quit.\n\nOptions:\n --list Show the sessions without restoring them.\n --session <id> Restore only this session (repeatable)." } }, - "da": { + "de": { "stringUnit": { "state": "translated", - "value": "Agentfork" + "value": "Verwendung: cmux session restore [--list] [--session <id>]...\n\nÖffnet Claude-Sitzungen erneut, die liefen, als cmux zuletzt unerwartet beendet wurde.\ncmux findet sie im Agent-Journal, überspringt laufende oder bereits geöffnete\nund setzt jede in einem eigenen Workspace\nüber den Launcher fort, der sie gestartet hat.\n\nOhne --session stellt restore nur nach einem unerwarteten Beenden wieder her.\n\nOptionen:\n --list Sitzungen anzeigen, ohne sie wiederherzustellen.\n --session <id> Nur diese Sitzung wiederherstellen (wiederholbar)." } }, - "it": { + "fr": { "stringUnit": { "state": "translated", - "value": "Fork dell'agente" + "value": "Utilisation : cmux session restore [--list] [--session <id>]...\n\nRouvre les sessions Claude en cours lorsque cmux s’est fermé de façon inattendue.\ncmux les trouve dans le journal des agents, ignore celles qui tournent ou sont déjà\nouvertes, et reprend chacune dans son propre espace de travail via le lanceur qui l’a\ndémarrée.\n\nSans --session, restore n’agit qu’après une fermeture inattendue.\n\nOptions :\n --list Afficher les sessions sans les restaurer.\n --session <id> Restaurer uniquement cette session (répétable)." } }, - "km": { + "ar": { "stringUnit": { "state": "translated", - "value": "ការបំបែកភ្នាក់ងារ" + "value": "الاستخدام: cmux session restore [--list] [--session <id>]...\n\nيعيد فتح جلسات Claude التي كانت قيد التشغيل عندما أُغلق cmux بشكل غير متوقع آخر مرة.\nيعثر cmux عليها في سجل الوكيل، ويتخطى ما يعمل منها أو المفتوح بالفعل،\nويستأنف كل جلسة في مساحة عمل خاصة بها\nعبر المشغّل الذي بدأها.\n\nبدون --session، لا تعمل الاستعادة إلا بعد إغلاق غير متوقع.\n\nالخيارات:\n --list عرض الجلسات دون استعادتها.\n --session <id> استعادة هذه الجلسة فقط (قابل للتكرار)." } }, - "nb": { + "es": { "stringUnit": { "state": "translated", - "value": "Agentforgrening" + "value": "Uso: cmux session restore [--list] [--session <id>]...\n\nVuelve a abrir las sesiones de Claude que estaban en ejecución cuando cmux se cerró inesperadamente.\ncmux las encuentra en el diario de agentes, omite las que están en ejecución o ya\nabiertas, y reanuda cada una en su propio espacio de trabajo mediante el lanzador que\nla inició.\n\nSin --session, restore solo actúa tras un cierre inesperado.\n\nOpciones:\n --list Mostrar las sesiones sin restaurarlas.\n --session <id> Restaurar solo esta sesión (repetible)." } }, - "pl": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "Fork agenta" + "value": "用法: cmux session restore [--list] [--session <id>]...\n\n重新開啟 cmux 上次意外結束時仍在執行的 Claude 工作階段。\ncmux 會從代理日誌中找出它們,略過仍在執行或已開啟的工作階段,\n並透過原本啟動它的啟動器\n在各自的工作區中繼續。\n\n未指定 --session 時,restore 只會在意外結束後執行。\n\n選項:\n --list 只列出工作階段,不還原。\n --session <id> 只還原此工作階段(可重複)。" } }, - "pt-BR": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "Fork do agente" + "value": "用法: cmux session restore [--list] [--session <id>]...\n\n重新打开 cmux 上次意外退出时仍在运行的 Claude 会话。\ncmux 会从代理日志中找到它们,跳过仍在运行或已打开的会话,\n并通过最初启动它的启动器\n在各自的工作区中继续。\n\n未指定 --session 时,restore 只会在意外退出后执行。\n\n选项:\n --list 只列出会话,不恢复。\n --session <id> 只恢复此会话(可重复)。" } }, - "ru": { + "ko": { "stringUnit": { "state": "translated", - "value": "Форк агента" + "value": "사용법: cmux session restore [--list] [--session <id>]...\n\ncmux가 마지막으로 예기치 않게 종료될 때 실행 중이던 Claude 세션을 다시 엽니다.\ncmux는 에이전트 저널에서 세션을 찾고, 실행 중이거나 이미 열려 있는 세션은 건너뛰며,\n각 세션을 시작한 런처를 통해\n자체 워크스페이스에서 이어갑니다.\n\n--session이 없으면 restore는 예기치 않은 종료 후에만 동작합니다.\n\n옵션:\n --list 복원하지 않고 세션만 표시합니다.\n --session <id> 이 세션만 복원합니다(반복 가능)." } }, - "th": { + "ja": { "stringUnit": { "state": "translated", - "value": "การแยกสาขาของเอเจนต์" - } - }, - "tr": { - "stringUnit": { - "state": "translated", - "value": "Ajan çatalı" - } - }, - "uk": { - "stringUnit": { - "state": "translated", - "value": "Форк агента" + "value": "使用法: cmux session restore [--list] [--session <id>]...\n\ncmux が前回予期せず終了したときに実行中だった Claude セッションを再び開きます。\ncmux はエージェントジャーナルからセッションを見つけ、実行中または既に開いている\nものはスキップし、それぞれを起動したランチャー経由で\n専用のワークスペースで再開します。\n\n--session を指定しない場合、restore は予期しない終了の後にのみ動作します。\n\nオプション:\n --list 復元せずにセッションを表示します。\n --session <id> このセッションのみ復元します(複数指定可)。" } } } }, - "socket.authTeam.committedStatusTimedOut": { + "cli.session.error.expectedRestore": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "The team change was applied, but cmux did not report the updated status within 10 seconds. Run `cmux auth status` to confirm." + "value": "session: expected 'restore' (see cmux help session)" } }, - "ja": { + "de": { "stringUnit": { "state": "translated", - "value": "チームの変更は適用されましたが、cmux は 10 秒以内に更新後のステータスを報告しませんでした。`cmux auth status` を実行して確認してください。" + "value": "session: 'restore' erwartet (siehe cmux help session)" } }, - "zh-Hans": { + "fr": { "stringUnit": { "state": "translated", - "value": "团队更改已应用,但 cmux 未能在 10 秒内报告更新后的状态。请运行 `cmux auth status` 确认。" + "value": "session : « restore » attendu (voir cmux help session)" } }, - "de": { + "ar": { "stringUnit": { "state": "translated", - "value": "Die Teamänderung wurde übernommen, aber cmux hat den aktualisierten Status nicht innerhalb von 10 Sekunden gemeldet. Führe `cmux auth status` aus, um es zu prüfen." + "value": "session: كان المتوقع 'restore' (راجع cmux help session)" } }, - "fr": { + "es": { "stringUnit": { "state": "translated", - "value": "Le changement d’équipe a été appliqué, mais cmux n’a pas signalé le statut mis à jour dans les 10 secondes. Exécutez `cmux auth status` pour confirmer." + "value": "session: se esperaba 'restore' (consulta cmux help session)" } }, - "ar": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "تم تطبيق تغيير الفريق، لكن cmux لم يُبلّغ عن الحالة المحدّثة خلال 10 ثوانٍ. شغّل `cmux auth status` للتأكيد." + "value": "session:應為 'restore'(請參閱 cmux help session)" } }, - "es": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "El cambio de equipo se aplicó, pero cmux no informó el estado actualizado en 10 segundos. Ejecuta `cmux auth status` para confirmarlo." + "value": "session:应为 'restore'(请参阅 cmux help session)" } }, - "zh-Hant": { + "ko": { "stringUnit": { "state": "translated", - "value": "團隊變更已套用,但 cmux 未能在 10 秒內回報更新後的狀態。請執行 `cmux auth status` 確認。" + "value": "session: 'restore'가 필요합니다(cmux help session 참조)" } }, - "ko": { + "ja": { "stringUnit": { "state": "translated", - "value": "팀 변경은 적용되었지만 cmux가 10초 안에 업데이트된 상태를 보고하지 않았습니다. `cmux auth status`를 실행해 확인하세요." + "value": "session: 'restore' が必要です(cmux help session を参照)" } } } }, - "settings.mobile.browserTunnel.allowOtherHosts": { + "cli.session.error.sessionRequiresId": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "iOS Browser Reaches Other Hosts" + "value": "session restore: --session requires an id" } }, "de": { "stringUnit": { "state": "translated", - "value": "iOS-Browser erreicht andere Hosts" + "value": "session restore: --session erfordert eine ID" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Le navigateur iOS accède aux autres hôtes" + "value": "session restore : --session nécessite un identifiant" } }, "ar": { "stringUnit": { "state": "translated", - "value": "متصفح iOS يصل إلى مضيفين آخرين" + "value": "session restore: يتطلب --session معرّفًا" } }, "es": { "stringUnit": { "state": "translated", - "value": "El navegador de iOS accede a otros hosts" + "value": "session restore: --session requiere un id" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "iOS 瀏覽器可連線至其他主機" + "value": "session restore:--session 需要一個 ID" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "iOS 浏览器可访问其他主机" + "value": "session restore:--session 需要一个 ID" } }, "ko": { "stringUnit": { "state": "translated", - "value": "iOS 브라우저의 다른 호스트 접근" + "value": "session restore: --session에는 ID가 필요합니다" } }, "ja": { "stringUnit": { "state": "translated", - "value": "iOSブラウザから他のホストに接続" + "value": "session restore: --session には ID が必要です" } } } }, - "settings.mobile.browserTunnel.allowOtherHosts.subtitleOn": { + "cli.session.error.unknownArgument": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "The iOS browser can load LAN, VPN, and internet hosts through this Mac. Link-local and cloud metadata addresses never go through this Mac; the phone loads them itself." + "value": "session restore: unknown argument '%@'" } }, "de": { "stringUnit": { "state": "translated", - "value": "Der iOS-Browser kann LAN-, VPN- und Internet-Hosts über diesen Mac laden. Link-Local- und Cloud-Metadatenadressen laufen nie über diesen Mac; das iPhone lädt sie selbst." + "value": "session restore: unbekanntes Argument '%@'" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Le navigateur iOS peut charger des hôtes du réseau local, du VPN et d’Internet via ce Mac. Les adresses link-local et de métadonnées cloud ne passent jamais par ce Mac ; l’iPhone les charge lui-même." + "value": "session restore : argument inconnu « %@ »" } }, "ar": { "stringUnit": { "state": "translated", - "value": "يمكن لمتصفح iOS تحميل مضيفي الشبكة المحلية وVPN والإنترنت عبر جهاز Mac هذا. لا تمر عناوين الارتباط المحلي وعناوين بيانات التعريف السحابية عبر جهاز Mac هذا أبدًا؛ يحمّلها iPhone بنفسه." + "value": "session restore: وسيط غير معروف '%@'" } }, "es": { "stringUnit": { "state": "translated", - "value": "El navegador de iOS puede cargar hosts de la red local, VPN e internet a través de este Mac. Las direcciones link-local y de metadatos en la nube nunca pasan por este Mac; el iPhone las carga por sí mismo." + "value": "session restore: argumento desconocido '%@'" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "iOS 瀏覽器可透過這台 Mac 載入區域網路、VPN 與網際網路主機。連結本機位址與雲端中繼資料位址絕不經過這台 Mac,由 iPhone 自行載入。" + "value": "session restore:未知的參數 '%@'" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "iOS 浏览器可通过这台 Mac 加载局域网、VPN 和互联网主机。链路本地地址和云元数据地址绝不经过这台 Mac,由 iPhone 自行加载。" + "value": "session restore:未知参数 '%@'" } }, "ko": { "stringUnit": { "state": "translated", - "value": "iOS 브라우저가 이 Mac을 통해 LAN, VPN, 인터넷 호스트를 불러올 수 있습니다. 링크 로컬 및 클라우드 메타데이터 주소는 이 Mac을 거치지 않으며 iPhone이 직접 불러옵니다." + "value": "session restore: 알 수 없는 인수 '%@'" } }, "ja": { "stringUnit": { "state": "translated", - "value": "iOSブラウザはこのMac経由でLAN、VPN、インターネット上のホストを読み込めます。リンクローカルとクラウドメタデータのアドレスはこのMacを経由せず、iPhoneが直接読み込みます。" + "value": "session restore: 不明な引数 '%@'" } } } }, - "settings.mobile.browserTunnel.allowOtherHosts.subtitleOff": { + "cli.session.list.empty": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "The iOS browser reaches only this Mac's localhost through this Mac. Other sites load over the phone's own network." + "value": "No agent sessions to restore." } }, "de": { "stringUnit": { "state": "translated", - "value": "Der iOS-Browser erreicht über diesen Mac nur dessen localhost. Andere Websites werden über das eigene Netzwerk des Telefons geladen." + "value": "Keine Agent-Sitzungen zum Wiederherstellen." } }, "fr": { "stringUnit": { "state": "translated", - "value": "Via ce Mac, le navigateur iOS n’accède qu’au localhost de ce Mac. Les autres sites se chargent via le réseau du téléphone." + "value": "Aucune session d’agent à restaurer." } }, "ar": { "stringUnit": { "state": "translated", - "value": "لا يصل متصفح iOS عبر جهاز Mac هذا إلا إلى localhost الخاص به. تُحمَّل المواقع الأخرى عبر شبكة الهاتف نفسه." + "value": "لا توجد جلسات وكيل لاستعادتها." } }, "es": { "stringUnit": { "state": "translated", - "value": "A través de este Mac, el navegador de iOS solo accede a su localhost. Los demás sitios se cargan con la red del propio teléfono." + "value": "No hay sesiones de agente para restaurar." } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "iOS 瀏覽器只會透過這台 Mac 連線至它的 localhost。其他網站會透過手機本身的網路載入。" + "value": "沒有可還原的代理工作階段。" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "iOS 浏览器只会通过这台 Mac 访问它的 localhost。其他网站通过手机自身的网络加载。" + "value": "没有可恢复的代理会话。" } }, "ko": { "stringUnit": { "state": "translated", - "value": "iOS 브라우저는 이 Mac을 통해 이 Mac의 localhost에만 접근합니다. 다른 사이트는 휴대폰 자체 네트워크로 불러옵니다." + "value": "복원할 에이전트 세션이 없습니다." } }, "ja": { "stringUnit": { "state": "translated", - "value": "iOSブラウザがこのMac経由で接続するのは、このMacのlocalhostだけです。他のサイトは電話自身のネットワークで読み込みます。" + "value": "復元するエージェントセッションはありません。" } } } }, - "settings.search.alias.setting.mobile.browserTunnelAllowOtherHosts": { + "cli.session.restore.cleanQuit": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "mobile ios iphone browser on iphone tunnel proxy localhost lan vpn internet hosts network security" + "value": "No agent sessions restored: cmux last quit normally. To restore one anyway, pass --session <id> from --list." } }, "de": { "stringUnit": { "state": "translated", - "value": "mobile ios iphone browser on iphone tunnel proxy localhost lan vpn internet hosts network security mobil browser tunnel proxy lokales netzwerk hosts netzwerk sicherheit" + "value": "Keine Agent-Sitzungen wiederhergestellt: cmux wurde zuletzt normal beendet. Um trotzdem eine wiederherzustellen, übergib --session <id> aus --list." } }, "fr": { "stringUnit": { "state": "translated", - "value": "mobile ios iphone browser on iphone tunnel proxy localhost lan vpn internet hosts network security mobile navigateur tunnel proxy réseau local hôtes réseau sécurité" + "value": "Aucune session d’agent restaurée : cmux s’est fermé normalement la dernière fois. Pour en restaurer une quand même, passez --session <id> depuis --list." } }, "ar": { "stringUnit": { "state": "translated", - "value": "mobile ios iphone browser on iphone tunnel proxy localhost lan vpn internet hosts network security متصفح نفق وكيل شبكة محلية مضيفون شبكة أمان" + "value": "لم تتم استعادة أي جلسات وكيل: أُغلق cmux بشكل طبيعي آخر مرة. لاستعادة جلسة على أي حال، مرّر --session <id> من --list." } }, "es": { "stringUnit": { "state": "translated", - "value": "mobile ios iphone browser on iphone tunnel proxy localhost lan vpn internet hosts network security móvil navegador túnel proxy red local hosts red seguridad" + "value": "No se restauró ninguna sesión de agente: cmux se cerró normalmente la última vez. Para restaurar una de todos modos, pasa --session <id> de --list." } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "mobile ios iphone browser on iphone tunnel proxy localhost lan vpn internet hosts network security 行動裝置 瀏覽器 通道 代理 區域網路 主機 網路 安全性" + "value": "未還原任何代理工作階段:cmux 上次是正常結束。若仍要還原,請傳入 --list 中的 --session <id>。" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "mobile ios iphone browser on iphone tunnel proxy localhost lan vpn internet hosts network security 移动 浏览器 隧道 代理 局域网 主机 网络 安全" + "value": "未恢复任何代理会话:cmux 上次是正常退出。若仍要恢复,请传入 --list 中的 --session <id>。" } }, "ko": { "stringUnit": { "state": "translated", - "value": "mobile ios iphone browser on iphone tunnel proxy localhost lan vpn internet hosts network security 모바일 브라우저 터널 프록시 로컬 네트워크 호스트 네트워크 보안" + "value": "복원된 에이전트 세션이 없습니다. cmux가 마지막에 정상적으로 종료되었습니다. 그래도 복원하려면 --list에서 확인한 --session <id>를 전달하세요." } }, "ja": { "stringUnit": { "state": "translated", - "value": "mobile ios iphone browser on iphone tunnel proxy localhost lan vpn internet hosts network security モバイル ブラウザ トンネル プロキシ ローカルネットワーク ホスト ネットワーク セキュリティ" + "value": "エージェントセッションは復元されませんでした。cmux は前回正常に終了しています。それでも復元する場合は、--list の --session <id> を指定してください。" } } } }, - "cli.browser.inputFiles.error.usage": { + "cli.session.restore.empty": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "set-input-files requires --selector <css> and either --file <path> (repeatable) or --clear" + "value": "No agent sessions restored." } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "يتطلب set-input-files الخيار --selector <css> مع --file <path> (يمكن تكراره) أو --clear" + "value": "Keine Agent-Sitzungen wiederhergestellt." } }, - "de": { + "fr": { "stringUnit": { "state": "translated", - "value": "set-input-files benötigt --selector <css> und entweder --file <path> (wiederholbar) oder --clear" + "value": "Aucune session d’agent restaurée." } }, - "es": { + "ar": { "stringUnit": { "state": "translated", - "value": "set-input-files requiere --selector <css> y --file <path> (repetible) o --clear" + "value": "لم تتم استعادة أي جلسات وكيل." } }, - "fr": { + "es": { "stringUnit": { "state": "translated", - "value": "set-input-files nécessite --selector <css> et soit --file <path> (répétable), soit --clear" + "value": "No se restauró ninguna sesión de agente." } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "set-input-files には --selector <css> と、--file <path>(複数指定可)または --clear が必要です" + "value": "未還原任何代理工作階段。" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "set-input-files에는 --selector <css>와 --file <path>(반복 가능) 또는 --clear가 필요합니다" + "value": "未恢复任何代理会话。" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "set-input-files 需要 --selector <css>,以及 --file <path>(可重复)或 --clear" + "value": "복원된 에이전트 세션이 없습니다." } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "set-input-files 需要 --selector <css>,以及 --file <path>(可重複)或 --clear" + "value": "エージェントセッションは復元されませんでした。" } } } }, - "cli.browser.inputFiles.help": { + "cli.session.restore.done": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "set-input-files --selector <css> (--file <path> ... | --clear) [--snapshot-after]\n Select local files (up to 128 files, 32 MiB total) or clear the selection. Directory uploads are unsupported." + "value": "Agent sessions restored: %lld" } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "set-input-files --selector <css> (--file <path> ... | --clear) [--snapshot-after]\n اختر ملفات محلية (حتى 128 ملفًا بإجمالي 32 MiB) أو امسح الاختيار. رفع المجلدات غير مدعوم." + "value": "Wiederhergestellte Agent-Sitzungen: %lld" } }, - "de": { + "fr": { "stringUnit": { "state": "translated", - "value": "set-input-files --selector <css> (--file <path> ... | --clear) [--snapshot-after]\n Lokale Dateien auswählen (bis zu 128 Dateien, insgesamt 32 MiB) oder die Auswahl leeren. Ordner-Uploads werden nicht unterstützt." + "value": "Sessions d’agent restaurées : %lld" } }, - "es": { + "ar": { "stringUnit": { "state": "translated", - "value": "set-input-files --selector <css> (--file <path> ... | --clear) [--snapshot-after]\n Selecciona archivos locales (hasta 128 archivos, 32 MiB en total) o borra la selección. No se admite subir carpetas." + "value": "جلسات الوكيل المستعادة: %lld" } }, - "fr": { + "es": { "stringUnit": { "state": "translated", - "value": "set-input-files --selector <css> (--file <path> ... | --clear) [--snapshot-after]\n Sélectionner des fichiers locaux (jusqu’à 128 fichiers, 32 MiB au total) ou effacer la sélection. L’envoi de dossiers n’est pas pris en charge." + "value": "Sesiones de agente restauradas: %lld" } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "set-input-files --selector <css> (--file <path> ... | --clear) [--snapshot-after]\n ローカルファイルを選択(最大128個、合計32 MiB)するか、選択を解除します。ディレクトリのアップロードには対応していません。" + "value": "已還原的代理工作階段:%lld" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "set-input-files --selector <css> (--file <path> ... | --clear) [--snapshot-after]\n 로컬 파일을 선택하거나(최대 128개, 총 32 MiB) 선택을 지웁니다. 디렉터리 업로드는 지원되지 않습니다." + "value": "已恢复的代理会话:%lld" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "set-input-files --selector <css> (--file <path> ... | --clear) [--snapshot-after]\n 选择本地文件(最多 128 个文件,总计 32 MiB)或清除选择。不支持上传目录。" + "value": "복원된 에이전트 세션: %lld" } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "set-input-files --selector <css> (--file <path> ... | --clear) [--snapshot-after]\n 選取本機檔案(最多 128 個檔案,總計 32 MiB)或清除選取。不支援上傳目錄。" + "value": "復元したエージェントセッション: %lld" } } } }, - "browser.inputFiles.error.invalidTarget": { + "agentRecovery.alert.title": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "The selector must match a file input without directory selection" + "value": "Restore agent sessions?" } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "يجب أن يطابق المحدد حقل إدخال ملفات لا يستخدم اختيار المجلدات" + "value": "Agent-Sitzungen wiederherstellen?" } }, - "de": { + "fr": { "stringUnit": { "state": "translated", - "value": "Der Selektor muss ein Dateieingabefeld ohne Ordnerauswahl treffen" + "value": "Restaurer les sessions d’agent ?" } }, - "es": { + "ar": { "stringUnit": { "state": "translated", - "value": "El selector debe coincidir con un campo de archivos sin selección de carpetas" + "value": "هل تريد استعادة جلسات الوكيل؟" } }, - "fr": { + "es": { "stringUnit": { "state": "translated", - "value": "Le sélecteur doit correspondre à un champ de fichier sans sélection de dossier" + "value": "¿Restaurar las sesiones de agente?" } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "セレクターはディレクトリ選択を使わないファイル入力欄に一致する必要があります" + "value": "要還原代理工作階段嗎?" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "선택자는 디렉터리 선택이 없는 파일 입력 요소와 일치해야 합니다" + "value": "要恢复代理会话吗?" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "选择器必须匹配未启用目录选择的文件输入字段" + "value": "에이전트 세션을 복원할까요?" } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "選取器必須符合未啟用目錄選取的檔案輸入欄位" + "value": "エージェントセッションを復元しますか?" } } } }, - "browser.inputFiles.error.multipleRequired": { + "agentRecovery.alert.message": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "This file input does not allow multiple files" + "value": "cmux quit unexpectedly while agent sessions were running. Sessions to restore: %lld. Each one reopens in its own workspace and resumes where it left off." } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "لا يسمح حقل إدخال الملفات هذا باختيار عدة ملفات" + "value": "cmux wurde unerwartet beendet, während Agent-Sitzungen liefen. Wiederherzustellende Sitzungen: %lld. Jede wird in einem eigenen Workspace geöffnet und dort fortgesetzt, wo sie aufgehört hat." } }, - "de": { + "fr": { "stringUnit": { "state": "translated", - "value": "Dieses Dateieingabefeld erlaubt nicht mehrere Dateien" + "value": "cmux s’est fermé de façon inattendue pendant que des sessions d’agent étaient en cours. Sessions à restaurer : %lld. Chacune rouvre dans son propre espace de travail et reprend là où elle s’était arrêtée." } }, - "es": { + "ar": { "stringUnit": { "state": "translated", - "value": "Este campo de archivos no permite seleccionar varios archivos" + "value": "أُغلق cmux بشكل غير متوقع أثناء تشغيل جلسات الوكيل. الجلسات المطلوب استعادتها: %lld. تُفتح كل جلسة في مساحة عمل خاصة بها وتُستأنف من حيث توقفت." } }, - "fr": { + "es": { "stringUnit": { "state": "translated", - "value": "Ce champ de fichier ne permet pas de sélectionner plusieurs fichiers" + "value": "cmux se cerró inesperadamente mientras había sesiones de agente en ejecución. Sesiones por restaurar: %lld. Cada una se abre en su propio espacio de trabajo y continúa donde se quedó." } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "このファイル入力欄では複数のファイルを選択できません" + "value": "cmux 在代理工作階段執行時意外結束。要還原的工作階段:%lld。每個工作階段都會在各自的工作區重新開啟,並從中斷處繼續。" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "이 파일 입력 요소는 여러 파일을 허용하지 않습니다" + "value": "cmux 在代理会话运行时意外退出。要恢复的会话:%lld。每个会话都会在各自的工作区重新打开,并从中断处继续。" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "此文件输入字段不允许选择多个文件" + "value": "에이전트 세션이 실행 중일 때 cmux가 예기치 않게 종료되었습니다. 복원할 세션: %lld. 각 세션은 자체 워크스페이스에서 다시 열리고 중단된 곳에서 이어집니다." } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "此檔案輸入欄位不允許選取多個檔案" + "value": "エージェントセッションの実行中に cmux が予期せず終了しました。復元するセッション: %lld。各セッションは専用のワークスペースで再び開き、中断したところから再開します。" } } } }, - "browser.inputFiles.error.cancelled": { + "agentRecovery.alert.restore": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "File upload preparation was cancelled" + "value": "Restore Agent Sessions" } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "تم إلغاء تجهيز الملفات للرفع" + "value": "Agent-Sitzungen wiederherstellen" } }, - "de": { + "fr": { "stringUnit": { "state": "translated", - "value": "Die Vorbereitung des Datei-Uploads wurde abgebrochen" + "value": "Restaurer les sessions d’agent" } }, - "es": { + "ar": { "stringUnit": { "state": "translated", - "value": "Se canceló la preparación de los archivos para subir" + "value": "استعادة جلسات الوكيل" } }, - "fr": { + "es": { "stringUnit": { "state": "translated", - "value": "La préparation des fichiers à envoyer a été annulée" + "value": "Restaurar sesiones de agente" } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "ファイルのアップロード準備がキャンセルされました" + "value": "還原代理工作階段" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "파일 업로드 준비가 취소되었습니다" + "value": "恢复代理会话" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "已取消准备上传文件" + "value": "에이전트 세션 복원" } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "已取消準備上傳檔案" + "value": "エージェントセッションを復元" } } } }, - "browser.inputFiles.error.invalidParameters": { + "agentRecovery.alert.notNow": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "set-input-files requires a selector and a files array of absolute paths" + "value": "Not Now" } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "يتطلب set-input-files محددًا ومصفوفة files تحتوي على مسارات مطلقة" + "value": "Nicht jetzt" } }, - "de": { + "fr": { "stringUnit": { "state": "translated", - "value": "set-input-files benötigt einen Selektor und ein files-Array mit absoluten Pfaden" + "value": "Pas maintenant" } }, - "es": { + "ar": { "stringUnit": { "state": "translated", - "value": "set-input-files requiere un selector y una matriz files de rutas absolutas" + "value": "ليس الآن" } }, - "fr": { + "es": { "stringUnit": { "state": "translated", - "value": "set-input-files nécessite un sélecteur et un tableau files de chemins absolus" + "value": "Ahora no" } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "set-input-files にはセレクターと絶対パスを含む files 配列が必要です" + "value": "稍後" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "set-input-files에는 선택자와 절대 경로로 구성된 files 배열이 필요합니다" + "value": "以后再说" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "set-input-files 需要选择器及包含绝对路径的 files 数组" + "value": "나중에" } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "set-input-files 需要選取器及包含絕對路徑的 files 陣列" + "value": "後で" } } } }, - "browser.inputFiles.error.invalidSelection": { + "settings.notifications.soundWhenFocused.subtitle": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Select at most 128 files using absolute paths" + "value": "Play the notification sound even when the pane that notified is already focused. When off, a focused pane shows its ring without a sound." } }, "ar": { "stringUnit": { "state": "translated", - "value": "اختر ما يصل إلى 128 ملفًا باستخدام مسارات مطلقة" + "value": "شغّل صوت الإشعار حتى عندما تكون اللوحة التي أرسلت الإشعار في موضع التركيز بالفعل. عند إيقافه، تعرض اللوحة المُركَّز عليها حلقتها دون صوت." } }, "de": { "stringUnit": { "state": "translated", - "value": "Wählen Sie höchstens 128 Dateien mit absoluten Pfaden aus" + "value": "Den Benachrichtigungston auch abspielen, wenn der benachrichtigende Bereich bereits fokussiert ist. Wenn aus, zeigt ein fokussierter Bereich seinen Ring ohne Ton." } }, "es": { "stringUnit": { "state": "translated", - "value": "Selecciona como máximo 128 archivos mediante rutas absolutas" + "value": "Reproduce el sonido de notificación incluso cuando el panel que notificó ya tiene el foco. Si está desactivado, un panel con foco muestra su anillo sin sonido." } }, "fr": { "stringUnit": { "state": "translated", - "value": "Sélectionnez au maximum 128 fichiers avec des chemins absolus" + "value": "Jouer le son de notification même lorsque le panneau à l’origine de la notification a déjà le focus. Désactivé, un panneau actif affiche son anneau sans son." } }, "ja": { "stringUnit": { "state": "translated", - "value": "絶対パスで最大128個のファイルを選択してください" + "value": "通知を送ったペインがすでにフォーカスされている場合でも通知音を鳴らします。オフの場合、フォーカス中のペインは音を鳴らさずにリングを表示します。" } }, "ko": { "stringUnit": { "state": "translated", - "value": "절대 경로를 사용하여 최대 128개의 파일을 선택하세요" + "value": "알림을 보낸 패널이 이미 포커스된 상태여도 알림음을 재생합니다. 끄면 포커스된 패널은 소리 없이 링만 표시합니다." } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "请使用绝对路径选择最多 128 个文件" + "value": "即使发出通知的窗格已处于焦点状态,也播放通知声音。关闭时,处于焦点的窗格会显示光环但不发出声音。" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "請使用絕對路徑選取最多 128 個檔案" + "value": "即使發出通知的窗格已在焦點中,也播放通知聲音。關閉時,焦點中的窗格會顯示光環但不發出聲音。" } } } }, - "browser.inputFiles.error.timeout": { + "settings.notifications.soundWhenFocused.title": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Timed out preparing files for upload" + "value": "Sound for Focused Pane" } }, "ar": { "stringUnit": { "state": "translated", - "value": "انتهت مهلة تجهيز الملفات للرفع" + "value": "صوت للوحة المُركَّز عليها" } }, "de": { "stringUnit": { "state": "translated", - "value": "Zeitüberschreitung beim Vorbereiten der Dateien für den Upload" + "value": "Ton für fokussierten Bereich" } }, "es": { "stringUnit": { "state": "translated", - "value": "Se agotó el tiempo de preparación de los archivos para subir" + "value": "Sonido para el panel con foco" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Le délai de préparation des fichiers à envoyer a été dépassé" + "value": "Son pour le panneau actif" } }, "ja": { "stringUnit": { "state": "translated", - "value": "アップロードするファイルの準備がタイムアウトしました" + "value": "フォーカス中のペインの通知音" } }, "ko": { "stringUnit": { "state": "translated", - "value": "업로드할 파일 준비 시간이 초과되었습니다" + "value": "포커스된 패널 소리" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "准备上传文件超时" + "value": "焦点窗格的声音" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "準備上傳檔案逾時" + "value": "焦點窗格的聲音" } } } }, - "browser.inputFiles.error.tooLarge": { + "agent.claude.stopFailure.body.generic": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "The combined upload must be no larger than 32 MiB" + "value": "Claude Code stopped on an API error" } }, - "ar": { + "ja": { "stringUnit": { "state": "translated", - "value": "يجب ألا يتجاوز الحجم الإجمالي للملفات المرفوعة 32 MiB" + "value": "Claude Code は API エラーで停止しました" } }, - "de": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "Die Uploads dürfen insgesamt nicht größer als 32 MiB sein" + "value": "Claude Code 因 API 错误而停止" } }, - "es": { + "de": { "stringUnit": { "state": "translated", - "value": "El tamaño total de los archivos para subir no debe superar los 32 MiB" + "value": "Claude Code wurde wegen eines API-Fehlers gestoppt" } }, "fr": { "stringUnit": { "state": "translated", - "value": "La taille totale des fichiers à envoyer ne doit pas dépasser 32 MiB" + "value": "Claude Code s'est arrêté sur une erreur d'API" } }, - "ja": { + "ar": { "stringUnit": { "state": "translated", - "value": "アップロードするファイルの合計サイズは32 MiB以下にしてください" + "value": "توقف Claude Code بسبب خطأ في واجهة API" } }, - "ko": { + "es": { "stringUnit": { "state": "translated", - "value": "전체 업로드 크기는 32 MiB를 초과할 수 없습니다" + "value": "Claude Code se detuvo por un error de la API" } }, - "zh-Hans": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "上传文件的总大小不得超过 32 MiB" + "value": "Claude Code 因 API 錯誤而停止" } }, - "zh-Hant": { + "ko": { "stringUnit": { "state": "translated", - "value": "上傳檔案的總大小不得超過 32 MiB" + "value": "Claude Code가 API 오류로 중지되었습니다" } } } }, - "browser.inputFiles.error.unreadableFile": { + "agent.claude.stopFailure.status.apiError": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Every upload path must be a readable regular file" + "value": "API error" } }, - "ar": { + "ja": { "stringUnit": { "state": "translated", - "value": "يجب أن يشير كل مسار للرفع إلى ملف عادي قابل للقراءة" + "value": "API エラー" } }, - "de": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "Jeder Upload-Pfad muss auf eine lesbare reguläre Datei verweisen" + "value": "API 错误" } }, - "es": { + "de": { "stringUnit": { "state": "translated", - "value": "Cada ruta de subida debe apuntar a un archivo normal que se pueda leer" + "value": "API-Fehler" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Chaque chemin à envoyer doit désigner un fichier ordinaire lisible" + "value": "Erreur d'API" } }, - "ja": { + "ar": { "stringUnit": { "state": "translated", - "value": "各アップロードパスは読み取り可能な通常ファイルである必要があります" + "value": "خطأ في واجهة API" } }, - "ko": { + "es": { "stringUnit": { "state": "translated", - "value": "모든 업로드 경로는 읽을 수 있는 일반 파일이어야 합니다" + "value": "Error de la API" } }, - "zh-Hans": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "每个上传路径都必须指向可读取的普通文件" + "value": "API 錯誤" } }, - "zh-Hant": { + "ko": { "stringUnit": { "state": "translated", - "value": "每個上傳路徑都必須指向可讀取的一般檔案" + "value": "API 오류" } } } }, - "cloudTree.group.cloudMachines.usage": { + "agent.claude.stopFailure.status.authentication": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "%1$d/%2$d" + "value": "Auth error" + } + }, + "ja": { + "stringUnit": { + "state": "translated", + "value": "認証エラー" + } + }, + "zh-Hans": { + "stringUnit": { + "state": "translated", + "value": "认证错误" } }, "de": { "stringUnit": { "state": "translated", - "value": "%1$d/%2$d" + "value": "Authentifizierungsfehler" } }, "fr": { "stringUnit": { "state": "translated", - "value": "%1$d/%2$d" + "value": "Erreur d'authentification" } }, "ar": { "stringUnit": { "state": "translated", - "value": "%1$d/%2$d" + "value": "خطأ في المصادقة" } }, "es": { "stringUnit": { "state": "translated", - "value": "%1$d/%2$d" + "value": "Error de autenticación" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "%1$d/%2$d" + "value": "驗證錯誤" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "%1$d/%2$d" + "value": "인증 오류" } - }, - "ko": { + } + } + }, + "agent.claude.stopFailure.status.billing": { + "extractionState": "manual", + "localizations": { + "en": { "stringUnit": { "state": "translated", - "value": "%1$d/%2$d" + "value": "Billing error" } }, "ja": { "stringUnit": { "state": "translated", - "value": "%1$d/%2$d" + "value": "請求エラー" } }, - "bs": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "%1$d/%2$d" + "value": "账单错误" } }, - "da": { + "de": { "stringUnit": { "state": "translated", - "value": "%1$d/%2$d" + "value": "Abrechnungsfehler" } }, - "it": { + "fr": { "stringUnit": { "state": "translated", - "value": "%1$d/%2$d" + "value": "Erreur de facturation" } }, - "km": { + "ar": { "stringUnit": { "state": "translated", - "value": "%1$d/%2$d" + "value": "خطأ في الفوترة" } }, - "nb": { + "es": { "stringUnit": { "state": "translated", - "value": "%1$d/%2$d" + "value": "Error de facturación" } }, - "pl": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "%1$d/%2$d" + "value": "帳單錯誤" } }, - "pt-BR": { + "ko": { "stringUnit": { "state": "translated", - "value": "%1$d/%2$d" + "value": "결제 오류" } - }, - "ru": { + } + } + }, + "agent.claude.stopFailure.status.connectionDropped": { + "extractionState": "manual", + "localizations": { + "en": { "stringUnit": { "state": "translated", - "value": "%1$d/%2$d" + "value": "Connection dropped" } }, - "th": { + "ja": { "stringUnit": { "state": "translated", - "value": "%1$d/%2$d" + "value": "接続が切断されました" } }, - "tr": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "%1$d/%2$d" + "value": "连接已断开" } }, - "uk": { + "de": { "stringUnit": { "state": "translated", - "value": "%1$d/%2$d" + "value": "Verbindung abgebrochen" } - } - } - }, - "cloud.ports.vpnOff.explanation": { - "extractionState": "manual", - "localizations": { - "en": { + }, + "fr": { "stringUnit": { "state": "translated", - "value": "Ports open in cmux without setup. To use private addresses in other apps, set up Cloud VPN." + "value": "Connexion interrompue" } }, - "de": { + "ar": { "stringUnit": { "state": "translated", - "value": "Ports lassen sich in cmux ohne Einrichtung öffnen. Richte Cloud-VPN ein, um private Adressen in anderen Apps zu verwenden." + "value": "انقطع الاتصال" } }, - "fr": { + "es": { "stringUnit": { "state": "translated", - "value": "Les ports s’ouvrent dans cmux sans configuration. Pour utiliser les adresses privées dans d’autres apps, configurez le VPN Cloud." + "value": "Conexión perdida" } }, - "ar": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "تُفتح المنافذ في cmux دون إعداد. لاستخدام العناوين الخاصة في التطبيقات الأخرى، أعدّ Cloud VPN." + "value": "連線已中斷" } }, - "es": { + "ko": { "stringUnit": { "state": "translated", - "value": "Los puertos se abren en cmux sin configuración. Para usar direcciones privadas en otras apps, configura Cloud VPN." + "value": "연결 끊김" + } + } + } + }, + "agent.claude.stopFailure.status.outputLimit": { + "extractionState": "manual", + "localizations": { + "en": { + "stringUnit": { + "state": "translated", + "value": "Output limit" } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "無需設定即可在 cmux 中開啟連接埠。如要在其他 App 使用私有位址,請設定 Cloud VPN。" + "value": "出力上限" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "无需设置即可在 cmux 中打开端口。要在其他应用中使用私有地址,请设置云 VPN。" + "value": "输出上限" } }, - "ko": { + "de": { "stringUnit": { "state": "translated", - "value": "별도 설정 없이 cmux에서 포트를 열 수 있습니다. 다른 앱에서 비공개 주소를 사용하려면 Cloud VPN을 설정하세요." + "value": "Ausgabelimit" } }, - "ja": { + "fr": { "stringUnit": { "state": "translated", - "value": "設定なしで cmux 内のポートを開けます。他のアプリでプライベートアドレスを使うには、Cloud VPN を設定してください。" + "value": "Limite de sortie" } }, - "bs": { + "ar": { "stringUnit": { - "state": "needs_review", - "value": "Portovi se otvaraju u cmux-u bez podešavanja. Za korištenje privatnih adresa u drugim aplikacijama podesite Cloud VPN." + "state": "translated", + "value": "حد المخرجات" } }, - "da": { + "es": { "stringUnit": { - "state": "needs_review", - "value": "Porte åbnes i cmux uden opsætning. Opsæt Cloud VPN for at bruge private adresser i andre apps." + "state": "translated", + "value": "Límite de salida" } }, - "it": { + "zh-Hant": { "stringUnit": { - "state": "needs_review", - "value": "Le porte si aprono in cmux senza configurazione. Per usare gli indirizzi privati in altre app, configura Cloud VPN." + "state": "translated", + "value": "輸出上限" } }, - "km": { + "ko": { "stringUnit": { - "state": "needs_review", - "value": "ច្រកអាចបើកក្នុង cmux ដោយមិនចាំបាច់រៀបចំ។ ដើម្បីប្រើអាសយដ្ឋានឯកជនក្នុងកម្មវិធីផ្សេងទៀត សូមរៀបចំ Cloud VPN។" + "state": "translated", + "value": "출력 한도" + } + } + } + }, + "agent.claude.stopFailure.status.overloaded": { + "extractionState": "manual", + "localizations": { + "en": { + "stringUnit": { + "state": "translated", + "value": "API overloaded" } }, - "nb": { + "ja": { "stringUnit": { - "state": "needs_review", - "value": "Porter åpnes i cmux uten oppsett. Sett opp Cloud VPN for å bruke private adresser i andre apper." + "state": "translated", + "value": "API 過負荷" } }, - "pl": { + "zh-Hans": { "stringUnit": { - "state": "needs_review", - "value": "Porty otwierają się w cmux bez konfiguracji. Aby używać prywatnych adresów w innych aplikacjach, skonfiguruj Cloud VPN." + "state": "translated", + "value": "API 过载" } }, - "pt-BR": { + "de": { "stringUnit": { - "state": "needs_review", - "value": "As portas abrem no cmux sem configuração. Para usar endereços privados em outros apps, configure o Cloud VPN." + "state": "translated", + "value": "API überlastet" } }, - "ru": { + "fr": { "stringUnit": { - "state": "needs_review", - "value": "Порты открываются в cmux без настройки. Чтобы использовать приватные адреса в других приложениях, настройте Cloud VPN." + "state": "translated", + "value": "API surchargée" } }, - "th": { + "ar": { "stringUnit": { - "state": "needs_review", - "value": "เปิดพอร์ตใน cmux ได้โดยไม่ต้องตั้งค่า หากต้องการใช้ที่อยู่ส่วนตัวในแอปอื่น ให้ตั้งค่า Cloud VPN" + "state": "translated", + "value": "واجهة API محمّلة فوق طاقتها" } }, - "tr": { + "es": { "stringUnit": { - "state": "needs_review", - "value": "Bağlantı noktaları cmux içinde kurulum gerektirmeden açılır. Diğer uygulamalarda özel adresleri kullanmak için Cloud VPN’i kurun." + "state": "translated", + "value": "API sobrecargada" } }, - "uk": { + "zh-Hant": { "stringUnit": { - "state": "needs_review", - "value": "Порти відкриваються в cmux без налаштування. Щоб використовувати приватні адреси в інших застосунках, налаштуйте Cloud VPN." + "state": "translated", + "value": "API 過載" + } + }, + "ko": { + "stringUnit": { + "state": "translated", + "value": "API 과부하" } } } }, - "cloud.ports.vpnOff.title": { + "agent.claude.stopFailure.status.rateLimited": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Optional: Cloud VPN" + "value": "Rate limited" + } + }, + "ja": { + "stringUnit": { + "state": "translated", + "value": "レート制限中" + } + }, + "zh-Hans": { + "stringUnit": { + "state": "translated", + "value": "已限速" } }, "de": { "stringUnit": { "state": "translated", - "value": "Optional: Cloud-VPN" + "value": "Ratenbegrenzt" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Facultatif : VPN Cloud" + "value": "Limite de requêtes atteinte" } }, "ar": { "stringUnit": { "state": "translated", - "value": "اختياري: Cloud VPN" + "value": "تم تقييد المعدل" } }, "es": { "stringUnit": { "state": "translated", - "value": "Opcional: Cloud VPN" + "value": "Límite de frecuencia alcanzado" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "選用:Cloud VPN" + "value": "已限速" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "可选:云 VPN" + "value": "속도 제한됨" } - }, - "ko": { + } + } + }, + "agent.claude.stopFailure.status.usageLimit": { + "extractionState": "manual", + "localizations": { + "en": { "stringUnit": { "state": "translated", - "value": "선택 사항: Cloud VPN" + "value": "Usage limit" } }, "ja": { "stringUnit": { "state": "translated", - "value": "任意:Cloud VPN" + "value": "使用量の上限" } }, - "bs": { + "zh-Hans": { "stringUnit": { - "state": "needs_review", - "value": "Opcionalno: Cloud VPN" + "state": "translated", + "value": "用量上限" } }, - "da": { + "de": { "stringUnit": { - "state": "needs_review", - "value": "Valgfrit: Cloud VPN" + "state": "translated", + "value": "Nutzungslimit" } }, - "it": { + "fr": { "stringUnit": { - "state": "needs_review", - "value": "Facoltativo: Cloud VPN" + "state": "translated", + "value": "Limite d'utilisation" } }, - "km": { + "ar": { "stringUnit": { - "state": "needs_review", - "value": "ជាជម្រើស៖ Cloud VPN" + "state": "translated", + "value": "حد الاستخدام" } }, - "nb": { + "es": { "stringUnit": { - "state": "needs_review", - "value": "Valgfritt: Cloud VPN" + "state": "translated", + "value": "Límite de uso" } }, - "pl": { + "zh-Hant": { "stringUnit": { - "state": "needs_review", - "value": "Opcjonalnie: Cloud VPN" + "state": "translated", + "value": "用量上限" } }, - "pt-BR": { + "ko": { "stringUnit": { - "state": "needs_review", - "value": "Opcional: Cloud VPN" + "state": "translated", + "value": "사용량 한도" } - }, - "ru": { + } + } + }, + "agent.claude.stopFailure.status.usageLimitResets": { + "extractionState": "manual", + "localizations": { + "en": { "stringUnit": { - "state": "needs_review", - "value": "Необязательно: Cloud VPN" + "state": "translated", + "value": "Usage limit, resets %@" } }, - "th": { + "ja": { "stringUnit": { - "state": "needs_review", - "value": "ตัวเลือกเพิ่มเติม: Cloud VPN" + "state": "translated", + "value": "使用量の上限、%@ にリセット" } }, - "tr": { + "zh-Hans": { "stringUnit": { - "state": "needs_review", - "value": "İsteğe bağlı: Cloud VPN" + "state": "translated", + "value": "用量上限,%@ 重置" } }, - "uk": { + "de": { "stringUnit": { - "state": "needs_review", - "value": "Необов’язково: Cloud VPN" + "state": "translated", + "value": "Nutzungslimit, Reset %@" } - } - } - }, - "cloud.vpn.setup.address.body": { - "extractionState": "manual", - "localizations": { - "en": { + }, + "fr": { "stringUnit": { "state": "translated", - "value": "Each machine has its own private IP. Two machines may both expose port 3000, for example 10.40.0.10:3000 and 10.40.0.11:3000. Right-click a Cloud port and choose Copy Private Address URL after connecting. These addresses are private, not public share links." + "value": "Limite d'utilisation, réinitialisation %@" } }, - "de": { + "ar": { "stringUnit": { "state": "translated", - "value": "Jede Maschine hat eine eigene private IP. Zwei Maschinen können beide Port 3000 verwenden, etwa 10.40.0.10:3000 und 10.40.0.11:3000. Klicken Sie nach dem Verbinden mit der rechten Maustaste auf einen Cloud-Port und wählen Sie URL der privaten Adresse kopieren. Diese Adressen sind privat und keine öffentlichen Freigabelinks." + "value": "حد الاستخدام، يُعاد التعيين %@" } }, - "fr": { + "es": { "stringUnit": { "state": "translated", - "value": "Chaque machine a sa propre IP privée. Deux machines peuvent utiliser le port 3000, par exemple 10.40.0.10:3000 et 10.40.0.11:3000. Après connexion, faites un clic droit sur un port Cloud et choisissez Copier l’URL de l’adresse privée. Ces adresses sont privées, ce ne sont pas des liens publics de partage." + "value": "Límite de uso, se restablece %@" } }, - "es": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "Cada máquina tiene su propia IP privada. Dos máquinas pueden usar el puerto 3000, como 10.40.0.10:3000 y 10.40.0.11:3000. Después de conectar, haz clic derecho en un puerto Cloud y elige Copiar URL de dirección privada. Estas direcciones son privadas, no enlaces públicos para compartir." + "value": "用量上限,%@ 重設" } }, - "ja": { + "ko": { "stringUnit": { "state": "translated", - "value": "各マシンには個別のプライベートIPがあります。2台のマシンがどちらもポート3000を使えます(例:10.40.0.10:3000と10.40.0.11:3000)。接続後にCloudポートを右クリックし、「プライベートアドレスURLをコピー」を選びます。これらはプライベートアドレスで、公開共有リンクではありません。" + "value": "사용량 한도, %@에 초기화" + } + } + } + }, + "settings.app.reorderOnNotification.mode.agentActivity": { + "extractionState": "manual", + "localizations": { + "ar": { + "stringUnit": { + "state": "translated", + "value": "نشاط الوكيل" } }, - "zh-Hans": { + "bs": { "stringUnit": { "state": "translated", - "value": "每台机器都有自己的私有 IP。两台机器可以同时使用端口 3000,例如 10.40.0.10:3000 和 10.40.0.11:3000。连接后右键点击 Cloud 端口,选择“复制私有地址 URL”。这些地址是私有地址,不是公开分享链接。" + "value": "Aktivnost agenata" } }, - "zh-Hant": { + "da": { "stringUnit": { "state": "translated", - "value": "每台機器都有自己的私有 IP。兩台機器可以同時使用連接埠 3000,例如 10.40.0.10:3000 和 10.40.0.11:3000。連線後對 Cloud 連接埠按右鍵,選擇「複製私有位址 URL」。這些位址是私有位址,不是公開分享連結。" + "value": "Agentaktivitet" } }, - "ko": { + "de": { "stringUnit": { "state": "translated", - "value": "각 머신에는 고유한 비공개 IP가 있습니다. 두 머신 모두 포트 3000을 사용할 수 있습니다(예: 10.40.0.10:3000 및 10.40.0.11:3000). 연결 후 Cloud 포트를 오른쪽 클릭하고 비공개 주소 URL 복사를 선택하세요. 이 주소는 비공개이며 공개 공유 링크가 아닙니다." + "value": "Agentenaktivität" } }, - "ar": { + "en": { "stringUnit": { "state": "translated", - "value": "لكل جهاز عنوان IP خاص به. يمكن لجهازين استخدام المنفذ 3000، مثل 10.40.0.10:3000 و10.40.0.11:3000. بعد الاتصال، انقر بزر الماوس الأيمن على منفذ Cloud واختر نسخ رابط العنوان الخاص. هذه عناوين خاصة وليست روابط مشاركة عامة." + "value": "Agent Activity" } }, - "bs": { + "es": { "stringUnit": { "state": "translated", - "value": "Svaka mašina ima svoju privatnu IP adresu. Dvije mašine mogu koristiti port 3000, na primjer 10.40.0.10:3000 i 10.40.0.11:3000. Nakon povezivanja kliknite desnim dugmetom na Cloud port i izaberite Kopiraj URL privatne adrese. Ovo su privatne adrese, a ne javne veze za dijeljenje." + "value": "Actividad de agentes" } }, - "da": { + "fr": { "stringUnit": { "state": "translated", - "value": "Hver maskine har sin egen private IP. To maskiner kan begge bruge port 3000, f.eks. 10.40.0.10:3000 og 10.40.0.11:3000. Højreklik på en Cloud-port efter tilslutning, og vælg Kopiér URL til privat adresse. Adresserne er private, ikke offentlige delelinks." + "value": "Activité des agents" } }, "it": { "stringUnit": { "state": "translated", - "value": "Ogni macchina ha il proprio IP privato. Due macchine possono usare entrambe la porta 3000, ad esempio 10.40.0.10:3000 e 10.40.0.11:3000. Dopo la connessione fai clic destro su una porta Cloud e scegli Copia URL indirizzo privato. Sono indirizzi privati, non link pubblici." + "value": "Attività degli agenti" } }, - "km": { + "ja": { "stringUnit": { "state": "translated", - "value": "ម៉ាស៊ីននីមួយៗមាន IP ឯកជនផ្ទាល់ខ្លួន។ ម៉ាស៊ីនពីរអាចប្រើច្រក 3000 ដូចគ្នា ឧទាហរណ៍ 10.40.0.10:3000 និង 10.40.0.11:3000។ បន្ទាប់ពីភ្ជាប់ ចុចខាងស្តាំលើច្រក Cloud ហើយជ្រើស ចម្លង URL អាសយដ្ឋានឯកជន។ ទាំងនេះជាអាសយដ្ឋានឯកជន មិនមែនតំណចែករំលែកសាធារណៈទេ។" + "value": "エージェントのアクティビティ" + } + }, + "ko": { + "stringUnit": { + "state": "translated", + "value": "에이전트 활동" } }, "nb": { "stringUnit": { "state": "translated", - "value": "Hver maskin har sin egen private IP. To maskiner kan bruke port 3000, for eksempel 10.40.0.10:3000 og 10.40.0.11:3000. Høyreklikk en Cloud-port etter tilkobling og velg Kopier URL for privat adresse. Adressene er private, ikke offentlige delingslenker." + "value": "Agentaktivitet" } }, "pl": { "stringUnit": { "state": "translated", - "value": "Każda maszyna ma własny prywatny adres IP. Dwie maszyny mogą używać portu 3000, na przykład 10.40.0.10:3000 i 10.40.0.11:3000. Po połączeniu kliknij prawym przyciskiem port Cloud i wybierz Kopiuj URL prywatnego adresu. To prywatne adresy, nie publiczne linki udostępniania." + "value": "Aktywność agentów" } }, "pt-BR": { "stringUnit": { "state": "translated", - "value": "Cada máquina tem seu próprio IP privado. Duas máquinas podem usar a porta 3000, por exemplo 10.40.0.10:3000 e 10.40.0.11:3000. Depois de conectar, clique com o botão direito em uma porta Cloud e escolha Copiar URL do endereço privado. Esses endereços são privados, não links públicos de compartilhamento." + "value": "Atividade dos agentes" } }, "ru": { "stringUnit": { "state": "translated", - "value": "У каждой машины свой частный IP. Две машины могут использовать порт 3000, например 10.40.0.10:3000 и 10.40.0.11:3000. После подключения щёлкните правой кнопкой мыши порт Cloud и выберите Скопировать URL частного адреса. Это частные адреса, а не публичные ссылки." + "value": "Активность агентов" } }, "th": { "stringUnit": { "state": "translated", - "value": "แต่ละเครื่องมี IP ส่วนตัวของตนเอง สองเครื่องสามารถใช้พอร์ต 3000 ได้ เช่น 10.40.0.10:3000 และ 10.40.0.11:3000 หลังเชื่อมต่อ คลิกขวาที่พอร์ต Cloud แล้วเลือกคัดลอก URL ที่อยู่ส่วนตัว ที่อยู่เหล่านี้เป็นส่วนตัว ไม่ใช่ลิงก์สาธารณะ" + "value": "กิจกรรมของเอเจนต์" } }, "tr": { "stringUnit": { "state": "translated", - "value": "Her makinenin kendi özel IP’si vardır. İki makine 3000 bağlantı noktasını kullanabilir; örneğin 10.40.0.10:3000 ve 10.40.0.11:3000. Bağlandıktan sonra bir Cloud portuna sağ tıklayın ve Özel Adres URL’sini Kopyala’yı seçin. Bunlar özel adreslerdir, herkese açık paylaşım bağlantıları değildir." + "value": "Ajan etkinliği" } }, "uk": { "stringUnit": { "state": "translated", - "value": "Кожна машина має власну приватну IP-адресу. Дві машини можуть використовувати порт 3000, наприклад 10.40.0.10:3000 і 10.40.0.11:3000. Після підключення клацніть правою кнопкою миші порт Cloud і виберіть Копіювати URL приватної адреси. Це приватні адреси, а не публічні посилання для спільного доступу." - } - } - } - }, - "cloud.vpn.setup.cancel": { - "extractionState": "manual", - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Cancel" + "value": "Активність агентів" } }, - "de": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "Abbrechen" + "value": "代理活动" } }, - "fr": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "Annuler" + "value": "代理活動" } - }, - "es": { + } + } + }, + "settings.app.reorderOnNotification.mode.notifications": { + "extractionState": "manual", + "localizations": { + "ar": { "stringUnit": { "state": "translated", - "value": "Cancelar" + "value": "الإشعارات" } }, - "ja": { + "bs": { "stringUnit": { "state": "translated", - "value": "キャンセル" + "value": "Obavještenja" } }, - "zh-Hans": { + "da": { "stringUnit": { "state": "translated", - "value": "取消" + "value": "Notifikationer" } }, - "zh-Hant": { + "de": { "stringUnit": { "state": "translated", - "value": "取消" + "value": "Benachrichtigungen" } }, - "ko": { + "en": { "stringUnit": { "state": "translated", - "value": "취소" + "value": "Notifications" } }, - "ar": { + "es": { "stringUnit": { "state": "translated", - "value": "إلغاء" + "value": "Notificaciones" } }, - "bs": { + "fr": { "stringUnit": { "state": "translated", - "value": "Otkaži" + "value": "Sur notification" } }, - "da": { + "it": { "stringUnit": { "state": "translated", - "value": "Annuller" + "value": "Notifiche" } }, - "it": { + "ja": { "stringUnit": { "state": "translated", - "value": "Annulla" + "value": "通知" } }, - "km": { + "ko": { "stringUnit": { "state": "translated", - "value": "បោះបង់" + "value": "알림" } }, "nb": { "stringUnit": { "state": "translated", - "value": "Avbryt" + "value": "Varsler" } }, "pl": { "stringUnit": { "state": "translated", - "value": "Anuluj" + "value": "Powiadomienia" } }, "pt-BR": { "stringUnit": { "state": "translated", - "value": "Cancelar" + "value": "Notificações" } }, "ru": { "stringUnit": { "state": "translated", - "value": "Отменить" + "value": "Уведомления" } }, "th": { "stringUnit": { "state": "translated", - "value": "ยกเลิก" + "value": "การแจ้งเตือน" } }, "tr": { "stringUnit": { "state": "translated", - "value": "İptal" + "value": "Bildirimler" } }, "uk": { "stringUnit": { "state": "translated", - "value": "Скасувати" - } - } - } - }, - "cloud.vpn.setup.connect": { - "extractionState": "manual", - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Connect Cloud VPN" + "value": "Сповіщення" } }, - "de": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "Cloud-VPN verbinden" + "value": "通知" } }, - "fr": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "Connecter le VPN Cloud" + "value": "通知" } - }, - "es": { + } + } + }, + "settings.app.reorderOnNotification.mode.off": { + "extractionState": "manual", + "localizations": { + "ar": { "stringUnit": { "state": "translated", - "value": "Conectar VPN de Cloud" + "value": "إيقاف" } }, - "ja": { + "bs": { "stringUnit": { "state": "translated", - "value": "Cloud VPNに接続" + "value": "Isključeno" } }, - "zh-Hans": { + "da": { "stringUnit": { "state": "translated", - "value": "连接 Cloud VPN" + "value": "Fra" } }, - "zh-Hant": { + "de": { "stringUnit": { "state": "translated", - "value": "連接 Cloud VPN" + "value": "Aus" } }, - "ko": { + "en": { "stringUnit": { "state": "translated", - "value": "Cloud VPN 연결" + "value": "Off" } }, - "ar": { + "es": { "stringUnit": { "state": "translated", - "value": "توصيل VPN الخاص بـ Cloud" + "value": "Desactivado" } }, - "bs": { + "fr": { "stringUnit": { "state": "translated", - "value": "Poveži Cloud VPN" + "value": "Désactivé" } }, - "da": { + "it": { "stringUnit": { "state": "translated", - "value": "Forbind Cloud VPN" + "value": "Disattivato" } }, - "it": { + "ja": { "stringUnit": { "state": "translated", - "value": "Connetti VPN Cloud" + "value": "オフ" } }, - "km": { + "ko": { "stringUnit": { "state": "translated", - "value": "ភ្ជាប់ Cloud VPN" + "value": "끔" } }, "nb": { "stringUnit": { "state": "translated", - "value": "Koble til Cloud VPN" + "value": "Av" } }, "pl": { "stringUnit": { "state": "translated", - "value": "Połącz z Cloud VPN" + "value": "Wyłączone" } }, "pt-BR": { "stringUnit": { "state": "translated", - "value": "Conectar Cloud VPN" + "value": "Desativado" } }, "ru": { "stringUnit": { "state": "translated", - "value": "Подключить Cloud VPN" + "value": "Выкл." } }, "th": { "stringUnit": { "state": "translated", - "value": "เชื่อมต่อ Cloud VPN" + "value": "ปิด" } }, "tr": { "stringUnit": { "state": "translated", - "value": "Cloud VPN’e bağlan" + "value": "Kapalı" } }, "uk": { "stringUnit": { "state": "translated", - "value": "Підключити Cloud VPN" - } - } - } - }, - "cloud.vpn.setup.connected": { - "extractionState": "manual", - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Connected" + "value": "Вимкнено" } }, - "de": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "Verbunden" + "value": "关闭" } }, - "fr": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "Connecté" + "value": "關閉" } - }, - "es": { + } + } + }, + "settings.app.reorderOnNotification.modeSubtitle": { + "extractionState": "manual", + "localizations": { + "ar": { "stringUnit": { "state": "translated", - "value": "Conectada" + "value": "ينقل مساحات العمل إلى الأعلى عندما تتلقى إشعارًا. مع نشاط الوكيل، ينقلها أيضًا عندما ترسل مطالبة أو ينهي وكيل دورة أو يحتاج إلى إدخال أو يفشل، لكن ليس أبدًا أثناء وجود المؤشر فوق الشريط الجانبي. الإيقاف يحافظ على ثبات مواضع الاختصارات." } }, - "ja": { + "bs": { "stringUnit": { "state": "translated", - "value": "接続済み" + "value": "Pomjera radne prostore na vrh kada prime obavještenje. Aktivnost agenata ih pomjera i kada pošaljete upit ili agent završi potez, treba unos ili ne uspije, ali nikad dok je pokazivač iznad bočne trake. Isključeno čuva stabilne pozicije prečica." } }, - "zh-Hans": { + "da": { "stringUnit": { "state": "translated", - "value": "已连接" + "value": "Flytter arbejdsområder til toppen, når de modtager en notifikation. Agentaktivitet flytter dem også, når du sender en prompt eller en agent afslutter en tur, har brug for input eller fejler, men aldrig mens markøren er over sidepanelet. Fra holder genvejspositionerne stabile." } }, - "zh-Hant": { + "de": { "stringUnit": { "state": "translated", - "value": "已連線" + "value": "Verschiebt Workspaces nach oben, wenn sie eine Benachrichtigung erhalten. Mit Agentenaktivität auch dann, wenn Sie einen Prompt senden oder ein Agent einen Durchlauf beendet, eine Eingabe braucht oder fehlschlägt, aber nie, während der Zeiger über der Seitenleiste ist. Aus hält die Positionen der Tastenkürzel stabil." } }, - "ko": { + "en": { "stringUnit": { "state": "translated", - "value": "연결됨" + "value": "Move workspaces to the top when they receive a notification. Agent Activity also moves them when you send a prompt or an agent finishes a turn, needs input, or fails, but never while you point at the sidebar. Off keeps shortcut positions stable." } }, - "ar": { + "es": { "stringUnit": { "state": "translated", - "value": "متصل" + "value": "Mueve los espacios de trabajo arriba cuando reciben una notificación. Con Actividad de agentes, también cuando envías un prompt o un agente termina un turno, necesita una respuesta o falla, pero nunca mientras el puntero está sobre la barra lateral. Desactivado mantiene estables las posiciones de los atajos." } }, - "bs": { + "fr": { "stringUnit": { "state": "translated", - "value": "Povezano" + "value": "Place les espaces de travail en haut lorsqu’ils reçoivent une notification. Avec Activité des agents, aussi lorsque vous envoyez un prompt ou qu’un agent termine un tour, attend une saisie ou échoue, mais jamais pendant que le pointeur survole la barre latérale. Désactivé garde les positions des raccourcis stables." } }, - "da": { + "it": { "stringUnit": { "state": "translated", - "value": "Forbundet" + "value": "Sposta gli spazi di lavoro in cima quando ricevono una notifica. Attività degli agenti li sposta anche quando invii un prompt o un agente termina un turno, attende un input o fallisce, ma mai mentre il puntatore è sulla barra laterale. Disattivato mantiene stabili le posizioni delle scorciatoie." } }, - "it": { + "ja": { "stringUnit": { "state": "translated", - "value": "Connessa" + "value": "通知を受け取ったワークスペースを先頭に移動します。「エージェントのアクティビティ」では、プロンプトを送信したときや、エージェントがターンを終えたとき、入力を待っているとき、失敗したときにも移動しますが、ポインタがサイドバー上にある間は移動しません。「オフ」ではショートカットの位置が変わりません。" } }, - "km": { + "ko": { "stringUnit": { "state": "translated", - "value": "បានភ្ជាប់" + "value": "알림을 받으면 워크스페이스를 맨 위로 옮깁니다. 에이전트 활동을 선택하면 프롬프트를 보내거나 에이전트가 턴을 마치거나 입력이 필요하거나 실패할 때도 옮기지만, 포인터가 사이드바 위에 있을 때는 옮기지 않습니다. 끔은 단축키 위치를 고정합니다." } }, "nb": { "stringUnit": { "state": "translated", - "value": "Tilkoblet" + "value": "Flytter arbeidsområder til toppen når de mottar et varsel. Agentaktivitet flytter dem også når du sender en ledetekst eller en agent fullfører en runde, trenger input eller feiler, men aldri mens pekeren er over sidefeltet. Av holder snarveisposisjonene stabile." } }, "pl": { "stringUnit": { "state": "translated", - "value": "Połączono" + "value": "Przenosi obszary robocze na górę, gdy otrzymają powiadomienie. Aktywność agentów przenosi je także, gdy wyślesz prompt lub agent zakończy turę, potrzebuje danych lub zakończy się błędem, ale nigdy, gdy wskaźnik jest nad paskiem bocznym. Wyłączone zachowuje stałe pozycje skrótów." } }, "pt-BR": { "stringUnit": { "state": "translated", - "value": "Conectada" + "value": "Move os espaços de trabalho para o topo quando recebem uma notificação. Atividade dos agentes também os move quando você envia um prompt ou um agente termina um turno, precisa de uma resposta ou falha, mas nunca enquanto o ponteiro está sobre a barra lateral. Desativado mantém as posições dos atalhos estáveis." } }, "ru": { "stringUnit": { "state": "translated", - "value": "Подключено" + "value": "Перемещает рабочие области наверх, когда они получают уведомление. «Активность агентов» также перемещает их, когда вы отправляете запрос или агент завершает ход, ждёт ввода или завершается с ошибкой, но никогда, пока указатель находится над боковой панелью. «Выкл.» сохраняет позиции сочетаний клавиш." } }, "th": { "stringUnit": { "state": "translated", - "value": "เชื่อมต่อแล้ว" + "value": "ย้ายเวิร์กสเปซขึ้นด้านบนเมื่อได้รับการแจ้งเตือน กิจกรรมของเอเจนต์จะย้ายเมื่อคุณส่งพรอมต์หรือเอเจนต์จบรอบ ต้องการข้อมูล หรือล้มเหลวด้วย แต่จะไม่ย้ายขณะที่ตัวชี้อยู่เหนือแถบด้านข้าง ปิดจะคงตำแหน่งของทางลัดไว้" } }, "tr": { "stringUnit": { "state": "translated", - "value": "Bağlandı" + "value": "Bildirim aldıklarında çalışma alanlarını en üste taşır. Ajan etkinliği, bir istem gönderdiğinizde, bir ajan turunu bitirdiğinde, girdi beklediğinde veya başarısız olduğunda da taşır, ancak işaretçi kenar çubuğunun üzerindeyken asla taşımaz. Kapalı, kısayol konumlarını sabit tutar." } }, "uk": { "stringUnit": { "state": "translated", - "value": "Підключено" - } - } - } - }, - "cloud.vpn.setup.disconnect": { - "extractionState": "manual", - "localizations": { - "en": { - "stringUnit": { - "state": "translated", - "value": "Disconnect" + "value": "Переміщує робочі області вгору, коли вони отримують сповіщення. «Активність агентів» також переміщує їх, коли ви надсилаєте запит або агент завершує хід, чекає на введення або завершується з помилкою, але ніколи, поки вказівник над бічною панеллю. «Вимкнено» зберігає позиції скорочень." } }, - "de": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "Trennen" + "value": "工作区收到通知时移到顶部。选择“代理活动”时,你发送提示词或代理完成一轮、需要输入或失败时也会移动,但指针停在侧边栏上时绝不移动。关闭可让快捷键位置保持不变。" } }, - "fr": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "Déconnecter" + "value": "工作區收到通知時移到頂部。選擇「代理活動」時,你送出提示詞或代理完成一輪、需要輸入或失敗時也會移動,但指標停在側邊欄上時絕不移動。關閉可讓快捷鍵位置保持不變。" } - }, - "es": { + } + } + }, + "cli.restore.notice.routedLauncherUnavailable": { + "extractionState": "manual", + "localizations": { + "en": { "stringUnit": { "state": "translated", - "value": "Desconectar" + "value": "restore: this session was started through the routed launcher '%@', which is not on PATH. Resuming the agent directly instead." } }, "ja": { "stringUnit": { "state": "translated", - "value": "切断" + "value": "restore: このセッションはルーティングされたランチャー「%@」経由で開始されましたが、PATH にありません。代わりにエージェントを直接再開します。" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "断开连接" + "value": "restore:此会话是通过路由启动器“%@”启动的,但它不在 PATH 中。将改为直接恢复该代理。" } }, - "zh-Hant": { + "de": { "stringUnit": { "state": "translated", - "value": "中斷連線" + "value": "restore: Diese Sitzung wurde über den weitergeleiteten Launcher „%@“ gestartet, der nicht im PATH liegt. Der Agent wird stattdessen direkt fortgesetzt." } }, - "ko": { + "fr": { "stringUnit": { "state": "translated", - "value": "연결 해제" + "value": "restore : cette session a été lancée via le lanceur routé « %@ », qui est introuvable dans le PATH. Reprise directe de l'agent à la place." } }, "ar": { "stringUnit": { "state": "translated", - "value": "قطع الاتصال" + "value": "restore: بدأت هذه الجلسة عبر المشغّل الموجَّه '%@'، وهو غير موجود في PATH. سيتم استئناف الوكيل مباشرةً بدلاً من ذلك." } }, - "bs": { + "es": { "stringUnit": { "state": "translated", - "value": "Prekini vezu" + "value": "restore: esta sesión se inició mediante el lanzador enrutado '%@', que no está en el PATH. Se reanudará el agente directamente." } }, - "da": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "Afbryd" + "value": "restore:此工作階段是透過路由啟動器「%@」啟動的,但它不在 PATH 中。將改為直接繼續該代理程式。" } }, - "it": { + "ko": { "stringUnit": { "state": "translated", - "value": "Disconnetti" + "value": "restore: 이 세션은 라우팅된 런처 '%@'를 통해 시작되었지만 PATH에 없습니다. 대신 에이전트를 직접 재개합니다." + } + } + } + }, + "sidebar.extensions.action.noSpaceForPane": { + "extractionState": "manual", + "localizations": { + "en": { + "stringUnit": { + "state": "translated", + "value": "No space for new pane" } }, - "km": { + "ar": { "stringUnit": { "state": "translated", - "value": "ផ្តាច់" + "value": "لا توجد مساحة للوحة جديدة" } }, - "nb": { + "de": { "stringUnit": { "state": "translated", - "value": "Koble fra" + "value": "Kein Platz für einen neuen Bereich" } }, - "pl": { + "es": { "stringUnit": { "state": "translated", - "value": "Rozłącz" + "value": "No hay espacio para un panel nuevo" } }, - "pt-BR": { + "fr": { "stringUnit": { "state": "translated", - "value": "Desconectar" + "value": "Pas de place pour un nouveau panneau" } }, - "ru": { + "ja": { "stringUnit": { "state": "translated", - "value": "Отключить" + "value": "新しいペインを置く場所がありません" } }, - "th": { + "ko": { "stringUnit": { "state": "translated", - "value": "ตัดการเชื่อมต่อ" + "value": "새 창을 위한 공간이 없습니다" } }, - "tr": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "Bağlantıyı kes" + "value": "没有空间容纳新窗格" } }, - "uk": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "Від’єднати" + "value": "沒有空間容納新窗格" } } } }, - "cloud.vpn.setup.entry.subtitle": { + "cli.focus.defaultHelp": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Optional private IP access for other apps" + "value": "Default: focus when run interactively, stay in the background when run by an agent or script." + } + }, + "ja": { + "stringUnit": { + "state": "translated", + "value": "既定: 対話的に実行した場合はフォーカスし、エージェントやスクリプトから実行した場合はバックグラウンドのままにします。" } }, "de": { "stringUnit": { "state": "translated", - "value": "Optionaler Zugriff auf private IPs für andere Apps" + "value": "Standard: bei interaktiver Ausführung fokussieren, bei Ausführung durch einen Agenten oder ein Skript im Hintergrund bleiben." } }, "fr": { "stringUnit": { "state": "translated", - "value": "Accès facultatif aux IP privées pour les autres apps" + "value": "Par défaut : prend le focus en exécution interactive, reste en arrière-plan quand un agent ou un script l’exécute." + } + }, + "ar": { + "stringUnit": { + "state": "translated", + "value": "الافتراضي: التركيز عند التشغيل التفاعلي، والبقاء في الخلفية عند التشغيل بواسطة وكيل أو برنامج نصي." } }, "es": { "stringUnit": { "state": "translated", - "value": "Acceso opcional a IP privadas para otras apps" + "value": "Predeterminado: enfoca al ejecutarse de forma interactiva y se queda en segundo plano cuando lo ejecuta un agente o un script." } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "ほかのアプリからプライベートIPへアクセスする任意の設定" + "value": "預設:互動執行時取得焦點;由代理程式或指令稿執行時保持在背景。" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "为其他应用提供可选的私有 IP 访问" + "value": "默认:交互式运行时获得焦点;由代理或脚本运行时保持在后台。" } }, - "zh-Hant": { + "ko": { "stringUnit": { "state": "translated", - "value": "為其他 App 提供選用的私有 IP 存取" + "value": "기본값: 대화형으로 실행하면 포커스를 가져오고, 에이전트나 스크립트가 실행하면 백그라운드에 머뭅니다." + } + } + } + }, + "cli.help.openFocusFlags": { + "extractionState": "manual", + "localizations": { + "en": { + "stringUnit": { + "state": "translated", + "value": "Focus:\n --focus Switch to the new workspace\n --no-focus Open it in the background" } }, - "ko": { + "ja": { "stringUnit": { "state": "translated", - "value": "다른 앱의 비공개 IP 접근을 위한 선택 설정" + "value": "フォーカス:\n --focus 新しいワークスペースに切り替えます\n --no-focus バックグラウンドで開きます" + } + }, + "de": { + "stringUnit": { + "state": "translated", + "value": "Fokus:\n --focus Zum neuen Workspace wechseln\n --no-focus Im Hintergrund öffnen" + } + }, + "fr": { + "stringUnit": { + "state": "translated", + "value": "Focus :\n --focus Bascule vers le nouvel espace de travail\n --no-focus L’ouvre en arrière-plan" } }, "ar": { "stringUnit": { "state": "translated", - "value": "وصول اختياري إلى عناوين IP الخاصة للتطبيقات الأخرى" + "value": "التركيز:\n --focus ينتقل إلى مساحة العمل الجديدة\n --no-focus يفتحها في الخلفية" } }, - "bs": { + "es": { "stringUnit": { "state": "translated", - "value": "Opcionalni pristup privatnim IP adresama za druge aplikacije" + "value": "Foco:\n --focus Cambia al nuevo espacio de trabajo\n --no-focus Lo abre en segundo plano" } }, - "da": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "Valgfri privat IP-adgang for andre apps" + "value": "焦點:\n --focus 切換到新的工作區\n --no-focus 在背景開啟" } }, - "it": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "Accesso facoltativo agli IP privati per altre app" + "value": "焦点:\n --focus 切换到新的工作区\n --no-focus 在后台打开" } }, - "km": { + "ko": { "stringUnit": { "state": "translated", - "value": "ចូលប្រើ IP ឯកជនសម្រាប់កម្មវិធីផ្សេងៗជាជម្រើស" + "value": "포커스:\n --focus 새 워크스페이스로 전환합니다\n --no-focus 백그라운드에서 엽니다" + } + } + } + }, + "settings.app.compactAgentStatus": { + "extractionState": "manual", + "localizations": { + "en": { + "stringUnit": { + "state": "translated", + "value": "Compact Agent Status" } }, - "nb": { + "ar": { "stringUnit": { "state": "translated", - "value": "Valgfri privat IP-tilgang for andre apper" + "value": "حالة الوكيل المختصرة" } }, - "pl": { + "de": { "stringUnit": { "state": "translated", - "value": "Opcjonalny dostęp innych aplikacji do prywatnych adresów IP" + "value": "Kompakter Agentenstatus" } }, - "pt-BR": { + "es": { "stringUnit": { "state": "translated", - "value": "Acesso opcional a IPs privados para outros apps" + "value": "Estado de agente compacto" } }, - "ru": { + "fr": { "stringUnit": { "state": "translated", - "value": "Необязательный доступ других приложений к частным IP" + "value": "Statut d’agent compact" } }, - "th": { + "ja": { "stringUnit": { "state": "translated", - "value": "การเข้าถึง IP ส่วนตัวสำหรับแอปอื่นแบบไม่บังคับ" + "value": "エージェント状態のコンパクト表示" } }, - "tr": { + "ko": { "stringUnit": { "state": "translated", - "value": "Diğer uygulamalar için isteğe bağlı özel IP erişimi" + "value": "간결한 에이전트 상태" } }, - "uk": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "Необов’язковий доступ інших програм до приватних IP" + "value": "精简代理状态" + } + }, + "zh-Hant": { + "stringUnit": { + "state": "translated", + "value": "精簡代理狀態" } } } }, - "cloud.vpn.setup.failed": { + "settings.app.compactAgentStatus.subtitle": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Needs attention" + "value": "Show a workspace's agent, unread and pull request state as one colored icon before the title instead of separate rows. Hover the icon for details." } }, - "de": { + "ar": { "stringUnit": { "state": "translated", - "value": "Aktion erforderlich" + "value": "إظهار حالة الوكيل والعناصر غير المقروءة وطلب السحب لمساحة العمل كأيقونة ملونة واحدة قبل العنوان بدلاً من صفوف منفصلة. مرّر المؤشر فوق الأيقونة لعرض التفاصيل." } }, - "fr": { + "de": { "stringUnit": { "state": "translated", - "value": "Action requise" + "value": "Agenten-, Ungelesen- und Pull-Request-Status eines Workspace als ein farbiges Symbol vor dem Titel anzeigen statt in eigenen Zeilen. Details erscheinen, wenn du den Zeiger über das Symbol bewegst." } }, "es": { "stringUnit": { "state": "translated", - "value": "Requiere atención" - } - }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "対応が必要" + "value": "Mostrar el estado del agente, lo no leído y la pull request de un espacio de trabajo como un único icono de color antes del título, en lugar de filas separadas. Pasa el cursor sobre el icono para ver los detalles." } }, - "zh-Hans": { + "fr": { "stringUnit": { "state": "translated", - "value": "需要处理" + "value": "Afficher l’état de l’agent, des éléments non lus et de la pull request d’un espace de travail sous forme d’une seule icône colorée avant le titre, au lieu de lignes distinctes. Survolez l’icône pour voir les détails." } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "需要處理" + "value": "ワークスペースのエージェント、未読、プルリクエストの状態を、個別の行ではなくタイトルの前の色付きアイコン1つで示します。詳細はアイコンにポインタを合わせると表示されます。" } }, "ko": { "stringUnit": { "state": "translated", - "value": "조치 필요" - } - }, - "ar": { - "stringUnit": { - "state": "translated", - "value": "يتطلب إجراءً" + "value": "워크스페이스의 에이전트, 읽지 않음, 풀 리퀘스트 상태를 별도의 줄이 아니라 제목 앞의 색상 아이콘 하나로 나타냅니다. 자세한 내용은 아이콘 위에 포인터를 올려 확인하세요." } }, - "bs": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "Potrebna pažnja" + "value": "用标题前的单个彩色图标表示工作区的代理、未读和拉取请求状态,而不是各自占一行。将指针悬停在图标上可查看详细信息。" } }, - "da": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "Kræver opmærksomhed" + "value": "以標題前的單一彩色圖示表示工作區的代理、未讀與拉取請求狀態,而非各自佔一行。將游標移到圖示上可查看詳細資訊。" } - }, - "it": { + } + } + }, + "settings.search.alias.setting.app.compact-agent-status": { + "extractionState": "manual", + "localizations": { + "ar": { "stringUnit": { "state": "translated", - "value": "Richiede attenzione" + "value": "sidebar.compactAgentStatus compact agent status running needs input glyph icon title line dense claude codex مختصر وكيل حالة أيقونة سطر العنوان" } }, - "km": { + "de": { "stringUnit": { "state": "translated", - "value": "ត្រូវការការយកចិត្តទុកដាក់" + "value": "sidebar.compactAgentStatus compact agent status running needs input glyph icon title line dense claude codex kompakt Agent Status Symbol Titelzeile" } }, - "nb": { + "en": { "stringUnit": { "state": "translated", - "value": "Krever handling" + "value": "sidebar.compactAgentStatus compact agent status running needs input glyph icon title line dense claude codex" } }, - "pl": { + "es": { "stringUnit": { "state": "translated", - "value": "Wymaga uwagi" + "value": "sidebar.compactAgentStatus compact agent status running needs input glyph icon title line dense claude codex compacto agente estado icono línea de título" } }, - "pt-BR": { + "fr": { "stringUnit": { "state": "translated", - "value": "Requer atenção" + "value": "sidebar.compactAgentStatus compact agent status running needs input glyph icon title line dense claude codex compact agent statut icône ligne de titre" } }, - "ru": { + "ja": { "stringUnit": { "state": "translated", - "value": "Требуется действие" + "value": "sidebar.compactAgentStatus compact agent status running needs input glyph icon title line dense claude codex コンパクト エージェント 状態 アイコン タイトル行" } }, - "th": { + "ko": { "stringUnit": { "state": "translated", - "value": "ต้องดำเนินการ" + "value": "sidebar.compactAgentStatus compact agent status running needs input glyph icon title line dense claude codex 간결 에이전트 상태 아이콘 제목 줄" } }, - "tr": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "İlgilenilmeli" + "value": "sidebar.compactAgentStatus compact agent status running needs input glyph icon title line dense claude codex 精简 代理 状态 图标 标题行" } }, - "uk": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "Потрібна увага" + "value": "sidebar.compactAgentStatus compact agent status running needs input glyph icon title line dense claude codex 精簡 代理 狀態 圖示 標題列" } } } }, - "cloud.vpn.setup.off": { + "sidebar.agentStatus.glyph.tooltip": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Off" + "value": "%1$@: %2$@" } }, - "de": { + "ar": { "stringUnit": { "state": "translated", - "value": "Aus" + "value": "%1$@: %2$@" } }, - "fr": { + "de": { "stringUnit": { "state": "translated", - "value": "Désactivé" + "value": "%1$@: %2$@" } }, "es": { "stringUnit": { "state": "translated", - "value": "Desactivada" - } - }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "オフ" + "value": "%1$@: %2$@" } }, - "zh-Hans": { + "fr": { "stringUnit": { "state": "translated", - "value": "已关闭" + "value": "%1$@ : %2$@" } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "已關閉" + "value": "%1$@:%2$@" } }, "ko": { "stringUnit": { "state": "translated", - "value": "꺼짐" - } - }, - "ar": { - "stringUnit": { - "state": "translated", - "value": "متوقف" + "value": "%1$@: %2$@" } }, - "bs": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "Isključeno" + "value": "%1$@:%2$@" } }, - "da": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "Fra" + "value": "%1$@:%2$@" } - }, - "it": { + } + } + }, + "sidebar.compactStatus.profile": { + "extractionState": "manual", + "localizations": { + "en": { "stringUnit": { "state": "translated", - "value": "Disattivata" + "value": "Profile" } }, - "km": { + "ar": { "stringUnit": { "state": "translated", - "value": "បិទ" + "value": "الملف الشخصي" } }, - "nb": { + "de": { "stringUnit": { "state": "translated", - "value": "Av" + "value": "Profil" } }, - "pl": { + "es": { "stringUnit": { "state": "translated", - "value": "Wyłączona" + "value": "Perfil" } }, - "pt-BR": { + "fr": { "stringUnit": { "state": "translated", - "value": "Desativada" + "value": "Profil" } }, - "ru": { + "ja": { "stringUnit": { "state": "translated", - "value": "Выключено" + "value": "プロファイル" } }, - "th": { + "ko": { "stringUnit": { "state": "translated", - "value": "ปิด" + "value": "프로필" } }, - "tr": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "Kapalı" + "value": "配置文件" } }, - "uk": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "Вимкнено" + "value": "設定檔" } } } }, - "cloud.vpn.setup.openUnavailable": { + "terminal.clipboardReadConfirmation.deny": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Cloud VPN setup is unavailable" + "value": "Deny" } }, - "de": { + "ar": { "stringUnit": { "state": "translated", - "value": "Cloud-VPN-Einrichtung ist nicht verfügbar" + "value": "رفض" } }, - "fr": { + "de": { "stringUnit": { "state": "translated", - "value": "La configuration du VPN Cloud est indisponible" + "value": "Ablehnen" } }, "es": { "stringUnit": { "state": "translated", - "value": "La configuración de VPN de Cloud no está disponible" + "value": "Denegar" } }, - "ja": { + "fr": { "stringUnit": { "state": "translated", - "value": "Cloud VPN設定は利用できません" + "value": "Refuser" } }, - "zh-Hans": { + "ja": { "stringUnit": { "state": "translated", - "value": "Cloud VPN 设置不可用" + "value": "拒否" } }, - "zh-Hant": { + "ko": { "stringUnit": { "state": "translated", - "value": "無法使用 Cloud VPN 設定" + "value": "거부" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "Cloud VPN 설정을 사용할 수 없습니다" + "value": "拒绝" } }, - "ar": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "إعداد VPN الخاص بـ Cloud غير متاح" + "value": "拒絕" } }, "bs": { "stringUnit": { "state": "translated", - "value": "Podešavanje Cloud VPN-a nije dostupno" + "value": "Odbij" } }, "da": { "stringUnit": { "state": "translated", - "value": "Cloud VPN-opsætning er ikke tilgængelig" + "value": "Afvis" } }, "it": { "stringUnit": { "state": "translated", - "value": "La configurazione VPN Cloud non è disponibile" + "value": "Nega" } }, "km": { "stringUnit": { "state": "translated", - "value": "ការរៀបចំ Cloud VPN មិនអាចប្រើបាន" + "value": "បដិសេធ" } }, "nb": { "stringUnit": { "state": "translated", - "value": "Cloud VPN-oppsett er ikke tilgjengelig" + "value": "Avslå" } }, "pl": { "stringUnit": { "state": "translated", - "value": "Konfiguracja Cloud VPN jest niedostępna" + "value": "Odmów" } }, "pt-BR": { "stringUnit": { "state": "translated", - "value": "A configuração do Cloud VPN não está disponível" + "value": "Negar" } }, "ru": { "stringUnit": { "state": "translated", - "value": "Настройка Cloud VPN недоступна" + "value": "Запретить" } }, "th": { "stringUnit": { "state": "translated", - "value": "การตั้งค่า Cloud VPN ไม่พร้อมใช้งาน" + "value": "ปฏิเสธ" } }, "tr": { "stringUnit": { "state": "translated", - "value": "Cloud VPN kurulumu kullanılamıyor" + "value": "Reddet" } }, "uk": { "stringUnit": { "state": "translated", - "value": "Налаштування Cloud VPN недоступне" + "value": "Заборонити" } } } }, - "cloud.vpn.setup.permission.body": { + "terminal.clipboardReadConfirmation.message": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "The VPN software is included in cmux. You do not need another app. macOS may require your password or Touch ID during approval." + "value": "A program in this terminal wants to read your clipboard. Allow it only if you trust the program." } }, - "de": { + "ar": { "stringUnit": { "state": "translated", - "value": "Die VPN-Software ist in cmux enthalten. Sie brauchen keine weitere App. macOS kann bei der Genehmigung Ihr Passwort oder Touch ID verlangen." + "value": "يريد برنامج في هذه الطرفية قراءة الحافظة. اسمح بذلك فقط إذا كنت تثق بالبرنامج." } }, - "fr": { + "de": { "stringUnit": { "state": "translated", - "value": "Le logiciel VPN est inclus dans cmux. Aucune autre app n’est nécessaire. macOS peut demander votre mot de passe ou Touch ID lors de l’autorisation." + "value": "Ein Programm in diesem Terminal möchte deine Zwischenablage lesen. Erlaube es nur, wenn du dem Programm vertraust." } }, "es": { "stringUnit": { "state": "translated", - "value": "El software VPN está incluido en cmux. No necesitas otra app. macOS puede solicitar tu contraseña o Touch ID durante la autorización." + "value": "Un programa de esta terminal quiere leer tu portapapeles. Permítelo solo si confías en el programa." } }, - "ja": { + "fr": { "stringUnit": { "state": "translated", - "value": "VPNソフトウェアはcmuxに含まれています。別のアプリは不要です。承認時にmacOSがパスワードまたはTouch IDを求めることがあります。" + "value": "Un programme de ce terminal veut lire votre presse-papiers. Ne l’autorisez que si vous faites confiance à ce programme." } }, - "zh-Hans": { + "ja": { "stringUnit": { "state": "translated", - "value": "cmux 已包含 VPN 软件,无需其他应用。批准时,macOS 可能要求您输入密码或使用触控 ID。" + "value": "このターミナルのプログラムがクリップボードを読み取ろうとしています。信頼できるプログラムの場合にのみ許可してください。" } }, - "zh-Hant": { + "ko": { "stringUnit": { "state": "translated", - "value": "cmux 已包含 VPN 軟體,不需要其他 App。核准時,macOS 可能要求您輸入密碼或使用 Touch ID。" + "value": "이 터미널의 프로그램이 클립보드를 읽으려고 합니다. 프로그램을 신뢰할 수 있을 때만 허용하세요." } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "VPN 소프트웨어는 cmux에 포함되어 있습니다. 다른 앱은 필요하지 않습니다. 승인 시 macOS에서 암호 또는 Touch ID를 요청할 수 있습니다." + "value": "此终端中的程序想要读取你的剪贴板。只有在你信任该程序时才允许。" } }, - "ar": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "برنامج VPN مضمن في cmux. لا تحتاج إلى تطبيق آخر. قد يطلب macOS كلمة المرور أو Touch ID أثناء الموافقة." + "value": "此終端機中的程式想要讀取你的剪貼簿。只有在你信任該程式時才允許。" } }, "bs": { "stringUnit": { "state": "translated", - "value": "VPN softver je uključen u cmux. Nije potrebna druga aplikacija. macOS može zatražiti lozinku ili Touch ID tokom odobravanja." + "value": "Program u ovom terminalu želi čitati vaš međuspremnik. Dozvolite samo ako vjerujete programu." } }, "da": { "stringUnit": { "state": "translated", - "value": "VPN-softwaren er inkluderet i cmux. Du behøver ingen anden app. macOS kan bede om din adgangskode eller Touch ID under godkendelsen." + "value": "Et program i denne terminal vil læse din udklipsholder. Tillad det kun, hvis du har tillid til programmet." } }, "it": { "stringUnit": { "state": "translated", - "value": "Il software VPN è incluso in cmux. Non serve un’altra app. macOS potrebbe chiedere la password o Touch ID durante l’autorizzazione." + "value": "Un programma in questo terminale vuole leggere gli appunti. Consentilo solo se ti fidi del programma." } }, "km": { "stringUnit": { "state": "translated", - "value": "កម្មវិធី VPN មាននៅក្នុង cmux។ អ្នកមិនត្រូវការកម្មវិធីផ្សេងទៀតទេ។ macOS អាចស្នើពាក្យសម្ងាត់ ឬ Touch ID ក្នុងពេលអនុម័ត។" + "value": "កម្មវិធីក្នុងស្ថានីយនេះចង់អានក្ដារតម្បៀតខ្ទាស់របស់អ្នក។ អនុញ្ញាតតែបើអ្នកទុកចិត្តកម្មវិធីនេះ។" } }, "nb": { "stringUnit": { "state": "translated", - "value": "VPN-programvaren er inkludert i cmux. Du trenger ingen annen app. macOS kan be om passord eller Touch ID under godkjenningen." + "value": "Et program i denne terminalen vil lese utklippstavlen din. Tillat det bare hvis du stoler på programmet." } }, "pl": { "stringUnit": { "state": "translated", - "value": "Oprogramowanie VPN jest zawarte w cmux. Nie potrzebujesz innej aplikacji. macOS może poprosić o hasło lub Touch ID podczas zatwierdzania." + "value": "Program w tym terminalu chce odczytać schowek. Zezwól tylko, jeśli ufasz temu programowi." } }, "pt-BR": { "stringUnit": { "state": "translated", - "value": "O software VPN vem incluído no cmux. Você não precisa de outro app. O macOS pode pedir sua senha ou Touch ID durante a aprovação." + "value": "Um programa neste terminal quer ler sua área de transferência. Permita somente se você confiar no programa." } }, "ru": { "stringUnit": { "state": "translated", - "value": "VPN-программа уже входит в cmux. Другие приложения не нужны. Во время подтверждения macOS может запросить пароль или Touch ID." + "value": "Программа в этом терминале хочет прочитать буфер обмена. Разрешайте только программам, которым доверяете." } }, "th": { "stringUnit": { "state": "translated", - "value": "ซอฟต์แวร์ VPN รวมอยู่ใน cmux แล้ว ไม่ต้องใช้แอปอื่น macOS อาจขอรหัสผ่านหรือ Touch ID ระหว่างการอนุมัติ" + "value": "โปรแกรมในเทอร์มินัลนี้ต้องการอ่านคลิปบอร์ดของคุณ อนุญาตเฉพาะเมื่อคุณเชื่อถือโปรแกรมนี้" } }, "tr": { "stringUnit": { "state": "translated", - "value": "VPN yazılımı cmux içinde bulunur. Başka bir uygulama gerekmez. macOS onay sırasında parolanızı veya Touch ID’yi isteyebilir." + "value": "Bu terminaldeki bir program panonuzu okumak istiyor. Yalnızca programa güveniyorsanız izin verin." } }, "uk": { "stringUnit": { "state": "translated", - "value": "Програмне забезпечення VPN входить до cmux. Інша програма не потрібна. Під час схвалення macOS може попросити пароль або Touch ID." + "value": "Програма в цьому терміналі хоче прочитати ваш буфер обміну. Дозволяйте, лише якщо довіряєте програмі." } } } }, - "cloud.vpn.setup.status.title": { + "terminal.clipboardReadConfirmation.title": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Private network status" + "value": "Allow Clipboard Access?" } }, - "de": { + "ar": { "stringUnit": { "state": "translated", - "value": "Status des privaten Netzwerks" + "value": "السماح بالوصول إلى الحافظة؟" } }, - "fr": { + "de": { "stringUnit": { "state": "translated", - "value": "État du réseau privé" + "value": "Zugriff auf die Zwischenablage erlauben?" } }, "es": { "stringUnit": { "state": "translated", - "value": "Estado de la red privada" + "value": "¿Permitir el acceso al portapapeles?" } }, - "ja": { + "fr": { "stringUnit": { "state": "translated", - "value": "プライベートネットワークの状態" + "value": "Autoriser l’accès au presse-papiers ?" } }, - "zh-Hans": { + "ja": { "stringUnit": { "state": "translated", - "value": "私有网络状态" + "value": "クリップボードへのアクセスを許可しますか?" } }, - "zh-Hant": { + "ko": { "stringUnit": { "state": "translated", - "value": "私有網路狀態" + "value": "클립보드 접근을 허용하시겠습니까?" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "비공개 네트워크 상태" + "value": "允许访问剪贴板?" } }, - "ar": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "حالة الشبكة الخاصة" + "value": "允許存取剪貼簿?" } }, "bs": { "stringUnit": { "state": "translated", - "value": "Status privatne mreže" + "value": "Dozvoliti pristup međuspremniku?" } }, "da": { "stringUnit": { "state": "translated", - "value": "Status for privat netværk" + "value": "Tillad adgang til udklipsholderen?" } }, "it": { "stringUnit": { "state": "translated", - "value": "Stato della rete privata" + "value": "Consentire l'accesso agli appunti?" } }, "km": { "stringUnit": { "state": "translated", - "value": "ស្ថានភាពបណ្តាញឯកជន" + "value": "អនុញ្ញាតឱ្យចូលប្រើក្ដារតម្បៀតខ្ទាស់?" } }, "nb": { "stringUnit": { "state": "translated", - "value": "Status for privat nettverk" + "value": "Tillat tilgang til utklippstavlen?" } }, "pl": { "stringUnit": { "state": "translated", - "value": "Stan sieci prywatnej" + "value": "Zezwolić na dostęp do schowka?" } }, "pt-BR": { "stringUnit": { "state": "translated", - "value": "Status da rede privada" + "value": "Permitir acesso à área de transferência?" } }, "ru": { "stringUnit": { "state": "translated", - "value": "Состояние частной сети" + "value": "Разрешить доступ к буферу обмена?" } }, "th": { "stringUnit": { "state": "translated", - "value": "สถานะเครือข่ายส่วนตัว" + "value": "อนุญาตให้เข้าถึงคลิปบอร์ดหรือไม่?" } }, "tr": { "stringUnit": { "state": "translated", - "value": "Özel ağ durumu" + "value": "Panoya erişime izin verilsin mi?" } }, "uk": { "stringUnit": { "state": "translated", - "value": "Стан приватної мережі" + "value": "Дозволити доступ до буфера обміну?" } } } }, - "cloud.vpn.setup.title": { + "notification.remoteRelay.hostFallback": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Cloud VPN" + "value": "Remote host" } }, - "de": { + "ar": { "stringUnit": { "state": "translated", - "value": "Cloud-VPN" + "value": "مضيف بعيد" } }, - "fr": { + "de": { "stringUnit": { "state": "translated", - "value": "VPN Cloud" + "value": "Remote-Host" } }, "es": { "stringUnit": { "state": "translated", - "value": "VPN de Cloud" + "value": "Host remoto" } }, - "ja": { + "fr": { "stringUnit": { "state": "translated", - "value": "クラウドVPN" + "value": "Hôte distant" } }, - "zh-Hans": { + "ja": { "stringUnit": { "state": "translated", - "value": "云端 VPN" + "value": "リモートホスト" } }, - "zh-Hant": { + "ko": { "stringUnit": { "state": "translated", - "value": "雲端 VPN" + "value": "원격 호스트" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "클라우드 VPN" + "value": "远程主机" } }, - "ar": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "شبكة Cloud الخاصة" + "value": "遠端主機" } }, "bs": { "stringUnit": { "state": "translated", - "value": "Cloud VPN" + "value": "Udaljeni host" } }, "da": { "stringUnit": { "state": "translated", - "value": "Cloud VPN" + "value": "Fjernvært" } }, "it": { "stringUnit": { "state": "translated", - "value": "VPN Cloud" + "value": "Host remoto" } }, "km": { "stringUnit": { "state": "translated", - "value": "Cloud VPN" + "value": "ម៉ាស៊ីនពីចម្ងាយ" } }, "nb": { "stringUnit": { "state": "translated", - "value": "Cloud VPN" + "value": "Ekstern vert" } }, "pl": { "stringUnit": { "state": "translated", - "value": "Cloud VPN" + "value": "Zdalny host" } }, "pt-BR": { "stringUnit": { "state": "translated", - "value": "Cloud VPN" + "value": "Host remoto" } }, "ru": { "stringUnit": { "state": "translated", - "value": "Cloud VPN" + "value": "Удалённый хост" } }, "th": { "stringUnit": { "state": "translated", - "value": "Cloud VPN" + "value": "โฮสต์ระยะไกล" } }, "tr": { "stringUnit": { "state": "translated", - "value": "Cloud VPN" + "value": "Uzak ana bilgisayar" } }, "uk": { "stringUnit": { "state": "translated", - "value": "Cloud VPN" + "value": "Віддалений хост" } } } }, - "cloud.vpn.setup.unavailable": { + "notification.remoteRelay.title": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "This copy of cmux does not include a signed VPN extension. Use a cmux release with Cloud VPN support. Cloud terminals, Ports, and Desktop remain available without the VPN." + "value": "%1$@: %2$@" } }, - "de": { + "ar": { "stringUnit": { "state": "translated", - "value": "Diese cmux-Version enthält keine signierte VPN-Erweiterung. Verwenden Sie eine cmux-Version mit Cloud-VPN-Unterstützung. Cloud-Terminals, Ports und Desktop bleiben ohne VPN verfügbar." + "value": "%1$@: %2$@" } }, - "fr": { + "de": { "stringUnit": { "state": "translated", - "value": "Cette copie de cmux ne contient pas d’extension VPN signée. Utilisez une version de cmux qui prend en charge le VPN Cloud. Les terminaux Cloud, Ports et Bureau restent disponibles sans VPN." + "value": "%1$@: %2$@" } }, "es": { "stringUnit": { "state": "translated", - "value": "Esta copia de cmux no incluye una extensión VPN firmada. Usa una versión de cmux compatible con VPN de Cloud. Los terminales Cloud, Puertos y Escritorio siguen disponibles sin VPN." + "value": "%1$@: %2$@" } }, - "ja": { + "fr": { "stringUnit": { "state": "translated", - "value": "このcmuxには署名済みのVPN機能拡張が含まれていません。Cloud VPN対応のcmuxリリースを使用してください。Cloudのターミナル、ポート、デスクトップはVPNなしでも使えます。" + "value": "%1$@: %2$@" } }, - "zh-Hans": { + "ja": { "stringUnit": { "state": "translated", - "value": "此 cmux 副本未包含已签名的 VPN 扩展。请使用支持 Cloud VPN 的 cmux 版本。Cloud 终端、端口和桌面无需 VPN 仍可使用。" + "value": "%1$@: %2$@" } }, - "zh-Hant": { + "ko": { "stringUnit": { "state": "translated", - "value": "此 cmux 副本未包含已簽署的 VPN 延伸功能。請使用支援 Cloud VPN 的 cmux 版本。Cloud 終端機、連接埠和桌面不需要 VPN 仍可使用。" + "value": "%1$@: %2$@" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "이 cmux에는 서명된 VPN 확장이 포함되어 있지 않습니다. Cloud VPN을 지원하는 cmux 릴리스를 사용하세요. Cloud 터미널, 포트 및 데스크탑은 VPN 없이도 사용할 수 있습니다." + "value": "%1$@: %2$@" } }, - "ar": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "لا تتضمن هذه النسخة من cmux امتداد VPN موقعًا. استخدم إصدار cmux يدعم VPN الخاص بـ Cloud. تظل طرفيات Cloud والمنافذ وسطح المكتب متاحة بدون VPN." + "value": "%1$@: %2$@" } }, "bs": { "stringUnit": { "state": "translated", - "value": "Ova kopija cmux-a nema potpisani VPN dodatak. Koristite cmux izdanje sa Cloud VPN podrškom. Cloud terminali, portovi i radna površina ostaju dostupni bez VPN-a." + "value": "%1$@: %2$@" } }, "da": { "stringUnit": { "state": "translated", - "value": "Denne cmux-kopi indeholder ikke en signeret VPN-udvidelse. Brug en cmux-udgave med Cloud VPN-understøttelse. Cloud-terminaler, porte og skrivebord er stadig tilgængelige uden VPN." + "value": "%1$@: %2$@" } }, "it": { "stringUnit": { "state": "translated", - "value": "Questa copia di cmux non include un’estensione VPN firmata. Usa una versione di cmux con supporto Cloud VPN. Terminali Cloud, porte e desktop restano disponibili senza VPN." + "value": "%1$@: %2$@" } }, "km": { "stringUnit": { "state": "translated", - "value": "cmux ច្បាប់នេះមិនមានផ្នែកបន្ថែម VPN ដែលបានចុះហត្ថលេខាទេ។ ប្រើកំណែ cmux ដែលគាំទ្រ Cloud VPN។ Terminal, Ports និង Desktop របស់ Cloud នៅតែប្រើបានដោយគ្មាន VPN។" + "value": "%1$@: %2$@" } }, "nb": { "stringUnit": { "state": "translated", - "value": "Denne cmux-kopien har ingen signert VPN-utvidelse. Bruk en cmux-versjon med Cloud VPN-støtte. Cloud-terminaler, porter og skrivebord er tilgjengelige uten VPN." + "value": "%1$@: %2$@" } }, "pl": { "stringUnit": { "state": "translated", - "value": "Ta kopia cmux nie zawiera podpisanego rozszerzenia VPN. Użyj wydania cmux z obsługą Cloud VPN. Terminale Cloud, porty i pulpit pozostają dostępne bez VPN." + "value": "%1$@: %2$@" } }, "pt-BR": { "stringUnit": { "state": "translated", - "value": "Esta cópia do cmux não inclui uma extensão VPN assinada. Use uma versão do cmux com suporte a Cloud VPN. Terminais Cloud, portas e área de trabalho continuam disponíveis sem VPN." + "value": "%1$@: %2$@" } }, "ru": { "stringUnit": { "state": "translated", - "value": "В этой копии cmux нет подписанного VPN-расширения. Используйте выпуск cmux с поддержкой Cloud VPN. Cloud-терминалы, порты и рабочий стол доступны без VPN." + "value": "%1$@: %2$@" } }, "th": { "stringUnit": { "state": "translated", - "value": "cmux รุ่นนี้ไม่มีส่วนขยาย VPN ที่ลงนามแล้ว ใช้รุ่น cmux ที่รองรับ Cloud VPN เทอร์มินัล Cloud พอร์ต และเดสก์ท็อปยังใช้ได้โดยไม่ต้องมี VPN" + "value": "%1$@: %2$@" } }, "tr": { "stringUnit": { "state": "translated", - "value": "Bu cmux kopyasında imzalı VPN uzantısı bulunmuyor. Cloud VPN destekli bir cmux sürümü kullanın. Cloud terminalleri, portlar ve masaüstü VPN olmadan da kullanılabilir." + "value": "%1$@: %2$@" } }, "uk": { "stringUnit": { "state": "translated", - "value": "Ця копія cmux не містить підписаного VPN-розширення. Використовуйте випуск cmux із підтримкою Cloud VPN. Cloud-термінали, порти й робочий стіл доступні без VPN." + "value": "%1$@: %2$@" } } } }, - "cloud.vpn.setup.waiting": { + "socket.mainActorHop.timeout.mayHaveRun": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Waiting" + "value": "cmux did not respond within 10 seconds after the command started, so its result is unknown. Check the effect before retrying." } }, - "de": { + "ja": { "stringUnit": { "state": "translated", - "value": "Warten" + "value": "コマンドの開始後 10 秒以内に cmux が応答しなかったため、結果は不明です。再試行する前に効果を確認してください。" } }, - "fr": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "En attente" + "value": "命令开始后 10 秒内 cmux 没有响应,因此结果未知。请先确认效果再重试。" } }, - "es": { + "de": { "stringUnit": { "state": "translated", - "value": "En espera" + "value": "cmux hat innerhalb von 10 Sekunden nach dem Start des Befehls nicht geantwortet, das Ergebnis ist daher unbekannt. Prüfe die Auswirkung, bevor du es erneut versuchst." } }, - "ja": { + "fr": { "stringUnit": { "state": "translated", - "value": "待機中" + "value": "cmux n’a pas répondu dans les 10 secondes suivant le démarrage de la commande, son résultat est donc inconnu. Vérifiez l’effet avant de réessayer." } }, - "zh-Hans": { + "ar": { "stringUnit": { "state": "translated", - "value": "等待中" + "value": "لم يستجب cmux خلال 10 ثوانٍ بعد بدء الأمر، لذا فإن نتيجته غير معروفة. تحقق من الأثر قبل إعادة المحاولة." } }, - "zh-Hant": { + "es": { "stringUnit": { "state": "translated", - "value": "等待中" + "value": "cmux no respondió en los 10 segundos posteriores al inicio del comando, por lo que su resultado es desconocido. Comprueba el efecto antes de reintentar." } }, - "ko": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "대기 중" + "value": "命令開始後 10 秒內 cmux 沒有回應,因此結果未知。請先確認效果再重試。" } }, - "ar": { + "ko": { "stringUnit": { "state": "translated", - "value": "قيد الانتظار" + "value": "명령이 시작된 후 10초 안에 cmux가 응답하지 않아 결과를 알 수 없습니다. 다시 시도하기 전에 효과를 확인하세요." } - }, - "bs": { + } + } + }, + "socket.mainActorHop.timeout.notRun": { + "extractionState": "manual", + "localizations": { + "en": { "stringUnit": { "state": "translated", - "value": "Čekanje" + "value": "cmux did not respond within 10 seconds, so the command was not run. Retry in a moment." } }, - "da": { + "ja": { "stringUnit": { "state": "translated", - "value": "Venter" + "value": "cmux が 10 秒以内に応答しなかったため、コマンドは実行されませんでした。しばらくしてから再試行してください。" } }, - "it": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "In attesa" + "value": "cmux 在 10 秒内没有响应,因此未运行该命令。请稍后重试。" } }, - "km": { + "de": { "stringUnit": { "state": "translated", - "value": "កំពុងរង់ចាំ" + "value": "cmux hat innerhalb von 10 Sekunden nicht geantwortet, der Befehl wurde daher nicht ausgeführt. Versuche es gleich noch einmal." } }, - "nb": { + "fr": { "stringUnit": { "state": "translated", - "value": "Venter" + "value": "cmux n’a pas répondu dans les 10 secondes, la commande n’a donc pas été exécutée. Réessayez dans un instant." } }, - "pl": { + "ar": { "stringUnit": { "state": "translated", - "value": "Oczekiwanie" + "value": "لم يستجب cmux خلال 10 ثوانٍ، لذا لم يتم تنفيذ الأمر. أعد المحاولة بعد لحظات." } }, - "pt-BR": { + "es": { "stringUnit": { "state": "translated", - "value": "Aguardando" + "value": "cmux no respondió en 10 segundos, por lo que el comando no se ejecutó. Reintenta en un momento." } }, - "ru": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "Ожидание" + "value": "cmux 在 10 秒內沒有回應,因此未執行該命令。請稍後重試。" } }, - "th": { + "ko": { "stringUnit": { "state": "translated", - "value": "กำลังรอ" + "value": "cmux가 10초 안에 응답하지 않아 명령이 실행되지 않았습니다. 잠시 후 다시 시도하세요." } - }, - "tr": { + } + } + }, + "socket.overloaded.message": { + "extractionState": "manual", + "localizations": { + "en": { "stringUnit": { "state": "translated", - "value": "Bekliyor" + "value": "cmux is handling too many control-socket requests right now, so this one was not run. Retry in a moment." } }, - "uk": { + "ja": { "stringUnit": { "state": "translated", - "value": "Очікування" + "value": "cmux は現在、制御ソケットの要求を処理しきれないため、この要求は実行されませんでした。しばらくしてから再試行してください。" } - } - } - }, - "cloudTree.ports.action.wake": { - "extractionState": "manual", - "localizations": { - "en": { + }, + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "Wake Machine" + "value": "cmux 当前正在处理过多的控制套接字请求,因此未运行此请求。请稍后重试。" } }, "de": { "stringUnit": { "state": "translated", - "value": "Maschine aktivieren" + "value": "cmux verarbeitet gerade zu viele Control-Socket-Anfragen, diese wurde daher nicht ausgeführt. Versuche es gleich noch einmal." } }, "fr": { "stringUnit": { "state": "translated", - "value": "Réveiller la machine" + "value": "cmux traite actuellement trop de requêtes du socket de contrôle, celle-ci n’a donc pas été exécutée. Réessayez dans un instant." } }, "ar": { "stringUnit": { "state": "translated", - "value": "إيقاظ الجهاز" + "value": "يعالج cmux حاليًا عددًا كبيرًا جدًا من طلبات مقبس التحكم، لذا لم يتم تنفيذ هذا الطلب. أعد المحاولة بعد لحظات." } }, "es": { "stringUnit": { "state": "translated", - "value": "Activar máquina" + "value": "cmux está gestionando demasiadas solicitudes del socket de control ahora mismo, por lo que esta no se ejecutó. Reintenta en un momento." } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "喚醒機器" + "value": "cmux 目前正在處理過多的控制 socket 請求,因此未執行此請求。請稍後重試。" + } + }, + "ko": { + "stringUnit": { + "state": "translated", + "value": "cmux가 지금 너무 많은 제어 소켓 요청을 처리하고 있어 이 요청은 실행되지 않았습니다. 잠시 후 다시 시도하세요." + } + } + } + }, + "socket.request.cancelled": { + "extractionState": "manual", + "localizations": { + "en": { + "stringUnit": { + "state": "translated", + "value": "Request was cancelled" + } + }, + "ja": { + "stringUnit": { + "state": "translated", + "value": "リクエストはキャンセルされました" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "唤醒机器" + "value": "请求已取消" } }, - "ko": { + "de": { "stringUnit": { "state": "translated", - "value": "머신 깨우기" + "value": "Die Anfrage wurde abgebrochen" } }, - "ja": { + "fr": { "stringUnit": { "state": "translated", - "value": "マシンを起動" + "value": "La requête a été annulée" } }, - "bs": { + "ar": { "stringUnit": { "state": "translated", - "value": "Probudi mašinu" + "value": "تم إلغاء الطلب" } }, - "da": { + "es": { "stringUnit": { "state": "translated", - "value": "Væk maskine" + "value": "Se canceló la solicitud" } }, - "it": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "Riattiva macchina" + "value": "請求已取消" } }, - "km": { + "ko": { "stringUnit": { "state": "translated", - "value": "ដាស់ម៉ាស៊ីន" + "value": "요청이 취소되었습니다" + } + } + } + }, + "socket.request.failedBeforeResult": { + "extractionState": "manual", + "localizations": { + "en": { + "stringUnit": { + "state": "translated", + "value": "Request failed before returning a result" } }, - "nb": { + "ja": { "stringUnit": { "state": "translated", - "value": "Vekk maskin" + "value": "結果を返す前にリクエストが失敗しました" } }, - "pl": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "Wybudź maszynę" + "value": "请求在返回结果之前失败" } }, - "pt-BR": { + "de": { "stringUnit": { "state": "translated", - "value": "Despertar máquina" + "value": "Die Anfrage ist fehlgeschlagen, bevor ein Ergebnis zurückgegeben wurde" } }, - "ru": { + "fr": { "stringUnit": { "state": "translated", - "value": "Разбудить машину" + "value": "La requête a échoué avant de renvoyer un résultat" } }, - "th": { + "ar": { "stringUnit": { "state": "translated", - "value": "ปลุกเครื่อง" + "value": "فشل الطلب قبل إرجاع نتيجة" } }, - "tr": { + "es": { "stringUnit": { "state": "translated", - "value": "Makineyi uyandır" + "value": "La solicitud falló antes de devolver un resultado" } }, - "uk": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "Розбудити машину" + "value": "請求在傳回結果之前失敗" + } + }, + "ko": { + "stringUnit": { + "state": "translated", + "value": "결과를 반환하기 전에 요청이 실패했습니다" } } } }, - "cloudTree.ports.asleep.detail": { + "agent.codex.fork.notice.body": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Wake the machine to check its services. cmux’s in-app forwarding does not need Cloud VPN." + "value": "cmux could not identify the new fork session. Start the fork again from the parent pane." + } + }, + "ja": { + "stringUnit": { + "state": "translated", + "value": "cmux は新しいフォーク セッションを特定できませんでした。親ペインからもう一度フォークしてください。" } }, "de": { "stringUnit": { "state": "translated", - "value": "Aktivieren Sie die Maschine, um ihre Dienste zu prüfen. Die Weiterleitung in cmux benötigt kein Cloud-VPN." + "value": "cmux konnte die neue Fork-Sitzung nicht erkennen. Starten Sie den Fork erneut im übergeordneten Pane." } }, "fr": { "stringUnit": { "state": "translated", - "value": "Réveillez la machine pour vérifier ses services. Le transfert intégré à cmux ne nécessite pas de VPN Cloud." + "value": "cmux n’a pas pu identifier la nouvelle session forkée. Relancez le fork depuis le volet parent." } }, "ar": { "stringUnit": { "state": "translated", - "value": "أيقظ الجهاز لفحص خدماته. لا تحتاج إعادة التوجيه داخل cmux إلى Cloud VPN." + "value": "تعذر على cmux تحديد جلسة التفريع الجديدة. ابدأ التفريع مرة أخرى من الجزء الأصلي." } }, "es": { "stringUnit": { "state": "translated", - "value": "Activa la máquina para comprobar sus servicios. El reenvío integrado de cmux no necesita Cloud VPN." + "value": "cmux no pudo identificar la nueva sesión bifurcada. Inicia el fork de nuevo desde el panel principal." } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "喚醒機器以檢查其服務。cmux 的應用程式內轉送不需要 Cloud VPN。" + "value": "cmux 無法識別新的分支工作階段。請從父窗格重新開始分支。" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "唤醒机器以检查其服务。cmux 的应用内转发无需 Cloud VPN。" + "value": "cmux 无法识别新的分支会话。请从父窗格重新开始分支。" } }, "ko": { "stringUnit": { "state": "translated", - "value": "머신을 깨워 서비스를 확인하세요. cmux 앱 내 전달에는 Cloud VPN이 필요하지 않습니다." - } - }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "マシンを起動してサービスを確認してください。cmux のアプリ内転送に Cloud VPN は不要です。" + "value": "cmux가 새 포크 세션을 식별하지 못했습니다. 부모 패널에서 포크를 다시 시작하세요." } }, "bs": { "stringUnit": { "state": "translated", - "value": "Probudite mašinu da provjerite njene servise. Prosljeđivanje unutar cmux-a ne treba Cloud VPN." + "value": "cmux nije mogao prepoznati novu sesiju račvanja. Ponovo pokrenite račvanje iz nadređenog okna." } }, "da": { "stringUnit": { "state": "translated", - "value": "Væk maskinen for at kontrollere dens tjenester. Videresendelse i cmux kræver ikke Cloud VPN." + "value": "cmux kunne ikke identificere den nye forgreningssession. Start forgreningen igen fra forældreruden." } }, "it": { "stringUnit": { "state": "translated", - "value": "Riattiva la macchina per controllarne i servizi. L’inoltro all’interno di cmux non richiede la VPN Cloud." + "value": "cmux non ha potuto identificare la nuova sessione fork. Avvia di nuovo il fork dal riquadro principale." } }, "km": { "stringUnit": { "state": "translated", - "value": "ដាស់ម៉ាស៊ីនដើម្បីពិនិត្យសេវាកម្មរបស់វា។ ការបញ្ជូនបន្តនៅក្នុង cmux មិនត្រូវការ Cloud VPN ទេ។" + "value": "cmux មិនអាចកំណត់អត្តសញ្ញាណសម័យ fork ថ្មីបានទេ។ ចាប់ផ្ដើម fork ម្ដងទៀតពីផ្ទាំងមេ។" } }, "nb": { "stringUnit": { "state": "translated", - "value": "Vekk maskinen for å sjekke tjenestene. Videresending i cmux trenger ikke Cloud VPN." + "value": "cmux kunne ikke identifisere den nye forgreningsøkten. Start forgreningen på nytt fra den overordnede ruten." } }, "pl": { "stringUnit": { "state": "translated", - "value": "Wybudź maszynę, aby sprawdzić jej usługi. Przekierowywanie w cmux nie wymaga Cloud VPN." + "value": "cmux nie mógł zidentyfikować nowej sesji forka. Uruchom fork ponownie z panelu nadrzędnego." } }, "pt-BR": { "stringUnit": { "state": "translated", - "value": "Desperte a máquina para verificar os serviços. O encaminhamento dentro do cmux não precisa do Cloud VPN." + "value": "O cmux não conseguiu identificar a nova sessão bifurcada. Inicie o fork novamente no painel principal." } }, "ru": { "stringUnit": { "state": "translated", - "value": "Разбудите машину, чтобы проверить её службы. Перенаправлению внутри cmux Cloud VPN не нужен." + "value": "cmux не удалось определить новый сеанс форка. Запустите форк снова из родительской панели." } }, "th": { "stringUnit": { "state": "translated", - "value": "ปลุกเครื่องเพื่อตรวจสอบบริการ การส่งต่อภายใน cmux ไม่ต้องใช้ Cloud VPN" + "value": "cmux ไม่สามารถระบุเซสชันที่แยกใหม่ได้ เริ่มการแยกอีกครั้งจากบานหน้าต่างหลัก" } }, "tr": { "stringUnit": { "state": "translated", - "value": "Hizmetlerini denetlemek için makineyi uyandırın. cmux içi yönlendirme Cloud VPN gerektirmez." + "value": "cmux yeni fork oturumunu belirleyemedi. Fork'u üst panelden yeniden başlatın." } }, "uk": { "stringUnit": { "state": "translated", - "value": "Розбудіть машину, щоб перевірити її служби. Перенаправлення всередині cmux не потребує Cloud VPN." + "value": "cmux не вдалося визначити новий сеанс форка. Запустіть форк ще раз із батьківської панелі." } } } }, - "cloudTree.ports.available.title": { + "agent.codex.fork.notice.parentClearFailed.body": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Listening services" + "value": "cmux could not safely bind the new fork session. Retry the fork from the parent pane." + } + }, + "ja": { + "stringUnit": { + "state": "translated", + "value": "cmux は新しいフォーク セッションを安全にバインドできませんでした。親ペインからもう一度フォークしてください。" } }, "de": { "stringUnit": { "state": "translated", - "value": "Lauschende Dienste" + "value": "cmux konnte die neue Fork-Sitzung nicht sicher binden. Starten Sie den Fork erneut im übergeordneten Pane." } }, "fr": { "stringUnit": { "state": "translated", - "value": "Services en écoute" + "value": "cmux n’a pas pu lier la nouvelle session forkée en toute sécurité. Relancez le fork depuis le volet parent." } }, "ar": { "stringUnit": { "state": "translated", - "value": "الخدمات المستمعة" + "value": "تعذر على cmux ربط جلسة التفريع الجديدة بأمان. أعد بدء التفريع من الجزء الأصلي." } }, "es": { "stringUnit": { "state": "translated", - "value": "Servicios en escucha" + "value": "cmux no pudo vincular de forma segura la nueva sesión bifurcada. Inicia el fork de nuevo desde el panel principal." } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "監聽中的服務" + "value": "cmux 無法安全繫結新的分支工作階段。請從父窗格重新開始分支。" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "监听中的服务" + "value": "cmux 无法安全绑定新的分支会话。请从父窗格重新开始分支。" } }, "ko": { "stringUnit": { "state": "translated", - "value": "수신 대기 서비스" - } - }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "待ち受け中のサービス" + "value": "cmux가 새 포크 세션을 안전하게 연결하지 못했습니다. 부모 패널에서 포크를 다시 시작하세요." } }, "bs": { "stringUnit": { "state": "translated", - "value": "Servisi koji slušaju" + "value": "cmux nije mogao sigurno povezati novu sesiju račvanja. Ponovo pokrenite račvanje iz nadređenog okna." } }, "da": { "stringUnit": { "state": "translated", - "value": "Lyttende tjenester" + "value": "cmux kunne ikke binde den nye forgreningssession sikkert. Start forgreningen igen fra forældreruden." } }, "it": { "stringUnit": { "state": "translated", - "value": "Servizi in ascolto" + "value": "cmux non ha potuto associare in sicurezza la nuova sessione fork. Avvia di nuovo il fork dal riquadro principale." } }, "km": { "stringUnit": { "state": "translated", - "value": "សេវាកម្មដែលកំពុងស្តាប់" + "value": "cmux មិនអាចភ្ជាប់សម័យ fork ថ្មីដោយសុវត្ថិភាពបានទេ។ ចាប់ផ្ដើម fork ម្ដងទៀតពីផ្ទាំងមេ។" } }, "nb": { "stringUnit": { "state": "translated", - "value": "Lyttende tjenester" + "value": "cmux kunne ikke binde den nye forgreningsøkten på en trygg måte. Start forgreningen på nytt fra den overordnede ruten." } }, "pl": { "stringUnit": { "state": "translated", - "value": "Nasłuchujące usługi" + "value": "cmux nie mógł bezpiecznie powiązać nowej sesji forka. Uruchom fork ponownie z panelu nadrzędnego." } }, "pt-BR": { "stringUnit": { "state": "translated", - "value": "Serviços em escuta" + "value": "O cmux não conseguiu vincular com segurança a nova sessão bifurcada. Inicie o fork novamente no painel principal." } }, "ru": { "stringUnit": { "state": "translated", - "value": "Прослушивающие службы" + "value": "cmux не удалось безопасно привязать новый сеанс форка. Запустите форк снова из родительской панели." } }, "th": { "stringUnit": { "state": "translated", - "value": "บริการที่กำลังรับฟัง" + "value": "cmux ไม่สามารถผูกเซสชันที่แยกใหม่ได้อย่างปลอดภัย เริ่มการแยกอีกครั้งจากบานหน้าต่างหลัก" } }, "tr": { "stringUnit": { "state": "translated", - "value": "Dinleyen hizmetler" + "value": "cmux yeni fork oturumunu güvenli bir şekilde bağlayamadı. Fork'u üst panelden yeniden başlatın." } }, "uk": { "stringUnit": { "state": "translated", - "value": "Служби, що прослуховують" + "value": "cmux не вдалося безпечно прив’язати новий сеанс форка. Запустіть форк ще раз із батьківської панелі." } } } }, - "cloudTree.ports.binding.detail": { + "agent.codex.fork.notice.subtitle": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "cmux’s browser route connects to 127.0.0.1 on the machine. Bind the service to 127.0.0.1 or 0.0.0.0, then refresh. Turning on Cloud VPN does not change this route." + "value": "Fork unavailable" + } + }, + "ja": { + "stringUnit": { + "state": "translated", + "value": "フォークを利用できません" } }, "de": { "stringUnit": { "state": "translated", - "value": "Die Browser-Verbindung von cmux verwendet 127.0.0.1 auf der Maschine. Binden Sie den Dienst an 127.0.0.1 oder 0.0.0.0 und aktualisieren Sie. Cloud-VPN ändert diese Route nicht." + "value": "Fork nicht verfügbar" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Le navigateur cmux se connecte à 127.0.0.1 sur la machine. Liez le service à 127.0.0.1 ou 0.0.0.0, puis actualisez. Activer le VPN Cloud ne change pas cette route." + "value": "Fork indisponible" } }, "ar": { "stringUnit": { "state": "translated", - "value": "يتصل مسار متصفح cmux بالعنوان 127.0.0.1 على الجهاز. اربط الخدمة بالعنوان 127.0.0.1 أو 0.0.0.0 ثم حدّث. تشغيل Cloud VPN لا يغير هذا المسار." + "value": "التفريع غير متاح" } }, "es": { "stringUnit": { "state": "translated", - "value": "La ruta del navegador de cmux conecta a 127.0.0.1 en la máquina. Enlaza el servicio a 127.0.0.1 o 0.0.0.0 y actualiza. Activar Cloud VPN no cambia esta ruta." + "value": "Fork no disponible" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "cmux 的瀏覽器路徑會連線到機器上的 127.0.0.1。請將服務繫結至 127.0.0.1 或 0.0.0.0 後重新整理。開啟 Cloud VPN 不會改變此路徑。" + "value": "無法使用分支" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "cmux 的浏览器路由连接到机器上的 127.0.0.1。请将服务绑定到 127.0.0.1 或 0.0.0.0 后刷新。开启 Cloud VPN 不会改变此路由。" + "value": "分支不可用" } }, "ko": { "stringUnit": { "state": "translated", - "value": "cmux 브라우저 경로는 머신의 127.0.0.1에 연결합니다. 서비스를 127.0.0.1 또는 0.0.0.0에 바인딩한 후 새로 고치세요. Cloud VPN을 켜도 이 경로는 바뀌지 않습니다." - } - }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "cmux のブラウザはマシン上の 127.0.0.1 に接続します。サービスを 127.0.0.1 または 0.0.0.0 にバインドして更新してください。Cloud VPN を有効にしてもこの経路は変わりません。" + "value": "포크를 사용할 수 없음" } }, "bs": { "stringUnit": { "state": "translated", - "value": "Ruta preglednika u cmux-u povezuje se na 127.0.0.1 na mašini. Vežite servis na 127.0.0.1 ili 0.0.0.0, zatim osvježite. Uključivanje Cloud VPN-a ne mijenja ovu rutu." + "value": "Račvanje nije dostupno" } }, "da": { "stringUnit": { "state": "translated", - "value": "cmux’ browserrute forbinder til 127.0.0.1 på maskinen. Bind tjenesten til 127.0.0.1 eller 0.0.0.0, og opdater derefter. Aktivering af Cloud VPN ændrer ikke denne rute." + "value": "Fork ikke tilgængelig" } }, "it": { "stringUnit": { "state": "translated", - "value": "Il percorso del browser di cmux si connette a 127.0.0.1 sulla macchina. Associa il servizio a 127.0.0.1 o 0.0.0.0, quindi aggiorna. L’attivazione della VPN Cloud non modifica questo percorso." + "value": "Fork non disponibile" } }, "km": { "stringUnit": { "state": "translated", - "value": "ផ្លូវកម្មវិធីរុករករបស់ cmux ភ្ជាប់ទៅ 127.0.0.1 នៅលើម៉ាស៊ីន។ ចងសេវាកម្មទៅ 127.0.0.1 ឬ 0.0.0.0 រួចផ្ទុកឡើងវិញ។ ការបើក Cloud VPN មិនផ្លាស់ប្តូរផ្លូវនេះទេ។" + "value": "មិនអាចប្រើការបំបែកបាន" } }, "nb": { "stringUnit": { "state": "translated", - "value": "cmux sin nettleserrute kobler til 127.0.0.1 på maskinen. Bind tjenesten til 127.0.0.1 eller 0.0.0.0, og oppdater deretter. Å slå på Cloud VPN endrer ikke denne ruten." + "value": "Fork utilgjengelig" } }, "pl": { "stringUnit": { "state": "translated", - "value": "Trasa przeglądarki cmux łączy się z 127.0.0.1 na maszynie. Powiąż usługę z 127.0.0.1 lub 0.0.0.0, a następnie odśwież. Włączenie Cloud VPN nie zmienia tej trasy." + "value": "Fork niedostępny" } }, "pt-BR": { "stringUnit": { "state": "translated", - "value": "A rota de navegador do cmux se conecta a 127.0.0.1 na máquina. Vincule o serviço a 127.0.0.1 ou 0.0.0.0 e atualize. Ativar o Cloud VPN não altera essa rota." + "value": "Fork indisponível" } }, "ru": { "stringUnit": { "state": "translated", - "value": "Браузерный маршрут cmux подключается к 127.0.0.1 на машине. Привяжите службу к 127.0.0.1 или 0.0.0.0, затем обновите. Включение Cloud VPN не меняет этот маршрут." + "value": "Форк недоступен" } }, "th": { "stringUnit": { "state": "translated", - "value": "เส้นทางเบราว์เซอร์ของ cmux เชื่อมต่อกับ 127.0.0.1 บนเครื่อง ผูกบริการกับ 127.0.0.1 หรือ 0.0.0.0 แล้วรีเฟรช การเปิด Cloud VPN ไม่ได้เปลี่ยนเส้นทางนี้" + "value": "ไม่สามารถใช้การแยกสาขาได้" } }, "tr": { "stringUnit": { "state": "translated", - "value": "cmux’un tarayıcı yolu makinedeki 127.0.0.1 adresine bağlanır. Hizmeti 127.0.0.1 veya 0.0.0.0 adresine bağlayın, ardından yenileyin. Cloud VPN’i açmak bu yolu değiştirmez." + "value": "Fork kullanılamıyor" } }, "uk": { "stringUnit": { "state": "translated", - "value": "Браузерний маршрут cmux підключається до 127.0.0.1 на машині. Прив’яжіть службу до 127.0.0.1 або 0.0.0.0, потім оновіть. Увімкнення Cloud VPN не змінює цей маршрут." + "value": "Форк недоступний" } } } }, - "cloudTree.ports.binding.title": { + "agent.codex.fork.notice.title": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Services use another interface" + "value": "Agent fork" + } + }, + "ja": { + "stringUnit": { + "state": "translated", + "value": "エージェントフォーク" } }, "de": { "stringUnit": { "state": "translated", - "value": "Dienste verwenden eine andere Schnittstelle" + "value": "Agent-Fork" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Les services utilisent une autre interface" + "value": "Fork d’agent" } }, "ar": { "stringUnit": { "state": "translated", - "value": "تستخدم الخدمات واجهة أخرى" + "value": "تفريع الوكيل" } }, "es": { "stringUnit": { "state": "translated", - "value": "Los servicios usan otra interfaz" + "value": "Fork del agente" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "服務使用其他介面" + "value": "代理程式分支" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "服务使用其他接口" + "value": "代理分支" } }, "ko": { "stringUnit": { "state": "translated", - "value": "서비스가 다른 인터페이스를 사용함" - } - }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "サービスが別のインターフェイスを使用しています" + "value": "에이전트 포크" } }, "bs": { "stringUnit": { "state": "translated", - "value": "Servisi koriste drugi interfejs" + "value": "Račvanje agenta" } }, "da": { "stringUnit": { "state": "translated", - "value": "Tjenester bruger en anden grænseflade" + "value": "Agentfork" } }, "it": { "stringUnit": { "state": "translated", - "value": "I servizi usano un’altra interfaccia" + "value": "Fork dell'agente" } }, "km": { "stringUnit": { "state": "translated", - "value": "សេវាកម្មប្រើចំណុចប្រទាក់ផ្សេង" + "value": "ការបំបែកភ្នាក់ងារ" } }, "nb": { "stringUnit": { "state": "translated", - "value": "Tjenester bruker et annet grensesnitt" + "value": "Agentforgrening" } }, "pl": { "stringUnit": { "state": "translated", - "value": "Usługi używają innego interfejsu" + "value": "Fork agenta" } }, "pt-BR": { "stringUnit": { "state": "translated", - "value": "Os serviços usam outra interface" + "value": "Fork do agente" } }, "ru": { "stringUnit": { "state": "translated", - "value": "Службы используют другой интерфейс" + "value": "Форк агента" } }, "th": { "stringUnit": { "state": "translated", - "value": "บริการใช้อินเทอร์เฟซอื่น" + "value": "การแยกสาขาของเอเจนต์" } }, "tr": { "stringUnit": { "state": "translated", - "value": "Hizmetler başka bir arabirim kullanıyor" + "value": "Ajan çatalı" } }, "uk": { "stringUnit": { "state": "translated", - "value": "Служби використовують інший інтерфейс" + "value": "Форк агента" } } } }, - "cloudTree.ports.empty.noService": { + "socket.authTeam.committedStatusTimedOut": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Start a web server on this machine, then refresh." + "value": "The team change was applied, but cmux did not report the updated status within 10 seconds. Run `cmux auth status` to confirm." } }, - "de": { + "ja": { "stringUnit": { "state": "translated", - "value": "Starte einen Webserver auf diesem Rechner und aktualisiere dann die Liste." + "value": "チームの変更は適用されましたが、cmux は 10 秒以内に更新後のステータスを報告しませんでした。`cmux auth status` を実行して確認してください。" } }, - "fr": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "Démarrez un serveur web sur cette machine, puis actualisez." + "value": "团队更改已应用,但 cmux 未能在 10 秒内报告更新后的状态。请运行 `cmux auth status` 确认。" } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "شغّل خادم ويب على هذا الجهاز، ثم حدّث القائمة." + "value": "Die Teamänderung wurde übernommen, aber cmux hat den aktualisierten Status nicht innerhalb von 10 Sekunden gemeldet. Führe `cmux auth status` aus, um es zu prüfen." } }, - "es": { + "fr": { "stringUnit": { "state": "translated", - "value": "Inicia un servidor web en esta máquina y luego actualiza." + "value": "Le changement d’équipe a été appliqué, mais cmux n’a pas signalé le statut mis à jour dans les 10 secondes. Exécutez `cmux auth status` pour confirmer." } }, - "zh-Hant": { + "ar": { "stringUnit": { "state": "translated", - "value": "在這台機器上啟動網頁伺服器,然後重新整理。" + "value": "تم تطبيق تغيير الفريق، لكن cmux لم يُبلّغ عن الحالة المحدّثة خلال 10 ثوانٍ. شغّل `cmux auth status` للتأكيد." } }, - "zh-Hans": { + "es": { "stringUnit": { "state": "translated", - "value": "在此机器上启动网页服务器,然后刷新。" + "value": "El cambio de equipo se aplicó, pero cmux no informó el estado actualizado en 10 segundos. Ejecuta `cmux auth status` para confirmarlo." } }, - "ko": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "이 머신에서 웹 서버를 시작한 다음 새로 고치세요." + "value": "團隊變更已套用,但 cmux 未能在 10 秒內回報更新後的狀態。請執行 `cmux auth status` 確認。" } }, - "ja": { + "ko": { "stringUnit": { "state": "translated", - "value": "このマシンで Web サーバーを起動してから、更新してください。" - } - }, - "bs": { - "stringUnit": { - "state": "needs_review", - "value": "Pokrenite web server na ovoj mašini, zatim osvježite." - } - }, - "da": { - "stringUnit": { - "state": "needs_review", - "value": "Start en webserver på denne maskine, og opdater derefter." - } - }, - "it": { - "stringUnit": { - "state": "needs_review", - "value": "Avvia un server web su questa macchina, poi aggiorna." - } - }, - "km": { - "stringUnit": { - "state": "needs_review", - "value": "ចាប់ផ្តើមម៉ាស៊ីនមេបណ្តាញនៅលើម៉ាស៊ីននេះ រួចផ្ទុកឡើងវិញ។" - } - }, - "nb": { - "stringUnit": { - "state": "needs_review", - "value": "Start en webserver på denne maskinen, og oppdater deretter." - } - }, - "pl": { - "stringUnit": { - "state": "needs_review", - "value": "Uruchom serwer WWW na tej maszynie, a następnie odśwież." - } - }, - "pt-BR": { - "stringUnit": { - "state": "needs_review", - "value": "Inicie um servidor web nesta máquina e atualize." - } - }, - "ru": { - "stringUnit": { - "state": "needs_review", - "value": "Запустите веб-сервер на этой машине, затем обновите список." - } - }, - "th": { - "stringUnit": { - "state": "needs_review", - "value": "เริ่มเว็บเซิร์ฟเวอร์บนเครื่องนี้ แล้วรีเฟรช" - } - }, - "tr": { - "stringUnit": { - "state": "needs_review", - "value": "Bu makinede bir web sunucusu başlatın, ardından yenileyin." - } - }, - "uk": { - "stringUnit": { - "state": "needs_review", - "value": "Запустіть вебсервер на цій машині, а потім оновіть список." + "value": "팀 변경은 적용되었지만 cmux가 10초 안에 업데이트된 상태를 보고하지 않았습니다. `cmux auth status`를 실행해 확인하세요." } } } }, - "cloudTree.ports.hub.detail": { + "settings.mobile.browserTunnel.allowOtherHosts": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "This build cannot start cmux’s authenticated Cloud forward. Update cmux, then retry." + "value": "iOS Browser Reaches Other Hosts" } }, "de": { "stringUnit": { "state": "translated", - "value": "Dieser Build kann die authentifizierte Cloud-Weiterleitung von cmux nicht starten. Aktualisieren Sie cmux und versuchen Sie es erneut." + "value": "iOS-Browser erreicht andere Hosts" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Cette version ne peut pas démarrer le transfert Cloud authentifié de cmux. Mettez cmux à jour, puis réessayez." + "value": "Le navigateur iOS accède aux autres hôtes" } }, "ar": { "stringUnit": { "state": "translated", - "value": "لا يمكن لهذا الإصدار بدء إعادة توجيه Cloud الموثّقة من cmux. حدّث cmux ثم أعد المحاولة." + "value": "متصفح iOS يصل إلى مضيفين آخرين" } }, "es": { "stringUnit": { "state": "translated", - "value": "Esta compilación no puede iniciar el reenvío autenticado de Cloud de cmux. Actualiza cmux y vuelve a intentarlo." + "value": "El navegador de iOS accede a otros hosts" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "此版本無法啟動 cmux 的已驗證 Cloud 轉送。請更新 cmux 後重試。" + "value": "iOS 瀏覽器可連線至其他主機" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "此版本无法启动 cmux 的已验证 Cloud 转发。请更新 cmux 后重试。" + "value": "iOS 浏览器可访问其他主机" } }, "ko": { "stringUnit": { "state": "translated", - "value": "이 빌드에서는 cmux 인증 Cloud 전달을 시작할 수 없습니다. cmux를 업데이트한 후 다시 시도하세요." + "value": "iOS 브라우저의 다른 호스트 접근" } }, "ja": { "stringUnit": { "state": "translated", - "value": "このビルドでは cmux の認証済み Cloud 転送を開始できません。cmux を更新して再試行してください。" - } - }, - "bs": { - "stringUnit": { - "state": "translated", - "value": "Ova verzija ne može pokrenuti autentificirano Cloud prosljeđivanje cmux-a. Ažurirajte cmux, zatim pokušajte ponovo." - } - }, - "da": { - "stringUnit": { - "state": "translated", - "value": "Denne build kan ikke starte cmux’ godkendte Cloud-videresendelse. Opdater cmux, og prøv igen." + "value": "iOSブラウザから他のホストに接続" } - }, - "it": { + } + } + }, + "settings.mobile.browserTunnel.allowOtherHosts.subtitleOn": { + "extractionState": "manual", + "localizations": { + "en": { "stringUnit": { "state": "translated", - "value": "Questa build non può avviare l’inoltro Cloud autenticato di cmux. Aggiorna cmux, quindi riprova." + "value": "The iOS browser can load LAN, VPN, and internet hosts through this Mac. Link-local and cloud metadata addresses never go through this Mac; the phone loads them itself." } }, - "km": { + "de": { "stringUnit": { "state": "translated", - "value": "កំណែនេះមិនអាចចាប់ផ្តើមការបញ្ជូនបន្ត Cloud ដែលបានផ្ទៀងផ្ទាត់របស់ cmux បានទេ។ ធ្វើបច្ចុប្បន្នភាព cmux រួចព្យាយាមម្តងទៀត។" + "value": "Der iOS-Browser kann LAN-, VPN- und Internet-Hosts über diesen Mac laden. Link-Local- und Cloud-Metadatenadressen laufen nie über diesen Mac; das iPhone lädt sie selbst." } }, - "nb": { + "fr": { "stringUnit": { "state": "translated", - "value": "Denne versjonen kan ikke starte cmux sin autentiserte Cloud-videresending. Oppdater cmux, og prøv igjen." + "value": "Le navigateur iOS peut charger des hôtes du réseau local, du VPN et d’Internet via ce Mac. Les adresses link-local et de métadonnées cloud ne passent jamais par ce Mac ; l’iPhone les charge lui-même." } }, - "pl": { + "ar": { "stringUnit": { "state": "translated", - "value": "Ta kompilacja nie może uruchomić uwierzytelnionego przekierowania Cloud w cmux. Zaktualizuj cmux i spróbuj ponownie." + "value": "يمكن لمتصفح iOS تحميل مضيفي الشبكة المحلية وVPN والإنترنت عبر جهاز Mac هذا. لا تمر عناوين الارتباط المحلي وعناوين بيانات التعريف السحابية عبر جهاز Mac هذا أبدًا؛ يحمّلها iPhone بنفسه." } }, - "pt-BR": { + "es": { "stringUnit": { "state": "translated", - "value": "Esta versão não consegue iniciar o encaminhamento Cloud autenticado do cmux. Atualize o cmux e tente novamente." + "value": "El navegador de iOS puede cargar hosts de la red local, VPN e internet a través de este Mac. Las direcciones link-local y de metadatos en la nube nunca pasan por este Mac; el iPhone las carga por sí mismo." } }, - "ru": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "Эта сборка не может запустить аутентифицированное перенаправление Cloud в cmux. Обновите cmux и повторите попытку." + "value": "iOS 瀏覽器可透過這台 Mac 載入區域網路、VPN 與網際網路主機。連結本機位址與雲端中繼資料位址絕不經過這台 Mac,由 iPhone 自行載入。" } }, - "th": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "บิลด์นี้ไม่สามารถเริ่มการส่งต่อ Cloud ที่ยืนยันตัวตนแล้วของ cmux ได้ อัปเดต cmux แล้วลองอีกครั้ง" + "value": "iOS 浏览器可通过这台 Mac 加载局域网、VPN 和互联网主机。链路本地地址和云元数据地址绝不经过这台 Mac,由 iPhone 自行加载。" } }, - "tr": { + "ko": { "stringUnit": { "state": "translated", - "value": "Bu derleme cmux’un kimliği doğrulanmış Cloud yönlendirmesini başlatamıyor. cmux’u güncelleyin, ardından yeniden deneyin." + "value": "iOS 브라우저가 이 Mac을 통해 LAN, VPN, 인터넷 호스트를 불러올 수 있습니다. 링크 로컬 및 클라우드 메타데이터 주소는 이 Mac을 거치지 않으며 iPhone이 직접 불러옵니다." } }, - "uk": { + "ja": { "stringUnit": { "state": "translated", - "value": "Ця збірка не може запустити автентифіковане перенаправлення Cloud у cmux. Оновіть cmux і повторіть спробу." + "value": "iOSブラウザはこのMac経由でLAN、VPN、インターネット上のホストを読み込めます。リンクローカルとクラウドメタデータのアドレスはこのMacを経由せず、iPhoneが直接読み込みます。" } } } }, - "cloudTree.ports.link.detail": { + "settings.mobile.browserTunnel.allowOtherHosts.subtitleOff": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Port discovery could not connect to this machine. Existing cmux ports may still work. Refresh to reconnect; Cloud VPN is not required." + "value": "The iOS browser reaches only this Mac's localhost through this Mac. Other sites load over the phone's own network." } }, "de": { "stringUnit": { "state": "translated", - "value": "Die Porterkennung konnte diese Maschine nicht erreichen. Bereits geöffnete cmux-Ports funktionieren möglicherweise weiter. Aktualisieren Sie zum erneuten Verbinden; Cloud-VPN ist nicht erforderlich." + "value": "Der iOS-Browser erreicht über diesen Mac nur dessen localhost. Andere Websites werden über das eigene Netzwerk des Telefons geladen." } }, "fr": { "stringUnit": { "state": "translated", - "value": "La découverte des ports n’a pas pu se connecter à cette machine. Les ports cmux existants peuvent encore fonctionner. Actualisez pour reconnecter ; le VPN Cloud n’est pas nécessaire." + "value": "Via ce Mac, le navigateur iOS n’accède qu’au localhost de ce Mac. Les autres sites se chargent via le réseau du téléphone." } }, "ar": { "stringUnit": { "state": "translated", - "value": "تعذر اتصال اكتشاف المنافذ بهذا الجهاز. قد تظل منافذ cmux الحالية تعمل. حدّث لإعادة الاتصال؛ Cloud VPN غير مطلوب." + "value": "لا يصل متصفح iOS عبر جهاز Mac هذا إلا إلى localhost الخاص به. تُحمَّل المواقع الأخرى عبر شبكة الهاتف نفسه." } }, "es": { "stringUnit": { "state": "translated", - "value": "El descubrimiento de puertos no pudo conectar con esta máquina. Los puertos de cmux existentes pueden seguir funcionando. Actualiza para reconectar; Cloud VPN no es necesario." + "value": "A través de este Mac, el navegador de iOS solo accede a su localhost. Los demás sitios se cargan con la red del propio teléfono." } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "連接埠探索無法連線到此機器。現有 cmux 連接埠可能仍可使用。請重新整理以重新連線;不需要 Cloud VPN。" + "value": "iOS 瀏覽器只會透過這台 Mac 連線至它的 localhost。其他網站會透過手機本身的網路載入。" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "端口发现无法连接到此机器。现有 cmux 端口可能仍可使用。请刷新以重新连接;无需 Cloud VPN。" + "value": "iOS 浏览器只会通过这台 Mac 访问它的 localhost。其他网站通过手机自身的网络加载。" } }, "ko": { "stringUnit": { "state": "translated", - "value": "포트 검색이 이 머신에 연결하지 못했습니다. 기존 cmux 포트는 계속 작동할 수 있습니다. 새로 고쳐 다시 연결하세요. Cloud VPN은 필요하지 않습니다." + "value": "iOS 브라우저는 이 Mac을 통해 이 Mac의 localhost에만 접근합니다. 다른 사이트는 휴대폰 자체 네트워크로 불러옵니다." } }, "ja": { "stringUnit": { "state": "translated", - "value": "ポート検出がこのマシンに接続できませんでした。既存の cmux ポートは引き続き動作する可能性があります。更新して再接続してください。Cloud VPN は不要です。" - } - }, - "bs": { - "stringUnit": { - "state": "translated", - "value": "Otkrivanje portova nije se moglo povezati s ovom mašinom. Postojeći cmux portovi možda i dalje rade. Osvježite za ponovno povezivanje; Cloud VPN nije potreban." - } - }, - "da": { - "stringUnit": { - "state": "translated", - "value": "Portregistrering kunne ikke oprette forbindelse til denne maskine. Eksisterende cmux-porte virker muligvis stadig. Opdater for at genoprette forbindelsen; Cloud VPN er ikke påkrævet." + "value": "iOSブラウザがこのMac経由で接続するのは、このMacのlocalhostだけです。他のサイトは電話自身のネットワークで読み込みます。" } - }, - "it": { + } + } + }, + "settings.search.alias.setting.mobile.browserTunnelAllowOtherHosts": { + "extractionState": "manual", + "localizations": { + "en": { "stringUnit": { "state": "translated", - "value": "Il rilevamento delle porte non è riuscito a connettersi a questa macchina. Le porte cmux esistenti potrebbero funzionare ancora. Aggiorna per riconnetterti; la VPN Cloud non è necessaria." + "value": "mobile ios iphone browser on iphone tunnel proxy localhost lan vpn internet hosts network security" } }, - "km": { + "de": { "stringUnit": { "state": "translated", - "value": "ការស្វែងរកច្រកមិនអាចភ្ជាប់ទៅម៉ាស៊ីននេះបានទេ។ ច្រក cmux ដែលមានស្រាប់អាចនៅតែដំណើរការ។ ផ្ទុកឡើងវិញដើម្បីភ្ជាប់ម្តងទៀត; មិនត្រូវការ Cloud VPN ទេ។" + "value": "mobile ios iphone browser on iphone tunnel proxy localhost lan vpn internet hosts network security mobil browser tunnel proxy lokales netzwerk hosts netzwerk sicherheit" } }, - "nb": { + "fr": { "stringUnit": { "state": "translated", - "value": "Portoppdagelse kunne ikke koble til denne maskinen. Eksisterende cmux-porter kan fortsatt fungere. Oppdater for å koble til på nytt; Cloud VPN er ikke nødvendig." + "value": "mobile ios iphone browser on iphone tunnel proxy localhost lan vpn internet hosts network security mobile navigateur tunnel proxy réseau local hôtes réseau sécurité" } }, - "pl": { + "ar": { "stringUnit": { "state": "translated", - "value": "Wykrywanie portów nie mogło połączyć się z tą maszyną. Istniejące porty cmux mogą nadal działać. Odśwież, aby połączyć ponownie; Cloud VPN nie jest wymagany." + "value": "mobile ios iphone browser on iphone tunnel proxy localhost lan vpn internet hosts network security متصفح نفق وكيل شبكة محلية مضيفون شبكة أمان" } }, - "pt-BR": { + "es": { "stringUnit": { "state": "translated", - "value": "A descoberta de portas não conseguiu se conectar a esta máquina. As portas existentes do cmux ainda podem funcionar. Atualize para reconectar; o Cloud VPN não é necessário." + "value": "mobile ios iphone browser on iphone tunnel proxy localhost lan vpn internet hosts network security móvil navegador túnel proxy red local hosts red seguridad" } }, - "ru": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "Обнаружению портов не удалось подключиться к этой машине. Существующие порты cmux могут по-прежнему работать. Обновите, чтобы переподключиться; Cloud VPN не требуется." + "value": "mobile ios iphone browser on iphone tunnel proxy localhost lan vpn internet hosts network security 行動裝置 瀏覽器 通道 代理 區域網路 主機 網路 安全性" } }, - "th": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "การค้นหาพอร์ตไม่สามารถเชื่อมต่อกับเครื่องนี้ได้ พอร์ต cmux ที่มีอยู่อาจยังใช้งานได้ รีเฟรชเพื่อเชื่อมต่อใหม่ ไม่จำเป็นต้องใช้ Cloud VPN" + "value": "mobile ios iphone browser on iphone tunnel proxy localhost lan vpn internet hosts network security 移动 浏览器 隧道 代理 局域网 主机 网络 安全" } }, - "tr": { + "ko": { "stringUnit": { "state": "translated", - "value": "Port keşfi bu makineye bağlanamadı. Mevcut cmux portları hâlâ çalışıyor olabilir. Yeniden bağlanmak için yenileyin; Cloud VPN gerekmez." + "value": "mobile ios iphone browser on iphone tunnel proxy localhost lan vpn internet hosts network security 모바일 브라우저 터널 프록시 로컬 네트워크 호스트 네트워크 보안" } }, - "uk": { + "ja": { "stringUnit": { "state": "translated", - "value": "Виявленню портів не вдалося підключитися до цієї машини. Наявні порти cmux можуть і далі працювати. Оновіть, щоб підключитися знову; Cloud VPN не потрібен." + "value": "mobile ios iphone browser on iphone tunnel proxy localhost lan vpn internet hosts network security モバイル ブラウザ トンネル プロキシ ローカルネットワーク ホスト ネットワーク セキュリティ" } } } }, - "cloudTree.ports.link.title": { + "cli.browser.inputFiles.error.usage": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Cloud link unavailable" - } - }, - "de": { - "stringUnit": { - "state": "translated", - "value": "Cloud-Verbindung nicht verfügbar" + "value": "set-input-files requires --selector <css> and either --file <path> (repeatable) or --clear" } }, - "fr": { + "ar": { "stringUnit": { "state": "translated", - "value": "Connexion Cloud indisponible" + "value": "يتطلب set-input-files الخيار --selector <css> مع --file <path> (يمكن تكراره) أو --clear" } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "اتصال Cloud غير متاح" + "value": "set-input-files benötigt --selector <css> und entweder --file <path> (wiederholbar) oder --clear" } }, "es": { "stringUnit": { "state": "translated", - "value": "Conexión de Cloud no disponible" + "value": "set-input-files requiere --selector <css> y --file <path> (repetible) o --clear" } }, - "zh-Hant": { + "fr": { "stringUnit": { "state": "translated", - "value": "Cloud 連線無法使用" + "value": "set-input-files nécessite --selector <css> et soit --file <path> (répétable), soit --clear" } }, - "zh-Hans": { + "ja": { "stringUnit": { "state": "translated", - "value": "Cloud 连接不可用" + "value": "set-input-files には --selector <css> と、--file <path>(複数指定可)または --clear が必要です" } }, "ko": { "stringUnit": { "state": "translated", - "value": "Cloud 연결을 사용할 수 없음" - } - }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "Cloud 接続を利用できません" + "value": "set-input-files에는 --selector <css>와 --file <path>(반복 가능) 또는 --clear가 필요합니다" } }, - "bs": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "Cloud veza nije dostupna" + "value": "set-input-files 需要 --selector <css>,以及 --file <path>(可重复)或 --clear" } }, - "da": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "Cloud-forbindelse utilgængelig" + "value": "set-input-files 需要 --selector <css>,以及 --file <path>(可重複)或 --clear" } - }, - "it": { + } + } + }, + "cli.browser.inputFiles.help": { + "extractionState": "manual", + "localizations": { + "en": { "stringUnit": { "state": "translated", - "value": "Collegamento Cloud non disponibile" + "value": "set-input-files --selector <css> (--file <path> ... | --clear) [--snapshot-after]\n Select local files (up to 128 files, 32 MiB total) or clear the selection. Directory uploads are unsupported." } }, - "km": { + "ar": { "stringUnit": { "state": "translated", - "value": "តំណ Cloud មិនអាចប្រើបាន" + "value": "set-input-files --selector <css> (--file <path> ... | --clear) [--snapshot-after]\n اختر ملفات محلية (حتى 128 ملفًا بإجمالي 32 MiB) أو امسح الاختيار. رفع المجلدات غير مدعوم." } }, - "nb": { + "de": { "stringUnit": { "state": "translated", - "value": "Cloud-tilkobling utilgjengelig" + "value": "set-input-files --selector <css> (--file <path> ... | --clear) [--snapshot-after]\n Lokale Dateien auswählen (bis zu 128 Dateien, insgesamt 32 MiB) oder die Auswahl leeren. Ordner-Uploads werden nicht unterstützt." } }, - "pl": { + "es": { "stringUnit": { "state": "translated", - "value": "Połączenie Cloud niedostępne" + "value": "set-input-files --selector <css> (--file <path> ... | --clear) [--snapshot-after]\n Selecciona archivos locales (hasta 128 archivos, 32 MiB en total) o borra la selección. No se admite subir carpetas." } }, - "pt-BR": { + "fr": { "stringUnit": { "state": "translated", - "value": "Conexão Cloud indisponível" + "value": "set-input-files --selector <css> (--file <path> ... | --clear) [--snapshot-after]\n Sélectionner des fichiers locaux (jusqu’à 128 fichiers, 32 MiB au total) ou effacer la sélection. L’envoi de dossiers n’est pas pris en charge." } }, - "ru": { + "ja": { "stringUnit": { "state": "translated", - "value": "Связь с Cloud недоступна" + "value": "set-input-files --selector <css> (--file <path> ... | --clear) [--snapshot-after]\n ローカルファイルを選択(最大128個、合計32 MiB)するか、選択を解除します。ディレクトリのアップロードには対応していません。" } }, - "th": { + "ko": { "stringUnit": { "state": "translated", - "value": "ลิงก์ Cloud ไม่พร้อมใช้งาน" + "value": "set-input-files --selector <css> (--file <path> ... | --clear) [--snapshot-after]\n 로컬 파일을 선택하거나(최대 128개, 총 32 MiB) 선택을 지웁니다. 디렉터리 업로드는 지원되지 않습니다." } }, - "tr": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "Cloud bağlantısı kullanılamıyor" + "value": "set-input-files --selector <css> (--file <path> ... | --clear) [--snapshot-after]\n 选择本地文件(最多 128 个文件,总计 32 MiB)或清除选择。不支持上传目录。" } }, - "uk": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "Зв’язок із Cloud недоступний" + "value": "set-input-files --selector <css> (--file <path> ... | --clear) [--snapshot-after]\n 選取本機檔案(最多 128 個檔案,總計 32 MiB)或清除選取。不支援上傳目錄。" } } } }, - "cloudTree.ports.loading.detail": { + "browser.inputFiles.error.invalidTarget": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Checking services through cmux’s authenticated Cloud link. No system VPN is needed." - } - }, - "de": { - "stringUnit": { - "state": "translated", - "value": "Dienste werden über die authentifizierte Cloud-Verbindung von cmux geprüft. Ein System-VPN ist nicht erforderlich." + "value": "The selector must match a file input without directory selection" } }, - "fr": { + "ar": { "stringUnit": { "state": "translated", - "value": "Vérification des services via la connexion Cloud authentifiée de cmux. Aucun VPN système n’est nécessaire." + "value": "يجب أن يطابق المحدد حقل إدخال ملفات لا يستخدم اختيار المجلدات" } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "جارٍ فحص الخدمات عبر اتصال Cloud الموثّق من cmux. لا حاجة إلى VPN النظام." + "value": "Der Selektor muss ein Dateieingabefeld ohne Ordnerauswahl treffen" } }, "es": { "stringUnit": { "state": "translated", - "value": "Comprobando servicios mediante la conexión autenticada de Cloud de cmux. No se necesita una VPN del sistema." + "value": "El selector debe coincidir con un campo de archivos sin selección de carpetas" } }, - "zh-Hant": { + "fr": { "stringUnit": { "state": "translated", - "value": "正在透過 cmux 的已驗證 Cloud 連線檢查服務。不需要系統 VPN。" + "value": "Le sélecteur doit correspondre à un champ de fichier sans sélection de dossier" } }, - "zh-Hans": { + "ja": { "stringUnit": { "state": "translated", - "value": "正在通过 cmux 的已验证 Cloud 连接检查服务。无需系统 VPN。" + "value": "セレクターはディレクトリ選択を使わないファイル入力欄に一致する必要があります" } }, "ko": { "stringUnit": { "state": "translated", - "value": "cmux의 인증된 Cloud 연결로 서비스를 확인하고 있습니다. 시스템 VPN은 필요하지 않습니다." - } - }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "cmux の認証済み Cloud 接続でサービスを確認しています。システム VPN は不要です。" + "value": "선택자는 디렉터리 선택이 없는 파일 입력 요소와 일치해야 합니다" } }, - "bs": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "Provjera servisa putem autentificirane Cloud veze cmux-a. Sistemski VPN nije potreban." + "value": "选择器必须匹配未启用目录选择的文件输入字段" } }, - "da": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "Kontrollerer tjenester via cmux’ godkendte Cloud-forbindelse. Der kræves ingen system-VPN." + "value": "選取器必須符合未啟用目錄選取的檔案輸入欄位" } - }, - "it": { + } + } + }, + "browser.inputFiles.error.multipleRequired": { + "extractionState": "manual", + "localizations": { + "en": { "stringUnit": { "state": "translated", - "value": "Controllo dei servizi tramite il collegamento Cloud autenticato di cmux. Non serve una VPN di sistema." + "value": "This file input does not allow multiple files" } }, - "km": { + "ar": { "stringUnit": { "state": "translated", - "value": "កំពុងពិនិត្យសេវាកម្មតាមរយៈតំណ Cloud ដែលបានផ្ទៀងផ្ទាត់របស់ cmux។ មិនត្រូវការ VPN របស់ប្រព័ន្ធទេ។" + "value": "لا يسمح حقل إدخال الملفات هذا باختيار عدة ملفات" } }, - "nb": { + "de": { "stringUnit": { "state": "translated", - "value": "Sjekker tjenester via cmux sin autentiserte Cloud-tilkobling. Ingen system-VPN er nødvendig." + "value": "Dieses Dateieingabefeld erlaubt nicht mehrere Dateien" } }, - "pl": { + "es": { "stringUnit": { "state": "translated", - "value": "Sprawdzanie usług przez uwierzytelnione połączenie Cloud w cmux. Systemowa sieć VPN nie jest potrzebna." + "value": "Este campo de archivos no permite seleccionar varios archivos" } }, - "pt-BR": { + "fr": { "stringUnit": { "state": "translated", - "value": "Verificando serviços pela conexão Cloud autenticada do cmux. Nenhuma VPN do sistema é necessária." + "value": "Ce champ de fichier ne permet pas de sélectionner plusieurs fichiers" } }, - "ru": { + "ja": { "stringUnit": { "state": "translated", - "value": "Проверка служб через аутентифицированную связь cmux с Cloud. Системный VPN не нужен." + "value": "このファイル入力欄では複数のファイルを選択できません" } }, - "th": { + "ko": { "stringUnit": { "state": "translated", - "value": "กำลังตรวจสอบบริการผ่านลิงก์ Cloud ที่ยืนยันตัวตนแล้วของ cmux ไม่ต้องใช้ VPN ของระบบ" + "value": "이 파일 입력 요소는 여러 파일을 허용하지 않습니다" } }, - "tr": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "Hizmetler cmux’un kimliği doğrulanmış Cloud bağlantısı üzerinden denetleniyor. Sistem VPN’i gerekmez." + "value": "此文件输入字段不允许选择多个文件" } }, - "uk": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "Перевірка служб через автентифікований зв’язок cmux із Cloud. Системний VPN не потрібен." + "value": "此檔案輸入欄位不允許選取多個檔案" } } } }, - "cloudTree.ports.loopback.detail": { + "browser.inputFiles.error.cancelled": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "These services open in cmux without Cloud VPN. They listen on the machine’s loopback address, so other apps cannot reach them through its private IP, even with VPN connected." - } - }, - "de": { - "stringUnit": { - "state": "translated", - "value": "Diese Dienste lassen sich in cmux ohne Cloud-VPN öffnen. Sie lauschen auf der Loopback-Adresse der Maschine. Andere Apps erreichen sie daher auch mit VPN nicht über deren private IP." + "value": "File upload preparation was cancelled" } }, - "fr": { + "ar": { "stringUnit": { "state": "translated", - "value": "Ces services s’ouvrent dans cmux sans VPN Cloud. Ils écoutent sur l’adresse locale de la machine : les autres apps ne peuvent pas y accéder via son IP privée, même avec le VPN." + "value": "تم إلغاء تجهيز الملفات للرفع" } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "تُفتح هذه الخدمات داخل cmux دون Cloud VPN. وهي تستمع على عنوان الواجهة المحلية للجهاز، لذا لا تستطيع التطبيقات الأخرى الوصول إليها عبر عنوان IP الخاص به حتى مع اتصال VPN." + "value": "Die Vorbereitung des Datei-Uploads wurde abgebrochen" } }, "es": { "stringUnit": { "state": "translated", - "value": "Estos servicios se abren en cmux sin Cloud VPN. Escuchan en la dirección de bucle local de la máquina, por lo que otras apps no pueden acceder por su IP privada, incluso con la VPN conectada." + "value": "Se canceló la preparación de los archivos para subir" } }, - "zh-Hant": { + "fr": { "stringUnit": { "state": "translated", - "value": "這些服務可在 cmux 中開啟,不需要 Cloud VPN。它們在機器的迴路位址上監聽,因此即使已連線 VPN,其他 App 也無法透過其私人 IP 存取。" + "value": "La préparation des fichiers à envoyer a été annulée" } }, - "zh-Hans": { + "ja": { "stringUnit": { "state": "translated", - "value": "这些服务可在 cmux 中打开,无需 Cloud VPN。它们监听机器的回环地址,因此即使已连接 VPN,其他应用也无法通过其专用 IP 访问。" + "value": "ファイルのアップロード準備がキャンセルされました" } }, "ko": { "stringUnit": { "state": "translated", - "value": "이 서비스는 Cloud VPN 없이 cmux에서 열립니다. 머신의 루프백 주소에서 수신 대기하므로 VPN에 연결해도 다른 앱은 비공개 IP로 접근할 수 없습니다." - } - }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "これらのサービスは Cloud VPN なしで cmux から開けます。マシンのループバックアドレスで待ち受けるため、VPN 接続中でも他のアプリからプライベート IP 経由ではアクセスできません。" + "value": "파일 업로드 준비가 취소되었습니다" } }, - "bs": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "Ovi servisi se otvaraju u cmux-u bez Cloud VPN-a. Slušaju na loopback adresi mašine, pa ih druge aplikacije ne mogu dosegnuti preko njene privatne IP adrese, čak ni uz povezan VPN." + "value": "已取消准备上传文件" } }, - "da": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "Disse tjenester åbnes i cmux uden Cloud VPN. De lytter på maskinens loopback-adresse, så andre apps kan ikke nå dem via dens private IP, heller ikke med VPN forbundet." + "value": "已取消準備上傳檔案" } - }, - "it": { + } + } + }, + "browser.inputFiles.error.invalidParameters": { + "extractionState": "manual", + "localizations": { + "en": { "stringUnit": { "state": "translated", - "value": "Questi servizi si aprono in cmux senza VPN Cloud. Sono in ascolto sull’indirizzo di loopback della macchina, quindi le altre app non possono raggiungerli tramite il suo IP privato, nemmeno con la VPN connessa." + "value": "set-input-files requires a selector and a files array of absolute paths" } }, - "km": { + "ar": { "stringUnit": { "state": "translated", - "value": "សេវាកម្មទាំងនេះបើកនៅក្នុង cmux ដោយមិនត្រូវការ Cloud VPN។ ពួកវាស្តាប់នៅលើអាសយដ្ឋាន loopback របស់ម៉ាស៊ីន ដូច្នេះកម្មវិធីផ្សេងទៀតមិនអាចចូលដល់ពួកវាតាមរយៈ IP ឯកជនរបស់វាបានទេ ទោះបីភ្ជាប់ VPN ក៏ដោយ។" + "value": "يتطلب set-input-files محددًا ومصفوفة files تحتوي على مسارات مطلقة" } }, - "nb": { + "de": { "stringUnit": { "state": "translated", - "value": "Disse tjenestene åpnes i cmux uten Cloud VPN. De lytter på maskinens loopback-adresse, så andre apper kan ikke nå dem via den private IP-adressen, selv med VPN tilkoblet." + "value": "set-input-files benötigt einen Selektor und ein files-Array mit absoluten Pfaden" } }, - "pl": { + "es": { "stringUnit": { "state": "translated", - "value": "Te usługi otwierają się w cmux bez Cloud VPN. Nasłuchują na adresie pętli zwrotnej maszyny, więc inne aplikacje nie mogą do nich dotrzeć przez jej prywatny adres IP, nawet przy połączonym VPN." + "value": "set-input-files requiere un selector y una matriz files de rutas absolutas" } }, - "pt-BR": { + "fr": { "stringUnit": { "state": "translated", - "value": "Esses serviços abrem no cmux sem o Cloud VPN. Eles escutam no endereço de loopback da máquina, então outros apps não conseguem alcançá-los pelo IP privado dela, mesmo com a VPN conectada." + "value": "set-input-files nécessite un sélecteur et un tableau files de chemins absolus" } }, - "ru": { + "ja": { "stringUnit": { "state": "translated", - "value": "Эти службы открываются в cmux без Cloud VPN. Они прослушивают loopback-адрес машины, поэтому другие приложения не могут обратиться к ним через её частный IP даже при подключённом VPN." + "value": "set-input-files にはセレクターと絶対パスを含む files 配列が必要です" } }, - "th": { + "ko": { "stringUnit": { "state": "translated", - "value": "บริการเหล่านี้เปิดใน cmux ได้โดยไม่ต้องใช้ Cloud VPN บริการรับฟังบนที่อยู่ loopback ของเครื่อง แอปอื่นจึงเข้าถึงผ่าน IP ส่วนตัวของเครื่องไม่ได้ แม้จะเชื่อมต่อ VPN แล้วก็ตาม" + "value": "set-input-files에는 선택자와 절대 경로로 구성된 files 배열이 필요합니다" } }, - "tr": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "Bu hizmetler cmux’ta Cloud VPN olmadan açılır. Makinenin geri döngü adresinde dinledikleri için diğer uygulamalar, VPN bağlıyken bile makinenin özel IP’si üzerinden onlara ulaşamaz." + "value": "set-input-files 需要选择器及包含绝对路径的 files 数组" } }, - "uk": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "Ці служби відкриваються в cmux без Cloud VPN. Вони прослуховують loopback-адресу машини, тому інші застосунки не можуть дістатися до них через її приватну IP-адресу, навіть із підключеним VPN." + "value": "set-input-files 需要選取器及包含絕對路徑的 files 陣列" } } } }, - "cloudTree.ports.loopback.title": { + "browser.inputFiles.error.invalidSelection": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Loopback services available" - } - }, - "de": { - "stringUnit": { - "state": "translated", - "value": "Loopback-Dienste verfügbar" + "value": "Select at most 128 files using absolute paths" } }, - "fr": { + "ar": { "stringUnit": { "state": "translated", - "value": "Services locaux disponibles" + "value": "اختر ما يصل إلى 128 ملفًا باستخدام مسارات مطلقة" } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "خدمات الواجهة المحلية متاحة" + "value": "Wählen Sie höchstens 128 Dateien mit absoluten Pfaden aus" } }, "es": { "stringUnit": { "state": "translated", - "value": "Servicios de bucle local disponibles" + "value": "Selecciona como máximo 128 archivos mediante rutas absolutas" } }, - "zh-Hant": { + "fr": { "stringUnit": { "state": "translated", - "value": "可使用迴路服務" + "value": "Sélectionnez au maximum 128 fichiers avec des chemins absolus" } }, - "zh-Hans": { + "ja": { "stringUnit": { "state": "translated", - "value": "回环服务可用" + "value": "絶対パスで最大128個のファイルを選択してください" } }, "ko": { "stringUnit": { "state": "translated", - "value": "루프백 서비스 사용 가능" - } - }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "ループバックのサービスを利用できます" + "value": "절대 경로를 사용하여 최대 128개의 파일을 선택하세요" } }, - "bs": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "Dostupni loopback servisi" + "value": "请使用绝对路径选择最多 128 个文件" } }, - "da": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "Loopback-tjenester tilgængelige" + "value": "請使用絕對路徑選取最多 128 個檔案" } - }, - "it": { + } + } + }, + "browser.inputFiles.error.timeout": { + "extractionState": "manual", + "localizations": { + "en": { "stringUnit": { "state": "translated", - "value": "Servizi di loopback disponibili" + "value": "Timed out preparing files for upload" } }, - "km": { + "ar": { "stringUnit": { "state": "translated", - "value": "មានសេវាកម្ម loopback" + "value": "انتهت مهلة تجهيز الملفات للرفع" } }, - "nb": { + "de": { "stringUnit": { "state": "translated", - "value": "Loopback-tjenester tilgjengelige" + "value": "Zeitüberschreitung beim Vorbereiten der Dateien für den Upload" } }, - "pl": { + "es": { "stringUnit": { "state": "translated", - "value": "Dostępne usługi pętli zwrotnej" + "value": "Se agotó el tiempo de preparación de los archivos para subir" } }, - "pt-BR": { + "fr": { "stringUnit": { "state": "translated", - "value": "Serviços de loopback disponíveis" + "value": "Le délai de préparation des fichiers à envoyer a été dépassé" } }, - "ru": { + "ja": { "stringUnit": { "state": "translated", - "value": "Доступны loopback-службы" + "value": "アップロードするファイルの準備がタイムアウトしました" } }, - "th": { + "ko": { "stringUnit": { "state": "translated", - "value": "มีบริการ loopback พร้อมใช้งาน" + "value": "업로드할 파일 준비 시간이 초과되었습니다" } }, - "tr": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "Geri döngü hizmetleri kullanılabilir" + "value": "准备上传文件超时" } }, - "uk": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "Доступні loopback-служби" + "value": "準備上傳檔案逾時" } } } }, - "cloudTree.ports.notRequested.title": { + "browser.inputFiles.error.tooLarge": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Ports not checked yet" - } - }, - "de": { - "stringUnit": { - "state": "translated", - "value": "Ports noch nicht geprüft" + "value": "The combined upload must be no larger than 32 MiB" } }, - "fr": { + "ar": { "stringUnit": { "state": "translated", - "value": "Ports pas encore vérifiés" + "value": "يجب ألا يتجاوز الحجم الإجمالي للملفات المرفوعة 32 MiB" } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "لم يتم فحص المنافذ بعد" + "value": "Die Uploads dürfen insgesamt nicht größer als 32 MiB sein" } }, "es": { "stringUnit": { "state": "translated", - "value": "Puertos aún sin comprobar" + "value": "El tamaño total de los archivos para subir no debe superar los 32 MiB" } }, - "zh-Hant": { + "fr": { "stringUnit": { "state": "translated", - "value": "尚未檢查連接埠" + "value": "La taille totale des fichiers à envoyer ne doit pas dépasser 32 MiB" } }, - "zh-Hans": { + "ja": { "stringUnit": { "state": "translated", - "value": "尚未检查端口" + "value": "アップロードするファイルの合計サイズは32 MiB以下にしてください" } }, "ko": { "stringUnit": { "state": "translated", - "value": "아직 포트를 확인하지 않음" - } - }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "ポートは未確認です" + "value": "전체 업로드 크기는 32 MiB를 초과할 수 없습니다" } }, - "bs": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "Portovi još nisu provjereni" + "value": "上传文件的总大小不得超过 32 MiB" } }, - "da": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "Porte er ikke kontrolleret endnu" + "value": "上傳檔案的總大小不得超過 32 MiB" } - }, - "it": { + } + } + }, + "browser.inputFiles.error.unreadableFile": { + "extractionState": "manual", + "localizations": { + "en": { "stringUnit": { "state": "translated", - "value": "Porte non ancora controllate" + "value": "Every upload path must be a readable regular file" } }, - "km": { + "ar": { "stringUnit": { "state": "translated", - "value": "មិនទាន់បានពិនិត្យច្រកនៅឡើយ" + "value": "يجب أن يشير كل مسار للرفع إلى ملف عادي قابل للقراءة" } }, - "nb": { + "de": { "stringUnit": { "state": "translated", - "value": "Porter er ikke sjekket ennå" + "value": "Jeder Upload-Pfad muss auf eine lesbare reguläre Datei verweisen" } }, - "pl": { + "es": { "stringUnit": { "state": "translated", - "value": "Porty nie zostały jeszcze sprawdzone" + "value": "Cada ruta de subida debe apuntar a un archivo normal que se pueda leer" } }, - "pt-BR": { + "fr": { "stringUnit": { "state": "translated", - "value": "Portas ainda não verificadas" + "value": "Chaque chemin à envoyer doit désigner un fichier ordinaire lisible" } }, - "ru": { + "ja": { "stringUnit": { "state": "translated", - "value": "Порты ещё не проверены" + "value": "各アップロードパスは読み取り可能な通常ファイルである必要があります" } }, - "th": { + "ko": { "stringUnit": { "state": "translated", - "value": "ยังไม่ได้ตรวจสอบพอร์ต" + "value": "모든 업로드 경로는 읽을 수 있는 일반 파일이어야 합니다" } }, - "tr": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "Portlar henüz denetlenmedi" + "value": "每个上传路径都必须指向可读取的普通文件" } }, - "uk": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "Порти ще не перевірено" + "value": "每個上傳路徑都必須指向可讀取的一般檔案" } } } }, - "cloudTree.ports.privateAddress": { + "cloudTree.group.cloudMachines.usage": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Private address unavailable" + "value": "%1$d/%2$d" } }, "de": { "stringUnit": { "state": "translated", - "value": "Private Adresse nicht verfügbar" + "value": "%1$d/%2$d" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Adresse privée indisponible" + "value": "%1$d/%2$d" } }, "ar": { "stringUnit": { "state": "translated", - "value": "العنوان الخاص غير متاح" + "value": "%1$d/%2$d" } }, "es": { "stringUnit": { "state": "translated", - "value": "Dirección privada no disponible" + "value": "%1$d/%2$d" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "私人位址無法使用" + "value": "%1$d/%2$d" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "专用地址不可用" + "value": "%1$d/%2$d" } }, "ko": { "stringUnit": { "state": "translated", - "value": "비공개 주소를 사용할 수 없음" + "value": "%1$d/%2$d" } }, "ja": { "stringUnit": { "state": "translated", - "value": "プライベートアドレスを利用できません" + "value": "%1$d/%2$d" } }, "bs": { "stringUnit": { "state": "translated", - "value": "Privatna adresa nije dostupna" + "value": "%1$d/%2$d" } }, "da": { "stringUnit": { "state": "translated", - "value": "Privat adresse utilgængelig" + "value": "%1$d/%2$d" } }, "it": { "stringUnit": { "state": "translated", - "value": "Indirizzo privato non disponibile" + "value": "%1$d/%2$d" } }, "km": { "stringUnit": { "state": "translated", - "value": "អាសយដ្ឋានឯកជនមិនអាចប្រើបាន" + "value": "%1$d/%2$d" } }, "nb": { "stringUnit": { "state": "translated", - "value": "Privat adresse utilgjengelig" + "value": "%1$d/%2$d" } }, "pl": { "stringUnit": { "state": "translated", - "value": "Adres prywatny niedostępny" + "value": "%1$d/%2$d" } }, "pt-BR": { "stringUnit": { "state": "translated", - "value": "Endereço privado indisponível" + "value": "%1$d/%2$d" } }, "ru": { "stringUnit": { "state": "translated", - "value": "Частный адрес недоступен" + "value": "%1$d/%2$d" } }, "th": { "stringUnit": { "state": "translated", - "value": "ไม่มีที่อยู่ส่วนตัว" + "value": "%1$d/%2$d" } }, "tr": { "stringUnit": { "state": "translated", - "value": "Özel adres kullanılamıyor" + "value": "%1$d/%2$d" } }, "uk": { "stringUnit": { "state": "translated", - "value": "Приватна адреса недоступна" + "value": "%1$d/%2$d" } } } }, - "cloudTree.ports.privateAddress.detail": { + "cloud.ports.vpnOff.explanation": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "cmux’s authenticated route needs this machine’s private address. Refresh to retrieve it. Turning on Cloud VPN does not assign a missing address." + "value": "Ports open in cmux without setup. To use private addresses in other apps, set up Cloud VPN." } }, "de": { "stringUnit": { "state": "translated", - "value": "Die authentifizierte Route von cmux benötigt die private Adresse dieser Maschine. Aktualisieren Sie, um sie abzurufen. Cloud-VPN weist keine fehlende Adresse zu." + "value": "Ports lassen sich in cmux ohne Einrichtung öffnen. Richte Cloud-VPN ein, um private Adressen in anderen Apps zu verwenden." } }, "fr": { "stringUnit": { "state": "translated", - "value": "La route authentifiée de cmux nécessite l’adresse privée de cette machine. Actualisez pour la récupérer. Activer le VPN Cloud n’attribue pas d’adresse manquante." + "value": "Les ports s’ouvrent dans cmux sans configuration. Pour utiliser les adresses privées dans d’autres apps, configurez le VPN Cloud." } }, "ar": { "stringUnit": { "state": "translated", - "value": "يحتاج مسار cmux الموثّق إلى العنوان الخاص لهذا الجهاز. حدّث لاسترجاعه. تشغيل Cloud VPN لا يعيّن عنوانًا مفقودًا." + "value": "تُفتح المنافذ في cmux دون إعداد. لاستخدام العناوين الخاصة في التطبيقات الأخرى، أعدّ Cloud VPN." } }, "es": { "stringUnit": { "state": "translated", - "value": "La ruta autenticada de cmux necesita la dirección privada de esta máquina. Actualiza para obtenerla. Activar Cloud VPN no asigna una dirección que falta." + "value": "Los puertos se abren en cmux sin configuración. Para usar direcciones privadas en otras apps, configura Cloud VPN." } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "cmux 的已驗證路徑需要此機器的私人位址。請重新整理以取得位址。開啟 Cloud VPN 不會指派缺少的位址。" + "value": "無需設定即可在 cmux 中開啟連接埠。如要在其他 App 使用私有位址,請設定 Cloud VPN。" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "cmux 的已验证路由需要此机器的专用地址。请刷新以获取地址。开启 Cloud VPN 不会分配缺失的地址。" + "value": "无需设置即可在 cmux 中打开端口。要在其他应用中使用私有地址,请设置云 VPN。" } }, "ko": { "stringUnit": { "state": "translated", - "value": "cmux의 인증된 경로에는 이 머신의 비공개 주소가 필요합니다. 새로 고쳐 주소를 가져오세요. Cloud VPN을 켜도 누락된 주소가 할당되지는 않습니다." + "value": "별도 설정 없이 cmux에서 포트를 열 수 있습니다. 다른 앱에서 비공개 주소를 사용하려면 Cloud VPN을 설정하세요." } }, "ja": { "stringUnit": { "state": "translated", - "value": "cmux の認証済み経路にはこのマシンのプライベートアドレスが必要です。更新して取得してください。Cloud VPN を有効にしても不足しているアドレスは割り当てられません。" + "value": "設定なしで cmux 内のポートを開けます。他のアプリでプライベートアドレスを使うには、Cloud VPN を設定してください。" } }, "bs": { "stringUnit": { - "state": "translated", - "value": "Autentificirana ruta cmux-a treba privatnu adresu ove mašine. Osvježite da je preuzmete. Uključivanje Cloud VPN-a ne dodjeljuje adresu koja nedostaje." + "state": "needs_review", + "value": "Portovi se otvaraju u cmux-u bez podešavanja. Za korištenje privatnih adresa u drugim aplikacijama podesite Cloud VPN." } }, "da": { "stringUnit": { - "state": "translated", - "value": "cmux’ godkendte rute kræver denne maskines private adresse. Opdater for at hente den. Aktivering af Cloud VPN tildeler ikke en manglende adresse." + "state": "needs_review", + "value": "Porte åbnes i cmux uden opsætning. Opsæt Cloud VPN for at bruge private adresser i andre apps." } }, "it": { "stringUnit": { - "state": "translated", - "value": "Il percorso autenticato di cmux richiede l’indirizzo privato di questa macchina. Aggiorna per recuperarlo. L’attivazione della VPN Cloud non assegna un indirizzo mancante." + "state": "needs_review", + "value": "Le porte si aprono in cmux senza configurazione. Per usare gli indirizzi privati in altre app, configura Cloud VPN." } }, "km": { "stringUnit": { - "state": "translated", - "value": "ផ្លូវដែលបានផ្ទៀងផ្ទាត់របស់ cmux ត្រូវការអាសយដ្ឋានឯកជនរបស់ម៉ាស៊ីននេះ។ ផ្ទុកឡើងវិញដើម្បីទាញយកវា។ ការបើក Cloud VPN មិនផ្តល់អាសយដ្ឋានដែលបាត់ទេ។" + "state": "needs_review", + "value": "ច្រកអាចបើកក្នុង cmux ដោយមិនចាំបាច់រៀបចំ។ ដើម្បីប្រើអាសយដ្ឋានឯកជនក្នុងកម្មវិធីផ្សេងទៀត សូមរៀបចំ Cloud VPN។" } }, "nb": { "stringUnit": { - "state": "translated", - "value": "cmux sin autentiserte rute trenger denne maskinens private adresse. Oppdater for å hente den. Å slå på Cloud VPN tildeler ikke en manglende adresse." + "state": "needs_review", + "value": "Porter åpnes i cmux uten oppsett. Sett opp Cloud VPN for å bruke private adresser i andre apper." } }, "pl": { "stringUnit": { - "state": "translated", - "value": "Uwierzytelniona trasa cmux wymaga prywatnego adresu tej maszyny. Odśwież, aby go pobrać. Włączenie Cloud VPN nie przypisuje brakującego adresu." + "state": "needs_review", + "value": "Porty otwierają się w cmux bez konfiguracji. Aby używać prywatnych adresów w innych aplikacjach, skonfiguruj Cloud VPN." } }, "pt-BR": { "stringUnit": { - "state": "translated", - "value": "A rota autenticada do cmux precisa do endereço privado desta máquina. Atualize para obtê-lo. Ativar o Cloud VPN não atribui um endereço ausente." + "state": "needs_review", + "value": "As portas abrem no cmux sem configuração. Para usar endereços privados em outros apps, configure o Cloud VPN." } }, "ru": { "stringUnit": { - "state": "translated", - "value": "Аутентифицированному маршруту cmux нужен частный адрес этой машины. Обновите, чтобы получить его. Включение Cloud VPN не назначает отсутствующий адрес." + "state": "needs_review", + "value": "Порты открываются в cmux без настройки. Чтобы использовать приватные адреса в других приложениях, настройте Cloud VPN." } }, "th": { "stringUnit": { - "state": "translated", - "value": "เส้นทางที่ยืนยันตัวตนแล้วของ cmux ต้องใช้ที่อยู่ส่วนตัวของเครื่องนี้ รีเฟรชเพื่อดึงข้อมูล การเปิด Cloud VPN ไม่ได้กำหนดที่อยู่ที่ขาดหายไป" + "state": "needs_review", + "value": "เปิดพอร์ตใน cmux ได้โดยไม่ต้องตั้งค่า หากต้องการใช้ที่อยู่ส่วนตัวในแอปอื่น ให้ตั้งค่า Cloud VPN" } }, "tr": { "stringUnit": { - "state": "translated", - "value": "cmux’un kimliği doğrulanmış yolu bu makinenin özel adresine ihtiyaç duyar. Adresi almak için yenileyin. Cloud VPN’i açmak eksik bir adres atamaz." + "state": "needs_review", + "value": "Bağlantı noktaları cmux içinde kurulum gerektirmeden açılır. Diğer uygulamalarda özel adresleri kullanmak için Cloud VPN’i kurun." } }, "uk": { "stringUnit": { - "state": "translated", - "value": "Автентифікованому маршруту cmux потрібна приватна адреса цієї машини. Оновіть, щоб отримати її. Увімкнення Cloud VPN не призначає відсутню адресу." + "state": "needs_review", + "value": "Порти відкриваються в cmux без налаштування. Щоб використовувати приватні адреси в інших застосунках, налаштуйте Cloud VPN." } } } }, - "cloudTree.ports.routeNote": { + "cloud.ports.vpnOff.title": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "cmux forwards ports without Cloud VPN. Web browsers and other Mac apps need Cloud VPN to reach services bound to the machine’s private address." + "value": "Optional: Cloud VPN" } }, "de": { "stringUnit": { "state": "translated", - "value": "cmux leitet Ports ohne Cloud-VPN weiter. Webbrowser und andere Mac-Apps benötigen Cloud-VPN, um Dienste an der privaten Adresse der Maschine zu erreichen." + "value": "Optional: Cloud-VPN" } }, "fr": { "stringUnit": { "state": "translated", - "value": "cmux transfère les ports sans VPN Cloud. Les navigateurs web et les autres apps Mac ont besoin du VPN Cloud pour atteindre les services liés à l’adresse privée de la machine." + "value": "Facultatif : VPN Cloud" } }, "ar": { "stringUnit": { "state": "translated", - "value": "يعيد cmux توجيه المنافذ دون Cloud VPN. تحتاج متصفحات الويب وتطبيقات Mac الأخرى إلى Cloud VPN للوصول إلى الخدمات المرتبطة بالعنوان الخاص للجهاز." + "value": "اختياري: Cloud VPN" } }, "es": { "stringUnit": { "state": "translated", - "value": "cmux reenvía puertos sin Cloud VPN. Los navegadores web y otras apps de Mac necesitan Cloud VPN para acceder a servicios enlazados a la dirección privada de la máquina." + "value": "Opcional: Cloud VPN" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "cmux 可轉送連接埠,不需要 Cloud VPN。網頁瀏覽器和其他 Mac App 需要 Cloud VPN,才能存取繫結至機器私人位址的服務。" + "value": "選用:Cloud VPN" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "cmux 可转发端口,无需 Cloud VPN。网页浏览器和其他 Mac 应用需要 Cloud VPN,才能访问绑定到机器专用地址的服务。" + "value": "可选:云 VPN" } }, "ko": { "stringUnit": { "state": "translated", - "value": "cmux는 Cloud VPN 없이 포트를 전달합니다. 웹 브라우저 및 다른 Mac 앱이 머신의 비공개 주소에 바인딩된 서비스에 접근하려면 Cloud VPN이 필요합니다." + "value": "선택 사항: Cloud VPN" } }, "ja": { "stringUnit": { "state": "translated", - "value": "cmux は Cloud VPN なしでポートを転送します。Web ブラウザやその他の Mac アプリからマシンのプライベートアドレスにバインドされたサービスにアクセスするには Cloud VPN が必要です。" + "value": "任意:Cloud VPN" } }, "bs": { "stringUnit": { - "state": "translated", - "value": "cmux prosljeđuje portove bez Cloud VPN-a. Web preglednicima i drugim Mac aplikacijama potreban je Cloud VPN za pristup servisima vezanim za privatnu adresu mašine." + "state": "needs_review", + "value": "Opcionalno: Cloud VPN" } }, "da": { "stringUnit": { - "state": "translated", - "value": "cmux videresender porte uden Cloud VPN. Webbrowsere og andre Mac-apps skal bruge Cloud VPN for at nå tjenester, der er bundet til maskinens private adresse." + "state": "needs_review", + "value": "Valgfrit: Cloud VPN" } }, "it": { "stringUnit": { - "state": "translated", - "value": "cmux inoltra le porte senza VPN Cloud. I browser web e le altre app per Mac hanno bisogno della VPN Cloud per raggiungere i servizi associati all’indirizzo privato della macchina." + "state": "needs_review", + "value": "Facoltativo: Cloud VPN" } }, "km": { "stringUnit": { - "state": "translated", - "value": "cmux បញ្ជូនបន្តច្រកដោយមិនត្រូវការ Cloud VPN។ កម្មវិធីរុករកបណ្តាញ និងកម្មវិធី Mac ផ្សេងទៀតត្រូវការ Cloud VPN ដើម្បីចូលដល់សេវាកម្មដែលចងទៅអាសយដ្ឋានឯកជនរបស់ម៉ាស៊ីន។" + "state": "needs_review", + "value": "ជាជម្រើស៖ Cloud VPN" } }, "nb": { "stringUnit": { - "state": "translated", - "value": "cmux videresender porter uten Cloud VPN. Nettlesere og andre Mac-apper trenger Cloud VPN for å nå tjenester som er bundet til maskinens private adresse." + "state": "needs_review", + "value": "Valgfritt: Cloud VPN" } }, "pl": { "stringUnit": { - "state": "translated", - "value": "cmux przekierowuje porty bez Cloud VPN. Przeglądarki internetowe i inne aplikacje na Maca potrzebują Cloud VPN, aby dotrzeć do usług powiązanych z prywatnym adresem maszyny." + "state": "needs_review", + "value": "Opcjonalnie: Cloud VPN" } }, "pt-BR": { "stringUnit": { - "state": "translated", - "value": "O cmux encaminha portas sem o Cloud VPN. Navegadores e outros apps do Mac precisam do Cloud VPN para acessar serviços vinculados ao endereço privado da máquina." + "state": "needs_review", + "value": "Opcional: Cloud VPN" } }, "ru": { "stringUnit": { - "state": "translated", - "value": "cmux перенаправляет порты без Cloud VPN. Веб-браузерам и другим приложениям Mac нужен Cloud VPN, чтобы обращаться к службам, привязанным к частному адресу машины." + "state": "needs_review", + "value": "Необязательно: Cloud VPN" } }, "th": { "stringUnit": { - "state": "translated", - "value": "cmux ส่งต่อพอร์ตได้โดยไม่ต้องใช้ Cloud VPN เว็บเบราว์เซอร์และแอป Mac อื่นๆ ต้องใช้ Cloud VPN เพื่อเข้าถึงบริการที่ผูกกับที่อยู่ส่วนตัวของเครื่อง" + "state": "needs_review", + "value": "ตัวเลือกเพิ่มเติม: Cloud VPN" } }, "tr": { "stringUnit": { - "state": "translated", - "value": "cmux, portları Cloud VPN olmadan yönlendirir. Web tarayıcıları ve diğer Mac uygulamaları, makinenin özel adresine bağlı hizmetlere ulaşmak için Cloud VPN’e ihtiyaç duyar." + "state": "needs_review", + "value": "İsteğe bağlı: Cloud VPN" } }, "uk": { "stringUnit": { - "state": "translated", - "value": "cmux перенаправляє порти без Cloud VPN. Веббраузерам та іншим застосункам Mac потрібен Cloud VPN, щоб звертатися до служб, прив’язаних до приватної адреси машини." + "state": "needs_review", + "value": "Необов’язково: Cloud VPN" } } } }, - "cloudTree.ports.setupVPN": { + "cloud.vpn.setup.address.body": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Set Up VPN…" + "value": "Each machine has its own private IP. Two machines may both expose port 3000, for example 10.40.0.10:3000 and 10.40.0.11:3000. Right-click a Cloud port and choose Copy Private Address URL after connecting. These addresses are private, not public share links." } }, "de": { "stringUnit": { "state": "translated", - "value": "VPN einrichten…" + "value": "Jede Maschine hat eine eigene private IP. Zwei Maschinen können beide Port 3000 verwenden, etwa 10.40.0.10:3000 und 10.40.0.11:3000. Klicken Sie nach dem Verbinden mit der rechten Maustaste auf einen Cloud-Port und wählen Sie URL der privaten Adresse kopieren. Diese Adressen sind privat und keine öffentlichen Freigabelinks." } }, "fr": { "stringUnit": { "state": "translated", - "value": "Configurer le VPN…" + "value": "Chaque machine a sa propre IP privée. Deux machines peuvent utiliser le port 3000, par exemple 10.40.0.10:3000 et 10.40.0.11:3000. Après connexion, faites un clic droit sur un port Cloud et choisissez Copier l’URL de l’adresse privée. Ces adresses sont privées, ce ne sont pas des liens publics de partage." } }, - "ar": { + "es": { "stringUnit": { "state": "translated", - "value": "إعداد VPN…" + "value": "Cada máquina tiene su propia IP privada. Dos máquinas pueden usar el puerto 3000, como 10.40.0.10:3000 y 10.40.0.11:3000. Después de conectar, haz clic derecho en un puerto Cloud y elige Copiar URL de dirección privada. Estas direcciones son privadas, no enlaces públicos para compartir." } }, - "es": { + "ja": { "stringUnit": { "state": "translated", - "value": "Configurar VPN…" + "value": "各マシンには個別のプライベートIPがあります。2台のマシンがどちらもポート3000を使えます(例:10.40.0.10:3000と10.40.0.11:3000)。接続後にCloudポートを右クリックし、「プライベートアドレスURLをコピー」を選びます。これらはプライベートアドレスで、公開共有リンクではありません。" } }, - "zh-Hant": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "設定 VPN…" + "value": "每台机器都有自己的私有 IP。两台机器可以同时使用端口 3000,例如 10.40.0.10:3000 和 10.40.0.11:3000。连接后右键点击 Cloud 端口,选择“复制私有地址 URL”。这些地址是私有地址,不是公开分享链接。" } }, - "zh-Hans": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "设置 VPN…" + "value": "每台機器都有自己的私有 IP。兩台機器可以同時使用連接埠 3000,例如 10.40.0.10:3000 和 10.40.0.11:3000。連線後對 Cloud 連接埠按右鍵,選擇「複製私有位址 URL」。這些位址是私有位址,不是公開分享連結。" } }, "ko": { "stringUnit": { "state": "translated", - "value": "VPN 설정…" + "value": "각 머신에는 고유한 비공개 IP가 있습니다. 두 머신 모두 포트 3000을 사용할 수 있습니다(예: 10.40.0.10:3000 및 10.40.0.11:3000). 연결 후 Cloud 포트를 오른쪽 클릭하고 비공개 주소 URL 복사를 선택하세요. 이 주소는 비공개이며 공개 공유 링크가 아닙니다." } }, - "ja": { + "ar": { "stringUnit": { "state": "translated", - "value": "VPN を設定…" + "value": "لكل جهاز عنوان IP خاص به. يمكن لجهازين استخدام المنفذ 3000، مثل 10.40.0.10:3000 و10.40.0.11:3000. بعد الاتصال، انقر بزر الماوس الأيمن على منفذ Cloud واختر نسخ رابط العنوان الخاص. هذه عناوين خاصة وليست روابط مشاركة عامة." } }, "bs": { "stringUnit": { "state": "translated", - "value": "Postavi VPN…" + "value": "Svaka mašina ima svoju privatnu IP adresu. Dvije mašine mogu koristiti port 3000, na primjer 10.40.0.10:3000 i 10.40.0.11:3000. Nakon povezivanja kliknite desnim dugmetom na Cloud port i izaberite Kopiraj URL privatne adrese. Ovo su privatne adrese, a ne javne veze za dijeljenje." } }, "da": { "stringUnit": { "state": "translated", - "value": "Konfigurer VPN…" + "value": "Hver maskine har sin egen private IP. To maskiner kan begge bruge port 3000, f.eks. 10.40.0.10:3000 og 10.40.0.11:3000. Højreklik på en Cloud-port efter tilslutning, og vælg Kopiér URL til privat adresse. Adresserne er private, ikke offentlige delelinks." } }, "it": { "stringUnit": { "state": "translated", - "value": "Configura VPN…" + "value": "Ogni macchina ha il proprio IP privato. Due macchine possono usare entrambe la porta 3000, ad esempio 10.40.0.10:3000 e 10.40.0.11:3000. Dopo la connessione fai clic destro su una porta Cloud e scegli Copia URL indirizzo privato. Sono indirizzi privati, non link pubblici." } }, "km": { "stringUnit": { "state": "translated", - "value": "រៀបចំ VPN…" + "value": "ម៉ាស៊ីននីមួយៗមាន IP ឯកជនផ្ទាល់ខ្លួន។ ម៉ាស៊ីនពីរអាចប្រើច្រក 3000 ដូចគ្នា ឧទាហរណ៍ 10.40.0.10:3000 និង 10.40.0.11:3000។ បន្ទាប់ពីភ្ជាប់ ចុចខាងស្តាំលើច្រក Cloud ហើយជ្រើស ចម្លង URL អាសយដ្ឋានឯកជន។ ទាំងនេះជាអាសយដ្ឋានឯកជន មិនមែនតំណចែករំលែកសាធារណៈទេ។" } }, "nb": { "stringUnit": { "state": "translated", - "value": "Konfigurer VPN…" + "value": "Hver maskin har sin egen private IP. To maskiner kan bruke port 3000, for eksempel 10.40.0.10:3000 og 10.40.0.11:3000. Høyreklikk en Cloud-port etter tilkobling og velg Kopier URL for privat adresse. Adressene er private, ikke offentlige delingslenker." } }, "pl": { "stringUnit": { "state": "translated", - "value": "Skonfiguruj VPN…" + "value": "Każda maszyna ma własny prywatny adres IP. Dwie maszyny mogą używać portu 3000, na przykład 10.40.0.10:3000 i 10.40.0.11:3000. Po połączeniu kliknij prawym przyciskiem port Cloud i wybierz Kopiuj URL prywatnego adresu. To prywatne adresy, nie publiczne linki udostępniania." } }, "pt-BR": { "stringUnit": { "state": "translated", - "value": "Configurar VPN…" + "value": "Cada máquina tem seu próprio IP privado. Duas máquinas podem usar a porta 3000, por exemplo 10.40.0.10:3000 e 10.40.0.11:3000. Depois de conectar, clique com o botão direito em uma porta Cloud e escolha Copiar URL do endereço privado. Esses endereços são privados, não links públicos de compartilhamento." } }, "ru": { "stringUnit": { "state": "translated", - "value": "Настроить VPN…" + "value": "У каждой машины свой частный IP. Две машины могут использовать порт 3000, например 10.40.0.10:3000 и 10.40.0.11:3000. После подключения щёлкните правой кнопкой мыши порт Cloud и выберите Скопировать URL частного адреса. Это частные адреса, а не публичные ссылки." } }, "th": { "stringUnit": { "state": "translated", - "value": "ตั้งค่า VPN…" + "value": "แต่ละเครื่องมี IP ส่วนตัวของตนเอง สองเครื่องสามารถใช้พอร์ต 3000 ได้ เช่น 10.40.0.10:3000 และ 10.40.0.11:3000 หลังเชื่อมต่อ คลิกขวาที่พอร์ต Cloud แล้วเลือกคัดลอก URL ที่อยู่ส่วนตัว ที่อยู่เหล่านี้เป็นส่วนตัว ไม่ใช่ลิงก์สาธารณะ" } }, "tr": { "stringUnit": { "state": "translated", - "value": "VPN’i Kur…" + "value": "Her makinenin kendi özel IP’si vardır. İki makine 3000 bağlantı noktasını kullanabilir; örneğin 10.40.0.10:3000 ve 10.40.0.11:3000. Bağlandıktan sonra bir Cloud portuna sağ tıklayın ve Özel Adres URL’sini Kopyala’yı seçin. Bunlar özel adreslerdir, herkese açık paylaşım bağlantıları değildir." } }, "uk": { "stringUnit": { "state": "translated", - "value": "Налаштувати VPN…" + "value": "Кожна машина має власну приватну IP-адресу. Дві машини можуть використовувати порт 3000, наприклад 10.40.0.10:3000 і 10.40.0.11:3000. Після підключення клацніть правою кнопкою миші порт Cloud і виберіть Копіювати URL приватної адреси. Це приватні адреси, а не публічні посилання для спільного доступу." } } } }, - "cloudTree.ports.stale": { + "cloud.vpn.setup.cancel": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Port list may be out of date" + "value": "Cancel" } }, "de": { "stringUnit": { "state": "translated", - "value": "Portliste möglicherweise veraltet" + "value": "Abbrechen" } }, "fr": { "stringUnit": { "state": "translated", - "value": "La liste des ports peut être obsolète" + "value": "Annuler" } }, - "ar": { + "es": { "stringUnit": { "state": "translated", - "value": "قد تكون قائمة المنافذ قديمة" + "value": "Cancelar" } }, - "es": { + "ja": { "stringUnit": { "state": "translated", - "value": "La lista de puertos puede estar desactualizada" + "value": "キャンセル" } }, - "zh-Hant": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "連接埠清單可能已過時" + "value": "取消" } }, - "zh-Hans": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "端口列表可能已过期" + "value": "取消" } }, "ko": { "stringUnit": { "state": "translated", - "value": "포트 목록이 오래되었을 수 있음" + "value": "취소" } }, - "ja": { + "ar": { "stringUnit": { "state": "translated", - "value": "ポートリストが古い可能性があります" + "value": "إلغاء" } }, "bs": { "stringUnit": { "state": "translated", - "value": "Lista portova je možda zastarjela" + "value": "Otkaži" } }, "da": { "stringUnit": { "state": "translated", - "value": "Portlisten er muligvis forældet" + "value": "Annuller" } }, "it": { "stringUnit": { "state": "translated", - "value": "L’elenco delle porte potrebbe non essere aggiornato" + "value": "Annulla" } }, "km": { "stringUnit": { "state": "translated", - "value": "បញ្ជីច្រកអាចហួសសម័យ" + "value": "បោះបង់" } }, "nb": { "stringUnit": { "state": "translated", - "value": "Portlisten kan være utdatert" + "value": "Avbryt" } }, "pl": { "stringUnit": { "state": "translated", - "value": "Lista portów może być nieaktualna" + "value": "Anuluj" } }, "pt-BR": { "stringUnit": { "state": "translated", - "value": "A lista de portas pode estar desatualizada" + "value": "Cancelar" } }, "ru": { "stringUnit": { "state": "translated", - "value": "Список портов может быть устаревшим" + "value": "Отменить" } }, "th": { "stringUnit": { "state": "translated", - "value": "รายการพอร์ตอาจไม่เป็นปัจจุบัน" + "value": "ยกเลิก" } }, "tr": { "stringUnit": { "state": "translated", - "value": "Port listesi güncel olmayabilir" + "value": "İptal" } }, "uk": { "stringUnit": { "state": "translated", - "value": "Список портів може бути застарілим" + "value": "Скасувати" } } } }, - "cloudTree.ports.stale.detail": { + "cloud.vpn.setup.connect": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "The last scan could not be refreshed. Listed services may have changed; refresh to check again. cmux forwarding does not need Cloud VPN." + "value": "Connect Cloud VPN" } }, "de": { "stringUnit": { "state": "translated", - "value": "Der letzte Scan konnte nicht aktualisiert werden. Die aufgeführten Dienste könnten sich geändert haben. Aktualisieren Sie erneut. Die cmux-Weiterleitung benötigt kein Cloud-VPN." + "value": "Cloud-VPN verbinden" } }, "fr": { "stringUnit": { "state": "translated", - "value": "La dernière analyse n’a pas pu être actualisée. Les services listés peuvent avoir changé ; actualisez pour vérifier. Le transfert cmux ne nécessite pas de VPN Cloud." + "value": "Connecter le VPN Cloud" } }, - "ar": { + "es": { "stringUnit": { "state": "translated", - "value": "تعذر تحديث آخر فحص. ربما تغيرت الخدمات المدرجة؛ حدّث للفحص مجددًا. لا تحتاج إعادة توجيه cmux إلى Cloud VPN." + "value": "Conectar VPN de Cloud" } }, - "es": { + "ja": { "stringUnit": { "state": "translated", - "value": "No se pudo actualizar el último escaneo. Los servicios listados pueden haber cambiado; actualiza para comprobarlos. El reenvío de cmux no necesita Cloud VPN." + "value": "Cloud VPNに接続" } }, - "zh-Hant": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "無法重新整理上次掃描結果。列出的服務可能已變更;請重新整理以再次檢查。cmux 轉送不需要 Cloud VPN。" + "value": "连接 Cloud VPN" } }, - "zh-Hans": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "无法刷新上次扫描结果。列出的服务可能已更改;请刷新以再次检查。cmux 转发无需 Cloud VPN。" + "value": "連接 Cloud VPN" } }, "ko": { "stringUnit": { "state": "translated", - "value": "마지막 검색 결과를 새로 고치지 못했습니다. 나열된 서비스가 변경되었을 수 있으니 새로 고쳐 확인하세요. cmux 전달에는 Cloud VPN이 필요하지 않습니다." + "value": "Cloud VPN 연결" } }, - "ja": { + "ar": { "stringUnit": { "state": "translated", - "value": "前回のスキャンを更新できませんでした。表示されたサービスが変わっている可能性があります。更新して再確認してください。cmux の転送に Cloud VPN は不要です。" + "value": "توصيل VPN الخاص بـ Cloud" } }, "bs": { "stringUnit": { "state": "translated", - "value": "Posljednje skeniranje nije se moglo osvježiti. Navedeni servisi su se možda promijenili; osvježite da ponovo provjerite. Prosljeđivanje u cmux-u ne treba Cloud VPN." + "value": "Poveži Cloud VPN" } }, "da": { "stringUnit": { "state": "translated", - "value": "Den seneste scanning kunne ikke opdateres. De viste tjenester kan have ændret sig; opdater for at kontrollere igen. Videresendelse i cmux kræver ikke Cloud VPN." + "value": "Forbind Cloud VPN" } }, "it": { "stringUnit": { "state": "translated", - "value": "Non è stato possibile aggiornare l’ultima scansione. I servizi elencati potrebbero essere cambiati; aggiorna per controllare di nuovo. L’inoltro di cmux non richiede la VPN Cloud." + "value": "Connetti VPN Cloud" } }, "km": { "stringUnit": { "state": "translated", - "value": "មិនអាចផ្ទុកការស្កេនចុងក្រោយឡើងវិញបានទេ។ សេវាកម្មដែលបានរាយអាចបានផ្លាស់ប្តូរ; ផ្ទុកឡើងវិញដើម្បីពិនិត្យម្តងទៀត។ ការបញ្ជូនបន្តរបស់ cmux មិនត្រូវការ Cloud VPN ទេ។" + "value": "ភ្ជាប់ Cloud VPN" } }, "nb": { "stringUnit": { "state": "translated", - "value": "Den siste skanningen kunne ikke oppdateres. De oppførte tjenestene kan ha endret seg; oppdater for å sjekke på nytt. Videresending i cmux trenger ikke Cloud VPN." + "value": "Koble til Cloud VPN" } }, "pl": { "stringUnit": { "state": "translated", - "value": "Nie udało się odświeżyć ostatniego skanowania. Wymienione usługi mogły się zmienić; odśwież, aby sprawdzić ponownie. Przekierowywanie w cmux nie wymaga Cloud VPN." + "value": "Połącz z Cloud VPN" } }, "pt-BR": { "stringUnit": { "state": "translated", - "value": "Não foi possível atualizar a última verificação. Os serviços listados podem ter mudado; atualize para verificar de novo. O encaminhamento do cmux não precisa do Cloud VPN." + "value": "Conectar Cloud VPN" } }, "ru": { "stringUnit": { "state": "translated", - "value": "Не удалось обновить последнее сканирование. Перечисленные службы могли измениться; обновите, чтобы проверить снова. Перенаправлению cmux Cloud VPN не нужен." + "value": "Подключить Cloud VPN" } }, "th": { "stringUnit": { "state": "translated", - "value": "ไม่สามารถรีเฟรชการสแกนครั้งล่าสุดได้ บริการที่แสดงอาจเปลี่ยนไปแล้ว รีเฟรชเพื่อตรวจสอบอีกครั้ง การส่งต่อของ cmux ไม่ต้องใช้ Cloud VPN" + "value": "เชื่อมต่อ Cloud VPN" } }, "tr": { "stringUnit": { "state": "translated", - "value": "Son tarama yenilenemedi. Listelenen hizmetler değişmiş olabilir; yeniden denetlemek için yenileyin. cmux yönlendirmesi Cloud VPN gerektirmez." + "value": "Cloud VPN’e bağlan" } }, "uk": { "stringUnit": { "state": "translated", - "value": "Не вдалося оновити останнє сканування. Перелічені служби могли змінитися; оновіть, щоб перевірити знову. Перенаправлення cmux не потребує Cloud VPN." + "value": "Підключити Cloud VPN" } } } }, - "cloudTree.ports.unavailable.detail": { + "cloud.vpn.setup.connected": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "The port scan failed; this does not mean no service is listening. Existing cmux ports may still work. Refresh to retry; Cloud VPN is not required." + "value": "Connected" } }, "de": { "stringUnit": { "state": "translated", - "value": "Der Portscan ist fehlgeschlagen; das bedeutet nicht, dass kein Dienst lauscht. Vorhandene cmux-Ports funktionieren möglicherweise weiter. Aktualisieren Sie; Cloud-VPN ist nicht erforderlich." + "value": "Verbunden" } }, "fr": { "stringUnit": { "state": "translated", - "value": "L’analyse des ports a échoué ; cela ne signifie pas qu’aucun service n’écoute. Les ports cmux existants peuvent encore fonctionner. Actualisez pour réessayer ; le VPN Cloud n’est pas nécessaire." + "value": "Connecté" } }, - "ar": { + "es": { "stringUnit": { "state": "translated", - "value": "فشل فحص المنافذ؛ هذا لا يعني عدم وجود خدمة تستمع. قد تظل منافذ cmux الحالية تعمل. حدّث للمحاولة مجددًا؛ Cloud VPN غير مطلوب." + "value": "Conectada" } }, - "es": { + "ja": { "stringUnit": { "state": "translated", - "value": "Falló el escaneo de puertos; no significa que no haya servicios en escucha. Los puertos de cmux existentes pueden seguir funcionando. Actualiza para reintentar; Cloud VPN no es necesario." + "value": "接続済み" } }, - "zh-Hant": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "連接埠掃描失敗;這不代表沒有服務正在監聽。現有 cmux 連接埠可能仍可使用。請重新整理以重試;不需要 Cloud VPN。" + "value": "已连接" } }, - "zh-Hans": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "端口扫描失败;这并不代表没有服务正在监听。现有 cmux 端口可能仍可使用。请刷新以重试;无需 Cloud VPN。" + "value": "已連線" } }, "ko": { "stringUnit": { "state": "translated", - "value": "포트 검색이 실패했지만 수신 대기 서비스가 없다는 뜻은 아닙니다. 기존 cmux 포트는 계속 작동할 수 있습니다. 새로 고쳐 다시 시도하세요. Cloud VPN은 필요하지 않습니다." + "value": "연결됨" } }, - "ja": { + "ar": { "stringUnit": { "state": "translated", - "value": "ポートスキャンが失敗しましたが、サービスが待ち受けていないとは限りません。既存の cmux ポートは引き続き動作する可能性があります。更新して再試行してください。Cloud VPN は不要です。" + "value": "متصل" } }, "bs": { "stringUnit": { "state": "translated", - "value": "Skeniranje portova nije uspjelo; to ne znači da nijedan servis ne sluša. Postojeći cmux portovi možda i dalje rade. Osvježite za ponovni pokušaj; Cloud VPN nije potreban." + "value": "Povezano" } }, "da": { "stringUnit": { "state": "translated", - "value": "Portscanningen mislykkedes; det betyder ikke, at ingen tjeneste lytter. Eksisterende cmux-porte virker muligvis stadig. Opdater for at prøve igen; Cloud VPN er ikke påkrævet." + "value": "Forbundet" } }, "it": { "stringUnit": { "state": "translated", - "value": "La scansione delle porte non è riuscita; ciò non significa che nessun servizio sia in ascolto. Le porte cmux esistenti potrebbero funzionare ancora. Aggiorna per riprovare; la VPN Cloud non è necessaria." + "value": "Connessa" } }, "km": { "stringUnit": { "state": "translated", - "value": "ការស្កេនច្រកបានបរាជ័យ; នេះមិនមានន័យថាគ្មានសេវាកម្មណាកំពុងស្តាប់ទេ។ ច្រក cmux ដែលមានស្រាប់អាចនៅតែដំណើរការ។ ផ្ទុកឡើងវិញដើម្បីព្យាយាមម្តងទៀត; មិនត្រូវការ Cloud VPN ទេ។" + "value": "បានភ្ជាប់" } }, "nb": { "stringUnit": { "state": "translated", - "value": "Portskanningen mislyktes; det betyr ikke at ingen tjeneste lytter. Eksisterende cmux-porter kan fortsatt fungere. Oppdater for å prøve igjen; Cloud VPN er ikke nødvendig." + "value": "Tilkoblet" } }, "pl": { "stringUnit": { "state": "translated", - "value": "Skanowanie portów nie powiodło się; nie oznacza to, że żadna usługa nie nasłuchuje. Istniejące porty cmux mogą nadal działać. Odśwież, aby spróbować ponownie; Cloud VPN nie jest wymagany." + "value": "Połączono" } }, "pt-BR": { "stringUnit": { "state": "translated", - "value": "A verificação de portas falhou; isso não significa que nenhum serviço esteja em escuta. As portas existentes do cmux ainda podem funcionar. Atualize para tentar de novo; o Cloud VPN não é necessário." + "value": "Conectada" } }, "ru": { "stringUnit": { "state": "translated", - "value": "Сканирование портов не удалось; это не значит, что ни одна служба не прослушивает порты. Существующие порты cmux могут по-прежнему работать. Обновите, чтобы повторить; Cloud VPN не требуется." + "value": "Подключено" } }, "th": { "stringUnit": { "state": "translated", - "value": "การสแกนพอร์ตล้มเหลว ไม่ได้หมายความว่าไม่มีบริการที่กำลังรับฟัง พอร์ต cmux ที่มีอยู่อาจยังใช้งานได้ รีเฟรชเพื่อลองอีกครั้ง ไม่จำเป็นต้องใช้ Cloud VPN" + "value": "เชื่อมต่อแล้ว" } }, "tr": { "stringUnit": { "state": "translated", - "value": "Port taraması başarısız oldu; bu, dinleyen bir hizmet olmadığı anlamına gelmez. Mevcut cmux portları hâlâ çalışıyor olabilir. Yeniden denemek için yenileyin; Cloud VPN gerekmez." + "value": "Bağlandı" } }, "uk": { "stringUnit": { "state": "translated", - "value": "Сканування портів не вдалося; це не означає, що жодна служба не прослуховує. Наявні порти cmux можуть і далі працювати. Оновіть, щоб повторити; Cloud VPN не потрібен." + "value": "Підключено" } } } }, - "cloudTree.ports.unsupported": { + "cloud.vpn.setup.disconnect": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Ports are not supported by this provider." + "value": "Disconnect" } }, "de": { "stringUnit": { "state": "translated", - "value": "Ports werden von diesem Anbieter nicht unterstützt." + "value": "Trennen" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Les ports ne sont pas pris en charge par ce fournisseur." + "value": "Déconnecter" } }, - "ar": { + "es": { "stringUnit": { "state": "translated", - "value": "لا يدعم هذا الموفر المنافذ." + "value": "Desconectar" } }, - "es": { + "ja": { "stringUnit": { "state": "translated", - "value": "Este proveedor no admite puertos." + "value": "切断" } }, - "zh-Hant": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "此提供者不支援連接埠。" + "value": "断开连接" } }, - "zh-Hans": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "此提供商不支持端口。" + "value": "中斷連線" } }, "ko": { "stringUnit": { "state": "translated", - "value": "이 제공자는 포트를 지원하지 않습니다." + "value": "연결 해제" } }, - "ja": { + "ar": { "stringUnit": { "state": "translated", - "value": "このプロバイダーはポートをサポートしていません。" + "value": "قطع الاتصال" } }, "bs": { "stringUnit": { "state": "translated", - "value": "Ovaj pružalac ne podržava portove." + "value": "Prekini vezu" } }, "da": { "stringUnit": { "state": "translated", - "value": "Porte understøttes ikke af denne udbyder." + "value": "Afbryd" } }, "it": { "stringUnit": { "state": "translated", - "value": "Le porte non sono supportate da questo provider." + "value": "Disconnetti" } }, "km": { "stringUnit": { "state": "translated", - "value": "អ្នកផ្តល់សេវានេះមិនគាំទ្រច្រកទេ។" + "value": "ផ្តាច់" } }, "nb": { "stringUnit": { "state": "translated", - "value": "Porter støttes ikke av denne leverandøren." + "value": "Koble fra" } }, "pl": { "stringUnit": { "state": "translated", - "value": "Ten dostawca nie obsługuje portów." + "value": "Rozłącz" } }, "pt-BR": { "stringUnit": { "state": "translated", - "value": "Este provedor não oferece suporte a portas." + "value": "Desconectar" } }, "ru": { "stringUnit": { "state": "translated", - "value": "Этот провайдер не поддерживает порты." + "value": "Отключить" } }, "th": { "stringUnit": { "state": "translated", - "value": "ผู้ให้บริการนี้ไม่รองรับพอร์ต" + "value": "ตัดการเชื่อมต่อ" } }, "tr": { "stringUnit": { "state": "translated", - "value": "Bu sağlayıcı portları desteklemiyor." + "value": "Bağlantıyı kes" } }, "uk": { "stringUnit": { "state": "translated", - "value": "Цей постачальник не підтримує порти." + "value": "Від’єднати" } } } }, - "cloudTree.ports.unsupported.detail": { + "cloud.vpn.setup.entry.subtitle": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "This provider has no supported in-app port route. Open a shell to access the service inside the machine. Cloud VPN does not add provider support." + "value": "Optional private IP access for other apps" } }, "de": { "stringUnit": { "state": "translated", - "value": "Dieser Anbieter unterstützt keine Portverbindung in der App. Öffnen Sie eine Shell, um innerhalb der Maschine auf den Dienst zuzugreifen. Cloud-VPN fügt keine Anbieterunterstützung hinzu." + "value": "Optionaler Zugriff auf private IPs für andere Apps" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Ce fournisseur ne prend pas en charge les ports dans l’app. Ouvrez un shell pour accéder au service dans la machine. Le VPN Cloud n’ajoute pas cette prise en charge." + "value": "Accès facultatif aux IP privées pour les autres apps" } }, - "ar": { + "es": { "stringUnit": { "state": "translated", - "value": "لا يدعم هذا الموفر مسار منافذ داخل التطبيق. افتح صدفة للوصول إلى الخدمة داخل الجهاز. لا يضيف Cloud VPN دعمًا للموفر." + "value": "Acceso opcional a IP privadas para otras apps" } }, - "es": { + "ja": { "stringUnit": { "state": "translated", - "value": "Este proveedor no admite una ruta de puertos dentro de la app. Abre una shell para acceder al servicio dentro de la máquina. Cloud VPN no añade soporte al proveedor." + "value": "ほかのアプリからプライベートIPへアクセスする任意の設定" } }, - "zh-Hant": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "此提供者不支援應用程式內連接埠路徑。請開啟 Shell 以在機器內存取服務。Cloud VPN 不會新增提供者支援。" + "value": "为其他应用提供可选的私有 IP 访问" } }, - "zh-Hans": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "此提供商不支持应用内端口路由。请打开 Shell 以在机器内部访问服务。Cloud VPN 不会添加提供商支持。" + "value": "為其他 App 提供選用的私有 IP 存取" } }, "ko": { "stringUnit": { "state": "translated", - "value": "이 제공자는 앱 내 포트 경로를 지원하지 않습니다. 셸을 열어 머신 내부의 서비스에 접근하세요. Cloud VPN으로 제공자 지원이 추가되지는 않습니다." + "value": "다른 앱의 비공개 IP 접근을 위한 선택 설정" } }, - "ja": { + "ar": { "stringUnit": { "state": "translated", - "value": "このプロバイダーはアプリ内のポート経路に対応していません。シェルを開き、マシン内でサービスにアクセスしてください。Cloud VPN を有効にしても対応は追加されません。" + "value": "وصول اختياري إلى عناوين IP الخاصة للتطبيقات الأخرى" } }, "bs": { "stringUnit": { "state": "translated", - "value": "Ovaj pružalac nema podržanu rutu portova unutar aplikacije. Otvorite shell da pristupite servisu unutar mašine. Cloud VPN ne dodaje podršku pružaoca." + "value": "Opcionalni pristup privatnim IP adresama za druge aplikacije" } }, "da": { "stringUnit": { "state": "translated", - "value": "Denne udbyder har ingen understøttet portrute i appen. Åbn en shell for at få adgang til tjenesten inde i maskinen. Cloud VPN tilføjer ikke understøttelse for udbyderen." + "value": "Valgfri privat IP-adgang for andre apps" } }, "it": { "stringUnit": { "state": "translated", - "value": "Questo provider non ha un percorso delle porte supportato nell’app. Apri una shell per accedere al servizio all’interno della macchina. La VPN Cloud non aggiunge il supporto del provider." + "value": "Accesso facoltativo agli IP privati per altre app" } }, "km": { "stringUnit": { "state": "translated", - "value": "អ្នកផ្តល់សេវានេះគ្មានផ្លូវច្រកក្នុងកម្មវិធីដែលគាំទ្រទេ។ បើក shell ដើម្បីចូលប្រើសេវាកម្មនៅខាងក្នុងម៉ាស៊ីន។ Cloud VPN មិនបន្ថែមការគាំទ្រអ្នកផ្តល់សេវាទេ។" + "value": "ចូលប្រើ IP ឯកជនសម្រាប់កម្មវិធីផ្សេងៗជាជម្រើស" } }, "nb": { "stringUnit": { "state": "translated", - "value": "Denne leverandøren har ingen støttet portrute i appen. Åpne et skall for å få tilgang til tjenesten inne i maskinen. Cloud VPN legger ikke til støtte for leverandøren." + "value": "Valgfri privat IP-tilgang for andre apper" } }, "pl": { "stringUnit": { "state": "translated", - "value": "Ten dostawca nie ma obsługiwanej trasy portów w aplikacji. Otwórz powłokę, aby uzyskać dostęp do usługi wewnątrz maszyny. Cloud VPN nie dodaje obsługi dostawcy." + "value": "Opcjonalny dostęp innych aplikacji do prywatnych adresów IP" } }, "pt-BR": { "stringUnit": { "state": "translated", - "value": "Este provedor não tem uma rota de portas compatível no app. Abra um shell para acessar o serviço dentro da máquina. O Cloud VPN não adiciona suporte ao provedor." + "value": "Acesso opcional a IPs privados para outros apps" } }, "ru": { "stringUnit": { "state": "translated", - "value": "У этого провайдера нет поддерживаемого маршрута портов в приложении. Откройте оболочку, чтобы получить доступ к службе внутри машины. Cloud VPN не добавляет поддержку провайдера." + "value": "Необязательный доступ других приложений к частным IP" } }, "th": { "stringUnit": { "state": "translated", - "value": "ผู้ให้บริการนี้ไม่มีเส้นทางพอร์ตในแอปที่รองรับ เปิดเชลล์เพื่อเข้าถึงบริการภายในเครื่อง Cloud VPN ไม่ได้เพิ่มการรองรับผู้ให้บริการ" + "value": "การเข้าถึง IP ส่วนตัวสำหรับแอปอื่นแบบไม่บังคับ" } }, "tr": { "stringUnit": { "state": "translated", - "value": "Bu sağlayıcının desteklenen bir uygulama içi port yolu yok. Makinenin içindeki hizmete erişmek için bir kabuk açın. Cloud VPN sağlayıcı desteği eklemez." + "value": "Diğer uygulamalar için isteğe bağlı özel IP erişimi" } }, "uk": { "stringUnit": { "state": "translated", - "value": "Цей постачальник не має підтримуваного маршруту портів у застосунку. Відкрийте оболонку, щоб отримати доступ до служби всередині машини. Cloud VPN не додає підтримку постачальника." + "value": "Необов’язковий доступ інших програм до приватних IP" } } } }, - "cloudTree.port.openInCmux": { + "cloud.vpn.setup.failed": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Open in cmux" + "value": "Needs attention" } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "فتح في cmux" + "value": "Aktion erforderlich" } }, - "de": { + "fr": { "stringUnit": { "state": "translated", - "value": "In cmux öffnen" + "value": "Action requise" } }, "es": { "stringUnit": { "state": "translated", - "value": "Abrir en cmux" + "value": "Requiere atención" } }, - "fr": { + "ja": { "stringUnit": { "state": "translated", - "value": "Ouvrir dans cmux" + "value": "対応が必要" } }, - "ja": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "cmuxで開く" + "value": "需要处理" + } + }, + "zh-Hant": { + "stringUnit": { + "state": "translated", + "value": "需要處理" } }, "ko": { "stringUnit": { "state": "translated", - "value": "cmux에서 열기" + "value": "조치 필요" } }, - "zh-Hans": { + "ar": { "stringUnit": { "state": "translated", - "value": "在 cmux 中打开" + "value": "يتطلب إجراءً" } }, - "zh-Hant": { + "bs": { "stringUnit": { "state": "translated", - "value": "在 cmux 中開啟" + "value": "Potrebna pažnja" } - } - } - }, - "cloudTree.port.openInCmux.help": { - "extractionState": "manual", - "localizations": { - "en": { + }, + "da": { "stringUnit": { "state": "translated", - "value": "Open in cmux. No VPN setup needed." + "value": "Kræver opmærksomhed" } }, - "ar": { + "it": { "stringUnit": { "state": "translated", - "value": "افتح في cmux. لا يلزم إعداد VPN." + "value": "Richiede attenzione" } }, - "de": { + "km": { "stringUnit": { "state": "translated", - "value": "In cmux öffnen. Keine VPN-Einrichtung nötig." + "value": "ត្រូវការការយកចិត្តទុកដាក់" } }, - "es": { + "nb": { "stringUnit": { "state": "translated", - "value": "Abrir en cmux. No hace falta configurar una VPN." + "value": "Krever handling" } }, - "fr": { + "pl": { "stringUnit": { "state": "translated", - "value": "Ouvrir dans cmux. Aucune configuration VPN nécessaire." + "value": "Wymaga uwagi" } }, - "ja": { + "pt-BR": { "stringUnit": { "state": "translated", - "value": "cmux で開きます。VPN の設定は不要です。" + "value": "Requer atenção" } }, - "ko": { + "ru": { "stringUnit": { "state": "translated", - "value": "cmux에서 열기. VPN 설정이 필요하지 않습니다." + "value": "Требуется действие" } }, - "zh-Hans": { + "th": { "stringUnit": { "state": "translated", - "value": "在 cmux 中打开。无需设置 VPN。" + "value": "ต้องดำเนินการ" } }, - "zh-Hant": { + "tr": { "stringUnit": { "state": "translated", - "value": "在 cmux 中開啟。無需設定 VPN。" + "value": "İlgilenilmeli" + } + }, + "uk": { + "stringUnit": { + "state": "translated", + "value": "Потрібна увага" } } } }, - "cloudTree.port.title": { + "cloud.vpn.setup.off": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Port %@" + "value": "Off" } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "المنفذ %@" + "value": "Aus" } }, - "de": { + "fr": { "stringUnit": { "state": "translated", - "value": "Port-Nr. %@" + "value": "Désactivé" } }, "es": { "stringUnit": { "state": "translated", - "value": "Puerto %@" + "value": "Desactivada" } }, - "fr": { + "ja": { "stringUnit": { "state": "translated", - "value": "Port n° %@" + "value": "オフ" } }, - "ja": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "ポート %@" + "value": "已关闭" + } + }, + "zh-Hant": { + "stringUnit": { + "state": "translated", + "value": "已關閉" } }, "ko": { "stringUnit": { "state": "translated", - "value": "포트 %@" + "value": "꺼짐" } }, - "zh-Hans": { + "ar": { "stringUnit": { "state": "translated", - "value": "端口 %@" + "value": "متوقف" } }, - "zh-Hant": { + "bs": { "stringUnit": { "state": "translated", - "value": "連接埠 %@" + "value": "Isključeno" } - } - } - }, - "cloudTree.placeholder.deviceOffline": { - "extractionState": "manual", - "localizations": { - "en": { + }, + "da": { "stringUnit": { "state": "translated", - "value": "Offline — its workspaces return when it does" + "value": "Fra" } }, - "ar": { + "it": { "stringUnit": { "state": "translated", - "value": "غير متصل — ستعود مساحات عمله عند اتصاله مجددًا" + "value": "Disattivata" } }, - "de": { + "km": { "stringUnit": { "state": "translated", - "value": "Offline — die Arbeitsbereiche erscheinen wieder, sobald das Gerät online ist" + "value": "បិទ" } }, - "es": { + "nb": { "stringUnit": { "state": "translated", - "value": "Sin conexión — sus espacios de trabajo volverán cuando se conecte" + "value": "Av" } }, - "fr": { + "pl": { "stringUnit": { "state": "translated", - "value": "Hors ligne — ses espaces de travail réapparaîtront à sa reconnexion" + "value": "Wyłączona" } }, - "ja": { + "pt-BR": { "stringUnit": { "state": "translated", - "value": "オフライン — 再接続するとワークスペースが戻ります" + "value": "Desativada" } }, - "ko": { + "ru": { "stringUnit": { "state": "translated", - "value": "오프라인 — 다시 연결되면 작업 공간이 돌아옵니다" + "value": "Выключено" } }, - "zh-Hans": { + "th": { "stringUnit": { "state": "translated", - "value": "离线 — 重新连接后会恢复工作区" + "value": "ปิด" } }, - "zh-Hant": { + "tr": { "stringUnit": { "state": "translated", - "value": "離線 — 重新連線後會恢復工作區" + "value": "Kapalı" + } + }, + "uk": { + "stringUnit": { + "state": "translated", + "value": "Вимкнено" } } } }, - "cloud.vpn.setup.heading": { + "cloud.vpn.setup.openUnavailable": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Use Cloud machines from any app" + "value": "Cloud VPN setup is unavailable" } }, "de": { "stringUnit": { "state": "translated", - "value": "Cloud-Maschinen aus jeder App verwenden" + "value": "Cloud-VPN-Einrichtung ist nicht verfügbar" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Utiliser les machines Cloud depuis toute app" + "value": "La configuration du VPN Cloud est indisponible" } }, "es": { "stringUnit": { "state": "translated", - "value": "Usar máquinas Cloud desde cualquier app" + "value": "La configuración de VPN de Cloud no está disponible" } }, "ja": { "stringUnit": { "state": "translated", - "value": "ほかのアプリからCloudマシンを使う" + "value": "Cloud VPN設定は利用できません" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "从任何应用使用 Cloud 机器" + "value": "Cloud VPN 设置不可用" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "從任何 App 使用 Cloud 機器" + "value": "無法使用 Cloud VPN 設定" } }, "ko": { "stringUnit": { "state": "translated", - "value": "모든 앱에서 Cloud 머신 사용" + "value": "Cloud VPN 설정을 사용할 수 없습니다" } }, "ar": { "stringUnit": { "state": "translated", - "value": "استخدام أجهزة Cloud من أي تطبيق" + "value": "إعداد VPN الخاص بـ Cloud غير متاح" } }, "bs": { "stringUnit": { "state": "translated", - "value": "Koristite Cloud mašine iz bilo koje aplikacije" + "value": "Podešavanje Cloud VPN-a nije dostupno" } }, "da": { "stringUnit": { "state": "translated", - "value": "Brug Cloud-maskiner fra alle apps" + "value": "Cloud VPN-opsætning er ikke tilgængelig" } }, "it": { "stringUnit": { "state": "translated", - "value": "Usa le macchine Cloud da qualsiasi app" + "value": "La configurazione VPN Cloud non è disponibile" } }, "km": { "stringUnit": { "state": "translated", - "value": "ប្រើម៉ាស៊ីន Cloud ពីកម្មវិធីណាមួយ" + "value": "ការរៀបចំ Cloud VPN មិនអាចប្រើបាន" } }, "nb": { "stringUnit": { "state": "translated", - "value": "Bruk Cloud-maskiner fra alle apper" + "value": "Cloud VPN-oppsett er ikke tilgjengelig" } }, "pl": { "stringUnit": { "state": "translated", - "value": "Używaj maszyn Cloud z dowolnej aplikacji" + "value": "Konfiguracja Cloud VPN jest niedostępna" } }, "pt-BR": { "stringUnit": { "state": "translated", - "value": "Use máquinas Cloud em qualquer app" + "value": "A configuração do Cloud VPN não está disponível" } }, "ru": { "stringUnit": { "state": "translated", - "value": "Используйте Cloud-машины из любого приложения" + "value": "Настройка Cloud VPN недоступна" } }, "th": { "stringUnit": { "state": "translated", - "value": "ใช้เครื่อง Cloud จากทุกแอป" + "value": "การตั้งค่า Cloud VPN ไม่พร้อมใช้งาน" } }, "tr": { "stringUnit": { "state": "translated", - "value": "Cloud makinelerini her uygulamadan kullanın" + "value": "Cloud VPN kurulumu kullanılamıyor" } }, "uk": { "stringUnit": { "state": "translated", - "value": "Використовуйте Cloud-машини з будь-якої програми" + "value": "Налаштування Cloud VPN недоступне" } } } }, - "cloud.vpn.setup.subtitle": { + "cloud.vpn.setup.permission.body": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Optional access to each VM's private address and original ports, such as 10.40.0.10:3000." + "value": "The VPN software is included in cmux. You do not need another app. macOS may require your password or Touch ID during approval." } }, "de": { "stringUnit": { "state": "translated", - "value": "Optionaler Zugriff auf die private Adresse und die ursprünglichen Ports jeder VM, etwa 10.40.0.10:3000." + "value": "Die VPN-Software ist in cmux enthalten. Sie brauchen keine weitere App. macOS kann bei der Genehmigung Ihr Passwort oder Touch ID verlangen." } }, "fr": { "stringUnit": { "state": "translated", - "value": "Accès facultatif à chaque adresse privée et aux ports d’origine des VM, comme 10.40.0.10:3000." + "value": "Le logiciel VPN est inclus dans cmux. Aucune autre app n’est nécessaire. macOS peut demander votre mot de passe ou Touch ID lors de l’autorisation." } }, "es": { "stringUnit": { "state": "translated", - "value": "Acceso opcional a la dirección privada y los puertos originales de cada VM, como 10.40.0.10:3000." + "value": "El software VPN está incluido en cmux. No necesitas otra app. macOS puede solicitar tu contraseña o Touch ID durante la autorización." } }, "ja": { "stringUnit": { "state": "translated", - "value": "各VMのプライベートアドレスと元のポート(例:10.40.0.10:3000)にアクセスするための任意の設定です。" + "value": "VPNソフトウェアはcmuxに含まれています。別のアプリは不要です。承認時にmacOSがパスワードまたはTouch IDを求めることがあります。" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "可选设置,用于访问每台 VM 的私有地址和原始端口,例如 10.40.0.10:3000。" + "value": "cmux 已包含 VPN 软件,无需其他应用。批准时,macOS 可能要求您输入密码或使用触控 ID。" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "選用設定,可存取每台 VM 的私有位址和原始連接埠,例如 10.40.0.10:3000。" + "value": "cmux 已包含 VPN 軟體,不需要其他 App。核准時,macOS 可能要求您輸入密碼或使用 Touch ID。" } }, "ko": { "stringUnit": { "state": "translated", - "value": "각 VM의 비공개 주소와 원래 포트(예: 10.40.0.10:3000)에 접근하기 위한 선택 설정입니다." + "value": "VPN 소프트웨어는 cmux에 포함되어 있습니다. 다른 앱은 필요하지 않습니다. 승인 시 macOS에서 암호 또는 Touch ID를 요청할 수 있습니다." } }, "ar": { "stringUnit": { "state": "translated", - "value": "وصول اختياري إلى العنوان الخاص والمنافذ الأصلية لكل جهاز افتراضي، مثل 10.40.0.10:3000." + "value": "برنامج VPN مضمن في cmux. لا تحتاج إلى تطبيق آخر. قد يطلب macOS كلمة المرور أو Touch ID أثناء الموافقة." } }, "bs": { "stringUnit": { "state": "translated", - "value": "Opcionalni pristup privatnoj adresi i izvornim portovima svake VM, na primjer 10.40.0.10:3000." + "value": "VPN softver je uključen u cmux. Nije potrebna druga aplikacija. macOS može zatražiti lozinku ili Touch ID tokom odobravanja." } }, "da": { "stringUnit": { "state": "translated", - "value": "Valgfri adgang til hver VM’s private adresse og oprindelige porte, f.eks. 10.40.0.10:3000." + "value": "VPN-softwaren er inkluderet i cmux. Du behøver ingen anden app. macOS kan bede om din adgangskode eller Touch ID under godkendelsen." } }, "it": { "stringUnit": { "state": "translated", - "value": "Accesso facoltativo all’indirizzo privato e alle porte originali di ogni VM, ad esempio 10.40.0.10:3000." + "value": "Il software VPN è incluso in cmux. Non serve un’altra app. macOS potrebbe chiedere la password o Touch ID durante l’autorizzazione." } }, "km": { "stringUnit": { "state": "translated", - "value": "ចូលប្រើអាសយដ្ឋានឯកជន និងច្រកដើមរបស់ VM នីមួយៗ ដូចជា 10.40.0.10:3000 ជាជម្រើស។" + "value": "កម្មវិធី VPN មាននៅក្នុង cmux។ អ្នកមិនត្រូវការកម្មវិធីផ្សេងទៀតទេ។ macOS អាចស្នើពាក្យសម្ងាត់ ឬ Touch ID ក្នុងពេលអនុម័ត។" } }, "nb": { "stringUnit": { "state": "translated", - "value": "Valgfri tilgang til hver VMs private adresse og opprinnelige porter, som 10.40.0.10:3000." + "value": "VPN-programvaren er inkludert i cmux. Du trenger ingen annen app. macOS kan be om passord eller Touch ID under godkjenningen." } }, "pl": { "stringUnit": { "state": "translated", - "value": "Opcjonalny dostęp do prywatnego adresu i oryginalnych portów każdej maszyny VM, na przykład 10.40.0.10:3000." + "value": "Oprogramowanie VPN jest zawarte w cmux. Nie potrzebujesz innej aplikacji. macOS może poprosić o hasło lub Touch ID podczas zatwierdzania." } }, "pt-BR": { "stringUnit": { "state": "translated", - "value": "Acesso opcional ao endereço privado e às portas originais de cada VM, como 10.40.0.10:3000." + "value": "O software VPN vem incluído no cmux. Você não precisa de outro app. O macOS pode pedir sua senha ou Touch ID durante a aprovação." } }, "ru": { "stringUnit": { "state": "translated", - "value": "Необязательный доступ к частному адресу и исходным портам каждой VM, например 10.40.0.10:3000." + "value": "VPN-программа уже входит в cmux. Другие приложения не нужны. Во время подтверждения macOS может запросить пароль или Touch ID." } }, "th": { "stringUnit": { "state": "translated", - "value": "การเข้าถึงที่ไม่บังคับไปยังที่อยู่ส่วนตัวและพอร์ตเดิมของ VM แต่ละเครื่อง เช่น 10.40.0.10:3000" + "value": "ซอฟต์แวร์ VPN รวมอยู่ใน cmux แล้ว ไม่ต้องใช้แอปอื่น macOS อาจขอรหัสผ่านหรือ Touch ID ระหว่างการอนุมัติ" } }, "tr": { "stringUnit": { "state": "translated", - "value": "Her VM’nin özel adresine ve özgün bağlantı noktalarına isteğe bağlı erişim; örneğin 10.40.0.10:3000." + "value": "VPN yazılımı cmux içinde bulunur. Başka bir uygulama gerekmez. macOS onay sırasında parolanızı veya Touch ID’yi isteyebilir." } }, "uk": { "stringUnit": { "state": "translated", - "value": "Необов’язковий доступ до приватної адреси та початкових портів кожної VM, наприклад 10.40.0.10:3000." + "value": "Програмне забезпечення VPN входить до cmux. Інша програма не потрібна. Під час схвалення macOS може попросити пароль або Touch ID." } } } }, - "cloud.vpn.setup.howItWorks.title": { + "cloud.vpn.setup.status.title": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "How it works" + "value": "Private network status" } }, "de": { "stringUnit": { "state": "translated", - "value": "So funktioniert es" + "value": "Status des privaten Netzwerks" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Fonctionnement" + "value": "État du réseau privé" } }, "es": { "stringUnit": { "state": "translated", - "value": "Cómo funciona" + "value": "Estado de la red privada" } }, "ja": { "stringUnit": { "state": "translated", - "value": "仕組み" + "value": "プライベートネットワークの状態" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "工作原理" + "value": "私有网络状态" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "運作方式" + "value": "私有網路狀態" } }, "ko": { "stringUnit": { "state": "translated", - "value": "작동 방식" + "value": "비공개 네트워크 상태" } }, "ar": { "stringUnit": { "state": "translated", - "value": "طريقة العمل" + "value": "حالة الشبكة الخاصة" } }, "bs": { "stringUnit": { "state": "translated", - "value": "Kako radi" + "value": "Status privatne mreže" } }, "da": { "stringUnit": { "state": "translated", - "value": "Sådan fungerer det" + "value": "Status for privat netværk" } }, "it": { "stringUnit": { "state": "translated", - "value": "Come funziona" + "value": "Stato della rete privata" } }, "km": { "stringUnit": { "state": "translated", - "value": "របៀបដំណើរការ" + "value": "ស្ថានភាពបណ្តាញឯកជន" } }, "nb": { "stringUnit": { "state": "translated", - "value": "Slik fungerer det" + "value": "Status for privat nettverk" } }, "pl": { "stringUnit": { "state": "translated", - "value": "Jak to działa" + "value": "Stan sieci prywatnej" } }, "pt-BR": { "stringUnit": { "state": "translated", - "value": "Como funciona" + "value": "Status da rede privada" } }, "ru": { "stringUnit": { "state": "translated", - "value": "Как это работает" + "value": "Состояние частной сети" } }, "th": { "stringUnit": { "state": "translated", - "value": "วิธีการทำงาน" + "value": "สถานะเครือข่ายส่วนตัว" } }, "tr": { "stringUnit": { "state": "translated", - "value": "Nasıl çalışır" + "value": "Özel ağ durumu" } }, "uk": { "stringUnit": { "state": "translated", - "value": "Як це працює" + "value": "Стан приватної мережі" } } } }, - "cloud.vpn.setup.status.off": { + "cloud.vpn.setup.title": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Off. Your Cloud panes continue to work through cmux's built-in route." + "value": "Cloud VPN" } }, "de": { "stringUnit": { "state": "translated", - "value": "Aus. Ihre Cloud-Bereiche funktionieren weiterhin über die integrierte Verbindung von cmux." + "value": "Cloud-VPN" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Désactivé. Vos volets Cloud continuent de fonctionner via la connexion intégrée de cmux." + "value": "VPN Cloud" } }, "es": { "stringUnit": { "state": "translated", - "value": "Desactivada. Tus paneles Cloud siguen funcionando mediante la conexión integrada de cmux." + "value": "VPN de Cloud" } }, "ja": { "stringUnit": { "state": "translated", - "value": "オフ。Cloudペインは引き続きcmux内蔵の接続経路で動作します。" + "value": "クラウドVPN" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "已关闭。Cloud 面板仍通过 cmux 内置连接工作。" + "value": "云端 VPN" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "已關閉。Cloud 面板仍透過 cmux 內建連線運作。" + "value": "雲端 VPN" } }, "ko": { "stringUnit": { "state": "translated", - "value": "꺼짐. Cloud 패널은 cmux의 내장 연결을 통해 계속 작동합니다." + "value": "클라우드 VPN" } }, "ar": { "stringUnit": { "state": "translated", - "value": "متوقف. تستمر لوحات Cloud في العمل عبر اتصال cmux المضمن." + "value": "شبكة Cloud الخاصة" } }, "bs": { "stringUnit": { "state": "translated", - "value": "Isključeno. Cloud paneli i dalje rade preko ugrađene cmux veze." + "value": "Cloud VPN" } }, "da": { "stringUnit": { "state": "translated", - "value": "Fra. Dine Cloud-paneler fungerer stadig via cmux’ indbyggede forbindelse." + "value": "Cloud VPN" } }, "it": { "stringUnit": { "state": "translated", - "value": "Disattivata. I pannelli Cloud continuano a funzionare tramite la connessione integrata di cmux." + "value": "VPN Cloud" } }, "km": { "stringUnit": { "state": "translated", - "value": "បិទ។ ផ្ទាំង Cloud របស់អ្នកនៅតែដំណើរការតាមការភ្ជាប់ដែលមានស្រាប់របស់ cmux។" + "value": "Cloud VPN" } }, "nb": { "stringUnit": { "state": "translated", - "value": "Av. Cloud-panelene dine fortsetter å fungere gjennom cmux sin innebygde forbindelse." + "value": "Cloud VPN" } }, "pl": { "stringUnit": { "state": "translated", - "value": "Wyłączona. Panele Cloud nadal działają przez wbudowane połączenie cmux." + "value": "Cloud VPN" } }, "pt-BR": { "stringUnit": { "state": "translated", - "value": "Desativada. Seus painéis Cloud continuam funcionando pela conexão integrada do cmux." + "value": "Cloud VPN" } }, "ru": { "stringUnit": { "state": "translated", - "value": "Выключено. Панели Cloud продолжают работать через встроенное соединение cmux." + "value": "Cloud VPN" } }, "th": { "stringUnit": { "state": "translated", - "value": "ปิดอยู่ แผง Cloud ยังคงทำงานผ่านการเชื่อมต่อในตัวของ cmux" + "value": "Cloud VPN" } }, "tr": { "stringUnit": { "state": "translated", - "value": "Kapalı. Cloud panelleriniz cmux’un yerleşik bağlantısıyla çalışmaya devam eder." + "value": "Cloud VPN" } }, "uk": { "stringUnit": { "state": "translated", - "value": "Вимкнено. Панелі Cloud продовжують працювати через вбудоване з’єднання cmux." + "value": "Cloud VPN" } } } }, - "cloud.vpn.setup.steps.title": { + "cloud.vpn.setup.unavailable": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "First-time setup" + "value": "This copy of cmux does not include a signed VPN extension. Use a cmux release with Cloud VPN support. Cloud terminals, Ports, and Desktop remain available without the VPN." } }, "de": { "stringUnit": { "state": "translated", - "value": "Ersteinrichtung" + "value": "Diese cmux-Version enthält keine signierte VPN-Erweiterung. Verwenden Sie eine cmux-Version mit Cloud-VPN-Unterstützung. Cloud-Terminals, Ports und Desktop bleiben ohne VPN verfügbar." } }, "fr": { "stringUnit": { "state": "translated", - "value": "Première configuration" + "value": "Cette copie de cmux ne contient pas d’extension VPN signée. Utilisez une version de cmux qui prend en charge le VPN Cloud. Les terminaux Cloud, Ports et Bureau restent disponibles sans VPN." } }, "es": { "stringUnit": { "state": "translated", - "value": "Configuración inicial" + "value": "Esta copia de cmux no incluye una extensión VPN firmada. Usa una versión de cmux compatible con VPN de Cloud. Los terminales Cloud, Puertos y Escritorio siguen disponibles sin VPN." } }, "ja": { "stringUnit": { "state": "translated", - "value": "初回設定" + "value": "このcmuxには署名済みのVPN機能拡張が含まれていません。Cloud VPN対応のcmuxリリースを使用してください。Cloudのターミナル、ポート、デスクトップはVPNなしでも使えます。" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "首次设置" + "value": "此 cmux 副本未包含已签名的 VPN 扩展。请使用支持 Cloud VPN 的 cmux 版本。Cloud 终端、端口和桌面无需 VPN 仍可使用。" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "首次設定" + "value": "此 cmux 副本未包含已簽署的 VPN 延伸功能。請使用支援 Cloud VPN 的 cmux 版本。Cloud 終端機、連接埠和桌面不需要 VPN 仍可使用。" } }, "ko": { "stringUnit": { "state": "translated", - "value": "최초 설정" + "value": "이 cmux에는 서명된 VPN 확장이 포함되어 있지 않습니다. Cloud VPN을 지원하는 cmux 릴리스를 사용하세요. Cloud 터미널, 포트 및 데스크탑은 VPN 없이도 사용할 수 있습니다." } }, "ar": { "stringUnit": { "state": "translated", - "value": "الإعداد الأولي" + "value": "لا تتضمن هذه النسخة من cmux امتداد VPN موقعًا. استخدم إصدار cmux يدعم VPN الخاص بـ Cloud. تظل طرفيات Cloud والمنافذ وسطح المكتب متاحة بدون VPN." } }, "bs": { "stringUnit": { "state": "translated", - "value": "Prvo podešavanje" + "value": "Ova kopija cmux-a nema potpisani VPN dodatak. Koristite cmux izdanje sa Cloud VPN podrškom. Cloud terminali, portovi i radna površina ostaju dostupni bez VPN-a." } }, "da": { "stringUnit": { "state": "translated", - "value": "Første opsætning" + "value": "Denne cmux-kopi indeholder ikke en signeret VPN-udvidelse. Brug en cmux-udgave med Cloud VPN-understøttelse. Cloud-terminaler, porte og skrivebord er stadig tilgængelige uden VPN." } }, "it": { "stringUnit": { "state": "translated", - "value": "Prima configurazione" + "value": "Questa copia di cmux non include un’estensione VPN firmata. Usa una versione di cmux con supporto Cloud VPN. Terminali Cloud, porte e desktop restano disponibili senza VPN." } }, "km": { "stringUnit": { "state": "translated", - "value": "ការរៀបចំលើកដំបូង" + "value": "cmux ច្បាប់នេះមិនមានផ្នែកបន្ថែម VPN ដែលបានចុះហត្ថលេខាទេ។ ប្រើកំណែ cmux ដែលគាំទ្រ Cloud VPN។ Terminal, Ports និង Desktop របស់ Cloud នៅតែប្រើបានដោយគ្មាន VPN។" } }, "nb": { "stringUnit": { "state": "translated", - "value": "Førstegangsoppsett" + "value": "Denne cmux-kopien har ingen signert VPN-utvidelse. Bruk en cmux-versjon med Cloud VPN-støtte. Cloud-terminaler, porter og skrivebord er tilgjengelige uten VPN." } }, "pl": { "stringUnit": { "state": "translated", - "value": "Pierwsza konfiguracja" + "value": "Ta kopia cmux nie zawiera podpisanego rozszerzenia VPN. Użyj wydania cmux z obsługą Cloud VPN. Terminale Cloud, porty i pulpit pozostają dostępne bez VPN." } }, "pt-BR": { "stringUnit": { "state": "translated", - "value": "Primeira configuração" + "value": "Esta cópia do cmux não inclui uma extensão VPN assinada. Use uma versão do cmux com suporte a Cloud VPN. Terminais Cloud, portas e área de trabalho continuam disponíveis sem VPN." } }, "ru": { "stringUnit": { "state": "translated", - "value": "Первая настройка" + "value": "В этой копии cmux нет подписанного VPN-расширения. Используйте выпуск cmux с поддержкой Cloud VPN. Cloud-терминалы, порты и рабочий стол доступны без VPN." } }, "th": { "stringUnit": { "state": "translated", - "value": "การตั้งค่าครั้งแรก" + "value": "cmux รุ่นนี้ไม่มีส่วนขยาย VPN ที่ลงนามแล้ว ใช้รุ่น cmux ที่รองรับ Cloud VPN เทอร์มินัล Cloud พอร์ต และเดสก์ท็อปยังใช้ได้โดยไม่ต้องมี VPN" } }, "tr": { "stringUnit": { "state": "translated", - "value": "İlk kurulum" + "value": "Bu cmux kopyasında imzalı VPN uzantısı bulunmuyor. Cloud VPN destekli bir cmux sürümü kullanın. Cloud terminalleri, portlar ve masaüstü VPN olmadan da kullanılabilir." } }, "uk": { "stringUnit": { "state": "translated", - "value": "Перше налаштування" + "value": "Ця копія cmux не містить підписаного VPN-розширення. Використовуйте випуск cmux із підтримкою Cloud VPN. Cloud-термінали, порти й робочий стіл доступні без VPN." } } } }, - "cloud.vpn.setup.steps.extension": { + "cloud.vpn.setup.waiting": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "1. Click Connect Cloud VPN. When macOS asks, allow the cmux network extension in System Settings." + "value": "Waiting" } }, "de": { "stringUnit": { "state": "translated", - "value": "1. Klicken Sie auf Cloud-VPN verbinden. Erlauben Sie auf Aufforderung von macOS die cmux-Netzwerkerweiterung in den Systemeinstellungen." + "value": "Warten" } }, "fr": { "stringUnit": { "state": "translated", - "value": "1. Cliquez sur Connecter le VPN Cloud. Lorsque macOS le demande, autorisez l’extension réseau cmux dans Réglages Système." + "value": "En attente" } }, "es": { "stringUnit": { "state": "translated", - "value": "1. Haz clic en Conectar VPN de Cloud. Cuando macOS lo solicite, permite la extensión de red de cmux en Ajustes del Sistema." + "value": "En espera" } }, "ja": { "stringUnit": { "state": "translated", - "value": "1. 「Cloud VPNに接続」をクリックします。macOSに求められたら、システム設定でcmuxのネットワーク機能拡張を許可します。" + "value": "待機中" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "1. 点击“连接 Cloud VPN”。macOS 提示时,在系统设置中允许 cmux 网络扩展。" + "value": "等待中" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "1. 按一下「連接 Cloud VPN」。macOS 提示時,請在系統設定中允許 cmux 網路延伸功能。" + "value": "等待中" } }, "ko": { "stringUnit": { "state": "translated", - "value": "1. Cloud VPN 연결을 클릭합니다. macOS에서 요청하면 시스템 설정에서 cmux 네트워크 확장을 허용합니다." + "value": "대기 중" } }, "ar": { "stringUnit": { "state": "translated", - "value": "1. انقر على توصيل VPN الخاص بـ Cloud. عندما يطلب macOS ذلك، اسمح بامتداد شبكة cmux في إعدادات النظام." + "value": "قيد الانتظار" } }, "bs": { "stringUnit": { "state": "translated", - "value": "1. Kliknite Poveži Cloud VPN. Kada macOS zatraži, dozvolite cmux mrežni dodatak u Postavkama sistema." + "value": "Čekanje" } }, "da": { "stringUnit": { "state": "translated", - "value": "1. Klik på Forbind Cloud VPN. Når macOS spørger, skal du tillade cmux-netværksudvidelsen i Systemindstillinger." + "value": "Venter" } }, "it": { "stringUnit": { "state": "translated", - "value": "1. Fai clic su Connetti VPN Cloud. Quando macOS lo richiede, consenti l’estensione di rete cmux nelle Impostazioni di Sistema." + "value": "In attesa" } }, "km": { "stringUnit": { "state": "translated", - "value": "1. ចុច ភ្ជាប់ Cloud VPN។ ពេល macOS ស្នើ សូមអនុញ្ញាតផ្នែកបន្ថែមបណ្តាញ cmux ក្នុងការកំណត់ប្រព័ន្ធ។" + "value": "កំពុងរង់ចាំ" } }, "nb": { "stringUnit": { "state": "translated", - "value": "1. Klikk Koble til Cloud VPN. Når macOS spør, tillat cmux-nettverksutvidelsen i Systeminnstillinger." + "value": "Venter" } }, "pl": { "stringUnit": { "state": "translated", - "value": "1. Kliknij Połącz z Cloud VPN. Gdy macOS poprosi, zezwól na rozszerzenie sieci cmux w Ustawieniach systemowych." + "value": "Oczekiwanie" } }, "pt-BR": { "stringUnit": { "state": "translated", - "value": "1. Clique em Conectar Cloud VPN. Quando o macOS pedir, permita a extensão de rede do cmux nos Ajustes do Sistema." + "value": "Aguardando" } }, "ru": { "stringUnit": { "state": "translated", - "value": "1. Нажмите Подключить Cloud VPN. Когда macOS попросит, разрешите сетевое расширение cmux в системных настройках." + "value": "Ожидание" } }, "th": { "stringUnit": { "state": "translated", - "value": "1. คลิก เชื่อมต่อ Cloud VPN เมื่อ macOS ขอ ให้อนุญาตส่วนขยายเครือข่าย cmux ในการตั้งค่าระบบ" + "value": "กำลังรอ" } }, "tr": { "stringUnit": { "state": "translated", - "value": "1. Cloud VPN’e bağlan’a tıklayın. macOS istediğinde Sistem Ayarları’nda cmux ağ uzantısına izin verin." + "value": "Bekliyor" } }, "uk": { "stringUnit": { "state": "translated", - "value": "1. Натисніть Підключити Cloud VPN. Коли macOS попросить, дозвольте мережеве розширення cmux у Системних параметрах." + "value": "Очікування" } } } }, - "cloud.vpn.setup.steps.settings": { + "cloudTree.ports.action.wake": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Open General > Login Items & Extensions > Network Extensions, then enable cmux." + "value": "Wake Machine" } }, "de": { "stringUnit": { "state": "translated", - "value": "Öffnen Sie Allgemein > Anmeldeobjekte & Erweiterungen > Netzwerkerweiterungen und aktivieren Sie cmux." + "value": "Maschine aktivieren" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Ouvrez Général > Ouverture et extensions > Extensions réseau, puis activez cmux." + "value": "Réveiller la machine" } }, - "es": { + "ar": { "stringUnit": { "state": "translated", - "value": "Abre General > Ítems de inicio y extensiones > Extensiones de red y activa cmux." + "value": "إيقاظ الجهاز" } }, - "ja": { + "es": { "stringUnit": { "state": "translated", - "value": "「一般」>「ログイン項目と機能拡張」>「ネットワーク機能拡張」を開き、cmuxを有効にします。" + "value": "Activar máquina" } }, - "zh-Hans": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "打开“通用”>“登录项与扩展”>“网络扩展”,然后启用 cmux。" + "value": "喚醒機器" } }, - "zh-Hant": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "打開「一般」>「登入項目與延伸功能」>「網路延伸功能」,然後啟用 cmux。" + "value": "唤醒机器" } }, "ko": { "stringUnit": { "state": "translated", - "value": "일반 > 로그인 항목 및 확장 프로그램 > 네트워크 확장을 열고 cmux를 활성화합니다." + "value": "머신 깨우기" } }, - "ar": { + "ja": { "stringUnit": { "state": "translated", - "value": "افتح عام > عناصر الدخول والامتدادات > امتدادات الشبكة، ثم فعّل cmux." + "value": "マシンを起動" } }, "bs": { "stringUnit": { "state": "translated", - "value": "Otvorite Opšte > Stavke za prijavu i dodaci > Mrežni dodaci, pa omogućite cmux." + "value": "Probudi mašinu" } }, "da": { "stringUnit": { "state": "translated", - "value": "Åbn Generelt > Loginemner og udvidelser > Netværksudvidelser, og aktivér cmux." + "value": "Væk maskine" } }, "it": { "stringUnit": { "state": "translated", - "value": "Apri Generali > Elementi login ed estensioni > Estensioni di rete, quindi abilita cmux." + "value": "Riattiva macchina" } }, "km": { "stringUnit": { "state": "translated", - "value": "បើក ទូទៅ > ធាតុចូល និងផ្នែកបន្ថែម > ផ្នែកបន្ថែមបណ្តាញ ហើយបើក cmux។" + "value": "ដាស់ម៉ាស៊ីន" } }, "nb": { "stringUnit": { "state": "translated", - "value": "Åpne Generelt > Påloggingselementer og utvidelser > Nettverksutvidelser, og aktiver cmux." + "value": "Vekk maskin" } }, "pl": { "stringUnit": { "state": "translated", - "value": "Otwórz Ogólne > Elementy logowania i rozszerzenia > Rozszerzenia sieciowe, a następnie włącz cmux." + "value": "Wybudź maszynę" } }, "pt-BR": { "stringUnit": { "state": "translated", - "value": "Abra Geral > Itens de Início e Extensões > Extensões de Rede e ative o cmux." + "value": "Despertar máquina" } }, "ru": { "stringUnit": { "state": "translated", - "value": "Откройте Основные > Объекты входа и расширения > Сетевые расширения и включите cmux." + "value": "Разбудить машину" } }, "th": { "stringUnit": { "state": "translated", - "value": "เปิด ทั่วไป > รายการเข้าสู่ระบบและส่วนขยาย > ส่วนขยายเครือข่าย แล้วเปิดใช้ cmux" + "value": "ปลุกเครื่อง" } }, "tr": { "stringUnit": { "state": "translated", - "value": "Genel > Giriş Öğeleri ve Uzantılar > Ağ Uzantıları’nı açın ve cmux’u etkinleştirin." + "value": "Makineyi uyandır" } }, "uk": { "stringUnit": { "state": "translated", - "value": "Відкрийте Загальні > Об’єкти входу та розширення > Мережеві розширення й увімкніть cmux." + "value": "Розбудити машину" } } } }, - "cloud.vpn.setup.steps.settingsLegacy": { + "cloudTree.ports.asleep.detail": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Open Privacy & Security and allow the cmux extension." + "value": "Wake the machine to check its services. cmux’s in-app forwarding does not need Cloud VPN." } }, "de": { "stringUnit": { "state": "translated", - "value": "Öffnen Sie Datenschutz & Sicherheit und erlauben Sie die cmux-Erweiterung." + "value": "Aktivieren Sie die Maschine, um ihre Dienste zu prüfen. Die Weiterleitung in cmux benötigt kein Cloud-VPN." } }, "fr": { "stringUnit": { "state": "translated", - "value": "Ouvrez Confidentialité et sécurité et autorisez l’extension cmux." + "value": "Réveillez la machine pour vérifier ses services. Le transfert intégré à cmux ne nécessite pas de VPN Cloud." } }, - "es": { + "ar": { "stringUnit": { "state": "translated", - "value": "Abre Privacidad y seguridad y permite la extensión de cmux." + "value": "أيقظ الجهاز لفحص خدماته. لا تحتاج إعادة التوجيه داخل cmux إلى Cloud VPN." } }, - "ja": { + "es": { "stringUnit": { "state": "translated", - "value": "「プライバシーとセキュリティ」を開き、cmuxの機能拡張を許可します。" + "value": "Activa la máquina para comprobar sus servicios. El reenvío integrado de cmux no necesita Cloud VPN." } }, - "zh-Hans": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "打开“隐私与安全性”,然后允许 cmux 扩展。" + "value": "喚醒機器以檢查其服務。cmux 的應用程式內轉送不需要 Cloud VPN。" } }, - "zh-Hant": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "打開「隱私權與安全性」,然後允許 cmux 延伸功能。" + "value": "唤醒机器以检查其服务。cmux 的应用内转发无需 Cloud VPN。" } }, "ko": { "stringUnit": { "state": "translated", - "value": "개인정보 보호 및 보안을 열고 cmux 확장을 허용합니다." + "value": "머신을 깨워 서비스를 확인하세요. cmux 앱 내 전달에는 Cloud VPN이 필요하지 않습니다." } }, - "ar": { + "ja": { "stringUnit": { "state": "translated", - "value": "افتح الخصوصية والأمان واسمح بامتداد cmux." + "value": "マシンを起動してサービスを確認してください。cmux のアプリ内転送に Cloud VPN は不要です。" } }, "bs": { "stringUnit": { "state": "translated", - "value": "Otvorite Privatnost i sigurnost i dozvolite cmux dodatak." + "value": "Probudite mašinu da provjerite njene servise. Prosljeđivanje unutar cmux-a ne treba Cloud VPN." } }, "da": { "stringUnit": { "state": "translated", - "value": "Åbn Anonymitet og sikkerhed, og tillad cmux-udvidelsen." + "value": "Væk maskinen for at kontrollere dens tjenester. Videresendelse i cmux kræver ikke Cloud VPN." } }, "it": { "stringUnit": { "state": "translated", - "value": "Apri Privacy e sicurezza e consenti l’estensione cmux." + "value": "Riattiva la macchina per controllarne i servizi. L’inoltro all’interno di cmux non richiede la VPN Cloud." } }, "km": { "stringUnit": { "state": "translated", - "value": "បើក ឯកជនភាព និងសុវត្ថិភាព ហើយអនុញ្ញាតផ្នែកបន្ថែម cmux។" + "value": "ដាស់ម៉ាស៊ីនដើម្បីពិនិត្យសេវាកម្មរបស់វា។ ការបញ្ជូនបន្តនៅក្នុង cmux មិនត្រូវការ Cloud VPN ទេ។" } }, "nb": { "stringUnit": { "state": "translated", - "value": "Åpne Personvern og sikkerhet og tillat cmux-utvidelsen." + "value": "Vekk maskinen for å sjekke tjenestene. Videresending i cmux trenger ikke Cloud VPN." } }, "pl": { "stringUnit": { "state": "translated", - "value": "Otwórz Prywatność i ochrona i zezwól na rozszerzenie cmux." + "value": "Wybudź maszynę, aby sprawdzić jej usługi. Przekierowywanie w cmux nie wymaga Cloud VPN." } }, "pt-BR": { "stringUnit": { "state": "translated", - "value": "Abra Privacidade e Segurança e permita a extensão do cmux." + "value": "Desperte a máquina para verificar os serviços. O encaminhamento dentro do cmux não precisa do Cloud VPN." } }, "ru": { "stringUnit": { "state": "translated", - "value": "Откройте Конфиденциальность и безопасность и разрешите расширение cmux." + "value": "Разбудите машину, чтобы проверить её службы. Перенаправлению внутри cmux Cloud VPN не нужен." } }, "th": { "stringUnit": { "state": "translated", - "value": "เปิด ความเป็นส่วนตัวและความปลอดภัย แล้วอนุญาตส่วนขยาย cmux" + "value": "ปลุกเครื่องเพื่อตรวจสอบบริการ การส่งต่อภายใน cmux ไม่ต้องใช้ Cloud VPN" } }, "tr": { "stringUnit": { "state": "translated", - "value": "Gizlilik ve Güvenlik’i açın ve cmux uzantısına izin verin." + "value": "Hizmetlerini denetlemek için makineyi uyandırın. cmux içi yönlendirme Cloud VPN gerektirmez." } }, "uk": { "stringUnit": { "state": "translated", - "value": "Відкрийте Конфіденційність і безпека та дозвольте розширення cmux." + "value": "Розбудіть машину, щоб перевірити її служби. Перенаправлення всередині cmux не потребує Cloud VPN." } } } }, - "cloud.vpn.setup.steps.configuration": { + "cloudTree.ports.available.title": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "2. Allow cmux to add a VPN configuration named cmux Cloud. This is a separate macOS permission." + "value": "Listening services" } }, "de": { "stringUnit": { "state": "translated", - "value": "2. Erlauben Sie cmux, eine VPN-Konfiguration namens cmux Cloud hinzuzufügen. Dies ist eine separate macOS-Berechtigung." + "value": "Lauschende Dienste" } }, "fr": { "stringUnit": { "state": "translated", - "value": "2. Autorisez cmux à ajouter une configuration VPN nommée cmux Cloud. Il s’agit d’une autorisation macOS distincte." + "value": "Services en écoute" } }, - "es": { + "ar": { "stringUnit": { "state": "translated", - "value": "2. Permite que cmux añada una configuración VPN llamada cmux Cloud. Este es un permiso independiente de macOS." + "value": "الخدمات المستمعة" } }, - "ja": { + "es": { "stringUnit": { "state": "translated", - "value": "2. cmux Cloudという名前のVPN構成の追加を許可します。これは別のmacOS権限です。" + "value": "Servicios en escucha" } }, - "zh-Hans": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "2. 允许 cmux 添加名为 cmux Cloud 的 VPN 配置。这是单独的 macOS 权限。" + "value": "監聽中的服務" } }, - "zh-Hant": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "2. 允許 cmux 加入名為 cmux Cloud 的 VPN 設定。這是另一項 macOS 權限。" + "value": "监听中的服务" } }, "ko": { "stringUnit": { "state": "translated", - "value": "2. cmux가 cmux Cloud라는 VPN 구성을 추가하도록 허용합니다. 이는 별도의 macOS 권한입니다." + "value": "수신 대기 서비스" } }, - "ar": { + "ja": { "stringUnit": { "state": "translated", - "value": "2. اسمح لـ cmux بإضافة إعداد VPN باسم cmux Cloud. هذا إذن منفصل في macOS." + "value": "待ち受け中のサービス" } }, "bs": { "stringUnit": { "state": "translated", - "value": "2. Dozvolite cmux-u da doda VPN konfiguraciju pod imenom cmux Cloud. Ovo je posebna macOS dozvola." + "value": "Servisi koji slušaju" } }, "da": { "stringUnit": { "state": "translated", - "value": "2. Tillad cmux at tilføje en VPN-konfiguration med navnet cmux Cloud. Dette er en separat macOS-tilladelse." + "value": "Lyttende tjenester" } }, "it": { "stringUnit": { "state": "translated", - "value": "2. Consenti a cmux di aggiungere una configurazione VPN chiamata cmux Cloud. È un’autorizzazione macOS separata." + "value": "Servizi in ascolto" } }, "km": { "stringUnit": { "state": "translated", - "value": "2. អនុញ្ញាតឱ្យ cmux បន្ថែមការកំណត់ VPN ឈ្មោះ cmux Cloud។ នេះជាសិទ្ធិ macOS ផ្សេងមួយ។" + "value": "សេវាកម្មដែលកំពុងស្តាប់" } }, "nb": { "stringUnit": { "state": "translated", - "value": "2. Tillat cmux å legge til en VPN-konfigurasjon kalt cmux Cloud. Dette er en separat macOS-tillatelse." + "value": "Lyttende tjenester" } }, "pl": { "stringUnit": { "state": "translated", - "value": "2. Zezwól cmux dodać konfigurację VPN o nazwie cmux Cloud. To osobne uprawnienie macOS." + "value": "Nasłuchujące usługi" } }, "pt-BR": { "stringUnit": { "state": "translated", - "value": "2. Permita que o cmux adicione uma configuração VPN chamada cmux Cloud. Esta é uma permissão separada do macOS." + "value": "Serviços em escuta" } }, "ru": { "stringUnit": { "state": "translated", - "value": "2. Разрешите cmux добавить VPN-конфигурацию с именем cmux Cloud. Это отдельное разрешение macOS." + "value": "Прослушивающие службы" } }, "th": { "stringUnit": { "state": "translated", - "value": "2. อนุญาตให้ cmux เพิ่มการกำหนดค่า VPN ชื่อ cmux Cloud นี่เป็นสิทธิ์ macOS แยกต่างหาก" + "value": "บริการที่กำลังรับฟัง" } }, "tr": { "stringUnit": { "state": "translated", - "value": "2. cmux’un cmux Cloud adlı bir VPN yapılandırması eklemesine izin verin. Bu ayrı bir macOS iznidir." + "value": "Dinleyen hizmetler" } }, "uk": { "stringUnit": { "state": "translated", - "value": "2. Дозвольте cmux додати конфігурацію VPN з назвою cmux Cloud. Це окремий дозвіл macOS." + "value": "Служби, що прослуховують" } } } }, - "cloud.vpn.setup.steps.return": { + "cloudTree.ports.binding.detail": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "3. Return to this pane. The connection continues automatically after approval. Disconnect here when finished. Quitting cmux or signing out also disconnects it." + "value": "cmux’s browser route connects to 127.0.0.1 on the machine. Bind the service to 127.0.0.1 or 0.0.0.0, then refresh. Turning on Cloud VPN does not change this route." } }, "de": { "stringUnit": { "state": "translated", - "value": "3. Kehren Sie zu diesem Bereich zurück. Die Verbindung wird nach der Genehmigung automatisch fortgesetzt. Trennen Sie sie hier, wenn Sie fertig sind. Das Beenden von cmux oder Abmelden trennt sie ebenfalls." + "value": "Die Browser-Verbindung von cmux verwendet 127.0.0.1 auf der Maschine. Binden Sie den Dienst an 127.0.0.1 oder 0.0.0.0 und aktualisieren Sie. Cloud-VPN ändert diese Route nicht." } }, "fr": { "stringUnit": { "state": "translated", - "value": "3. Revenez à ce volet. La connexion reprend automatiquement après autorisation. Déconnectez-la ici lorsque vous avez terminé. Quitter cmux ou fermer la session la déconnecte aussi." + "value": "Le navigateur cmux se connecte à 127.0.0.1 sur la machine. Liez le service à 127.0.0.1 ou 0.0.0.0, puis actualisez. Activer le VPN Cloud ne change pas cette route." } }, - "es": { + "ar": { "stringUnit": { "state": "translated", - "value": "3. Vuelve a este panel. La conexión continúa automáticamente tras la autorización. Desconéctala aquí cuando termines. Salir de cmux o cerrar sesión también la desconecta." + "value": "يتصل مسار متصفح cmux بالعنوان 127.0.0.1 على الجهاز. اربط الخدمة بالعنوان 127.0.0.1 أو 0.0.0.0 ثم حدّث. تشغيل Cloud VPN لا يغير هذا المسار." } }, - "ja": { + "es": { "stringUnit": { "state": "translated", - "value": "3. このペインに戻ります。承認後、接続は自動的に続行されます。使い終わったらここで切断してください。cmuxの終了やサインアウトでも切断されます。" + "value": "La ruta del navegador de cmux conecta a 127.0.0.1 en la máquina. Enlaza el servicio a 127.0.0.1 o 0.0.0.0 y actualiza. Activar Cloud VPN no cambia esta ruta." } }, - "zh-Hans": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "3. 返回此面板。批准后连接会自动继续。完成后可在此断开连接。退出 cmux 或退出登录也会断开连接。" + "value": "cmux 的瀏覽器路徑會連線到機器上的 127.0.0.1。請將服務繫結至 127.0.0.1 或 0.0.0.0 後重新整理。開啟 Cloud VPN 不會改變此路徑。" } }, - "zh-Hant": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "3. 返回此面板。核准後連線會自動繼續。完成後可在此中斷連線。結束 cmux 或登出也會中斷連線。" + "value": "cmux 的浏览器路由连接到机器上的 127.0.0.1。请将服务绑定到 127.0.0.1 或 0.0.0.0 后刷新。开启 Cloud VPN 不会改变此路由。" } }, "ko": { "stringUnit": { "state": "translated", - "value": "3. 이 패널로 돌아옵니다. 승인 후 연결이 자동으로 계속됩니다. 사용을 마치면 여기에서 연결을 해제하세요. cmux를 종료하거나 로그아웃해도 연결이 해제됩니다." + "value": "cmux 브라우저 경로는 머신의 127.0.0.1에 연결합니다. 서비스를 127.0.0.1 또는 0.0.0.0에 바인딩한 후 새로 고치세요. Cloud VPN을 켜도 이 경로는 바뀌지 않습니다." } }, - "ar": { + "ja": { "stringUnit": { "state": "translated", - "value": "3. ارجع إلى هذه اللوحة. يستمر الاتصال تلقائيًا بعد الموافقة. اقطع الاتصال هنا عند الانتهاء. يؤدي إنهاء cmux أو تسجيل الخروج أيضًا إلى قطع الاتصال." + "value": "cmux のブラウザはマシン上の 127.0.0.1 に接続します。サービスを 127.0.0.1 または 0.0.0.0 にバインドして更新してください。Cloud VPN を有効にしてもこの経路は変わりません。" } }, "bs": { "stringUnit": { "state": "translated", - "value": "3. Vratite se na ovaj panel. Veza se nastavlja automatski nakon odobrenja. Ovdje prekinite vezu kada završite. Izlazak iz cmux-a ili odjava takođe prekida vezu." + "value": "Ruta preglednika u cmux-u povezuje se na 127.0.0.1 na mašini. Vežite servis na 127.0.0.1 ili 0.0.0.0, zatim osvježite. Uključivanje Cloud VPN-a ne mijenja ovu rutu." } }, "da": { "stringUnit": { "state": "translated", - "value": "3. Gå tilbage til dette panel. Forbindelsen fortsætter automatisk efter godkendelsen. Afbryd her, når du er færdig. Hvis du afslutter cmux eller logger ud, afbrydes forbindelsen også." + "value": "cmux’ browserrute forbinder til 127.0.0.1 på maskinen. Bind tjenesten til 127.0.0.1 eller 0.0.0.0, og opdater derefter. Aktivering af Cloud VPN ændrer ikke denne rute." } }, "it": { "stringUnit": { "state": "translated", - "value": "3. Torna a questo pannello. La connessione continua automaticamente dopo l’autorizzazione. Disconnettila qui quando hai finito. Anche uscire da cmux o effettuare il logout la disconnette." + "value": "Il percorso del browser di cmux si connette a 127.0.0.1 sulla macchina. Associa il servizio a 127.0.0.1 o 0.0.0.0, quindi aggiorna. L’attivazione della VPN Cloud non modifica questo percorso." } }, "km": { "stringUnit": { "state": "translated", - "value": "3. ត្រឡប់ទៅផ្ទាំងនេះ។ ការភ្ជាប់នឹងបន្តដោយស្វ័យប្រវត្តិបន្ទាប់ពីអនុម័ត។ ផ្តាច់នៅទីនេះពេលបញ្ចប់។ ការបិទ cmux ឬចាកចេញក៏ផ្តាច់ការភ្ជាប់ដែរ។" + "value": "ផ្លូវកម្មវិធីរុករករបស់ cmux ភ្ជាប់ទៅ 127.0.0.1 នៅលើម៉ាស៊ីន។ ចងសេវាកម្មទៅ 127.0.0.1 ឬ 0.0.0.0 រួចផ្ទុកឡើងវិញ។ ការបើក Cloud VPN មិនផ្លាស់ប្តូរផ្លូវនេះទេ។" } }, "nb": { "stringUnit": { "state": "translated", - "value": "3. Gå tilbake til dette panelet. Forbindelsen fortsetter automatisk etter godkjenning. Koble fra her når du er ferdig. Avslutning av cmux eller utlogging kobler også fra." + "value": "cmux sin nettleserrute kobler til 127.0.0.1 på maskinen. Bind tjenesten til 127.0.0.1 eller 0.0.0.0, og oppdater deretter. Å slå på Cloud VPN endrer ikke denne ruten." } }, "pl": { "stringUnit": { "state": "translated", - "value": "3. Wróć do tego panelu. Połączenie będzie kontynuowane automatycznie po zatwierdzeniu. Po zakończeniu rozłącz je tutaj. Zamknięcie cmux lub wylogowanie również rozłączy połączenie." + "value": "Trasa przeglądarki cmux łączy się z 127.0.0.1 na maszynie. Powiąż usługę z 127.0.0.1 lub 0.0.0.0, a następnie odśwież. Włączenie Cloud VPN nie zmienia tej trasy." } }, "pt-BR": { "stringUnit": { "state": "translated", - "value": "3. Volte a este painel. A conexão continuará automaticamente após a aprovação. Desconecte aqui quando terminar. Sair do cmux ou encerrar a sessão também desconecta." + "value": "A rota de navegador do cmux se conecta a 127.0.0.1 na máquina. Vincule o serviço a 127.0.0.1 ou 0.0.0.0 e atualize. Ativar o Cloud VPN não altera essa rota." } }, "ru": { "stringUnit": { "state": "translated", - "value": "3. Вернитесь в эту панель. После подтверждения соединение продолжится автоматически. Завершив работу, отключите его здесь. Выход из cmux или системы также отключает соединение." + "value": "Браузерный маршрут cmux подключается к 127.0.0.1 на машине. Привяжите службу к 127.0.0.1 или 0.0.0.0, затем обновите. Включение Cloud VPN не меняет этот маршрут." } }, "th": { "stringUnit": { "state": "translated", - "value": "3. กลับมาที่แผงนี้ การเชื่อมต่อจะดำเนินต่อโดยอัตโนมัติหลังการอนุมัติ ตัดการเชื่อมต่อที่นี่เมื่อเสร็จแล้ว การออกจาก cmux หรือออกจากระบบจะตัดการเชื่อมต่อด้วย" + "value": "เส้นทางเบราว์เซอร์ของ cmux เชื่อมต่อกับ 127.0.0.1 บนเครื่อง ผูกบริการกับ 127.0.0.1 หรือ 0.0.0.0 แล้วรีเฟรช การเปิด Cloud VPN ไม่ได้เปลี่ยนเส้นทางนี้" } }, "tr": { "stringUnit": { "state": "translated", - "value": "3. Bu panele dönün. Onaydan sonra bağlantı otomatik olarak devam eder. Bitirdiğinizde buradan bağlantıyı kesin. cmux’tan çıkmak veya oturumu kapatmak da bağlantıyı keser." + "value": "cmux’un tarayıcı yolu makinedeki 127.0.0.1 adresine bağlanır. Hizmeti 127.0.0.1 veya 0.0.0.0 adresine bağlayın, ardından yenileyin. Cloud VPN’i açmak bu yolu değiştirmez." } }, "uk": { "stringUnit": { "state": "translated", - "value": "3. Поверніться до цієї панелі. Після схвалення з’єднання продовжиться автоматично. Завершивши роботу, від’єднайте його тут. Вихід із cmux або системи також від’єднає з’єднання." + "value": "Браузерний маршрут cmux підключається до 127.0.0.1 на машині. Прив’яжіть службу до 127.0.0.1 або 0.0.0.0, потім оновіть. Увімкнення Cloud VPN не змінює цей маршрут." } } } }, - "cloud.vpn.setup.address.title": { + "cloudTree.ports.binding.title": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Private addresses" + "value": "Services use another interface" } }, "de": { "stringUnit": { "state": "translated", - "value": "Private Adressen" + "value": "Dienste verwenden eine andere Schnittstelle" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Adresses privées" + "value": "Les services utilisent une autre interface" } }, - "es": { + "ar": { "stringUnit": { "state": "translated", - "value": "Direcciones privadas" + "value": "تستخدم الخدمات واجهة أخرى" } }, - "ja": { + "es": { "stringUnit": { "state": "translated", - "value": "プライベートアドレス" + "value": "Los servicios usan otra interfaz" } }, - "zh-Hans": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "私有地址" + "value": "服務使用其他介面" } }, - "zh-Hant": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "私有位址" + "value": "服务使用其他接口" } }, "ko": { "stringUnit": { "state": "translated", - "value": "비공개 주소" + "value": "서비스가 다른 인터페이스를 사용함" } }, - "ar": { + "ja": { "stringUnit": { "state": "translated", - "value": "العناوين الخاصة" + "value": "サービスが別のインターフェイスを使用しています" } }, "bs": { "stringUnit": { "state": "translated", - "value": "Privatne adrese" + "value": "Servisi koriste drugi interfejs" } }, "da": { "stringUnit": { "state": "translated", - "value": "Private adresser" + "value": "Tjenester bruger en anden grænseflade" } }, "it": { "stringUnit": { "state": "translated", - "value": "Indirizzi privati" + "value": "I servizi usano un’altra interfaccia" } }, "km": { "stringUnit": { "state": "translated", - "value": "អាសយដ្ឋានឯកជន" + "value": "សេវាកម្មប្រើចំណុចប្រទាក់ផ្សេង" } }, "nb": { "stringUnit": { "state": "translated", - "value": "Private adresser" + "value": "Tjenester bruker et annet grensesnitt" } }, "pl": { "stringUnit": { "state": "translated", - "value": "Prywatne adresy" + "value": "Usługi używają innego interfejsu" } }, "pt-BR": { "stringUnit": { "state": "translated", - "value": "Endereços privados" + "value": "Os serviços usam outra interface" } }, "ru": { "stringUnit": { "state": "translated", - "value": "Частные адреса" + "value": "Службы используют другой интерфейс" } }, "th": { "stringUnit": { "state": "translated", - "value": "ที่อยู่ส่วนตัว" + "value": "บริการใช้อินเทอร์เฟซอื่น" } }, "tr": { "stringUnit": { "state": "translated", - "value": "Özel adresler" + "value": "Hizmetler başka bir arabirim kullanıyor" } }, "uk": { "stringUnit": { "state": "translated", - "value": "Приватні адреси" + "value": "Служби використовують інший інтерфейс" } } } }, - "cloud.vpn.setup.openSettings": { + "cloudTree.ports.empty.noService": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Open System Settings" + "value": "Start a web server on this machine, then refresh." } }, "de": { "stringUnit": { "state": "translated", - "value": "Systemeinstellungen öffnen" + "value": "Starte einen Webserver auf diesem Rechner und aktualisiere dann die Liste." } }, "fr": { "stringUnit": { "state": "translated", - "value": "Ouvrir Réglages Système" + "value": "Démarrez un serveur web sur cette machine, puis actualisez." } }, - "es": { + "ar": { "stringUnit": { "state": "translated", - "value": "Abrir Ajustes del Sistema" + "value": "شغّل خادم ويب على هذا الجهاز، ثم حدّث القائمة." } }, - "ja": { + "es": { "stringUnit": { "state": "translated", - "value": "システム設定を開く" + "value": "Inicia un servidor web en esta máquina y luego actualiza." } }, - "zh-Hans": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "打开系统设置" + "value": "在這台機器上啟動網頁伺服器,然後重新整理。" } }, - "zh-Hant": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "打開系統設定" + "value": "在此机器上启动网页服务器,然后刷新。" } }, "ko": { "stringUnit": { "state": "translated", - "value": "시스템 설정 열기" + "value": "이 머신에서 웹 서버를 시작한 다음 새로 고치세요." } }, - "ar": { + "ja": { "stringUnit": { "state": "translated", - "value": "فتح إعدادات النظام" + "value": "このマシンで Web サーバーを起動してから、更新してください。" } }, "bs": { "stringUnit": { - "state": "translated", - "value": "Otvori Postavke sistema" + "state": "needs_review", + "value": "Pokrenite web server na ovoj mašini, zatim osvježite." } }, "da": { "stringUnit": { - "state": "translated", - "value": "Åbn Systemindstillinger" + "state": "needs_review", + "value": "Start en webserver på denne maskine, og opdater derefter." } }, "it": { "stringUnit": { - "state": "translated", - "value": "Apri Impostazioni di Sistema" + "state": "needs_review", + "value": "Avvia un server web su questa macchina, poi aggiorna." } }, "km": { "stringUnit": { - "state": "translated", - "value": "បើកការកំណត់ប្រព័ន្ធ" + "state": "needs_review", + "value": "ចាប់ផ្តើមម៉ាស៊ីនមេបណ្តាញនៅលើម៉ាស៊ីននេះ រួចផ្ទុកឡើងវិញ។" } }, "nb": { "stringUnit": { - "state": "translated", - "value": "Åpne Systeminnstillinger" + "state": "needs_review", + "value": "Start en webserver på denne maskinen, og oppdater deretter." } }, "pl": { "stringUnit": { - "state": "translated", - "value": "Otwórz Ustawienia systemowe" + "state": "needs_review", + "value": "Uruchom serwer WWW na tej maszynie, a następnie odśwież." } }, "pt-BR": { "stringUnit": { - "state": "translated", - "value": "Abrir Ajustes do Sistema" + "state": "needs_review", + "value": "Inicie um servidor web nesta máquina e atualize." } }, "ru": { "stringUnit": { - "state": "translated", - "value": "Открыть системные настройки" + "state": "needs_review", + "value": "Запустите веб-сервер на этой машине, затем обновите список." } }, "th": { "stringUnit": { - "state": "translated", - "value": "เปิดการตั้งค่าระบบ" + "state": "needs_review", + "value": "เริ่มเว็บเซิร์ฟเวอร์บนเครื่องนี้ แล้วรีเฟรช" } }, "tr": { "stringUnit": { - "state": "translated", - "value": "Sistem Ayarlarını aç" + "state": "needs_review", + "value": "Bu makinede bir web sunucusu başlatın, ardından yenileyin." } }, "uk": { "stringUnit": { - "state": "translated", - "value": "Відкрити Системні параметри" + "state": "needs_review", + "value": "Запустіть вебсервер на цій машині, а потім оновіть список." } } } }, - "settings.app.accentColor.custom": { + "cloudTree.ports.hub.detail": { + "extractionState": "manual", "localizations": { - "ar": { + "en": { "stringUnit": { "state": "translated", - "value": "مخصص" + "value": "This build cannot start cmux’s authenticated Cloud forward. Update cmux, then retry." } }, - "bs": { + "de": { "stringUnit": { "state": "translated", - "value": "Prilagođeno" + "value": "Dieser Build kann die authentifizierte Cloud-Weiterleitung von cmux nicht starten. Aktualisieren Sie cmux und versuchen Sie es erneut." } }, - "da": { + "fr": { "stringUnit": { "state": "translated", - "value": "Tilpasset" + "value": "Cette version ne peut pas démarrer le transfert Cloud authentifié de cmux. Mettez cmux à jour, puis réessayez." } }, - "de": { + "ar": { "stringUnit": { "state": "translated", - "value": "Benutzerdefiniert" + "value": "لا يمكن لهذا الإصدار بدء إعادة توجيه Cloud الموثّقة من cmux. حدّث cmux ثم أعد المحاولة." } }, - "en": { + "es": { "stringUnit": { "state": "translated", - "value": "Custom" + "value": "Esta compilación no puede iniciar el reenvío autenticado de Cloud de cmux. Actualiza cmux y vuelve a intentarlo." } }, - "es": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "Personalizado" + "value": "此版本無法啟動 cmux 的已驗證 Cloud 轉送。請更新 cmux 後重試。" } }, - "fr": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "Personnalisée" + "value": "此版本无法启动 cmux 的已验证 Cloud 转发。请更新 cmux 后重试。" } }, - "it": { + "ko": { "stringUnit": { "state": "translated", - "value": "Personalizzato" + "value": "이 빌드에서는 cmux 인증 Cloud 전달을 시작할 수 없습니다. cmux를 업데이트한 후 다시 시도하세요." } }, "ja": { "stringUnit": { "state": "translated", - "value": "カスタム" + "value": "このビルドでは cmux の認証済み Cloud 転送を開始できません。cmux を更新して再試行してください。" } }, - "ko": { + "bs": { "stringUnit": { "state": "translated", - "value": "사용자 지정" + "value": "Ova verzija ne može pokrenuti autentificirano Cloud prosljeđivanje cmux-a. Ažurirajte cmux, zatim pokušajte ponovo." } }, - "nb": { + "da": { "stringUnit": { "state": "translated", - "value": "Egendefinert" + "value": "Denne build kan ikke starte cmux’ godkendte Cloud-videresendelse. Opdater cmux, og prøv igen." } }, - "pl": { + "it": { "stringUnit": { "state": "translated", - "value": "Niestandardowy" + "value": "Questa build non può avviare l’inoltro Cloud autenticato di cmux. Aggiorna cmux, quindi riprova." } }, - "pt-BR": { + "km": { "stringUnit": { "state": "translated", - "value": "Personalizado" + "value": "កំណែនេះមិនអាចចាប់ផ្តើមការបញ្ជូនបន្ត Cloud ដែលបានផ្ទៀងផ្ទាត់របស់ cmux បានទេ។ ធ្វើបច្ចុប្បន្នភាព cmux រួចព្យាយាមម្តងទៀត។" } }, - "ru": { + "nb": { "stringUnit": { "state": "translated", - "value": "Пользовательский" + "value": "Denne versjonen kan ikke starte cmux sin autentiserte Cloud-videresending. Oppdater cmux, og prøv igjen." } }, - "th": { + "pl": { "stringUnit": { "state": "translated", - "value": "กำหนดเอง" + "value": "Ta kompilacja nie może uruchomić uwierzytelnionego przekierowania Cloud w cmux. Zaktualizuj cmux i spróbuj ponownie." } }, - "tr": { + "pt-BR": { "stringUnit": { "state": "translated", - "value": "Özel" + "value": "Esta versão não consegue iniciar o encaminhamento Cloud autenticado do cmux. Atualize o cmux e tente novamente." } }, - "uk": { + "ru": { "stringUnit": { "state": "translated", - "value": "Власний" + "value": "Эта сборка не может запустить аутентифицированное перенаправление Cloud в cmux. Обновите cmux и повторите попытку." } }, - "zh-Hans": { + "th": { "stringUnit": { "state": "translated", - "value": "自定义" + "value": "บิลด์นี้ไม่สามารถเริ่มการส่งต่อ Cloud ที่ยืนยันตัวตนแล้วของ cmux ได้ อัปเดต cmux แล้วลองอีกครั้ง" } }, - "zh-Hant": { + "tr": { "stringUnit": { "state": "translated", - "value": "自訂" + "value": "Bu derleme cmux’un kimliği doğrulanmış Cloud yönlendirmesini başlatamıyor. cmux’u güncelleyin, ardından yeniden deneyin." + } + }, + "uk": { + "stringUnit": { + "state": "translated", + "value": "Ця збірка не може запустити автентифіковане перенаправлення Cloud у cmux. Оновіть cmux і повторіть спробу." } } } }, - "socket.sidebar.closeSurface.confirmationRequired": { + "cloudTree.ports.link.detail": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Surface has a running process; retry with --force" + "value": "Port discovery could not connect to this machine. Existing cmux ports may still work. Refresh to reconnect; Cloud VPN is not required." } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "تحتوي السطح على عملية قيد التشغيل؛ أعد المحاولة باستخدام --force" + "value": "Die Porterkennung konnte diese Maschine nicht erreichen. Bereits geöffnete cmux-Ports funktionieren möglicherweise weiter. Aktualisieren Sie zum erneuten Verbinden; Cloud-VPN ist nicht erforderlich." } }, - "de": { + "fr": { "stringUnit": { "state": "translated", - "value": "Die Oberfläche hat einen laufenden Prozess; erneut mit --force versuchen" + "value": "La découverte des ports n’a pas pu se connecter à cette machine. Les ports cmux existants peuvent encore fonctionner. Actualisez pour reconnecter ; le VPN Cloud n’est pas nécessaire." + } + }, + "ar": { + "stringUnit": { + "state": "translated", + "value": "تعذر اتصال اكتشاف المنافذ بهذا الجهاز. قد تظل منافذ cmux الحالية تعمل. حدّث لإعادة الاتصال؛ Cloud VPN غير مطلوب." } }, "es": { "stringUnit": { "state": "translated", - "value": "La superficie tiene un proceso en ejecución; vuelve a intentarlo con --force" + "value": "El descubrimiento de puertos no pudo conectar con esta máquina. Los puertos de cmux existentes pueden seguir funcionando. Actualiza para reconectar; Cloud VPN no es necesario." } }, - "fr": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "La surface a un processus en cours d’exécution ; réessayez avec --force" + "value": "連接埠探索無法連線到此機器。現有 cmux 連接埠可能仍可使用。請重新整理以重新連線;不需要 Cloud VPN。" } }, - "ja": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "サーフェスでプロセスが実行中です。--force を指定して再試行してください" + "value": "端口发现无法连接到此机器。现有 cmux 端口可能仍可使用。请刷新以重新连接;无需 Cloud VPN。" } }, "ko": { "stringUnit": { "state": "translated", - "value": "표면에서 실행 중인 프로세스가 있습니다. --force로 다시 시도하세요" + "value": "포트 검색이 이 머신에 연결하지 못했습니다. 기존 cmux 포트는 계속 작동할 수 있습니다. 새로 고쳐 다시 연결하세요. Cloud VPN은 필요하지 않습니다." } }, - "zh-Hans": { + "ja": { "stringUnit": { "state": "translated", - "value": "此表面有正在运行的进程;请使用 --force 重试" + "value": "ポート検出がこのマシンに接続できませんでした。既存の cmux ポートは引き続き動作する可能性があります。更新して再接続してください。Cloud VPN は不要です。" } }, - "zh-Hant": { + "bs": { "stringUnit": { "state": "translated", - "value": "此表面有正在執行的程序;請使用 --force 重試" + "value": "Otkrivanje portova nije se moglo povezati s ovom mašinom. Postojeći cmux portovi možda i dalje rade. Osvježite za ponovno povezivanje; Cloud VPN nije potreban." } - } - } - }, - "socket.sidebar.closeSurface.failed": { - "extractionState": "manual", - "localizations": { - "en": { + }, + "da": { "stringUnit": { "state": "translated", - "value": "Failed to close surface" + "value": "Portregistrering kunne ikke oprette forbindelse til denne maskine. Eksisterende cmux-porte virker muligvis stadig. Opdater for at genoprette forbindelsen; Cloud VPN er ikke påkrævet." } }, - "ar": { + "it": { "stringUnit": { "state": "translated", - "value": "تعذر إغلاق السطح" + "value": "Il rilevamento delle porte non è riuscito a connettersi a questa macchina. Le porte cmux esistenti potrebbero funzionare ancora. Aggiorna per riconnetterti; la VPN Cloud non è necessaria." } }, - "de": { + "km": { "stringUnit": { "state": "translated", - "value": "Die Oberfläche konnte nicht geschlossen werden" + "value": "ការស្វែងរកច្រកមិនអាចភ្ជាប់ទៅម៉ាស៊ីននេះបានទេ។ ច្រក cmux ដែលមានស្រាប់អាចនៅតែដំណើរការ។ ផ្ទុកឡើងវិញដើម្បីភ្ជាប់ម្តងទៀត; មិនត្រូវការ Cloud VPN ទេ។" } }, - "es": { + "nb": { "stringUnit": { "state": "translated", - "value": "No se pudo cerrar la superficie" + "value": "Portoppdagelse kunne ikke koble til denne maskinen. Eksisterende cmux-porter kan fortsatt fungere. Oppdater for å koble til på nytt; Cloud VPN er ikke nødvendig." } }, - "fr": { + "pl": { "stringUnit": { "state": "translated", - "value": "Échec de la fermeture de la surface" + "value": "Wykrywanie portów nie mogło połączyć się z tą maszyną. Istniejące porty cmux mogą nadal działać. Odśwież, aby połączyć ponownie; Cloud VPN nie jest wymagany." } }, - "ja": { + "pt-BR": { "stringUnit": { "state": "translated", - "value": "サーフェスを閉じられませんでした" + "value": "A descoberta de portas não conseguiu se conectar a esta máquina. As portas existentes do cmux ainda podem funcionar. Atualize para reconectar; o Cloud VPN não é necessário." } }, - "ko": { + "ru": { "stringUnit": { "state": "translated", - "value": "표면을 닫지 못했습니다" + "value": "Обнаружению портов не удалось подключиться к этой машине. Существующие порты cmux могут по-прежнему работать. Обновите, чтобы переподключиться; Cloud VPN не требуется." } }, - "zh-Hans": { + "th": { "stringUnit": { "state": "translated", - "value": "无法关闭此表面" + "value": "การค้นหาพอร์ตไม่สามารถเชื่อมต่อกับเครื่องนี้ได้ พอร์ต cmux ที่มีอยู่อาจยังใช้งานได้ รีเฟรชเพื่อเชื่อมต่อใหม่ ไม่จำเป็นต้องใช้ Cloud VPN" } }, - "zh-Hant": { + "tr": { "stringUnit": { "state": "translated", - "value": "無法關閉表面" + "value": "Port keşfi bu makineye bağlanamadı. Mevcut cmux portları hâlâ çalışıyor olabilir. Yeniden bağlanmak için yenileyin; Cloud VPN gerekmez." + } + }, + "uk": { + "stringUnit": { + "state": "translated", + "value": "Виявленню портів не вдалося підключитися до цієї машини. Наявні порти cmux можуть і далі працювати. Оновіть, щоб підключитися знову; Cloud VPN не потрібен." } } } }, - "socket.surface.close.confirmationRequired": { + "cloudTree.ports.link.title": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Surface has a running process; retry with force=true" + "value": "Cloud link unavailable" } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "تحتوي السطح على عملية قيد التشغيل؛ أعد المحاولة باستخدام force=true" + "value": "Cloud-Verbindung nicht verfügbar" } }, - "de": { + "fr": { "stringUnit": { "state": "translated", - "value": "Die Oberfläche hat einen laufenden Prozess; erneut mit force=true versuchen" + "value": "Connexion Cloud indisponible" + } + }, + "ar": { + "stringUnit": { + "state": "translated", + "value": "اتصال Cloud غير متاح" } }, "es": { "stringUnit": { "state": "translated", - "value": "La superficie tiene un proceso en ejecución; vuelve a intentarlo con force=true" + "value": "Conexión de Cloud no disponible" } }, - "fr": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "La surface a un processus en cours d’exécution ; réessayez avec force=true" + "value": "Cloud 連線無法使用" } }, - "ja": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "サーフェスでプロセスが実行中です。force=true を指定して再試行してください" + "value": "Cloud 连接不可用" } }, "ko": { "stringUnit": { "state": "translated", - "value": "표면에서 실행 중인 프로세스가 있습니다. force=true로 다시 시도하세요" + "value": "Cloud 연결을 사용할 수 없음" } }, - "zh-Hans": { + "ja": { "stringUnit": { "state": "translated", - "value": "此表面有正在运行的进程;请使用 force=true 重试" + "value": "Cloud 接続を利用できません" } }, - "zh-Hant": { + "bs": { "stringUnit": { "state": "translated", - "value": "此表面有正在執行的程序;請使用 force=true 重試" + "value": "Cloud veza nije dostupna" } - } - } - }, - "socket.surface.close.failed": { - "extractionState": "manual", - "localizations": { - "en": { + }, + "da": { "stringUnit": { "state": "translated", - "value": "Failed to close surface" + "value": "Cloud-forbindelse utilgængelig" } }, - "ar": { + "it": { "stringUnit": { "state": "translated", - "value": "تعذر إغلاق السطح" + "value": "Collegamento Cloud non disponibile" } }, - "de": { + "km": { "stringUnit": { "state": "translated", - "value": "Die Oberfläche konnte nicht geschlossen werden" + "value": "តំណ Cloud មិនអាចប្រើបាន" } }, - "es": { + "nb": { "stringUnit": { "state": "translated", - "value": "No se pudo cerrar la superficie" + "value": "Cloud-tilkobling utilgjengelig" } }, - "fr": { + "pl": { "stringUnit": { "state": "translated", - "value": "Échec de la fermeture de la surface" + "value": "Połączenie Cloud niedostępne" } }, - "ja": { + "pt-BR": { "stringUnit": { "state": "translated", - "value": "サーフェスを閉じられませんでした" + "value": "Conexão Cloud indisponível" } }, - "ko": { + "ru": { "stringUnit": { "state": "translated", - "value": "표면을 닫지 못했습니다" + "value": "Связь с Cloud недоступна" } }, - "zh-Hans": { + "th": { "stringUnit": { "state": "translated", - "value": "无法关闭此表面" + "value": "ลิงก์ Cloud ไม่พร้อมใช้งาน" } }, - "zh-Hant": { + "tr": { "stringUnit": { "state": "translated", - "value": "無法關閉表面" + "value": "Cloud bağlantısı kullanılamıyor" + } + }, + "uk": { + "stringUnit": { + "state": "translated", + "value": "Зв’язок із Cloud недоступний" } } } }, - "socket.tabAction.close.confirmationRequired": { + "cloudTree.ports.loading.detail": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "One or more surfaces have a running process; retry with force=true" + "value": "Checking services through cmux’s authenticated Cloud link. No system VPN is needed." } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "سطح واحد أو أكثر يحتوي على عملية قيد التشغيل؛ أعد المحاولة باستخدام force=true" + "value": "Dienste werden über die authentifizierte Cloud-Verbindung von cmux geprüft. Ein System-VPN ist nicht erforderlich." } }, - "de": { + "fr": { "stringUnit": { "state": "translated", - "value": "Mindestens eine Oberfläche hat einen laufenden Prozess; erneut mit force=true versuchen" + "value": "Vérification des services via la connexion Cloud authentifiée de cmux. Aucun VPN système n’est nécessaire." + } + }, + "ar": { + "stringUnit": { + "state": "translated", + "value": "جارٍ فحص الخدمات عبر اتصال Cloud الموثّق من cmux. لا حاجة إلى VPN النظام." } }, "es": { "stringUnit": { "state": "translated", - "value": "Una o más superficies tienen un proceso en ejecución; vuelve a intentarlo con force=true" + "value": "Comprobando servicios mediante la conexión autenticada de Cloud de cmux. No se necesita una VPN del sistema." } }, - "fr": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "Une ou plusieurs surfaces ont un processus en cours d’exécution ; réessayez avec force=true" + "value": "正在透過 cmux 的已驗證 Cloud 連線檢查服務。不需要系統 VPN。" } }, - "ja": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "1 つ以上のサーフェスでプロセスが実行中です。force=true を指定して再試行してください" + "value": "正在通过 cmux 的已验证 Cloud 连接检查服务。无需系统 VPN。" } }, "ko": { "stringUnit": { "state": "translated", - "value": "하나 이상의 표면에서 프로세스가 실행 중입니다. force=true로 다시 시도하세요" + "value": "cmux의 인증된 Cloud 연결로 서비스를 확인하고 있습니다. 시스템 VPN은 필요하지 않습니다." } }, - "zh-Hans": { + "ja": { "stringUnit": { "state": "translated", - "value": "一个或多个表面有正在运行的进程;请使用 force=true 重试" + "value": "cmux の認証済み Cloud 接続でサービスを確認しています。システム VPN は不要です。" } }, - "zh-Hant": { + "bs": { "stringUnit": { "state": "translated", - "value": "一個或多個表面有正在執行的程序;請使用 force=true 重試" + "value": "Provjera servisa putem autentificirane Cloud veze cmux-a. Sistemski VPN nije potreban." } - } - } - }, - "cli.socket.error.workspaceCloseConfirmationRequired": { - "extractionState": "manual", - "localizations": { - "en": { + }, + "da": { "stringUnit": { "state": "translated", - "value": "Workspace has a running process; retry with --force" + "value": "Kontrollerer tjenester via cmux’ godkendte Cloud-forbindelse. Der kræves ingen system-VPN." } }, - "ar": { + "it": { "stringUnit": { "state": "translated", - "value": "تحتوي مساحة العمل على عملية قيد التشغيل؛ أعد المحاولة باستخدام --force" + "value": "Controllo dei servizi tramite il collegamento Cloud autenticato di cmux. Non serve una VPN di sistema." } }, - "de": { + "km": { "stringUnit": { "state": "translated", - "value": "Arbeitsbereich mit laufendem Prozess; erneut mit --force versuchen" + "value": "កំពុងពិនិត្យសេវាកម្មតាមរយៈតំណ Cloud ដែលបានផ្ទៀងផ្ទាត់របស់ cmux។ មិនត្រូវការ VPN របស់ប្រព័ន្ធទេ។" } }, - "es": { + "nb": { "stringUnit": { "state": "translated", - "value": "El espacio de trabajo tiene un proceso en ejecución; vuelve a intentarlo con --force" + "value": "Sjekker tjenester via cmux sin autentiserte Cloud-tilkobling. Ingen system-VPN er nødvendig." } }, - "fr": { + "pl": { "stringUnit": { "state": "translated", - "value": "L’espace de travail a un processus en cours d’exécution ; réessayez avec --force" + "value": "Sprawdzanie usług przez uwierzytelnione połączenie Cloud w cmux. Systemowa sieć VPN nie jest potrzebna." } }, - "ja": { + "pt-BR": { "stringUnit": { "state": "translated", - "value": "ワークスペースでプロセスが実行中です。--force を指定して再試行してください" + "value": "Verificando serviços pela conexão Cloud autenticada do cmux. Nenhuma VPN do sistema é necessária." } }, - "ko": { + "ru": { "stringUnit": { "state": "translated", - "value": "워크스페이스에서 프로세스가 실행 중입니다. --force로 다시 시도하세요" + "value": "Проверка служб через аутентифицированную связь cmux с Cloud. Системный VPN не нужен." } }, - "zh-Hans": { + "th": { "stringUnit": { "state": "translated", - "value": "此工作区有正在运行的进程;请使用 --force 重试" + "value": "กำลังตรวจสอบบริการผ่านลิงก์ Cloud ที่ยืนยันตัวตนแล้วของ cmux ไม่ต้องใช้ VPN ของระบบ" } }, - "zh-Hant": { + "tr": { "stringUnit": { "state": "translated", - "value": "此工作區有正在執行的程序;請使用 --force 重試" + "value": "Hizmetler cmux’un kimliği doğrulanmış Cloud bağlantısı üzerinden denetleniyor. Sistem VPN’i gerekmez." + } + }, + "uk": { + "stringUnit": { + "state": "translated", + "value": "Перевірка служб через автентифікований зв’язок cmux із Cloud. Системний VPN не потрібен." } } } }, - "cli.socket.error.windowCloseConfirmationRequired": { + "cloudTree.ports.loopback.detail": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "One or more workspaces or Dock surfaces have a running process; retry with --force" + "value": "These services open in cmux without Cloud VPN. They listen on the machine’s loopback address, so other apps cannot reach them through its private IP, even with VPN connected." } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "تحتوي مساحة عمل واحدة أو أكثر أو أسطح Dock على عملية قيد التشغيل؛ أعد المحاولة باستخدام --force" + "value": "Diese Dienste lassen sich in cmux ohne Cloud-VPN öffnen. Sie lauschen auf der Loopback-Adresse der Maschine. Andere Apps erreichen sie daher auch mit VPN nicht über deren private IP." } }, - "de": { + "fr": { "stringUnit": { "state": "translated", - "value": "Mindestens ein Workspace oder eine Dock-Oberfläche hat einen laufenden Prozess; erneut mit --force versuchen" + "value": "Ces services s’ouvrent dans cmux sans VPN Cloud. Ils écoutent sur l’adresse locale de la machine : les autres apps ne peuvent pas y accéder via son IP privée, même avec le VPN." + } + }, + "ar": { + "stringUnit": { + "state": "translated", + "value": "تُفتح هذه الخدمات داخل cmux دون Cloud VPN. وهي تستمع على عنوان الواجهة المحلية للجهاز، لذا لا تستطيع التطبيقات الأخرى الوصول إليها عبر عنوان IP الخاص به حتى مع اتصال VPN." } }, "es": { "stringUnit": { "state": "translated", - "value": "Uno o más espacios de trabajo o superficies del Dock tienen un proceso en ejecución; vuelve a intentarlo con --force" + "value": "Estos servicios se abren en cmux sin Cloud VPN. Escuchan en la dirección de bucle local de la máquina, por lo que otras apps no pueden acceder por su IP privada, incluso con la VPN conectada." } }, - "fr": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "Un ou plusieurs espaces de travail ou surfaces du Dock ont un processus en cours d’exécution ; réessayez avec --force" + "value": "這些服務可在 cmux 中開啟,不需要 Cloud VPN。它們在機器的迴路位址上監聽,因此即使已連線 VPN,其他 App 也無法透過其私人 IP 存取。" } }, - "ja": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "1 つ以上のワークスペースまたは Dock サーフェスでプロセスが実行中です。--force を指定して再試行してください" + "value": "这些服务可在 cmux 中打开,无需 Cloud VPN。它们监听机器的回环地址,因此即使已连接 VPN,其他应用也无法通过其专用 IP 访问。" } }, "ko": { "stringUnit": { "state": "translated", - "value": "하나 이상의 워크스페이스 또는 Dock 표면에서 실행 중인 프로세스가 있습니다. --force로 다시 시도하세요" + "value": "이 서비스는 Cloud VPN 없이 cmux에서 열립니다. 머신의 루프백 주소에서 수신 대기하므로 VPN에 연결해도 다른 앱은 비공개 IP로 접근할 수 없습니다." } }, - "zh-Hans": { + "ja": { "stringUnit": { "state": "translated", - "value": "一个或多个工作区或 Dock 表面有正在运行的进程;请使用 --force 重试" + "value": "これらのサービスは Cloud VPN なしで cmux から開けます。マシンのループバックアドレスで待ち受けるため、VPN 接続中でも他のアプリからプライベート IP 経由ではアクセスできません。" } }, - "zh-Hant": { + "bs": { "stringUnit": { "state": "translated", - "value": "一個或多個工作區或 Dock 表面有正在執行的程序;請使用 --force 重試" + "value": "Ovi servisi se otvaraju u cmux-u bez Cloud VPN-a. Slušaju na loopback adresi mašine, pa ih druge aplikacije ne mogu dosegnuti preko njene privatne IP adrese, čak ni uz povezan VPN." + } + }, + "da": { + "stringUnit": { + "state": "translated", + "value": "Disse tjenester åbnes i cmux uden Cloud VPN. De lytter på maskinens loopback-adresse, så andre apps kan ikke nå dem via dens private IP, heller ikke med VPN forbundet." + } + }, + "it": { + "stringUnit": { + "state": "translated", + "value": "Questi servizi si aprono in cmux senza VPN Cloud. Sono in ascolto sull’indirizzo di loopback della macchina, quindi le altre app non possono raggiungerli tramite il suo IP privato, nemmeno con la VPN connessa." + } + }, + "km": { + "stringUnit": { + "state": "translated", + "value": "សេវាកម្មទាំងនេះបើកនៅក្នុង cmux ដោយមិនត្រូវការ Cloud VPN។ ពួកវាស្តាប់នៅលើអាសយដ្ឋាន loopback របស់ម៉ាស៊ីន ដូច្នេះកម្មវិធីផ្សេងទៀតមិនអាចចូលដល់ពួកវាតាមរយៈ IP ឯកជនរបស់វាបានទេ ទោះបីភ្ជាប់ VPN ក៏ដោយ។" + } + }, + "nb": { + "stringUnit": { + "state": "translated", + "value": "Disse tjenestene åpnes i cmux uten Cloud VPN. De lytter på maskinens loopback-adresse, så andre apper kan ikke nå dem via den private IP-adressen, selv med VPN tilkoblet." + } + }, + "pl": { + "stringUnit": { + "state": "translated", + "value": "Te usługi otwierają się w cmux bez Cloud VPN. Nasłuchują na adresie pętli zwrotnej maszyny, więc inne aplikacje nie mogą do nich dotrzeć przez jej prywatny adres IP, nawet przy połączonym VPN." + } + }, + "pt-BR": { + "stringUnit": { + "state": "translated", + "value": "Esses serviços abrem no cmux sem o Cloud VPN. Eles escutam no endereço de loopback da máquina, então outros apps não conseguem alcançá-los pelo IP privado dela, mesmo com a VPN conectada." + } + }, + "ru": { + "stringUnit": { + "state": "translated", + "value": "Эти службы открываются в cmux без Cloud VPN. Они прослушивают loopback-адрес машины, поэтому другие приложения не могут обратиться к ним через её частный IP даже при подключённом VPN." + } + }, + "th": { + "stringUnit": { + "state": "translated", + "value": "บริการเหล่านี้เปิดใน cmux ได้โดยไม่ต้องใช้ Cloud VPN บริการรับฟังบนที่อยู่ loopback ของเครื่อง แอปอื่นจึงเข้าถึงผ่าน IP ส่วนตัวของเครื่องไม่ได้ แม้จะเชื่อมต่อ VPN แล้วก็ตาม" + } + }, + "tr": { + "stringUnit": { + "state": "translated", + "value": "Bu hizmetler cmux’ta Cloud VPN olmadan açılır. Makinenin geri döngü adresinde dinledikleri için diğer uygulamalar, VPN bağlıyken bile makinenin özel IP’si üzerinden onlara ulaşamaz." + } + }, + "uk": { + "stringUnit": { + "state": "translated", + "value": "Ці служби відкриваються в cmux без Cloud VPN. Вони прослуховують loopback-адресу машини, тому інші застосунки не можуть дістатися до них через її приватну IP-адресу, навіть із підключеним VPN." } } } }, - "devices.incoming.confirm.enable": { + "cloudTree.ports.loopback.title": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Make Discoverable" + "value": "Loopback services available" } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "جعل الجهاز قابلاً للاكتشاف" + "value": "Loopback-Dienste verfügbar" } }, - "de": { + "fr": { "stringUnit": { "state": "translated", - "value": "Auffindbar machen" + "value": "Services locaux disponibles" } }, - "es": { + "ar": { "stringUnit": { "state": "translated", - "value": "Hacer detectable" + "value": "خدمات الواجهة المحلية متاحة" } }, - "fr": { + "es": { "stringUnit": { "state": "translated", - "value": "Rendre détectable" + "value": "Servicios de bucle local disponibles" } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "検出可能にする" + "value": "可使用迴路服務" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "검색 허용" + "value": "回环服务可用" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "允许发现" + "value": "루프백 서비스 사용 가능" } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "允許探索" + "value": "ループバックのサービスを利用できます" } }, "bs": { "stringUnit": { "state": "translated", - "value": "Učini dostupnim" + "value": "Dostupni loopback servisi" } }, "da": { "stringUnit": { "state": "translated", - "value": "Gør synlig" + "value": "Loopback-tjenester tilgængelige" } }, "it": { "stringUnit": { "state": "translated", - "value": "Rendi individuabile" + "value": "Servizi di loopback disponibili" } }, "km": { "stringUnit": { "state": "translated", - "value": "ធ្វើឲ្យអាចរកឃើញ" + "value": "មានសេវាកម្ម loopback" } }, "nb": { "stringUnit": { "state": "translated", - "value": "Gjør denne Mac-en synlig" + "value": "Loopback-tjenester tilgjengelige" } }, "pl": { "stringUnit": { "state": "translated", - "value": "Włącz wykrywanie" + "value": "Dostępne usługi pętli zwrotnej" } }, "pt-BR": { "stringUnit": { "state": "translated", - "value": "Tornar detectável" + "value": "Serviços de loopback disponíveis" } }, "ru": { "stringUnit": { "state": "translated", - "value": "Сделать доступным для обнаружения" + "value": "Доступны loopback-службы" } }, "th": { "stringUnit": { "state": "translated", - "value": "ทำให้ Mac เครื่องนี้ค้นพบได้" + "value": "มีบริการ loopback พร้อมใช้งาน" } }, "tr": { "stringUnit": { "state": "translated", - "value": "Keşfedilebilir yap" + "value": "Geri döngü hizmetleri kullanılabilir" } }, "uk": { "stringUnit": { "state": "translated", - "value": "Зробити цей Mac видимим" + "value": "Доступні loopback-служби" } } } }, - "devices.incoming.confirm.message": { + "cloudTree.ports.notRequested.title": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Other Macs signed in to your cmux account may discover this Mac and connect to its workspaces. Do you want to continue?" + "value": "Ports not checked yet" } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "قد تكتشف أجهزة Mac الأخرى التي سجّلت الدخول إلى حساب cmux هذا الـ Mac وتتصل بمساحات العمل فيه. هل تريد المتابعة؟" + "value": "Ports noch nicht geprüft" } }, - "de": { + "fr": { "stringUnit": { "state": "translated", - "value": "Andere Macs, die bei deinem cmux-Konto angemeldet sind, können diesen Mac finden und sich mit seinen Arbeitsbereichen verbinden. Möchtest du fortfahren?" + "value": "Ports pas encore vérifiés" } }, - "es": { + "ar": { "stringUnit": { "state": "translated", - "value": "Otros Mac que hayan iniciado sesión en tu cuenta de cmux podrán descubrir este Mac y conectarse a sus espacios de trabajo. ¿Quieres continuar?" + "value": "لم يتم فحص المنافذ بعد" } }, - "fr": { + "es": { "stringUnit": { "state": "translated", - "value": "Les autres Mac connectés à votre compte cmux pourront détecter ce Mac et se connecter à ses espaces de travail. Voulez-vous continuer ?" + "value": "Puertos aún sin comprobar" } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "cmuxアカウントにサインインしているほかのMacから、このMacが検出され、ワークスペースに接続されることがあります。続けますか?" + "value": "尚未檢查連接埠" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "cmux 계정에 로그인한 다른 Mac에서 이 Mac을 검색하고 작업 공간에 연결할 수 있습니다. 계속하시겠습니까?" + "value": "尚未检查端口" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "登录你 cmux 帐户的其他 Mac 可能会发现此 Mac 并连接到其工作区。要继续吗?" + "value": "아직 포트를 확인하지 않음" } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "登入您 cmux 帳戶的其他 Mac 可能會探索此 Mac 並連線至其工作區。要繼續嗎?" + "value": "ポートは未確認です" } }, "bs": { "stringUnit": { "state": "translated", - "value": "Drugi Mac računari prijavljeni na vaš cmux nalog možda će otkriti ovaj Mac i povezati se s njegovim radnim prostorima. Želite li nastaviti?" + "value": "Portovi još nisu provjereni" } }, "da": { "stringUnit": { "state": "translated", - "value": "Andre Mac-computere, der er logget ind på din cmux-konto, kan muligvis finde denne Mac og oprette forbindelse til dens arbejdsområder. Vil du fortsætte?" + "value": "Porte er ikke kontrolleret endnu" } }, "it": { "stringUnit": { "state": "translated", - "value": "Gli altri Mac che hanno effettuato l’accesso al tuo account cmux potrebbero rilevare questo Mac e connettersi ai suoi spazi di lavoro. Vuoi continuare?" + "value": "Porte non ancora controllate" } }, "km": { "stringUnit": { "state": "translated", - "value": "Mac ផ្សេងទៀតដែលបានចូលគណនី cmux របស់អ្នក អាចរកឃើញ Mac នេះ និងភ្ជាប់ទៅកាន់ workspace របស់វា។ តើអ្នកចង់បន្តឬទេ?" + "value": "មិនទាន់បានពិនិត្យច្រកនៅឡើយ" } }, "nb": { "stringUnit": { "state": "translated", - "value": "Andre Mac-maskiner som er logget på cmux-kontoen din, kan finne denne Mac-en og koble til arbeidsområdene. Vil du fortsette?" + "value": "Porter er ikke sjekket ennå" } }, "pl": { "stringUnit": { "state": "translated", - "value": "Inne Maki zalogowane na Twoje konto cmux mogą wykryć tego Maca i połączyć się z jego obszarami roboczymi. Czy chcesz kontynuować?" + "value": "Porty nie zostały jeszcze sprawdzone" } }, "pt-BR": { "stringUnit": { "state": "translated", - "value": "Outros Macs conectados à sua conta cmux poderão descobrir este Mac e se conectar aos seus espaços de trabalho. Deseja continuar?" + "value": "Portas ainda não verificadas" } }, "ru": { "stringUnit": { "state": "translated", - "value": "Другие Mac, вошедшие в вашу учётную запись cmux, могут обнаружить этот Mac и подключиться к его рабочим пространствам. Продолжить?" + "value": "Порты ещё не проверены" } }, "th": { "stringUnit": { "state": "translated", - "value": "Mac เครื่องอื่นที่ลงชื่อเข้าใช้บัญชี cmux ของคุณอาจค้นพบ Mac เครื่องนี้และเชื่อมต่อกับพื้นที่ทำงานของเครื่องนี้ คุณต้องการดำเนินการต่อหรือไม่" + "value": "ยังไม่ได้ตรวจสอบพอร์ต" } }, "tr": { "stringUnit": { "state": "translated", - "value": "cmux hesabınızda oturum açmış diğer Mac’ler bu Mac’i keşfedebilir ve çalışma alanlarına bağlanabilir. Devam etmek istiyor musunuz?" + "value": "Portlar henüz denetlenmedi" } }, "uk": { "stringUnit": { "state": "translated", - "value": "Інші Mac, на яких виконано вхід у ваш обліковий запис cmux, можуть виявити цей Mac і підключитися до його робочих просторів. Продовжити?" + "value": "Порти ще не перевірено" } } } }, - "devices.incoming.confirm.title": { + "cloudTree.ports.privateAddress": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Make this Mac discoverable?" + "value": "Private address unavailable" } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "هل تريد جعل جهاز Mac هذا قابلاً للاكتشاف؟" + "value": "Private Adresse nicht verfügbar" } }, - "de": { + "fr": { "stringUnit": { "state": "translated", - "value": "Diesen Mac auffindbar machen?" + "value": "Adresse privée indisponible" } }, - "es": { + "ar": { "stringUnit": { "state": "translated", - "value": "¿Hacer que este Mac sea detectable?" + "value": "العنوان الخاص غير متاح" } }, - "fr": { + "es": { "stringUnit": { "state": "translated", - "value": "Rendre ce Mac détectable ?" + "value": "Dirección privada no disponible" } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "このMacを検出可能にしますか?" + "value": "私人位址無法使用" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "이 Mac을 검색 가능하게 할까요?" + "value": "专用地址不可用" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "允许发现此 Mac 吗?" + "value": "비공개 주소를 사용할 수 없음" } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "要允許探索此 Mac 嗎?" + "value": "プライベートアドレスを利用できません" } }, "bs": { "stringUnit": { "state": "translated", - "value": "Učiniti ovaj Mac dostupnim?" + "value": "Privatna adresa nije dostupna" } }, "da": { "stringUnit": { "state": "translated", - "value": "Gør denne Mac synlig?" + "value": "Privat adresse utilgængelig" } }, "it": { "stringUnit": { "state": "translated", - "value": "Rendere individuabile questo Mac?" + "value": "Indirizzo privato non disponibile" } }, "km": { "stringUnit": { "state": "translated", - "value": "ធ្វើឲ្យ Mac នេះអាចរកឃើញ?" + "value": "អាសយដ្ឋានឯកជនមិនអាចប្រើបាន" } }, "nb": { "stringUnit": { "state": "translated", - "value": "Gjøre denne Mac-en synlig?" + "value": "Privat adresse utilgjengelig" } }, "pl": { "stringUnit": { "state": "translated", - "value": "Uwidocznić tego Maca?" + "value": "Adres prywatny niedostępny" } }, "pt-BR": { "stringUnit": { "state": "translated", - "value": "Tornar este Mac detectável?" + "value": "Endereço privado indisponível" } }, "ru": { "stringUnit": { "state": "translated", - "value": "Сделать этот Mac доступным для обнаружения?" + "value": "Частный адрес недоступен" } }, "th": { "stringUnit": { "state": "translated", - "value": "ทำให้ Mac เครื่องนี้ค้นพบได้หรือไม่" + "value": "ไม่มีที่อยู่ส่วนตัว" } }, "tr": { "stringUnit": { "state": "translated", - "value": "Bu Mac keşfedilebilir yapılsın mı?" + "value": "Özel adres kullanılamıyor" } }, "uk": { "stringUnit": { "state": "translated", - "value": "Зробити цей Mac доступним для виявлення?" + "value": "Приватна адреса недоступна" } } } }, - "cloudTree.device.status.connecting": { + "cloudTree.ports.privateAddress.detail": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Connecting…" + "value": "cmux’s authenticated route needs this machine’s private address. Refresh to retrieve it. Turning on Cloud VPN does not assign a missing address." } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "جارٍ الاتصال…" + "value": "Die authentifizierte Route von cmux benötigt die private Adresse dieser Maschine. Aktualisieren Sie, um sie abzurufen. Cloud-VPN weist keine fehlende Adresse zu." } }, - "de": { + "fr": { "stringUnit": { "state": "translated", - "value": "Wird verbunden…" + "value": "La route authentifiée de cmux nécessite l’adresse privée de cette machine. Actualisez pour la récupérer. Activer le VPN Cloud n’attribue pas d’adresse manquante." + } + }, + "ar": { + "stringUnit": { + "state": "translated", + "value": "يحتاج مسار cmux الموثّق إلى العنوان الخاص لهذا الجهاز. حدّث لاسترجاعه. تشغيل Cloud VPN لا يعيّن عنوانًا مفقودًا." } }, "es": { "stringUnit": { "state": "translated", - "value": "Conectando…" + "value": "La ruta autenticada de cmux necesita la dirección privada de esta máquina. Actualiza para obtenerla. Activar Cloud VPN no asigna una dirección que falta." } }, - "fr": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "Connexion…" + "value": "cmux 的已驗證路徑需要此機器的私人位址。請重新整理以取得位址。開啟 Cloud VPN 不會指派缺少的位址。" } }, - "ja": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "接続中…" + "value": "cmux 的已验证路由需要此机器的专用地址。请刷新以获取地址。开启 Cloud VPN 不会分配缺失的地址。" } }, "ko": { "stringUnit": { "state": "translated", - "value": "연결 중…" + "value": "cmux의 인증된 경로에는 이 머신의 비공개 주소가 필요합니다. 새로 고쳐 주소를 가져오세요. Cloud VPN을 켜도 누락된 주소가 할당되지는 않습니다." } }, - "zh-Hans": { + "ja": { "stringUnit": { "state": "translated", - "value": "正在连接…" + "value": "cmux の認証済み経路にはこのマシンのプライベートアドレスが必要です。更新して取得してください。Cloud VPN を有効にしても不足しているアドレスは割り当てられません。" } }, - "zh-Hant": { + "bs": { "stringUnit": { "state": "translated", - "value": "正在連線…" + "value": "Autentificirana ruta cmux-a treba privatnu adresu ove mašine. Osvježite da je preuzmete. Uključivanje Cloud VPN-a ne dodjeljuje adresu koja nedostaje." } - } - } - }, - "cloud.teamPicker.createSheet.create": { - "extractionState": "manual", - "localizations": { - "en": { + }, + "da": { "stringUnit": { "state": "translated", - "value": "Create" + "value": "cmux’ godkendte rute kræver denne maskines private adresse. Opdater for at hente den. Aktivering af Cloud VPN tildeler ikke en manglende adresse." } }, - "ar": { + "it": { "stringUnit": { "state": "translated", - "value": "إنشاء" + "value": "Il percorso autenticato di cmux richiede l’indirizzo privato di questa macchina. Aggiorna per recuperarlo. L’attivazione della VPN Cloud non assegna un indirizzo mancante." } }, - "de": { + "km": { "stringUnit": { "state": "translated", - "value": "Erstellen" + "value": "ផ្លូវដែលបានផ្ទៀងផ្ទាត់របស់ cmux ត្រូវការអាសយដ្ឋានឯកជនរបស់ម៉ាស៊ីននេះ។ ផ្ទុកឡើងវិញដើម្បីទាញយកវា។ ការបើក Cloud VPN មិនផ្តល់អាសយដ្ឋានដែលបាត់ទេ។" } }, - "es": { + "nb": { "stringUnit": { "state": "translated", - "value": "Crear" + "value": "cmux sin autentiserte rute trenger denne maskinens private adresse. Oppdater for å hente den. Å slå på Cloud VPN tildeler ikke en manglende adresse." } }, - "fr": { + "pl": { "stringUnit": { "state": "translated", - "value": "Créer" + "value": "Uwierzytelniona trasa cmux wymaga prywatnego adresu tej maszyny. Odśwież, aby go pobrać. Włączenie Cloud VPN nie przypisuje brakującego adresu." } }, - "ja": { + "pt-BR": { "stringUnit": { "state": "translated", - "value": "作成" + "value": "A rota autenticada do cmux precisa do endereço privado desta máquina. Atualize para obtê-lo. Ativar o Cloud VPN não atribui um endereço ausente." } }, - "ko": { + "ru": { "stringUnit": { "state": "translated", - "value": "만들기" + "value": "Аутентифицированному маршруту cmux нужен частный адрес этой машины. Обновите, чтобы получить его. Включение Cloud VPN не назначает отсутствующий адрес." } }, - "zh-Hans": { + "th": { "stringUnit": { "state": "translated", - "value": "创建" + "value": "เส้นทางที่ยืนยันตัวตนแล้วของ cmux ต้องใช้ที่อยู่ส่วนตัวของเครื่องนี้ รีเฟรชเพื่อดึงข้อมูล การเปิด Cloud VPN ไม่ได้กำหนดที่อยู่ที่ขาดหายไป" } }, - "zh-Hant": { + "tr": { "stringUnit": { "state": "translated", - "value": "建立" + "value": "cmux’un kimliği doğrulanmış yolu bu makinenin özel adresine ihtiyaç duyar. Adresi almak için yenileyin. Cloud VPN’i açmak eksik bir adres atamaz." + } + }, + "uk": { + "stringUnit": { + "state": "translated", + "value": "Автентифікованому маршруту cmux потрібна приватна адреса цієї машини. Оновіть, щоб отримати її. Увімкнення Cloud VPN не призначає відсутню адресу." } } } }, - "cloud.teamPicker.createSheet.title": { + "cloudTree.ports.routeNote": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Create Team" + "value": "cmux forwards ports without Cloud VPN. Web browsers and other Mac apps need Cloud VPN to reach services bound to the machine’s private address." } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "إنشاء فريق" + "value": "cmux leitet Ports ohne Cloud-VPN weiter. Webbrowser und andere Mac-Apps benötigen Cloud-VPN, um Dienste an der privaten Adresse der Maschine zu erreichen." } }, - "de": { + "fr": { "stringUnit": { "state": "translated", - "value": "Team erstellen" + "value": "cmux transfère les ports sans VPN Cloud. Les navigateurs web et les autres apps Mac ont besoin du VPN Cloud pour atteindre les services liés à l’adresse privée de la machine." + } + }, + "ar": { + "stringUnit": { + "state": "translated", + "value": "يعيد cmux توجيه المنافذ دون Cloud VPN. تحتاج متصفحات الويب وتطبيقات Mac الأخرى إلى Cloud VPN للوصول إلى الخدمات المرتبطة بالعنوان الخاص للجهاز." } }, "es": { "stringUnit": { "state": "translated", - "value": "Crear equipo" + "value": "cmux reenvía puertos sin Cloud VPN. Los navegadores web y otras apps de Mac necesitan Cloud VPN para acceder a servicios enlazados a la dirección privada de la máquina." } }, - "fr": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "Créer une équipe" + "value": "cmux 可轉送連接埠,不需要 Cloud VPN。網頁瀏覽器和其他 Mac App 需要 Cloud VPN,才能存取繫結至機器私人位址的服務。" } }, - "ja": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "チームを作成" + "value": "cmux 可转发端口,无需 Cloud VPN。网页浏览器和其他 Mac 应用需要 Cloud VPN,才能访问绑定到机器专用地址的服务。" } }, "ko": { "stringUnit": { "state": "translated", - "value": "팀 만들기" + "value": "cmux는 Cloud VPN 없이 포트를 전달합니다. 웹 브라우저 및 다른 Mac 앱이 머신의 비공개 주소에 바인딩된 서비스에 접근하려면 Cloud VPN이 필요합니다." } }, - "zh-Hans": { + "ja": { "stringUnit": { "state": "translated", - "value": "创建团队" + "value": "cmux は Cloud VPN なしでポートを転送します。Web ブラウザやその他の Mac アプリからマシンのプライベートアドレスにバインドされたサービスにアクセスするには Cloud VPN が必要です。" } }, - "zh-Hant": { + "bs": { "stringUnit": { "state": "translated", - "value": "建立團隊" + "value": "cmux prosljeđuje portove bez Cloud VPN-a. Web preglednicima i drugim Mac aplikacijama potreban je Cloud VPN za pristup servisima vezanim za privatnu adresu mašine." } - } - } - }, - "cloud.teamPicker.createTeam": { - "extractionState": "manual", - "localizations": { - "en": { + }, + "da": { "stringUnit": { "state": "translated", - "value": "Create Team…" + "value": "cmux videresender porte uden Cloud VPN. Webbrowsere og andre Mac-apps skal bruge Cloud VPN for at nå tjenester, der er bundet til maskinens private adresse." } }, - "ar": { + "it": { "stringUnit": { "state": "translated", - "value": "إنشاء فريق…" + "value": "cmux inoltra le porte senza VPN Cloud. I browser web e le altre app per Mac hanno bisogno della VPN Cloud per raggiungere i servizi associati all’indirizzo privato della macchina." } }, - "de": { + "km": { "stringUnit": { "state": "translated", - "value": "Team erstellen…" + "value": "cmux បញ្ជូនបន្តច្រកដោយមិនត្រូវការ Cloud VPN។ កម្មវិធីរុករកបណ្តាញ និងកម្មវិធី Mac ផ្សេងទៀតត្រូវការ Cloud VPN ដើម្បីចូលដល់សេវាកម្មដែលចងទៅអាសយដ្ឋានឯកជនរបស់ម៉ាស៊ីន។" } }, - "es": { + "nb": { "stringUnit": { "state": "translated", - "value": "Crear equipo…" + "value": "cmux videresender porter uten Cloud VPN. Nettlesere og andre Mac-apper trenger Cloud VPN for å nå tjenester som er bundet til maskinens private adresse." } }, - "fr": { + "pl": { "stringUnit": { "state": "translated", - "value": "Créer une équipe…" + "value": "cmux przekierowuje porty bez Cloud VPN. Przeglądarki internetowe i inne aplikacje na Maca potrzebują Cloud VPN, aby dotrzeć do usług powiązanych z prywatnym adresem maszyny." } }, - "ja": { + "pt-BR": { "stringUnit": { "state": "translated", - "value": "チームを作成…" + "value": "O cmux encaminha portas sem o Cloud VPN. Navegadores e outros apps do Mac precisam do Cloud VPN para acessar serviços vinculados ao endereço privado da máquina." } }, - "ko": { + "ru": { "stringUnit": { "state": "translated", - "value": "팀 만들기…" + "value": "cmux перенаправляет порты без Cloud VPN. Веб-браузерам и другим приложениям Mac нужен Cloud VPN, чтобы обращаться к службам, привязанным к частному адресу машины." } }, - "zh-Hans": { + "th": { "stringUnit": { "state": "translated", - "value": "创建团队…" + "value": "cmux ส่งต่อพอร์ตได้โดยไม่ต้องใช้ Cloud VPN เว็บเบราว์เซอร์และแอป Mac อื่นๆ ต้องใช้ Cloud VPN เพื่อเข้าถึงบริการที่ผูกกับที่อยู่ส่วนตัวของเครื่อง" } }, - "zh-Hant": { + "tr": { "stringUnit": { "state": "translated", - "value": "建立團隊…" + "value": "cmux, portları Cloud VPN olmadan yönlendirir. Web tarayıcıları ve diğer Mac uygulamaları, makinenin özel adresine bağlı hizmetlere ulaşmak için Cloud VPN’e ihtiyaç duyar." + } + }, + "uk": { + "stringUnit": { + "state": "translated", + "value": "cmux перенаправляє порти без Cloud VPN. Веббраузерам та іншим застосункам Mac потрібен Cloud VPN, щоб звертатися до служб, прив’язаних до приватної адреси машини." } } } }, - "cloud.teamPicker.switching": { + "cloudTree.ports.setupVPN": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Switching teams…" + "value": "Set Up VPN…" } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "جارٍ تبديل الفريق…" + "value": "VPN einrichten…" } }, - "de": { + "fr": { "stringUnit": { "state": "translated", - "value": "Team wird gewechselt…" + "value": "Configurer le VPN…" + } + }, + "ar": { + "stringUnit": { + "state": "translated", + "value": "إعداد VPN…" } }, "es": { "stringUnit": { "state": "translated", - "value": "Cambiando de equipo…" + "value": "Configurar VPN…" } }, - "fr": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "Changement d’équipe…" + "value": "設定 VPN…" } }, - "ja": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "チームを切り替え中…" + "value": "设置 VPN…" } }, "ko": { "stringUnit": { "state": "translated", - "value": "팀 전환 중…" + "value": "VPN 설정…" } }, - "zh-Hans": { + "ja": { "stringUnit": { "state": "translated", - "value": "正在切换团队…" + "value": "VPN を設定…" } }, - "zh-Hant": { + "bs": { "stringUnit": { "state": "translated", - "value": "正在切換團隊…" + "value": "Postavi VPN…" } - } - } - }, - "cloud.teamPicker.creating": { - "extractionState": "manual", - "localizations": { - "en": { + }, + "da": { "stringUnit": { "state": "translated", - "value": "Creating team…" + "value": "Konfigurer VPN…" } }, - "ar": { + "it": { "stringUnit": { "state": "translated", - "value": "جارٍ إنشاء الفريق…" + "value": "Configura VPN…" } }, - "de": { + "km": { "stringUnit": { "state": "translated", - "value": "Team wird erstellt…" + "value": "រៀបចំ VPN…" } }, - "es": { + "nb": { "stringUnit": { "state": "translated", - "value": "Creando equipo…" + "value": "Konfigurer VPN…" } }, - "fr": { + "pl": { "stringUnit": { "state": "translated", - "value": "Création de l’équipe…" + "value": "Skonfiguruj VPN…" } }, - "ja": { + "pt-BR": { "stringUnit": { "state": "translated", - "value": "チームを作成中…" + "value": "Configurar VPN…" } }, - "ko": { + "ru": { "stringUnit": { "state": "translated", - "value": "팀 만드는 중…" + "value": "Настроить VPN…" } }, - "zh-Hans": { + "th": { "stringUnit": { "state": "translated", - "value": "正在创建团队…" + "value": "ตั้งค่า VPN…" } }, - "zh-Hant": { + "tr": { "stringUnit": { "state": "translated", - "value": "正在建立團隊…" + "value": "VPN’i Kur…" + } + }, + "uk": { + "stringUnit": { + "state": "translated", + "value": "Налаштувати VPN…" } } } }, - "socket.authTeam.busy": { + "cloudTree.ports.stale": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Another team change is in progress. Try again when it finishes." + "value": "Port list may be out of date" } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "هناك تغيير آخر في الفريق قيد التنفيذ. حاول مرة أخرى عند انتهائه." + "value": "Portliste möglicherweise veraltet" } }, - "de": { + "fr": { "stringUnit": { "state": "translated", - "value": "Eine andere Teamänderung läuft noch. Versuche es erneut, wenn sie abgeschlossen ist." + "value": "La liste des ports peut être obsolète" + } + }, + "ar": { + "stringUnit": { + "state": "translated", + "value": "قد تكون قائمة المنافذ قديمة" } }, "es": { "stringUnit": { "state": "translated", - "value": "Hay otro cambio de equipo en curso. Inténtalo de nuevo cuando termine." + "value": "La lista de puertos puede estar desactualizada" } }, - "fr": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "Une autre modification d’équipe est en cours. Réessayez une fois terminée." + "value": "連接埠清單可能已過時" } }, - "ja": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "別のチーム変更を処理中です。完了してからもう一度お試しください。" + "value": "端口列表可能已过期" } }, "ko": { "stringUnit": { "state": "translated", - "value": "다른 팀 변경이 진행 중입니다. 완료된 후 다시 시도하세요." + "value": "포트 목록이 오래되었을 수 있음" } }, - "zh-Hans": { + "ja": { "stringUnit": { "state": "translated", - "value": "另一项团队更改正在进行中,请在完成后重试。" + "value": "ポートリストが古い可能性があります" } }, - "zh-Hant": { + "bs": { "stringUnit": { "state": "translated", - "value": "另一項團隊變更正在進行中,請在完成後再試一次。" + "value": "Lista portova je možda zastarjela" } - } - } - }, - "cloud.teamPicker.createSheet.message": { - "extractionState": "manual", - "localizations": { - "en": { + }, + "da": { "stringUnit": { "state": "translated", - "value": "The new team becomes your active team." + "value": "Portlisten er muligvis forældet" } }, - "ar": { + "it": { "stringUnit": { "state": "translated", - "value": "يصبح الفريق الجديد فريقك النشط." + "value": "L’elenco delle porte potrebbe non essere aggiornato" } }, - "de": { + "km": { "stringUnit": { "state": "translated", - "value": "Das neue Team wird Ihr aktives Team." + "value": "បញ្ជីច្រកអាចហួសសម័យ" } }, - "es": { + "nb": { "stringUnit": { "state": "translated", - "value": "El nuevo equipo pasa a ser su equipo activo." + "value": "Portlisten kan være utdatert" } }, - "fr": { + "pl": { "stringUnit": { "state": "translated", - "value": "La nouvelle équipe devient votre équipe active." + "value": "Lista portów może być nieaktualna" } }, - "ja": { + "pt-BR": { "stringUnit": { "state": "translated", - "value": "新しいチームがアクティブなチームになります。" + "value": "A lista de portas pode estar desatualizada" } }, - "ko": { + "ru": { "stringUnit": { "state": "translated", - "value": "새 팀이 활성 팀이 됩니다." + "value": "Список портов может быть устаревшим" } }, - "zh-Hans": { + "th": { "stringUnit": { "state": "translated", - "value": "新团队将成为你的当前团队。" + "value": "รายการพอร์ตอาจไม่เป็นปัจจุบัน" } }, - "zh-Hant": { + "tr": { "stringUnit": { "state": "translated", - "value": "新團隊會成為你使用中的團隊。" + "value": "Port listesi güncel olmayabilir" + } + }, + "uk": { + "stringUnit": { + "state": "translated", + "value": "Список портів може бути застарілим" } } } }, - "settings.app.installUpdatesAutomatically": { + "cloudTree.ports.stale.detail": { "extractionState": "manual", "localizations": { - "ar": { + "en": { "stringUnit": { "state": "translated", - "value": "تثبيت التحديثات تلقائيًا" + "value": "The last scan could not be refreshed. Listed services may have changed; refresh to check again. cmux forwarding does not need Cloud VPN." } }, - "bs": { + "de": { "stringUnit": { "state": "translated", - "value": "Automatski instaliraj ažuriranja" + "value": "Der letzte Scan konnte nicht aktualisiert werden. Die aufgeführten Dienste könnten sich geändert haben. Aktualisieren Sie erneut. Die cmux-Weiterleitung benötigt kein Cloud-VPN." } }, - "da": { + "fr": { "stringUnit": { "state": "translated", - "value": "Installer opdateringer automatisk" + "value": "La dernière analyse n’a pas pu être actualisée. Les services listés peuvent avoir changé ; actualisez pour vérifier. Le transfert cmux ne nécessite pas de VPN Cloud." } }, - "de": { + "ar": { "stringUnit": { "state": "translated", - "value": "Updates automatisch installieren" + "value": "تعذر تحديث آخر فحص. ربما تغيرت الخدمات المدرجة؛ حدّث للفحص مجددًا. لا تحتاج إعادة توجيه cmux إلى Cloud VPN." } }, - "en": { + "es": { "stringUnit": { "state": "translated", - "value": "Install Updates Automatically" + "value": "No se pudo actualizar el último escaneo. Los servicios listados pueden haber cambiado; actualiza para comprobarlos. El reenvío de cmux no necesita Cloud VPN." } }, - "es": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "Instalar actualizaciones automáticamente" + "value": "無法重新整理上次掃描結果。列出的服務可能已變更;請重新整理以再次檢查。cmux 轉送不需要 Cloud VPN。" } }, - "fr": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "Installer les mises à jour automatiquement" + "value": "无法刷新上次扫描结果。列出的服务可能已更改;请刷新以再次检查。cmux 转发无需 Cloud VPN。" } }, - "it": { + "ko": { "stringUnit": { "state": "translated", - "value": "Installa aggiornamenti automaticamente" + "value": "마지막 검색 결과를 새로 고치지 못했습니다. 나열된 서비스가 변경되었을 수 있으니 새로 고쳐 확인하세요. cmux 전달에는 Cloud VPN이 필요하지 않습니다." } }, "ja": { "stringUnit": { "state": "translated", - "value": "アップデートを自動的にインストール" + "value": "前回のスキャンを更新できませんでした。表示されたサービスが変わっている可能性があります。更新して再確認してください。cmux の転送に Cloud VPN は不要です。" } }, - "ko": { + "bs": { "stringUnit": { "state": "translated", - "value": "업데이트 자동 설치" + "value": "Posljednje skeniranje nije se moglo osvježiti. Navedeni servisi su se možda promijenili; osvježite da ponovo provjerite. Prosljeđivanje u cmux-u ne treba Cloud VPN." + } + }, + "da": { + "stringUnit": { + "state": "translated", + "value": "Den seneste scanning kunne ikke opdateres. De viste tjenester kan have ændret sig; opdater for at kontrollere igen. Videresendelse i cmux kræver ikke Cloud VPN." + } + }, + "it": { + "stringUnit": { + "state": "translated", + "value": "Non è stato possibile aggiornare l’ultima scansione. I servizi elencati potrebbero essere cambiati; aggiorna per controllare di nuovo. L’inoltro di cmux non richiede la VPN Cloud." + } + }, + "km": { + "stringUnit": { + "state": "translated", + "value": "មិនអាចផ្ទុកការស្កេនចុងក្រោយឡើងវិញបានទេ។ សេវាកម្មដែលបានរាយអាចបានផ្លាស់ប្តូរ; ផ្ទុកឡើងវិញដើម្បីពិនិត្យម្តងទៀត។ ការបញ្ជូនបន្តរបស់ cmux មិនត្រូវការ Cloud VPN ទេ។" } }, "nb": { "stringUnit": { "state": "translated", - "value": "Installer oppdateringer automatisk" + "value": "Den siste skanningen kunne ikke oppdateres. De oppførte tjenestene kan ha endret seg; oppdater for å sjekke på nytt. Videresending i cmux trenger ikke Cloud VPN." } }, "pl": { "stringUnit": { "state": "translated", - "value": "Instaluj aktualizacje automatycznie" + "value": "Nie udało się odświeżyć ostatniego skanowania. Wymienione usługi mogły się zmienić; odśwież, aby sprawdzić ponownie. Przekierowywanie w cmux nie wymaga Cloud VPN." } }, "pt-BR": { "stringUnit": { "state": "translated", - "value": "Instalar atualizações automaticamente" + "value": "Não foi possível atualizar a última verificação. Os serviços listados podem ter mudado; atualize para verificar de novo. O encaminhamento do cmux não precisa do Cloud VPN." } }, "ru": { "stringUnit": { "state": "translated", - "value": "Устанавливать обновления автоматически" + "value": "Не удалось обновить последнее сканирование. Перечисленные службы могли измениться; обновите, чтобы проверить снова. Перенаправлению cmux Cloud VPN не нужен." } }, "th": { "stringUnit": { "state": "translated", - "value": "ติดตั้งอัปเดตโดยอัตโนมัติ" + "value": "ไม่สามารถรีเฟรชการสแกนครั้งล่าสุดได้ บริการที่แสดงอาจเปลี่ยนไปแล้ว รีเฟรชเพื่อตรวจสอบอีกครั้ง การส่งต่อของ cmux ไม่ต้องใช้ Cloud VPN" } }, "tr": { "stringUnit": { "state": "translated", - "value": "Güncellemeleri otomatik olarak yükle" + "value": "Son tarama yenilenemedi. Listelenen hizmetler değişmiş olabilir; yeniden denetlemek için yenileyin. cmux yönlendirmesi Cloud VPN gerektirmez." } }, "uk": { "stringUnit": { "state": "translated", - "value": "Установлювати оновлення автоматично" + "value": "Не вдалося оновити останнє сканування. Перелічені служби могли змінитися; оновіть, щоб перевірити знову. Перенаправлення cmux не потребує Cloud VPN." + } + } + } + }, + "cloudTree.ports.unavailable.detail": { + "extractionState": "manual", + "localizations": { + "en": { + "stringUnit": { + "state": "translated", + "value": "The port scan failed; this does not mean no service is listening. Existing cmux ports may still work. Refresh to retry; Cloud VPN is not required." } }, - "zh-Hans": { + "de": { "stringUnit": { "state": "translated", - "value": "自动安装更新" + "value": "Der Portscan ist fehlgeschlagen; das bedeutet nicht, dass kein Dienst lauscht. Vorhandene cmux-Ports funktionieren möglicherweise weiter. Aktualisieren Sie; Cloud-VPN ist nicht erforderlich." } }, - "zh-Hant": { + "fr": { "stringUnit": { "state": "translated", - "value": "自動安裝更新" + "value": "L’analyse des ports a échoué ; cela ne signifie pas qu’aucun service n’écoute. Les ports cmux existants peuvent encore fonctionner. Actualisez pour réessayer ; le VPN Cloud n’est pas nécessaire." } - } - } - }, - "settings.app.installUpdatesAutomatically.subtitle": { - "extractionState": "manual", - "localizations": { + }, "ar": { "stringUnit": { "state": "translated", - "value": "تنزيل التحديثات في الخلفية وتثبيتها عندما لا يعمل أي وكيل وتبتعد عن الجهاز لمدة دقيقة. تستأنف مساحات العمل والوكلاء من حيث توقفت." + "value": "فشل فحص المنافذ؛ هذا لا يعني عدم وجود خدمة تستمع. قد تظل منافذ cmux الحالية تعمل. حدّث للمحاولة مجددًا؛ Cloud VPN غير مطلوب." } }, - "bs": { + "es": { "stringUnit": { "state": "translated", - "value": "Preuzimaj ažuriranja u pozadini i instaliraj ih kada nijedan agent ne radi i kada se udaljiš na minut. Radni prostori i agenti nastavljaju tamo gdje su stali." + "value": "Falló el escaneo de puertos; no significa que no haya servicios en escucha. Los puertos de cmux existentes pueden seguir funcionando. Actualiza para reintentar; Cloud VPN no es necesario." } }, - "da": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "Hent opdateringer i baggrunden, og installer dem, når ingen agent arbejder, og du går fra i et minut. Arbejdsområder og agenter fortsætter, hvor de slap." + "value": "連接埠掃描失敗;這不代表沒有服務正在監聽。現有 cmux 連接埠可能仍可使用。請重新整理以重試;不需要 Cloud VPN。" } }, - "de": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "Updates im Hintergrund laden und installieren, wenn kein Agent arbeitet und du eine Minute Pause machst. Workspaces und Agenten machen dort weiter, wo sie aufgehört haben." + "value": "端口扫描失败;这并不代表没有服务正在监听。现有 cmux 端口可能仍可使用。请刷新以重试;无需 Cloud VPN。" } }, - "en": { + "ko": { "stringUnit": { "state": "translated", - "value": "Download updates in the background and install them when no agent is working and you step away for a minute. Workspaces and agents resume where they left off." + "value": "포트 검색이 실패했지만 수신 대기 서비스가 없다는 뜻은 아닙니다. 기존 cmux 포트는 계속 작동할 수 있습니다. 새로 고쳐 다시 시도하세요. Cloud VPN은 필요하지 않습니다." } }, - "es": { + "ja": { "stringUnit": { "state": "translated", - "value": "Descarga las actualizaciones en segundo plano y las instala cuando ningún agente está trabajando y te ausentas un minuto. Los espacios de trabajo y los agentes continúan donde se quedaron." + "value": "ポートスキャンが失敗しましたが、サービスが待ち受けていないとは限りません。既存の cmux ポートは引き続き動作する可能性があります。更新して再試行してください。Cloud VPN は不要です。" } }, - "fr": { + "bs": { "stringUnit": { "state": "translated", - "value": "Télécharger les mises à jour en arrière-plan et les installer quand aucun agent ne travaille et que vous vous absentez une minute. Les espaces de travail et les agents reprennent là où ils en étaient." + "value": "Skeniranje portova nije uspjelo; to ne znači da nijedan servis ne sluša. Postojeći cmux portovi možda i dalje rade. Osvježite za ponovni pokušaj; Cloud VPN nije potreban." } }, - "it": { + "da": { "stringUnit": { "state": "translated", - "value": "Scarica gli aggiornamenti in background e installali quando nessun agente è al lavoro e ti allontani per un minuto. Spazi di lavoro e agenti riprendono da dove si erano interrotti." + "value": "Portscanningen mislykkedes; det betyder ikke, at ingen tjeneste lytter. Eksisterende cmux-porte virker muligvis stadig. Opdater for at prøve igen; Cloud VPN er ikke påkrævet." } }, - "ja": { + "it": { "stringUnit": { "state": "translated", - "value": "アップデートをバックグラウンドでダウンロードし、作業中のエージェントがなく 1 分間席を離れたときにインストールします。ワークスペースとエージェントは中断したところから再開します。" + "value": "La scansione delle porte non è riuscita; ciò non significa che nessun servizio sia in ascolto. Le porte cmux esistenti potrebbero funzionare ancora. Aggiorna per riprovare; la VPN Cloud non è necessaria." } }, - "ko": { + "km": { "stringUnit": { "state": "translated", - "value": "업데이트를 백그라운드에서 다운로드하고, 작업 중인 에이전트가 없고 1분 동안 자리를 비우면 설치합니다. 워크스페이스와 에이전트는 중단된 지점에서 재개됩니다." + "value": "ការស្កេនច្រកបានបរាជ័យ; នេះមិនមានន័យថាគ្មានសេវាកម្មណាកំពុងស្តាប់ទេ។ ច្រក cmux ដែលមានស្រាប់អាចនៅតែដំណើរការ។ ផ្ទុកឡើងវិញដើម្បីព្យាយាមម្តងទៀត; មិនត្រូវការ Cloud VPN ទេ។" } }, "nb": { "stringUnit": { "state": "translated", - "value": "Last ned oppdateringer i bakgrunnen og installer dem når ingen agent arbeider og du går fra i ett minutt. Arbeidsområder og agenter fortsetter der de slapp." + "value": "Portskanningen mislyktes; det betyr ikke at ingen tjeneste lytter. Eksisterende cmux-porter kan fortsatt fungere. Oppdater for å prøve igjen; Cloud VPN er ikke nødvendig." } }, "pl": { "stringUnit": { "state": "translated", - "value": "Pobieraj aktualizacje w tle i instaluj je, gdy żaden agent nie pracuje, a Ty odejdziesz na minutę. Obszary robocze i agenci wznowią pracę tam, gdzie ją przerwali." + "value": "Skanowanie portów nie powiodło się; nie oznacza to, że żadna usługa nie nasłuchuje. Istniejące porty cmux mogą nadal działać. Odśwież, aby spróbować ponownie; Cloud VPN nie jest wymagany." } }, "pt-BR": { "stringUnit": { "state": "translated", - "value": "Baixar atualizações em segundo plano e instalá-las quando nenhum agente estiver trabalhando e você se afastar por um minuto. Espaços de trabalho e agentes continuam de onde pararam." + "value": "A verificação de portas falhou; isso não significa que nenhum serviço esteja em escuta. As portas existentes do cmux ainda podem funcionar. Atualize para tentar de novo; o Cloud VPN não é necessário." } }, "ru": { "stringUnit": { "state": "translated", - "value": "Загружать обновления в фоне и устанавливать их, когда ни один агент не работает и вы отходите на минуту. Рабочие пространства и агенты продолжат с того места, где остановились." + "value": "Сканирование портов не удалось; это не значит, что ни одна служба не прослушивает порты. Существующие порты cmux могут по-прежнему работать. Обновите, чтобы повторить; Cloud VPN не требуется." } }, "th": { "stringUnit": { "state": "translated", - "value": "ดาวน์โหลดอัปเดตในเบื้องหลังและติดตั้งเมื่อไม่มีเอเจนต์ทำงานอยู่และคุณไม่ได้ใช้งานเครื่องเป็นเวลาหนึ่งนาที พื้นที่ทำงานและเอเจนต์จะทำงานต่อจากจุดที่ค้างไว้" + "value": "การสแกนพอร์ตล้มเหลว ไม่ได้หมายความว่าไม่มีบริการที่กำลังรับฟัง พอร์ต cmux ที่มีอยู่อาจยังใช้งานได้ รีเฟรชเพื่อลองอีกครั้ง ไม่จำเป็นต้องใช้ Cloud VPN" } }, "tr": { "stringUnit": { "state": "translated", - "value": "Güncellemeleri arka planda indir ve hiçbir ajan çalışmıyorken bir dakika uzaklaştığında yükle. Çalışma alanları ve ajanlar kaldıkları yerden devam eder." + "value": "Port taraması başarısız oldu; bu, dinleyen bir hizmet olmadığı anlamına gelmez. Mevcut cmux portları hâlâ çalışıyor olabilir. Yeniden denemek için yenileyin; Cloud VPN gerekmez." } }, "uk": { "stringUnit": { "state": "translated", - "value": "Завантажувати оновлення у фоні та встановлювати їх, коли жоден агент не працює, а ви відходите на хвилину. Робочі простори й агенти продовжать з того місця, де зупинилися." - } - }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "在后台下载更新,并在没有代理工作且你离开一分钟时安装。工作区和代理会从中断处继续。" - } - }, - "zh-Hant": { - "stringUnit": { - "state": "translated", - "value": "在背景下載更新,並在沒有代理運作且你離開一分鐘時安裝。工作區與代理會從中斷處繼續。" + "value": "Сканування портів не вдалося; це не означає, що жодна служба не прослуховує. Наявні порти cmux можуть і далі працювати. Оновіть, щоб повторити; Cloud VPN не потрібен." } } } }, - "update.autoInstall.waitingQuiet": { + "cloudTree.ports.unsupported": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Installs the next time you step away for a minute. Workspaces and agents resume where they left off." + "value": "Ports are not supported by this provider." } }, "de": { "stringUnit": { "state": "translated", - "value": "Wird installiert, wenn du das nächste Mal eine Minute Pause machst. Workspaces und Agenten machen dort weiter, wo sie aufgehört haben." + "value": "Ports werden von diesem Anbieter nicht unterstützt." } }, "fr": { "stringUnit": { "state": "translated", - "value": "S’installe la prochaine fois que vous vous absentez une minute. Les espaces de travail et les agents reprennent là où ils en étaient." + "value": "Les ports ne sont pas pris en charge par ce fournisseur." } }, "ar": { "stringUnit": { "state": "translated", - "value": "يتم التثبيت في المرة التالية التي تبتعد فيها عن الجهاز لمدة دقيقة. تستأنف مساحات العمل والوكلاء من حيث توقفت." + "value": "لا يدعم هذا الموفر المنافذ." } }, "es": { "stringUnit": { "state": "translated", - "value": "Se instala la próxima vez que te ausentes un minuto. Los espacios de trabajo y los agentes continúan donde se quedaron." + "value": "Este proveedor no admite puertos." } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "將在你下次離開一分鐘時安裝。工作區與代理會從中斷處繼續。" + "value": "此提供者不支援連接埠。" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "将在你下次离开一分钟时安装。工作区和代理会从中断处继续。" + "value": "此提供商不支持端口。" } }, "ko": { "stringUnit": { "state": "translated", - "value": "다음에 1분 동안 자리를 비우면 설치합니다. 워크스페이스와 에이전트는 중단된 지점에서 재개됩니다." + "value": "이 제공자는 포트를 지원하지 않습니다." } }, "ja": { "stringUnit": { "state": "translated", - "value": "次に 1 分間席を離れたときにインストールします。ワークスペースとエージェントは中断したところから再開します。" + "value": "このプロバイダーはポートをサポートしていません。" } - } - } - }, - "update.autoInstall.waitingRisky": { - "extractionState": "manual", - "localizations": { - "en": { + }, + "bs": { "stringUnit": { "state": "translated", - "value": "Installs after these finish and you step away." + "value": "Ovaj pružalac ne podržava portove." } }, - "de": { + "da": { "stringUnit": { "state": "translated", - "value": "Wird installiert, sobald diese fertig sind und du eine Pause machst." + "value": "Porte understøttes ikke af denne udbyder." } }, - "fr": { + "it": { "stringUnit": { "state": "translated", - "value": "S’installe quand ceux-ci ont terminé et que vous vous absentez." + "value": "Le porte non sono supportate da questo provider." } }, - "ar": { + "km": { "stringUnit": { "state": "translated", - "value": "يتم التثبيت بعد انتهاء هذه العناصر وابتعادك عن الجهاز." + "value": "អ្នកផ្តល់សេវានេះមិនគាំទ្រច្រកទេ។" } }, - "es": { + "nb": { "stringUnit": { "state": "translated", - "value": "Se instala cuando terminen estos y te ausentes." + "value": "Porter støttes ikke av denne leverandøren." } }, - "zh-Hant": { + "pl": { "stringUnit": { "state": "translated", - "value": "將在這些完成且你離開後安裝。" + "value": "Ten dostawca nie obsługuje portów." } }, - "zh-Hans": { + "pt-BR": { "stringUnit": { "state": "translated", - "value": "将在这些完成且你离开后安装。" + "value": "Este provedor não oferece suporte a portas." } }, - "ko": { + "ru": { "stringUnit": { "state": "translated", - "value": "이 항목들이 끝나고 자리를 비우면 설치합니다." + "value": "Этот провайдер не поддерживает порты." } }, - "ja": { + "th": { "stringUnit": { "state": "translated", - "value": "これらが終了し、席を離れるとインストールします。" + "value": "ผู้ให้บริการนี้ไม่รองรับพอร์ต" + } + }, + "tr": { + "stringUnit": { + "state": "translated", + "value": "Bu sağlayıcı portları desteklemiyor." + } + }, + "uk": { + "stringUnit": { + "state": "translated", + "value": "Цей постачальник не підтримує порти." } } } }, - "update.relaunch.confirmRisky": { + "cloudTree.ports.unsupported.detail": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Relaunching now stops what these are running." + "value": "This provider has no supported in-app port route. Open a shell to access the service inside the machine. Cloud VPN does not add provider support." } }, "de": { "stringUnit": { "state": "translated", - "value": "Ein Neustart jetzt beendet, was diese gerade ausführen." + "value": "Dieser Anbieter unterstützt keine Portverbindung in der App. Öffnen Sie eine Shell, um innerhalb der Maschine auf den Dienst zuzugreifen. Cloud-VPN fügt keine Anbieterunterstützung hinzu." } }, "fr": { "stringUnit": { "state": "translated", - "value": "Relancer maintenant arrête ce qu’ils exécutent." + "value": "Ce fournisseur ne prend pas en charge les ports dans l’app. Ouvrez un shell pour accéder au service dans la machine. Le VPN Cloud n’ajoute pas cette prise en charge." } }, "ar": { "stringUnit": { "state": "translated", - "value": "تؤدي إعادة التشغيل الآن إلى إيقاف ما تشغّله هذه العناصر." + "value": "لا يدعم هذا الموفر مسار منافذ داخل التطبيق. افتح صدفة للوصول إلى الخدمة داخل الجهاز. لا يضيف Cloud VPN دعمًا للموفر." } }, "es": { "stringUnit": { "state": "translated", - "value": "Reiniciar ahora detiene lo que estos están ejecutando." + "value": "Este proveedor no admite una ruta de puertos dentro de la app. Abre una shell para acceder al servicio dentro de la máquina. Cloud VPN no añade soporte al proveedor." } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "現在重新啟動會停止這些項目正在執行的工作。" + "value": "此提供者不支援應用程式內連接埠路徑。請開啟 Shell 以在機器內存取服務。Cloud VPN 不會新增提供者支援。" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "现在重新启动会停止这些项目正在运行的工作。" + "value": "此提供商不支持应用内端口路由。请打开 Shell 以在机器内部访问服务。Cloud VPN 不会添加提供商支持。" } }, "ko": { "stringUnit": { "state": "translated", - "value": "지금 재실행하면 이 항목들이 실행 중인 작업이 중지됩니다." + "value": "이 제공자는 앱 내 포트 경로를 지원하지 않습니다. 셸을 열어 머신 내부의 서비스에 접근하세요. Cloud VPN으로 제공자 지원이 추가되지는 않습니다." } }, "ja": { "stringUnit": { "state": "translated", - "value": "今すぐ再起動すると、これらが実行中の処理は停止します。" + "value": "このプロバイダーはアプリ内のポート経路に対応していません。シェルを開き、マシン内でサービスにアクセスしてください。Cloud VPN を有効にしても対応は追加されません。" } - } - } - }, - "update.relaunch.resumesMidTask": { - "extractionState": "manual", - "localizations": { - "en": { - "variations": { - "plural": { - "one": { - "stringUnit": { - "state": "translated", - "value": "%lld agent will be resumed mid-task." - } - }, - "other": { - "stringUnit": { - "state": "translated", - "value": "%lld agents will be resumed mid-task." - } - } - } + }, + "bs": { + "stringUnit": { + "state": "translated", + "value": "Ovaj pružalac nema podržanu rutu portova unutar aplikacije. Otvorite shell da pristupite servisu unutar mašine. Cloud VPN ne dodaje podršku pružaoca." } }, - "de": { - "variations": { - "plural": { - "one": { - "stringUnit": { - "state": "translated", - "value": "%lld Agent wird mitten in der Aufgabe fortgesetzt." - } - }, - "other": { - "stringUnit": { - "state": "translated", - "value": "%lld Agenten werden mitten in der Aufgabe fortgesetzt." - } - } - } + "da": { + "stringUnit": { + "state": "translated", + "value": "Denne udbyder har ingen understøttet portrute i appen. Åbn en shell for at få adgang til tjenesten inde i maskinen. Cloud VPN tilføjer ikke understøttelse for udbyderen." } }, - "fr": { - "variations": { - "plural": { - "one": { - "stringUnit": { - "state": "translated", - "value": "%lld agent reprendra en cours de tâche." - } - }, - "many": { - "stringUnit": { - "state": "translated", - "value": "%lld d’agents reprendront en cours de tâche." - } - }, - "other": { - "stringUnit": { - "state": "translated", - "value": "%lld agents reprendront en cours de tâche." - } - } - } + "it": { + "stringUnit": { + "state": "translated", + "value": "Questo provider non ha un percorso delle porte supportato nell’app. Apri una shell per accedere al servizio all’interno della macchina. La VPN Cloud non aggiunge il supporto del provider." } }, - "ar": { - "variations": { - "plural": { - "zero": { - "stringUnit": { - "state": "translated", - "value": "سيُستأنف الوكلاء (%lld) من منتصف المهمة." - } - }, - "one": { - "stringUnit": { - "state": "translated", - "value": "سيُستأنف وكيل واحد (%lld) من منتصف المهمة." - } - }, - "two": { - "stringUnit": { - "state": "translated", - "value": "سيُستأنف وكيلان (%lld) من منتصف المهمة." - } - }, - "few": { - "stringUnit": { - "state": "translated", - "value": "سيُستأنف %lld وكلاء من منتصف المهمة." - } - }, - "many": { - "stringUnit": { - "state": "translated", - "value": "سيُستأنف %lld وكيلًا من منتصف المهمة." - } - }, - "other": { - "stringUnit": { - "state": "translated", - "value": "سيُستأنف %lld وكيل من منتصف المهمة." - } - } - } + "km": { + "stringUnit": { + "state": "translated", + "value": "អ្នកផ្តល់សេវានេះគ្មានផ្លូវច្រកក្នុងកម្មវិធីដែលគាំទ្រទេ។ បើក shell ដើម្បីចូលប្រើសេវាកម្មនៅខាងក្នុងម៉ាស៊ីន។ Cloud VPN មិនបន្ថែមការគាំទ្រអ្នកផ្តល់សេវាទេ។" } }, - "es": { - "variations": { - "plural": { - "one": { - "stringUnit": { - "state": "translated", - "value": "%lld agente se reanudará a mitad de la tarea." - } - }, - "many": { - "stringUnit": { - "state": "translated", - "value": "%lld de agentes se reanudarán a mitad de la tarea." - } - }, - "other": { - "stringUnit": { - "state": "translated", - "value": "%lld agentes se reanudarán a mitad de la tarea." - } - } - } + "nb": { + "stringUnit": { + "state": "translated", + "value": "Denne leverandøren har ingen støttet portrute i appen. Åpne et skall for å få tilgang til tjenesten inne i maskinen. Cloud VPN legger ikke til støtte for leverandøren." } }, - "zh-Hant": { - "variations": { - "plural": { - "other": { - "stringUnit": { - "state": "translated", - "value": "%lld 個代理將從任務中途繼續。" - } - } - } + "pl": { + "stringUnit": { + "state": "translated", + "value": "Ten dostawca nie ma obsługiwanej trasy portów w aplikacji. Otwórz powłokę, aby uzyskać dostęp do usługi wewnątrz maszyny. Cloud VPN nie dodaje obsługi dostawcy." } }, - "zh-Hans": { - "variations": { - "plural": { - "other": { - "stringUnit": { - "state": "translated", - "value": "%lld 个代理将从任务中途继续。" - } - } - } + "pt-BR": { + "stringUnit": { + "state": "translated", + "value": "Este provedor não tem uma rota de portas compatível no app. Abra um shell para acessar o serviço dentro da máquina. O Cloud VPN não adiciona suporte ao provedor." } }, - "ko": { - "variations": { - "plural": { - "other": { - "stringUnit": { - "state": "translated", - "value": "에이전트 %lld개가 작업 도중부터 재개됩니다." - } - } - } + "ru": { + "stringUnit": { + "state": "translated", + "value": "У этого провайдера нет поддерживаемого маршрута портов в приложении. Откройте оболочку, чтобы получить доступ к службе внутри машины. Cloud VPN не добавляет поддержку провайдера." } }, - "ja": { - "variations": { - "plural": { - "other": { - "stringUnit": { - "state": "translated", - "value": "%lld 個のエージェントが作業の途中から再開されます。" - } - } - } + "th": { + "stringUnit": { + "state": "translated", + "value": "ผู้ให้บริการนี้ไม่มีเส้นทางพอร์ตในแอปที่รองรับ เปิดเชลล์เพื่อเข้าถึงบริการภายในเครื่อง Cloud VPN ไม่ได้เพิ่มการรองรับผู้ให้บริการ" + } + }, + "tr": { + "stringUnit": { + "state": "translated", + "value": "Bu sağlayıcının desteklenen bir uygulama içi port yolu yok. Makinenin içindeki hizmete erişmek için bir kabuk açın. Cloud VPN sağlayıcı desteği eklemez." + } + }, + "uk": { + "stringUnit": { + "state": "translated", + "value": "Цей постачальник не має підтримуваного маршруту портів у застосунку. Відкрийте оболонку, щоб отримати доступ до служби всередині машини. Cloud VPN не додає підтримку постачальника." } } } }, - "update.relaunch.runningCommands": { + "cloudTree.port.openInCmux": { "extractionState": "manual", "localizations": { "en": { - "variations": { - "plural": { - "one": { - "stringUnit": { - "state": "translated", - "value": "%lld running command" - } - }, - "other": { - "stringUnit": { - "state": "translated", - "value": "%lld running commands" - } - } - } - } - }, - "de": { - "variations": { - "plural": { - "one": { - "stringUnit": { - "state": "translated", - "value": "%lld laufender Befehl" - } - }, - "other": { - "stringUnit": { - "state": "translated", - "value": "%lld laufende Befehle" - } - } - } + "stringUnit": { + "state": "translated", + "value": "Open in cmux" } }, - "fr": { - "variations": { - "plural": { - "one": { - "stringUnit": { - "state": "translated", - "value": "%lld commande en cours" - } - }, - "many": { - "stringUnit": { - "state": "translated", - "value": "%lld de commandes en cours" - } - }, - "other": { - "stringUnit": { - "state": "translated", - "value": "%lld commandes en cours" - } - } - } + "ar": { + "stringUnit": { + "state": "translated", + "value": "فتح في cmux" } }, - "ar": { - "variations": { - "plural": { - "zero": { - "stringUnit": { - "state": "translated", - "value": "أوامر قيد التشغيل (%lld)" - } - }, - "one": { - "stringUnit": { - "state": "translated", - "value": "أمر واحد قيد التشغيل (%lld)" - } - }, - "two": { - "stringUnit": { - "state": "translated", - "value": "أمران قيد التشغيل (%lld)" - } - }, - "few": { - "stringUnit": { - "state": "translated", - "value": "%lld أوامر قيد التشغيل" - } - }, - "many": { - "stringUnit": { - "state": "translated", - "value": "%lld أمرًا قيد التشغيل" - } - }, - "other": { - "stringUnit": { - "state": "translated", - "value": "%lld أمر قيد التشغيل" - } - } - } + "de": { + "stringUnit": { + "state": "translated", + "value": "In cmux öffnen" } }, "es": { - "variations": { - "plural": { - "one": { - "stringUnit": { - "state": "translated", - "value": "%lld comando en ejecución" - } - }, - "many": { - "stringUnit": { - "state": "translated", - "value": "%lld de comandos en ejecución" - } - }, - "other": { - "stringUnit": { - "state": "translated", - "value": "%lld comandos en ejecución" - } - } - } + "stringUnit": { + "state": "translated", + "value": "Abrir en cmux" } }, - "zh-Hant": { - "variations": { - "plural": { - "other": { - "stringUnit": { - "state": "translated", - "value": "%lld 個執行中的命令" - } - } - } + "fr": { + "stringUnit": { + "state": "translated", + "value": "Ouvrir dans cmux" } }, - "zh-Hans": { - "variations": { - "plural": { - "other": { - "stringUnit": { - "state": "translated", - "value": "%lld 个正在运行的命令" - } - } - } + "ja": { + "stringUnit": { + "state": "translated", + "value": "cmuxで開く" } }, "ko": { - "variations": { - "plural": { - "other": { - "stringUnit": { - "state": "translated", - "value": "실행 중인 명령 %lld개" - } - } - } + "stringUnit": { + "state": "translated", + "value": "cmux에서 열기" } }, - "ja": { - "variations": { - "plural": { - "other": { - "stringUnit": { - "state": "translated", - "value": "実行中のコマンド %lld 個" - } - } - } + "zh-Hans": { + "stringUnit": { + "state": "translated", + "value": "在 cmux 中打开" + } + }, + "zh-Hant": { + "stringUnit": { + "state": "translated", + "value": "在 cmux 中開啟" } } } }, - "update.safety.safe": { + "cloudTree.port.openInCmux.help": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Safe" + "value": "Open in cmux. No VPN setup needed." } }, - "de": { + "ar": { "stringUnit": { "state": "translated", - "value": "Sicher" + "value": "افتح في cmux. لا يلزم إعداد VPN." } }, - "fr": { + "de": { "stringUnit": { "state": "translated", - "value": "Sûr" + "value": "In cmux öffnen. Keine VPN-Einrichtung nötig." } }, - "ar": { + "es": { "stringUnit": { "state": "translated", - "value": "آمن" + "value": "Abrir en cmux. No hace falta configurar una VPN." } }, - "es": { + "fr": { "stringUnit": { "state": "translated", - "value": "Seguro" + "value": "Ouvrir dans cmux. Aucune configuration VPN nécessaire." } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "安全" + "value": "cmux で開きます。VPN の設定は不要です。" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "安全" + "value": "cmux에서 열기. VPN 설정이 필요하지 않습니다." } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "안전" + "value": "在 cmux 中打开。无需设置 VPN。" } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "安全" + "value": "在 cmux 中開啟。無需設定 VPN。" } } } }, - "update.safety.care": { + "cloudTree.port.title": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Resumes" + "value": "Port %@" } }, - "de": { + "ar": { "stringUnit": { "state": "translated", - "value": "Wird fortgesetzt" + "value": "المنفذ %@" } }, - "fr": { + "de": { "stringUnit": { "state": "translated", - "value": "Reprend" + "value": "Port-Nr. %@" } }, - "ar": { + "es": { "stringUnit": { "state": "translated", - "value": "يُستأنف" + "value": "Puerto %@" } }, - "es": { + "fr": { "stringUnit": { "state": "translated", - "value": "Se reanuda" + "value": "Port n° %@" } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "會繼續" + "value": "ポート %@" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "会继续" + "value": "포트 %@" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "재개됨" + "value": "端口 %@" } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "再開" + "value": "連接埠 %@" } } } }, - "update.safety.risky": { + "cloudTree.placeholder.deviceOffline": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Risky" + "value": "Offline — its workspaces return when it does" } }, - "de": { + "ar": { "stringUnit": { "state": "translated", - "value": "Riskant" + "value": "غير متصل — ستعود مساحات عمله عند اتصاله مجددًا" } }, - "fr": { + "de": { "stringUnit": { "state": "translated", - "value": "Risqué" + "value": "Offline — die Arbeitsbereiche erscheinen wieder, sobald das Gerät online ist" } }, - "ar": { + "es": { "stringUnit": { "state": "translated", - "value": "خطر" + "value": "Sin conexión — sus espacios de trabajo volverán cuando se conecte" } }, - "es": { + "fr": { "stringUnit": { "state": "translated", - "value": "Arriesgado" + "value": "Hors ligne — ses espaces de travail réapparaîtront à sa reconnexion" } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "有風險" + "value": "オフライン — 再接続するとワークスペースが戻ります" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "有风险" + "value": "오프라인 — 다시 연결되면 작업 공간이 돌아옵니다" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "위험" + "value": "离线 — 重新连接后会恢复工作区" } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "リスクあり" + "value": "離線 — 重新連線後會恢復工作區" } } } }, - "update.wait": { + "cloud.vpn.setup.heading": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Wait" + "value": "Use Cloud machines from any app" } }, "de": { "stringUnit": { "state": "translated", - "value": "Warten" + "value": "Cloud-Maschinen aus jeder App verwenden" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Attendre" + "value": "Utiliser les machines Cloud depuis toute app" } }, - "ar": { + "es": { "stringUnit": { "state": "translated", - "value": "انتظار" + "value": "Usar máquinas Cloud desde cualquier app" } }, - "es": { + "ja": { "stringUnit": { "state": "translated", - "value": "Esperar" + "value": "ほかのアプリからCloudマシンを使う" } }, - "zh-Hant": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "等待" + "value": "从任何应用使用 Cloud 机器" } }, - "zh-Hans": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "等待" + "value": "從任何 App 使用 Cloud 機器" } }, "ko": { "stringUnit": { "state": "translated", - "value": "대기" + "value": "모든 앱에서 Cloud 머신 사용" } }, - "ja": { + "ar": { "stringUnit": { "state": "translated", - "value": "待機" + "value": "استخدام أجهزة Cloud من أي تطبيق" } - } - } - }, - "update.updateWhenFinished": { - "extractionState": "manual", - "localizations": { - "en": { + }, + "bs": { "stringUnit": { "state": "translated", - "value": "Update When These Finish" + "value": "Koristite Cloud mašine iz bilo koje aplikacije" } }, - "de": { + "da": { "stringUnit": { "state": "translated", - "value": "Aktualisieren, wenn diese fertig sind" + "value": "Brug Cloud-maskiner fra alle apps" } }, - "fr": { + "it": { "stringUnit": { "state": "translated", - "value": "Mettre à jour quand ils auront terminé" + "value": "Usa le macchine Cloud da qualsiasi app" } }, - "ar": { + "km": { "stringUnit": { "state": "translated", - "value": "التحديث عند انتهاء هذه العناصر" + "value": "ប្រើម៉ាស៊ីន Cloud ពីកម្មវិធីណាមួយ" } }, - "es": { + "nb": { "stringUnit": { "state": "translated", - "value": "Actualizar cuando terminen" + "value": "Bruk Cloud-maskiner fra alle apper" } }, - "zh-Hant": { + "pl": { "stringUnit": { "state": "translated", - "value": "在這些完成後更新" + "value": "Używaj maszyn Cloud z dowolnej aplikacji" } }, - "zh-Hans": { + "pt-BR": { "stringUnit": { "state": "translated", - "value": "在这些完成后更新" + "value": "Use máquinas Cloud em qualquer app" } }, - "ko": { + "ru": { "stringUnit": { "state": "translated", - "value": "완료되면 업데이트" + "value": "Используйте Cloud-машины из любого приложения" } }, - "ja": { + "th": { "stringUnit": { "state": "translated", - "value": "終了後にアップデート" + "value": "ใช้เครื่อง Cloud จากทุกแอป" + } + }, + "tr": { + "stringUnit": { + "state": "translated", + "value": "Cloud makinelerini her uygulamadan kullanın" + } + }, + "uk": { + "stringUnit": { + "state": "translated", + "value": "Використовуйте Cloud-машини з будь-якої програми" } } } }, - "update.updateAnyway": { + "cloud.vpn.setup.subtitle": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Update Anyway" + "value": "Optional access to each VM's private address and original ports, such as 10.40.0.10:3000." } }, "de": { "stringUnit": { "state": "translated", - "value": "Trotzdem aktualisieren" + "value": "Optionaler Zugriff auf die private Adresse und die ursprünglichen Ports jeder VM, etwa 10.40.0.10:3000." } }, "fr": { "stringUnit": { "state": "translated", - "value": "Mettre à jour quand même" + "value": "Accès facultatif à chaque adresse privée et aux ports d’origine des VM, comme 10.40.0.10:3000." } }, - "ar": { + "es": { "stringUnit": { "state": "translated", - "value": "التحديث على أي حال" + "value": "Acceso opcional a la dirección privada y los puertos originales de cada VM, como 10.40.0.10:3000." } }, - "es": { + "ja": { "stringUnit": { "state": "translated", - "value": "Actualizar de todos modos" + "value": "各VMのプライベートアドレスと元のポート(例:10.40.0.10:3000)にアクセスするための任意の設定です。" } }, - "zh-Hant": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "仍要更新" + "value": "可选设置,用于访问每台 VM 的私有地址和原始端口,例如 10.40.0.10:3000。" } }, - "zh-Hans": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "仍要更新" + "value": "選用設定,可存取每台 VM 的私有位址和原始連接埠,例如 10.40.0.10:3000。" } }, "ko": { "stringUnit": { "state": "translated", - "value": "그래도 업데이트" + "value": "각 VM의 비공개 주소와 원래 포트(예: 10.40.0.10:3000)에 접근하기 위한 선택 설정입니다." } }, - "ja": { + "ar": { "stringUnit": { "state": "translated", - "value": "それでもアップデート" + "value": "وصول اختياري إلى العنوان الخاص والمنافذ الأصلية لكل جهاز افتراضي، مثل 10.40.0.10:3000." + } + }, + "bs": { + "stringUnit": { + "state": "translated", + "value": "Opcionalni pristup privatnoj adresi i izvornim portovima svake VM, na primjer 10.40.0.10:3000." + } + }, + "da": { + "stringUnit": { + "state": "translated", + "value": "Valgfri adgang til hver VM’s private adresse og oprindelige porte, f.eks. 10.40.0.10:3000." + } + }, + "it": { + "stringUnit": { + "state": "translated", + "value": "Accesso facoltativo all’indirizzo privato e alle porte originali di ogni VM, ad esempio 10.40.0.10:3000." + } + }, + "km": { + "stringUnit": { + "state": "translated", + "value": "ចូលប្រើអាសយដ្ឋានឯកជន និងច្រកដើមរបស់ VM នីមួយៗ ដូចជា 10.40.0.10:3000 ជាជម្រើស។" + } + }, + "nb": { + "stringUnit": { + "state": "translated", + "value": "Valgfri tilgang til hver VMs private adresse og opprinnelige porter, som 10.40.0.10:3000." + } + }, + "pl": { + "stringUnit": { + "state": "translated", + "value": "Opcjonalny dostęp do prywatnego adresu i oryginalnych portów każdej maszyny VM, na przykład 10.40.0.10:3000." + } + }, + "pt-BR": { + "stringUnit": { + "state": "translated", + "value": "Acesso opcional ao endereço privado e às portas originais de cada VM, como 10.40.0.10:3000." + } + }, + "ru": { + "stringUnit": { + "state": "translated", + "value": "Необязательный доступ к частному адресу и исходным портам каждой VM, например 10.40.0.10:3000." + } + }, + "th": { + "stringUnit": { + "state": "translated", + "value": "การเข้าถึงที่ไม่บังคับไปยังที่อยู่ส่วนตัวและพอร์ตเดิมของ VM แต่ละเครื่อง เช่น 10.40.0.10:3000" + } + }, + "tr": { + "stringUnit": { + "state": "translated", + "value": "Her VM’nin özel adresine ve özgün bağlantı noktalarına isteğe bağlı erişim; örneğin 10.40.0.10:3000." + } + }, + "uk": { + "stringUnit": { + "state": "translated", + "value": "Необов’язковий доступ до приватної адреси та початкових портів кожної VM, наприклад 10.40.0.10:3000." } } } }, - "update.agentActivity.remote": { + "cloud.vpn.setup.howItWorks.title": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Keeps running on the remote host" + "value": "How it works" } }, "de": { "stringUnit": { "state": "translated", - "value": "Läuft auf dem Remote-Host weiter" + "value": "So funktioniert es" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Continue de s’exécuter sur l’hôte distant" + "value": "Fonctionnement" } }, - "ar": { + "es": { "stringUnit": { "state": "translated", - "value": "يستمر في العمل على المضيف البعيد" + "value": "Cómo funciona" } }, - "es": { + "ja": { "stringUnit": { "state": "translated", - "value": "Sigue ejecutándose en el host remoto" + "value": "仕組み" } }, - "zh-Hant": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "在遠端主機上持續執行" + "value": "工作原理" } }, - "zh-Hans": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "在远程主机上继续运行" + "value": "運作方式" } }, "ko": { "stringUnit": { "state": "translated", - "value": "원격 호스트에서 계속 실행됨" + "value": "작동 방식" } }, - "ja": { + "ar": { "stringUnit": { "state": "translated", - "value": "リモートホストで実行を継続" + "value": "طريقة العمل" + } + }, + "bs": { + "stringUnit": { + "state": "translated", + "value": "Kako radi" + } + }, + "da": { + "stringUnit": { + "state": "translated", + "value": "Sådan fungerer det" + } + }, + "it": { + "stringUnit": { + "state": "translated", + "value": "Come funziona" + } + }, + "km": { + "stringUnit": { + "state": "translated", + "value": "របៀបដំណើរការ" + } + }, + "nb": { + "stringUnit": { + "state": "translated", + "value": "Slik fungerer det" + } + }, + "pl": { + "stringUnit": { + "state": "translated", + "value": "Jak to działa" + } + }, + "pt-BR": { + "stringUnit": { + "state": "translated", + "value": "Como funciona" + } + }, + "ru": { + "stringUnit": { + "state": "translated", + "value": "Как это работает" + } + }, + "th": { + "stringUnit": { + "state": "translated", + "value": "วิธีการทำงาน" + } + }, + "tr": { + "stringUnit": { + "state": "translated", + "value": "Nasıl çalışır" + } + }, + "uk": { + "stringUnit": { + "state": "translated", + "value": "Як це працює" } } } }, - "update.agentActivity.needsInput": { + "cloud.vpn.setup.status.off": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Waiting for your answer" + "value": "Off. Your Cloud panes continue to work through cmux's built-in route." } }, "de": { "stringUnit": { "state": "translated", - "value": "Wartet auf deine Antwort" + "value": "Aus. Ihre Cloud-Bereiche funktionieren weiterhin über die integrierte Verbindung von cmux." } }, "fr": { "stringUnit": { "state": "translated", - "value": "En attente de votre réponse" + "value": "Désactivé. Vos volets Cloud continuent de fonctionner via la connexion intégrée de cmux." } }, - "ar": { + "es": { "stringUnit": { "state": "translated", - "value": "في انتظار إجابتك" + "value": "Desactivada. Tus paneles Cloud siguen funcionando mediante la conexión integrada de cmux." } }, - "es": { + "ja": { "stringUnit": { "state": "translated", - "value": "Esperando tu respuesta" + "value": "オフ。Cloudペインは引き続きcmux内蔵の接続経路で動作します。" } }, - "zh-Hant": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "正在等待你的回答" + "value": "已关闭。Cloud 面板仍通过 cmux 内置连接工作。" } }, - "zh-Hans": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "正在等待你的回答" + "value": "已關閉。Cloud 面板仍透過 cmux 內建連線運作。" } }, "ko": { "stringUnit": { "state": "translated", - "value": "답변을 기다리는 중" + "value": "꺼짐. Cloud 패널은 cmux의 내장 연결을 통해 계속 작동합니다." } }, - "ja": { + "ar": { "stringUnit": { "state": "translated", - "value": "回答を待っています" + "value": "متوقف. تستمر لوحات Cloud في العمل عبر اتصال cmux المضمن." + } + }, + "bs": { + "stringUnit": { + "state": "translated", + "value": "Isključeno. Cloud paneli i dalje rade preko ugrađene cmux veze." + } + }, + "da": { + "stringUnit": { + "state": "translated", + "value": "Fra. Dine Cloud-paneler fungerer stadig via cmux’ indbyggede forbindelse." + } + }, + "it": { + "stringUnit": { + "state": "translated", + "value": "Disattivata. I pannelli Cloud continuano a funzionare tramite la connessione integrata di cmux." + } + }, + "km": { + "stringUnit": { + "state": "translated", + "value": "បិទ។ ផ្ទាំង Cloud របស់អ្នកនៅតែដំណើរការតាមការភ្ជាប់ដែលមានស្រាប់របស់ cmux។" + } + }, + "nb": { + "stringUnit": { + "state": "translated", + "value": "Av. Cloud-panelene dine fortsetter å fungere gjennom cmux sin innebygde forbindelse." + } + }, + "pl": { + "stringUnit": { + "state": "translated", + "value": "Wyłączona. Panele Cloud nadal działają przez wbudowane połączenie cmux." + } + }, + "pt-BR": { + "stringUnit": { + "state": "translated", + "value": "Desativada. Seus painéis Cloud continuam funcionando pela conexão integrada do cmux." + } + }, + "ru": { + "stringUnit": { + "state": "translated", + "value": "Выключено. Панели Cloud продолжают работать через встроенное соединение cmux." + } + }, + "th": { + "stringUnit": { + "state": "translated", + "value": "ปิดอยู่ แผง Cloud ยังคงทำงานผ่านการเชื่อมต่อในตัวของ cmux" + } + }, + "tr": { + "stringUnit": { + "state": "translated", + "value": "Kapalı. Cloud panelleriniz cmux’un yerleşik bağlantısıyla çalışmaya devam eder." + } + }, + "uk": { + "stringUnit": { + "state": "translated", + "value": "Вимкнено. Панелі Cloud продовжують працювати через вбудоване з’єднання cmux." } } } }, - "update.agentActivity.working": { + "cloud.vpn.setup.steps.title": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Working" + "value": "First-time setup" } }, "de": { "stringUnit": { "state": "translated", - "value": "Arbeitet" + "value": "Ersteinrichtung" } }, "fr": { "stringUnit": { "state": "translated", - "value": "En cours" + "value": "Première configuration" } }, - "ar": { + "es": { "stringUnit": { "state": "translated", - "value": "قيد العمل" + "value": "Configuración inicial" } }, - "es": { + "ja": { "stringUnit": { "state": "translated", - "value": "Trabajando" + "value": "初回設定" } }, - "zh-Hant": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "處理中" + "value": "首次设置" } }, - "zh-Hans": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "处理中" + "value": "首次設定" } }, "ko": { "stringUnit": { "state": "translated", - "value": "작업 중" + "value": "최초 설정" } }, - "ja": { + "ar": { "stringUnit": { "state": "translated", - "value": "作業中" + "value": "الإعداد الأولي" + } + }, + "bs": { + "stringUnit": { + "state": "translated", + "value": "Prvo podešavanje" + } + }, + "da": { + "stringUnit": { + "state": "translated", + "value": "Første opsætning" + } + }, + "it": { + "stringUnit": { + "state": "translated", + "value": "Prima configurazione" + } + }, + "km": { + "stringUnit": { + "state": "translated", + "value": "ការរៀបចំលើកដំបូង" + } + }, + "nb": { + "stringUnit": { + "state": "translated", + "value": "Førstegangsoppsett" + } + }, + "pl": { + "stringUnit": { + "state": "translated", + "value": "Pierwsza konfiguracja" + } + }, + "pt-BR": { + "stringUnit": { + "state": "translated", + "value": "Primeira configuração" + } + }, + "ru": { + "stringUnit": { + "state": "translated", + "value": "Первая настройка" + } + }, + "th": { + "stringUnit": { + "state": "translated", + "value": "การตั้งค่าครั้งแรก" + } + }, + "tr": { + "stringUnit": { + "state": "translated", + "value": "İlk kurulum" + } + }, + "uk": { + "stringUnit": { + "state": "translated", + "value": "Перше налаштування" } } } }, - "update.agentActivity.idle": { + "cloud.vpn.setup.steps.extension": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Idle" + "value": "1. Click Connect Cloud VPN. When macOS asks, allow the cmux network extension in System Settings." } }, "de": { "stringUnit": { "state": "translated", - "value": "Inaktiv" + "value": "1. Klicken Sie auf Cloud-VPN verbinden. Erlauben Sie auf Aufforderung von macOS die cmux-Netzwerkerweiterung in den Systemeinstellungen." } }, "fr": { "stringUnit": { "state": "translated", - "value": "Inactif" + "value": "1. Cliquez sur Connecter le VPN Cloud. Lorsque macOS le demande, autorisez l’extension réseau cmux dans Réglages Système." } }, - "ar": { + "es": { "stringUnit": { "state": "translated", - "value": "خامل" + "value": "1. Haz clic en Conectar VPN de Cloud. Cuando macOS lo solicite, permite la extensión de red de cmux en Ajustes del Sistema." } }, - "es": { + "ja": { "stringUnit": { "state": "translated", - "value": "Inactivo" + "value": "1. 「Cloud VPNに接続」をクリックします。macOSに求められたら、システム設定でcmuxのネットワーク機能拡張を許可します。" } }, - "zh-Hant": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "閒置" + "value": "1. 点击“连接 Cloud VPN”。macOS 提示时,在系统设置中允许 cmux 网络扩展。" } }, - "zh-Hans": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "空闲" + "value": "1. 按一下「連接 Cloud VPN」。macOS 提示時,請在系統設定中允許 cmux 網路延伸功能。" } }, "ko": { "stringUnit": { "state": "translated", - "value": "유휴" + "value": "1. Cloud VPN 연결을 클릭합니다. macOS에서 요청하면 시스템 설정에서 cmux 네트워크 확장을 허용합니다." } }, - "ja": { + "ar": { "stringUnit": { "state": "translated", - "value": "アイドル" + "value": "1. انقر على توصيل VPN الخاص بـ Cloud. عندما يطلب macOS ذلك، اسمح بامتداد شبكة cmux في إعدادات النظام." } - } - } - }, - "cloudMenu.machine.freeAccess": { - "extractionState": "manual", - "localizations": { - "en": { + }, + "bs": { "stringUnit": { "state": "translated", - "value": "Free access" + "value": "1. Kliknite Poveži Cloud VPN. Kada macOS zatraži, dozvolite cmux mrežni dodatak u Postavkama sistema." } }, - "ar": { + "da": { "stringUnit": { "state": "translated", - "value": "وصول مجاني" + "value": "1. Klik på Forbind Cloud VPN. Når macOS spørger, skal du tillade cmux-netværksudvidelsen i Systemindstillinger." } }, - "de": { + "it": { "stringUnit": { "state": "translated", - "value": "Kostenloser Zugang" + "value": "1. Fai clic su Connetti VPN Cloud. Quando macOS lo richiede, consenti l’estensione di rete cmux nelle Impostazioni di Sistema." } }, - "es": { + "km": { "stringUnit": { "state": "translated", - "value": "Acceso gratuito" + "value": "1. ចុច ភ្ជាប់ Cloud VPN។ ពេល macOS ស្នើ សូមអនុញ្ញាតផ្នែកបន្ថែមបណ្តាញ cmux ក្នុងការកំណត់ប្រព័ន្ធ។" } }, - "fr": { + "nb": { "stringUnit": { "state": "translated", - "value": "Accès gratuit" + "value": "1. Klikk Koble til Cloud VPN. Når macOS spør, tillat cmux-nettverksutvidelsen i Systeminnstillinger." } }, - "ja": { + "pl": { "stringUnit": { "state": "translated", - "value": "無料アクセス" + "value": "1. Kliknij Połącz z Cloud VPN. Gdy macOS poprosi, zezwól na rozszerzenie sieci cmux w Ustawieniach systemowych." } }, - "ko": { + "pt-BR": { "stringUnit": { "state": "translated", - "value": "무료 이용" + "value": "1. Clique em Conectar Cloud VPN. Quando o macOS pedir, permita a extensão de rede do cmux nos Ajustes do Sistema." } }, - "zh-Hans": { + "ru": { "stringUnit": { "state": "translated", - "value": "免费访问" + "value": "1. Нажмите Подключить Cloud VPN. Когда macOS попросит, разрешите сетевое расширение cmux в системных настройках." } }, - "zh-Hant": { + "th": { "stringUnit": { "state": "translated", - "value": "免費存取" + "value": "1. คลิก เชื่อมต่อ Cloud VPN เมื่อ macOS ขอ ให้อนุญาตส่วนขยายเครือข่าย cmux ในการตั้งค่าระบบ" + } + }, + "tr": { + "stringUnit": { + "state": "translated", + "value": "1. Cloud VPN’e bağlan’a tıklayın. macOS istediğinde Sistem Ayarları’nda cmux ağ uzantısına izin verin." + } + }, + "uk": { + "stringUnit": { + "state": "translated", + "value": "1. Натисніть Підключити Cloud VPN. Коли macOS попросить, дозвольте мережеве розширення cmux у Системних параметрах." } } } }, - "cloudMenu.machine.locked": { + "cloud.vpn.setup.steps.settings": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Locked" + "value": "Open General > Login Items & Extensions > Network Extensions, then enable cmux." } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "مقفلة" + "value": "Öffnen Sie Allgemein > Anmeldeobjekte & Erweiterungen > Netzwerkerweiterungen und aktivieren Sie cmux." } }, - "de": { + "fr": { "stringUnit": { "state": "translated", - "value": "Gesperrt" + "value": "Ouvrez Général > Ouverture et extensions > Extensions réseau, puis activez cmux." } }, "es": { "stringUnit": { "state": "translated", - "value": "Bloqueada" + "value": "Abre General > Ítems de inicio y extensiones > Extensiones de red y activa cmux." } }, - "fr": { + "ja": { "stringUnit": { "state": "translated", - "value": "Verrouillée" + "value": "「一般」>「ログイン項目と機能拡張」>「ネットワーク機能拡張」を開き、cmuxを有効にします。" } }, - "ja": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "ロック中" + "value": "打开“通用”>“登录项与扩展”>“网络扩展”,然后启用 cmux。" + } + }, + "zh-Hant": { + "stringUnit": { + "state": "translated", + "value": "打開「一般」>「登入項目與延伸功能」>「網路延伸功能」,然後啟用 cmux。" } }, "ko": { "stringUnit": { "state": "translated", - "value": "잠김" + "value": "일반 > 로그인 항목 및 확장 프로그램 > 네트워크 확장을 열고 cmux를 활성화합니다." } }, - "zh-Hans": { + "ar": { "stringUnit": { "state": "translated", - "value": "已锁定" + "value": "افتح عام > عناصر الدخول والامتدادات > امتدادات الشبكة، ثم فعّل cmux." } }, - "zh-Hant": { + "bs": { "stringUnit": { "state": "translated", - "value": "已鎖定" + "value": "Otvorite Opšte > Stavke za prijavu i dodaci > Mrežni dodaci, pa omogućite cmux." } - } - } - }, - "cloudMenu.dashboard": { - "extractionState": "manual", - "localizations": { - "en": { + }, + "da": { "stringUnit": { "state": "translated", - "value": "Open Cloud Dashboard" + "value": "Åbn Generelt > Loginemner og udvidelser > Netværksudvidelser, og aktivér cmux." } }, - "ar": { + "it": { "stringUnit": { "state": "translated", - "value": "فتح لوحة تحكم السحابة" + "value": "Apri Generali > Elementi login ed estensioni > Estensioni di rete, quindi abilita cmux." } }, - "de": { + "km": { "stringUnit": { "state": "translated", - "value": "Cloud-Dashboard öffnen" + "value": "បើក ទូទៅ > ធាតុចូល និងផ្នែកបន្ថែម > ផ្នែកបន្ថែមបណ្តាញ ហើយបើក cmux។" } }, - "es": { + "nb": { "stringUnit": { "state": "translated", - "value": "Abrir el panel de Cloud" + "value": "Åpne Generelt > Påloggingselementer og utvidelser > Nettverksutvidelser, og aktiver cmux." } }, - "fr": { + "pl": { "stringUnit": { "state": "translated", - "value": "Ouvrir le tableau de bord Cloud" + "value": "Otwórz Ogólne > Elementy logowania i rozszerzenia > Rozszerzenia sieciowe, a następnie włącz cmux." } }, - "ja": { + "pt-BR": { "stringUnit": { "state": "translated", - "value": "クラウドダッシュボードを開く" + "value": "Abra Geral > Itens de Início e Extensões > Extensões de Rede e ative o cmux." } }, - "ko": { + "ru": { "stringUnit": { "state": "translated", - "value": "클라우드 대시보드 열기" + "value": "Откройте Основные > Объекты входа и расширения > Сетевые расширения и включите cmux." } }, - "zh-Hans": { + "th": { "stringUnit": { "state": "translated", - "value": "打开云端控制面板" + "value": "เปิด ทั่วไป > รายการเข้าสู่ระบบและส่วนขยาย > ส่วนขยายเครือข่าย แล้วเปิดใช้ cmux" } }, - "zh-Hant": { + "tr": { "stringUnit": { "state": "translated", - "value": "打開雲端控制面板" + "value": "Genel > Giriş Öğeleri ve Uzantılar > Ağ Uzantıları’nı açın ve cmux’u etkinleştirin." + } + }, + "uk": { + "stringUnit": { + "state": "translated", + "value": "Відкрийте Загальні > Об’єкти входу та розширення > Мережеві розширення й увімкніть cmux." } } } }, - "cloudMenu.diagnostics": { + "cloud.vpn.setup.steps.settingsLegacy": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Cloud Diagnostics" + "value": "Open Privacy & Security and allow the cmux extension." } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "تشخيصات السحابة" + "value": "Öffnen Sie Datenschutz & Sicherheit und erlauben Sie die cmux-Erweiterung." } }, - "de": { + "fr": { "stringUnit": { "state": "translated", - "value": "Cloud-Diagnose" + "value": "Ouvrez Confidentialité et sécurité et autorisez l’extension cmux." } }, "es": { "stringUnit": { "state": "translated", - "value": "Diagnóstico de Cloud" + "value": "Abre Privacidad y seguridad y permite la extensión de cmux." } }, - "fr": { + "ja": { "stringUnit": { "state": "translated", - "value": "Diagnostics Cloud" + "value": "「プライバシーとセキュリティ」を開き、cmuxの機能拡張を許可します。" } }, - "ja": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "クラウド診断" + "value": "打开“隐私与安全性”,然后允许 cmux 扩展。" + } + }, + "zh-Hant": { + "stringUnit": { + "state": "translated", + "value": "打開「隱私權與安全性」,然後允許 cmux 延伸功能。" } }, "ko": { "stringUnit": { "state": "translated", - "value": "클라우드 진단" + "value": "개인정보 보호 및 보안을 열고 cmux 확장을 허용합니다." } }, - "zh-Hans": { + "ar": { "stringUnit": { "state": "translated", - "value": "云端诊断" + "value": "افتح الخصوصية والأمان واسمح بامتداد cmux." } }, - "zh-Hant": { + "bs": { "stringUnit": { "state": "translated", - "value": "雲端診斷" + "value": "Otvorite Privatnost i sigurnost i dozvolite cmux dodatak." } - } - } - }, - "cloudMenu.machines.empty": { - "extractionState": "manual", - "localizations": { - "en": { + }, + "da": { "stringUnit": { "state": "translated", - "value": "No machines yet" + "value": "Åbn Anonymitet og sikkerhed, og tillad cmux-udvidelsen." } }, - "ar": { + "it": { "stringUnit": { "state": "translated", - "value": "لا توجد أجهزة بعد" + "value": "Apri Privacy e sicurezza e consenti l’estensione cmux." } }, - "de": { + "km": { "stringUnit": { "state": "translated", - "value": "Noch keine Maschinen" + "value": "បើក ឯកជនភាព និងសុវត្ថិភាព ហើយអនុញ្ញាតផ្នែកបន្ថែម cmux។" } }, - "es": { + "nb": { "stringUnit": { "state": "translated", - "value": "Aún no hay máquinas" + "value": "Åpne Personvern og sikkerhet og tillat cmux-utvidelsen." } }, - "fr": { + "pl": { "stringUnit": { "state": "translated", - "value": "Aucune machine pour le moment" + "value": "Otwórz Prywatność i ochrona i zezwól na rozszerzenie cmux." } }, - "ja": { + "pt-BR": { "stringUnit": { "state": "translated", - "value": "マシンはまだありません" + "value": "Abra Privacidade e Segurança e permita a extensão do cmux." } }, - "ko": { + "ru": { "stringUnit": { "state": "translated", - "value": "아직 머신이 없습니다" + "value": "Откройте Конфиденциальность и безопасность и разрешите расширение cmux." } }, - "zh-Hans": { + "th": { "stringUnit": { "state": "translated", - "value": "还没有机器" + "value": "เปิด ความเป็นส่วนตัวและความปลอดภัย แล้วอนุญาตส่วนขยาย cmux" } }, - "zh-Hant": { + "tr": { "stringUnit": { "state": "translated", - "value": "尚無機器" + "value": "Gizlilik ve Güvenlik’i açın ve cmux uzantısına izin verin." + } + }, + "uk": { + "stringUnit": { + "state": "translated", + "value": "Відкрийте Конфіденційність і безпека та дозвольте розширення cmux." } } } }, - "cloudMenu.machines.title": { + "cloud.vpn.setup.steps.configuration": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Cloud Machines" + "value": "2. Allow cmux to add a VPN configuration named cmux Cloud. This is a separate macOS permission." } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "أجهزة السحابة" + "value": "2. Erlauben Sie cmux, eine VPN-Konfiguration namens cmux Cloud hinzuzufügen. Dies ist eine separate macOS-Berechtigung." } }, - "de": { + "fr": { "stringUnit": { "state": "translated", - "value": "Cloud-Maschinen" + "value": "2. Autorisez cmux à ajouter une configuration VPN nommée cmux Cloud. Il s’agit d’une autorisation macOS distincte." } }, "es": { "stringUnit": { "state": "translated", - "value": "Máquinas de Cloud" + "value": "2. Permite que cmux añada una configuración VPN llamada cmux Cloud. Este es un permiso independiente de macOS." } }, - "fr": { + "ja": { "stringUnit": { "state": "translated", - "value": "Machines Cloud" + "value": "2. cmux Cloudという名前のVPN構成の追加を許可します。これは別のmacOS権限です。" } }, - "ja": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "クラウドマシン" + "value": "2. 允许 cmux 添加名为 cmux Cloud 的 VPN 配置。这是单独的 macOS 权限。" + } + }, + "zh-Hant": { + "stringUnit": { + "state": "translated", + "value": "2. 允許 cmux 加入名為 cmux Cloud 的 VPN 設定。這是另一項 macOS 權限。" } }, "ko": { "stringUnit": { "state": "translated", - "value": "클라우드 머신" + "value": "2. cmux가 cmux Cloud라는 VPN 구성을 추가하도록 허용합니다. 이는 별도의 macOS 권한입니다." } }, - "zh-Hans": { + "ar": { "stringUnit": { "state": "translated", - "value": "云端机器" + "value": "2. اسمح لـ cmux بإضافة إعداد VPN باسم cmux Cloud. هذا إذن منفصل في macOS." } }, - "zh-Hant": { + "bs": { "stringUnit": { "state": "translated", - "value": "雲端機器" + "value": "2. Dozvolite cmux-u da doda VPN konfiguraciju pod imenom cmux Cloud. Ovo je posebna macOS dozvola." } - } - } - }, - "cloudMenu.more": { - "extractionState": "manual", - "localizations": { - "en": { + }, + "da": { "stringUnit": { "state": "translated", - "value": "More Cloud" + "value": "2. Tillad cmux at tilføje en VPN-konfiguration med navnet cmux Cloud. Dette er en separat macOS-tilladelse." } }, - "ar": { + "it": { "stringUnit": { "state": "translated", - "value": "المزيد من السحابة" + "value": "2. Consenti a cmux di aggiungere una configurazione VPN chiamata cmux Cloud. È un’autorizzazione macOS separata." } }, - "de": { + "km": { "stringUnit": { "state": "translated", - "value": "Mehr Cloud" + "value": "2. អនុញ្ញាតឱ្យ cmux បន្ថែមការកំណត់ VPN ឈ្មោះ cmux Cloud។ នេះជាសិទ្ធិ macOS ផ្សេងមួយ។" } }, - "es": { + "nb": { "stringUnit": { "state": "translated", - "value": "Más de Cloud" + "value": "2. Tillat cmux å legge til en VPN-konfigurasjon kalt cmux Cloud. Dette er en separat macOS-tillatelse." } }, - "fr": { + "pl": { "stringUnit": { "state": "translated", - "value": "Plus de Cloud" + "value": "2. Zezwól cmux dodać konfigurację VPN o nazwie cmux Cloud. To osobne uprawnienie macOS." } }, - "ja": { + "pt-BR": { "stringUnit": { "state": "translated", - "value": "その他のクラウド" + "value": "2. Permita que o cmux adicione uma configuração VPN chamada cmux Cloud. Esta é uma permissão separada do macOS." } }, - "ko": { + "ru": { "stringUnit": { "state": "translated", - "value": "클라우드 더 보기" + "value": "2. Разрешите cmux добавить VPN-конфигурацию с именем cmux Cloud. Это отдельное разрешение macOS." } }, - "zh-Hans": { + "th": { "stringUnit": { "state": "translated", - "value": "更多云端项目" + "value": "2. อนุญาตให้ cmux เพิ่มการกำหนดค่า VPN ชื่อ cmux Cloud นี่เป็นสิทธิ์ macOS แยกต่างหาก" } }, - "zh-Hant": { + "tr": { "stringUnit": { "state": "translated", - "value": "更多雲端項目" + "value": "2. cmux’un cmux Cloud adlı bir VPN yapılandırması eklemesine izin verin. Bu ayrı bir macOS iznidir." + } + }, + "uk": { + "stringUnit": { + "state": "translated", + "value": "2. Дозвольте cmux додати конфігурацію VPN з назвою cmux Cloud. Це окремий дозвіл macOS." } } } }, - "cloudMenu.problem.requiresPro": { + "cloud.vpn.setup.steps.return": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Cloud machines need cmux Pro" + "value": "3. Return to this pane. The connection continues automatically after approval. Disconnect here when finished. Quitting cmux or signing out also disconnects it." } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "تتطلب أجهزة السحابة cmux Pro" + "value": "3. Kehren Sie zu diesem Bereich zurück. Die Verbindung wird nach der Genehmigung automatisch fortgesetzt. Trennen Sie sie hier, wenn Sie fertig sind. Das Beenden von cmux oder Abmelden trennt sie ebenfalls." } }, - "de": { + "fr": { "stringUnit": { "state": "translated", - "value": "Cloud-Maschinen erfordern cmux Pro" + "value": "3. Revenez à ce volet. La connexion reprend automatiquement après autorisation. Déconnectez-la ici lorsque vous avez terminé. Quitter cmux ou fermer la session la déconnecte aussi." } }, "es": { "stringUnit": { "state": "translated", - "value": "Las máquinas de Cloud requieren cmux Pro" + "value": "3. Vuelve a este panel. La conexión continúa automáticamente tras la autorización. Desconéctala aquí cuando termines. Salir de cmux o cerrar sesión también la desconecta." } }, - "fr": { + "ja": { "stringUnit": { "state": "translated", - "value": "Les machines Cloud nécessitent cmux Pro" + "value": "3. このペインに戻ります。承認後、接続は自動的に続行されます。使い終わったらここで切断してください。cmuxの終了やサインアウトでも切断されます。" } }, - "ja": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "クラウドマシンには cmux Pro が必要です" + "value": "3. 返回此面板。批准后连接会自动继续。完成后可在此断开连接。退出 cmux 或退出登录也会断开连接。" + } + }, + "zh-Hant": { + "stringUnit": { + "state": "translated", + "value": "3. 返回此面板。核准後連線會自動繼續。完成後可在此中斷連線。結束 cmux 或登出也會中斷連線。" } }, "ko": { "stringUnit": { "state": "translated", - "value": "클라우드 머신에는 cmux Pro가 필요합니다" + "value": "3. 이 패널로 돌아옵니다. 승인 후 연결이 자동으로 계속됩니다. 사용을 마치면 여기에서 연결을 해제하세요. cmux를 종료하거나 로그아웃해도 연결이 해제됩니다." } }, - "zh-Hans": { + "ar": { "stringUnit": { "state": "translated", - "value": "云端机器需要 cmux Pro" + "value": "3. ارجع إلى هذه اللوحة. يستمر الاتصال تلقائيًا بعد الموافقة. اقطع الاتصال هنا عند الانتهاء. يؤدي إنهاء cmux أو تسجيل الخروج أيضًا إلى قطع الاتصال." } }, - "zh-Hant": { + "bs": { "stringUnit": { "state": "translated", - "value": "雲端機器需要 cmux Pro" + "value": "3. Vratite se na ovaj panel. Veza se nastavlja automatski nakon odobrenja. Ovdje prekinite vezu kada završite. Izlazak iz cmux-a ili odjava takođe prekida vezu." } - } - } - }, - "cloudMenu.problem.session": { - "extractionState": "manual", - "localizations": { - "en": { + }, + "da": { "stringUnit": { "state": "translated", - "value": "Your Cloud session expired" + "value": "3. Gå tilbage til dette panel. Forbindelsen fortsætter automatisk efter godkendelsen. Afbryd her, når du er færdig. Hvis du afslutter cmux eller logger ud, afbrydes forbindelsen også." } }, - "ar": { + "it": { "stringUnit": { "state": "translated", - "value": "انتهت صلاحية جلسة السحابة" + "value": "3. Torna a questo pannello. La connessione continua automaticamente dopo l’autorizzazione. Disconnettila qui quando hai finito. Anche uscire da cmux o effettuare il logout la disconnette." } }, - "de": { + "km": { "stringUnit": { "state": "translated", - "value": "Deine Cloud-Sitzung ist abgelaufen" + "value": "3. ត្រឡប់ទៅផ្ទាំងនេះ។ ការភ្ជាប់នឹងបន្តដោយស្វ័យប្រវត្តិបន្ទាប់ពីអនុម័ត។ ផ្តាច់នៅទីនេះពេលបញ្ចប់។ ការបិទ cmux ឬចាកចេញក៏ផ្តាច់ការភ្ជាប់ដែរ។" } }, - "es": { + "nb": { "stringUnit": { "state": "translated", - "value": "Tu sesión de Cloud ha caducado" + "value": "3. Gå tilbake til dette panelet. Forbindelsen fortsetter automatisk etter godkjenning. Koble fra her når du er ferdig. Avslutning av cmux eller utlogging kobler også fra." } }, - "fr": { + "pl": { "stringUnit": { "state": "translated", - "value": "Votre session Cloud a expiré" + "value": "3. Wróć do tego panelu. Połączenie będzie kontynuowane automatycznie po zatwierdzeniu. Po zakończeniu rozłącz je tutaj. Zamknięcie cmux lub wylogowanie również rozłączy połączenie." } }, - "ja": { + "pt-BR": { "stringUnit": { "state": "translated", - "value": "クラウドのセッションが期限切れです" + "value": "3. Volte a este painel. A conexão continuará automaticamente após a aprovação. Desconecte aqui quando terminar. Sair do cmux ou encerrar a sessão também desconecta." } }, - "ko": { + "ru": { "stringUnit": { "state": "translated", - "value": "클라우드 세션이 만료되었습니다" + "value": "3. Вернитесь в эту панель. После подтверждения соединение продолжится автоматически. Завершив работу, отключите его здесь. Выход из cmux или системы также отключает соединение." } }, - "zh-Hans": { + "th": { "stringUnit": { "state": "translated", - "value": "你的云端会话已过期" + "value": "3. กลับมาที่แผงนี้ การเชื่อมต่อจะดำเนินต่อโดยอัตโนมัติหลังการอนุมัติ ตัดการเชื่อมต่อที่นี่เมื่อเสร็จแล้ว การออกจาก cmux หรือออกจากระบบจะตัดการเชื่อมต่อด้วย" } }, - "zh-Hant": { + "tr": { "stringUnit": { "state": "translated", - "value": "你的雲端工作階段已過期" + "value": "3. Bu panele dönün. Onaydan sonra bağlantı otomatik olarak devam eder. Bitirdiğinizde buradan bağlantıyı kesin. cmux’tan çıkmak veya oturumu kapatmak da bağlantıyı keser." + } + }, + "uk": { + "stringUnit": { + "state": "translated", + "value": "3. Поверніться до цієї панелі. Після схвалення з’єднання продовжиться автоматично. Завершивши роботу, від’єднайте його тут. Вихід із cmux або системи також від’єднає з’єднання." } } } }, - "cloudMenu.problem.unreachable": { + "cloud.vpn.setup.address.title": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Could not reach cmux Cloud" + "value": "Private addresses" } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "تعذر الوصول إلى cmux Cloud" + "value": "Private Adressen" } }, - "de": { + "fr": { "stringUnit": { "state": "translated", - "value": "cmux Cloud ist nicht erreichbar" + "value": "Adresses privées" } }, "es": { "stringUnit": { "state": "translated", - "value": "No se pudo conectar con cmux Cloud" + "value": "Direcciones privadas" } }, - "fr": { + "ja": { "stringUnit": { "state": "translated", - "value": "Impossible de joindre cmux Cloud" + "value": "プライベートアドレス" } }, - "ja": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "cmux Cloud に接続できません" + "value": "私有地址" + } + }, + "zh-Hant": { + "stringUnit": { + "state": "translated", + "value": "私有位址" } }, "ko": { "stringUnit": { "state": "translated", - "value": "cmux Cloud에 연결할 수 없습니다" + "value": "비공개 주소" } }, - "zh-Hans": { + "ar": { "stringUnit": { "state": "translated", - "value": "无法连接 cmux Cloud" + "value": "العناوين الخاصة" } }, - "zh-Hant": { + "bs": { "stringUnit": { "state": "translated", - "value": "無法連線到 cmux Cloud" + "value": "Privatne adrese" } - } - } - }, - "cloudMenu.retry": { - "extractionState": "manual", - "localizations": { - "en": { + }, + "da": { "stringUnit": { "state": "translated", - "value": "Try Again" + "value": "Private adresser" } }, - "ar": { + "it": { "stringUnit": { "state": "translated", - "value": "إعادة المحاولة" + "value": "Indirizzi privati" } }, - "de": { + "km": { "stringUnit": { "state": "translated", - "value": "Erneut versuchen" + "value": "អាសយដ្ឋានឯកជន" } }, - "es": { + "nb": { "stringUnit": { "state": "translated", - "value": "Reintentar" + "value": "Private adresser" } }, - "fr": { + "pl": { "stringUnit": { "state": "translated", - "value": "Réessayer" + "value": "Prywatne adresy" } }, - "ja": { + "pt-BR": { "stringUnit": { "state": "translated", - "value": "再試行" + "value": "Endereços privados" } }, - "ko": { + "ru": { "stringUnit": { "state": "translated", - "value": "다시 시도" + "value": "Частные адреса" } }, - "zh-Hans": { + "th": { "stringUnit": { "state": "translated", - "value": "重试" + "value": "ที่อยู่ส่วนตัว" } }, - "zh-Hant": { + "tr": { "stringUnit": { "state": "translated", - "value": "再試一次" + "value": "Özel adresler" + } + }, + "uk": { + "stringUnit": { + "state": "translated", + "value": "Приватні адреси" } } } }, - "cloudMenu.showMachines": { + "cloud.vpn.setup.openSettings": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Show Machines Sidebar" + "value": "Open System Settings" } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "إظهار الشريط الجانبي للأجهزة" + "value": "Systemeinstellungen öffnen" } }, - "de": { + "fr": { "stringUnit": { "state": "translated", - "value": "Maschinen-Seitenleiste anzeigen" + "value": "Ouvrir Réglages Système" } }, "es": { "stringUnit": { "state": "translated", - "value": "Mostrar la barra lateral de máquinas" + "value": "Abrir Ajustes del Sistema" } }, - "fr": { + "ja": { "stringUnit": { "state": "translated", - "value": "Afficher la barre latérale des machines" + "value": "システム設定を開く" } }, - "ja": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "マシンのサイドバーを表示" + "value": "打开系统设置" + } + }, + "zh-Hant": { + "stringUnit": { + "state": "translated", + "value": "打開系統設定" } }, "ko": { "stringUnit": { "state": "translated", - "value": "머신 사이드바 보기" + "value": "시스템 설정 열기" } }, - "zh-Hans": { + "ar": { "stringUnit": { "state": "translated", - "value": "显示机器侧边栏" + "value": "فتح إعدادات النظام" } }, - "zh-Hant": { + "bs": { "stringUnit": { "state": "translated", - "value": "顯示機器側邊欄" + "value": "Otvori Postavke sistema" } - } - } - }, - "cloudMenu.signOut": { - "extractionState": "manual", - "localizations": { - "en": { + }, + "da": { "stringUnit": { "state": "translated", - "value": "Sign Out" + "value": "Åbn Systemindstillinger" } }, - "ar": { + "it": { "stringUnit": { "state": "translated", - "value": "تسجيل الخروج" + "value": "Apri Impostazioni di Sistema" } }, - "de": { + "km": { "stringUnit": { "state": "translated", - "value": "Abmelden" + "value": "បើកការកំណត់ប្រព័ន្ធ" } }, - "es": { + "nb": { "stringUnit": { "state": "translated", - "value": "Cerrar sesión" + "value": "Åpne Systeminnstillinger" } }, - "fr": { + "pl": { "stringUnit": { "state": "translated", - "value": "Se déconnecter" + "value": "Otwórz Ustawienia systemowe" } }, - "ja": { + "pt-BR": { "stringUnit": { "state": "translated", - "value": "サインアウト" + "value": "Abrir Ajustes do Sistema" } }, - "ko": { + "ru": { "stringUnit": { "state": "translated", - "value": "로그아웃" + "value": "Открыть системные настройки" } }, - "zh-Hans": { + "th": { "stringUnit": { "state": "translated", - "value": "退出登录" + "value": "เปิดการตั้งค่าระบบ" } }, - "zh-Hant": { + "tr": { "stringUnit": { "state": "translated", - "value": "登出" + "value": "Sistem Ayarlarını aç" + } + }, + "uk": { + "stringUnit": { + "state": "translated", + "value": "Відкрити Системні параметри" } } } }, - "cloudMenu.signedIn": { - "extractionState": "manual", + "settings.app.accentColor.custom": { "localizations": { - "en": { + "ar": { "stringUnit": { "state": "translated", - "value": "Signed In" + "value": "مخصص" } }, - "ar": { + "bs": { "stringUnit": { "state": "translated", - "value": "تم تسجيل الدخول" + "value": "Prilagođeno" + } + }, + "da": { + "stringUnit": { + "state": "translated", + "value": "Tilpasset" } }, "de": { "stringUnit": { "state": "translated", - "value": "Angemeldet" + "value": "Benutzerdefiniert" + } + }, + "en": { + "stringUnit": { + "state": "translated", + "value": "Custom" } }, "es": { "stringUnit": { "state": "translated", - "value": "Sesión iniciada" + "value": "Personalizado" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Connecté" + "value": "Personnalisée" + } + }, + "it": { + "stringUnit": { + "state": "translated", + "value": "Personalizzato" } }, "ja": { "stringUnit": { "state": "translated", - "value": "サインイン済み" + "value": "カスタム" } }, "ko": { "stringUnit": { "state": "translated", - "value": "로그인됨" + "value": "사용자 지정" + } + }, + "nb": { + "stringUnit": { + "state": "translated", + "value": "Egendefinert" + } + }, + "pl": { + "stringUnit": { + "state": "translated", + "value": "Niestandardowy" + } + }, + "pt-BR": { + "stringUnit": { + "state": "translated", + "value": "Personalizado" + } + }, + "ru": { + "stringUnit": { + "state": "translated", + "value": "Пользовательский" + } + }, + "th": { + "stringUnit": { + "state": "translated", + "value": "กำหนดเอง" + } + }, + "tr": { + "stringUnit": { + "state": "translated", + "value": "Özel" + } + }, + "uk": { + "stringUnit": { + "state": "translated", + "value": "Власний" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "已登录" + "value": "自定义" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "已登入" + "value": "自訂" } } } }, - "cloudMenu.team": { + "devices.incoming.confirm.enable": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Team" + "value": "Make Discoverable" } }, "ar": { "stringUnit": { "state": "translated", - "value": "الفريق" + "value": "جعل الجهاز قابلاً للاكتشاف" } }, "de": { "stringUnit": { "state": "translated", - "value": "Team" + "value": "Auffindbar machen" } }, "es": { "stringUnit": { "state": "translated", - "value": "Equipo" + "value": "Hacer detectable" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Équipe" + "value": "Rendre détectable" } }, "ja": { "stringUnit": { "state": "translated", - "value": "チーム" + "value": "検出可能にする" } }, "ko": { "stringUnit": { "state": "translated", - "value": "팀" + "value": "검색 허용" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "团队" + "value": "允许发现" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "團隊" + "value": "允許探索" } - } - } - }, - "cloudMenu.title": { - "extractionState": "manual", - "localizations": { - "en": { + }, + "bs": { "stringUnit": { "state": "translated", - "value": "Cloud" + "value": "Učini dostupnim" } }, - "ar": { + "da": { "stringUnit": { "state": "translated", - "value": "السحابة" + "value": "Gør synlig" } }, - "de": { + "it": { "stringUnit": { "state": "translated", - "value": "Cloud" + "value": "Rendi individuabile" } }, - "es": { + "km": { "stringUnit": { "state": "translated", - "value": "Cloud" + "value": "ធ្វើឲ្យអាចរកឃើញ" } }, - "fr": { + "nb": { "stringUnit": { "state": "translated", - "value": "Cloud" + "value": "Gjør denne Mac-en synlig" } }, - "ja": { + "pl": { "stringUnit": { "state": "translated", - "value": "クラウド" + "value": "Włącz wykrywanie" } }, - "ko": { + "pt-BR": { "stringUnit": { "state": "translated", - "value": "클라우드" + "value": "Tornar detectável" } }, - "zh-Hans": { + "ru": { "stringUnit": { "state": "translated", - "value": "云端" + "value": "Сделать доступным для обнаружения" } }, - "zh-Hant": { + "th": { "stringUnit": { "state": "translated", - "value": "雲端" + "value": "ทำให้ Mac เครื่องนี้ค้นพบได้" + } + }, + "tr": { + "stringUnit": { + "state": "translated", + "value": "Keşfedilebilir yap" + } + }, + "uk": { + "stringUnit": { + "state": "translated", + "value": "Зробити цей Mac видимим" } } } }, - "cloudMenu.tone.attention": { + "devices.incoming.confirm.message": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Needs attention" + "value": "Other Macs signed in to your cmux account may discover this Mac and connect to its workspaces. Do you want to continue?" } }, "ar": { "stringUnit": { "state": "translated", - "value": "يحتاج إلى انتباه" + "value": "قد تكتشف أجهزة Mac الأخرى التي سجّلت الدخول إلى حساب cmux هذا الـ Mac وتتصل بمساحات العمل فيه. هل تريد المتابعة؟" } }, "de": { "stringUnit": { "state": "translated", - "value": "Erfordert Aufmerksamkeit" + "value": "Andere Macs, die bei deinem cmux-Konto angemeldet sind, können diesen Mac finden und sich mit seinen Arbeitsbereichen verbinden. Möchtest du fortfahren?" } }, "es": { "stringUnit": { "state": "translated", - "value": "Requiere atención" + "value": "Otros Mac que hayan iniciado sesión en tu cuenta de cmux podrán descubrir este Mac y conectarse a sus espacios de trabajo. ¿Quieres continuar?" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Nécessite une attention" + "value": "Les autres Mac connectés à votre compte cmux pourront détecter ce Mac et se connecter à ses espaces de travail. Voulez-vous continuer ?" } }, "ja": { "stringUnit": { "state": "translated", - "value": "対応が必要" + "value": "cmuxアカウントにサインインしているほかのMacから、このMacが検出され、ワークスペースに接続されることがあります。続けますか?" } }, "ko": { "stringUnit": { "state": "translated", - "value": "확인 필요" + "value": "cmux 계정에 로그인한 다른 Mac에서 이 Mac을 검색하고 작업 공간에 연결할 수 있습니다. 계속하시겠습니까?" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "需要处理" + "value": "登录你 cmux 帐户的其他 Mac 可能会发现此 Mac 并连接到其工作区。要继续吗?" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "需要處理" + "value": "登入您 cmux 帳戶的其他 Mac 可能會探索此 Mac 並連線至其工作區。要繼續嗎?" } - } - } - }, - "menu.cloud.title": { - "extractionState": "manual", - "localizations": { - "en": { + }, + "bs": { "stringUnit": { "state": "translated", - "value": "Cloud" + "value": "Drugi Mac računari prijavljeni na vaš cmux nalog možda će otkriti ovaj Mac i povezati se s njegovim radnim prostorima. Želite li nastaviti?" } }, - "ar": { + "da": { "stringUnit": { "state": "translated", - "value": "السحابة" + "value": "Andre Mac-computere, der er logget ind på din cmux-konto, kan muligvis finde denne Mac og oprette forbindelse til dens arbejdsområder. Vil du fortsætte?" } }, - "de": { + "it": { "stringUnit": { "state": "translated", - "value": "Cloud" + "value": "Gli altri Mac che hanno effettuato l’accesso al tuo account cmux potrebbero rilevare questo Mac e connettersi ai suoi spazi di lavoro. Vuoi continuare?" } }, - "es": { + "km": { "stringUnit": { "state": "translated", - "value": "Cloud" + "value": "Mac ផ្សេងទៀតដែលបានចូលគណនី cmux របស់អ្នក អាចរកឃើញ Mac នេះ និងភ្ជាប់ទៅកាន់ workspace របស់វា។ តើអ្នកចង់បន្តឬទេ?" } }, - "fr": { + "nb": { "stringUnit": { "state": "translated", - "value": "Cloud" + "value": "Andre Mac-maskiner som er logget på cmux-kontoen din, kan finne denne Mac-en og koble til arbeidsområdene. Vil du fortsette?" } }, - "ja": { + "pl": { "stringUnit": { "state": "translated", - "value": "クラウド" + "value": "Inne Maki zalogowane na Twoje konto cmux mogą wykryć tego Maca i połączyć się z jego obszarami roboczymi. Czy chcesz kontynuować?" } }, - "ko": { + "pt-BR": { "stringUnit": { "state": "translated", - "value": "클라우드" + "value": "Outros Macs conectados à sua conta cmux poderão descobrir este Mac e se conectar aos seus espaços de trabalho. Deseja continuar?" } }, - "zh-Hans": { + "ru": { "stringUnit": { "state": "translated", - "value": "云端" + "value": "Другие Mac, вошедшие в вашу учётную запись cmux, могут обнаружить этот Mac и подключиться к его рабочим пространствам. Продолжить?" } }, - "zh-Hant": { + "th": { "stringUnit": { "state": "translated", - "value": "雲端" + "value": "Mac เครื่องอื่นที่ลงชื่อเข้าใช้บัญชี cmux ของคุณอาจค้นพบ Mac เครื่องนี้และเชื่อมต่อกับพื้นที่ทำงานของเครื่องนี้ คุณต้องการดำเนินการต่อหรือไม่" + } + }, + "tr": { + "stringUnit": { + "state": "translated", + "value": "cmux hesabınızda oturum açmış diğer Mac’ler bu Mac’i keşfedebilir ve çalışma alanlarına bağlanabilir. Devam etmek istiyor musunuz?" + } + }, + "uk": { + "stringUnit": { + "state": "translated", + "value": "Інші Mac, на яких виконано вхід у ваш обліковий запис cmux, можуть виявити цей Mac і підключитися до його робочих просторів. Продовжити?" } } } }, - "cloudMenu.machines.loading": { + "devices.incoming.confirm.title": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Cloud Machines · Loading…" + "value": "Make this Mac discoverable?" } }, "ar": { "stringUnit": { "state": "translated", - "value": "أجهزة السحابة · جارٍ التحميل…" + "value": "هل تريد جعل جهاز Mac هذا قابلاً للاكتشاف؟" } }, "de": { "stringUnit": { "state": "translated", - "value": "Cloud-Maschinen · Wird geladen…" + "value": "Diesen Mac auffindbar machen?" } }, "es": { "stringUnit": { "state": "translated", - "value": "Máquinas de Cloud · Cargando…" + "value": "¿Hacer que este Mac sea detectable?" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Machines Cloud · Chargement…" + "value": "Rendre ce Mac détectable ?" } }, "ja": { "stringUnit": { "state": "translated", - "value": "クラウドマシン · 読み込み中…" + "value": "このMacを検出可能にしますか?" } }, "ko": { "stringUnit": { "state": "translated", - "value": "클라우드 머신 · 불러오는 중…" + "value": "이 Mac을 검색 가능하게 할까요?" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "云端机器 · 正在加载…" + "value": "允许发现此 Mac 吗?" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "雲端機器 · 正在載入…" + "value": "要允許探索此 Mac 嗎?" + } + }, + "bs": { + "stringUnit": { + "state": "translated", + "value": "Učiniti ovaj Mac dostupnim?" + } + }, + "da": { + "stringUnit": { + "state": "translated", + "value": "Gør denne Mac synlig?" + } + }, + "it": { + "stringUnit": { + "state": "translated", + "value": "Rendere individuabile questo Mac?" + } + }, + "km": { + "stringUnit": { + "state": "translated", + "value": "ធ្វើឲ្យ Mac នេះអាចរកឃើញ?" + } + }, + "nb": { + "stringUnit": { + "state": "translated", + "value": "Gjøre denne Mac-en synlig?" + } + }, + "pl": { + "stringUnit": { + "state": "translated", + "value": "Uwidocznić tego Maca?" + } + }, + "pt-BR": { + "stringUnit": { + "state": "translated", + "value": "Tornar este Mac detectável?" + } + }, + "ru": { + "stringUnit": { + "state": "translated", + "value": "Сделать этот Mac доступным для обнаружения?" + } + }, + "th": { + "stringUnit": { + "state": "translated", + "value": "ทำให้ Mac เครื่องนี้ค้นพบได้หรือไม่" + } + }, + "tr": { + "stringUnit": { + "state": "translated", + "value": "Bu Mac keşfedilebilir yapılsın mı?" + } + }, + "uk": { + "stringUnit": { + "state": "translated", + "value": "Зробити цей Mac доступним для виявлення?" } } } }, - "cloudMenu.machines.showAll": { + "cloudTree.device.status.connecting": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Show All Machines…" + "value": "Connecting…" } }, "ar": { "stringUnit": { "state": "translated", - "value": "عرض كل الأجهزة…" + "value": "جارٍ الاتصال…" } }, "de": { "stringUnit": { "state": "translated", - "value": "Alle Maschinen anzeigen…" + "value": "Wird verbunden…" } }, "es": { "stringUnit": { "state": "translated", - "value": "Mostrar todas las máquinas…" + "value": "Conectando…" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Afficher toutes les machines…" + "value": "Connexion…" } }, "ja": { "stringUnit": { "state": "translated", - "value": "すべてのマシンを表示…" + "value": "接続中…" } }, "ko": { "stringUnit": { "state": "translated", - "value": "모든 머신 보기…" + "value": "연결 중…" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "显示所有机器…" + "value": "正在连接…" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "顯示所有機器…" + "value": "正在連線…" } } } }, - "cloudMenu.newMachine": { + "cloud.teamPicker.createSheet.create": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "New Cloud Machine…" + "value": "Create" } }, "ar": { "stringUnit": { "state": "translated", - "value": "جهاز سحابي جديد…" + "value": "إنشاء" } }, "de": { "stringUnit": { "state": "translated", - "value": "Neue Cloud-Maschine…" + "value": "Erstellen" } }, "es": { "stringUnit": { "state": "translated", - "value": "Nueva máquina de Cloud…" + "value": "Crear" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Nouvelle machine Cloud…" + "value": "Créer" } }, "ja": { "stringUnit": { "state": "translated", - "value": "新規クラウドマシン…" + "value": "作成" } }, "ko": { "stringUnit": { "state": "translated", - "value": "새 클라우드 머신…" + "value": "만들기" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "新建云端机器…" + "value": "创建" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "新增雲端機器…" + "value": "建立" } } } }, - "cloudMenu.signIn": { + "cloud.teamPicker.createSheet.title": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Sign In to cmux Cloud…" + "value": "Create Team" } }, "ar": { "stringUnit": { "state": "translated", - "value": "تسجيل الدخول إلى cmux Cloud…" + "value": "إنشاء فريق" } }, "de": { "stringUnit": { "state": "translated", - "value": "Bei cmux Cloud anmelden…" + "value": "Team erstellen" } }, "es": { "stringUnit": { "state": "translated", - "value": "Iniciar sesión en cmux Cloud…" + "value": "Crear equipo" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Se connecter à cmux Cloud…" + "value": "Créer une équipe" } }, "ja": { "stringUnit": { "state": "translated", - "value": "cmux Cloud にサインイン…" + "value": "チームを作成" } }, "ko": { "stringUnit": { "state": "translated", - "value": "cmux Cloud에 로그인…" + "value": "팀 만들기" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "登录 cmux Cloud…" + "value": "创建团队" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "登入 cmux Cloud…" + "value": "建立團隊" } } } }, - "cloudMenu.signInAgain": { + "cloud.teamPicker.createTeam": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Sign In Again…" + "value": "Create Team…" } }, "ar": { "stringUnit": { "state": "translated", - "value": "تسجيل الدخول مجددًا…" + "value": "إنشاء فريق…" } }, "de": { "stringUnit": { "state": "translated", - "value": "Erneut anmelden…" + "value": "Team erstellen…" } }, "es": { "stringUnit": { "state": "translated", - "value": "Volver a iniciar sesión…" + "value": "Crear equipo…" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Se reconnecter…" + "value": "Créer une équipe…" } }, "ja": { "stringUnit": { "state": "translated", - "value": "もう一度サインイン…" + "value": "チームを作成…" } }, "ko": { "stringUnit": { "state": "translated", - "value": "다시 로그인…" + "value": "팀 만들기…" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "重新登录…" + "value": "创建团队…" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "重新登入…" + "value": "建立團隊…" } } } }, - "cloudMenu.signingIn": { + "cloud.teamPicker.switching": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Signing In…" + "value": "Switching teams…" } }, "ar": { "stringUnit": { "state": "translated", - "value": "جارٍ تسجيل الدخول…" + "value": "جارٍ تبديل الفريق…" } }, "de": { "stringUnit": { "state": "translated", - "value": "Anmeldung läuft…" + "value": "Team wird gewechselt…" } }, "es": { "stringUnit": { "state": "translated", - "value": "Iniciando sesión…" + "value": "Cambiando de equipo…" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Connexion…" + "value": "Changement d’équipe…" } }, "ja": { "stringUnit": { "state": "translated", - "value": "サインイン中…" + "value": "チームを切り替え中…" } }, "ko": { "stringUnit": { "state": "translated", - "value": "로그인 중…" + "value": "팀 전환 중…" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "正在登录…" + "value": "正在切换团队…" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "正在登入…" + "value": "正在切換團隊…" } } } }, - "cloudMenu.upgrade": { + "cloud.teamPicker.creating": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Upgrade to Pro…" + "value": "Creating team…" } }, "ar": { "stringUnit": { "state": "translated", - "value": "الترقية إلى Pro…" + "value": "جارٍ إنشاء الفريق…" } }, "de": { "stringUnit": { "state": "translated", - "value": "Auf Pro upgraden…" + "value": "Team wird erstellt…" } }, "es": { "stringUnit": { "state": "translated", - "value": "Mejorar a Pro…" + "value": "Creando equipo…" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Passer à Pro…" + "value": "Création de l’équipe…" } }, "ja": { "stringUnit": { "state": "translated", - "value": "Pro にアップグレード…" + "value": "チームを作成中…" } }, "ko": { "stringUnit": { "state": "translated", - "value": "Pro로 업그레이드…" + "value": "팀 만드는 중…" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "升级到 Pro…" + "value": "正在创建团队…" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "升級至 Pro…" + "value": "正在建立團隊…" } } } }, - "shortcut.diffViewerNextHunk.label": { + "socket.authTeam.busy": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Diff Viewer: Next Hunk" + "value": "Another team change is in progress. Try again when it finishes." } }, - "ja": { + "ar": { "stringUnit": { "state": "translated", - "value": "差分ビューア: 次のハンク" + "value": "هناك تغيير آخر في الفريق قيد التنفيذ. حاول مرة أخرى عند انتهائه." } }, - "zh-Hans": { + "de": { "stringUnit": { "state": "translated", - "value": "差异查看器:下一个块" + "value": "Eine andere Teamänderung läuft noch. Versuche es erneut, wenn sie abgeschlossen ist." } }, - "de": { + "es": { "stringUnit": { "state": "translated", - "value": "Diff-Viewer: Nächster Hunk" + "value": "Hay otro cambio de equipo en curso. Inténtalo de nuevo cuando termine." } }, "fr": { "stringUnit": { "state": "translated", - "value": "Visionneuse de diff : Bloc suivant" + "value": "Une autre modification d’équipe est en cours. Réessayez une fois terminée." } }, - "ar": { + "ja": { "stringUnit": { "state": "translated", - "value": "عارض الفروق: المقطع التالي" + "value": "別のチーム変更を処理中です。完了してからもう一度お試しください。" } }, - "es": { + "ko": { "stringUnit": { "state": "translated", - "value": "Visor de diff: Siguiente bloque" + "value": "다른 팀 변경이 진행 중입니다. 완료된 후 다시 시도하세요." } }, - "zh-Hant": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "差異檢視器:下一個區塊" + "value": "另一项团队更改正在进行中,请在完成后重试。" } }, - "ko": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "비교 뷰어: 다음 헝크" + "value": "另一項團隊變更正在進行中,請在完成後再試一次。" } } } }, - "shortcut.diffViewerPreviousHunk.label": { + "cloud.teamPicker.createSheet.message": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Diff Viewer: Previous Hunk" + "value": "The new team becomes your active team." } }, - "ja": { + "ar": { "stringUnit": { "state": "translated", - "value": "差分ビューア: 前のハンク" + "value": "يصبح الفريق الجديد فريقك النشط." } }, - "zh-Hans": { + "de": { "stringUnit": { "state": "translated", - "value": "差异查看器:上一个块" + "value": "Das neue Team wird Ihr aktives Team." } }, - "de": { + "es": { "stringUnit": { "state": "translated", - "value": "Diff-Viewer: Vorheriger Hunk" + "value": "El nuevo equipo pasa a ser su equipo activo." } }, "fr": { "stringUnit": { "state": "translated", - "value": "Visionneuse de diff : Bloc précédent" + "value": "La nouvelle équipe devient votre équipe active." } }, - "ar": { + "ja": { "stringUnit": { "state": "translated", - "value": "عارض الفروق: المقطع السابق" + "value": "新しいチームがアクティブなチームになります。" } }, - "es": { + "ko": { "stringUnit": { "state": "translated", - "value": "Visor de diff: Bloque anterior" + "value": "새 팀이 활성 팀이 됩니다." } }, - "zh-Hant": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "差異檢視器:上一個區塊" + "value": "新团队将成为你的当前团队。" } }, - "ko": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "비교 뷰어: 이전 헝크" + "value": "新團隊會成為你使用中的團隊。" } } } }, - "settings.search.alias.section.themes": { + "settings.app.installUpdatesAutomatically": { "extractionState": "manual", "localizations": { - "en": { + "ar": { "stringUnit": { "state": "translated", - "value": "theme themes color scheme colors palette ghostty light dark mode accent" + "value": "تثبيت التحديثات تلقائيًا" } }, - "de": { + "bs": { "stringUnit": { "state": "translated", - "value": "theme themes color scheme colors palette ghostty light dark mode accent design designs farbschema farben palette hell dunkel akzent" + "value": "Automatski instaliraj ažuriranja" } }, - "fr": { + "da": { "stringUnit": { "state": "translated", - "value": "theme themes color scheme colors palette ghostty light dark mode accent thème thèmes couleurs palette clair sombre accent" + "value": "Installer opdateringer automatisk" } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "theme themes color scheme colors palette ghostty light dark mode accent سمة سمات ألوان لوحة فاتح داكن تمييز" + "value": "Updates automatisch installieren" } }, - "es": { + "en": { "stringUnit": { "state": "translated", - "value": "theme themes color scheme colors palette ghostty light dark mode accent tema temas colores paleta claro oscuro acento" + "value": "Install Updates Automatically" } }, - "zh-Hant": { + "es": { "stringUnit": { "state": "translated", - "value": "theme themes color scheme colors palette ghostty light dark mode accent 主題 配色 顏色 調色盤 淺色 深色 強調色" + "value": "Instalar actualizaciones automáticamente" } }, - "zh-Hans": { + "fr": { "stringUnit": { "state": "translated", - "value": "theme themes color scheme colors palette ghostty light dark mode accent 主题 配色 颜色 调色板 浅色 深色 强调色" + "value": "Installer les mises à jour automatiquement" } }, - "ko": { + "it": { "stringUnit": { "state": "translated", - "value": "theme themes color scheme colors palette ghostty light dark mode accent 테마 색상 팔레트 라이트 다크 강조색" + "value": "Installa aggiornamenti automaticamente" } }, "ja": { "stringUnit": { "state": "translated", - "value": "theme themes color scheme colors palette ghostty light dark mode accent テーマ 配色 カラー パレット ライト ダーク アクセント" + "value": "アップデートを自動的にインストール" } - } - } - }, - "settings.section.themes": { - "extractionState": "manual", - "localizations": { - "en": { + }, + "ko": { "stringUnit": { "state": "translated", - "value": "Themes" + "value": "업데이트 자동 설치" } }, - "ar": { + "nb": { "stringUnit": { "state": "translated", - "value": "السمات" + "value": "Installer oppdateringer automatisk" } }, - "de": { + "pl": { + "stringUnit": { + "state": "translated", + "value": "Instaluj aktualizacje automatycznie" + } + }, + "pt-BR": { "stringUnit": { "state": "translated", - "value": "Designs" + "value": "Instalar atualizações automaticamente" } }, - "es": { + "ru": { "stringUnit": { "state": "translated", - "value": "Temas" + "value": "Устанавливать обновления автоматически" } }, - "fr": { + "th": { "stringUnit": { "state": "translated", - "value": "Thèmes" + "value": "ติดตั้งอัปเดตโดยอัตโนมัติ" } }, - "ja": { + "tr": { "stringUnit": { "state": "translated", - "value": "テーマ" + "value": "Güncellemeleri otomatik olarak yükle" } }, - "ko": { + "uk": { "stringUnit": { "state": "translated", - "value": "테마" + "value": "Установлювати оновлення автоматично" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "主题" + "value": "自动安装更新" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "主題" + "value": "自動安裝更新" } } } }, - "settings.terminal.theme": { + "settings.app.installUpdatesAutomatically.subtitle": { "extractionState": "manual", "localizations": { - "en": { + "ar": { "stringUnit": { "state": "translated", - "value": "Terminal Theme" + "value": "تنزيل التحديثات في الخلفية وتثبيتها عندما لا يعمل أي وكيل وتبتعد عن الجهاز لمدة دقيقة. تستأنف مساحات العمل والوكلاء من حيث توقفت." } }, - "ar": { + "bs": { "stringUnit": { "state": "translated", - "value": "سمة الطرفية" + "value": "Preuzimaj ažuriranja u pozadini i instaliraj ih kada nijedan agent ne radi i kada se udaljiš na minut. Radni prostori i agenti nastavljaju tamo gdje su stali." + } + }, + "da": { + "stringUnit": { + "state": "translated", + "value": "Hent opdateringer i baggrunden, og installer dem, når ingen agent arbejder, og du går fra i et minut. Arbejdsområder og agenter fortsætter, hvor de slap." } }, "de": { "stringUnit": { "state": "translated", - "value": "Terminal-Design" + "value": "Updates im Hintergrund laden und installieren, wenn kein Agent arbeitet und du eine Minute Pause machst. Workspaces und Agenten machen dort weiter, wo sie aufgehört haben." } }, - "es": { + "en": { "stringUnit": { "state": "translated", - "value": "Tema del terminal" + "value": "Download updates in the background and install them when no agent is working and you step away for a minute. Workspaces and agents resume where they left off." } }, - "fr": { + "es": { "stringUnit": { "state": "translated", - "value": "Thème du terminal" + "value": "Descarga las actualizaciones en segundo plano y las instala cuando ningún agente está trabajando y te ausentas un minuto. Los espacios de trabajo y los agentes continúan donde se quedaron." } }, - "ja": { + "fr": { "stringUnit": { "state": "translated", - "value": "ターミナルテーマ" + "value": "Télécharger les mises à jour en arrière-plan et les installer quand aucun agent ne travaille et que vous vous absentez une minute. Les espaces de travail et les agents reprennent là où ils en étaient." } }, - "ko": { + "it": { "stringUnit": { "state": "translated", - "value": "터미널 테마" + "value": "Scarica gli aggiornamenti in background e installali quando nessun agente è al lavoro e ti allontani per un minuto. Spazi di lavoro e agenti riprendono da dove si erano interrotti." } }, - "zh-Hans": { + "ja": { "stringUnit": { "state": "translated", - "value": "终端主题" + "value": "アップデートをバックグラウンドでダウンロードし、作業中のエージェントがなく 1 分間席を離れたときにインストールします。ワークスペースとエージェントは中断したところから再開します。" } }, - "zh-Hant": { + "ko": { "stringUnit": { "state": "translated", - "value": "終端機主題" + "value": "업데이트를 백그라운드에서 다운로드하고, 작업 중인 에이전트가 없고 1분 동안 자리를 비우면 설치합니다. 워크스페이스와 에이전트는 중단된 지점에서 재개됩니다." } - } - } - }, - "shortcut.sizeTerminalToMyWindow.label": { - "extractionState": "manual", - "localizations": { - "en": { + }, + "nb": { "stringUnit": { "state": "translated", - "value": "Size Terminal to My Window" + "value": "Last ned oppdateringer i bakgrunnen og installer dem når ingen agent arbeider og du går fra i ett minutt. Arbeidsområder og agenter fortsetter der de slapp." } }, - "ar": { + "pl": { "stringUnit": { "state": "translated", - "value": "ضبط حجم الطرفية على نافذتي" + "value": "Pobieraj aktualizacje w tle i instaluj je, gdy żaden agent nie pracuje, a Ty odejdziesz na minutę. Obszary robocze i agenci wznowią pracę tam, gdzie ją przerwali." } }, - "de": { + "pt-BR": { "stringUnit": { "state": "translated", - "value": "Terminal an mein Fenster anpassen" + "value": "Baixar atualizações em segundo plano e instalá-las quando nenhum agente estiver trabalhando e você se afastar por um minuto. Espaços de trabalho e agentes continuam de onde pararam." } }, - "es": { + "ru": { "stringUnit": { "state": "translated", - "value": "Ajustar la terminal a mi ventana" + "value": "Загружать обновления в фоне и устанавливать их, когда ни один агент не работает и вы отходите на минуту. Рабочие пространства и агенты продолжат с того места, где остановились." } }, - "fr": { + "th": { "stringUnit": { "state": "translated", - "value": "Adapter le terminal à ma fenêtre" + "value": "ดาวน์โหลดอัปเดตในเบื้องหลังและติดตั้งเมื่อไม่มีเอเจนต์ทำงานอยู่และคุณไม่ได้ใช้งานเครื่องเป็นเวลาหนึ่งนาที พื้นที่ทำงานและเอเจนต์จะทำงานต่อจากจุดที่ค้างไว้" } }, - "ja": { + "tr": { "stringUnit": { "state": "translated", - "value": "ターミナルを自分のウィンドウに合わせる" + "value": "Güncellemeleri arka planda indir ve hiçbir ajan çalışmıyorken bir dakika uzaklaştığında yükle. Çalışma alanları ve ajanlar kaldıkları yerden devam eder." } }, - "ko": { + "uk": { "stringUnit": { "state": "translated", - "value": "터미널을 내 창 크기에 맞추기" + "value": "Завантажувати оновлення у фоні та встановлювати їх, коли жоден агент не працює, а ви відходите на хвилину. Робочі простори й агенти продовжать з того місця, де зупинилися." } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "让终端适配我的窗口" + "value": "在后台下载更新,并在没有代理工作且你离开一分钟时安装。工作区和代理会从中断处继续。" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "讓終端機符合我的視窗大小" + "value": "在背景下載更新,並在沒有代理運作且你離開一分鐘時安裝。工作區與代理會從中斷處繼續。" } } } }, - "command.terminalDisconnectOtherClients.title": { + "update.autoInstall.waitingQuiet": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Disconnect Other Terminal Clients…" + "value": "Installs the next time you step away for a minute. Workspaces and agents resume where they left off." } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "قطع اتصال عملاء الطرفية الآخرين…" + "value": "Wird installiert, wenn du das nächste Mal eine Minute Pause machst. Workspaces und Agenten machen dort weiter, wo sie aufgehört haben." } }, - "de": { + "fr": { "stringUnit": { "state": "translated", - "value": "Andere Terminal-Clients trennen…" + "value": "S’installe la prochaine fois que vous vous absentez une minute. Les espaces de travail et les agents reprennent là où ils en étaient." } }, - "es": { + "ar": { "stringUnit": { "state": "translated", - "value": "Desconectar otros clientes de la terminal…" + "value": "يتم التثبيت في المرة التالية التي تبتعد فيها عن الجهاز لمدة دقيقة. تستأنف مساحات العمل والوكلاء من حيث توقفت." } }, - "fr": { + "es": { "stringUnit": { "state": "translated", - "value": "Déconnecter les autres clients du terminal…" + "value": "Se instala la próxima vez que te ausentes un minuto. Los espacios de trabajo y los agentes continúan donde se quedaron." } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "他のターミナルクライアントを切断…" + "value": "將在你下次離開一分鐘時安裝。工作區與代理會從中斷處繼續。" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "다른 터미널 클라이언트 연결 끊기…" + "value": "将在你下次离开一分钟时安装。工作区和代理会从中断处继续。" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "断开其他终端客户端…" + "value": "다음에 1분 동안 자리를 비우면 설치합니다. 워크스페이스와 에이전트는 중단된 지점에서 재개됩니다." } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "中斷其他終端機用戶端的連線…" + "value": "次に 1 分間席を離れたときにインストールします。ワークスペースとエージェントは中断したところから再開します。" } } } }, - "command.terminalShowSizePanel.title": { + "update.autoInstall.waitingRisky": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Show Terminal Size Panel" + "value": "Installs after these finish and you step away." } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "إظهار لوحة حجم الطرفية" + "value": "Wird installiert, sobald diese fertig sind und du eine Pause machst." } }, - "de": { + "fr": { "stringUnit": { "state": "translated", - "value": "Terminalgrößen-Bereich anzeigen" + "value": "S’installe quand ceux-ci ont terminé et que vous vous absentez." } }, - "es": { + "ar": { "stringUnit": { "state": "translated", - "value": "Mostrar el panel de tamaño de la terminal" + "value": "يتم التثبيت بعد انتهاء هذه العناصر وابتعادك عن الجهاز." } }, - "fr": { + "es": { "stringUnit": { "state": "translated", - "value": "Afficher le panneau de taille du terminal" + "value": "Se instala cuando terminen estos y te ausentes." } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "ターミナルサイズパネルを表示" + "value": "將在這些完成且你離開後安裝。" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "터미널 크기 패널 보기" + "value": "将在这些完成且你离开后安装。" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "显示终端大小面板" + "value": "이 항목들이 끝나고 자리를 비우면 설치합니다." } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "顯示終端機大小面板" + "value": "これらが終了し、席を離れるとインストールします。" } } } }, - "command.terminalSizeToMyWindow.title": { + "update.relaunch.confirmRisky": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Size Terminal to My Window" + "value": "Relaunching now stops what these are running." } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "ضبط حجم الطرفية على نافذتي" + "value": "Ein Neustart jetzt beendet, was diese gerade ausführen." } }, - "de": { + "fr": { "stringUnit": { "state": "translated", - "value": "Terminal an mein Fenster anpassen" + "value": "Relancer maintenant arrête ce qu’ils exécutent." } }, - "es": { + "ar": { "stringUnit": { "state": "translated", - "value": "Ajustar la terminal a mi ventana" + "value": "تؤدي إعادة التشغيل الآن إلى إيقاف ما تشغّله هذه العناصر." } }, - "fr": { + "es": { "stringUnit": { "state": "translated", - "value": "Adapter le terminal à ma fenêtre" + "value": "Reiniciar ahora detiene lo que estos están ejecutando." } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "ターミナルを自分のウィンドウに合わせる" + "value": "現在重新啟動會停止這些項目正在執行的工作。" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "터미널을 내 창 크기에 맞추기" + "value": "现在重新启动会停止这些项目正在运行的工作。" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "让终端适配我的窗口" + "value": "지금 재실행하면 이 항목들이 실행 중인 작업이 중지됩니다." } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "讓終端機符合我的視窗大小" + "value": "今すぐ再起動すると、これらが実行中の処理は停止します。" } } } }, - "terminalSharing.detached.hostShutdown": { + "update.relaunch.resumesMidTask": { "extractionState": "manual", "localizations": { "en": { - "stringUnit": { - "state": "translated", - "value": "The terminal host shut down at %@." + "variations": { + "plural": { + "one": { + "stringUnit": { + "state": "translated", + "value": "%lld agent will be resumed mid-task." + } + }, + "other": { + "stringUnit": { + "state": "translated", + "value": "%lld agents will be resumed mid-task." + } + } + } } }, - "ar": { - "stringUnit": { - "state": "translated", - "value": "توقف مضيف الطرفية في %@." + "de": { + "variations": { + "plural": { + "one": { + "stringUnit": { + "state": "translated", + "value": "%lld Agent wird mitten in der Aufgabe fortgesetzt." + } + }, + "other": { + "stringUnit": { + "state": "translated", + "value": "%lld Agenten werden mitten in der Aufgabe fortgesetzt." + } + } + } } }, - "de": { - "stringUnit": { - "state": "translated", - "value": "Der Terminal-Host wurde um %@ beendet." + "fr": { + "variations": { + "plural": { + "one": { + "stringUnit": { + "state": "translated", + "value": "%lld agent reprendra en cours de tâche." + } + }, + "many": { + "stringUnit": { + "state": "translated", + "value": "%lld d’agents reprendront en cours de tâche." + } + }, + "other": { + "stringUnit": { + "state": "translated", + "value": "%lld agents reprendront en cours de tâche." + } + } + } + } + }, + "ar": { + "variations": { + "plural": { + "zero": { + "stringUnit": { + "state": "translated", + "value": "سيُستأنف الوكلاء (%lld) من منتصف المهمة." + } + }, + "one": { + "stringUnit": { + "state": "translated", + "value": "سيُستأنف وكيل واحد (%lld) من منتصف المهمة." + } + }, + "two": { + "stringUnit": { + "state": "translated", + "value": "سيُستأنف وكيلان (%lld) من منتصف المهمة." + } + }, + "few": { + "stringUnit": { + "state": "translated", + "value": "سيُستأنف %lld وكلاء من منتصف المهمة." + } + }, + "many": { + "stringUnit": { + "state": "translated", + "value": "سيُستأنف %lld وكيلًا من منتصف المهمة." + } + }, + "other": { + "stringUnit": { + "state": "translated", + "value": "سيُستأنف %lld وكيل من منتصف المهمة." + } + } + } } }, "es": { - "stringUnit": { - "state": "translated", - "value": "El host de la terminal se detuvo a las %@." + "variations": { + "plural": { + "one": { + "stringUnit": { + "state": "translated", + "value": "%lld agente se reanudará a mitad de la tarea." + } + }, + "many": { + "stringUnit": { + "state": "translated", + "value": "%lld de agentes se reanudarán a mitad de la tarea." + } + }, + "other": { + "stringUnit": { + "state": "translated", + "value": "%lld agentes se reanudarán a mitad de la tarea." + } + } + } } }, - "fr": { - "stringUnit": { - "state": "translated", - "value": "L’hôte du terminal s’est arrêté à %@." + "zh-Hant": { + "variations": { + "plural": { + "other": { + "stringUnit": { + "state": "translated", + "value": "%lld 個代理將從任務中途繼續。" + } + } + } } }, - "ja": { - "stringUnit": { - "state": "translated", - "value": "ターミナルホストが %@ に終了しました。" + "zh-Hans": { + "variations": { + "plural": { + "other": { + "stringUnit": { + "state": "translated", + "value": "%lld 个代理将从任务中途继续。" + } + } + } } }, "ko": { - "stringUnit": { - "state": "translated", - "value": "터미널 호스트가 %@에 종료되었습니다." + "variations": { + "plural": { + "other": { + "stringUnit": { + "state": "translated", + "value": "에이전트 %lld개가 작업 도중부터 재개됩니다." + } + } + } } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "终端主机已于 %@ 关闭。" + "ja": { + "variations": { + "plural": { + "other": { + "stringUnit": { + "state": "translated", + "value": "%lld 個のエージェントが作業の途中から再開されます。" + } + } + } + } + } + } + }, + "update.relaunch.runningCommands": { + "extractionState": "manual", + "localizations": { + "en": { + "variations": { + "plural": { + "one": { + "stringUnit": { + "state": "translated", + "value": "%lld running command" + } + }, + "other": { + "stringUnit": { + "state": "translated", + "value": "%lld running commands" + } + } + } + } + }, + "de": { + "variations": { + "plural": { + "one": { + "stringUnit": { + "state": "translated", + "value": "%lld laufender Befehl" + } + }, + "other": { + "stringUnit": { + "state": "translated", + "value": "%lld laufende Befehle" + } + } + } + } + }, + "fr": { + "variations": { + "plural": { + "one": { + "stringUnit": { + "state": "translated", + "value": "%lld commande en cours" + } + }, + "many": { + "stringUnit": { + "state": "translated", + "value": "%lld de commandes en cours" + } + }, + "other": { + "stringUnit": { + "state": "translated", + "value": "%lld commandes en cours" + } + } + } + } + }, + "ar": { + "variations": { + "plural": { + "zero": { + "stringUnit": { + "state": "translated", + "value": "أوامر قيد التشغيل (%lld)" + } + }, + "one": { + "stringUnit": { + "state": "translated", + "value": "أمر واحد قيد التشغيل (%lld)" + } + }, + "two": { + "stringUnit": { + "state": "translated", + "value": "أمران قيد التشغيل (%lld)" + } + }, + "few": { + "stringUnit": { + "state": "translated", + "value": "%lld أوامر قيد التشغيل" + } + }, + "many": { + "stringUnit": { + "state": "translated", + "value": "%lld أمرًا قيد التشغيل" + } + }, + "other": { + "stringUnit": { + "state": "translated", + "value": "%lld أمر قيد التشغيل" + } + } + } + } + }, + "es": { + "variations": { + "plural": { + "one": { + "stringUnit": { + "state": "translated", + "value": "%lld comando en ejecución" + } + }, + "many": { + "stringUnit": { + "state": "translated", + "value": "%lld de comandos en ejecución" + } + }, + "other": { + "stringUnit": { + "state": "translated", + "value": "%lld comandos en ejecución" + } + } + } } }, "zh-Hant": { - "stringUnit": { - "state": "translated", - "value": "終端機主機已於 %@ 關閉。" + "variations": { + "plural": { + "other": { + "stringUnit": { + "state": "translated", + "value": "%lld 個執行中的命令" + } + } + } + } + }, + "zh-Hans": { + "variations": { + "plural": { + "other": { + "stringUnit": { + "state": "translated", + "value": "%lld 个正在运行的命令" + } + } + } + } + }, + "ko": { + "variations": { + "plural": { + "other": { + "stringUnit": { + "state": "translated", + "value": "실행 중인 명령 %lld개" + } + } + } + } + }, + "ja": { + "variations": { + "plural": { + "other": { + "stringUnit": { + "state": "translated", + "value": "実行中のコマンド %lld 個" + } + } + } } } } }, - "terminalSharing.detached.network": { + "update.safety.safe": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "The network dropped." + "value": "Safe" } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "انقطع اتصال الشبكة." + "value": "Sicher" } }, - "de": { + "fr": { "stringUnit": { "state": "translated", - "value": "Die Netzwerkverbindung wurde unterbrochen." + "value": "Sûr" } }, - "es": { + "ar": { "stringUnit": { "state": "translated", - "value": "Se perdió la conexión de red." + "value": "آمن" } }, - "fr": { + "es": { "stringUnit": { "state": "translated", - "value": "La connexion réseau a été interrompue." + "value": "Seguro" } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "ネットワーク接続が切れました。" + "value": "安全" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "네트워크 연결이 끊어졌습니다." + "value": "安全" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "网络连接已中断。" + "value": "안전" } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "網路連線中斷。" + "value": "安全" } } } }, - "terminalSharing.detached.reattach": { + "update.safety.care": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Reattach" + "value": "Resumes" } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "إعادة الإرفاق" + "value": "Wird fortgesetzt" } }, - "de": { + "fr": { "stringUnit": { "state": "translated", - "value": "Erneut verbinden" + "value": "Reprend" } }, - "es": { + "ar": { "stringUnit": { "state": "translated", - "value": "Volver a conectar" + "value": "يُستأنف" } }, - "fr": { + "es": { "stringUnit": { "state": "translated", - "value": "Se reconnecter" + "value": "Se reanuda" } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "再接続" + "value": "會繼續" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "다시 연결" + "value": "会继续" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "重新连接" + "value": "재개됨" } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "重新連接" + "value": "再開" } } } }, - "terminalSharing.detached.reattachAsViewer": { + "update.safety.risky": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Reattach as Viewer" + "value": "Risky" } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "إعادة الإرفاق كمشاهد" + "value": "Riskant" } }, - "de": { + "fr": { "stringUnit": { "state": "translated", - "value": "Als Zuschauer erneut verbinden" + "value": "Risqué" } }, - "es": { + "ar": { "stringUnit": { "state": "translated", - "value": "Volver a conectar como espectador" + "value": "خطر" } }, - "fr": { + "es": { "stringUnit": { "state": "translated", - "value": "Se reconnecter en lecture seule" + "value": "Arriesgado" } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "閲覧者として再接続" + "value": "有風險" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "보기 전용으로 다시 연결" + "value": "有风险" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "以查看者身份重新连接" + "value": "위험" } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "以檢視者身分重新連接" + "value": "リスクあり" } } } }, - "terminalSharing.detached.reattachAsViewer.help": { + "update.wait": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Reattach without changing the terminal size" + "value": "Wait" } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "إعادة الإرفاق دون تغيير حجم الطرفية" + "value": "Warten" } }, - "de": { + "fr": { "stringUnit": { "state": "translated", - "value": "Erneut verbinden, ohne die Terminalgröße zu ändern" + "value": "Attendre" } }, - "es": { + "ar": { "stringUnit": { "state": "translated", - "value": "Volver a conectar sin cambiar el tamaño de la terminal" + "value": "انتظار" } }, - "fr": { + "es": { "stringUnit": { "state": "translated", - "value": "Se reconnecter sans modifier la taille du terminal" + "value": "Esperar" } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "ターミナルサイズを変えずに再接続" + "value": "等待" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "터미널 크기를 바꾸지 않고 다시 연결" + "value": "等待" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "重新连接但不更改终端大小" + "value": "대기" } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "重新連接但不變更終端機大小" + "value": "待機" } } } }, - "terminalSharing.detached.someone": { + "update.updateWhenFinished": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Someone" + "value": "Update When These Finish" } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "شخص ما" + "value": "Aktualisieren, wenn diese fertig sind" } }, - "de": { + "fr": { "stringUnit": { "state": "translated", - "value": "Jemand" + "value": "Mettre à jour quand ils auront terminé" } }, - "es": { + "ar": { "stringUnit": { "state": "translated", - "value": "Alguien" + "value": "التحديث عند انتهاء هذه العناصر" } }, - "fr": { + "es": { "stringUnit": { "state": "translated", - "value": "Quelqu’un" + "value": "Actualizar cuando terminen" } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "誰か" + "value": "在這些完成後更新" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "누군가" + "value": "在这些完成后更新" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "有人" + "value": "완료되면 업데이트" } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "有人" + "value": "終了後にアップデート" } } } }, - "terminalSharing.detached.superseded": { + "update.updateAnyway": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Another window of this Mac replaced this one at %@." - } - }, - "ar": { - "stringUnit": { - "state": "translated", - "value": "استبدلت نافذة أخرى على جهاز Mac هذا هذه النافذة في %@." + "value": "Update Anyway" } }, "de": { "stringUnit": { "state": "translated", - "value": "Ein anderes Fenster dieses Macs hat dieses um %@ ersetzt." + "value": "Trotzdem aktualisieren" } }, - "es": { + "fr": { "stringUnit": { "state": "translated", - "value": "Otra ventana de este Mac reemplazó a esta a las %@." + "value": "Mettre à jour quand même" } }, - "fr": { + "ar": { "stringUnit": { "state": "translated", - "value": "Une autre fenêtre de ce Mac a remplacé celle-ci à %@." + "value": "التحديث على أي حال" } }, - "ja": { + "es": { "stringUnit": { "state": "translated", - "value": "このMacの別のウィンドウが %@ にこのウィンドウを置き換えました。" + "value": "Actualizar de todos modos" } }, - "ko": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "이 Mac의 다른 창이 %@에 이 창을 대체했습니다." + "value": "仍要更新" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "这台 Mac 的另一个窗口已于 %@ 替换此窗口。" + "value": "仍要更新" } }, - "zh-Hant": { - "stringUnit": { - "state": "translated", - "value": "這台 Mac 的另一個視窗已於 %@ 取代此視窗。" - } - } - } - }, - "terminalSharing.participant.personDevice": { - "extractionState": "manual", - "localizations": { - "en": { + "ko": { "stringUnit": { "state": "translated", - "value": "%1$@ · %2$@" + "value": "그래도 업데이트" } }, "ja": { "stringUnit": { "state": "translated", - "value": "%1$@ · %2$@" + "value": "それでもアップデート" } } } }, - "terminalSharing.device.browser": { + "update.agentActivity.remote": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Browser" + "value": "Keeps running on the remote host" } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "المتصفح" + "value": "Läuft auf dem Remote-Host weiter" } }, - "de": { + "fr": { "stringUnit": { "state": "translated", - "value": "Browser" + "value": "Continue de s’exécuter sur l’hôte distant" } }, - "es": { + "ar": { "stringUnit": { "state": "translated", - "value": "Navegador" + "value": "يستمر في العمل على المضيف البعيد" } }, - "fr": { + "es": { "stringUnit": { "state": "translated", - "value": "Navigateur" + "value": "Sigue ejecutándose en el host remoto" } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "ブラウザ" + "value": "在遠端主機上持續執行" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "브라우저" + "value": "在远程主机上继续运行" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "浏览器" + "value": "원격 호스트에서 계속 실행됨" } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "瀏覽器" + "value": "リモートホストで実行を継続" } } } }, - "terminalSharing.device.ipad": { + "update.agentActivity.needsInput": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "iPad" + "value": "Waiting for your answer" } }, - "ja": { + "de": { "stringUnit": { "state": "translated", - "value": "iPad" + "value": "Wartet auf deine Antwort" } - } - } - }, - "terminalSharing.device.iphone": { - "extractionState": "manual", - "localizations": { - "en": { + }, + "fr": { "stringUnit": { "state": "translated", - "value": "iPhone" + "value": "En attente de votre réponse" } }, - "ja": { + "ar": { "stringUnit": { "state": "translated", - "value": "iPhone" + "value": "في انتظار إجابتك" } - } - } - }, - "terminalSharing.device.mac": { - "extractionState": "manual", - "localizations": { - "en": { + }, + "es": { "stringUnit": { "state": "translated", - "value": "Mac" + "value": "Esperando tu respuesta" + } + }, + "zh-Hant": { + "stringUnit": { + "state": "translated", + "value": "正在等待你的回答" + } + }, + "zh-Hans": { + "stringUnit": { + "state": "translated", + "value": "正在等待你的回答" + } + }, + "ko": { + "stringUnit": { + "state": "translated", + "value": "답변을 기다리는 중" } }, "ja": { "stringUnit": { "state": "translated", - "value": "Mac" + "value": "回答を待っています" } } } }, - "terminalSharing.device.tui": { + "update.agentActivity.working": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Terminal client" + "value": "Working" } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "عميل طرفية" + "value": "Arbeitet" } }, - "de": { + "fr": { "stringUnit": { "state": "translated", - "value": "Terminal-Client" + "value": "En cours" } }, - "es": { + "ar": { "stringUnit": { "state": "translated", - "value": "Cliente de terminal" + "value": "قيد العمل" } }, - "fr": { + "es": { "stringUnit": { "state": "translated", - "value": "Client terminal" + "value": "Trabajando" } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "ターミナルクライアント" + "value": "處理中" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "터미널 클라이언트" + "value": "处理中" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "终端客户端" + "value": "작업 중" } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "終端機用戶端" + "value": "作業中" } } } }, - "terminalSharing.device.unknown": { + "update.agentActivity.idle": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Device" + "value": "Idle" } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "جهاز" + "value": "Inaktiv" } }, - "de": { + "fr": { "stringUnit": { "state": "translated", - "value": "Gerät" + "value": "Inactif" } }, - "es": { + "ar": { "stringUnit": { "state": "translated", - "value": "Dispositivo" + "value": "خامل" } }, - "fr": { + "es": { "stringUnit": { "state": "translated", - "value": "Appareil" + "value": "Inactivo" } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "デバイス" + "value": "閒置" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "기기" + "value": "空闲" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "设备" + "value": "유휴" } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "裝置" + "value": "アイドル" } } } }, - "terminalSharing.owner.held": { + "settings.search.alias.section.themes": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Held size" + "value": "theme themes color scheme colors palette ghostty light dark mode accent" } }, - "ar": { + "de": { "stringUnit": { "state": "translated", - "value": "حجم محتفظ به" + "value": "theme themes color scheme colors palette ghostty light dark mode accent design designs farbschema farben palette hell dunkel akzent" } }, - "de": { + "fr": { "stringUnit": { "state": "translated", - "value": "Beibehaltene Größe" + "value": "theme themes color scheme colors palette ghostty light dark mode accent thème thèmes couleurs palette clair sombre accent" } }, - "es": { + "ar": { "stringUnit": { "state": "translated", - "value": "Tamaño conservado" + "value": "theme themes color scheme colors palette ghostty light dark mode accent سمة سمات ألوان لوحة فاتح داكن تمييز" } }, - "fr": { + "es": { "stringUnit": { "state": "translated", - "value": "Taille conservée" + "value": "theme themes color scheme colors palette ghostty light dark mode accent tema temas colores paleta claro oscuro acento" } }, - "ja": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "保持されたサイズ" + "value": "theme themes color scheme colors palette ghostty light dark mode accent 主題 配色 顏色 調色盤 淺色 深色 強調色" } }, - "ko": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "유지된 크기" + "value": "theme themes color scheme colors palette ghostty light dark mode accent 主题 配色 颜色 调色板 浅色 深色 强调色" } }, - "zh-Hans": { + "ko": { "stringUnit": { "state": "translated", - "value": "保留的大小" + "value": "theme themes color scheme colors palette ghostty light dark mode accent 테마 색상 팔레트 라이트 다크 강조색" } }, - "zh-Hant": { + "ja": { "stringUnit": { "state": "translated", - "value": "保留的大小" + "value": "theme themes color scheme colors palette ghostty light dark mode accent テーマ 配色 カラー パレット ライト ダーク アクセント" } } } }, - "terminalSharing.owner.largest": { + "settings.section.themes": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Largest window" + "value": "Themes" } }, "ar": { "stringUnit": { "state": "translated", - "value": "أكبر نافذة" + "value": "السمات" } }, "de": { "stringUnit": { "state": "translated", - "value": "Größtes Fenster" + "value": "Designs" } }, "es": { "stringUnit": { "state": "translated", - "value": "Ventana más grande" + "value": "Temas" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Plus grande fenêtre" + "value": "Thèmes" } }, "ja": { "stringUnit": { "state": "translated", - "value": "最大のウィンドウ" + "value": "テーマ" } }, "ko": { "stringUnit": { "state": "translated", - "value": "가장 큰 창" + "value": "테마" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "最大的窗口" + "value": "主题" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "最大的視窗" + "value": "主題" } } } }, - "terminalSharing.owner.shared": { + "settings.terminal.theme": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Shared size" + "value": "Terminal Theme" } }, "ar": { "stringUnit": { "state": "translated", - "value": "حجم مشترك" + "value": "سمة الطرفية" } }, "de": { "stringUnit": { "state": "translated", - "value": "Gemeinsame Größe" + "value": "Terminal-Design" } }, "es": { "stringUnit": { "state": "translated", - "value": "Tamaño compartido" + "value": "Tema del terminal" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Taille partagée" + "value": "Thème du terminal" } }, "ja": { "stringUnit": { "state": "translated", - "value": "共有サイズ" + "value": "ターミナルテーマ" } }, "ko": { "stringUnit": { "state": "translated", - "value": "공유 크기" + "value": "터미널 테마" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "共享大小" + "value": "终端主题" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "共用大小" + "value": "終端機主題" } } } }, - "terminalSharing.owner.smallest": { + "shortcut.diffViewerNextHunk.label": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Fits everyone" + "value": "Diff Viewer: Next Hunk" } }, - "ar": { + "ja": { "stringUnit": { "state": "translated", - "value": "يناسب الجميع" + "value": "差分ビューア: 次のハンク" } }, - "de": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "Passt für alle" + "value": "差异查看器:下一个块" } }, - "es": { + "de": { "stringUnit": { "state": "translated", - "value": "Se ajusta a todos" + "value": "Diff-Viewer: Nächster Hunk" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Convient à tous" + "value": "Visionneuse de diff : Bloc suivant" } }, - "ja": { + "ar": { "stringUnit": { "state": "translated", - "value": "全員に合わせる" + "value": "عارض الفروق: المقطع التالي" } }, - "ko": { + "es": { "stringUnit": { "state": "translated", - "value": "모두에게 맞춤" + "value": "Visor de diff: Siguiente bloque" } }, - "zh-Hans": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "适合所有人" + "value": "差異檢視器:下一個區塊" } }, - "zh-Hant": { + "ko": { "stringUnit": { "state": "translated", - "value": "符合所有人" + "value": "비교 뷰어: 다음 헝크" } } } }, - "terminalSharing.participant.thisMac": { + "shortcut.diffViewerPreviousHunk.label": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "This Mac" + "value": "Diff Viewer: Previous Hunk" } }, - "ar": { + "ja": { "stringUnit": { "state": "translated", - "value": "جهاز Mac هذا" + "value": "差分ビューア: 前のハンク" } }, - "de": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "Dieser Mac" + "value": "差异查看器:上一个块" } }, - "es": { + "de": { "stringUnit": { "state": "translated", - "value": "Este Mac" + "value": "Diff-Viewer: Vorheriger Hunk" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Ce Mac" + "value": "Visionneuse de diff : Bloc précédent" } }, - "ja": { + "ar": { "stringUnit": { "state": "translated", - "value": "このMac" + "value": "عارض الفروق: المقطع السابق" } }, - "ko": { + "es": { "stringUnit": { "state": "translated", - "value": "이 Mac" + "value": "Visor de diff: Bloque anterior" } }, - "zh-Hans": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "这台 Mac" + "value": "差異檢視器:上一個區塊" } }, - "zh-Hant": { + "ko": { "stringUnit": { "state": "translated", - "value": "這台 Mac" + "value": "비교 뷰어: 이전 헝크" } } } }, - "terminalSharing.owner.possessiveDevice": { + "settings.terminal.textEditingCommandMovesByWord": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "%1$@'s %2$@" + "value": "Command Moves by Word" } }, "ar": { "stringUnit": { "state": "translated", - "value": "%1$@ · %2$@" + "value": "Command ينقل حسب الكلمة" } }, "de": { "stringUnit": { "state": "translated", - "value": "%1$@ · %2$@" + "value": "Befehlstaste bewegt wortweise" } }, "es": { "stringUnit": { "state": "translated", - "value": "%1$@ · %2$@" + "value": "Comando mueve por palabra" } }, "fr": { "stringUnit": { "state": "translated", - "value": "%1$@ · %2$@" + "value": "Commande déplace par mot" } }, "ja": { "stringUnit": { "state": "translated", - "value": "%1$@の%2$@" + "value": "Command で単語単位に移動" } }, "ko": { "stringUnit": { "state": "translated", - "value": "%1$@의 %2$@" + "value": "Command로 단어 단위 이동" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "%1$@的%2$@" + "value": "Command 按词移动" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "%1$@的%2$@" + "value": "Command 依字移動" } } } }, - "terminalSharing.owner.fixedShort": { + "settings.terminal.textEditingCommandMovesByWord.subtitleOn": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Fixed" + "value": "Command arrow and delete keys move and delete by word, like Option. Control Left and Right Arrow move to the start and end of the line." } }, "ar": { "stringUnit": { "state": "translated", - "value": "ثابت" + "value": "تنقل مفاتيح الأسهم والحذف مع Command وتحذف حسب الكلمة، مثل Option. وينقل Control مع السهمين الأيسر والأيمن إلى بداية السطر ونهايته." } }, "de": { "stringUnit": { "state": "translated", - "value": "Fest" + "value": "Befehlstaste mit Pfeil- und Löschtasten bewegt und löscht wortweise, wie die Wahltaste. Control mit Links- und Rechtspfeil springt an Anfang und Ende der Zeile." } }, "es": { "stringUnit": { "state": "translated", - "value": "Fijo" + "value": "Las flechas y la tecla Eliminar con Comando mueven y borran por palabra, como Opción. Control con las flechas izquierda y derecha va al inicio y al final de la línea." } }, "fr": { "stringUnit": { "state": "translated", - "value": "Fixe" + "value": "Les flèches et la touche Supprimer avec Commande déplacent et suppriment par mot, comme Option. Contrôle avec les flèches gauche et droite va au début et à la fin de la ligne." } }, "ja": { "stringUnit": { "state": "translated", - "value": "固定" + "value": "Command と矢印キー・削除キーで、Option と同じく単語単位に移動・削除します。Control と左右矢印キーで行頭・行末に移動します。" } }, "ko": { "stringUnit": { "state": "translated", - "value": "고정" + "value": "Command 화살표 및 삭제 키가 Option처럼 단어 단위로 이동하고 삭제합니다. Control 왼쪽 및 오른쪽 화살표는 줄의 시작과 끝으로 이동합니다." } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "固定" + "value": "Command 加方向键和删除键按词移动和删除,与 Option 相同。Control 加左右方向键移到行首和行尾。" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "固定" + "value": "Command 加方向鍵與刪除鍵會依字移動與刪除,與 Option 相同。Control 加左右方向鍵會移到行首與行尾。" } } } }, - "terminalSharing.tab.tooltip": { + "settings.terminal.textEditingCommandMovesByWord.subtitleOff": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Size set by %1$@ · %2$@" + "value": "Command arrow and delete keys move and delete by line, as in macOS text fields." } }, "ar": { "stringUnit": { "state": "translated", - "value": "الحجم يحدده %1$@ · %2$@" + "value": "تنقل مفاتيح الأسهم والحذف مع Command وتحذف حسب السطر، كما في حقول النص في macOS." } }, "de": { "stringUnit": { "state": "translated", - "value": "Größe festgelegt von %1$@ · %2$@" + "value": "Befehlstaste mit Pfeil- und Löschtasten bewegt und löscht zeilenweise, wie in macOS-Textfeldern." } }, "es": { "stringUnit": { "state": "translated", - "value": "Tamaño definido por %1$@ · %2$@" + "value": "Las flechas y la tecla Eliminar con Comando mueven y borran por línea, como en los campos de texto de macOS." } }, "fr": { "stringUnit": { "state": "translated", - "value": "Taille définie par %1$@ · %2$@" + "value": "Les flèches et la touche Supprimer avec Commande déplacent et suppriment par ligne, comme dans les champs de texte de macOS." } }, "ja": { "stringUnit": { "state": "translated", - "value": "%1$@がサイズを設定 · %2$@" + "value": "Command と矢印キー・削除キーで、macOS のテキストフィールドと同じく行単位に移動・削除します。" } }, "ko": { "stringUnit": { "state": "translated", - "value": "크기 설정: %1$@ · %2$@" + "value": "Command 화살표 및 삭제 키가 macOS 텍스트 필드처럼 줄 단위로 이동하고 삭제합니다." } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "尺寸由%1$@设定 · %2$@" + "value": "Command 加方向键和删除键按行移动和删除,与 macOS 文本框相同。" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "尺寸由%1$@設定 · %2$@" + "value": "Command 加方向鍵與刪除鍵會依行移動與刪除,與 macOS 文字欄位相同。" } } } }, - "terminalSharing.panel.sizeLabel": { + "settings.terminal.textEditingGesturesInFullScreenApps": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Size" + "value": "Text Editing Gestures in Full-Screen Apps" } }, "ar": { "stringUnit": { "state": "translated", - "value": "الحجم" + "value": "إيماءات تحرير النص في التطبيقات بملء الشاشة" } }, "de": { "stringUnit": { "state": "translated", - "value": "Größe" + "value": "Textbearbeitungsgesten in Vollbild-Apps" } }, "es": { "stringUnit": { "state": "translated", - "value": "Tamaño" + "value": "Gestos de edición de texto en apps a pantalla completa" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Taille" + "value": "Gestes d’édition de texte dans les apps plein écran" } }, "ja": { "stringUnit": { "state": "translated", - "value": "サイズ" + "value": "フルスクリーンアプリでのテキスト編集ジェスチャー" } }, "ko": { "stringUnit": { "state": "translated", - "value": "크기" + "value": "전체 화면 앱에서 텍스트 편집 제스처" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "尺寸" + "value": "全屏应用中的文本编辑手势" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "尺寸" + "value": "全螢幕 App 中的文字編輯手勢" } } } }, - "terminalSharing.sizeMode.latest": { + "settings.terminal.textEditingGesturesInFullScreenApps.subtitle": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Follow Latest" + "value": "Gestures also apply while a full-screen app such as vim, less, or tmux is running, so they keep working at a shell inside tmux, screen, or zellij." } }, "ar": { "stringUnit": { "state": "translated", - "value": "اتباع الأحدث" + "value": "تنطبق الإيماءات أيضًا أثناء تشغيل تطبيق بملء الشاشة مثل vim أو less أو tmux، فتظل تعمل في الصدفة داخل tmux أو screen أو zellij." } }, "de": { "stringUnit": { "state": "translated", - "value": "Letzter Eingabe folgen" + "value": "Gesten gelten auch, während eine Vollbild-App wie vim, less oder tmux läuft, und funktionieren so weiter an einer Shell in tmux, screen oder zellij." } }, "es": { "stringUnit": { "state": "translated", - "value": "Seguir la última entrada" + "value": "Los gestos también se aplican mientras se ejecuta una app a pantalla completa como vim, less o tmux, así que siguen funcionando en una shell dentro de tmux, screen o zellij." } }, "fr": { "stringUnit": { "state": "translated", - "value": "Suivre la dernière saisie" + "value": "Les gestes s’appliquent aussi lorsqu’une app plein écran comme vim, less ou tmux est en cours d’exécution, et continuent donc de fonctionner dans un shell sous tmux, screen ou zellij." } }, "ja": { "stringUnit": { "state": "translated", - "value": "最新の入力に合わせる" + "value": "vim、less、tmux などのフルスクリーンアプリの実行中もジェスチャーが有効になるため、tmux、screen、zellij 内のシェルでも引き続き使えます。" } }, "ko": { "stringUnit": { "state": "translated", - "value": "최근 입력 따르기" + "value": "vim, less, tmux 같은 전체 화면 앱이 실행 중일 때도 제스처가 적용되므로 tmux, screen, zellij 안의 셸에서도 계속 작동합니다." } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "跟随最新输入" + "value": "在 vim、less 或 tmux 等全屏应用运行时手势也会生效,因此在 tmux、screen 或 zellij 中的 shell 里仍可使用。" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "跟隨最新輸入" + "value": "在 vim、less 或 tmux 等全螢幕 App 執行時手勢也會生效,因此在 tmux、screen 或 zellij 中的 shell 裡仍可使用。" } } } }, - "terminalSharing.sizeMode.smallest": { + "cloudTree.action.newCloudMachine": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Fit Everyone" + "value": "New Cloud Machine" } }, "ar": { "stringUnit": { "state": "translated", - "value": "ملاءمة الجميع" + "value": "جهاز سحابي جديد" } }, "de": { "stringUnit": { "state": "translated", - "value": "Allen anpassen" + "value": "Neue Cloud-Maschine" } }, "es": { "stringUnit": { "state": "translated", - "value": "Ajustar a todos" + "value": "Nueva máquina en la nube" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Adapter à tous" + "value": "Nouvelle machine cloud" } }, "ja": { "stringUnit": { "state": "translated", - "value": "全員に合わせる" + "value": "新しいクラウドマシン" } }, "ko": { "stringUnit": { "state": "translated", - "value": "모두에게 맞추기" + "value": "새 클라우드 머신" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "适合所有人" + "value": "新建云主机" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "適合所有人" + "value": "新增雲端機器" } - } - } - }, - "terminalSharing.sizeMode.largest": { - "extractionState": "manual", - "localizations": { - "en": { + }, + "bs": { "stringUnit": { "state": "translated", - "value": "Largest Window" + "value": "Nova cloud mašina" } }, - "ar": { + "da": { "stringUnit": { "state": "translated", - "value": "أكبر نافذة" + "value": "Ny cloud-maskine" } }, - "de": { + "it": { "stringUnit": { "state": "translated", - "value": "Größtes Fenster" + "value": "Nuova macchina cloud" } }, - "es": { + "km": { "stringUnit": { "state": "translated", - "value": "Ventana más grande" + "value": "ម៉ាស៊ីន Cloud ថ្មី" } }, - "fr": { + "nb": { "stringUnit": { "state": "translated", - "value": "Plus grande fenêtre" + "value": "Ny sky-maskin" } }, - "ja": { + "pl": { "stringUnit": { "state": "translated", - "value": "最大のウインドウ" + "value": "Nowa maszyna w chmurze" } }, - "ko": { + "pt-BR": { "stringUnit": { "state": "translated", - "value": "가장 큰 윈도우" + "value": "Nova máquina na nuvem" } }, - "zh-Hans": { + "ru": { "stringUnit": { "state": "translated", - "value": "最大窗口" + "value": "Новая облачная машина" } }, - "zh-Hant": { + "th": { "stringUnit": { "state": "translated", - "value": "最大視窗" + "value": "เครื่องคลาวด์ใหม่" + } + }, + "tr": { + "stringUnit": { + "state": "translated", + "value": "Yeni bulut makinesi" + } + }, + "uk": { + "stringUnit": { + "state": "translated", + "value": "Нова хмарна машина" } } } }, - "terminalSharing.sizeMode.priority": { + "cloudMenu.machine.freeAccess": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Priority" + "value": "Free access" } }, "ar": { "stringUnit": { "state": "translated", - "value": "الأولوية" + "value": "وصول مجاني" } }, "de": { "stringUnit": { "state": "translated", - "value": "Priorität" + "value": "Kostenloser Zugang" } }, "es": { "stringUnit": { "state": "translated", - "value": "Prioridad" + "value": "Acceso gratuito" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Priorité" + "value": "Accès gratuit" } }, "ja": { "stringUnit": { "state": "translated", - "value": "優先順位" + "value": "無料アクセス" } }, "ko": { "stringUnit": { "state": "translated", - "value": "우선순위" + "value": "무료 이용" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "优先级" + "value": "免费访问" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "優先順序" + "value": "免費存取" } } } }, - "terminalSharing.sizeMode.fixed": { + "cloudMenu.machine.locked": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Fixed" + "value": "Locked" } }, "ar": { "stringUnit": { "state": "translated", - "value": "ثابت" + "value": "مقفلة" } }, "de": { "stringUnit": { "state": "translated", - "value": "Fest" + "value": "Gesperrt" } }, "es": { "stringUnit": { "state": "translated", - "value": "Fijo" + "value": "Bloqueada" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Fixe" + "value": "Verrouillée" } }, "ja": { "stringUnit": { "state": "translated", - "value": "固定" + "value": "ロック中" } }, "ko": { "stringUnit": { "state": "translated", - "value": "고정" + "value": "잠김" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "固定" + "value": "已锁定" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "固定" + "value": "已鎖定" } } } }, - "terminalSharing.panel.setsSize": { + "cloudMenu.dashboard": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "sets size" + "value": "Open Cloud Dashboard" } }, "ar": { "stringUnit": { "state": "translated", - "value": "يحدد الحجم" + "value": "فتح لوحة تحكم السحابة" } }, "de": { "stringUnit": { "state": "translated", - "value": "legt Größe fest" + "value": "Cloud-Dashboard öffnen" } }, "es": { "stringUnit": { "state": "translated", - "value": "define el tamaño" + "value": "Abrir el panel de Cloud" } }, "fr": { "stringUnit": { "state": "translated", - "value": "définit la taille" + "value": "Ouvrir le tableau de bord Cloud" } }, "ja": { "stringUnit": { "state": "translated", - "value": "サイズを設定" + "value": "クラウドダッシュボードを開く" } }, "ko": { "stringUnit": { "state": "translated", - "value": "크기 설정" + "value": "클라우드 대시보드 열기" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "设定尺寸" + "value": "打开云端控制面板" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "設定尺寸" + "value": "打開雲端控制面板" } } } }, - "terminalSharing.panel.notCounted": { + "cloudMenu.diagnostics": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "not counted" + "value": "Cloud Diagnostics" } }, "ar": { "stringUnit": { "state": "translated", - "value": "غير محتسب" + "value": "تشخيصات السحابة" } }, "de": { "stringUnit": { "state": "translated", - "value": "nicht gezählt" + "value": "Cloud-Diagnose" } }, "es": { "stringUnit": { "state": "translated", - "value": "no cuenta" + "value": "Diagnóstico de Cloud" } }, "fr": { "stringUnit": { "state": "translated", - "value": "non compté" + "value": "Diagnostics Cloud" } }, "ja": { "stringUnit": { "state": "translated", - "value": "カウント対象外" + "value": "クラウド診断" } }, "ko": { "stringUnit": { "state": "translated", - "value": "계산 안 됨" + "value": "클라우드 진단" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "不计入" + "value": "云端诊断" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "不計入" + "value": "雲端診斷" } } } }, - "terminalSharing.panel.rowOptions": { + "cloudMenu.machines.empty": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Options for %@" + "value": "No machines yet" } }, "ar": { "stringUnit": { "state": "translated", - "value": "خيارات %@" + "value": "لا توجد أجهزة بعد" } }, "de": { "stringUnit": { "state": "translated", - "value": "Optionen für %@" + "value": "Noch keine Maschinen" } }, "es": { "stringUnit": { "state": "translated", - "value": "Opciones de %@" + "value": "Aún no hay máquinas" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Options pour %@" + "value": "Aucune machine pour le moment" } }, "ja": { "stringUnit": { "state": "translated", - "value": "%@のオプション" + "value": "マシンはまだありません" } }, "ko": { "stringUnit": { "state": "translated", - "value": "%@ 옵션" + "value": "아직 머신이 없습니다" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "%@的选项" + "value": "还没有机器" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "%@的選項" + "value": "尚無機器" } } } }, - "terminalSharing.panel.disconnectOthersButton": { + "cloudMenu.machines.title": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Disconnect Others" + "value": "Cloud Machines" } }, "ar": { "stringUnit": { "state": "translated", - "value": "قطع اتصال الآخرين" + "value": "أجهزة السحابة" } }, "de": { "stringUnit": { "state": "translated", - "value": "Andere trennen" + "value": "Cloud-Maschinen" } }, "es": { "stringUnit": { "state": "translated", - "value": "Desconectar a los demás" + "value": "Máquinas de Cloud" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Déconnecter les autres" + "value": "Machines Cloud" } }, "ja": { "stringUnit": { "state": "translated", - "value": "他の接続を切断" + "value": "クラウドマシン" } }, "ko": { "stringUnit": { "state": "translated", - "value": "다른 연결 끊기" + "value": "클라우드 머신" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "断开其他连接" + "value": "云端机器" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "中斷其他連線" + "value": "雲端機器" } } } }, - "terminalSharing.detached.titleShort": { + "cloudMenu.more": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Detached" + "value": "More Cloud" } }, "ar": { "stringUnit": { "state": "translated", - "value": "تم الفصل" + "value": "المزيد من السحابة" } }, "de": { "stringUnit": { "state": "translated", - "value": "Getrennt" + "value": "Mehr Cloud" } }, "es": { "stringUnit": { "state": "translated", - "value": "Desconectado" + "value": "Más de Cloud" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Détaché" + "value": "Plus de Cloud" } }, "ja": { "stringUnit": { "state": "translated", - "value": "切断されました" + "value": "その他のクラウド" } }, "ko": { "stringUnit": { "state": "translated", - "value": "분리됨" + "value": "클라우드 더 보기" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "已分离" + "value": "更多云端项目" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "已分離" + "value": "更多雲端項目" } } } }, - "terminalSharing.detached.byMessageShort": { + "cloudMenu.problem.requiresPro": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "%1$@ disconnected this Mac at %2$@." + "value": "Cloud machines need cmux Pro" } }, "ar": { "stringUnit": { "state": "translated", - "value": "قطع %1$@ اتصال هذا الـMac في %2$@." + "value": "تتطلب أجهزة السحابة cmux Pro" } }, "de": { "stringUnit": { "state": "translated", - "value": "%1$@ hat diesen Mac um %2$@ getrennt." + "value": "Cloud-Maschinen erfordern cmux Pro" } }, "es": { "stringUnit": { "state": "translated", - "value": "%1$@ desconectó este Mac a las %2$@." + "value": "Las máquinas de Cloud requieren cmux Pro" } }, "fr": { "stringUnit": { "state": "translated", - "value": "%1$@ a déconnecté ce Mac à %2$@." + "value": "Les machines Cloud nécessitent cmux Pro" } }, "ja": { "stringUnit": { "state": "translated", - "value": "%1$@が%2$@にこのMacを切断しました。" + "value": "クラウドマシンには cmux Pro が必要です" } }, "ko": { "stringUnit": { "state": "translated", - "value": "%1$@이(가) %2$@에 이 Mac의 연결을 끊었습니다." + "value": "클라우드 머신에는 cmux Pro가 필요합니다" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "%1$@于%2$@断开了这台Mac的连接。" + "value": "云端机器需要 cmux Pro" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "%1$@於%2$@中斷了這台Mac的連線。" + "value": "雲端機器需要 cmux Pro" } } } }, - "terminalSharing.chip.hiddenColumns": { + "cloudMenu.problem.session": { "extractionState": "manual", "localizations": { "en": { - "variations": { - "plural": { - "one": { - "stringUnit": { - "state": "translated", - "value": "%ld col hidden" - } - }, - "other": { - "stringUnit": { - "state": "translated", - "value": "%ld cols hidden" - } - } - } + "stringUnit": { + "state": "translated", + "value": "Your Cloud session expired" } }, "ar": { - "variations": { - "plural": { - "zero": { - "stringUnit": { - "state": "translated", - "value": "لا أعمدة مخفية (%ld)" - } - }, - "one": { - "stringUnit": { - "state": "translated", - "value": "عمود واحد مخفي (%ld)" - } - }, - "two": { - "stringUnit": { - "state": "translated", - "value": "عمودان مخفيان (%ld)" - } - }, - "few": { - "stringUnit": { - "state": "translated", - "value": "%ld أعمدة مخفية" - } - }, - "many": { - "stringUnit": { - "state": "translated", - "value": "%ld عمودًا مخفيًا" - } - }, - "other": { - "stringUnit": { - "state": "translated", - "value": "%ld عمود مخفي" - } - } - } + "stringUnit": { + "state": "translated", + "value": "انتهت صلاحية جلسة السحابة" } }, "de": { - "variations": { - "plural": { - "one": { - "stringUnit": { - "state": "translated", - "value": "%ld Spalte ausgeblendet" - } - }, - "other": { - "stringUnit": { - "state": "translated", - "value": "%ld Spalten ausgeblendet" - } - } - } + "stringUnit": { + "state": "translated", + "value": "Deine Cloud-Sitzung ist abgelaufen" } }, "es": { - "variations": { - "plural": { - "one": { - "stringUnit": { - "state": "translated", - "value": "%ld columna oculta" - } - }, - "many": { - "stringUnit": { - "state": "translated", - "value": "%ld de columnas ocultas" - } - }, - "other": { - "stringUnit": { - "state": "translated", - "value": "%ld columnas ocultas" - } - } - } + "stringUnit": { + "state": "translated", + "value": "Tu sesión de Cloud ha caducado" } }, "fr": { - "variations": { - "plural": { - "one": { - "stringUnit": { - "state": "translated", - "value": "%ld colonne masquée" - } - }, - "many": { - "stringUnit": { - "state": "translated", - "value": "%ld de colonnes masquées" - } - }, - "other": { - "stringUnit": { - "state": "translated", - "value": "%ld colonnes masquées" - } - } - } + "stringUnit": { + "state": "translated", + "value": "Votre session Cloud a expiré" } }, "ja": { - "variations": { - "plural": { - "other": { - "stringUnit": { - "state": "translated", - "value": "%ld列が非表示" - } - } - } + "stringUnit": { + "state": "translated", + "value": "クラウドのセッションが期限切れです" } }, "ko": { - "variations": { - "plural": { - "other": { - "stringUnit": { - "state": "translated", - "value": "%ld열 숨겨짐" - } - } - } + "stringUnit": { + "state": "translated", + "value": "클라우드 세션이 만료되었습니다" } }, "zh-Hans": { - "variations": { - "plural": { - "other": { - "stringUnit": { - "state": "translated", - "value": "隐藏 %ld 列" - } - } - } + "stringUnit": { + "state": "translated", + "value": "你的云端会话已过期" } }, "zh-Hant": { - "variations": { - "plural": { - "other": { - "stringUnit": { - "state": "translated", - "value": "隱藏 %ld 欄" - } - } - } + "stringUnit": { + "state": "translated", + "value": "你的雲端工作階段已過期" } } } }, - "terminalSharing.panel.cancel": { + "cloudMenu.problem.unreachable": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Cancel" + "value": "Could not reach cmux Cloud" } }, "ar": { "stringUnit": { "state": "translated", - "value": "إلغاء" + "value": "تعذر الوصول إلى cmux Cloud" } }, "de": { "stringUnit": { "state": "translated", - "value": "Abbrechen" + "value": "cmux Cloud ist nicht erreichbar" } }, "es": { "stringUnit": { "state": "translated", - "value": "Cancelar" + "value": "No se pudo conectar con cmux Cloud" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Annuler" + "value": "Impossible de joindre cmux Cloud" } }, "ja": { "stringUnit": { "state": "translated", - "value": "キャンセル" + "value": "cmux Cloud に接続できません" } }, "ko": { "stringUnit": { "state": "translated", - "value": "취소" + "value": "cmux Cloud에 연결할 수 없습니다" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "取消" + "value": "无法连接 cmux Cloud" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "取消" + "value": "無法連線到 cmux Cloud" } } } }, - "terminalSharing.panel.disconnectOthers.confirm": { + "cloudMenu.retry": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Disconnect all other clients?" + "value": "Try Again" } }, "ar": { "stringUnit": { "state": "translated", - "value": "هل تريد قطع اتصال جميع العملاء الآخرين؟" + "value": "إعادة المحاولة" } }, "de": { "stringUnit": { "state": "translated", - "value": "Alle anderen Clients trennen?" + "value": "Erneut versuchen" } }, "es": { "stringUnit": { "state": "translated", - "value": "¿Desconectar todos los demás clientes?" + "value": "Reintentar" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Déconnecter tous les autres clients ?" + "value": "Réessayer" } }, "ja": { "stringUnit": { "state": "translated", - "value": "他のすべてのクライアントを切断しますか?" + "value": "再試行" } }, "ko": { "stringUnit": { "state": "translated", - "value": "다른 모든 클라이언트의 연결을 끊을까요?" + "value": "다시 시도" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "要断开其他所有客户端吗?" + "value": "重试" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "要中斷其他所有用戶端的連線嗎?" + "value": "再試一次" } } } }, - "terminalSharing.panel.disconnectOthers.confirmButton": { + "cloudMenu.showMachines": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Disconnect" + "value": "Show Machines Sidebar" } }, "ar": { "stringUnit": { "state": "translated", - "value": "قطع الاتصال" + "value": "إظهار الشريط الجانبي للأجهزة" } }, "de": { "stringUnit": { "state": "translated", - "value": "Trennen" + "value": "Maschinen-Seitenleiste anzeigen" } }, "es": { "stringUnit": { "state": "translated", - "value": "Desconectar" + "value": "Mostrar la barra lateral de máquinas" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Déconnecter" + "value": "Afficher la barre latérale des machines" } }, "ja": { "stringUnit": { "state": "translated", - "value": "切断" + "value": "マシンのサイドバーを表示" } }, "ko": { "stringUnit": { "state": "translated", - "value": "연결 끊기" + "value": "머신 사이드바 보기" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "断开连接" + "value": "显示机器侧边栏" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "中斷連線" + "value": "顯示機器側邊欄" } } } }, - "terminalSharing.panel.fixedColumns": { + "cloudMenu.signOut": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Columns" + "value": "Sign Out" } }, "ar": { "stringUnit": { "state": "translated", - "value": "الأعمدة" + "value": "تسجيل الخروج" } }, "de": { "stringUnit": { "state": "translated", - "value": "Spalten" + "value": "Abmelden" } }, "es": { "stringUnit": { "state": "translated", - "value": "Columnas" + "value": "Cerrar sesión" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Colonnes" + "value": "Se déconnecter" } }, "ja": { "stringUnit": { "state": "translated", - "value": "列" + "value": "サインアウト" } }, "ko": { "stringUnit": { "state": "translated", - "value": "열" + "value": "로그아웃" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "列数" + "value": "退出登录" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "欄數" + "value": "登出" } } } }, - "terminalSharing.panel.fixedRows": { + "cloudMenu.signedIn": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Rows" + "value": "Signed In" } }, "ar": { "stringUnit": { "state": "translated", - "value": "الصفوف" + "value": "تم تسجيل الدخول" } }, "de": { "stringUnit": { "state": "translated", - "value": "Zeilen" + "value": "Angemeldet" } }, "es": { "stringUnit": { "state": "translated", - "value": "Filas" + "value": "Sesión iniciada" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Lignes" + "value": "Connecté" } }, "ja": { "stringUnit": { "state": "translated", - "value": "行" + "value": "サインイン済み" } }, "ko": { "stringUnit": { "state": "translated", - "value": "행" + "value": "로그인됨" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "行数" + "value": "已登录" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "列數" + "value": "已登入" } } } }, - "terminalSharing.panel.unavailable": { + "cloudMenu.team": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "This terminal is not shared." + "value": "Team" } }, "ar": { "stringUnit": { "state": "translated", - "value": "هذه الطرفية غير مشتركة." + "value": "الفريق" } }, "de": { "stringUnit": { "state": "translated", - "value": "Dieses Terminal wird nicht geteilt." + "value": "Team" } }, "es": { "stringUnit": { "state": "translated", - "value": "Esta terminal no está compartida." + "value": "Equipo" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Ce terminal n’est pas partagé." + "value": "Équipe" } }, "ja": { "stringUnit": { "state": "translated", - "value": "このターミナルは共有されていません。" + "value": "チーム" } }, "ko": { "stringUnit": { "state": "translated", - "value": "이 터미널은 공유되지 않았습니다." + "value": "팀" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "此终端未共享。" + "value": "团队" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "此終端機未共用。" + "value": "團隊" } } } }, - "terminalSharing.panel.counts": { + "cloudMenu.title": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Counts toward size" + "value": "Cloud" } }, "ar": { "stringUnit": { "state": "translated", - "value": "يُحتسب في الحجم" + "value": "السحابة" } }, "de": { "stringUnit": { "state": "translated", - "value": "Zählt für die Größe" + "value": "Cloud" } }, "es": { "stringUnit": { "state": "translated", - "value": "Cuenta para el tamaño" + "value": "Cloud" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Compte pour la taille" + "value": "Cloud" } }, "ja": { "stringUnit": { "state": "translated", - "value": "サイズに反映" + "value": "クラウド" } }, "ko": { "stringUnit": { "state": "translated", - "value": "크기에 반영" + "value": "클라우드" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "计入大小" + "value": "云端" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "計入大小" + "value": "雲端" } } } }, - "terminalSharing.panel.disconnect": { + "cloudMenu.tone.attention": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Disconnect" + "value": "Needs attention" } }, "ar": { "stringUnit": { "state": "translated", - "value": "قطع الاتصال" + "value": "يحتاج إلى انتباه" } }, "de": { "stringUnit": { "state": "translated", - "value": "Trennen" + "value": "Erfordert Aufmerksamkeit" } }, "es": { "stringUnit": { "state": "translated", - "value": "Desconectar" + "value": "Requiere atención" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Déconnecter" + "value": "Nécessite une attention" } }, "ja": { "stringUnit": { "state": "translated", - "value": "切断" + "value": "対応が必要" } }, "ko": { "stringUnit": { "state": "translated", - "value": "연결 끊기" + "value": "확인 필요" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "断开连接" + "value": "需要处理" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "中斷連線" + "value": "需要處理" } } } }, - "cli.restore.error.routedLauncherNotFound": { + "menu.cloud.title": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "restore: this session was started with '%1$@ claude proxy', but '%1$@' is not on PATH in this shell. Add it to PATH, then retry." + "value": "Cloud" } }, - "ja": { + "ar": { "stringUnit": { "state": "translated", - "value": "restore: このセッションは「%1$@ claude proxy」で起動されましたが、このシェルの PATH に「%1$@」がありません。PATH に追加してから、再試行してください。" + "value": "السحابة" } }, - "zh-Hans": { + "de": { "stringUnit": { "state": "translated", - "value": "restore:此会话是通过“%1$@ claude proxy”启动的,但此 shell 的 PATH 中没有“%1$@”。请将其添加到 PATH,然后重试。" + "value": "Cloud" } }, - "de": { + "es": { "stringUnit": { "state": "translated", - "value": "restore: Diese Sitzung wurde mit „%1$@ claude proxy“ gestartet, aber „%1$@“ ist in dieser Shell nicht im PATH. Fügen Sie es zum PATH hinzu und versuchen Sie es dann erneut." + "value": "Cloud" } }, "fr": { "stringUnit": { "state": "translated", - "value": "restore : cette session a été démarrée avec « %1$@ claude proxy », mais « %1$@ » n'est pas dans le PATH de ce shell. Ajoutez-le au PATH, puis réessayez." + "value": "Cloud" } }, - "ar": { + "ja": { "stringUnit": { "state": "translated", - "value": "restore: بدأت هذه الجلسة باستخدام '%1$@ claude proxy'، لكن '%1$@' غير موجود في PATH في هذه الصدفة. أضفه إلى PATH، ثم أعد المحاولة." + "value": "クラウド" } }, - "es": { + "ko": { "stringUnit": { "state": "translated", - "value": "restore: esta sesión se inició con '%1$@ claude proxy', pero '%1$@' no está en el PATH de este shell. Agréguelo al PATH y vuelva a intentarlo." + "value": "클라우드" } }, - "zh-Hant": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "restore:此工作階段是以「%1$@ claude proxy」啟動的,但此 shell 的 PATH 中沒有「%1$@」。請將其加入 PATH,然後重試。" + "value": "云端" } }, - "ko": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "restore: 이 세션은 '%1$@ claude proxy'로 시작되었지만 이 셸의 PATH에 '%1$@'이(가) 없습니다. PATH에 추가한 후 다시 시도하십시오." + "value": "雲端" } } } }, - "settings.terminal.textEditingCommandMovesByWord": { + "cloudMenu.machines.loading": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Command Moves by Word" + "value": "Cloud Machines · Loading…" } }, "ar": { "stringUnit": { "state": "translated", - "value": "Command ينقل حسب الكلمة" + "value": "أجهزة السحابة · جارٍ التحميل…" } }, "de": { "stringUnit": { "state": "translated", - "value": "Befehlstaste bewegt wortweise" + "value": "Cloud-Maschinen · Wird geladen…" } }, "es": { "stringUnit": { "state": "translated", - "value": "Comando mueve por palabra" + "value": "Máquinas de Cloud · Cargando…" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Commande déplace par mot" + "value": "Machines Cloud · Chargement…" } }, "ja": { "stringUnit": { "state": "translated", - "value": "Command で単語単位に移動" + "value": "クラウドマシン · 読み込み中…" } }, "ko": { "stringUnit": { "state": "translated", - "value": "Command로 단어 단위 이동" + "value": "클라우드 머신 · 불러오는 중…" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "Command 按词移动" + "value": "云端机器 · 正在加载…" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "Command 依字移動" + "value": "雲端機器 · 正在載入…" } } } }, - "settings.terminal.textEditingCommandMovesByWord.subtitleOn": { + "cloudMenu.machines.showAll": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Command arrow and delete keys move and delete by word, like Option. Control Left and Right Arrow move to the start and end of the line." + "value": "Show All Machines…" } }, "ar": { "stringUnit": { "state": "translated", - "value": "تنقل مفاتيح الأسهم والحذف مع Command وتحذف حسب الكلمة، مثل Option. وينقل Control مع السهمين الأيسر والأيمن إلى بداية السطر ونهايته." + "value": "عرض كل الأجهزة…" } }, "de": { "stringUnit": { "state": "translated", - "value": "Befehlstaste mit Pfeil- und Löschtasten bewegt und löscht wortweise, wie die Wahltaste. Control mit Links- und Rechtspfeil springt an Anfang und Ende der Zeile." + "value": "Alle Maschinen anzeigen…" } }, "es": { "stringUnit": { "state": "translated", - "value": "Las flechas y la tecla Eliminar con Comando mueven y borran por palabra, como Opción. Control con las flechas izquierda y derecha va al inicio y al final de la línea." + "value": "Mostrar todas las máquinas…" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Les flèches et la touche Supprimer avec Commande déplacent et suppriment par mot, comme Option. Contrôle avec les flèches gauche et droite va au début et à la fin de la ligne." + "value": "Afficher toutes les machines…" } }, "ja": { "stringUnit": { "state": "translated", - "value": "Command と矢印キー・削除キーで、Option と同じく単語単位に移動・削除します。Control と左右矢印キーで行頭・行末に移動します。" + "value": "すべてのマシンを表示…" } }, "ko": { "stringUnit": { "state": "translated", - "value": "Command 화살표 및 삭제 키가 Option처럼 단어 단위로 이동하고 삭제합니다. Control 왼쪽 및 오른쪽 화살표는 줄의 시작과 끝으로 이동합니다." + "value": "모든 머신 보기…" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "Command 加方向键和删除键按词移动和删除,与 Option 相同。Control 加左右方向键移到行首和行尾。" + "value": "显示所有机器…" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "Command 加方向鍵與刪除鍵會依字移動與刪除,與 Option 相同。Control 加左右方向鍵會移到行首與行尾。" + "value": "顯示所有機器…" } } } }, - "settings.terminal.textEditingCommandMovesByWord.subtitleOff": { + "cloudMenu.newMachine": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Command arrow and delete keys move and delete by line, as in macOS text fields." + "value": "New Cloud Machine…" } }, "ar": { "stringUnit": { "state": "translated", - "value": "تنقل مفاتيح الأسهم والحذف مع Command وتحذف حسب السطر، كما في حقول النص في macOS." + "value": "جهاز سحابي جديد…" } }, "de": { "stringUnit": { "state": "translated", - "value": "Befehlstaste mit Pfeil- und Löschtasten bewegt und löscht zeilenweise, wie in macOS-Textfeldern." + "value": "Neue Cloud-Maschine…" } }, "es": { "stringUnit": { "state": "translated", - "value": "Las flechas y la tecla Eliminar con Comando mueven y borran por línea, como en los campos de texto de macOS." + "value": "Nueva máquina de Cloud…" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Les flèches et la touche Supprimer avec Commande déplacent et suppriment par ligne, comme dans les champs de texte de macOS." + "value": "Nouvelle machine Cloud…" } }, "ja": { "stringUnit": { "state": "translated", - "value": "Command と矢印キー・削除キーで、macOS のテキストフィールドと同じく行単位に移動・削除します。" + "value": "新規クラウドマシン…" } }, "ko": { "stringUnit": { "state": "translated", - "value": "Command 화살표 및 삭제 키가 macOS 텍스트 필드처럼 줄 단위로 이동하고 삭제합니다." + "value": "새 클라우드 머신…" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "Command 加方向键和删除键按行移动和删除,与 macOS 文本框相同。" + "value": "新建云端机器…" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "Command 加方向鍵與刪除鍵會依行移動與刪除,與 macOS 文字欄位相同。" + "value": "新增雲端機器…" } } } }, - "settings.terminal.textEditingGesturesInFullScreenApps": { + "cloudMenu.signIn": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Text Editing Gestures in Full-Screen Apps" + "value": "Sign In to cmux Cloud…" } }, "ar": { "stringUnit": { "state": "translated", - "value": "إيماءات تحرير النص في التطبيقات بملء الشاشة" + "value": "تسجيل الدخول إلى cmux Cloud…" } }, "de": { "stringUnit": { "state": "translated", - "value": "Textbearbeitungsgesten in Vollbild-Apps" + "value": "Bei cmux Cloud anmelden…" } }, "es": { "stringUnit": { "state": "translated", - "value": "Gestos de edición de texto en apps a pantalla completa" + "value": "Iniciar sesión en cmux Cloud…" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Gestes d’édition de texte dans les apps plein écran" + "value": "Se connecter à cmux Cloud…" } }, "ja": { "stringUnit": { "state": "translated", - "value": "フルスクリーンアプリでのテキスト編集ジェスチャー" + "value": "cmux Cloud にサインイン…" } }, "ko": { "stringUnit": { "state": "translated", - "value": "전체 화면 앱에서 텍스트 편집 제스처" + "value": "cmux Cloud에 로그인…" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "全屏应用中的文本编辑手势" + "value": "登录 cmux Cloud…" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "全螢幕 App 中的文字編輯手勢" + "value": "登入 cmux Cloud…" } } } }, - "settings.terminal.textEditingGesturesInFullScreenApps.subtitle": { + "cloudMenu.signInAgain": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Gestures also apply while a full-screen app such as vim, less, or tmux is running, so they keep working at a shell inside tmux, screen, or zellij." + "value": "Sign In Again…" } }, "ar": { "stringUnit": { "state": "translated", - "value": "تنطبق الإيماءات أيضًا أثناء تشغيل تطبيق بملء الشاشة مثل vim أو less أو tmux، فتظل تعمل في الصدفة داخل tmux أو screen أو zellij." + "value": "تسجيل الدخول مجددًا…" } }, "de": { "stringUnit": { "state": "translated", - "value": "Gesten gelten auch, während eine Vollbild-App wie vim, less oder tmux läuft, und funktionieren so weiter an einer Shell in tmux, screen oder zellij." + "value": "Erneut anmelden…" } }, "es": { "stringUnit": { "state": "translated", - "value": "Los gestos también se aplican mientras se ejecuta una app a pantalla completa como vim, less o tmux, así que siguen funcionando en una shell dentro de tmux, screen o zellij." + "value": "Volver a iniciar sesión…" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Les gestes s’appliquent aussi lorsqu’une app plein écran comme vim, less ou tmux est en cours d’exécution, et continuent donc de fonctionner dans un shell sous tmux, screen ou zellij." + "value": "Se reconnecter…" } }, "ja": { "stringUnit": { "state": "translated", - "value": "vim、less、tmux などのフルスクリーンアプリの実行中もジェスチャーが有効になるため、tmux、screen、zellij 内のシェルでも引き続き使えます。" + "value": "もう一度サインイン…" } }, "ko": { "stringUnit": { "state": "translated", - "value": "vim, less, tmux 같은 전체 화면 앱이 실행 중일 때도 제스처가 적용되므로 tmux, screen, zellij 안의 셸에서도 계속 작동합니다." + "value": "다시 로그인…" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "在 vim、less 或 tmux 等全屏应用运行时手势也会生效,因此在 tmux、screen 或 zellij 中的 shell 里仍可使用。" + "value": "重新登录…" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "在 vim、less 或 tmux 等全螢幕 App 執行時手勢也會生效,因此在 tmux、screen 或 zellij 中的 shell 裡仍可使用。" + "value": "重新登入…" } } } }, - "cloudTree.action.newCloudMachine": { + "cloudMenu.signingIn": { "extractionState": "manual", "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "New Cloud Machine" + "value": "Signing In…" } }, "ar": { "stringUnit": { "state": "translated", - "value": "جهاز سحابي جديد" + "value": "جارٍ تسجيل الدخول…" } }, "de": { "stringUnit": { "state": "translated", - "value": "Neue Cloud-Maschine" + "value": "Anmeldung läuft…" } }, "es": { "stringUnit": { "state": "translated", - "value": "Nueva máquina en la nube" + "value": "Iniciando sesión…" } }, "fr": { "stringUnit": { "state": "translated", - "value": "Nouvelle machine cloud" + "value": "Connexion…" } }, "ja": { "stringUnit": { "state": "translated", - "value": "新しいクラウドマシン" + "value": "サインイン中…" } }, "ko": { "stringUnit": { "state": "translated", - "value": "새 클라우드 머신" + "value": "로그인 중…" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "新建云主机" + "value": "正在登录…" } }, "zh-Hant": { "stringUnit": { "state": "translated", - "value": "新增雲端機器" - } - }, - "bs": { - "stringUnit": { - "state": "translated", - "value": "Nova cloud mašina" - } - }, - "da": { - "stringUnit": { - "state": "translated", - "value": "Ny cloud-maskine" + "value": "正在登入…" } - }, - "it": { + } + } + }, + "cloudMenu.upgrade": { + "extractionState": "manual", + "localizations": { + "en": { "stringUnit": { "state": "translated", - "value": "Nuova macchina cloud" + "value": "Upgrade to Pro…" } }, - "km": { + "ar": { "stringUnit": { "state": "translated", - "value": "ម៉ាស៊ីន Cloud ថ្មី" + "value": "الترقية إلى Pro…" } }, - "nb": { + "de": { "stringUnit": { "state": "translated", - "value": "Ny sky-maskin" + "value": "Auf Pro upgraden…" } }, - "pl": { + "es": { "stringUnit": { "state": "translated", - "value": "Nowa maszyna w chmurze" + "value": "Mejorar a Pro…" } }, - "pt-BR": { + "fr": { "stringUnit": { "state": "translated", - "value": "Nova máquina na nuvem" + "value": "Passer à Pro…" } }, - "ru": { + "ja": { "stringUnit": { "state": "translated", - "value": "Новая облачная машина" + "value": "Pro にアップグレード…" } }, - "th": { + "ko": { "stringUnit": { "state": "translated", - "value": "เครื่องคลาวด์ใหม่" + "value": "Pro로 업그레이드…" } }, - "tr": { + "zh-Hans": { "stringUnit": { "state": "translated", - "value": "Yeni bulut makinesi" + "value": "升级到 Pro…" } }, - "uk": { + "zh-Hant": { "stringUnit": { "state": "translated", - "value": "Нова хмарна машина" + "value": "升級至 Pro…" } } } @@ -586461,6 +586126,65 @@ } } }, + "cli.restore.error.routedLauncherNotFound": { + "extractionState": "manual", + "localizations": { + "en": { + "stringUnit": { + "state": "translated", + "value": "restore: this session was started with '%1$@ claude proxy', but '%1$@' is not on PATH in this shell. Add it to PATH, then retry." + } + }, + "ja": { + "stringUnit": { + "state": "translated", + "value": "restore: このセッションは「%1$@ claude proxy」で起動されましたが、このシェルの PATH に「%1$@」がありません。PATH に追加してから、再試行してください。" + } + }, + "zh-Hans": { + "stringUnit": { + "state": "translated", + "value": "restore:此会话是通过“%1$@ claude proxy”启动的,但此 shell 的 PATH 中没有“%1$@”。请将其添加到 PATH,然后重试。" + } + }, + "de": { + "stringUnit": { + "state": "translated", + "value": "restore: Diese Sitzung wurde mit „%1$@ claude proxy“ gestartet, aber „%1$@“ ist in dieser Shell nicht im PATH. Fügen Sie es zum PATH hinzu und versuchen Sie es dann erneut." + } + }, + "fr": { + "stringUnit": { + "state": "translated", + "value": "restore : cette session a été démarrée avec « %1$@ claude proxy », mais « %1$@ » n'est pas dans le PATH de ce shell. Ajoutez-le au PATH, puis réessayez." + } + }, + "ar": { + "stringUnit": { + "state": "translated", + "value": "restore: بدأت هذه الجلسة باستخدام '%1$@ claude proxy'، لكن '%1$@' غير موجود في PATH في هذه الصدفة. أضفه إلى PATH، ثم أعد المحاولة." + } + }, + "es": { + "stringUnit": { + "state": "translated", + "value": "restore: esta sesión se inició con '%1$@ claude proxy', pero '%1$@' no está en el PATH de este shell. Agréguelo al PATH y vuelva a intentarlo." + } + }, + "zh-Hant": { + "stringUnit": { + "state": "translated", + "value": "restore:此工作階段是以「%1$@ claude proxy」啟動的,但此 shell 的 PATH 中沒有「%1$@」。請將其加入 PATH,然後重試。" + } + }, + "ko": { + "stringUnit": { + "state": "translated", + "value": "restore: 이 세션은 '%1$@ claude proxy'로 시작되었지만 이 셸의 PATH에 '%1$@'이(가) 없습니다. PATH에 추가한 후 다시 시도하십시오." + } + } + } + }, "command.copyWorkingDirectory.title": { "extractionState": "manual", "localizations": { @@ -587880,6 +587604,419 @@ } } }, + "socket.sidebar.closeSurface.confirmationRequired": { + "extractionState": "manual", + "localizations": { + "en": { + "stringUnit": { + "state": "translated", + "value": "Surface has a running process; retry with --force" + } + }, + "ar": { + "stringUnit": { + "state": "translated", + "value": "تحتوي السطح على عملية قيد التشغيل؛ أعد المحاولة باستخدام --force" + } + }, + "de": { + "stringUnit": { + "state": "translated", + "value": "Die Oberfläche hat einen laufenden Prozess; erneut mit --force versuchen" + } + }, + "es": { + "stringUnit": { + "state": "translated", + "value": "La superficie tiene un proceso en ejecución; vuelve a intentarlo con --force" + } + }, + "fr": { + "stringUnit": { + "state": "translated", + "value": "La surface a un processus en cours d’exécution ; réessayez avec --force" + } + }, + "ja": { + "stringUnit": { + "state": "translated", + "value": "サーフェスでプロセスが実行中です。--force を指定して再試行してください" + } + }, + "ko": { + "stringUnit": { + "state": "translated", + "value": "표면에서 실행 중인 프로세스가 있습니다. --force로 다시 시도하세요" + } + }, + "zh-Hans": { + "stringUnit": { + "state": "translated", + "value": "此表面有正在运行的进程;请使用 --force 重试" + } + }, + "zh-Hant": { + "stringUnit": { + "state": "translated", + "value": "此表面有正在執行的程序;請使用 --force 重試" + } + } + } + }, + "socket.sidebar.closeSurface.failed": { + "extractionState": "manual", + "localizations": { + "en": { + "stringUnit": { + "state": "translated", + "value": "Failed to close surface" + } + }, + "ar": { + "stringUnit": { + "state": "translated", + "value": "تعذر إغلاق السطح" + } + }, + "de": { + "stringUnit": { + "state": "translated", + "value": "Die Oberfläche konnte nicht geschlossen werden" + } + }, + "es": { + "stringUnit": { + "state": "translated", + "value": "No se pudo cerrar la superficie" + } + }, + "fr": { + "stringUnit": { + "state": "translated", + "value": "Échec de la fermeture de la surface" + } + }, + "ja": { + "stringUnit": { + "state": "translated", + "value": "サーフェスを閉じられませんでした" + } + }, + "ko": { + "stringUnit": { + "state": "translated", + "value": "표면을 닫지 못했습니다" + } + }, + "zh-Hans": { + "stringUnit": { + "state": "translated", + "value": "无法关闭此表面" + } + }, + "zh-Hant": { + "stringUnit": { + "state": "translated", + "value": "無法關閉表面" + } + } + } + }, + "socket.surface.close.confirmationRequired": { + "extractionState": "manual", + "localizations": { + "en": { + "stringUnit": { + "state": "translated", + "value": "Surface has a running process; retry with force=true" + } + }, + "ar": { + "stringUnit": { + "state": "translated", + "value": "تحتوي السطح على عملية قيد التشغيل؛ أعد المحاولة باستخدام force=true" + } + }, + "de": { + "stringUnit": { + "state": "translated", + "value": "Die Oberfläche hat einen laufenden Prozess; erneut mit force=true versuchen" + } + }, + "es": { + "stringUnit": { + "state": "translated", + "value": "La superficie tiene un proceso en ejecución; vuelve a intentarlo con force=true" + } + }, + "fr": { + "stringUnit": { + "state": "translated", + "value": "La surface a un processus en cours d’exécution ; réessayez avec force=true" + } + }, + "ja": { + "stringUnit": { + "state": "translated", + "value": "サーフェスでプロセスが実行中です。force=true を指定して再試行してください" + } + }, + "ko": { + "stringUnit": { + "state": "translated", + "value": "표면에서 실행 중인 프로세스가 있습니다. force=true로 다시 시도하세요" + } + }, + "zh-Hans": { + "stringUnit": { + "state": "translated", + "value": "此表面有正在运行的进程;请使用 force=true 重试" + } + }, + "zh-Hant": { + "stringUnit": { + "state": "translated", + "value": "此表面有正在執行的程序;請使用 force=true 重試" + } + } + } + }, + "socket.surface.close.failed": { + "extractionState": "manual", + "localizations": { + "en": { + "stringUnit": { + "state": "translated", + "value": "Failed to close surface" + } + }, + "ar": { + "stringUnit": { + "state": "translated", + "value": "تعذر إغلاق السطح" + } + }, + "de": { + "stringUnit": { + "state": "translated", + "value": "Die Oberfläche konnte nicht geschlossen werden" + } + }, + "es": { + "stringUnit": { + "state": "translated", + "value": "No se pudo cerrar la superficie" + } + }, + "fr": { + "stringUnit": { + "state": "translated", + "value": "Échec de la fermeture de la surface" + } + }, + "ja": { + "stringUnit": { + "state": "translated", + "value": "サーフェスを閉じられませんでした" + } + }, + "ko": { + "stringUnit": { + "state": "translated", + "value": "표면을 닫지 못했습니다" + } + }, + "zh-Hans": { + "stringUnit": { + "state": "translated", + "value": "无法关闭此表面" + } + }, + "zh-Hant": { + "stringUnit": { + "state": "translated", + "value": "無法關閉表面" + } + } + } + }, + "socket.tabAction.close.confirmationRequired": { + "extractionState": "manual", + "localizations": { + "en": { + "stringUnit": { + "state": "translated", + "value": "One or more surfaces have a running process; retry with force=true" + } + }, + "ar": { + "stringUnit": { + "state": "translated", + "value": "سطح واحد أو أكثر يحتوي على عملية قيد التشغيل؛ أعد المحاولة باستخدام force=true" + } + }, + "de": { + "stringUnit": { + "state": "translated", + "value": "Mindestens eine Oberfläche hat einen laufenden Prozess; erneut mit force=true versuchen" + } + }, + "es": { + "stringUnit": { + "state": "translated", + "value": "Una o más superficies tienen un proceso en ejecución; vuelve a intentarlo con force=true" + } + }, + "fr": { + "stringUnit": { + "state": "translated", + "value": "Une ou plusieurs surfaces ont un processus en cours d’exécution ; réessayez avec force=true" + } + }, + "ja": { + "stringUnit": { + "state": "translated", + "value": "1 つ以上のサーフェスでプロセスが実行中です。force=true を指定して再試行してください" + } + }, + "ko": { + "stringUnit": { + "state": "translated", + "value": "하나 이상의 표면에서 프로세스가 실행 중입니다. force=true로 다시 시도하세요" + } + }, + "zh-Hans": { + "stringUnit": { + "state": "translated", + "value": "一个或多个表面有正在运行的进程;请使用 force=true 重试" + } + }, + "zh-Hant": { + "stringUnit": { + "state": "translated", + "value": "一個或多個表面有正在執行的程序;請使用 force=true 重試" + } + } + } + }, + "cli.socket.error.workspaceCloseConfirmationRequired": { + "extractionState": "manual", + "localizations": { + "en": { + "stringUnit": { + "state": "translated", + "value": "Workspace has a running process; retry with --force" + } + }, + "ar": { + "stringUnit": { + "state": "translated", + "value": "تحتوي مساحة العمل على عملية قيد التشغيل؛ أعد المحاولة باستخدام --force" + } + }, + "de": { + "stringUnit": { + "state": "translated", + "value": "Arbeitsbereich mit laufendem Prozess; erneut mit --force versuchen" + } + }, + "es": { + "stringUnit": { + "state": "translated", + "value": "El espacio de trabajo tiene un proceso en ejecución; vuelve a intentarlo con --force" + } + }, + "fr": { + "stringUnit": { + "state": "translated", + "value": "L’espace de travail a un processus en cours d’exécution ; réessayez avec --force" + } + }, + "ja": { + "stringUnit": { + "state": "translated", + "value": "ワークスペースでプロセスが実行中です。--force を指定して再試行してください" + } + }, + "ko": { + "stringUnit": { + "state": "translated", + "value": "워크스페이스에서 프로세스가 실행 중입니다. --force로 다시 시도하세요" + } + }, + "zh-Hans": { + "stringUnit": { + "state": "translated", + "value": "此工作区有正在运行的进程;请使用 --force 重试" + } + }, + "zh-Hant": { + "stringUnit": { + "state": "translated", + "value": "此工作區有正在執行的程序;請使用 --force 重試" + } + } + } + }, + "cli.socket.error.windowCloseConfirmationRequired": { + "extractionState": "manual", + "localizations": { + "en": { + "stringUnit": { + "state": "translated", + "value": "One or more workspaces or Dock surfaces have a running process; retry with --force" + } + }, + "ar": { + "stringUnit": { + "state": "translated", + "value": "تحتوي مساحة عمل واحدة أو أكثر أو أسطح Dock على عملية قيد التشغيل؛ أعد المحاولة باستخدام --force" + } + }, + "de": { + "stringUnit": { + "state": "translated", + "value": "Mindestens ein Workspace oder eine Dock-Oberfläche hat einen laufenden Prozess; erneut mit --force versuchen" + } + }, + "es": { + "stringUnit": { + "state": "translated", + "value": "Uno o más espacios de trabajo o superficies del Dock tienen un proceso en ejecución; vuelve a intentarlo con --force" + } + }, + "fr": { + "stringUnit": { + "state": "translated", + "value": "Un ou plusieurs espaces de travail ou surfaces du Dock ont un processus en cours d’exécution ; réessayez avec --force" + } + }, + "ja": { + "stringUnit": { + "state": "translated", + "value": "1 つ以上のワークスペースまたは Dock サーフェスでプロセスが実行中です。--force を指定して再試行してください" + } + }, + "ko": { + "stringUnit": { + "state": "translated", + "value": "하나 이상의 워크스페이스 또는 Dock 표면에서 실행 중인 프로세스가 있습니다. --force로 다시 시도하세요" + } + }, + "zh-Hans": { + "stringUnit": { + "state": "translated", + "value": "一个或多个工作区或 Dock 表面有正在运行的进程;请使用 --force 重试" + } + }, + "zh-Hant": { + "stringUnit": { + "state": "translated", + "value": "一個或多個工作區或 Dock 表面有正在執行的程序;請使用 --force 重試" + } + } + } + }, "agent.generic.status.runningSubagents": { "extractionState": "manual", "localizations": { diff --git a/Sources/CmuxSettingsFileStore+SupportedPaths.swift b/Sources/CmuxSettingsFileStore+SupportedPaths.swift index eea2d5bb747d..522fba8ed502 100644 --- a/Sources/CmuxSettingsFileStore+SupportedPaths.swift +++ b/Sources/CmuxSettingsFileStore+SupportedPaths.swift @@ -49,6 +49,7 @@ extension CmuxSettingsFileStore { "terminal.reflowHardWrapOnCopy", "terminal.confirmUnsafePaste", "terminal.textEditingGestures", + "terminal.promptSelection", "terminal.textEditingCommandMovesByWord", "terminal.textEditingGesturesInFullScreenApps", "terminal.showPasswordInputIndicator", diff --git a/Sources/CmuxSettingsJSONPathSupport.swift b/Sources/CmuxSettingsJSONPathSupport.swift index a99d50977b2a..dcd0a90d740c 100644 --- a/Sources/CmuxSettingsJSONPathSupport.swift +++ b/Sources/CmuxSettingsJSONPathSupport.swift @@ -322,6 +322,11 @@ enum TerminalSettingsFileMapping { defaultsKey: terminal.textEditingGestures.userDefaultsKey, invalidPath: terminal.textEditingGestures.id ), + .init( + jsonKey: "promptSelection", + defaultsKey: terminal.promptSelection.userDefaultsKey, + invalidPath: terminal.promptSelection.id + ), .init( jsonKey: "textEditingCommandMovesByWord", defaultsKey: terminal.textEditingCommandMovesByWord.userDefaultsKey, diff --git a/Sources/GhosttyNSView+PreparedImageTransfer.swift b/Sources/GhosttyNSView+PreparedImageTransfer.swift index 77a83c36b9c2..11d429f2ca25 100644 --- a/Sources/GhosttyNSView+PreparedImageTransfer.swift +++ b/Sources/GhosttyNSView+PreparedImageTransfer.swift @@ -8,6 +8,7 @@ extension GhosttyNSView { mode: TerminalImageTransferMode = .drop, onCancel: @escaping () -> Void ) -> Bool { + invalidatePromptSelectionTrackingForInput() switch preparedContent { case .reject, .rejectOversizedImage: return false diff --git a/Sources/GhosttyNSView+TerminalCustomUpload.swift b/Sources/GhosttyNSView+TerminalCustomUpload.swift index b3f6bd63ac2f..4d2808c3cc3d 100644 --- a/Sources/GhosttyNSView+TerminalCustomUpload.swift +++ b/Sources/GhosttyNSView+TerminalCustomUpload.swift @@ -13,6 +13,11 @@ extension GhosttyNSView { originSurfaceId: UUID?, onCompleted: @escaping () -> Void = {} ) -> Bool { + guard !text.isEmpty else { + onCompleted() + return false + } + invalidatePromptSelectionTrackingForInput() guard let surface = terminalSurface, let originSurfaceId, surface.id == originSurfaceId else { diff --git a/Sources/GhosttyTerminalView.swift b/Sources/GhosttyTerminalView.swift index ff5339ed5a80..2ee3edbb98b0 100644 --- a/Sources/GhosttyTerminalView.swift +++ b/Sources/GhosttyTerminalView.swift @@ -4052,6 +4052,11 @@ class GhosttyNSView: NSView, NSUserInterfaceValidations { private var wordPathHoverActive = false private var keyboardCopyModeConsumedKeyUps: Set<UInt16> = [] private var textEditingGestureConsumedKeyUps: Set<UInt16> = [] + /// The directed prompt selection cmux last made (`terminal.promptSelection`), + /// or the point a Shift-arrow extension collapsed onto. Non-nil only while + /// cmux owns a selection inside the shell input, so ordinary typing costs a + /// single nil check before any Ghostty call. + private var promptSelectionTracking = TerminalPromptSelectionTracker() /// The alternate-screen state read on the last gesture press, reused by its /// auto-repeats so a held chord does not serialize the viewport per repeat. private var textEditingGestureAlternateScreenAtPress: (keyCode: UInt16, onAlternateScreen: Bool)? @@ -4836,6 +4841,7 @@ class GhosttyNSView: NSView, NSUserInterfaceValidations { let currentMouseSurfaceIdentity = currentGhosttyMouseSurfaceIdentity let nextMouseSurfaceIdentity = ghosttyMouseSurfaceIdentity(for: surface) if !isSameSurface { + promptSelectionTracking.invalidateForSurfaceReplacement() if pendingKeyActionCount > 0, (pendingExplicitKeyDownSurface !== surface || pendingExplicitKeyDownSurfaceID != surface.id) { @@ -4854,6 +4860,7 @@ class GhosttyNSView: NSView, NSUserInterfaceValidations { // Reset any OSC 22 mouse shape carried over from the previous surface. updateGhosttyMouseShape(GHOSTTY_MOUSE_SHAPE_TEXT) } else if currentMouseSurfaceIdentity != nextMouseSurfaceIdentity { + promptSelectionTracking.invalidateForSurfaceReplacement() // A TerminalSurface can rebuild its native pointer without being // replaced. Never send an old session to the replacement pointer. resetGhosttyMouseButtonTracking() @@ -4874,6 +4881,10 @@ class GhosttyNSView: NSView, NSUserInterfaceValidations { synchronizeGhosttyMouseSurfaceIdentity() } + func invalidatePromptSelectionTrackingForInput() { + promptSelectionTracking.invalidateForInput() + } + private func queueExplicitKeyDownForInputDemand(_ event: NSEvent) { guard let owningSurface = terminalSurface else { return } guard pendingKeyDownActionCount < Self.maximumPendingExplicitKeyDownEvents, @@ -4924,6 +4935,7 @@ class GhosttyNSView: NSView, NSUserInterfaceValidations { let preparationService = imageTransferPreparation else { return false } + invalidatePromptSelectionTrackingForInput() pendingPasteSurface = surface pendingPasteSurfaceID = surface.id @@ -6471,6 +6483,173 @@ class GhosttyNSView: NSView, NSUserInterfaceValidations { return performBindingAction("esc:\(chord.letter)") } + // MARK: - Prompt selection (terminal.promptSelection) + + /// Whether the shell input behaves like a text field for selection. + /// + /// Reads the same defaults key as `terminal.promptSelection` in the + /// settings catalog, whose default is `false`. Callers read it only after + /// a keystroke has already matched a prompt selection gesture. + private var promptSelectionEnabled: Bool { + UserDefaults.standard.bool(forKey: "terminal.promptSelection") + } + + /// Handles Command-A and Command-X at a shell prompt. + /// + /// Runs from `performKeyEquivalent` ahead of Ghostty's `select_all` + /// binding and the menu. Anything the resolver passes through (setting + /// off, not at a prompt, an empty prompt, Cut with no input selection) + /// continues down the normal key-equivalent path unchanged. + /// + /// - Returns: `true` when the gesture was handled here. + private func handlePromptSelectionCommandIfNeeded( + _ event: NSEvent, + surface: ghostty_surface_t + ) -> Bool { + // An in-flight clipboard read queues later input behind the paste; + // acting now would edit the prompt ahead of it. The deferred event + // replays through keyDown, so Cmd+A typed during a paste read keeps + // Ghostty's whole-screen select_all. + guard !keyboardCopyModeActive, !hasMarkedText(), !hasClipboardInputDeferral else { return false } + let intent: TerminalPromptSelectionIntent + switch KeyboardLayout.normalizedCharacters(for: event) { + case "a": intent = .selectAll + case "x": intent = .cut + default: return false + } + guard promptSelectionEnabled else { return false } + return applyPromptSelection(intent: intent, surface: surface) + } + + /// Handles Shift-arrow extension, and while cmux holds a prompt selection, + /// the keys that collapse or replace it. + /// + /// Without a held selection only Shift-arrows are considered, and they + /// reach Ghostty only after the pure key mapper matched them and the + /// setting is on. Every other keystroke returns after one nil check. + /// + /// - Returns: `true` when the keystroke was consumed. Typing over a + /// selection deletes it and returns `false`, so the key is still + /// delivered and replaces the selection. + private func handlePromptSelectionKeyIfNeeded( + _ event: NSEvent, + surface: ghostty_surface_t + ) -> Bool { + let holding = promptSelectionTracking.selection != nil + if !holding { + guard event.keyCode == 0x7B || event.keyCode == 0x7C, + event.modifierFlags.contains(.shift) else { return false } + } + guard !keyboardCopyModeActive, !hasMarkedText() else { + promptSelectionTracking.invalidateForInput() + return false + } + let intent = terminalPromptSelectionIntent( + keyCode: event.keyCode, + modifiers: textEditingModifiers(from: event.modifierFlags), + producesText: holding && promptSelectionKeyProducesText(event, surface: surface) + ) + guard let intent else { + promptSelectionTracking.invalidateForInput() + return false + } + if !holding { + guard case .extend = intent else { return false } + } + guard promptSelectionEnabled else { + promptSelectionTracking.invalidateForInput() + return false + } + return applyPromptSelection(intent: intent, surface: surface) + } + + /// Whether a keystroke inserts printable text into the shell, so typing + /// it over a prompt selection should replace the selection. + /// + /// Option acting as Alt (`macos-option-as-alt`) sends a Meta chord, not + /// text, so it does not count. + private func promptSelectionKeyProducesText(_ event: NSEvent, surface: ghostty_surface_t) -> Bool { + guard let text = textForKeyEvent(event), shouldSendText(text) else { return false } + guard event.modifierFlags.contains(.option) else { return true } + let translation = ghostty_surface_key_translation_mods(surface, modsFromEvent(event)) + return translation.rawValue & GHOSTTY_MODS_ALT.rawValue != 0 + } + + /// Resolves `intent` against Ghostty's prompt snapshot and applies it. + /// + /// - Returns: `true` when the original keystroke must not reach Ghostty. + private func applyPromptSelection( + intent: TerminalPromptSelectionIntent, + surface: ghostty_surface_t + ) -> Bool { + let action = terminalPromptSelectionResolve( + intent: intent, + snapshot: TerminalPromptInputSnapshot.read(from: surface), + tracked: promptSelectionTracking.selection + ) + switch action { + case .passThrough: + promptSelectionTracking.invalidateForInput() + return false + case .consume: + return true + case let .select(selection): + guard selection.select(on: surface) else { + promptSelectionTracking.invalidateForInput() + return false + } + promptSelectionTracking.record(selection) + return true + case let .clearSelection(collapsed): + GhosttyRuntimeCInterop.clearSelection(surface) + promptSelectionTracking.record(collapsed) + return true + case let .edit(edit, copyFirst, thenPassThrough): + // Cut copies the selection's exact text, untrimmed, so pasting + // restores what was deleted. The resolver only cuts a non-empty + // input selection; if Ghostty still reads no text, leave the + // input alone and never write an empty clipboard. + if copyFirst { + guard let text = readSelectionSnapshot(surface: surface)?.string, !text.isEmpty else { + promptSelectionTracking.invalidateForInput() + return false + } + GhosttyApp.terminalPasteboard.writeString(text, to: GHOSTTY_CLIPBOARD_STANDARD) + } + promptSelectionTracking.invalidateForInput() + GhosttyRuntimeCInterop.clearSelection(surface) + sendPromptSelectionEdit(edit, surface: surface) + return !thenPassThrough + } + } + + /// Replays an edit as Left, Right, and Backspace presses through the + /// normal key path, so Ghostty encodes them for the active keyboard + /// protocol exactly as if they were typed. + private func sendPromptSelectionEdit( + _ edit: TerminalPromptInputEdit, + surface: ghostty_surface_t + ) { + let presses: [(keyCode: UInt16, count: Int)] = [ + (0x7B, edit.moveLeft), + (0x7C, edit.moveRight), + (0x33, edit.deleteBackward), + ] + for (keyCode, count) in presses where count > 0 { + for _ in 0..<count { + var keyEvent = ghostty_input_key_s() + keyEvent.action = GHOSTTY_ACTION_PRESS + keyEvent.keycode = UInt32(keyCode) + keyEvent.mods = GHOSTTY_MODS_NONE + keyEvent.consumed_mods = GHOSTTY_MODS_NONE + keyEvent.composing = false + keyEvent.unshifted_codepoint = 0 + keyEvent.text = nil + sendGhosttyKey(surface, keyEvent) + } + } + } + private func handleKeyboardCopyModeIfNeeded(_ event: NSEvent, surface: ghostty_surface_t) -> Bool { guard keyboardCopyModeActive else { return false } reconcileKeyboardCopyModeViewport(surface: surface) @@ -6914,6 +7093,11 @@ class GhosttyNSView: NSView, NSUserInterfaceValidations { return false } + if flags == [.command], + handlePromptSelectionCommandIfNeeded(event, surface: surface) { + return true + } + #if DEBUG recordKeyLatency(path: "performKeyEquivalent", event: event) #endif @@ -7170,6 +7354,14 @@ class GhosttyNSView: NSView, NSUserInterfaceValidations { keyboardCopyModeConsumedKeyUps.insert(event.keyCode) return } + if handlePromptSelectionKeyIfNeeded(event, surface: surface) { + // Same key-up bookkeeping as the text-editing gestures below: the + // original press never reached Ghostty, so its release must not. + if !event.modifierFlags.contains(.command) { + textEditingGestureConsumedKeyUps.insert(event.keyCode) + } + return + } if handleTextEditingGestureIfNeeded(event, surface: surface) { // sendGhosttyKey already reported the accepted input; only the // originating gesture's key-up still needs suppressing, because the @@ -8280,6 +8472,7 @@ class GhosttyNSView: NSView, NSUserInterfaceValidations { override func mouseDown(with event: NSEvent) { if routeInputDuringClipboardRead(event) { return } + promptSelectionTracking.invalidateForInput() terminalPointerGesture.cancel() reconcileGhosttyMouseButtons( reason: "mouseDown.preflight", @@ -9905,6 +10098,7 @@ class GhosttyNSView: NSView, NSUserInterfaceValidations { onTextCompletion: @escaping () -> Void = {} ) -> Bool { guard plan != .reject else { return false } + invalidatePromptSelectionTrackingForInput() if case .pasteCloudImages(let urls) = plan { MainActor.assumeIsolated { guard let terminalSurface else { @@ -13941,6 +14135,7 @@ extension GhosttyNSView: NSTextInputClient { /// automation payloads remain byte-for-byte stable. fileprivate func sendTextToSurface(_ chars: String, preserveLiteralEscape: Bool) { guard !chars.isEmpty else { return } + invalidatePromptSelectionTrackingForInput() terminalSurface?.didReceiveExplicitInput() recordDirectAgentHibernationTerminalInput() sendTextToSurfaceAfterInputNotification( diff --git a/Sources/SettingsSearchAliases.swift b/Sources/SettingsSearchAliases.swift index cb3666b4007a..878ea2a23444 100644 --- a/Sources/SettingsSearchAliases.swift +++ b/Sources/SettingsSearchAliases.swift @@ -125,6 +125,7 @@ enum SettingsSearchAliasIndex { "terminal:session-content-width": localized("settings.search.alias.setting.terminal.session-content-width", defaultValue: "terminal.sessionContentMaxWidth terminal agent chat max width readable line length points pt narrow wide"), "terminal:session-content-alignment": localized("settings.search.alias.setting.terminal.session-content-alignment", defaultValue: "terminal.sessionContentAlignment terminal agent chat left center right alignment position"), "terminal:copy-on-select": localized("settings.search.alias.setting.terminal.copy-on-select", defaultValue: "terminal.copyOnSelect copy on selection select clipboard mouse double click triple click iterm"), + "terminal:prompt-selection": localized("settings.search.alias.setting.terminal.prompt-selection", defaultValue: "terminal.promptSelection prompt text selection select all command a shift arrow cut replace shell input command line text field osc 133"), "terminal:text-editing-gestures": localized("settings.search.alias.setting.terminal.text-editing-gestures", defaultValue: "terminal.textEditingGestures text editing gestures option alt word line kill readline emacs keybindings command arrow delete"), "terminal:confirm-unsafe-paste": localized("settings.search.alias.setting.terminal.confirm-unsafe-paste", defaultValue: "terminal.confirmUnsafePaste confirm unsafe paste protection warning multi-line newline clipboard sheet"), "terminal:reflow-hard-wrap-on-copy": localized("settings.search.alias.setting.terminal.reflow-hard-wrap-on-copy", defaultValue: "terminal.reflowHardWrapOnCopy reflow hard wrap copy soft wrap line breaks newlines paste"), diff --git a/Sources/SettingsSearchIndex.swift b/Sources/SettingsSearchIndex.swift index 2267552bcbe8..8b7396539e74 100644 --- a/Sources/SettingsSearchIndex.swift +++ b/Sources/SettingsSearchIndex.swift @@ -108,6 +108,7 @@ enum SettingsSearchIndex { setting(.terminal, "session-content-width", String(localized: "settings.terminal.sessionContentWidth", defaultValue: "Session Content Width"), "terminal.sessionContentMaxWidth terminal agent chat max width readable line length narrow wide"), setting(.terminal, "session-content-alignment", String(localized: "settings.terminal.sessionContentAlignment", defaultValue: "Session Content Alignment"), "terminal.sessionContentAlignment left center right align terminal agent chat"), setting(.terminal, "copy-on-select", String(localized: "settings.terminal.copyOnSelect", defaultValue: "Copy on Selection"), "terminal.copyOnSelect clipboard selection mouse double click triple click"), + setting(.terminal, "prompt-selection", String(localized: "settings.terminal.promptSelection", defaultValue: "Prompt Text Selection"), "terminal.promptSelection prompt text selection select all command a shift arrow cut replace shell input command line text field osc 133"), setting(.terminal, "text-editing-gestures", String(localized: "settings.terminal.textEditingGestures", defaultValue: "Text Editing Gestures"), "terminal.textEditingGestures text editing gestures option alt word line kill readline emacs keybindings command arrow delete"), setting(.terminal, "text-editing-command-moves-by-word", String(localized: "settings.terminal.textEditingCommandMovesByWord", defaultValue: "Command Moves by Word"), "terminal.textEditingCommandMovesByWord command word browser control arrow line start end home karabiner layout"), setting(.terminal, "text-editing-gestures-full-screen-apps", String(localized: "settings.terminal.textEditingGesturesInFullScreenApps", defaultValue: "Text Editing Gestures in Full-Screen Apps"), "terminal.textEditingGesturesInFullScreenApps alternate screen tmux screen zellij vim less tui full screen multiplexer"), @@ -313,6 +314,7 @@ enum SettingsSearchIndex { "terminal.textBoxMaxLines": settingID(for: .textBox, idSuffix: "textbox-max-lines"), "terminal.copyOnSelect": settingID(for: .terminal, idSuffix: "copy-on-select"), "terminal.textEditingGestures": settingID(for: .terminal, idSuffix: "text-editing-gestures"), + "terminal.promptSelection": settingID(for: .terminal, idSuffix: "prompt-selection"), "terminal.textEditingCommandMovesByWord": settingID(for: .terminal, idSuffix: "text-editing-command-moves-by-word"), "terminal.textEditingGesturesInFullScreenApps": settingID(for: .terminal, idSuffix: "text-editing-gestures-full-screen-apps"), "terminal.reflowHardWrapOnCopy": settingID(for: .terminal, idSuffix: "reflow-hard-wrap-on-copy"), diff --git a/docs/ghostty-fork.md b/docs/ghostty-fork.md index c1b18afd5094..86df68eb0a7f 100644 --- a/docs/ghostty-fork.md +++ b/docs/ghostty-fork.md @@ -12,6 +12,42 @@ When we change the fork, update this document and the parent submodule SHA. ## Current fork changes +### Prompt input caret stops and selection + +- Branches: `cmux/prompt-input-selection` ([manaflow-ai/ghostty#235](https://github.com/manaflow-ai/ghostty/pull/235)), + `cmux/prompt-input-right-prompt` ([manaflow-ai/ghostty#237](https://github.com/manaflow-ai/ghostty/pull/237)), + `cmux/prompt-input-erased-spaces` ([manaflow-ai/ghostty#238](https://github.com/manaflow-ai/ghostty/pull/238)) +- Commits: `218d80ead`, `d3edc8ede`, `cda3f06df`, `aa2472dbb`; merged to fork + `main` as `1015e149c`, `f8f8f828a` and `b93ab4222` +- Summary: `ghostty_surface_prompt_input` reports the OSC 133 shell input the + cursor is editing (length and caret in caret stops, plus the selection when it + lies wholly inside the input), and `ghostty_surface_select_prompt_input` + selects a range of it without writing a clipboard. A caret stop is an `.input` + cell holding text, wide spacers skipped, so one stop is one Left/Right step + for zle or readline. cmux's `terminal.promptSelection` uses them for + text-field selection at the prompt. Both refuse the alternate screen, a + running command, a line with no `.prompt` cell before its input (fzf + `--height` and completion menus draw in input mode), and a line holding a + multi-codepoint grapheme. The input ends at the first empty cell at or after + the cursor, because zle draws RPROMPT after OSC 133 B by moving across the + gap, which makes a right prompt `.input` text. Spaces at or after the cursor + that run into that end are dropped too: with RPROMPT shown, zle erases + deleted text by writing spaces. +- Coverage: eleven `Screen: promptInput ...` Zig tests, run by + `build-ghosttykit.yml` before packaging (`-Dtest-filter="promptInput"`). + Hosted [run 36319683313](https://github.com/manaflow-ai/cmux/actions/runs/36319683313) passed 84 tests with this filter at `b93ab4222` (74 with + the single-test pacer filter, so all eleven ran) and published GhosttyKit. +- Artifact: + https://github.com/manaflow-ai/ghostty/releases/tag/xcframework-b93ab422284ad3ae982bf7e2fc7651a55ddf1e4f-crashsubdir-cmux-crash-sentry-off-noi18n-v2 +- SHA-256 `6aadd3e2ae583ef323212a95aeacd73eed1056d7dae51b0f76ade1c3dfaaaedb` + is pinned in `scripts/ghosttykit-checksums.txt`. +- Conflict note: everything lives in new functions (`Screen.promptInput`, + `Screen.promptInputSelection`, `Surface.promptInput`, + `Surface.selectPromptInput`, and two `CAPI` exports). Only the cursor's + soft-wrapped line counts; a hard newline in a multi-line buffer takes no + cell, so offsets across it would not map onto arrow keys. + + ### VT replay blank cells keep the default style - Branch: `fix-formatter-blank-cell-style-9d8d` diff --git a/dogfood/scenarios/prompt-selection-tour.json b/dogfood/scenarios/prompt-selection-tour.json new file mode 100644 index 000000000000..bbf5b34e3486 --- /dev/null +++ b/dogfood/scenarios/prompt-selection-tour.json @@ -0,0 +1,31 @@ +{ + "paths": [ + "Sources/GhosttyTerminalView.swift", + "Packages/macOS/CmuxTerminalCore/*TextEditing/TerminalPromptSelection.swift", + "Packages/macOS/CmuxSettings/*" + ], + "launch": { + "args": ["-terminal.promptSelection", "YES"], + "zoom": true + }, + "steps": [ + {"socket": "workspace.create", "params": {"title": "Prompt selection", "initial_input": "clear\n", "focus": true}}, + {"wait": 3}, + {"type": "echo hello world"}, + {"wait": 0.5}, + {"shot": "01-typed-shell-line"}, + {"key": "left", "modifiers": ["shift"]}, + {"key": "left", "modifiers": ["shift"]}, + {"key": "left", "modifiers": ["shift"]}, + {"key": "left", "modifiers": ["shift"]}, + {"key": "left", "modifiers": ["shift"]}, + {"wait": 0.5}, + {"shot": "02-shift-left-selection"}, + {"key": "a", "modifiers": ["command"]}, + {"wait": 0.5}, + {"shot": "03-command-a-select-all"}, + {"type": "x"}, + {"wait": 0.5}, + {"shot": "04-typing-replaces-selection"} + ] +} diff --git a/ghostty b/ghostty index 324c0273815d..9c1e67c073cc 160000 --- a/ghostty +++ b/ghostty @@ -1 +1 @@ -Subproject commit 324c0273815ddc383d8d2fbf8d59d590cb65dfdb +Subproject commit 9c1e67c073cce77d7c2bb2592b2bf84d502bb74e diff --git a/scripts/ghosttykit-checksums.txt b/scripts/ghosttykit-checksums.txt index 738625cf8f91..53d1a7aa276f 100644 --- a/scripts/ghosttykit-checksums.txt +++ b/scripts/ghosttykit-checksums.txt @@ -133,6 +133,9 @@ c5c31ce819131ebb2deb4c4d4a75beffe4340c8d 4f75749a168712a2b456840309d9603a94039e9 a3e9304c5d19c8667f58a342830f774579c74472 98697b9a49b36e835e900f716ac054cf2476d97bf40ea2742454e735ac5aa3a9 0068ece7331a3131f0f8d93961073ccf172baeb9 c43cf7e0756be4107e714a3a1de082c9903d8ac9a4e43c4865a0eded81a2ddf6 edefce7785c9f439966c68588db1edbd6b435203 d77a7bdf50c78787c2649b314cd9ca8990af823510531ad547e26f3a978f472d +1015e149c871576443ba478e45603dda9ad9eb62 eefce058ad801d5da1224f0ef93e139c42d2bbf24d5dcf1b5198f3aa95d2f287 +f8f8f828a4bd0c691ade20f15074ae18c69e4ba6 378fea01b027365eab88f99d1ee3ad01c21bb117e55f8ce71fe859f1e0c0286b +b93ab422284ad3ae982bf7e2fc7651a55ddf1e4f 6aadd3e2ae583ef323212a95aeacd73eed1056d7dae51b0f76ade1c3dfaaaedb e168fd31c0fc5893cdac933dc665307b3a760554 66d0089dcb7ea8873d86553e684e9b746d39c33318fa5c663a84e7fec68b098f 3769eac633a675accd7fa76b455d9c9a8169ae87 c20e07d9e2f44a3e6e3f356a2feaf51cbf18859cb2a128e61cd0c4f3fa82648a 6dae1978effbd9812de1c93ea7a938dbde12532d dc9b024dc8ad913ced9a80b1c8e5e8532536d98389cdececcdc8aee233541364 diff --git a/skills/cmux-settings/references/all-keys.md b/skills/cmux-settings/references/all-keys.md index dc3c1a4759df..4a9a72056dd2 100644 --- a/skills/cmux-settings/references/all-keys.md +++ b/skills/cmux-settings/references/all-keys.md @@ -60,6 +60,7 @@ Terminal presentation settings from Settings > Terminal. | `terminal.copyOnSelect` | boolean | `false` | When true, copy selected terminal text to the system clipboard when the selection is committed. When false, cmux does not emit a Ghostty copy-on-select override; Ghostty config and defaults control selection-clipboard behavior. | | `terminal.confirmUnsafePaste` | boolean | `false` | When true, a paste that Ghostty's clipboard-paste-protection flags as unsafe (for example, text with a line break going to a program that has not enabled bracketed paste) waits for confirmation in a sheet attached to the terminal's window. When false, cmux pastes it without asking. OSC 52 clipboard reads are not affected. | | `terminal.reflowHardWrapOnCopy` | boolean | `false` | When true, copying terminal text also joins a line that exactly fills the terminal width onto the next line, undoing hard wraps a program inserted at the grid edge. Soft-wrapped rows are always joined. | +| `terminal.promptSelection` | boolean | `false` | When true, the shell input at a prompt behaves like a text field for selection: Command-A selects only the command being typed (an empty prompt keeps select-all), Shift-Left/Right and Command-Shift-Left/Right extend the selection, and typing, Delete, or Command-X replace it through arrow and Backspace keys. Needs shell integration (OSC 133) and applies only at a prompt on the main screen, never inside full-screen TUIs or while a command runs. Assumes an emacs-style line editor; in vi command mode the replayed Backspace keys move instead of deleting. | | `terminal.textEditingGestures` | boolean | `false` | Replay macOS text-editing gestures as line-editor keys at the shell prompt: Command and Option arrow keys move by line and word, and Command and Option Delete kill by line and word. While a full-screen application (vim, less, htop, tmux) has the terminal on the alternate screen, it gets the keys as if gestures were off, unless textEditingGesturesInFullScreenApps is on. Ghostty's own bindings still apply there, so Command+Left sends Ctrl+A and Option+Left sends Esc b. | | `terminal.textEditingCommandMovesByWord` | boolean | `false` | With textEditingGestures on, switch to a browser-style layout: Command arrow and Delete keys move and delete by word, like Option, and Control+Left/Right move to the start and end of the line. Every other Control chord, including Ctrl+W and Ctrl+C, still reaches the terminal. macOS reserves Control+Left/Right for switching Spaces by default; turn those off in System Settings > Keyboard > Keyboard Shortcuts > Mission Control for Control+arrows to reach cmux. | | `terminal.textEditingGesturesInFullScreenApps` | boolean | `false` | Keep textEditingGestures active while a full-screen application has the terminal on the alternate screen. tmux, screen, and zellij keep the outer terminal on the alternate screen even at their shell prompt, so turn this on to use gestures inside a multiplexer. Applications that bind the gesture chords themselves then receive the translated keys. | diff --git a/web/data/cmux.schema.json b/web/data/cmux.schema.json index 77b4930d1c60..741fc700d8b4 100644 --- a/web/data/cmux.schema.json +++ b/web/data/cmux.schema.json @@ -836,6 +836,11 @@ "default": false, "description": "Keep textEditingGestures active while a full-screen application has the terminal on the alternate screen. tmux, screen, and zellij keep the outer terminal on the alternate screen even at their shell prompt, so turn this on to use gestures inside a multiplexer. Applications that bind the gesture chords themselves then receive the translated keys." }, + "promptSelection": { + "type": "boolean", + "default": false, + "description": "When true, the shell input at a prompt behaves like a text field for selection: Command-A selects only the command being typed (an empty prompt keeps select-all), Shift-Left/Right and Command-Shift-Left/Right extend the selection, and typing, Delete, or Command-X replace it through arrow and Backspace keys. Needs shell integration (OSC 133) and applies only at a prompt on the main screen, never inside full-screen TUIs or while a command runs. Assumes an emacs-style line editor; in vi command mode the replayed Backspace keys move instead of deleting." + }, "showPasswordInputIndicator": { "type": "boolean", "default": true,