дзеркало
https://github.com/l0ng-ai/openidea.git
синхронізовано 2026-11-09 19:25:54 +02:00
fix(welcome): name the platform's file manager, not Finder (#2265)
On Windows and Linux several places still named macOS's Finder: the recent-project row menu (Show in Finder), Settings › Version Control › Confirmation › When patch is created, the question after a patch is saved, and the reveal error. The wording was an English literal at each call site, one place sniffed the user agent, and the catalogs only had Finder's text. Shared helpers in src/platform/fileManager.ts now name Finder / Explorer / Files from the platform info, and the project view's Reveal action, the editor tab menu, the project tree menu, the welcome page and the patch flow use them, with whole-sentence catalog entries so each locale can translate them. Co-authored-by: emanyzwww <[email protected]>
Цей коміт міститься в:
1 джерело
16ebb6fde8
коміт
5d3432a000
20 files changed
+198
-36
No files matched your search
@@ -41,7 +41,7 @@ import { t } from "@/platform/i18n";
|
||||
import { call, commands } from "@/platform/ipc";
|
||||
import { isRemoteWindow } from "@/platform/remote";
|
||||
import { fileIconName, showContextMenu, type MenuItem } from "@/ui";
|
||||
import { usePlatform } from "@/platform/platformInfo";
|
||||
import { fileManagerName } from "@/platform/fileManager";
|
||||
import {
|
||||
activateTab,
|
||||
changeSplitOrientation,
|
||||
@@ -1919,7 +1919,7 @@ function openInMenu(path: string): MenuItem {
|
||||
label: "Open In",
|
||||
submenu: [
|
||||
{ kind: "action", action: "navigate.selectIn", arg: { path }, label: "Project View" },
|
||||
{ kind: "action", action: "project.revealInFinder", arg: path, label: revealLabel() },
|
||||
{ kind: "action", action: "project.revealInFinder", arg: path, label: fileManagerName() },
|
||||
{ kind: "action", action: "project.openInTerminal", arg: path, label: "Terminal" },
|
||||
{ kind: "separator" },
|
||||
...menuGroupItems("openIn", { paths: [path] }),
|
||||
@@ -2004,12 +2004,6 @@ export function editorController(): EditorController {
|
||||
return (controller ??= new EditorController());
|
||||
}
|
||||
|
||||
/** "Finder" / "Explorer" / "Files", like IDEA's Open In submenu. */
|
||||
function revealLabel(): string {
|
||||
const os = usePlatform.getState().os;
|
||||
return os === "macos" ? "Finder" : os === "windows" ? "Explorer" : "Files";
|
||||
}
|
||||
|
||||
function inPopup(target: EventTarget | null): boolean {
|
||||
return target instanceof Element && !!target.closest("[data-popup]");
|
||||
}
|
||||
@@ -2,6 +2,7 @@
|
||||
import { activeEditor } from "@/editor/api";
|
||||
import { getAction, registerActions, type Action } from "@/platform/actions";
|
||||
import { getContext } from "@/platform/context";
|
||||
import { revealInFileManagerLabel } from "@/platform/fileManager";
|
||||
import { dirname, useProject } from "@/platform/project";
|
||||
import { showContextMenu, type MenuItem } from "@/ui";
|
||||
import { maybeEditorService, menuGroupItems, toolWindowService } from "@/workbench/contributions";
|
||||
@@ -388,7 +389,7 @@ export function registerProjectActions(): () => void {
|
||||
copyPath("source", "project.copySourceRootPath", "Copy Path From Source Root"),
|
||||
{
|
||||
id: "project.revealInFinder",
|
||||
title: tx`Reveal in ${revealLabel()}`,
|
||||
title: revealInFileManagerLabel(),
|
||||
category: "Project View",
|
||||
icon: "external-link",
|
||||
when: OPEN,
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
/** Context menu and "New" popup of the project view. */
|
||||
import { executeAction, getAction } from "@/platform/actions";
|
||||
import { fileManagerName } from "@/platform/fileManager";
|
||||
import { formatBinding, hostBinding, isMacHost, shortcutLabel } from "@/platform/keymap";
|
||||
import { relativePath, useProject } from "@/platform/project";
|
||||
import { currentDetectedRoots, currentRoots } from "@/platform/projectRoots";
|
||||
@@ -458,10 +459,7 @@ function libraryMenuItems(nodes: ProjectNode[]): MenuItem[] {
|
||||
}
|
||||
|
||||
export function revealLabel() {
|
||||
const ua = typeof navigator !== "undefined" ? navigator.userAgent : "";
|
||||
if (/Win/i.test(ua)) return "Explorer";
|
||||
if (/Linux/i.test(ua)) return "Files";
|
||||
return "Finder";
|
||||
return fileManagerName();
|
||||
}
|
||||
|
||||
/** What contributed menu groups see: the selected (non-placeholder) paths. */
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
/** Navigate › File Path (⌥⌘F12): the file and its folders, each revealed in the OS file manager. */
|
||||
import { openPopup } from "@/editor/lsp/popupStore";
|
||||
import { revealInFileManager } from "@/platform/fileManager";
|
||||
import { fileManagerName, revealInFileManager } from "@/platform/fileManager";
|
||||
import { notifications } from "@/workbench/contributions";
|
||||
import { tx } from "@/platform/i18n";
|
||||
import { nameOf, parentOf } from "./paths";
|
||||
import { revealLabel } from "./contextMenu";
|
||||
|
||||
const DRIVE_ROOT = /^[A-Za-z]:\/?$/;
|
||||
|
||||
@@ -24,7 +23,7 @@ async function reveal(path: string) {
|
||||
try {
|
||||
await revealInFileManager(path);
|
||||
} catch (e) {
|
||||
const fileManager = revealLabel();
|
||||
const fileManager = tx(fileManagerName());
|
||||
notifications().notify({
|
||||
level: "error",
|
||||
title: tx`Cannot reveal in ${fileManager}`,
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
import { createElement, Fragment } from "react";
|
||||
import { askUsagesDetected, fileUsages, viewUsages } from "@/editor/refactor";
|
||||
import { executeAction, getAction } from "@/platform/actions";
|
||||
import { fileManagerPath, revealInFileManager } from "@/platform/fileManager";
|
||||
import { fileManagerName, fileManagerPath, revealInFileManager } from "@/platform/fileManager";
|
||||
import { maybeEditorService, notifications } from "@/workbench/contributions";
|
||||
import { ask, confirmChecked } from "@/workbench/messages";
|
||||
import { osClipboard } from "./clipboard";
|
||||
@@ -837,10 +837,8 @@ export async function revealInFinder(nodes: ProjectNode[] = selectedNodes()) {
|
||||
try {
|
||||
await revealInFileManager(nodes.map((n) => n.path));
|
||||
} catch (e) {
|
||||
// Same names as contextMenu.revealLabel (kept local: contextMenu imports
|
||||
// this module, so importing it back would be a cycle).
|
||||
const desktop = usePlatform.getState().os;
|
||||
fail(`Cannot reveal in ${desktop === "windows" ? "Explorer" : desktop === "linux" ? "Files" : "Finder"}`, e);
|
||||
const fileManager = tx(fileManagerName());
|
||||
fail(tx`Cannot reveal in ${fileManager}`, e);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
import { afterEach, describe, expect, it } from "vitest";
|
||||
import { executeAction, getAction, registerActions } from "@/platform/actions";
|
||||
import { setContext } from "@/platform/context";
|
||||
import { _resetI18nForTests, setLocale } from "@/platform/i18n";
|
||||
import { usePlatform } from "@/platform/platformInfo";
|
||||
import { resolveMenuItems, useContextMenuStore, type MenuItem } from "@/ui";
|
||||
import { provideEditorService, registerMenuGroup, type EditorService } from "@/workbench/contributions";
|
||||
import { registerProjectActions, selectInTargets } from "./actions";
|
||||
@@ -33,6 +35,38 @@ describe("Open in Terminal", () => {
|
||||
});
|
||||
|
||||
describe("Select In (⌥F1)", () => {
|
||||
it.each([
|
||||
["macos", "Finder", "Reveal in Finder"],
|
||||
["windows", "Explorer", "Show in Explorer"],
|
||||
["linux", "Files", "Show in Files"],
|
||||
])("uses the platform store for %s menus and action titles", (os, name, title) => {
|
||||
const previous = usePlatform.getState().os;
|
||||
try {
|
||||
usePlatform.setState({ os });
|
||||
disposers.push(registerProjectActions());
|
||||
expect(revealLabel()).toBe(name);
|
||||
expect(labels(selectInTargets("/p/a.ts"))).toContain(name);
|
||||
expect(getAction("project.revealInFinder")?.title).toBe(title);
|
||||
} finally {
|
||||
usePlatform.setState({ os: previous });
|
||||
}
|
||||
});
|
||||
|
||||
it("retranslates the file manager action after registering in Chinese", async () => {
|
||||
const previous = usePlatform.getState().os;
|
||||
try {
|
||||
usePlatform.setState({ os: "windows" });
|
||||
await setLocale("zh");
|
||||
disposers.push(registerProjectActions());
|
||||
expect(getAction("project.revealInFinder")?.title).toBe("在资源管理器中显示");
|
||||
await setLocale("en");
|
||||
expect(getAction("project.revealInFinder")?.title).toBe("Show in Explorer");
|
||||
} finally {
|
||||
usePlatform.setState({ os: previous });
|
||||
_resetI18nForTests();
|
||||
}
|
||||
});
|
||||
|
||||
it("lists the project view, contributed targets, Finder and the terminal", () => {
|
||||
disposers.push(
|
||||
registerMenuGroup({
|
||||
|
||||
@@ -8,6 +8,7 @@ import { useEffect, useId, useState } from "react";
|
||||
import { call, commands, isTauri } from "@/platform/ipc";
|
||||
import { useProject } from "@/platform/project";
|
||||
import { WORKFLOW_LIMITS, type IssueLinkValid } from "@/platform/workflowSettings";
|
||||
import { showInFileManagerLabel } from "@/platform/fileManager";
|
||||
import { Button, Icon, Input, type SelectOption, T } from "@/ui";
|
||||
import { Row, SettingSelect } from "../components/Form";
|
||||
import { useSetting } from "../components/context";
|
||||
@@ -222,7 +223,7 @@ function PushDialogRows() {
|
||||
const PATCH_CREATED: SelectOption[] = [
|
||||
{ value: "ask", label: "Ask" },
|
||||
{ value: "no", label: "No" },
|
||||
{ value: "reveal", label: "Show in Finder" },
|
||||
{ value: "reveal", label: showInFileManagerLabel() },
|
||||
];
|
||||
|
||||
const INCOMING: SelectOption[] = [
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
import { afterEach, expect, it } from "vitest";
|
||||
import { _resetI18nForTests, setLocale, tx } from "@/platform/i18n";
|
||||
import { usePlatform } from "@/platform/platformInfo";
|
||||
import { patchSavedBody } from "../patches";
|
||||
|
||||
afterEach(() => _resetI18nForTests());
|
||||
|
||||
it.each([
|
||||
["macos", "Patch file created successfully. Show it in Finder?", "补丁文件已创建。是否在访达中显示?"],
|
||||
["windows", "Patch file created successfully. Show it in Explorer?", "补丁文件已创建。是否在资源管理器中显示?"],
|
||||
["linux", "Patch file created successfully. Show it in Files?", "补丁文件已创建。是否在文件管理器中显示?"],
|
||||
])("asks to show the saved patch in the %s file manager", async (os, english, chinese) => {
|
||||
const previous = usePlatform.getState().os;
|
||||
try {
|
||||
usePlatform.setState({ os });
|
||||
expect(patchSavedBody()).toBe(english);
|
||||
await setLocale("zh");
|
||||
expect(tx(patchSavedBody())).toBe(chinese);
|
||||
} finally {
|
||||
usePlatform.setState({ os: previous });
|
||||
}
|
||||
});
|
||||
@@ -2,7 +2,7 @@ import { commitRepo } from "./multiRoot";
|
||||
/** Create Patch… (from local changes or commits) and Apply Patch… (file or clipboard, with a preview). */
|
||||
import { useEffect, useState } from "react";
|
||||
import type { Commit, FileStatus, PatchFile, PatchSource, ShelvedChangeList } from "@/bindings";
|
||||
import { revealInFileManager } from "@/platform/fileManager";
|
||||
import { fileManagerName, revealInFileManager } from "@/platform/fileManager";
|
||||
import { call, commands } from "@/platform/ipc";
|
||||
import { Button, Checkbox, Dialog, Icon, Input, List, Spinner, fileIconName, T } from "@/ui";
|
||||
import { workflowSettings } from "@/platform/workflowSettings";
|
||||
@@ -82,14 +82,24 @@ async function browseSave(current: string): Promise<string | null> {
|
||||
}
|
||||
}
|
||||
|
||||
/** Settings › Version Control › Confirmation › When patch is created: ask / no / show in Finder. */
|
||||
/** Whole sentences let each locale translate the patch question. */
|
||||
export function patchSavedBody(): string {
|
||||
const name = fileManagerName();
|
||||
return name === "Finder"
|
||||
? "Patch file created successfully. Show it in Finder?"
|
||||
: name === "Explorer"
|
||||
? "Patch file created successfully. Show it in Explorer?"
|
||||
: "Patch file created successfully. Show it in Files?";
|
||||
}
|
||||
|
||||
/** Settings › Version Control › Confirmation › When patch is created: ask / no / show in the file manager. */
|
||||
async function afterPatchSaved(path: string) {
|
||||
const mode = workflowSettings().vcs.confirmation.onPatchCreated;
|
||||
if (mode === "no") return;
|
||||
if (mode === "ask") {
|
||||
const r = await ask({
|
||||
title: "Create Patch",
|
||||
body: tx("Patch file created successfully. Show it in Finder?"),
|
||||
body: tx(patchSavedBody()),
|
||||
checkbox: "Don't ask again",
|
||||
buttons: [{ id: "show", label: "Show", primary: true }],
|
||||
});
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { useMemo, useState, type KeyboardEvent, type MouseEvent, type ReactNode } from "react";
|
||||
import clsx from "clsx";
|
||||
import { call, commands, type RecentProject, type RecentProjectGroup } from "@/platform/ipc";
|
||||
import { revealInFileManager } from "@/platform/fileManager";
|
||||
import { revealInFileManager, showInFileManagerLabel } from "@/platform/fileManager";
|
||||
import { parseRemoteLocation } from "@/platform/remote";
|
||||
import {
|
||||
HighlightedText,
|
||||
@@ -137,7 +137,7 @@ export function recentMenu(project: RecentProject, onOpened?: () => void, onRemo
|
||||
: { kind: "action", action: "file.openInNewWindow", arg: project.path, label: "Open in New Window" },
|
||||
{
|
||||
id: "reveal",
|
||||
label: "Show in Finder",
|
||||
label: showInFileManagerLabel(),
|
||||
icon: "external-link",
|
||||
run: () => void revealInFileManager(project.path).catch(() => undefined),
|
||||
},
|
||||
|
||||
@@ -31,6 +31,7 @@ vi.mock("@tauri-apps/api/webview", () => ({
|
||||
}));
|
||||
|
||||
import { registerActions } from "@/platform/actions";
|
||||
import { usePlatform } from "@/platform/platformInfo";
|
||||
import { useProject } from "@/platform/project";
|
||||
import { ContextMenuHost } from "@/ui";
|
||||
import { registerSettingsPage } from "@/workbench/contributions";
|
||||
@@ -38,6 +39,7 @@ import { MessagesHost } from "@/workbench/messages";
|
||||
import { projectInitials } from "@/workbench/projectColor";
|
||||
import { handleListKey } from "./ProjectsPage";
|
||||
import { customizeView } from "./CustomizePage";
|
||||
import { recentMenu } from "./RecentList";
|
||||
import { filterRecent, useRecent } from "./recent";
|
||||
import { WelcomeView } from "./WelcomeView";
|
||||
|
||||
@@ -126,11 +128,30 @@ describe("Welcome › Projects", () => {
|
||||
fireEvent.click(within(screen.getAllByRole("option")[0]!).getByRole("button", { name: "Project actions" }));
|
||||
const menu = await screen.findByRole("menu");
|
||||
expect(within(menu).getByText("Open in New Window")).toBeTruthy();
|
||||
expect(within(menu).getByText("Show in Finder")).toBeTruthy();
|
||||
expect(within(menu).getByText("Remove from Recent Projects…")).toBeTruthy();
|
||||
dispose();
|
||||
});
|
||||
|
||||
// Regression: the welcome menus are shared by the projects page and the two
|
||||
// recent-project popups, and used to hardcode "Show in Finder" on every OS.
|
||||
it("names the platform's file manager for the reveal action", () => {
|
||||
const previous = usePlatform.getState().os;
|
||||
const revealLabel = () => {
|
||||
const items = recentMenu(p("acme-api", "/Users/me/repo/acme-api"));
|
||||
return (items.find((i) => "id" in i && i.id === "reveal") as { label?: string } | undefined)?.label;
|
||||
};
|
||||
try {
|
||||
usePlatform.setState({ os: "windows" });
|
||||
expect(revealLabel()).toBe("Show in Explorer");
|
||||
usePlatform.setState({ os: "linux" });
|
||||
expect(revealLabel()).toBe("Show in Files");
|
||||
usePlatform.setState({ os: "macos" });
|
||||
expect(revealLabel()).toBe("Show in Finder");
|
||||
} finally {
|
||||
usePlatform.setState({ os: previous });
|
||||
}
|
||||
});
|
||||
|
||||
it("shows the landing page without recent projects", async () => {
|
||||
recent = [];
|
||||
await renderWelcome();
|
||||
|
||||
@@ -1,8 +1,46 @@
|
||||
import { describe, expect, it } from "vitest";
|
||||
import { fileManagerPath } from "./fileManager";
|
||||
import { afterEach, describe, expect, it } from "vitest";
|
||||
import { fileManagerName, fileManagerPath, revealInFileManagerLabel, showInFileManagerLabel } from "./fileManager";
|
||||
import { _resetI18nForTests, setLocale, tx } from "./i18n";
|
||||
|
||||
const raw = String.raw;
|
||||
|
||||
afterEach(() => _resetI18nForTests());
|
||||
|
||||
describe("file manager labels", () => {
|
||||
it.each([
|
||||
["macos", "Finder", "Reveal in Finder"],
|
||||
["windows", "Explorer", "Show in Explorer"],
|
||||
["linux", "Files", "Show in Files"],
|
||||
["web", "Files", "Show in Files"],
|
||||
])("names the %s file manager in submenus and project actions", (os, name, label) => {
|
||||
expect(fileManagerName(os)).toBe(name);
|
||||
expect(revealInFileManagerLabel(os)).toBe(label);
|
||||
});
|
||||
|
||||
it("translates the project action on every desktop platform", async () => {
|
||||
await setLocale("zh");
|
||||
expect(tx(revealInFileManagerLabel("macos"))).toBe("在访达中显示");
|
||||
expect(tx(revealInFileManagerLabel("windows"))).toBe("在资源管理器中显示");
|
||||
expect(tx(revealInFileManagerLabel("linux"))).toBe("在文件管理器中显示");
|
||||
});
|
||||
});
|
||||
|
||||
describe("showInFileManagerLabel", () => {
|
||||
it("names the file manager of the platform instead of always Finder", () => {
|
||||
expect(showInFileManagerLabel("macos")).toBe("Show in Finder");
|
||||
expect(showInFileManagerLabel("windows")).toBe("Show in Explorer");
|
||||
expect(showInFileManagerLabel("linux")).toBe("Show in Files");
|
||||
expect(showInFileManagerLabel("web")).toBe("Show in Files");
|
||||
});
|
||||
|
||||
it("is translated into the platform's file manager, not Finder", async () => {
|
||||
await setLocale("zh");
|
||||
expect(tx(showInFileManagerLabel("macos"))).toBe("在访达中显示");
|
||||
expect(tx(showInFileManagerLabel("windows"))).toBe("在资源管理器中显示");
|
||||
expect(tx(showInFileManagerLabel("linux"))).toBe("在文件管理器中显示");
|
||||
});
|
||||
});
|
||||
|
||||
describe("fileManagerPath", () => {
|
||||
it("converts verbatim UNC paths to the form Windows Shell accepts", () => {
|
||||
expect(
|
||||
|
||||
@@ -29,6 +29,20 @@ export function fileManagerPath(
|
||||
return path;
|
||||
}
|
||||
|
||||
/** English source text; callers and the action registry translate it. */
|
||||
export function fileManagerName(os = usePlatform.getState().os): string {
|
||||
return os === "macos" ? "Finder" : os === "windows" ? "Explorer" : "Files";
|
||||
}
|
||||
|
||||
export function showInFileManagerLabel(os = usePlatform.getState().os): string {
|
||||
return os === "macos" ? "Show in Finder" : os === "windows" ? "Show in Explorer" : "Show in Files";
|
||||
}
|
||||
|
||||
/** The project action has historically used "Reveal" on macOS. */
|
||||
export function revealInFileManagerLabel(os = usePlatform.getState().os): string {
|
||||
return os === "macos" ? "Reveal in Finder" : showInFileManagerLabel(os);
|
||||
}
|
||||
|
||||
/** Reveals files in Explorer, Finder or the Linux desktop's file manager. */
|
||||
export async function revealInFileManager(paths: string | readonly string[]): Promise<void> {
|
||||
if (!isTauri()) return;
|
||||
|
||||
@@ -1,4 +1,15 @@
|
||||
{
|
||||
"Finder": "Finder",
|
||||
"Explorer": "Explorer",
|
||||
"Files": "Files",
|
||||
"Show in Finder": "Show in Finder",
|
||||
"Show in Explorer": "Show in Explorer",
|
||||
"Show in Files": "Show in Files",
|
||||
"Reveal in Finder": "Reveal in Finder",
|
||||
"Patch file created successfully. Show it in Finder?": "Patch file created successfully. Show it in Finder?",
|
||||
"Patch file created successfully. Show it in Explorer?": "Patch file created successfully. Show it in Explorer?",
|
||||
"Patch file created successfully. Show it in Files?": "Patch file created successfully. Show it in Files?",
|
||||
"Cannot reveal in {fileManager}": "Cannot reveal in {fileManager}",
|
||||
"Active Editor": "Active Editor",
|
||||
"Soft-Wrap": "Soft-Wrap",
|
||||
"The language server Java executable ({path}) cannot run on this machine. Choose a working JDK in {setting}, or set it to Auto.": "The language server Java executable ({path}) cannot run on this machine. Choose a working JDK in {setting}, or set it to Auto.",
|
||||
|
||||
@@ -2072,6 +2072,8 @@
|
||||
"Show file extension": "Mostrar extensión de archivo",
|
||||
"Show gutter icons": "Mostrar iconos del margen",
|
||||
"Show hard wrap and visual guides (configured in Code Style options)": "Mostrar ajuste de línea fijo y guías visuales (configurado en las opciones de Estilo de código)",
|
||||
"Show in Explorer": "Mostrar en el Explorador",
|
||||
"Show in Files": "Mostrar en Archivos",
|
||||
"Show in Finder": "Mostrar en Finder",
|
||||
"Show in tool window": "Mostrar en ventana de herramientas",
|
||||
"Show inlay Run to Cursor popup": "Mostrar ventana emergente integrada Ejecutar hasta el cursor",
|
||||
@@ -4069,7 +4071,6 @@
|
||||
"Include {path}": "Incluir {path}",
|
||||
"Project View: {option}": "Vista del proyecto: {option}",
|
||||
"Project View: Show {view}": "Vista del proyecto: Mostrar {view}",
|
||||
"Reveal in {fileManager}": "Mostrar en {fileManager}",
|
||||
"Unmark as {role}": "Desmarcar como {role}",
|
||||
"Updated references in {count} file": "Referencias actualizadas en {count} archivo",
|
||||
"Updated references in {count} files": "Referencias actualizadas en {count} archivos",
|
||||
@@ -4779,6 +4780,8 @@
|
||||
"Show Push dialog for Commit and Push": "Mostrar diálogo de Push al Confirmar y hacer Push",
|
||||
"Show Push dialog only when committing to protected branches": "Mostrar diálogo de Push solo al confirmar en ramas protegidas",
|
||||
"Combine stashes and shelves in one tab": "Combinar stashes y estantes en una sola pestaña",
|
||||
"Patch file created successfully. Show it in Explorer?": "Archivo de parche creado correctamente. ¿Mostrarlo en el Explorador?",
|
||||
"Patch file created successfully. Show it in Files?": "Archivo de parche creado correctamente. ¿Mostrarlo en Archivos?",
|
||||
"Patch file created successfully. Show it in Finder?": "Archivo de parche creado correctamente. ¿Mostrarlo en Finder?",
|
||||
"File names": "Nombres de archivo",
|
||||
"Large files": "Archivos grandes",
|
||||
|
||||
@@ -1971,6 +1971,8 @@
|
||||
"Show file extension": "Afficher l'extension du fichier",
|
||||
"Show gutter icons": "Afficher les icônes de la gouttière",
|
||||
"Show hard wrap and visual guides (configured in Code Style options)": "Afficher le retour à la ligne forcé et les repères visuels (configurés dans les options de style de code)",
|
||||
"Show in Explorer": "Afficher dans l'Explorateur",
|
||||
"Show in Files": "Afficher dans Fichiers",
|
||||
"Show in Finder": "Afficher dans le Finder",
|
||||
"Show in tool window": "Afficher dans la fenêtre d'outil",
|
||||
"Show inlay Run to Cursor popup": "Afficher la fenêtre intégrée Exécuter jusqu'au curseur",
|
||||
@@ -3926,7 +3928,6 @@
|
||||
"Include {path}": "Inclure {path}",
|
||||
"Project View: {option}": "Vue Projet : {option}",
|
||||
"Project View: Show {view}": "Vue Projet : afficher {view}",
|
||||
"Reveal in {fileManager}": "Afficher dans {fileManager}",
|
||||
"Unmark as {role}": "Retirer le marquage {role}",
|
||||
"Updated references in {count} file": "Références mises à jour dans {count} fichier",
|
||||
"Updated references in {count} files": "Références mises à jour dans {count} fichiers",
|
||||
@@ -4627,6 +4628,8 @@
|
||||
"Show Push dialog for Commit and Push": "Afficher la boîte de dialogue Push pour Commit et push",
|
||||
"Show Push dialog only when committing to protected branches": "Afficher la boîte de dialogue Push uniquement pour les commits sur des branches protégées",
|
||||
"Combine stashes and shelves in one tab": "Regrouper les remises et les modifications mises de côté dans un seul onglet",
|
||||
"Patch file created successfully. Show it in Explorer?": "Fichier de patch créé. L'afficher dans l'Explorateur ?",
|
||||
"Patch file created successfully. Show it in Files?": "Fichier de patch créé. L'afficher dans Fichiers ?",
|
||||
"Patch file created successfully. Show it in Finder?": "Fichier de patch créé. L'afficher dans le Finder ?",
|
||||
"File names": "Noms de fichiers",
|
||||
"Large files": "Fichiers volumineux",
|
||||
|
||||
@@ -2128,6 +2128,8 @@
|
||||
"Show file extension": "파일 확장자 표시",
|
||||
"Show gutter icons": "여백 아이콘 표시",
|
||||
"Show hard wrap and visual guides (configured in Code Style options)": "하드 랩 및 시각적 가이드 표시(코드 스타일 옵션에서 구성)",
|
||||
"Show in Explorer": "탐색기에서 표시",
|
||||
"Show in Files": "파일에서 표시",
|
||||
"Show in Finder": "Finder에서 표시",
|
||||
"Show in tool window": "도구 창에 표시",
|
||||
"Show inlay Run to Cursor popup": "인레이 “커서 위치까지 실행” 팝업 표시",
|
||||
@@ -4135,7 +4137,6 @@
|
||||
"Include {path}": "{path} 포함",
|
||||
"Project View: {option}": "프로젝트 뷰: {option}",
|
||||
"Project View: Show {view}": "프로젝트 뷰: {view} 표시",
|
||||
"Reveal in {fileManager}": "{fileManager}에서 표시",
|
||||
"Unmark as {role}": "{role} 표시 해제",
|
||||
"Updated references in {count} file": "파일 {count}개의 참조를 업데이트했습니다",
|
||||
"Updated references in {count} files": "파일 {count}개의 참조를 업데이트했습니다",
|
||||
@@ -4852,6 +4853,8 @@
|
||||
"Show Push dialog for Commit and Push": "커밋 및 푸시에 대한 푸시 대화 상자 표시",
|
||||
"Show Push dialog only when committing to protected branches": "보호된 브랜치에 커밋할 때만 푸시 대화 상자 표시",
|
||||
"Combine stashes and shelves in one tab": "스태시와 보류 항목을 하나의 탭에 결합",
|
||||
"Patch file created successfully. Show it in Explorer?": "패치 파일이 생성되었습니다. 탐색기에서 표시하시겠습니까?",
|
||||
"Patch file created successfully. Show it in Files?": "패치 파일이 생성되었습니다. 파일에서 표시하시겠습니까?",
|
||||
"Patch file created successfully. Show it in Finder?": "패치 파일이 생성되었습니다. Finder에서 표시하시겠습니까?",
|
||||
"File names": "파일 이름",
|
||||
"Large files": "대용량 파일",
|
||||
|
||||
@@ -2053,6 +2053,8 @@
|
||||
"Show file extension": "Pokaż rozszerzenie pliku",
|
||||
"Show gutter icons": "Pokaż ikony na marginesie",
|
||||
"Show hard wrap and visual guides (configured in Code Style options)": "Pokaż twarde zawijanie i linie pomocnicze (skonfigurowane w opcjach Stylu Kodu)",
|
||||
"Show in Explorer": "Pokaż w Eksploratorze",
|
||||
"Show in Files": "Pokaż w programie Pliki",
|
||||
"Show in Finder": "Pokaż w Finderze",
|
||||
"Show in tool window": "Pokaż w oknie narzędziowym",
|
||||
"Show inlay Run to Cursor popup": "Pokaż wewnątrzlinijkowe okno wyskakujące 'Uruchom do kursora'",
|
||||
@@ -4028,7 +4030,6 @@
|
||||
"Include {path}": "Dołącz {path}",
|
||||
"Project View: {option}": "Widok projektu: {option}",
|
||||
"Project View: Show {view}": "Widok projektu: Pokaż {view}",
|
||||
"Reveal in {fileManager}": "Pokaż w programie {fileManager}",
|
||||
"Unmark as {role}": "Odznacz jako {role}",
|
||||
"Updated references in {count} file": "Zaktualizowano odnośniki w {count} pliku",
|
||||
"Updated references in {count} files": "Zaktualizowano odnośniki w {count} plikach",
|
||||
@@ -4730,6 +4731,8 @@
|
||||
"Show Push dialog for Commit and Push": "Pokaż okno dialogowe Wysyłania (Push) podczas zatwierdzania i wysyłania (Commit and Push)",
|
||||
"Show Push dialog only when committing to protected branches": "Pokaż okno dialogowe Wysyłania tylko przy zatwierdzaniu do chronionych gałęzi",
|
||||
"Combine stashes and shelves in one tab": "Połącz schowki (stashes) i półki (shelves) na jednej karcie",
|
||||
"Patch file created successfully. Show it in Explorer?": "Plik łatki utworzono pomyślnie. Wyświetlić w Eksploratorze?",
|
||||
"Patch file created successfully. Show it in Files?": "Plik łatki utworzono pomyślnie. Wyświetlić w programie Pliki?",
|
||||
"Patch file created successfully. Show it in Finder?": "Plik łatki utworzono pomyślnie. Wyświetlić w programie Finder?",
|
||||
"File names": "Nazwy plików",
|
||||
"Large files": "Duże pliki",
|
||||
|
||||
@@ -2054,6 +2054,8 @@
|
||||
"Show file extension": "Mostrar extensão do arquivo",
|
||||
"Show gutter icons": "Mostrar ícones na margem",
|
||||
"Show hard wrap and visual guides (configured in Code Style options)": "Mostrar quebra forçada e guias visuais (configurado nas opções de Estilo de Código)",
|
||||
"Show in Explorer": "Mostrar no Explorer",
|
||||
"Show in Files": "Mostrar nos Arquivos",
|
||||
"Show in Finder": "Mostrar no Finder",
|
||||
"Show in tool window": "Mostrar na janela de ferramentas",
|
||||
"Show inlay Run to Cursor popup": "Mostrar popup inline de Executar até o Cursor",
|
||||
@@ -4034,7 +4036,6 @@
|
||||
"Include {path}": "Incluir {path}",
|
||||
"Project View: {option}": "Visualização do projeto: {option}",
|
||||
"Project View: Show {view}": "Visualização do projeto: mostrar {view}",
|
||||
"Reveal in {fileManager}": "Revelar no {fileManager}",
|
||||
"Unmark as {role}": "Desmarcar como {role}",
|
||||
"Updated references in {count} file": "Referências atualizadas em {count} arquivo",
|
||||
"Updated references in {count} files": "Referências atualizadas em {count} arquivos",
|
||||
@@ -4744,6 +4745,8 @@
|
||||
"Show Push dialog for Commit and Push": "Mostrar caixa de diálogo de Push para Commit e Push",
|
||||
"Show Push dialog only when committing to protected branches": "Mostrar caixa de diálogo de Push apenas ao comitar em branches protegidas",
|
||||
"Combine stashes and shelves in one tab": "Combinar stashes e shelves em uma única aba",
|
||||
"Patch file created successfully. Show it in Explorer?": "Arquivo de patch criado com sucesso. Mostrar no Explorer?",
|
||||
"Patch file created successfully. Show it in Files?": "Arquivo de patch criado com sucesso. Mostrar nos Arquivos?",
|
||||
"Patch file created successfully. Show it in Finder?": "Arquivo de patch criado com sucesso. Mostrar no Finder?",
|
||||
"File names": "Nomes de arquivos",
|
||||
"Large files": "Arquivos grandes",
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
{
|
||||
"Finder": "访达",
|
||||
"Explorer": "资源管理器",
|
||||
"Reveal in Finder": "在访达中显示",
|
||||
"Active Editor": "活动编辑器",
|
||||
"The language server Java executable ({path}) cannot run on this machine. Choose a working JDK in {setting}, or set it to Auto.": "语言服务器的 Java 可执行文件({path})无法在此机器上运行。请在 {setting} 中选择可正常运行的 JDK,或设为自动。",
|
||||
"Input queue is full (4 MiB or 1024 writes); input was not sent.": "输入队列已满(4 MiB 或 1024 次写入);本次输入未发送。",
|
||||
@@ -2341,6 +2344,8 @@
|
||||
"Show file extension": "显示文件扩展名",
|
||||
"Show gutter icons": "显示装订区域图标",
|
||||
"Show hard wrap and visual guides (configured in Code Style options)": "显示硬换行和视觉参考线(在代码样式选项中配置)",
|
||||
"Show in Explorer": "在资源管理器中显示",
|
||||
"Show in Files": "在文件管理器中显示",
|
||||
"Show in Finder": "在访达中显示",
|
||||
"Show in tool window": "在工具窗口中显示",
|
||||
"Show inlay Run to Cursor popup": "显示内嵌的“运行到光标处”按钮",
|
||||
@@ -4379,7 +4384,6 @@
|
||||
"Include {path}": "包含 {path}",
|
||||
"Project View: {option}": "项目视图:{option}",
|
||||
"Project View: Show {view}": "项目视图:显示{view}",
|
||||
"Reveal in {fileManager}": "在{fileManager}中显示",
|
||||
"Unmark as {role}": "取消标记为{role}",
|
||||
"Updated references in {count} file": "已更新 {count} 个文件中的引用",
|
||||
"Updated references in {count} files": "已更新 {count} 个文件中的引用",
|
||||
@@ -5109,6 +5113,8 @@
|
||||
"Show Push dialog for Commit and Push": "提交并推送时显示推送对话框",
|
||||
"Show Push dialog only when committing to protected branches": "仅在提交到受保护分支时显示推送对话框",
|
||||
"Combine stashes and shelves in one tab": "在同一个标签页中合并显示贮藏和搁置",
|
||||
"Patch file created successfully. Show it in Explorer?": "补丁文件已创建。是否在资源管理器中显示?",
|
||||
"Patch file created successfully. Show it in Files?": "补丁文件已创建。是否在文件管理器中显示?",
|
||||
"Patch file created successfully. Show it in Finder?": "补丁文件已创建。是否在访达中显示?",
|
||||
"File names": "文件名",
|
||||
"Large files": "大文件",
|
||||
|
||||
Reference in new issue
Заблокувати користувача