diff --git a/apps/desktop/CHANGELOG.md b/apps/desktop/CHANGELOG.md index 54f56e62..b33b8485 100644 --- a/apps/desktop/CHANGELOG.md +++ b/apps/desktop/CHANGELOG.md @@ -9,13 +9,16 @@ The VS Code / Cursor extension has its own changelog at separately — desktop releases are tagged `app-v*`, extension releases `ext-v*` — but they share the same engine, so most Git behaviour lands in both at once. -## [Unreleased] +## [2.5.0] - 2026-10-01 ### Added - **GitStudio in 14 languages.** Settings ▸ Appearance ▸ Language picks one, or follows your OS: Simplified and Traditional Chinese, Japanese, Korean, German, French, Spanish, Italian, Portuguese (Brazil), Russian, Turkish, Polish and Czech, besides English. A change applies after a restart. Translations other than English are machine drafts — corrections are welcome on GitHub. +- **Edit message… on a commit.** Right-click a commit in the graph to rewrite + its message: the whole message opens in an editor, the commits after it are + replayed, branches on them can come along, and Undo puts it back. ## [2.4.0] - 2026-09-29 diff --git a/apps/desktop/l10n/bundle.l10n.json b/apps/desktop/l10n/bundle.l10n.json index 31cf6d8e..7456b293 100644 --- a/apps/desktop/l10n/bundle.l10n.json +++ b/apps/desktop/l10n/bundle.l10n.json @@ -317,6 +317,7 @@ "Already cloned at {0}": "Already cloned at {0}", "Already merged in the file, outside the conflict markers (by git, or by hand): check it": "Already merged in the file, outside the conflict markers (by git, or by hand): check it", "Already on {0}": "Already on {0}", + "Already pushed. Editing its message would rewrite history other people have. The next push will need to be a force push.": "Already pushed. Editing its message would rewrite history other people have. The next push will need to be a force push.", "Already pushed. {0} it would rewrite history other people have.": "Already pushed. {0} it would rewrite history other people have.", "Already rebased commits": "Already rebased commits", "Already rebased commits and commits from {0}": "Already rebased commits and commits from {0}", @@ -702,6 +703,7 @@ "Commit graph": "Commit graph", "Commit list": "Commit list", "Commit message": "Commit message", + "Commit message changed.": "Commit message changed.", "Commit not in the local clone": "Commit not in the local clone", "Commit or stash {0}, then pull again.": "Commit or stash {0}, then pull again.", "Commit page: filter the changed files": "Commit page: filter the changed files", @@ -824,6 +826,8 @@ "Couldn't bring the conflict in {0} back.": "Couldn't bring the conflict in {0} back.", "Couldn't bring them back.": "Couldn't bring them back.", "Couldn't cancel the run.": "Couldn't cancel the run.", + "Couldn't change the commit message.": "Couldn't change the commit message.", + "Couldn't change the commit message: {0}": "Couldn't change the commit message: {0}", "Couldn't change {0}.": "Couldn't change {0}.", "Couldn't check for updates.": "Couldn't check for updates.", "Couldn't check out the PR.": "Couldn't check out the PR.", @@ -1272,12 +1276,17 @@ "Duration": "Duration", "Edit": "Edit", "Edit #{0}": "Edit #{0}", + "Edit and move those branches": "Edit and move those branches", "Edit assignees": "Edit assignees", "Edit comment": "Edit comment", + "Edit commit message": "Edit commit message", "Edit gist": "Edit gist", "Edit issue #{0}": "Edit issue #{0}", "Edit issue title and description": "Edit issue title and description", "Edit labels": "Edit labels", + "Edit message": "Edit message", + "Edit message…": "Edit message…", + "Edit on this branch only": "Edit on this branch only", "Edit pull request #{0}": "Edit pull request #{0}", "Edit pull request title and description": "Edit pull request title and description", "Edit release": "Edit release", @@ -1288,6 +1297,8 @@ "Edit title & description": "Edit title & description", "Edit {0}": "Edit {0}", "Edited {0}": "Edited {0}", + "Editing the message hit a conflict while replaying a later commit. Resolve it and continue the rebase — or abort to put the branch back as it was.": "Editing the message hit a conflict while replaying a later commit. Resolve it and continue the rebase — or abort to put the branch back as it was.", + "Editing the message stopped and needs you — continue the rebase, or abort it to put the branch back as it was.": "Editing the message stopped and needs you — continue the rebase, or abort it to put the branch back as it was.", "Editors": "Editors", "Email": "Email", "Empty file": "Empty file", @@ -1913,6 +1924,7 @@ "Move down": "Move down", "Move down (Alt+Down)": "Move down (Alt+Down)", "Move or delete what's inside it first": "Move or delete what's inside it first", + "Move the branches on rewritten commits too?": "Move the branches on rewritten commits too?", "Move the selected commits": "Move the selected commits", "Move the selected commits down": "Move the selected commits down", "Move the selected commits down (Alt+Down)": "Move the selected commits down (Alt+Down)", @@ -2532,6 +2544,7 @@ "Pushing…": "Pushing…", "Push…": "Push…", "Put the clone folder back": "Put the clone folder back", + "Put the old message back": "Put the old message back", "Put the stash back": "Put the stash back", "Put the stash “{0}” back {1}.": "Put the stash “{0}” back {1}.", "Put the {0} dropped commits back": "Put the {0} dropped commits back", @@ -2688,6 +2701,7 @@ "Reopened PR #{0}.": "Reopened PR #{0}.", "Reopened issue #{0}.": "Reopened issue #{0}.", "Reopening…": "Reopening…", + "Reordering": "Reordering", "Reordering stops at a merge — moving a commit past one would flatten it.": "Reordering stops at a merge — moving a commit past one would flatten it.", "Replace and stage": "Replace and stage", "Replace the file with {0} and stage it": "Replace the file with {0} and stage it", @@ -3210,6 +3224,8 @@ "That URL uses an unsupported transport.": "That URL uses an unsupported transport.", "That change is no longer there — the file moved underneath. Refresh and try again.": "That change is no longer there — the file moved underneath. Refresh and try again.", "That commit is too far down the branch to drop from here. Start an interactive rebase from it instead.": "That commit is too far down the branch to drop from here. Start an interactive rebase from it instead.", + "That commit is too far down the branch to edit from here. Start an interactive rebase instead.": "That commit is too far down the branch to edit from here. Start an interactive rebase instead.", + "That commit isn't on the current branch, so its message can't be edited from here.": "That commit isn't on the current branch, so its message can't be edited from here.", "That commit isn't on the current branch, so there's nothing to drop it from.": "That commit isn't on the current branch, so there's nothing to drop it from.", "That didn't work.": "That didn't work.", "That doesn't look like a valid repository URL.": "That doesn't look like a valid repository URL.", @@ -3240,6 +3256,7 @@ "That worktree": "That worktree", "That {0} is not here": "That {0} is not here", "That's a merge commit — dropping it would flatten the history it joined. Revert it instead.": "That's a merge commit — dropping it would flatten the history it joined. Revert it instead.", + "That's a merge commit — editing its message would flatten the history it joined. Use an interactive rebase that keeps merges instead.": "That's a merge commit — editing its message would flatten the history it joined. Use an interactive rebase that keeps merges instead.", "That's the clone folder itself, not a repository inside it.": "That's the clone folder itself, not a repository inside it.", "That's the only commit on the branch — dropping it would leave nothing.": "That's the only commit on the branch — dropping it would leave nothing.", "The 50 most recent commits. Clone the repository to read its whole history.": "The 50 most recent commits. Clone the repository to read its whole history.", @@ -3284,6 +3301,7 @@ "The commit is": "The commit is", "The commit is added to {0} as one new commit.": "The commit is added to {0} as one new commit.", "The commit it holds": "The commit it holds", + "The commit needs a message.": "The commit needs a message.", "The conflict is back, but {0} couldn't be restored on disk.": "The conflict is back, but {0} couldn't be restored on disk.", "The conflict state came back empty.": "The conflict state came back empty.", "The conflicts list: every conflicted file of this {0}, and {1}{2}": "The conflicts list: every conflicted file of this {0}, and {1}{2}", @@ -3494,7 +3512,8 @@ "This workflow run couldn't be loaded.": "This workflow run couldn't be loaded.", "Those are all the commits on the branch — dropping them would leave nothing.": "Those are all the commits on the branch — dropping them would leave nothing.", "Those changes are no longer there — refresh and try again.": "Those changes are no longer there — refresh and try again.", - "Those commits are too far down the branch to {0} from here. Start an interactive rebase instead.": "Those commits are too far down the branch to {0} from here. Start an interactive rebase instead.", + "Those commits are too far down the branch to drop from here. Start an interactive rebase instead.": "Those commits are too far down the branch to drop from here. Start an interactive rebase instead.", + "Those commits are too far down the branch to squash from here. Start an interactive rebase instead.": "Those commits are too far down the branch to squash from here. Start an interactive rebase instead.", "Those commits could not be read any more — refresh the graph and try again.": "Those commits could not be read any more — refresh the graph and try again.", "Thread": "Thread", "Thread reopened.": "Thread reopened.", @@ -3713,6 +3732,7 @@ "You have this one at {0}.": "You have this one at {0}.", "You have uncommitted changes. Commit or stash them, then drop the commit.": "You have uncommitted changes. Commit or stash them, then drop the commit.", "You have uncommitted changes. Commit or stash them, then drop the commits.": "You have uncommitted changes. Commit or stash them, then drop the commits.", + "You have uncommitted changes. Commit or stash them, then edit the message.": "You have uncommitted changes. Commit or stash them, then edit the message.", "You have uncommitted changes. Commit or stash them, then squash the commits.": "You have uncommitted changes. Commit or stash them, then squash the commits.", "You have uncommitted changes. Commit or stash them, then start the rebase.": "You have uncommitted changes. Commit or stash them, then start the rebase.", "You have {0} {1} doesn't, and it has {2} you don't. Git needs to know how to combine them — this choice applies to this pull only.": "You have {0} {1} doesn't, and it has {2} you don't. Git needs to know how to combine them — this choice applies to this pull only.", @@ -3918,6 +3938,7 @@ "e.g. sonnet": "e.g. sonnet", "edit": "edit", "edited": "edited", + "editing a commit message": "editing a commit message", "either arrow takes it": "either arrow takes it", "empty": "empty", "error": "error", @@ -4529,6 +4550,7 @@ "{0} of {1} ticked · untick the last for all": "{0} of {1} ticked · untick the last for all", "{0} on this file": "{0} on this file", "{0} on {1}": "{0} on {1}", + "{0} on {1} gets the message below.": "{0} on {1} gets the message below.", "{0} on {1} not pulled yet.": "{0} on {1} not pulled yet.", "{0} on {1}/{2} yet: {3} pushed first.": "{0} on {1}/{2} yet: {3} pushed first.", "{0} on {1}{2}{3}": "{0} on {1}{2}{3}", diff --git a/apps/desktop/package.json b/apps/desktop/package.json index 1611519f..8b224394 100644 --- a/apps/desktop/package.json +++ b/apps/desktop/package.json @@ -1,6 +1,6 @@ { "name": "gitstudio-desktop", - "version": "2.4.0", + "version": "2.5.0", "private": true, "license": "Apache-2.0", "description": "GitStudio \u2014 the native cross-platform desktop app (Electron). Reuses @gitstudio/engine, git-service, webview-ui, and host-bridge behind host-agnostic seams.", diff --git a/apps/desktop/src/main/rebaseBridge.ts b/apps/desktop/src/main/rebaseBridge.ts index e9c9cfca..76a9321d 100644 --- a/apps/desktop/src/main/rebaseBridge.ts +++ b/apps/desktop/src/main/rebaseBridge.ts @@ -689,7 +689,7 @@ export class RebaseBridge { if (!ctx) { return { ok: false, expected: true, reason: "no-repo", message: l10n.t("Open a repository first.") }; } - const verb = req?.verb === "squash" ? "squash" : "drop"; + const verb = req?.verb === "squash" ? "squash" : req?.verb === "reword" ? "reword" : "drop"; const plan = await planMany(ctx.process, verb, selectedCommits(Array.isArray(req?.shas) ? req.shas : [])); if (!plan.ok) { return { ok: false, expected: true, reason: plan.reason, message: plan.message }; @@ -719,7 +719,7 @@ export class RebaseBridge { return { status: "failed", ok: false, expected: true, message: l10n.t("Open a repository first.") }; } try { - const verb = req?.verb === "squash" ? "squash" : "drop"; + const verb = req?.verb === "squash" ? "squash" : req?.verb === "reword" ? "reword" : "drop"; const out = await rewriteMany( ctx.process, verb, @@ -744,7 +744,7 @@ export class RebaseBridge { if (!ctx) { return { ok: false, changed: false, expected: true, message: l10n.t("Open a repository first.") }; } - const what = ["drop", "squash", "cherry-pick", "revert"].includes(String(req?.what)) ? String(req.what) : "change"; + const what = ["drop", "squash", "reword", "cherry-pick", "revert"].includes(String(req?.what)) ? String(req.what) : "change"; const r = await undoRewrite( ctx.process, { diff --git a/apps/desktop/src/renderer/contextMenu.ts b/apps/desktop/src/renderer/contextMenu.ts index 8ee980be..36bca54c 100644 --- a/apps/desktop/src/renderer/contextMenu.ts +++ b/apps/desktop/src/renderer/contextMenu.ts @@ -13,7 +13,7 @@ import * as l10n from "@vscode/l10n"; interface MenuItem { label: string; /** A commit:action verb — or "drop", which is its own flow (see DROP_ITEM). */ - action: CommitActionRequest["action"] | "drop"; + action: CommitActionRequest["action"] | "drop" | "reword"; /** For checkout-ref: the ref this item checks out, its kind, and its full * name when the row knew it (see RowRef.fullName). */ ref?: { name: string; kind: "head" | "remote" | "tag"; fullName?: string }; @@ -55,15 +55,19 @@ export const ITEMS: MenuItem[] = [ */ const DROP_ITEM: MenuItem = { label: l10n.t("Drop commit…"), action: "drop", danger: true }; +/** "Edit message…" (issue #75): offered, like Drop, only where it can work. */ +const REWORD_ITEM: MenuItem = { label: l10n.t("Edit message…"), action: "reword" }; + /** * The rows for one commit: "Checkout " for the refs on it, then the * commit actions — with "Drop commit…" beside Revert and the resets when the * commit can be dropped from the current branch. */ -export function commitMenuRows(refs: readonly RowRef[], opts: { drop?: boolean } = {}): MenuItem[] { +export function commitMenuRows(refs: readonly RowRef[], opts: { drop?: boolean; reword?: boolean } = {}): MenuItem[] { const rows: MenuItem[] = refMenuItems(refs).map(refRow); for (const item of ITEMS) { rows.push(item); + if (item.action === "revert" && opts.reword) rows.push(REWORD_ITEM); if (item.action === "revert" && opts.drop) rows.push(DROP_ITEM); } return rows; @@ -108,7 +112,7 @@ export function commitActionItem(action: string): MenuItem | undefined { // ── Several commits at once (issue #32) ────────────────────────────────────── /** An action of the menu for a selection of several commits. */ -export type ManyAction = "cherry-pick-many" | "revert-many" | "squash-many" | "drop-many" | "compare-two" | "copy-shas"; +export type ManyAction = "cherry-pick-many" | "revert-many" | "squash-many" | "drop-many" | "compare-two" | "copy-shas" | "reword"; /** One row of that menu (and one button of the "N commits selected" summary). */ export interface ManyMenuRow { @@ -251,7 +255,7 @@ export class CommitContextMenu { x: number, y: number, refs: readonly RowRef[] = [], - opts: { drop?: boolean } = {}, + opts: { drop?: boolean; reword?: boolean } = {}, ): void { this.close(); this.layer = registerLayer(() => this.close(false), "menu"); @@ -350,6 +354,10 @@ export class CommitContextMenu { this.drop?.(sha); return; } + if (item.action === "reword") { + this.many?.("reword", [sha]); + return; + } let name: string | undefined; // Only awaited when the table says there is something to ask. An // unconditional await defers even a question-less item by a microtask, so diff --git a/apps/desktop/src/renderer/multiCommit.ts b/apps/desktop/src/renderer/multiCommit.ts index b51fe6a7..6fe188d5 100644 --- a/apps/desktop/src/renderer/multiCommit.ts +++ b/apps/desktop/src/renderer/multiCommit.ts @@ -24,7 +24,15 @@ // Everything it touches comes in through `ManyDeps`, so the flow is tested // without a DOM or an Electron (test/multiCommitFlow.test.ts). -import { applyManyMessage, dropManyQuestion, manyOutcomeMessage, squashCarryQuestion, squashQuestion } from "@gitstudio/engine/rebase/many"; +import { + applyManyMessage, + dropManyQuestion, + manyOutcomeMessage, + rewordOutcomeMessage, + rewordQuestion, + squashCarryQuestion, + squashQuestion, +} from "@gitstudio/engine/rebase/many"; import type { CommitActionRequest, CommitActionResult, @@ -74,6 +82,8 @@ export async function runManyAction(action: ManyAction, shas: string[], d: ManyD return rewriteManyFlow("drop", shas, d); case "squash-many": return rewriteManyFlow("squash", shas, d); + case "reword": + return rewordFlow(shas, d); case "compare-two": if (shas.length !== 2) return "refused"; // Newest first as listed: the second is the older — the base. @@ -248,3 +258,75 @@ async function rewriteManyFlow(verb: "drop" | "squash", shas: string[], d: ManyD d.toast(text, out.expected ? "info" : "error"); return "failed"; } + +/** + * Edit message… (issue #75): one commit's whole message in the editor, then a + * rebase that rewords it and replays what came after — git-service's + * multiCommit.ts, the extension's path too — with Undo after. + */ +async function rewordFlow(shas: string[], d: ManyDeps): Promise { + const plan = await d.plan({ verb: "reword", shas, preflight: true }); + if (!plan.ok) { + d.toast(plan.message, "info"); + return "refused"; + } + if (plan.blocked) { + d.toast(plan.blocked, "info"); + return "refused"; + } + const q = rewordQuestion(plan); + const m = await d.message({ title: q.title, hint: q.message, value: plan.message ?? "", okLabel: l10n.t("Edit message") }); + const message = m?.trim(); + if (!message || message === (plan.message ?? "").trim()) return "cancelled"; + + let carry = false; + if (plan.carryable.length > 0) { + const picked = await d.choose({ + title: l10n.t("Move the branches on rewritten commits too?"), + hint: q.message, + cancelId: "cancel", + choices: [ + { id: "carry", label: l10n.t("Edit and move those branches"), sub: l10n.t("They follow onto the rewritten commits."), icon: "git-branch" }, + { id: "only", label: l10n.t("Edit on this branch only"), sub: l10n.t("They keep pointing at the commits as they are now."), icon: "git-commit" }, + ], + }); + if (picked !== "carry" && picked !== "only") return "cancelled"; + carry = picked === "carry"; + } + + const out = await d.rewrite({ verb: "reword", shas: plan.shas, head: plan.head, carry, message }); + const text = rewordOutcomeMessage(out); + if (out.status === "done") { + const { before, after, carried } = out; + if (before && after) { + d.undoable(text, { + label: l10n.t("Put the old message back"), + undo: async () => { + const back = await d.undo({ + before, + after, + what: "reword", + ...(out.branch !== undefined ? { branch: out.branch } : {}), + ...(carried?.length ? { carried } : {}), + }); + if (back.ok) return undefined; + const why = back.message ?? l10n.t("Couldn't put the branch back."); + return back.expected ? { info: why } : why; + }, + after: () => d.refresh(), + }); + } else { + d.toast(text, "success"); + } + await d.refresh(); + return "done"; + } + if (out.status === "stopped") { + d.toast(text, "info"); + await d.landOnConflicts(); + return "stopped"; + } + d.toast(text, out.expected ? "info" : "error"); + return "failed"; +} + diff --git a/apps/desktop/src/renderer/renderer.ts b/apps/desktop/src/renderer/renderer.ts index c2c00e03..6da49ad2 100644 --- a/apps/desktop/src/renderer/renderer.ts +++ b/apps/desktop/src/renderer/renderer.ts @@ -11058,9 +11058,12 @@ class App { */ private async openCommitMenu(sha: string, x: number, y: number): Promise { const seq = ++this.commitMenuSeq; - const plan = await host.invoke("commit:dropPlan", { sha }).catch(() => undefined); + const [plan, reword] = await Promise.all([ + host.invoke("commit:dropPlan", { sha }).catch(() => undefined), + host.invoke("commits:plan", { verb: "reword", shas: [sha] }).catch(() => undefined), + ]); if (seq !== this.commitMenuSeq) return; - this.contextMenu.open(sha, x, y, this.refsOn(sha), { drop: plan?.ok === true }); + this.contextMenu.open(sha, x, y, this.refsOn(sha), { drop: plan?.ok === true, reword: reword?.ok === true }); } /** diff --git a/apps/desktop/src/shared/ipc.ts b/apps/desktop/src/shared/ipc.ts index b5a5ac85..1ca53788 100644 --- a/apps/desktop/src/shared/ipc.ts +++ b/apps/desktop/src/shared/ipc.ts @@ -2169,7 +2169,7 @@ export interface CommitsMenuWire { /** Plan dropping or squashing several commits; `preflight` adds what stops it now. */ export interface CommitsPlanRequest { - verb: "drop" | "squash"; + verb: "drop" | "squash" | "reword"; /** Newest first, as the graph lists them. */ shas: string[]; preflight?: boolean; @@ -2178,7 +2178,7 @@ export interface CommitsPlanRequest { export type CommitsPlanWire = | { ok: true; - verb: "drop" | "squash"; + verb: "drop" | "squash" | "reword"; /** The selected commits, full shas, newest first along the branch. */ shas: string[]; /** Short sha and subject of each, in that order — what the question names. */ @@ -2206,7 +2206,7 @@ export type CommitsPlanWire = /** Run a confirmed drop or squash of several commits. */ export interface CommitsRewriteRequest { - verb: "drop" | "squash"; + verb: "drop" | "squash" | "reword"; shas: string[]; head: string; carry?: boolean; @@ -2219,7 +2219,7 @@ export interface CommitsUndoRequest { before: string; after: string; /** Names it in the refusal's words: "since the squash". */ - what: "drop" | "squash" | "cherry-pick" | "revert"; + what: "drop" | "squash" | "reword" | "cherry-pick" | "revert"; /** The branch a drop, squash, cherry-pick or revert moved (refs/heads/…), * null when HEAD was detached: that branch goes back, not whichever HEAD * is on by then. */ diff --git a/apps/desktop/test/multiCommitFlow.test.ts b/apps/desktop/test/multiCommitFlow.test.ts index 483e390d..df1a0927 100644 --- a/apps/desktop/test/multiCommitFlow.test.ts +++ b/apps/desktop/test/multiCommitFlow.test.ts @@ -7,7 +7,7 @@ import { test } from "node:test"; import assert from "node:assert/strict"; -import { manyMenuRows } from "../src/renderer/contextMenu"; +import { commitMenuRows, manyMenuRows } from "../src/renderer/contextMenu"; import { runManyAction, type ManyDeps } from "../src/renderer/multiCommit"; import type { CommitActionResult, CommitsPlanWire, DropOutcomeWire } from "../src/shared/ipc"; import type { Undoable } from "../src/renderer/undo"; @@ -38,7 +38,7 @@ const B = "b".repeat(40); const HEAD = "f".repeat(40); const NEW = "e".repeat(40); -function okPlan(verb: "drop" | "squash", over: Partial> = {}): CommitsPlanWire { +function okPlan(verb: "drop" | "squash" | "reword", over: Partial> = {}): CommitsPlanWire { return { ok: true, verb, @@ -53,6 +53,7 @@ function okPlan(verb: "drop" | "squash", over: Partial { + const { d, log } = deps(); + assert.equal(await runManyAction("reword", [B], d), "done"); + assert.deepEqual(log.events, ["plan:reword:preflight", "message", "rewrite", "undoable", "refresh"]); + assert.equal(log.messages[0].title, "Edit commit message"); + assert.equal(log.messages[0].value, "second\n\nIts description."); + assert.match(log.messages[0].hint, /gets the message below\. One later commit will be replayed/); + assert.deepEqual(log.rewrites[0], { verb: "reword", shas: [B], head: HEAD, carry: false, message: "edited: second\n\nIts description." }); + assert.equal(log.undoables[0].message, "Commit message changed."); + await log.undoables[0].action.undo(); + assert.deepEqual(log.undos[0], { before: HEAD, after: NEW, what: "reword" }); +}); + +test("Edit message…: dismissed, emptied or unchanged rewrites nothing", async () => { + for (const message of [null, " ", "second\n\nIts description."]) { + const { d, log } = deps({ message }); + assert.equal(await runManyAction("reword", [B], d), "cancelled"); + assert.ok(!log.events.includes("rewrite")); + } +}); + +test("the menu offers Edit message… beside Revert only when it can work", () => { + const actions = (o: { drop?: boolean; reword?: boolean }) => commitMenuRows([], o).map((r) => r.action); + assert.ok(!actions({}).includes("reword")); + const both = actions({ drop: true, reword: true }); + assert.deepEqual(both.slice(both.indexOf("revert"), both.indexOf("revert") + 3), ["revert", "reword", "drop"]); +}); + diff --git a/apps/extension/CHANGELOG.md b/apps/extension/CHANGELOG.md index 4c2b9a38..bf7b74f6 100644 --- a/apps/extension/CHANGELOG.md +++ b/apps/extension/CHANGELOG.md @@ -4,18 +4,26 @@ All notable changes to **GitStudio** are documented here. This project adheres t [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) and [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## [Unreleased] +## [1.18.0] - 2026-10-01 ### Added - **GitStudio in 14 languages.** Every view, message and command follows VS Code's display language: Simplified and Traditional Chinese, Japanese, Korean, German, French, Spanish, Italian, Portuguese (Brazil), Russian, Turkish, Polish and Czech, besides English. Simplified Chinese started as a community contribution (thanks, @AutumnPizazz). Translations other than English are machine drafts — corrections are welcome on GitHub. +- **Edit Message… on a commit.** Right-click a commit in the graph to rewrite + its message: the whole message opens in an editor, the commits after it are + replayed, branches on them can come along, and Undo puts it back. Offered + where it can work — on the current branch, not a merge + ([#75](https://github.com/GitStudioHQ/gitstudio/issues/75)). ### Fixed - **What git stores stays in English.** Undo's reflog entries, stash messages and the revert commit it makes are written in English whatever language the editor is in, so the repository's history reads the same for everyone. +- **A reword keeps the commit's description.** In the interactive rebase + workspace, Reword started from the commit's subject line only, so applying + it dropped the rest of the message ([#75](https://github.com/GitStudioHQ/gitstudio/issues/75)). ## [1.17.0] - 2026-09-29 diff --git a/apps/extension/l10n/bundle.l10n.cs.json b/apps/extension/l10n/bundle.l10n.cs.json index f8e152bd..690c9fd9 100644 --- a/apps/extension/l10n/bundle.l10n.cs.json +++ b/apps/extension/l10n/bundle.l10n.cs.json @@ -304,6 +304,7 @@ "Already at the oldest revision": "Už na nejstarší revizi", "Already merged in the file, outside the conflict markers (by git, or by hand): check it": "Už sloučeno v souboru, mimo značky konfliktu (gitem, nebo ručně): zkontrolujte to", "Already on {0}": "Už na {0}", + "Already pushed. Editing its message would rewrite history other people have. The next push will need to be a force push.": "Už odesláno (push). Úprava jeho zprávy by přepsala historii, kterou mají jiní lidé. Další push bude muset být force push.", "Already pushed. {0} it would rewrite history other people have.": "Už odesláno (push). {0} by přepsalo historii, kterou mají jiní lidé.", "Already rebased commits": "Už rebasované commity", "Already rebased commits and commits from main": "Už rebasované commity a commity z main", @@ -538,6 +539,7 @@ "Commit graph": "Graf commitů", "Commit list": "Seznam commitů", "Commit message": "Zpráva commitu", + "Commit message changed.": "Zpráva commitu změněna.", "Commit or stash {0}, then pull again.": "Commitněte nebo uložte do stash {0} a pak zkuste pull znovu.", "Commit something first, then open a pull request from its branch.": "Nejdřív něco commitněte a potom otevřete pull request z jeho větve.", "Commit title": "Název commitu", @@ -622,6 +624,8 @@ "Could not write the rebase plan": "Nepodařilo se zapsat plán rebase", "Couldn't abort the rebase.": "Rebase se nepodařilo zrušit.", "Couldn't bring the conflict in {0} back.": "Nepodařilo se vrátit konflikt v {0} zpět.", + "Couldn't change the commit message.": "Zprávu commitu se nepodařilo změnit.", + "Couldn't change the commit message: {0}": "Zprávu commitu se nepodařilo změnit: {0}", "Couldn't check out PR #{0}: {1}": "Nepodařilo se přepnout na PR #{0}: {1}", "Couldn't compare the branches": "Nepodařilo se porovnat větve", "Couldn't compare {0} with {1}.": "Nepodařilo se porovnat {0} s {1}.", @@ -839,9 +843,16 @@ "Dropping {0} stopped and needs you — continue the rebase, or abort it to put the branch back as it was.": "Zahození {0} se zastavilo a potřebuje váš zásah — pokračujte v rebase, nebo ho zrušte, aby se větev vrátila tak, jak byla.", "Drop…": "Zahodit…", "Edit": "Upravit", + "Edit Message": "Upravit zprávu", + "Edit Message…": "Upravit zprávu…", "Edit URL": "Upravit URL", "Edit URL of {0}": "Upravit URL {0}", + "Edit and move those branches": "Upravit a přesunout tyto větve", + "Edit commit message": "Upravit zprávu commitu", + "Edit on this branch only": "Upravit jen na této větvi", "Edit result": "Upravit výsledek", + "Editing the message hit a conflict while replaying a later commit. Resolve it and continue the rebase — or abort to put the branch back as it was.": "Úprava zprávy narazila na konflikt při přehrávání pozdějšího commitu. Vyřešte ho a pokračujte v rebase — nebo rebase zrušte, aby se větev vrátila tak, jak byla.", + "Editing the message stopped and needs you — continue the rebase, or abort it to put the branch back as it was.": "Úprava zprávy se zastavila a potřebuje váš zásah — pokračujte v rebase, nebo ho zrušte, aby se větev vrátila tak, jak byla.", "Enable LM Studio's local server (Developer ▸ Start Server), then load a model.": "Zapněte místní server LM Studia (Developer ▸ Start Server) a potom načtěte model.", "Encrypted at rest in GitStudio's own store — not your OS keychain, so it never raises a password prompt. The key stays host-side and is never sent to a webview.": "Šifrováno v klidu ve vlastním úložišti GitStudia — ne v klíčence vašeho OS, takže se nikdy nezobrazí výzva k zadání hesla. Klíč zůstává na straně hostitele a nikdy se neodesílá do webview.", "Errored": "Chyba", @@ -1294,6 +1305,7 @@ "Move the branch and DISCARD every working-tree and staged change.": "Přesunout větev a ZAHODIT všechny změny v pracovním stromu i připravené ke commitu.", "Move the branch, keep the working tree, unstage everything. Git's default.": "Přesunout větev, zachovat pracovní strom, zrušit přípravu všeho ke commitu. Výchozí chování Gitu.", "Move the branch. Keep your working tree AND everything staged.": "Přesunout větev. Zachovat pracovní strom I vše připravené ke commitu.", + "Move the branches on rewritten commits too?": "Přesunout i větve na přepsaných commitech?", "Move the current branch back to this commit.": "Přesunout aktuální větev zpět na tento commit.", "Move the selected commits down": "Přesunout vybrané commity dolů", "Move the selected commits down (Alt+Down)": "Přesunout vybrané commity dolů (Alt+Down)", @@ -1786,6 +1798,7 @@ "Reorder this branch only": "Změnit pořadí jen této větve", "Reorder {0} commits": "Změnit pořadí {0} commitů", "Reorder {0} commits?": "Změnit pořadí {0} commitů?", + "Reordering": "Změna pořadí", "Reordering stops at a merge — moving a commit past one would flatten it.": "Změna pořadí se zastaví na sloučení — přesun commitu za něj by ho zploštil.", "Replace and stage": "Nahradit a připravit", "Replace the file with {0} and stage it": "Nahradit soubor {0} a připravit jej", @@ -2116,6 +2129,8 @@ "Test failed.": "Test se nezdařil.", "That change is no longer there — the file moved underneath. Refresh and try again.": "Tato změna už tam není — soubor se pod tím přesunul. Obnovte a zkuste to znovu.", "That commit is too far down the branch to drop from here. Start an interactive rebase from it instead.": "Tento commit je na větvi příliš hluboko, aby bylo možné ho odtud zahodit. Spusťte od něj interaktivní rebase.", + "That commit is too far down the branch to edit from here. Start an interactive rebase instead.": "Tento commit je na větvi příliš daleko, než aby bylo možné odtud upravit jeho zprávu. Místo toho spusťte interaktivní rebase.", + "That commit isn't on the current branch, so its message can't be edited from here.": "Tento commit není na aktuální větvi, takže jeho zprávu odtud nelze upravit.", "That commit isn't on the current branch, so there's nothing to drop it from.": "Tento commit není na aktuální větvi, takže není z čeho ho zahodit.", "That isn't a drop this app made.": "To není zahození, které provedla tato aplikace.", "That isn't a stash this app recorded.": "To není stash, který zaznamenala tato aplikace.", @@ -2128,6 +2143,7 @@ "That stash is no longer in the repository.": "Tento stash už není v repozitáři.", "That stash no longer exists.": "Tento stash už neexistuje.", "That's a merge commit — dropping it would flatten the history it joined. Revert it instead.": "Toto je commit sloučení — jeho zahození by zploštilo historii, kterou spojil. Místo toho ho vraťte zpět.", + "That's a merge commit — editing its message would flatten the history it joined. Use an interactive rebase that keeps merges instead.": "Toto je commit sloučení — úprava jeho zprávy by zploštila historii, kterou spojil. Místo toho použijte interaktivní rebase, který sloučení zachová.", "That's the only commit on the branch — dropping it would leave nothing.": "Toto je jediný commit na větvi — jeho zahozením by nezůstalo nic.", "The AI had nothing to say about this change": "AI k této změně neměla co říct", "The Anthropic API key is missing or invalid. Run “GitStudio: Set Anthropic API Key…”.": "API klíč Anthropic chybí nebo je neplatný. Spusťte „GitStudio: Set Anthropic API Key…“.", @@ -2159,6 +2175,7 @@ "The commit being cherry-picked: {0} “{1}”": "Commit, který se cherry-pickuje: {0} „{1}“", "The commit is": "Commit je", "The commit is added to {0} as one new commit.": "Commit je do {0} přidán jako jeden nový commit.", + "The commit needs a message.": "Commit potřebuje zprávu.", "The commits HEAD has that {0} does not are rewritten on top of it, so they get new shas. HEAD is on no branch, so they are on no branch either: create a branch from them to keep them. Undo can take you back.": "Commity, které má HEAD a {0} ne, se nad ním přepíšou, takže získají nová SHA. HEAD není na žádné větvi, takže ani ony nejsou na žádné větvi: vytvořte z nich větev, abyste je zachovali. Zpět vás může vrátit.", "The conflict is back, but {0} couldn't be restored on disk.": "Konflikt je zpět, ale {0} se nepodařilo obnovit na disku.", "The conflicted files are back to their last committed versions.": "Konfliktní soubory se vrátily do svých posledních commitnutých verzí.", @@ -2298,7 +2315,8 @@ "This window has {0} open, so it can't be removed from here — its folder would be deleted from under the window. Remove it from another window, or open something else in this one first.": "Toto okno má otevřené {0}, takže to odtud nelze odstranit — jeho složka by byla smazána pod oknem. Odstraňte to z jiného okna, nebo v tomto nejprve otevřete něco jiného.", "Those are all the commits on the branch — dropping them would leave nothing.": "To jsou všechny commity na větvi — jejich zahozením by nezbylo nic.", "Those changes are no longer there — refresh and try again.": "Tyto změny už tam nejsou — obnovte a zkuste to znovu.", - "Those commits are too far down the branch to {0} from here. Start an interactive rebase instead.": "Tyto commity jsou na větvi příliš daleko, než aby bylo možné {0} odtud. Místo toho spusťte interaktivní rebase.", + "Those commits are too far down the branch to drop from here. Start an interactive rebase instead.": "Tyto commity jsou na větvi příliš daleko, než aby bylo možné je odtud zahodit. Místo toho spusťte interaktivní rebase.", + "Those commits are too far down the branch to squash from here. Start an interactive rebase instead.": "Tyto commity jsou na větvi příliš daleko, než aby bylo možné je odtud squashnout. Místo toho spusťte interaktivní rebase.", "Throw your pending comments away without sending them": "Zahodit nevyřízené komentáře bez jejich odeslání", "Tidy up your recent commits before you push.": "Uspořádejte si poslední commity, než je pushnete.", "Timed out": "Vypršel časový limit", @@ -2434,6 +2452,7 @@ "You have uncommitted changes": "Máte nekomitnuté změny", "You have uncommitted changes. Commit or stash them, then drop the commit.": "Máte nekomitnuté změny. Commitněte je nebo uložte do stash, a pak commit zahoďte.", "You have uncommitted changes. Commit or stash them, then drop the commits.": "Máte nekomitnuté změny. Commitněte je nebo uložte do stash, a pak commity zahoďte.", + "You have uncommitted changes. Commit or stash them, then edit the message.": "Máte nekomitnuté změny. Commitněte je nebo uložte do stash, a pak upravte zprávu.", "You have uncommitted changes. Commit or stash them, then squash the commits.": "Máte nekomitnuté změny. Commitněte je nebo uložte do stash, a pak commity squashněte.", "You have uncommitted changes. Commit or stash them, then start the rebase.": "Máte nekomitnuté změny. Commitněte je nebo uložte do stash, a pak spusťte rebase.", "You have {0} {1} doesn't, and it has {2} you don't. ": "Máte {0}, které {1} nemá, a ono má {2}, které vy nemáte. ", @@ -2604,6 +2623,7 @@ "dropping commits": "zahazování commitů", "each line is not annotated twice. You can turn it back on in Settings.": "každý řádek není anotován dvakrát. Můžete to znovu zapnout v Nastavení.", "edit": "upravit", + "editing a commit message": "upravování zprávy commitu", "either arrow takes it": "kterákoli šipka to přesune", "every worktree's folder is still there.": "složka každého pracovního stromu je stále tam.", "everything staged": "vše připraveno", @@ -3100,6 +3120,7 @@ "{0} on this branch only": "{0} jen na této větvi", "{0} on this file": "{0} na tomto souboru", "{0} on {1}": "{0} na {1}", + "{0} on {1} gets the message below.": "{0} na {1} dostane zprávu níže.", "{0} on {1} not pulled yet.": "{0} na {1} ještě nestažené (pull).", "{0} on {1}/{2} yet: {3} pushed first.": "{0} na {1}/{2} ještě ne: nejdřív {3} odeslat (push).", "{0} or ": "{0} nebo ", diff --git a/apps/extension/l10n/bundle.l10n.de.json b/apps/extension/l10n/bundle.l10n.de.json index e0f9a093..4178d461 100644 --- a/apps/extension/l10n/bundle.l10n.de.json +++ b/apps/extension/l10n/bundle.l10n.de.json @@ -304,6 +304,7 @@ "Already at the oldest revision": "Bereits bei der ältesten Revision", "Already merged in the file, outside the conflict markers (by git, or by hand): check it": "Bereits in der Datei gemergt, außerhalb der Konfliktmarkierungen (von Git oder von Hand): prüfen", "Already on {0}": "Bereits auf {0}", + "Already pushed. Editing its message would rewrite history other people have. The next push will need to be a force push.": "Bereits gepusht. Die Nachricht zu ändern würde die Historie umschreiben, die andere bereits haben. Der nächste Push muss ein Force-Push sein.", "Already pushed. {0} it would rewrite history other people have.": "Bereits gepusht. {0} würde die Historie umschreiben, die andere bereits haben.", "Already rebased commits": "Bereits rebasierte Commits", "Already rebased commits and commits from main": "Bereits rebasierte Commits und Commits von main", @@ -538,6 +539,7 @@ "Commit graph": "Commit-Graph", "Commit list": "Commit-Liste", "Commit message": "Commit-Nachricht", + "Commit message changed.": "Commit-Nachricht geändert.", "Commit or stash {0}, then pull again.": "{0} committen oder stashen, dann erneut pullen.", "Commit something first, then open a pull request from its branch.": "Zuerst etwas committen, dann einen Pull Request aus seinem Branch öffnen.", "Commit title": "Commit-Titel", @@ -622,6 +624,8 @@ "Could not write the rebase plan": "Der Rebase-Plan konnte nicht geschrieben werden", "Couldn't abort the rebase.": "Der Rebase konnte nicht abgebrochen werden.", "Couldn't bring the conflict in {0} back.": "Der Konflikt in {0} konnte nicht zurückgebracht werden.", + "Couldn't change the commit message.": "Die Commit-Nachricht konnte nicht geändert werden.", + "Couldn't change the commit message: {0}": "Die Commit-Nachricht konnte nicht geändert werden: {0}", "Couldn't check out PR #{0}: {1}": "PR #{0} konnte nicht ausgecheckt werden: {1}", "Couldn't compare the branches": "Die Branches konnten nicht verglichen werden", "Couldn't compare {0} with {1}.": "{0} konnte nicht mit {1} verglichen werden.", @@ -839,9 +843,16 @@ "Dropping {0} stopped and needs you — continue the rebase, or abort it to put the branch back as it was.": "Das Verwerfen von {0} ist gestoppt und braucht Sie — den Rebase fortsetzen oder abbrechen, um den Branch wie zuvor zurückzusetzen.", "Drop…": "Verwerfen…", "Edit": "Bearbeiten", + "Edit Message": "Nachricht ändern", + "Edit Message…": "Nachricht ändern…", "Edit URL": "URL bearbeiten", "Edit URL of {0}": "URL von {0} bearbeiten", + "Edit and move those branches": "Ändern und diese Branches verschieben", + "Edit commit message": "Commit-Nachricht ändern", + "Edit on this branch only": "Nur auf diesem Branch ändern", "Edit result": "Ergebnis bearbeiten", + "Editing the message hit a conflict while replaying a later commit. Resolve it and continue the rebase — or abort to put the branch back as it was.": "Das Ändern der Nachricht stieß beim Wiederholen eines späteren Commits auf einen Konflikt. Lösen und den Rebase fortsetzen — oder abbrechen, um den Branch wie zuvor zurückzusetzen.", + "Editing the message stopped and needs you — continue the rebase, or abort it to put the branch back as it was.": "Das Ändern der Nachricht ist gestoppt und braucht Sie — den Rebase fortsetzen oder abbrechen, um den Branch wie zuvor zurückzusetzen.", "Enable LM Studio's local server (Developer ▸ Start Server), then load a model.": "Den lokalen Server von LM Studio aktivieren (Developer ▸ Start Server), dann ein Modell laden.", "Encrypted at rest in GitStudio's own store — not your OS keychain, so it never raises a password prompt. The key stays host-side and is never sent to a webview.": "Verschlüsselt im eigenen Speicher von GitStudio gespeichert — nicht im Schlüsselbund des Betriebssystems, daher erscheint nie eine Passwortabfrage. Der Schlüssel bleibt hostseitig und wird nie an eine Webview gesendet.", "Errored": "Fehlgeschlagen", @@ -1294,6 +1305,7 @@ "Move the branch and DISCARD every working-tree and staged change.": "Den Branch verschieben und JEDE Änderung im Arbeitsverzeichnis und in der Staging-Area VERWERFEN.", "Move the branch, keep the working tree, unstage everything. Git's default.": "Den Branch verschieben, das Arbeitsverzeichnis behalten, alles aus der Staging-Area entfernen. Gits Standardverhalten.", "Move the branch. Keep your working tree AND everything staged.": "Den Branch verschieben. Arbeitsverzeichnis UND alles Bereitgestellte behalten.", + "Move the branches on rewritten commits too?": "Auch die Branches auf den neu geschriebenen Commits verschieben?", "Move the current branch back to this commit.": "Den aktuellen Branch zurück zu diesem Commit verschieben.", "Move the selected commits down": "Ausgewählte Commits nach unten verschieben", "Move the selected commits down (Alt+Down)": "Ausgewählte Commits nach unten verschieben (Alt+Unten)", @@ -1786,6 +1798,7 @@ "Reorder this branch only": "Nur diesen Branch umordnen", "Reorder {0} commits": "{0} Commits umordnen", "Reorder {0} commits?": "{0} Commits umordnen?", + "Reordering": "Wird umgeordnet", "Reordering stops at a merge — moving a commit past one would flatten it.": "Umordnen stoppt an einem Merge — einen Commit daran vorbei zu verschieben würde ihn einebnen.", "Replace and stage": "Ersetzen und bereitstellen", "Replace the file with {0} and stage it": "Die Datei durch {0} ersetzen und bereitstellen", @@ -2116,6 +2129,8 @@ "Test failed.": "Test fehlgeschlagen.", "That change is no longer there — the file moved underneath. Refresh and try again.": "Diese Änderung existiert nicht mehr — die Datei wurde darunter verschoben. Aktualisieren und erneut versuchen.", "That commit is too far down the branch to drop from here. Start an interactive rebase from it instead.": "Dieser Commit liegt zu weit unten im Branch, um ihn von hier zu verwerfen. Stattdessen einen interaktiven Rebase ab diesem Commit starten.", + "That commit is too far down the branch to edit from here. Start an interactive rebase instead.": "Dieser Commit liegt zu weit unten im Branch, um von hier aus geändert zu werden. Stattdessen einen interaktiven Rebase starten.", + "That commit isn't on the current branch, so its message can't be edited from here.": "Dieser Commit befindet sich nicht auf dem aktuellen Branch, daher kann seine Nachricht von dort nicht geändert werden.", "That commit isn't on the current branch, so there's nothing to drop it from.": "Dieser Commit befindet sich nicht auf dem aktuellen Branch, daher gibt es nichts, wovon er verworfen werden könnte.", "That isn't a drop this app made.": "Das ist kein Verwerfen, das diese App vorgenommen hat.", "That isn't a stash this app recorded.": "Das ist kein Stash, den diese App aufgezeichnet hat.", @@ -2128,6 +2143,7 @@ "That stash is no longer in the repository.": "Dieser Stash ist nicht mehr im Repository.", "That stash no longer exists.": "Dieser Stash existiert nicht mehr.", "That's a merge commit — dropping it would flatten the history it joined. Revert it instead.": "Das ist ein Merge-Commit — ihn zu verwerfen würde die von ihm verbundene Historie einebnen. Stattdessen revertieren.", + "That's a merge commit — editing its message would flatten the history it joined. Use an interactive rebase that keeps merges instead.": "Das ist ein Merge-Commit — seine Nachricht zu ändern würde die Historie abflachen, die er zusammenführte. Stattdessen einen interaktiven Rebase verwenden, der Merges erhält.", "That's the only commit on the branch — dropping it would leave nothing.": "Das ist der einzige Commit auf dem Branch — ihn zu verwerfen würde nichts übrig lassen.", "The AI had nothing to say about this change": "Die KI hatte zu dieser Änderung nichts zu sagen", "The Anthropic API key is missing or invalid. Run “GitStudio: Set Anthropic API Key…”.": "Der Anthropic-API-Schlüssel fehlt oder ist ungültig. „GitStudio: Anthropic-API-Schlüssel festlegen…“ ausführen.", @@ -2159,6 +2175,7 @@ "The commit being cherry-picked: {0} “{1}”": "Der Commit, der gecherry-pickt wird: {0} „{1}“", "The commit is": "Der Commit ist", "The commit is added to {0} as one new commit.": "Der Commit wird {0} als ein neuer Commit hinzugefügt.", + "The commit needs a message.": "Der Commit braucht eine Nachricht.", "The commits HEAD has that {0} does not are rewritten on top of it, so they get new shas. HEAD is on no branch, so they are on no branch either: create a branch from them to keep them. Undo can take you back.": "Die Commits, die HEAD hat und {0} nicht, werden oben darauf neu geschrieben, sodass sie neue SHAs erhalten. HEAD befindet sich auf keinem Branch, daher sind sie es auch nicht: einen Branch daraus erstellen, um sie zu behalten. Rückgängig kann wieder zurückführen.", "The conflict is back, but {0} couldn't be restored on disk.": "Der Konflikt ist zurück, aber {0} konnte nicht auf der Festplatte wiederhergestellt werden.", "The conflicted files are back to their last committed versions.": "Die konfliktbehafteten Dateien gehen zurück auf ihre letzten committeten Versionen.", @@ -2298,7 +2315,8 @@ "This window has {0} open, so it can't be removed from here — its folder would be deleted from under the window. Remove it from another window, or open something else in this one first.": "Dieses Fenster hat {0} geöffnet, daher kann es hier nicht entfernt werden — sein Ordner würde dem Fenster unter den Füßen gelöscht. Es aus einem anderen Fenster entfernen, oder zuerst etwas anderes in diesem öffnen.", "Those are all the commits on the branch — dropping them would leave nothing.": "Das sind alle Commits auf dem Branch — sie zu verwerfen würde nichts übrig lassen.", "Those changes are no longer there — refresh and try again.": "Diese Änderungen sind nicht mehr vorhanden — aktualisieren und erneut versuchen.", - "Those commits are too far down the branch to {0} from here. Start an interactive rebase instead.": "Diese Commits liegen zu weit unten im Branch, um von hier aus {0} zu werden. Stattdessen einen interaktiven Rebase starten.", + "Those commits are too far down the branch to drop from here. Start an interactive rebase instead.": "Diese Commits liegen zu weit unten im Branch, um von hier aus verworfen zu werden. Stattdessen einen interaktiven Rebase starten.", + "Those commits are too far down the branch to squash from here. Start an interactive rebase instead.": "Diese Commits liegen zu weit unten im Branch, um von hier aus zusammengefasst zu werden. Stattdessen einen interaktiven Rebase starten.", "Throw your pending comments away without sending them": "Ausstehende Kommentare verwerfen, ohne sie zu senden", "Tidy up your recent commits before you push.": "Die letzten Commits aufräumen, bevor gepusht wird.", "Timed out": "Zeitüberschreitung", @@ -2434,6 +2452,7 @@ "You have uncommitted changes": "Es gibt nicht committete Änderungen", "You have uncommitted changes. Commit or stash them, then drop the commit.": "Es gibt nicht committete Änderungen. Diese committen oder stashen und dann den Commit verwerfen.", "You have uncommitted changes. Commit or stash them, then drop the commits.": "Es gibt nicht committete Änderungen. Diese committen oder stashen und dann die Commits verwerfen.", + "You have uncommitted changes. Commit or stash them, then edit the message.": "Es gibt nicht committete Änderungen. Diese committen oder stashen und dann die Nachricht ändern.", "You have uncommitted changes. Commit or stash them, then squash the commits.": "Es gibt nicht committete Änderungen. Diese committen oder stashen und dann die Commits squashen.", "You have uncommitted changes. Commit or stash them, then start the rebase.": "Es gibt nicht committete Änderungen. Diese committen oder stashen und dann den Rebase starten.", "You have {0} {1} doesn't, and it has {2} you don't. ": "Hier gibt es {0}, die {1} nicht hat, und dort gibt es {2}, die hier fehlen. ", @@ -2604,6 +2623,7 @@ "dropping commits": "Commits verwerfen", "each line is not annotated twice. You can turn it back on in Settings.": "jede Zeile wird nicht doppelt annotiert. Dies kann in den Einstellungen wieder eingeschaltet werden.", "edit": "bearbeiten", + "editing a commit message": "eine Commit-Nachricht ändern", "either arrow takes it": "jede Pfeiltaste übernimmt es", "every worktree's folder is still there.": "der Ordner jedes Worktrees ist noch vorhanden.", "everything staged": "alles bereitgestellt", @@ -3100,6 +3120,7 @@ "{0} on this branch only": "{0} nur auf diesem Branch", "{0} on this file": "{0} auf dieser Datei", "{0} on {1}": "{0} auf {1}", + "{0} on {1} gets the message below.": "{0} auf {1} bekommt die Nachricht unten.", "{0} on {1} not pulled yet.": "{0} auf {1} noch nicht gepullt.", "{0} on {1}/{2} yet: {3} pushed first.": "{0} noch nicht auf {1}/{2}: zuerst {3} gepusht.", "{0} or ": "{0} oder ", diff --git a/apps/extension/l10n/bundle.l10n.es.json b/apps/extension/l10n/bundle.l10n.es.json index cd9a07ea..ff02ec81 100644 --- a/apps/extension/l10n/bundle.l10n.es.json +++ b/apps/extension/l10n/bundle.l10n.es.json @@ -304,6 +304,7 @@ "Already at the oldest revision": "Ya estás en la revisión más antigua", "Already merged in the file, outside the conflict markers (by git, or by hand): check it": "Ya fusionado en el archivo, fuera de los marcadores de conflicto (por git, o a mano): revísalo", "Already on {0}": "Ya en {0}", + "Already pushed. Editing its message would rewrite history other people have. The next push will need to be a force push.": "Ya publicado. Reformular su mensaje reescribiría un historial que otras personas tienen. El siguiente push tendrá que ser forzado.", "Already pushed. {0} it would rewrite history other people have.": "Ya publicado. {0} reescribiría un historial que otras personas tienen.", "Already rebased commits": "Commits ya rebasados", "Already rebased commits and commits from main": "Commits ya rebasados y commits de main", @@ -538,6 +539,7 @@ "Commit graph": "Grafo de commits", "Commit list": "Lista de commits", "Commit message": "Mensaje de commit", + "Commit message changed.": "Mensaje de commit modificado.", "Commit or stash {0}, then pull again.": "Confirma o guarda en el stash {0}, y vuelve a incorporar.", "Commit something first, then open a pull request from its branch.": "Haz un commit primero, y luego abre un pull request desde su rama.", "Commit title": "Título del commit", @@ -622,6 +624,8 @@ "Could not write the rebase plan": "No se pudo escribir el plan de rebase", "Couldn't abort the rebase.": "No se pudo abortar el rebase.", "Couldn't bring the conflict in {0} back.": "No se pudo devolver el conflicto en {0}.", + "Couldn't change the commit message.": "No se pudo modificar el mensaje de commit.", + "Couldn't change the commit message: {0}": "No se pudo modificar el mensaje de commit: {0}", "Couldn't check out PR #{0}: {1}": "No se pudo cambiar al PR #{0}: {1}", "Couldn't compare the branches": "No se pudieron comparar las ramas", "Couldn't compare {0} with {1}.": "No se pudo comparar {0} con {1}.", @@ -839,9 +843,16 @@ "Dropping {0} stopped and needs you — continue the rebase, or abort it to put the branch back as it was.": "Descartar {0} se detuvo y necesita tu atención — continúa el rebase, o abórtalo para devolver la rama a como estaba.", "Drop…": "Descartar…", "Edit": "Editar", + "Edit Message": "Reformular mensaje", + "Edit Message…": "Reformular mensaje…", "Edit URL": "Editar URL", "Edit URL of {0}": "Editar URL de {0}", + "Edit and move those branches": "Reformular y mover esas ramas", + "Edit commit message": "Reformular el mensaje del commit", + "Edit on this branch only": "Reformular solo en esta rama", "Edit result": "Editar resultado", + "Editing the message hit a conflict while replaying a later commit. Resolve it and continue the rebase — or abort to put the branch back as it was.": "Al reformular el mensaje se produjo un conflicto al reproducir un commit posterior. Resuélvelo y continúa el rebase — o abórtalo para devolver la rama a como estaba.", + "Editing the message stopped and needs you — continue the rebase, or abort it to put the branch back as it was.": "Reformular el mensaje se detuvo y necesita tu atención — continúa el rebase, o abórtalo para devolver la rama a como estaba.", "Enable LM Studio's local server (Developer ▸ Start Server), then load a model.": "Habilita el servidor local de LM Studio (Developer ▸ Start Server), y luego carga un modelo.", "Encrypted at rest in GitStudio's own store — not your OS keychain, so it never raises a password prompt. The key stays host-side and is never sent to a webview.": "Cifrado en reposo en el propio almacén de GitStudio — no en el llavero de tu sistema operativo, así que nunca muestra un aviso de contraseña. La clave permanece en el host y nunca se envía a una vista web.", "Errored": "Con error", @@ -1294,6 +1305,7 @@ "Move the branch and DISCARD every working-tree and staged change.": "Mueve la rama y DESCARTA todos los cambios del árbol de trabajo y preparados.", "Move the branch, keep the working tree, unstage everything. Git's default.": "Mueve la rama, conserva el árbol de trabajo y deja de preparar todo. Es lo predeterminado en git.", "Move the branch. Keep your working tree AND everything staged.": "Mueve la rama. Conserva tu árbol de trabajo Y todo lo preparado.", + "Move the branches on rewritten commits too?": "¿Mover también las ramas en los commits reescritos?", "Move the current branch back to this commit.": "Devuelve la rama actual a este commit.", "Move the selected commits down": "Mover hacia abajo los commits seleccionados", "Move the selected commits down (Alt+Down)": "Mover hacia abajo los commits seleccionados (Alt+Abajo)", @@ -1786,6 +1798,7 @@ "Reorder this branch only": "Reordenar solo esta rama", "Reorder {0} commits": "Reordenar {0} commits", "Reorder {0} commits?": "¿Reordenar {0} commits?", + "Reordering": "Reordenando", "Reordering stops at a merge — moving a commit past one would flatten it.": "El reordenamiento se detiene en una fusión: mover un commit más allá de una fusión la aplanaría.", "Replace and stage": "Reemplazar y preparar", "Replace the file with {0} and stage it": "Reemplazar el archivo con {0} y prepararlo", @@ -2116,6 +2129,8 @@ "Test failed.": "La prueba falló.", "That change is no longer there — the file moved underneath. Refresh and try again.": "Ese cambio ya no está ahí — el archivo se movió por debajo. Actualiza e inténtalo de nuevo.", "That commit is too far down the branch to drop from here. Start an interactive rebase from it instead.": "Ese commit está demasiado abajo en la rama para descartarlo desde aquí. Inicia en su lugar un rebase interactivo desde él.", + "That commit is too far down the branch to edit from here. Start an interactive rebase instead.": "Ese commit está demasiado abajo en la rama para reformularlo desde aquí. Inicia en su lugar un rebase interactivo.", + "That commit isn't on the current branch, so its message can't be edited from here.": "Ese commit no está en la rama actual, así que su mensaje no se puede reformular desde aquí.", "That commit isn't on the current branch, so there's nothing to drop it from.": "Ese commit no está en la rama actual, así que no hay de dónde descartarlo.", "That isn't a drop this app made.": "Ese no es un descarte que haya hecho esta app.", "That isn't a stash this app recorded.": "Ese no es un stash que haya registrado esta app.", @@ -2128,6 +2143,7 @@ "That stash is no longer in the repository.": "Ese stash ya no está en el repositorio.", "That stash no longer exists.": "Ese stash ya no existe.", "That's a merge commit — dropping it would flatten the history it joined. Revert it instead.": "Eso es un commit de fusión — descartarlo aplanaría el historial que unió. Revierte en su lugar.", + "That's a merge commit — editing its message would flatten the history it joined. Use an interactive rebase that keeps merges instead.": "Eso es un commit de fusión — reformular su mensaje aplanaría el historial que unió. Usa en su lugar un rebase interactivo que conserve las fusiones.", "That's the only commit on the branch — dropping it would leave nothing.": "Ese es el único commit de la rama — descartarlo no dejaría nada.", "The AI had nothing to say about this change": "La IA no tuvo nada que decir sobre este cambio", "The Anthropic API key is missing or invalid. Run “GitStudio: Set Anthropic API Key…”.": "Falta la clave de API de Anthropic, o no es válida. Ejecuta “GitStudio: Set Anthropic API Key…”.", @@ -2159,6 +2175,7 @@ "The commit being cherry-picked: {0} “{1}”": "El commit al que se le hace cherry-pick: {0} “{1}”", "The commit is": "El commit está", "The commit is added to {0} as one new commit.": "El commit se agrega a {0} como un nuevo commit.", + "The commit needs a message.": "El commit necesita un mensaje.", "The commits HEAD has that {0} does not are rewritten on top of it, so they get new shas. HEAD is on no branch, so they are on no branch either: create a branch from them to keep them. Undo can take you back.": "Los commits que HEAD tiene y {0} no tiene se reescriben encima de él, así que obtienen nuevos shas. HEAD no está en ninguna rama, así que ellos tampoco lo están: crea una rama a partir de ellos para conservarlos. Deshacer puede devolverte.", "The conflict is back, but {0} couldn't be restored on disk.": "El conflicto volvió, pero {0} no se pudo restaurar en el disco.", "The conflicted files are back to their last committed versions.": "Los archivos en conflicto vuelven a sus últimas versiones confirmadas.", @@ -2298,7 +2315,8 @@ "This window has {0} open, so it can't be removed from here — its folder would be deleted from under the window. Remove it from another window, or open something else in this one first.": "Esta ventana tiene {0} abierto, así que no se puede quitar desde aquí — su carpeta se eliminaría debajo de la ventana. Quítalo desde otra ventana, o abre primero otra cosa en esta.", "Those are all the commits on the branch — dropping them would leave nothing.": "Esos son todos los commits de la rama — descartarlos no dejaría nada.", "Those changes are no longer there — refresh and try again.": "Esos cambios ya no están ahí — actualiza e inténtalo de nuevo.", - "Those commits are too far down the branch to {0} from here. Start an interactive rebase instead.": "Esos commits están demasiado abajo en la rama para {0} desde aquí. Inicia en su lugar un rebase interactivo.", + "Those commits are too far down the branch to drop from here. Start an interactive rebase instead.": "Esos commits están demasiado abajo en la rama para descartarlos desde aquí. Inicia en su lugar un rebase interactivo.", + "Those commits are too far down the branch to squash from here. Start an interactive rebase instead.": "Esos commits están demasiado abajo en la rama para hacer squash desde aquí. Inicia en su lugar un rebase interactivo.", "Throw your pending comments away without sending them": "Descartar tus comentarios pendientes sin enviarlos", "Tidy up your recent commits before you push.": "Ordena tus commits recientes antes de publicar.", "Timed out": "Tiempo de espera agotado", @@ -2434,6 +2452,7 @@ "You have uncommitted changes": "Tienes cambios sin confirmar", "You have uncommitted changes. Commit or stash them, then drop the commit.": "Tienes cambios sin confirmar. Confírmalos o guárdalos en el stash, y luego descarta el commit.", "You have uncommitted changes. Commit or stash them, then drop the commits.": "Tienes cambios sin confirmar. Confírmalos o guárdalos en el stash, y luego descarta los commits.", + "You have uncommitted changes. Commit or stash them, then edit the message.": "Tienes cambios sin confirmar. Confírmalos o guárdalos en el stash, y luego reformula el mensaje.", "You have uncommitted changes. Commit or stash them, then squash the commits.": "Tienes cambios sin confirmar. Confírmalos o guárdalos en el stash, y luego haz squash de los commits.", "You have uncommitted changes. Commit or stash them, then start the rebase.": "Tienes cambios sin confirmar. Confírmalos o guárdalos en el stash, y luego inicia el rebase.", "You have {0} {1} doesn't, and it has {2} you don't. ": "Tienes {0} que {1} no tiene, y tiene {2} que tú no tienes. ", @@ -2604,6 +2623,7 @@ "dropping commits": "descartar commits", "each line is not annotated twice. You can turn it back on in Settings.": "cada línea no se anota dos veces. Puedes volver a activarlo en Configuración.", "edit": "editar", + "editing a commit message": "reformulando el mensaje de un commit", "either arrow takes it": "cualquier flecha lo toma", "every worktree's folder is still there.": "la carpeta de cada worktree todavía está ahí.", "everything staged": "todo lo preparado", @@ -3100,6 +3120,7 @@ "{0} on this branch only": "{0} solo en esta rama", "{0} on this file": "{0} en este archivo", "{0} on {1}": "{0} en {1}", + "{0} on {1} gets the message below.": "{0} en {1} recibe el mensaje de abajo.", "{0} on {1} not pulled yet.": "{0} en {1} todavía no incorporado.", "{0} on {1}/{2} yet: {3} pushed first.": "{0} en {1}/{2} todavía: {3} publicado primero.", "{0} or ": "{0} o ", diff --git a/apps/extension/l10n/bundle.l10n.fr.json b/apps/extension/l10n/bundle.l10n.fr.json index 7a32e060..0eb73a27 100644 --- a/apps/extension/l10n/bundle.l10n.fr.json +++ b/apps/extension/l10n/bundle.l10n.fr.json @@ -304,6 +304,7 @@ "Already at the oldest revision": "Déjà à la révision la plus ancienne", "Already merged in the file, outside the conflict markers (by git, or by hand): check it": "Déjà fusionné dans le fichier, en dehors des marqueurs de conflit (par git, ou à la main) : vérifiez-le", "Already on {0}": "Déjà sur {0}", + "Already pushed. Editing its message would rewrite history other people have. The next push will need to be a force push.": "Déjà poussé. Reformuler son message réécrirait un historique que d'autres personnes possèdent. Le prochain push devra être un push forcé.", "Already pushed. {0} it would rewrite history other people have.": "Déjà poussé. {0} réécrirait un historique que d'autres personnes possèdent.", "Already rebased commits": "Commits déjà rebasés", "Already rebased commits and commits from main": "Commits déjà rebasés et commits de main", @@ -538,6 +539,7 @@ "Commit graph": "Graphe des commits", "Commit list": "Liste des commits", "Commit message": "Message de commit", + "Commit message changed.": "Message de commit modifié.", "Commit or stash {0}, then pull again.": "Validez ou remisez {0}, puis tirez à nouveau.", "Commit something first, then open a pull request from its branch.": "Validez d'abord quelque chose, puis ouvrez une pull request depuis sa branche.", "Commit title": "Titre du commit", @@ -622,6 +624,8 @@ "Could not write the rebase plan": "Le plan de rebase n'a pas pu être écrit", "Couldn't abort the rebase.": "Le rebase n'a pas pu être abandonné.", "Couldn't bring the conflict in {0} back.": "Le conflit dans {0} n'a pas pu être restauré.", + "Couldn't change the commit message.": "Impossible de modifier le message de commit.", + "Couldn't change the commit message: {0}": "Impossible de modifier le message de commit : {0}", "Couldn't check out PR #{0}: {1}": "La PR #{0} n'a pas pu être extraite : {1}", "Couldn't compare the branches": "Les branches n'ont pas pu être comparées", "Couldn't compare {0} with {1}.": "{0} n'a pas pu être comparé avec {1}.", @@ -839,9 +843,16 @@ "Dropping {0} stopped and needs you — continue the rebase, or abort it to put the branch back as it was.": "La suppression de {0} s'est arrêtée et a besoin de vous — continuez le rebase, ou abandonnez-le pour remettre la branche comme avant.", "Drop…": "Supprimer…", "Edit": "Modifier", + "Edit Message": "Reformuler le message", + "Edit Message…": "Reformuler le message…", "Edit URL": "Modifier l'URL", "Edit URL of {0}": "Modifier l'URL de {0}", + "Edit and move those branches": "Reformuler et déplacer ces branches", + "Edit commit message": "Reformuler le message de commit", + "Edit on this branch only": "Reformuler sur cette branche seulement", "Edit result": "Modifier le résultat", + "Editing the message hit a conflict while replaying a later commit. Resolve it and continue the rebase — or abort to put the branch back as it was.": "La reformulation du message a rencontré un conflit en rejouant un commit ultérieur. Résolvez-le et continuez le rebase — ou abandonnez pour remettre la branche comme avant.", + "Editing the message stopped and needs you — continue the rebase, or abort it to put the branch back as it was.": "La reformulation du message s'est arrêtée et a besoin de vous — continuez le rebase, ou abandonnez-le pour remettre la branche comme avant.", "Enable LM Studio's local server (Developer ▸ Start Server), then load a model.": "Activez le serveur local de LM Studio (Developer ▸ Start Server), puis chargez un modèle.", "Encrypted at rest in GitStudio's own store — not your OS keychain, so it never raises a password prompt. The key stays host-side and is never sent to a webview.": "Chiffré au repos dans le propre stockage de GitStudio — pas votre porte-clés système, il ne déclenche donc jamais d'invite de mot de passe. La clé reste côté hôte et n'est jamais envoyée à une webview.", "Errored": "En erreur", @@ -1294,6 +1305,7 @@ "Move the branch and DISCARD every working-tree and staged change.": "Déplacer la branche et IGNORER toutes les modifications de l'arbre de travail et indexées.", "Move the branch, keep the working tree, unstage everything. Git's default.": "Déplacer la branche, conserver l'arbre de travail, désindexer tout. Comportement par défaut de git.", "Move the branch. Keep your working tree AND everything staged.": "Déplacer la branche. Conserver votre arbre de travail ET tout ce qui est indexé.", + "Move the branches on rewritten commits too?": "Déplacer aussi les branches sur les commits réécrits ?", "Move the current branch back to this commit.": "Ramener la branche actuelle à ce commit.", "Move the selected commits down": "Déplacer les commits sélectionnés vers le bas", "Move the selected commits down (Alt+Down)": "Déplacer les commits sélectionnés vers le bas (Alt+Bas)", @@ -1786,6 +1798,7 @@ "Reorder this branch only": "Réordonner cette branche seulement", "Reorder {0} commits": "Réordonner {0} commits", "Reorder {0} commits?": "Réordonner {0} commits ?", + "Reordering": "Réorganisation", "Reordering stops at a merge — moving a commit past one would flatten it.": "La réorganisation s'arrête à une fusion — déplacer un commit au-delà l'aplatirait.", "Replace and stage": "Remplacer et indexer", "Replace the file with {0} and stage it": "Remplacer le fichier par {0} et l'indexer", @@ -2116,6 +2129,8 @@ "Test failed.": "Le test a échoué.", "That change is no longer there — the file moved underneath. Refresh and try again.": "Cette modification n'est plus là — le fichier a bougé en dessous. Actualisez et réessayez.", "That commit is too far down the branch to drop from here. Start an interactive rebase from it instead.": "Ce commit est trop loin dans la branche pour être supprimé depuis ici. Démarrez plutôt un rebase interactif depuis celui-ci.", + "That commit is too far down the branch to edit from here. Start an interactive rebase instead.": "Ce commit est trop loin dans la branche pour être reformulé depuis ici. Démarrez plutôt un rebase interactif.", + "That commit isn't on the current branch, so its message can't be edited from here.": "Ce commit n'est pas sur la branche actuelle, son message ne peut donc pas être reformulé depuis ici.", "That commit isn't on the current branch, so there's nothing to drop it from.": "Ce commit n'est pas sur la branche actuelle, donc il n'y a rien dont le supprimer.", "That isn't a drop this app made.": "Ce n'est pas une suppression faite par cette application.", "That isn't a stash this app recorded.": "Ce n'est pas un stash enregistré par cette application.", @@ -2128,6 +2143,7 @@ "That stash is no longer in the repository.": "Ce stash n'est plus dans le dépôt.", "That stash no longer exists.": "Ce stash n'existe plus.", "That's a merge commit — dropping it would flatten the history it joined. Revert it instead.": "C'est un commit de fusion — le supprimer aplatirait l'historique qu'il a rejoint. Annulez-le plutôt.", + "That's a merge commit — editing its message would flatten the history it joined. Use an interactive rebase that keeps merges instead.": "C'est un commit de fusion — reformuler son message aplatirait l'historique qu'elle a rejoint. Utilisez plutôt un rebase interactif qui conserve les fusions.", "That's the only commit on the branch — dropping it would leave nothing.": "C'est le seul commit de la branche — le supprimer ne laisserait rien.", "The AI had nothing to say about this change": "L'IA n'avait rien à dire sur cette modification", "The Anthropic API key is missing or invalid. Run “GitStudio: Set Anthropic API Key…”.": "La clé API Anthropic est manquante ou invalide. Lancez « GitStudio : Définir la clé API Anthropic… ».", @@ -2159,6 +2175,7 @@ "The commit being cherry-picked: {0} “{1}”": "Le commit en cours de cherry-pick : {0} « {1} »", "The commit is": "Le commit est", "The commit is added to {0} as one new commit.": "Le commit est ajouté à {0} comme un seul nouveau commit.", + "The commit needs a message.": "Le commit a besoin d'un message.", "The commits HEAD has that {0} does not are rewritten on top of it, so they get new shas. HEAD is on no branch, so they are on no branch either: create a branch from them to keep them. Undo can take you back.": "Les commits que HEAD a et que {0} n'a pas sont réécrits par-dessus, donc ils obtiennent de nouveaux sha. HEAD n'est sur aucune branche, donc eux non plus : créez une branche à partir d'eux pour les conserver. Annuler peut vous faire revenir en arrière.", "The conflict is back, but {0} couldn't be restored on disk.": "Le conflit est de retour, mais {0} n'a pas pu être restauré sur le disque.", "The conflicted files are back to their last committed versions.": "Les fichiers en conflit sont revenus à leurs dernières versions validées.", @@ -2298,7 +2315,8 @@ "This window has {0} open, so it can't be removed from here — its folder would be deleted from under the window. Remove it from another window, or open something else in this one first.": "Cette fenêtre a {0} ouvert, donc il ne peut pas être supprimé depuis ici — son dossier serait supprimé sous la fenêtre. Supprimez-le depuis une autre fenêtre, ou ouvrez autre chose dans celle-ci d'abord.", "Those are all the commits on the branch — dropping them would leave nothing.": "Ce sont tous les commits de la branche — les supprimer ne laisserait rien.", "Those changes are no longer there — refresh and try again.": "Ces modifications ne sont plus là — actualisez et réessayez.", - "Those commits are too far down the branch to {0} from here. Start an interactive rebase instead.": "Ces commits sont trop loin dans la branche pour {0} depuis ici. Démarrez plutôt un rebase interactif.", + "Those commits are too far down the branch to drop from here. Start an interactive rebase instead.": "Ces commits sont trop loin dans la branche pour être supprimés depuis ici. Démarrez plutôt un rebase interactif.", + "Those commits are too far down the branch to squash from here. Start an interactive rebase instead.": "Ces commits sont trop loin dans la branche pour être squashés depuis ici. Démarrez plutôt un rebase interactif.", "Throw your pending comments away without sending them": "Jeter vos commentaires en attente sans les envoyer", "Tidy up your recent commits before you push.": "Nettoyez vos commits récents avant de pousser.", "Timed out": "Délai dépassé", @@ -2434,6 +2452,7 @@ "You have uncommitted changes": "Vous avez des modifications non validées", "You have uncommitted changes. Commit or stash them, then drop the commit.": "Vous avez des modifications non validées. Validez-les ou remisez-les, puis supprimez le commit.", "You have uncommitted changes. Commit or stash them, then drop the commits.": "Vous avez des modifications non validées. Validez-les ou remisez-les, puis supprimez les commits.", + "You have uncommitted changes. Commit or stash them, then edit the message.": "Vous avez des modifications non validées. Validez-les ou remisez-les, puis reformulez le message.", "You have uncommitted changes. Commit or stash them, then squash the commits.": "Vous avez des modifications non validées. Validez-les ou remisez-les, puis squashez les commits.", "You have uncommitted changes. Commit or stash them, then start the rebase.": "Vous avez des modifications non validées. Validez-les ou remisez-les, puis démarrez le rebase.", "You have {0} {1} doesn't, and it has {2} you don't. ": "Vous avez {0} que {1} n'a pas, et elle a {2} que vous n'avez pas. ", @@ -2604,6 +2623,7 @@ "dropping commits": "suppression de commits", "each line is not annotated twice. You can turn it back on in Settings.": "chaque ligne n'est pas annotée deux fois. Vous pouvez le réactiver dans Paramètres.", "edit": "modifier", + "editing a commit message": "reformulation d'un message de commit", "either arrow takes it": "n'importe quelle flèche la prend", "every worktree's folder is still there.": "le dossier de chaque arborescence de travail est toujours là.", "everything staged": "tout ce qui est indexé", @@ -3100,6 +3120,7 @@ "{0} on this branch only": "{0} sur cette branche seulement", "{0} on this file": "{0} sur ce fichier", "{0} on {1}": "{0} sur {1}", + "{0} on {1} gets the message below.": "{0} sur {1} reçoit le message ci-dessous.", "{0} on {1} not pulled yet.": "{0} sur {1} pas encore tiré.", "{0} on {1}/{2} yet: {3} pushed first.": "{0} sur {1}/{2} encore : {3} poussé d'abord.", "{0} or ": "{0} ou ", diff --git a/apps/extension/l10n/bundle.l10n.it.json b/apps/extension/l10n/bundle.l10n.it.json index 9dae6091..941015ed 100644 --- a/apps/extension/l10n/bundle.l10n.it.json +++ b/apps/extension/l10n/bundle.l10n.it.json @@ -304,6 +304,7 @@ "Already at the oldest revision": "Già alla revisione più vecchia", "Already merged in the file, outside the conflict markers (by git, or by hand): check it": "Già unito nel file, fuori dai marcatori di conflitto (da git, o a mano): verificalo", "Already on {0}": "Già su {0}", + "Already pushed. Editing its message would rewrite history other people have. The next push will need to be a force push.": "Già sottoposto a push. Correggere il suo messaggio riscriverebbe una cronologia che altre persone hanno. Il prossimo push dovrà essere un push forzato.", "Already pushed. {0} it would rewrite history other people have.": "Già sottoposto a push. {0} riscriverebbe una cronologia che altre persone hanno.", "Already rebased commits": "Commit già sottoposti a rebase", "Already rebased commits and commits from main": "Commit già sottoposti a rebase e commit da main", @@ -538,6 +539,7 @@ "Commit graph": "Grafico dei commit", "Commit list": "Elenco dei commit", "Commit message": "Messaggio di commit", + "Commit message changed.": "Messaggio di commit modificato.", "Commit or stash {0}, then pull again.": "Esegui il commit o lo stash di {0}, poi esegui di nuovo il pull.", "Commit something first, then open a pull request from its branch.": "Esegui prima un commit, poi apri una pull request dal suo ramo.", "Commit title": "Titolo del commit", @@ -622,6 +624,8 @@ "Could not write the rebase plan": "Non è stato possibile scrivere il piano di rebase", "Couldn't abort the rebase.": "Non è stato possibile interrompere il rebase.", "Couldn't bring the conflict in {0} back.": "Non è stato possibile ripristinare il conflitto in {0}.", + "Couldn't change the commit message.": "Non è stato possibile modificare il messaggio di commit.", + "Couldn't change the commit message: {0}": "Non è stato possibile modificare il messaggio di commit: {0}", "Couldn't check out PR #{0}: {1}": "Non è stato possibile eseguire il checkout della PR #{0}: {1}", "Couldn't compare the branches": "Non è stato possibile confrontare i rami", "Couldn't compare {0} with {1}.": "Non è stato possibile confrontare {0} con {1}.", @@ -839,9 +843,16 @@ "Dropping {0} stopped and needs you — continue the rebase, or abort it to put the branch back as it was.": "L'eliminazione di {0} si è fermata e richiede il tuo intervento — continua il rebase, oppure interrompilo per riportare il ramo com'era.", "Drop…": "Elimina…", "Edit": "Modifica", + "Edit Message": "Correggi messaggio", + "Edit Message…": "Correggi messaggio…", "Edit URL": "Modifica URL", "Edit URL of {0}": "Modifica l'URL di {0}", + "Edit and move those branches": "Correggi e sposta quei rami", + "Edit commit message": "Correggi il messaggio di commit", + "Edit on this branch only": "Correggi solo su questo ramo", "Edit result": "Modifica risultato", + "Editing the message hit a conflict while replaying a later commit. Resolve it and continue the rebase — or abort to put the branch back as it was.": "La correzione del messaggio ha incontrato un conflitto durante la riproduzione di un commit successivo. Risolvilo e continua il rebase — oppure interrompi per riportare il ramo com'era.", + "Editing the message stopped and needs you — continue the rebase, or abort it to put the branch back as it was.": "La correzione del messaggio si è fermata e richiede il tuo intervento — continua il rebase, oppure interrompilo per riportare il ramo com'era.", "Enable LM Studio's local server (Developer ▸ Start Server), then load a model.": "Attiva il server locale di LM Studio (Developer ▸ Start Server), poi carica un modello.", "Encrypted at rest in GitStudio's own store — not your OS keychain, so it never raises a password prompt. The key stays host-side and is never sent to a webview.": "Cifrato a riposo nell'archivio proprio di GitStudio — non il keychain del tuo SO, quindi non chiede mai una password. La chiave resta lato host e non viene mai inviata a una webview.", "Errored": "Errore", @@ -1294,6 +1305,7 @@ "Move the branch and DISCARD every working-tree and staged change.": "Sposta il ramo e SCARTA ogni modifica nella copia di lavoro e in stage.", "Move the branch, keep the working tree, unstage everything. Git's default.": "Sposta il ramo, mantieni la copia di lavoro, togli tutto dallo stage. Il predefinito di git.", "Move the branch. Keep your working tree AND everything staged.": "Sposta il ramo. Mantieni la tua copia di lavoro E tutto ciò che è in stage.", + "Move the branches on rewritten commits too?": "Spostare anche i rami sui commit riscritti?", "Move the current branch back to this commit.": "Sposta il ramo corrente a questo commit.", "Move the selected commits down": "Sposta giù i commit selezionati", "Move the selected commits down (Alt+Down)": "Sposta giù i commit selezionati (Alt+Giù)", @@ -1786,6 +1798,7 @@ "Reorder this branch only": "Riordina solo questo ramo", "Reorder {0} commits": "Riordina {0} commit", "Reorder {0} commits?": "Riordinare {0} commit?", + "Reordering": "Riordino in corso", "Reordering stops at a merge — moving a commit past one would flatten it.": "Il riordino si ferma a un merge — spostare un commit oltre uno lo appiattirebbe.", "Replace and stage": "Sostituisci e metti in stage", "Replace the file with {0} and stage it": "Sostituisci il file con {0} e mettilo in stage", @@ -2116,6 +2129,8 @@ "Test failed.": "Test non riuscito.", "That change is no longer there — the file moved underneath. Refresh and try again.": "Quella modifica non c'è più — il file si è spostato. Aggiorna e riprova.", "That commit is too far down the branch to drop from here. Start an interactive rebase from it instead.": "Quel commit è troppo in basso nel ramo per eliminarlo da qui. Avvia invece un rebase interattivo da lì.", + "That commit is too far down the branch to edit from here. Start an interactive rebase instead.": "Quel commit è troppo in basso nel ramo per correggerlo da qui. Avvia invece un rebase interattivo.", + "That commit isn't on the current branch, so its message can't be edited from here.": "Quel commit non è sul ramo corrente, quindi il suo messaggio non può essere corretto da qui.", "That commit isn't on the current branch, so there's nothing to drop it from.": "Quel commit non è sul ramo corrente, quindi non c'è nulla da cui eliminarlo.", "That isn't a drop this app made.": "Questo non è un drop fatto da questa app.", "That isn't a stash this app recorded.": "Questo non è uno stash registrato da questa app.", @@ -2128,6 +2143,7 @@ "That stash is no longer in the repository.": "Quello stash non è più nel repository.", "That stash no longer exists.": "Quello stash non esiste più.", "That's a merge commit — dropping it would flatten the history it joined. Revert it instead.": "Questo è un commit di merge — eliminarlo appiattirebbe la cronologia che univa. Esegui invece il revert.", + "That's a merge commit — editing its message would flatten the history it joined. Use an interactive rebase that keeps merges instead.": "Questo è un commit di merge — correggere il suo messaggio appiattirebbe la cronologia che univa. Usa invece un rebase interattivo che conserva i merge.", "That's the only commit on the branch — dropping it would leave nothing.": "È l'unico commit sul ramo — eliminarlo non lascerebbe nulla.", "The AI had nothing to say about this change": "L'IA non aveva nulla da dire su questa modifica", "The Anthropic API key is missing or invalid. Run “GitStudio: Set Anthropic API Key…”.": "La chiave API di Anthropic è assente o non valida. Esegui “GitStudio: Set Anthropic API Key…”.", @@ -2159,6 +2175,7 @@ "The commit being cherry-picked: {0} “{1}”": "Il commit di cui si sta facendo il cherry-pick: {0} “{1}”", "The commit is": "Il commit è", "The commit is added to {0} as one new commit.": "Il commit viene aggiunto a {0} come un nuovo commit.", + "The commit needs a message.": "Il commit ha bisogno di un messaggio.", "The commits HEAD has that {0} does not are rewritten on top of it, so they get new shas. HEAD is on no branch, so they are on no branch either: create a branch from them to keep them. Undo can take you back.": "I commit che HEAD ha e {0} non ha vengono riscritti sopra di esso, quindi ottengono nuovi SHA. HEAD non è su alcun ramo, quindi anche loro non sono su alcun ramo: crea un ramo da essi per conservarli. Undo può farti tornare indietro.", "The conflict is back, but {0} couldn't be restored on disk.": "Il conflitto è tornato, ma {0} non è stato possibile ripristinarlo su disco.", "The conflicted files are back to their last committed versions.": "I file in conflitto sono tornati alle loro ultime versioni committate.", @@ -2298,7 +2315,8 @@ "This window has {0} open, so it can't be removed from here — its folder would be deleted from under the window. Remove it from another window, or open something else in this one first.": "Questa finestra ha {0} aperto, quindi non può essere rimosso da qui — la sua cartella verrebbe eliminata da sotto la finestra. Rimuovilo da un'altra finestra, oppure apri prima qualcos'altro in questa.", "Those are all the commits on the branch — dropping them would leave nothing.": "Sono tutti i commit sul ramo — eliminarli non lascerebbe nulla.", "Those changes are no longer there — refresh and try again.": "Quelle modifiche non ci sono più — aggiorna e riprova.", - "Those commits are too far down the branch to {0} from here. Start an interactive rebase instead.": "Quei commit sono troppo in basso nel ramo per {0} da qui. Avvia invece un rebase interattivo.", + "Those commits are too far down the branch to drop from here. Start an interactive rebase instead.": "Quei commit sono troppo in basso nel ramo per eliminarli da qui. Avvia invece un rebase interattivo.", + "Those commits are too far down the branch to squash from here. Start an interactive rebase instead.": "Quei commit sono troppo in basso nel ramo per eseguire lo squash da qui. Avvia invece un rebase interattivo.", "Throw your pending comments away without sending them": "Butta via i tuoi commenti in sospeso senza inviarli", "Tidy up your recent commits before you push.": "Riordina i tuoi commit recenti prima di eseguire il push.", "Timed out": "Tempo scaduto", @@ -2434,6 +2452,7 @@ "You have uncommitted changes": "Hai modifiche non committate", "You have uncommitted changes. Commit or stash them, then drop the commit.": "Hai modifiche non committate. Fai il commit o lo stash, poi elimina il commit.", "You have uncommitted changes. Commit or stash them, then drop the commits.": "Hai modifiche non committate. Fai il commit o lo stash, poi elimina i commit.", + "You have uncommitted changes. Commit or stash them, then edit the message.": "Hai modifiche non committate. Fai il commit o lo stash, poi correggi il messaggio.", "You have uncommitted changes. Commit or stash them, then squash the commits.": "Hai modifiche non committate. Fai il commit o lo stash, poi esegui lo squash dei commit.", "You have uncommitted changes. Commit or stash them, then start the rebase.": "Hai modifiche non committate. Fai il commit o lo stash, poi avvia il rebase.", "You have {0} {1} doesn't, and it has {2} you don't. ": "Tu hai {0} che {1} non ha, e lui ha {2} che tu non hai. ", @@ -2604,6 +2623,7 @@ "dropping commits": "eliminazione di commit", "each line is not annotated twice. You can turn it back on in Settings.": "ogni riga non è annotata due volte. Puoi riattivarlo nelle Impostazioni.", "edit": "modifica", + "editing a commit message": "correzione del messaggio di un commit", "either arrow takes it": "una qualsiasi delle due frecce lo seleziona", "every worktree's folder is still there.": "la cartella di ogni worktree è ancora presente.", "everything staged": "tutto in stage", @@ -3100,6 +3120,7 @@ "{0} on this branch only": "{0} solo su questo ramo", "{0} on this file": "{0} su questo file", "{0} on {1}": "{0} su {1}", + "{0} on {1} gets the message below.": "{0} su {1} riceve il messaggio sotto.", "{0} on {1} not pulled yet.": "{0} su {1} non ancora pullati.", "{0} on {1}/{2} yet: {3} pushed first.": "{0} su {1}/{2} ancora: {3} pushato prima.", "{0} or ": "{0} oppure ", diff --git a/apps/extension/l10n/bundle.l10n.ja.json b/apps/extension/l10n/bundle.l10n.ja.json index f9d479c3..f4ee9f05 100644 --- a/apps/extension/l10n/bundle.l10n.ja.json +++ b/apps/extension/l10n/bundle.l10n.ja.json @@ -304,6 +304,7 @@ "Already at the oldest revision": "既に最も古いリビジョンです", "Already merged in the file, outside the conflict markers (by git, or by hand): check it": "コンフリクトマーカーの外側で(git によって、または手動で)既にファイルにマージ済みです: 確認してください", "Already on {0}": "既に {0} にいます", + "Already pushed. Editing its message would rewrite history other people have. The next push will need to be a force push.": "既にプッシュされています。メッセージを変更すると、他の人が持つ履歴を書き換えてしまいます。次のプッシュは強制プッシュが必要になります。", "Already pushed. {0} it would rewrite history other people have.": "既にプッシュされています。{0} すると、他の人が持つ履歴を書き換えてしまいます。", "Already rebased commits": "既にリベース済みのコミット", "Already rebased commits and commits from main": "既にリベース済みのコミットと main のコミット", @@ -538,6 +539,7 @@ "Commit graph": "コミットグラフ", "Commit list": "コミット一覧", "Commit message": "コミットメッセージ", + "Commit message changed.": "コミットメッセージを変更しました。", "Commit or stash {0}, then pull again.": "{0} をコミットまたはスタッシュしてから、再度プルしてください。", "Commit something first, then open a pull request from its branch.": "先に何かをコミットしてから、そのブランチからプルリクエストを開いてください。", "Commit title": "コミットタイトル", @@ -622,6 +624,8 @@ "Could not write the rebase plan": "リベースプランを書き込めませんでした", "Couldn't abort the rebase.": "リベースを中止できませんでした。", "Couldn't bring the conflict in {0} back.": "{0} のコンフリクトを元に戻せませんでした。", + "Couldn't change the commit message.": "コミットメッセージを変更できませんでした。", + "Couldn't change the commit message: {0}": "コミットメッセージを変更できませんでした: {0}", "Couldn't check out PR #{0}: {1}": "PR #{0} をチェックアウトできませんでした: {1}", "Couldn't compare the branches": "ブランチを比較できませんでした", "Couldn't compare {0} with {1}.": "{0} と {1} を比較できませんでした。", @@ -839,9 +843,16 @@ "Dropping {0} stopped and needs you — continue the rebase, or abort it to put the branch back as it was.": "{0}のドロップが停止し、あなたの対応が必要です — リベースを続行するか、中止してブランチを元の状態に戻してください。", "Drop…": "ドロップ…", "Edit": "編集", + "Edit Message": "メッセージを変更", + "Edit Message…": "メッセージを変更…", "Edit URL": "URL を編集", "Edit URL of {0}": "{0} の URL を編集", + "Edit and move those branches": "変更してそれらのブランチを移動", + "Edit commit message": "コミットメッセージを変更", + "Edit on this branch only": "このブランチでのみ変更", "Edit result": "結果を編集", + "Editing the message hit a conflict while replaying a later commit. Resolve it and continue the rebase — or abort to put the branch back as it was.": "メッセージの変更は、後のコミットを再生する際にコンフリクトが発生しました。解決してリベースを続行するか、中止してブランチを元の状態に戻してください。", + "Editing the message stopped and needs you — continue the rebase, or abort it to put the branch back as it was.": "メッセージの変更が停止し、あなたの対応が必要です — リベースを続行するか、中止してブランチを元の状態に戻してください。", "Enable LM Studio's local server (Developer ▸ Start Server), then load a model.": "LM Studio のローカルサーバーを有効にし(Developer ▸ Start Server)、モデルを読み込んでください。", "Encrypted at rest in GitStudio's own store — not your OS keychain, so it never raises a password prompt. The key stays host-side and is never sent to a webview.": "GitStudio 独自のストアに保存時暗号化されます — OS のキーチェーンではないため、パスワードの入力は求められません。キーはホスト側に保持され、Webview には送られません。", "Errored": "エラー発生", @@ -1294,6 +1305,7 @@ "Move the branch and DISCARD every working-tree and staged change.": "ブランチを移動し、作業ツリーとステージ済みの変更をすべて破棄します。", "Move the branch, keep the working tree, unstage everything. Git's default.": "ブランチを移動し、作業ツリーは保持してすべてのステージを解除します。git の既定動作です。", "Move the branch. Keep your working tree AND everything staged.": "ブランチを移動します。作業ツリーとステージ済みの内容はすべて保持されます。", + "Move the branches on rewritten commits too?": "書き換えられたコミット上のブランチも移動しますか?", "Move the current branch back to this commit.": "現在のブランチをこのコミットに戻します。", "Move the selected commits down": "選択したコミットを下に移動", "Move the selected commits down (Alt+Down)": "選択したコミットを下に移動(Alt+Down)", @@ -1786,6 +1798,7 @@ "Reorder this branch only": "このブランチのみ並べ替え", "Reorder {0} commits": "{0}件のコミットを並べ替え", "Reorder {0} commits?": "{0}件のコミットを並べ替えますか?", + "Reordering": "並べ替え中", "Reordering stops at a merge — moving a commit past one would flatten it.": "並べ替えはマージで止まります — コミットをマージより先に移動すると、それがフラット化されてしまいます。", "Replace and stage": "置き換えてステージ", "Replace the file with {0} and stage it": "ファイルを{0}で置き換えてステージ", @@ -2116,6 +2129,8 @@ "Test failed.": "テストに失敗しました。", "That change is no longer there — the file moved underneath. Refresh and try again.": "その変更はもうありません — ファイルの内容が変わっています。更新して再試行してください。", "That commit is too far down the branch to drop from here. Start an interactive rebase from it instead.": "そのコミットはブランチの下の方にあるため、ここからは削除できません。代わりにそこからインタラクティブリベースを開始してください。", + "That commit is too far down the branch to edit from here. Start an interactive rebase instead.": "そのコミットはブランチの下の方にあるため、ここから変更できません。代わりにインタラクティブリベースを開始してください。", + "That commit isn't on the current branch, so its message can't be edited from here.": "そのコミットは現在のブランチ上にないため、ここからメッセージを変更できません。", "That commit isn't on the current branch, so there's nothing to drop it from.": "そのコミットは現在のブランチにないため、削除する対象がありません。", "That isn't a drop this app made.": "それはこのアプリが行った削除ではありません。", "That isn't a stash this app recorded.": "それはこのアプリが記録したスタッシュではありません。", @@ -2128,6 +2143,7 @@ "That stash is no longer in the repository.": "そのスタッシュはもうリポジトリにありません。", "That stash no longer exists.": "そのスタッシュはもう存在しません。", "That's a merge commit — dropping it would flatten the history it joined. Revert it instead.": "それはマージコミットです — 削除すると、結合された履歴がフラット化されます。代わりに取り消しを使ってください。", + "That's a merge commit — editing its message would flatten the history it joined. Use an interactive rebase that keeps merges instead.": "それはマージコミットです — メッセージを変更すると、結合された履歴がフラット化されます。代わりに、マージを保持するインタラクティブリベースを使ってください。", "That's the only commit on the branch — dropping it would leave nothing.": "それはブランチ上の唯一のコミットです — 削除すると何も残りません。", "The AI had nothing to say about this change": "AIはこの変更について特に述べることがありませんでした", "The Anthropic API key is missing or invalid. Run “GitStudio: Set Anthropic API Key…”.": "AnthropicのAPIキーがないか無効です。「GitStudio: Set Anthropic API Key…」を実行してください。", @@ -2159,6 +2175,7 @@ "The commit being cherry-picked: {0} “{1}”": "チェリーピック中のコミット: {0} 「{1}」", "The commit is": "そのコミットは", "The commit is added to {0} as one new commit.": "コミットは1つの新しいコミットとして{0}に追加されます。", + "The commit needs a message.": "コミットにはメッセージが必要です。", "The commits HEAD has that {0} does not are rewritten on top of it, so they get new shas. HEAD is on no branch, so they are on no branch either: create a branch from them to keep them. Undo can take you back.": "HEADにあって{0}にはないコミットは、その上に書き換えられて新しいSHAになります。HEADはどのブランチにもないため、それらもどのブランチにも属しません: 保持するにはそこからブランチを作成してください。元に戻す機能で戻ることもできます。", "The conflict is back, but {0} couldn't be restored on disk.": "コンフリクトは元に戻りましたが、{0}はディスク上で復元できませんでした。", "The conflicted files are back to their last committed versions.": "コンフリクトのあったファイルは最後にコミットされたバージョンに戻りました。", @@ -2298,7 +2315,8 @@ "This window has {0} open, so it can't be removed from here — its folder would be deleted from under the window. Remove it from another window, or open something else in this one first.": "このウィンドウで{0}が開かれているため、ここから削除できません — ウィンドウの下でフォルダーが削除されてしまいます。別のウィンドウから削除するか、先にこのウィンドウで別のものを開いてください。", "Those are all the commits on the branch — dropping them would leave nothing.": "それらはブランチ上のすべてのコミットです — 削除すると何も残りません。", "Those changes are no longer there — refresh and try again.": "それらの変更はもうありません — 更新して再試行してください。", - "Those commits are too far down the branch to {0} from here. Start an interactive rebase instead.": "それらのコミットはブランチの下の方にあるため、ここから{0}できません。代わりにインタラクティブリベースを開始してください。", + "Those commits are too far down the branch to drop from here. Start an interactive rebase instead.": "それらのコミットはブランチの下の方にあるため、ここからドロップできません。代わりにインタラクティブリベースを開始してください。", + "Those commits are too far down the branch to squash from here. Start an interactive rebase instead.": "それらのコミットはブランチの下の方にあるため、ここからsquashできません。代わりにインタラクティブリベースを開始してください。", "Throw your pending comments away without sending them": "保留中のコメントを送信せずに破棄", "Tidy up your recent commits before you push.": "プッシュする前に最近のコミットを整理してください。", "Timed out": "タイムアウトしました", @@ -2434,6 +2452,7 @@ "You have uncommitted changes": "未コミットの変更があります", "You have uncommitted changes. Commit or stash them, then drop the commit.": "未コミットの変更があります。コミットまたはスタッシュしてから、このコミットを削除してください。", "You have uncommitted changes. Commit or stash them, then drop the commits.": "未コミットの変更があります。コミットまたはスタッシュしてから、これらのコミットを削除してください。", + "You have uncommitted changes. Commit or stash them, then edit the message.": "未コミットの変更があります。コミットまたはスタッシュしてから、メッセージを変更してください。", "You have uncommitted changes. Commit or stash them, then squash the commits.": "未コミットの変更があります。コミットまたはスタッシュしてから、コミットをスカッシュしてください。", "You have uncommitted changes. Commit or stash them, then start the rebase.": "未コミットの変更があります。コミットまたはスタッシュしてから、リベースを開始してください。", "You have {0} {1} doesn't, and it has {2} you don't. ": "あなたには {1} にない {0} があり、相手にはあなたにない {2} があります。", @@ -2604,6 +2623,7 @@ "dropping commits": "コミットの削除", "each line is not annotated twice. You can turn it back on in Settings.": "各行が二重に注釈されることはありません。設定で元に戻せます。", "edit": "編集", + "editing a commit message": "コミットメッセージの変更", "either arrow takes it": "どちらの矢印でも移動できます", "every worktree's folder is still there.": "すべてのワークツリーのフォルダーはまだ存在します。", "everything staged": "すべてステージ済み", @@ -3100,6 +3120,7 @@ "{0} on this branch only": "このブランチのみの {0}", "{0} on this file": "このファイルの {0}", "{0} on {1}": "{1} の {0}", + "{0} on {1} gets the message below.": "{1} の {0} は、以下のメッセージになります。", "{0} on {1} not pulled yet.": "{1} の {0} はまだプルされていません。", "{0} on {1}/{2} yet: {3} pushed first.": "{1}/{2} にまだ {0} ありません: 先に {3} プッシュされます。", "{0} or ": "{0} または", diff --git a/apps/extension/l10n/bundle.l10n.json b/apps/extension/l10n/bundle.l10n.json index 971e15a4..bc9baa62 100644 --- a/apps/extension/l10n/bundle.l10n.json +++ b/apps/extension/l10n/bundle.l10n.json @@ -304,6 +304,7 @@ "Already at the oldest revision": "Already at the oldest revision", "Already merged in the file, outside the conflict markers (by git, or by hand): check it": "Already merged in the file, outside the conflict markers (by git, or by hand): check it", "Already on {0}": "Already on {0}", + "Already pushed. Editing its message would rewrite history other people have. The next push will need to be a force push.": "Already pushed. Editing its message would rewrite history other people have. The next push will need to be a force push.", "Already pushed. {0} it would rewrite history other people have.": "Already pushed. {0} it would rewrite history other people have.", "Already rebased commits": "Already rebased commits", "Already rebased commits and commits from main": "Already rebased commits and commits from main", @@ -538,6 +539,7 @@ "Commit graph": "Commit graph", "Commit list": "Commit list", "Commit message": "Commit message", + "Commit message changed.": "Commit message changed.", "Commit or stash {0}, then pull again.": "Commit or stash {0}, then pull again.", "Commit something first, then open a pull request from its branch.": "Commit something first, then open a pull request from its branch.", "Commit title": "Commit title", @@ -622,6 +624,8 @@ "Could not write the rebase plan": "Could not write the rebase plan", "Couldn't abort the rebase.": "Couldn't abort the rebase.", "Couldn't bring the conflict in {0} back.": "Couldn't bring the conflict in {0} back.", + "Couldn't change the commit message.": "Couldn't change the commit message.", + "Couldn't change the commit message: {0}": "Couldn't change the commit message: {0}", "Couldn't check out PR #{0}: {1}": "Couldn't check out PR #{0}: {1}", "Couldn't compare the branches": "Couldn't compare the branches", "Couldn't compare {0} with {1}.": "Couldn't compare {0} with {1}.", @@ -839,9 +843,16 @@ "Dropping {0} stopped and needs you — continue the rebase, or abort it to put the branch back as it was.": "Dropping {0} stopped and needs you — continue the rebase, or abort it to put the branch back as it was.", "Drop…": "Drop…", "Edit": "Edit", + "Edit Message": "Edit Message", + "Edit Message…": "Edit Message…", "Edit URL": "Edit URL", "Edit URL of {0}": "Edit URL of {0}", + "Edit and move those branches": "Edit and move those branches", + "Edit commit message": "Edit commit message", + "Edit on this branch only": "Edit on this branch only", "Edit result": "Edit result", + "Editing the message hit a conflict while replaying a later commit. Resolve it and continue the rebase — or abort to put the branch back as it was.": "Editing the message hit a conflict while replaying a later commit. Resolve it and continue the rebase — or abort to put the branch back as it was.", + "Editing the message stopped and needs you — continue the rebase, or abort it to put the branch back as it was.": "Editing the message stopped and needs you — continue the rebase, or abort it to put the branch back as it was.", "Enable LM Studio's local server (Developer ▸ Start Server), then load a model.": "Enable LM Studio's local server (Developer ▸ Start Server), then load a model.", "Encrypted at rest in GitStudio's own store — not your OS keychain, so it never raises a password prompt. The key stays host-side and is never sent to a webview.": "Encrypted at rest in GitStudio's own store — not your OS keychain, so it never raises a password prompt. The key stays host-side and is never sent to a webview.", "Errored": "Errored", @@ -1294,6 +1305,7 @@ "Move the branch and DISCARD every working-tree and staged change.": "Move the branch and DISCARD every working-tree and staged change.", "Move the branch, keep the working tree, unstage everything. Git's default.": "Move the branch, keep the working tree, unstage everything. Git's default.", "Move the branch. Keep your working tree AND everything staged.": "Move the branch. Keep your working tree AND everything staged.", + "Move the branches on rewritten commits too?": "Move the branches on rewritten commits too?", "Move the current branch back to this commit.": "Move the current branch back to this commit.", "Move the selected commits down": "Move the selected commits down", "Move the selected commits down (Alt+Down)": "Move the selected commits down (Alt+Down)", @@ -1786,6 +1798,7 @@ "Reorder this branch only": "Reorder this branch only", "Reorder {0} commits": "Reorder {0} commits", "Reorder {0} commits?": "Reorder {0} commits?", + "Reordering": "Reordering", "Reordering stops at a merge — moving a commit past one would flatten it.": "Reordering stops at a merge — moving a commit past one would flatten it.", "Replace and stage": "Replace and stage", "Replace the file with {0} and stage it": "Replace the file with {0} and stage it", @@ -2116,6 +2129,8 @@ "Test failed.": "Test failed.", "That change is no longer there — the file moved underneath. Refresh and try again.": "That change is no longer there — the file moved underneath. Refresh and try again.", "That commit is too far down the branch to drop from here. Start an interactive rebase from it instead.": "That commit is too far down the branch to drop from here. Start an interactive rebase from it instead.", + "That commit is too far down the branch to edit from here. Start an interactive rebase instead.": "That commit is too far down the branch to edit from here. Start an interactive rebase instead.", + "That commit isn't on the current branch, so its message can't be edited from here.": "That commit isn't on the current branch, so its message can't be edited from here.", "That commit isn't on the current branch, so there's nothing to drop it from.": "That commit isn't on the current branch, so there's nothing to drop it from.", "That isn't a drop this app made.": "That isn't a drop this app made.", "That isn't a stash this app recorded.": "That isn't a stash this app recorded.", @@ -2128,6 +2143,7 @@ "That stash is no longer in the repository.": "That stash is no longer in the repository.", "That stash no longer exists.": "That stash no longer exists.", "That's a merge commit — dropping it would flatten the history it joined. Revert it instead.": "That's a merge commit — dropping it would flatten the history it joined. Revert it instead.", + "That's a merge commit — editing its message would flatten the history it joined. Use an interactive rebase that keeps merges instead.": "That's a merge commit — editing its message would flatten the history it joined. Use an interactive rebase that keeps merges instead.", "That's the only commit on the branch — dropping it would leave nothing.": "That's the only commit on the branch — dropping it would leave nothing.", "The AI had nothing to say about this change": "The AI had nothing to say about this change", "The Anthropic API key is missing or invalid. Run “GitStudio: Set Anthropic API Key…”.": "The Anthropic API key is missing or invalid. Run “GitStudio: Set Anthropic API Key…”.", @@ -2159,6 +2175,7 @@ "The commit being cherry-picked: {0} “{1}”": "The commit being cherry-picked: {0} “{1}”", "The commit is": "The commit is", "The commit is added to {0} as one new commit.": "The commit is added to {0} as one new commit.", + "The commit needs a message.": "The commit needs a message.", "The commits HEAD has that {0} does not are rewritten on top of it, so they get new shas. HEAD is on no branch, so they are on no branch either: create a branch from them to keep them. Undo can take you back.": "The commits HEAD has that {0} does not are rewritten on top of it, so they get new shas. HEAD is on no branch, so they are on no branch either: create a branch from them to keep them. Undo can take you back.", "The conflict is back, but {0} couldn't be restored on disk.": "The conflict is back, but {0} couldn't be restored on disk.", "The conflicted files are back to their last committed versions.": "The conflicted files are back to their last committed versions.", @@ -2298,7 +2315,8 @@ "This window has {0} open, so it can't be removed from here — its folder would be deleted from under the window. Remove it from another window, or open something else in this one first.": "This window has {0} open, so it can't be removed from here — its folder would be deleted from under the window. Remove it from another window, or open something else in this one first.", "Those are all the commits on the branch — dropping them would leave nothing.": "Those are all the commits on the branch — dropping them would leave nothing.", "Those changes are no longer there — refresh and try again.": "Those changes are no longer there — refresh and try again.", - "Those commits are too far down the branch to {0} from here. Start an interactive rebase instead.": "Those commits are too far down the branch to {0} from here. Start an interactive rebase instead.", + "Those commits are too far down the branch to drop from here. Start an interactive rebase instead.": "Those commits are too far down the branch to drop from here. Start an interactive rebase instead.", + "Those commits are too far down the branch to squash from here. Start an interactive rebase instead.": "Those commits are too far down the branch to squash from here. Start an interactive rebase instead.", "Throw your pending comments away without sending them": "Throw your pending comments away without sending them", "Tidy up your recent commits before you push.": "Tidy up your recent commits before you push.", "Timed out": "Timed out", @@ -2434,6 +2452,7 @@ "You have uncommitted changes": "You have uncommitted changes", "You have uncommitted changes. Commit or stash them, then drop the commit.": "You have uncommitted changes. Commit or stash them, then drop the commit.", "You have uncommitted changes. Commit or stash them, then drop the commits.": "You have uncommitted changes. Commit or stash them, then drop the commits.", + "You have uncommitted changes. Commit or stash them, then edit the message.": "You have uncommitted changes. Commit or stash them, then edit the message.", "You have uncommitted changes. Commit or stash them, then squash the commits.": "You have uncommitted changes. Commit or stash them, then squash the commits.", "You have uncommitted changes. Commit or stash them, then start the rebase.": "You have uncommitted changes. Commit or stash them, then start the rebase.", "You have {0} {1} doesn't, and it has {2} you don't. ": "You have {0} {1} doesn't, and it has {2} you don't. ", @@ -2604,6 +2623,7 @@ "dropping commits": "dropping commits", "each line is not annotated twice. You can turn it back on in Settings.": "each line is not annotated twice. You can turn it back on in Settings.", "edit": "edit", + "editing a commit message": "editing a commit message", "either arrow takes it": "either arrow takes it", "every worktree's folder is still there.": "every worktree's folder is still there.", "everything staged": "everything staged", @@ -3100,6 +3120,7 @@ "{0} on this branch only": "{0} on this branch only", "{0} on this file": "{0} on this file", "{0} on {1}": "{0} on {1}", + "{0} on {1} gets the message below.": "{0} on {1} gets the message below.", "{0} on {1} not pulled yet.": "{0} on {1} not pulled yet.", "{0} on {1}/{2} yet: {3} pushed first.": "{0} on {1}/{2} yet: {3} pushed first.", "{0} or ": "{0} or ", diff --git a/apps/extension/l10n/bundle.l10n.ko.json b/apps/extension/l10n/bundle.l10n.ko.json index 83fa91ac..137cfef2 100644 --- a/apps/extension/l10n/bundle.l10n.ko.json +++ b/apps/extension/l10n/bundle.l10n.ko.json @@ -304,6 +304,7 @@ "Already at the oldest revision": "이미 가장 오래된 리비전입니다", "Already merged in the file, outside the conflict markers (by git, or by hand): check it": "이미 파일에서 충돌 마커 바깥에 병합됨(git이나 직접): 확인하세요", "Already on {0}": "이미 {0}에 있음", + "Already pushed. Editing its message would rewrite history other people have. The next push will need to be a force push.": "이미 푸시되었습니다. 메시지 수정을 실행하면 다른 사람이 가진 기록을 다시 작성하게 됩니다. 다음 푸시는 강제 푸시가 필요합니다.", "Already pushed. {0} it would rewrite history other people have.": "이미 푸시되었습니다. {0}을 실행하면 다른 사람이 가진 기록을 다시 작성하게 됩니다.", "Already rebased commits": "이미 리베이스된 커밋", "Already rebased commits and commits from main": "이미 리베이스된 커밋과 main의 커밋", @@ -538,6 +539,7 @@ "Commit graph": "커밋 그래프", "Commit list": "커밋 목록", "Commit message": "커밋 메시지", + "Commit message changed.": "커밋 메시지가 변경되었습니다.", "Commit or stash {0}, then pull again.": "{0}을 커밋하거나 스태시한 후 다시 풀하세요.", "Commit something first, then open a pull request from its branch.": "먼저 커밋한 후 해당 브랜치에서 풀 리퀘스트를 여세요.", "Commit title": "커밋 제목", @@ -622,6 +624,8 @@ "Could not write the rebase plan": "리베이스 계획을 쓸 수 없었습니다", "Couldn't abort the rebase.": "리베이스를 중단할 수 없었습니다.", "Couldn't bring the conflict in {0} back.": "{0}의 충돌을 되돌릴 수 없었습니다.", + "Couldn't change the commit message.": "커밋 메시지를 변경할 수 없었습니다.", + "Couldn't change the commit message: {0}": "커밋 메시지를 변경할 수 없었습니다: {0}", "Couldn't check out PR #{0}: {1}": "PR #{0}을 체크아웃할 수 없었습니다: {1}", "Couldn't compare the branches": "브랜치를 비교할 수 없었습니다", "Couldn't compare {0} with {1}.": "{0}과 {1}을 비교할 수 없었습니다.", @@ -839,9 +843,16 @@ "Dropping {0} stopped and needs you — continue the rebase, or abort it to put the branch back as it was.": "{0} 삭제가 중지되어 확인이 필요합니다 — 리베이스를 계속하거나, 중단하여 브랜치를 원래대로 되돌리세요.", "Drop…": "삭제…", "Edit": "편집", + "Edit Message": "메시지 수정", + "Edit Message…": "메시지 수정…", "Edit URL": "URL 편집", "Edit URL of {0}": "{0}의 URL 편집", + "Edit and move those branches": "수정하고 해당 브랜치 이동", + "Edit commit message": "커밋 메시지 수정", + "Edit on this branch only": "이 브랜치에서만 수정", "Edit result": "결과 편집", + "Editing the message hit a conflict while replaying a later commit. Resolve it and continue the rebase — or abort to put the branch back as it was.": "메시지 수정 중 이후 커밋을 재생하다 충돌이 발생했습니다. 해결 후 리베이스를 계속하거나, 중단하여 브랜치를 원래대로 되돌리세요.", + "Editing the message stopped and needs you — continue the rebase, or abort it to put the branch back as it was.": "메시지 수정이 중지되어 확인이 필요합니다 — 리베이스를 계속하거나, 중단하여 브랜치를 원래대로 되돌리세요.", "Enable LM Studio's local server (Developer ▸ Start Server), then load a model.": "LM Studio의 로컬 서버를 켠(개발자 ▸ 서버 시작) 후 모델을 로드하세요.", "Encrypted at rest in GitStudio's own store — not your OS keychain, so it never raises a password prompt. The key stays host-side and is never sent to a webview.": "GitStudio 자체 저장소에 암호화되어 저장됩니다 — OS 키체인이 아니므로 비밀번호 입력 창이 뜨지 않습니다. 키는 호스트 쪽에만 있으며 웹뷰로 전송되지 않습니다.", "Errored": "오류 발생", @@ -1294,6 +1305,7 @@ "Move the branch and DISCARD every working-tree and staged change.": "브랜치를 이동하고 모든 작업 트리 및 스테이징 변경 내용을 버립니다.", "Move the branch, keep the working tree, unstage everything. Git's default.": "브랜치를 이동하고 작업 트리는 유지하며 모든 스테이징을 해제합니다. Git의 기본값입니다.", "Move the branch. Keep your working tree AND everything staged.": "브랜치를 이동합니다. 작업 트리와 스테이지에 추가된 모든 내용을 유지합니다.", + "Move the branches on rewritten commits too?": "다시 작성된 커밋의 브랜치도 이동하시겠습니까?", "Move the current branch back to this commit.": "현재 브랜치를 이 커밋으로 되돌립니다.", "Move the selected commits down": "선택한 커밋을 아래로 이동", "Move the selected commits down (Alt+Down)": "선택한 커밋을 아래로 이동(Alt+Down)", @@ -1786,6 +1798,7 @@ "Reorder this branch only": "이 브랜치에서만 순서 변경", "Reorder {0} commits": "커밋 {0}개 순서 변경", "Reorder {0} commits?": "커밋 {0}개의 순서를 바꾸시겠습니까?", + "Reordering": "순서 변경 중", "Reordering stops at a merge — moving a commit past one would flatten it.": "순서 변경은 병합 커밋에서 멈춥니다 — 커밋을 그 너머로 옮기면 병합이 사라집니다.", "Replace and stage": "바꾸고 스테이지에 추가", "Replace the file with {0} and stage it": "파일을 {0}으로 바꾸고 스테이지에 추가", @@ -2116,6 +2129,8 @@ "Test failed.": "테스트가 실패했습니다.", "That change is no longer there — the file moved underneath. Refresh and try again.": "그 변경 내용은 더 이상 없습니다 — 파일이 그 아래에서 이동했습니다. 새로고침한 후 다시 시도하세요.", "That commit is too far down the branch to drop from here. Start an interactive rebase from it instead.": "그 커밋은 브랜치에서 너무 아래에 있어 여기서 삭제할 수 없습니다. 대신 거기서부터 대화형 리베이스를 시작하세요.", + "That commit is too far down the branch to edit from here. Start an interactive rebase instead.": "그 커밋은 브랜치에서 너무 아래에 있어 여기서 수정할 수 없습니다. 대신 대화형 리베이스를 시작하세요.", + "That commit isn't on the current branch, so its message can't be edited from here.": "그 커밋은 현재 브랜치에 없어 여기서 메시지를 수정할 수 없습니다.", "That commit isn't on the current branch, so there's nothing to drop it from.": "그 커밋은 현재 브랜치에 없어 여기서 삭제할 것이 없습니다.", "That isn't a drop this app made.": "그것은 이 앱이 만든 삭제가 아닙니다.", "That isn't a stash this app recorded.": "그것은 이 앱이 기록한 스태시가 아닙니다.", @@ -2128,6 +2143,7 @@ "That stash is no longer in the repository.": "그 스태시는 더 이상 리포지토리에 없습니다.", "That stash no longer exists.": "그 스태시는 더 이상 존재하지 않습니다.", "That's a merge commit — dropping it would flatten the history it joined. Revert it instead.": "그것은 병합 커밋입니다 — 삭제하면 합쳐진 기록이 사라집니다. 대신 되돌리세요.", + "That's a merge commit — editing its message would flatten the history it joined. Use an interactive rebase that keeps merges instead.": "그것은 병합 커밋입니다 — 메시지를 수정하면 합쳐진 기록이 사라집니다. 대신 병합을 유지하는 대화형 리베이스를 사용하세요.", "That's the only commit on the branch — dropping it would leave nothing.": "그것이 브랜치의 유일한 커밋입니다 — 삭제하면 아무것도 남지 않습니다.", "The AI had nothing to say about this change": "AI가 이 변경 내용에 대해 할 말이 없었습니다", "The Anthropic API key is missing or invalid. Run “GitStudio: Set Anthropic API Key…”.": "Anthropic API 키가 없거나 올바르지 않습니다. “GitStudio: Anthropic API 키 설정…”을 실행하세요.", @@ -2159,6 +2175,7 @@ "The commit being cherry-picked: {0} “{1}”": "체리픽 중인 커밋: {0} “{1}”", "The commit is": "커밋은", "The commit is added to {0} as one new commit.": "커밋이 새 커밋 1개로 {0}에 추가됩니다.", + "The commit needs a message.": "커밋에는 메시지가 필요합니다.", "The commits HEAD has that {0} does not are rewritten on top of it, so they get new shas. HEAD is on no branch, so they are on no branch either: create a branch from them to keep them. Undo can take you back.": "HEAD에 있지만 {0}에 없는 커밋은 그 위에 다시 작성되어 새 SHA를 받습니다. HEAD가 어느 브랜치에도 속하지 않으므로 그 커밋들도 어느 브랜치에도 속하지 않습니다 — 유지하려면 거기서 브랜치를 만드세요. 실행 취소로 되돌릴 수 있습니다.", "The conflict is back, but {0} couldn't be restored on disk.": "충돌은 돌아왔지만 {0}을 디스크에서 복원할 수 없었습니다.", "The conflicted files are back to their last committed versions.": "충돌한 파일이 마지막 커밋 버전으로 돌아갑니다.", @@ -2298,7 +2315,8 @@ "This window has {0} open, so it can't be removed from here — its folder would be deleted from under the window. Remove it from another window, or open something else in this one first.": "이 창에 {0}이 열려 있어 여기서 제거할 수 없습니다 — 창 아래의 폴더가 삭제됩니다. 다른 창에서 제거하거나 먼저 이 창에서 다른 것을 여세요.", "Those are all the commits on the branch — dropping them would leave nothing.": "브랜치의 모든 커밋입니다 — 삭제하면 아무것도 남지 않습니다.", "Those changes are no longer there — refresh and try again.": "그 변경 내용은 더 이상 없습니다 — 새로고침한 후 다시 시도하세요.", - "Those commits are too far down the branch to {0} from here. Start an interactive rebase instead.": "그 커밋은 브랜치에서 너무 아래에 있어 여기서 {0}할 수 없습니다. 대신 대화형 리베이스를 시작하세요.", + "Those commits are too far down the branch to drop from here. Start an interactive rebase instead.": "그 커밋들은 브랜치에서 너무 아래에 있어 여기서 삭제할 수 없습니다. 대신 대화형 리베이스를 시작하세요.", + "Those commits are too far down the branch to squash from here. Start an interactive rebase instead.": "그 커밋들은 브랜치에서 너무 아래에 있어 여기서 스쿼시할 수 없습니다. 대신 대화형 리베이스를 시작하세요.", "Throw your pending comments away without sending them": "대기 중인 댓글을 전송하지 않고 버리기", "Tidy up your recent commits before you push.": "푸시하기 전에 최근 커밋을 정리하세요.", "Timed out": "시간 초과됨", @@ -2434,6 +2452,7 @@ "You have uncommitted changes": "커밋되지 않은 변경 내용이 있습니다", "You have uncommitted changes. Commit or stash them, then drop the commit.": "커밋되지 않은 변경 내용이 있습니다. 커밋하거나 스태시한 후 커밋을 삭제하세요.", "You have uncommitted changes. Commit or stash them, then drop the commits.": "커밋되지 않은 변경 내용이 있습니다. 커밋하거나 스태시한 후 커밋들을 삭제하세요.", + "You have uncommitted changes. Commit or stash them, then edit the message.": "커밋되지 않은 변경 내용이 있습니다. 커밋하거나 스태시한 후 메시지를 수정하세요.", "You have uncommitted changes. Commit or stash them, then squash the commits.": "커밋되지 않은 변경 내용이 있습니다. 커밋하거나 스태시한 후 커밋을 스쿼시하세요.", "You have uncommitted changes. Commit or stash them, then start the rebase.": "커밋되지 않은 변경 내용이 있습니다. 커밋하거나 스태시한 후 리베이스를 시작하세요.", "You have {0} {1} doesn't, and it has {2} you don't. ": "{1}에는 없는 {0}이 있고, {2}에는 없는 것이 있습니다. ", @@ -2604,6 +2623,7 @@ "dropping commits": "커밋 삭제 중", "each line is not annotated twice. You can turn it back on in Settings.": "각 줄이 두 번 표시되지 않습니다. 설정에서 다시 켤 수 있습니다.", "edit": "편집", + "editing a commit message": "커밋 메시지 수정 중", "either arrow takes it": "어느 화살표로도 가져올 수 있음", "every worktree's folder is still there.": "모든 작업 폴더의 폴더가 여전히 있습니다.", "everything staged": "스테이징된 모든 내용", @@ -3100,6 +3120,7 @@ "{0} on this branch only": "이 브랜치에서만 {0}", "{0} on this file": "이 파일의 {0}", "{0} on {1}": "{1}의 {0}", + "{0} on {1} gets the message below.": "{1}의 {0}에 아래 메시지가 적용됩니다.", "{0} on {1} not pulled yet.": "{1}의 {0}이 아직 풀되지 않았습니다.", "{0} on {1}/{2} yet: {3} pushed first.": "{1}/{2}에 {0}이 아직 없음: {3}이 먼저 푸시됨.", "{0} or ": "{0} 또는 ", diff --git a/apps/extension/l10n/bundle.l10n.pl.json b/apps/extension/l10n/bundle.l10n.pl.json index 9c7640d4..8d5339a7 100644 --- a/apps/extension/l10n/bundle.l10n.pl.json +++ b/apps/extension/l10n/bundle.l10n.pl.json @@ -304,6 +304,7 @@ "Already at the oldest revision": "Już na najstarszej rewizji", "Already merged in the file, outside the conflict markers (by git, or by hand): check it": "Już scalone w pliku, poza znacznikami konfliktu (przez git albo ręcznie): sprawdź to", "Already on {0}": "Już na {0}", + "Already pushed. Editing its message would rewrite history other people have. The next push will need to be a force push.": "Już wypchnięte. Zmiana jego treści przepisałaby historię, którą mają inni. Następny push będzie musiał być force push.", "Already pushed. {0} it would rewrite history other people have.": "Już wypchnięte. {0} przepisałoby historię, którą mają inni.", "Already rebased commits": "Już zrebase'owane commity", "Already rebased commits and commits from main": "Już zrebase'owane commity i commity z main", @@ -538,6 +539,7 @@ "Commit graph": "Graf commitów", "Commit list": "Lista commitów", "Commit message": "Treść commita", + "Commit message changed.": "Treść commita zmieniona.", "Commit or stash {0}, then pull again.": "Zatwierdź albo zapisz w schowku {0}, a potem zrób pull ponownie.", "Commit something first, then open a pull request from its branch.": "Najpierw coś zatwierdź, a potem otwórz pull request z jego brancha.", "Commit title": "Tytuł commita", @@ -622,6 +624,8 @@ "Could not write the rebase plan": "Nie udało się zapisać planu rebase", "Couldn't abort the rebase.": "Nie udało się przerwać rebase.", "Couldn't bring the conflict in {0} back.": "Nie udało się przywrócić konfliktu w {0}.", + "Couldn't change the commit message.": "Nie udało się zmienić treści commita.", + "Couldn't change the commit message: {0}": "Nie udało się zmienić treści commita: {0}", "Couldn't check out PR #{0}: {1}": "Nie udało się przełączyć na PR #{0}: {1}", "Couldn't compare the branches": "Nie udało się porównać branchy", "Couldn't compare {0} with {1}.": "Nie udało się porównać {0} z {1}.", @@ -839,9 +843,16 @@ "Dropping {0} stopped and needs you — continue the rebase, or abort it to put the branch back as it was.": "Odrzucanie {0} zatrzymało się i wymaga Twojej decyzji — kontynuuj rebase albo przerwij go, aby przywrócić branch do stanu poprzedniego.", "Drop…": "Odrzuć…", "Edit": "Edytuj", + "Edit Message": "Zmień treść commita", + "Edit Message…": "Zmień treść commita…", "Edit URL": "Edytuj URL", "Edit URL of {0}": "Edytuj URL {0}", + "Edit and move those branches": "Zmień treść i przenieś te branche", + "Edit commit message": "Zmień treść commita", + "Edit on this branch only": "Zmień treść tylko na tym branchu", "Edit result": "Edytuj wynik", + "Editing the message hit a conflict while replaying a later commit. Resolve it and continue the rebase — or abort to put the branch back as it was.": "Zmiana treści natrafiła na konflikt podczas odtwarzania późniejszego commita. Rozwiąż go i kontynuuj rebase — albo przerwij, aby przywrócić branch do stanu poprzedniego.", + "Editing the message stopped and needs you — continue the rebase, or abort it to put the branch back as it was.": "Zmiana treści zatrzymała się i wymaga Twojej decyzji — kontynuuj rebase albo przerwij go, aby przywrócić branch do stanu poprzedniego.", "Enable LM Studio's local server (Developer ▸ Start Server), then load a model.": "Włącz lokalny serwer LM Studio (Developer ▸ Start Server), a potem wczytaj model.", "Encrypted at rest in GitStudio's own store — not your OS keychain, so it never raises a password prompt. The key stays host-side and is never sent to a webview.": "Szyfrowane w spoczynku we własnym magazynie GitStudio — nie w pęku kluczy systemu, więc nigdy nie pojawia się monit o hasło. Klucz pozostaje po stronie hosta i nigdy nie jest wysyłany do webview.", "Errored": "Błąd", @@ -1294,6 +1305,7 @@ "Move the branch and DISCARD every working-tree and staged change.": "Przenieś branch i ODRZUĆ każdą zmianę w drzewie roboczym i przygotowaną.", "Move the branch, keep the working tree, unstage everything. Git's default.": "Przenieś branch, zachowaj drzewo robocze, usuń wszystko z indeksu. Domyślne ustawienie gita.", "Move the branch. Keep your working tree AND everything staged.": "Przenieś branch. Zachowaj drzewo robocze ORAZ wszystko, co jest przygotowane.", + "Move the branches on rewritten commits too?": "Przenieść też branche na przepisanych commitach?", "Move the current branch back to this commit.": "Przenieś aktualny branch z powrotem do tego commita.", "Move the selected commits down": "Przenieś wybrane commity niżej", "Move the selected commits down (Alt+Down)": "Przenieś wybrane commity niżej (Alt+Dół)", @@ -1786,6 +1798,7 @@ "Reorder this branch only": "Zmień kolejność tylko tego brancha", "Reorder {0} commits": "Zmień kolejność commitów: {0}", "Reorder {0} commits?": "Zmienić kolejność commitów: {0}?", + "Reordering": "Zmiana kolejności", "Reordering stops at a merge — moving a commit past one would flatten it.": "Zmiana kolejności zatrzymuje się na scaleniu — przesunięcie commita za nim by je spłaszczyło.", "Replace and stage": "Zamień i przygotuj", "Replace the file with {0} and stage it": "Zamień plik na {0} i przygotuj go", @@ -2116,6 +2129,8 @@ "Test failed.": "Test nie powiódł się.", "That change is no longer there — the file moved underneath. Refresh and try again.": "Tej zmiany już tam nie ma — plik się przesunął. Odśwież i spróbuj ponownie.", "That commit is too far down the branch to drop from here. Start an interactive rebase from it instead.": "Ten commit jest zbyt daleko na branchu, aby go stąd odrzucić. Zacznij od niego rebase interaktywny.", + "That commit is too far down the branch to edit from here. Start an interactive rebase instead.": "Ten commit jest zbyt daleko na branchu, aby zmienić jego treść stąd. Zacznij zamiast tego rebase interaktywny.", + "That commit isn't on the current branch, so its message can't be edited from here.": "Ten commit nie jest na aktualnym branchu, więc nie można zmienić jego treści stąd.", "That commit isn't on the current branch, so there's nothing to drop it from.": "Ten commit nie jest na aktualnym branchu, więc nie ma go z czego odrzucić.", "That isn't a drop this app made.": "To nie jest odrzucenie wykonane przez tę aplikację.", "That isn't a stash this app recorded.": "To nie jest schowek zapisany przez tę aplikację.", @@ -2128,6 +2143,7 @@ "That stash is no longer in the repository.": "Tego schowka nie ma już w repozytorium.", "That stash no longer exists.": "Ten schowek już nie istnieje.", "That's a merge commit — dropping it would flatten the history it joined. Revert it instead.": "To commit scalający — jego odrzucenie spłaszczyłoby historię, którą połączył. Zamiast tego go odwróć.", + "That's a merge commit — editing its message would flatten the history it joined. Use an interactive rebase that keeps merges instead.": "To commit scalający — zmiana jego treści spłaszczyłaby historię, którą połączył. Zamiast tego użyj rebase interaktywnego, który zachowuje scalenia.", "That's the only commit on the branch — dropping it would leave nothing.": "To jedyny commit na branchu — jego odrzucenie nie zostawiłoby nic.", "The AI had nothing to say about this change": "AI nie miało nic do powiedzenia o tej zmianie", "The Anthropic API key is missing or invalid. Run “GitStudio: Set Anthropic API Key…”.": "Klucz API Anthropic jest brakujący albo nieprawidłowy. Uruchom „GitStudio: Set Anthropic API Key…”.", @@ -2159,6 +2175,7 @@ "The commit being cherry-picked: {0} “{1}”": "Commit, na którym wykonywany jest cherry-pick: {0} „{1}”", "The commit is": "Commit jest", "The commit is added to {0} as one new commit.": "Commit jest dodawany do {0} jako jeden nowy commit.", + "The commit needs a message.": "Commit potrzebuje treści.", "The commits HEAD has that {0} does not are rewritten on top of it, so they get new shas. HEAD is on no branch, so they are on no branch either: create a branch from them to keep them. Undo can take you back.": "Commity, które ma HEAD, a których nie ma {0}, są przepisywane na jego wierzchu, więc dostają nowe SHA. HEAD nie jest na żadnym branchu, więc one też nie są: utwórz z nich branch, aby je zachować. Undo może Cię przywrócić.", "The conflict is back, but {0} couldn't be restored on disk.": "Konflikt jest przywrócony, ale nie udało się przywrócić {0} na dysku.", "The conflicted files are back to their last committed versions.": "Pliki z konfliktem wróciły do swoich ostatnich zatwierdzonych wersji.", @@ -2298,7 +2315,8 @@ "This window has {0} open, so it can't be removed from here — its folder would be deleted from under the window. Remove it from another window, or open something else in this one first.": "To okno ma otwarty {0}, więc nie można go tu usunąć — jego folder zostałby usunięty pod oknem. Usuń go z innego okna albo najpierw otwórz coś innego w tym.", "Those are all the commits on the branch — dropping them would leave nothing.": "To wszystkie commity na branchu — ich odrzucenie nie zostawiłoby nic.", "Those changes are no longer there — refresh and try again.": "Tych zmian już tam nie ma — odśwież i spróbuj ponownie.", - "Those commits are too far down the branch to {0} from here. Start an interactive rebase instead.": "Te commity są zbyt daleko na branchu, aby je stąd {0}. Zacznij zamiast tego rebase interaktywny.", + "Those commits are too far down the branch to drop from here. Start an interactive rebase instead.": "Te commity są zbyt daleko na branchu, aby je stąd odrzucić. Zacznij zamiast tego rebase interaktywny.", + "Those commits are too far down the branch to squash from here. Start an interactive rebase instead.": "Te commity są zbyt daleko na branchu, aby zrobić z nich squash stąd. Zacznij zamiast tego rebase interaktywny.", "Throw your pending comments away without sending them": "Odrzuć swoje komentarze w toku bez ich wysyłania", "Tidy up your recent commits before you push.": "Uporządkuj swoje ostatnie commity przed push.", "Timed out": "Przekroczono czas", @@ -2434,6 +2452,7 @@ "You have uncommitted changes": "Masz niezatwierdzone zmiany", "You have uncommitted changes. Commit or stash them, then drop the commit.": "Masz niezatwierdzone zmiany. Zatwierdź albo zapisz je w schowku, a potem odrzuć commit.", "You have uncommitted changes. Commit or stash them, then drop the commits.": "Masz niezatwierdzone zmiany. Zatwierdź albo zapisz je w schowku, a potem odrzuć commity.", + "You have uncommitted changes. Commit or stash them, then edit the message.": "Masz niezatwierdzone zmiany. Zatwierdź albo zapisz je w schowku, a potem zmień treść commita.", "You have uncommitted changes. Commit or stash them, then squash the commits.": "Masz niezatwierdzone zmiany. Zatwierdź albo zapisz je w schowku, a potem zsquashuj commity.", "You have uncommitted changes. Commit or stash them, then start the rebase.": "Masz niezatwierdzone zmiany. Zatwierdź albo zapisz je w schowku, a potem zacznij rebase.", "You have {0} {1} doesn't, and it has {2} you don't. ": "Masz {0}, których {1} nie ma, a ono ma {2}, których Ty nie masz. ", @@ -2604,6 +2623,7 @@ "dropping commits": "odrzucanie commitów", "each line is not annotated twice. You can turn it back on in Settings.": "każda linia nie jest anotowana dwukrotnie. Możesz to włączyć z powrotem w Ustawieniach.", "edit": "edytuj", + "editing a commit message": "zmiana treści commita", "either arrow takes it": "obie strzałki to przyjmują", "every worktree's folder is still there.": "folder każdego worktree wciąż istnieje.", "everything staged": "wszystko przygotowane", @@ -3100,6 +3120,7 @@ "{0} on this branch only": "{0} tylko na tym branchu", "{0} on this file": "{0} na tym pliku", "{0} on {1}": "{0} na {1}", + "{0} on {1} gets the message below.": "{0} na {1} otrzyma treść poniżej.", "{0} on {1} not pulled yet.": "{0} na {1} jeszcze nie pociągnięte (pull).", "{0} on {1}/{2} yet: {3} pushed first.": "{0} na {1}/{2} jeszcze nie: najpierw wypchnięte {3}.", "{0} or ": "{0} albo ", diff --git a/apps/extension/l10n/bundle.l10n.pt-br.json b/apps/extension/l10n/bundle.l10n.pt-br.json index 942a92ee..5bfcfb27 100644 --- a/apps/extension/l10n/bundle.l10n.pt-br.json +++ b/apps/extension/l10n/bundle.l10n.pt-br.json @@ -304,6 +304,7 @@ "Already at the oldest revision": "Já na revisão mais antiga", "Already merged in the file, outside the conflict markers (by git, or by hand): check it": "Já mesclado no arquivo, fora dos marcadores de conflito (pelo git, ou manualmente): confira", "Already on {0}": "Já em {0}", + "Already pushed. Editing its message would rewrite history other people have. The next push will need to be a force push.": "Já foi enviado por push. Reescrever a mensagem dele reescreveria histórico que outras pessoas têm. O próximo push vai precisar ser um push forçado.", "Already pushed. {0} it would rewrite history other people have.": "Já foi enviado por push. {0} isso reescreveria histórico que outras pessoas têm.", "Already rebased commits": "Commits já rebaseados", "Already rebased commits and commits from main": "Commits já rebaseados e commits de main", @@ -538,6 +539,7 @@ "Commit graph": "Grafo de commits", "Commit list": "Lista de commits", "Commit message": "Mensagem de commit", + "Commit message changed.": "Mensagem do commit alterada.", "Commit or stash {0}, then pull again.": "Faça commit ou guarde no stash {0}, e depois faça pull de novo.", "Commit something first, then open a pull request from its branch.": "Faça um commit primeiro, depois abra uma pull request a partir do branch dele.", "Commit title": "Título do commit", @@ -622,6 +624,8 @@ "Could not write the rebase plan": "Não foi possível gravar o plano de rebase", "Couldn't abort the rebase.": "Não foi possível abortar o rebase.", "Couldn't bring the conflict in {0} back.": "Não foi possível trazer de volta o conflito em {0}.", + "Couldn't change the commit message.": "Não foi possível alterar a mensagem do commit.", + "Couldn't change the commit message: {0}": "Não foi possível alterar a mensagem do commit: {0}", "Couldn't check out PR #{0}: {1}": "Não foi possível fazer checkout da PR #{0}: {1}", "Couldn't compare the branches": "Não foi possível comparar os branches", "Couldn't compare {0} with {1}.": "Não foi possível comparar {0} com {1}.", @@ -839,9 +843,16 @@ "Dropping {0} stopped and needs you — continue the rebase, or abort it to put the branch back as it was.": "Descartar {0} parou e precisa de você — continue o rebase, ou aborte-o para devolver o branch como estava.", "Drop…": "Descartar…", "Edit": "Editar", + "Edit Message": "Reescrever Mensagem", + "Edit Message…": "Reescrever Mensagem…", "Edit URL": "Editar URL", "Edit URL of {0}": "Editar URL de {0}", + "Edit and move those branches": "Reescrever e mover esses branches", + "Edit commit message": "Reescrever mensagem do commit", + "Edit on this branch only": "Reescrever apenas neste branch", "Edit result": "Editar resultado", + "Editing the message hit a conflict while replaying a later commit. Resolve it and continue the rebase — or abort to put the branch back as it was.": "Reescrever a mensagem encontrou um conflito ao reaplicar um commit posterior. Resolva-o e continue o rebase — ou aborte para devolver o branch como estava.", + "Editing the message stopped and needs you — continue the rebase, or abort it to put the branch back as it was.": "Reescrever a mensagem parou e precisa de você — continue o rebase, ou aborte-o para devolver o branch como estava.", "Enable LM Studio's local server (Developer ▸ Start Server), then load a model.": "Ative o servidor local do LM Studio (Developer ▸ Start Server) e depois carregue um modelo.", "Encrypted at rest in GitStudio's own store — not your OS keychain, so it never raises a password prompt. The key stays host-side and is never sent to a webview.": "Criptografado em repouso no próprio armazenamento do GitStudio — não no keychain do seu sistema, então nunca gera um pedido de senha. A chave fica no host e nunca é enviada a uma webview.", "Errored": "Com erro", @@ -1294,6 +1305,7 @@ "Move the branch and DISCARD every working-tree and staged change.": "Mover o branch e DESCARTAR toda alteração na árvore de trabalho e em stage.", "Move the branch, keep the working tree, unstage everything. Git's default.": "Mover o branch, manter a árvore de trabalho, remover tudo do stage. Padrão do git.", "Move the branch. Keep your working tree AND everything staged.": "Mover o branch. Manter sua árvore de trabalho E tudo que está em stage.", + "Move the branches on rewritten commits too?": "Mover também os branches nos commits reescritos?", "Move the current branch back to this commit.": "Mover o branch atual de volta para este commit.", "Move the selected commits down": "Mover os commits selecionados para baixo", "Move the selected commits down (Alt+Down)": "Mover os commits selecionados para baixo (Alt+Down)", @@ -1786,6 +1798,7 @@ "Reorder this branch only": "Reordenar apenas este branch", "Reorder {0} commits": "Reordenar {0} commits", "Reorder {0} commits?": "Reordenar {0} commits?", + "Reordering": "Reordenando", "Reordering stops at a merge — moving a commit past one would flatten it.": "A reordenação para em uma mesclagem — mover um commit além de uma a aplanaria.", "Replace and stage": "Substituir e colocar em stage", "Replace the file with {0} and stage it": "Substituir o arquivo por {0} e colocá-lo em stage", @@ -2116,6 +2129,8 @@ "Test failed.": "O teste falhou.", "That change is no longer there — the file moved underneath. Refresh and try again.": "Essa alteração não está mais lá — o arquivo se moveu por baixo. Atualize e tente novamente.", "That commit is too far down the branch to drop from here. Start an interactive rebase from it instead.": "Esse commit está muito abaixo no branch para ser descartado daqui. Em vez disso, inicie um rebase interativo a partir dele.", + "That commit is too far down the branch to edit from here. Start an interactive rebase instead.": "Esse commit está muito abaixo no branch para reescrevê-lo a partir daqui. Inicie um rebase interativo.", + "That commit isn't on the current branch, so its message can't be edited from here.": "Esse commit não está no branch atual, então sua mensagem não pode ser reescrita a partir daqui.", "That commit isn't on the current branch, so there's nothing to drop it from.": "Esse commit não está no branch atual, então não há como descartá-lo dele.", "That isn't a drop this app made.": "Esse não é um descarte que este app fez.", "That isn't a stash this app recorded.": "Esse não é um stash que este app registrou.", @@ -2128,6 +2143,7 @@ "That stash is no longer in the repository.": "Aquele stash não está mais no repositório.", "That stash no longer exists.": "Aquele stash não existe mais.", "That's a merge commit — dropping it would flatten the history it joined. Revert it instead.": "Esse é um commit de mesclagem — descartá-lo aplanaria o histórico que ele uniu. Em vez disso, faça revert dele.", + "That's a merge commit — editing its message would flatten the history it joined. Use an interactive rebase that keeps merges instead.": "Esse é um commit de mesclagem — reescrever a mensagem dele aplanaria o histórico que ele uniu. Em vez disso, use um rebase interativo que preserve as mesclagens.", "That's the only commit on the branch — dropping it would leave nothing.": "Esse é o único commit no branch — descartá-lo não deixaria nada.", "The AI had nothing to say about this change": "A IA não teve nada a dizer sobre esta alteração", "The Anthropic API key is missing or invalid. Run “GitStudio: Set Anthropic API Key…”.": "A chave de API da Anthropic está ausente ou inválida. Execute “GitStudio: Set Anthropic API Key…”.", @@ -2159,6 +2175,7 @@ "The commit being cherry-picked: {0} “{1}”": "O commit sendo cherry-picked: {0} “{1}”", "The commit is": "O commit é", "The commit is added to {0} as one new commit.": "O commit é adicionado a {0} como um novo commit.", + "The commit needs a message.": "O commit precisa de uma mensagem.", "The commits HEAD has that {0} does not are rewritten on top of it, so they get new shas. HEAD is on no branch, so they are on no branch either: create a branch from them to keep them. Undo can take you back.": "Os commits que o HEAD tem e que {0} não tem são reescritos em cima dele, então recebem novos shas. O HEAD não está em nenhum branch, então eles também não estão em nenhum branch: crie um branch a partir deles para mantê-los. Desfazer pode levá-lo de volta.", "The conflict is back, but {0} couldn't be restored on disk.": "O conflito voltou, mas {0} não pôde ser restaurado no disco.", "The conflicted files are back to their last committed versions.": "Os arquivos em conflito voltaram para suas últimas versões commitadas.", @@ -2298,7 +2315,8 @@ "This window has {0} open, so it can't be removed from here — its folder would be deleted from under the window. Remove it from another window, or open something else in this one first.": "Esta janela tem {0} aberto, então ele não pode ser removido daqui — a pasta dele seria excluída debaixo da janela. Remova-o a partir de outra janela, ou abra outra coisa nesta antes.", "Those are all the commits on the branch — dropping them would leave nothing.": "Esses são todos os commits do branch — descartá-los não deixaria nada.", "Those changes are no longer there — refresh and try again.": "Essas alterações não estão mais lá — atualize e tente novamente.", - "Those commits are too far down the branch to {0} from here. Start an interactive rebase instead.": "Esses commits estão muito abaixo no branch para {0} a partir daqui. Inicie um rebase interativo.", + "Those commits are too far down the branch to drop from here. Start an interactive rebase instead.": "Esses commits estão muito abaixo no branch para descartá-los a partir daqui. Inicie um rebase interativo.", + "Those commits are too far down the branch to squash from here. Start an interactive rebase instead.": "Esses commits estão muito abaixo no branch para fazer squash a partir daqui. Inicie um rebase interativo.", "Throw your pending comments away without sending them": "Descartar seus comentários pendentes sem enviá-los", "Tidy up your recent commits before you push.": "Organize seus commits recentes antes de fazer push.", "Timed out": "Tempo esgotado", @@ -2434,6 +2452,7 @@ "You have uncommitted changes": "Você tem alterações não commitadas", "You have uncommitted changes. Commit or stash them, then drop the commit.": "Você tem alterações não commitadas. Faça o commit delas ou guarde-as no stash, depois descarte o commit.", "You have uncommitted changes. Commit or stash them, then drop the commits.": "Você tem alterações não commitadas. Faça o commit delas ou guarde-as no stash, depois descarte os commits.", + "You have uncommitted changes. Commit or stash them, then edit the message.": "Você tem alterações não commitadas. Faça o commit delas ou guarde-as no stash, depois reescreva a mensagem.", "You have uncommitted changes. Commit or stash them, then squash the commits.": "Você tem alterações não commitadas. Faça o commit delas ou guarde-as no stash, depois faça o squash dos commits.", "You have uncommitted changes. Commit or stash them, then start the rebase.": "Você tem alterações não commitadas. Faça o commit delas ou guarde-as no stash, depois inicie o rebase.", "You have {0} {1} doesn't, and it has {2} you don't. ": "Você tem {0} que {1} não tem, e ele tem {2} que você não tem. ", @@ -2604,6 +2623,7 @@ "dropping commits": "descartando commits", "each line is not annotated twice. You can turn it back on in Settings.": "cada linha não é anotada duas vezes. Você pode reativar isso em Configurações.", "edit": "editar", + "editing a commit message": "reescrevendo a mensagem de um commit", "either arrow takes it": "qualquer uma das setas o leva", "every worktree's folder is still there.": "a pasta de cada worktree ainda está lá.", "everything staged": "tudo em stage", @@ -3100,6 +3120,7 @@ "{0} on this branch only": "{0} apenas neste branch", "{0} on this file": "{0} neste arquivo", "{0} on {1}": "{0} em {1}", + "{0} on {1} gets the message below.": "{0} em {1} recebe a mensagem abaixo.", "{0} on {1} not pulled yet.": "{0} em {1} ainda não puxado(s) por pull.", "{0} on {1}/{2} yet: {3} pushed first.": "{0} em {1}/{2} ainda: {3} enviado por push primeiro.", "{0} or ": "{0} ou ", diff --git a/apps/extension/l10n/bundle.l10n.ru.json b/apps/extension/l10n/bundle.l10n.ru.json index c904dc57..e87a4210 100644 --- a/apps/extension/l10n/bundle.l10n.ru.json +++ b/apps/extension/l10n/bundle.l10n.ru.json @@ -304,6 +304,7 @@ "Already at the oldest revision": "Уже на самой старой ревизии", "Already merged in the file, outside the conflict markers (by git, or by hand): check it": "Уже слито в файле, вне маркеров конфликта (git или вручную): проверьте это", "Already on {0}": "Уже на {0}", + "Already pushed. Editing its message would rewrite history other people have. The next push will need to be a force push.": "Уже отправлено. Переформулирование его сообщения переписало бы историю, которая есть у других. Следующей отправке потребуется быть принудительной.", "Already pushed. {0} it would rewrite history other people have.": "Уже отправлено. {0} переписало бы историю, которая есть у других.", "Already rebased commits": "Уже перебазированные коммиты", "Already rebased commits and commits from main": "Уже перебазированные коммиты и коммиты из main", @@ -538,6 +539,7 @@ "Commit graph": "Граф коммитов", "Commit list": "Список коммитов", "Commit message": "Сообщение коммита", + "Commit message changed.": "Сообщение коммита изменено.", "Commit or stash {0}, then pull again.": "Закоммитьте или спрячьте {0}, затем выполните pull снова.", "Commit something first, then open a pull request from its branch.": "Сначала сделайте коммит, затем откройте pull request из его ветки.", "Commit title": "Заголовок коммита", @@ -622,6 +624,8 @@ "Could not write the rebase plan": "Не удалось записать план перебазирования", "Couldn't abort the rebase.": "Не удалось прервать перебазирование.", "Couldn't bring the conflict in {0} back.": "Не удалось вернуть конфликт в {0}.", + "Couldn't change the commit message.": "Не удалось изменить сообщение коммита.", + "Couldn't change the commit message: {0}": "Не удалось изменить сообщение коммита: {0}", "Couldn't check out PR #{0}: {1}": "Не удалось извлечь PR #{0}: {1}", "Couldn't compare the branches": "Не удалось сравнить ветки", "Couldn't compare {0} with {1}.": "Не удалось сравнить {0} с {1}.", @@ -839,9 +843,16 @@ "Dropping {0} stopped and needs you — continue the rebase, or abort it to put the branch back as it was.": "Отбрасывание {0} остановилось и требует вашего решения — продолжите перебазирование или прервите его, чтобы вернуть ветку как было.", "Drop…": "Отбросить…", "Edit": "Изменить", + "Edit Message": "Переформулировать сообщение", + "Edit Message…": "Переформулировать сообщение…", "Edit URL": "Изменить URL", "Edit URL of {0}": "Изменить URL {0}", + "Edit and move those branches": "Переформулировать и переместить эти ветки", + "Edit commit message": "Переформулировать сообщение коммита", + "Edit on this branch only": "Переформулировать только в этой ветке", "Edit result": "Изменить результат", + "Editing the message hit a conflict while replaying a later commit. Resolve it and continue the rebase — or abort to put the branch back as it was.": "Переформулирование сообщения привело к конфликту при повторном применении более позднего коммита. Разрешите его и продолжите перебазирование — или прервите, чтобы вернуть ветку как было.", + "Editing the message stopped and needs you — continue the rebase, or abort it to put the branch back as it was.": "Переформулирование сообщения остановилось и требует вашего решения — продолжите перебазирование или прервите его, чтобы вернуть ветку как было.", "Enable LM Studio's local server (Developer ▸ Start Server), then load a model.": "Включите локальный сервер LM Studio (Developer ▸ Start Server), затем загрузите модель.", "Encrypted at rest in GitStudio's own store — not your OS keychain, so it never raises a password prompt. The key stays host-side and is never sent to a webview.": "Зашифровано в собственном хранилище GitStudio — не в брелоке ключей ОС, поэтому запрос пароля никогда не появляется. Ключ остаётся на стороне хоста и никогда не отправляется в webview.", "Errored": "Ошибка", @@ -1294,6 +1305,7 @@ "Move the branch and DISCARD every working-tree and staged change.": "Переместить ветку и ОТКЛОНИТЬ все изменения в рабочем дереве и индексе.", "Move the branch, keep the working tree, unstage everything. Git's default.": "Переместить ветку, сохранить рабочее дерево, убрать всё из индекса. Выбор git по умолчанию.", "Move the branch. Keep your working tree AND everything staged.": "Переместить ветку. Сохранить рабочее дерево И всё, что в индексе.", + "Move the branches on rewritten commits too?": "Переместить также ветки на переписанных коммитах?", "Move the current branch back to this commit.": "Переместить текущую ветку обратно к этому коммиту.", "Move the selected commits down": "Переместить выбранные коммиты вниз", "Move the selected commits down (Alt+Down)": "Переместить выбранные коммиты вниз (Alt+Down)", @@ -1786,6 +1798,7 @@ "Reorder this branch only": "Изменить порядок только этой ветки", "Reorder {0} commits": "Изменить порядок {0} коммитов", "Reorder {0} commits?": "Изменить порядок {0} коммитов?", + "Reordering": "Изменение порядка", "Reordering stops at a merge — moving a commit past one would flatten it.": "Изменение порядка останавливается на слиянии — перемещение коммита за него сплющило бы его.", "Replace and stage": "Заменить и добавить в индекс", "Replace the file with {0} and stage it": "Заменить файл на {0} и добавить в индекс", @@ -2116,6 +2129,8 @@ "Test failed.": "Тест завершился ошибкой.", "That change is no longer there — the file moved underneath. Refresh and try again.": "Этого изменения больше нет — файл сдвинулся. Обновите и попробуйте снова.", "That commit is too far down the branch to drop from here. Start an interactive rebase from it instead.": "Этот коммит слишком далеко в ветке, чтобы отбросить его отсюда. Вместо этого начните интерактивное перебазирование с него.", + "That commit is too far down the branch to edit from here. Start an interactive rebase instead.": "Этот коммит слишком далеко в ветке, чтобы переформулировать его отсюда. Вместо этого начните интерактивное перебазирование.", + "That commit isn't on the current branch, so its message can't be edited from here.": "Этот коммит не находится на текущей ветке, поэтому его сообщение нельзя переформулировать отсюда.", "That commit isn't on the current branch, so there's nothing to drop it from.": "Этот коммит не на текущей ветке, поэтому нечего отбрасывать.", "That isn't a drop this app made.": "Это не отбрасывание, сделанное этим приложением.", "That isn't a stash this app recorded.": "Это не тайник, записанный этим приложением.", @@ -2128,6 +2143,7 @@ "That stash is no longer in the repository.": "Этого тайника больше нет в репозитории.", "That stash no longer exists.": "Этого тайника больше не существует.", "That's a merge commit — dropping it would flatten the history it joined. Revert it instead.": "Это коммит слияния — отбрасывание сплющило бы историю, которую он объединил. Вместо этого обратите его.", + "That's a merge commit — editing its message would flatten the history it joined. Use an interactive rebase that keeps merges instead.": "Это коммит слияния — переформулирование его сообщения сплющило бы историю, которую он объединил. Вместо этого используйте интерактивное перебазирование, которое сохраняет слияния.", "That's the only commit on the branch — dropping it would leave nothing.": "Это единственный коммит на ветке — отбрасывание ничего не оставит.", "The AI had nothing to say about this change": "AI не нашёл, что сказать об этом изменении", "The Anthropic API key is missing or invalid. Run “GitStudio: Set Anthropic API Key…”.": "API-ключ Anthropic отсутствует или недействителен. Выполните «GitStudio: Set Anthropic API Key…».", @@ -2159,6 +2175,7 @@ "The commit being cherry-picked: {0} “{1}”": "Коммит, к которому применяется cherry-pick: {0} «{1}»", "The commit is": "Коммит", "The commit is added to {0} as one new commit.": "Коммит добавляется в {0} как один новый коммит.", + "The commit needs a message.": "Коммиту нужно сообщение.", "The commits HEAD has that {0} does not are rewritten on top of it, so they get new shas. HEAD is on no branch, so they are on no branch either: create a branch from them to keep them. Undo can take you back.": "Коммиты, которые есть у HEAD, но нет у {0}, переписываются поверх него, поэтому получают новые SHA. HEAD не на ветке, поэтому и они не на ветке: создайте из них ветку, чтобы сохранить их. Отмена может вернуть вас назад.", "The conflict is back, but {0} couldn't be restored on disk.": "Конфликт возвращён, но {0} не удалось восстановить на диске.", "The conflicted files are back to their last committed versions.": "Конфликтующие файлы возвращены к последним закоммиченным версиям.", @@ -2298,7 +2315,8 @@ "This window has {0} open, so it can't be removed from here — its folder would be deleted from under the window. Remove it from another window, or open something else in this one first.": "Это окно открывает {0}, поэтому его нельзя удалить отсюда — его папка была бы удалена из-под окна. Удалите его из другого окна, либо сначала откройте в этом что-то другое.", "Those are all the commits on the branch — dropping them would leave nothing.": "Это все коммиты на ветке — их отбрасывание ничего не оставит.", "Those changes are no longer there — refresh and try again.": "Этих изменений больше нет — обновите и попробуйте снова.", - "Those commits are too far down the branch to {0} from here. Start an interactive rebase instead.": "Эти коммиты слишком далеко в ветке, чтобы {0} их отсюда. Вместо этого начните интерактивное перебазирование.", + "Those commits are too far down the branch to drop from here. Start an interactive rebase instead.": "Эти коммиты слишком далеко в ветке, чтобы отбросить их отсюда. Вместо этого начните интерактивное перебазирование.", + "Those commits are too far down the branch to squash from here. Start an interactive rebase instead.": "Эти коммиты слишком далеко в ветке, чтобы объединить их отсюда. Вместо этого начните интерактивное перебазирование.", "Throw your pending comments away without sending them": "Отбросить ваши комментарии в ожидании без отправки", "Tidy up your recent commits before you push.": "Приведите в порядок свои недавние коммиты перед отправкой.", "Timed out": "Истекло время ожидания", @@ -2434,6 +2452,7 @@ "You have uncommitted changes": "У вас есть незафиксированные изменения", "You have uncommitted changes. Commit or stash them, then drop the commit.": "У вас есть незафиксированные изменения. Закоммитьте или спрячьте их, затем отбросьте коммит.", "You have uncommitted changes. Commit or stash them, then drop the commits.": "У вас есть незафиксированные изменения. Закоммитьте или спрячьте их, затем отбросьте коммиты.", + "You have uncommitted changes. Commit or stash them, then edit the message.": "У вас есть незафиксированные изменения. Закоммитьте или спрячьте их, затем переформулируйте сообщение.", "You have uncommitted changes. Commit or stash them, then squash the commits.": "У вас есть незафиксированные изменения. Закоммитьте или спрячьте их, затем объедините коммиты.", "You have uncommitted changes. Commit or stash them, then start the rebase.": "У вас есть незафиксированные изменения. Закоммитьте или спрячьте их, затем начните перебазирование.", "You have {0} {1} doesn't, and it has {2} you don't. ": "У вас есть {0}, которых нет у {1}, а у неё есть {2}, которых нет у вас. ", @@ -2604,6 +2623,7 @@ "dropping commits": "отбрасывание коммитов", "each line is not annotated twice. You can turn it back on in Settings.": "каждая строка не аннотируется дважды. Вы можете включить это обратно в настройках.", "edit": "изменить", + "editing a commit message": "изменение сообщения коммита", "either arrow takes it": "любая стрелка принимает это", "every worktree's folder is still there.": "папка каждого рабочего каталога всё ещё на месте.", "everything staged": "всё, что в индексе", @@ -3100,6 +3120,7 @@ "{0} on this branch only": "{0} только на этой ветке", "{0} on this file": "{0} в этом файле", "{0} on {1}": "{0} на {1}", + "{0} on {1} gets the message below.": "{0} на {1} получит сообщение ниже.", "{0} on {1} not pulled yet.": "{0} на {1} пока не получено.", "{0} on {1}/{2} yet: {3} pushed first.": "{0} на {1}/{2} пока нет: сначала {3} отправляется.", "{0} or ": "{0} или ", diff --git a/apps/extension/l10n/bundle.l10n.tr.json b/apps/extension/l10n/bundle.l10n.tr.json index 515be5fe..37e82aba 100644 --- a/apps/extension/l10n/bundle.l10n.tr.json +++ b/apps/extension/l10n/bundle.l10n.tr.json @@ -304,6 +304,7 @@ "Already at the oldest revision": "Zaten en eski revizyondasınız", "Already merged in the file, outside the conflict markers (by git, or by hand): check it": "Dosyada çakışma işaretlerinin dışında zaten birleştirilmiş (git tarafından veya elle): işaretleyin", "Already on {0}": "Zaten {0}'de", + "Already pushed. Editing its message would rewrite history other people have. The next push will need to be a force push.": "Zaten gönderildi. Mesajını değiştirmek, başkalarında olan geçmişi yeniden yazar. Sonraki gönderme bir zorla gönderme olmalı.", "Already pushed. {0} it would rewrite history other people have.": "Zaten gönderildi. {0}, başkalarında olan geçmişi yeniden yazar.", "Already rebased commits": "Zaten yeniden temellendirilmiş işlemeler", "Already rebased commits and commits from main": "Zaten yeniden temellendirilmiş işlemeler ve main'den işlemeler", @@ -538,6 +539,7 @@ "Commit graph": "İşleme grafiği", "Commit list": "İşleme listesi", "Commit message": "İşleme mesajı", + "Commit message changed.": "İşleme mesajı değiştirildi.", "Commit or stash {0}, then pull again.": "{0}'i işleyin veya zulalayın, sonra yeniden çekin.", "Commit something first, then open a pull request from its branch.": "Önce bir şey işleyin, sonra onun dalından bir çekme isteği açın.", "Commit title": "İşleme başlığı", @@ -622,6 +624,8 @@ "Could not write the rebase plan": "Yeniden temellendirme planı yazılamadı", "Couldn't abort the rebase.": "Yeniden temellendirme iptal edilemedi.", "Couldn't bring the conflict in {0} back.": "{0}'daki çakışma geri getirilemedi.", + "Couldn't change the commit message.": "İşleme mesajı değiştirilemedi.", + "Couldn't change the commit message: {0}": "İşleme mesajı değiştirilemedi: {0}", "Couldn't check out PR #{0}: {1}": "PR #{0} geçişe alınamadı: {1}", "Couldn't compare the branches": "Dallar karşılaştırılamadı", "Couldn't compare {0} with {1}.": "{0}, {1} ile karşılaştırılamadı.", @@ -839,9 +843,16 @@ "Dropping {0} stopped and needs you — continue the rebase, or abort it to put the branch back as it was.": "{0}'ı düşürme durdu ve sizi gerektiriyor — yeniden temellendirmeyi sürdürün veya dalı olduğu haline geri koymak için iptal edin.", "Drop…": "Düşür…", "Edit": "Düzenle", + "Edit Message": "Mesajı Değiştir", + "Edit Message…": "Mesajı Değiştir…", "Edit URL": "URL'yi Düzenle", "Edit URL of {0}": "{0}'ın URL'sini Düzenle", + "Edit and move those branches": "Mesajı değiştir ve o dalları taşı", + "Edit commit message": "İşleme mesajını değiştir", + "Edit on this branch only": "Yalnızca bu dalda mesajı değiştir", "Edit result": "Sonucu düzenle", + "Editing the message hit a conflict while replaying a later commit. Resolve it and continue the rebase — or abort to put the branch back as it was.": "Mesajı değiştirme, sonraki bir işlemeyi yeniden oynatırken bir çakışmaya çarptı. Çözüp yeniden temellendirmeyi sürdürün — veya dalı olduğu haline geri koymak için iptal edin.", + "Editing the message stopped and needs you — continue the rebase, or abort it to put the branch back as it was.": "Mesajı değiştirme durdu ve sizi gerektiriyor — yeniden temellendirmeyi sürdürün veya dalı olduğu haline geri koymak için iptal edin.", "Enable LM Studio's local server (Developer ▸ Start Server), then load a model.": "LM Studio'nun yerel sunucusunu etkinleştirin (Developer ▸ Start Server), sonra bir model yükleyin.", "Encrypted at rest in GitStudio's own store — not your OS keychain, so it never raises a password prompt. The key stays host-side and is never sent to a webview.": "GitStudio'nun kendi deposunda bekleme sırasında şifrelenir — işletim sisteminizin anahtarlığında değil, bu nedenle hiçbir zaman bir parola istemi çıkarmaz. Anahtar host tarafında kalır ve bir web görünümüne asla gönderilmez.", "Errored": "Hata oluştu", @@ -1294,6 +1305,7 @@ "Move the branch and DISCARD every working-tree and staged change.": "Dalı taşı ve her çalışma ağacı ve hazırlanmış değişikliği AT.", "Move the branch, keep the working tree, unstage everything. Git's default.": "Dalı taşı, çalışma ağacını koru, her şeyi hazırlıktan çıkar. Git'in varsayılanı.", "Move the branch. Keep your working tree AND everything staged.": "Dalı taşı. Çalışma ağacınızı VE hazırlanmış her şeyi koru.", + "Move the branches on rewritten commits too?": "Yeniden yazılan işlemelerdeki dallar da taşınsın mı?", "Move the current branch back to this commit.": "Geçerli dalı bu işlemeye geri taşı.", "Move the selected commits down": "Seçili işlemeleri aşağı taşı", "Move the selected commits down (Alt+Down)": "Seçili işlemeleri aşağı taşı (Alt+Aşağı)", @@ -1786,6 +1798,7 @@ "Reorder this branch only": "Yalnızca bu dalı yeniden sırala", "Reorder {0} commits": "{0} işlemeyi yeniden sırala", "Reorder {0} commits?": "{0} işleme yeniden sıralansın mı?", + "Reordering": "Yeniden sıralanıyor", "Reordering stops at a merge — moving a commit past one would flatten it.": "Yeniden sıralama bir birleştirmede durur — bir işlemeyi onun ötesine taşımak onu düzleştirir.", "Replace and stage": "Değiştir ve hazırla", "Replace the file with {0} and stage it": "Dosyayı {0} ile değiştir ve hazırla", @@ -2116,6 +2129,8 @@ "Test failed.": "Test başarısız oldu.", "That change is no longer there — the file moved underneath. Refresh and try again.": "O değişiklik artık orada değil — dosya altından taşındı. Yenileyip yeniden deneyin.", "That commit is too far down the branch to drop from here. Start an interactive rebase from it instead.": "O işleme buradan düşürülemeyecek kadar dalda aşağıda. Bunun yerine ondan bir etkileşimli yeniden temellendirme başlatın.", + "That commit is too far down the branch to edit from here. Start an interactive rebase instead.": "O işleme buradan değiştirilemeyecek kadar dalda aşağıda. Bunun yerine bir etkileşimli yeniden temellendirme başlatın.", + "That commit isn't on the current branch, so its message can't be edited from here.": "O işleme geçerli dalda değil, bu nedenle mesajı buradan değiştirilemez.", "That commit isn't on the current branch, so there's nothing to drop it from.": "O işleme geçerli dalda değil, bu nedenle ondan düşürülecek bir şey yok.", "That isn't a drop this app made.": "Bu, bu uygulamanın yaptığı bir düşürme değil.", "That isn't a stash this app recorded.": "Bu, bu uygulamanın kaydettiği bir zula değil.", @@ -2128,6 +2143,7 @@ "That stash is no longer in the repository.": "O zula artık depoda değil.", "That stash no longer exists.": "O zula artık yok.", "That's a merge commit — dropping it would flatten the history it joined. Revert it instead.": "Bu bir birleştirme işlemesi — onu düşürmek birleştirdiği geçmişi düzleştirir. Bunun yerine geri alın.", + "That's a merge commit — editing its message would flatten the history it joined. Use an interactive rebase that keeps merges instead.": "Bu bir birleştirme işlemesi — mesajını değiştirmek birleştirdiği geçmişi düzleştirir. Bunun yerine birleştirmeleri koruyan bir etkileşimli yeniden temellendirme kullanın.", "That's the only commit on the branch — dropping it would leave nothing.": "Bu, daldaki tek işleme — onu düşürmek hiçbir şey bırakmaz.", "The AI had nothing to say about this change": "Yapay zekanın bu değişiklik hakkında söyleyecek bir şeyi yoktu", "The Anthropic API key is missing or invalid. Run “GitStudio: Set Anthropic API Key…”.": "Anthropic API anahtarı eksik veya geçersiz. “GitStudio: Anthropic API Anahtarını Ayarla…”'yı çalıştırın.", @@ -2159,6 +2175,7 @@ "The commit being cherry-picked: {0} “{1}”": "Seç-alınan işleme: {0} “{1}”", "The commit is": "İşleme şu", "The commit is added to {0} as one new commit.": "İşleme {0}'a bir yeni işleme olarak eklenir.", + "The commit needs a message.": "İşlemenin bir mesaja ihtiyacı var.", "The commits HEAD has that {0} does not are rewritten on top of it, so they get new shas. HEAD is on no branch, so they are on no branch either: create a branch from them to keep them. Undo can take you back.": "HEAD'in sahip olup {0}'ın olmadığı işlemeler onun üzerinde yeniden yazılır, bu nedenle yeni sha'lar alırlar. HEAD hiçbir dalda değil, bu nedenle onlar da hiçbir dalda değil: onları korumak için onlardan bir dal oluşturun. Geri Al sizi geri alabilir.", "The conflict is back, but {0} couldn't be restored on disk.": "Çakışma geri geldi, ancak {0} diskte geri yüklenemedi.", "The conflicted files are back to their last committed versions.": "Çakışan dosyalar son işlenmiş sürümlerine geri döndü.", @@ -2298,7 +2315,8 @@ "This window has {0} open, so it can't be removed from here — its folder would be deleted from under the window. Remove it from another window, or open something else in this one first.": "Bu pencerede {0} açık, bu nedenle buradan kaldırılamaz — klasörü pencerenin altından silinmiş olur. Onu başka bir pencereden kaldırın veya önce bunda başka bir şey açın.", "Those are all the commits on the branch — dropping them would leave nothing.": "Bunlar daldaki tüm işlemeler — onları düşürmek hiçbir şey bırakmaz.", "Those changes are no longer there — refresh and try again.": "O değişiklikler artık orada değil — yenileyip yeniden deneyin.", - "Those commits are too far down the branch to {0} from here. Start an interactive rebase instead.": "O işlemeler buradan {0} edilemeyecek kadar dalda aşağıda. Bunun yerine bir etkileşimli yeniden temellendirme başlatın.", + "Those commits are too far down the branch to drop from here. Start an interactive rebase instead.": "O işlemeler buradan düşürülemeyecek kadar dalda aşağıda. Bunun yerine bir etkileşimli yeniden temellendirme başlatın.", + "Those commits are too far down the branch to squash from here. Start an interactive rebase instead.": "O işlemeler buradan ezilemeyecek kadar dalda aşağıda. Bunun yerine bir etkileşimli yeniden temellendirme başlatın.", "Throw your pending comments away without sending them": "Bekleyen yorumlarınızı göndermeden atın", "Tidy up your recent commits before you push.": "Göndermeden önce son işlemelerinizi düzenleyin.", "Timed out": "Zaman aşımına uğradı", @@ -2434,6 +2452,7 @@ "You have uncommitted changes": "İşlenmemiş değişiklikleriniz var", "You have uncommitted changes. Commit or stash them, then drop the commit.": "İşlenmemiş değişiklikleriniz var. Bunları işleyin veya zulalayın, sonra işlemeyi düşürün.", "You have uncommitted changes. Commit or stash them, then drop the commits.": "İşlenmemiş değişiklikleriniz var. Bunları işleyin veya zulalayın, sonra işlemeleri düşürün.", + "You have uncommitted changes. Commit or stash them, then edit the message.": "İşlenmemiş değişiklikleriniz var. Bunları işleyin veya zulalayın, sonra mesajı değiştirin.", "You have uncommitted changes. Commit or stash them, then squash the commits.": "İşlenmemiş değişiklikleriniz var. Bunları işleyin veya zulalayın, sonra işlemeleri ezin.", "You have uncommitted changes. Commit or stash them, then start the rebase.": "İşlenmemiş değişiklikleriniz var. Bunları işleyin veya zulalayın, sonra yeniden temellendirmeyi başlatın.", "You have {0} {1} doesn't, and it has {2} you don't. ": "{1}'de olmayan {0}'a sahipsiniz ve onda sizde olmayan {2} var. ", @@ -2604,6 +2623,7 @@ "dropping commits": "işlemeleri düşürme", "each line is not annotated twice. You can turn it back on in Settings.": "her satır iki kez açıklanmaz. Ayarlar'da yeniden açabilirsiniz.", "edit": "düzenle", + "editing a commit message": "bir işleme mesajını değiştirme", "either arrow takes it": "her iki ok da onu alır", "every worktree's folder is still there.": "her çalışma alanının klasörü hâlâ orada.", "everything staged": "hazırlanmış her şey", @@ -3100,6 +3120,7 @@ "{0} on this branch only": "yalnızca bu dalda {0}", "{0} on this file": "bu dosyada {0}", "{0} on {1}": "{1}'de {0}", + "{0} on {1} gets the message below.": "{1}'de {0} aşağıdaki mesajı alacak.", "{0} on {1} not pulled yet.": "{1}'de {0} henüz çekilmedi.", "{0} on {1}/{2} yet: {3} pushed first.": "{0}, {1}/{2}'de henüz yok: önce {3} gönderilir.", "{0} or ": "{0} veya ", diff --git a/apps/extension/l10n/bundle.l10n.zh-cn.json b/apps/extension/l10n/bundle.l10n.zh-cn.json index 496d7106..c6531a88 100644 --- a/apps/extension/l10n/bundle.l10n.zh-cn.json +++ b/apps/extension/l10n/bundle.l10n.zh-cn.json @@ -304,6 +304,7 @@ "Already at the oldest revision": "已是最旧的版本", "Already merged in the file, outside the conflict markers (by git, or by hand): check it": "已在文件中合并,位于冲突标记之外(由 git 或手工完成):请检查", "Already on {0}": "已在 {0} 上", + "Already pushed. Editing its message would rewrite history other people have. The next push will need to be a force push.": "已被推送。改写它的提交信息会改写其他人已有的历史。下一次推送需要强制推送。", "Already pushed. {0} it would rewrite history other people have.": "已被推送。{0} 它会改写其他人已有的历史。", "Already rebased commits": "已变基的提交", "Already rebased commits and commits from main": "已变基的提交和来自 main 的提交", @@ -538,6 +539,7 @@ "Commit graph": "提交图", "Commit list": "提交列表", "Commit message": "提交信息", + "Commit message changed.": "提交信息已更改。", "Commit or stash {0}, then pull again.": "请先提交或贮藏 {0},然后再次拉取。", "Commit something first, then open a pull request from its branch.": "请先提交一些内容,然后从该分支发起拉取请求。", "Commit title": "提交标题", @@ -622,6 +624,8 @@ "Could not write the rebase plan": "无法写入变基计划", "Couldn't abort the rebase.": "无法中止变基。", "Couldn't bring the conflict in {0} back.": "无法恢复 {0} 中的冲突。", + "Couldn't change the commit message.": "无法更改提交信息。", + "Couldn't change the commit message: {0}": "无法更改提交信息:{0}", "Couldn't check out PR #{0}: {1}": "无法检出 PR #{0}:{1}", "Couldn't compare the branches": "无法比较这些分支", "Couldn't compare {0} with {1}.": "无法比较 {0} 与 {1}。", @@ -839,9 +843,16 @@ "Dropping {0} stopped and needs you — continue the rebase, or abort it to put the branch back as it was.": "丢弃 {0} 已停止,需要你处理 — 请继续变基,或中止以把分支恢复原样。", "Drop…": "丢弃…", "Edit": "编辑", + "Edit Message": "改写信息", + "Edit Message…": "改写信息…", "Edit URL": "编辑 URL", "Edit URL of {0}": "编辑 {0} 的 URL", + "Edit and move those branches": "改写并移动这些分支", + "Edit commit message": "改写提交信息", + "Edit on this branch only": "仅在此分支上改写", "Edit result": "编辑结果", + "Editing the message hit a conflict while replaying a later commit. Resolve it and continue the rebase — or abort to put the branch back as it was.": "改写提交信息时在重放后续提交时遇到冲突。请解决它并继续变基 — 或中止以把分支恢复原样。", + "Editing the message stopped and needs you — continue the rebase, or abort it to put the branch back as it was.": "改写提交信息已停止,需要你处理 — 请继续变基,或中止以把分支恢复原样。", "Enable LM Studio's local server (Developer ▸ Start Server), then load a model.": "请启用 LM Studio 的本地服务器(Developer ▸ Start Server),然后加载模型。", "Encrypted at rest in GitStudio's own store — not your OS keychain, so it never raises a password prompt. The key stays host-side and is never sent to a webview.": "静态加密存储在 GitStudio 自己的存储中 — 不是你的操作系统钥匙串,因此绝不会弹出密码提示。密钥保留在宿主侧,绝不会发送到 webview。", "Errored": "出错", @@ -1294,6 +1305,7 @@ "Move the branch and DISCARD every working-tree and staged change.": "移动分支,并丢弃工作树和暂存区的所有更改。", "Move the branch, keep the working tree, unstage everything. Git's default.": "移动分支,保留工作树,取消所有暂存。这是 Git 的默认行为。", "Move the branch. Keep your working tree AND everything staged.": "移动分支。保留工作树以及所有已暂存的内容。", + "Move the branches on rewritten commits too?": "也要移动重写提交上的分支吗?", "Move the current branch back to this commit.": "将当前分支移回此提交。", "Move the selected commits down": "下移选中的提交", "Move the selected commits down (Alt+Down)": "下移选中的提交(Alt+Down)", @@ -1786,6 +1798,7 @@ "Reorder this branch only": "仅重新排序该分支", "Reorder {0} commits": "重新排序 {0} 个提交", "Reorder {0} commits?": "重新排序 {0} 个提交?", + "Reordering": "重新排序", "Reordering stops at a merge — moving a commit past one would flatten it.": "重新排序会在合并提交处停止 — 把提交移过合并提交会压平它。", "Replace and stage": "替换并暂存", "Replace the file with {0} and stage it": "用 {0} 替换该文件并暂存", @@ -2116,6 +2129,8 @@ "Test failed.": "测试失败。", "That change is no longer there — the file moved underneath. Refresh and try again.": "该更改已不存在 — 底层的文件已被移动。请刷新后重试。", "That commit is too far down the branch to drop from here. Start an interactive rebase from it instead.": "该提交在分支中位置太靠下,无法从这里丢弃。请改为从它开始交互式变基。", + "That commit is too far down the branch to edit from here. Start an interactive rebase instead.": "该提交在分支中位置太靠下,无法从这里改写。请改用交互式变基。", + "That commit isn't on the current branch, so its message can't be edited from here.": "该提交不在当前分支上,因此无法从这里改写它的信息。", "That commit isn't on the current branch, so there's nothing to drop it from.": "该提交不在当前分支上,因此无从丢弃它。", "That isn't a drop this app made.": "这不是本应用执行的丢弃。", "That isn't a stash this app recorded.": "这不是本应用记录的贮藏。", @@ -2128,6 +2143,7 @@ "That stash is no longer in the repository.": "该贮藏已不在仓库中。", "That stash no longer exists.": "该贮藏已不存在。", "That's a merge commit — dropping it would flatten the history it joined. Revert it instead.": "这是一个合并提交 — 丢弃它会压平它并入的历史。请改为还原它。", + "That's a merge commit — editing its message would flatten the history it joined. Use an interactive rebase that keeps merges instead.": "这是一个合并提交 — 改写它的信息会压平它并入的历史。请改用保留合并的交互式变基。", "That's the only commit on the branch — dropping it would leave nothing.": "这是分支上唯一的提交 — 丢弃它会什么都不剩。", "The AI had nothing to say about this change": "AI 对此更改没有意见", "The Anthropic API key is missing or invalid. Run “GitStudio: Set Anthropic API Key…”.": "Anthropic API 密钥缺失或无效。请运行“GitStudio: Set Anthropic API Key…”。", @@ -2159,6 +2175,7 @@ "The commit being cherry-picked: {0} “{1}”": "正在拣选的提交:{0} “{1}”", "The commit is": "该提交", "The commit is added to {0} as one new commit.": "该提交会作为一个新提交添加到 {0}。", + "The commit needs a message.": "该提交需要一条提交信息。", "The commits HEAD has that {0} does not are rewritten on top of it, so they get new shas. HEAD is on no branch, so they are on no branch either: create a branch from them to keep them. Undo can take you back.": "HEAD 拥有而 {0} 没有的提交会被重写到它之上,因此会获得新的 sha。HEAD 不在任何分支上,所以这些提交也不在任何分支上:请从它们创建一个分支来保留它们。撤销可以带你回到原状。", "The conflict is back, but {0} couldn't be restored on disk.": "冲突已恢复,但 {0} 无法在磁盘上恢复。", "The conflicted files are back to their last committed versions.": "冲突文件已恢复为它们最后一次提交的版本。", @@ -2298,7 +2315,8 @@ "This window has {0} open, so it can't be removed from here — its folder would be deleted from under the window. Remove it from another window, or open something else in this one first.": "此窗口打开了 {0},因此无法从这里移除 — 它的文件夹会从该窗口下被删除。请从另一个窗口移除它,或先在此窗口打开别的内容。", "Those are all the commits on the branch — dropping them would leave nothing.": "这些是分支上的全部提交 — 丢弃它们会什么都不剩。", "Those changes are no longer there — refresh and try again.": "那些更改已不存在 — 请刷新后重试。", - "Those commits are too far down the branch to {0} from here. Start an interactive rebase instead.": "那些提交在分支中位置太靠下,无法从这里{0}。请改用交互式变基。", + "Those commits are too far down the branch to drop from here. Start an interactive rebase instead.": "那些提交在分支中位置太靠下,无法从这里丢弃。请改用交互式变基。", + "Those commits are too far down the branch to squash from here. Start an interactive rebase instead.": "那些提交在分支中位置太靠下,无法从这里压缩。请改用交互式变基。", "Throw your pending comments away without sending them": "丢弃你待提交的评论,不发送它们", "Tidy up your recent commits before you push.": "推送前先整理你的近期提交。", "Timed out": "已超时", @@ -2434,6 +2452,7 @@ "You have uncommitted changes": "你有未提交的更改", "You have uncommitted changes. Commit or stash them, then drop the commit.": "你有未提交的更改。请先提交或贮藏它们,然后丢弃该提交。", "You have uncommitted changes. Commit or stash them, then drop the commits.": "你有未提交的更改。请先提交或贮藏它们,然后丢弃这些提交。", + "You have uncommitted changes. Commit or stash them, then edit the message.": "你有未提交的更改。请先提交或贮藏它们,然后改写提交信息。", "You have uncommitted changes. Commit or stash them, then squash the commits.": "你有未提交的更改。请先提交或贮藏它们,然后压缩这些提交。", "You have uncommitted changes. Commit or stash them, then start the rebase.": "你有未提交的更改。请先提交或贮藏它们,然后开始变基。", "You have {0} {1} doesn't, and it has {2} you don't. ": "你有 {0} 个提交是 {1} 没有的,而它有 {2} 个是你没有的。 ", @@ -2604,6 +2623,7 @@ "dropping commits": "正在丢弃多个提交", "each line is not annotated twice. You can turn it back on in Settings.": "每一行不会被重复标注。你可以在设置中重新开启。", "edit": "编辑", + "editing a commit message": "正在改写提交信息", "either arrow takes it": "任一方向键即可采用", "every worktree's folder is still there.": "每个工作树的文件夹仍然存在。", "everything staged": "所有已暂存的内容", @@ -3100,6 +3120,7 @@ "{0} on this branch only": "{0}(仅限此分支)", "{0} on this file": "此文件上有 {0}", "{0} on {1}": "{0}(在 {1} 上)", + "{0} on {1} gets the message below.": "{0}(在 {1} 上)将使用下方的提交信息。", "{0} on {1} not pulled yet.": "{1} 上的 {0}尚未拉取。", "{0} on {1}/{2} yet: {3} pushed first.": "{0} 还不在 {1}/{2} 上:会先推送 {3}。", "{0} or ": "{0} 或 ", diff --git a/apps/extension/l10n/bundle.l10n.zh-tw.json b/apps/extension/l10n/bundle.l10n.zh-tw.json index bbebf1f5..a04261a7 100644 --- a/apps/extension/l10n/bundle.l10n.zh-tw.json +++ b/apps/extension/l10n/bundle.l10n.zh-tw.json @@ -304,6 +304,7 @@ "Already at the oldest revision": "已是最舊的版本", "Already merged in the file, outside the conflict markers (by git, or by hand): check it": "已在檔案中合併,位於衝突標記之外(由 git 或手工完成):請檢查", "Already on {0}": "已在 {0} 上", + "Already pushed. Editing its message would rewrite history other people have. The next push will need to be a force push.": "已被推送。改寫它的提交資訊會改寫其他人已有的歷史。下一次推送需要強制推送。", "Already pushed. {0} it would rewrite history other people have.": "已被推送。{0} 它會改寫其他人已有的歷史。", "Already rebased commits": "已變基的提交", "Already rebased commits and commits from main": "已變基的提交和來自 main 的提交", @@ -538,6 +539,7 @@ "Commit graph": "提交圖", "Commit list": "提交列表", "Commit message": "提交資訊", + "Commit message changed.": "提交資訊已更改。", "Commit or stash {0}, then pull again.": "請先提交或儲藏 {0},然後再次拉取。", "Commit something first, then open a pull request from its branch.": "請先提交一些內容,然後從該分支發起拉取請求。", "Commit title": "提交標題", @@ -622,6 +624,8 @@ "Could not write the rebase plan": "無法寫入變基計劃", "Couldn't abort the rebase.": "無法中止變基。", "Couldn't bring the conflict in {0} back.": "無法恢復 {0} 中的衝突。", + "Couldn't change the commit message.": "無法更改提交資訊。", + "Couldn't change the commit message: {0}": "無法更改提交資訊:{0}", "Couldn't check out PR #{0}: {1}": "無法簽出 PR #{0}:{1}", "Couldn't compare the branches": "無法比較這些分支", "Couldn't compare {0} with {1}.": "無法比較 {0} 與 {1}。", @@ -839,9 +843,16 @@ "Dropping {0} stopped and needs you — continue the rebase, or abort it to put the branch back as it was.": "丟棄 {0} 已停止,需要你處理 — 請繼續變基,或中止以把分支恢復原樣。", "Drop…": "丟棄…", "Edit": "編輯", + "Edit Message": "改寫資訊", + "Edit Message…": "改寫資訊…", "Edit URL": "編輯 URL", "Edit URL of {0}": "編輯 {0} 的 URL", + "Edit and move those branches": "改寫並移動這些分支", + "Edit commit message": "改寫提交資訊", + "Edit on this branch only": "僅在此分支上改寫", "Edit result": "編輯結果", + "Editing the message hit a conflict while replaying a later commit. Resolve it and continue the rebase — or abort to put the branch back as it was.": "改寫提交資訊時在重放後續提交時遇到衝突。請解決它並繼續變基 — 或中止以把分支恢復原樣。", + "Editing the message stopped and needs you — continue the rebase, or abort it to put the branch back as it was.": "改寫提交資訊已停止,需要你處理 — 請繼續變基,或中止以把分支恢復原樣。", "Enable LM Studio's local server (Developer ▸ Start Server), then load a model.": "請啟用 LM Studio 的本地伺服器(Developer ▸ Start Server),然後載入模型。", "Encrypted at rest in GitStudio's own store — not your OS keychain, so it never raises a password prompt. The key stays host-side and is never sent to a webview.": "靜態加密儲存在 GitStudio 自己的儲存中 — 不是你的作業系統鑰匙串,因此絕不會彈出密碼提示。金鑰保留在宿主側,絕不會發送到 webview。", "Errored": "出錯", @@ -1294,6 +1305,7 @@ "Move the branch and DISCARD every working-tree and staged change.": "移動分支,並丟棄工作樹和暫存區的所有更改。", "Move the branch, keep the working tree, unstage everything. Git's default.": "移動分支,保留工作樹,取消所有暫存。這是 Git 的預設行為。", "Move the branch. Keep your working tree AND everything staged.": "移動分支。保留工作樹以及所有已暫存的內容。", + "Move the branches on rewritten commits too?": "也要移動重寫提交上的分支嗎?", "Move the current branch back to this commit.": "將當前分支移回此提交。", "Move the selected commits down": "下移選中的提交", "Move the selected commits down (Alt+Down)": "下移選中的提交(Alt+Down)", @@ -1786,6 +1798,7 @@ "Reorder this branch only": "僅重新排序該分支", "Reorder {0} commits": "重新排序 {0} 個提交", "Reorder {0} commits?": "重新排序 {0} 個提交?", + "Reordering": "重新排序", "Reordering stops at a merge — moving a commit past one would flatten it.": "重新排序會在合併提交處停止 — 把提交移過合併提交會壓平它。", "Replace and stage": "替換並暫存", "Replace the file with {0} and stage it": "用 {0} 替換該檔案並暫存", @@ -2116,6 +2129,8 @@ "Test failed.": "測試失敗。", "That change is no longer there — the file moved underneath. Refresh and try again.": "該更改已不存在 — 底層的檔案已被移動。請重新整理後重試。", "That commit is too far down the branch to drop from here. Start an interactive rebase from it instead.": "該提交在分支中位置太靠下,無法從這裡丟棄。請改為從它開始互動式變基。", + "That commit is too far down the branch to edit from here. Start an interactive rebase instead.": "該提交在分支中位置太靠下,無法從這裡改寫。請改用互動式變基。", + "That commit isn't on the current branch, so its message can't be edited from here.": "該提交不在當前分支上,因此無法從這裡改寫它的資訊。", "That commit isn't on the current branch, so there's nothing to drop it from.": "該提交不在當前分支上,因此無從丟棄它。", "That isn't a drop this app made.": "這不是本應用執行的丟棄。", "That isn't a stash this app recorded.": "這不是本應用記錄的儲藏。", @@ -2128,6 +2143,7 @@ "That stash is no longer in the repository.": "該儲藏已不在儲存庫中。", "That stash no longer exists.": "該儲藏已不存在。", "That's a merge commit — dropping it would flatten the history it joined. Revert it instead.": "這是一個合併提交 — 丟棄它會壓平它併入的歷史。請改為還原它。", + "That's a merge commit — editing its message would flatten the history it joined. Use an interactive rebase that keeps merges instead.": "這是一個合併提交 — 改寫它的資訊會壓平它併入的歷史。請改用保留合併的互動式變基。", "That's the only commit on the branch — dropping it would leave nothing.": "這是分支上唯一的提交 — 丟棄它會什麼都不剩。", "The AI had nothing to say about this change": "AI 對此更改沒有意見", "The Anthropic API key is missing or invalid. Run “GitStudio: Set Anthropic API Key…”.": "Anthropic API 金鑰缺失或無效。請執行“GitStudio: Set Anthropic API Key…”。", @@ -2159,6 +2175,7 @@ "The commit being cherry-picked: {0} “{1}”": "正在揀選的提交:{0} “{1}”", "The commit is": "該提交", "The commit is added to {0} as one new commit.": "該提交會作為一個新提交新增到 {0}。", + "The commit needs a message.": "該提交需要一條提交資訊。", "The commits HEAD has that {0} does not are rewritten on top of it, so they get new shas. HEAD is on no branch, so they are on no branch either: create a branch from them to keep them. Undo can take you back.": "HEAD 擁有而 {0} 沒有的提交會被重寫到它之上,因此會獲得新的 sha。HEAD 不在任何分支上,所以這些提交也不在任何分支上:請從它們建立一個分支來保留它們。撤銷可以帶你回到原狀。", "The conflict is back, but {0} couldn't be restored on disk.": "衝突已恢復,但 {0} 無法在磁碟上恢復。", "The conflicted files are back to their last committed versions.": "衝突檔案已恢復為它們最後一次提交的版本。", @@ -2298,7 +2315,8 @@ "This window has {0} open, so it can't be removed from here — its folder would be deleted from under the window. Remove it from another window, or open something else in this one first.": "此視窗打開了 {0},因此無法從這裡移除 — 它的資料夾會從該視窗下被刪除。請從另一個視窗移除它,或先在此視窗開啟別的內容。", "Those are all the commits on the branch — dropping them would leave nothing.": "這些是分支上的全部提交 — 丟棄它們會什麼都不剩。", "Those changes are no longer there — refresh and try again.": "那些更改已不存在 — 請重新整理後重試。", - "Those commits are too far down the branch to {0} from here. Start an interactive rebase instead.": "那些提交在分支中位置太靠下,無法從這裡{0}。請改用互動式變基。", + "Those commits are too far down the branch to drop from here. Start an interactive rebase instead.": "那些提交在分支中位置太靠下,無法從這裡丟棄。請改用互動式變基。", + "Those commits are too far down the branch to squash from here. Start an interactive rebase instead.": "那些提交在分支中位置太靠下,無法從這裡壓縮。請改用互動式變基。", "Throw your pending comments away without sending them": "丟棄你待提交的評論,不傳送它們", "Tidy up your recent commits before you push.": "推送前先整理你的近期提交。", "Timed out": "已超時", @@ -2434,6 +2452,7 @@ "You have uncommitted changes": "你有未提交的更改", "You have uncommitted changes. Commit or stash them, then drop the commit.": "你有未提交的更改。請先提交或儲藏它們,然後丟棄該提交。", "You have uncommitted changes. Commit or stash them, then drop the commits.": "你有未提交的更改。請先提交或儲藏它們,然後丟棄這些提交。", + "You have uncommitted changes. Commit or stash them, then edit the message.": "你有未提交的更改。請先提交或儲藏它們,然後改寫提交資訊。", "You have uncommitted changes. Commit or stash them, then squash the commits.": "你有未提交的更改。請先提交或儲藏它們,然後壓縮這些提交。", "You have uncommitted changes. Commit or stash them, then start the rebase.": "你有未提交的更改。請先提交或儲藏它們,然後開始變基。", "You have {0} {1} doesn't, and it has {2} you don't. ": "你有 {0} 個提交是 {1} 沒有的,而它有 {2} 個是你沒有的。 ", @@ -2604,6 +2623,7 @@ "dropping commits": "正在丟棄多個提交", "each line is not annotated twice. You can turn it back on in Settings.": "每一行不會被重複標註。你可以在設定中重新開啟。", "edit": "編輯", + "editing a commit message": "正在改寫提交資訊", "either arrow takes it": "任一方向鍵即可採用", "every worktree's folder is still there.": "每個工作樹的資料夾仍然存在。", "everything staged": "所有已暫存的內容", @@ -3100,6 +3120,7 @@ "{0} on this branch only": "{0}(僅限此分支)", "{0} on this file": "此檔案上有 {0}", "{0} on {1}": "{0}(在 {1} 上)", + "{0} on {1} gets the message below.": "{0}(在 {1} 上)將使用下方的提交資訊。", "{0} on {1} not pulled yet.": "{1} 上的 {0}尚未拉取。", "{0} on {1}/{2} yet: {3} pushed first.": "{0} 還不在 {1}/{2} 上:會先推送 {3}。", "{0} or ": "{0} 或 ", diff --git a/apps/extension/package.json b/apps/extension/package.json index 47e9b2ca..c0be4c6a 100644 --- a/apps/extension/package.json +++ b/apps/extension/package.json @@ -2,7 +2,7 @@ "name": "gitstudio", "displayName": "%displayName%", "description": "%description%", - "version": "1.17.0", + "version": "1.18.0", "publisher": "gitstudio", "license": "Apache-2.0", "icon": "media/icon.png", diff --git a/apps/extension/src/graph/commitActions.ts b/apps/extension/src/graph/commitActions.ts index 04a8f738..61314a14 100644 --- a/apps/extension/src/graph/commitActions.ts +++ b/apps/extension/src/graph/commitActions.ts @@ -32,6 +32,8 @@ import { applyManyMessage, dropManyQuestion, manyOutcomeMessage, + rewordOutcomeMessage, + rewordQuestion, squashCarryQuestion, squashQuestion, } from "@gitstudio/engine/rebase/many"; @@ -40,10 +42,11 @@ import * as l10n from "@vscode/l10n"; /** The commit actions as plain items for the IN-GRAPH popover (no vscode types * / codicon markup) — the webview renders these; ids match runCommitAction. * - * `drop` offers "Drop Commit…" (issue #32). Only the caller knows whether this - * commit CAN be dropped — see commitMenuItemsFor — and the item is left out - * where it cannot, the way the per-ref items leave out the branch you are on. */ -export function commitMenuItems(opts: { drop?: boolean } = {}): GraphMenuItem[] { + * `drop` offers "Drop Commit…" (issue #32) and `reword` "Edit Message…" (issue + * #75). Only the caller knows whether this commit CAN be rewritten — see + * commitMenuItemsFor — and each item is left out where it cannot, the way the + * per-ref items leave out the branch you are on. */ +export function commitMenuItems(opts: { drop?: boolean; reword?: boolean } = {}): GraphMenuItem[] { return [ { id: "checkout", label: l10n.t("Checkout Commit"), icon: "git-commit" }, // Detaching stays a FIRST-CLASS action. "Checkout Commit" prefers the @@ -56,6 +59,7 @@ export function commitMenuItems(opts: { drop?: boolean } = {}): GraphMenuItem[] { id: "tag", label: l10n.t("Create Tag Here…"), icon: "tag" }, { id: "cherryPick", label: l10n.t("Cherry-Pick Commit"), icon: "git-pull-request" }, { id: "revert", label: l10n.t("Revert Commit"), icon: "history" }, + ...(opts.reword ? [{ id: "reword", label: l10n.t("Edit Message…"), icon: "edit" }] : []), ...(opts.drop ? [{ id: "drop", label: l10n.t("Drop Commit…"), icon: "trash", danger: true }] : []), { id: "reset", label: l10n.t("Reset Current Branch to Here…"), icon: "discard", danger: true }, { id: "interactiveRebase", label: l10n.t("Start Interactive Rebase Here…"), icon: "git-merge" }, @@ -75,8 +79,11 @@ export function commitMenuItems(opts: { drop?: boolean } = {}): GraphMenuItem[] * "cannot drop", never a menu that fails to open. */ export async function commitMenuItemsFor(ctx: GitContext, sha: string): Promise { - const plan = await planDropCommit(ctx.process, sha).catch(() => undefined); - return commitMenuItems({ drop: plan?.ok === true }); + const [drop, reword] = await Promise.all([ + planDropCommit(ctx.process, sha).catch(() => undefined), + planMany(ctx.process, "reword", [sha]).catch(() => undefined), + ]); + return commitMenuItems({ drop: drop?.ok === true, reword: reword?.ok === true }); } /** Namespace for the per-ref items, so they cannot collide with a commit id. */ @@ -245,6 +252,8 @@ export async function runCommitAction( return revert(ctx, commit, undo); case "drop": return dropCommitHere(ctx, commit, undo); + case "reword": + return rewordHere(ctx, commit.sha, undo); case "reset": return resetTo(ctx, commit, undo); case "copySha": @@ -1117,6 +1126,96 @@ async function rewriteManyHere( return false; } +/** + * Edit Message… (issue #75): the commit's whole message in an editor, then a + * rebase that rewords it and replays what came after — the squash pipeline + * with one row changed (git-service/multiCommit.ts), under the Undo envelope. + * Refusals first; when other branches point at rewritten commits, whether + * they come along. + */ +async function rewordHere(ctx: GitContext, sha: string, undo?: UndoRunner): Promise { + // Re-read, never trust the menu: it may have been open while history moved. + const plan = await planMany(ctx.process, "reword", [sha]); + if (!plan.ok) { + void vscode.window.showWarningMessage(l10n.t("GitStudio: {0}", plan.message)); + return false; + } + const blocked = await manyBlocker(ctx.process, "reword"); + if (blocked) { + void vscode.window.showWarningMessage(l10n.t("GitStudio: {0}", blocked)); + return false; + } + const q = rewordQuestion(plan); + const message = ( + await promptInput({ + title: q.title, + hint: q.message, + value: plan.message ?? "", + multiline: true, + selectOnOpen: false, + validate: "nonEmpty", + confirmLabel: l10n.t("Edit Message"), + }) + )?.trim(); + if (!message || message === (plan.message ?? "").trim()) { + return false; + } + + let carry = false; + if (plan.carryable.length > 0) { + const picked = await promptPick({ + title: l10n.t("Move the branches on rewritten commits too?"), + hint: q.message, + choices: [ + { + id: "carry", + label: l10n.t("Edit and move those branches"), + icon: "git-branch", + description: l10n.t("They follow onto the rewritten commits."), + }, + { + id: "only", + label: l10n.t("Edit on this branch only"), + icon: "git-commit", + description: l10n.t("They keep pointing at the commits as they are now."), + }, + { id: "no", label: l10n.t("Cancel"), icon: "close" }, + ], + }); + if (picked !== "carry" && picked !== "only") { + return false; + } + carry = picked === "carry"; + } + + // The undo entry's label goes into git (the reflog), so it stays English. + const outcome = await withUndo(undo, `Edit message of ${short(plan.shas[0])}`, async () => { + const out = await rewriteMany( + ctx.process, + "reword", + { shas: plan.shas, head: plan.head, carry, message }, + (p) => runRebasePlan(ctx.process.cwd, p), + ); + return out.status === "failed" ? { ...out, cancelled: true as const } : out; + }); + + const text = rewordOutcomeMessage(outcome); + if (outcome.status === "done") { + flash(text); + return true; + } + if (outcome.status === "stopped") { + notifyPaused(l10n.t("GitStudio: {0}", text)); + return true; + } + if (outcome.expected) { + void vscode.window.showWarningMessage(l10n.t("GitStudio: {0}", text)); + } else { + void vscode.window.showErrorMessage(l10n.t("GitStudio: {0}", text)); + } + return false; +} + // ── Helpers ────────────────────────────────────────────────────────────────── /** diff --git a/apps/extension/src/rebase/rebaseWorkspacePanel.ts b/apps/extension/src/rebase/rebaseWorkspacePanel.ts index 5d3f6e0f..ec146aaa 100644 --- a/apps/extension/src/rebase/rebaseWorkspacePanel.ts +++ b/apps/extension/src/rebase/rebaseWorkspacePanel.ts @@ -27,6 +27,8 @@ interface RebaseCommit { sha: string; shortSha: string; subject: string; + /** The full message, when it says more than the subject — what a reword starts from. */ + body?: string; author: string; rel: string; } @@ -438,21 +440,28 @@ async function loadCommits(active: RepoEntry, base: string): Promise ({ ...c, action: "pick", message: c.subject })); +// A reword starts from the FULL message (issue #75), not the subject line. +const ORIGINAL = DATA.commits.map((c) => ({ ...c, action: "pick", message: c.body || c.subject })); let rows = ORIGINAL.map((c) => ({ ...c })); let busy = false; @@ -763,7 +773,7 @@ let selection = rows.length ? P.selectOnly(rows[0].sha) : P.NO_SELECTION; // The rows a drag picked up, by sha: the selection, or just the row. let dragging = []; -$("rb-count").textContent = rows.length + (rows.length === 1 ? " commit" : " commits"); +$("rb-count").textContent = rows.length === 1 ? l10nT("{0} commit", rows.length) : l10nT("{0} commits", rows.length); // The toolbar's six actions, in words, each naming its key in its tooltip. const setBtns = {}; @@ -822,6 +832,8 @@ function makeRow(r, i) { main.appendChild(line); const rw = el("div", "rb-reword"); const ta = el("textarea"); ta.value = r.message || r.subject; ta.placeholder = l10nT("New commit message…"); + // Tall enough to show the description it starts with (issue #75), up to ten lines. + ta.rows = Math.min(10, Math.max(2, ta.value.split("\n").length)); ta.addEventListener("input", () => { r.message = ta.value; }); rw.appendChild(ta); main.appendChild(rw); const cons = el("div", "rb-consequence"); cons.innerHTML = consequenceHtml(r.action, foldTargetSubject(i)); main.appendChild(cons); diff --git a/apps/extension/test/dropCommit.test.ts b/apps/extension/test/dropCommit.test.ts index 12b15991..bfdd51cc 100644 --- a/apps/extension/test/dropCommit.test.ts +++ b/apps/extension/test/dropCommit.test.ts @@ -43,14 +43,14 @@ const vscodeStub = { /** What each dialog was asked, and how the next one answers. */ interface Asked { - kind: "confirm" | "pick"; + kind: "confirm" | "pick" | "input"; title: string; text: string; choices?: { id: string; label: string; danger?: boolean }[]; danger?: boolean; } const asked: Asked[] = []; -let answer: { confirm: boolean; pick?: string } = { confirm: true }; +let answer: { confirm: boolean; pick?: string; input?: string } = { confirm: true }; const dialogsStub = { promptConfirm: async (spec: { title: string; message: string; danger?: boolean }) => { asked.push({ kind: "confirm", title: spec.title, text: spec.message, danger: spec.danger }); @@ -60,7 +60,10 @@ const dialogsStub = { asked.push({ kind: "pick", title: spec.title, text: spec.hint ?? "", choices: spec.choices }); return answer.pick; }, - promptInput: async () => undefined, + promptInput: async (spec: { title: string; hint?: string; value?: string }) => { + asked.push({ kind: "input", title: spec.title, text: `${spec.hint ?? ""}\n---\n${spec.value ?? ""}` }); + return answer.input; + }, // The Undo envelope counts the questions put while an op runs. questionsAsked: () => asked.length, }; @@ -136,7 +139,7 @@ function mkRepo(): Repo { }; } -function reset(a: { confirm: boolean; pick?: string } = { confirm: true }): void { +function reset(a: { confirm: boolean; pick?: string; input?: string } = { confirm: true }): void { said.length = 0; asked.length = 0; answer = a; @@ -147,7 +150,7 @@ const dropItem = (items: { id: string }[]) => items.find((i) => i.id === "drop") // ── What the menu offers ───────────────────────────────────────────────────── -test("Drop Commit… is offered for the tip, a middle commit and the oldest, between Revert and Reset", async () => { +test("Drop Commit… is offered for the tip, a middle commit and the oldest, after Edit Message… and before Reset", async () => { const r = mkRepo(); try { const root = r.commit("root"); const mid = r.commit("mid"); const tip = r.commit("tip"); @@ -159,8 +162,13 @@ test("Drop Commit… is offered for the tip, a middle commit and the oldest, bet assert.equal(item.danger, true, "danger-styled like Reset"); assert.equal(item.icon, "trash"); const at = ids(items).indexOf("drop"); - assert.equal(ids(items)[at - 1], "revert"); + // Edit Message… (issue #75) sits between Revert and Drop: the same commits can take it. + assert.equal(ids(items)[at - 1], "reword"); + assert.equal(ids(items)[at - 2], "revert"); assert.equal(ids(items)[at + 1], "reset"); + const edit = items.find((i) => i.id === "reword"); + assert.equal(edit?.label, "Edit Message…"); + assert.equal(edit?.danger, undefined, "a reword keeps every change — not danger-styled"); } } finally { r.dispose(); @@ -199,7 +207,7 @@ test("Drop Commit… is NOT offered for a merge, a commit below a merge, another test("the item's icon exists in the webview's codicon subset (a missing one renders a blank gap)", () => { const css = readFileSync(join(__dirname, "../../../packages/webview-ui/src/styles/codicons.ts"), "utf8"); - for (const item of commitMenuItems({ drop: true })) { + for (const item of commitMenuItems({ drop: true, reword: true })) { if (item.icon) assert.match(css, new RegExp(`\\.codicon-${item.icon}::before`), `codicon-${item.icon}`); } }); @@ -490,3 +498,49 @@ test("a drop refused before it ran records no undo", async () => { r.dispose(); } }); + +// ── Edit Message… (issue #75) ──────────────────────────────────────────────── + +test("Edit Message… opens the whole message, writes the new one, and Undo puts the old one back", async () => { + const r = mkRepo(); + try { + r.commit("base"); + r.git("commit", "-q", "--allow-empty", "-m", "Old subject", "-m", "Old description."); + const b = r.git("rev-parse", "HEAD"); + r.commit("C"); + const before = r.git("rev-parse", "HEAD"); + const { ledger, undo } = ledgerFor(r); + reset({ confirm: true, input: "New subject\n\nNew description." }); + const changed = await runCommitAction("reword", r.ctx, { sha: b, subject: "Old subject" }, undo); + assert.equal(changed, true); + assert.equal(asked[0].kind, "input"); + assert.equal(asked[0].title, "Edit commit message"); + assert.match(asked[0].text, /One later commit will be replayed on top/); + assert.ok(asked[0].text.endsWith("---\nOld subject\n\nOld description."), "pre-filled with the whole message"); + assert.deepEqual(r.subjects(), ["C", "New subject", "base"]); + assert.equal(r.git("log", "-1", "--format=%B", "HEAD~1"), "New subject\n\nNew description."); + assert.ok(said.some((s) => s.kind === "status" && s.text.includes("Commit message changed.")), JSON.stringify(said)); + + reset({ confirm: true }); + await ledger.undoLast(); + assert.equal(r.git("rev-parse", "HEAD"), before, "Undo put the branch back"); + } finally { + r.dispose(); + } +}); + +test("Edit Message… left unchanged, or cancelled, changes nothing", async () => { + const r = mkRepo(); + try { + r.commit("base"); + const a = r.commit("A"); + reset({ confirm: true, input: "A" }); + assert.equal(await runCommitAction("reword", r.ctx, { sha: a, subject: "A" }), false); + reset({ confirm: true }); + assert.equal(await runCommitAction("reword", r.ctx, { sha: a, subject: "A" }), false); + assert.equal(r.git("rev-parse", "HEAD"), a); + } finally { + r.dispose(); + } +}); + diff --git a/apps/extension/test/rebaseWorkspacePanel.cov.test.ts b/apps/extension/test/rebaseWorkspacePanel.cov.test.ts index 3b5b3dca..d52815fe 100644 --- a/apps/extension/test/rebaseWorkspacePanel.cov.test.ts +++ b/apps/extension/test/rebaseWorkspacePanel.cov.test.ts @@ -169,7 +169,7 @@ async function open(f: Fx, sha?: string, undo: unknown = f.ledger) { base: string; branch: string; baseCommit: { shortSha: string; subject: string } | null; - commits: { sha: string; shortSha: string; subject: string; author: string; rel: string }[]; + commits: { sha: string; shortSha: string; subject: string; body?: string; author: string; rel: string }[]; }; return { p, data }; } @@ -201,6 +201,31 @@ test("the workspace lists the commits after the base, newest first, under the br assert.equal(p.disposed, true, "Cancel closes it"); }); +test("a reword starts from the whole message and keeps the description (issue #75)", async () => { + const f = fixture(); + f.commit("base"); + const a = f.commit("A"); + writeFileSync(join(f.dir, "b.txt"), "b\n"); + f.git("add", "-A"); + f.git("commit", "-q", "-m", "Subject line", "-m", "First paragraph of the description.\nIts second line.", "-m", "Refs: #75"); + const { p, data } = await open(f, a); + const [bRow, aRow] = data.commits; + assert.equal(bRow.subject, "Subject line"); + assert.equal(bRow.body, "Subject line\n\nFirst paragraph of the description.\nIts second line.\n\nRefs: #75"); + assert.equal(aRow.body, "A", "a subject-only message is just its subject"); + assert.ok(p.html.includes("message: c.body || c.subject"), "the page seeds a reword from the whole message"); + // The page sends the box's text as it was seeded: the whole message, unchanged. + await p.send({ + type: "apply", + rows: [ + { sha: bRow.sha, subject: bRow.subject, action: "reword", message: bRow.body }, + { sha: aRow.sha, subject: aRow.subject, action: "pick" }, + ], + }); + assert.deepEqual((p.posted[0] as { outcome: unknown }).outcome, { status: "done" }); + assert.equal(f.git("log", "-1", "--format=%B"), "Subject line\n\nFirst paragraph of the description.\nIts second line.\n\nRefs: #75"); +}); + test("a root commit is rebased with --root, and a detached HEAD is named as such", async () => { const f = fixture(); const root = f.commit("root"); diff --git a/apps/merge-studio/CHANGELOG.md b/apps/merge-studio/CHANGELOG.md index 0c323612..7230cbab 100644 --- a/apps/merge-studio/CHANGELOG.md +++ b/apps/merge-studio/CHANGELOG.md @@ -1,6 +1,6 @@ # Changelog -## Unreleased +## 1.3.0 — 2026-10-01 ### Added diff --git a/apps/merge-studio/l10n/bundle.l10n.cs.json b/apps/merge-studio/l10n/bundle.l10n.cs.json index eee35c9a..5c609bb8 100644 --- a/apps/merge-studio/l10n/bundle.l10n.cs.json +++ b/apps/merge-studio/l10n/bundle.l10n.cs.json @@ -149,6 +149,7 @@ "All {0} commits are": "Všechny commity ({0}) jsou", "All {0} {1} are": "Všechny {0} {1} jsou", "Already merged in the file, outside the conflict markers (by git, or by hand): check it": "Už sloučeno v souboru, mimo značky konfliktu (gitem, nebo ručně): zkontrolujte to", + "Already pushed. Editing its message would rewrite history other people have. The next push will need to be a force push.": "Už odesláno (push). Úprava jeho zprávy by přepsala historii, kterou mají jiní lidé. Další push bude muset být force push.", "Already pushed. {0} it would rewrite history other people have.": "Už odesláno (push). {0} by přepsalo historii, kterou mají jiní lidé.", "Already rebased commits": "Už rebasované commity", "Already rebased commits and commits from main": "Už rebasované commity a commity z main", @@ -292,6 +293,7 @@ "Commit graph": "Graf commitů", "Commit list": "Seznam commitů", "Commit message": "Zpráva commitu", + "Commit message changed.": "Zpráva commitu změněna.", "Commit or stash {0}, then pull again.": "Commitněte nebo uložte do stash {0} a pak zkuste pull znovu.", "Commit title": "Název commitu", "Commit {0}": "Commit {0}", @@ -335,6 +337,8 @@ "Copy the pull request's link": "Kopírovat odkaz na pull request", "Couldn't abort the rebase.": "Rebase se nepodařilo zrušit.", "Couldn't bring the conflict in {0} back.": "Nepodařilo se vrátit konflikt v {0} zpět.", + "Couldn't change the commit message.": "Zprávu commitu se nepodařilo změnit.", + "Couldn't change the commit message: {0}": "Zprávu commitu se nepodařilo změnit: {0}", "Couldn't compare the branches": "Nepodařilo se porovnat větve", "Couldn't delete {0}.": "Nepodařilo se odstranit {0}.", "Couldn't drop {0}.": "Nepodařilo se zahodit {0}.", @@ -429,7 +433,10 @@ "Dropping {0} hit a conflict while replaying a later commit. Resolve it and continue the rebase — or skip that commit, or abort to put the branch back as it was.": "Zahození {0} narazilo na konflikt při přehrávání pozdějšího commitu. Vyřešte ho a pokračujte v rebase — nebo tento commit přeskočte, nebo rebase zrušte, aby se větev vrátila tak, jak byla.", "Dropping {0} stopped and needs you — continue the rebase, or abort it to put the branch back as it was.": "Zahození {0} se zastavilo a potřebuje váš zásah — pokračujte v rebase, nebo ho zrušte, aby se větev vrátila tak, jak byla.", "Edit": "Upravit", + "Edit commit message": "Upravit zprávu commitu", "Edit result": "Upravit výsledek", + "Editing the message hit a conflict while replaying a later commit. Resolve it and continue the rebase — or abort to put the branch back as it was.": "Úprava zprávy narazila na konflikt při přehrávání pozdějšího commitu. Vyřešte ho a pokračujte v rebase — nebo rebase zrušte, aby se větev vrátila tak, jak byla.", + "Editing the message stopped and needs you — continue the rebase, or abort it to put the branch back as it was.": "Úprava zprávy se zastavila a potřebuje váš zásah — pokračujte v rebase, nebo ho zrušte, aby se větev vrátila tak, jak byla.", "Errored": "Chyba", "Every check on its latest commit": "Každá kontrola na jeho nejnovějším commitu", "Every conflict is resolved, and your stashed changes are in your files. git keeps the stash entry when applying it stops on conflicts, so it is still in your stash list — drop it once you are happy with the result.": "Všechny konflikty jsou vyřešeny a vaše změny ze stash jsou ve vašich souborech. Git ponechá položku stash, když se její použití zastaví na konfliktech, takže je stále v seznamu stashů — zahoďte ji, až budete s výsledkem spokojeni.", @@ -893,6 +900,7 @@ "Reopen pull request": "Znovu otevřít pull request", "Reopen this pull request": "Znovu otevřít tento pull request", "Reopening…": "Znovu se otevírá…", + "Reordering": "Změna pořadí", "Reordering stops at a merge — moving a commit past one would flatten it.": "Změna pořadí se zastaví na sloučení — přesun commitu za něj by ho zploštil.", "Replace and stage": "Nahradit a připravit", "Replace the file with {0} and stage it": "Nahradit soubor {0} a připravit jej", @@ -1084,6 +1092,8 @@ "Template: {0}": "Šablona: {0}", "That change is no longer there — the file moved underneath. Refresh and try again.": "Tato změna už tam není — soubor se pod tím přesunul. Obnovte a zkuste to znovu.", "That commit is too far down the branch to drop from here. Start an interactive rebase from it instead.": "Tento commit je na větvi příliš hluboko, aby bylo možné ho odtud zahodit. Spusťte od něj interaktivní rebase.", + "That commit is too far down the branch to edit from here. Start an interactive rebase instead.": "Tento commit je na větvi příliš daleko, než aby bylo možné odtud upravit jeho zprávu. Místo toho spusťte interaktivní rebase.", + "That commit isn't on the current branch, so its message can't be edited from here.": "Tento commit není na aktuální větvi, takže jeho zprávu odtud nelze upravit.", "That commit isn't on the current branch, so there's nothing to drop it from.": "Tento commit není na aktuální větvi, takže není z čeho ho zahodit.", "That isn't a drop this app made.": "To není zahození, které provedla tato aplikace.", "That isn't a stash this app recorded.": "To není stash, který zaznamenala tato aplikace.", @@ -1094,6 +1104,7 @@ "That stash is no longer in the repository.": "Tento stash už není v repozitáři.", "That stash no longer exists.": "Tento stash už neexistuje.", "That's a merge commit — dropping it would flatten the history it joined. Revert it instead.": "Toto je commit sloučení — jeho zahození by zploštilo historii, kterou spojil. Místo toho ho vraťte zpět.", + "That's a merge commit — editing its message would flatten the history it joined. Use an interactive rebase that keeps merges instead.": "Toto je commit sloučení — úprava jeho zprávy by zploštila historii, kterou spojil. Místo toho použijte interaktivní rebase, který sloučení zachová.", "That's the only commit on the branch — dropping it would leave nothing.": "Toto je jediný commit na větvi — jeho zahozením by nezůstalo nic.", "The branch goes back to where it was before the series started. Patches already applied are ": "Větev se vrátí do stavu, ve kterém byla před zahájením série. Již použité patche jsou ", "The branch has moved since the {0}, so undoing it now would throw that away too. Nothing was changed.": "Větev se od {0} posunula, takže vrácení zpět by to nyní také zahodilo. Nic se nezměnilo.", @@ -1113,6 +1124,7 @@ "The commit being cherry-picked: {0} “{1}”": "Commit, který se cherry-pickuje: {0} „{1}“", "The commit is": "Commit je", "The commit is added to {0} as one new commit.": "Commit je do {0} přidán jako jeden nový commit.", + "The commit needs a message.": "Commit potřebuje zprávu.", "The conflict is back, but {0} couldn't be restored on disk.": "Konflikt je zpět, ale {0} se nepodařilo obnovit na disku.", "The conflicted files are back to their last committed versions.": "Konfliktní soubory se vrátily do svých posledních commitnutých verzí.", "The conflicts list: every conflicted file of this {0}, and {1}{2}": "Seznam konfliktů: každý konfliktní soubor tohoto {0}, a {1}{2}", @@ -1201,7 +1213,8 @@ "This window has {0} open, so it can't be removed from here — its folder would be deleted from under the window. Remove it from another window, or open something else in this one first.": "Toto okno má otevřené {0}, takže to odtud nelze odstranit — jeho složka by byla smazána pod oknem. Odstraňte to z jiného okna, nebo v tomto nejprve otevřete něco jiného.", "Those are all the commits on the branch — dropping them would leave nothing.": "To jsou všechny commity na větvi — jejich zahozením by nezbylo nic.", "Those changes are no longer there — refresh and try again.": "Tyto změny už tam nejsou — obnovte a zkuste to znovu.", - "Those commits are too far down the branch to {0} from here. Start an interactive rebase instead.": "Tyto commity jsou na větvi příliš daleko, než aby bylo možné {0} odtud. Místo toho spusťte interaktivní rebase.", + "Those commits are too far down the branch to drop from here. Start an interactive rebase instead.": "Tyto commity jsou na větvi příliš daleko, než aby bylo možné je odtud zahodit. Místo toho spusťte interaktivní rebase.", + "Those commits are too far down the branch to squash from here. Start an interactive rebase instead.": "Tyto commity jsou na větvi příliš daleko, než aby bylo možné je odtud squashnout. Místo toho spusťte interaktivní rebase.", "Throw your pending comments away without sending them": "Zahodit nevyřízené komentáře bez jejich odeslání", "Timed out": "Vypršel časový limit", "Title": "Název", @@ -1279,6 +1292,7 @@ "You (@{0})": "Vy (@{0})", "You have uncommitted changes. Commit or stash them, then drop the commit.": "Máte nekomitnuté změny. Commitněte je nebo uložte do stash, a pak commit zahoďte.", "You have uncommitted changes. Commit or stash them, then drop the commits.": "Máte nekomitnuté změny. Commitněte je nebo uložte do stash, a pak commity zahoďte.", + "You have uncommitted changes. Commit or stash them, then edit the message.": "Máte nekomitnuté změny. Commitněte je nebo uložte do stash, a pak upravte zprávu.", "You have uncommitted changes. Commit or stash them, then squash the commits.": "Máte nekomitnuté změny. Commitněte je nebo uložte do stash, a pak commity squashněte.", "You have uncommitted changes. Commit or stash them, then start the rebase.": "Máte nekomitnuté změny. Commitněte je nebo uložte do stash, a pak spusťte rebase.", "You've made commits on the detached HEAD since (it is at {0} now), and switching back would leave them on no branch. Create a branch for them first, then undo.": "Od té doby jste na odpojené HEAD vytvořili commity (teď je na {0}), a přepnutí zpět by je zanechalo bez větve. Nejprve pro ně vytvořte větev, a pak vraťte zpět.", @@ -1389,6 +1403,7 @@ "dropping a commit": "zahazování commitu", "dropping commits": "zahazování commitů", "edit": "upravit", + "editing a commit message": "upravování zprávy commitu", "either arrow takes it": "kterákoli šipka to přesune", "file": "soubor", "files": "soubory", @@ -1731,6 +1746,7 @@ "{0} of {1} ticked · untick the last for all": "{0} z {1} zaškrtnuto · odškrtnutím posledního zaškrtnete vše", "{0} on this file": "{0} na tomto souboru", "{0} on {1}": "{0} na {1}", + "{0} on {1} gets the message below.": "{0} na {1} dostane zprávu níže.", "{0} on {1} not pulled yet.": "{0} na {1} ještě nestažené (pull).", "{0} on {1}/{2} yet: {3} pushed first.": "{0} na {1}/{2} ještě ne: nejdřív {3} odeslat (push).", "{0} or ": "{0} nebo ", diff --git a/apps/merge-studio/l10n/bundle.l10n.de.json b/apps/merge-studio/l10n/bundle.l10n.de.json index c3d84e10..661f69f0 100644 --- a/apps/merge-studio/l10n/bundle.l10n.de.json +++ b/apps/merge-studio/l10n/bundle.l10n.de.json @@ -149,6 +149,7 @@ "All {0} commits are": "Alle {0} Commits sind", "All {0} {1} are": "Alle {0} {1} sind", "Already merged in the file, outside the conflict markers (by git, or by hand): check it": "Bereits in der Datei gemergt, außerhalb der Konfliktmarkierungen (von Git oder von Hand): prüfen", + "Already pushed. Editing its message would rewrite history other people have. The next push will need to be a force push.": "Bereits gepusht. Die Nachricht zu ändern würde die Historie umschreiben, die andere bereits haben. Der nächste Push muss ein Force-Push sein.", "Already pushed. {0} it would rewrite history other people have.": "Bereits gepusht. {0} würde die Historie umschreiben, die andere bereits haben.", "Already rebased commits": "Bereits rebasierte Commits", "Already rebased commits and commits from main": "Bereits rebasierte Commits und Commits von main", @@ -292,6 +293,7 @@ "Commit graph": "Commit-Graph", "Commit list": "Commit-Liste", "Commit message": "Commit-Nachricht", + "Commit message changed.": "Commit-Nachricht geändert.", "Commit or stash {0}, then pull again.": "{0} committen oder stashen, dann erneut pullen.", "Commit title": "Commit-Titel", "Commit {0}": "Commit {0}", @@ -335,6 +337,8 @@ "Copy the pull request's link": "Den Link des Pull Requests kopieren", "Couldn't abort the rebase.": "Der Rebase konnte nicht abgebrochen werden.", "Couldn't bring the conflict in {0} back.": "Der Konflikt in {0} konnte nicht zurückgebracht werden.", + "Couldn't change the commit message.": "Die Commit-Nachricht konnte nicht geändert werden.", + "Couldn't change the commit message: {0}": "Die Commit-Nachricht konnte nicht geändert werden: {0}", "Couldn't compare the branches": "Die Branches konnten nicht verglichen werden", "Couldn't delete {0}.": "{0} konnte nicht gelöscht werden.", "Couldn't drop {0}.": "{0} konnte nicht verworfen werden.", @@ -429,7 +433,10 @@ "Dropping {0} hit a conflict while replaying a later commit. Resolve it and continue the rebase — or skip that commit, or abort to put the branch back as it was.": "Das Verwerfen von {0} stieß beim Wiederholen eines späteren Commits auf einen Konflikt. Lösen und den Rebase fortsetzen — oder diesen Commit überspringen, oder abbrechen, um den Branch wie zuvor zurückzusetzen.", "Dropping {0} stopped and needs you — continue the rebase, or abort it to put the branch back as it was.": "Das Verwerfen von {0} ist gestoppt und braucht Sie — den Rebase fortsetzen oder abbrechen, um den Branch wie zuvor zurückzusetzen.", "Edit": "Bearbeiten", + "Edit commit message": "Commit-Nachricht ändern", "Edit result": "Ergebnis bearbeiten", + "Editing the message hit a conflict while replaying a later commit. Resolve it and continue the rebase — or abort to put the branch back as it was.": "Das Ändern der Nachricht stieß beim Wiederholen eines späteren Commits auf einen Konflikt. Lösen und den Rebase fortsetzen — oder abbrechen, um den Branch wie zuvor zurückzusetzen.", + "Editing the message stopped and needs you — continue the rebase, or abort it to put the branch back as it was.": "Das Ändern der Nachricht ist gestoppt und braucht Sie — den Rebase fortsetzen oder abbrechen, um den Branch wie zuvor zurückzusetzen.", "Errored": "Fehlgeschlagen", "Every check on its latest commit": "Jede Prüfung auf dessen letztem Commit", "Every conflict is resolved, and your stashed changes are in your files. git keeps the stash entry when applying it stops on conflicts, so it is still in your stash list — drop it once you are happy with the result.": "Jeder Konflikt ist gelöst, und Ihre gestashten Änderungen sind in Ihren Dateien. git behält den Stash-Eintrag, wenn das Anwenden bei Konflikten stoppt, daher ist er noch in Ihrer Stash-Liste — ihn verwerfen, sobald Sie mit dem Ergebnis zufrieden sind.", @@ -893,6 +900,7 @@ "Reopen pull request": "Pull Request wieder öffnen", "Reopen this pull request": "Diesen Pull Request wieder öffnen", "Reopening…": "Wird wieder geöffnet…", + "Reordering": "Wird umgeordnet", "Reordering stops at a merge — moving a commit past one would flatten it.": "Umordnen stoppt an einem Merge — einen Commit daran vorbei zu verschieben würde ihn einebnen.", "Replace and stage": "Ersetzen und bereitstellen", "Replace the file with {0} and stage it": "Die Datei durch {0} ersetzen und bereitstellen", @@ -1084,6 +1092,8 @@ "Template: {0}": "Vorlage: {0}", "That change is no longer there — the file moved underneath. Refresh and try again.": "Diese Änderung existiert nicht mehr — die Datei wurde darunter verschoben. Aktualisieren und erneut versuchen.", "That commit is too far down the branch to drop from here. Start an interactive rebase from it instead.": "Dieser Commit liegt zu weit unten im Branch, um ihn von hier zu verwerfen. Stattdessen einen interaktiven Rebase ab diesem Commit starten.", + "That commit is too far down the branch to edit from here. Start an interactive rebase instead.": "Dieser Commit liegt zu weit unten im Branch, um von hier aus geändert zu werden. Stattdessen einen interaktiven Rebase starten.", + "That commit isn't on the current branch, so its message can't be edited from here.": "Dieser Commit befindet sich nicht auf dem aktuellen Branch, daher kann seine Nachricht von dort nicht geändert werden.", "That commit isn't on the current branch, so there's nothing to drop it from.": "Dieser Commit befindet sich nicht auf dem aktuellen Branch, daher gibt es nichts, wovon er verworfen werden könnte.", "That isn't a drop this app made.": "Das ist kein Verwerfen, das diese App vorgenommen hat.", "That isn't a stash this app recorded.": "Das ist kein Stash, den diese App aufgezeichnet hat.", @@ -1094,6 +1104,7 @@ "That stash is no longer in the repository.": "Dieser Stash ist nicht mehr im Repository.", "That stash no longer exists.": "Dieser Stash existiert nicht mehr.", "That's a merge commit — dropping it would flatten the history it joined. Revert it instead.": "Das ist ein Merge-Commit — ihn zu verwerfen würde die von ihm verbundene Historie einebnen. Stattdessen revertieren.", + "That's a merge commit — editing its message would flatten the history it joined. Use an interactive rebase that keeps merges instead.": "Das ist ein Merge-Commit — seine Nachricht zu ändern würde die Historie abflachen, die er zusammenführte. Stattdessen einen interaktiven Rebase verwenden, der Merges erhält.", "That's the only commit on the branch — dropping it would leave nothing.": "Das ist der einzige Commit auf dem Branch — ihn zu verwerfen würde nichts übrig lassen.", "The branch goes back to where it was before the series started. Patches already applied are ": "Der Branch geht zurück auf den Stand vor Beginn der Serie. Bereits angewendete Patches sind ", "The branch has moved since the {0}, so undoing it now would throw that away too. Nothing was changed.": "Der Branch hat sich seit {0} weiterbewegt, daher würde ein Rückgängig jetzt auch das verwerfen. Nichts wurde geändert.", @@ -1113,6 +1124,7 @@ "The commit being cherry-picked: {0} “{1}”": "Der Commit, der gecherry-pickt wird: {0} „{1}“", "The commit is": "Der Commit ist", "The commit is added to {0} as one new commit.": "Der Commit wird {0} als ein neuer Commit hinzugefügt.", + "The commit needs a message.": "Der Commit braucht eine Nachricht.", "The conflict is back, but {0} couldn't be restored on disk.": "Der Konflikt ist zurück, aber {0} konnte nicht auf der Festplatte wiederhergestellt werden.", "The conflicted files are back to their last committed versions.": "Die konfliktbehafteten Dateien gehen zurück auf ihre letzten committeten Versionen.", "The conflicts list: every conflicted file of this {0}, and {1}{2}": "Die Konfliktliste: jede konfliktbehaftete Datei dieses {0}, und {1}{2}", @@ -1201,7 +1213,8 @@ "This window has {0} open, so it can't be removed from here — its folder would be deleted from under the window. Remove it from another window, or open something else in this one first.": "Dieses Fenster hat {0} geöffnet, daher kann es hier nicht entfernt werden — sein Ordner würde dem Fenster unter den Füßen gelöscht. Es aus einem anderen Fenster entfernen, oder zuerst etwas anderes in diesem öffnen.", "Those are all the commits on the branch — dropping them would leave nothing.": "Das sind alle Commits auf dem Branch — sie zu verwerfen würde nichts übrig lassen.", "Those changes are no longer there — refresh and try again.": "Diese Änderungen sind nicht mehr vorhanden — aktualisieren und erneut versuchen.", - "Those commits are too far down the branch to {0} from here. Start an interactive rebase instead.": "Diese Commits liegen zu weit unten im Branch, um von hier aus {0} zu werden. Stattdessen einen interaktiven Rebase starten.", + "Those commits are too far down the branch to drop from here. Start an interactive rebase instead.": "Diese Commits liegen zu weit unten im Branch, um von hier aus verworfen zu werden. Stattdessen einen interaktiven Rebase starten.", + "Those commits are too far down the branch to squash from here. Start an interactive rebase instead.": "Diese Commits liegen zu weit unten im Branch, um von hier aus zusammengefasst zu werden. Stattdessen einen interaktiven Rebase starten.", "Throw your pending comments away without sending them": "Ausstehende Kommentare verwerfen, ohne sie zu senden", "Timed out": "Zeitüberschreitung", "Title": "Titel", @@ -1279,6 +1292,7 @@ "You (@{0})": "Sie (@{0})", "You have uncommitted changes. Commit or stash them, then drop the commit.": "Es gibt nicht committete Änderungen. Diese committen oder stashen und dann den Commit verwerfen.", "You have uncommitted changes. Commit or stash them, then drop the commits.": "Es gibt nicht committete Änderungen. Diese committen oder stashen und dann die Commits verwerfen.", + "You have uncommitted changes. Commit or stash them, then edit the message.": "Es gibt nicht committete Änderungen. Diese committen oder stashen und dann die Nachricht ändern.", "You have uncommitted changes. Commit or stash them, then squash the commits.": "Es gibt nicht committete Änderungen. Diese committen oder stashen und dann die Commits squashen.", "You have uncommitted changes. Commit or stash them, then start the rebase.": "Es gibt nicht committete Änderungen. Diese committen oder stashen und dann den Rebase starten.", "You've made commits on the detached HEAD since (it is at {0} now), and switching back would leave them on no branch. Create a branch for them first, then undo.": "Seitdem wurden Commits auf dem losgelösten HEAD gemacht (er steht jetzt bei {0}), und das Zurückwechseln würde sie auf keinem Branch belassen. Zuerst einen Branch dafür erstellen, dann rückgängig machen.", @@ -1389,6 +1403,7 @@ "dropping a commit": "einen Commit verwerfen", "dropping commits": "Commits verwerfen", "edit": "bearbeiten", + "editing a commit message": "eine Commit-Nachricht ändern", "either arrow takes it": "jede Pfeiltaste übernimmt es", "file": "Datei", "files": "Dateien", @@ -1731,6 +1746,7 @@ "{0} of {1} ticked · untick the last for all": "{0} von {1} ausgewählt · letztes abwählen für alle", "{0} on this file": "{0} auf dieser Datei", "{0} on {1}": "{0} auf {1}", + "{0} on {1} gets the message below.": "{0} auf {1} bekommt die Nachricht unten.", "{0} on {1} not pulled yet.": "{0} auf {1} noch nicht gepullt.", "{0} on {1}/{2} yet: {3} pushed first.": "{0} noch nicht auf {1}/{2}: zuerst {3} gepusht.", "{0} or ": "{0} oder ", diff --git a/apps/merge-studio/l10n/bundle.l10n.es.json b/apps/merge-studio/l10n/bundle.l10n.es.json index 60a206b7..cf6a9797 100644 --- a/apps/merge-studio/l10n/bundle.l10n.es.json +++ b/apps/merge-studio/l10n/bundle.l10n.es.json @@ -149,6 +149,7 @@ "All {0} commits are": "Los {0} commits están", "All {0} {1} are": "Los {0} {1} están", "Already merged in the file, outside the conflict markers (by git, or by hand): check it": "Ya fusionado en el archivo, fuera de los marcadores de conflicto (por git, o a mano): revísalo", + "Already pushed. Editing its message would rewrite history other people have. The next push will need to be a force push.": "Ya publicado. Reformular su mensaje reescribiría un historial que otras personas tienen. El siguiente push tendrá que ser forzado.", "Already pushed. {0} it would rewrite history other people have.": "Ya publicado. {0} reescribiría un historial que otras personas tienen.", "Already rebased commits": "Commits ya rebasados", "Already rebased commits and commits from main": "Commits ya rebasados y commits de main", @@ -292,6 +293,7 @@ "Commit graph": "Grafo de commits", "Commit list": "Lista de commits", "Commit message": "Mensaje de commit", + "Commit message changed.": "Mensaje de commit modificado.", "Commit or stash {0}, then pull again.": "Confirma o guarda en el stash {0}, y vuelve a incorporar.", "Commit title": "Título del commit", "Commit {0}": "Commit {0}", @@ -335,6 +337,8 @@ "Copy the pull request's link": "Copiar el enlace del pull request", "Couldn't abort the rebase.": "No se pudo abortar el rebase.", "Couldn't bring the conflict in {0} back.": "No se pudo devolver el conflicto en {0}.", + "Couldn't change the commit message.": "No se pudo modificar el mensaje de commit.", + "Couldn't change the commit message: {0}": "No se pudo modificar el mensaje de commit: {0}", "Couldn't compare the branches": "No se pudieron comparar las ramas", "Couldn't delete {0}.": "No se pudo eliminar {0}.", "Couldn't drop {0}.": "No se pudo descartar {0}.", @@ -429,7 +433,10 @@ "Dropping {0} hit a conflict while replaying a later commit. Resolve it and continue the rebase — or skip that commit, or abort to put the branch back as it was.": "Al descartar {0} se produjo un conflicto al reproducir un commit posterior. Resuélvelo y continúa el rebase — u omite ese commit, o abórtalo para devolver la rama a como estaba.", "Dropping {0} stopped and needs you — continue the rebase, or abort it to put the branch back as it was.": "Descartar {0} se detuvo y necesita tu atención — continúa el rebase, o abórtalo para devolver la rama a como estaba.", "Edit": "Editar", + "Edit commit message": "Reformular el mensaje del commit", "Edit result": "Editar resultado", + "Editing the message hit a conflict while replaying a later commit. Resolve it and continue the rebase — or abort to put the branch back as it was.": "Al reformular el mensaje se produjo un conflicto al reproducir un commit posterior. Resuélvelo y continúa el rebase — o abórtalo para devolver la rama a como estaba.", + "Editing the message stopped and needs you — continue the rebase, or abort it to put the branch back as it was.": "Reformular el mensaje se detuvo y necesita tu atención — continúa el rebase, o abórtalo para devolver la rama a como estaba.", "Errored": "Con error", "Every check on its latest commit": "Cada check en su commit más reciente", "Every conflict is resolved, and your stashed changes are in your files. git keeps the stash entry when applying it stops on conflicts, so it is still in your stash list — drop it once you are happy with the result.": "Todos los conflictos están resueltos, y tus cambios guardados en el stash están en tus archivos. git conserva la entrada del stash cuando al aplicarla se detiene por conflictos, así que sigue en tu lista de stashes — descártala cuando estés conforme con el resultado.", @@ -893,6 +900,7 @@ "Reopen pull request": "Reabrir pull request", "Reopen this pull request": "Reabrir este pull request", "Reopening…": "Reabriendo…", + "Reordering": "Reordenando", "Reordering stops at a merge — moving a commit past one would flatten it.": "El reordenamiento se detiene en una fusión: mover un commit más allá de una fusión la aplanaría.", "Replace and stage": "Reemplazar y preparar", "Replace the file with {0} and stage it": "Reemplazar el archivo con {0} y prepararlo", @@ -1084,6 +1092,8 @@ "Template: {0}": "Plantilla: {0}", "That change is no longer there — the file moved underneath. Refresh and try again.": "Ese cambio ya no está ahí — el archivo se movió por debajo. Actualiza e inténtalo de nuevo.", "That commit is too far down the branch to drop from here. Start an interactive rebase from it instead.": "Ese commit está demasiado abajo en la rama para descartarlo desde aquí. Inicia en su lugar un rebase interactivo desde él.", + "That commit is too far down the branch to edit from here. Start an interactive rebase instead.": "Ese commit está demasiado abajo en la rama para reformularlo desde aquí. Inicia en su lugar un rebase interactivo.", + "That commit isn't on the current branch, so its message can't be edited from here.": "Ese commit no está en la rama actual, así que su mensaje no se puede reformular desde aquí.", "That commit isn't on the current branch, so there's nothing to drop it from.": "Ese commit no está en la rama actual, así que no hay de dónde descartarlo.", "That isn't a drop this app made.": "Ese no es un descarte que haya hecho esta app.", "That isn't a stash this app recorded.": "Ese no es un stash que haya registrado esta app.", @@ -1094,6 +1104,7 @@ "That stash is no longer in the repository.": "Ese stash ya no está en el repositorio.", "That stash no longer exists.": "Ese stash ya no existe.", "That's a merge commit — dropping it would flatten the history it joined. Revert it instead.": "Eso es un commit de fusión — descartarlo aplanaría el historial que unió. Revierte en su lugar.", + "That's a merge commit — editing its message would flatten the history it joined. Use an interactive rebase that keeps merges instead.": "Eso es un commit de fusión — reformular su mensaje aplanaría el historial que unió. Usa en su lugar un rebase interactivo que conserve las fusiones.", "That's the only commit on the branch — dropping it would leave nothing.": "Ese es el único commit de la rama — descartarlo no dejaría nada.", "The branch goes back to where it was before the series started. Patches already applied are ": "La rama vuelve a como estaba antes de empezar la serie. Los parches ya aplicados ", "The branch has moved since the {0}, so undoing it now would throw that away too. Nothing was changed.": "La rama se ha movido desde {0}, así que deshacerlo ahora también lo descartaría. No se cambió nada.", @@ -1113,6 +1124,7 @@ "The commit being cherry-picked: {0} “{1}”": "El commit al que se le hace cherry-pick: {0} “{1}”", "The commit is": "El commit está", "The commit is added to {0} as one new commit.": "El commit se agrega a {0} como un nuevo commit.", + "The commit needs a message.": "El commit necesita un mensaje.", "The conflict is back, but {0} couldn't be restored on disk.": "El conflicto volvió, pero {0} no se pudo restaurar en el disco.", "The conflicted files are back to their last committed versions.": "Los archivos en conflicto vuelven a sus últimas versiones confirmadas.", "The conflicts list: every conflicted file of this {0}, and {1}{2}": "La lista de conflictos: cada archivo en conflicto de este {0}, y {1}{2}", @@ -1201,7 +1213,8 @@ "This window has {0} open, so it can't be removed from here — its folder would be deleted from under the window. Remove it from another window, or open something else in this one first.": "Esta ventana tiene {0} abierto, así que no se puede quitar desde aquí — su carpeta se eliminaría debajo de la ventana. Quítalo desde otra ventana, o abre primero otra cosa en esta.", "Those are all the commits on the branch — dropping them would leave nothing.": "Esos son todos los commits de la rama — descartarlos no dejaría nada.", "Those changes are no longer there — refresh and try again.": "Esos cambios ya no están ahí — actualiza e inténtalo de nuevo.", - "Those commits are too far down the branch to {0} from here. Start an interactive rebase instead.": "Esos commits están demasiado abajo en la rama para {0} desde aquí. Inicia en su lugar un rebase interactivo.", + "Those commits are too far down the branch to drop from here. Start an interactive rebase instead.": "Esos commits están demasiado abajo en la rama para descartarlos desde aquí. Inicia en su lugar un rebase interactivo.", + "Those commits are too far down the branch to squash from here. Start an interactive rebase instead.": "Esos commits están demasiado abajo en la rama para hacer squash desde aquí. Inicia en su lugar un rebase interactivo.", "Throw your pending comments away without sending them": "Descartar tus comentarios pendientes sin enviarlos", "Timed out": "Tiempo de espera agotado", "Title": "Título", @@ -1279,6 +1292,7 @@ "You (@{0})": "Tú (@{0})", "You have uncommitted changes. Commit or stash them, then drop the commit.": "Tienes cambios sin confirmar. Confírmalos o guárdalos en el stash, y luego descarta el commit.", "You have uncommitted changes. Commit or stash them, then drop the commits.": "Tienes cambios sin confirmar. Confírmalos o guárdalos en el stash, y luego descarta los commits.", + "You have uncommitted changes. Commit or stash them, then edit the message.": "Tienes cambios sin confirmar. Confírmalos o guárdalos en el stash, y luego reformula el mensaje.", "You have uncommitted changes. Commit or stash them, then squash the commits.": "Tienes cambios sin confirmar. Confírmalos o guárdalos en el stash, y luego haz squash de los commits.", "You have uncommitted changes. Commit or stash them, then start the rebase.": "Tienes cambios sin confirmar. Confírmalos o guárdalos en el stash, y luego inicia el rebase.", "You've made commits on the detached HEAD since (it is at {0} now), and switching back would leave them on no branch. Create a branch for them first, then undo.": "Has hecho commits en el HEAD desacoplado desde entonces (ahora está en {0}), y volver atrás los dejaría sin ninguna rama. Crea primero una rama para ellos, y luego deshaz.", @@ -1389,6 +1403,7 @@ "dropping a commit": "descartar un commit", "dropping commits": "descartar commits", "edit": "editar", + "editing a commit message": "reformulando el mensaje de un commit", "either arrow takes it": "cualquier flecha lo toma", "file": "archivo", "files": "archivos", @@ -1731,6 +1746,7 @@ "{0} of {1} ticked · untick the last for all": "{0} de {1} marcados · desmarca el último para todos", "{0} on this file": "{0} en este archivo", "{0} on {1}": "{0} en {1}", + "{0} on {1} gets the message below.": "{0} en {1} recibe el mensaje de abajo.", "{0} on {1} not pulled yet.": "{0} en {1} todavía no incorporado.", "{0} on {1}/{2} yet: {3} pushed first.": "{0} en {1}/{2} todavía: {3} publicado primero.", "{0} or ": "{0} o ", diff --git a/apps/merge-studio/l10n/bundle.l10n.fr.json b/apps/merge-studio/l10n/bundle.l10n.fr.json index ff06cc80..f7b95575 100644 --- a/apps/merge-studio/l10n/bundle.l10n.fr.json +++ b/apps/merge-studio/l10n/bundle.l10n.fr.json @@ -149,6 +149,7 @@ "All {0} commits are": "Les {0} commits sont tous", "All {0} {1} are": "Les {0} {1} sont tous", "Already merged in the file, outside the conflict markers (by git, or by hand): check it": "Déjà fusionné dans le fichier, en dehors des marqueurs de conflit (par git, ou à la main) : vérifiez-le", + "Already pushed. Editing its message would rewrite history other people have. The next push will need to be a force push.": "Déjà poussé. Reformuler son message réécrirait un historique que d'autres personnes possèdent. Le prochain push devra être un push forcé.", "Already pushed. {0} it would rewrite history other people have.": "Déjà poussé. {0} réécrirait un historique que d'autres personnes possèdent.", "Already rebased commits": "Commits déjà rebasés", "Already rebased commits and commits from main": "Commits déjà rebasés et commits de main", @@ -292,6 +293,7 @@ "Commit graph": "Graphe des commits", "Commit list": "Liste des commits", "Commit message": "Message de commit", + "Commit message changed.": "Message de commit modifié.", "Commit or stash {0}, then pull again.": "Validez ou remisez {0}, puis tirez à nouveau.", "Commit title": "Titre du commit", "Commit {0}": "Commit {0}", @@ -335,6 +337,8 @@ "Copy the pull request's link": "Copier le lien de la pull request", "Couldn't abort the rebase.": "Le rebase n'a pas pu être abandonné.", "Couldn't bring the conflict in {0} back.": "Le conflit dans {0} n'a pas pu être restauré.", + "Couldn't change the commit message.": "Impossible de modifier le message de commit.", + "Couldn't change the commit message: {0}": "Impossible de modifier le message de commit : {0}", "Couldn't compare the branches": "Les branches n'ont pas pu être comparées", "Couldn't delete {0}.": "{0} n'a pas pu être supprimé(e).", "Couldn't drop {0}.": "{0} n'a pas pu être supprimé(e).", @@ -429,7 +433,10 @@ "Dropping {0} hit a conflict while replaying a later commit. Resolve it and continue the rebase — or skip that commit, or abort to put the branch back as it was.": "La suppression de {0} a rencontré un conflit en rejouant un commit ultérieur. Résolvez-le et continuez le rebase — ou ignorez ce commit, ou abandonnez pour remettre la branche comme avant.", "Dropping {0} stopped and needs you — continue the rebase, or abort it to put the branch back as it was.": "La suppression de {0} s'est arrêtée et a besoin de vous — continuez le rebase, ou abandonnez-le pour remettre la branche comme avant.", "Edit": "Modifier", + "Edit commit message": "Reformuler le message de commit", "Edit result": "Modifier le résultat", + "Editing the message hit a conflict while replaying a later commit. Resolve it and continue the rebase — or abort to put the branch back as it was.": "La reformulation du message a rencontré un conflit en rejouant un commit ultérieur. Résolvez-le et continuez le rebase — ou abandonnez pour remettre la branche comme avant.", + "Editing the message stopped and needs you — continue the rebase, or abort it to put the branch back as it was.": "La reformulation du message s'est arrêtée et a besoin de vous — continuez le rebase, ou abandonnez-le pour remettre la branche comme avant.", "Errored": "En erreur", "Every check on its latest commit": "Toutes les vérifications sur son dernier commit", "Every conflict is resolved, and your stashed changes are in your files. git keeps the stash entry when applying it stops on conflicts, so it is still in your stash list — drop it once you are happy with the result.": "Tous les conflits sont résolus, et vos modifications remisées sont dans vos fichiers. git conserve l'entrée du stash quand son application s'arrête sur des conflits, elle est donc toujours dans votre liste de stashs — supprimez-la une fois satisfait du résultat.", @@ -893,6 +900,7 @@ "Reopen pull request": "Rouvrir la pull request", "Reopen this pull request": "Rouvrir cette pull request", "Reopening…": "Réouverture en cours…", + "Reordering": "Réorganisation", "Reordering stops at a merge — moving a commit past one would flatten it.": "La réorganisation s'arrête à une fusion — déplacer un commit au-delà l'aplatirait.", "Replace and stage": "Remplacer et indexer", "Replace the file with {0} and stage it": "Remplacer le fichier par {0} et l'indexer", @@ -1084,6 +1092,8 @@ "Template: {0}": "Modèle : {0}", "That change is no longer there — the file moved underneath. Refresh and try again.": "Cette modification n'est plus là — le fichier a bougé en dessous. Actualisez et réessayez.", "That commit is too far down the branch to drop from here. Start an interactive rebase from it instead.": "Ce commit est trop loin dans la branche pour être supprimé depuis ici. Démarrez plutôt un rebase interactif depuis celui-ci.", + "That commit is too far down the branch to edit from here. Start an interactive rebase instead.": "Ce commit est trop loin dans la branche pour être reformulé depuis ici. Démarrez plutôt un rebase interactif.", + "That commit isn't on the current branch, so its message can't be edited from here.": "Ce commit n'est pas sur la branche actuelle, son message ne peut donc pas être reformulé depuis ici.", "That commit isn't on the current branch, so there's nothing to drop it from.": "Ce commit n'est pas sur la branche actuelle, donc il n'y a rien dont le supprimer.", "That isn't a drop this app made.": "Ce n'est pas une suppression faite par cette application.", "That isn't a stash this app recorded.": "Ce n'est pas un stash enregistré par cette application.", @@ -1094,6 +1104,7 @@ "That stash is no longer in the repository.": "Ce stash n'est plus dans le dépôt.", "That stash no longer exists.": "Ce stash n'existe plus.", "That's a merge commit — dropping it would flatten the history it joined. Revert it instead.": "C'est un commit de fusion — le supprimer aplatirait l'historique qu'il a rejoint. Annulez-le plutôt.", + "That's a merge commit — editing its message would flatten the history it joined. Use an interactive rebase that keeps merges instead.": "C'est un commit de fusion — reformuler son message aplatirait l'historique qu'elle a rejoint. Utilisez plutôt un rebase interactif qui conserve les fusions.", "That's the only commit on the branch — dropping it would leave nothing.": "C'est le seul commit de la branche — le supprimer ne laisserait rien.", "The branch goes back to where it was before the series started. Patches already applied are ": "La branche revient là où elle était avant le début de la série. Les patches déjà appliqués sont ", "The branch has moved since the {0}, so undoing it now would throw that away too. Nothing was changed.": "La branche a bougé depuis {0}, donc l'annuler maintenant jetterait aussi cela. Rien n'a été modifié.", @@ -1113,6 +1124,7 @@ "The commit being cherry-picked: {0} “{1}”": "Le commit en cours de cherry-pick : {0} « {1} »", "The commit is": "Le commit est", "The commit is added to {0} as one new commit.": "Le commit est ajouté à {0} comme un seul nouveau commit.", + "The commit needs a message.": "Le commit a besoin d'un message.", "The conflict is back, but {0} couldn't be restored on disk.": "Le conflit est de retour, mais {0} n'a pas pu être restauré sur le disque.", "The conflicted files are back to their last committed versions.": "Les fichiers en conflit sont revenus à leurs dernières versions validées.", "The conflicts list: every conflicted file of this {0}, and {1}{2}": "La liste des conflits : chaque fichier en conflit de ce {0}, et {1}{2}", @@ -1201,7 +1213,8 @@ "This window has {0} open, so it can't be removed from here — its folder would be deleted from under the window. Remove it from another window, or open something else in this one first.": "Cette fenêtre a {0} ouvert, donc il ne peut pas être supprimé depuis ici — son dossier serait supprimé sous la fenêtre. Supprimez-le depuis une autre fenêtre, ou ouvrez autre chose dans celle-ci d'abord.", "Those are all the commits on the branch — dropping them would leave nothing.": "Ce sont tous les commits de la branche — les supprimer ne laisserait rien.", "Those changes are no longer there — refresh and try again.": "Ces modifications ne sont plus là — actualisez et réessayez.", - "Those commits are too far down the branch to {0} from here. Start an interactive rebase instead.": "Ces commits sont trop loin dans la branche pour {0} depuis ici. Démarrez plutôt un rebase interactif.", + "Those commits are too far down the branch to drop from here. Start an interactive rebase instead.": "Ces commits sont trop loin dans la branche pour être supprimés depuis ici. Démarrez plutôt un rebase interactif.", + "Those commits are too far down the branch to squash from here. Start an interactive rebase instead.": "Ces commits sont trop loin dans la branche pour être squashés depuis ici. Démarrez plutôt un rebase interactif.", "Throw your pending comments away without sending them": "Jeter vos commentaires en attente sans les envoyer", "Timed out": "Délai dépassé", "Title": "Titre", @@ -1279,6 +1292,7 @@ "You (@{0})": "Vous (@{0})", "You have uncommitted changes. Commit or stash them, then drop the commit.": "Vous avez des modifications non validées. Validez-les ou remisez-les, puis supprimez le commit.", "You have uncommitted changes. Commit or stash them, then drop the commits.": "Vous avez des modifications non validées. Validez-les ou remisez-les, puis supprimez les commits.", + "You have uncommitted changes. Commit or stash them, then edit the message.": "Vous avez des modifications non validées. Validez-les ou remisez-les, puis reformulez le message.", "You have uncommitted changes. Commit or stash them, then squash the commits.": "Vous avez des modifications non validées. Validez-les ou remisez-les, puis squashez les commits.", "You have uncommitted changes. Commit or stash them, then start the rebase.": "Vous avez des modifications non validées. Validez-les ou remisez-les, puis démarrez le rebase.", "You've made commits on the detached HEAD since (it is at {0} now), and switching back would leave them on no branch. Create a branch for them first, then undo.": "Vous avez fait des commits sur la HEAD détachée depuis (elle est maintenant à {0}), et revenir en arrière les laisserait sans branche. Créez d'abord une branche pour eux, puis annulez.", @@ -1389,6 +1403,7 @@ "dropping a commit": "suppression d'un commit", "dropping commits": "suppression de commits", "edit": "modifier", + "editing a commit message": "reformulation d'un message de commit", "either arrow takes it": "n'importe quelle flèche la prend", "file": "fichier", "files": "fichiers", @@ -1731,6 +1746,7 @@ "{0} of {1} ticked · untick the last for all": "{0} sur {1} cochés · décochez le dernier pour tous", "{0} on this file": "{0} sur ce fichier", "{0} on {1}": "{0} sur {1}", + "{0} on {1} gets the message below.": "{0} sur {1} reçoit le message ci-dessous.", "{0} on {1} not pulled yet.": "{0} sur {1} pas encore tiré.", "{0} on {1}/{2} yet: {3} pushed first.": "{0} sur {1}/{2} encore : {3} poussé d'abord.", "{0} or ": "{0} ou ", diff --git a/apps/merge-studio/l10n/bundle.l10n.it.json b/apps/merge-studio/l10n/bundle.l10n.it.json index a8199eda..8b27f02b 100644 --- a/apps/merge-studio/l10n/bundle.l10n.it.json +++ b/apps/merge-studio/l10n/bundle.l10n.it.json @@ -149,6 +149,7 @@ "All {0} commits are": "Tutti i {0} commit sono", "All {0} {1} are": "Tutti i {0} {1} sono", "Already merged in the file, outside the conflict markers (by git, or by hand): check it": "Già unito nel file, fuori dai marcatori di conflitto (da git, o a mano): verificalo", + "Already pushed. Editing its message would rewrite history other people have. The next push will need to be a force push.": "Già sottoposto a push. Correggere il suo messaggio riscriverebbe una cronologia che altre persone hanno. Il prossimo push dovrà essere un push forzato.", "Already pushed. {0} it would rewrite history other people have.": "Già sottoposto a push. {0} riscriverebbe una cronologia che altre persone hanno.", "Already rebased commits": "Commit già sottoposti a rebase", "Already rebased commits and commits from main": "Commit già sottoposti a rebase e commit da main", @@ -292,6 +293,7 @@ "Commit graph": "Grafico dei commit", "Commit list": "Elenco dei commit", "Commit message": "Messaggio di commit", + "Commit message changed.": "Messaggio di commit modificato.", "Commit or stash {0}, then pull again.": "Esegui il commit o lo stash di {0}, poi esegui di nuovo il pull.", "Commit title": "Titolo del commit", "Commit {0}": "Commit {0}", @@ -335,6 +337,8 @@ "Copy the pull request's link": "Copia il collegamento della pull request", "Couldn't abort the rebase.": "Non è stato possibile interrompere il rebase.", "Couldn't bring the conflict in {0} back.": "Non è stato possibile ripristinare il conflitto in {0}.", + "Couldn't change the commit message.": "Non è stato possibile modificare il messaggio di commit.", + "Couldn't change the commit message: {0}": "Non è stato possibile modificare il messaggio di commit: {0}", "Couldn't compare the branches": "Non è stato possibile confrontare i rami", "Couldn't delete {0}.": "Non è stato possibile eliminare {0}.", "Couldn't drop {0}.": "Non è stato possibile eliminare {0}.", @@ -429,7 +433,10 @@ "Dropping {0} hit a conflict while replaying a later commit. Resolve it and continue the rebase — or skip that commit, or abort to put the branch back as it was.": "L'eliminazione di {0} ha incontrato un conflitto durante la riproduzione di un commit successivo. Risolvilo e continua il rebase — oppure salta quel commit, oppure interrompi per riportare il ramo com'era.", "Dropping {0} stopped and needs you — continue the rebase, or abort it to put the branch back as it was.": "L'eliminazione di {0} si è fermata e richiede il tuo intervento — continua il rebase, oppure interrompilo per riportare il ramo com'era.", "Edit": "Modifica", + "Edit commit message": "Correggi il messaggio di commit", "Edit result": "Modifica risultato", + "Editing the message hit a conflict while replaying a later commit. Resolve it and continue the rebase — or abort to put the branch back as it was.": "La correzione del messaggio ha incontrato un conflitto durante la riproduzione di un commit successivo. Risolvilo e continua il rebase — oppure interrompi per riportare il ramo com'era.", + "Editing the message stopped and needs you — continue the rebase, or abort it to put the branch back as it was.": "La correzione del messaggio si è fermata e richiede il tuo intervento — continua il rebase, oppure interrompilo per riportare il ramo com'era.", "Errored": "Errore", "Every check on its latest commit": "Ogni controllo sul suo ultimo commit", "Every conflict is resolved, and your stashed changes are in your files. git keeps the stash entry when applying it stops on conflicts, so it is still in your stash list — drop it once you are happy with the result.": "Ogni conflitto è risolto, e le tue modifiche nello stash sono nei tuoi file. git conserva la voce dello stash quando la sua applicazione si ferma per conflitti, quindi è ancora nel tuo elenco di stash — eliminala quando sei soddisfatto del risultato.", @@ -893,6 +900,7 @@ "Reopen pull request": "Riapri pull request", "Reopen this pull request": "Riapri questa pull request", "Reopening…": "Riapertura in corso…", + "Reordering": "Riordino in corso", "Reordering stops at a merge — moving a commit past one would flatten it.": "Il riordino si ferma a un merge — spostare un commit oltre uno lo appiattirebbe.", "Replace and stage": "Sostituisci e metti in stage", "Replace the file with {0} and stage it": "Sostituisci il file con {0} e mettilo in stage", @@ -1084,6 +1092,8 @@ "Template: {0}": "Modello: {0}", "That change is no longer there — the file moved underneath. Refresh and try again.": "Quella modifica non c'è più — il file si è spostato. Aggiorna e riprova.", "That commit is too far down the branch to drop from here. Start an interactive rebase from it instead.": "Quel commit è troppo in basso nel ramo per eliminarlo da qui. Avvia invece un rebase interattivo da lì.", + "That commit is too far down the branch to edit from here. Start an interactive rebase instead.": "Quel commit è troppo in basso nel ramo per correggerlo da qui. Avvia invece un rebase interattivo.", + "That commit isn't on the current branch, so its message can't be edited from here.": "Quel commit non è sul ramo corrente, quindi il suo messaggio non può essere corretto da qui.", "That commit isn't on the current branch, so there's nothing to drop it from.": "Quel commit non è sul ramo corrente, quindi non c'è nulla da cui eliminarlo.", "That isn't a drop this app made.": "Questo non è un drop fatto da questa app.", "That isn't a stash this app recorded.": "Questo non è uno stash registrato da questa app.", @@ -1094,6 +1104,7 @@ "That stash is no longer in the repository.": "Quello stash non è più nel repository.", "That stash no longer exists.": "Quello stash non esiste più.", "That's a merge commit — dropping it would flatten the history it joined. Revert it instead.": "Questo è un commit di merge — eliminarlo appiattirebbe la cronologia che univa. Esegui invece il revert.", + "That's a merge commit — editing its message would flatten the history it joined. Use an interactive rebase that keeps merges instead.": "Questo è un commit di merge — correggere il suo messaggio appiattirebbe la cronologia che univa. Usa invece un rebase interattivo che conserva i merge.", "That's the only commit on the branch — dropping it would leave nothing.": "È l'unico commit sul ramo — eliminarlo non lascerebbe nulla.", "The branch goes back to where it was before the series started. Patches already applied are ": "Il ramo torna a dov'era prima dell'inizio della serie. Le patch già applicate sono ", "The branch has moved since the {0}, so undoing it now would throw that away too. Nothing was changed.": "Il ramo si è spostato dopo {0}, quindi annullarlo ora butterebbe via anche questo. Non è stato modificato nulla.", @@ -1113,6 +1124,7 @@ "The commit being cherry-picked: {0} “{1}”": "Il commit di cui si sta facendo il cherry-pick: {0} “{1}”", "The commit is": "Il commit è", "The commit is added to {0} as one new commit.": "Il commit viene aggiunto a {0} come un nuovo commit.", + "The commit needs a message.": "Il commit ha bisogno di un messaggio.", "The conflict is back, but {0} couldn't be restored on disk.": "Il conflitto è tornato, ma {0} non è stato possibile ripristinarlo su disco.", "The conflicted files are back to their last committed versions.": "I file in conflitto sono tornati alle loro ultime versioni committate.", "The conflicts list: every conflicted file of this {0}, and {1}{2}": "L'elenco dei conflitti: ogni file in conflitto di questo {0}, e {1}{2}", @@ -1201,7 +1213,8 @@ "This window has {0} open, so it can't be removed from here — its folder would be deleted from under the window. Remove it from another window, or open something else in this one first.": "Questa finestra ha {0} aperto, quindi non può essere rimosso da qui — la sua cartella verrebbe eliminata da sotto la finestra. Rimuovilo da un'altra finestra, oppure apri prima qualcos'altro in questa.", "Those are all the commits on the branch — dropping them would leave nothing.": "Sono tutti i commit sul ramo — eliminarli non lascerebbe nulla.", "Those changes are no longer there — refresh and try again.": "Quelle modifiche non ci sono più — aggiorna e riprova.", - "Those commits are too far down the branch to {0} from here. Start an interactive rebase instead.": "Quei commit sono troppo in basso nel ramo per {0} da qui. Avvia invece un rebase interattivo.", + "Those commits are too far down the branch to drop from here. Start an interactive rebase instead.": "Quei commit sono troppo in basso nel ramo per eliminarli da qui. Avvia invece un rebase interattivo.", + "Those commits are too far down the branch to squash from here. Start an interactive rebase instead.": "Quei commit sono troppo in basso nel ramo per eseguire lo squash da qui. Avvia invece un rebase interattivo.", "Throw your pending comments away without sending them": "Butta via i tuoi commenti in sospeso senza inviarli", "Timed out": "Tempo scaduto", "Title": "Titolo", @@ -1279,6 +1292,7 @@ "You (@{0})": "Tu (@{0})", "You have uncommitted changes. Commit or stash them, then drop the commit.": "Hai modifiche non committate. Fai il commit o lo stash, poi elimina il commit.", "You have uncommitted changes. Commit or stash them, then drop the commits.": "Hai modifiche non committate. Fai il commit o lo stash, poi elimina i commit.", + "You have uncommitted changes. Commit or stash them, then edit the message.": "Hai modifiche non committate. Fai il commit o lo stash, poi correggi il messaggio.", "You have uncommitted changes. Commit or stash them, then squash the commits.": "Hai modifiche non committate. Fai il commit o lo stash, poi esegui lo squash dei commit.", "You have uncommitted changes. Commit or stash them, then start the rebase.": "Hai modifiche non committate. Fai il commit o lo stash, poi avvia il rebase.", "You've made commits on the detached HEAD since (it is at {0} now), and switching back would leave them on no branch. Create a branch for them first, then undo.": "Hai fatto commit sull'HEAD distaccato da allora (ora è a {0}), e tornare indietro li lascerebbe senza ramo. Crea prima un ramo per loro, poi esegui Undo.", @@ -1389,6 +1403,7 @@ "dropping a commit": "eliminazione di un commit", "dropping commits": "eliminazione di commit", "edit": "modifica", + "editing a commit message": "correzione del messaggio di un commit", "either arrow takes it": "una qualsiasi delle due frecce lo seleziona", "file": "file", "files": "file", @@ -1731,6 +1746,7 @@ "{0} of {1} ticked · untick the last for all": "{0} di {1} selezionati · deseleziona l'ultimo per tutti", "{0} on this file": "{0} su questo file", "{0} on {1}": "{0} su {1}", + "{0} on {1} gets the message below.": "{0} su {1} riceve il messaggio sotto.", "{0} on {1} not pulled yet.": "{0} su {1} non ancora pullati.", "{0} on {1}/{2} yet: {3} pushed first.": "{0} su {1}/{2} ancora: {3} pushato prima.", "{0} or ": "{0} oppure ", diff --git a/apps/merge-studio/l10n/bundle.l10n.ja.json b/apps/merge-studio/l10n/bundle.l10n.ja.json index cc092ef0..6ff18003 100644 --- a/apps/merge-studio/l10n/bundle.l10n.ja.json +++ b/apps/merge-studio/l10n/bundle.l10n.ja.json @@ -149,6 +149,7 @@ "All {0} commits are": "{0} 件のコミットすべてが", "All {0} {1} are": "{0} 件の {1} すべてが", "Already merged in the file, outside the conflict markers (by git, or by hand): check it": "コンフリクトマーカーの外側で(git によって、または手動で)既にファイルにマージ済みです: 確認してください", + "Already pushed. Editing its message would rewrite history other people have. The next push will need to be a force push.": "既にプッシュされています。メッセージを変更すると、他の人が持つ履歴を書き換えてしまいます。次のプッシュは強制プッシュが必要になります。", "Already pushed. {0} it would rewrite history other people have.": "既にプッシュされています。{0} すると、他の人が持つ履歴を書き換えてしまいます。", "Already rebased commits": "既にリベース済みのコミット", "Already rebased commits and commits from main": "既にリベース済みのコミットと main のコミット", @@ -292,6 +293,7 @@ "Commit graph": "コミットグラフ", "Commit list": "コミット一覧", "Commit message": "コミットメッセージ", + "Commit message changed.": "コミットメッセージを変更しました。", "Commit or stash {0}, then pull again.": "{0} をコミットまたはスタッシュしてから、再度プルしてください。", "Commit title": "コミットタイトル", "Commit {0}": "コミット {0}", @@ -335,6 +337,8 @@ "Copy the pull request's link": "プルリクエストのリンクをコピー", "Couldn't abort the rebase.": "リベースを中止できませんでした。", "Couldn't bring the conflict in {0} back.": "{0} のコンフリクトを元に戻せませんでした。", + "Couldn't change the commit message.": "コミットメッセージを変更できませんでした。", + "Couldn't change the commit message: {0}": "コミットメッセージを変更できませんでした: {0}", "Couldn't compare the branches": "ブランチを比較できませんでした", "Couldn't delete {0}.": "{0} を削除できませんでした。", "Couldn't drop {0}.": "{0} を drop できませんでした。", @@ -429,7 +433,10 @@ "Dropping {0} hit a conflict while replaying a later commit. Resolve it and continue the rebase — or skip that commit, or abort to put the branch back as it was.": "{0}のドロップは、後のコミットを再生する際にコンフリクトが発生しました。解決してリベースを続行するか、そのコミットをスキップするか、中止してブランチを元の状態に戻してください。", "Dropping {0} stopped and needs you — continue the rebase, or abort it to put the branch back as it was.": "{0}のドロップが停止し、あなたの対応が必要です — リベースを続行するか、中止してブランチを元の状態に戻してください。", "Edit": "編集", + "Edit commit message": "コミットメッセージを変更", "Edit result": "結果を編集", + "Editing the message hit a conflict while replaying a later commit. Resolve it and continue the rebase — or abort to put the branch back as it was.": "メッセージの変更は、後のコミットを再生する際にコンフリクトが発生しました。解決してリベースを続行するか、中止してブランチを元の状態に戻してください。", + "Editing the message stopped and needs you — continue the rebase, or abort it to put the branch back as it was.": "メッセージの変更が停止し、あなたの対応が必要です — リベースを続行するか、中止してブランチを元の状態に戻してください。", "Errored": "エラー発生", "Every check on its latest commit": "最新コミットのすべてのチェック", "Every conflict is resolved, and your stashed changes are in your files. git keeps the stash entry when applying it stops on conflicts, so it is still in your stash list — drop it once you are happy with the result.": "すべてのコンフリクトが解決され、スタッシュした変更がファイルに反映されました。git はコンフリクトで適用が停止した場合、スタッシュエントリを残すため、まだスタッシュ一覧に残っています — 結果に問題がなければドロップしてください。", @@ -893,6 +900,7 @@ "Reopen pull request": "プルリクエストを再オープン", "Reopen this pull request": "このプルリクエストを再オープン", "Reopening…": "再オープン中…", + "Reordering": "並べ替え中", "Reordering stops at a merge — moving a commit past one would flatten it.": "並べ替えはマージで止まります — コミットをマージより先に移動すると、それがフラット化されてしまいます。", "Replace and stage": "置き換えてステージ", "Replace the file with {0} and stage it": "ファイルを{0}で置き換えてステージ", @@ -1084,6 +1092,8 @@ "Template: {0}": "テンプレート: {0}", "That change is no longer there — the file moved underneath. Refresh and try again.": "その変更はもうありません — ファイルの内容が変わっています。更新して再試行してください。", "That commit is too far down the branch to drop from here. Start an interactive rebase from it instead.": "そのコミットはブランチの下の方にあるため、ここからは削除できません。代わりにそこからインタラクティブリベースを開始してください。", + "That commit is too far down the branch to edit from here. Start an interactive rebase instead.": "そのコミットはブランチの下の方にあるため、ここから変更できません。代わりにインタラクティブリベースを開始してください。", + "That commit isn't on the current branch, so its message can't be edited from here.": "そのコミットは現在のブランチ上にないため、ここからメッセージを変更できません。", "That commit isn't on the current branch, so there's nothing to drop it from.": "そのコミットは現在のブランチにないため、削除する対象がありません。", "That isn't a drop this app made.": "それはこのアプリが行った削除ではありません。", "That isn't a stash this app recorded.": "それはこのアプリが記録したスタッシュではありません。", @@ -1094,6 +1104,7 @@ "That stash is no longer in the repository.": "そのスタッシュはもうリポジトリにありません。", "That stash no longer exists.": "そのスタッシュはもう存在しません。", "That's a merge commit — dropping it would flatten the history it joined. Revert it instead.": "それはマージコミットです — 削除すると、結合された履歴がフラット化されます。代わりに取り消しを使ってください。", + "That's a merge commit — editing its message would flatten the history it joined. Use an interactive rebase that keeps merges instead.": "それはマージコミットです — メッセージを変更すると、結合された履歴がフラット化されます。代わりに、マージを保持するインタラクティブリベースを使ってください。", "That's the only commit on the branch — dropping it would leave nothing.": "それはブランチ上の唯一のコミットです — 削除すると何も残りません。", "The branch goes back to where it was before the series started. Patches already applied are ": "ブランチはシリーズ開始前の状態に戻ります。既に適用されたパッチは ", "The branch has moved since the {0}, so undoing it now would throw that away too. Nothing was changed.": "{0}の後にブランチが移動したため、今元に戻すとそれも失われます。何も変更されませんでした。", @@ -1113,6 +1124,7 @@ "The commit being cherry-picked: {0} “{1}”": "チェリーピック中のコミット: {0} 「{1}」", "The commit is": "そのコミットは", "The commit is added to {0} as one new commit.": "コミットは1つの新しいコミットとして{0}に追加されます。", + "The commit needs a message.": "コミットにはメッセージが必要です。", "The conflict is back, but {0} couldn't be restored on disk.": "コンフリクトは元に戻りましたが、{0}はディスク上で復元できませんでした。", "The conflicted files are back to their last committed versions.": "コンフリクトのあったファイルは最後にコミットされたバージョンに戻りました。", "The conflicts list: every conflicted file of this {0}, and {1}{2}": "コンフリクトのリスト: この{0}のコンフリクトのあるすべてのファイルと{1}{2}", @@ -1201,7 +1213,8 @@ "This window has {0} open, so it can't be removed from here — its folder would be deleted from under the window. Remove it from another window, or open something else in this one first.": "このウィンドウで{0}が開かれているため、ここから削除できません — ウィンドウの下でフォルダーが削除されてしまいます。別のウィンドウから削除するか、先にこのウィンドウで別のものを開いてください。", "Those are all the commits on the branch — dropping them would leave nothing.": "それらはブランチ上のすべてのコミットです — 削除すると何も残りません。", "Those changes are no longer there — refresh and try again.": "それらの変更はもうありません — 更新して再試行してください。", - "Those commits are too far down the branch to {0} from here. Start an interactive rebase instead.": "それらのコミットはブランチの下の方にあるため、ここから{0}できません。代わりにインタラクティブリベースを開始してください。", + "Those commits are too far down the branch to drop from here. Start an interactive rebase instead.": "それらのコミットはブランチの下の方にあるため、ここからドロップできません。代わりにインタラクティブリベースを開始してください。", + "Those commits are too far down the branch to squash from here. Start an interactive rebase instead.": "それらのコミットはブランチの下の方にあるため、ここからsquashできません。代わりにインタラクティブリベースを開始してください。", "Throw your pending comments away without sending them": "保留中のコメントを送信せずに破棄", "Timed out": "タイムアウトしました", "Title": "タイトル", @@ -1279,6 +1292,7 @@ "You (@{0})": "あなた (@{0})", "You have uncommitted changes. Commit or stash them, then drop the commit.": "未コミットの変更があります。コミットまたはスタッシュしてから、このコミットを削除してください。", "You have uncommitted changes. Commit or stash them, then drop the commits.": "未コミットの変更があります。コミットまたはスタッシュしてから、これらのコミットを削除してください。", + "You have uncommitted changes. Commit or stash them, then edit the message.": "未コミットの変更があります。コミットまたはスタッシュしてから、メッセージを変更してください。", "You have uncommitted changes. Commit or stash them, then squash the commits.": "未コミットの変更があります。コミットまたはスタッシュしてから、コミットをスカッシュしてください。", "You have uncommitted changes. Commit or stash them, then start the rebase.": "未コミットの変更があります。コミットまたはスタッシュしてから、リベースを開始してください。", "You've made commits on the detached HEAD since (it is at {0} now), and switching back would leave them on no branch. Create a branch for them first, then undo.": "それ以降、分離HEAD上でコミットを行いました(現在は {0} です)。元に戻すとそれらのコミットはどのブランチにも属さなくなります。先にブランチを作成してから元に戻してください。", @@ -1389,6 +1403,7 @@ "dropping a commit": "コミットの削除", "dropping commits": "コミットの削除", "edit": "編集", + "editing a commit message": "コミットメッセージの変更", "either arrow takes it": "どちらの矢印でも移動できます", "file": "ファイル", "files": "ファイル", @@ -1731,6 +1746,7 @@ "{0} of {1} ticked · untick the last for all": "{1} 件中 {0} 件にチェック · すべてにするには最後のチェックを外してください", "{0} on this file": "このファイルの {0}", "{0} on {1}": "{1} の {0}", + "{0} on {1} gets the message below.": "{1} の {0} は、以下のメッセージになります。", "{0} on {1} not pulled yet.": "{1} の {0} はまだプルされていません。", "{0} on {1}/{2} yet: {3} pushed first.": "{1}/{2} にまだ {0} ありません: 先に {3} プッシュされます。", "{0} or ": "{0} または", diff --git a/apps/merge-studio/l10n/bundle.l10n.json b/apps/merge-studio/l10n/bundle.l10n.json index 511efa46..e05379b8 100644 --- a/apps/merge-studio/l10n/bundle.l10n.json +++ b/apps/merge-studio/l10n/bundle.l10n.json @@ -149,6 +149,7 @@ "All {0} commits are": "All {0} commits are", "All {0} {1} are": "All {0} {1} are", "Already merged in the file, outside the conflict markers (by git, or by hand): check it": "Already merged in the file, outside the conflict markers (by git, or by hand): check it", + "Already pushed. Editing its message would rewrite history other people have. The next push will need to be a force push.": "Already pushed. Editing its message would rewrite history other people have. The next push will need to be a force push.", "Already pushed. {0} it would rewrite history other people have.": "Already pushed. {0} it would rewrite history other people have.", "Already rebased commits": "Already rebased commits", "Already rebased commits and commits from main": "Already rebased commits and commits from main", @@ -292,6 +293,7 @@ "Commit graph": "Commit graph", "Commit list": "Commit list", "Commit message": "Commit message", + "Commit message changed.": "Commit message changed.", "Commit or stash {0}, then pull again.": "Commit or stash {0}, then pull again.", "Commit title": "Commit title", "Commit {0}": "Commit {0}", @@ -335,6 +337,8 @@ "Copy the pull request's link": "Copy the pull request's link", "Couldn't abort the rebase.": "Couldn't abort the rebase.", "Couldn't bring the conflict in {0} back.": "Couldn't bring the conflict in {0} back.", + "Couldn't change the commit message.": "Couldn't change the commit message.", + "Couldn't change the commit message: {0}": "Couldn't change the commit message: {0}", "Couldn't compare the branches": "Couldn't compare the branches", "Couldn't delete {0}.": "Couldn't delete {0}.", "Couldn't drop {0}.": "Couldn't drop {0}.", @@ -429,7 +433,10 @@ "Dropping {0} hit a conflict while replaying a later commit. Resolve it and continue the rebase — or skip that commit, or abort to put the branch back as it was.": "Dropping {0} hit a conflict while replaying a later commit. Resolve it and continue the rebase — or skip that commit, or abort to put the branch back as it was.", "Dropping {0} stopped and needs you — continue the rebase, or abort it to put the branch back as it was.": "Dropping {0} stopped and needs you — continue the rebase, or abort it to put the branch back as it was.", "Edit": "Edit", + "Edit commit message": "Edit commit message", "Edit result": "Edit result", + "Editing the message hit a conflict while replaying a later commit. Resolve it and continue the rebase — or abort to put the branch back as it was.": "Editing the message hit a conflict while replaying a later commit. Resolve it and continue the rebase — or abort to put the branch back as it was.", + "Editing the message stopped and needs you — continue the rebase, or abort it to put the branch back as it was.": "Editing the message stopped and needs you — continue the rebase, or abort it to put the branch back as it was.", "Errored": "Errored", "Every check on its latest commit": "Every check on its latest commit", "Every conflict is resolved, and your stashed changes are in your files. git keeps the stash entry when applying it stops on conflicts, so it is still in your stash list — drop it once you are happy with the result.": "Every conflict is resolved, and your stashed changes are in your files. git keeps the stash entry when applying it stops on conflicts, so it is still in your stash list — drop it once you are happy with the result.", @@ -893,6 +900,7 @@ "Reopen pull request": "Reopen pull request", "Reopen this pull request": "Reopen this pull request", "Reopening…": "Reopening…", + "Reordering": "Reordering", "Reordering stops at a merge — moving a commit past one would flatten it.": "Reordering stops at a merge — moving a commit past one would flatten it.", "Replace and stage": "Replace and stage", "Replace the file with {0} and stage it": "Replace the file with {0} and stage it", @@ -1084,6 +1092,8 @@ "Template: {0}": "Template: {0}", "That change is no longer there — the file moved underneath. Refresh and try again.": "That change is no longer there — the file moved underneath. Refresh and try again.", "That commit is too far down the branch to drop from here. Start an interactive rebase from it instead.": "That commit is too far down the branch to drop from here. Start an interactive rebase from it instead.", + "That commit is too far down the branch to edit from here. Start an interactive rebase instead.": "That commit is too far down the branch to edit from here. Start an interactive rebase instead.", + "That commit isn't on the current branch, so its message can't be edited from here.": "That commit isn't on the current branch, so its message can't be edited from here.", "That commit isn't on the current branch, so there's nothing to drop it from.": "That commit isn't on the current branch, so there's nothing to drop it from.", "That isn't a drop this app made.": "That isn't a drop this app made.", "That isn't a stash this app recorded.": "That isn't a stash this app recorded.", @@ -1094,6 +1104,7 @@ "That stash is no longer in the repository.": "That stash is no longer in the repository.", "That stash no longer exists.": "That stash no longer exists.", "That's a merge commit — dropping it would flatten the history it joined. Revert it instead.": "That's a merge commit — dropping it would flatten the history it joined. Revert it instead.", + "That's a merge commit — editing its message would flatten the history it joined. Use an interactive rebase that keeps merges instead.": "That's a merge commit — editing its message would flatten the history it joined. Use an interactive rebase that keeps merges instead.", "That's the only commit on the branch — dropping it would leave nothing.": "That's the only commit on the branch — dropping it would leave nothing.", "The branch goes back to where it was before the series started. Patches already applied are ": "The branch goes back to where it was before the series started. Patches already applied are ", "The branch has moved since the {0}, so undoing it now would throw that away too. Nothing was changed.": "The branch has moved since the {0}, so undoing it now would throw that away too. Nothing was changed.", @@ -1113,6 +1124,7 @@ "The commit being cherry-picked: {0} “{1}”": "The commit being cherry-picked: {0} “{1}”", "The commit is": "The commit is", "The commit is added to {0} as one new commit.": "The commit is added to {0} as one new commit.", + "The commit needs a message.": "The commit needs a message.", "The conflict is back, but {0} couldn't be restored on disk.": "The conflict is back, but {0} couldn't be restored on disk.", "The conflicted files are back to their last committed versions.": "The conflicted files are back to their last committed versions.", "The conflicts list: every conflicted file of this {0}, and {1}{2}": "The conflicts list: every conflicted file of this {0}, and {1}{2}", @@ -1201,7 +1213,8 @@ "This window has {0} open, so it can't be removed from here — its folder would be deleted from under the window. Remove it from another window, or open something else in this one first.": "This window has {0} open, so it can't be removed from here — its folder would be deleted from under the window. Remove it from another window, or open something else in this one first.", "Those are all the commits on the branch — dropping them would leave nothing.": "Those are all the commits on the branch — dropping them would leave nothing.", "Those changes are no longer there — refresh and try again.": "Those changes are no longer there — refresh and try again.", - "Those commits are too far down the branch to {0} from here. Start an interactive rebase instead.": "Those commits are too far down the branch to {0} from here. Start an interactive rebase instead.", + "Those commits are too far down the branch to drop from here. Start an interactive rebase instead.": "Those commits are too far down the branch to drop from here. Start an interactive rebase instead.", + "Those commits are too far down the branch to squash from here. Start an interactive rebase instead.": "Those commits are too far down the branch to squash from here. Start an interactive rebase instead.", "Throw your pending comments away without sending them": "Throw your pending comments away without sending them", "Timed out": "Timed out", "Title": "Title", @@ -1279,6 +1292,7 @@ "You (@{0})": "You (@{0})", "You have uncommitted changes. Commit or stash them, then drop the commit.": "You have uncommitted changes. Commit or stash them, then drop the commit.", "You have uncommitted changes. Commit or stash them, then drop the commits.": "You have uncommitted changes. Commit or stash them, then drop the commits.", + "You have uncommitted changes. Commit or stash them, then edit the message.": "You have uncommitted changes. Commit or stash them, then edit the message.", "You have uncommitted changes. Commit or stash them, then squash the commits.": "You have uncommitted changes. Commit or stash them, then squash the commits.", "You have uncommitted changes. Commit or stash them, then start the rebase.": "You have uncommitted changes. Commit or stash them, then start the rebase.", "You've made commits on the detached HEAD since (it is at {0} now), and switching back would leave them on no branch. Create a branch for them first, then undo.": "You've made commits on the detached HEAD since (it is at {0} now), and switching back would leave them on no branch. Create a branch for them first, then undo.", @@ -1389,6 +1403,7 @@ "dropping a commit": "dropping a commit", "dropping commits": "dropping commits", "edit": "edit", + "editing a commit message": "editing a commit message", "either arrow takes it": "either arrow takes it", "file": "file", "files": "files", @@ -1731,6 +1746,7 @@ "{0} of {1} ticked · untick the last for all": "{0} of {1} ticked · untick the last for all", "{0} on this file": "{0} on this file", "{0} on {1}": "{0} on {1}", + "{0} on {1} gets the message below.": "{0} on {1} gets the message below.", "{0} on {1} not pulled yet.": "{0} on {1} not pulled yet.", "{0} on {1}/{2} yet: {3} pushed first.": "{0} on {1}/{2} yet: {3} pushed first.", "{0} or ": "{0} or ", diff --git a/apps/merge-studio/l10n/bundle.l10n.ko.json b/apps/merge-studio/l10n/bundle.l10n.ko.json index dde8a826..a271bb34 100644 --- a/apps/merge-studio/l10n/bundle.l10n.ko.json +++ b/apps/merge-studio/l10n/bundle.l10n.ko.json @@ -149,6 +149,7 @@ "All {0} commits are": "커밋 {0}개가 모두", "All {0} {1} are": "{0} {1}개가 모두", "Already merged in the file, outside the conflict markers (by git, or by hand): check it": "이미 파일에서 충돌 마커 바깥에 병합됨(git이나 직접): 확인하세요", + "Already pushed. Editing its message would rewrite history other people have. The next push will need to be a force push.": "이미 푸시되었습니다. 메시지 수정을 실행하면 다른 사람이 가진 기록을 다시 작성하게 됩니다. 다음 푸시는 강제 푸시가 필요합니다.", "Already pushed. {0} it would rewrite history other people have.": "이미 푸시되었습니다. {0}을 실행하면 다른 사람이 가진 기록을 다시 작성하게 됩니다.", "Already rebased commits": "이미 리베이스된 커밋", "Already rebased commits and commits from main": "이미 리베이스된 커밋과 main의 커밋", @@ -292,6 +293,7 @@ "Commit graph": "커밋 그래프", "Commit list": "커밋 목록", "Commit message": "커밋 메시지", + "Commit message changed.": "커밋 메시지가 변경되었습니다.", "Commit or stash {0}, then pull again.": "{0}을 커밋하거나 스태시한 후 다시 풀하세요.", "Commit title": "커밋 제목", "Commit {0}": "커밋 {0}", @@ -335,6 +337,8 @@ "Copy the pull request's link": "풀 리퀘스트 링크 복사", "Couldn't abort the rebase.": "리베이스를 중단할 수 없었습니다.", "Couldn't bring the conflict in {0} back.": "{0}의 충돌을 되돌릴 수 없었습니다.", + "Couldn't change the commit message.": "커밋 메시지를 변경할 수 없었습니다.", + "Couldn't change the commit message: {0}": "커밋 메시지를 변경할 수 없었습니다: {0}", "Couldn't compare the branches": "브랜치를 비교할 수 없었습니다", "Couldn't delete {0}.": "{0}을 삭제할 수 없었습니다.", "Couldn't drop {0}.": "{0}을 삭제할 수 없었습니다.", @@ -429,7 +433,10 @@ "Dropping {0} hit a conflict while replaying a later commit. Resolve it and continue the rebase — or skip that commit, or abort to put the branch back as it was.": "{0} 삭제 중 이후 커밋을 재생하다 충돌이 발생했습니다. 해결 후 리베이스를 계속하거나, 해당 커밋을 건너뛰거나, 중단하여 브랜치를 원래대로 되돌리세요.", "Dropping {0} stopped and needs you — continue the rebase, or abort it to put the branch back as it was.": "{0} 삭제가 중지되어 확인이 필요합니다 — 리베이스를 계속하거나, 중단하여 브랜치를 원래대로 되돌리세요.", "Edit": "편집", + "Edit commit message": "커밋 메시지 수정", "Edit result": "결과 편집", + "Editing the message hit a conflict while replaying a later commit. Resolve it and continue the rebase — or abort to put the branch back as it was.": "메시지 수정 중 이후 커밋을 재생하다 충돌이 발생했습니다. 해결 후 리베이스를 계속하거나, 중단하여 브랜치를 원래대로 되돌리세요.", + "Editing the message stopped and needs you — continue the rebase, or abort it to put the branch back as it was.": "메시지 수정이 중지되어 확인이 필요합니다 — 리베이스를 계속하거나, 중단하여 브랜치를 원래대로 되돌리세요.", "Errored": "오류 발생", "Every check on its latest commit": "최신 커밋의 모든 검사", "Every conflict is resolved, and your stashed changes are in your files. git keeps the stash entry when applying it stops on conflicts, so it is still in your stash list — drop it once you are happy with the result.": "모든 충돌이 해결되었으며 스태시된 변경 내용이 파일에 반영되었습니다. 적용이 충돌로 중지되면 git이 스태시 항목을 유지하므로 여전히 스태시 목록에 있습니다 — 결과에 만족하면 삭제하세요.", @@ -893,6 +900,7 @@ "Reopen pull request": "풀 리퀘스트 다시 열기", "Reopen this pull request": "이 풀 리퀘스트 다시 열기", "Reopening…": "다시 여는 중…", + "Reordering": "순서 변경 중", "Reordering stops at a merge — moving a commit past one would flatten it.": "순서 변경은 병합 커밋에서 멈춥니다 — 커밋을 그 너머로 옮기면 병합이 사라집니다.", "Replace and stage": "바꾸고 스테이지에 추가", "Replace the file with {0} and stage it": "파일을 {0}으로 바꾸고 스테이지에 추가", @@ -1084,6 +1092,8 @@ "Template: {0}": "템플릿: {0}", "That change is no longer there — the file moved underneath. Refresh and try again.": "그 변경 내용은 더 이상 없습니다 — 파일이 그 아래에서 이동했습니다. 새로고침한 후 다시 시도하세요.", "That commit is too far down the branch to drop from here. Start an interactive rebase from it instead.": "그 커밋은 브랜치에서 너무 아래에 있어 여기서 삭제할 수 없습니다. 대신 거기서부터 대화형 리베이스를 시작하세요.", + "That commit is too far down the branch to edit from here. Start an interactive rebase instead.": "그 커밋은 브랜치에서 너무 아래에 있어 여기서 수정할 수 없습니다. 대신 대화형 리베이스를 시작하세요.", + "That commit isn't on the current branch, so its message can't be edited from here.": "그 커밋은 현재 브랜치에 없어 여기서 메시지를 수정할 수 없습니다.", "That commit isn't on the current branch, so there's nothing to drop it from.": "그 커밋은 현재 브랜치에 없어 여기서 삭제할 것이 없습니다.", "That isn't a drop this app made.": "그것은 이 앱이 만든 삭제가 아닙니다.", "That isn't a stash this app recorded.": "그것은 이 앱이 기록한 스태시가 아닙니다.", @@ -1094,6 +1104,7 @@ "That stash is no longer in the repository.": "그 스태시는 더 이상 리포지토리에 없습니다.", "That stash no longer exists.": "그 스태시는 더 이상 존재하지 않습니다.", "That's a merge commit — dropping it would flatten the history it joined. Revert it instead.": "그것은 병합 커밋입니다 — 삭제하면 합쳐진 기록이 사라집니다. 대신 되돌리세요.", + "That's a merge commit — editing its message would flatten the history it joined. Use an interactive rebase that keeps merges instead.": "그것은 병합 커밋입니다 — 메시지를 수정하면 합쳐진 기록이 사라집니다. 대신 병합을 유지하는 대화형 리베이스를 사용하세요.", "That's the only commit on the branch — dropping it would leave nothing.": "그것이 브랜치의 유일한 커밋입니다 — 삭제하면 아무것도 남지 않습니다.", "The branch goes back to where it was before the series started. Patches already applied are ": "브랜치가 시리즈를 시작하기 전 상태로 돌아갑니다. 이미 적용된 패치는 ", "The branch has moved since the {0}, so undoing it now would throw that away too. Nothing was changed.": "{0} 이후 브랜치가 이동하여 지금 실행 취소해도 그 내용이 사라집니다. 아무것도 변경되지 않았습니다.", @@ -1113,6 +1124,7 @@ "The commit being cherry-picked: {0} “{1}”": "체리픽 중인 커밋: {0} “{1}”", "The commit is": "커밋은", "The commit is added to {0} as one new commit.": "커밋이 새 커밋 1개로 {0}에 추가됩니다.", + "The commit needs a message.": "커밋에는 메시지가 필요합니다.", "The conflict is back, but {0} couldn't be restored on disk.": "충돌은 돌아왔지만 {0}을 디스크에서 복원할 수 없었습니다.", "The conflicted files are back to their last committed versions.": "충돌한 파일이 마지막 커밋 버전으로 돌아갑니다.", "The conflicts list: every conflicted file of this {0}, and {1}{2}": "충돌 목록: 이 {0}의 충돌한 모든 파일, 그리고 {1}{2}", @@ -1201,7 +1213,8 @@ "This window has {0} open, so it can't be removed from here — its folder would be deleted from under the window. Remove it from another window, or open something else in this one first.": "이 창에 {0}이 열려 있어 여기서 제거할 수 없습니다 — 창 아래의 폴더가 삭제됩니다. 다른 창에서 제거하거나 먼저 이 창에서 다른 것을 여세요.", "Those are all the commits on the branch — dropping them would leave nothing.": "브랜치의 모든 커밋입니다 — 삭제하면 아무것도 남지 않습니다.", "Those changes are no longer there — refresh and try again.": "그 변경 내용은 더 이상 없습니다 — 새로고침한 후 다시 시도하세요.", - "Those commits are too far down the branch to {0} from here. Start an interactive rebase instead.": "그 커밋은 브랜치에서 너무 아래에 있어 여기서 {0}할 수 없습니다. 대신 대화형 리베이스를 시작하세요.", + "Those commits are too far down the branch to drop from here. Start an interactive rebase instead.": "그 커밋들은 브랜치에서 너무 아래에 있어 여기서 삭제할 수 없습니다. 대신 대화형 리베이스를 시작하세요.", + "Those commits are too far down the branch to squash from here. Start an interactive rebase instead.": "그 커밋들은 브랜치에서 너무 아래에 있어 여기서 스쿼시할 수 없습니다. 대신 대화형 리베이스를 시작하세요.", "Throw your pending comments away without sending them": "대기 중인 댓글을 전송하지 않고 버리기", "Timed out": "시간 초과됨", "Title": "제목", @@ -1279,6 +1292,7 @@ "You (@{0})": "나(@{0})", "You have uncommitted changes. Commit or stash them, then drop the commit.": "커밋되지 않은 변경 내용이 있습니다. 커밋하거나 스태시한 후 커밋을 삭제하세요.", "You have uncommitted changes. Commit or stash them, then drop the commits.": "커밋되지 않은 변경 내용이 있습니다. 커밋하거나 스태시한 후 커밋들을 삭제하세요.", + "You have uncommitted changes. Commit or stash them, then edit the message.": "커밋되지 않은 변경 내용이 있습니다. 커밋하거나 스태시한 후 메시지를 수정하세요.", "You have uncommitted changes. Commit or stash them, then squash the commits.": "커밋되지 않은 변경 내용이 있습니다. 커밋하거나 스태시한 후 커밋을 스쿼시하세요.", "You have uncommitted changes. Commit or stash them, then start the rebase.": "커밋되지 않은 변경 내용이 있습니다. 커밋하거나 스태시한 후 리베이스를 시작하세요.", "You've made commits on the detached HEAD since (it is at {0} now), and switching back would leave them on no branch. Create a branch for them first, then undo.": "그 이후 분리된 HEAD에서 커밋을 만들었고(지금은 {0}에 있음), 다시 전환하면 그 커밋이 어느 브랜치에도 속하지 않게 됩니다. 먼저 커밋을 위한 브랜치를 만든 후 실행 취소하세요.", @@ -1389,6 +1403,7 @@ "dropping a commit": "커밋 삭제 중", "dropping commits": "커밋 삭제 중", "edit": "편집", + "editing a commit message": "커밋 메시지 수정 중", "either arrow takes it": "어느 화살표로도 가져올 수 있음", "file": "파일", "files": "파일", @@ -1731,6 +1746,7 @@ "{0} of {1} ticked · untick the last for all": "{1}개 중 {0}개 선택됨 · 모두 선택하려면 마지막을 선택 해제", "{0} on this file": "이 파일의 {0}", "{0} on {1}": "{1}의 {0}", + "{0} on {1} gets the message below.": "{1}의 {0}에 아래 메시지가 적용됩니다.", "{0} on {1} not pulled yet.": "{1}의 {0}이 아직 풀되지 않았습니다.", "{0} on {1}/{2} yet: {3} pushed first.": "{1}/{2}에 {0}이 아직 없음: {3}이 먼저 푸시됨.", "{0} or ": "{0} 또는 ", diff --git a/apps/merge-studio/l10n/bundle.l10n.pl.json b/apps/merge-studio/l10n/bundle.l10n.pl.json index 19b60899..9ad9c573 100644 --- a/apps/merge-studio/l10n/bundle.l10n.pl.json +++ b/apps/merge-studio/l10n/bundle.l10n.pl.json @@ -149,6 +149,7 @@ "All {0} commits are": "Wszystkie {0} commity są", "All {0} {1} are": "Wszystkie {0} {1} są", "Already merged in the file, outside the conflict markers (by git, or by hand): check it": "Już scalone w pliku, poza znacznikami konfliktu (przez git albo ręcznie): sprawdź to", + "Already pushed. Editing its message would rewrite history other people have. The next push will need to be a force push.": "Już wypchnięte. Zmiana jego treści przepisałaby historię, którą mają inni. Następny push będzie musiał być force push.", "Already pushed. {0} it would rewrite history other people have.": "Już wypchnięte. {0} przepisałoby historię, którą mają inni.", "Already rebased commits": "Już zrebase'owane commity", "Already rebased commits and commits from main": "Już zrebase'owane commity i commity z main", @@ -292,6 +293,7 @@ "Commit graph": "Graf commitów", "Commit list": "Lista commitów", "Commit message": "Treść commita", + "Commit message changed.": "Treść commita zmieniona.", "Commit or stash {0}, then pull again.": "Zatwierdź albo zapisz w schowku {0}, a potem zrób pull ponownie.", "Commit title": "Tytuł commita", "Commit {0}": "Commit {0}", @@ -335,6 +337,8 @@ "Copy the pull request's link": "Kopiuj link pull requesta", "Couldn't abort the rebase.": "Nie udało się przerwać rebase.", "Couldn't bring the conflict in {0} back.": "Nie udało się przywrócić konfliktu w {0}.", + "Couldn't change the commit message.": "Nie udało się zmienić treści commita.", + "Couldn't change the commit message: {0}": "Nie udało się zmienić treści commita: {0}", "Couldn't compare the branches": "Nie udało się porównać branchy", "Couldn't delete {0}.": "Nie udało się usunąć {0}.", "Couldn't drop {0}.": "Nie udało się odrzucić {0}.", @@ -429,7 +433,10 @@ "Dropping {0} hit a conflict while replaying a later commit. Resolve it and continue the rebase — or skip that commit, or abort to put the branch back as it was.": "Odrzucenie {0} natrafiło na konflikt podczas odtwarzania późniejszego commita. Rozwiąż go i kontynuuj rebase — albo pomiń ten commit, albo przerwij, aby przywrócić branch do stanu poprzedniego.", "Dropping {0} stopped and needs you — continue the rebase, or abort it to put the branch back as it was.": "Odrzucanie {0} zatrzymało się i wymaga Twojej decyzji — kontynuuj rebase albo przerwij go, aby przywrócić branch do stanu poprzedniego.", "Edit": "Edytuj", + "Edit commit message": "Zmień treść commita", "Edit result": "Edytuj wynik", + "Editing the message hit a conflict while replaying a later commit. Resolve it and continue the rebase — or abort to put the branch back as it was.": "Zmiana treści natrafiła na konflikt podczas odtwarzania późniejszego commita. Rozwiąż go i kontynuuj rebase — albo przerwij, aby przywrócić branch do stanu poprzedniego.", + "Editing the message stopped and needs you — continue the rebase, or abort it to put the branch back as it was.": "Zmiana treści zatrzymała się i wymaga Twojej decyzji — kontynuuj rebase albo przerwij go, aby przywrócić branch do stanu poprzedniego.", "Errored": "Błąd", "Every check on its latest commit": "Każda kontrola na jego najnowszym commicie", "Every conflict is resolved, and your stashed changes are in your files. git keeps the stash entry when applying it stops on conflicts, so it is still in your stash list — drop it once you are happy with the result.": "Każdy konflikt jest rozwiązany, a Twoje zmiany ze schowka są w Twoich plikach. git zachowuje wpis schowka, gdy jego stosowanie zatrzymuje się na konfliktach, więc wciąż jest na Twojej liście schowków — odrzuć go, gdy wynik Ci odpowiada.", @@ -893,6 +900,7 @@ "Reopen pull request": "Otwórz ponownie pull request", "Reopen this pull request": "Otwórz ponownie ten pull request", "Reopening…": "Otwieranie ponownie…", + "Reordering": "Zmiana kolejności", "Reordering stops at a merge — moving a commit past one would flatten it.": "Zmiana kolejności zatrzymuje się na scaleniu — przesunięcie commita za nim by je spłaszczyło.", "Replace and stage": "Zamień i przygotuj", "Replace the file with {0} and stage it": "Zamień plik na {0} i przygotuj go", @@ -1084,6 +1092,8 @@ "Template: {0}": "Szablon: {0}", "That change is no longer there — the file moved underneath. Refresh and try again.": "Tej zmiany już tam nie ma — plik się przesunął. Odśwież i spróbuj ponownie.", "That commit is too far down the branch to drop from here. Start an interactive rebase from it instead.": "Ten commit jest zbyt daleko na branchu, aby go stąd odrzucić. Zacznij od niego rebase interaktywny.", + "That commit is too far down the branch to edit from here. Start an interactive rebase instead.": "Ten commit jest zbyt daleko na branchu, aby zmienić jego treść stąd. Zacznij zamiast tego rebase interaktywny.", + "That commit isn't on the current branch, so its message can't be edited from here.": "Ten commit nie jest na aktualnym branchu, więc nie można zmienić jego treści stąd.", "That commit isn't on the current branch, so there's nothing to drop it from.": "Ten commit nie jest na aktualnym branchu, więc nie ma go z czego odrzucić.", "That isn't a drop this app made.": "To nie jest odrzucenie wykonane przez tę aplikację.", "That isn't a stash this app recorded.": "To nie jest schowek zapisany przez tę aplikację.", @@ -1094,6 +1104,7 @@ "That stash is no longer in the repository.": "Tego schowka nie ma już w repozytorium.", "That stash no longer exists.": "Ten schowek już nie istnieje.", "That's a merge commit — dropping it would flatten the history it joined. Revert it instead.": "To commit scalający — jego odrzucenie spłaszczyłoby historię, którą połączył. Zamiast tego go odwróć.", + "That's a merge commit — editing its message would flatten the history it joined. Use an interactive rebase that keeps merges instead.": "To commit scalający — zmiana jego treści spłaszczyłaby historię, którą połączył. Zamiast tego użyj rebase interaktywnego, który zachowuje scalenia.", "That's the only commit on the branch — dropping it would leave nothing.": "To jedyny commit na branchu — jego odrzucenie nie zostawiłoby nic.", "The branch goes back to where it was before the series started. Patches already applied are ": "Branch wraca do miejsca, w którym był przed rozpoczęciem serii. Już zastosowane łatki są ", "The branch has moved since the {0}, so undoing it now would throw that away too. Nothing was changed.": "Branch przesunął się od {0}, więc wycofanie tego teraz odrzuciłoby również tę zmianę. Nic nie zostało zmienione.", @@ -1113,6 +1124,7 @@ "The commit being cherry-picked: {0} “{1}”": "Commit, na którym wykonywany jest cherry-pick: {0} „{1}”", "The commit is": "Commit jest", "The commit is added to {0} as one new commit.": "Commit jest dodawany do {0} jako jeden nowy commit.", + "The commit needs a message.": "Commit potrzebuje treści.", "The conflict is back, but {0} couldn't be restored on disk.": "Konflikt jest przywrócony, ale nie udało się przywrócić {0} na dysku.", "The conflicted files are back to their last committed versions.": "Pliki z konfliktem wróciły do swoich ostatnich zatwierdzonych wersji.", "The conflicts list: every conflicted file of this {0}, and {1}{2}": "Lista konfliktów: każdy plik z konfliktem tego {0} i {1}{2}", @@ -1201,7 +1213,8 @@ "This window has {0} open, so it can't be removed from here — its folder would be deleted from under the window. Remove it from another window, or open something else in this one first.": "To okno ma otwarty {0}, więc nie można go tu usunąć — jego folder zostałby usunięty pod oknem. Usuń go z innego okna albo najpierw otwórz coś innego w tym.", "Those are all the commits on the branch — dropping them would leave nothing.": "To wszystkie commity na branchu — ich odrzucenie nie zostawiłoby nic.", "Those changes are no longer there — refresh and try again.": "Tych zmian już tam nie ma — odśwież i spróbuj ponownie.", - "Those commits are too far down the branch to {0} from here. Start an interactive rebase instead.": "Te commity są zbyt daleko na branchu, aby je stąd {0}. Zacznij zamiast tego rebase interaktywny.", + "Those commits are too far down the branch to drop from here. Start an interactive rebase instead.": "Te commity są zbyt daleko na branchu, aby je stąd odrzucić. Zacznij zamiast tego rebase interaktywny.", + "Those commits are too far down the branch to squash from here. Start an interactive rebase instead.": "Te commity są zbyt daleko na branchu, aby zrobić z nich squash stąd. Zacznij zamiast tego rebase interaktywny.", "Throw your pending comments away without sending them": "Odrzuć swoje komentarze w toku bez ich wysyłania", "Timed out": "Przekroczono czas", "Title": "Tytuł", @@ -1279,6 +1292,7 @@ "You (@{0})": "Ty (@{0})", "You have uncommitted changes. Commit or stash them, then drop the commit.": "Masz niezatwierdzone zmiany. Zatwierdź albo zapisz je w schowku, a potem odrzuć commit.", "You have uncommitted changes. Commit or stash them, then drop the commits.": "Masz niezatwierdzone zmiany. Zatwierdź albo zapisz je w schowku, a potem odrzuć commity.", + "You have uncommitted changes. Commit or stash them, then edit the message.": "Masz niezatwierdzone zmiany. Zatwierdź albo zapisz je w schowku, a potem zmień treść commita.", "You have uncommitted changes. Commit or stash them, then squash the commits.": "Masz niezatwierdzone zmiany. Zatwierdź albo zapisz je w schowku, a potem zsquashuj commity.", "You have uncommitted changes. Commit or stash them, then start the rebase.": "Masz niezatwierdzone zmiany. Zatwierdź albo zapisz je w schowku, a potem zacznij rebase.", "You've made commits on the detached HEAD since (it is at {0} now), and switching back would leave them on no branch. Create a branch for them first, then undo.": "Zrobiłeś od tego czasu commity na odłączonym HEAD (jest teraz na {0}), a przełączenie się z powrotem zostawiłoby je bez brancha. Najpierw utwórz dla nich branch, a potem wycofaj.", @@ -1389,6 +1403,7 @@ "dropping a commit": "odrzucanie commita", "dropping commits": "odrzucanie commitów", "edit": "edytuj", + "editing a commit message": "zmiana treści commita", "either arrow takes it": "obie strzałki to przyjmują", "file": "plik", "files": "pliki", @@ -1731,6 +1746,7 @@ "{0} of {1} ticked · untick the last for all": "{0} z {1} zaznaczonych · odznacz ostatni, aby zaznaczyć wszystko", "{0} on this file": "{0} na tym pliku", "{0} on {1}": "{0} na {1}", + "{0} on {1} gets the message below.": "{0} na {1} otrzyma treść poniżej.", "{0} on {1} not pulled yet.": "{0} na {1} jeszcze nie pociągnięte (pull).", "{0} on {1}/{2} yet: {3} pushed first.": "{0} na {1}/{2} jeszcze nie: najpierw wypchnięte {3}.", "{0} or ": "{0} albo ", diff --git a/apps/merge-studio/l10n/bundle.l10n.pt-br.json b/apps/merge-studio/l10n/bundle.l10n.pt-br.json index db0ac8f5..328bb9b9 100644 --- a/apps/merge-studio/l10n/bundle.l10n.pt-br.json +++ b/apps/merge-studio/l10n/bundle.l10n.pt-br.json @@ -149,6 +149,7 @@ "All {0} commits are": "Todos os {0} commits estão", "All {0} {1} are": "Todos os {0} {1} estão", "Already merged in the file, outside the conflict markers (by git, or by hand): check it": "Já mesclado no arquivo, fora dos marcadores de conflito (pelo git, ou manualmente): confira", + "Already pushed. Editing its message would rewrite history other people have. The next push will need to be a force push.": "Já foi enviado por push. Reescrever a mensagem dele reescreveria histórico que outras pessoas têm. O próximo push vai precisar ser um push forçado.", "Already pushed. {0} it would rewrite history other people have.": "Já foi enviado por push. {0} isso reescreveria histórico que outras pessoas têm.", "Already rebased commits": "Commits já rebaseados", "Already rebased commits and commits from main": "Commits já rebaseados e commits de main", @@ -292,6 +293,7 @@ "Commit graph": "Grafo de commits", "Commit list": "Lista de commits", "Commit message": "Mensagem de commit", + "Commit message changed.": "Mensagem do commit alterada.", "Commit or stash {0}, then pull again.": "Faça commit ou guarde no stash {0}, e depois faça pull de novo.", "Commit title": "Título do commit", "Commit {0}": "Commit {0}", @@ -335,6 +337,8 @@ "Copy the pull request's link": "Copiar o link da pull request", "Couldn't abort the rebase.": "Não foi possível abortar o rebase.", "Couldn't bring the conflict in {0} back.": "Não foi possível trazer de volta o conflito em {0}.", + "Couldn't change the commit message.": "Não foi possível alterar a mensagem do commit.", + "Couldn't change the commit message: {0}": "Não foi possível alterar a mensagem do commit: {0}", "Couldn't compare the branches": "Não foi possível comparar os branches", "Couldn't delete {0}.": "Não foi possível excluir {0}.", "Couldn't drop {0}.": "Não foi possível descartar {0}.", @@ -429,7 +433,10 @@ "Dropping {0} hit a conflict while replaying a later commit. Resolve it and continue the rebase — or skip that commit, or abort to put the branch back as it was.": "Descartar {0} encontrou um conflito ao reaplicar um commit posterior. Resolva-o e continue o rebase — ou pule esse commit, ou aborte para devolver o branch como estava.", "Dropping {0} stopped and needs you — continue the rebase, or abort it to put the branch back as it was.": "Descartar {0} parou e precisa de você — continue o rebase, ou aborte-o para devolver o branch como estava.", "Edit": "Editar", + "Edit commit message": "Reescrever mensagem do commit", "Edit result": "Editar resultado", + "Editing the message hit a conflict while replaying a later commit. Resolve it and continue the rebase — or abort to put the branch back as it was.": "Reescrever a mensagem encontrou um conflito ao reaplicar um commit posterior. Resolva-o e continue o rebase — ou aborte para devolver o branch como estava.", + "Editing the message stopped and needs you — continue the rebase, or abort it to put the branch back as it was.": "Reescrever a mensagem parou e precisa de você — continue o rebase, ou aborte-o para devolver o branch como estava.", "Errored": "Com erro", "Every check on its latest commit": "Todas as verificações no seu commit mais recente", "Every conflict is resolved, and your stashed changes are in your files. git keeps the stash entry when applying it stops on conflicts, so it is still in your stash list — drop it once you are happy with the result.": "Todos os conflitos estão resolvidos, e suas alterações guardadas estão em seus arquivos. O git mantém a entrada do stash quando aplicá-lo para em conflitos, então ele ainda está na sua lista de stashes — descarte-o quando estiver satisfeito com o resultado.", @@ -893,6 +900,7 @@ "Reopen pull request": "Reabrir pull request", "Reopen this pull request": "Reabrir esta pull request", "Reopening…": "Reabrindo…", + "Reordering": "Reordenando", "Reordering stops at a merge — moving a commit past one would flatten it.": "A reordenação para em uma mesclagem — mover um commit além de uma a aplanaria.", "Replace and stage": "Substituir e colocar em stage", "Replace the file with {0} and stage it": "Substituir o arquivo por {0} e colocá-lo em stage", @@ -1084,6 +1092,8 @@ "Template: {0}": "Modelo: {0}", "That change is no longer there — the file moved underneath. Refresh and try again.": "Essa alteração não está mais lá — o arquivo se moveu por baixo. Atualize e tente novamente.", "That commit is too far down the branch to drop from here. Start an interactive rebase from it instead.": "Esse commit está muito abaixo no branch para ser descartado daqui. Em vez disso, inicie um rebase interativo a partir dele.", + "That commit is too far down the branch to edit from here. Start an interactive rebase instead.": "Esse commit está muito abaixo no branch para reescrevê-lo a partir daqui. Inicie um rebase interativo.", + "That commit isn't on the current branch, so its message can't be edited from here.": "Esse commit não está no branch atual, então sua mensagem não pode ser reescrita a partir daqui.", "That commit isn't on the current branch, so there's nothing to drop it from.": "Esse commit não está no branch atual, então não há como descartá-lo dele.", "That isn't a drop this app made.": "Esse não é um descarte que este app fez.", "That isn't a stash this app recorded.": "Esse não é um stash que este app registrou.", @@ -1094,6 +1104,7 @@ "That stash is no longer in the repository.": "Aquele stash não está mais no repositório.", "That stash no longer exists.": "Aquele stash não existe mais.", "That's a merge commit — dropping it would flatten the history it joined. Revert it instead.": "Esse é um commit de mesclagem — descartá-lo aplanaria o histórico que ele uniu. Em vez disso, faça revert dele.", + "That's a merge commit — editing its message would flatten the history it joined. Use an interactive rebase that keeps merges instead.": "Esse é um commit de mesclagem — reescrever a mensagem dele aplanaria o histórico que ele uniu. Em vez disso, use um rebase interativo que preserve as mesclagens.", "That's the only commit on the branch — dropping it would leave nothing.": "Esse é o único commit no branch — descartá-lo não deixaria nada.", "The branch goes back to where it was before the series started. Patches already applied are ": "O branch volta para onde estava antes de a série começar. Patches já aplicados são ", "The branch has moved since the {0}, so undoing it now would throw that away too. Nothing was changed.": "O branch se moveu desde {0}, então desfazê-lo agora também descartaria isso. Nada foi alterado.", @@ -1113,6 +1124,7 @@ "The commit being cherry-picked: {0} “{1}”": "O commit sendo cherry-picked: {0} “{1}”", "The commit is": "O commit é", "The commit is added to {0} as one new commit.": "O commit é adicionado a {0} como um novo commit.", + "The commit needs a message.": "O commit precisa de uma mensagem.", "The conflict is back, but {0} couldn't be restored on disk.": "O conflito voltou, mas {0} não pôde ser restaurado no disco.", "The conflicted files are back to their last committed versions.": "Os arquivos em conflito voltaram para suas últimas versões commitadas.", "The conflicts list: every conflicted file of this {0}, and {1}{2}": "A lista de conflitos: todo arquivo em conflito deste {0}, e {1}{2}", @@ -1201,7 +1213,8 @@ "This window has {0} open, so it can't be removed from here — its folder would be deleted from under the window. Remove it from another window, or open something else in this one first.": "Esta janela tem {0} aberto, então ele não pode ser removido daqui — a pasta dele seria excluída debaixo da janela. Remova-o a partir de outra janela, ou abra outra coisa nesta antes.", "Those are all the commits on the branch — dropping them would leave nothing.": "Esses são todos os commits do branch — descartá-los não deixaria nada.", "Those changes are no longer there — refresh and try again.": "Essas alterações não estão mais lá — atualize e tente novamente.", - "Those commits are too far down the branch to {0} from here. Start an interactive rebase instead.": "Esses commits estão muito abaixo no branch para {0} a partir daqui. Inicie um rebase interativo.", + "Those commits are too far down the branch to drop from here. Start an interactive rebase instead.": "Esses commits estão muito abaixo no branch para descartá-los a partir daqui. Inicie um rebase interativo.", + "Those commits are too far down the branch to squash from here. Start an interactive rebase instead.": "Esses commits estão muito abaixo no branch para fazer squash a partir daqui. Inicie um rebase interativo.", "Throw your pending comments away without sending them": "Descartar seus comentários pendentes sem enviá-los", "Timed out": "Tempo esgotado", "Title": "Título", @@ -1279,6 +1292,7 @@ "You (@{0})": "Você (@{0})", "You have uncommitted changes. Commit or stash them, then drop the commit.": "Você tem alterações não commitadas. Faça o commit delas ou guarde-as no stash, depois descarte o commit.", "You have uncommitted changes. Commit or stash them, then drop the commits.": "Você tem alterações não commitadas. Faça o commit delas ou guarde-as no stash, depois descarte os commits.", + "You have uncommitted changes. Commit or stash them, then edit the message.": "Você tem alterações não commitadas. Faça o commit delas ou guarde-as no stash, depois reescreva a mensagem.", "You have uncommitted changes. Commit or stash them, then squash the commits.": "Você tem alterações não commitadas. Faça o commit delas ou guarde-as no stash, depois faça o squash dos commits.", "You have uncommitted changes. Commit or stash them, then start the rebase.": "Você tem alterações não commitadas. Faça o commit delas ou guarde-as no stash, depois inicie o rebase.", "You've made commits on the detached HEAD since (it is at {0} now), and switching back would leave them on no branch. Create a branch for them first, then undo.": "Você fez commits no HEAD desanexado desde então (ele está em {0} agora), e voltar os deixaria sem nenhum branch. Crie um branch para eles antes, depois desfaça.", @@ -1389,6 +1403,7 @@ "dropping a commit": "descartando um commit", "dropping commits": "descartando commits", "edit": "editar", + "editing a commit message": "reescrevendo a mensagem de um commit", "either arrow takes it": "qualquer uma das setas o leva", "file": "arquivo", "files": "arquivos", @@ -1731,6 +1746,7 @@ "{0} of {1} ticked · untick the last for all": "{0} de {1} marcados · desmarque o último para todos", "{0} on this file": "{0} neste arquivo", "{0} on {1}": "{0} em {1}", + "{0} on {1} gets the message below.": "{0} em {1} recebe a mensagem abaixo.", "{0} on {1} not pulled yet.": "{0} em {1} ainda não puxado(s) por pull.", "{0} on {1}/{2} yet: {3} pushed first.": "{0} em {1}/{2} ainda: {3} enviado por push primeiro.", "{0} or ": "{0} ou ", diff --git a/apps/merge-studio/l10n/bundle.l10n.ru.json b/apps/merge-studio/l10n/bundle.l10n.ru.json index 242d1c54..619db1bc 100644 --- a/apps/merge-studio/l10n/bundle.l10n.ru.json +++ b/apps/merge-studio/l10n/bundle.l10n.ru.json @@ -149,6 +149,7 @@ "All {0} commits are": "Все {0} коммитов", "All {0} {1} are": "Все {0} {1}", "Already merged in the file, outside the conflict markers (by git, or by hand): check it": "Уже слито в файле, вне маркеров конфликта (git или вручную): проверьте это", + "Already pushed. Editing its message would rewrite history other people have. The next push will need to be a force push.": "Уже отправлено. Переформулирование его сообщения переписало бы историю, которая есть у других. Следующей отправке потребуется быть принудительной.", "Already pushed. {0} it would rewrite history other people have.": "Уже отправлено. {0} переписало бы историю, которая есть у других.", "Already rebased commits": "Уже перебазированные коммиты", "Already rebased commits and commits from main": "Уже перебазированные коммиты и коммиты из main", @@ -292,6 +293,7 @@ "Commit graph": "Граф коммитов", "Commit list": "Список коммитов", "Commit message": "Сообщение коммита", + "Commit message changed.": "Сообщение коммита изменено.", "Commit or stash {0}, then pull again.": "Закоммитьте или спрячьте {0}, затем выполните pull снова.", "Commit title": "Заголовок коммита", "Commit {0}": "Коммит {0}", @@ -335,6 +337,8 @@ "Copy the pull request's link": "Скопировать ссылку на pull request", "Couldn't abort the rebase.": "Не удалось прервать перебазирование.", "Couldn't bring the conflict in {0} back.": "Не удалось вернуть конфликт в {0}.", + "Couldn't change the commit message.": "Не удалось изменить сообщение коммита.", + "Couldn't change the commit message: {0}": "Не удалось изменить сообщение коммита: {0}", "Couldn't compare the branches": "Не удалось сравнить ветки", "Couldn't delete {0}.": "Не удалось удалить {0}.", "Couldn't drop {0}.": "Не удалось отбросить {0}.", @@ -429,7 +433,10 @@ "Dropping {0} hit a conflict while replaying a later commit. Resolve it and continue the rebase — or skip that commit, or abort to put the branch back as it was.": "Отбрасывание {0} привело к конфликту при повторном применении более позднего коммита. Разрешите его и продолжите перебазирование — или пропустите этот коммит, или прервите, чтобы вернуть ветку как было.", "Dropping {0} stopped and needs you — continue the rebase, or abort it to put the branch back as it was.": "Отбрасывание {0} остановилось и требует вашего решения — продолжите перебазирование или прервите его, чтобы вернуть ветку как было.", "Edit": "Изменить", + "Edit commit message": "Переформулировать сообщение коммита", "Edit result": "Изменить результат", + "Editing the message hit a conflict while replaying a later commit. Resolve it and continue the rebase — or abort to put the branch back as it was.": "Переформулирование сообщения привело к конфликту при повторном применении более позднего коммита. Разрешите его и продолжите перебазирование — или прервите, чтобы вернуть ветку как было.", + "Editing the message stopped and needs you — continue the rebase, or abort it to put the branch back as it was.": "Переформулирование сообщения остановилось и требует вашего решения — продолжите перебазирование или прервите его, чтобы вернуть ветку как было.", "Errored": "Ошибка", "Every check on its latest commit": "Каждая проверка на его последнем коммите", "Every conflict is resolved, and your stashed changes are in your files. git keeps the stash entry when applying it stops on conflicts, so it is still in your stash list — drop it once you are happy with the result.": "Все конфликты разрешены, и ваши спрятанные изменения теперь в файлах. git сохраняет запись тайника, когда его применение останавливается на конфликтах, поэтому он всё ещё в списке тайников — отбросьте его, когда будете довольны результатом.", @@ -893,6 +900,7 @@ "Reopen pull request": "Открыть pull request снова", "Reopen this pull request": "Открыть этот pull request снова", "Reopening…": "Повторное открытие…", + "Reordering": "Изменение порядка", "Reordering stops at a merge — moving a commit past one would flatten it.": "Изменение порядка останавливается на слиянии — перемещение коммита за него сплющило бы его.", "Replace and stage": "Заменить и добавить в индекс", "Replace the file with {0} and stage it": "Заменить файл на {0} и добавить в индекс", @@ -1084,6 +1092,8 @@ "Template: {0}": "Шаблон: {0}", "That change is no longer there — the file moved underneath. Refresh and try again.": "Этого изменения больше нет — файл сдвинулся. Обновите и попробуйте снова.", "That commit is too far down the branch to drop from here. Start an interactive rebase from it instead.": "Этот коммит слишком далеко в ветке, чтобы отбросить его отсюда. Вместо этого начните интерактивное перебазирование с него.", + "That commit is too far down the branch to edit from here. Start an interactive rebase instead.": "Этот коммит слишком далеко в ветке, чтобы переформулировать его отсюда. Вместо этого начните интерактивное перебазирование.", + "That commit isn't on the current branch, so its message can't be edited from here.": "Этот коммит не находится на текущей ветке, поэтому его сообщение нельзя переформулировать отсюда.", "That commit isn't on the current branch, so there's nothing to drop it from.": "Этот коммит не на текущей ветке, поэтому нечего отбрасывать.", "That isn't a drop this app made.": "Это не отбрасывание, сделанное этим приложением.", "That isn't a stash this app recorded.": "Это не тайник, записанный этим приложением.", @@ -1094,6 +1104,7 @@ "That stash is no longer in the repository.": "Этого тайника больше нет в репозитории.", "That stash no longer exists.": "Этого тайника больше не существует.", "That's a merge commit — dropping it would flatten the history it joined. Revert it instead.": "Это коммит слияния — отбрасывание сплющило бы историю, которую он объединил. Вместо этого обратите его.", + "That's a merge commit — editing its message would flatten the history it joined. Use an interactive rebase that keeps merges instead.": "Это коммит слияния — переформулирование его сообщения сплющило бы историю, которую он объединил. Вместо этого используйте интерактивное перебазирование, которое сохраняет слияния.", "That's the only commit on the branch — dropping it would leave nothing.": "Это единственный коммит на ветке — отбрасывание ничего не оставит.", "The branch goes back to where it was before the series started. Patches already applied are ": "Ветка возвращается туда, где была до начала серии. Уже применённые патчи ", "The branch has moved since the {0}, so undoing it now would throw that away too. Nothing was changed.": "Ветка сдвинулась после {0}, поэтому отмена сейчас отбросила бы и это. Ничего не изменено.", @@ -1113,6 +1124,7 @@ "The commit being cherry-picked: {0} “{1}”": "Коммит, к которому применяется cherry-pick: {0} «{1}»", "The commit is": "Коммит", "The commit is added to {0} as one new commit.": "Коммит добавляется в {0} как один новый коммит.", + "The commit needs a message.": "Коммиту нужно сообщение.", "The conflict is back, but {0} couldn't be restored on disk.": "Конфликт возвращён, но {0} не удалось восстановить на диске.", "The conflicted files are back to their last committed versions.": "Конфликтующие файлы возвращены к последним закоммиченным версиям.", "The conflicts list: every conflicted file of this {0}, and {1}{2}": "Список конфликтов: каждый конфликтующий файл этого {0}, и {1}{2}", @@ -1201,7 +1213,8 @@ "This window has {0} open, so it can't be removed from here — its folder would be deleted from under the window. Remove it from another window, or open something else in this one first.": "Это окно открывает {0}, поэтому его нельзя удалить отсюда — его папка была бы удалена из-под окна. Удалите его из другого окна, либо сначала откройте в этом что-то другое.", "Those are all the commits on the branch — dropping them would leave nothing.": "Это все коммиты на ветке — их отбрасывание ничего не оставит.", "Those changes are no longer there — refresh and try again.": "Этих изменений больше нет — обновите и попробуйте снова.", - "Those commits are too far down the branch to {0} from here. Start an interactive rebase instead.": "Эти коммиты слишком далеко в ветке, чтобы {0} их отсюда. Вместо этого начните интерактивное перебазирование.", + "Those commits are too far down the branch to drop from here. Start an interactive rebase instead.": "Эти коммиты слишком далеко в ветке, чтобы отбросить их отсюда. Вместо этого начните интерактивное перебазирование.", + "Those commits are too far down the branch to squash from here. Start an interactive rebase instead.": "Эти коммиты слишком далеко в ветке, чтобы объединить их отсюда. Вместо этого начните интерактивное перебазирование.", "Throw your pending comments away without sending them": "Отбросить ваши комментарии в ожидании без отправки", "Timed out": "Истекло время ожидания", "Title": "Заголовок", @@ -1279,6 +1292,7 @@ "You (@{0})": "Вы (@{0})", "You have uncommitted changes. Commit or stash them, then drop the commit.": "У вас есть незафиксированные изменения. Закоммитьте или спрячьте их, затем отбросьте коммит.", "You have uncommitted changes. Commit or stash them, then drop the commits.": "У вас есть незафиксированные изменения. Закоммитьте или спрячьте их, затем отбросьте коммиты.", + "You have uncommitted changes. Commit or stash them, then edit the message.": "У вас есть незафиксированные изменения. Закоммитьте или спрячьте их, затем переформулируйте сообщение.", "You have uncommitted changes. Commit or stash them, then squash the commits.": "У вас есть незафиксированные изменения. Закоммитьте или спрячьте их, затем объедините коммиты.", "You have uncommitted changes. Commit or stash them, then start the rebase.": "У вас есть незафиксированные изменения. Закоммитьте или спрячьте их, затем начните перебазирование.", "You've made commits on the detached HEAD since (it is at {0} now), and switching back would leave them on no branch. Create a branch for them first, then undo.": "С тех пор вы сделали коммиты в отделённом HEAD (сейчас он на {0}), и переключение обратно оставит их без ветки. Сначала создайте для них ветку, затем отмените.", @@ -1389,6 +1403,7 @@ "dropping a commit": "отбрасывание коммита", "dropping commits": "отбрасывание коммитов", "edit": "изменить", + "editing a commit message": "изменение сообщения коммита", "either arrow takes it": "любая стрелка принимает это", "file": "файл", "files": "файлы", @@ -1731,6 +1746,7 @@ "{0} of {1} ticked · untick the last for all": "{0} из {1} отмечено · снимите последнюю отметку для всех", "{0} on this file": "{0} в этом файле", "{0} on {1}": "{0} на {1}", + "{0} on {1} gets the message below.": "{0} на {1} получит сообщение ниже.", "{0} on {1} not pulled yet.": "{0} на {1} пока не получено.", "{0} on {1}/{2} yet: {3} pushed first.": "{0} на {1}/{2} пока нет: сначала {3} отправляется.", "{0} or ": "{0} или ", diff --git a/apps/merge-studio/l10n/bundle.l10n.tr.json b/apps/merge-studio/l10n/bundle.l10n.tr.json index 5dd5e002..f57c757f 100644 --- a/apps/merge-studio/l10n/bundle.l10n.tr.json +++ b/apps/merge-studio/l10n/bundle.l10n.tr.json @@ -149,6 +149,7 @@ "All {0} commits are": "{0} işlemenin tümü", "All {0} {1} are": "{0} {1}'in tümü", "Already merged in the file, outside the conflict markers (by git, or by hand): check it": "Dosyada çakışma işaretlerinin dışında zaten birleştirilmiş (git tarafından veya elle): işaretleyin", + "Already pushed. Editing its message would rewrite history other people have. The next push will need to be a force push.": "Zaten gönderildi. Mesajını değiştirmek, başkalarında olan geçmişi yeniden yazar. Sonraki gönderme bir zorla gönderme olmalı.", "Already pushed. {0} it would rewrite history other people have.": "Zaten gönderildi. {0}, başkalarında olan geçmişi yeniden yazar.", "Already rebased commits": "Zaten yeniden temellendirilmiş işlemeler", "Already rebased commits and commits from main": "Zaten yeniden temellendirilmiş işlemeler ve main'den işlemeler", @@ -292,6 +293,7 @@ "Commit graph": "İşleme grafiği", "Commit list": "İşleme listesi", "Commit message": "İşleme mesajı", + "Commit message changed.": "İşleme mesajı değiştirildi.", "Commit or stash {0}, then pull again.": "{0}'i işleyin veya zulalayın, sonra yeniden çekin.", "Commit title": "İşleme başlığı", "Commit {0}": "{0} İşlemesi", @@ -335,6 +337,8 @@ "Copy the pull request's link": "Çekme isteğinin bağlantısını kopyala", "Couldn't abort the rebase.": "Yeniden temellendirme iptal edilemedi.", "Couldn't bring the conflict in {0} back.": "{0}'daki çakışma geri getirilemedi.", + "Couldn't change the commit message.": "İşleme mesajı değiştirilemedi.", + "Couldn't change the commit message: {0}": "İşleme mesajı değiştirilemedi: {0}", "Couldn't compare the branches": "Dallar karşılaştırılamadı", "Couldn't delete {0}.": "{0} silinemedi.", "Couldn't drop {0}.": "{0} düşürülemedi.", @@ -429,7 +433,10 @@ "Dropping {0} hit a conflict while replaying a later commit. Resolve it and continue the rebase — or skip that commit, or abort to put the branch back as it was.": "{0}'ı düşürme, sonraki bir işlemeyi yeniden oynatırken bir çakışmaya çarptı. Çözüp yeniden temellendirmeyi sürdürün — veya o işlemeyi atlayın veya dalı olduğu haline geri koymak için iptal edin.", "Dropping {0} stopped and needs you — continue the rebase, or abort it to put the branch back as it was.": "{0}'ı düşürme durdu ve sizi gerektiriyor — yeniden temellendirmeyi sürdürün veya dalı olduğu haline geri koymak için iptal edin.", "Edit": "Düzenle", + "Edit commit message": "İşleme mesajını değiştir", "Edit result": "Sonucu düzenle", + "Editing the message hit a conflict while replaying a later commit. Resolve it and continue the rebase — or abort to put the branch back as it was.": "Mesajı değiştirme, sonraki bir işlemeyi yeniden oynatırken bir çakışmaya çarptı. Çözüp yeniden temellendirmeyi sürdürün — veya dalı olduğu haline geri koymak için iptal edin.", + "Editing the message stopped and needs you — continue the rebase, or abort it to put the branch back as it was.": "Mesajı değiştirme durdu ve sizi gerektiriyor — yeniden temellendirmeyi sürdürün veya dalı olduğu haline geri koymak için iptal edin.", "Errored": "Hata oluştu", "Every check on its latest commit": "En son işlemesindeki her denetim", "Every conflict is resolved, and your stashed changes are in your files. git keeps the stash entry when applying it stops on conflicts, so it is still in your stash list — drop it once you are happy with the result.": "Her çakışma çözüldü ve zulalanmış değişiklikleriniz dosyalarınızda. git, uygularken çakışmalara durduğunda zula kaydını tutar, bu nedenle hâlâ zula listenizde — sonuçtan memnun olunca düşürün.", @@ -893,6 +900,7 @@ "Reopen pull request": "Çekme isteğini yeniden aç", "Reopen this pull request": "Bu çekme isteğini yeniden aç", "Reopening…": "Yeniden açılıyor…", + "Reordering": "Yeniden sıralanıyor", "Reordering stops at a merge — moving a commit past one would flatten it.": "Yeniden sıralama bir birleştirmede durur — bir işlemeyi onun ötesine taşımak onu düzleştirir.", "Replace and stage": "Değiştir ve hazırla", "Replace the file with {0} and stage it": "Dosyayı {0} ile değiştir ve hazırla", @@ -1084,6 +1092,8 @@ "Template: {0}": "Şablon: {0}", "That change is no longer there — the file moved underneath. Refresh and try again.": "O değişiklik artık orada değil — dosya altından taşındı. Yenileyip yeniden deneyin.", "That commit is too far down the branch to drop from here. Start an interactive rebase from it instead.": "O işleme buradan düşürülemeyecek kadar dalda aşağıda. Bunun yerine ondan bir etkileşimli yeniden temellendirme başlatın.", + "That commit is too far down the branch to edit from here. Start an interactive rebase instead.": "O işleme buradan değiştirilemeyecek kadar dalda aşağıda. Bunun yerine bir etkileşimli yeniden temellendirme başlatın.", + "That commit isn't on the current branch, so its message can't be edited from here.": "O işleme geçerli dalda değil, bu nedenle mesajı buradan değiştirilemez.", "That commit isn't on the current branch, so there's nothing to drop it from.": "O işleme geçerli dalda değil, bu nedenle ondan düşürülecek bir şey yok.", "That isn't a drop this app made.": "Bu, bu uygulamanın yaptığı bir düşürme değil.", "That isn't a stash this app recorded.": "Bu, bu uygulamanın kaydettiği bir zula değil.", @@ -1094,6 +1104,7 @@ "That stash is no longer in the repository.": "O zula artık depoda değil.", "That stash no longer exists.": "O zula artık yok.", "That's a merge commit — dropping it would flatten the history it joined. Revert it instead.": "Bu bir birleştirme işlemesi — onu düşürmek birleştirdiği geçmişi düzleştirir. Bunun yerine geri alın.", + "That's a merge commit — editing its message would flatten the history it joined. Use an interactive rebase that keeps merges instead.": "Bu bir birleştirme işlemesi — mesajını değiştirmek birleştirdiği geçmişi düzleştirir. Bunun yerine birleştirmeleri koruyan bir etkileşimli yeniden temellendirme kullanın.", "That's the only commit on the branch — dropping it would leave nothing.": "Bu, daldaki tek işleme — onu düşürmek hiçbir şey bırakmaz.", "The branch goes back to where it was before the series started. Patches already applied are ": "Dal, seri başlamadan önceki haline geri döner. Zaten uygulanmış yamalar ", "The branch has moved since the {0}, so undoing it now would throw that away too. Nothing was changed.": "Dal, {0}'dan sonra taşındı, bu nedenle onu şimdi geri almak da bunu kaybettirir. Hiçbir şey değişmedi.", @@ -1113,6 +1124,7 @@ "The commit being cherry-picked: {0} “{1}”": "Seç-alınan işleme: {0} “{1}”", "The commit is": "İşleme şu", "The commit is added to {0} as one new commit.": "İşleme {0}'a bir yeni işleme olarak eklenir.", + "The commit needs a message.": "İşlemenin bir mesaja ihtiyacı var.", "The conflict is back, but {0} couldn't be restored on disk.": "Çakışma geri geldi, ancak {0} diskte geri yüklenemedi.", "The conflicted files are back to their last committed versions.": "Çakışan dosyalar son işlenmiş sürümlerine geri döndü.", "The conflicts list: every conflicted file of this {0}, and {1}{2}": "Çakışma listesi: bu {0}'ın her çakışan dosyası ve {1}{2}", @@ -1201,7 +1213,8 @@ "This window has {0} open, so it can't be removed from here — its folder would be deleted from under the window. Remove it from another window, or open something else in this one first.": "Bu pencerede {0} açık, bu nedenle buradan kaldırılamaz — klasörü pencerenin altından silinmiş olur. Onu başka bir pencereden kaldırın veya önce bunda başka bir şey açın.", "Those are all the commits on the branch — dropping them would leave nothing.": "Bunlar daldaki tüm işlemeler — onları düşürmek hiçbir şey bırakmaz.", "Those changes are no longer there — refresh and try again.": "O değişiklikler artık orada değil — yenileyip yeniden deneyin.", - "Those commits are too far down the branch to {0} from here. Start an interactive rebase instead.": "O işlemeler buradan {0} edilemeyecek kadar dalda aşağıda. Bunun yerine bir etkileşimli yeniden temellendirme başlatın.", + "Those commits are too far down the branch to drop from here. Start an interactive rebase instead.": "O işlemeler buradan düşürülemeyecek kadar dalda aşağıda. Bunun yerine bir etkileşimli yeniden temellendirme başlatın.", + "Those commits are too far down the branch to squash from here. Start an interactive rebase instead.": "O işlemeler buradan ezilemeyecek kadar dalda aşağıda. Bunun yerine bir etkileşimli yeniden temellendirme başlatın.", "Throw your pending comments away without sending them": "Bekleyen yorumlarınızı göndermeden atın", "Timed out": "Zaman aşımına uğradı", "Title": "Başlık", @@ -1279,6 +1292,7 @@ "You (@{0})": "Siz (@{0})", "You have uncommitted changes. Commit or stash them, then drop the commit.": "İşlenmemiş değişiklikleriniz var. Bunları işleyin veya zulalayın, sonra işlemeyi düşürün.", "You have uncommitted changes. Commit or stash them, then drop the commits.": "İşlenmemiş değişiklikleriniz var. Bunları işleyin veya zulalayın, sonra işlemeleri düşürün.", + "You have uncommitted changes. Commit or stash them, then edit the message.": "İşlenmemiş değişiklikleriniz var. Bunları işleyin veya zulalayın, sonra mesajı değiştirin.", "You have uncommitted changes. Commit or stash them, then squash the commits.": "İşlenmemiş değişiklikleriniz var. Bunları işleyin veya zulalayın, sonra işlemeleri ezin.", "You have uncommitted changes. Commit or stash them, then start the rebase.": "İşlenmemiş değişiklikleriniz var. Bunları işleyin veya zulalayın, sonra yeniden temellendirmeyi başlatın.", "You've made commits on the detached HEAD since (it is at {0} now), and switching back would leave them on no branch. Create a branch for them first, then undo.": "O zamandan sonra ayrık HEAD'de işlemeler yaptınız (şu anda {0}'de) ve geri geçmek onları hiçbir dalda bırakmaz. Önce onlar için bir dal oluşturup sonra geri alın.", @@ -1389,6 +1403,7 @@ "dropping a commit": "bir işleme düşürme", "dropping commits": "işlemeleri düşürme", "edit": "düzenle", + "editing a commit message": "bir işleme mesajını değiştirme", "either arrow takes it": "her iki ok da onu alır", "file": "dosya", "files": "dosyalar", @@ -1731,6 +1746,7 @@ "{0} of {1} ticked · untick the last for all": "{1}'in {0}'ı işaretli · tümü için sonuncunun işaretini kaldırın", "{0} on this file": "bu dosyada {0}", "{0} on {1}": "{1}'de {0}", + "{0} on {1} gets the message below.": "{1}'de {0} aşağıdaki mesajı alacak.", "{0} on {1} not pulled yet.": "{1}'de {0} henüz çekilmedi.", "{0} on {1}/{2} yet: {3} pushed first.": "{0}, {1}/{2}'de henüz yok: önce {3} gönderilir.", "{0} or ": "{0} veya ", diff --git a/apps/merge-studio/l10n/bundle.l10n.zh-cn.json b/apps/merge-studio/l10n/bundle.l10n.zh-cn.json index 882fd36a..1320a504 100644 --- a/apps/merge-studio/l10n/bundle.l10n.zh-cn.json +++ b/apps/merge-studio/l10n/bundle.l10n.zh-cn.json @@ -149,6 +149,7 @@ "All {0} commits are": "全部 {0} 个提交", "All {0} {1} are": "所有 {0} 个 {1} 都", "Already merged in the file, outside the conflict markers (by git, or by hand): check it": "已在文件中合并,位于冲突标记之外(由 git 或手工完成):请检查", + "Already pushed. Editing its message would rewrite history other people have. The next push will need to be a force push.": "已被推送。改写它的提交信息会改写其他人已有的历史。下一次推送需要强制推送。", "Already pushed. {0} it would rewrite history other people have.": "已被推送。{0} 它会改写其他人已有的历史。", "Already rebased commits": "已变基的提交", "Already rebased commits and commits from main": "已变基的提交和来自 main 的提交", @@ -292,6 +293,7 @@ "Commit graph": "提交图", "Commit list": "提交列表", "Commit message": "提交信息", + "Commit message changed.": "提交信息已更改。", "Commit or stash {0}, then pull again.": "请先提交或贮藏 {0},然后再次拉取。", "Commit title": "提交标题", "Commit {0}": "提交 {0}", @@ -335,6 +337,8 @@ "Copy the pull request's link": "复制该拉取请求的链接", "Couldn't abort the rebase.": "无法中止变基。", "Couldn't bring the conflict in {0} back.": "无法恢复 {0} 中的冲突。", + "Couldn't change the commit message.": "无法更改提交信息。", + "Couldn't change the commit message: {0}": "无法更改提交信息:{0}", "Couldn't compare the branches": "无法比较这些分支", "Couldn't delete {0}.": "无法删除 {0}。", "Couldn't drop {0}.": "无法丢弃 {0}。", @@ -429,7 +433,10 @@ "Dropping {0} hit a conflict while replaying a later commit. Resolve it and continue the rebase — or skip that commit, or abort to put the branch back as it was.": "丢弃 {0} 时在重放后续提交时遇到冲突。请解决它并继续变基 — 或跳过该提交,或中止以把分支恢复原样。", "Dropping {0} stopped and needs you — continue the rebase, or abort it to put the branch back as it was.": "丢弃 {0} 已停止,需要你处理 — 请继续变基,或中止以把分支恢复原样。", "Edit": "编辑", + "Edit commit message": "改写提交信息", "Edit result": "编辑结果", + "Editing the message hit a conflict while replaying a later commit. Resolve it and continue the rebase — or abort to put the branch back as it was.": "改写提交信息时在重放后续提交时遇到冲突。请解决它并继续变基 — 或中止以把分支恢复原样。", + "Editing the message stopped and needs you — continue the rebase, or abort it to put the branch back as it was.": "改写提交信息已停止,需要你处理 — 请继续变基,或中止以把分支恢复原样。", "Errored": "出错", "Every check on its latest commit": "每项检查都在其最新提交上", "Every conflict is resolved, and your stashed changes are in your files. git keeps the stash entry when applying it stops on conflicts, so it is still in your stash list — drop it once you are happy with the result.": "每个冲突都已解决,你贮藏的更改已在文件中。在应用时遇到冲突而停下,git 会保留贮藏条目,所以它仍在贮藏列表中 — 满意后即可丢弃它。", @@ -893,6 +900,7 @@ "Reopen pull request": "重新打开拉取请求", "Reopen this pull request": "重新打开此拉取请求", "Reopening…": "正在重新打开…", + "Reordering": "重新排序", "Reordering stops at a merge — moving a commit past one would flatten it.": "重新排序会在合并提交处停止 — 把提交移过合并提交会压平它。", "Replace and stage": "替换并暂存", "Replace the file with {0} and stage it": "用 {0} 替换该文件并暂存", @@ -1084,6 +1092,8 @@ "Template: {0}": "模板:{0}", "That change is no longer there — the file moved underneath. Refresh and try again.": "该更改已不存在 — 底层的文件已被移动。请刷新后重试。", "That commit is too far down the branch to drop from here. Start an interactive rebase from it instead.": "该提交在分支中位置太靠下,无法从这里丢弃。请改为从它开始交互式变基。", + "That commit is too far down the branch to edit from here. Start an interactive rebase instead.": "该提交在分支中位置太靠下,无法从这里改写。请改用交互式变基。", + "That commit isn't on the current branch, so its message can't be edited from here.": "该提交不在当前分支上,因此无法从这里改写它的信息。", "That commit isn't on the current branch, so there's nothing to drop it from.": "该提交不在当前分支上,因此无从丢弃它。", "That isn't a drop this app made.": "这不是本应用执行的丢弃。", "That isn't a stash this app recorded.": "这不是本应用记录的贮藏。", @@ -1094,6 +1104,7 @@ "That stash is no longer in the repository.": "该贮藏已不在仓库中。", "That stash no longer exists.": "该贮藏已不存在。", "That's a merge commit — dropping it would flatten the history it joined. Revert it instead.": "这是一个合并提交 — 丢弃它会压平它并入的历史。请改为还原它。", + "That's a merge commit — editing its message would flatten the history it joined. Use an interactive rebase that keeps merges instead.": "这是一个合并提交 — 改写它的信息会压平它并入的历史。请改用保留合并的交互式变基。", "That's the only commit on the branch — dropping it would leave nothing.": "这是分支上唯一的提交 — 丢弃它会什么都不剩。", "The branch goes back to where it was before the series started. Patches already applied are ": "分支会回到补丁系列开始之前的状态。已应用的补丁 ", "The branch has moved since the {0}, so undoing it now would throw that away too. Nothing was changed.": "自{0}以来分支已移动,因此现在撤销它会把这些也一并丢掉。未做任何更改。", @@ -1113,6 +1124,7 @@ "The commit being cherry-picked: {0} “{1}”": "正在拣选的提交:{0} “{1}”", "The commit is": "该提交", "The commit is added to {0} as one new commit.": "该提交会作为一个新提交添加到 {0}。", + "The commit needs a message.": "该提交需要一条提交信息。", "The conflict is back, but {0} couldn't be restored on disk.": "冲突已恢复,但 {0} 无法在磁盘上恢复。", "The conflicted files are back to their last committed versions.": "冲突文件已恢复为它们最后一次提交的版本。", "The conflicts list: every conflicted file of this {0}, and {1}{2}": "冲突列表:此 {0} 的每个冲突文件,以及 {1}{2}", @@ -1201,7 +1213,8 @@ "This window has {0} open, so it can't be removed from here — its folder would be deleted from under the window. Remove it from another window, or open something else in this one first.": "此窗口打开了 {0},因此无法从这里移除 — 它的文件夹会从该窗口下被删除。请从另一个窗口移除它,或先在此窗口打开别的内容。", "Those are all the commits on the branch — dropping them would leave nothing.": "这些是分支上的全部提交 — 丢弃它们会什么都不剩。", "Those changes are no longer there — refresh and try again.": "那些更改已不存在 — 请刷新后重试。", - "Those commits are too far down the branch to {0} from here. Start an interactive rebase instead.": "那些提交在分支中位置太靠下,无法从这里{0}。请改用交互式变基。", + "Those commits are too far down the branch to drop from here. Start an interactive rebase instead.": "那些提交在分支中位置太靠下,无法从这里丢弃。请改用交互式变基。", + "Those commits are too far down the branch to squash from here. Start an interactive rebase instead.": "那些提交在分支中位置太靠下,无法从这里压缩。请改用交互式变基。", "Throw your pending comments away without sending them": "丢弃你待提交的评论,不发送它们", "Timed out": "已超时", "Title": "标题", @@ -1279,6 +1292,7 @@ "You (@{0})": "你(@{0})", "You have uncommitted changes. Commit or stash them, then drop the commit.": "你有未提交的更改。请先提交或贮藏它们,然后丢弃该提交。", "You have uncommitted changes. Commit or stash them, then drop the commits.": "你有未提交的更改。请先提交或贮藏它们,然后丢弃这些提交。", + "You have uncommitted changes. Commit or stash them, then edit the message.": "你有未提交的更改。请先提交或贮藏它们,然后改写提交信息。", "You have uncommitted changes. Commit or stash them, then squash the commits.": "你有未提交的更改。请先提交或贮藏它们,然后压缩这些提交。", "You have uncommitted changes. Commit or stash them, then start the rebase.": "你有未提交的更改。请先提交或贮藏它们,然后开始变基。", "You've made commits on the detached HEAD since (it is at {0} now), and switching back would leave them on no branch. Create a branch for them first, then undo.": "你此后在分离 HEAD 上创建了提交(现在位于 {0}),切回会让它们不属于任何分支。请先为它们创建一个分支,然后撤销。", @@ -1389,6 +1403,7 @@ "dropping a commit": "正在丢弃提交", "dropping commits": "正在丢弃多个提交", "edit": "编辑", + "editing a commit message": "正在改写提交信息", "either arrow takes it": "任一方向键即可采用", "file": "个文件", "files": "个文件", @@ -1731,6 +1746,7 @@ "{0} of {1} ticked · untick the last for all": "已勾选 {1} 个中的 {0} 个 · 取消勾选最后一个即为全部", "{0} on this file": "此文件上有 {0}", "{0} on {1}": "{0}(在 {1} 上)", + "{0} on {1} gets the message below.": "{0}(在 {1} 上)将使用下方的提交信息。", "{0} on {1} not pulled yet.": "{1} 上的 {0}尚未拉取。", "{0} on {1}/{2} yet: {3} pushed first.": "{0} 还不在 {1}/{2} 上:会先推送 {3}。", "{0} or ": "{0} 或 ", diff --git a/apps/merge-studio/l10n/bundle.l10n.zh-tw.json b/apps/merge-studio/l10n/bundle.l10n.zh-tw.json index a9ae9829..69d8530d 100644 --- a/apps/merge-studio/l10n/bundle.l10n.zh-tw.json +++ b/apps/merge-studio/l10n/bundle.l10n.zh-tw.json @@ -149,6 +149,7 @@ "All {0} commits are": "全部 {0} 個提交", "All {0} {1} are": "所有 {0} 個 {1} 都", "Already merged in the file, outside the conflict markers (by git, or by hand): check it": "已在檔案中合併,位於衝突標記之外(由 git 或手工完成):請檢查", + "Already pushed. Editing its message would rewrite history other people have. The next push will need to be a force push.": "已被推送。改寫它的提交資訊會改寫其他人已有的歷史。下一次推送需要強制推送。", "Already pushed. {0} it would rewrite history other people have.": "已被推送。{0} 它會改寫其他人已有的歷史。", "Already rebased commits": "已變基的提交", "Already rebased commits and commits from main": "已變基的提交和來自 main 的提交", @@ -292,6 +293,7 @@ "Commit graph": "提交圖", "Commit list": "提交列表", "Commit message": "提交資訊", + "Commit message changed.": "提交資訊已更改。", "Commit or stash {0}, then pull again.": "請先提交或儲藏 {0},然後再次拉取。", "Commit title": "提交標題", "Commit {0}": "提交 {0}", @@ -335,6 +337,8 @@ "Copy the pull request's link": "複製該拉取請求的連結", "Couldn't abort the rebase.": "無法中止變基。", "Couldn't bring the conflict in {0} back.": "無法恢復 {0} 中的衝突。", + "Couldn't change the commit message.": "無法更改提交資訊。", + "Couldn't change the commit message: {0}": "無法更改提交資訊:{0}", "Couldn't compare the branches": "無法比較這些分支", "Couldn't delete {0}.": "無法刪除 {0}。", "Couldn't drop {0}.": "無法丟棄 {0}。", @@ -429,7 +433,10 @@ "Dropping {0} hit a conflict while replaying a later commit. Resolve it and continue the rebase — or skip that commit, or abort to put the branch back as it was.": "丟棄 {0} 時在重放後續提交時遇到衝突。請解決它並繼續變基 — 或跳過該提交,或中止以把分支恢復原樣。", "Dropping {0} stopped and needs you — continue the rebase, or abort it to put the branch back as it was.": "丟棄 {0} 已停止,需要你處理 — 請繼續變基,或中止以把分支恢復原樣。", "Edit": "編輯", + "Edit commit message": "改寫提交資訊", "Edit result": "編輯結果", + "Editing the message hit a conflict while replaying a later commit. Resolve it and continue the rebase — or abort to put the branch back as it was.": "改寫提交資訊時在重放後續提交時遇到衝突。請解決它並繼續變基 — 或中止以把分支恢復原樣。", + "Editing the message stopped and needs you — continue the rebase, or abort it to put the branch back as it was.": "改寫提交資訊已停止,需要你處理 — 請繼續變基,或中止以把分支恢復原樣。", "Errored": "出錯", "Every check on its latest commit": "每項檢查都在其最新提交上", "Every conflict is resolved, and your stashed changes are in your files. git keeps the stash entry when applying it stops on conflicts, so it is still in your stash list — drop it once you are happy with the result.": "每個衝突都已解決,你儲藏的更改已在檔案中。在應用時遇到衝突而停下,git 會保留儲藏條目,所以它仍在儲藏列表中 — 滿意後即可丟棄它。", @@ -893,6 +900,7 @@ "Reopen pull request": "重新開啟拉取請求", "Reopen this pull request": "重新開啟此拉取請求", "Reopening…": "正在重新開啟…", + "Reordering": "重新排序", "Reordering stops at a merge — moving a commit past one would flatten it.": "重新排序會在合併提交處停止 — 把提交移過合併提交會壓平它。", "Replace and stage": "替換並暫存", "Replace the file with {0} and stage it": "用 {0} 替換該檔案並暫存", @@ -1084,6 +1092,8 @@ "Template: {0}": "模板:{0}", "That change is no longer there — the file moved underneath. Refresh and try again.": "該更改已不存在 — 底層的檔案已被移動。請重新整理後重試。", "That commit is too far down the branch to drop from here. Start an interactive rebase from it instead.": "該提交在分支中位置太靠下,無法從這裡丟棄。請改為從它開始互動式變基。", + "That commit is too far down the branch to edit from here. Start an interactive rebase instead.": "該提交在分支中位置太靠下,無法從這裡改寫。請改用互動式變基。", + "That commit isn't on the current branch, so its message can't be edited from here.": "該提交不在當前分支上,因此無法從這裡改寫它的資訊。", "That commit isn't on the current branch, so there's nothing to drop it from.": "該提交不在當前分支上,因此無從丟棄它。", "That isn't a drop this app made.": "這不是本應用執行的丟棄。", "That isn't a stash this app recorded.": "這不是本應用記錄的儲藏。", @@ -1094,6 +1104,7 @@ "That stash is no longer in the repository.": "該儲藏已不在儲存庫中。", "That stash no longer exists.": "該儲藏已不存在。", "That's a merge commit — dropping it would flatten the history it joined. Revert it instead.": "這是一個合併提交 — 丟棄它會壓平它併入的歷史。請改為還原它。", + "That's a merge commit — editing its message would flatten the history it joined. Use an interactive rebase that keeps merges instead.": "這是一個合併提交 — 改寫它的資訊會壓平它併入的歷史。請改用保留合併的互動式變基。", "That's the only commit on the branch — dropping it would leave nothing.": "這是分支上唯一的提交 — 丟棄它會什麼都不剩。", "The branch goes back to where it was before the series started. Patches already applied are ": "分支會回到補丁系列開始之前的狀態。已應用的補丁 ", "The branch has moved since the {0}, so undoing it now would throw that away too. Nothing was changed.": "自{0}以來分支已移動,因此現在撤銷它會把這些也一併丟掉。未做任何更改。", @@ -1113,6 +1124,7 @@ "The commit being cherry-picked: {0} “{1}”": "正在揀選的提交:{0} “{1}”", "The commit is": "該提交", "The commit is added to {0} as one new commit.": "該提交會作為一個新提交新增到 {0}。", + "The commit needs a message.": "該提交需要一條提交資訊。", "The conflict is back, but {0} couldn't be restored on disk.": "衝突已恢復,但 {0} 無法在磁碟上恢復。", "The conflicted files are back to their last committed versions.": "衝突檔案已恢復為它們最後一次提交的版本。", "The conflicts list: every conflicted file of this {0}, and {1}{2}": "衝突列表:此 {0} 的每個衝突檔案,以及 {1}{2}", @@ -1201,7 +1213,8 @@ "This window has {0} open, so it can't be removed from here — its folder would be deleted from under the window. Remove it from another window, or open something else in this one first.": "此視窗打開了 {0},因此無法從這裡移除 — 它的資料夾會從該視窗下被刪除。請從另一個視窗移除它,或先在此視窗開啟別的內容。", "Those are all the commits on the branch — dropping them would leave nothing.": "這些是分支上的全部提交 — 丟棄它們會什麼都不剩。", "Those changes are no longer there — refresh and try again.": "那些更改已不存在 — 請重新整理後重試。", - "Those commits are too far down the branch to {0} from here. Start an interactive rebase instead.": "那些提交在分支中位置太靠下,無法從這裡{0}。請改用互動式變基。", + "Those commits are too far down the branch to drop from here. Start an interactive rebase instead.": "那些提交在分支中位置太靠下,無法從這裡丟棄。請改用互動式變基。", + "Those commits are too far down the branch to squash from here. Start an interactive rebase instead.": "那些提交在分支中位置太靠下,無法從這裡壓縮。請改用互動式變基。", "Throw your pending comments away without sending them": "丟棄你待提交的評論,不傳送它們", "Timed out": "已超時", "Title": "標題", @@ -1279,6 +1292,7 @@ "You (@{0})": "你(@{0})", "You have uncommitted changes. Commit or stash them, then drop the commit.": "你有未提交的更改。請先提交或儲藏它們,然後丟棄該提交。", "You have uncommitted changes. Commit or stash them, then drop the commits.": "你有未提交的更改。請先提交或儲藏它們,然後丟棄這些提交。", + "You have uncommitted changes. Commit or stash them, then edit the message.": "你有未提交的更改。請先提交或儲藏它們,然後改寫提交資訊。", "You have uncommitted changes. Commit or stash them, then squash the commits.": "你有未提交的更改。請先提交或儲藏它們,然後壓縮這些提交。", "You have uncommitted changes. Commit or stash them, then start the rebase.": "你有未提交的更改。請先提交或儲藏它們,然後開始變基。", "You've made commits on the detached HEAD since (it is at {0} now), and switching back would leave them on no branch. Create a branch for them first, then undo.": "你此後在分離 HEAD 上建立了提交(現在位於 {0}),切回會讓它們不屬於任何分支。請先為它們建立一個分支,然後撤銷。", @@ -1389,6 +1403,7 @@ "dropping a commit": "正在丟棄提交", "dropping commits": "正在丟棄多個提交", "edit": "編輯", + "editing a commit message": "正在改寫提交資訊", "either arrow takes it": "任一方向鍵即可採用", "file": "個檔案", "files": "個檔案", @@ -1731,6 +1746,7 @@ "{0} of {1} ticked · untick the last for all": "已勾選 {1} 箇中的 {0} 個 · 取消勾選最後一個即為全部", "{0} on this file": "此檔案上有 {0}", "{0} on {1}": "{0}(在 {1} 上)", + "{0} on {1} gets the message below.": "{0}(在 {1} 上)將使用下方的提交資訊。", "{0} on {1} not pulled yet.": "{1} 上的 {0}尚未拉取。", "{0} on {1}/{2} yet: {3} pushed first.": "{0} 還不在 {1}/{2} 上:會先推送 {3}。", "{0} or ": "{0} 或 ", diff --git a/apps/merge-studio/package.json b/apps/merge-studio/package.json index 5908b22d..72259f7e 100644 --- a/apps/merge-studio/package.json +++ b/apps/merge-studio/package.json @@ -2,7 +2,7 @@ "name": "merge-studio", "displayName": "%displayName%", "description": "%description%", - "version": "1.2.0", + "version": "1.3.0", "publisher": "gitstudio", "license": "MIT AND Apache-2.0", "icon": "media/icon.png", diff --git a/docs/releases/app-v2.5.0.md b/docs/releases/app-v2.5.0.md new file mode 100644 index 00000000..6de8a195 --- /dev/null +++ b/docs/releases/app-v2.5.0.md @@ -0,0 +1,34 @@ +# GitStudio 2.5.0 — in 14 languages + +## Pick your language + +**Settings ▸ Appearance ▸ Language** sets GitStudio's language, or leaves it +on **System** to follow your OS: Simplified and Traditional Chinese, Japanese, +Korean, German, French, Spanish, Italian, Portuguese (Brazil), Russian, +Turkish, Polish and Czech, besides English. A change applies after a restart, +and the setting offers one. + +Every screen is translated — Changes, Commits, Branches, the graph, pull +requests, issues, Actions, the Assistant, Settings, menus and dialogs. The +translations other than English are machine drafts made with each language's +own git terms; corrections from native speakers are very welcome as issues or +pull requests. + +## Edit message… on a commit + +Right-click a commit in the graph and choose **Edit message…**: its whole +message opens in an editor, and GitStudio rewrites it in place, replaying the +commits after it. Branches on those commits can come along, a pushed commit +gets a warning first, and Undo puts everything back. + +## What git stores stays in English + +Undo's reflog entries, stash messages and the revert commit it makes are +written in English whatever language GitStudio shows, so the repository's +history reads the same for everyone who opens it. + +## Fixed + +- Counts read as whole sentences ("3 commits to push") in every language. +- Pull request review badges say "approved" or "changes requested" in words, + not GitHub's raw state. diff --git a/docs/releases/ext-v1.18.0.md b/docs/releases/ext-v1.18.0.md new file mode 100644 index 00000000..1688a27c --- /dev/null +++ b/docs/releases/ext-v1.18.0.md @@ -0,0 +1,36 @@ +# GitStudio 1.18.0 — in 14 languages + +## GitStudio speaks your editor's language + +Every view, message, command and setting now follows VS Code's display +language: Simplified and Traditional Chinese, Japanese, Korean, German, +French, Spanish, Italian, Portuguese (Brazil), Russian, Turkish, Polish and +Czech, besides English. There is nothing to switch on — set VS Code's display +language (**Configure Display Language**) and reload. + +Simplified Chinese started as a community contribution — thank you, +[@AutumnPizazz](https://github.com/AutumnPizazz). The other translations are +machine drafts made with each language's own git and VS Code terms; +corrections from native speakers are very welcome as issues or pull requests. + +## Edit Message… on a commit + +Right-click a commit in the graph and choose **Edit Message…**: its whole +message opens in an editor, and GitStudio rewrites it in place, replaying the +commits after it. Branches on those commits can come along, a pushed commit +gets a warning first, and Undo puts everything back. Thanks to @glazrtom for +the idea in #75. + +## What git stores stays in English + +Undo's reflog entries, stash messages and the revert commit it makes are +written in English whatever language the editor shows, so the repository's +history reads the same for everyone who opens it. + +## Fixed + +- A reword in the interactive rebase workspace keeps the commit's + description — it used to start from the subject line only (#75). +- Counts read as whole sentences ("Undo 3 local commits") instead of an + English noun dropped into a translated sentence. +- On git 2.43, a stash git refuses without a word now says why. diff --git a/l10n/cs.json b/l10n/cs.json index 30c7da11..d9dee938 100644 --- a/l10n/cs.json +++ b/l10n/cs.json @@ -470,6 +470,7 @@ "Already cloned at {0}": "Již naklonováno v {0}", "Already merged in the file, outside the conflict markers (by git, or by hand): check it": "Už sloučeno v souboru, mimo značky konfliktu (gitem, nebo ručně): zkontrolujte to", "Already on {0}": "Už na {0}", + "Already pushed. Editing its message would rewrite history other people have. The next push will need to be a force push.": "Už odesláno (push). Úprava jeho zprávy by přepsala historii, kterou mají jiní lidé. Další push bude muset být force push.", "Already pushed. {0} it would rewrite history other people have.": "Už odesláno (push). {0} by přepsalo historii, kterou mají jiní lidé.", "Already rebased commits": "Už rebasované commity", "Already rebased commits and commits from main": "Už rebasované commity a commity z main", @@ -930,6 +931,7 @@ "Commit graph": "Graf commitů", "Commit list": "Seznam commitů", "Commit message": "Zpráva commitu", + "Commit message changed.": "Zpráva commitu změněna.", "Commit not in the local clone": "Commit není v místním klonu", "Commit or stash {0}, then pull again.": "Commitněte nebo uložte do stash {0} a pak zkuste pull znovu.", "Commit page: filter the changed files": "Stránka commitu: filtrovat změněné soubory", @@ -1091,6 +1093,8 @@ "Couldn't bring the conflict in {0} back.": "Nepodařilo se vrátit konflikt v {0} zpět.", "Couldn't bring them back.": "Nepodařilo se je vrátit zpět.", "Couldn't cancel the run.": "Nepodařilo se zrušit běh.", + "Couldn't change the commit message.": "Zprávu commitu se nepodařilo změnit.", + "Couldn't change the commit message: {0}": "Zprávu commitu se nepodařilo změnit: {0}", "Couldn't change {0}.": "Nepodařilo se změnit {0}.", "Couldn't check for updates.": "Nepodařilo se zkontrolovat aktualizace.", "Couldn't check out PR #{0}: {1}": "Nepodařilo se přepnout na PR #{0}: {1}", @@ -1637,14 +1641,21 @@ "Duration": "Doba trvání", "Edit": "Upravit", "Edit #{0}": "Upravit #{0}", + "Edit Message": "Upravit zprávu", + "Edit Message…": "Upravit zprávu…", "Edit URL": "Upravit URL", "Edit URL of {0}": "Upravit URL {0}", + "Edit and move those branches": "Upravit a přesunout tyto větve", "Edit assignees": "Upravit řešitele", "Edit comment": "Upravit komentář", + "Edit commit message": "Upravit zprávu commitu", "Edit gist": "Upravit gist", "Edit issue #{0}": "Upravit issue #{0}", "Edit issue title and description": "Upravit název a popis issue", "Edit labels": "Upravit štítky", + "Edit message": "Upravit zprávu", + "Edit message…": "Upravit zprávu…", + "Edit on this branch only": "Upravit jen na této větvi", "Edit pull request #{0}": "Upravit pull request #{0}", "Edit pull request title and description": "Upravit název a popis pull requestu", "Edit release": "Upravit vydání", @@ -1655,6 +1666,8 @@ "Edit title & description": "Upravit název a popis", "Edit {0}": "Upravit {0}", "Edited {0}": "Upraveno {0}", + "Editing the message hit a conflict while replaying a later commit. Resolve it and continue the rebase — or abort to put the branch back as it was.": "Úprava zprávy narazila na konflikt při přehrávání pozdějšího commitu. Vyřešte ho a pokračujte v rebase — nebo rebase zrušte, aby se větev vrátila tak, jak byla.", + "Editing the message stopped and needs you — continue the rebase, or abort it to put the branch back as it was.": "Úprava zprávy se zastavila a potřebuje váš zásah — pokračujte v rebase, nebo ho zrušte, aby se větev vrátila tak, jak byla.", "Editors": "Editory", "Email": "E-mail", "Empty file": "Prázdný soubor", @@ -2504,6 +2517,7 @@ "Move the branch and DISCARD every working-tree and staged change.": "Přesunout větev a ZAHODIT všechny změny v pracovním stromu i připravené ke commitu.", "Move the branch, keep the working tree, unstage everything. Git's default.": "Přesunout větev, zachovat pracovní strom, zrušit přípravu všeho ke commitu. Výchozí chování Gitu.", "Move the branch. Keep your working tree AND everything staged.": "Přesunout větev. Zachovat pracovní strom I vše připravené ke commitu.", + "Move the branches on rewritten commits too?": "Přesunout i větve na přepsaných commitech?", "Move the current branch back to this commit.": "Přesunout aktuální větev zpět na tento commit.", "Move the selected commits": "Přesunout vybrané commity", "Move the selected commits down": "Přesunout vybrané commity dolů", @@ -3286,6 +3300,7 @@ "Pushing…": "Odesílání…", "Push…": "Push…", "Put the clone folder back": "Vrátit složku pro klonování zpět", + "Put the old message back": "Vrátit starou zprávu zpět", "Put the stash back": "Vrátit stash zpět", "Put the stash “{0}” back {1}.": "Vrátit stash „{0}“ zpět {1}.", "Put the {0} dropped commits back": "Vrátit {0} zahozených commitů zpět", @@ -3490,6 +3505,7 @@ "Reorder this branch only": "Změnit pořadí jen této větve", "Reorder {0} commits": "Změnit pořadí {0} commitů", "Reorder {0} commits?": "Změnit pořadí {0} commitů?", + "Reordering": "Změna pořadí", "Reordering stops at a merge — moving a commit past one would flatten it.": "Změna pořadí se zastaví na sloučení — přesun commitu za něj by ho zploštil.", "Replace and stage": "Nahradit a připravit", "Replace the file with {0} and stage it": "Nahradit soubor {0} a připravit jej", @@ -4150,6 +4166,8 @@ "That URL uses an unsupported transport.": "Tato URL používá nepodporovaný transport.", "That change is no longer there — the file moved underneath. Refresh and try again.": "Tato změna už tam není — soubor se pod tím přesunul. Obnovte a zkuste to znovu.", "That commit is too far down the branch to drop from here. Start an interactive rebase from it instead.": "Tento commit je na větvi příliš hluboko, aby bylo možné ho odtud zahodit. Spusťte od něj interaktivní rebase.", + "That commit is too far down the branch to edit from here. Start an interactive rebase instead.": "Tento commit je na větvi příliš daleko, než aby bylo možné odtud upravit jeho zprávu. Místo toho spusťte interaktivní rebase.", + "That commit isn't on the current branch, so its message can't be edited from here.": "Tento commit není na aktuální větvi, takže jeho zprávu odtud nelze upravit.", "That commit isn't on the current branch, so there's nothing to drop it from.": "Tento commit není na aktuální větvi, takže není z čeho ho zahodit.", "That didn't work.": "To nefungovalo.", "That doesn't look like a valid repository URL.": "To nevypadá jako platná URL repozitáře.", @@ -4182,6 +4200,7 @@ "That worktree": "Tento pracovní strom", "That {0} is not here": "{0} tady není", "That's a merge commit — dropping it would flatten the history it joined. Revert it instead.": "Toto je commit sloučení — jeho zahození by zploštilo historii, kterou spojil. Místo toho ho vraťte zpět.", + "That's a merge commit — editing its message would flatten the history it joined. Use an interactive rebase that keeps merges instead.": "Toto je commit sloučení — úprava jeho zprávy by zploštila historii, kterou spojil. Místo toho použijte interaktivní rebase, který sloučení zachová.", "That's the clone folder itself, not a repository inside it.": "To je samotná složka pro klonování, ne repozitář v ní.", "That's the only commit on the branch — dropping it would leave nothing.": "Toto je jediný commit na větvi — jeho zahozením by nezůstalo nic.", "The 50 most recent commits. Clone the repository to read its whole history.": "50 nejnovějších commitů. Naklonujte repozitář, abyste si přečetli celou jeho historii.", @@ -4238,6 +4257,7 @@ "The commit is": "Commit je", "The commit is added to {0} as one new commit.": "Commit je do {0} přidán jako jeden nový commit.", "The commit it holds": "Commit, který uchovává", + "The commit needs a message.": "Commit potřebuje zprávu.", "The commits HEAD has that {0} does not are rewritten on top of it, so they get new shas. HEAD is on no branch, so they are on no branch either: create a branch from them to keep them. Undo can take you back.": "Commity, které má HEAD a {0} ne, se nad ním přepíšou, takže získají nová SHA. HEAD není na žádné větvi, takže ani ony nejsou na žádné větvi: vytvořte z nich větev, abyste je zachovali. Zpět vás může vrátit.", "The conflict is back, but {0} couldn't be restored on disk.": "Konflikt je zpět, ale {0} se nepodařilo obnovit na disku.", "The conflict state came back empty.": "Stav konfliktu se vrátil prázdný.", @@ -4503,7 +4523,8 @@ "This workflow run couldn't be loaded.": "Tento běh workflow se nepodařilo načíst.", "Those are all the commits on the branch — dropping them would leave nothing.": "To jsou všechny commity na větvi — jejich zahozením by nezbylo nic.", "Those changes are no longer there — refresh and try again.": "Tyto změny už tam nejsou — obnovte a zkuste to znovu.", - "Those commits are too far down the branch to {0} from here. Start an interactive rebase instead.": "Tyto commity jsou na větvi příliš daleko, než aby bylo možné {0} odtud. Místo toho spusťte interaktivní rebase.", + "Those commits are too far down the branch to drop from here. Start an interactive rebase instead.": "Tyto commity jsou na větvi příliš daleko, než aby bylo možné je odtud zahodit. Místo toho spusťte interaktivní rebase.", + "Those commits are too far down the branch to squash from here. Start an interactive rebase instead.": "Tyto commity jsou na větvi příliš daleko, než aby bylo možné je odtud squashnout. Místo toho spusťte interaktivní rebase.", "Those commits could not be read any more — refresh the graph and try again.": "Tyto commity se už nepodařilo načíst — obnovte graf a zkuste to znovu.", "Thread": "Vlákno", "Thread reopened.": "Vlákno znovu otevřeno.", @@ -4775,6 +4796,7 @@ "You have uncommitted changes": "Máte nekomitnuté změny", "You have uncommitted changes. Commit or stash them, then drop the commit.": "Máte nekomitnuté změny. Commitněte je nebo uložte do stash, a pak commit zahoďte.", "You have uncommitted changes. Commit or stash them, then drop the commits.": "Máte nekomitnuté změny. Commitněte je nebo uložte do stash, a pak commity zahoďte.", + "You have uncommitted changes. Commit or stash them, then edit the message.": "Máte nekomitnuté změny. Commitněte je nebo uložte do stash, a pak upravte zprávu.", "You have uncommitted changes. Commit or stash them, then squash the commits.": "Máte nekomitnuté změny. Commitněte je nebo uložte do stash, a pak commity squashněte.", "You have uncommitted changes. Commit or stash them, then start the rebase.": "Máte nekomitnuté změny. Commitněte je nebo uložte do stash, a pak spusťte rebase.", "You have {0} {1} doesn't, and it has {2} you don't. ": "Máte {0}, které {1} nemá, a ono má {2}, které vy nemáte. ", @@ -5038,6 +5060,7 @@ "each line is not annotated twice. You can turn it back on in Settings.": "každý řádek není anotován dvakrát. Můžete to znovu zapnout v Nastavení.", "edit": "upravit", "edited": "upraveno", + "editing a commit message": "upravování zprávy commitu", "either arrow takes it": "kterákoli šipka to přesune", "empty": "prázdné", "error": "chyba", @@ -5802,6 +5825,7 @@ "{0} on this branch only": "{0} jen na této větvi", "{0} on this file": "{0} na tomto souboru", "{0} on {1}": "{0} na {1}", + "{0} on {1} gets the message below.": "{0} na {1} dostane zprávu níže.", "{0} on {1} not pulled yet.": "{0} na {1} ještě nestažené (pull).", "{0} on {1}/{2} yet: {3} pushed first.": "{0} na {1}/{2} ještě ne: nejdřív {3} odeslat (push).", "{0} on {1}{2}{3}": "{0} na {1}{2}{3}", diff --git a/l10n/de.json b/l10n/de.json index d88e3e82..d5888b53 100644 --- a/l10n/de.json +++ b/l10n/de.json @@ -470,6 +470,7 @@ "Already cloned at {0}": "Bereits geklont unter {0}", "Already merged in the file, outside the conflict markers (by git, or by hand): check it": "Bereits in der Datei gemergt, außerhalb der Konfliktmarkierungen (von Git oder von Hand): prüfen", "Already on {0}": "Bereits auf {0}", + "Already pushed. Editing its message would rewrite history other people have. The next push will need to be a force push.": "Bereits gepusht. Die Nachricht zu ändern würde die Historie umschreiben, die andere bereits haben. Der nächste Push muss ein Force-Push sein.", "Already pushed. {0} it would rewrite history other people have.": "Bereits gepusht. {0} würde die Historie umschreiben, die andere bereits haben.", "Already rebased commits": "Bereits rebasierte Commits", "Already rebased commits and commits from main": "Bereits rebasierte Commits und Commits von main", @@ -930,6 +931,7 @@ "Commit graph": "Commit-Graph", "Commit list": "Commit-Liste", "Commit message": "Commit-Nachricht", + "Commit message changed.": "Commit-Nachricht geändert.", "Commit not in the local clone": "Commit nicht im lokalen Klon vorhanden", "Commit or stash {0}, then pull again.": "{0} committen oder stashen, dann erneut pullen.", "Commit page: filter the changed files": "Commit-Seite: geänderte Dateien filtern", @@ -1091,6 +1093,8 @@ "Couldn't bring the conflict in {0} back.": "Der Konflikt in {0} konnte nicht zurückgebracht werden.", "Couldn't bring them back.": "Sie konnten nicht zurückgeholt werden.", "Couldn't cancel the run.": "Der Lauf konnte nicht abgebrochen werden.", + "Couldn't change the commit message.": "Die Commit-Nachricht konnte nicht geändert werden.", + "Couldn't change the commit message: {0}": "Die Commit-Nachricht konnte nicht geändert werden: {0}", "Couldn't change {0}.": "{0} konnte nicht geändert werden.", "Couldn't check for updates.": "Es konnte nicht nach Updates gesucht werden.", "Couldn't check out PR #{0}: {1}": "PR #{0} konnte nicht ausgecheckt werden: {1}", @@ -1637,14 +1641,21 @@ "Duration": "Dauer", "Edit": "Bearbeiten", "Edit #{0}": "#{0} bearbeiten", + "Edit Message": "Nachricht ändern", + "Edit Message…": "Nachricht ändern…", "Edit URL": "URL bearbeiten", "Edit URL of {0}": "URL von {0} bearbeiten", + "Edit and move those branches": "Ändern und diese Branches verschieben", "Edit assignees": "Zugewiesene Personen bearbeiten", "Edit comment": "Kommentar bearbeiten", + "Edit commit message": "Commit-Nachricht ändern", "Edit gist": "Gist bearbeiten", "Edit issue #{0}": "Issue #{0} bearbeiten", "Edit issue title and description": "Titel und Beschreibung des Issues bearbeiten", "Edit labels": "Labels bearbeiten", + "Edit message": "Nachricht ändern", + "Edit message…": "Nachricht ändern…", + "Edit on this branch only": "Nur auf diesem Branch ändern", "Edit pull request #{0}": "Pull Request #{0} bearbeiten", "Edit pull request title and description": "Titel und Beschreibung des Pull Requests bearbeiten", "Edit release": "Release bearbeiten", @@ -1655,6 +1666,8 @@ "Edit title & description": "Titel & Beschreibung bearbeiten", "Edit {0}": "{0} bearbeiten", "Edited {0}": "Bearbeitet {0}", + "Editing the message hit a conflict while replaying a later commit. Resolve it and continue the rebase — or abort to put the branch back as it was.": "Das Ändern der Nachricht stieß beim Wiederholen eines späteren Commits auf einen Konflikt. Lösen und den Rebase fortsetzen — oder abbrechen, um den Branch wie zuvor zurückzusetzen.", + "Editing the message stopped and needs you — continue the rebase, or abort it to put the branch back as it was.": "Das Ändern der Nachricht ist gestoppt und braucht Sie — den Rebase fortsetzen oder abbrechen, um den Branch wie zuvor zurückzusetzen.", "Editors": "Editoren", "Email": "E-Mail", "Empty file": "Leere Datei", @@ -2504,6 +2517,7 @@ "Move the branch and DISCARD every working-tree and staged change.": "Den Branch verschieben und JEDE Änderung im Arbeitsverzeichnis und in der Staging-Area VERWERFEN.", "Move the branch, keep the working tree, unstage everything. Git's default.": "Den Branch verschieben, das Arbeitsverzeichnis behalten, alles aus der Staging-Area entfernen. Gits Standardverhalten.", "Move the branch. Keep your working tree AND everything staged.": "Den Branch verschieben. Arbeitsverzeichnis UND alles Bereitgestellte behalten.", + "Move the branches on rewritten commits too?": "Auch die Branches auf den neu geschriebenen Commits verschieben?", "Move the current branch back to this commit.": "Den aktuellen Branch zurück zu diesem Commit verschieben.", "Move the selected commits": "Die ausgewählten Commits verschieben", "Move the selected commits down": "Ausgewählte Commits nach unten verschieben", @@ -3286,6 +3300,7 @@ "Pushing…": "Wird gepusht…", "Push…": "Pushen…", "Put the clone folder back": "Den Klonordner zurücksetzen", + "Put the old message back": "Die alte Nachricht zurücklegen", "Put the stash back": "Den Stash zurücklegen", "Put the stash “{0}” back {1}.": "Den Stash „{0}“ {1} zurücklegen.", "Put the {0} dropped commits back": "Die {0} verworfenen Commits zurücklegen", @@ -3490,6 +3505,7 @@ "Reorder this branch only": "Nur diesen Branch umordnen", "Reorder {0} commits": "{0} Commits umordnen", "Reorder {0} commits?": "{0} Commits umordnen?", + "Reordering": "Wird umgeordnet", "Reordering stops at a merge — moving a commit past one would flatten it.": "Umordnen stoppt an einem Merge — einen Commit daran vorbei zu verschieben würde ihn einebnen.", "Replace and stage": "Ersetzen und bereitstellen", "Replace the file with {0} and stage it": "Die Datei durch {0} ersetzen und bereitstellen", @@ -4150,6 +4166,8 @@ "That URL uses an unsupported transport.": "Diese URL verwendet ein nicht unterstütztes Transportprotokoll.", "That change is no longer there — the file moved underneath. Refresh and try again.": "Diese Änderung existiert nicht mehr — die Datei wurde darunter verschoben. Aktualisieren und erneut versuchen.", "That commit is too far down the branch to drop from here. Start an interactive rebase from it instead.": "Dieser Commit liegt zu weit unten im Branch, um ihn von hier zu verwerfen. Stattdessen einen interaktiven Rebase ab diesem Commit starten.", + "That commit is too far down the branch to edit from here. Start an interactive rebase instead.": "Dieser Commit liegt zu weit unten im Branch, um von hier aus geändert zu werden. Stattdessen einen interaktiven Rebase starten.", + "That commit isn't on the current branch, so its message can't be edited from here.": "Dieser Commit befindet sich nicht auf dem aktuellen Branch, daher kann seine Nachricht von dort nicht geändert werden.", "That commit isn't on the current branch, so there's nothing to drop it from.": "Dieser Commit befindet sich nicht auf dem aktuellen Branch, daher gibt es nichts, wovon er verworfen werden könnte.", "That didn't work.": "Das hat nicht funktioniert.", "That doesn't look like a valid repository URL.": "Das sieht nicht wie eine gültige Repository-URL aus.", @@ -4182,6 +4200,7 @@ "That worktree": "Dieser Worktree", "That {0} is not here": "{0} ist hier nicht vorhanden", "That's a merge commit — dropping it would flatten the history it joined. Revert it instead.": "Das ist ein Merge-Commit — ihn zu verwerfen würde die von ihm verbundene Historie einebnen. Stattdessen revertieren.", + "That's a merge commit — editing its message would flatten the history it joined. Use an interactive rebase that keeps merges instead.": "Das ist ein Merge-Commit — seine Nachricht zu ändern würde die Historie abflachen, die er zusammenführte. Stattdessen einen interaktiven Rebase verwenden, der Merges erhält.", "That's the clone folder itself, not a repository inside it.": "Das ist der Klonordner selbst, kein Repository darin.", "That's the only commit on the branch — dropping it would leave nothing.": "Das ist der einzige Commit auf dem Branch — ihn zu verwerfen würde nichts übrig lassen.", "The 50 most recent commits. Clone the repository to read its whole history.": "Die 50 neuesten Commits. Das Repository klonen, um die gesamte Historie zu lesen.", @@ -4238,6 +4257,7 @@ "The commit is": "Der Commit ist", "The commit is added to {0} as one new commit.": "Der Commit wird {0} als ein neuer Commit hinzugefügt.", "The commit it holds": "Der Commit, den er hält", + "The commit needs a message.": "Der Commit braucht eine Nachricht.", "The commits HEAD has that {0} does not are rewritten on top of it, so they get new shas. HEAD is on no branch, so they are on no branch either: create a branch from them to keep them. Undo can take you back.": "Die Commits, die HEAD hat und {0} nicht, werden oben darauf neu geschrieben, sodass sie neue SHAs erhalten. HEAD befindet sich auf keinem Branch, daher sind sie es auch nicht: einen Branch daraus erstellen, um sie zu behalten. Rückgängig kann wieder zurückführen.", "The conflict is back, but {0} couldn't be restored on disk.": "Der Konflikt ist zurück, aber {0} konnte nicht auf der Festplatte wiederhergestellt werden.", "The conflict state came back empty.": "Der Konfliktstatus kam leer zurück.", @@ -4503,7 +4523,8 @@ "This workflow run couldn't be loaded.": "Dieser Workflow-Lauf konnte nicht geladen werden.", "Those are all the commits on the branch — dropping them would leave nothing.": "Das sind alle Commits auf dem Branch — sie zu verwerfen würde nichts übrig lassen.", "Those changes are no longer there — refresh and try again.": "Diese Änderungen sind nicht mehr vorhanden — aktualisieren und erneut versuchen.", - "Those commits are too far down the branch to {0} from here. Start an interactive rebase instead.": "Diese Commits liegen zu weit unten im Branch, um von hier aus {0} zu werden. Stattdessen einen interaktiven Rebase starten.", + "Those commits are too far down the branch to drop from here. Start an interactive rebase instead.": "Diese Commits liegen zu weit unten im Branch, um von hier aus verworfen zu werden. Stattdessen einen interaktiven Rebase starten.", + "Those commits are too far down the branch to squash from here. Start an interactive rebase instead.": "Diese Commits liegen zu weit unten im Branch, um von hier aus zusammengefasst zu werden. Stattdessen einen interaktiven Rebase starten.", "Those commits could not be read any more — refresh the graph and try again.": "Diese Commits konnten nicht mehr gelesen werden — den Graph aktualisieren und erneut versuchen.", "Thread": "Thread", "Thread reopened.": "Thread wiedereröffnet.", @@ -4775,6 +4796,7 @@ "You have uncommitted changes": "Es gibt nicht committete Änderungen", "You have uncommitted changes. Commit or stash them, then drop the commit.": "Es gibt nicht committete Änderungen. Diese committen oder stashen und dann den Commit verwerfen.", "You have uncommitted changes. Commit or stash them, then drop the commits.": "Es gibt nicht committete Änderungen. Diese committen oder stashen und dann die Commits verwerfen.", + "You have uncommitted changes. Commit or stash them, then edit the message.": "Es gibt nicht committete Änderungen. Diese committen oder stashen und dann die Nachricht ändern.", "You have uncommitted changes. Commit or stash them, then squash the commits.": "Es gibt nicht committete Änderungen. Diese committen oder stashen und dann die Commits squashen.", "You have uncommitted changes. Commit or stash them, then start the rebase.": "Es gibt nicht committete Änderungen. Diese committen oder stashen und dann den Rebase starten.", "You have {0} {1} doesn't, and it has {2} you don't. ": "Hier gibt es {0}, die {1} nicht hat, und dort gibt es {2}, die hier fehlen. ", @@ -5038,6 +5060,7 @@ "each line is not annotated twice. You can turn it back on in Settings.": "jede Zeile wird nicht doppelt annotiert. Dies kann in den Einstellungen wieder eingeschaltet werden.", "edit": "bearbeiten", "edited": "bearbeitet", + "editing a commit message": "eine Commit-Nachricht ändern", "either arrow takes it": "jede Pfeiltaste übernimmt es", "empty": "leer", "error": "Fehler", @@ -5802,6 +5825,7 @@ "{0} on this branch only": "{0} nur auf diesem Branch", "{0} on this file": "{0} auf dieser Datei", "{0} on {1}": "{0} auf {1}", + "{0} on {1} gets the message below.": "{0} auf {1} bekommt die Nachricht unten.", "{0} on {1} not pulled yet.": "{0} auf {1} noch nicht gepullt.", "{0} on {1}/{2} yet: {3} pushed first.": "{0} noch nicht auf {1}/{2}: zuerst {3} gepusht.", "{0} on {1}{2}{3}": "{0} auf {1}{2}{3}", diff --git a/l10n/es.json b/l10n/es.json index a8355873..1810dd90 100644 --- a/l10n/es.json +++ b/l10n/es.json @@ -470,6 +470,7 @@ "Already cloned at {0}": "Ya está clonado en {0}", "Already merged in the file, outside the conflict markers (by git, or by hand): check it": "Ya fusionado en el archivo, fuera de los marcadores de conflicto (por git, o a mano): revísalo", "Already on {0}": "Ya en {0}", + "Already pushed. Editing its message would rewrite history other people have. The next push will need to be a force push.": "Ya publicado. Reformular su mensaje reescribiría un historial que otras personas tienen. El siguiente push tendrá que ser forzado.", "Already pushed. {0} it would rewrite history other people have.": "Ya publicado. {0} reescribiría un historial que otras personas tienen.", "Already rebased commits": "Commits ya rebasados", "Already rebased commits and commits from main": "Commits ya rebasados y commits de main", @@ -930,6 +931,7 @@ "Commit graph": "Grafo de commits", "Commit list": "Lista de commits", "Commit message": "Mensaje de commit", + "Commit message changed.": "Mensaje de commit modificado.", "Commit not in the local clone": "Commit no está en el clon local", "Commit or stash {0}, then pull again.": "Confirma o guarda en el stash {0}, y vuelve a incorporar.", "Commit page: filter the changed files": "Página del commit: filtrar los archivos modificados", @@ -1091,6 +1093,8 @@ "Couldn't bring the conflict in {0} back.": "No se pudo devolver el conflicto en {0}.", "Couldn't bring them back.": "No se pudieron restaurar.", "Couldn't cancel the run.": "No se pudo cancelar la ejecución.", + "Couldn't change the commit message.": "No se pudo modificar el mensaje de commit.", + "Couldn't change the commit message: {0}": "No se pudo modificar el mensaje de commit: {0}", "Couldn't change {0}.": "No se pudo cambiar {0}.", "Couldn't check for updates.": "No se pudo buscar actualizaciones.", "Couldn't check out PR #{0}: {1}": "No se pudo cambiar al PR #{0}: {1}", @@ -1637,14 +1641,21 @@ "Duration": "Duración", "Edit": "Editar", "Edit #{0}": "Editar #{0}", + "Edit Message": "Reformular mensaje", + "Edit Message…": "Reformular mensaje…", "Edit URL": "Editar URL", "Edit URL of {0}": "Editar URL de {0}", + "Edit and move those branches": "Reformular y mover esas ramas", "Edit assignees": "Editar responsables", "Edit comment": "Editar comentario", + "Edit commit message": "Reformular el mensaje del commit", "Edit gist": "Editar gist", "Edit issue #{0}": "Editar incidencia #{0}", "Edit issue title and description": "Editar título y descripción de la incidencia", "Edit labels": "Editar etiquetas", + "Edit message": "Reformular mensaje", + "Edit message…": "Reformular mensaje…", + "Edit on this branch only": "Reformular solo en esta rama", "Edit pull request #{0}": "Editar pull request #{0}", "Edit pull request title and description": "Editar título y descripción del pull request", "Edit release": "Editar release", @@ -1655,6 +1666,8 @@ "Edit title & description": "Editar título y descripción", "Edit {0}": "Editar {0}", "Edited {0}": "Editado {0}", + "Editing the message hit a conflict while replaying a later commit. Resolve it and continue the rebase — or abort to put the branch back as it was.": "Al reformular el mensaje se produjo un conflicto al reproducir un commit posterior. Resuélvelo y continúa el rebase — o abórtalo para devolver la rama a como estaba.", + "Editing the message stopped and needs you — continue the rebase, or abort it to put the branch back as it was.": "Reformular el mensaje se detuvo y necesita tu atención — continúa el rebase, o abórtalo para devolver la rama a como estaba.", "Editors": "Editores", "Email": "Correo electrónico", "Empty file": "Archivo vacío", @@ -2504,6 +2517,7 @@ "Move the branch and DISCARD every working-tree and staged change.": "Mueve la rama y DESCARTA todos los cambios del árbol de trabajo y preparados.", "Move the branch, keep the working tree, unstage everything. Git's default.": "Mueve la rama, conserva el árbol de trabajo y deja de preparar todo. Es lo predeterminado en git.", "Move the branch. Keep your working tree AND everything staged.": "Mueve la rama. Conserva tu árbol de trabajo Y todo lo preparado.", + "Move the branches on rewritten commits too?": "¿Mover también las ramas en los commits reescritos?", "Move the current branch back to this commit.": "Devuelve la rama actual a este commit.", "Move the selected commits": "Mover los commits seleccionados", "Move the selected commits down": "Mover hacia abajo los commits seleccionados", @@ -3286,6 +3300,7 @@ "Pushing…": "Publicando…", "Push…": "Publicar…", "Put the clone folder back": "Restaurar la carpeta de clonado", + "Put the old message back": "Restaurar el mensaje anterior", "Put the stash back": "Restaurar el stash", "Put the stash “{0}” back {1}.": "Devuelve el stash “{0}” {1}.", "Put the {0} dropped commits back": "Restaurar los {0} commits eliminados", @@ -3490,6 +3505,7 @@ "Reorder this branch only": "Reordenar solo esta rama", "Reorder {0} commits": "Reordenar {0} commits", "Reorder {0} commits?": "¿Reordenar {0} commits?", + "Reordering": "Reordenando", "Reordering stops at a merge — moving a commit past one would flatten it.": "El reordenamiento se detiene en una fusión: mover un commit más allá de una fusión la aplanaría.", "Replace and stage": "Reemplazar y preparar", "Replace the file with {0} and stage it": "Reemplazar el archivo con {0} y prepararlo", @@ -4150,6 +4166,8 @@ "That URL uses an unsupported transport.": "Esa URL usa un transporte no admitido.", "That change is no longer there — the file moved underneath. Refresh and try again.": "Ese cambio ya no está ahí — el archivo se movió por debajo. Actualiza e inténtalo de nuevo.", "That commit is too far down the branch to drop from here. Start an interactive rebase from it instead.": "Ese commit está demasiado abajo en la rama para descartarlo desde aquí. Inicia en su lugar un rebase interactivo desde él.", + "That commit is too far down the branch to edit from here. Start an interactive rebase instead.": "Ese commit está demasiado abajo en la rama para reformularlo desde aquí. Inicia en su lugar un rebase interactivo.", + "That commit isn't on the current branch, so its message can't be edited from here.": "Ese commit no está en la rama actual, así que su mensaje no se puede reformular desde aquí.", "That commit isn't on the current branch, so there's nothing to drop it from.": "Ese commit no está en la rama actual, así que no hay de dónde descartarlo.", "That didn't work.": "Eso no funcionó.", "That doesn't look like a valid repository URL.": "Eso no parece una URL de repositorio válida.", @@ -4182,6 +4200,7 @@ "That worktree": "Ese worktree", "That {0} is not here": "Ese {0} no está aquí", "That's a merge commit — dropping it would flatten the history it joined. Revert it instead.": "Eso es un commit de fusión — descartarlo aplanaría el historial que unió. Revierte en su lugar.", + "That's a merge commit — editing its message would flatten the history it joined. Use an interactive rebase that keeps merges instead.": "Eso es un commit de fusión — reformular su mensaje aplanaría el historial que unió. Usa en su lugar un rebase interactivo que conserve las fusiones.", "That's the clone folder itself, not a repository inside it.": "Esa es la propia carpeta de clonado, no un repositorio dentro de ella.", "That's the only commit on the branch — dropping it would leave nothing.": "Ese es el único commit de la rama — descartarlo no dejaría nada.", "The 50 most recent commits. Clone the repository to read its whole history.": "Los 50 commits más recientes. Clona el repositorio para leer todo su historial.", @@ -4238,6 +4257,7 @@ "The commit is": "El commit está", "The commit is added to {0} as one new commit.": "El commit se agrega a {0} como un nuevo commit.", "The commit it holds": "El commit que contiene", + "The commit needs a message.": "El commit necesita un mensaje.", "The commits HEAD has that {0} does not are rewritten on top of it, so they get new shas. HEAD is on no branch, so they are on no branch either: create a branch from them to keep them. Undo can take you back.": "Los commits que HEAD tiene y {0} no tiene se reescriben encima de él, así que obtienen nuevos shas. HEAD no está en ninguna rama, así que ellos tampoco lo están: crea una rama a partir de ellos para conservarlos. Deshacer puede devolverte.", "The conflict is back, but {0} couldn't be restored on disk.": "El conflicto volvió, pero {0} no se pudo restaurar en el disco.", "The conflict state came back empty.": "El estado del conflicto volvió vacío.", @@ -4503,7 +4523,8 @@ "This workflow run couldn't be loaded.": "Esta ejecución de workflow no se pudo cargar.", "Those are all the commits on the branch — dropping them would leave nothing.": "Esos son todos los commits de la rama — descartarlos no dejaría nada.", "Those changes are no longer there — refresh and try again.": "Esos cambios ya no están ahí — actualiza e inténtalo de nuevo.", - "Those commits are too far down the branch to {0} from here. Start an interactive rebase instead.": "Esos commits están demasiado abajo en la rama para {0} desde aquí. Inicia en su lugar un rebase interactivo.", + "Those commits are too far down the branch to drop from here. Start an interactive rebase instead.": "Esos commits están demasiado abajo en la rama para descartarlos desde aquí. Inicia en su lugar un rebase interactivo.", + "Those commits are too far down the branch to squash from here. Start an interactive rebase instead.": "Esos commits están demasiado abajo en la rama para hacer squash desde aquí. Inicia en su lugar un rebase interactivo.", "Those commits could not be read any more — refresh the graph and try again.": "Esos commits ya no se pudieron leer — actualiza el grafo e inténtalo de nuevo.", "Thread": "Hilo", "Thread reopened.": "Hilo reabierto.", @@ -4775,6 +4796,7 @@ "You have uncommitted changes": "Tienes cambios sin confirmar", "You have uncommitted changes. Commit or stash them, then drop the commit.": "Tienes cambios sin confirmar. Confírmalos o guárdalos en el stash, y luego descarta el commit.", "You have uncommitted changes. Commit or stash them, then drop the commits.": "Tienes cambios sin confirmar. Confírmalos o guárdalos en el stash, y luego descarta los commits.", + "You have uncommitted changes. Commit or stash them, then edit the message.": "Tienes cambios sin confirmar. Confírmalos o guárdalos en el stash, y luego reformula el mensaje.", "You have uncommitted changes. Commit or stash them, then squash the commits.": "Tienes cambios sin confirmar. Confírmalos o guárdalos en el stash, y luego haz squash de los commits.", "You have uncommitted changes. Commit or stash them, then start the rebase.": "Tienes cambios sin confirmar. Confírmalos o guárdalos en el stash, y luego inicia el rebase.", "You have {0} {1} doesn't, and it has {2} you don't. ": "Tienes {0} que {1} no tiene, y tiene {2} que tú no tienes. ", @@ -5038,6 +5060,7 @@ "each line is not annotated twice. You can turn it back on in Settings.": "cada línea no se anota dos veces. Puedes volver a activarlo en Configuración.", "edit": "editar", "edited": "editado", + "editing a commit message": "reformulando el mensaje de un commit", "either arrow takes it": "cualquier flecha lo toma", "empty": "vacío", "error": "error", @@ -5802,6 +5825,7 @@ "{0} on this branch only": "{0} solo en esta rama", "{0} on this file": "{0} en este archivo", "{0} on {1}": "{0} en {1}", + "{0} on {1} gets the message below.": "{0} en {1} recibe el mensaje de abajo.", "{0} on {1} not pulled yet.": "{0} en {1} todavía no incorporado.", "{0} on {1}/{2} yet: {3} pushed first.": "{0} en {1}/{2} todavía: {3} publicado primero.", "{0} on {1}{2}{3}": "{0} en {1}{2}{3}", diff --git a/l10n/fr.json b/l10n/fr.json index a70848af..516e2dee 100644 --- a/l10n/fr.json +++ b/l10n/fr.json @@ -470,6 +470,7 @@ "Already cloned at {0}": "Déjà cloné à {0}", "Already merged in the file, outside the conflict markers (by git, or by hand): check it": "Déjà fusionné dans le fichier, en dehors des marqueurs de conflit (par git, ou à la main) : vérifiez-le", "Already on {0}": "Déjà sur {0}", + "Already pushed. Editing its message would rewrite history other people have. The next push will need to be a force push.": "Déjà poussé. Reformuler son message réécrirait un historique que d'autres personnes possèdent. Le prochain push devra être un push forcé.", "Already pushed. {0} it would rewrite history other people have.": "Déjà poussé. {0} réécrirait un historique que d'autres personnes possèdent.", "Already rebased commits": "Commits déjà rebasés", "Already rebased commits and commits from main": "Commits déjà rebasés et commits de main", @@ -930,6 +931,7 @@ "Commit graph": "Graphe des commits", "Commit list": "Liste des commits", "Commit message": "Message de commit", + "Commit message changed.": "Message de commit modifié.", "Commit not in the local clone": "Commit absent du clone local", "Commit or stash {0}, then pull again.": "Validez ou remisez {0}, puis tirez à nouveau.", "Commit page: filter the changed files": "Page du commit : filtrer les fichiers modifiés", @@ -1091,6 +1093,8 @@ "Couldn't bring the conflict in {0} back.": "Le conflit dans {0} n'a pas pu être restauré.", "Couldn't bring them back.": "Impossible de les récupérer.", "Couldn't cancel the run.": "Impossible d'annuler l'exécution.", + "Couldn't change the commit message.": "Impossible de modifier le message de commit.", + "Couldn't change the commit message: {0}": "Impossible de modifier le message de commit : {0}", "Couldn't change {0}.": "Impossible de changer {0}.", "Couldn't check for updates.": "Impossible de vérifier les mises à jour.", "Couldn't check out PR #{0}: {1}": "La PR #{0} n'a pas pu être extraite : {1}", @@ -1637,14 +1641,21 @@ "Duration": "Durée", "Edit": "Modifier", "Edit #{0}": "Modifier #{0}", + "Edit Message": "Reformuler le message", + "Edit Message…": "Reformuler le message…", "Edit URL": "Modifier l'URL", "Edit URL of {0}": "Modifier l'URL de {0}", + "Edit and move those branches": "Reformuler et déplacer ces branches", "Edit assignees": "Modifier les personnes assignées", "Edit comment": "Modifier le commentaire", + "Edit commit message": "Reformuler le message de commit", "Edit gist": "Modifier le gist", "Edit issue #{0}": "Modifier l'issue #{0}", "Edit issue title and description": "Modifier le titre et la description de l'issue", "Edit labels": "Modifier les labels", + "Edit message": "Reformuler le message", + "Edit message…": "Reformuler le message…", + "Edit on this branch only": "Reformuler sur cette branche seulement", "Edit pull request #{0}": "Modifier la pull request #{0}", "Edit pull request title and description": "Modifier le titre et la description de la pull request", "Edit release": "Modifier la version", @@ -1655,6 +1666,8 @@ "Edit title & description": "Modifier le titre et la description", "Edit {0}": "Modifier {0}", "Edited {0}": "{0} modifié", + "Editing the message hit a conflict while replaying a later commit. Resolve it and continue the rebase — or abort to put the branch back as it was.": "La reformulation du message a rencontré un conflit en rejouant un commit ultérieur. Résolvez-le et continuez le rebase — ou abandonnez pour remettre la branche comme avant.", + "Editing the message stopped and needs you — continue the rebase, or abort it to put the branch back as it was.": "La reformulation du message s'est arrêtée et a besoin de vous — continuez le rebase, ou abandonnez-le pour remettre la branche comme avant.", "Editors": "Éditeurs", "Email": "E-mail", "Empty file": "Fichier vide", @@ -2504,6 +2517,7 @@ "Move the branch and DISCARD every working-tree and staged change.": "Déplacer la branche et IGNORER toutes les modifications de l'arbre de travail et indexées.", "Move the branch, keep the working tree, unstage everything. Git's default.": "Déplacer la branche, conserver l'arbre de travail, désindexer tout. Comportement par défaut de git.", "Move the branch. Keep your working tree AND everything staged.": "Déplacer la branche. Conserver votre arbre de travail ET tout ce qui est indexé.", + "Move the branches on rewritten commits too?": "Déplacer aussi les branches sur les commits réécrits ?", "Move the current branch back to this commit.": "Ramener la branche actuelle à ce commit.", "Move the selected commits": "Déplacer les commits sélectionnés", "Move the selected commits down": "Déplacer les commits sélectionnés vers le bas", @@ -3286,6 +3300,7 @@ "Pushing…": "Envoi en cours…", "Push…": "Pousser…", "Put the clone folder back": "Remettre le dossier de clonage en place", + "Put the old message back": "Remettre en place l'ancien message", "Put the stash back": "Remettre le stash en place", "Put the stash “{0}” back {1}.": "Restaurer le stash « {0} » {1}.", "Put the {0} dropped commits back": "Remettre en place les {0} commits supprimés", @@ -3490,6 +3505,7 @@ "Reorder this branch only": "Réordonner cette branche seulement", "Reorder {0} commits": "Réordonner {0} commits", "Reorder {0} commits?": "Réordonner {0} commits ?", + "Reordering": "Réorganisation", "Reordering stops at a merge — moving a commit past one would flatten it.": "La réorganisation s'arrête à une fusion — déplacer un commit au-delà l'aplatirait.", "Replace and stage": "Remplacer et indexer", "Replace the file with {0} and stage it": "Remplacer le fichier par {0} et l'indexer", @@ -4150,6 +4166,8 @@ "That URL uses an unsupported transport.": "Cette URL utilise un transport non pris en charge.", "That change is no longer there — the file moved underneath. Refresh and try again.": "Cette modification n'est plus là — le fichier a bougé en dessous. Actualisez et réessayez.", "That commit is too far down the branch to drop from here. Start an interactive rebase from it instead.": "Ce commit est trop loin dans la branche pour être supprimé depuis ici. Démarrez plutôt un rebase interactif depuis celui-ci.", + "That commit is too far down the branch to edit from here. Start an interactive rebase instead.": "Ce commit est trop loin dans la branche pour être reformulé depuis ici. Démarrez plutôt un rebase interactif.", + "That commit isn't on the current branch, so its message can't be edited from here.": "Ce commit n'est pas sur la branche actuelle, son message ne peut donc pas être reformulé depuis ici.", "That commit isn't on the current branch, so there's nothing to drop it from.": "Ce commit n'est pas sur la branche actuelle, donc il n'y a rien dont le supprimer.", "That didn't work.": "Ça n'a pas fonctionné.", "That doesn't look like a valid repository URL.": "Ça ne ressemble pas à une URL de dépôt valide.", @@ -4182,6 +4200,7 @@ "That worktree": "Cette arborescence de travail", "That {0} is not here": "Ce {0} n'est pas ici", "That's a merge commit — dropping it would flatten the history it joined. Revert it instead.": "C'est un commit de fusion — le supprimer aplatirait l'historique qu'il a rejoint. Annulez-le plutôt.", + "That's a merge commit — editing its message would flatten the history it joined. Use an interactive rebase that keeps merges instead.": "C'est un commit de fusion — reformuler son message aplatirait l'historique qu'elle a rejoint. Utilisez plutôt un rebase interactif qui conserve les fusions.", "That's the clone folder itself, not a repository inside it.": "C'est le dossier de clonage lui-même, pas un dépôt à l'intérieur.", "That's the only commit on the branch — dropping it would leave nothing.": "C'est le seul commit de la branche — le supprimer ne laisserait rien.", "The 50 most recent commits. Clone the repository to read its whole history.": "Les 50 commits les plus récents. Clonez le dépôt pour lire tout son historique.", @@ -4238,6 +4257,7 @@ "The commit is": "Le commit est", "The commit is added to {0} as one new commit.": "Le commit est ajouté à {0} comme un seul nouveau commit.", "The commit it holds": "Le commit qu'elle porte", + "The commit needs a message.": "Le commit a besoin d'un message.", "The commits HEAD has that {0} does not are rewritten on top of it, so they get new shas. HEAD is on no branch, so they are on no branch either: create a branch from them to keep them. Undo can take you back.": "Les commits que HEAD a et que {0} n'a pas sont réécrits par-dessus, donc ils obtiennent de nouveaux sha. HEAD n'est sur aucune branche, donc eux non plus : créez une branche à partir d'eux pour les conserver. Annuler peut vous faire revenir en arrière.", "The conflict is back, but {0} couldn't be restored on disk.": "Le conflit est de retour, mais {0} n'a pas pu être restauré sur le disque.", "The conflict state came back empty.": "L'état des conflits est revenu vide.", @@ -4503,7 +4523,8 @@ "This workflow run couldn't be loaded.": "Cette exécution de workflow n'a pas pu être chargée.", "Those are all the commits on the branch — dropping them would leave nothing.": "Ce sont tous les commits de la branche — les supprimer ne laisserait rien.", "Those changes are no longer there — refresh and try again.": "Ces modifications ne sont plus là — actualisez et réessayez.", - "Those commits are too far down the branch to {0} from here. Start an interactive rebase instead.": "Ces commits sont trop loin dans la branche pour {0} depuis ici. Démarrez plutôt un rebase interactif.", + "Those commits are too far down the branch to drop from here. Start an interactive rebase instead.": "Ces commits sont trop loin dans la branche pour être supprimés depuis ici. Démarrez plutôt un rebase interactif.", + "Those commits are too far down the branch to squash from here. Start an interactive rebase instead.": "Ces commits sont trop loin dans la branche pour être squashés depuis ici. Démarrez plutôt un rebase interactif.", "Those commits could not be read any more — refresh the graph and try again.": "Ces commits ne peuvent plus être lus — actualisez le graphe et réessayez.", "Thread": "Fil de discussion", "Thread reopened.": "Fil de discussion rouvert.", @@ -4775,6 +4796,7 @@ "You have uncommitted changes": "Vous avez des modifications non validées", "You have uncommitted changes. Commit or stash them, then drop the commit.": "Vous avez des modifications non validées. Validez-les ou remisez-les, puis supprimez le commit.", "You have uncommitted changes. Commit or stash them, then drop the commits.": "Vous avez des modifications non validées. Validez-les ou remisez-les, puis supprimez les commits.", + "You have uncommitted changes. Commit or stash them, then edit the message.": "Vous avez des modifications non validées. Validez-les ou remisez-les, puis reformulez le message.", "You have uncommitted changes. Commit or stash them, then squash the commits.": "Vous avez des modifications non validées. Validez-les ou remisez-les, puis squashez les commits.", "You have uncommitted changes. Commit or stash them, then start the rebase.": "Vous avez des modifications non validées. Validez-les ou remisez-les, puis démarrez le rebase.", "You have {0} {1} doesn't, and it has {2} you don't. ": "Vous avez {0} que {1} n'a pas, et elle a {2} que vous n'avez pas. ", @@ -5038,6 +5060,7 @@ "each line is not annotated twice. You can turn it back on in Settings.": "chaque ligne n'est pas annotée deux fois. Vous pouvez le réactiver dans Paramètres.", "edit": "modifier", "edited": "modifié", + "editing a commit message": "reformulation d'un message de commit", "either arrow takes it": "n'importe quelle flèche la prend", "empty": "vide", "error": "erreur", @@ -5802,6 +5825,7 @@ "{0} on this branch only": "{0} sur cette branche seulement", "{0} on this file": "{0} sur ce fichier", "{0} on {1}": "{0} sur {1}", + "{0} on {1} gets the message below.": "{0} sur {1} reçoit le message ci-dessous.", "{0} on {1} not pulled yet.": "{0} sur {1} pas encore tiré.", "{0} on {1}/{2} yet: {3} pushed first.": "{0} sur {1}/{2} encore : {3} poussé d'abord.", "{0} on {1}{2}{3}": "{0} sur {1}{2}{3}", diff --git a/l10n/it.json b/l10n/it.json index c860ac49..cde7de29 100644 --- a/l10n/it.json +++ b/l10n/it.json @@ -470,6 +470,7 @@ "Already cloned at {0}": "Già clonato in {0}", "Already merged in the file, outside the conflict markers (by git, or by hand): check it": "Già unito nel file, fuori dai marcatori di conflitto (da git, o a mano): verificalo", "Already on {0}": "Già su {0}", + "Already pushed. Editing its message would rewrite history other people have. The next push will need to be a force push.": "Già sottoposto a push. Correggere il suo messaggio riscriverebbe una cronologia che altre persone hanno. Il prossimo push dovrà essere un push forzato.", "Already pushed. {0} it would rewrite history other people have.": "Già sottoposto a push. {0} riscriverebbe una cronologia che altre persone hanno.", "Already rebased commits": "Commit già sottoposti a rebase", "Already rebased commits and commits from main": "Commit già sottoposti a rebase e commit da main", @@ -930,6 +931,7 @@ "Commit graph": "Grafico dei commit", "Commit list": "Elenco dei commit", "Commit message": "Messaggio di commit", + "Commit message changed.": "Messaggio di commit modificato.", "Commit not in the local clone": "Commit non presente nel clone locale", "Commit or stash {0}, then pull again.": "Esegui il commit o lo stash di {0}, poi esegui di nuovo il pull.", "Commit page: filter the changed files": "Pagina del commit: filtra i file modificati", @@ -1091,6 +1093,8 @@ "Couldn't bring the conflict in {0} back.": "Non è stato possibile ripristinare il conflitto in {0}.", "Couldn't bring them back.": "Non è stato possibile ripristinarle.", "Couldn't cancel the run.": "Non è stato possibile annullare l'esecuzione.", + "Couldn't change the commit message.": "Non è stato possibile modificare il messaggio di commit.", + "Couldn't change the commit message: {0}": "Non è stato possibile modificare il messaggio di commit: {0}", "Couldn't change {0}.": "Non è stato possibile modificare {0}.", "Couldn't check for updates.": "Non è stato possibile controllare gli aggiornamenti.", "Couldn't check out PR #{0}: {1}": "Non è stato possibile eseguire il checkout della PR #{0}: {1}", @@ -1637,14 +1641,21 @@ "Duration": "Durata", "Edit": "Modifica", "Edit #{0}": "Modifica #{0}", + "Edit Message": "Correggi messaggio", + "Edit Message…": "Correggi messaggio…", "Edit URL": "Modifica URL", "Edit URL of {0}": "Modifica l'URL di {0}", + "Edit and move those branches": "Correggi e sposta quei rami", "Edit assignees": "Modifica assegnatari", "Edit comment": "Modifica commento", + "Edit commit message": "Correggi il messaggio di commit", "Edit gist": "Modifica gist", "Edit issue #{0}": "Modifica problema #{0}", "Edit issue title and description": "Modifica titolo e descrizione del problema", "Edit labels": "Modifica etichette", + "Edit message": "Correggi messaggio", + "Edit message…": "Correggi messaggio…", + "Edit on this branch only": "Correggi solo su questo ramo", "Edit pull request #{0}": "Modifica pull request #{0}", "Edit pull request title and description": "Modifica titolo e descrizione della pull request", "Edit release": "Modifica release", @@ -1655,6 +1666,8 @@ "Edit title & description": "Modifica titolo e descrizione", "Edit {0}": "Modifica {0}", "Edited {0}": "Modificato {0}", + "Editing the message hit a conflict while replaying a later commit. Resolve it and continue the rebase — or abort to put the branch back as it was.": "La correzione del messaggio ha incontrato un conflitto durante la riproduzione di un commit successivo. Risolvilo e continua il rebase — oppure interrompi per riportare il ramo com'era.", + "Editing the message stopped and needs you — continue the rebase, or abort it to put the branch back as it was.": "La correzione del messaggio si è fermata e richiede il tuo intervento — continua il rebase, oppure interrompilo per riportare il ramo com'era.", "Editors": "Editor", "Email": "Email", "Empty file": "File vuoto", @@ -2504,6 +2517,7 @@ "Move the branch and DISCARD every working-tree and staged change.": "Sposta il ramo e SCARTA ogni modifica nella copia di lavoro e in stage.", "Move the branch, keep the working tree, unstage everything. Git's default.": "Sposta il ramo, mantieni la copia di lavoro, togli tutto dallo stage. Il predefinito di git.", "Move the branch. Keep your working tree AND everything staged.": "Sposta il ramo. Mantieni la tua copia di lavoro E tutto ciò che è in stage.", + "Move the branches on rewritten commits too?": "Spostare anche i rami sui commit riscritti?", "Move the current branch back to this commit.": "Sposta il ramo corrente a questo commit.", "Move the selected commits": "Sposta i commit selezionati", "Move the selected commits down": "Sposta giù i commit selezionati", @@ -3286,6 +3300,7 @@ "Pushing…": "Push in corso…", "Push…": "Push…", "Put the clone folder back": "Ripristina la cartella di clonazione", + "Put the old message back": "Ripristina il vecchio messaggio", "Put the stash back": "Ripristina lo stash", "Put the stash “{0}” back {1}.": "Ripristina lo stash “{0}” {1}.", "Put the {0} dropped commits back": "Ripristina i {0} commit eliminati", @@ -3490,6 +3505,7 @@ "Reorder this branch only": "Riordina solo questo ramo", "Reorder {0} commits": "Riordina {0} commit", "Reorder {0} commits?": "Riordinare {0} commit?", + "Reordering": "Riordino in corso", "Reordering stops at a merge — moving a commit past one would flatten it.": "Il riordino si ferma a un merge — spostare un commit oltre uno lo appiattirebbe.", "Replace and stage": "Sostituisci e metti in stage", "Replace the file with {0} and stage it": "Sostituisci il file con {0} e mettilo in stage", @@ -4150,6 +4166,8 @@ "That URL uses an unsupported transport.": "Quell'URL usa un trasporto non supportato.", "That change is no longer there — the file moved underneath. Refresh and try again.": "Quella modifica non c'è più — il file si è spostato. Aggiorna e riprova.", "That commit is too far down the branch to drop from here. Start an interactive rebase from it instead.": "Quel commit è troppo in basso nel ramo per eliminarlo da qui. Avvia invece un rebase interattivo da lì.", + "That commit is too far down the branch to edit from here. Start an interactive rebase instead.": "Quel commit è troppo in basso nel ramo per correggerlo da qui. Avvia invece un rebase interattivo.", + "That commit isn't on the current branch, so its message can't be edited from here.": "Quel commit non è sul ramo corrente, quindi il suo messaggio non può essere corretto da qui.", "That commit isn't on the current branch, so there's nothing to drop it from.": "Quel commit non è sul ramo corrente, quindi non c'è nulla da cui eliminarlo.", "That didn't work.": "Non ha funzionato.", "That doesn't look like a valid repository URL.": "Non sembra un URL di repository valido.", @@ -4182,6 +4200,7 @@ "That worktree": "Quel worktree", "That {0} is not here": "Quel {0} non è qui", "That's a merge commit — dropping it would flatten the history it joined. Revert it instead.": "Questo è un commit di merge — eliminarlo appiattirebbe la cronologia che univa. Esegui invece il revert.", + "That's a merge commit — editing its message would flatten the history it joined. Use an interactive rebase that keeps merges instead.": "Questo è un commit di merge — correggere il suo messaggio appiattirebbe la cronologia che univa. Usa invece un rebase interattivo che conserva i merge.", "That's the clone folder itself, not a repository inside it.": "È la cartella di clonazione stessa, non un repository al suo interno.", "That's the only commit on the branch — dropping it would leave nothing.": "È l'unico commit sul ramo — eliminarlo non lascerebbe nulla.", "The 50 most recent commits. Clone the repository to read its whole history.": "I 50 commit più recenti. Clona il repository per leggere tutta la sua cronologia.", @@ -4238,6 +4257,7 @@ "The commit is": "Il commit è", "The commit is added to {0} as one new commit.": "Il commit viene aggiunto a {0} come un nuovo commit.", "The commit it holds": "Il commit che contiene", + "The commit needs a message.": "Il commit ha bisogno di un messaggio.", "The commits HEAD has that {0} does not are rewritten on top of it, so they get new shas. HEAD is on no branch, so they are on no branch either: create a branch from them to keep them. Undo can take you back.": "I commit che HEAD ha e {0} non ha vengono riscritti sopra di esso, quindi ottengono nuovi SHA. HEAD non è su alcun ramo, quindi anche loro non sono su alcun ramo: crea un ramo da essi per conservarli. Undo può farti tornare indietro.", "The conflict is back, but {0} couldn't be restored on disk.": "Il conflitto è tornato, ma {0} non è stato possibile ripristinarlo su disco.", "The conflict state came back empty.": "Lo stato del conflitto è risultato vuoto.", @@ -4503,7 +4523,8 @@ "This workflow run couldn't be loaded.": "Non è stato possibile caricare questa esecuzione di workflow.", "Those are all the commits on the branch — dropping them would leave nothing.": "Sono tutti i commit sul ramo — eliminarli non lascerebbe nulla.", "Those changes are no longer there — refresh and try again.": "Quelle modifiche non ci sono più — aggiorna e riprova.", - "Those commits are too far down the branch to {0} from here. Start an interactive rebase instead.": "Quei commit sono troppo in basso nel ramo per {0} da qui. Avvia invece un rebase interattivo.", + "Those commits are too far down the branch to drop from here. Start an interactive rebase instead.": "Quei commit sono troppo in basso nel ramo per eliminarli da qui. Avvia invece un rebase interattivo.", + "Those commits are too far down the branch to squash from here. Start an interactive rebase instead.": "Quei commit sono troppo in basso nel ramo per eseguire lo squash da qui. Avvia invece un rebase interattivo.", "Those commits could not be read any more — refresh the graph and try again.": "Quei commit non sono più leggibili — aggiorna il grafico e riprova.", "Thread": "Thread", "Thread reopened.": "Thread riaperto.", @@ -4775,6 +4796,7 @@ "You have uncommitted changes": "Hai modifiche non committate", "You have uncommitted changes. Commit or stash them, then drop the commit.": "Hai modifiche non committate. Fai il commit o lo stash, poi elimina il commit.", "You have uncommitted changes. Commit or stash them, then drop the commits.": "Hai modifiche non committate. Fai il commit o lo stash, poi elimina i commit.", + "You have uncommitted changes. Commit or stash them, then edit the message.": "Hai modifiche non committate. Fai il commit o lo stash, poi correggi il messaggio.", "You have uncommitted changes. Commit or stash them, then squash the commits.": "Hai modifiche non committate. Fai il commit o lo stash, poi esegui lo squash dei commit.", "You have uncommitted changes. Commit or stash them, then start the rebase.": "Hai modifiche non committate. Fai il commit o lo stash, poi avvia il rebase.", "You have {0} {1} doesn't, and it has {2} you don't. ": "Tu hai {0} che {1} non ha, e lui ha {2} che tu non hai. ", @@ -5038,6 +5060,7 @@ "each line is not annotated twice. You can turn it back on in Settings.": "ogni riga non è annotata due volte. Puoi riattivarlo nelle Impostazioni.", "edit": "modifica", "edited": "modificato", + "editing a commit message": "correzione del messaggio di un commit", "either arrow takes it": "una qualsiasi delle due frecce lo seleziona", "empty": "vuoto", "error": "errore", @@ -5802,6 +5825,7 @@ "{0} on this branch only": "{0} solo su questo ramo", "{0} on this file": "{0} su questo file", "{0} on {1}": "{0} su {1}", + "{0} on {1} gets the message below.": "{0} su {1} riceve il messaggio sotto.", "{0} on {1} not pulled yet.": "{0} su {1} non ancora pullati.", "{0} on {1}/{2} yet: {3} pushed first.": "{0} su {1}/{2} ancora: {3} pushato prima.", "{0} on {1}{2}{3}": "{0} su {1}{2}{3}", diff --git a/l10n/ja.json b/l10n/ja.json index f6566eb5..bf56f522 100644 --- a/l10n/ja.json +++ b/l10n/ja.json @@ -470,6 +470,7 @@ "Already cloned at {0}": "{0} に既にクローンされています", "Already merged in the file, outside the conflict markers (by git, or by hand): check it": "コンフリクトマーカーの外側で(git によって、または手動で)既にファイルにマージ済みです: 確認してください", "Already on {0}": "既に {0} にいます", + "Already pushed. Editing its message would rewrite history other people have. The next push will need to be a force push.": "既にプッシュされています。メッセージを変更すると、他の人が持つ履歴を書き換えてしまいます。次のプッシュは強制プッシュが必要になります。", "Already pushed. {0} it would rewrite history other people have.": "既にプッシュされています。{0} すると、他の人が持つ履歴を書き換えてしまいます。", "Already rebased commits": "既にリベース済みのコミット", "Already rebased commits and commits from main": "既にリベース済みのコミットと main のコミット", @@ -930,6 +931,7 @@ "Commit graph": "コミットグラフ", "Commit list": "コミット一覧", "Commit message": "コミットメッセージ", + "Commit message changed.": "コミットメッセージを変更しました。", "Commit not in the local clone": "ローカルのクローンにないコミット", "Commit or stash {0}, then pull again.": "{0} をコミットまたはスタッシュしてから、再度プルしてください。", "Commit page: filter the changed files": "コミットページ: 変更されたファイルをフィルター", @@ -1091,6 +1093,8 @@ "Couldn't bring the conflict in {0} back.": "{0} のコンフリクトを元に戻せませんでした。", "Couldn't bring them back.": "元に戻せませんでした。", "Couldn't cancel the run.": "実行をキャンセルできませんでした。", + "Couldn't change the commit message.": "コミットメッセージを変更できませんでした。", + "Couldn't change the commit message: {0}": "コミットメッセージを変更できませんでした: {0}", "Couldn't change {0}.": "{0} を変更できませんでした。", "Couldn't check for updates.": "更新を確認できませんでした。", "Couldn't check out PR #{0}: {1}": "PR #{0} をチェックアウトできませんでした: {1}", @@ -1637,14 +1641,21 @@ "Duration": "所要時間", "Edit": "編集", "Edit #{0}": "#{0} を編集", + "Edit Message": "メッセージを変更", + "Edit Message…": "メッセージを変更…", "Edit URL": "URL を編集", "Edit URL of {0}": "{0} の URL を編集", + "Edit and move those branches": "変更してそれらのブランチを移動", "Edit assignees": "担当者を編集", "Edit comment": "コメントを編集", + "Edit commit message": "コミットメッセージを変更", "Edit gist": "Gist を編集", "Edit issue #{0}": "Issue #{0} を編集", "Edit issue title and description": "Issue のタイトルと説明を編集", "Edit labels": "ラベルを編集", + "Edit message": "メッセージを変更", + "Edit message…": "メッセージを変更…", + "Edit on this branch only": "このブランチでのみ変更", "Edit pull request #{0}": "プルリクエスト #{0} を編集", "Edit pull request title and description": "プルリクエストのタイトルと説明を編集", "Edit release": "リリースを編集", @@ -1655,6 +1666,8 @@ "Edit title & description": "タイトルと説明を編集", "Edit {0}": "{0} を編集", "Edited {0}": "編集済み {0}", + "Editing the message hit a conflict while replaying a later commit. Resolve it and continue the rebase — or abort to put the branch back as it was.": "メッセージの変更は、後のコミットを再生する際にコンフリクトが発生しました。解決してリベースを続行するか、中止してブランチを元の状態に戻してください。", + "Editing the message stopped and needs you — continue the rebase, or abort it to put the branch back as it was.": "メッセージの変更が停止し、あなたの対応が必要です — リベースを続行するか、中止してブランチを元の状態に戻してください。", "Editors": "エディター", "Email": "メール", "Empty file": "空のファイル", @@ -2504,6 +2517,7 @@ "Move the branch and DISCARD every working-tree and staged change.": "ブランチを移動し、作業ツリーとステージ済みの変更をすべて破棄します。", "Move the branch, keep the working tree, unstage everything. Git's default.": "ブランチを移動し、作業ツリーは保持してすべてのステージを解除します。git の既定動作です。", "Move the branch. Keep your working tree AND everything staged.": "ブランチを移動します。作業ツリーとステージ済みの内容はすべて保持されます。", + "Move the branches on rewritten commits too?": "書き換えられたコミット上のブランチも移動しますか?", "Move the current branch back to this commit.": "現在のブランチをこのコミットに戻します。", "Move the selected commits": "選択したコミットを移動", "Move the selected commits down": "選択したコミットを下に移動", @@ -3286,6 +3300,7 @@ "Pushing…": "プッシュ中…", "Push…": "プッシュ…", "Put the clone folder back": "クローン先フォルダーを元に戻す", + "Put the old message back": "古いメッセージを元に戻す", "Put the stash back": "スタッシュを元に戻す", "Put the stash “{0}” back {1}.": "スタッシュ「{0}」を{1}に戻します。", "Put the {0} dropped commits back": "削除した {0} 件のコミットを元に戻す", @@ -3490,6 +3505,7 @@ "Reorder this branch only": "このブランチのみ並べ替え", "Reorder {0} commits": "{0}件のコミットを並べ替え", "Reorder {0} commits?": "{0}件のコミットを並べ替えますか?", + "Reordering": "並べ替え中", "Reordering stops at a merge — moving a commit past one would flatten it.": "並べ替えはマージで止まります — コミットをマージより先に移動すると、それがフラット化されてしまいます。", "Replace and stage": "置き換えてステージ", "Replace the file with {0} and stage it": "ファイルを{0}で置き換えてステージ", @@ -4150,6 +4166,8 @@ "That URL uses an unsupported transport.": "その URL は未対応の転送方式を使用しています。", "That change is no longer there — the file moved underneath. Refresh and try again.": "その変更はもうありません — ファイルの内容が変わっています。更新して再試行してください。", "That commit is too far down the branch to drop from here. Start an interactive rebase from it instead.": "そのコミットはブランチの下の方にあるため、ここからは削除できません。代わりにそこからインタラクティブリベースを開始してください。", + "That commit is too far down the branch to edit from here. Start an interactive rebase instead.": "そのコミットはブランチの下の方にあるため、ここから変更できません。代わりにインタラクティブリベースを開始してください。", + "That commit isn't on the current branch, so its message can't be edited from here.": "そのコミットは現在のブランチ上にないため、ここからメッセージを変更できません。", "That commit isn't on the current branch, so there's nothing to drop it from.": "そのコミットは現在のブランチにないため、削除する対象がありません。", "That didn't work.": "うまくいきませんでした。", "That doesn't look like a valid repository URL.": "有効なリポジトリの URL ではないようです。", @@ -4182,6 +4200,7 @@ "That worktree": "そのワークツリー", "That {0} is not here": "その{0}はここにありません", "That's a merge commit — dropping it would flatten the history it joined. Revert it instead.": "それはマージコミットです — 削除すると、結合された履歴がフラット化されます。代わりに取り消しを使ってください。", + "That's a merge commit — editing its message would flatten the history it joined. Use an interactive rebase that keeps merges instead.": "それはマージコミットです — メッセージを変更すると、結合された履歴がフラット化されます。代わりに、マージを保持するインタラクティブリベースを使ってください。", "That's the clone folder itself, not a repository inside it.": "それはクローン先フォルダー自体であり、その中のリポジトリではありません。", "That's the only commit on the branch — dropping it would leave nothing.": "それはブランチ上の唯一のコミットです — 削除すると何も残りません。", "The 50 most recent commits. Clone the repository to read its whole history.": "最新の 50 件のコミットです。履歴全体を読むにはリポジトリをクローンしてください。", @@ -4238,6 +4257,7 @@ "The commit is": "そのコミットは", "The commit is added to {0} as one new commit.": "コミットは1つの新しいコミットとして{0}に追加されます。", "The commit it holds": "保持しているコミット", + "The commit needs a message.": "コミットにはメッセージが必要です。", "The commits HEAD has that {0} does not are rewritten on top of it, so they get new shas. HEAD is on no branch, so they are on no branch either: create a branch from them to keep them. Undo can take you back.": "HEADにあって{0}にはないコミットは、その上に書き換えられて新しいSHAになります。HEADはどのブランチにもないため、それらもどのブランチにも属しません: 保持するにはそこからブランチを作成してください。元に戻す機能で戻ることもできます。", "The conflict is back, but {0} couldn't be restored on disk.": "コンフリクトは元に戻りましたが、{0}はディスク上で復元できませんでした。", "The conflict state came back empty.": "コンフリクトの状態が空で返されました。", @@ -4503,7 +4523,8 @@ "This workflow run couldn't be loaded.": "このワークフロー実行を読み込めませんでした。", "Those are all the commits on the branch — dropping them would leave nothing.": "それらはブランチ上のすべてのコミットです — 削除すると何も残りません。", "Those changes are no longer there — refresh and try again.": "それらの変更はもうありません — 更新して再試行してください。", - "Those commits are too far down the branch to {0} from here. Start an interactive rebase instead.": "それらのコミットはブランチの下の方にあるため、ここから{0}できません。代わりにインタラクティブリベースを開始してください。", + "Those commits are too far down the branch to drop from here. Start an interactive rebase instead.": "それらのコミットはブランチの下の方にあるため、ここからドロップできません。代わりにインタラクティブリベースを開始してください。", + "Those commits are too far down the branch to squash from here. Start an interactive rebase instead.": "それらのコミットはブランチの下の方にあるため、ここからsquashできません。代わりにインタラクティブリベースを開始してください。", "Those commits could not be read any more — refresh the graph and try again.": "それらのコミットはもう読み取れません — グラフを更新してやり直してください。", "Thread": "スレッド", "Thread reopened.": "スレッドを再オープンしました。", @@ -4775,6 +4796,7 @@ "You have uncommitted changes": "未コミットの変更があります", "You have uncommitted changes. Commit or stash them, then drop the commit.": "未コミットの変更があります。コミットまたはスタッシュしてから、このコミットを削除してください。", "You have uncommitted changes. Commit or stash them, then drop the commits.": "未コミットの変更があります。コミットまたはスタッシュしてから、これらのコミットを削除してください。", + "You have uncommitted changes. Commit or stash them, then edit the message.": "未コミットの変更があります。コミットまたはスタッシュしてから、メッセージを変更してください。", "You have uncommitted changes. Commit or stash them, then squash the commits.": "未コミットの変更があります。コミットまたはスタッシュしてから、コミットをスカッシュしてください。", "You have uncommitted changes. Commit or stash them, then start the rebase.": "未コミットの変更があります。コミットまたはスタッシュしてから、リベースを開始してください。", "You have {0} {1} doesn't, and it has {2} you don't. ": "あなたには {1} にない {0} があり、相手にはあなたにない {2} があります。", @@ -5038,6 +5060,7 @@ "each line is not annotated twice. You can turn it back on in Settings.": "各行が二重に注釈されることはありません。設定で元に戻せます。", "edit": "編集", "edited": "編集済み", + "editing a commit message": "コミットメッセージの変更", "either arrow takes it": "どちらの矢印でも移動できます", "empty": "空", "error": "エラー", @@ -5802,6 +5825,7 @@ "{0} on this branch only": "このブランチのみの {0}", "{0} on this file": "このファイルの {0}", "{0} on {1}": "{1} の {0}", + "{0} on {1} gets the message below.": "{1} の {0} は、以下のメッセージになります。", "{0} on {1} not pulled yet.": "{1} の {0} はまだプルされていません。", "{0} on {1}/{2} yet: {3} pushed first.": "{1}/{2} にまだ {0} ありません: 先に {3} プッシュされます。", "{0} on {1}{2}{3}": "{1} の {0}{2}{3}", diff --git a/l10n/ko.json b/l10n/ko.json index c58c1878..0d1cbf4f 100644 --- a/l10n/ko.json +++ b/l10n/ko.json @@ -470,6 +470,7 @@ "Already cloned at {0}": "이미 {0}에 클론됨", "Already merged in the file, outside the conflict markers (by git, or by hand): check it": "이미 파일에서 충돌 마커 바깥에 병합됨(git이나 직접): 확인하세요", "Already on {0}": "이미 {0}에 있음", + "Already pushed. Editing its message would rewrite history other people have. The next push will need to be a force push.": "이미 푸시되었습니다. 메시지 수정을 실행하면 다른 사람이 가진 기록을 다시 작성하게 됩니다. 다음 푸시는 강제 푸시가 필요합니다.", "Already pushed. {0} it would rewrite history other people have.": "이미 푸시되었습니다. {0}을 실행하면 다른 사람이 가진 기록을 다시 작성하게 됩니다.", "Already rebased commits": "이미 리베이스된 커밋", "Already rebased commits and commits from main": "이미 리베이스된 커밋과 main의 커밋", @@ -930,6 +931,7 @@ "Commit graph": "커밋 그래프", "Commit list": "커밋 목록", "Commit message": "커밋 메시지", + "Commit message changed.": "커밋 메시지가 변경되었습니다.", "Commit not in the local clone": "로컬 클론에 없는 커밋", "Commit or stash {0}, then pull again.": "{0}을 커밋하거나 스태시한 후 다시 풀하세요.", "Commit page: filter the changed files": "커밋 페이지: 변경된 파일 필터링", @@ -1091,6 +1093,8 @@ "Couldn't bring the conflict in {0} back.": "{0}의 충돌을 되돌릴 수 없었습니다.", "Couldn't bring them back.": "다시 가져올 수 없습니다.", "Couldn't cancel the run.": "실행을 중단할 수 없습니다.", + "Couldn't change the commit message.": "커밋 메시지를 변경할 수 없었습니다.", + "Couldn't change the commit message: {0}": "커밋 메시지를 변경할 수 없었습니다: {0}", "Couldn't change {0}.": "{0}을(를) 변경할 수 없습니다.", "Couldn't check for updates.": "업데이트를 확인할 수 없습니다.", "Couldn't check out PR #{0}: {1}": "PR #{0}을 체크아웃할 수 없었습니다: {1}", @@ -1637,14 +1641,21 @@ "Duration": "기간", "Edit": "편집", "Edit #{0}": "#{0} 편집", + "Edit Message": "메시지 수정", + "Edit Message…": "메시지 수정…", "Edit URL": "URL 편집", "Edit URL of {0}": "{0}의 URL 편집", + "Edit and move those branches": "수정하고 해당 브랜치 이동", "Edit assignees": "담당자 편집", "Edit comment": "댓글 편집", + "Edit commit message": "커밋 메시지 수정", "Edit gist": "gist 편집", "Edit issue #{0}": "이슈 #{0} 편집", "Edit issue title and description": "이슈 제목 및 설명 편집", "Edit labels": "레이블 편집", + "Edit message": "메시지 수정", + "Edit message…": "메시지 수정…", + "Edit on this branch only": "이 브랜치에서만 수정", "Edit pull request #{0}": "풀 리퀘스트 #{0} 편집", "Edit pull request title and description": "풀 리퀘스트 제목 및 설명 편집", "Edit release": "릴리스 편집", @@ -1655,6 +1666,8 @@ "Edit title & description": "제목 및 설명 편집", "Edit {0}": "{0} 편집", "Edited {0}": "{0}에 편집됨", + "Editing the message hit a conflict while replaying a later commit. Resolve it and continue the rebase — or abort to put the branch back as it was.": "메시지 수정 중 이후 커밋을 재생하다 충돌이 발생했습니다. 해결 후 리베이스를 계속하거나, 중단하여 브랜치를 원래대로 되돌리세요.", + "Editing the message stopped and needs you — continue the rebase, or abort it to put the branch back as it was.": "메시지 수정이 중지되어 확인이 필요합니다 — 리베이스를 계속하거나, 중단하여 브랜치를 원래대로 되돌리세요.", "Editors": "편집기", "Email": "이메일", "Empty file": "빈 파일", @@ -2504,6 +2517,7 @@ "Move the branch and DISCARD every working-tree and staged change.": "브랜치를 이동하고 모든 작업 트리 및 스테이징 변경 내용을 버립니다.", "Move the branch, keep the working tree, unstage everything. Git's default.": "브랜치를 이동하고 작업 트리는 유지하며 모든 스테이징을 해제합니다. Git의 기본값입니다.", "Move the branch. Keep your working tree AND everything staged.": "브랜치를 이동합니다. 작업 트리와 스테이지에 추가된 모든 내용을 유지합니다.", + "Move the branches on rewritten commits too?": "다시 작성된 커밋의 브랜치도 이동하시겠습니까?", "Move the current branch back to this commit.": "현재 브랜치를 이 커밋으로 되돌립니다.", "Move the selected commits": "선택한 커밋 이동", "Move the selected commits down": "선택한 커밋을 아래로 이동", @@ -3286,6 +3300,7 @@ "Pushing…": "푸시하는 중…", "Push…": "푸시…", "Put the clone folder back": "클론 폴더 되돌리기", + "Put the old message back": "이전 메시지로 되돌리기", "Put the stash back": "스태시 되돌리기", "Put the stash “{0}” back {1}.": "스태시 “{0}”을 {1}로 되돌립니다.", "Put the {0} dropped commits back": "삭제된 커밋 {0}개 되돌리기", @@ -3490,6 +3505,7 @@ "Reorder this branch only": "이 브랜치에서만 순서 변경", "Reorder {0} commits": "커밋 {0}개 순서 변경", "Reorder {0} commits?": "커밋 {0}개의 순서를 바꾸시겠습니까?", + "Reordering": "순서 변경 중", "Reordering stops at a merge — moving a commit past one would flatten it.": "순서 변경은 병합 커밋에서 멈춥니다 — 커밋을 그 너머로 옮기면 병합이 사라집니다.", "Replace and stage": "바꾸고 스테이지에 추가", "Replace the file with {0} and stage it": "파일을 {0}으로 바꾸고 스테이지에 추가", @@ -4150,6 +4166,8 @@ "That URL uses an unsupported transport.": "해당 URL은 지원되지 않는 전송 방식을 사용합니다.", "That change is no longer there — the file moved underneath. Refresh and try again.": "그 변경 내용은 더 이상 없습니다 — 파일이 그 아래에서 이동했습니다. 새로고침한 후 다시 시도하세요.", "That commit is too far down the branch to drop from here. Start an interactive rebase from it instead.": "그 커밋은 브랜치에서 너무 아래에 있어 여기서 삭제할 수 없습니다. 대신 거기서부터 대화형 리베이스를 시작하세요.", + "That commit is too far down the branch to edit from here. Start an interactive rebase instead.": "그 커밋은 브랜치에서 너무 아래에 있어 여기서 수정할 수 없습니다. 대신 대화형 리베이스를 시작하세요.", + "That commit isn't on the current branch, so its message can't be edited from here.": "그 커밋은 현재 브랜치에 없어 여기서 메시지를 수정할 수 없습니다.", "That commit isn't on the current branch, so there's nothing to drop it from.": "그 커밋은 현재 브랜치에 없어 여기서 삭제할 것이 없습니다.", "That didn't work.": "작동하지 않았습니다.", "That doesn't look like a valid repository URL.": "유효한 리포지토리 URL이 아닌 것 같습니다.", @@ -4182,6 +4200,7 @@ "That worktree": "해당 작업 폴더", "That {0} is not here": "해당 {0}이(가) 여기에 없습니다", "That's a merge commit — dropping it would flatten the history it joined. Revert it instead.": "그것은 병합 커밋입니다 — 삭제하면 합쳐진 기록이 사라집니다. 대신 되돌리세요.", + "That's a merge commit — editing its message would flatten the history it joined. Use an interactive rebase that keeps merges instead.": "그것은 병합 커밋입니다 — 메시지를 수정하면 합쳐진 기록이 사라집니다. 대신 병합을 유지하는 대화형 리베이스를 사용하세요.", "That's the clone folder itself, not a repository inside it.": "그것은 클론 폴더 자체이며, 그 안의 리포지토리가 아닙니다.", "That's the only commit on the branch — dropping it would leave nothing.": "그것이 브랜치의 유일한 커밋입니다 — 삭제하면 아무것도 남지 않습니다.", "The 50 most recent commits. Clone the repository to read its whole history.": "가장 최근 커밋 50개입니다. 전체 기록을 읽으려면 리포지토리를 클론하세요.", @@ -4238,6 +4257,7 @@ "The commit is": "커밋은", "The commit is added to {0} as one new commit.": "커밋이 새 커밋 1개로 {0}에 추가됩니다.", "The commit it holds": "보관 중인 커밋", + "The commit needs a message.": "커밋에는 메시지가 필요합니다.", "The commits HEAD has that {0} does not are rewritten on top of it, so they get new shas. HEAD is on no branch, so they are on no branch either: create a branch from them to keep them. Undo can take you back.": "HEAD에 있지만 {0}에 없는 커밋은 그 위에 다시 작성되어 새 SHA를 받습니다. HEAD가 어느 브랜치에도 속하지 않으므로 그 커밋들도 어느 브랜치에도 속하지 않습니다 — 유지하려면 거기서 브랜치를 만드세요. 실행 취소로 되돌릴 수 있습니다.", "The conflict is back, but {0} couldn't be restored on disk.": "충돌은 돌아왔지만 {0}을 디스크에서 복원할 수 없었습니다.", "The conflict state came back empty.": "충돌 상태가 비어 있는 상태로 돌아왔습니다.", @@ -4503,7 +4523,8 @@ "This workflow run couldn't be loaded.": "이 워크플로 실행을 불러올 수 없었습니다.", "Those are all the commits on the branch — dropping them would leave nothing.": "브랜치의 모든 커밋입니다 — 삭제하면 아무것도 남지 않습니다.", "Those changes are no longer there — refresh and try again.": "그 변경 내용은 더 이상 없습니다 — 새로고침한 후 다시 시도하세요.", - "Those commits are too far down the branch to {0} from here. Start an interactive rebase instead.": "그 커밋은 브랜치에서 너무 아래에 있어 여기서 {0}할 수 없습니다. 대신 대화형 리베이스를 시작하세요.", + "Those commits are too far down the branch to drop from here. Start an interactive rebase instead.": "그 커밋들은 브랜치에서 너무 아래에 있어 여기서 삭제할 수 없습니다. 대신 대화형 리베이스를 시작하세요.", + "Those commits are too far down the branch to squash from here. Start an interactive rebase instead.": "그 커밋들은 브랜치에서 너무 아래에 있어 여기서 스쿼시할 수 없습니다. 대신 대화형 리베이스를 시작하세요.", "Those commits could not be read any more — refresh the graph and try again.": "그 커밋들을 더 이상 읽을 수 없습니다 — 그래프를 새로고침한 후 다시 시도하세요.", "Thread": "스레드", "Thread reopened.": "스레드를 다시 열었습니다.", @@ -4775,6 +4796,7 @@ "You have uncommitted changes": "커밋되지 않은 변경 내용이 있습니다", "You have uncommitted changes. Commit or stash them, then drop the commit.": "커밋되지 않은 변경 내용이 있습니다. 커밋하거나 스태시한 후 커밋을 삭제하세요.", "You have uncommitted changes. Commit or stash them, then drop the commits.": "커밋되지 않은 변경 내용이 있습니다. 커밋하거나 스태시한 후 커밋들을 삭제하세요.", + "You have uncommitted changes. Commit or stash them, then edit the message.": "커밋되지 않은 변경 내용이 있습니다. 커밋하거나 스태시한 후 메시지를 수정하세요.", "You have uncommitted changes. Commit or stash them, then squash the commits.": "커밋되지 않은 변경 내용이 있습니다. 커밋하거나 스태시한 후 커밋을 스쿼시하세요.", "You have uncommitted changes. Commit or stash them, then start the rebase.": "커밋되지 않은 변경 내용이 있습니다. 커밋하거나 스태시한 후 리베이스를 시작하세요.", "You have {0} {1} doesn't, and it has {2} you don't. ": "{1}에는 없는 {0}이 있고, {2}에는 없는 것이 있습니다. ", @@ -5038,6 +5060,7 @@ "each line is not annotated twice. You can turn it back on in Settings.": "각 줄이 두 번 표시되지 않습니다. 설정에서 다시 켤 수 있습니다.", "edit": "편집", "edited": "편집됨", + "editing a commit message": "커밋 메시지 수정 중", "either arrow takes it": "어느 화살표로도 가져올 수 있음", "empty": "비어 있음", "error": "오류", @@ -5802,6 +5825,7 @@ "{0} on this branch only": "이 브랜치에서만 {0}", "{0} on this file": "이 파일의 {0}", "{0} on {1}": "{1}의 {0}", + "{0} on {1} gets the message below.": "{1}의 {0}에 아래 메시지가 적용됩니다.", "{0} on {1} not pulled yet.": "{1}의 {0}이 아직 풀되지 않았습니다.", "{0} on {1}/{2} yet: {3} pushed first.": "{1}/{2}에 {0}이 아직 없음: {3}이 먼저 푸시됨.", "{0} on {1}{2}{3}": "{1}의 {0}{2}{3}", diff --git a/l10n/pl.json b/l10n/pl.json index 9b115c70..7697e87b 100644 --- a/l10n/pl.json +++ b/l10n/pl.json @@ -470,6 +470,7 @@ "Already cloned at {0}": "Już sklonowane w {0}", "Already merged in the file, outside the conflict markers (by git, or by hand): check it": "Już scalone w pliku, poza znacznikami konfliktu (przez git albo ręcznie): sprawdź to", "Already on {0}": "Już na {0}", + "Already pushed. Editing its message would rewrite history other people have. The next push will need to be a force push.": "Już wypchnięte. Zmiana jego treści przepisałaby historię, którą mają inni. Następny push będzie musiał być force push.", "Already pushed. {0} it would rewrite history other people have.": "Już wypchnięte. {0} przepisałoby historię, którą mają inni.", "Already rebased commits": "Już zrebase'owane commity", "Already rebased commits and commits from main": "Już zrebase'owane commity i commity z main", @@ -930,6 +931,7 @@ "Commit graph": "Graf commitów", "Commit list": "Lista commitów", "Commit message": "Treść commita", + "Commit message changed.": "Treść commita zmieniona.", "Commit not in the local clone": "Commit nie jest w lokalnym klonie", "Commit or stash {0}, then pull again.": "Zatwierdź albo zapisz w schowku {0}, a potem zrób pull ponownie.", "Commit page: filter the changed files": "Strona commita: filtruj zmienione pliki", @@ -1091,6 +1093,8 @@ "Couldn't bring the conflict in {0} back.": "Nie udało się przywrócić konfliktu w {0}.", "Couldn't bring them back.": "Nie udało się ich przywrócić.", "Couldn't cancel the run.": "Nie udało się anulować przebiegu.", + "Couldn't change the commit message.": "Nie udało się zmienić treści commita.", + "Couldn't change the commit message: {0}": "Nie udało się zmienić treści commita: {0}", "Couldn't change {0}.": "Nie udało się zmienić {0}.", "Couldn't check for updates.": "Nie udało się sprawdzić aktualizacji.", "Couldn't check out PR #{0}: {1}": "Nie udało się przełączyć na PR #{0}: {1}", @@ -1637,14 +1641,21 @@ "Duration": "Czas trwania", "Edit": "Edytuj", "Edit #{0}": "Edytuj #{0}", + "Edit Message": "Zmień treść commita", + "Edit Message…": "Zmień treść commita…", "Edit URL": "Edytuj URL", "Edit URL of {0}": "Edytuj URL {0}", + "Edit and move those branches": "Zmień treść i przenieś te branche", "Edit assignees": "Edytuj przypisane osoby", "Edit comment": "Edytuj komentarz", + "Edit commit message": "Zmień treść commita", "Edit gist": "Edytuj gista", "Edit issue #{0}": "Edytuj issue #{0}", "Edit issue title and description": "Edytuj tytuł i opis issue", "Edit labels": "Edytuj etykiety", + "Edit message": "Zmień treść", + "Edit message…": "Zmień treść…", + "Edit on this branch only": "Zmień treść tylko na tym branchu", "Edit pull request #{0}": "Edytuj pull request #{0}", "Edit pull request title and description": "Edytuj tytuł i opis pull requesta", "Edit release": "Edytuj wydanie", @@ -1655,6 +1666,8 @@ "Edit title & description": "Edytuj tytuł i opis", "Edit {0}": "Edytuj {0}", "Edited {0}": "Edytowano {0}", + "Editing the message hit a conflict while replaying a later commit. Resolve it and continue the rebase — or abort to put the branch back as it was.": "Zmiana treści natrafiła na konflikt podczas odtwarzania późniejszego commita. Rozwiąż go i kontynuuj rebase — albo przerwij, aby przywrócić branch do stanu poprzedniego.", + "Editing the message stopped and needs you — continue the rebase, or abort it to put the branch back as it was.": "Zmiana treści zatrzymała się i wymaga Twojej decyzji — kontynuuj rebase albo przerwij go, aby przywrócić branch do stanu poprzedniego.", "Editors": "Edytory", "Email": "E-mail", "Empty file": "Pusty plik", @@ -2504,6 +2517,7 @@ "Move the branch and DISCARD every working-tree and staged change.": "Przenieś branch i ODRZUĆ każdą zmianę w drzewie roboczym i przygotowaną.", "Move the branch, keep the working tree, unstage everything. Git's default.": "Przenieś branch, zachowaj drzewo robocze, usuń wszystko z indeksu. Domyślne ustawienie gita.", "Move the branch. Keep your working tree AND everything staged.": "Przenieś branch. Zachowaj drzewo robocze ORAZ wszystko, co jest przygotowane.", + "Move the branches on rewritten commits too?": "Przenieść też branche na przepisanych commitach?", "Move the current branch back to this commit.": "Przenieś aktualny branch z powrotem do tego commita.", "Move the selected commits": "Przenieś wybrane commity", "Move the selected commits down": "Przenieś wybrane commity niżej", @@ -3286,6 +3300,7 @@ "Pushing…": "Wypychanie…", "Push…": "Push…", "Put the clone folder back": "Przywróć folder klonowania", + "Put the old message back": "Przywróć starą treść", "Put the stash back": "Przywróć schowek", "Put the stash “{0}” back {1}.": "Przywróć schowek „{0}” {1}.", "Put the {0} dropped commits back": "Przywróć {0} odrzuconych commitów", @@ -3490,6 +3505,7 @@ "Reorder this branch only": "Zmień kolejność tylko tego brancha", "Reorder {0} commits": "Zmień kolejność commitów: {0}", "Reorder {0} commits?": "Zmienić kolejność commitów: {0}?", + "Reordering": "Zmiana kolejności", "Reordering stops at a merge — moving a commit past one would flatten it.": "Zmiana kolejności zatrzymuje się na scaleniu — przesunięcie commita za nim by je spłaszczyło.", "Replace and stage": "Zamień i przygotuj", "Replace the file with {0} and stage it": "Zamień plik na {0} i przygotuj go", @@ -4150,6 +4166,8 @@ "That URL uses an unsupported transport.": "Ten URL używa nieobsługiwanego transportu.", "That change is no longer there — the file moved underneath. Refresh and try again.": "Tej zmiany już tam nie ma — plik się przesunął. Odśwież i spróbuj ponownie.", "That commit is too far down the branch to drop from here. Start an interactive rebase from it instead.": "Ten commit jest zbyt daleko na branchu, aby go stąd odrzucić. Zacznij od niego rebase interaktywny.", + "That commit is too far down the branch to edit from here. Start an interactive rebase instead.": "Ten commit jest zbyt daleko na branchu, aby zmienić jego treść stąd. Zacznij zamiast tego rebase interaktywny.", + "That commit isn't on the current branch, so its message can't be edited from here.": "Ten commit nie jest na aktualnym branchu, więc nie można zmienić jego treści stąd.", "That commit isn't on the current branch, so there's nothing to drop it from.": "Ten commit nie jest na aktualnym branchu, więc nie ma go z czego odrzucić.", "That didn't work.": "To nie zadziałało.", "That doesn't look like a valid repository URL.": "To nie wygląda jak prawidłowy URL repozytorium.", @@ -4182,6 +4200,7 @@ "That worktree": "Ten worktree", "That {0} is not here": "Tego {0} tutaj nie ma", "That's a merge commit — dropping it would flatten the history it joined. Revert it instead.": "To commit scalający — jego odrzucenie spłaszczyłoby historię, którą połączył. Zamiast tego go odwróć.", + "That's a merge commit — editing its message would flatten the history it joined. Use an interactive rebase that keeps merges instead.": "To commit scalający — zmiana jego treści spłaszczyłaby historię, którą połączył. Zamiast tego użyj rebase interaktywnego, który zachowuje scalenia.", "That's the clone folder itself, not a repository inside it.": "To sam folder klonowania, nie repozytorium w jego wnętrzu.", "That's the only commit on the branch — dropping it would leave nothing.": "To jedyny commit na branchu — jego odrzucenie nie zostawiłoby nic.", "The 50 most recent commits. Clone the repository to read its whole history.": "50 najnowszych commitów. Sklonuj repozytorium, aby przeczytać całą jego historię.", @@ -4238,6 +4257,7 @@ "The commit is": "Commit jest", "The commit is added to {0} as one new commit.": "Commit jest dodawany do {0} jako jeden nowy commit.", "The commit it holds": "Commit, który przechowuje", + "The commit needs a message.": "Commit potrzebuje treści.", "The commits HEAD has that {0} does not are rewritten on top of it, so they get new shas. HEAD is on no branch, so they are on no branch either: create a branch from them to keep them. Undo can take you back.": "Commity, które ma HEAD, a których nie ma {0}, są przepisywane na jego wierzchu, więc dostają nowe SHA. HEAD nie jest na żadnym branchu, więc one też nie są: utwórz z nich branch, aby je zachować. Undo może Cię przywrócić.", "The conflict is back, but {0} couldn't be restored on disk.": "Konflikt jest przywrócony, ale nie udało się przywrócić {0} na dysku.", "The conflict state came back empty.": "Stan konfliktu wrócił pusty.", @@ -4503,7 +4523,8 @@ "This workflow run couldn't be loaded.": "Nie udało się wczytać tego przebiegu workflow.", "Those are all the commits on the branch — dropping them would leave nothing.": "To wszystkie commity na branchu — ich odrzucenie nie zostawiłoby nic.", "Those changes are no longer there — refresh and try again.": "Tych zmian już tam nie ma — odśwież i spróbuj ponownie.", - "Those commits are too far down the branch to {0} from here. Start an interactive rebase instead.": "Te commity są zbyt daleko na branchu, aby je stąd {0}. Zacznij zamiast tego rebase interaktywny.", + "Those commits are too far down the branch to drop from here. Start an interactive rebase instead.": "Te commity są zbyt daleko na branchu, aby je stąd odrzucić. Zacznij zamiast tego rebase interaktywny.", + "Those commits are too far down the branch to squash from here. Start an interactive rebase instead.": "Te commity są zbyt daleko na branchu, aby zrobić z nich squash stąd. Zacznij zamiast tego rebase interaktywny.", "Those commits could not be read any more — refresh the graph and try again.": "Nie udało się już odczytać tych commitów — odśwież graf i spróbuj ponownie.", "Thread": "Wątek", "Thread reopened.": "Wątek ponownie otwarty.", @@ -4775,6 +4796,7 @@ "You have uncommitted changes": "Masz niezatwierdzone zmiany", "You have uncommitted changes. Commit or stash them, then drop the commit.": "Masz niezatwierdzone zmiany. Zatwierdź albo zapisz je w schowku, a potem odrzuć commit.", "You have uncommitted changes. Commit or stash them, then drop the commits.": "Masz niezatwierdzone zmiany. Zatwierdź albo zapisz je w schowku, a potem odrzuć commity.", + "You have uncommitted changes. Commit or stash them, then edit the message.": "Masz niezatwierdzone zmiany. Zatwierdź albo zapisz je w schowku, a potem zmień treść commita.", "You have uncommitted changes. Commit or stash them, then squash the commits.": "Masz niezatwierdzone zmiany. Zatwierdź albo zapisz je w schowku, a potem zsquashuj commity.", "You have uncommitted changes. Commit or stash them, then start the rebase.": "Masz niezatwierdzone zmiany. Zatwierdź albo zapisz je w schowku, a potem zacznij rebase.", "You have {0} {1} doesn't, and it has {2} you don't. ": "Masz {0}, których {1} nie ma, a ono ma {2}, których Ty nie masz. ", @@ -5038,6 +5060,7 @@ "each line is not annotated twice. You can turn it back on in Settings.": "każda linia nie jest anotowana dwukrotnie. Możesz to włączyć z powrotem w Ustawieniach.", "edit": "edytuj", "edited": "edytowane", + "editing a commit message": "zmiana treści commita", "either arrow takes it": "obie strzałki to przyjmują", "empty": "pusty", "error": "błąd", @@ -5802,6 +5825,7 @@ "{0} on this branch only": "{0} tylko na tym branchu", "{0} on this file": "{0} na tym pliku", "{0} on {1}": "{0} na {1}", + "{0} on {1} gets the message below.": "{0} na {1} otrzyma treść poniżej.", "{0} on {1} not pulled yet.": "{0} na {1} jeszcze nie pociągnięte (pull).", "{0} on {1}/{2} yet: {3} pushed first.": "{0} na {1}/{2} jeszcze nie: najpierw wypchnięte {3}.", "{0} on {1}{2}{3}": "{0} na {1}{2}{3}", diff --git a/l10n/pt-br.json b/l10n/pt-br.json index a2ab0a9c..fa116b6e 100644 --- a/l10n/pt-br.json +++ b/l10n/pt-br.json @@ -470,6 +470,7 @@ "Already cloned at {0}": "Já clonado em {0}", "Already merged in the file, outside the conflict markers (by git, or by hand): check it": "Já mesclado no arquivo, fora dos marcadores de conflito (pelo git, ou manualmente): confira", "Already on {0}": "Já em {0}", + "Already pushed. Editing its message would rewrite history other people have. The next push will need to be a force push.": "Já foi enviado por push. Reescrever a mensagem dele reescreveria histórico que outras pessoas têm. O próximo push vai precisar ser um push forçado.", "Already pushed. {0} it would rewrite history other people have.": "Já foi enviado por push. {0} isso reescreveria histórico que outras pessoas têm.", "Already rebased commits": "Commits já rebaseados", "Already rebased commits and commits from main": "Commits já rebaseados e commits de main", @@ -930,6 +931,7 @@ "Commit graph": "Grafo de commits", "Commit list": "Lista de commits", "Commit message": "Mensagem de commit", + "Commit message changed.": "Mensagem do commit alterada.", "Commit not in the local clone": "Commit não está no clone local", "Commit or stash {0}, then pull again.": "Faça commit ou guarde no stash {0}, e depois faça pull de novo.", "Commit page: filter the changed files": "Página do commit: filtrar os arquivos alterados", @@ -1091,6 +1093,8 @@ "Couldn't bring the conflict in {0} back.": "Não foi possível trazer de volta o conflito em {0}.", "Couldn't bring them back.": "Não foi possível trazê-las de volta.", "Couldn't cancel the run.": "Não foi possível cancelar a execução.", + "Couldn't change the commit message.": "Não foi possível alterar a mensagem do commit.", + "Couldn't change the commit message: {0}": "Não foi possível alterar a mensagem do commit: {0}", "Couldn't change {0}.": "Não foi possível alterar {0}.", "Couldn't check for updates.": "Não foi possível verificar atualizações.", "Couldn't check out PR #{0}: {1}": "Não foi possível fazer checkout da PR #{0}: {1}", @@ -1637,14 +1641,21 @@ "Duration": "Duração", "Edit": "Editar", "Edit #{0}": "Editar #{0}", + "Edit Message": "Reescrever Mensagem", + "Edit Message…": "Reescrever Mensagem…", "Edit URL": "Editar URL", "Edit URL of {0}": "Editar URL de {0}", + "Edit and move those branches": "Reescrever e mover esses branches", "Edit assignees": "Editar responsáveis", "Edit comment": "Editar comentário", + "Edit commit message": "Reescrever mensagem do commit", "Edit gist": "Editar gist", "Edit issue #{0}": "Editar issue #{0}", "Edit issue title and description": "Editar título e descrição da issue", "Edit labels": "Editar rótulos", + "Edit message": "Reescrever mensagem", + "Edit message…": "Reescrever mensagem…", + "Edit on this branch only": "Reescrever apenas neste branch", "Edit pull request #{0}": "Editar pull request #{0}", "Edit pull request title and description": "Editar título e descrição da pull request", "Edit release": "Editar lançamento", @@ -1655,6 +1666,8 @@ "Edit title & description": "Editar título e descrição", "Edit {0}": "Editar {0}", "Edited {0}": "Editado {0}", + "Editing the message hit a conflict while replaying a later commit. Resolve it and continue the rebase — or abort to put the branch back as it was.": "Reescrever a mensagem encontrou um conflito ao reaplicar um commit posterior. Resolva-o e continue o rebase — ou aborte para devolver o branch como estava.", + "Editing the message stopped and needs you — continue the rebase, or abort it to put the branch back as it was.": "Reescrever a mensagem parou e precisa de você — continue o rebase, ou aborte-o para devolver o branch como estava.", "Editors": "Editores", "Email": "E-mail", "Empty file": "Arquivo vazio", @@ -2504,6 +2517,7 @@ "Move the branch and DISCARD every working-tree and staged change.": "Mover o branch e DESCARTAR toda alteração na árvore de trabalho e em stage.", "Move the branch, keep the working tree, unstage everything. Git's default.": "Mover o branch, manter a árvore de trabalho, remover tudo do stage. Padrão do git.", "Move the branch. Keep your working tree AND everything staged.": "Mover o branch. Manter sua árvore de trabalho E tudo que está em stage.", + "Move the branches on rewritten commits too?": "Mover também os branches nos commits reescritos?", "Move the current branch back to this commit.": "Mover o branch atual de volta para este commit.", "Move the selected commits": "Mover os commits selecionados", "Move the selected commits down": "Mover os commits selecionados para baixo", @@ -3286,6 +3300,7 @@ "Pushing…": "Fazendo push…", "Push…": "Push…", "Put the clone folder back": "Restaurar a pasta de clonagem", + "Put the old message back": "Devolver a mensagem antiga", "Put the stash back": "Devolver o stash", "Put the stash “{0}” back {1}.": "Devolver o stash “{0}” {1}.", "Put the {0} dropped commits back": "Devolver os {0} commits descartados", @@ -3490,6 +3505,7 @@ "Reorder this branch only": "Reordenar apenas este branch", "Reorder {0} commits": "Reordenar {0} commits", "Reorder {0} commits?": "Reordenar {0} commits?", + "Reordering": "Reordenando", "Reordering stops at a merge — moving a commit past one would flatten it.": "A reordenação para em uma mesclagem — mover um commit além de uma a aplanaria.", "Replace and stage": "Substituir e colocar em stage", "Replace the file with {0} and stage it": "Substituir o arquivo por {0} e colocá-lo em stage", @@ -4150,6 +4166,8 @@ "That URL uses an unsupported transport.": "Essa URL usa um transporte não suportado.", "That change is no longer there — the file moved underneath. Refresh and try again.": "Essa alteração não está mais lá — o arquivo se moveu por baixo. Atualize e tente novamente.", "That commit is too far down the branch to drop from here. Start an interactive rebase from it instead.": "Esse commit está muito abaixo no branch para ser descartado daqui. Em vez disso, inicie um rebase interativo a partir dele.", + "That commit is too far down the branch to edit from here. Start an interactive rebase instead.": "Esse commit está muito abaixo no branch para reescrevê-lo a partir daqui. Inicie um rebase interativo.", + "That commit isn't on the current branch, so its message can't be edited from here.": "Esse commit não está no branch atual, então sua mensagem não pode ser reescrita a partir daqui.", "That commit isn't on the current branch, so there's nothing to drop it from.": "Esse commit não está no branch atual, então não há como descartá-lo dele.", "That didn't work.": "Isso não funcionou.", "That doesn't look like a valid repository URL.": "Isso não parece uma URL de repositório válida.", @@ -4182,6 +4200,7 @@ "That worktree": "Esse worktree", "That {0} is not here": "Esse {0} não está aqui", "That's a merge commit — dropping it would flatten the history it joined. Revert it instead.": "Esse é um commit de mesclagem — descartá-lo aplanaria o histórico que ele uniu. Em vez disso, faça revert dele.", + "That's a merge commit — editing its message would flatten the history it joined. Use an interactive rebase that keeps merges instead.": "Esse é um commit de mesclagem — reescrever a mensagem dele aplanaria o histórico que ele uniu. Em vez disso, use um rebase interativo que preserve as mesclagens.", "That's the clone folder itself, not a repository inside it.": "Essa é a própria pasta de clonagem, não um repositório dentro dela.", "That's the only commit on the branch — dropping it would leave nothing.": "Esse é o único commit no branch — descartá-lo não deixaria nada.", "The 50 most recent commits. Clone the repository to read its whole history.": "Os 50 commits mais recentes. Clone o repositório para ler todo o seu histórico.", @@ -4238,6 +4257,7 @@ "The commit is": "O commit é", "The commit is added to {0} as one new commit.": "O commit é adicionado a {0} como um novo commit.", "The commit it holds": "O commit que ele guarda", + "The commit needs a message.": "O commit precisa de uma mensagem.", "The commits HEAD has that {0} does not are rewritten on top of it, so they get new shas. HEAD is on no branch, so they are on no branch either: create a branch from them to keep them. Undo can take you back.": "Os commits que o HEAD tem e que {0} não tem são reescritos em cima dele, então recebem novos shas. O HEAD não está em nenhum branch, então eles também não estão em nenhum branch: crie um branch a partir deles para mantê-los. Desfazer pode levá-lo de volta.", "The conflict is back, but {0} couldn't be restored on disk.": "O conflito voltou, mas {0} não pôde ser restaurado no disco.", "The conflict state came back empty.": "O estado do conflito voltou vazio.", @@ -4503,7 +4523,8 @@ "This workflow run couldn't be loaded.": "Esta execução de workflow não pôde ser carregada.", "Those are all the commits on the branch — dropping them would leave nothing.": "Esses são todos os commits do branch — descartá-los não deixaria nada.", "Those changes are no longer there — refresh and try again.": "Essas alterações não estão mais lá — atualize e tente novamente.", - "Those commits are too far down the branch to {0} from here. Start an interactive rebase instead.": "Esses commits estão muito abaixo no branch para {0} a partir daqui. Inicie um rebase interativo.", + "Those commits are too far down the branch to drop from here. Start an interactive rebase instead.": "Esses commits estão muito abaixo no branch para descartá-los a partir daqui. Inicie um rebase interativo.", + "Those commits are too far down the branch to squash from here. Start an interactive rebase instead.": "Esses commits estão muito abaixo no branch para fazer squash a partir daqui. Inicie um rebase interativo.", "Those commits could not be read any more — refresh the graph and try again.": "Esses commits não puderam mais ser lidos — atualize o grafo e tente novamente.", "Thread": "Thread", "Thread reopened.": "Thread reaberta.", @@ -4775,6 +4796,7 @@ "You have uncommitted changes": "Você tem alterações não commitadas", "You have uncommitted changes. Commit or stash them, then drop the commit.": "Você tem alterações não commitadas. Faça o commit delas ou guarde-as no stash, depois descarte o commit.", "You have uncommitted changes. Commit or stash them, then drop the commits.": "Você tem alterações não commitadas. Faça o commit delas ou guarde-as no stash, depois descarte os commits.", + "You have uncommitted changes. Commit or stash them, then edit the message.": "Você tem alterações não commitadas. Faça o commit delas ou guarde-as no stash, depois reescreva a mensagem.", "You have uncommitted changes. Commit or stash them, then squash the commits.": "Você tem alterações não commitadas. Faça o commit delas ou guarde-as no stash, depois faça o squash dos commits.", "You have uncommitted changes. Commit or stash them, then start the rebase.": "Você tem alterações não commitadas. Faça o commit delas ou guarde-as no stash, depois inicie o rebase.", "You have {0} {1} doesn't, and it has {2} you don't. ": "Você tem {0} que {1} não tem, e ele tem {2} que você não tem. ", @@ -5038,6 +5060,7 @@ "each line is not annotated twice. You can turn it back on in Settings.": "cada linha não é anotada duas vezes. Você pode reativar isso em Configurações.", "edit": "editar", "edited": "editado", + "editing a commit message": "reescrevendo a mensagem de um commit", "either arrow takes it": "qualquer uma das setas o leva", "empty": "vazio", "error": "erro", @@ -5802,6 +5825,7 @@ "{0} on this branch only": "{0} apenas neste branch", "{0} on this file": "{0} neste arquivo", "{0} on {1}": "{0} em {1}", + "{0} on {1} gets the message below.": "{0} em {1} recebe a mensagem abaixo.", "{0} on {1} not pulled yet.": "{0} em {1} ainda não puxado(s) por pull.", "{0} on {1}/{2} yet: {3} pushed first.": "{0} em {1}/{2} ainda: {3} enviado por push primeiro.", "{0} on {1}{2}{3}": "{0} em {1}{2}{3}", diff --git a/l10n/ru.json b/l10n/ru.json index e76d0aed..b707a00f 100644 --- a/l10n/ru.json +++ b/l10n/ru.json @@ -470,6 +470,7 @@ "Already cloned at {0}": "Уже клонирован в {0}", "Already merged in the file, outside the conflict markers (by git, or by hand): check it": "Уже слито в файле, вне маркеров конфликта (git или вручную): проверьте это", "Already on {0}": "Уже на {0}", + "Already pushed. Editing its message would rewrite history other people have. The next push will need to be a force push.": "Уже отправлено. Переформулирование его сообщения переписало бы историю, которая есть у других. Следующей отправке потребуется быть принудительной.", "Already pushed. {0} it would rewrite history other people have.": "Уже отправлено. {0} переписало бы историю, которая есть у других.", "Already rebased commits": "Уже перебазированные коммиты", "Already rebased commits and commits from main": "Уже перебазированные коммиты и коммиты из main", @@ -930,6 +931,7 @@ "Commit graph": "Граф коммитов", "Commit list": "Список коммитов", "Commit message": "Сообщение коммита", + "Commit message changed.": "Сообщение коммита изменено.", "Commit not in the local clone": "Коммита нет в локальном клоне", "Commit or stash {0}, then pull again.": "Закоммитьте или спрячьте {0}, затем выполните pull снова.", "Commit page: filter the changed files": "Страница коммита: фильтр изменённых файлов", @@ -1091,6 +1093,8 @@ "Couldn't bring the conflict in {0} back.": "Не удалось вернуть конфликт в {0}.", "Couldn't bring them back.": "Не удалось вернуть их обратно.", "Couldn't cancel the run.": "Не удалось отменить запуск.", + "Couldn't change the commit message.": "Не удалось изменить сообщение коммита.", + "Couldn't change the commit message: {0}": "Не удалось изменить сообщение коммита: {0}", "Couldn't change {0}.": "Не удалось изменить {0}.", "Couldn't check for updates.": "Не удалось проверить обновления.", "Couldn't check out PR #{0}: {1}": "Не удалось извлечь PR #{0}: {1}", @@ -1637,14 +1641,21 @@ "Duration": "Длительность", "Edit": "Изменить", "Edit #{0}": "Редактировать #{0}", + "Edit Message": "Переформулировать сообщение", + "Edit Message…": "Переформулировать сообщение…", "Edit URL": "Изменить URL", "Edit URL of {0}": "Изменить URL {0}", + "Edit and move those branches": "Переформулировать и переместить эти ветки", "Edit assignees": "Изменить исполнителей", "Edit comment": "Редактировать комментарий", + "Edit commit message": "Переформулировать сообщение коммита", "Edit gist": "Редактировать gist", "Edit issue #{0}": "Редактировать issue #{0}", "Edit issue title and description": "Редактировать заголовок и описание issue", "Edit labels": "Изменить метки", + "Edit message": "Переформулировать сообщение", + "Edit message…": "Переформулировать сообщение…", + "Edit on this branch only": "Переформулировать только в этой ветке", "Edit pull request #{0}": "Редактировать pull request #{0}", "Edit pull request title and description": "Редактировать заголовок и описание pull request", "Edit release": "Редактировать релиз", @@ -1655,6 +1666,8 @@ "Edit title & description": "Редактировать заголовок и описание", "Edit {0}": "Редактировать {0}", "Edited {0}": "Изменено {0}", + "Editing the message hit a conflict while replaying a later commit. Resolve it and continue the rebase — or abort to put the branch back as it was.": "Переформулирование сообщения привело к конфликту при повторном применении более позднего коммита. Разрешите его и продолжите перебазирование — или прервите, чтобы вернуть ветку как было.", + "Editing the message stopped and needs you — continue the rebase, or abort it to put the branch back as it was.": "Переформулирование сообщения остановилось и требует вашего решения — продолжите перебазирование или прервите его, чтобы вернуть ветку как было.", "Editors": "Редакторы", "Email": "Email", "Empty file": "Пустой файл", @@ -2504,6 +2517,7 @@ "Move the branch and DISCARD every working-tree and staged change.": "Переместить ветку и ОТКЛОНИТЬ все изменения в рабочем дереве и индексе.", "Move the branch, keep the working tree, unstage everything. Git's default.": "Переместить ветку, сохранить рабочее дерево, убрать всё из индекса. Выбор git по умолчанию.", "Move the branch. Keep your working tree AND everything staged.": "Переместить ветку. Сохранить рабочее дерево И всё, что в индексе.", + "Move the branches on rewritten commits too?": "Переместить также ветки на переписанных коммитах?", "Move the current branch back to this commit.": "Переместить текущую ветку обратно к этому коммиту.", "Move the selected commits": "Переместить выбранные коммиты", "Move the selected commits down": "Переместить выбранные коммиты вниз", @@ -3286,6 +3300,7 @@ "Pushing…": "Отправка…", "Push…": "Отправить…", "Put the clone folder back": "Вернуть папку клонирования", + "Put the old message back": "Вернуть обратно старое сообщение", "Put the stash back": "Вернуть тайник обратно", "Put the stash “{0}” back {1}.": "Вернуть тайник «{0}» обратно {1}.", "Put the {0} dropped commits back": "Вернуть обратно {0} отброшенных коммитов", @@ -3490,6 +3505,7 @@ "Reorder this branch only": "Изменить порядок только этой ветки", "Reorder {0} commits": "Изменить порядок {0} коммитов", "Reorder {0} commits?": "Изменить порядок {0} коммитов?", + "Reordering": "Изменение порядка", "Reordering stops at a merge — moving a commit past one would flatten it.": "Изменение порядка останавливается на слиянии — перемещение коммита за него сплющило бы его.", "Replace and stage": "Заменить и добавить в индекс", "Replace the file with {0} and stage it": "Заменить файл на {0} и добавить в индекс", @@ -4150,6 +4166,8 @@ "That URL uses an unsupported transport.": "Этот URL использует неподдерживаемый транспорт.", "That change is no longer there — the file moved underneath. Refresh and try again.": "Этого изменения больше нет — файл сдвинулся. Обновите и попробуйте снова.", "That commit is too far down the branch to drop from here. Start an interactive rebase from it instead.": "Этот коммит слишком далеко в ветке, чтобы отбросить его отсюда. Вместо этого начните интерактивное перебазирование с него.", + "That commit is too far down the branch to edit from here. Start an interactive rebase instead.": "Этот коммит слишком далеко в ветке, чтобы переформулировать его отсюда. Вместо этого начните интерактивное перебазирование.", + "That commit isn't on the current branch, so its message can't be edited from here.": "Этот коммит не находится на текущей ветке, поэтому его сообщение нельзя переформулировать отсюда.", "That commit isn't on the current branch, so there's nothing to drop it from.": "Этот коммит не на текущей ветке, поэтому нечего отбрасывать.", "That didn't work.": "Не получилось.", "That doesn't look like a valid repository URL.": "Это не похоже на корректный URL репозитория.", @@ -4182,6 +4200,7 @@ "That worktree": "Тот рабочий каталог", "That {0} is not here": "{0} здесь нет", "That's a merge commit — dropping it would flatten the history it joined. Revert it instead.": "Это коммит слияния — отбрасывание сплющило бы историю, которую он объединил. Вместо этого обратите его.", + "That's a merge commit — editing its message would flatten the history it joined. Use an interactive rebase that keeps merges instead.": "Это коммит слияния — переформулирование его сообщения сплющило бы историю, которую он объединил. Вместо этого используйте интерактивное перебазирование, которое сохраняет слияния.", "That's the clone folder itself, not a repository inside it.": "Это сама папка клонирования, а не репозиторий внутри неё.", "That's the only commit on the branch — dropping it would leave nothing.": "Это единственный коммит на ветке — отбрасывание ничего не оставит.", "The 50 most recent commits. Clone the repository to read its whole history.": "50 самых недавних коммитов. Клонируйте репозиторий, чтобы прочитать всю историю.", @@ -4238,6 +4257,7 @@ "The commit is": "Коммит", "The commit is added to {0} as one new commit.": "Коммит добавляется в {0} как один новый коммит.", "The commit it holds": "Состояние конфликта вернулось пустым.", + "The commit needs a message.": "Коммиту нужно сообщение.", "The commits HEAD has that {0} does not are rewritten on top of it, so they get new shas. HEAD is on no branch, so they are on no branch either: create a branch from them to keep them. Undo can take you back.": "Коммиты, которые есть у HEAD, но нет у {0}, переписываются поверх него, поэтому получают новые SHA. HEAD не на ветке, поэтому и они не на ветке: создайте из них ветку, чтобы сохранить их. Отмена может вернуть вас назад.", "The conflict is back, but {0} couldn't be restored on disk.": "Конфликт возвращён, но {0} не удалось восстановить на диске.", "The conflict state came back empty.": "Состояние конфликта вернулось пустым.", @@ -4503,7 +4523,8 @@ "This workflow run couldn't be loaded.": "Этот запуск workflow не удалось загрузить.", "Those are all the commits on the branch — dropping them would leave nothing.": "Это все коммиты на ветке — их отбрасывание ничего не оставит.", "Those changes are no longer there — refresh and try again.": "Этих изменений больше нет — обновите и попробуйте снова.", - "Those commits are too far down the branch to {0} from here. Start an interactive rebase instead.": "Эти коммиты слишком далеко в ветке, чтобы {0} их отсюда. Вместо этого начните интерактивное перебазирование.", + "Those commits are too far down the branch to drop from here. Start an interactive rebase instead.": "Эти коммиты слишком далеко в ветке, чтобы отбросить их отсюда. Вместо этого начните интерактивное перебазирование.", + "Those commits are too far down the branch to squash from here. Start an interactive rebase instead.": "Эти коммиты слишком далеко в ветке, чтобы объединить их отсюда. Вместо этого начните интерактивное перебазирование.", "Those commits could not be read any more — refresh the graph and try again.": "Эти коммиты больше не удалось прочитать — обновите граф и попробуйте снова.", "Thread": "Тема", "Thread reopened.": "Обсуждение открыто снова.", @@ -4775,6 +4796,7 @@ "You have uncommitted changes": "У вас есть незафиксированные изменения", "You have uncommitted changes. Commit or stash them, then drop the commit.": "У вас есть незафиксированные изменения. Закоммитьте или спрячьте их, затем отбросьте коммит.", "You have uncommitted changes. Commit or stash them, then drop the commits.": "У вас есть незафиксированные изменения. Закоммитьте или спрячьте их, затем отбросьте коммиты.", + "You have uncommitted changes. Commit or stash them, then edit the message.": "У вас есть незафиксированные изменения. Закоммитьте или спрячьте их, затем переформулируйте сообщение.", "You have uncommitted changes. Commit or stash them, then squash the commits.": "У вас есть незафиксированные изменения. Закоммитьте или спрячьте их, затем объедините коммиты.", "You have uncommitted changes. Commit or stash them, then start the rebase.": "У вас есть незафиксированные изменения. Закоммитьте или спрячьте их, затем начните перебазирование.", "You have {0} {1} doesn't, and it has {2} you don't. ": "У вас есть {0}, которых нет у {1}, а у неё есть {2}, которых нет у вас. ", @@ -5038,6 +5060,7 @@ "each line is not annotated twice. You can turn it back on in Settings.": "каждая строка не аннотируется дважды. Вы можете включить это обратно в настройках.", "edit": "изменить", "edited": "изменён", + "editing a commit message": "изменение сообщения коммита", "either arrow takes it": "любая стрелка принимает это", "empty": "пусто", "error": "ошибка", @@ -5802,6 +5825,7 @@ "{0} on this branch only": "{0} только на этой ветке", "{0} on this file": "{0} в этом файле", "{0} on {1}": "{0} на {1}", + "{0} on {1} gets the message below.": "{0} на {1} получит сообщение ниже.", "{0} on {1} not pulled yet.": "{0} на {1} пока не получено.", "{0} on {1}/{2} yet: {3} pushed first.": "{0} на {1}/{2} пока нет: сначала {3} отправляется.", "{0} on {1}{2}{3}": "{0} на {1}{2}{3}", diff --git a/l10n/tr.json b/l10n/tr.json index 6c41914b..e3c8dd89 100644 --- a/l10n/tr.json +++ b/l10n/tr.json @@ -470,6 +470,7 @@ "Already cloned at {0}": "{0} konumunda zaten kopyalandı", "Already merged in the file, outside the conflict markers (by git, or by hand): check it": "Dosyada çakışma işaretlerinin dışında zaten birleştirilmiş (git tarafından veya elle): işaretleyin", "Already on {0}": "Zaten {0}'de", + "Already pushed. Editing its message would rewrite history other people have. The next push will need to be a force push.": "Zaten gönderildi. Mesajını değiştirmek, başkalarında olan geçmişi yeniden yazar. Sonraki gönderme bir zorla gönderme olmalı.", "Already pushed. {0} it would rewrite history other people have.": "Zaten gönderildi. {0}, başkalarında olan geçmişi yeniden yazar.", "Already rebased commits": "Zaten yeniden temellendirilmiş işlemeler", "Already rebased commits and commits from main": "Zaten yeniden temellendirilmiş işlemeler ve main'den işlemeler", @@ -930,6 +931,7 @@ "Commit graph": "İşleme grafiği", "Commit list": "İşleme listesi", "Commit message": "İşleme mesajı", + "Commit message changed.": "İşleme mesajı değiştirildi.", "Commit not in the local clone": "İşleme yerel kopyada yok", "Commit or stash {0}, then pull again.": "{0}'i işleyin veya zulalayın, sonra yeniden çekin.", "Commit page: filter the changed files": "İşleme sayfası: değişen dosyaları filtrele", @@ -1091,6 +1093,8 @@ "Couldn't bring the conflict in {0} back.": "{0}'daki çakışma geri getirilemedi.", "Couldn't bring them back.": "Geri getirilemediler.", "Couldn't cancel the run.": "Çalıştırma iptal edilemedi.", + "Couldn't change the commit message.": "İşleme mesajı değiştirilemedi.", + "Couldn't change the commit message: {0}": "İşleme mesajı değiştirilemedi: {0}", "Couldn't change {0}.": "{0} değiştirilemedi.", "Couldn't check for updates.": "Güncellemeler denetlenemedi.", "Couldn't check out PR #{0}: {1}": "PR #{0} geçişe alınamadı: {1}", @@ -1637,14 +1641,21 @@ "Duration": "Süre", "Edit": "Düzenle", "Edit #{0}": "#{0}'ı düzenle", + "Edit Message": "Mesajı Değiştir", + "Edit Message…": "Mesajı Değiştir…", "Edit URL": "URL'yi Düzenle", "Edit URL of {0}": "{0}'ın URL'sini Düzenle", + "Edit and move those branches": "Mesajı değiştir ve o dalları taşı", "Edit assignees": "Atananları düzenle", "Edit comment": "Yorumu düzenle", + "Edit commit message": "İşleme mesajını değiştir", "Edit gist": "Gist'i düzenle", "Edit issue #{0}": "#{0} sorununu düzenle", "Edit issue title and description": "Sorun başlığını ve açıklamasını düzenle", "Edit labels": "Etiketleri düzenle", + "Edit message": "Mesajı değiştir", + "Edit message…": "Mesajı değiştir…", + "Edit on this branch only": "Yalnızca bu dalda mesajı değiştir", "Edit pull request #{0}": "#{0} çekme isteğini düzenle", "Edit pull request title and description": "Çekme isteği başlığını ve açıklamasını düzenle", "Edit release": "Sürümü düzenle", @@ -1655,6 +1666,8 @@ "Edit title & description": "Başlığı ve açıklamayı düzenle", "Edit {0}": "{0}'ı düzenle", "Edited {0}": "{0} tarihinde düzenlendi", + "Editing the message hit a conflict while replaying a later commit. Resolve it and continue the rebase — or abort to put the branch back as it was.": "Mesajı değiştirme, sonraki bir işlemeyi yeniden oynatırken bir çakışmaya çarptı. Çözüp yeniden temellendirmeyi sürdürün — veya dalı olduğu haline geri koymak için iptal edin.", + "Editing the message stopped and needs you — continue the rebase, or abort it to put the branch back as it was.": "Mesajı değiştirme durdu ve sizi gerektiriyor — yeniden temellendirmeyi sürdürün veya dalı olduğu haline geri koymak için iptal edin.", "Editors": "Düzenleyiciler", "Email": "E-posta", "Empty file": "Boş dosya", @@ -2504,6 +2517,7 @@ "Move the branch and DISCARD every working-tree and staged change.": "Dalı taşı ve her çalışma ağacı ve hazırlanmış değişikliği AT.", "Move the branch, keep the working tree, unstage everything. Git's default.": "Dalı taşı, çalışma ağacını koru, her şeyi hazırlıktan çıkar. Git'in varsayılanı.", "Move the branch. Keep your working tree AND everything staged.": "Dalı taşı. Çalışma ağacınızı VE hazırlanmış her şeyi koru.", + "Move the branches on rewritten commits too?": "Yeniden yazılan işlemelerdeki dallar da taşınsın mı?", "Move the current branch back to this commit.": "Geçerli dalı bu işlemeye geri taşı.", "Move the selected commits": "Seçili işlemeleri taşı", "Move the selected commits down": "Seçili işlemeleri aşağı taşı", @@ -3286,6 +3300,7 @@ "Pushing…": "Gönderiliyor…", "Push…": "Gönder…", "Put the clone folder back": "Kopyalama klasörünü geri koy", + "Put the old message back": "Eski mesajı geri koy", "Put the stash back": "Zulayı geri koy", "Put the stash “{0}” back {1}.": "“{0}” zulasını {1} geri koy.", "Put the {0} dropped commits back": "Düşürülen {0} işlemeyi geri koy", @@ -3490,6 +3505,7 @@ "Reorder this branch only": "Yalnızca bu dalı yeniden sırala", "Reorder {0} commits": "{0} işlemeyi yeniden sırala", "Reorder {0} commits?": "{0} işleme yeniden sıralansın mı?", + "Reordering": "Yeniden sıralanıyor", "Reordering stops at a merge — moving a commit past one would flatten it.": "Yeniden sıralama bir birleştirmede durur — bir işlemeyi onun ötesine taşımak onu düzleştirir.", "Replace and stage": "Değiştir ve hazırla", "Replace the file with {0} and stage it": "Dosyayı {0} ile değiştir ve hazırla", @@ -4150,6 +4166,8 @@ "That URL uses an unsupported transport.": "Bu URL desteklenmeyen bir taşıma kullanıyor.", "That change is no longer there — the file moved underneath. Refresh and try again.": "O değişiklik artık orada değil — dosya altından taşındı. Yenileyip yeniden deneyin.", "That commit is too far down the branch to drop from here. Start an interactive rebase from it instead.": "O işleme buradan düşürülemeyecek kadar dalda aşağıda. Bunun yerine ondan bir etkileşimli yeniden temellendirme başlatın.", + "That commit is too far down the branch to edit from here. Start an interactive rebase instead.": "O işleme buradan değiştirilemeyecek kadar dalda aşağıda. Bunun yerine bir etkileşimli yeniden temellendirme başlatın.", + "That commit isn't on the current branch, so its message can't be edited from here.": "O işleme geçerli dalda değil, bu nedenle mesajı buradan değiştirilemez.", "That commit isn't on the current branch, so there's nothing to drop it from.": "O işleme geçerli dalda değil, bu nedenle ondan düşürülecek bir şey yok.", "That didn't work.": "Bu çalışmadı.", "That doesn't look like a valid repository URL.": "Bu geçerli bir depo URL'sine benzemiyor.", @@ -4182,6 +4200,7 @@ "That worktree": "O çalışma alanı", "That {0} is not here": "O {0} burada yok", "That's a merge commit — dropping it would flatten the history it joined. Revert it instead.": "Bu bir birleştirme işlemesi — onu düşürmek birleştirdiği geçmişi düzleştirir. Bunun yerine geri alın.", + "That's a merge commit — editing its message would flatten the history it joined. Use an interactive rebase that keeps merges instead.": "Bu bir birleştirme işlemesi — mesajını değiştirmek birleştirdiği geçmişi düzleştirir. Bunun yerine birleştirmeleri koruyan bir etkileşimli yeniden temellendirme kullanın.", "That's the clone folder itself, not a repository inside it.": "Bu, kopyalama klasörünün kendisi, içindeki bir depo değil.", "That's the only commit on the branch — dropping it would leave nothing.": "Bu, daldaki tek işleme — onu düşürmek hiçbir şey bırakmaz.", "The 50 most recent commits. Clone the repository to read its whole history.": "En yeni 50 işleme. Tüm geçmişini okumak için depoyu kopyalayın.", @@ -4238,6 +4257,7 @@ "The commit is": "İşleme şu", "The commit is added to {0} as one new commit.": "İşleme {0}'a bir yeni işleme olarak eklenir.", "The commit it holds": "Tuttuğu işleme", + "The commit needs a message.": "İşlemenin bir mesaja ihtiyacı var.", "The commits HEAD has that {0} does not are rewritten on top of it, so they get new shas. HEAD is on no branch, so they are on no branch either: create a branch from them to keep them. Undo can take you back.": "HEAD'in sahip olup {0}'ın olmadığı işlemeler onun üzerinde yeniden yazılır, bu nedenle yeni sha'lar alırlar. HEAD hiçbir dalda değil, bu nedenle onlar da hiçbir dalda değil: onları korumak için onlardan bir dal oluşturun. Geri Al sizi geri alabilir.", "The conflict is back, but {0} couldn't be restored on disk.": "Çakışma geri geldi, ancak {0} diskte geri yüklenemedi.", "The conflict state came back empty.": "Çakışma durumu boş döndü.", @@ -4503,7 +4523,8 @@ "This workflow run couldn't be loaded.": "Bu iş akışı çalıştırması yüklenemedi.", "Those are all the commits on the branch — dropping them would leave nothing.": "Bunlar daldaki tüm işlemeler — onları düşürmek hiçbir şey bırakmaz.", "Those changes are no longer there — refresh and try again.": "O değişiklikler artık orada değil — yenileyip yeniden deneyin.", - "Those commits are too far down the branch to {0} from here. Start an interactive rebase instead.": "O işlemeler buradan {0} edilemeyecek kadar dalda aşağıda. Bunun yerine bir etkileşimli yeniden temellendirme başlatın.", + "Those commits are too far down the branch to drop from here. Start an interactive rebase instead.": "O işlemeler buradan düşürülemeyecek kadar dalda aşağıda. Bunun yerine bir etkileşimli yeniden temellendirme başlatın.", + "Those commits are too far down the branch to squash from here. Start an interactive rebase instead.": "O işlemeler buradan ezilemeyecek kadar dalda aşağıda. Bunun yerine bir etkileşimli yeniden temellendirme başlatın.", "Those commits could not be read any more — refresh the graph and try again.": "O işlemeler artık okunamadı — grafiği yenileyin ve yeniden deneyin.", "Thread": "İş parçacığı", "Thread reopened.": "İş parçacığı yeniden açıldı.", @@ -4775,6 +4796,7 @@ "You have uncommitted changes": "İşlenmemiş değişiklikleriniz var", "You have uncommitted changes. Commit or stash them, then drop the commit.": "İşlenmemiş değişiklikleriniz var. Bunları işleyin veya zulalayın, sonra işlemeyi düşürün.", "You have uncommitted changes. Commit or stash them, then drop the commits.": "İşlenmemiş değişiklikleriniz var. Bunları işleyin veya zulalayın, sonra işlemeleri düşürün.", + "You have uncommitted changes. Commit or stash them, then edit the message.": "İşlenmemiş değişiklikleriniz var. Bunları işleyin veya zulalayın, sonra mesajı değiştirin.", "You have uncommitted changes. Commit or stash them, then squash the commits.": "İşlenmemiş değişiklikleriniz var. Bunları işleyin veya zulalayın, sonra işlemeleri ezin.", "You have uncommitted changes. Commit or stash them, then start the rebase.": "İşlenmemiş değişiklikleriniz var. Bunları işleyin veya zulalayın, sonra yeniden temellendirmeyi başlatın.", "You have {0} {1} doesn't, and it has {2} you don't. ": "{1}'de olmayan {0}'a sahipsiniz ve onda sizde olmayan {2} var. ", @@ -5038,6 +5060,7 @@ "each line is not annotated twice. You can turn it back on in Settings.": "her satır iki kez açıklanmaz. Ayarlar'da yeniden açabilirsiniz.", "edit": "düzenle", "edited": "düzenlendi", + "editing a commit message": "bir işleme mesajını değiştirme", "either arrow takes it": "her iki ok da onu alır", "empty": "boş", "error": "hata", @@ -5802,6 +5825,7 @@ "{0} on this branch only": "yalnızca bu dalda {0}", "{0} on this file": "bu dosyada {0}", "{0} on {1}": "{1}'de {0}", + "{0} on {1} gets the message below.": "{1}'de {0} aşağıdaki mesajı alacak.", "{0} on {1} not pulled yet.": "{1}'de {0} henüz çekilmedi.", "{0} on {1}/{2} yet: {3} pushed first.": "{0}, {1}/{2}'de henüz yok: önce {3} gönderilir.", "{0} on {1}{2}{3}": "{0}, {1}{2}{3}'de", diff --git a/l10n/zh-cn.json b/l10n/zh-cn.json index 2f0542ed..28ee647e 100644 --- a/l10n/zh-cn.json +++ b/l10n/zh-cn.json @@ -470,6 +470,7 @@ "Already cloned at {0}": "已在 {0} 克隆", "Already merged in the file, outside the conflict markers (by git, or by hand): check it": "已在文件中合并,位于冲突标记之外(由 git 或手工完成):请检查", "Already on {0}": "已在 {0} 上", + "Already pushed. Editing its message would rewrite history other people have. The next push will need to be a force push.": "已被推送。改写它的提交信息会改写其他人已有的历史。下一次推送需要强制推送。", "Already pushed. {0} it would rewrite history other people have.": "已被推送。{0} 它会改写其他人已有的历史。", "Already rebased commits": "已变基的提交", "Already rebased commits and commits from main": "已变基的提交和来自 main 的提交", @@ -930,6 +931,7 @@ "Commit graph": "提交图", "Commit list": "提交列表", "Commit message": "提交信息", + "Commit message changed.": "提交信息已更改。", "Commit not in the local clone": "该提交不在本地克隆中", "Commit or stash {0}, then pull again.": "请先提交或贮藏 {0},然后再次拉取。", "Commit page: filter the changed files": "提交页面:筛选已更改的文件", @@ -1091,6 +1093,8 @@ "Couldn't bring the conflict in {0} back.": "无法恢复 {0} 中的冲突。", "Couldn't bring them back.": "无法恢复它们。", "Couldn't cancel the run.": "无法取消运行。", + "Couldn't change the commit message.": "无法更改提交信息。", + "Couldn't change the commit message: {0}": "无法更改提交信息:{0}", "Couldn't change {0}.": "无法更改 {0}。", "Couldn't check for updates.": "无法检查更新。", "Couldn't check out PR #{0}: {1}": "无法检出 PR #{0}:{1}", @@ -1637,14 +1641,21 @@ "Duration": "持续时间", "Edit": "编辑", "Edit #{0}": "编辑 #{0}", + "Edit Message": "改写信息", + "Edit Message…": "改写信息…", "Edit URL": "编辑 URL", "Edit URL of {0}": "编辑 {0} 的 URL", + "Edit and move those branches": "改写并移动这些分支", "Edit assignees": "编辑受理人", "Edit comment": "编辑评论", + "Edit commit message": "改写提交信息", "Edit gist": "编辑 gist", "Edit issue #{0}": "编辑议题 #{0}", "Edit issue title and description": "编辑议题标题和描述", "Edit labels": "编辑标签", + "Edit message": "改写信息", + "Edit message…": "改写信息…", + "Edit on this branch only": "仅在此分支上改写", "Edit pull request #{0}": "编辑拉取请求 #{0}", "Edit pull request title and description": "编辑拉取请求标题和描述", "Edit release": "编辑发行版", @@ -1655,6 +1666,8 @@ "Edit title & description": "编辑标题和描述", "Edit {0}": "编辑 {0}", "Edited {0}": "编辑于 {0}", + "Editing the message hit a conflict while replaying a later commit. Resolve it and continue the rebase — or abort to put the branch back as it was.": "改写提交信息时在重放后续提交时遇到冲突。请解决它并继续变基 — 或中止以把分支恢复原样。", + "Editing the message stopped and needs you — continue the rebase, or abort it to put the branch back as it was.": "改写提交信息已停止,需要你处理 — 请继续变基,或中止以把分支恢复原样。", "Editors": "编辑器", "Email": "电子邮件", "Empty file": "空文件", @@ -2504,6 +2517,7 @@ "Move the branch and DISCARD every working-tree and staged change.": "移动分支,并丢弃工作树和暂存区的所有更改。", "Move the branch, keep the working tree, unstage everything. Git's default.": "移动分支,保留工作树,取消所有暂存。这是 Git 的默认行为。", "Move the branch. Keep your working tree AND everything staged.": "移动分支。保留工作树以及所有已暂存的内容。", + "Move the branches on rewritten commits too?": "也要移动重写提交上的分支吗?", "Move the current branch back to this commit.": "将当前分支移回此提交。", "Move the selected commits": "移动所选提交", "Move the selected commits down": "下移选中的提交", @@ -3286,6 +3300,7 @@ "Pushing…": "正在推送…", "Push…": "推送…", "Put the clone folder back": "恢复克隆文件夹", + "Put the old message back": "恢复旧的提交信息", "Put the stash back": "恢复该贮藏", "Put the stash “{0}” back {1}.": "将贮藏“{0}”放回{1}。", "Put the {0} dropped commits back": "恢复这 {0} 个被丢弃的提交", @@ -3490,6 +3505,7 @@ "Reorder this branch only": "仅重新排序该分支", "Reorder {0} commits": "重新排序 {0} 个提交", "Reorder {0} commits?": "重新排序 {0} 个提交?", + "Reordering": "重新排序", "Reordering stops at a merge — moving a commit past one would flatten it.": "重新排序会在合并提交处停止 — 把提交移过合并提交会压平它。", "Replace and stage": "替换并暂存", "Replace the file with {0} and stage it": "用 {0} 替换该文件并暂存", @@ -4150,6 +4166,8 @@ "That URL uses an unsupported transport.": "该 URL 使用了不受支持的传输方式。", "That change is no longer there — the file moved underneath. Refresh and try again.": "该更改已不存在 — 底层的文件已被移动。请刷新后重试。", "That commit is too far down the branch to drop from here. Start an interactive rebase from it instead.": "该提交在分支中位置太靠下,无法从这里丢弃。请改为从它开始交互式变基。", + "That commit is too far down the branch to edit from here. Start an interactive rebase instead.": "该提交在分支中位置太靠下,无法从这里改写。请改用交互式变基。", + "That commit isn't on the current branch, so its message can't be edited from here.": "该提交不在当前分支上,因此无法从这里改写它的信息。", "That commit isn't on the current branch, so there's nothing to drop it from.": "该提交不在当前分支上,因此无从丢弃它。", "That didn't work.": "没有成功。", "That doesn't look like a valid repository URL.": "这看起来不是有效的仓库 URL。", @@ -4182,6 +4200,7 @@ "That worktree": "该工作树", "That {0} is not here": "此处没有该 {0}", "That's a merge commit — dropping it would flatten the history it joined. Revert it instead.": "这是一个合并提交 — 丢弃它会压平它并入的历史。请改为还原它。", + "That's a merge commit — editing its message would flatten the history it joined. Use an interactive rebase that keeps merges instead.": "这是一个合并提交 — 改写它的信息会压平它并入的历史。请改用保留合并的交互式变基。", "That's the clone folder itself, not a repository inside it.": "这是克隆文件夹本身,而不是其中的某个仓库。", "That's the only commit on the branch — dropping it would leave nothing.": "这是分支上唯一的提交 — 丢弃它会什么都不剩。", "The 50 most recent commits. Clone the repository to read its whole history.": "最近的 50 个提交。克隆该仓库以读取其完整历史。", @@ -4238,6 +4257,7 @@ "The commit is": "该提交", "The commit is added to {0} as one new commit.": "该提交会作为一个新提交添加到 {0}。", "The commit it holds": "它保存的提交", + "The commit needs a message.": "该提交需要一条提交信息。", "The commits HEAD has that {0} does not are rewritten on top of it, so they get new shas. HEAD is on no branch, so they are on no branch either: create a branch from them to keep them. Undo can take you back.": "HEAD 拥有而 {0} 没有的提交会被重写到它之上,因此会获得新的 sha。HEAD 不在任何分支上,所以这些提交也不在任何分支上:请从它们创建一个分支来保留它们。撤销可以带你回到原状。", "The conflict is back, but {0} couldn't be restored on disk.": "冲突已恢复,但 {0} 无法在磁盘上恢复。", "The conflict state came back empty.": "返回的冲突状态为空。", @@ -4503,7 +4523,8 @@ "This workflow run couldn't be loaded.": "此工作流运行无法加载。", "Those are all the commits on the branch — dropping them would leave nothing.": "这些是分支上的全部提交 — 丢弃它们会什么都不剩。", "Those changes are no longer there — refresh and try again.": "那些更改已不存在 — 请刷新后重试。", - "Those commits are too far down the branch to {0} from here. Start an interactive rebase instead.": "那些提交在分支中位置太靠下,无法从这里{0}。请改用交互式变基。", + "Those commits are too far down the branch to drop from here. Start an interactive rebase instead.": "那些提交在分支中位置太靠下,无法从这里丢弃。请改用交互式变基。", + "Those commits are too far down the branch to squash from here. Start an interactive rebase instead.": "那些提交在分支中位置太靠下,无法从这里压缩。请改用交互式变基。", "Those commits could not be read any more — refresh the graph and try again.": "那些提交已无法读取 — 请刷新图谱后重试。", "Thread": "讨论", "Thread reopened.": "讨论已重新打开。", @@ -4775,6 +4796,7 @@ "You have uncommitted changes": "你有未提交的更改", "You have uncommitted changes. Commit or stash them, then drop the commit.": "你有未提交的更改。请先提交或贮藏它们,然后丢弃该提交。", "You have uncommitted changes. Commit or stash them, then drop the commits.": "你有未提交的更改。请先提交或贮藏它们,然后丢弃这些提交。", + "You have uncommitted changes. Commit or stash them, then edit the message.": "你有未提交的更改。请先提交或贮藏它们,然后改写提交信息。", "You have uncommitted changes. Commit or stash them, then squash the commits.": "你有未提交的更改。请先提交或贮藏它们,然后压缩这些提交。", "You have uncommitted changes. Commit or stash them, then start the rebase.": "你有未提交的更改。请先提交或贮藏它们,然后开始变基。", "You have {0} {1} doesn't, and it has {2} you don't. ": "你有 {0} 个提交是 {1} 没有的,而它有 {2} 个是你没有的。 ", @@ -5038,6 +5060,7 @@ "each line is not annotated twice. You can turn it back on in Settings.": "每一行不会被重复标注。你可以在设置中重新开启。", "edit": "编辑", "edited": "已编辑", + "editing a commit message": "正在改写提交信息", "either arrow takes it": "任一方向键即可采用", "empty": "空", "error": "错误", @@ -5802,6 +5825,7 @@ "{0} on this branch only": "{0}(仅限此分支)", "{0} on this file": "此文件上有 {0}", "{0} on {1}": "{0}(在 {1} 上)", + "{0} on {1} gets the message below.": "{0}(在 {1} 上)将使用下方的提交信息。", "{0} on {1} not pulled yet.": "{1} 上的 {0}尚未拉取。", "{0} on {1}/{2} yet: {3} pushed first.": "{0} 还不在 {1}/{2} 上:会先推送 {3}。", "{0} on {1}{2}{3}": "{0} 位于 {1}{2}{3}", diff --git a/l10n/zh-tw.json b/l10n/zh-tw.json index f724827d..13ec71e6 100644 --- a/l10n/zh-tw.json +++ b/l10n/zh-tw.json @@ -470,6 +470,7 @@ "Already cloned at {0}": "已在 {0} 複製", "Already merged in the file, outside the conflict markers (by git, or by hand): check it": "已在檔案中合併,位於衝突標記之外(由 git 或手工完成):請檢查", "Already on {0}": "已在 {0} 上", + "Already pushed. Editing its message would rewrite history other people have. The next push will need to be a force push.": "已被推送。改寫它的提交資訊會改寫其他人已有的歷史。下一次推送需要強制推送。", "Already pushed. {0} it would rewrite history other people have.": "已被推送。{0} 它會改寫其他人已有的歷史。", "Already rebased commits": "已變基的提交", "Already rebased commits and commits from main": "已變基的提交和來自 main 的提交", @@ -930,6 +931,7 @@ "Commit graph": "提交圖", "Commit list": "提交列表", "Commit message": "提交資訊", + "Commit message changed.": "提交資訊已更改。", "Commit not in the local clone": "該提交不在本地複製中", "Commit or stash {0}, then pull again.": "請先提交或儲藏 {0},然後再次拉取。", "Commit page: filter the changed files": "提交頁面:篩選已更改的檔案", @@ -1091,6 +1093,8 @@ "Couldn't bring the conflict in {0} back.": "無法恢復 {0} 中的衝突。", "Couldn't bring them back.": "無法恢復它們。", "Couldn't cancel the run.": "無法取消執行。", + "Couldn't change the commit message.": "無法更改提交資訊。", + "Couldn't change the commit message: {0}": "無法更改提交資訊:{0}", "Couldn't change {0}.": "無法更改 {0}。", "Couldn't check for updates.": "無法檢查更新。", "Couldn't check out PR #{0}: {1}": "無法簽出 PR #{0}:{1}", @@ -1637,14 +1641,21 @@ "Duration": "持續時間", "Edit": "編輯", "Edit #{0}": "編輯 #{0}", + "Edit Message": "改寫資訊", + "Edit Message…": "改寫資訊…", "Edit URL": "編輯 URL", "Edit URL of {0}": "編輯 {0} 的 URL", + "Edit and move those branches": "改寫並移動這些分支", "Edit assignees": "編輯受理人", "Edit comment": "編輯評論", + "Edit commit message": "改寫提交資訊", "Edit gist": "編輯 gist", "Edit issue #{0}": "編輯議題 #{0}", "Edit issue title and description": "編輯議題標題和描述", "Edit labels": "編輯標籤", + "Edit message": "改寫資訊", + "Edit message…": "改寫資訊…", + "Edit on this branch only": "僅在此分支上改寫", "Edit pull request #{0}": "編輯拉取請求 #{0}", "Edit pull request title and description": "編輯拉取請求標題和描述", "Edit release": "編輯發行版", @@ -1655,6 +1666,8 @@ "Edit title & description": "編輯標題和描述", "Edit {0}": "編輯 {0}", "Edited {0}": "編輯於 {0}", + "Editing the message hit a conflict while replaying a later commit. Resolve it and continue the rebase — or abort to put the branch back as it was.": "改寫提交資訊時在重放後續提交時遇到衝突。請解決它並繼續變基 — 或中止以把分支恢復原樣。", + "Editing the message stopped and needs you — continue the rebase, or abort it to put the branch back as it was.": "改寫提交資訊已停止,需要你處理 — 請繼續變基,或中止以把分支恢復原樣。", "Editors": "編輯器", "Email": "電子郵件", "Empty file": "空檔案", @@ -2504,6 +2517,7 @@ "Move the branch and DISCARD every working-tree and staged change.": "移動分支,並丟棄工作樹和暫存區的所有更改。", "Move the branch, keep the working tree, unstage everything. Git's default.": "移動分支,保留工作樹,取消所有暫存。這是 Git 的預設行為。", "Move the branch. Keep your working tree AND everything staged.": "移動分支。保留工作樹以及所有已暫存的內容。", + "Move the branches on rewritten commits too?": "也要移動重寫提交上的分支嗎?", "Move the current branch back to this commit.": "將當前分支移回此提交。", "Move the selected commits": "移動所選提交", "Move the selected commits down": "下移選中的提交", @@ -3286,6 +3300,7 @@ "Pushing…": "正在推送…", "Push…": "推送…", "Put the clone folder back": "恢復複製資料夾", + "Put the old message back": "恢復舊的提交資訊", "Put the stash back": "恢復該儲藏", "Put the stash “{0}” back {1}.": "將儲藏“{0}”放回{1}。", "Put the {0} dropped commits back": "恢復這 {0} 個被丟棄的提交", @@ -3490,6 +3505,7 @@ "Reorder this branch only": "僅重新排序該分支", "Reorder {0} commits": "重新排序 {0} 個提交", "Reorder {0} commits?": "重新排序 {0} 個提交?", + "Reordering": "重新排序", "Reordering stops at a merge — moving a commit past one would flatten it.": "重新排序會在合併提交處停止 — 把提交移過合併提交會壓平它。", "Replace and stage": "替換並暫存", "Replace the file with {0} and stage it": "用 {0} 替換該檔案並暫存", @@ -4150,6 +4166,8 @@ "That URL uses an unsupported transport.": "該 URL 使用了不受支援的傳輸方式。", "That change is no longer there — the file moved underneath. Refresh and try again.": "該更改已不存在 — 底層的檔案已被移動。請重新整理後重試。", "That commit is too far down the branch to drop from here. Start an interactive rebase from it instead.": "該提交在分支中位置太靠下,無法從這裡丟棄。請改為從它開始互動式變基。", + "That commit is too far down the branch to edit from here. Start an interactive rebase instead.": "該提交在分支中位置太靠下,無法從這裡改寫。請改用互動式變基。", + "That commit isn't on the current branch, so its message can't be edited from here.": "該提交不在當前分支上,因此無法從這裡改寫它的資訊。", "That commit isn't on the current branch, so there's nothing to drop it from.": "該提交不在當前分支上,因此無從丟棄它。", "That didn't work.": "沒有成功。", "That doesn't look like a valid repository URL.": "這看起來不是有效的儲存庫 URL。", @@ -4182,6 +4200,7 @@ "That worktree": "該工作樹", "That {0} is not here": "此處沒有該 {0}", "That's a merge commit — dropping it would flatten the history it joined. Revert it instead.": "這是一個合併提交 — 丟棄它會壓平它併入的歷史。請改為還原它。", + "That's a merge commit — editing its message would flatten the history it joined. Use an interactive rebase that keeps merges instead.": "這是一個合併提交 — 改寫它的資訊會壓平它併入的歷史。請改用保留合併的互動式變基。", "That's the clone folder itself, not a repository inside it.": "這是複製資料夾本身,而不是其中的某個儲存庫。", "That's the only commit on the branch — dropping it would leave nothing.": "這是分支上唯一的提交 — 丟棄它會什麼都不剩。", "The 50 most recent commits. Clone the repository to read its whole history.": "最近的 50 個提交。複製該儲存庫以讀取其完整歷史。", @@ -4238,6 +4257,7 @@ "The commit is": "該提交", "The commit is added to {0} as one new commit.": "該提交會作為一個新提交新增到 {0}。", "The commit it holds": "它儲存的提交", + "The commit needs a message.": "該提交需要一條提交資訊。", "The commits HEAD has that {0} does not are rewritten on top of it, so they get new shas. HEAD is on no branch, so they are on no branch either: create a branch from them to keep them. Undo can take you back.": "HEAD 擁有而 {0} 沒有的提交會被重寫到它之上,因此會獲得新的 sha。HEAD 不在任何分支上,所以這些提交也不在任何分支上:請從它們建立一個分支來保留它們。撤銷可以帶你回到原狀。", "The conflict is back, but {0} couldn't be restored on disk.": "衝突已恢復,但 {0} 無法在磁碟上恢復。", "The conflict state came back empty.": "返回的衝突狀態為空。", @@ -4503,7 +4523,8 @@ "This workflow run couldn't be loaded.": "此工作流執行無法載入。", "Those are all the commits on the branch — dropping them would leave nothing.": "這些是分支上的全部提交 — 丟棄它們會什麼都不剩。", "Those changes are no longer there — refresh and try again.": "那些更改已不存在 — 請重新整理後重試。", - "Those commits are too far down the branch to {0} from here. Start an interactive rebase instead.": "那些提交在分支中位置太靠下,無法從這裡{0}。請改用互動式變基。", + "Those commits are too far down the branch to drop from here. Start an interactive rebase instead.": "那些提交在分支中位置太靠下,無法從這裡丟棄。請改用互動式變基。", + "Those commits are too far down the branch to squash from here. Start an interactive rebase instead.": "那些提交在分支中位置太靠下,無法從這裡壓縮。請改用互動式變基。", "Those commits could not be read any more — refresh the graph and try again.": "那些提交已無法讀取 — 請重新整理圖譜後重試。", "Thread": "討論", "Thread reopened.": "討論已重新開啟。", @@ -4775,6 +4796,7 @@ "You have uncommitted changes": "你有未提交的更改", "You have uncommitted changes. Commit or stash them, then drop the commit.": "你有未提交的更改。請先提交或儲藏它們,然後丟棄該提交。", "You have uncommitted changes. Commit or stash them, then drop the commits.": "你有未提交的更改。請先提交或儲藏它們,然後丟棄這些提交。", + "You have uncommitted changes. Commit or stash them, then edit the message.": "你有未提交的更改。請先提交或儲藏它們,然後改寫提交資訊。", "You have uncommitted changes. Commit or stash them, then squash the commits.": "你有未提交的更改。請先提交或儲藏它們,然後壓縮這些提交。", "You have uncommitted changes. Commit or stash them, then start the rebase.": "你有未提交的更改。請先提交或儲藏它們,然後開始變基。", "You have {0} {1} doesn't, and it has {2} you don't. ": "你有 {0} 個提交是 {1} 沒有的,而它有 {2} 個是你沒有的。 ", @@ -5038,6 +5060,7 @@ "each line is not annotated twice. You can turn it back on in Settings.": "每一行不會被重複標註。你可以在設定中重新開啟。", "edit": "編輯", "edited": "已編輯", + "editing a commit message": "正在改寫提交資訊", "either arrow takes it": "任一方向鍵即可採用", "empty": "空", "error": "錯誤", @@ -5802,6 +5825,7 @@ "{0} on this branch only": "{0}(僅限此分支)", "{0} on this file": "此檔案上有 {0}", "{0} on {1}": "{0}(在 {1} 上)", + "{0} on {1} gets the message below.": "{0}(在 {1} 上)將使用下方的提交資訊。", "{0} on {1} not pulled yet.": "{1} 上的 {0}尚未拉取。", "{0} on {1}/{2} yet: {3} pushed first.": "{0} 還不在 {1}/{2} 上:會先推送 {3}。", "{0} on {1}{2}{3}": "{0} 位於 {1}{2}{3}", diff --git a/package-lock.json b/package-lock.json index c671d8fc..866da83f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -23,7 +23,7 @@ }, "apps/desktop": { "name": "gitstudio-desktop", - "version": "2.4.0", + "version": "2.5.0", "hasInstallScript": true, "license": "Apache-2.0", "dependencies": { @@ -838,7 +838,7 @@ }, "apps/extension": { "name": "gitstudio", - "version": "1.17.0", + "version": "1.18.0", "license": "Apache-2.0", "dependencies": { "@gitstudio/engine": "*", @@ -900,7 +900,7 @@ } }, "apps/merge-studio": { - "version": "1.2.0", + "version": "1.3.0", "license": "MIT AND Apache-2.0", "dependencies": { "@gitstudio/engine": "*", diff --git a/packages/engine/src/rebase/chain.ts b/packages/engine/src/rebase/chain.ts index 718dbed8..a9ba4cef 100644 --- a/packages/engine/src/rebase/chain.ts +++ b/packages/engine/src/rebase/chain.ts @@ -104,7 +104,7 @@ export function stopReason(stop: ChainStop): string { case "merge": return l10n.t("Reordering stops at a merge — moving a commit past one would flatten it."); case "published": - return publishedWarning("Reordering"); + return publishedWarning(l10n.t("Reordering")); default: return l10n.t("The first commit — there is nothing below it to reorder past."); } diff --git a/packages/engine/src/rebase/drop.ts b/packages/engine/src/rebase/drop.ts index df2e502f..6b81597a 100644 --- a/packages/engine/src/rebase/drop.ts +++ b/packages/engine/src/rebase/drop.ts @@ -130,7 +130,7 @@ export function dropQuestion(s: DropSummary): { title: string; message: string } parts.push(l10n.t("{0} {1} at a commit that will be replayed.", names, which)); } if (s.published) { - parts.push(l10n.t("{0} The next push will need to be a force push.", publishedWarning("Dropping"))); + parts.push(l10n.t("{0} The next push will need to be a force push.", publishedWarning(l10n.t("Dropping")))); } parts.push(l10n.t("Undo is available afterwards.")); return { title: l10n.t("Drop {0}?", s.shortSha), message: parts.join(" ") }; diff --git a/packages/engine/src/rebase/many.ts b/packages/engine/src/rebase/many.ts index 7d708143..ecc4dc16 100644 --- a/packages/engine/src/rebase/many.ts +++ b/packages/engine/src/rebase/many.ts @@ -119,7 +119,8 @@ export function squashTarget( } /** Why several commits cannot be dropped or squashed, in words. */ -export function manyRefusalMessage(reason: ManyRefusal, verb: "drop" | "squash"): string { +export function manyRefusalMessage(reason: ManyRefusal, verb: "drop" | "squash" | "reword"): string { + if (verb === "reword") return rewordRefusalMessage(reason); switch (reason) { case "not-on-branch": return l10n.t("Not all of those commits are on the current branch, so they can't be {0} from it.", verb === "drop" ? l10n.t("dropped") : l10n.t("squashed")); @@ -130,7 +131,9 @@ export function manyRefusalMessage(reason: ManyRefusal, verb: "drop" | "squash") case "only-commit": return l10n.t("Those are all the commits on the branch — dropping them would leave nothing."); case "too-far": - return l10n.t("Those commits are too far down the branch to {0} from here. Start an interactive rebase instead.", verb); + return verb === "drop" + ? l10n.t("Those commits are too far down the branch to drop from here. Start an interactive rebase instead.") + : l10n.t("Those commits are too far down the branch to squash from here. Start an interactive rebase instead."); case "not-contiguous": return l10n.t("Only commits next to each other on the branch can be squashed — there are other commits between the ones you selected."); case "too-few": @@ -138,6 +141,20 @@ export function manyRefusalMessage(reason: ManyRefusal, verb: "drop" | "squash") } } +/** Why one commit's message cannot be edited from here, in words. */ +function rewordRefusalMessage(reason: ManyRefusal): string { + switch (reason) { + case "merge": + return l10n.t("That's a merge commit — editing its message would flatten the history it joined. Use an interactive rebase that keeps merges instead."); + case "past-merge": + return l10n.t("There's a merge between that commit and the tip of the branch — replaying the commits after it would flatten the merge."); + case "too-far": + return l10n.t("That commit is too far down the branch to edit from here. Start an interactive rebase instead."); + default: + return l10n.t("That commit isn't on the current branch, so its message can't be edited from here."); + } +} + /** A commit as the questions name it. */ export interface NamedCommit { shortSha: string; @@ -201,7 +218,7 @@ export function dropManyQuestion(s: ManySummary): { title: string; message: stri ]; const carry = carrySentence(s.carryable ?? []); if (carry) parts.push(carry); - if (s.published) parts.push(l10n.t("{0} The next push will need to be a force push.", publishedWarning("Dropping", n))); + if (s.published) parts.push(l10n.t("{0} The next push will need to be a force push.", publishedWarning(l10n.t("Dropping"), n))); parts.push(l10n.t("Undo is available afterwards.")); return { title: l10n.t("Drop {0} commits?", n), message: parts.join(" ") }; } @@ -212,7 +229,7 @@ function squashRest(s: ManySummary): string[] { const parts = [replayedSentence(s.replayed)]; const carry = carrySentence(s.carryable ?? []); if (carry) parts.push(carry); - if (s.published) parts.push(l10n.t("{0} The next push will need to be a force push.", publishedWarning("Squashing", s.commits.length))); + if (s.published) parts.push(l10n.t("{0} The next push will need to be a force push.", publishedWarning(l10n.t("Squashing"), s.commits.length))); parts.push(l10n.t("Undo is available afterwards.")); return parts; } @@ -246,6 +263,35 @@ export function squashCarryQuestion(s: ManySummary): { title: string; message: s return { title: l10n.t("Squash {0} commits — move the branches too?", n), message: parts.join(" ") }; } +/** + * Edit Message's question — the words above the message editor: which commit, + * on which branch, what is replayed, and the pushed-history warning. + */ +export function rewordQuestion(s: ManySummary): { title: string; message: string } { + const c = s.commits[0]; + const parts = [ + l10n.t("{0} on {1} gets the message below.", c ? named(c) : "", s.branch ?? l10n.t("the detached HEAD")), + replayedSentence(s.replayed), + ]; + const carry = carrySentence(s.carryable ?? []); + if (carry) parts.push(carry); + if (s.published) parts.push(l10n.t("Already pushed. Editing its message would rewrite history other people have. The next push will need to be a force push.")); + parts.push(l10n.t("Undo is available afterwards.")); + return { title: l10n.t("Edit commit message"), message: parts.join(" ") }; +} + +/** How editing one commit's message ended, in words — the same in both products. */ +export function rewordOutcomeMessage(outcome: ManyOutcomeLike): string { + if (outcome.status === "done") return l10n.t("Commit message changed."); + if (outcome.status === "stopped") { + return outcome.reason === "conflict" + ? l10n.t("Editing the message hit a conflict while replaying a later commit. Resolve it and continue the rebase — or abort to put the branch back as it was.") + : l10n.t("Editing the message stopped and needs you — continue the rebase, or abort it to put the branch back as it was."); + } + if (!outcome.message) return l10n.t("Couldn't change the commit message."); + return outcome.expected ? outcome.message : l10n.t("Couldn't change the commit message: {0}", outcome.message); +} + /** A commit's whole message, as git stores it. */ export interface CommitMessage { subject: string; diff --git a/packages/git-service/src/dropCommit.ts b/packages/git-service/src/dropCommit.ts index 1c61013b..60703bec 100644 --- a/packages/git-service/src/dropCommit.ts +++ b/packages/git-service/src/dropCommit.ts @@ -221,7 +221,7 @@ export function dropBlocker(proc: GitProcess, signal?: AbortSignal): Promise { diff --git a/packages/git-service/src/multiCommit.ts b/packages/git-service/src/multiCommit.ts index 3eaa4458..e2deb2d4 100644 --- a/packages/git-service/src/multiCommit.ts +++ b/packages/git-service/src/multiCommit.ts @@ -2,6 +2,7 @@ import type { GitProcess } from "./GitProcess"; import type { ChainCommit } from "@gitstudio/engine/rebase/chain"; import { dropManyTarget, + manyTarget, manyRefusalMessage, squashMessage, squashTarget, @@ -39,7 +40,7 @@ const HEX = /^[0-9a-fA-F]{4,64}$/; /** A rewrite of several commits that can run. */ export interface ManyPlan extends ManySummary { ok: true; - verb: "drop" | "squash"; + verb: ManyVerb; /** The selected commits, full shas, newest first along the branch. */ shas: string[]; /** HEAD when planned — the run refuses if it has moved since. */ @@ -50,7 +51,8 @@ export interface ManyPlan extends ManySummary { rows: RebasePlanRow[]; /** Other local branches on a rewritten commit — the carry question. */ carryable: string[]; - /** Squash: the pre-filled message — every message in full, oldest first. */ + /** Squash: the pre-filled message — every message in full, oldest first. + * Reword: the commit's own message, subject and description. */ message?: string; } @@ -75,9 +77,13 @@ export interface ManyRequest { message?: string; } +/** Drop and squash several commits; reword one (Edit Message…, issue #75). */ +export type ManyVerb = "drop" | "squash" | "reword"; + /** The dirty-tree refusals, in the runner's own words for the same state. */ export const DROP_MANY_DIRTY_MESSAGE = l10n.t("You have uncommitted changes. Commit or stash them, then drop the commits."); export const SQUASH_DIRTY_MESSAGE = l10n.t("You have uncommitted changes. Commit or stash them, then squash the commits."); +export const REWORD_DIRTY_MESSAGE = l10n.t("You have uncommitted changes. Commit or stash them, then edit the message."); /** A confirmation that went stale. */ export const MANY_MOVED_MESSAGE = @@ -85,8 +91,10 @@ export const MANY_MOVED_MESSAGE = /** Squash was confirmed with no message. */ export const SQUASH_EMPTY_MESSAGE = l10n.t("The squashed commit needs a message."); +/** Edit Message was confirmed with no message. */ +export const REWORD_EMPTY_MESSAGE = l10n.t("The commit needs a message."); -function refused(reason: ManyRefusal, verb: "drop" | "squash"): ManyRefused { +function refused(reason: ManyRefusal, verb: ManyVerb): ManyRefused { return { ok: false, reason, message: manyRefusalMessage(reason, verb) }; } @@ -143,13 +151,14 @@ async function walkFirstParent(proc: GitProcess, head: string, maxReplay: number */ export async function planMany( proc: GitProcess, - verb: "drop" | "squash", + verb: ManyVerb, shas: readonly string[], opts: { signal?: AbortSignal; maxReplay?: number } = {}, ): Promise { const { signal } = opts; const maxReplay = opts.maxReplay ?? DROP_MAX_REPLAY; if (verb === "squash" && new Set(shas).size < 2) return refused("too-few", verb); + if (verb === "reword" && new Set(shas).size !== 1) return refused("not-on-branch", verb); const [full, head] = await Promise.all([resolveAll(proc, shas, signal), revParse(proc, "HEAD", signal)]); if (!full || !head) return refused("not-on-branch", verb); if (verb === "squash" && full.length < 2) return refused("too-few", verb); @@ -159,7 +168,9 @@ export async function planMany( const target: ManyTarget = verb === "drop" ? dropManyTarget(walked.commits, full, { capped: walked.capped }) - : squashTarget(walked.commits, full, { capped: walked.capped }); + : verb === "squash" + ? squashTarget(walked.commits, full, { capped: walked.capped }) + : manyTarget(walked.commits, full, { capped: walked.capped }); if (!target.ok) return refused(target.reason, verb); const selected = target.rows.filter((r) => r.selected).map((r) => r.sha); @@ -180,7 +191,7 @@ export async function planMany( // squash — on one of the squashed ones (update-ref lands them on the result). // A dropped commit is not in the new history at all, so a branch on it is // left where it is, as git's own --update-refs leaves it. - const rewritten = new Set(target.rows.filter((r) => !r.selected || verb === "squash").map((r) => r.sha)); + const rewritten = new Set(target.rows.filter((r) => !r.selected || verb !== "drop").map((r) => r.sha)); const tips = new Map(); for (const line of heads.code === 0 ? heads.stdout.split("\n") : []) { const at = line.indexOf(" "); @@ -194,7 +205,7 @@ export async function planMany( const subject = (sha: string): string => walked.messages.get(sha)?.subject ?? ""; const rows: RebasePlanRow[] = target.rows.map((r) => ({ sha: r.sha, - action: !r.selected ? "pick" : verb === "drop" ? "drop" : r.sha === oldest ? "reword" : "fixup", + action: !r.selected ? "pick" : verb === "drop" ? "drop" : verb === "reword" || r.sha === oldest ? "reword" : "fixup", subject: subject(r.sha), ...(tips.has(r.sha) ? { branches: tips.get(r.sha) } : {}), })); @@ -219,7 +230,9 @@ export async function planMany( .map((sha) => walked.messages.get(sha) ?? { subject: "", body: "" }), ), } - : {}), + : verb === "reword" + ? { message: [walked.messages.get(selected[0])?.subject.trim() ?? "", walked.messages.get(selected[0])?.body.trim() ?? ""].filter(Boolean).join("\n\n") } + : {}), }; } @@ -227,10 +240,12 @@ export async function planMany( * What stops a drop or a squash of several commits from starting right now — * said BEFORE the question. The same check Drop Commit makes. */ -export function manyBlocker(proc: GitProcess, verb: "drop" | "squash", signal?: AbortSignal): Promise { +export function manyBlocker(proc: GitProcess, verb: ManyVerb, signal?: AbortSignal): Promise { return verb === "drop" ? rewriteBlocker(proc, "drop-many", DROP_MANY_DIRTY_MESSAGE, signal) - : rewriteBlocker(proc, "squash", SQUASH_DIRTY_MESSAGE, signal); + : verb === "squash" + ? rewriteBlocker(proc, "squash", SQUASH_DIRTY_MESSAGE, signal) + : rewriteBlocker(proc, "reword", REWORD_DIRTY_MESSAGE, signal); } /** @@ -240,13 +255,13 @@ export function manyBlocker(proc: GitProcess, verb: "drop" | "squash", signal?: */ export async function rewriteMany( proc: GitProcess, - verb: "drop" | "squash", + verb: ManyVerb, req: ManyRequest, run: (plan: RebasePlan) => Promise, ): Promise { - const message = verb === "squash" ? (req.message ?? "").trim() : ""; - if (verb === "squash" && !message) { - return { status: "failed", expected: true, message: SQUASH_EMPTY_MESSAGE }; + const message = verb !== "drop" ? (req.message ?? "").trim() : ""; + if (verb !== "drop" && !message) { + return { status: "failed", expected: true, message: verb === "squash" ? SQUASH_EMPTY_MESSAGE : REWORD_EMPTY_MESSAGE }; } const plan = await planMany(proc, verb, req.shas); if (!plan.ok) { diff --git a/packages/git-service/src/stoppedOperation.ts b/packages/git-service/src/stoppedOperation.ts index 10bb39e5..1ab82b79 100644 --- a/packages/git-service/src/stoppedOperation.ts +++ b/packages/git-service/src/stoppedOperation.ts @@ -40,7 +40,9 @@ export type BlockedDoor = | "drop" /** Drop N Commits and Squash N Commits (issue #32) — rebases too. */ | "drop-many" - | "squash"; + | "squash" + /** Edit Message on one commit (issue #75) — a rebase too. */ + | "reword"; /** What git is stopped in, and what is left unmerged. */ export interface Stopped { @@ -121,6 +123,7 @@ const BEFORE: Record = { drop: l10n.t("dropping a commit"), "drop-many": l10n.t("dropping commits"), squash: l10n.t("squashing commits"), + reword: l10n.t("editing a commit message"), }; /** The operation, as the subject of a sentence. */ diff --git a/packages/git-service/test/multiCommit.test.ts b/packages/git-service/test/multiCommit.test.ts index 501085db..ae06b9be 100644 --- a/packages/git-service/test/multiCommit.test.ts +++ b/packages/git-service/test/multiCommit.test.ts @@ -10,6 +10,8 @@ import { runRebasePlan, abortRebase } from "../src/RebaseRunner"; import { DROP_MANY_DIRTY_MESSAGE, MANY_MOVED_MESSAGE, + REWORD_DIRTY_MESSAGE, + REWORD_EMPTY_MESSAGE, SQUASH_DIRTY_MESSAGE, SQUASH_EMPTY_MESSAGE, applyManyArgs, @@ -72,7 +74,7 @@ const run = (r: Repo) => (plan: Parameters[1]) => runRebas const said = (o: DropOutcome): unknown[] => o.status === "done" ? [o.status] : [o.status, o.message, "expected" in o ? o.expected : undefined]; -async function planOk(r: Repo, verb: "drop" | "squash", shas: string[]): Promise { +async function planOk(r: Repo, verb: "drop" | "squash" | "reword", shas: string[]): Promise { const plan = await planMany(r.ctx.process, verb, shas); assert.ok(plan.ok, plan.ok ? "" : `expected a plan, got: ${plan.message}`); return plan; @@ -608,3 +610,70 @@ test("undo after several commits were cherry-picked goes back to where HEAD was" r.dispose(); } }); + +// ── Edit Message… (issue #75): reword one commit ──────────────────────────── + +test("editing a commit's message: the plan carries the whole message, the run writes the new one and replays the rest", async () => { + const r = repo(); + try { + r.commit("base"); + r.git("commit", "-q", "--allow-empty", "-m", "Old subject", "-m", "Old description."); + const b = r.git("rev-parse", "HEAD"); + const c = r.commit("C"); + const plan = await planOk(r, "reword", [b]); + assert.equal(plan.message, "Old subject\n\nOld description.", "pre-filled with subject and description"); + assert.deepEqual(plan.rows.map((x) => x.action), ["pick", "reword"]); + assert.equal(plan.replayed, 1); + const out = await rewriteMany(r.ctx.process, "reword", { shas: plan.shas, head: plan.head, message: "New subject\n\nNew description." }, run(r)); + assert.deepEqual(said(out), ["done"]); + assert.deepEqual(r.subjects(), ["C", "New subject", "base"]); + assert.equal(r.git("log", "-1", "--format=%B", "HEAD~1"), "New subject\n\nNew description."); + assert.notEqual(r.git("rev-parse", "HEAD"), c, "the later commit was replayed"); + assert.equal(r.git("show", "HEAD:C.txt"), "C"); + } finally { + r.dispose(); + } +}); + +test("editing HEAD's own message, and the root commit's, both work", async () => { + const r = repo(); + try { + const root = r.commit("root"); + const head = r.commit("tip"); + let out = await rewriteMany(r.ctx.process, "reword", { shas: [head], head, message: "tip, edited" }, run(r)); + assert.deepEqual(said(out), ["done"]); + const now = r.git("rev-parse", "HEAD"); + out = await rewriteMany(r.ctx.process, "reword", { shas: [root], head: now, message: "root, edited" }, run(r)); + assert.deepEqual(said(out), ["done"]); + assert.deepEqual(r.subjects(), ["tip, edited", "root, edited"]); + } finally { + r.dispose(); + } +}); + +test("Edit Message refuses: an empty message, uncommitted changes, a merge, a commit not on the branch", async () => { + const r = repo(); + try { + r.commit("base"); + const a = r.commit("A"); + const head = r.git("rev-parse", "HEAD"); + assert.deepEqual(said(await rewriteMany(r.ctx.process, "reword", { shas: [a], head, message: " " }, run(r))), ["failed", REWORD_EMPTY_MESSAGE, true]); + writeFileSync(join(r.dir, "A.txt"), "changed\n"); + assert.equal(await manyBlocker(r.ctx.process, "reword"), REWORD_DIRTY_MESSAGE); + r.git("checkout", "--", "A.txt"); + r.git("checkout", "-q", "-b", "side", "HEAD~1"); + const s = r.commit("S"); + r.git("checkout", "-q", "main"); + const off = await planMany(r.ctx.process, "reword", [s]); + assert.equal(off.ok, false); + r.git("merge", "-q", "--no-ff", "-m", "Merge side", "side"); + const merge = r.git("rev-parse", "HEAD"); + const m = await planMany(r.ctx.process, "reword", [merge]); + assert.equal(m.ok, false); + assert.equal(!m.ok && m.reason, "merge"); + assert.equal((await planMany(r.ctx.process, "reword", [a, merge])).ok, false, "one commit at a time"); + } finally { + r.dispose(); + } +}); +