From 712df6d3a289a1c38fc8996cfc11314183352a72 Mon Sep 17 00:00:00 2001 From: Alex Nadzharov Date: Sun, 7 Sep 2025 23:28:45 +0200 Subject: [PATCH 01/14] Translated using Weblate (French) Currently translated at 99.9% (1422 of 1423 strings) Translation: GitFourchette/GitFourchette Translate-URL: https://hosted.weblate.org/projects/gitfourchette/gitfourchette/fr/ --- gitfourchette/assets/lang/fr.po | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/gitfourchette/assets/lang/fr.po b/gitfourchette/assets/lang/fr.po index 24887ddc..822c6d01 100644 --- a/gitfourchette/assets/lang/fr.po +++ b/gitfourchette/assets/lang/fr.po @@ -1,18 +1,18 @@ -#, fuzzy msgid "" msgstr "" "Project-Id-Version: GitFourchette\n" "Report-Msgid-Bugs-To: https://github.com/jorio/gitfourchette/issues\n" "POT-Creation-Date: \n" -"PO-Revision-Date: \n" -"Last-Translator: Iliyas Jorio\n" -"Language-Team: \n" +"PO-Revision-Date: 2025-09-07 21:29+0000\n" +"Last-Translator: Alex Nadzharov \n" +"Language-Team: French \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" -"X-Generator: Poedit 3.6\n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 5.14-dev\n" #: application.py:103 forms/aboutdialog.py:56 msgid "The comfortable Git UI for Linux." @@ -1274,8 +1274,9 @@ msgid "Detach HEAD" msgstr "Détacher HEAD" #: forms/checkoutcommitdialog.py:44 +#, fuzzy msgid "Switch Branch" -msgstr "Basculer" +msgstr "Basculer sur branche" #: forms/checkoutcommitdialog.py:45 #, python-brace-format @@ -4671,7 +4672,7 @@ msgstr "Chargement du dépôt" #: tasks/loadtasks.py:123 #, python-brace-format msgid "{0} commits…" -msgstr "{0} commits…" +msgstr "{0} commits …" #: tasks/loadtasks.py:136 #, python-brace-format From 8ba095e9466dbd830550e9d9057b0f92e1665c65 Mon Sep 17 00:00:00 2001 From: Alex Nadzharov Date: Sun, 7 Sep 2025 23:29:13 +0200 Subject: [PATCH 02/14] Added translation using Weblate (Russian) --- gitfourchette/assets/lang/ru.po | 6501 +++++++++++++++++++++++++++++++ 1 file changed, 6501 insertions(+) create mode 100644 gitfourchette/assets/lang/ru.po diff --git a/gitfourchette/assets/lang/ru.po b/gitfourchette/assets/lang/ru.po new file mode 100644 index 00000000..53c7ecd4 --- /dev/null +++ b/gitfourchette/assets/lang/ru.po @@ -0,0 +1,6501 @@ +# This file is distributed under the same license as the GitFourchette package. +# +msgid "" +msgstr "" +"Project-Id-Version: GitFourchette\n" +"Report-Msgid-Bugs-To: https://github.com/jorio/gitfourchette/issues\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" + +#: application.py:90 forms/aboutdialog.py:54 +msgid "The comfortable Git UI for Linux." +msgstr "" + +#: application.py:93 +msgid "Repository paths to open on launch." +msgstr "" + +#: application.py:224 +#, python-brace-format +msgid "Your preferred Qt binding {0} is not available on this machine. Using {1} instead." +msgstr "" + +#: application.py:226 +#, python-brace-format +msgid "Your preferred Qt binding {0} is not recognized by {app}. Using {1} instead. (Supported values: {known})" +msgstr "" + +#: application.py:230 +msgid "Qt binding unavailable" +msgstr "" + +#: application.py:270 toolbox/messageboxes.py:40 +msgid "Please open a repository before performing this action." +msgstr "" + +#: blameview/blamegutter.py:157 blameview/blamewindow.py:184 +msgid "(Uncommitted)" +msgstr "" + +#: blameview/blamegutter.py:187 filelists/filelistmodel.py:67 +#: forms/prefsdialog.py:199 tasks/misctasks.py:70 tasks/nettasks.py:248 +msgid ":" +msgstr "" + +#: blameview/blamegutter.py:193 +msgid "Not Committed Yet" +msgstr "" + +#: blameview/blamegutter.py:193 blameview/blamegutter.py:196 +msgid "commit" +msgstr "" + +#: blameview/blamegutter.py:197 +msgid "author" +msgstr "" + +#: blameview/blamegutter.py:198 +msgid "date" +msgstr "" + +#: blameview/blamegutter.py:199 +msgid "file name" +msgstr "" + +#: blameview/blamegutter.py:200 +msgid "revision" +msgstr "" + +#: blameview/blamescrubberdelegate.py:55 blameview/blamescrubbermodel.py:43 +msgid "Uncommitted Changes in Working Directory" +msgstr "" + +#: blameview/blametextedit.py:44 +msgid "Blame File at Uncommitted Revision" +msgstr "" + +#: blameview/blametextedit.py:45 +msgid "Show Diff in Working Directory" +msgstr "" + +#: blameview/blametextedit.py:47 +#, python-brace-format +msgid "Blame File at {0}" +msgstr "" + +#: blameview/blametextedit.py:48 +#, python-brace-format +msgid "Show {0} in Repo" +msgstr "" + +#: blameview/blamewindow.py:50 +msgid "Jump" +msgstr "" + +#: blameview/blamewindow.py:51 +msgid "View this commit in the repo" +msgstr "" + +#: blameview/blamewindow.py:56 +msgid "Shift+Click:" +msgstr "" + +#: blameview/blamewindow.py:59 +msgid "Older" +msgstr "" + +#: blameview/blamewindow.py:61 +msgid "Go to next older revision" +msgstr "" + +#: blameview/blamewindow.py:61 +msgid "Jump to bottom" +msgstr "" + +#: blameview/blamewindow.py:65 +msgid "Newer" +msgstr "" + +#: blameview/blamewindow.py:67 +msgid "Go to next newer revision" +msgstr "" + +#: blameview/blamewindow.py:67 +msgid "Jump to top" +msgstr "" + +#: blameview/blamewindow.py:71 +msgid "Back" +msgstr "" + +#: blameview/blamewindow.py:73 tasks/taskbook.py:63 +msgid "Navigate back" +msgstr "" + +#: blameview/blamewindow.py:77 +msgid "Forward" +msgstr "" + +#: blameview/blamewindow.py:79 tasks/taskbook.py:64 tasks/taskbook.py:65 +msgid "Navigate forward" +msgstr "" + +#: blameview/blamewindow.py:163 +#, python-brace-format +msgid "File deleted in commit {0}" +msgstr "" + +#: blameview/blamewindow.py:169 +#, python-brace-format +msgid "Binary blob, {size} bytes, {hash}" +msgstr "" + +#: blameview/blamewindow.py:183 +#, python-brace-format +msgid "Blame {path} @ {commit}" +msgstr "" + +#: codeview/codeview.py:65 +msgid "Find text in code|Find text" +msgstr "" + +#: codeview/codeview.py:339 +msgid "&Word Wrap" +msgstr "" + +#: codeview/codeview.py:340 +msgid "Configure Appearance…" +msgstr "" + +#: codeview/codeview.py:505 +msgid "End of document reached." +msgstr "" + +#: codeview/codeview.py:506 +msgid "Top of document reached." +msgstr "" + +#: codeview/codeview.py:507 +#, python-brace-format +msgid "No more occurrences of {0} found." +msgstr "" + +#: codeview/codeview.py:513 +msgid "Wrap Around" +msgstr "" + +#: diffarea.py:109 +msgid "Unstaged files: will not be included in the commit unless you stage them." +msgstr "" + +#: diffarea.py:117 +msgid "Stage" +msgstr "" + +#: diffarea.py:119 +msgid "Stage selected files" +msgstr "" + +#: diffarea.py:124 diffview/diffview.py:76 +msgid "Discard" +msgstr "" + +#: diffarea.py:126 +msgid "Discard changes in selected files" +msgstr "" + +#: diffarea.py:161 +msgid "Staged files: will be included in the commit." +msgstr "" + +#: diffarea.py:169 +msgid "Unstage" +msgstr "" + +#: diffarea.py:171 +msgid "Unstage selected files" +msgstr "" + +#: diffarea.py:176 forms/commitdialog.py:55 tasks/committasks.py:423 +#: tasks/committasks.py:468 +msgctxt "verb" +msgid "Commit" +msgstr "" + +#: diffview/diffdocument.py:191 +msgid "This file contains very long lines." +msgstr "" + +#: diffview/diffdocument.py:192 diffview/specialdiff.py:118 +msgid "[Load diff anyway] (this may take a moment)" +msgstr "" + +#: diffview/diffdocument.py:269 +msgid "" +msgstr "" + +#: diffview/diffview.py:53 +msgid "Find text in diff|Find in diff" +msgstr "" + +#: diffview/diffview.py:64 +msgid "Stage Selection" +msgstr "" + +#: diffview/diffview.py:66 +msgid "Stage selected lines" +msgstr "" + +#: diffview/diffview.py:70 +msgid "Unstage Selection" +msgstr "" + +#: diffview/diffview.py:73 +msgid "Unstage selected lines" +msgstr "" + +#: diffview/diffview.py:79 +msgid "Discard selected lines" +msgstr "" + +#: diffview/diffview.py:246 diffview/diffview.py:258 diffview/diffview.py:281 +#: diffview/diffview.py:310 +msgid "Export Lines as Patch…" +msgstr "" + +#: diffview/diffview.py:247 +msgid "Revert Lines…" +msgstr "" + +#: diffview/diffview.py:251 +#, python-brace-format +msgid "Export Hunk {0} as Patch…" +msgstr "" + +#: diffview/diffview.py:252 +msgid "Revert Hunk…" +msgstr "" + +#: diffview/diffview.py:262 diffview/diffview.py:297 diffview/diffview.py:322 +msgid "Export Hunk as Patch…" +msgstr "" + +#: diffview/diffview.py:269 +msgid "Stage Lines" +msgstr "" + +#: diffview/diffview.py:275 +msgid "Discard Lines…" +msgstr "" + +#: diffview/diffview.py:288 +#, python-brace-format +msgid "Stage Hunk {0}" +msgstr "" + +#: diffview/diffview.py:293 +msgid "Discard Hunk…" +msgstr "" + +#: diffview/diffview.py:304 +msgid "Unstage Lines" +msgstr "" + +#: diffview/diffview.py:317 +#, python-brace-format +msgid "Unstage Hunk {0}" +msgstr "" + +#: diffview/diffview.py:395 +msgid "Export selected lines" +msgstr "" + +#: diffview/diffview.py:572 diffview/diffview.py:573 +msgid "or Middle-Click" +msgstr "" + +#: diffview/diffview.py:580 +#, python-brace-format +msgid "Hit {sk} to stage {nl} line. Hit {dk} to discard it." +msgid_plural "Hit {sk} to stage {nl} lines. Hit {dk} to discard them." +msgstr[0] "" +msgstr[1] "" + +#: diffview/diffview.py:584 +#, python-brace-format +msgid "Hit {uk} to unstage {nl} line." +msgid_plural "Hit {uk} to unstage {nl} lines." +msgstr[0] "" +msgstr[1] "" + +#: diffview/specialdiff.py:71 +msgid "File contents didn’t change." +msgstr "" + +#: diffview/specialdiff.py:82 +msgid "Empty file was deleted." +msgstr "" + +#: diffview/specialdiff.py:89 +msgid "New empty file." +msgstr "" + +#: diffview/specialdiff.py:92 +msgid "Renamed:" +msgstr "" + +#: diffview/specialdiff.py:96 +msgid "Mode change:" +msgstr "" + +#: diffview/specialdiff.py:100 +msgid "Canonical file contents unchanged." +msgstr "" + +#: diffview/specialdiff.py:102 +#, python-brace-format +msgid "Due to filters such as {filter}, your working copy is not bit-for-bit identical to the file’s canonical state. However, the contents tracked by Git are equivalent after filtering." +msgstr "" + +#: diffview/specialdiff.py:105 +msgid "You can stage the file to dismiss this message; no changes will be recorded." +msgstr "" + +#: diffview/specialdiff.py:119 +#, python-brace-format +msgid "[Configure diff preview limit] (currently: {0})" +msgstr "" + +#: diffview/specialdiff.py:122 +msgid "This diff is very large." +msgstr "" + +#: diffview/specialdiff.py:123 +#, python-brace-format +msgid "Diff size: {0}" +msgstr "" + +#: diffview/specialdiff.py:135 +msgid "[Load image anyway] (this may take a moment)" +msgstr "" + +#: diffview/specialdiff.py:136 +#, python-brace-format +msgid "[Configure image preview limit] (currently: {0})" +msgstr "" + +#: diffview/specialdiff.py:139 +msgid "This image is very large." +msgstr "" + +#: diffview/specialdiff.py:140 +#, python-brace-format +msgid "Image size: {0}" +msgstr "" + +#: diffview/specialdiff.py:148 +msgid "Old type:" +msgstr "" + +#: diffview/specialdiff.py:149 +msgid "New type:" +msgstr "" + +#: diffview/specialdiff.py:156 +msgid "This file’s type has changed." +msgstr "" + +#: diffview/specialdiff.py:175 +msgid "File appears to be binary." +msgstr "" + +#: diffview/specialdiff.py:184 +msgid "This untracked subtree is the root of another Git repository." +msgstr "" + +#: diffview/specialdiff.py:187 repowidget.py:504 +#, python-brace-format +msgid "Open {0}" +msgstr "" + +#: diffview/specialdiff.py:190 +#, python-brace-format +msgid "Absorb {0} as submodule" +msgstr "" + +#: diffview/specialdiff.py:191 +msgid "Recommended action:" +msgstr "" + +#: diffview/specialdiff.py:210 +#, python-brace-format +msgid "Subtree {0} was [removed.]" +msgstr "" + +#: diffview/specialdiff.py:211 +#, python-brace-format +msgid "Submodule {0} was [removed.]" +msgstr "" + +#: diffview/specialdiff.py:214 +#, python-brace-format +msgid "Subtree {0} was [added.]" +msgstr "" + +#: diffview/specialdiff.py:215 +#, python-brace-format +msgid "Submodule {0} was [added.]" +msgstr "" + +#: diffview/specialdiff.py:218 +#, python-brace-format +msgid "Subtree {0} was updated." +msgstr "" + +#: diffview/specialdiff.py:219 +#, python-brace-format +msgid "Submodule {0} was updated." +msgstr "" + +#: diffview/specialdiff.py:221 +#, python-brace-format +msgid "Subtree {0} contains changes." +msgstr "" + +#: diffview/specialdiff.py:222 +#, python-brace-format +msgid "Submodule {0} contains changes." +msgstr "" + +#: diffview/specialdiff.py:230 +msgid "Open submodule" +msgstr "" + +#: diffview/specialdiff.py:230 +msgid "Open subtree" +msgstr "" + +#: diffview/specialdiff.py:232 +#, python-brace-format +msgid "(path: {0})" +msgstr "" + +#: diffview/specialdiff.py:267 diffview/specialdiffview.py:104 +msgid "Old:" +msgstr "" + +#: diffview/specialdiff.py:268 diffview/specialdiffview.py:105 +msgid "New:" +msgstr "" + +#: diffview/specialdiff.py:274 +msgid "The subtree’s HEAD has moved to another commit." +msgstr "" + +#: diffview/specialdiff.py:275 +msgid "The submodule’s HEAD has moved to another commit." +msgstr "" + +#: diffview/specialdiff.py:277 +msgid "You can stage this update:" +msgstr "" + +#: diffview/specialdiff.py:285 +#, python-brace-format +msgid "To complete the removal of this submodule, remove it from {gitmodules}." +msgstr "" + +#: diffview/specialdiff.py:287 +#, python-brace-format +msgid "To complete the removal of this submodule, make sure to commit {gitmodules} at the same time as the submodule folder itself." +msgstr "" + +#: diffview/specialdiff.py:291 +#, python-brace-format +msgid "To complete the addition of this submodule, make sure to commit {gitmodules} at the same time as the submodule folder itself." +msgstr "" + +#: diffview/specialdiff.py:296 +msgid "This subtree isn’t a submodule yet! You should [absorb this subtree] into the parent repository so it becomes a submodule." +msgstr "" + +#: diffview/specialdiff.py:299 +msgid "To complete the addition of this submodule, you should [absorb the submodule] into the parent repository." +msgstr "" + +#: diffview/specialdiff.py:304 +#, python-brace-format +msgid "To complete the addition of this submodule, [register it in {gitmodules}]." +msgstr "" + +#: diffview/specialdiff.py:308 +msgid "IMPORTANT" +msgstr "" + +#: diffview/specialdiff.py:318 +msgid "The subtree contains uncommitted changes. They can’t be committed from the parent repo. You can:" +msgstr "" + +#: diffview/specialdiff.py:319 +msgid "[Open] the subtree and commit the changes." +msgstr "" + +#: diffview/specialdiff.py:320 +msgid "Or, [Reset] the subtree to a clean state." +msgstr "" + +#: diffview/specialdiff.py:322 +msgid "The submodule has uncommitted changes. They can’t be committed from the parent repo. You can:" +msgstr "" + +#: diffview/specialdiff.py:323 +msgid "[Open] the submodule and commit the changes." +msgstr "" + +#: diffview/specialdiff.py:324 +msgid "Or, [Reset] the submodule to a clean state." +msgstr "" + +#: diffview/specialdiffview.py:104 diffview/specialdiffview.py:105 +#, python-brace-format +msgid "{w}×{h} pixels, {size}" +msgstr "" + +#: diffview/specialdiffview.py:111 +msgid "(deleted file displayed below)" +msgstr "" + +#: diffview/specialdiffview.py:114 +msgid "(new file displayed below)" +msgstr "" + +#: dropzone.py:38 +#, python-brace-format +msgid "Drop here to open repo {0}" +msgstr "" + +#: dropzone.py:41 +#, python-brace-format +msgid "Drop here to clone {0}" +msgstr "" + +#: dropzone.py:45 +#, python-brace-format +msgid "Drop here to apply patch {0}" +msgstr "" + +#: dropzone.py:49 +#, python-brace-format +msgid "Drop here to blame {0}" +msgstr "" + +#: exttools/mergedriver.py:123 +#, python-brace-format +msgid "{0} failed to start." +msgstr "" + +#: exttools/mergedriver.py:126 +#, python-brace-format +msgid "{0} ran into error {1}." +msgstr "" + +#: exttools/mergedriver.py:137 +#, python-brace-format +msgid "{0} didn’t complete the merge." +msgstr "" + +#: exttools/mergedriver.py:138 +#, python-brace-format +msgid "Exit code: {0}." +msgstr "" + +#: exttools/toolcommands.py:104 +#, python-brace-format +msgid "Unknown placeholder: {0}" +msgstr "" + +#: exttools/toolcommands.py:114 +msgid "Missing placeholder:" +msgid_plural "Missing placeholders:" +msgstr[0] "" +msgstr[1] "" + +#: exttools/toolcommands.py:207 +msgid "Command exited with code:" +msgstr "" + +#: exttools/toolcommands.py:208 +msgid "Continue in a shell?" +msgstr "" + +#: exttools/toolprocess.py:44 +#, python-brace-format +msgid "Failed to start {tool}" +msgstr "" + +#: exttools/toolprocess.py:47 +#, python-brace-format +msgid "There is an issue with the {tool} command template in your settings:" +msgstr "" + +#: exttools/toolprocess.py:52 +#, python-brace-format +msgid "Couldn’t start Flatpak {command} ({tool})." +msgstr "" + +#: exttools/toolprocess.py:54 +#, python-brace-format +msgid "Couldn’t start {command} ({tool})." +msgstr "" + +#: exttools/toolprocess.py:56 +msgid "It might not be installed on your machine." +msgstr "" + +#: exttools/toolprocess.py:66 +#, python-brace-format +msgid "Where is {tool}?" +msgstr "" + +#: exttools/toolprocess.py:76 +msgid "Edit Command…" +msgstr "" + +#: exttools/toolprocess.py:81 +#, python-brace-format +msgid "Locate {tool}…" +msgstr "" + +#: exttools/toolprocess.py:100 +#, python-brace-format +msgid "{tool} isn’t configured in your settings yet." +msgstr "" + +#: exttools/toolprocess.py:106 +#, python-brace-format +msgid "Set up {tool}" +msgstr "" + +#: exttools/usercommand.py:100 +msgid "Unknown placeholder token" +msgstr "" + +#: exttools/usercommand.py:125 +msgid "A commit must be selected in the history" +msgstr "" + +#: exttools/usercommand.py:134 +msgid "HEAD cannot be unborn" +msgstr "" + +#: exttools/usercommand.py:149 +msgid "A ref (local branch, remote branch, or tag) must be selected in the sidebar" +msgstr "" + +#: exttools/usercommand.py:156 exttools/usercommand.py:163 +msgid "HEAD cannot be unborn or detached" +msgstr "" + +#: exttools/usercommand.py:168 +msgid "Current branch has no upstream" +msgstr "" + +#: exttools/usercommand.py:174 +msgid "A file must be selected" +msgstr "" + +#: exttools/usercommand.py:201 +msgid "A remote or a remote branch must be selected" +msgstr "" + +#: exttools/usercommand.py:206 +msgctxt "relative path" +msgid "(relative)" +msgstr "" + +#: exttools/usercommand.py:207 +msgctxt "absolute path" +msgid "(absolute)" +msgstr "" + +#: exttools/usercommand.py:209 +msgid "Hash of the selected commit in the history" +msgstr "" + +#: exttools/usercommand.py:210 exttools/usercommand.py:211 +msgid "Path to the selected file" +msgstr "" + +#: exttools/usercommand.py:212 exttools/usercommand.py:213 +msgid "Path to the selected file’s parent directory" +msgstr "" + +#: exttools/usercommand.py:214 +msgid "Hash of the HEAD commit" +msgstr "" + +#: exttools/usercommand.py:215 +msgid "Ref name of the HEAD branch" +msgstr "" + +#: exttools/usercommand.py:216 +msgid "Ref name of the HEAD branch’s upstream" +msgstr "" + +#: exttools/usercommand.py:217 +msgid "Name of the selected ref in the sidebar (local branches, remote branches, tags)" +msgstr "" + +#: exttools/usercommand.py:218 +msgid "Name of the selected remote in the sidebar" +msgstr "" + +#: exttools/usercommand.py:219 +msgid "Path to the repository’s working directory" +msgstr "" + +#: filelists/committedfiles.py:40 +msgid "Open Diff in New &Window" +msgstr "" + +#: filelists/committedfiles.py:49 +msgid "&Revert This Change…" +msgid_plural "&Revert These Changes…" +msgstr[0] "" +msgstr[1] "" + +#: filelists/committedfiles.py:54 +msgid "Restor&e File Revision…" +msgstr "" + +#: filelists/committedfiles.py:56 filelists/committedfiles.py:67 +#: filelists/committedfiles.py:75 +msgid "&As Of This Commit" +msgstr "" + +#: filelists/committedfiles.py:57 filelists/committedfiles.py:68 +#: filelists/committedfiles.py:76 +msgid "&Before This Commit" +msgstr "" + +#: filelists/committedfiles.py:64 +#, python-brace-format +msgid "&Open File in {0}" +msgid_plural "&Open {n} Files in {0}" +msgstr[0] "" +msgstr[1] "" + +#: filelists/committedfiles.py:66 +msgid "&Current Revision (Working Copy)" +msgstr "" + +#: filelists/committedfiles.py:73 +msgid "&Save a Copy…" +msgstr "" + +#: filelists/committedfiles.py:84 filelists/dirtyfiles.py:95 +#: filelists/stagedfiles.py:55 +#, python-brace-format +msgid "Submodule" +msgid_plural "{n} Submodules" +msgstr[0] "" +msgstr[1] "" + +#: filelists/committedfiles.py:89 filelists/dirtyfiles.py:107 +#: filelists/stagedfiles.py:65 +#, python-brace-format +msgid "Open Submodule in New Tab" +msgid_plural "Open {n} Submodules in New Tabs" +msgstr[0] "" +msgstr[1] "" + +#: filelists/committedfiles.py:95 filelists/dirtyfiles.py:115 +#: filelists/stagedfiles.py:71 +msgid "Please review the files individually." +msgstr "" + +#: filelists/committedfiles.py:148 +msgid "Open revision before commit" +msgstr "" + +#: filelists/committedfiles.py:150 +msgid "Open revision at commit" +msgstr "" + +#: filelists/committedfiles.py:152 filelists/filelist.py:378 +#: filelists/filelist.py:618 +#, python-brace-format +msgid "Really open {n} files in external editor?" +msgstr "" + +#: filelists/committedfiles.py:167 +msgid "Save file revision as" +msgstr "" + +#: filelists/committedfiles.py:172 +msgid "Save revision before commit" +msgstr "" + +#: filelists/committedfiles.py:174 +msgid "Save revision at commit" +msgstr "" + +#: filelists/committedfiles.py:176 +#, python-brace-format +msgid "Really export {n} files?" +msgstr "" + +#: filelists/committedfiles.py:182 +msgid "This file didn’t exist before the commit." +msgstr "" + +#: filelists/committedfiles.py:186 +msgid "This file was deleted by the commit." +msgstr "" + +#: filelists/committedfiles.py:206 +#, python-brace-format +msgid "{0}: There’s no file at this path in the working copy." +msgstr "" + +#: filelists/committedfiles.py:208 +msgid "Open working copy revision" +msgstr "" + +#: filelists/committedfiles.py:208 +#, python-brace-format +msgid "Really open {n} files?" +msgstr "" + +#: filelists/committedfiles.py:214 repowidget.py:428 +msgid "Open diff in new window" +msgstr "" + +#: filelists/committedfiles.py:214 filelists/filelist.py:700 +#, python-brace-format +msgid "Really open {n} windows?" +msgstr "" + +#: filelists/dirtyfiles.py:43 +#, python-brace-format +msgid "&Stage File" +msgid_plural "&Stage {n} Files" +msgstr[0] "" +msgstr[1] "" + +#: filelists/dirtyfiles.py:49 +msgid "&Ignore Untracked File…" +msgid_plural "&Ignore Untracked Files…" +msgstr[0] "" +msgstr[1] "" + +#: filelists/dirtyfiles.py:54 +#, python-brace-format +msgid "&Delete File…" +msgid_plural "&Delete {n} Files…" +msgstr[0] "" +msgstr[1] "" + +#: filelists/dirtyfiles.py:56 +#, python-brace-format +msgid "&Discard Changes in File…" +msgid_plural "&Discard Changes in {n} Files…" +msgstr[0] "" +msgstr[1] "" + +#: filelists/dirtyfiles.py:77 +#, python-brace-format +msgid "Merge Conflict" +msgid_plural "{n} Merge Conflicts" +msgstr[0] "" +msgstr[1] "" + +#: filelists/dirtyfiles.py:82 +msgid "Resolve by Accepting “Theirs”" +msgstr "" + +#: filelists/dirtyfiles.py:87 +msgid "Resolve by Keeping “Ours”" +msgstr "" + +#: filelists/dirtyfiles.py:99 +#, python-brace-format +msgid "Stage Submodule" +msgid_plural "Stage {n} Submodules" +msgstr[0] "" +msgstr[1] "" + +#: filelists/dirtyfiles.py:103 +#, python-brace-format +msgid "Discard Changes in Submodule" +msgid_plural "Discard Changes in {n} Submodules" +msgstr[0] "" +msgstr[1] "" + +#: filelists/dirtyfiles.py:115 +msgid "Can’t stage this selection in bulk." +msgstr "" + +#: filelists/filelist.py:150 +msgid "Find a file by path|Find file" +msgstr "" + +#: filelists/filelist.py:236 +#, python-brace-format +msgid "Open &Folder" +msgid_plural "Open {n} &Folders" +msgstr[0] "" +msgstr[1] "" + +#: filelists/filelist.py:242 +#, python-brace-format +msgid "&Copy Path" +msgid_plural "&Copy {n} Paths" +msgstr[0] "" +msgstr[1] "" + +#: filelists/filelist.py:248 trtables.py:350 +msgid "Path display style" +msgstr "" + +#: filelists/filelist.py:264 +msgid "Stas&h Changes…" +msgstr "" + +#: filelists/filelist.py:271 +msgid "Revert Mode Change" +msgid_plural "Revert Mode Changes" +msgstr[0] "" +msgstr[1] "" + +#: filelists/filelist.py:284 +msgid "Revert Mode to Non-Executable" +msgstr "" + +#: filelists/filelist.py:286 +msgid "Revert Mode to Executable" +msgstr "" + +#: filelists/filelist.py:298 +#, python-brace-format +msgid "Open Diff in {0}" +msgstr "" + +#: filelists/filelist.py:303 +msgid "E&xport Diff As Patch…" +msgid_plural "E&xport Diffs As Patch…" +msgstr[0] "" +msgstr[1] "" + +#: filelists/filelist.py:312 +#, python-brace-format +msgid "&Edit in {tool}" +msgstr "" + +#: filelists/filelist.py:317 +#, python-brace-format +msgid "Edit &HEAD Version in {tool}" +msgid_plural "Edit &HEAD Versions in {tool}" +msgstr[0] "" +msgstr[1] "" + +#: filelists/filelist.py:377 +msgid "Open in external editor" +msgstr "" + +#: filelists/filelist.py:381 +msgid "Open in external diff tool" +msgstr "" + +#: filelists/filelist.py:382 +#, python-brace-format +msgid "Really open {n} files in external diff tool?" +msgstr "" + +#: filelists/filelist.py:387 +#, python-brace-format +msgid "{0}: Can’t open external diff tool on a deleted file." +msgstr "" + +#: filelists/filelist.py:391 +#, python-brace-format +msgid "{0}: Can’t open external diff tool on a new file." +msgstr "" + +#: filelists/filelist.py:418 +#, python-brace-format +msgid "{0}: This file doesn’t exist at this path anymore." +msgstr "" + +#: filelists/filelist.py:421 +msgid "Open paths" +msgstr "" + +#: filelists/filelist.py:422 +#, python-brace-format +msgid "Really open {n} folders?" +msgstr "" + +#: filelists/filelist.py:543 +msgid "This file appears to have been modified by another application. Try refreshing the window." +msgstr "" + +#: filelists/filelist.py:617 +msgid "Open HEAD version of file" +msgstr "" + +#: filelists/filelistmodel.py:72 +msgid "old name" +msgstr "" + +#: filelists/filelistmodel.py:73 +msgid "new name" +msgstr "" + +#: filelists/filelistmodel.py:75 +msgid "name" +msgstr "" + +#: filelists/filelistmodel.py:85 +msgid "status" +msgstr "" + +#: filelists/filelistmodel.py:89 +msgid "similarity" +msgstr "" + +#: filelists/filelistmodel.py:94 filelists/filelistmodel.py:96 +msgid "file mode" +msgstr "" + +#: filelists/filelistmodel.py:101 filelists/filelistmodel.py:103 +msgid "size" +msgstr "" + +#: filelists/filelistmodel.py:103 filelists/filelistmodel.py:116 +#: filelists/filelistmodel.py:117 +msgid "(not computed)" +msgstr "" + +#: filelists/filelistmodel.py:112 +msgid "modified" +msgstr "" + +#: filelists/filelistmodel.py:118 +msgid "blob hash" +msgstr "" + +#: filelists/filelistmodel.py:118 +msgid "commit hash" +msgstr "" + +#: filelists/filelistmodel.py:123 +msgid "Currently viewing diff of staged changes in this file; it also has unstaged changes." +msgstr "" + +#: filelists/filelistmodel.py:126 +msgid "Currently viewing diff of unstaged changes in this file; it also has staged changes." +msgstr "" + +#: filelists/stagedfiles.py:36 +#, python-brace-format +msgid "&Unstage File" +msgid_plural "&Unstage {n} Files" +msgstr[0] "" +msgstr[1] "" + +#: filelists/stagedfiles.py:60 +#, python-brace-format +msgid "Unstage Submodule" +msgid_plural "Unstage {n} Submodules" +msgstr[0] "" +msgstr[1] "" + +#: filelists/stagedfiles.py:71 +msgid "Can’t unstage this selection in bulk." +msgstr "" + +#: forms/aboutdialog.py:68 +#, python-brace-format +msgid "Version {0}" +msgstr "" + +#: forms/aboutdialog.py:80 +#, python-brace-format +msgid "If {app} helps you get work done, please consider [making a small donation]." +msgstr "" + +#: forms/aboutdialog.py:82 +msgid "Thank you for your support!" +msgstr "" + +#: forms/aboutdialog.py:90 +msgid "Powered by:" +msgstr "" + +#: forms/aboutdialog.py:100 +msgid "(not available)" +msgstr "" + +#: forms/aboutdialog.py:109 +msgid "Brought to your native language by:" +msgstr "" + +#: forms/aboutdialog.py:119 +msgid "Special thanks to Marc-Alexandre Espiaut for beta testing." +msgstr "" + +#: forms/aboutdialog.py:121 +#, python-brace-format +msgid "Portions of this software are based on {lib}, used under {lic}, {copyright}." +msgstr "" + +#: forms/aboutdialog.py:123 +msgid "MIT license" +msgstr "" + +#: forms/banner.py:50 +msgid "Dismiss" +msgstr "" + +#: forms/checkoutcommitdialog.py:35 +#, python-brace-format +msgid "Check out commit {0}" +msgstr "" + +#: forms/checkoutcommitdialog.py:38 +msgid "Move &detached HEAD here" +msgstr "" + +#: forms/checkoutcommitdialog.py:40 +#, python-brace-format +msgid "&Reset the tip of branch {0} here…" +msgstr "" + +#: forms/checkoutcommitdialog.py:41 graphview/graphview.py:141 +#: sidebar/sidebar.py:211 sidebar/sidebar.py:307 +#, python-brace-format +msgid "&Merge into {0}…" +msgstr "" + +#: forms/checkoutcommitdialog.py:43 +msgid "Detach HEAD" +msgstr "" + +#: forms/checkoutcommitdialog.py:44 +msgid "Switch Branch" +msgstr "" + +#: forms/checkoutcommitdialog.py:45 +#, python-brace-format +msgid "Reset {0}…" +msgstr "" + +#: forms/checkoutcommitdialog.py:46 +msgid "Merge…" +msgstr "" + +#: forms/checkoutcommitdialog.py:47 +msgid "Create Branch…" +msgstr "" + +#: forms/checkoutcommitdialog.py:68 +#, python-brace-format +msgctxt "checkout: current branch name" +msgid "{0} (already checked out)" +msgstr "" + +#: forms/checkoutcommitdialog.py:70 +msgctxt "checkout: no branches available" +msgid "(none available here)" +msgstr "" + +#: forms/clonedialog.py:64 +msgid "Reset default clone location" +msgstr "" + +#: forms/clonedialog.py:72 +msgid "C&lone" +msgstr "" + +#: forms/clonedialog.py:79 +#, python-brace-format +msgid "Hit {0} when ready." +msgstr "" + +#: forms/clonedialog.py:112 forms/ignorepatterndialog.py:53 +msgid "Please fill in this field." +msgstr "" + +#: forms/clonedialog.py:119 +msgid "Please enter an absolute path." +msgstr "" + +#: forms/clonedialog.py:121 +msgid "There’s already a file at this path." +msgstr "" + +#: forms/clonedialog.py:125 +msgid "This directory isn’t empty." +msgstr "" + +#: forms/clonedialog.py:159 +msgid "Set current location as default clone location" +msgstr "" + +#: forms/clonedialog.py:166 +#, python-brace-format +msgid "{0} is the default clone location" +msgstr "" + +#: forms/clonedialog.py:169 +#, python-brace-format +msgid "Set {0} as default clone location" +msgstr "" + +#: forms/clonedialog.py:185 +msgid "Clear history" +msgstr "" + +#: forms/clonedialog.py:209 +msgid "&Shallow clone" +msgstr "" + +#: forms/clonedialog.py:215 +#, python-brace-format +msgid "&Shallow clone: Fetch up to {n} commit per branch" +msgid_plural "&Shallow clone: Fetch up to {n} commits per branch" +msgstr[0] "" +msgstr[1] "" + +#: forms/clonedialog.py:253 +msgid "Clone repository into" +msgstr "" + +#: forms/clonedialog.py:262 +msgid "Clone here" +msgstr "" + +#: forms/clonedialog.py:296 tasks/nettasks.py:359 +msgid "Contacting remote host…" +msgstr "" + +#: forms/clonedialog.py:345 +msgid "Cloning…" +msgstr "" + +#: forms/clonedialog.py:370 +#, python-brace-format +msgid "Initializing submodule {0}: {1}…" +msgstr "" + +#: forms/commitdialog.py:49 +msgid "Amend commit message" +msgstr "" + +#: forms/commitdialog.py:50 +msgid "A&mend" +msgstr "" + +#: forms/commitdialog.py:51 +#, python-brace-format +msgid "Amend Commit {0}" +msgstr "" + +#: forms/commitdialog.py:53 +msgid "Enter commit summary" +msgstr "" + +#: forms/commitdialog.py:54 +msgid "Co&mmit" +msgstr "" + +#: forms/commitdialog.py:59 +msgid "This commit will conclude the merge." +msgstr "" + +#: forms/commitdialog.py:61 +msgid "This commit will conclude the cherry-pick." +msgstr "" + +#: forms/commitdialog.py:63 +msgid "This commit will conclude the revert." +msgstr "" + +#: forms/commitdialog.py:65 +#, python-brace-format +msgid "You are amending commit {0}." +msgstr "" + +#: forms/commitdialog.py:67 +msgid "Detached HEAD – You are not in any branch! You should create a branch to keep track of your commit." +msgstr "" + +#: forms/commitdialog.py:70 +msgid "You are creating an empty commit (no staged changes)." +msgstr "" + +#: forms/commitdialog.py:138 forms/registersubmoduledialog.py:68 +#: forms/remotedialog.py:35 trtables.py:117 +msgid "Cannot be empty." +msgstr "" + +#: forms/commitdialog.py:181 +msgid "Authored by:" +msgstr "" + +#: forms/commitdialog.py:184 forms/commitdialog.py:189 +msgid "(overridden manually)" +msgstr "" + +#: forms/commitdialog.py:186 +msgid "Committed by:" +msgstr "" + +#: forms/conflictview.py:229 +#, python-brace-format +msgid "Waiting for you to finish merging this file in {0} (PID {1})…" +msgstr "" + +#: forms/conflictview.py:262 +msgid "This file has received changes from both our branch and their branch." +msgstr "" + +#: forms/conflictview.py:264 forms/conflictview.py:296 +#: forms/conflictview.py:311 forms/conflictview.py:331 +msgid "Keep OURS" +msgstr "" + +#: forms/conflictview.py:265 forms/conflictview.py:321 +#: forms/conflictview.py:332 +msgid "Accept THEIRS" +msgstr "" + +#: forms/conflictview.py:267 forms/conflictview.py:283 +#: forms/conflictview.py:334 +msgid "Resolve the conflict by rejecting incoming changes." +msgstr "" + +#: forms/conflictview.py:268 forms/conflictview.py:335 +msgid "The file will remain unchanged from its state in HEAD." +msgstr "" + +#: forms/conflictview.py:270 forms/conflictview.py:286 +#: forms/conflictview.py:337 +msgid "Resolve the conflict by accepting incoming changes." +msgstr "" + +#: forms/conflictview.py:271 forms/conflictview.py:338 +msgid "The file will be replaced with the incoming version." +msgstr "" + +#: forms/conflictview.py:278 +msgid "This file was deleted from our branch, but their branch kept it and made changes to it." +msgstr "" + +#: forms/conflictview.py:280 +msgid "Keep OUR deletion" +msgstr "" + +#: forms/conflictview.py:281 +msgid "Accept THEIR version" +msgstr "" + +#: forms/conflictview.py:284 +msgid "The file won’t be added back to your branch." +msgstr "" + +#: forms/conflictview.py:287 +msgid "The file will be restored to your branch with the incoming changes." +msgstr "" + +#: forms/conflictview.py:294 +msgid "We’ve made changes to this file in our branch, but their branch has deleted it." +msgstr "" + +#: forms/conflictview.py:297 +msgid "Accept deletion" +msgstr "" + +#: forms/conflictview.py:299 +msgid "Resolve the conflict by rejecting the incoming deletion." +msgstr "" + +#: forms/conflictview.py:300 +msgid "Our version of the file will be kept intact." +msgstr "" + +#: forms/conflictview.py:302 +msgid "Resolve the conflict by accepting the incoming deletion." +msgstr "" + +#: forms/conflictview.py:303 +msgid "The file will be deleted." +msgstr "" + +#: forms/conflictview.py:310 forms/conflictview.py:319 +msgid "No common ancestor." +msgstr "" + +#: forms/conflictview.py:312 +msgid "Delete it" +msgstr "" + +#: forms/conflictview.py:320 +msgid "Don’t add" +msgstr "" + +#: forms/conflictview.py:328 +msgid "This file has been created in both our branch and their branch, independently from each other. There is no common ancestor." +msgstr "" + +#: forms/conflictview.py:345 +msgid "The file was deleted from our branch, and their branch has deleted it too." +msgstr "" + +#: forms/contextheader.py:35 +msgid "Maximize" +msgstr "" + +#: forms/contextheader.py:37 +msgid "Maximize the diff area and hide the commit graph" +msgstr "" + +#: forms/contextheader.py:81 +msgctxt "noun" +msgid "Commit" +msgstr "" + +#: forms/contextheader.py:81 +msgctxt "noun" +msgid "Stash" +msgstr "" + +#: forms/contextheader.py:85 +msgid "Info" +msgstr "" + +#: forms/contextheader.py:86 +msgid "Show details about this commit" +msgstr "" + +#: forms/contextheader.py:87 +msgid "Show details about this stash" +msgstr "" + +#: forms/contextheader.py:90 tasks/indextasks.py:141 +msgid "Delete" +msgstr "" + +#: forms/contextheader.py:91 +msgid "Delete this stash" +msgstr "" + +#: forms/contextheader.py:93 tasks/indextasks.py:407 tasks/indextasks.py:481 +msgid "Apply" +msgstr "" + +#: forms/contextheader.py:94 +msgid "Apply this stash" +msgstr "" + +#: forms/contextheader.py:97 graphview/commitlogdelegate.py:570 +msgid "Working Directory" +msgstr "" + +#: forms/deletetagdialog.py:33 +msgid "&Delete Locally" +msgstr "" + +#: forms/deletetagdialog.py:33 +msgid "&Delete Locally && Remotely" +msgstr "" + +#: forms/deletetagdialog.py:47 +#, python-brace-format +msgid "Delete tag {0}" +msgstr "" + +#: forms/deletetagdialog.py:48 +#, python-brace-format +msgid "Tagged commit: {0}" +msgstr "" + +#: forms/identitydialog.py:44 +msgid "This information will be embedded in the commits and tags that you create on this machine." +msgstr "" + +#: forms/identitydialog.py:46 +msgid "Before editing this repository, please set up your identity for Git." +msgstr "" + +#: forms/ignorepatterndialog.py:40 +#, python-brace-format +msgid "Based off: {0}" +msgstr "" + +#: forms/ignorepatterndialog.py:72 +msgid "This pattern doesn’t match the file that you selected." +msgstr "" + +#: forms/ignorepatterndialog.py:79 +msgid "Just this specific path" +msgstr "" + +#: forms/ignorepatterndialog.py:85 +msgid "Everything in this directory" +msgstr "" + +#: forms/ignorepatterndialog.py:90 +#, python-brace-format +msgid "All {0} files in this directory tree" +msgstr "" + +#: forms/ignorepatterndialog.py:91 +#, python-brace-format +msgid "Any {0} file" +msgstr "" + +#: forms/ignorepatterndialog.py:93 +msgid "Any file with this exact name" +msgstr "" + +#: forms/ignorepatterndialog.py:100 +msgid "Share pattern with other contributors" +msgstr "" + +#: forms/ignorepatterndialog.py:101 +msgid "Keep pattern private on this machine" +msgstr "" + +#: forms/keyfilepickercheckbox.py:20 +#, python-brace-format +msgid "{app} normally uses public/private keys in {path} to authenticate you with remote servers." +msgstr "" + +#: forms/keyfilepickercheckbox.py:22 +msgid "Tick this box if you want to access this remote with a custom key." +msgstr "" + +#: forms/keyfilepickercheckbox.py:29 +msgid "Select public key file for this remote" +msgstr "" + +#: forms/keyfilepickercheckbox.py:30 +msgid "Public key file" +msgstr "" + +#: forms/keyfilepickercheckbox.py:40 +msgid "File not found." +msgstr "" + +#: forms/keyfilepickercheckbox.py:45 +msgid "Accompanying private key not found." +msgstr "" + +#: forms/keyfilepickercheckbox.py:49 +msgid "Accompanying public key not found." +msgstr "" + +#: forms/maintoolbar.py:32 trtables.py:354 +msgid "Show toolbar" +msgstr "" + +#: forms/maintoolbar.py:51 trtables.py:465 +msgid "Terminal" +msgstr "" + +#: forms/maintoolbar.py:53 +msgid "Open a terminal in the repo" +msgstr "" + +#: forms/maintoolbar.py:57 +msgid "Open…" +msgstr "" + +#: forms/maintoolbar.py:59 mainwindow.py:213 +msgid "Open a Git repo on your machine" +msgstr "" + +#: forms/maintoolbar.py:63 +msgid "Settings" +msgstr "" + +#: forms/maintoolbar.py:65 mainwindow.py:230 +#, python-brace-format +msgid "Configure {app}" +msgstr "" + +#: forms/maintoolbar.py:84 +msgid "Reveal" +msgstr "" + +#: forms/maintoolbar.py:86 +msgid "Open repo folder in file manager" +msgstr "" + +#: forms/maintoolbar.py:145 +msgid "Text Position" +msgstr "" + +#: forms/maintoolbar.py:147 trtables.py:222 +msgid "Icons Only" +msgstr "" + +#: forms/maintoolbar.py:148 +msgid "Text Only" +msgstr "" + +#: forms/maintoolbar.py:149 +msgid "Text Alongside Icons" +msgstr "" + +#: forms/maintoolbar.py:150 +msgid "Text Under Icons" +msgstr "" + +#: forms/maintoolbar.py:155 +msgid "Icon Size" +msgstr "" + +#: forms/maintoolbar.py:157 +msgid "Small" +msgstr "" + +#: forms/maintoolbar.py:158 +msgid "Medium" +msgstr "" + +#: forms/maintoolbar.py:159 +msgid "Large" +msgstr "" + +#: forms/maintoolbar.py:160 +msgid "Huge" +msgstr "" + +#: forms/newbranchdialog.py:31 forms/newtagdialog.py:41 +msgid "&Create" +msgstr "" + +#: forms/newbranchdialog.py:48 +msgid "(blocked by conflicts)" +msgstr "" + +#: forms/newbranchdialog.py:51 tasks/branchtasks.py:76 +msgid "This name is already taken by another local branch." +msgstr "" + +#: forms/newbranchdialog.py:57 +msgid "New branch" +msgstr "" + +#: forms/newbranchdialog.py:58 +msgid "Commit at tip:" +msgstr "" + +#: forms/newtagdialog.py:17 sidebar/sidebar.py:979 +msgid "No Remotes" +msgstr "" + +#: forms/newtagdialog.py:19 +msgid "All Remotes" +msgstr "" + +#: forms/newtagdialog.py:41 +msgid "&Create && Push" +msgstr "" + +#: forms/newtagdialog.py:46 +msgid "This name is already taken by another tag." +msgstr "" + +#: forms/newtagdialog.py:61 +#, python-brace-format +msgid "New tag on commit {0}" +msgstr "" + +#: forms/passphrasedialog.py:20 +msgid "Passphrase-protected key file" +msgstr "" + +#: forms/passphrasedialog.py:21 +msgid "Enter passphrase to use this key file:" +msgstr "" + +#: forms/passphrasedialog.py:29 +msgid "Remember passphrase for this session" +msgstr "" + +#: forms/passphrasedialog.py:36 forms/passphrasedialog.py:50 +msgid "Reveal passphrase" +msgstr "" + +#: forms/passphrasedialog.py:50 +msgid "Hide passphrase" +msgstr "" + +#: forms/prefsdialog.py:56 +#, python-brace-format +msgid "{app} Settings" +msgstr "" + +#: forms/prefsdialog.py:224 +#, python-brace-format +msgid "{0} Handy Reference" +msgstr "" + +#: forms/prefsdialog.py:309 +msgid "Image" +msgstr "" + +#: forms/prefsdialog.py:309 +msgid "Text" +msgstr "" + +#: forms/prefsdialog.py:349 +msgctxt "system default language setting" +msgid "System default" +msgstr "" + +#: forms/prefsdialog.py:398 +msgctxt "hint user to leave the field blank" +msgid "leave blank" +msgstr "" + +#: forms/prefsdialog.py:404 +msgid "Leave blank for system default." +msgstr "" + +#: forms/prefsdialog.py:432 +#, python-brace-format +msgid "" +"# Enter custom terminal commands here.\n" +"# You can then launch them from the {menu} menu.\n" +"# Click {button} below for more information." +msgstr "" + +#: forms/prefsdialog.py:435 mainwindow.py:353 trtables.py:501 +msgid "&Commands" +msgstr "" + +#: forms/prefsdialog.py:436 +msgid "Handy Reference" +msgstr "" + +#: forms/prefsdialog.py:500 +msgctxt "system default theme setting" +msgid "System default" +msgstr "" + +#: forms/prefsdialog.py:550 +#, python-brace-format +msgid "This feature requires {0}." +msgstr "" + +#: forms/prefsdialog.py:554 +#, python-brace-format +msgctxt "syntax highlighting" +msgid "Automatic ({name})" +msgstr "" + +#: forms/prefsdialog.py:555 +msgctxt "syntax highlighting" +msgid "Off" +msgstr "" + +#: forms/prefsdialog.py:590 +msgid "Red and green" +msgstr "" + +#: forms/prefsdialog.py:591 +msgid "Colorblind-friendly" +msgstr "" + +#: forms/protocolbutton.py:19 +msgid "Change URL protocol" +msgstr "" + +#: forms/pushdialog.py:34 +#, python-brace-format +msgid "tracking {0}" +msgstr "" + +#: forms/pushdialog.py:36 +msgid "non-tracking" +msgstr "" + +#: forms/pushdialog.py:85 +#, python-brace-format +msgid "{0} will track {1}." +msgstr "" + +#: forms/pushdialog.py:87 +#, python-brace-format +msgid "{0} currently does not track any remote branch." +msgstr "" + +#: forms/pushdialog.py:89 +#, python-brace-format +msgid "{0} already tracks remote branch {1}." +msgstr "" + +#: forms/pushdialog.py:91 +#, python-brace-format +msgid "{0} will track {1} instead of {2}." +msgstr "" + +#: forms/pushdialog.py:93 +#, python-brace-format +msgid "{0} currently tracks {1}." +msgstr "" + +#: forms/pushdialog.py:200 +msgid "[tracked]" +msgstr "" + +#: forms/pushdialog.py:207 +#, python-brace-format +msgid "New remote branch on {0}" +msgstr "" + +#: forms/pushdialog.py:225 forms/pushdialog.py:266 +msgid "&Push" +msgstr "" + +#: forms/pushdialog.py:260 +msgid "Force &push" +msgstr "" + +#: forms/pushdialog.py:262 +msgid "Force push: Destructive action!" +msgstr "" + +#: forms/pushdialog.py:264 +msgid "&Push new branch" +msgstr "" + +#: forms/pushdialog.py:280 tasks/nettasks.py:102 +msgid "This name is already taken by another branch on this remote." +msgstr "" + +#: forms/registersubmoduledialog.py:36 +msgid "Reset to default name" +msgstr "" + +#: forms/registersubmoduledialog.py:42 forms/registersubmoduledialog.py:43 +#: tasks/taskbook.py:33 +msgid "Absorb submodule" +msgstr "" + +#: forms/registersubmoduledialog.py:46 forms/registersubmoduledialog.py:47 +#: tasks/taskbook.py:84 +msgid "Register submodule" +msgstr "" + +#: forms/registersubmoduledialog.py:70 +msgid "This name is already taken by another submodule." +msgstr "" + +#: forms/remotedialog.py:34 +msgid "This name is already taken by another remote." +msgstr "" + +#: forms/remotedialog.py:44 +#, python-brace-format +msgid "Edit remote {0}" +msgstr "" + +#: forms/remotedialog.py:45 tasks/taskbook.py:51 +msgid "Edit remote" +msgstr "" + +#: forms/remotedialog.py:46 +msgid "Save" +msgstr "" + +#: forms/remotedialog.py:52 forms/remotedialog.py:53 tasks/taskbook.py:75 +msgid "Add remote" +msgstr "" + +#: forms/remotedialog.py:54 +msgid "Add" +msgstr "" + +#: forms/remotelinkdialog.py:18 +msgid "Remote operation" +msgstr "" + +#: forms/remotelinkdialog.py:55 +msgid "Connecting…" +msgstr "" + +#: forms/remotelinkdialog.py:80 +msgid "Aborting" +msgstr "" + +#: forms/reposettingsdialog.py:43 +msgctxt "RepoSettingsDialog" +msgid "from global config" +msgstr "" + +#: forms/reposettingsdialog.py:45 +msgctxt "RepoSettingsDialog" +msgid "global git identity not configured" +msgstr "" + +#: forms/repostub.py:74 +msgid "Aborting. Just a moment…" +msgstr "" + +#: forms/repostub.py:91 +#, python-brace-format +msgid "Opening {0}…" +msgstr "" + +#: forms/repostub.py:102 +msgid "Try to reload" +msgstr "" + +#: forms/repostub.py:109 +msgid "Loading interrupted. Just a moment…" +msgstr "" + +#: forms/resetheaddialog.py:27 +msgid "Hard reset: Destructive action!" +msgstr "" + +#: forms/resetheaddialog.py:77 +#, python-brace-format +msgid "Reset {0} to {1}" +msgstr "" + +#: forms/resetheaddialog.py:81 +#, python-brace-format +msgid "Commit {0}:" +msgstr "" + +#: forms/searchbar.py:225 +#, python-brace-format +msgid "{text} not found." +msgstr "" + +#: forms/stashdialog.py:58 +msgid "Stash && Keep Changes" +msgstr "" + +#: forms/stashdialog.py:58 +msgid "Stash && Reset Changes" +msgstr "" + +#: forms/stashdialog.py:60 +msgid "&Include these files in the stash, then reset them to their unmodified state:" +msgstr "" + +#: forms/stashdialog.py:61 +msgid "&Include these files in the stash:" +msgstr "" + +#: forms/ui_aboutdialog.py:158 +#, python-brace-format +msgctxt "AboutDialog" +msgid "About {0}" +msgstr "" + +#: forms/ui_aboutdialog.py:159 +msgctxt "AboutDialog" +msgid "About" +msgstr "" + +#: forms/ui_aboutdialog.py:160 +msgctxt "AboutDialog" +msgid "Components" +msgstr "" + +#: forms/ui_aboutdialog.py:161 +msgctxt "AboutDialog" +msgid "Acknowledgments" +msgstr "" + +#: forms/ui_aboutdialog.py:162 +msgctxt "AboutDialog" +msgid "License" +msgstr "" + +#: forms/ui_checkoutcommitdialog.py:94 +msgctxt "CheckoutCommitDialog" +msgid "Check out commit" +msgstr "" + +#: forms/ui_checkoutcommitdialog.py:95 +msgctxt "CheckoutCommitDialog" +msgid "How do you want to check out this commit?" +msgstr "" + +#: forms/ui_checkoutcommitdialog.py:96 +msgctxt "CheckoutCommitDialog" +msgid "Switch to &branch:" +msgstr "" + +#: forms/ui_checkoutcommitdialog.py:97 +msgctxt "CheckoutCommitDialog" +msgid "List of branches that point to this commit." +msgstr "" + +#: forms/ui_checkoutcommitdialog.py:98 +msgctxt "CheckoutCommitDialog" +msgid "Enter &detached HEAD here" +msgstr "" + +#: forms/ui_checkoutcommitdialog.py:99 +msgctxt "CheckoutCommitDialog" +msgid "&Reset HEAD here…" +msgstr "" + +#: forms/ui_checkoutcommitdialog.py:100 +msgctxt "CheckoutCommitDialog" +msgid "&Merge into HEAD…" +msgstr "" + +#: forms/ui_checkoutcommitdialog.py:101 +msgctxt "CheckoutCommitDialog" +msgid "Start &new branch here…" +msgstr "" + +#: forms/ui_checkoutcommitdialog.py:102 +msgctxt "CheckoutCommitDialog" +msgid "After the checkout:" +msgstr "" + +#: forms/ui_checkoutcommitdialog.py:103 +msgctxt "CheckoutCommitDialog" +msgid "Update submodules recursively" +msgstr "" + +#: forms/ui_clonedialog.py:130 +msgctxt "CloneDialog" +msgid "Clone repository" +msgstr "" + +#: forms/ui_clonedialog.py:131 +msgctxt "CloneDialog" +msgid "Remote &URL:" +msgstr "" + +#: forms/ui_clonedialog.py:132 +msgctxt "CloneDialog" +msgid "Clone in&to:" +msgstr "" + +#: forms/ui_clonedialog.py:133 +msgctxt "CloneDialog" +msgid "&Browse…" +msgstr "" + +#: forms/ui_clonedialog.py:134 +msgctxt "CloneDialog" +msgid "Options:" +msgstr "" + +#: forms/ui_clonedialog.py:135 +msgctxt "CloneDialog" +msgid "Initialize submodules recursively (if any)" +msgstr "" + +#: forms/ui_clonedialog.py:136 +msgctxt "CloneDialog" +msgid "

Tick this to download just the latest commits, not the entire history of the repository." +msgstr "" + +#: forms/ui_clonedialog.py:137 +msgctxt "CloneDialog" +msgid "Log in with custom &key file" +msgstr "" + +#: forms/ui_clonedialog.py:138 +msgctxt "CloneDialog" +msgid "Status" +msgstr "" + +#: forms/ui_commitdialog.py:95 +msgctxt "CommitDialog" +msgid "Commit" +msgstr "" + +#: forms/ui_commitdialog.py:96 +msgctxt "CommitDialog" +msgid "Enter commit summary" +msgstr "" + +#: forms/ui_commitdialog.py:97 +msgctxt "CommitDialog" +msgid "

Length of the summary. Convention is to stay under 50 characters and avoid going over 72. If that’s not enough, use the long-form description.

" +msgstr "" + +#: forms/ui_commitdialog.py:98 +msgctxt "CommitDialog" +msgid "Long-form description (optional)" +msgstr "" + +#: forms/ui_commitdialog.py:99 +msgctxt "CommitDialog" +msgid "Customi&ze Signature" +msgstr "" + +#: forms/ui_commitdialog.py:100 +msgctxt "CommitDialog" +msgid "Preview" +msgstr "" + +#: forms/ui_conflictview.py:228 +msgctxt "ConflictView" +msgid "Merge conflict" +msgstr "" + +#: forms/ui_conflictview.py:229 +#, python-brace-format +msgctxt "ConflictView" +msgid "Merge conflict on {0}" +msgstr "" + +#: forms/ui_conflictview.py:230 +msgctxt "ConflictView" +msgid "OUR version" +msgstr "" + +#: forms/ui_conflictview.py:231 +msgctxt "ConflictView" +msgid "or" +msgstr "" + +#: forms/ui_conflictview.py:232 +msgctxt "ConflictView" +msgid "THEIR version" +msgstr "" + +#: forms/ui_conflictview.py:233 +msgctxt "ConflictView" +msgid "Select another external merge tool in the Settings." +msgstr "" + +#: forms/ui_conflictview.py:234 +msgctxt "ConflictView" +msgid "Change merge tool…" +msgstr "" + +#: forms/ui_conflictview.py:235 +#, python-brace-format +msgctxt "ConflictView" +msgid "

Open {tool} so you can merge both versions by hand. When you are done, save the file and quit {tool} to resolve the conflict." +msgstr "" + +#: forms/ui_conflictview.py:236 +#, python-brace-format +msgctxt "ConflictView" +msgid "Merge both versions in {tool}" +msgstr "" + +#: forms/ui_conflictview.py:237 +msgctxt "ConflictView" +msgid "Abort" +msgstr "" + +#: forms/ui_conflictview.py:238 +#, python-brace-format +msgctxt "ConflictView" +msgid "

Ignore the merge that you made in {tool} so that you can start over." +msgstr "" + +#: forms/ui_conflictview.py:239 +msgctxt "ConflictView" +msgid "Discard this merge" +msgstr "" + +#: forms/ui_conflictview.py:240 +msgctxt "ConflictView" +msgid "It looks like you’ve finished merging this file." +msgstr "" + +#: forms/ui_conflictview.py:241 +#, python-brace-format +msgctxt "ConflictView" +msgid "

Merge this file in {tool} again, starting where you left off." +msgstr "" + +#: forms/ui_conflictview.py:242 +msgctxt "ConflictView" +msgid "Merge again" +msgstr "" + +#: forms/ui_conflictview.py:243 +#, python-brace-format +msgctxt "ConflictView" +msgid "

Resolve this conflict by accepting the merge that you’ve completed in {tool}." +msgstr "" + +#: forms/ui_conflictview.py:244 +msgctxt "ConflictView" +msgid "Resolve the conflict with your merge" +msgstr "" + +#: forms/ui_conflictview.py:245 +msgctxt "ConflictView" +msgid "Confirm deletion" +msgstr "" + +#: forms/ui_deletetagdialog.py:50 +msgctxt "DeleteTagDialog" +msgid "Delete tag" +msgstr "" + +#: forms/ui_deletetagdialog.py:51 +#, python-brace-format +msgctxt "DeleteTagDialog" +msgid "Really delete tag {0}?" +msgstr "" + +#: forms/ui_deletetagdialog.py:52 +msgctxt "DeleteTagDialog" +msgid "&Push deletion to:" +msgstr "" + +#: forms/ui_donateprompt.py:90 +#, python-brace-format +msgctxt "DonatePrompt" +msgid "" +"Hi! I hope you’re enjoying {app}.\n" +"\n" +"If {app} helps you get work done, please consider making a small donation! This will encourage me to keep developing it. Thank you!\n" +"\n" +"-Iliyas" +msgstr "" + +#: forms/ui_donateprompt.py:95 +#, python-brace-format +msgctxt "DonatePrompt" +msgid "Donate {amount}" +msgstr "" + +#: forms/ui_donateprompt.py:96 +msgctxt "DonatePrompt" +msgid "Never show this again" +msgstr "" + +#: forms/ui_donateprompt.py:97 +#, python-brace-format +msgctxt "DonatePrompt" +msgid "Remind me in {month}" +msgstr "" + +#: forms/ui_donateprompt.py:98 +msgctxt "DonatePrompt" +msgid "THANK YOU!" +msgstr "" + +#: forms/ui_identitydialog.py:63 +msgctxt "IdentityDialog" +msgid "Set up your Git identity" +msgstr "" + +#: forms/ui_identitydialog.py:64 +msgctxt "IdentityDialog" +msgid "&Name:" +msgstr "" + +#: forms/ui_identitydialog.py:65 +msgctxt "IdentityDialog" +msgid "&Email:" +msgstr "" + +#: forms/ui_identitydialog.py:66 +msgctxt "IdentityDialog" +msgid "Note: This will not apply to the current repository, because its configuration file defines a custom identity." +msgstr "" + +#: forms/ui_identitydialog.py:67 +#, python-brace-format +msgctxt "IdentityDialog" +msgid "This information will be saved in {0}." +msgstr "" + +#: forms/ui_ignorepatterndialog.py:55 +msgctxt "IgnorePatternDialog" +msgid "Ignore file name pattern" +msgstr "" + +#: forms/ui_ignorepatterndialog.py:56 +msgctxt "IgnorePatternDialog" +msgid "&Pattern:" +msgstr "" + +#: forms/ui_ignorepatterndialog.py:57 +msgctxt "IgnorePatternDialog" +msgid "&Add to:" +msgstr "" + +#: forms/ui_newbranchdialog.py:81 +msgctxt "NewBranchDialog" +msgid "New branch" +msgstr "" + +#: forms/ui_newbranchdialog.py:82 +msgctxt "NewBranchDialog" +msgid "&Name:" +msgstr "" + +#: forms/ui_newbranchdialog.py:83 +msgctxt "NewBranchDialog" +msgid "Options:" +msgstr "" + +#: forms/ui_newbranchdialog.py:84 +msgctxt "NewBranchDialog" +msgid "&Switch to branch after creating" +msgstr "" + +#: forms/ui_newbranchdialog.py:85 +msgctxt "NewBranchDialog" +msgid "&Track upstream branch:" +msgstr "" + +#: forms/ui_newbranchdialog.py:86 +msgctxt "NewBranchDialog" +msgid "…then update submodules recursively" +msgstr "" + +#: forms/ui_newtagdialog.py:60 +msgctxt "NewTagDialog" +msgid "New tag" +msgstr "" + +#: forms/ui_newtagdialog.py:61 +msgctxt "NewTagDialog" +msgid "&Name:" +msgstr "" + +#: forms/ui_newtagdialog.py:62 +msgctxt "NewTagDialog" +msgid "Enter tag name" +msgstr "" + +#: forms/ui_newtagdialog.py:63 +msgctxt "NewTagDialog" +msgid "&Push to:" +msgstr "" + +#: forms/ui_pushdialog.py:126 +msgctxt "PushDialog" +msgid "Push branch" +msgstr "" + +#: forms/ui_pushdialog.py:127 +msgctxt "PushDialog" +msgid "&Local branch:" +msgstr "" + +#: forms/ui_pushdialog.py:128 +msgctxt "PushDialog" +msgid "Push &to:" +msgstr "" + +#: forms/ui_pushdialog.py:129 +msgctxt "PushDialog" +msgid "Branch name on remote" +msgstr "" + +#: forms/ui_pushdialog.py:130 +msgctxt "PushDialog" +msgid "&Force push" +msgstr "" + +#: forms/ui_pushdialog.py:131 +msgctxt "PushDialog" +msgid "&Track this remote branch after pushing" +msgstr "" + +#: forms/ui_pushdialog.py:132 +msgctxt "PushDialog" +msgid "Status" +msgstr "" + +#: forms/ui_registersubmoduledialog.py:96 +msgctxt "RegisterSubmoduleDialog" +msgid "Register submodule" +msgstr "" + +#: forms/ui_registersubmoduledialog.py:97 +msgctxt "RegisterSubmoduleDialog" +msgid "Workdir:" +msgstr "" + +#: forms/ui_registersubmoduledialog.py:98 +msgctxt "RegisterSubmoduleDialog" +msgid "&Name:" +msgstr "" + +#: forms/ui_registersubmoduledialog.py:99 +msgctxt "RegisterSubmoduleDialog" +msgid "&Remote:" +msgstr "" + +#: forms/ui_registersubmoduledialog.py:100 +msgctxt "RegisterSubmoduleDialog" +msgid "

This will be the default remote for this submodule. People who clone your repo will use this remote to download the submodule." +msgstr "" + +#: forms/ui_registersubmoduledialog.py:101 +#, python-brace-format +msgctxt "RegisterSubmoduleDialog" +msgid "Once absorbed as a submodule, this copy of {sub} cannot be used independently from its superproject, {super}. This cannot be undone!" +msgstr "" + +#: forms/ui_registersubmoduledialog.py:102 +msgctxt "RegisterSubmoduleDialog" +msgid "

This name uniquely identifies your submodule in “.gitmodules”. It can be anything you like, but common practice is to simply name it after the submodule’s workdir." +msgstr "" + +#: forms/ui_remotedialog.py:71 +msgctxt "RemoteDialog" +msgid "Edit remote" +msgstr "" + +#: forms/ui_remotedialog.py:72 +msgctxt "RemoteDialog" +msgid "&URL:" +msgstr "" + +#: forms/ui_remotedialog.py:73 +msgctxt "RemoteDialog" +msgid "&Name:" +msgstr "" + +#: forms/ui_remotedialog.py:74 +msgctxt "RemoteDialog" +msgid "Log in with custom &key file" +msgstr "" + +#: forms/ui_remotedialog.py:75 +msgctxt "RemoteDialog" +msgid "&Fetch remote branches after adding" +msgstr "" + +#: forms/ui_remotelinkdialog.py:58 +msgctxt "RemoteLinkDialog" +msgid "Remote operation" +msgstr "" + +#: forms/ui_reposettingsdialog.py:65 +#, python-brace-format +msgctxt "RepoSettingsDialog" +msgid "Repo Settings for {repo}" +msgstr "" + +#: forms/ui_reposettingsdialog.py:66 +msgctxt "RepoSettingsDialog" +msgid "Repo Nic&kname:" +msgstr "" + +#: forms/ui_reposettingsdialog.py:67 +#, python-brace-format +msgctxt "RepoSettingsDialog" +msgid "This nickname will appear within {app} in tab names, menus, etc. It does not change the actual name of the repo’s directory. Leave blank to clear the nickname." +msgstr "" + +#: forms/ui_reposettingsdialog.py:68 +msgctxt "RepoSettingsDialog" +msgid "No nickname" +msgstr "" + +#: forms/ui_reposettingsdialog.py:69 +msgctxt "RepoSettingsDialog" +msgid "Create commits under a custom &identity in this repo" +msgstr "" + +#: forms/ui_reposettingsdialog.py:70 +msgctxt "RepoSettingsDialog" +msgid "&Name:" +msgstr "" + +#: forms/ui_reposettingsdialog.py:71 +msgctxt "RepoSettingsDialog" +msgid "&Email:" +msgstr "" + +#: forms/ui_repostub.py:96 +msgctxt "RepoStub" +msgid "Ready to load this repository." +msgstr "" + +#: forms/ui_repostub.py:97 +msgctxt "RepoStub" +msgid "Load" +msgstr "" + +#: forms/ui_repostub.py:98 +msgctxt "RepoStub" +msgid "Abort" +msgstr "" + +#: forms/ui_resetheaddialog.py:72 +msgctxt "ResetHeadDialog" +msgid "Reset HEAD" +msgstr "" + +#: forms/ui_resetheaddialog.py:73 +#, python-brace-format +msgctxt "ResetHeadDialog" +msgid "" +"Keep all your files intact.\n" +"
Stage any differences between your files and {commit}." +msgstr "" + +#: forms/ui_resetheaddialog.py:75 +#, python-brace-format +msgctxt "ResetHeadDialog" +msgid "" +"Keep all your files intact.\n" +"
Unstage any differences between your files and {commit}." +msgstr "" + +#: forms/ui_resetheaddialog.py:77 +#, python-brace-format +msgctxt "ResetHeadDialog" +msgid "" +"Wipe all your changes.\n" +"
End result identical to a fresh checkout of {commit}." +msgstr "" + +#: forms/ui_resetheaddialog.py:79 +msgctxt "ResetHeadDialog" +msgid "&Reset submodules recursively" +msgstr "" + +#: forms/ui_searchbar.py:46 +msgctxt "SearchBar" +msgid "Search" +msgstr "" + +#: forms/ui_searchbar.py:47 +msgctxt "SearchBar" +msgid "Search…" +msgstr "" + +#: forms/ui_searchbar.py:48 +msgctxt "SearchBar" +msgid "Next Occurrence" +msgstr "" + +#: forms/ui_searchbar.py:49 +msgctxt "SearchBar" +msgid "Previous Occurrence" +msgstr "" + +#: forms/ui_searchbar.py:50 +msgctxt "SearchBar" +msgid "Close Search Bar" +msgstr "" + +#: forms/ui_searchbar.py:51 +msgctxt "SearchBar" +msgid "Done" +msgstr "" + +#: forms/ui_signatureform.py:73 +msgctxt "SignatureForm" +msgid "Signature" +msgstr "" + +#: forms/ui_signatureform.py:74 +msgctxt "SignatureForm" +msgid "&Override:" +msgstr "" + +#: forms/ui_signatureform.py:75 +msgctxt "SignatureForm" +msgid "&Identity:" +msgstr "" + +#: forms/ui_signatureform.py:76 forms/ui_signatureform.py:77 +msgctxt "SignatureForm" +msgid "Name" +msgstr "" + +#: forms/ui_signatureform.py:78 forms/ui_signatureform.py:79 +msgctxt "SignatureForm" +msgid "Email" +msgstr "" + +#: forms/ui_signatureform.py:80 +msgctxt "SignatureForm" +msgid "&Time:" +msgstr "" + +#: forms/ui_signatureform.py:81 +msgctxt "SignatureForm" +msgid "Offset from UTC" +msgstr "" + +#: forms/ui_signatureform.py:82 +msgctxt "SignatureForm" +msgid "Set to current local time" +msgstr "" + +#: forms/ui_signatureform.py:83 +msgctxt "SignatureForm" +msgid "Now" +msgstr "" + +#: forms/ui_signatureform.py:84 +msgctxt "SignatureForm" +msgid "

Two signatures are recorded in every commit – one for the author, and one for the committer. Select which signature you want to customize." +msgstr "" + +#: forms/ui_signatureform.py:85 +msgctxt "SignatureForm" +msgid "Author’s Signature" +msgstr "" + +#: forms/ui_signatureform.py:86 +msgctxt "SignatureForm" +msgid "Committer’s Signature" +msgstr "" + +#: forms/ui_signatureform.py:87 +msgctxt "SignatureForm" +msgid "Both Signatures" +msgstr "" + +#: forms/ui_stashdialog.py:65 +msgctxt "StashDialog" +msgid "New stash" +msgstr "" + +#: forms/ui_stashdialog.py:66 +msgctxt "StashDialog" +msgid "Optional stash message" +msgstr "" + +#: forms/ui_stashdialog.py:67 +msgctxt "StashDialog" +msgid "Normally, stashed changes are removed from the working directory. Tick this to leave the stashed changes intact instead." +msgstr "" + +#: forms/ui_stashdialog.py:68 +msgctxt "StashDialog" +msgid "&Retain stashed changes in working directory" +msgstr "" + +#: forms/ui_stashdialog.py:69 +msgctxt "StashDialog" +msgid "Warning: Some of the files have both staged and unstaged changes. Those changes will be combined in the stash." +msgstr "" + +#: forms/ui_welcomewidget.py:68 +msgctxt "WelcomeWidget" +msgid "Welcome" +msgstr "" + +#: forms/ui_welcomewidget.py:69 +msgctxt "WelcomeWidget" +msgid "Clone remote repository" +msgstr "" + +#: forms/ui_welcomewidget.py:70 +msgctxt "WelcomeWidget" +msgid "New empty repository" +msgstr "" + +#: forms/ui_welcomewidget.py:71 +msgctxt "WelcomeWidget" +msgid "Open local repository" +msgstr "" + +#: forms/ui_welcomewidget.py:72 +msgctxt "WelcomeWidget" +msgid "Recent repositories" +msgstr "" + +#: forms/ui_welcomewidget.py:73 +#, python-brace-format +msgctxt "WelcomeWidget" +msgid "Welcome to
{app}" +msgstr "" + +#: graphview/commitlogdelegate.py:208 +#, python-brace-format +msgid "History truncated to {0} commits (including hidden branches)" +msgstr "" + +#: graphview/commitlogdelegate.py:210 +#, python-brace-format +msgid "History truncated to {0} commits" +msgstr "" + +#: graphview/commitlogdelegate.py:214 tasks/jumptasks.py:213 +msgid "Shallow clone – End of commit history" +msgstr "" + +#: graphview/commitlogdelegate.py:435 repowidget.py:648 +#: sidebar/sidebarmodel.py:624 sidebar/sidebarmodel.py:627 +msgid "Detached HEAD" +msgstr "" + +#: graphview/commitlogdelegate.py:574 +msgid "(Clean)" +msgstr "" + +#: graphview/commitlogdelegate.py:576 +#, python-brace-format +msgid "({n} change)" +msgid_plural "({n} changes)" +msgstr[0] "" +msgstr[1] "" + +#: graphview/commitlogdelegate.py:581 +msgid "Commit draft:" +msgstr "" + +#: graphview/commitlogmodel.py:195 +msgctxt "CommitTooltip" +msgid "(authored)" +msgstr "" + +#: graphview/commitlogmodel.py:196 +msgctxt "CommitTooltip" +msgid "(committed)" +msgstr "" + +#: graphview/commitlogmodel.py:200 +#, python-brace-format +msgctxt "CommitTooltip" +msgid "Committed by {0}" +msgstr "" + +#: graphview/graphview.py:42 +msgid "This commit isn’t shown in the graph because it’s part of a hidden branch." +msgstr "" + +#: graphview/graphview.py:44 +msgid "This commit isn’t shown in the graph because it isn’t part of the truncated commit history." +msgstr "" + +#: graphview/graphview.py:46 +msgid "This commit isn’t shown in the graph." +msgstr "" + +#: graphview/graphview.py:71 +msgid "Find a commit by hash, message or author|Find commit" +msgstr "" + +#: graphview/graphview.py:114 +msgid "Clear Draft Message" +msgstr "" + +#: graphview/graphview.py:127 tasks/jumptasks.py:223 +#, python-brace-format +msgid "Load up to {0} commits" +msgstr "" + +#: graphview/graphview.py:129 +msgid "Load full commit history" +msgstr "" + +#: graphview/graphview.py:131 +msgid "Change threshold setting" +msgstr "" + +#: graphview/graphview.py:146 +msgid "&Check Out…" +msgstr "" + +#: graphview/graphview.py:152 sidebar/sidebar.py:256 sidebar/sidebar.py:275 +msgid "New &Branch Here…" +msgstr "" + +#: graphview/graphview.py:153 +msgid "&Tag This Commit…" +msgstr "" + +#: graphview/graphview.py:156 +msgid "&Reset HEAD to Here…" +msgstr "" + +#: graphview/graphview.py:158 +msgid "Cherry &Pick…" +msgstr "" + +#: graphview/graphview.py:159 +msgid "Re&vert…" +msgstr "" + +#: graphview/graphview.py:160 +msgid "E&xport As Patch…" +msgstr "" + +#: graphview/graphview.py:162 +msgid "Copy Commit &Hash" +msgstr "" + +#: graphview/graphview.py:163 +msgid "Copy Commit M&essage" +msgstr "" + +#: graphview/graphview.py:164 +msgid "Get &Info…" +msgstr "" + +#: mainwindow.py:184 +msgid "&File" +msgstr "" + +#: mainwindow.py:185 +msgid "&Edit" +msgstr "" + +#: mainwindow.py:186 +msgid "&View" +msgstr "" + +#: mainwindow.py:187 +msgid "&Repo" +msgstr "" + +#: mainwindow.py:188 +msgid "&Help" +msgstr "" + +#: mainwindow.py:201 +msgid "&New Repository…" +msgstr "" + +#: mainwindow.py:203 +msgid "Create an empty Git repo" +msgstr "" + +#: mainwindow.py:205 +msgid "C&lone Repository…" +msgstr "" + +#: mainwindow.py:207 +msgid "Download a Git repo and open it" +msgstr "" + +#: mainwindow.py:211 +msgid "&Open Repository…" +msgstr "" + +#: mainwindow.py:215 +msgid "Open &Recent" +msgstr "" + +#: mainwindow.py:217 +msgid "List of recently opened Git repos" +msgstr "" + +#: mainwindow.py:227 +msgid "&Settings…" +msgstr "" + +#: mainwindow.py:237 +msgid "&Close Tab" +msgstr "" + +#: mainwindow.py:239 +msgid "Close current repository tab" +msgstr "" + +#: mainwindow.py:241 +msgid "&Quit" +msgstr "" + +#: mainwindow.py:243 +#, python-brace-format +msgid "Quit {app}" +msgstr "" + +#: mainwindow.py:252 +msgid "&Find…" +msgstr "" + +#: mainwindow.py:254 +msgid "Search for a piece of text in commit messages, the current diff, or the name of a file" +msgstr "" + +#: mainwindow.py:256 +msgid "Find Next" +msgstr "" + +#: mainwindow.py:258 +msgid "Find next occurrence" +msgstr "" + +#: mainwindow.py:260 +msgid "Find Previous" +msgstr "" + +#: mainwindow.py:262 +msgid "Find previous occurrence" +msgstr "" + +#: mainwindow.py:277 trtables.py:353 +msgid "Show status bar" +msgstr "" + +#: mainwindow.py:278 trtables.py:355 +msgid "Show menu bar" +msgstr "" + +#: mainwindow.py:283 +msgid "Focus on Sidebar" +msgstr "" + +#: mainwindow.py:284 +msgid "Focus on Commit Log" +msgstr "" + +#: mainwindow.py:285 +msgid "Focus on File List" +msgstr "" + +#: mainwindow.py:286 +msgid "Focus on Code View" +msgstr "" + +#: mainwindow.py:288 +msgid "Blame File…" +msgstr "" + +#: mainwindow.py:289 +msgid "Next File" +msgstr "" + +#: mainwindow.py:290 +msgid "Previous File" +msgstr "" + +#: mainwindow.py:292 +msgid "&Next Tab" +msgstr "" + +#: mainwindow.py:293 +msgid "&Previous Tab" +msgstr "" + +#: mainwindow.py:300 +msgid "Navigation Log" +msgstr "" + +#: mainwindow.py:309 +msgid "&Refresh" +msgstr "" + +#: mainwindow.py:313 +msgid "Check for changes in the repo (on the local filesystem only – will not fetch remotes)" +msgstr "" + +#: mainwindow.py:317 +msgid "Reloa&d" +msgstr "" + +#: mainwindow.py:320 +msgid "Reopen the repo from scratch" +msgstr "" + +#: mainwindow.py:345 +msgid "Edit Commands…" +msgstr "" + +#: mainwindow.py:367 +#, python-brace-format +msgid "&About {0}" +msgstr "" + +#: mainwindow.py:371 +#, python-brace-format +msgid "{0} User’s Guide" +msgstr "" + +#: mainwindow.py:377 +msgid "Open Trash…" +msgstr "" + +#: mainwindow.py:379 +msgid "Explore changes that you may have discarded by mistake" +msgstr "" + +#: mainwindow.py:381 +msgid "Empty Trash…" +msgstr "" + +#: mainwindow.py:382 +msgid "Delete all discarded changes from the trash folder" +msgstr "" + +#: mainwindow.py:413 +msgid "Clear List" +msgstr "" + +#: mainwindow.py:414 +msgid "Clear the list of recently opened repositories" +msgstr "" + +#: mainwindow.py:423 +msgid "Menu bar hidden" +msgstr "" + +#: mainwindow.py:424 +msgid "The menu bar is now hidden. Press the Alt key to toggle it." +msgstr "" + +#: mainwindow.py:501 +msgid "Close Tab" +msgstr "" + +#: mainwindow.py:502 +msgid "Close Other Tabs" +msgstr "" + +#: mainwindow.py:503 +msgid "Unload Other Tabs" +msgstr "" + +#: mainwindow.py:507 +msgid "Configure Tabs…" +msgstr "" + +#: mainwindow.py:535 mainwindow.py:780 +msgid "Open repository" +msgstr "" + +#: mainwindow.py:536 +#, python-brace-format +msgid "Couldn’t open the repository at {0}." +msgstr "" + +#: mainwindow.py:557 +msgid "There’s nothing at this path." +msgstr "" + +#: mainwindow.py:563 tasks/loadtasks.py:73 +#, python-brace-format +msgid "Sorry, {app} doesn’t support bare repositories." +msgstr "" + +#: mainwindow.py:732 +msgid "Open trash folder" +msgstr "" + +#: mainwindow.py:733 +#, python-brace-format +msgid "There’s no trash folder. Perhaps you haven’t discarded a change with {0} yet." +msgstr "" + +#: mainwindow.py:742 mainwindow.py:757 +msgid "Clear trash folder" +msgstr "" + +#: mainwindow.py:743 +msgid "There are no discarded changes to delete." +msgstr "" + +#: mainwindow.py:749 +#, python-brace-format +msgid "Do you want to permanently delete {n} discarded patch?" +msgid_plural "Do you want to permanently delete {n} discarded patches?" +msgstr[0] "" +msgstr[1] "" + +#: mainwindow.py:751 +#, python-brace-format +msgid "This will free up {0} on disk." +msgstr "" + +#: mainwindow.py:752 tasks/branchtasks.py:184 tasks/branchtasks.py:220 +#: tasks/indextasks.py:164 tasks/indextasks.py:240 tasks/indextasks.py:278 +#: tasks/nettasks.py:77 tasks/submoduletasks.py:96 +msgid "This cannot be undone!" +msgstr "" + +#: mainwindow.py:760 +msgid "Delete permanently" +msgstr "" + +#: mainwindow.py:842 +#, python-brace-format +msgid "{n} background tab unloaded." +msgid_plural "{n} background tabs unloaded." +msgstr[0] "" +msgstr[1] "" + +#: mainwindow.py:949 +#, python-brace-format +msgid "The session couldn’t be restored fully because a repository failed to load:" +msgid_plural "The session couldn’t be restored fully because {n} repositories failed to load:" +msgstr[0] "" +msgstr[1] "" + +#: mainwindow.py:951 +msgid "Restore session" +msgstr "" + +#: mainwindow.py:986 +#, python-brace-format +msgid "{0} isn’t in a Git repo" +msgstr "" + +#: mainwindow.py:1131 mainwindow.py:1135 +msgid "Apply Settings" +msgstr "" + +#: mainwindow.py:1132 +#, python-brace-format +msgid "You may need to restart {app} for the new settings to take effect fully." +msgstr "" + +#: mainwindow.py:1136 +msgid "The new settings won’t take effect fully until you reload the current repositories." +msgstr "" + +#: mainwindow.py:1139 +msgid "&Reload" +msgstr "" + +#: mainwindow.py:1143 +msgid "&Not Now" +msgstr "" + +#: mainwindow.py:1204 +#, python-brace-format +msgid "(Command) {0}" +msgstr "" + +#: mainwindow.py:1217 mainwindow.py:1272 repowidget.py:479 +msgid "Open Superproject" +msgstr "" + +#: mainwindow.py:1228 +#, python-brace-format +msgid "Open Superproject {0}" +msgstr "" + +#: mainwindow.py:1235 +msgid "&Open Repo Folder" +msgstr "" + +#: mainwindow.py:1239 +msgid "Open this repo’s working directory in the system’s file manager" +msgstr "" + +#: mainwindow.py:1243 +msgid "Open &Terminal" +msgstr "" + +#: mainwindow.py:1247 +msgid "Open a terminal in the repo’s working directory" +msgstr "" + +#: mainwindow.py:1251 +msgid "Cop&y Repo Path" +msgstr "" + +#: mainwindow.py:1253 +msgid "Copy the absolute path to this repo’s working directory to the clipboard" +msgstr "" + +#: mainwindow.py:1272 repowidget.py:479 +msgid "This repository does not have a superproject." +msgstr "" + +#: nav.py:69 +msgctxt "NavContext" +msgid "Empty" +msgstr "" + +#: nav.py:70 +msgctxt "NavContext" +msgid "Untracked" +msgstr "" + +#: nav.py:71 +msgctxt "NavContext" +msgid "Unstaged" +msgstr "" + +#: nav.py:72 +msgctxt "NavContext" +msgid "Staged" +msgstr "" + +#: nav.py:73 +msgctxt "NavContext" +msgid "Committed" +msgstr "" + +#: nav.py:75 +msgctxt "NavContext" +msgid "Unknown" +msgstr "" + +#: remotelink.py:92 +msgid "Remote operation interrupted by user." +msgstr "" + +#: remotelink.py:152 +msgid "Remote-specific public key file not found:" +msgstr "" + +#: remotelink.py:155 +msgid "Remote-specific private key file not found:" +msgstr "" + +#: remotelink.py:193 +msgid "Aborting remote operation…" +msgstr "" + +#: remotelink.py:227 +msgid "Too many credential retries." +msgstr "" + +#: remotelink.py:235 +msgid "Logging in with key:" +msgstr "" + +#: remotelink.py:243 +msgid "Unsupported authentication type." +msgstr "" + +#: remotelink.py:244 +#, python-brace-format +msgid "The remote claims to accept: {0}." +msgstr "" + +#: remotelink.py:247 +msgid "Could not find suitable key files for this remote." +msgstr "" + +#: remotelink.py:248 +msgid "The key files couldn’t be opened (permission issues?)." +msgstr "" + +#: remotelink.py:250 +#, python-brace-format +msgid "The remote has rejected your custom key file ({0})." +msgstr "" + +#: remotelink.py:253 +msgid "To change key file settings for this remote, right-click on the remote in the sidebar and pick “Edit Remote”." +msgstr "" + +#: remotelink.py:257 +msgid "Credentials rejected by remote." +msgstr "" + +#: remotelink.py:265 +msgid "Downloading…" +msgstr "" + +#: remotelink.py:266 +#, python-brace-format +msgid "Download complete ({0})." +msgstr "" + +#: remotelink.py:274 +msgid "Uploading…" +msgstr "" + +#: remotelink.py:275 +#, python-brace-format +msgid "Upload complete ({0})." +msgstr "" + +#: remotelink.py:314 +#, python-brace-format +msgctxt "download speed" +msgid "({0}/s)" +msgstr "" + +#: remotelink.py:319 +#, python-brace-format +msgid "Indexing {0} objects…" +msgstr "" + +#: remotelink.py:330 +msgid "Push update reference:" +msgstr "" + +#: remotelink.py:372 +msgid "Passphrase entry canceled." +msgstr "" + +#: remotelink.py:389 +#, python-brace-format +msgid "{0} is already up to date with {1}." +msgstr "" + +#: remotelink.py:391 +#, python-brace-format +msgid "{0} created: {1}." +msgstr "" + +#: remotelink.py:393 +#, python-brace-format +msgid "{0} deleted, was {1}." +msgstr "" + +#: remotelink.py:395 +#, python-brace-format +msgid "{0}: {1} → {2}." +msgstr "" + +#: remotelink.py:398 +msgid "No new commits." +msgstr "" + +#: repowidget.py:429 +msgid "Only text diffs may be opened in a separate window." +msgstr "" + +#: repowidget.py:458 +msgid "Please select a file before performing this action." +msgstr "" + +#: repowidget.py:506 +#, python-brace-format +msgid "File {0} does not exist." +msgstr "" + +#: repowidget.py:507 +msgid "Do you want to create it?" +msgstr "" + +#: repowidget.py:508 +#, python-brace-format +msgid "Create {0}" +msgstr "" + +#: repowidget.py:517 +msgid "Run Command" +msgstr "" + +#: repowidget.py:523 +msgid "The prerequisites for your command are not met:" +msgstr "" + +#: repowidget.py:535 +msgid "Do you want to run this command in a terminal?" +msgstr "" + +#: repowidget.py:537 +#, python-brace-format +msgid "Do you want to run {0} in a terminal?" +msgstr "" + +#: repowidget.py:573 +#, python-brace-format +msgid "{0} not found among the branches that aren’t hidden." +msgstr "" + +#: repowidget.py:575 +#, python-brace-format +msgid "{0} not found." +msgstr "" + +#: repowidget.py:579 +#, python-brace-format +msgid "Note: The search was limited to the top commit because the commit history is truncated." +msgid_plural "Note: The search was limited to the top {n} commits because the commit history is truncated." +msgstr[0] "" +msgstr[1] "" + +#: repowidget.py:584 +#, python-brace-format +msgid "Note: The search was limited to the single commit available in this shallow clone." +msgid_plural "Note: The search was limited to the {n} commits available in this shallow clone." +msgstr[0] "" +msgstr[1] "" + +#: repowidget.py:645 +msgid "Unborn HEAD" +msgstr "" + +#: repowidget.py:678 +#, python-brace-format +msgid "Merging {0}" +msgstr "" + +#: repowidget.py:683 +msgid "All conflicts fixed. Commit to conclude." +msgstr "" + +#: repowidget.py:686 repowidget.py:696 repowidget.py:706 +msgid "Conflicts need fixing." +msgstr "" + +#: repowidget.py:688 tasks/indextasks.py:562 tasks/taskbook.py:32 +msgid "Abort merge" +msgstr "" + +#: repowidget.py:693 +msgid "Commit to conclude the cherry-pick." +msgstr "" + +#: repowidget.py:698 tasks/indextasks.py:558 +msgid "Abort cherry-pick" +msgstr "" + +#: repowidget.py:703 +msgid "Commit to conclude the revert." +msgstr "" + +#: repowidget.py:708 tasks/indextasks.py:566 +msgid "Abort revert" +msgstr "" + +#: repowidget.py:713 +msgid "Conflicts" +msgstr "" + +#: repowidget.py:714 +msgid "Fix the conflicts among the uncommitted changes." +msgstr "" + +#: repowidget.py:715 tasks/indextasks.py:570 +msgid "Reset index" +msgstr "" + +#: repowidget.py:719 +msgid "Warning" +msgstr "" + +#: repowidget.py:721 +#, python-brace-format +msgid "The repo is currently in state {state}, which {app} doesn’t support yet. Use git on the command line to continue." +msgstr "" + +#: repowidget.py:768 +msgid "Repository folder went missing:" +msgstr "" + +#: repowidget.py:870 +msgid "&Local Config Files" +msgstr "" + +#: settings.py:344 +msgid "External editor" +msgstr "" + +#: settings.py:349 trtables.py:451 +msgid "Diff tool" +msgstr "" + +#: settings.py:354 trtables.py:457 +msgid "Merge tool" +msgstr "" + +#: sidebar/sidebar.py:170 +msgid "&New Branch…" +msgstr "" + +#: sidebar/sidebar.py:172 sidebar/sidebar.py:452 +msgid "Sort By" +msgstr "" + +#: sidebar/sidebar.py:202 +#, python-brace-format +msgid "&Switch to {0}…" +msgstr "" + +#: sidebar/sidebar.py:220 +#, python-brace-format +msgid "&Fetch {0}" +msgstr "" + +#: sidebar/sidebar.py:220 +msgid "Fetch" +msgstr "" + +#: sidebar/sidebar.py:227 +#, python-brace-format +msgid "Pu&ll from {0}…" +msgstr "" + +#: sidebar/sidebar.py:227 +msgid "Pull…" +msgstr "" + +#: sidebar/sidebar.py:233 +#, python-brace-format +msgid "Fast-Forward to {0}…" +msgstr "" + +#: sidebar/sidebar.py:233 +msgid "Fast-Forward…" +msgstr "" + +#: sidebar/sidebar.py:240 +#, python-brace-format +msgid "&Push to {0}…" +msgstr "" + +#: sidebar/sidebar.py:240 +msgid "Push…" +msgstr "" + +#: sidebar/sidebar.py:245 +msgid "&Upstream Branch" +msgstr "" + +#: sidebar/sidebar.py:250 +msgid "Re&name…" +msgstr "" + +#: sidebar/sidebar.py:252 +msgid "&Delete…" +msgstr "" + +#: sidebar/sidebar.py:260 sidebar/sidebar.py:320 sidebar/sidebar.py:381 +#: sidebar/sidebar.py:411 +msgid "&Hide in Graph" +msgstr "" + +#: sidebar/sidebar.py:263 +msgid "Hide this branch from the graph (effective if no other branches/tags point here)" +msgstr "" + +#: sidebar/sidebar.py:266 sidebar/sidebar.py:325 sidebar/sidebar.py:386 +#: sidebar/sidebar.py:416 +msgid "Hide &All But This" +msgstr "" + +#: sidebar/sidebar.py:279 +msgid "(no current branch)" +msgstr "" + +#: sidebar/sidebar.py:292 sidebar/sidebar.py:354 +#, python-brace-format +msgid "Visit Web Page on {0}" +msgstr "" + +#: sidebar/sidebar.py:301 +msgid "New Local &Branch Here…" +msgstr "" + +#: sidebar/sidebar.py:303 +msgid "&Fetch New Commits" +msgstr "" + +#: sidebar/sidebar.py:341 +msgid "Collapse All Folders" +msgstr "" + +#: sidebar/sidebar.py:345 +msgid "Expand All Folders" +msgstr "" + +#: sidebar/sidebar.py:374 +msgid "Copy Remote &URL" +msgstr "" + +#: sidebar/sidebar.py:399 +msgid "Sort Remote Branches By" +msgstr "" + +#: sidebar/sidebar.py:405 +msgid "Re&name Folder…" +msgstr "" + +#: sidebar/sidebar.py:406 +msgid "&Delete Folder…" +msgstr "" + +#: sidebar/sidebar.py:441 +msgid "Reveal &Parent Commit" +msgstr "" + +#: sidebar/sidebar.py:449 +msgid "&New Tag on HEAD Commit…" +msgstr "" + +#: sidebar/sidebar.py:450 +msgid "&Push All Tags To" +msgstr "" + +#: sidebar/sidebar.py:463 +msgid "&Check Out Tagged Commit…" +msgstr "" + +#: sidebar/sidebar.py:464 +msgid "&Delete Tag…" +msgstr "" + +#: sidebar/sidebar.py:466 +msgid "Push To" +msgstr "" + +#: sidebar/sidebar.py:481 +msgid "&Open Submodule in New Tab" +msgstr "" + +#: sidebar/sidebar.py:484 +msgid "Open Submodule &Folder" +msgstr "" + +#: sidebar/sidebar.py:487 +msgid "Copy &Path" +msgstr "" + +#: sidebar/sidebar.py:942 +msgid "Not tracking any upstream branch" +msgstr "" + +#: sidebar/sidebar.py:942 +msgid "Stop tracking upstream branch" +msgstr "" + +#: sidebar/sidebar.py:961 +msgid "No remotes." +msgstr "" + +#: sidebar/sidebar.py:963 +msgid "No remote branches found. Try fetching the remotes." +msgstr "" + +#: sidebar/sidebar.py:974 +msgid "&All Remotes" +msgstr "" + +#: sidebar/sidebarmodel.py:452 +msgid "Submodule not initialized." +msgstr "" + +#: sidebar/sidebarmodel.py:598 +#, python-brace-format +msgid "{0} (local branch)" +msgstr "" + +#: sidebar/sidebarmodel.py:602 +#, python-brace-format +msgid "Upstream: {0}" +msgstr "" + +#: sidebar/sidebarmodel.py:604 +msgid "(this is the checked-out branch)" +msgstr "" + +#: sidebar/sidebarmodel.py:614 +msgid "[unborn]" +msgstr "" + +#: sidebar/sidebarmodel.py:617 +msgid "Unborn HEAD: does not point to a commit yet." +msgstr "" + +#: sidebar/sidebarmodel.py:618 +#, python-brace-format +msgid "Local branch {0} will be created when you create the initial commit." +msgstr "" + +#: sidebar/sidebarmodel.py:659 +#, python-brace-format +msgid "{0} (remote-tracking branch)" +msgstr "" + +#: sidebar/sidebarmodel.py:661 +#, python-brace-format +msgid "Upstream for the checked-out branch ({0})" +msgstr "" + +#: sidebar/sidebarmodel.py:684 +#, python-brace-format +msgid "{0} (remote branch folder)" +msgstr "" + +#: sidebar/sidebarmodel.py:686 +#, python-brace-format +msgid "{0} (tag folder)" +msgstr "" + +#: sidebar/sidebarmodel.py:688 +#, python-brace-format +msgid "{0} (local branch folder)" +msgstr "" + +#: sidebar/sidebarmodel.py:706 +#, python-brace-format +msgid "Tag {0}" +msgstr "" + +#: sidebar/sidebarmodel.py:722 +msgid "date:" +msgstr "" + +#: sidebar/sidebarmodel.py:733 +#, python-brace-format +msgid "{0} (submodule)" +msgstr "" + +#: sidebar/sidebarmodel.py:734 +#, python-brace-format +msgid "Workdir: {0}" +msgstr "" + +#: sidebar/sidebarmodel.py:735 +msgid "[not set]" +msgstr "" + +#: sidebar/sidebarmodel.py:736 +#, python-brace-format +msgid "URL: {0}" +msgstr "" + +#: sidebar/sidebarmodel.py:758 tasks/taskbook.py:67 +msgid "Go to Working Directory" +msgstr "" + +#: sidebar/sidebarmodel.py:761 +#, python-brace-format +msgid "({n} uncommitted change)" +msgid_plural "({n} uncommitted changes)" +msgstr[0] "" +msgstr[1] "" + +#: sidebar/sidebarmodel.py:812 +msgid "Hiding everything but this (middle-click the eye to toggle)" +msgstr "" + +#: sidebar/sidebarmodel.py:814 +msgid "Hidden (click the eye to toggle)" +msgstr "" + +#: sidebar/sidebarmodel.py:816 +msgid "Indirectly hidden" +msgstr "" + +#: tasks/blametasks.py:26 +#, python-brace-format +msgid "Annotating {0}" +msgstr "" + +#: tasks/blametasks.py:38 +#, python-brace-format +msgid "File {0} has no history in the repository." +msgstr "" + +#: tasks/blametasks.py:96 +#, python-brace-format +msgid "{n} revision annotated." +msgid_plural "{n} revisions annotated." +msgstr[0] "" +msgstr[1] "" + +#: tasks/blametasks.py:110 +msgid "Please wait…" +msgstr "" + +#: tasks/blametasks.py:157 +#, python-brace-format +msgid "Found {n} revision…" +msgid_plural "Found {n} revisions…" +msgstr[0] "" +msgstr[1] "" + +#: tasks/blametasks.py:161 +#, python-brace-format +msgid "Annotating revision {0} of {1}…" +msgstr "" + +#: tasks/branchtasks.py:32 +#, python-brace-format +msgid "Branch {0} is already checked out." +msgstr "" + +#: tasks/branchtasks.py:36 +#, python-brace-format +msgid "Do you want to switch to branch {0}?" +msgstr "" + +#: tasks/branchtasks.py:37 +msgid "Switch" +msgstr "" + +#: tasks/branchtasks.py:43 tasks/taskbook.py:98 +msgid "Update submodules recursively" +msgstr "" + +#: tasks/branchtasks.py:52 tasks/branchtasks.py:337 tasks/committasks.py:260 +#, python-brace-format +msgid "You are in Detached HEAD mode at commit {0}." +msgstr "" + +#: tasks/branchtasks.py:53 +#, python-brace-format +msgid "You might lose track of this commit if you carry on switching to {0}." +msgstr "" + +#: tasks/branchtasks.py:61 +#, python-brace-format +msgid "Switched to branch {0}." +msgstr "" + +#: tasks/branchtasks.py:80 tasks/taskbook.py:86 +msgid "Rename local branch" +msgstr "" + +#: tasks/branchtasks.py:81 tasks/branchtasks.py:143 tasks/nettasks.py:107 +msgid "Enter new name:" +msgstr "" + +#: tasks/branchtasks.py:82 +#, python-brace-format +msgid "Current name: {0}" +msgstr "" + +#: tasks/branchtasks.py:85 tasks/branchtasks.py:147 +msgid "Rename" +msgstr "" + +#: tasks/branchtasks.py:100 +#, python-brace-format +msgid "Branch {0} renamed to {1}." +msgstr "" + +#: tasks/branchtasks.py:128 +#, python-brace-format +msgid "This name clashes with existing branch {0}." +msgstr "" + +#: tasks/branchtasks.py:136 +#, python-brace-format +msgid "Folder {name} contains {n} branch." +msgid_plural "Folder {name} contains {n} branches." +msgstr[0] "" +msgstr[1] "" + +#: tasks/branchtasks.py:142 +msgid "Rename branch folder" +msgstr "" + +#: tasks/branchtasks.py:148 +msgid "Leave blank to move the branches to the root folder." +msgstr "" + +#: tasks/branchtasks.py:168 +#, python-brace-format +msgid "Branch folder {0} renamed to {1}." +msgstr "" + +#: tasks/branchtasks.py:170 +#, python-brace-format +msgid "{n} branch affected." +msgid_plural "{n} branches affected." +msgstr[0] "" +msgstr[1] "" + +#: tasks/branchtasks.py:179 +#, python-brace-format +msgid "Cannot delete {0} because it is the current branch." +msgstr "" + +#: tasks/branchtasks.py:180 tasks/branchtasks.py:211 +msgid "Before you try again, switch to another branch." +msgstr "" + +#: tasks/branchtasks.py:183 +#, python-brace-format +msgid "Really delete local branch {0}?" +msgstr "" + +#: tasks/branchtasks.py:188 +msgid "Delete branch" +msgstr "" + +#: tasks/branchtasks.py:196 +#, python-brace-format +msgid "Branch {0} deleted (commit at tip was {1})." +msgstr "" + +#: tasks/branchtasks.py:210 +#, python-brace-format +msgid "Cannot delete folder {0} because it contains the current branch {1}." +msgstr "" + +#: tasks/branchtasks.py:218 +#, python-brace-format +msgid "Really delete local branch folder {0}?" +msgstr "" + +#: tasks/branchtasks.py:219 +#, python-brace-format +msgid "{n} branch will be deleted." +msgid_plural "{n} branches will be deleted." +msgstr[0] "" +msgstr[1] "" + +#: tasks/branchtasks.py:223 +msgid "Delete branch folder" +msgstr "" + +#: tasks/branchtasks.py:226 +msgid "Delete folder" +msgstr "" + +#: tasks/branchtasks.py:235 +#, python-brace-format +msgid "{n} branch deleted in folder {name}." +msgid_plural "{n} branches deleted in folder {name}." +msgstr[0] "" +msgstr[1] "" + +#: tasks/branchtasks.py:320 +#, python-brace-format +msgid "Branch {0} created on commit {1}." +msgstr "" + +#: tasks/branchtasks.py:338 +msgid "You might lose track of this commit if you switch to the new branch." +msgstr "" + +#: tasks/branchtasks.py:339 +msgid "Don’t Switch" +msgstr "" + +#: tasks/branchtasks.py:339 +#, python-brace-format +msgid "Switch to {0}" +msgstr "" + +#: tasks/branchtasks.py:396 +#, python-brace-format +msgid "Branch {0} now tracks {1}." +msgstr "" + +#: tasks/branchtasks.py:398 +#, python-brace-format +msgid "Branch {0} now tracks no upstream." +msgstr "" + +#: tasks/branchtasks.py:424 +#, python-brace-format +msgid "Branch {0} was reset to {1} ({mode})." +msgstr "" + +#: tasks/branchtasks.py:444 +#, python-brace-format +msgid "Can’t fast-forward {0} because it isn’t tracking an upstream branch." +msgstr "" + +#: tasks/branchtasks.py:463 +msgid "No fast-forwarding necessary." +msgstr "" + +#: tasks/branchtasks.py:465 +#, python-brace-format +msgid "Your local branch {0} is ahead of {1}." +msgstr "" + +#: tasks/branchtasks.py:467 tasks/nettasks.py:249 +#, python-brace-format +msgid "Your local branch {0} is already up to date with {1}." +msgstr "" + +#: tasks/branchtasks.py:479 +#, python-brace-format +msgid "Can’t fast-forward {0} to {1}." +msgstr "" + +#: tasks/branchtasks.py:480 +msgid "The branches are divergent." +msgstr "" + +#: tasks/branchtasks.py:485 +#, python-brace-format +msgid "Merge into {0}" +msgstr "" + +#: tasks/branchtasks.py:517 +msgid "Merging is not possible right now because you have unresolved conflicts." +msgstr "" + +#: tasks/branchtasks.py:518 +msgid "Fix the conflicts to proceed." +msgstr "" + +#: tasks/branchtasks.py:523 +msgid "Merging is not possible right now because you have staged changes." +msgstr "" + +#: tasks/branchtasks.py:524 +msgid "Commit your changes or stash them to proceed." +msgstr "" + +#: tasks/branchtasks.py:529 +msgid "No merge is necessary." +msgstr "" + +#: tasks/branchtasks.py:530 +#, python-brace-format +msgid "Your branch {0} is already up to date with {1}." +msgstr "" + +#: tasks/branchtasks.py:534 +msgid "Cannot merge into an unborn head." +msgstr "" + +#: tasks/branchtasks.py:544 +msgid "Merging may cause conflicts" +msgstr "" + +#: tasks/branchtasks.py:546 +#, python-brace-format +msgid "Merging {0} into {1} may cause conflicts." +msgstr "" + +#: tasks/branchtasks.py:547 +msgid "You will need to fix the conflicts, if any. Then, commit the result to conclude the merge." +msgstr "" + +#: tasks/branchtasks.py:548 +msgid "Merge" +msgstr "" + +#: tasks/branchtasks.py:576 +#, python-brace-format +msgid "Merging {0} into {1}." +msgstr "" + +#: tasks/branchtasks.py:580 +#, python-brace-format +msgid "Branch {0} fast-forwarded to {1}." +msgstr "" + +#: tasks/branchtasks.py:583 +msgid "Fast-forwarding possible" +msgstr "" + +#: tasks/branchtasks.py:584 +#, python-brace-format +msgid "Your branch {0} can simply be fast-forwarded to {1}." +msgstr "" + +#: tasks/branchtasks.py:587 +#, python-brace-format +msgid "Automatic fast-forwarding is blocked by the {0} option in your Git config." +msgstr "" + +#: tasks/branchtasks.py:591 +msgid "Fast-forwarding means that the tip of your branch will be moved to a more recent commit in a linear path, without the need to create a merge commit." +msgstr "" + +#: tasks/branchtasks.py:593 +#, python-brace-format +msgid "In this case, {0} will be fast-forwarded to {1}." +msgstr "" + +#: tasks/branchtasks.py:595 +msgid "Create Merge Commit" +msgstr "" + +#: tasks/branchtasks.py:596 +msgid "Fast-Forward" +msgstr "" + +#: tasks/branchtasks.py:609 tasks/taskbook.py:82 +msgid "Recall lost commit" +msgstr "" + +#: tasks/branchtasks.py:610 +#, python-brace-format +msgid "If you know the hash of a commit that isn’t part of any branches anymore, {app} will try to recall it for you." +msgstr "" + +#: tasks/branchtasks.py:612 +msgid "Recall" +msgstr "" + +#: tasks/committasks.py:42 +msgid "Do you want to create an empty commit anyway?" +msgstr "" + +#: tasks/committasks.py:42 +msgid "No files are staged for commit." +msgstr "" + +#: tasks/committasks.py:46 +#, python-brace-format +msgid "Note: Your working directory contains {n} unstaged file. If you want to commit it, you should stage it first." +msgid_plural "Note: Your working directory contains {n} unstaged files. If you want to commit them, you should stage them first." +msgstr[0] "" +msgstr[1] "" + +#: tasks/committasks.py:53 +msgid "Create empty commit" +msgstr "" + +#: tasks/committasks.py:54 tasks/jumptasks.py:325 +msgid "Empty commit" +msgstr "" + +#: tasks/committasks.py:57 +msgid "Proceed to Commit" +msgstr "" + +#: tasks/committasks.py:112 +#, python-brace-format +msgid "Commit {0} created." +msgstr "" + +#: tasks/committasks.py:132 +msgid "Proceed to Amend Commit" +msgstr "" + +#: tasks/committasks.py:173 +#, python-brace-format +msgid "Commit {0} amended. New hash: {1}." +msgstr "" + +#: tasks/committasks.py:261 +#, python-brace-format +msgid "You might lose track of this commit if you carry on checking out another commit ({0})." +msgstr "" + +#: tasks/committasks.py:268 +#, python-brace-format +msgid "Entered detached HEAD on {0}." +msgstr "" + +#: tasks/committasks.py:300 +msgid "Proceed to New Tag" +msgstr "" + +#: tasks/committasks.py:332 +#, python-brace-format +msgid "Tag {0} created on commit {1}." +msgstr "" + +#: tasks/committasks.py:387 +#, python-brace-format +msgid "Do you want to revert commit {0}?" +msgstr "" + +#: tasks/committasks.py:388 +msgid "You will have an opportunity to review the affected files in your working directory." +msgstr "" + +#: tasks/committasks.py:409 +#, python-brace-format +msgid "There’s nothing to revert from {0} that the current branch hasn’t already undone." +msgstr "" + +#: tasks/committasks.py:422 +#, python-brace-format +msgid "Reverting {0} was successful. Do you want to commit the result now?" +msgstr "" + +#: tasks/committasks.py:423 tasks/committasks.py:469 +msgid "Review changes" +msgstr "" + +#: tasks/committasks.py:452 +#, python-brace-format +msgid "There’s nothing to cherry-pick from {0} that the current branch doesn’t already have." +msgstr "" + +#: tasks/committasks.py:466 +#, python-brace-format +msgid "Cherry-picking {0} was successful. Do you want to commit the result now?" +msgstr "" + +#: tasks/exporttasks.py:57 +#, python-brace-format +msgid "{app} cannot export binary patches from a hand-picked selection of files." +msgstr "" + +#: tasks/exporttasks.py:61 +#, python-brace-format +msgid "Binary file will be omitted from patch file:" +msgid_plural "{n} binary files will be omitted from patch file:" +msgstr[0] "" +msgstr[1] "" + +#: tasks/exporttasks.py:62 +msgid "Proceed" +msgstr "" + +#: tasks/exporttasks.py:65 +msgid "Nothing to export. The patch is empty." +msgstr "" + +#: tasks/exporttasks.py:111 +#, python-brace-format +msgctxt "patch file name, please keep it short" +msgid "stashed on {commit}" +msgstr "" + +#: tasks/exporttasks.py:126 +#, python-brace-format +msgctxt "patch file name, please keep it short" +msgid "uncommitted changes on {commit}" +msgstr "" + +#: tasks/indextasks.py:44 +#, python-brace-format +msgid "You have selected an unresolved merge conflict." +msgid_plural "You have selected {n} unresolved merge conflicts." +msgstr[0] "" +msgstr[1] "" + +#: tasks/indextasks.py:47 +#, python-brace-format +msgid "There is an unresolved merge conflict among your selection." +msgid_plural "There are {n} unresolved merge conflicts among your selection." +msgstr[0] "" +msgstr[1] "" + +#: tasks/indextasks.py:51 +msgctxt "please fix (the merge conflicts)" +msgid "Please fix it before staging:" +msgid_plural "Please fix them before staging:" +msgstr[0] "" +msgstr[1] "" + +#: tasks/indextasks.py:53 +msgctxt "please fix (the merge conflicts)" +msgid "Please fix it before discarding:" +msgid_plural "Please fix them before discarding:" +msgstr[0] "" +msgstr[1] "" + +#: tasks/indextasks.py:80 +#, python-brace-format +msgid "File staged." +msgid_plural "{n} files staged." +msgstr[0] "" +msgstr[1] "" + +#: tasks/indextasks.py:90 +msgid "You’ve added another Git repo inside your current repo. It is STRONGLY RECOMMENDED to absorb it as a submodule before committing." +msgstr "" + +#: tasks/indextasks.py:95 +#, python-brace-format +msgid "Don’t forget to remove the submodule from {0} to complete its deletion." +msgstr "" + +#: tasks/indextasks.py:98 +msgid "Uncommitted changes in the submodule can’t be staged from the parent repository." +msgstr "" + +#: tasks/indextasks.py:113 +#, python-brace-format +msgid "An item requires your attention after staging:" +msgid_plural "{n} items require your attention after staging:" +msgstr[0] "" +msgstr[1] "" + +#: tasks/indextasks.py:122 tasks/taskbook.py:48 +msgid "Discard changes" +msgstr "" + +#: tasks/indextasks.py:139 +#, python-brace-format +msgid "Really delete {0}?" +msgstr "" + +#: tasks/indextasks.py:140 +msgid "Git isn’t tracking this file, so you may not be able to recover it from older commits." +msgstr "" + +#: tasks/indextasks.py:143 +#, python-brace-format +msgid "Really discard changes in submodule {0}?" +msgstr "" + +#: tasks/indextasks.py:145 +#, python-brace-format +msgid "Really discard changes to {0}?" +msgstr "" + +#: tasks/indextasks.py:150 +#, python-brace-format +msgid "Really discard changes in {n} submodules?" +msgstr "" + +#: tasks/indextasks.py:152 +#, python-brace-format +msgid "Really discard changes to {nf} files and in {ns} submodules?" +msgstr "" + +#: tasks/indextasks.py:154 +#, python-brace-format +msgid "Really discard changes to {n} files?" +msgstr "" + +#: tasks/indextasks.py:159 +#, python-brace-format +msgid "Any uncommitted changes in the submodule will be cleared and the submodule’s HEAD will be reset." +msgid_plural "Any uncommitted changes in {n} submodules will be cleared and the submodules’ HEAD will be reset." +msgstr[0] "" +msgstr[1] "" + +#: tasks/indextasks.py:195 +#, python-brace-format +msgid "File discarded." +msgid_plural "{n} files discarded." +msgstr[0] "" +msgstr[1] "" + +#: tasks/indextasks.py:204 +#, python-brace-format +msgid "Couldn’t restore gitlink file for submodule {0}." +msgstr "" + +#: tasks/indextasks.py:225 +#, python-brace-format +msgid "File unstaged." +msgid_plural "{n} files unstaged." +msgstr[0] "" +msgstr[1] "" + +#: tasks/indextasks.py:237 +#, python-brace-format +msgid "Really discard mode change in {0}?" +msgstr "" + +#: tasks/indextasks.py:239 +#, python-brace-format +msgid "Really discard mode changes in {n} files?" +msgstr "" + +#: tasks/indextasks.py:242 tasks/taskbook.py:49 +msgid "Discard mode changes" +msgstr "" + +#: tasks/indextasks.py:268 +#, python-brace-format +msgid "Can’t {verb} the selection because no red/green lines are selected." +msgstr "" + +#: tasks/indextasks.py:275 +msgid "Really discard this hunk?" +msgstr "" + +#: tasks/indextasks.py:277 +msgid "Really discard the selected lines?" +msgstr "" + +#: tasks/indextasks.py:297 +msgid "There’s nothing to revert in the selection." +msgstr "" + +#: tasks/indextasks.py:301 +msgid "Couldn’t revert this patch." +msgstr "" + +#: tasks/indextasks.py:302 +msgid "The code may have diverged too much from this revision." +msgstr "" + +#: tasks/indextasks.py:360 +#, python-brace-format +msgid "Conflict resolved." +msgid_plural "{n} conflicts resolved." +msgstr[0] "" +msgstr[1] "" + +#: tasks/indextasks.py:397 +#, python-brace-format +msgid "Merge conflict resolved in {0}." +msgstr "" + +#: tasks/indextasks.py:403 tasks/taskbook.py:39 +msgid "Revert patch file" +msgstr "" + +#: tasks/indextasks.py:404 tasks/indextasks.py:481 +msgid "Revert" +msgstr "" + +#: tasks/indextasks.py:406 tasks/taskbook.py:37 tasks/taskbook.py:38 +msgid "Apply patch file" +msgstr "" + +#: tasks/indextasks.py:409 +msgid "Patch file" +msgstr "" + +#: tasks/indextasks.py:410 +msgid "All files" +msgstr "" + +#: tasks/indextasks.py:445 +#, python-brace-format +msgid "Do you want to {verb} patch file {path}?" +msgstr "" + +#: tasks/indextasks.py:447 tasks/indextasks.py:485 +#, python-brace-format +msgid "{n} file will be modified in your working directory:" +msgid_plural "{n} files will be modified in your working directory:" +msgstr[0] "" +msgstr[1] "" + +#: tasks/indextasks.py:480 +msgid "Apply patch" +msgstr "" + +#: tasks/indextasks.py:480 +msgid "Revert patch" +msgstr "" + +#: tasks/indextasks.py:484 +#, python-brace-format +msgid "Do you want to {verb} this patch?" +msgstr "" + +#: tasks/indextasks.py:500 +msgctxt "preposition slotted into '...BEFORE this commit'" +msgid "before" +msgstr "" + +#: tasks/indextasks.py:504 +msgctxt "preposition slotted into '...AT this commit'" +msgid "at" +msgstr "" + +#: tasks/indextasks.py:512 +#, python-brace-format +msgid "Your working copy of {path} already matches the revision {preposition} this commit." +msgstr "" + +#: tasks/indextasks.py:517 +msgid "recreated" +msgstr "" + +#: tasks/indextasks.py:519 +msgid "deleted" +msgstr "" + +#: tasks/indextasks.py:521 +msgid "overwritten" +msgstr "" + +#: tasks/indextasks.py:523 +#, python-brace-format +msgid "Do you want to restore {path} as it was {preposition} this commit?" +msgstr "" + +#: tasks/indextasks.py:525 +#, python-brace-format +msgid "This file will be {processed} in your working directory." +msgstr "" + +#: tasks/indextasks.py:527 +msgid "Restore" +msgstr "" + +#: tasks/indextasks.py:540 +#, python-brace-format +msgid "File {path} {processed}." +msgstr "" + +#: tasks/indextasks.py:554 +msgid "No abortable state is in progress." +msgstr "" + +#: tasks/indextasks.py:557 +msgid "abort the ongoing cherry-pick" +msgstr "" + +#: tasks/indextasks.py:559 +msgid "Cherry-pick aborted." +msgstr "" + +#: tasks/indextasks.py:561 +msgid "abort the ongoing merge" +msgstr "" + +#: tasks/indextasks.py:563 +msgid "Merge aborted." +msgstr "" + +#: tasks/indextasks.py:565 +msgid "abort the ongoing revert" +msgstr "" + +#: tasks/indextasks.py:567 +msgid "Revert aborted." +msgstr "" + +#: tasks/indextasks.py:569 +msgid "reset the index" +msgstr "" + +#: tasks/indextasks.py:571 +msgid "Index reset." +msgstr "" + +#: tasks/indextasks.py:577 +#, python-brace-format +msgid "Cannot {verb} right now, because a file contains both staged and unstaged changes." +msgid_plural "Cannot {verb} right now, because {n} files contain both staged and unstaged changes." +msgstr[0] "" +msgstr[1] "" + +#: tasks/indextasks.py:580 +msgid "Please unstage the changes and try again." +msgstr "" + +#: tasks/indextasks.py:583 +#, python-brace-format +msgid "Do you want to {0}?" +msgstr "" + +#: tasks/indextasks.py:586 +msgid "No files are affected." +msgstr "" + +#: tasks/indextasks.py:589 +msgid "All conflicts will be cleared and all staged changes will be lost." +msgstr "" + +#: tasks/indextasks.py:591 +msgid "All staged changes will be lost." +msgstr "" + +#: tasks/indextasks.py:592 +#, python-brace-format +msgid "This file will be reset:" +msgid_plural "{n} files will be reset:" +msgstr[0] "" +msgstr[1] "" + +#: tasks/jumptasks.py:150 +#, python-brace-format +msgid "Unstaged ({n})" +msgid_plural "Unstaged ({n})" +msgstr[0] "" +msgstr[1] "" + +#: tasks/jumptasks.py:151 +#, python-brace-format +msgid "Staged ({n})" +msgid_plural "Staged ({n})" +msgstr[0] "" +msgstr[1] "" + +#: tasks/jumptasks.py:152 +#, python-brace-format +msgid "Commit {n} file" +msgid_plural "Commit {n} files" +msgstr[0] "" +msgstr[1] "" + +#: tasks/jumptasks.py:177 +msgid "The working directory is clean." +msgstr "" + +#: tasks/jumptasks.py:178 +msgid "There aren’t any changes to commit." +msgstr "" + +#: tasks/jumptasks.py:211 +msgid "Shallow clone – End of available history." +msgstr "" + +#: tasks/jumptasks.py:212 +msgid "More commits may be available in a full clone." +msgstr "" + +#: tasks/jumptasks.py:224 +msgid "[Load full commit history] (this may take a moment)" +msgstr "" + +#: tasks/jumptasks.py:225 +#, python-brace-format +msgid "[Change threshold setting] (currently: {0} commits)" +msgstr "" + +#: tasks/jumptasks.py:228 +#, python-brace-format +msgid "History truncated to {0} commits." +msgstr "" + +#: tasks/jumptasks.py:229 +msgid "More commits may be available." +msgstr "" + +#: tasks/jumptasks.py:231 +msgid "History truncated" +msgstr "" + +#: tasks/jumptasks.py:253 +#, python-brace-format +msgid "Unknown reference {0}." +msgstr "" + +#: tasks/jumptasks.py:318 +#, python-brace-format +msgid "{n} change:|{n} ch.:" +msgid_plural "{n} changes:|{n} ch.:" +msgstr[0] "" +msgstr[1] "" + +#: tasks/jumptasks.py:327 +msgid "This commit is empty." +msgstr "" + +#: tasks/jumptasks.py:328 +#, python-brace-format +msgid "Commit {0} doesn’t affect any files." +msgstr "" + +#: tasks/jumptasks.py:334 +msgid "Rename detection was skipped to load this large commit faster." +msgstr "" + +#: tasks/jumptasks.py:337 +#, python-brace-format +msgid "{n} rename detected." +msgid_plural "{n} renames detected." +msgstr[0] "" +msgstr[1] "" + +#: tasks/jumptasks.py:345 +msgid "Detect Renames" +msgstr "" + +#: tasks/loadtasks.py:45 +msgid "Loading repo" +msgstr "" + +#: tasks/loadtasks.py:124 +#, python-brace-format +msgid "{0} commits…" +msgstr "" + +#: tasks/loadtasks.py:137 +#, python-brace-format +msgid "{0} commits loaded (truncated log)." +msgstr "" + +#: tasks/loadtasks.py:139 +#, python-brace-format +msgid "{0} commits total." +msgstr "" + +#: tasks/loadtasks.py:290 +msgid "Try to reload the file." +msgstr "" + +#: tasks/loadtasks.py:294 +#, python-brace-format +msgid "Consider re-enabling {0} to prevent this issue." +msgstr "" + +#: tasks/loadtasks.py:298 +msgid "Outdated diff." +msgstr "" + +#: tasks/loadtasks.py:299 +msgid "The file appears to have changed on disk." +msgstr "" + +#: tasks/loadtasks.py:305 +msgid "Patch has no delta!" +msgstr "" + +#: tasks/loadtasks.py:343 +#, python-brace-format +msgctxt "at (specific commit)" +msgid "at {0}" +msgstr "" + +#: tasks/misctasks.py:84 +#, python-brace-format +msgid "Parent" +msgid_plural "{n} Parents" +msgstr[0] "" +msgstr[1] "" + +#: tasks/misctasks.py:90 +msgid "You’re working in a shallow clone. This commit may actually have parents in the full history." +msgstr "" + +#: tasks/misctasks.py:95 +msgid "(same as author)" +msgstr "" + +#: tasks/misctasks.py:100 +msgid "Hash" +msgstr "" + +#: tasks/misctasks.py:102 +msgid "Author" +msgstr "" + +#: tasks/misctasks.py:103 +msgid "Committer" +msgstr "" + +#: tasks/misctasks.py:119 +#, python-brace-format +msgid "Commit info: {0}" +msgstr "" + +#: tasks/misctasks.py:198 +#, python-brace-format +msgid "Added to {file}: {pattern}" +msgstr "" + +#: tasks/nettasks.py:61 +#, python-brace-format +msgid "Can’t fetch new commits on {0} because this branch isn’t tracking an upstream branch." +msgstr "" + +#: tasks/nettasks.py:75 +#, python-brace-format +msgid "Really delete branch {0} from the remote repository?" +msgstr "" + +#: tasks/nettasks.py:76 +#, python-brace-format +msgid "The remote branch will disappear for all users of remote {0}." +msgstr "" + +#: tasks/nettasks.py:78 +msgid "Delete on remote" +msgstr "" + +#: tasks/nettasks.py:90 +#, python-brace-format +msgid "Remote branch {0} deleted." +msgstr "" + +#: tasks/nettasks.py:106 +#, python-brace-format +msgid "Rename remote branch {0}" +msgstr "" + +#: tasks/nettasks.py:107 +msgid "WARNING: This will rename the branch for all users of the remote!" +msgstr "" + +#: tasks/nettasks.py:110 +msgid "Rename on remote" +msgstr "" + +#: tasks/nettasks.py:134 +#, python-brace-format +msgid "Remote branch {0} renamed to {1}." +msgstr "" + +#: tasks/nettasks.py:143 +msgid "To fetch remote branches, you must first add a remote to your repo." +msgstr "" + +#: tasks/nettasks.py:144 tasks/nettasks.py:330 +msgid "You can do so via “Repo → Add Remote”." +msgstr "" + +#: tasks/nettasks.py:151 +#, python-brace-format +msgid "Fetch remote {0}" +msgstr "" + +#: tasks/nettasks.py:153 +#, python-brace-format +msgid "Fetch {n} remotes" +msgstr "" + +#: tasks/nettasks.py:176 tasks/nettasks.py:214 +msgid "Fetch complete." +msgstr "" + +#: tasks/nettasks.py:182 +#, python-brace-format +msgid "Couldn’t fetch remote:" +msgid_plural "Couldn’t fetch {n} remotes:" +msgstr[0] "" +msgstr[1] "" + +#: tasks/nettasks.py:192 +#, python-brace-format +msgid "Fetch remote branch {0}" +msgstr "" + +#: tasks/nettasks.py:214 +#, python-brace-format +msgid "No new commits on {0}." +msgstr "" + +#: tasks/nettasks.py:225 +#, python-brace-format +msgid "{0} has disappeared from the remote server." +msgstr "" + +#: tasks/nettasks.py:235 +#, python-brace-format +msgid "Can’t pull new commits into {0} because this branch isn’t tracking an upstream branch." +msgstr "" + +#: tasks/nettasks.py:248 tasks/taskbook.py:112 +msgctxt "toolbar" +msgid "Pull" +msgstr "" + +#: tasks/nettasks.py:290 tasks/nettasks.py:301 +#, python-brace-format +msgid "Submodule updated." +msgid_plural "{n} submodules updated." +msgstr[0] "" +msgstr[1] "" + +#: tasks/nettasks.py:329 +msgid "To push a local branch to a remote, you must first add a remote to your repo." +msgstr "" + +#: tasks/nettasks.py:338 tasks/repotask.py:595 +msgid "Please switch to a local branch before performing this action." +msgstr "" + +#: tasks/nettasks.py:402 +msgid "Push complete." +msgstr "" + +#: tasks/newrepotasks.py:23 +msgid "New repository" +msgstr "" + +#: tasks/newrepotasks.py:25 +msgid "&Create repo here" +msgstr "" + +#: tasks/newrepotasks.py:45 +#, python-brace-format +msgid "Are you sure you want to initialize a Git repository in {0}? This directory isn’t empty." +msgstr "" + +#: tasks/newrepotasks.py:47 +msgid "Directory isn’t empty" +msgstr "" + +#: tasks/newrepotasks.py:62 +msgid "Repository already exists" +msgstr "" + +#: tasks/newrepotasks.py:63 +msgid "A repository already exists here:" +msgstr "" + +#: tasks/newrepotasks.py:64 +msgid "&Open existing repo" +msgstr "" + +#: tasks/newrepotasks.py:83 +#, python-brace-format +msgid "An existing repository, {0}, was found in a parent folder of this location:" +msgstr "" + +#: tasks/newrepotasks.py:85 +#, python-brace-format +msgid "Are you sure you want to create {0} within the existing repo?" +msgstr "" + +#: tasks/newrepotasks.py:87 +#, python-brace-format +msgid "&Create {0}" +msgstr "" + +#: tasks/newrepotasks.py:91 +msgid "Repository found in parent folder" +msgstr "" + +#: tasks/newrepotasks.py:93 +#, python-brace-format +msgid "&Open {0}" +msgstr "" + +#: tasks/remotetasks.py:46 +#, python-brace-format +msgid "Remote {0} added." +msgstr "" + +#: tasks/remotetasks.py:90 +#, python-brace-format +msgid "Really remove remote {0}?" +msgstr "" + +#: tasks/remotetasks.py:91 +msgid "This will merely detach the remote from your local repository. The remote server itself will not be affected." +msgstr "" + +#: tasks/remotetasks.py:93 tasks/taskbook.py:45 +msgid "Remove remote" +msgstr "" + +#: tasks/remotetasks.py:100 +#, python-brace-format +msgid "Remote {0} removed." +msgstr "" + +#: tasks/repotask.py:35 +#, python-brace-format +msgid "Conflicting file" +msgid_plural "{n} conflicting files" +msgstr[0] "" +msgstr[1] "" + +#: tasks/repotask.py:36 +#, python-brace-format +msgctxt "operation conflicts with…" +msgid "a file" +msgid_plural "{n} files" +msgstr[0] "" +msgstr[1] "" + +#: tasks/repotask.py:40 +#, python-brace-format +msgid "Operation {op} conflicts with {files} in the working directory:" +msgstr "" + +#: tasks/repotask.py:42 +#, python-brace-format +msgid "Operation {op} conflicts with {files} in the commit at HEAD:" +msgstr "" + +#: tasks/repotask.py:44 +#, python-brace-format +msgid "Operation {op} has caused a conflict with {files} ({exc}):" +msgstr "" + +#: tasks/repotask.py:52 +msgid "Before you try again, you should either commit, stash, or discard your changes." +msgstr "" + +#: tasks/repotask.py:62 +#, python-brace-format +msgid "Operation {op} ran into an issue with {n} file." +msgid_plural "Operation {op} ran into issues with {n} files." +msgstr[0] "" +msgstr[1] "" + +#: tasks/repotask.py:66 +#, python-brace-format +msgid "({n} other file was successful.)" +msgid_plural "({n} other files were successful.)" +msgstr[0] "" +msgstr[1] "" + +#: tasks/repotask.py:80 +#, python-brace-format +msgid "This file contains {a} line endings. They will not be replaced by {b} because {opt} is enabled." +msgstr "" + +#: tasks/repotask.py:333 toolbox/messageboxes.py:299 +#, python-brace-format +msgid "Operation failed: {0}." +msgstr "" + +#: tasks/repotask.py:536 +msgid "Don’t ask me to confirm this again" +msgstr "" + +#: tasks/repotask.py:536 +msgid "Don’t show this again" +msgstr "" + +#: tasks/repotask.py:585 +msgid "Fix merge conflicts before performing this action." +msgstr "" + +#: tasks/repotask.py:589 +msgid "There are no commits in this repository yet." +msgstr "" + +#: tasks/repotask.py:590 +msgid "Create the initial commit in this repository before performing this action." +msgstr "" + +#: tasks/repotask.py:594 +msgid "You are in “detached HEAD” state." +msgstr "" + +#: tasks/repotask.py:599 +msgid "You are in the middle of a cherry-pick." +msgstr "" + +#: tasks/repotask.py:600 +msgid "Before performing this action, conclude the cherry-pick." +msgstr "" + +#: tasks/repotask.py:604 +msgid "You have staged changes." +msgstr "" + +#: tasks/repotask.py:605 +msgid "Before performing this action, commit your changes or stash them." +msgstr "" + +#: tasks/repotask.py:722 +#, python-brace-format +msgid "Please wait for the current operation to complete ({0})." +msgstr "" + +#: tasks/repotask.py:723 +msgid "Operation in progress" +msgstr "" + +#: tasks/repotask.py:801 +#, python-brace-format +msgid "Busy: {0}…" +msgstr "" + +#: tasks/stashtasks.py:49 +msgid "There are no uncommitted changes to stash." +msgstr "" + +#: tasks/stashtasks.py:57 +msgid "There are no uncommitted changes to stash (submodules cannot be stashed)." +msgstr "" + +#: tasks/stashtasks.py:79 +#, python-brace-format +msgid "File stashed." +msgid_plural "{n} files stashed." +msgstr[0] "" +msgstr[1] "" + +#: tasks/stashtasks.py:91 +#, python-brace-format +msgid "Do you want to apply the changes stashed in {0} to your working directory?" +msgstr "" + +#: tasks/stashtasks.py:100 +msgid "&Apply && Delete" +msgstr "" + +#: tasks/stashtasks.py:100 +msgid "&Apply && Keep" +msgstr "" + +#: tasks/stashtasks.py:102 +msgid "&Delete the stash if it applies cleanly" +msgstr "" + +#: tasks/stashtasks.py:118 +#, python-brace-format +msgid "Stash {0} applied." +msgstr "" + +#: tasks/stashtasks.py:122 +#, python-brace-format +msgid "Stash {0} applied, with conflicts." +msgstr "" + +#: tasks/stashtasks.py:123 +#, python-brace-format +msgid "Applying the stash {0} has caused merge conflicts because your files have diverged since they were stashed." +msgstr "" + +#: tasks/stashtasks.py:126 +msgid "The stash wasn’t deleted in case you need to re-apply it later." +msgstr "" + +#: tasks/stashtasks.py:127 +msgid "Conflicts caused by stash application" +msgstr "" + +#: tasks/stashtasks.py:134 +#, python-brace-format +msgid "Stash {0} applied and deleted." +msgstr "" + +#: tasks/stashtasks.py:142 +#, python-brace-format +msgid "Really delete stash {0}?" +msgstr "" + +#: tasks/stashtasks.py:143 tasks/taskbook.py:50 +msgid "Delete stash" +msgstr "" + +#: tasks/stashtasks.py:151 +#, python-brace-format +msgid "Stash {0} deleted." +msgstr "" + +#: tasks/submoduletasks.py:48 +#, python-brace-format +msgid "{0} has no remotes." +msgstr "" + +#: tasks/submoduletasks.py:49 +#, python-brace-format +msgid "Please open {0} and add a remote to it before absorbing it as a submodule." +msgstr "" + +#: tasks/submoduletasks.py:66 +#, python-brace-format +msgid "Settings will be saved in {0}" +msgstr "" + +#: tasks/submoduletasks.py:93 +#, python-brace-format +msgid "Really remove submodule {0}?" +msgstr "" + +#: tasks/submoduletasks.py:94 +#, python-brace-format +msgid "The submodule will be removed from {0} and its working copy will be deleted." +msgstr "" + +#: tasks/submoduletasks.py:95 +msgid "Any changes in the submodule that haven’t been pushed will be lost." +msgstr "" + +#: tasks/taskbook.py:34 +msgid "Accept merge conflict resolution" +msgstr "" + +#: tasks/taskbook.py:35 +msgid "Amend last commit" +msgstr "" + +#: tasks/taskbook.py:36 +msgid "Apply selected text" +msgstr "" + +#: tasks/taskbook.py:40 +msgid "Apply stash" +msgstr "" + +#: tasks/taskbook.py:41 +msgid "Check out commit" +msgstr "" + +#: tasks/taskbook.py:42 +msgid "Cherry-pick" +msgstr "" + +#: tasks/taskbook.py:43 +msgid "Delete local branch" +msgstr "" + +#: tasks/taskbook.py:44 +msgid "Delete local branch folder" +msgstr "" + +#: tasks/taskbook.py:46 +msgid "Delete branch on remote" +msgstr "" + +#: tasks/taskbook.py:47 +msgid "Delete tag" +msgstr "" + +#: tasks/taskbook.py:52 +msgid "Edit upstream branch" +msgstr "" + +#: tasks/taskbook.py:53 +msgid "Export commit as patch file" +msgstr "" + +#: tasks/taskbook.py:54 +msgid "Export patch file" +msgstr "" + +#: tasks/taskbook.py:55 +msgid "Export stash as patch file" +msgstr "" + +#: tasks/taskbook.py:56 +msgid "Export changes as patch file" +msgstr "" + +#: tasks/taskbook.py:57 +msgid "Fast-forward branch" +msgstr "" + +#: tasks/taskbook.py:58 +msgid "Fetch remote branches" +msgstr "" + +#: tasks/taskbook.py:59 +msgid "Fetch remote branch" +msgstr "" + +#: tasks/taskbook.py:60 +msgid "Get commit information" +msgstr "" + +#: tasks/taskbook.py:61 +msgid "Accept/reject incoming changes" +msgstr "" + +#: tasks/taskbook.py:62 +msgid "Navigate in repo" +msgstr "" + +#: tasks/taskbook.py:66 +msgid "Go to HEAD commit" +msgstr "" + +#: tasks/taskbook.py:68 +msgid "Mark conflict solved" +msgstr "" + +#: tasks/taskbook.py:69 +msgid "Merge branch" +msgstr "" + +#: tasks/taskbook.py:70 tasks/taskbook.py:71 tasks/taskbook.py:72 +msgid "New local branch" +msgstr "" + +#: tasks/taskbook.py:73 +msgid "New commit" +msgstr "" + +#: tasks/taskbook.py:74 +msgid "Ignore a new file name pattern" +msgstr "" + +#: tasks/taskbook.py:76 +msgid "Stash changes" +msgstr "" + +#: tasks/taskbook.py:77 +msgid "New tag" +msgstr "" + +#: tasks/taskbook.py:78 +msgid "Blame file" +msgstr "" + +#: tasks/taskbook.py:79 +msgid "Pull remote branch" +msgstr "" + +#: tasks/taskbook.py:80 +msgid "Push branch" +msgstr "" + +#: tasks/taskbook.py:81 +msgid "Push refspecs" +msgstr "" + +#: tasks/taskbook.py:83 +msgid "Refresh repo" +msgstr "" + +#: tasks/taskbook.py:85 +msgid "Remove submodule" +msgstr "" + +#: tasks/taskbook.py:87 +msgid "Rename local branch folder" +msgstr "" + +#: tasks/taskbook.py:88 +msgid "Rename branch on remote" +msgstr "" + +#: tasks/taskbook.py:89 +msgid "Reset HEAD" +msgstr "" + +#: tasks/taskbook.py:90 +msgid "Restore file revision" +msgstr "" + +#: tasks/taskbook.py:91 +msgid "Revert commit" +msgstr "" + +#: tasks/taskbook.py:92 +msgid "Revert selected text" +msgstr "" + +#: tasks/taskbook.py:93 +msgid "Git identity" +msgstr "" + +#: tasks/taskbook.py:94 +msgid "Repository settings" +msgstr "" + +#: tasks/taskbook.py:95 +msgid "Stage files" +msgstr "" + +#: tasks/taskbook.py:96 +msgid "Switch to branch" +msgstr "" + +#: tasks/taskbook.py:97 +msgid "Update submodule" +msgstr "" + +#: tasks/taskbook.py:99 +msgid "Unstage files" +msgstr "" + +#: tasks/taskbook.py:100 +msgid "Unstage mode changes" +msgstr "" + +#: tasks/taskbook.py:104 +msgctxt "toolbar" +msgid "Amend" +msgstr "" + +#: tasks/taskbook.py:105 +msgctxt "toolbar" +msgid "Fetch" +msgstr "" + +#: tasks/taskbook.py:106 +msgctxt "toolbar" +msgid "Back" +msgstr "" + +#: tasks/taskbook.py:107 +msgctxt "toolbar" +msgid "Forward" +msgstr "" + +#: tasks/taskbook.py:108 +msgctxt "toolbar" +msgid "HEAD" +msgstr "" + +#: tasks/taskbook.py:109 +msgctxt "toolbar" +msgid "Workdir" +msgstr "" + +#: tasks/taskbook.py:110 +msgctxt "toolbar" +msgid "Branch" +msgstr "" + +#: tasks/taskbook.py:111 +msgctxt "toolbar" +msgid "Stash" +msgstr "" + +#: tasks/taskbook.py:113 +msgctxt "toolbar" +msgid "Push" +msgstr "" + +#: tasks/taskbook.py:117 +msgid "Amend the last commit on the current branch with the staged changes in the working directory" +msgstr "" + +#: tasks/taskbook.py:118 +msgid "Apply a patch file to the working directory" +msgstr "" + +#: tasks/taskbook.py:119 +msgid "Apply a patch file to the working directory (reverse patch before applying)" +msgstr "" + +#: tasks/taskbook.py:120 +msgid "Restore backed up changes to the working directory" +msgstr "" + +#: tasks/taskbook.py:121 +msgid "Bring the changes introduced by this commit to the current branch" +msgstr "" + +#: tasks/taskbook.py:122 +msgid "Delete this branch locally" +msgstr "" + +#: tasks/taskbook.py:123 +msgid "Choose the remote branch to be tracked by this local branch" +msgstr "" + +#: tasks/taskbook.py:124 +msgid "Create a patch file from this stash" +msgstr "" + +#: tasks/taskbook.py:125 +msgid "Advance this local branch to the tip of the remote-tracking branch" +msgstr "" + +#: tasks/taskbook.py:126 +msgid "Get the latest commits on all remote branches" +msgstr "" + +#: tasks/taskbook.py:127 +msgid "Get the latest commits from the remote server" +msgstr "" + +#: tasks/taskbook.py:128 +msgid "Start a new branch from this commit" +msgstr "" + +#: tasks/taskbook.py:129 +msgid "Start a new branch from the current HEAD" +msgstr "" + +#: tasks/taskbook.py:130 +msgid "Start a new branch from the tip of this branch" +msgstr "" + +#: tasks/taskbook.py:131 +msgid "Create a commit of the staged changes in the working directory" +msgstr "" + +#: tasks/taskbook.py:132 +msgid "Add a remote server to this repo" +msgstr "" + +#: tasks/taskbook.py:133 +msgid "Back up uncommitted changes and clean up the working directory" +msgstr "" + +#: tasks/taskbook.py:134 +msgid "Tag this commit with a name" +msgstr "" + +#: tasks/taskbook.py:135 +msgid "Fetch the latest commits from the remote, then integrate them into your local branch" +msgstr "" + +#: tasks/taskbook.py:136 +msgid "Upload your commits on the current branch to the remote server" +msgstr "" + +#: tasks/taskbook.py:137 +msgid "Remove this submodule from .gitmodules and delete its working copy from this repo" +msgstr "" + +#: tasks/taskbook.py:138 +msgid "Rename this branch locally" +msgstr "" + +#: tasks/taskbook.py:139 +msgid "Make HEAD point to another commit" +msgstr "" + +#: tasks/taskbook.py:140 +msgid "Revert the changes introduced by this commit" +msgstr "" + +#: tasks/taskbook.py:141 tasks/taskbook.py:142 +msgid "Set up the identity under which you create commits" +msgstr "" + +#: tasks/taskbook.py:143 +msgid "Switch to this branch and update the working directory to match it" +msgstr "" + +#: toolbox/fontpicker.py:32 +#, python-brace-format +msgid "Hold {key} to show proportional fonts." +msgstr "" + +#: toolbox/fontpicker.py:40 +msgid "pt" +msgstr "" + +#: toolbox/fontpicker.py:51 +msgid "Reset to system default monospace font" +msgstr "" + +#: toolbox/messageboxes.py:39 +msgid "No repository" +msgstr "" + +#: toolbox/messageboxes.py:62 +msgid "Unhandled exception" +msgstr "" + +#: toolbox/messageboxes.py:64 +msgid "An exception was raised." +msgstr "" + +#: toolbox/messageboxes.py:76 +msgid "(MESSAGE TRUNCATED)" +msgstr "" + +#: toolbox/messageboxes.py:79 +msgid "If you want to file a bug report, please click “Show Details” and copy the entire message." +msgstr "" + +#: toolbox/messageboxes.py:103 +msgid "Quit application" +msgstr "" + +#: toolbox/messageboxes.py:152 +#, python-brace-format +msgid "Skip {n} more error" +msgid_plural "Skip {n} more errors" +msgstr[0] "" +msgstr[1] "" + +#: toolbox/messageboxes.py:278 +#, python-brace-format +msgid "…and {0} more. Click “Show Details” to view all." +msgstr "" + +#: toolbox/qfilepickercheckbox.py:26 +msgctxt "button to open a file browser to select a file" +msgid "Select…" +msgstr "" + +#: toolbox/qhintbutton.py:17 +msgid "Help" +msgstr "" + +#: toolbox/qtabwidget2.py:167 +msgid "List all tabs" +msgstr "" + +#: toolbox/textutils.py:65 +#, python-brace-format +msgid "“{0}”" +msgstr "" + +#: toolbox/textutils.py:125 +#, python-brace-format +msgid "{0} copied to clipboard." +msgstr "" + +#: toolbox/textutils.py:127 +#, python-brace-format +msgid "{n} lines copied to clipboard." +msgstr "" + +#: toolbox/textutils.py:145 +#, python-brace-format +msgid "…and {0} more" +msgstr "" + +#: trtables.py:92 +msgid "Connection refused" +msgstr "" + +#: trtables.py:93 +msgid "File not found" +msgstr "" + +#: trtables.py:94 +msgid "Permission denied" +msgstr "" + +#: trtables.py:95 +msgid "Git error" +msgstr "" + +#: trtables.py:96 +msgid "Unsupported feature" +msgstr "" + +#: trtables.py:97 +msgid "Operation interrupted" +msgstr "" + +#: trtables.py:112 +msgid "Illegal name." +msgstr "" + +#: trtables.py:113 +msgid "Illegal suffix." +msgstr "" + +#: trtables.py:114 +msgid "Illegal prefix." +msgstr "" + +#: trtables.py:115 +msgid "Contains illegal character sequence." +msgstr "" + +#: trtables.py:116 +msgid "Contains illegal character." +msgstr "" + +#: trtables.py:118 +msgid "This name is discouraged for compatibility with Windows." +msgstr "" + +#: trtables.py:119 +msgid "This name is already taken." +msgstr "" + +#: trtables.py:120 +msgid "This name is already taken by a folder." +msgstr "" + +#: trtables.py:121 +msgid "The folder in this path clashes with an existing ref that isn’t a folder." +msgstr "" + +#: trtables.py:125 +msgctxt "FileMode" +msgid "deleted" +msgstr "" + +#: trtables.py:126 +msgctxt "FileMode" +msgid "regular file" +msgstr "" + +#: trtables.py:127 +msgctxt "FileMode" +msgid "executable file" +msgstr "" + +#: trtables.py:128 +msgctxt "FileMode" +msgid "symbolic link" +msgstr "" + +#: trtables.py:129 +msgctxt "FileMode" +msgid "subtree" +msgstr "" + +#: trtables.py:130 +msgctxt "FileMode" +msgid "subtree commit" +msgstr "" + +#: trtables.py:134 +msgctxt "RepositoryState" +msgid "None" +msgstr "" + +#: trtables.py:135 +msgctxt "RepositoryState" +msgid "Merging" +msgstr "" + +#: trtables.py:136 +msgctxt "RepositoryState" +msgid "Reverting" +msgstr "" + +#: trtables.py:137 +msgctxt "RepositoryState" +msgid "Reverting (sequence)" +msgstr "" + +#: trtables.py:138 +msgctxt "RepositoryState" +msgid "Cherry-picking" +msgstr "" + +#: trtables.py:139 +msgctxt "RepositoryState" +msgid "Cherry-picking (sequence)" +msgstr "" + +#: trtables.py:140 +msgctxt "RepositoryState" +msgid "Bisecting" +msgstr "" + +#: trtables.py:141 +msgctxt "RepositoryState" +msgid "Rebasing" +msgstr "" + +#: trtables.py:142 +msgctxt "RepositoryState" +msgid "Rebasing (interactive)" +msgstr "" + +#: trtables.py:143 +msgctxt "RepositoryState" +msgid "Rebasing (merging)" +msgstr "" + +#: trtables.py:149 +msgctxt "ConflictSides" +msgid "modified by both sides" +msgstr "" + +#: trtables.py:150 +msgctxt "ConflictSides" +msgid "deleted by us" +msgstr "" + +#: trtables.py:151 +msgctxt "ConflictSides" +msgid "deleted by them" +msgstr "" + +#: trtables.py:152 +msgctxt "ConflictSides" +msgid "deleted by both sides" +msgstr "" + +#: trtables.py:153 +msgctxt "ConflictSides" +msgid "added by us" +msgstr "" + +#: trtables.py:154 +msgctxt "ConflictSides" +msgid "added by them" +msgstr "" + +#: trtables.py:155 +msgctxt "ConflictSides" +msgid "added by both sides" +msgstr "" + +#: trtables.py:159 +msgctxt "PatchPurpose" +msgid "Stage" +msgstr "" + +#: trtables.py:160 +msgctxt "PatchPurpose" +msgid "Unstage" +msgstr "" + +#: trtables.py:161 +msgctxt "PatchPurpose" +msgid "Discard" +msgstr "" + +#: trtables.py:162 +msgctxt "PatchPurpose" +msgid "Stage lines" +msgstr "" + +#: trtables.py:163 +msgctxt "PatchPurpose" +msgid "Unstage lines" +msgstr "" + +#: trtables.py:164 +msgctxt "PatchPurpose" +msgid "Discard lines" +msgstr "" + +#: trtables.py:165 +msgctxt "PatchPurpose" +msgid "Stage hunk" +msgstr "" + +#: trtables.py:166 +msgctxt "PatchPurpose" +msgid "Unstage hunk" +msgstr "" + +#: trtables.py:167 +msgctxt "PatchPurpose" +msgid "Discard hunk" +msgstr "" + +#: trtables.py:168 +msgctxt "PatchPurpose" +msgid "Stage file" +msgstr "" + +#: trtables.py:169 +msgctxt "PatchPurpose" +msgid "Unstage file" +msgstr "" + +#: trtables.py:170 +msgctxt "PatchPurpose" +msgid "Discard file" +msgstr "" + +#: trtables.py:174 +msgctxt "SidebarModel" +msgid "Working Directory|Workdir" +msgstr "" + +#: trtables.py:175 +msgctxt "SidebarModel" +msgid "Local Branches|Branches" +msgstr "" + +#: trtables.py:176 +msgctxt "SidebarModel" +msgid "Stashes" +msgstr "" + +#: trtables.py:177 +msgctxt "SidebarModel" +msgid "Remotes" +msgstr "" + +#: trtables.py:178 +msgctxt "SidebarModel" +msgid "Tags" +msgstr "" + +#: trtables.py:179 trtables.py:187 +msgctxt "SidebarModel" +msgid "Submodules" +msgstr "" + +#: trtables.py:180 +msgctxt "SidebarModel" +msgid "Local branch" +msgstr "" + +#: trtables.py:181 +msgctxt "SidebarModel" +msgid "Detached HEAD" +msgstr "" + +#: trtables.py:182 +msgctxt "SidebarModel" +msgid "Unborn HEAD" +msgstr "" + +#: trtables.py:183 +msgctxt "SidebarModel" +msgid "Remote branch" +msgstr "" + +#: trtables.py:184 +msgctxt "SidebarModel" +msgid "Stash" +msgstr "" + +#: trtables.py:185 +msgctxt "SidebarModel" +msgid "Remote" +msgstr "" + +#: trtables.py:186 +msgctxt "SidebarModel" +msgid "Tag" +msgstr "" + +#: trtables.py:192 +msgid "Full paths" +msgstr "" + +#: trtables.py:193 +msgid "Abbreviate directories" +msgstr "" + +#: trtables.py:194 +msgid "Show filename only" +msgstr "" + +#: trtables.py:198 +msgid "Full name" +msgstr "" + +#: trtables.py:199 +msgid "First name" +msgstr "" + +#: trtables.py:200 +msgid "Last name" +msgstr "" + +#: trtables.py:201 +msgid "Initials" +msgstr "" + +#: trtables.py:202 +msgid "Full email" +msgstr "" + +#: trtables.py:203 +msgid "Abbreviated email" +msgstr "" + +#: trtables.py:207 +msgctxt "row spacing" +msgid "Cramped" +msgstr "" + +#: trtables.py:208 +msgctxt "row spacing" +msgid "Tight" +msgstr "" + +#: trtables.py:209 +msgctxt "row spacing" +msgid "Relaxed" +msgstr "" + +#: trtables.py:210 +msgctxt "row spacing" +msgid "Roomy" +msgstr "" + +#: trtables.py:211 +msgctxt "row spacing" +msgid "Spacious" +msgstr "" + +#: trtables.py:215 +msgctxt "Qt binding" +msgid "Automatic (recommended)" +msgstr "" + +#: trtables.py:223 +msgid "Truncate long ref names" +msgstr "" + +#: trtables.py:224 +msgid "Show full ref names" +msgstr "" + +#: trtables.py:228 +msgctxt "sort refs by date of latest commit, descending" +msgid "Date, Newest First" +msgstr "" + +#: trtables.py:229 +msgctxt "sort refs by date of latest commit, ascending" +msgid "Date, Oldest First" +msgstr "" + +#: trtables.py:230 +msgctxt "sort refs alphabetically, ascending" +msgid "Name, A-Z" +msgstr "" + +#: trtables.py:231 +msgctxt "sort refs alphabetically, descending" +msgid "Name, Z-A" +msgstr "" + +#: trtables.py:240 trtables.py:241 +msgctxt "FileStatus" +msgid "added" +msgstr "" + +#: trtables.py:242 +msgctxt "FileStatus" +msgid "copied" +msgstr "" + +#: trtables.py:243 +msgctxt "FileStatus" +msgid "deleted" +msgstr "" + +#: trtables.py:244 +msgctxt "FileStatus" +msgid "ignored" +msgstr "" + +#: trtables.py:245 +msgctxt "FileStatus" +msgid "modified" +msgstr "" + +#: trtables.py:246 +msgctxt "FileStatus" +msgid "renamed" +msgstr "" + +#: trtables.py:247 +msgctxt "FileStatus" +msgid "file type changed" +msgstr "" + +#: trtables.py:248 +msgctxt "FileStatus" +msgid "merge conflict" +msgstr "" + +#: trtables.py:249 +msgctxt "FileStatus" +msgid "unreadable" +msgstr "" + +#: trtables.py:250 +msgctxt "FileStatus" +msgid "untracked" +msgstr "" + +#: trtables.py:269 +msgctxt "PatchPurpose" +msgid "Staged." +msgstr "" + +#: trtables.py:270 +msgctxt "PatchPurpose" +msgid "Unstaged." +msgstr "" + +#: trtables.py:271 +msgctxt "PatchPurpose" +msgid "Discarded." +msgstr "" + +#: trtables.py:272 +msgctxt "PatchPurpose" +msgid "Lines staged." +msgstr "" + +#: trtables.py:273 +msgctxt "PatchPurpose" +msgid "Lines unstaged." +msgstr "" + +#: trtables.py:274 +msgctxt "PatchPurpose" +msgid "Lines discarded." +msgstr "" + +#: trtables.py:275 +msgctxt "PatchPurpose" +msgid "Hunk staged." +msgstr "" + +#: trtables.py:276 +msgctxt "PatchPurpose" +msgid "Hunk unstaged." +msgstr "" + +#: trtables.py:277 +msgctxt "PatchPurpose" +msgid "Hunk discarded." +msgstr "" + +#: trtables.py:278 +msgctxt "PatchPurpose" +msgid "File staged." +msgstr "" + +#: trtables.py:279 +msgctxt "PatchPurpose" +msgid "File unstaged." +msgstr "" + +#: trtables.py:280 +msgctxt "PatchPurpose" +msgid "File discarded." +msgstr "" + +#: trtables.py:305 +msgctxt "date/time formats" +msgid "Available formats:" +msgstr "" + +#: trtables.py:307 trtables.py:308 +msgid "year" +msgstr "" + +#: trtables.py:310 trtables.py:311 +msgid "month" +msgstr "" + +#: trtables.py:315 trtables.py:316 +msgid "day" +msgstr "" + +#: trtables.py:320 trtables.py:321 +msgid "hour" +msgstr "" + +#: trtables.py:322 +msgid "minute" +msgstr "" + +#: trtables.py:323 +msgid "second" +msgstr "" + +#: trtables.py:335 +msgctxt "Prefs" +msgid "General" +msgstr "" + +#: trtables.py:336 +msgctxt "Prefs" +msgid "Code" +msgstr "" + +#: trtables.py:337 +msgctxt "Prefs" +msgid "Images" +msgstr "" + +#: trtables.py:338 +msgctxt "Prefs" +msgid "Tabs" +msgstr "" + +#: trtables.py:339 +msgctxt "Prefs" +msgid "Commit History" +msgstr "" + +#: trtables.py:340 +msgctxt "Prefs" +msgid "Trash" +msgstr "" + +#: trtables.py:341 +msgctxt "Prefs" +msgid "External Tools" +msgstr "" + +#: trtables.py:342 +msgctxt "Prefs" +msgid "Advanced" +msgstr "" + +#: trtables.py:343 +msgctxt "Prefs" +msgid "Custom Commands" +msgstr "" + +#: trtables.py:345 +msgid "Language" +msgstr "" + +#: trtables.py:346 +msgid "Qt style" +msgstr "" + +#: trtables.py:347 +msgid "Shorten hashes to # characters" +msgstr "" + +#: trtables.py:348 +msgid "Date/time format" +msgstr "" + +#: trtables.py:351 +msgid "Author display style" +msgstr "" + +#: trtables.py:352 +msgid "Remember up to # recent repositories" +msgstr "" + +#: trtables.py:356 +msgid "When the menu bar is hidden, press the Alt key to show it again." +msgstr "" + +#: trtables.py:357 +msgid "Restore all “don’t show this again” messages" +msgstr "" + +#: trtables.py:358 +msgid "Middle-click to stage/unstage a file or the selected lines" +msgstr "" + +#: trtables.py:360 +msgid "This option lets you:" +msgstr "" + +#: trtables.py:361 +msgid "Middle-click a file name in the Unstaged/Staged boxes to stage/unstage this file;" +msgstr "" + +#: trtables.py:362 +msgid "Select lines in the diff, then middle-click to stage/unstage your selection." +msgstr "" + +#: trtables.py:364 +msgid "Allow third-party Pygments plugins" +msgstr "" + +#: trtables.py:365 +#, python-brace-format +msgid "Let {app} load third-party Pygments plugins installed on your system. These plugins extend syntax highlighting with new languages and color schemes. May incur significant slowdowns." +msgstr "" + +#: trtables.py:368 +msgid "Sort branches && tags by" +msgstr "" + +#: trtables.py:370 +msgid "The default sorting mode for local branches, remote branches, and tags in the sidebar." +msgstr "" + +#: trtables.py:371 +msgid "You can fine-tune this setting in each repo by right-clicking Branches, Remotes, or Tags in the sidebar. (Note that changing the default setting here will clear per-repo tweaks.)" +msgstr "" + +#: trtables.py:374 +msgid "Font" +msgstr "" + +#: trtables.py:375 +msgid "One tab is # spaces" +msgstr "" + +#: trtables.py:376 +msgid "Show up to # context lines" +msgstr "" + +#: trtables.py:377 +msgid "Amount of unmodified lines to show around red or green lines in a diff." +msgstr "" + +#: trtables.py:378 +msgid "Load diffs up to # KB" +msgstr "" + +#: trtables.py:379 +msgid "Load images up to # KB" +msgstr "" + +#: trtables.py:380 +msgid "Syntax highlighting" +msgstr "" + +#: trtables.py:381 +msgid "Word wrap" +msgstr "" + +#: trtables.py:382 +msgid "Display alien line endings (CRLF)" +msgstr "" + +#: trtables.py:383 +msgid "“-/+” colors" +msgstr "" + +#: trtables.py:384 +msgid "Background colors for deleted (-) and added (+) lines." +msgstr "" + +#: trtables.py:385 +msgid "Treat SVG files as" +msgstr "" + +#: trtables.py:387 +msgid "Show tab close button" +msgstr "" + +#: trtables.py:388 +msgid "Expand tabs to available width" +msgstr "" + +#: trtables.py:389 +msgid "Auto-hide tabs if only one repo is open" +msgstr "" + +#: trtables.py:390 +msgid "Double-click a tab to open repo folder" +msgstr "" + +#: trtables.py:392 +msgid "Sort commits" +msgstr "" + +#: trtables.py:393 +msgid "Chronologically" +msgstr "" + +#: trtables.py:394 +msgid "Topologically" +msgstr "" + +#: trtables.py:396 +msgid "Chronological mode lets you stay on top of the latest activity in the repository. The most recent commits always show up at the top of the graph. However, the graph can get messy when multiple branches receive commits in the same timeframe." +msgstr "" + +#: trtables.py:399 +msgid "Topological mode makes the graph easier to read. It attempts to present sequences of commits within a branch in a linear fashion. Since this is not a strictly chronological mode, you may have to do more scrolling to see the latest changes in various branches." +msgstr "" + +#: trtables.py:403 +msgid "Row spacing" +msgstr "" + +#: trtables.py:404 +msgid "Avoid gaps between branches in the graph" +msgstr "" + +#: trtables.py:405 +msgid "Mark author/committer signature differences" +msgstr "" + +#: trtables.py:407 +msgid "The commit history displays information about a commit’s author—their name and the date at which they made the commit. But in some cases, a commit might have been revised by someone else than the original author—this person is called the committer." +msgstr "" + +#: trtables.py:411 +msgid "If you tick this option, an asterisk (*) will appear after the author’s name and/or date if they differ from the committer’s for any given commit." +msgstr "" + +#: trtables.py:413 +msgid "Note that you can always hover over the author’s name or date to obtain detailed information about the author and the committer." +msgstr "" + +#: trtables.py:416 +msgid "Load up to # commits in the history" +msgstr "" + +#: trtables.py:417 +msgid "Set to 0 to always load the full commit history." +msgstr "" + +#: trtables.py:418 +msgid "Draw rows using alternating background colors" +msgstr "" + +#: trtables.py:419 +msgid "Ref indicators" +msgstr "" + +#: trtables.py:420 +msgid "You can always hover over an indicator to display the full name of the ref." +msgstr "" + +#: trtables.py:422 +msgid "The trash keeps up to # discarded patches" +msgstr "" + +#: trtables.py:423 +msgid "Patches bigger than # KB won’t be salvaged" +msgstr "" + +#: trtables.py:425 +#, python-brace-format +msgid "When you discard changes from the working directory, {app} keeps a temporary copy in a hidden “trash” folder. This gives you a last resort to rescue changes that you have discarded by mistake. You can look around this trash folder via “Help → Open Trash”." +msgstr "" + +#: trtables.py:429 +msgid "Logging verbosity" +msgstr "" + +#: trtables.py:430 +msgid "Auto-refresh when app regains focus" +msgstr "" + +#: trtables.py:432 +#, python-brace-format +msgid "When you return to {app} from another application, it automatically scans for changes in the working directory and local branches. This keeps the interface in sync with the state of your repo on disk." +msgstr "" + +#: trtables.py:435 +#, python-brace-format +msgid "If you turn this off, you will need to hit {key} to perform this refresh manually." +msgstr "" + +#: trtables.py:437 +msgid "We strongly recommend to keep this setting enabled." +msgstr "" + +#: trtables.py:438 +msgid "Animation effects in sidebar" +msgstr "" + +#: trtables.py:439 +msgid "Smooth scrolling (where applicable)" +msgstr "" + +#: trtables.py:440 +msgid "Preferred Qt binding" +msgstr "" + +#: trtables.py:442 +#, python-brace-format +msgid "After restarting, {app} will use this Qt binding if available." +msgstr "" + +#: trtables.py:443 +msgid "You can also pass the name of a Qt binding via the “QT_API” environment variable." +msgstr "" + +#: trtables.py:445 +msgid "Use condensed fonts" +msgstr "" + +#: trtables.py:447 +msgid "When a branch name or author name is too long to fit in its allotted space, condense the font before truncating the text." +msgstr "" + +#: trtables.py:450 +msgid "Text editor" +msgstr "" + +#: trtables.py:453 trtables.py:459 trtables.py:467 +msgid "Argument placeholders:" +msgstr "" + +#: trtables.py:454 +msgid "Old / Left" +msgstr "" + +#: trtables.py:455 +msgid "New / Right" +msgstr "" + +#: trtables.py:460 +msgid "Ancestor / Base / Center" +msgstr "" + +#: trtables.py:461 +msgid "Ours / Local / Left" +msgstr "" + +#: trtables.py:462 +msgid "Theirs / Remote / Right" +msgstr "" + +#: trtables.py:463 +msgid "Merged / Output / Result" +msgstr "" + +#: trtables.py:468 +msgid "Command to execute after launching the terminal" +msgstr "" + +#: trtables.py:469 +#, python-brace-format +msgid "The {0} placeholder is mandatory. It is automatically substituted for a wrapper script that enters your working directory and optionally starts one of your Custom Commands." +msgstr "" + +#: trtables.py:475 +msgid "Ask for confirmation before running any command" +msgstr "" + +#: trtables.py:477 +#, python-brace-format +msgid "If you untick this, you can still force a prompt to appear for specific commands by prepending them with {0}. For example: {1}" +msgstr "" + +#: trtables.py:499 +#, python-brace-format +msgid "Feel free to copy the sample below and paste it into the text box. Then, click OK, and explore {menu} in the menu bar." +msgstr "" + +#: trtables.py:504 +msgid "&Interactive Rebase" +msgstr "" + +#: trtables.py:505 +msgid "&Continue Rebase" +msgstr "" + +#: trtables.py:506 +msgid "&Abort Rebase" +msgstr "" + +#: trtables.py:507 +msgid "Diff Commit With &HEAD" +msgstr "" + +#: trtables.py:509 +msgid "You may use the following placeholders in your commands:" +msgstr "" + +#: trtables.py:511 +msgid "For advanced usage tips, please visit [the user’s guide]." +msgstr "" From a50ebe813cadff98fef10465dc83e3f3aac32b8a Mon Sep 17 00:00:00 2001 From: Alex Nadzharov Date: Sun, 7 Sep 2025 23:32:29 +0200 Subject: [PATCH 03/14] Translated using Weblate (Russian) Currently translated at 0.4% (7 of 1423 strings) Translation: GitFourchette/GitFourchette Translate-URL: https://hosted.weblate.org/projects/gitfourchette/gitfourchette/ru/ --- gitfourchette/assets/lang/ru.po | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/gitfourchette/assets/lang/ru.po b/gitfourchette/assets/lang/ru.po index 53c7ecd4..e2a99355 100644 --- a/gitfourchette/assets/lang/ru.po +++ b/gitfourchette/assets/lang/ru.po @@ -4,22 +4,25 @@ msgid "" msgstr "" "Project-Id-Version: GitFourchette\n" "Report-Msgid-Bugs-To: https://github.com/jorio/gitfourchette/issues\n" -"Last-Translator: Automatically generated\n" -"Language-Team: none\n" +"PO-Revision-Date: 2025-09-08 18:30+0000\n" +"Last-Translator: Alex Nadzharov \n" +"Language-Team: Russian \n" "Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " -"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"X-Generator: Weblate 5.14-dev\n" #: application.py:90 forms/aboutdialog.py:54 msgid "The comfortable Git UI for Linux." -msgstr "" +msgstr "Комфортный пользовательский интерфейс Git для Linux." #: application.py:93 msgid "Repository paths to open on launch." -msgstr "" +msgstr "Пути репозиториев, которые будут открыты при загрузке." #: application.py:224 #, python-brace-format @@ -37,7 +40,7 @@ msgstr "" #: application.py:270 toolbox/messageboxes.py:40 msgid "Please open a repository before performing this action." -msgstr "" +msgstr "Пожалуйста, откройте репозиторий перед выполнением этого действия." #: blameview/blamegutter.py:157 blameview/blamewindow.py:184 msgid "(Uncommitted)" @@ -58,15 +61,15 @@ msgstr "" #: blameview/blamegutter.py:197 msgid "author" -msgstr "" +msgstr "автор" #: blameview/blamegutter.py:198 msgid "date" -msgstr "" +msgstr "дата" #: blameview/blamegutter.py:199 msgid "file name" -msgstr "" +msgstr "имя файла" #: blameview/blamegutter.py:200 msgid "revision" @@ -132,7 +135,7 @@ msgstr "" #: blameview/blamewindow.py:71 msgid "Back" -msgstr "" +msgstr "Назад" #: blameview/blamewindow.py:73 tasks/taskbook.py:63 msgid "Navigate back" From ecc2be69f0ec3a369f6d4b8844071c5c767732b8 Mon Sep 17 00:00:00 2001 From: Fabiano Caputo Date: Mon, 15 Sep 2025 22:22:13 +0200 Subject: [PATCH 04/14] Added translation using Weblate (Italian) --- gitfourchette/assets/lang/it.po | 6673 +++++++++++++++++++++++++++++++ 1 file changed, 6673 insertions(+) create mode 100644 gitfourchette/assets/lang/it.po diff --git a/gitfourchette/assets/lang/it.po b/gitfourchette/assets/lang/it.po new file mode 100644 index 00000000..c34a6dec --- /dev/null +++ b/gitfourchette/assets/lang/it.po @@ -0,0 +1,6673 @@ +# This file is distributed under the same license as the GitFourchette package. +# +msgid "" +msgstr "" +"Project-Id-Version: GitFourchette\n" +"Report-Msgid-Bugs-To: https://github.com/jorio/gitfourchette/issues\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#: application.py:103 forms/aboutdialog.py:56 +msgid "The comfortable Git UI for Linux." +msgstr "" + +#: application.py:106 +msgid "Repository paths to open on launch." +msgstr "" + +#: application.py:246 +#, python-brace-format +msgid "Your preferred Qt binding {0} is not available on this machine. Using {1} instead." +msgstr "" + +#: application.py:248 +#, python-brace-format +msgid "Your preferred Qt binding {0} is not recognized by {app}. Using {1} instead. (Supported values: {known})" +msgstr "" + +#: application.py:252 +msgid "Qt binding unavailable" +msgstr "" + +#: application.py:292 toolbox/messageboxes.py:40 +msgid "Please open a repository before performing this action." +msgstr "" + +#: application.py:422 +#, python-brace-format +msgid "Couldn’t start {0} ({1})." +msgstr "" + +#: application.py:423 +msgid "Please make sure OpenSSH is installed on your system." +msgstr "" + +#: application.py:424 +msgid "SSH agent" +msgstr "" + +#: blameview/blamegutter.py:157 blameview/blamewindow.py:184 +msgid "(Uncommitted)" +msgstr "" + +#: blameview/blamegutter.py:187 filelists/filelistmodel.py:67 +#: forms/prefsdialog.py:205 tasks/misctasks.py:80 tasks/nettasks.py:268 +#: tasks/repotask.py:73 +msgid ":" +msgstr "" + +#: blameview/blamegutter.py:193 +msgid "Not Committed Yet" +msgstr "" + +#: blameview/blamegutter.py:193 blameview/blamegutter.py:196 +msgid "commit" +msgstr "" + +#: blameview/blamegutter.py:197 +msgid "author" +msgstr "" + +#: blameview/blamegutter.py:198 +msgid "date" +msgstr "" + +#: blameview/blamegutter.py:199 +msgid "file name" +msgstr "" + +#: blameview/blamegutter.py:200 +msgid "revision" +msgstr "" + +#: blameview/blamescrubberdelegate.py:55 blameview/blamescrubbermodel.py:43 +msgid "Uncommitted Changes in Working Directory" +msgstr "" + +#: blameview/blametextedit.py:44 +msgid "Blame File at Uncommitted Revision" +msgstr "" + +#: blameview/blametextedit.py:45 +msgid "Show Diff in Working Directory" +msgstr "" + +#: blameview/blametextedit.py:47 +#, python-brace-format +msgid "Blame File at {0}" +msgstr "" + +#: blameview/blametextedit.py:48 +#, python-brace-format +msgid "Show {0} in Repo" +msgstr "" + +#: blameview/blamewindow.py:50 +msgid "Jump" +msgstr "" + +#: blameview/blamewindow.py:51 +msgid "View this commit in the repo" +msgstr "" + +#: blameview/blamewindow.py:56 +msgid "Shift+Click:" +msgstr "" + +#: blameview/blamewindow.py:59 +msgid "Older" +msgstr "" + +#: blameview/blamewindow.py:61 +msgid "Go to next older revision" +msgstr "" + +#: blameview/blamewindow.py:61 +msgid "Jump to bottom" +msgstr "" + +#: blameview/blamewindow.py:65 +msgid "Newer" +msgstr "" + +#: blameview/blamewindow.py:67 +msgid "Go to next newer revision" +msgstr "" + +#: blameview/blamewindow.py:67 +msgid "Jump to top" +msgstr "" + +#: blameview/blamewindow.py:71 +msgid "Back" +msgstr "" + +#: blameview/blamewindow.py:73 tasks/taskbook.py:63 +msgid "Navigate back" +msgstr "" + +#: blameview/blamewindow.py:77 +msgid "Forward" +msgstr "" + +#: blameview/blamewindow.py:79 tasks/taskbook.py:64 tasks/taskbook.py:65 +msgid "Navigate forward" +msgstr "" + +#: blameview/blamewindow.py:163 +#, python-brace-format +msgid "File deleted in commit {0}" +msgstr "" + +#: blameview/blamewindow.py:169 +#, python-brace-format +msgid "Binary blob, {size} bytes, {hash}" +msgstr "" + +#: blameview/blamewindow.py:183 +#, python-brace-format +msgid "Blame {path} @ {commit}" +msgstr "" + +#: codeview/codeview.py:65 +msgid "Find text in code|Find text" +msgstr "" + +#: codeview/codeview.py:339 +msgid "&Word Wrap" +msgstr "" + +#: codeview/codeview.py:340 +msgid "Configure Appearance…" +msgstr "" + +#: codeview/codeview.py:505 +msgid "End of document reached." +msgstr "" + +#: codeview/codeview.py:506 +msgid "Top of document reached." +msgstr "" + +#: codeview/codeview.py:507 +#, python-brace-format +msgid "No more occurrences of {0} found." +msgstr "" + +#: codeview/codeview.py:513 +msgid "Wrap Around" +msgstr "" + +#: diffarea.py:109 +msgid "Unstaged files: will not be included in the commit unless you stage them." +msgstr "" + +#: diffarea.py:117 +msgid "Stage" +msgstr "" + +#: diffarea.py:119 +msgid "Stage selected files" +msgstr "" + +#: diffarea.py:124 diffview/diffview.py:76 +msgid "Discard" +msgstr "" + +#: diffarea.py:126 +msgid "Discard changes in selected files" +msgstr "" + +#: diffarea.py:161 +msgid "Staged files: will be included in the commit." +msgstr "" + +#: diffarea.py:169 +msgid "Unstage" +msgstr "" + +#: diffarea.py:171 +msgid "Unstage selected files" +msgstr "" + +#: diffarea.py:176 forms/commitdialog.py:59 tasks/committasks.py:498 +#: tasks/committasks.py:551 +msgctxt "verb" +msgid "Commit" +msgstr "" + +#: diffview/diffdocument.py:191 +msgid "This file contains very long lines." +msgstr "" + +#: diffview/diffdocument.py:192 diffview/specialdiff.py:118 +msgid "[Load diff anyway] (this may take a moment)" +msgstr "" + +#: diffview/diffdocument.py:284 +msgid "" +msgstr "" + +#: diffview/diffview.py:53 +msgid "Find text in diff|Find in diff" +msgstr "" + +#: diffview/diffview.py:64 +msgid "Stage Selection" +msgstr "" + +#: diffview/diffview.py:66 +msgid "Stage selected lines" +msgstr "" + +#: diffview/diffview.py:70 +msgid "Unstage Selection" +msgstr "" + +#: diffview/diffview.py:73 +msgid "Unstage selected lines" +msgstr "" + +#: diffview/diffview.py:79 +msgid "Discard selected lines" +msgstr "" + +#: diffview/diffview.py:246 diffview/diffview.py:258 diffview/diffview.py:281 +#: diffview/diffview.py:310 +msgid "Export Lines as Patch…" +msgstr "" + +#: diffview/diffview.py:247 +msgid "Revert Lines…" +msgstr "" + +#: diffview/diffview.py:251 +#, python-brace-format +msgid "Export Hunk {0} as Patch…" +msgstr "" + +#: diffview/diffview.py:252 +msgid "Revert Hunk…" +msgstr "" + +#: diffview/diffview.py:262 diffview/diffview.py:297 diffview/diffview.py:322 +msgid "Export Hunk as Patch…" +msgstr "" + +#: diffview/diffview.py:269 +msgid "Stage Lines" +msgstr "" + +#: diffview/diffview.py:275 +msgid "Discard Lines…" +msgstr "" + +#: diffview/diffview.py:288 +#, python-brace-format +msgid "Stage Hunk {0}" +msgstr "" + +#: diffview/diffview.py:293 +msgid "Discard Hunk…" +msgstr "" + +#: diffview/diffview.py:304 +msgid "Unstage Lines" +msgstr "" + +#: diffview/diffview.py:317 +#, python-brace-format +msgid "Unstage Hunk {0}" +msgstr "" + +#: diffview/diffview.py:395 +msgid "Export selected lines" +msgstr "" + +#: diffview/diffview.py:447 +msgid "Revert selected lines" +msgstr "" + +#: diffview/diffview.py:448 +msgid "Do you want to revert the selected lines?" +msgstr "" + +#: diffview/diffview.py:472 +msgid "Revert hunk" +msgstr "" + +#: diffview/diffview.py:473 +msgid "Do you want to revert this hunk?" +msgstr "" + +#: diffview/diffview.py:587 diffview/diffview.py:588 +msgid "or Middle-Click" +msgstr "" + +#: diffview/diffview.py:595 +#, python-brace-format +msgid "Hit {sk} to stage {nl} line. Hit {dk} to discard it." +msgid_plural "Hit {sk} to stage {nl} lines. Hit {dk} to discard them." +msgstr[0] "" +msgstr[1] "" + +#: diffview/diffview.py:599 +#, python-brace-format +msgid "Hit {uk} to unstage {nl} line." +msgid_plural "Hit {uk} to unstage {nl} lines." +msgstr[0] "" +msgstr[1] "" + +#: diffview/specialdiff.py:71 +msgid "File contents didn’t change." +msgstr "" + +#: diffview/specialdiff.py:82 +msgid "Empty file was deleted." +msgstr "" + +#: diffview/specialdiff.py:89 +msgid "New empty file." +msgstr "" + +#: diffview/specialdiff.py:92 +msgid "Renamed:" +msgstr "" + +#: diffview/specialdiff.py:96 +msgid "Mode change:" +msgstr "" + +#: diffview/specialdiff.py:100 +msgid "Canonical file contents unchanged." +msgstr "" + +#: diffview/specialdiff.py:102 +#, python-brace-format +msgid "Due to filters such as {filter}, your working copy is not bit-for-bit identical to the file’s canonical state. However, the contents tracked by Git are equivalent after filtering." +msgstr "" + +#: diffview/specialdiff.py:105 +msgid "You can stage the file to dismiss this message; no changes will be recorded." +msgstr "" + +#: diffview/specialdiff.py:119 +#, python-brace-format +msgid "[Configure diff preview limit] (currently: {0})" +msgstr "" + +#: diffview/specialdiff.py:122 +msgid "This diff is very large." +msgstr "" + +#: diffview/specialdiff.py:123 +#, python-brace-format +msgid "Diff size: {0}" +msgstr "" + +#: diffview/specialdiff.py:135 +msgid "[Load image anyway] (this may take a moment)" +msgstr "" + +#: diffview/specialdiff.py:136 +#, python-brace-format +msgid "[Configure image preview limit] (currently: {0})" +msgstr "" + +#: diffview/specialdiff.py:139 +msgid "This image is very large." +msgstr "" + +#: diffview/specialdiff.py:140 +#, python-brace-format +msgid "Image size: {0}" +msgstr "" + +#: diffview/specialdiff.py:148 +msgid "Old type:" +msgstr "" + +#: diffview/specialdiff.py:149 +msgid "New type:" +msgstr "" + +#: diffview/specialdiff.py:156 +msgid "This file’s type has changed." +msgstr "" + +#: diffview/specialdiff.py:175 +msgid "File appears to be binary." +msgstr "" + +#: diffview/specialdiff.py:184 +msgid "This untracked subtree is the root of another Git repository." +msgstr "" + +#: diffview/specialdiff.py:187 repowidget.py:499 +#, python-brace-format +msgid "Open {0}" +msgstr "" + +#: diffview/specialdiff.py:190 +#, python-brace-format +msgid "Absorb {0} as submodule" +msgstr "" + +#: diffview/specialdiff.py:191 +msgid "Recommended action:" +msgstr "" + +#: diffview/specialdiff.py:210 +#, python-brace-format +msgid "Subtree {0} was [removed.]" +msgstr "" + +#: diffview/specialdiff.py:211 +#, python-brace-format +msgid "Submodule {0} was [removed.]" +msgstr "" + +#: diffview/specialdiff.py:214 +#, python-brace-format +msgid "Subtree {0} was [added.]" +msgstr "" + +#: diffview/specialdiff.py:215 +#, python-brace-format +msgid "Submodule {0} was [added.]" +msgstr "" + +#: diffview/specialdiff.py:218 +#, python-brace-format +msgid "Subtree {0} was updated." +msgstr "" + +#: diffview/specialdiff.py:219 +#, python-brace-format +msgid "Submodule {0} was updated." +msgstr "" + +#: diffview/specialdiff.py:221 +#, python-brace-format +msgid "Subtree {0} contains changes." +msgstr "" + +#: diffview/specialdiff.py:222 +#, python-brace-format +msgid "Submodule {0} contains changes." +msgstr "" + +#: diffview/specialdiff.py:230 +msgid "Open submodule" +msgstr "" + +#: diffview/specialdiff.py:230 +msgid "Open subtree" +msgstr "" + +#: diffview/specialdiff.py:232 +#, python-brace-format +msgid "(path: {0})" +msgstr "" + +#: diffview/specialdiff.py:267 diffview/specialdiffview.py:89 +msgid "Old:" +msgstr "" + +#: diffview/specialdiff.py:268 diffview/specialdiffview.py:90 +msgid "New:" +msgstr "" + +#: diffview/specialdiff.py:274 +msgid "The subtree’s HEAD has moved to another commit." +msgstr "" + +#: diffview/specialdiff.py:275 +msgid "The submodule’s HEAD has moved to another commit." +msgstr "" + +#: diffview/specialdiff.py:277 +msgid "You can stage this update:" +msgstr "" + +#: diffview/specialdiff.py:285 +#, python-brace-format +msgid "To complete the removal of this submodule, remove it from {gitmodules}." +msgstr "" + +#: diffview/specialdiff.py:287 +#, python-brace-format +msgid "To complete the removal of this submodule, make sure to commit {gitmodules} at the same time as the submodule folder itself." +msgstr "" + +#: diffview/specialdiff.py:291 +#, python-brace-format +msgid "To complete the addition of this submodule, make sure to commit {gitmodules} at the same time as the submodule folder itself." +msgstr "" + +#: diffview/specialdiff.py:296 +msgid "This subtree isn’t a submodule yet! You should [absorb this subtree] into the parent repository so it becomes a submodule." +msgstr "" + +#: diffview/specialdiff.py:299 +msgid "To complete the addition of this submodule, you should [absorb the submodule] into the parent repository." +msgstr "" + +#: diffview/specialdiff.py:304 +#, python-brace-format +msgid "To complete the addition of this submodule, [register it in {gitmodules}]." +msgstr "" + +#: diffview/specialdiff.py:308 +msgid "IMPORTANT" +msgstr "" + +#: diffview/specialdiff.py:318 +msgid "The subtree contains uncommitted changes. They can’t be committed from the parent repo. You can:" +msgstr "" + +#: diffview/specialdiff.py:319 +msgid "[Open] the subtree and commit the changes." +msgstr "" + +#: diffview/specialdiff.py:320 +msgid "Or, [Reset] the subtree to a clean state." +msgstr "" + +#: diffview/specialdiff.py:322 +msgid "The submodule has uncommitted changes. They can’t be committed from the parent repo. You can:" +msgstr "" + +#: diffview/specialdiff.py:323 +msgid "[Open] the submodule and commit the changes." +msgstr "" + +#: diffview/specialdiff.py:324 +msgid "Or, [Reset] the submodule to a clean state." +msgstr "" + +#: diffview/specialdiffview.py:89 diffview/specialdiffview.py:90 +#, python-brace-format +msgid "{w}×{h} pixels, {size}" +msgstr "" + +#: diffview/specialdiffview.py:96 +msgid "(deleted file displayed below)" +msgstr "" + +#: diffview/specialdiffview.py:99 +msgid "(new file displayed below)" +msgstr "" + +#: dropzone.py:38 +#, python-brace-format +msgid "Drop here to open repo {0}" +msgstr "" + +#: dropzone.py:41 +#, python-brace-format +msgid "Drop here to clone {0}" +msgstr "" + +#: dropzone.py:45 +#, python-brace-format +msgid "Drop here to apply patch {0}" +msgstr "" + +#: dropzone.py:49 +#, python-brace-format +msgid "Drop here to blame {0}" +msgstr "" + +#: exttools/mergedriver.py:123 +#, python-brace-format +msgid "{0} failed to start." +msgstr "" + +#: exttools/mergedriver.py:126 +#, python-brace-format +msgid "{0} ran into error {1}." +msgstr "" + +#: exttools/mergedriver.py:137 +#, python-brace-format +msgid "{0} didn’t complete the merge." +msgstr "" + +#: exttools/mergedriver.py:138 +#, python-brace-format +msgid "Exit code: {0}." +msgstr "" + +#: exttools/toolcommands.py:112 +#, python-brace-format +msgid "Unknown placeholder: {0}" +msgstr "" + +#: exttools/toolcommands.py:122 +msgid "Missing placeholder:" +msgid_plural "Missing placeholders:" +msgstr[0] "" +msgstr[1] "" + +#: exttools/toolcommands.py:298 +msgid "Command exited with code:" +msgstr "" + +#: exttools/toolcommands.py:299 +msgid "Continue in a shell?" +msgstr "" + +#: exttools/toolprocess.py:44 +#, python-brace-format +msgid "Failed to start {tool}" +msgstr "" + +#: exttools/toolprocess.py:47 +#, python-brace-format +msgid "There is an issue with the {tool} command template in your settings:" +msgstr "" + +#: exttools/toolprocess.py:52 +#, python-brace-format +msgid "Couldn’t start Flatpak {command} ({tool})." +msgstr "" + +#: exttools/toolprocess.py:54 +#, python-brace-format +msgid "Couldn’t start {command} ({tool})." +msgstr "" + +#: exttools/toolprocess.py:56 +msgid "It might not be installed on your machine." +msgstr "" + +#: exttools/toolprocess.py:66 +#, python-brace-format +msgid "Where is {tool}?" +msgstr "" + +#: exttools/toolprocess.py:76 +msgid "Edit Command…" +msgstr "" + +#: exttools/toolprocess.py:81 +#, python-brace-format +msgid "Locate {tool}…" +msgstr "" + +#: exttools/toolprocess.py:100 +#, python-brace-format +msgid "{tool} isn’t configured in your settings yet." +msgstr "" + +#: exttools/toolprocess.py:106 +#, python-brace-format +msgid "Set up {tool}" +msgstr "" + +#: exttools/usercommand.py:100 +msgid "Unknown placeholder token" +msgstr "" + +#: exttools/usercommand.py:125 +msgid "A commit must be selected in the history" +msgstr "" + +#: exttools/usercommand.py:134 +msgid "HEAD cannot be unborn" +msgstr "" + +#: exttools/usercommand.py:149 +msgid "A ref (local branch, remote branch, or tag) must be selected in the sidebar" +msgstr "" + +#: exttools/usercommand.py:156 exttools/usercommand.py:163 +msgid "HEAD cannot be unborn or detached" +msgstr "" + +#: exttools/usercommand.py:168 +msgid "Current branch has no upstream" +msgstr "" + +#: exttools/usercommand.py:174 +msgid "A file must be selected" +msgstr "" + +#: exttools/usercommand.py:201 +msgid "A remote or a remote branch must be selected" +msgstr "" + +#: exttools/usercommand.py:206 +msgctxt "relative path" +msgid "(relative)" +msgstr "" + +#: exttools/usercommand.py:207 +msgctxt "absolute path" +msgid "(absolute)" +msgstr "" + +#: exttools/usercommand.py:209 +msgid "Hash of the selected commit in the history" +msgstr "" + +#: exttools/usercommand.py:210 exttools/usercommand.py:211 +msgid "Path to the selected file" +msgstr "" + +#: exttools/usercommand.py:212 exttools/usercommand.py:213 +msgid "Path to the selected file’s parent directory" +msgstr "" + +#: exttools/usercommand.py:214 +msgid "Hash of the HEAD commit" +msgstr "" + +#: exttools/usercommand.py:215 +msgid "Ref name of the HEAD branch" +msgstr "" + +#: exttools/usercommand.py:216 +msgid "Ref name of the HEAD branch’s upstream" +msgstr "" + +#: exttools/usercommand.py:217 +msgid "Name of the selected ref in the sidebar (local branches, remote branches, tags)" +msgstr "" + +#: exttools/usercommand.py:218 +msgid "Name of the selected remote in the sidebar" +msgstr "" + +#: exttools/usercommand.py:219 +msgid "Path to the repository’s working directory" +msgstr "" + +#: filelists/committedfiles.py:40 +msgid "Open Diff in New &Window" +msgstr "" + +#: filelists/committedfiles.py:49 +msgid "&Revert This Change…" +msgid_plural "&Revert These Changes…" +msgstr[0] "" +msgstr[1] "" + +#: filelists/committedfiles.py:54 +msgid "Restor&e File Revision…" +msgstr "" + +#: filelists/committedfiles.py:56 filelists/committedfiles.py:67 +#: filelists/committedfiles.py:75 +msgid "&As Of This Commit" +msgstr "" + +#: filelists/committedfiles.py:57 filelists/committedfiles.py:68 +#: filelists/committedfiles.py:76 +msgid "&Before This Commit" +msgstr "" + +#: filelists/committedfiles.py:64 +#, python-brace-format +msgid "&Open File in {0}" +msgid_plural "&Open {n} Files in {0}" +msgstr[0] "" +msgstr[1] "" + +#: filelists/committedfiles.py:66 +msgid "&Current Revision (Working Copy)" +msgstr "" + +#: filelists/committedfiles.py:73 +msgid "&Save a Copy…" +msgstr "" + +#: filelists/committedfiles.py:84 filelists/dirtyfiles.py:95 +#: filelists/stagedfiles.py:55 +#, python-brace-format +msgid "Submodule" +msgid_plural "{n} Submodules" +msgstr[0] "" +msgstr[1] "" + +#: filelists/committedfiles.py:89 filelists/dirtyfiles.py:107 +#: filelists/stagedfiles.py:65 +#, python-brace-format +msgid "Open Submodule in New Tab" +msgid_plural "Open {n} Submodules in New Tabs" +msgstr[0] "" +msgstr[1] "" + +#: filelists/committedfiles.py:95 filelists/dirtyfiles.py:115 +#: filelists/stagedfiles.py:71 +msgid "Please review the files individually." +msgstr "" + +#: filelists/committedfiles.py:146 +msgid "Open revision before commit" +msgstr "" + +#: filelists/committedfiles.py:148 +msgid "Open revision at commit" +msgstr "" + +#: filelists/committedfiles.py:150 filelists/filelist.py:377 +#: filelists/filelist.py:607 +#, python-brace-format +msgid "Really open {n} files in external editor?" +msgstr "" + +#: filelists/committedfiles.py:163 +msgid "Save file revision as" +msgstr "" + +#: filelists/committedfiles.py:168 +msgid "Save revision before commit" +msgstr "" + +#: filelists/committedfiles.py:170 +msgid "Save revision at commit" +msgstr "" + +#: filelists/committedfiles.py:172 +#, python-brace-format +msgid "Really export {n} files?" +msgstr "" + +#: filelists/committedfiles.py:178 +msgid "This file didn’t exist before the commit." +msgstr "" + +#: filelists/committedfiles.py:182 +msgid "This file was deleted by the commit." +msgstr "" + +#: filelists/committedfiles.py:199 +msgid "There’s no file at this path in the working copy." +msgstr "" + +#: filelists/committedfiles.py:202 +msgid "Open working copy revision" +msgstr "" + +#: filelists/committedfiles.py:202 +#, python-brace-format +msgid "Really open {n} files?" +msgstr "" + +#: filelists/committedfiles.py:208 repowidget.py:423 +msgid "Open diff in new window" +msgstr "" + +#: filelists/committedfiles.py:208 filelists/filelist.py:689 +#, python-brace-format +msgid "Really open {n} windows?" +msgstr "" + +#: filelists/dirtyfiles.py:43 +#, python-brace-format +msgid "&Stage File" +msgid_plural "&Stage {n} Files" +msgstr[0] "" +msgstr[1] "" + +#: filelists/dirtyfiles.py:49 +msgid "&Ignore Untracked File…" +msgid_plural "&Ignore Untracked Files…" +msgstr[0] "" +msgstr[1] "" + +#: filelists/dirtyfiles.py:54 +#, python-brace-format +msgid "&Delete File…" +msgid_plural "&Delete {n} Files…" +msgstr[0] "" +msgstr[1] "" + +#: filelists/dirtyfiles.py:56 +#, python-brace-format +msgid "&Discard Changes in File…" +msgid_plural "&Discard Changes in {n} Files…" +msgstr[0] "" +msgstr[1] "" + +#: filelists/dirtyfiles.py:77 +#, python-brace-format +msgid "Merge Conflict" +msgid_plural "{n} Merge Conflicts" +msgstr[0] "" +msgstr[1] "" + +#: filelists/dirtyfiles.py:82 +msgid "Resolve by Accepting “Theirs”" +msgstr "" + +#: filelists/dirtyfiles.py:87 +msgid "Resolve by Keeping “Ours”" +msgstr "" + +#: filelists/dirtyfiles.py:99 +#, python-brace-format +msgid "Stage Submodule" +msgid_plural "Stage {n} Submodules" +msgstr[0] "" +msgstr[1] "" + +#: filelists/dirtyfiles.py:103 +#, python-brace-format +msgid "Discard Changes in Submodule" +msgid_plural "Discard Changes in {n} Submodules" +msgstr[0] "" +msgstr[1] "" + +#: filelists/dirtyfiles.py:115 +msgid "Can’t stage this selection in bulk." +msgstr "" + +#: filelists/filelist.py:147 +msgid "Find a file by path|Find file" +msgstr "" + +#: filelists/filelist.py:233 +#, python-brace-format +msgid "Open &Folder" +msgid_plural "Open {n} &Folders" +msgstr[0] "" +msgstr[1] "" + +#: filelists/filelist.py:239 +#, python-brace-format +msgid "&Copy Path" +msgid_plural "&Copy {n} Paths" +msgstr[0] "" +msgstr[1] "" + +#: filelists/filelist.py:245 trtables.py:382 +msgid "Path display style" +msgstr "" + +#: filelists/filelist.py:261 +msgid "Stas&h Changes…" +msgstr "" + +#: filelists/filelist.py:268 +msgid "Revert Mode Change" +msgid_plural "Revert Mode Changes" +msgstr[0] "" +msgstr[1] "" + +#: filelists/filelist.py:281 +msgid "Revert Mode to Non-Executable" +msgstr "" + +#: filelists/filelist.py:283 +msgid "Revert Mode to Executable" +msgstr "" + +#: filelists/filelist.py:295 +#, python-brace-format +msgid "Open Diff in {0}" +msgstr "" + +#: filelists/filelist.py:300 +msgid "E&xport Diff As Patch…" +msgid_plural "E&xport Diffs As Patch…" +msgstr[0] "" +msgstr[1] "" + +#: filelists/filelist.py:309 +#, python-brace-format +msgid "&Edit in {tool}" +msgstr "" + +#: filelists/filelist.py:314 +#, python-brace-format +msgid "Edit &HEAD Version in {tool}" +msgid_plural "Edit &HEAD Versions in {tool}" +msgstr[0] "" +msgstr[1] "" + +#: filelists/filelist.py:376 +msgid "Open in external editor" +msgstr "" + +#: filelists/filelist.py:380 +msgid "Open in external diff tool" +msgstr "" + +#: filelists/filelist.py:381 +#, python-brace-format +msgid "Really open {n} files in external diff tool?" +msgstr "" + +#: filelists/filelist.py:388 +msgid "Can’t open external diff tool on a deleted file." +msgstr "" + +#: filelists/filelist.py:391 +msgid "Can’t open external diff tool on a new file." +msgstr "" + +#: filelists/filelist.py:416 +msgid "File doesn’t exist at this path anymore." +msgstr "" + +#: filelists/filelist.py:419 +msgid "Open paths" +msgstr "" + +#: filelists/filelist.py:420 +#, python-brace-format +msgid "Really open {n} folders?" +msgstr "" + +#: filelists/filelist.py:541 +msgid "This file appears to have been modified by another application. Try refreshing the window." +msgstr "" + +#: filelists/filelist.py:568 +msgid "Revert changes in file" +msgstr "" + +#: filelists/filelist.py:569 +msgid "Do you want to revert this patch?" +msgstr "" + +#: filelists/filelist.py:606 +msgid "Open HEAD version of file" +msgstr "" + +#: filelists/filelistmodel.py:72 +msgid "old name" +msgstr "" + +#: filelists/filelistmodel.py:73 +msgid "new name" +msgstr "" + +#: filelists/filelistmodel.py:75 +msgid "name" +msgstr "" + +#: filelists/filelistmodel.py:85 +msgid "status" +msgstr "" + +#: filelists/filelistmodel.py:89 +msgid "similarity" +msgstr "" + +#: filelists/filelistmodel.py:94 filelists/filelistmodel.py:96 +msgid "file mode" +msgstr "" + +#: filelists/filelistmodel.py:101 filelists/filelistmodel.py:103 +msgid "size" +msgstr "" + +#: filelists/filelistmodel.py:103 filelists/filelistmodel.py:116 +#: filelists/filelistmodel.py:117 +msgid "(not computed)" +msgstr "" + +#: filelists/filelistmodel.py:112 +msgid "modified" +msgstr "" + +#: filelists/filelistmodel.py:118 +msgid "blob hash" +msgstr "" + +#: filelists/filelistmodel.py:118 +msgid "commit hash" +msgstr "" + +#: filelists/filelistmodel.py:123 +msgid "Currently viewing diff of staged changes in this file; it also has unstaged changes." +msgstr "" + +#: filelists/filelistmodel.py:126 +msgid "Currently viewing diff of unstaged changes in this file; it also has staged changes." +msgstr "" + +#: filelists/stagedfiles.py:36 +#, python-brace-format +msgid "&Unstage File" +msgid_plural "&Unstage {n} Files" +msgstr[0] "" +msgstr[1] "" + +#: filelists/stagedfiles.py:60 +#, python-brace-format +msgid "Unstage Submodule" +msgid_plural "Unstage {n} Submodules" +msgstr[0] "" +msgstr[1] "" + +#: filelists/stagedfiles.py:71 +msgid "Can’t unstage this selection in bulk." +msgstr "" + +#: forms/aboutdialog.py:70 +#, python-brace-format +msgid "Version {0}" +msgstr "" + +#: forms/aboutdialog.py:82 +#, python-brace-format +msgid "If {app} helps you get work done, please consider [making a small donation]." +msgstr "" + +#: forms/aboutdialog.py:84 +msgid "Thank you for your support!" +msgstr "" + +#: forms/aboutdialog.py:93 +msgid "(unknown version)" +msgstr "" + +#: forms/aboutdialog.py:99 +msgid "Powered by:" +msgstr "" + +#: forms/aboutdialog.py:106 +msgid "(not available)" +msgstr "" + +#: forms/aboutdialog.py:123 +msgid "Additional contributions by:" +msgstr "" + +#: forms/aboutdialog.py:125 +msgid "Brought to your native language by:" +msgstr "" + +#: forms/aboutdialog.py:127 +msgid "Special thanks to Marc-Alexandre Espiaut for beta testing." +msgstr "" + +#: forms/aboutdialog.py:129 +#, python-brace-format +msgid "Portions of this software are based on {lib}, used under {lic}, {copyright}." +msgstr "" + +#: forms/aboutdialog.py:131 +msgid "MIT license" +msgstr "" + +#: forms/askpassdialog.py:64 +msgid "SSH is asking for your confirmation" +msgstr "" + +#: forms/askpassdialog.py:66 +msgid "Message from SSH" +msgstr "" + +#: forms/askpassdialog.py:68 +msgid "Enter SSH credentials" +msgstr "" + +#: forms/askpassdialog.py:77 +#, python-brace-format +msgid "{app}’s ssh-agent will remember this credential until you quit the application." +msgstr "" + +#: forms/askpassdialog.py:80 +#, python-brace-format +msgid "An ssh-agent is running on your system. It will remember this credential if {0} is enabled in your SSH configuration." +msgstr "" + +#: forms/askpassdialog.py:83 +msgid "This credential will not be remembered because ssh-agent isn’t running on your system." +msgstr "" + +#: forms/askpassdialog.py:95 forms/askpassdialog.py:114 +msgid "Reveal passphrase" +msgstr "" + +#: forms/askpassdialog.py:102 +msgid "Yes" +msgstr "" + +#: forms/askpassdialog.py:103 +msgid "No" +msgstr "" + +#: forms/askpassdialog.py:114 +msgid "Hide passphrase" +msgstr "" + +#: forms/banner.py:50 +msgid "Dismiss" +msgstr "" + +#: forms/checkoutcommitdialog.py:35 +#, python-brace-format +msgid "Check out commit {0}" +msgstr "" + +#: forms/checkoutcommitdialog.py:38 +msgid "Move &detached HEAD here" +msgstr "" + +#: forms/checkoutcommitdialog.py:40 +#, python-brace-format +msgid "&Reset the tip of branch {0} here…" +msgstr "" + +#: forms/checkoutcommitdialog.py:41 graphview/graphview.py:139 +#: sidebar/sidebar.py:212 sidebar/sidebar.py:308 +#, python-brace-format +msgid "&Merge into {0}…" +msgstr "" + +#: forms/checkoutcommitdialog.py:43 +msgid "Detach HEAD" +msgstr "" + +#: forms/checkoutcommitdialog.py:44 +msgid "Switch Branch" +msgstr "" + +#: forms/checkoutcommitdialog.py:45 +#, python-brace-format +msgid "Reset {0}…" +msgstr "" + +#: forms/checkoutcommitdialog.py:46 +msgid "Merge…" +msgstr "" + +#: forms/checkoutcommitdialog.py:47 +msgid "Create Branch…" +msgstr "" + +#: forms/checkoutcommitdialog.py:68 +#, python-brace-format +msgctxt "checkout: current branch name" +msgid "{0} (already checked out)" +msgstr "" + +#: forms/checkoutcommitdialog.py:70 +msgctxt "checkout: no branches available" +msgid "(none available here)" +msgstr "" + +#: forms/clonedialog.py:61 +msgid "Reset default clone location" +msgstr "" + +#: forms/clonedialog.py:69 +msgid "C&lone" +msgstr "" + +#: forms/clonedialog.py:77 +#, python-brace-format +msgid "Hit {0} when ready." +msgstr "" + +#: forms/clonedialog.py:110 forms/ignorepatterndialog.py:53 +msgid "Please fill in this field." +msgstr "" + +#: forms/clonedialog.py:117 +msgid "Please enter an absolute path." +msgstr "" + +#: forms/clonedialog.py:119 +msgid "There’s already a file at this path." +msgstr "" + +#: forms/clonedialog.py:123 +msgid "This directory isn’t empty." +msgstr "" + +#: forms/clonedialog.py:157 +msgid "Set current location as default clone location" +msgstr "" + +#: forms/clonedialog.py:164 +#, python-brace-format +msgid "{0} is the default clone location" +msgstr "" + +#: forms/clonedialog.py:167 +#, python-brace-format +msgid "Set {0} as default clone location" +msgstr "" + +#: forms/clonedialog.py:183 +msgid "Clear history" +msgstr "" + +#: forms/clonedialog.py:207 +msgid "&Shallow clone" +msgstr "" + +#: forms/clonedialog.py:213 +#, python-brace-format +msgid "&Shallow clone: Fetch up to {n} commit per branch" +msgid_plural "&Shallow clone: Fetch up to {n} commits per branch" +msgstr[0] "" +msgstr[1] "" + +#: forms/clonedialog.py:250 +msgid "Clone repository into" +msgstr "" + +#: forms/clonedialog.py:259 +msgid "Clone here" +msgstr "" + +#: forms/clonedialog.py:293 forms/pushdialog.py:306 +msgid "Contacting remote host…" +msgstr "" + +#: forms/commitdialog.py:53 +msgid "Amend commit message" +msgstr "" + +#: forms/commitdialog.py:54 +msgid "A&mend" +msgstr "" + +#: forms/commitdialog.py:55 +#, python-brace-format +msgid "Amend Commit {0}" +msgstr "" + +#: forms/commitdialog.py:57 +msgid "Enter commit summary" +msgstr "" + +#: forms/commitdialog.py:58 +msgid "Co&mmit" +msgstr "" + +#: forms/commitdialog.py:63 +msgid "This commit will conclude the merge." +msgstr "" + +#: forms/commitdialog.py:65 +msgid "This commit will conclude the cherry-pick." +msgstr "" + +#: forms/commitdialog.py:67 +msgid "This commit will conclude the revert." +msgstr "" + +#: forms/commitdialog.py:69 +#, python-brace-format +msgid "You are amending commit {0}." +msgstr "" + +#: forms/commitdialog.py:71 +msgid "Detached HEAD – You are not in any branch! You should create a branch to keep track of your commit." +msgstr "" + +#: forms/commitdialog.py:74 +msgid "You are creating an empty commit (no staged changes)." +msgstr "" + +#: forms/commitdialog.py:142 forms/registersubmoduledialog.py:68 +#: forms/remotedialog.py:36 trtables.py:119 +msgid "Cannot be empty." +msgstr "" + +#: forms/commitdialog.py:195 +msgid "Authored by:" +msgstr "" + +#: forms/commitdialog.py:198 forms/commitdialog.py:203 +msgid "(overridden manually)" +msgstr "" + +#: forms/commitdialog.py:200 +msgid "Committed by:" +msgstr "" + +#: forms/conflictview.py:229 +#, python-brace-format +msgid "Waiting for you to finish merging this file in {0} (PID {1})…" +msgstr "" + +#: forms/conflictview.py:262 +msgid "This file has received changes from both our branch and their branch." +msgstr "" + +#: forms/conflictview.py:264 forms/conflictview.py:296 +#: forms/conflictview.py:311 forms/conflictview.py:331 +msgid "Keep OURS" +msgstr "" + +#: forms/conflictview.py:265 forms/conflictview.py:321 +#: forms/conflictview.py:332 +msgid "Accept THEIRS" +msgstr "" + +#: forms/conflictview.py:267 forms/conflictview.py:283 +#: forms/conflictview.py:334 +msgid "Resolve the conflict by rejecting incoming changes." +msgstr "" + +#: forms/conflictview.py:268 forms/conflictview.py:335 +msgid "The file will remain unchanged from its state in HEAD." +msgstr "" + +#: forms/conflictview.py:270 forms/conflictview.py:286 +#: forms/conflictview.py:337 +msgid "Resolve the conflict by accepting incoming changes." +msgstr "" + +#: forms/conflictview.py:271 forms/conflictview.py:338 +msgid "The file will be replaced with the incoming version." +msgstr "" + +#: forms/conflictview.py:278 +msgid "This file was deleted from our branch, but their branch kept it and made changes to it." +msgstr "" + +#: forms/conflictview.py:280 +msgid "Keep OUR deletion" +msgstr "" + +#: forms/conflictview.py:281 +msgid "Accept THEIR version" +msgstr "" + +#: forms/conflictview.py:284 +msgid "The file won’t be added back to your branch." +msgstr "" + +#: forms/conflictview.py:287 +msgid "The file will be restored to your branch with the incoming changes." +msgstr "" + +#: forms/conflictview.py:294 +msgid "We’ve made changes to this file in our branch, but their branch has deleted it." +msgstr "" + +#: forms/conflictview.py:297 +msgid "Accept deletion" +msgstr "" + +#: forms/conflictview.py:299 +msgid "Resolve the conflict by rejecting the incoming deletion." +msgstr "" + +#: forms/conflictview.py:300 +msgid "Our version of the file will be kept intact." +msgstr "" + +#: forms/conflictview.py:302 +msgid "Resolve the conflict by accepting the incoming deletion." +msgstr "" + +#: forms/conflictview.py:303 +msgid "The file will be deleted." +msgstr "" + +#: forms/conflictview.py:310 forms/conflictview.py:319 +msgid "No common ancestor." +msgstr "" + +#: forms/conflictview.py:312 +msgid "Delete it" +msgstr "" + +#: forms/conflictview.py:320 +msgid "Don’t add" +msgstr "" + +#: forms/conflictview.py:328 +msgid "This file has been created in both our branch and their branch, independently from each other. There is no common ancestor." +msgstr "" + +#: forms/conflictview.py:345 +msgid "The file was deleted from our branch, and their branch has deleted it too." +msgstr "" + +#: forms/contextheader.py:35 +msgid "Maximize" +msgstr "" + +#: forms/contextheader.py:37 +msgid "Maximize the diff area and hide the commit graph" +msgstr "" + +#: forms/contextheader.py:81 +msgctxt "noun" +msgid "Commit" +msgstr "" + +#: forms/contextheader.py:81 +msgctxt "noun" +msgid "Stash" +msgstr "" + +#: forms/contextheader.py:85 +msgid "Info" +msgstr "" + +#: forms/contextheader.py:86 +msgid "Show details about this commit" +msgstr "" + +#: forms/contextheader.py:87 +msgid "Show details about this stash" +msgstr "" + +#: forms/contextheader.py:90 tasks/indextasks.py:142 +msgid "Delete" +msgstr "" + +#: forms/contextheader.py:91 +msgid "Delete this stash" +msgstr "" + +#: forms/contextheader.py:93 tasks/indextasks.py:426 +msgid "Apply" +msgstr "" + +#: forms/contextheader.py:94 +msgid "Apply this stash" +msgstr "" + +#: forms/contextheader.py:97 graphview/commitlogdelegate.py:585 +msgid "Working Directory" +msgstr "" + +#: forms/deletetagdialog.py:33 +msgid "&Delete Locally" +msgstr "" + +#: forms/deletetagdialog.py:33 +msgid "&Delete Locally && Remotely" +msgstr "" + +#: forms/deletetagdialog.py:47 +#, python-brace-format +msgid "Delete tag {0}" +msgstr "" + +#: forms/deletetagdialog.py:48 +#, python-brace-format +msgid "Tagged commit: {0}" +msgstr "" + +#: forms/gpgbutton.py:34 +#, python-brace-format +msgid "Signing key: {0}" +msgstr "" + +#: forms/gpgbutton.py:36 +#, python-brace-format +msgid "Signing key not configured ({0})" +msgstr "" + +#: forms/gpgbutton.py:42 +msgid "Enable &signing for this commit" +msgstr "" + +#: forms/gpgbutton.py:44 forms/gpgbutton.py:64 +msgid "This commit will not be signed." +msgstr "" + +#: forms/gpgbutton.py:62 +#, python-brace-format +msgid "This commit [will be signed] with your key {yourkey} (configured in {keyconf})." +msgstr "" + +#: forms/gpgbutton.py:69 +#, python-brace-format +msgid "Click this button to sign the commit with your key {yourkey} (configured in {keyconf})." +msgstr "" + +#: forms/gpgbutton.py:71 +#, python-brace-format +msgid "Your signing key isn’t configured in {keyconf}." +msgstr "" + +#: forms/gpgbutton.py:76 +#, python-brace-format +msgid "This repository is configured to sign commits automatically ({flagconf})." +msgstr "" + +#: forms/gpgbutton.py:78 +#, python-brace-format +msgid "Tip: You can configure {flagconf} if you want to sign every commit." +msgstr "" + +#: forms/identitydialog.py:44 +msgid "This information will be embedded in the commits and tags that you create on this machine." +msgstr "" + +#: forms/identitydialog.py:46 +msgid "Before editing this repository, please set up your identity for Git." +msgstr "" + +#: forms/ignorepatterndialog.py:40 +#, python-brace-format +msgid "Based off: {0}" +msgstr "" + +#: forms/ignorepatterndialog.py:72 +msgid "This pattern doesn’t match the file that you selected." +msgstr "" + +#: forms/ignorepatterndialog.py:79 +msgid "Just this specific path" +msgstr "" + +#: forms/ignorepatterndialog.py:85 +msgid "Everything in this directory" +msgstr "" + +#: forms/ignorepatterndialog.py:90 +#, python-brace-format +msgid "All {0} files in this directory tree" +msgstr "" + +#: forms/ignorepatterndialog.py:91 +#, python-brace-format +msgid "Any {0} file" +msgstr "" + +#: forms/ignorepatterndialog.py:93 +msgid "Any file with this exact name" +msgstr "" + +#: forms/ignorepatterndialog.py:100 +msgid "Share pattern with other contributors" +msgstr "" + +#: forms/ignorepatterndialog.py:101 +msgid "Keep pattern private on this machine" +msgstr "" + +#: forms/keyfilepickercheckbox.py:20 +#, python-brace-format +msgid "{app} normally uses public/private keys in {path} to authenticate you with remote servers." +msgstr "" + +#: forms/keyfilepickercheckbox.py:22 +msgid "Tick this box if you want to access remotes in this repo with a custom key." +msgstr "" + +#: forms/keyfilepickercheckbox.py:29 +msgid "Select public key file for this remote" +msgstr "" + +#: forms/keyfilepickercheckbox.py:30 +msgid "Public key file" +msgstr "" + +#: forms/keyfilepickercheckbox.py:40 +msgid "File not found." +msgstr "" + +#: forms/keyfilepickercheckbox.py:45 +msgid "Accompanying private key not found." +msgstr "" + +#: forms/keyfilepickercheckbox.py:49 +msgid "Accompanying public key not found." +msgstr "" + +#: forms/maintoolbar.py:32 trtables.py:386 +msgid "Show toolbar" +msgstr "" + +#: forms/maintoolbar.py:51 trtables.py:508 +msgid "Terminal" +msgstr "" + +#: forms/maintoolbar.py:53 +msgid "Open a terminal in the repo" +msgstr "" + +#: forms/maintoolbar.py:57 +msgid "Open…" +msgstr "" + +#: forms/maintoolbar.py:59 mainwindow.py:214 +msgid "Open a Git repo on your machine" +msgstr "" + +#: forms/maintoolbar.py:63 +msgid "Settings" +msgstr "" + +#: forms/maintoolbar.py:65 mainwindow.py:231 +#, python-brace-format +msgid "Configure {app}" +msgstr "" + +#: forms/maintoolbar.py:84 +msgid "Reveal" +msgstr "" + +#: forms/maintoolbar.py:86 +msgid "Open repo folder in file manager" +msgstr "" + +#: forms/maintoolbar.py:145 +msgid "Text Position" +msgstr "" + +#: forms/maintoolbar.py:147 trtables.py:224 +msgid "Icons Only" +msgstr "" + +#: forms/maintoolbar.py:148 +msgid "Text Only" +msgstr "" + +#: forms/maintoolbar.py:149 +msgid "Text Alongside Icons" +msgstr "" + +#: forms/maintoolbar.py:150 +msgid "Text Under Icons" +msgstr "" + +#: forms/maintoolbar.py:155 +msgid "Icon Size" +msgstr "" + +#: forms/maintoolbar.py:157 +msgid "Small" +msgstr "" + +#: forms/maintoolbar.py:158 +msgid "Medium" +msgstr "" + +#: forms/maintoolbar.py:159 +msgid "Large" +msgstr "" + +#: forms/maintoolbar.py:160 +msgid "Huge" +msgstr "" + +#: forms/newbranchdialog.py:31 forms/newtagdialog.py:41 +msgid "&Create" +msgstr "" + +#: forms/newbranchdialog.py:48 +msgid "(blocked by conflicts)" +msgstr "" + +#: forms/newbranchdialog.py:51 tasks/branchtasks.py:87 +msgid "This name is already taken by another local branch." +msgstr "" + +#: forms/newbranchdialog.py:57 +msgid "New branch" +msgstr "" + +#: forms/newbranchdialog.py:58 +msgid "Commit at tip:" +msgstr "" + +#: forms/newtagdialog.py:17 sidebar/sidebar.py:984 +msgid "No Remotes" +msgstr "" + +#: forms/newtagdialog.py:19 +msgid "All Remotes" +msgstr "" + +#: forms/newtagdialog.py:41 +msgid "&Create && Push" +msgstr "" + +#: forms/newtagdialog.py:46 +msgid "This name is already taken by another tag." +msgstr "" + +#: forms/newtagdialog.py:61 +#, python-brace-format +msgid "New tag on commit {0}" +msgstr "" + +#: forms/prefsdialog.py:57 +#, python-brace-format +msgid "{app} Settings" +msgstr "" + +#: forms/prefsdialog.py:230 +#, python-brace-format +msgid "{0} Handy Reference" +msgstr "" + +#: forms/prefsdialog.py:315 +msgid "Image" +msgstr "" + +#: forms/prefsdialog.py:315 +msgid "Text" +msgstr "" + +#: forms/prefsdialog.py:340 +msgid "Built-in git (sandboxed)" +msgstr "" + +#: forms/prefsdialog.py:341 +msgid "Auto-detected system git" +msgstr "" + +#: forms/prefsdialog.py:362 +msgctxt "system default language setting" +msgid "System default" +msgstr "" + +#: forms/prefsdialog.py:421 +msgctxt "hint user to leave the field blank" +msgid "leave blank" +msgstr "" + +#: forms/prefsdialog.py:427 +msgid "Leave blank for system default." +msgstr "" + +#: forms/prefsdialog.py:455 +#, python-brace-format +msgid "" +"# Enter custom terminal commands here.\n" +"# You can then launch them from the {menu} menu.\n" +"# Click {button} below for more information." +msgstr "" + +#: forms/prefsdialog.py:458 mainwindow.py:354 trtables.py:559 +msgid "&Commands" +msgstr "" + +#: forms/prefsdialog.py:459 +msgid "Handy Reference" +msgstr "" + +#: forms/prefsdialog.py:523 +msgctxt "system default theme setting" +msgid "System default" +msgstr "" + +#: forms/prefsdialog.py:573 +#, python-brace-format +msgid "This feature requires {0}." +msgstr "" + +#: forms/prefsdialog.py:577 +#, python-brace-format +msgctxt "syntax highlighting" +msgid "Automatic ({name})" +msgstr "" + +#: forms/prefsdialog.py:578 +msgctxt "syntax highlighting" +msgid "Off" +msgstr "" + +#: forms/prefsdialog.py:613 +msgid "Red and green" +msgstr "" + +#: forms/prefsdialog.py:614 +msgid "Colorblind-friendly" +msgstr "" + +#: forms/protocolbutton.py:19 +msgid "Change URL protocol" +msgstr "" + +#: forms/pushdialog.py:27 +#, python-brace-format +msgid "tracking {0}" +msgstr "" + +#: forms/pushdialog.py:29 +msgid "non-tracking" +msgstr "" + +#: forms/pushdialog.py:78 +#, python-brace-format +msgid "{0} will track {1}." +msgstr "" + +#: forms/pushdialog.py:80 +#, python-brace-format +msgid "{0} currently does not track any remote branch." +msgstr "" + +#: forms/pushdialog.py:82 +#, python-brace-format +msgid "{0} already tracks remote branch {1}." +msgstr "" + +#: forms/pushdialog.py:84 +#, python-brace-format +msgid "{0} will track {1} instead of {2}." +msgstr "" + +#: forms/pushdialog.py:86 +#, python-brace-format +msgid "{0} currently tracks {1}." +msgstr "" + +#: forms/pushdialog.py:192 +msgid "[tracked]" +msgstr "" + +#: forms/pushdialog.py:199 +#, python-brace-format +msgid "New remote branch on {0}" +msgstr "" + +#: forms/pushdialog.py:217 forms/pushdialog.py:274 forms/pushdialog.py:329 +msgid "&Push" +msgstr "" + +#: forms/pushdialog.py:242 +msgid "(with lease)" +msgstr "" + +#: forms/pushdialog.py:268 +msgid "Force &push" +msgstr "" + +#: forms/pushdialog.py:270 +msgid "Force push: Destructive action!" +msgstr "" + +#: forms/pushdialog.py:272 +msgid "&Push new branch" +msgstr "" + +#: forms/pushdialog.py:288 tasks/nettasks.py:103 +msgid "This name is already taken by another branch on this remote." +msgstr "" + +#: forms/pushdialog.py:330 +#, python-brace-format +msgid "Click {0} to run:" +msgstr "" + +#: forms/registersubmoduledialog.py:36 +msgid "Reset to default name" +msgstr "" + +#: forms/registersubmoduledialog.py:42 forms/registersubmoduledialog.py:43 +#: tasks/taskbook.py:33 +msgid "Absorb submodule" +msgstr "" + +#: forms/registersubmoduledialog.py:46 forms/registersubmoduledialog.py:47 +#: tasks/taskbook.py:84 +msgid "Register submodule" +msgstr "" + +#: forms/registersubmoduledialog.py:70 +msgid "This name is already taken by another submodule." +msgstr "" + +#: forms/remotedialog.py:35 +msgid "This name is already taken by another remote." +msgstr "" + +#: forms/remotedialog.py:45 +#, python-brace-format +msgid "Edit remote {0}" +msgstr "" + +#: forms/remotedialog.py:46 tasks/taskbook.py:51 +msgid "Edit remote" +msgstr "" + +#: forms/remotedialog.py:47 +msgid "Save" +msgstr "" + +#: forms/remotedialog.py:53 forms/remotedialog.py:54 tasks/taskbook.py:75 +msgid "Add remote" +msgstr "" + +#: forms/remotedialog.py:55 +msgid "Add" +msgstr "" + +#: forms/reposettingsdialog.py:44 +msgctxt "RepoSettingsDialog" +msgid "from global config" +msgstr "" + +#: forms/reposettingsdialog.py:46 +msgctxt "RepoSettingsDialog" +msgid "global git identity not configured" +msgstr "" + +#: forms/repostub.py:74 +msgid "Aborting. Just a moment…" +msgstr "" + +#: forms/repostub.py:91 +#, python-brace-format +msgid "Opening {0}…" +msgstr "" + +#: forms/repostub.py:102 +msgid "Try to reload" +msgstr "" + +#: forms/repostub.py:109 +msgid "Loading interrupted. Just a moment…" +msgstr "" + +#: forms/resetheaddialog.py:27 +msgid "Hard reset: Destructive action!" +msgstr "" + +#: forms/resetheaddialog.py:77 +#, python-brace-format +msgid "Reset {0} to {1}" +msgstr "" + +#: forms/resetheaddialog.py:81 +#, python-brace-format +msgid "Commit {0}:" +msgstr "" + +#: forms/searchbar.py:225 +#, python-brace-format +msgid "{text} not found." +msgstr "" + +#: forms/stashdialog.py:58 +msgid "Stash && Keep Changes" +msgstr "" + +#: forms/stashdialog.py:58 +msgid "Stash && Reset Changes" +msgstr "" + +#: forms/stashdialog.py:60 +msgid "&Include these files in the stash, then reset them to their unmodified state:" +msgstr "" + +#: forms/stashdialog.py:61 +msgid "&Include these files in the stash:" +msgstr "" + +#: forms/statusform.py:81 tasks/blametasks.py:110 +msgid "Please wait…" +msgstr "" + +#: forms/statusform.py:85 +msgid "Abort" +msgstr "" + +#: forms/statusform.py:117 +msgid "Aborting…" +msgstr "" + +#: forms/statusform.py:128 +msgid "SIGTERM sent. Waiting for process to terminate…" +msgstr "" + +#: forms/ui_aboutdialog.py:158 +#, python-brace-format +msgctxt "AboutDialog" +msgid "About {0}" +msgstr "" + +#: forms/ui_aboutdialog.py:159 +msgctxt "AboutDialog" +msgid "About" +msgstr "" + +#: forms/ui_aboutdialog.py:160 +msgctxt "AboutDialog" +msgid "Components" +msgstr "" + +#: forms/ui_aboutdialog.py:161 +msgctxt "AboutDialog" +msgid "Acknowledgments" +msgstr "" + +#: forms/ui_aboutdialog.py:162 +msgctxt "AboutDialog" +msgid "License" +msgstr "" + +#: forms/ui_checkoutcommitdialog.py:94 +msgctxt "CheckoutCommitDialog" +msgid "Check out commit" +msgstr "" + +#: forms/ui_checkoutcommitdialog.py:95 +msgctxt "CheckoutCommitDialog" +msgid "How do you want to check out this commit?" +msgstr "" + +#: forms/ui_checkoutcommitdialog.py:96 +msgctxt "CheckoutCommitDialog" +msgid "Switch to &branch:" +msgstr "" + +#: forms/ui_checkoutcommitdialog.py:97 +msgctxt "CheckoutCommitDialog" +msgid "List of branches that point to this commit." +msgstr "" + +#: forms/ui_checkoutcommitdialog.py:98 +msgctxt "CheckoutCommitDialog" +msgid "Enter &detached HEAD here" +msgstr "" + +#: forms/ui_checkoutcommitdialog.py:99 +msgctxt "CheckoutCommitDialog" +msgid "&Reset HEAD here…" +msgstr "" + +#: forms/ui_checkoutcommitdialog.py:100 +msgctxt "CheckoutCommitDialog" +msgid "&Merge into HEAD…" +msgstr "" + +#: forms/ui_checkoutcommitdialog.py:101 +msgctxt "CheckoutCommitDialog" +msgid "Start &new branch here…" +msgstr "" + +#: forms/ui_checkoutcommitdialog.py:102 +msgctxt "CheckoutCommitDialog" +msgid "After the checkout:" +msgstr "" + +#: forms/ui_checkoutcommitdialog.py:103 +msgctxt "CheckoutCommitDialog" +msgid "Update submodules recursively" +msgstr "" + +#: forms/ui_clonedialog.py:130 +msgctxt "CloneDialog" +msgid "Clone repository" +msgstr "" + +#: forms/ui_clonedialog.py:131 +msgctxt "CloneDialog" +msgid "Remote &URL:" +msgstr "" + +#: forms/ui_clonedialog.py:132 +msgctxt "CloneDialog" +msgid "Clone in&to:" +msgstr "" + +#: forms/ui_clonedialog.py:133 +msgctxt "CloneDialog" +msgid "&Browse…" +msgstr "" + +#: forms/ui_clonedialog.py:134 +msgctxt "CloneDialog" +msgid "Options:" +msgstr "" + +#: forms/ui_clonedialog.py:135 +msgctxt "CloneDialog" +msgid "Initialize submodules recursively (if any)" +msgstr "" + +#: forms/ui_clonedialog.py:136 +msgctxt "CloneDialog" +msgid "

Tick this to download just the latest commits, not the entire history of the repository." +msgstr "" + +#: forms/ui_clonedialog.py:137 +msgctxt "CloneDialog" +msgid "Log in to SSH remotes with custom &key file" +msgstr "" + +#: forms/ui_commitdialog.py:106 +msgctxt "CommitDialog" +msgid "Commit" +msgstr "" + +#: forms/ui_commitdialog.py:107 +msgctxt "CommitDialog" +msgid "Enter commit summary" +msgstr "" + +#: forms/ui_commitdialog.py:108 +msgctxt "CommitDialog" +msgid "

Length of the summary. Convention is to stay under 50 characters and avoid going over 72. If that’s not enough, use the long-form description.

" +msgstr "" + +#: forms/ui_commitdialog.py:109 +msgctxt "CommitDialog" +msgid "Long-form description (optional)" +msgstr "" + +#: forms/ui_commitdialog.py:110 +msgctxt "CommitDialog" +msgid "&Edit Author" +msgstr "" + +#: forms/ui_commitdialog.py:111 +msgctxt "CommitDialog" +msgid "Preview" +msgstr "" + +#: forms/ui_conflictview.py:228 +msgctxt "ConflictView" +msgid "Merge conflict" +msgstr "" + +#: forms/ui_conflictview.py:229 +#, python-brace-format +msgctxt "ConflictView" +msgid "Merge conflict on {0}" +msgstr "" + +#: forms/ui_conflictview.py:230 +msgctxt "ConflictView" +msgid "OUR version" +msgstr "" + +#: forms/ui_conflictview.py:231 +msgctxt "ConflictView" +msgid "or" +msgstr "" + +#: forms/ui_conflictview.py:232 +msgctxt "ConflictView" +msgid "THEIR version" +msgstr "" + +#: forms/ui_conflictview.py:233 +msgctxt "ConflictView" +msgid "Select another external merge tool in the Settings." +msgstr "" + +#: forms/ui_conflictview.py:234 +msgctxt "ConflictView" +msgid "Change merge tool…" +msgstr "" + +#: forms/ui_conflictview.py:235 +#, python-brace-format +msgctxt "ConflictView" +msgid "

Open {tool} so you can merge both versions by hand. When you are done, save the file and quit {tool} to resolve the conflict." +msgstr "" + +#: forms/ui_conflictview.py:236 +#, python-brace-format +msgctxt "ConflictView" +msgid "Merge both versions in {tool}" +msgstr "" + +#: forms/ui_conflictview.py:237 +msgctxt "ConflictView" +msgid "Abort" +msgstr "" + +#: forms/ui_conflictview.py:238 +#, python-brace-format +msgctxt "ConflictView" +msgid "

Ignore the merge that you made in {tool} so that you can start over." +msgstr "" + +#: forms/ui_conflictview.py:239 +msgctxt "ConflictView" +msgid "Discard this merge" +msgstr "" + +#: forms/ui_conflictview.py:240 +msgctxt "ConflictView" +msgid "It looks like you’ve finished merging this file." +msgstr "" + +#: forms/ui_conflictview.py:241 +#, python-brace-format +msgctxt "ConflictView" +msgid "

Merge this file in {tool} again, starting where you left off." +msgstr "" + +#: forms/ui_conflictview.py:242 +msgctxt "ConflictView" +msgid "Merge again" +msgstr "" + +#: forms/ui_conflictview.py:243 +#, python-brace-format +msgctxt "ConflictView" +msgid "

Resolve this conflict by accepting the merge that you’ve completed in {tool}." +msgstr "" + +#: forms/ui_conflictview.py:244 +msgctxt "ConflictView" +msgid "Resolve the conflict with your merge" +msgstr "" + +#: forms/ui_conflictview.py:245 +msgctxt "ConflictView" +msgid "Confirm deletion" +msgstr "" + +#: forms/ui_deletetagdialog.py:50 +msgctxt "DeleteTagDialog" +msgid "Delete tag" +msgstr "" + +#: forms/ui_deletetagdialog.py:51 +#, python-brace-format +msgctxt "DeleteTagDialog" +msgid "Really delete tag {0}?" +msgstr "" + +#: forms/ui_deletetagdialog.py:52 +msgctxt "DeleteTagDialog" +msgid "&Push deletion to:" +msgstr "" + +#: forms/ui_donateprompt.py:90 +#, python-brace-format +msgctxt "DonatePrompt" +msgid "" +"Hi! I hope you’re enjoying {app}.\n" +"\n" +"If {app} helps you get work done, please consider making a small donation! This will encourage me to keep developing it. Thank you!\n" +"\n" +"-Iliyas" +msgstr "" + +#: forms/ui_donateprompt.py:95 +#, python-brace-format +msgctxt "DonatePrompt" +msgid "Donate {amount}" +msgstr "" + +#: forms/ui_donateprompt.py:96 +msgctxt "DonatePrompt" +msgid "Never show this again" +msgstr "" + +#: forms/ui_donateprompt.py:97 +#, python-brace-format +msgctxt "DonatePrompt" +msgid "Remind me in {month}" +msgstr "" + +#: forms/ui_donateprompt.py:98 +msgctxt "DonatePrompt" +msgid "THANK YOU!" +msgstr "" + +#: forms/ui_identitydialog.py:63 +msgctxt "IdentityDialog" +msgid "Set up your Git identity" +msgstr "" + +#: forms/ui_identitydialog.py:64 +msgctxt "IdentityDialog" +msgid "&Name:" +msgstr "" + +#: forms/ui_identitydialog.py:65 +msgctxt "IdentityDialog" +msgid "&Email:" +msgstr "" + +#: forms/ui_identitydialog.py:66 +msgctxt "IdentityDialog" +msgid "Note: This will not apply to the current repository, because its configuration file defines a custom identity." +msgstr "" + +#: forms/ui_identitydialog.py:67 +#, python-brace-format +msgctxt "IdentityDialog" +msgid "This information will be saved in {0}." +msgstr "" + +#: forms/ui_ignorepatterndialog.py:55 +msgctxt "IgnorePatternDialog" +msgid "Ignore file name pattern" +msgstr "" + +#: forms/ui_ignorepatterndialog.py:56 +msgctxt "IgnorePatternDialog" +msgid "&Pattern:" +msgstr "" + +#: forms/ui_ignorepatterndialog.py:57 +msgctxt "IgnorePatternDialog" +msgid "&Add to:" +msgstr "" + +#: forms/ui_newbranchdialog.py:81 +msgctxt "NewBranchDialog" +msgid "New branch" +msgstr "" + +#: forms/ui_newbranchdialog.py:82 +msgctxt "NewBranchDialog" +msgid "&Name:" +msgstr "" + +#: forms/ui_newbranchdialog.py:83 +msgctxt "NewBranchDialog" +msgid "Options:" +msgstr "" + +#: forms/ui_newbranchdialog.py:84 +msgctxt "NewBranchDialog" +msgid "&Switch to branch after creating" +msgstr "" + +#: forms/ui_newbranchdialog.py:85 +msgctxt "NewBranchDialog" +msgid "&Track upstream branch:" +msgstr "" + +#: forms/ui_newbranchdialog.py:86 +msgctxt "NewBranchDialog" +msgid "…then update submodules recursively" +msgstr "" + +#: forms/ui_newtagdialog.py:60 +msgctxt "NewTagDialog" +msgid "New tag" +msgstr "" + +#: forms/ui_newtagdialog.py:61 +msgctxt "NewTagDialog" +msgid "&Name:" +msgstr "" + +#: forms/ui_newtagdialog.py:62 +msgctxt "NewTagDialog" +msgid "Enter tag name" +msgstr "" + +#: forms/ui_newtagdialog.py:63 +msgctxt "NewTagDialog" +msgid "&Push to:" +msgstr "" + +#: forms/ui_pushdialog.py:126 +msgctxt "PushDialog" +msgid "Push branch" +msgstr "" + +#: forms/ui_pushdialog.py:127 +msgctxt "PushDialog" +msgid "&Local branch:" +msgstr "" + +#: forms/ui_pushdialog.py:128 +msgctxt "PushDialog" +msgid "Push &to:" +msgstr "" + +#: forms/ui_pushdialog.py:129 +msgctxt "PushDialog" +msgid "Branch name on remote" +msgstr "" + +#: forms/ui_pushdialog.py:130 +msgctxt "PushDialog" +msgid "&Force push" +msgstr "" + +#: forms/ui_pushdialog.py:131 +msgctxt "PushDialog" +msgid "&Track this remote branch after pushing" +msgstr "" + +#: forms/ui_registersubmoduledialog.py:96 +msgctxt "RegisterSubmoduleDialog" +msgid "Register submodule" +msgstr "" + +#: forms/ui_registersubmoduledialog.py:97 +msgctxt "RegisterSubmoduleDialog" +msgid "Workdir:" +msgstr "" + +#: forms/ui_registersubmoduledialog.py:98 +msgctxt "RegisterSubmoduleDialog" +msgid "&Name:" +msgstr "" + +#: forms/ui_registersubmoduledialog.py:99 +msgctxt "RegisterSubmoduleDialog" +msgid "&Remote:" +msgstr "" + +#: forms/ui_registersubmoduledialog.py:100 +msgctxt "RegisterSubmoduleDialog" +msgid "

This will be the default remote for this submodule. People who clone your repo will use this remote to download the submodule." +msgstr "" + +#: forms/ui_registersubmoduledialog.py:101 +#, python-brace-format +msgctxt "RegisterSubmoduleDialog" +msgid "Once absorbed as a submodule, this copy of {sub} cannot be used independently from its superproject, {super}. This cannot be undone!" +msgstr "" + +#: forms/ui_registersubmoduledialog.py:102 +msgctxt "RegisterSubmoduleDialog" +msgid "

This name uniquely identifies your submodule in “.gitmodules”. It can be anything you like, but common practice is to simply name it after the submodule’s workdir." +msgstr "" + +#: forms/ui_remotedialog.py:65 +msgctxt "RemoteDialog" +msgid "Edit remote" +msgstr "" + +#: forms/ui_remotedialog.py:66 +msgctxt "RemoteDialog" +msgid "&URL:" +msgstr "" + +#: forms/ui_remotedialog.py:67 +msgctxt "RemoteDialog" +msgid "&Name:" +msgstr "" + +#: forms/ui_remotedialog.py:68 +msgctxt "RemoteDialog" +msgid "&Fetch remote branches after adding" +msgstr "" + +#: forms/ui_reposettingsdialog.py:70 +#, python-brace-format +msgctxt "RepoSettingsDialog" +msgid "Repo Settings for {repo}" +msgstr "" + +#: forms/ui_reposettingsdialog.py:71 +msgctxt "RepoSettingsDialog" +msgid "Repo Nic&kname:" +msgstr "" + +#: forms/ui_reposettingsdialog.py:72 +#, python-brace-format +msgctxt "RepoSettingsDialog" +msgid "This nickname will appear within {app} in tab names, menus, etc. It does not change the actual name of the repo’s directory. Leave blank to clear the nickname." +msgstr "" + +#: forms/ui_reposettingsdialog.py:73 +msgctxt "RepoSettingsDialog" +msgid "No nickname" +msgstr "" + +#: forms/ui_reposettingsdialog.py:74 +msgctxt "RepoSettingsDialog" +msgid "Create commits under a custom &identity in this repo" +msgstr "" + +#: forms/ui_reposettingsdialog.py:75 +msgctxt "RepoSettingsDialog" +msgid "&Name:" +msgstr "" + +#: forms/ui_reposettingsdialog.py:76 +msgctxt "RepoSettingsDialog" +msgid "&Email:" +msgstr "" + +#: forms/ui_reposettingsdialog.py:77 +msgctxt "RepoSettingsDialog" +msgid "Log in to SSH remotes with custom &key file" +msgstr "" + +#: forms/ui_repostub.py:96 +msgctxt "RepoStub" +msgid "Ready to load this repository." +msgstr "" + +#: forms/ui_repostub.py:97 +msgctxt "RepoStub" +msgid "Load" +msgstr "" + +#: forms/ui_repostub.py:98 +msgctxt "RepoStub" +msgid "Abort" +msgstr "" + +#: forms/ui_resetheaddialog.py:72 +msgctxt "ResetHeadDialog" +msgid "Reset HEAD" +msgstr "" + +#: forms/ui_resetheaddialog.py:73 +#, python-brace-format +msgctxt "ResetHeadDialog" +msgid "" +"Keep all your files intact.\n" +"
Stage any differences between your files and {commit}." +msgstr "" + +#: forms/ui_resetheaddialog.py:75 +#, python-brace-format +msgctxt "ResetHeadDialog" +msgid "" +"Keep all your files intact.\n" +"
Unstage any differences between your files and {commit}." +msgstr "" + +#: forms/ui_resetheaddialog.py:77 +#, python-brace-format +msgctxt "ResetHeadDialog" +msgid "" +"Wipe all your changes.\n" +"
End result identical to a fresh checkout of {commit}." +msgstr "" + +#: forms/ui_resetheaddialog.py:79 +msgctxt "ResetHeadDialog" +msgid "&Reset submodules recursively" +msgstr "" + +#: forms/ui_searchbar.py:46 +msgctxt "SearchBar" +msgid "Search" +msgstr "" + +#: forms/ui_searchbar.py:47 +msgctxt "SearchBar" +msgid "Search…" +msgstr "" + +#: forms/ui_searchbar.py:48 +msgctxt "SearchBar" +msgid "Next Occurrence" +msgstr "" + +#: forms/ui_searchbar.py:49 +msgctxt "SearchBar" +msgid "Previous Occurrence" +msgstr "" + +#: forms/ui_searchbar.py:50 +msgctxt "SearchBar" +msgid "Close Search Bar" +msgstr "" + +#: forms/ui_searchbar.py:51 +msgctxt "SearchBar" +msgid "Done" +msgstr "" + +#: forms/ui_signatureform.py:73 +msgctxt "SignatureForm" +msgid "Signature" +msgstr "" + +#: forms/ui_signatureform.py:74 +msgctxt "SignatureForm" +msgid "&Override:" +msgstr "" + +#: forms/ui_signatureform.py:75 +msgctxt "SignatureForm" +msgid "&Identity:" +msgstr "" + +#: forms/ui_signatureform.py:76 forms/ui_signatureform.py:77 +msgctxt "SignatureForm" +msgid "Name" +msgstr "" + +#: forms/ui_signatureform.py:78 forms/ui_signatureform.py:79 +msgctxt "SignatureForm" +msgid "Email" +msgstr "" + +#: forms/ui_signatureform.py:80 +msgctxt "SignatureForm" +msgid "&Time:" +msgstr "" + +#: forms/ui_signatureform.py:81 +msgctxt "SignatureForm" +msgid "Offset from UTC" +msgstr "" + +#: forms/ui_signatureform.py:82 +msgctxt "SignatureForm" +msgid "Set to current local time" +msgstr "" + +#: forms/ui_signatureform.py:83 +msgctxt "SignatureForm" +msgid "Now" +msgstr "" + +#: forms/ui_signatureform.py:84 +msgctxt "SignatureForm" +msgid "" +"

Every commit records information about an author and a committer. They can be the same person.

\n" +"

Select which person you want to override.

" +msgstr "" + +#: forms/ui_signatureform.py:86 +msgctxt "SignatureForm" +msgid "Author" +msgstr "" + +#: forms/ui_signatureform.py:87 +msgctxt "SignatureForm" +msgid "Committer" +msgstr "" + +#: forms/ui_signatureform.py:88 +msgctxt "SignatureForm" +msgid "Both" +msgstr "" + +#: forms/ui_stashdialog.py:65 +msgctxt "StashDialog" +msgid "New stash" +msgstr "" + +#: forms/ui_stashdialog.py:66 +msgctxt "StashDialog" +msgid "Optional stash message" +msgstr "" + +#: forms/ui_stashdialog.py:67 +msgctxt "StashDialog" +msgid "Normally, stashed changes are removed from the working directory. Tick this to leave the stashed changes intact instead." +msgstr "" + +#: forms/ui_stashdialog.py:68 +msgctxt "StashDialog" +msgid "&Retain stashed changes in working directory" +msgstr "" + +#: forms/ui_stashdialog.py:69 +msgctxt "StashDialog" +msgid "Warning: Some of the files have both staged and unstaged changes. Those changes will be combined in the stash." +msgstr "" + +#: forms/ui_welcomewidget.py:68 +msgctxt "WelcomeWidget" +msgid "Welcome" +msgstr "" + +#: forms/ui_welcomewidget.py:69 +msgctxt "WelcomeWidget" +msgid "Clone remote repository" +msgstr "" + +#: forms/ui_welcomewidget.py:70 +msgctxt "WelcomeWidget" +msgid "New empty repository" +msgstr "" + +#: forms/ui_welcomewidget.py:71 +msgctxt "WelcomeWidget" +msgid "Open local repository" +msgstr "" + +#: forms/ui_welcomewidget.py:72 +msgctxt "WelcomeWidget" +msgid "Recent repositories" +msgstr "" + +#: forms/ui_welcomewidget.py:73 +#, python-brace-format +msgctxt "WelcomeWidget" +msgid "Welcome to
{app}" +msgstr "" + +#: gitdriver.py:225 +#, python-brace-format +msgid "Git command exited with code {0}." +msgstr "" + +#: graphview/commitlogdelegate.py:215 +#, python-brace-format +msgid "History truncated to {0} commits (including hidden branches)" +msgstr "" + +#: graphview/commitlogdelegate.py:217 +#, python-brace-format +msgid "History truncated to {0} commits" +msgstr "" + +#: graphview/commitlogdelegate.py:221 tasks/jumptasks.py:213 +msgid "Shallow clone – End of commit history" +msgstr "" + +#: graphview/commitlogdelegate.py:450 repowidget.py:643 +#: sidebar/sidebarmodel.py:631 sidebar/sidebarmodel.py:634 +msgid "Detached HEAD" +msgstr "" + +#: graphview/commitlogdelegate.py:589 +msgid "(Clean)" +msgstr "" + +#: graphview/commitlogdelegate.py:591 +#, python-brace-format +msgid "({n} change)" +msgid_plural "({n} changes)" +msgstr[0] "" +msgstr[1] "" + +#: graphview/commitlogdelegate.py:596 +msgid "Commit draft:" +msgstr "" + +#: graphview/commitlogmodel.py:185 +msgctxt "CommitTooltip" +msgid "(authored)" +msgstr "" + +#: graphview/commitlogmodel.py:186 +msgctxt "CommitTooltip" +msgid "(committed)" +msgstr "" + +#: graphview/commitlogmodel.py:190 +#, python-brace-format +msgctxt "CommitTooltip" +msgid "Committed by {0}" +msgstr "" + +#: graphview/graphview.py:42 +msgid "This commit isn’t shown in the graph because it’s part of a hidden branch." +msgstr "" + +#: graphview/graphview.py:44 +msgid "This commit isn’t shown in the graph because it isn’t part of the truncated commit history." +msgstr "" + +#: graphview/graphview.py:46 +msgid "This commit isn’t shown in the graph." +msgstr "" + +#: graphview/graphview.py:73 +msgid "Find a commit by hash, message or author|Find commit" +msgstr "" + +#: graphview/graphview.py:112 +msgid "Clear Draft Message" +msgstr "" + +#: graphview/graphview.py:125 tasks/jumptasks.py:223 +#, python-brace-format +msgid "Load up to {0} commits" +msgstr "" + +#: graphview/graphview.py:127 +msgid "Load full commit history" +msgstr "" + +#: graphview/graphview.py:129 +msgid "Change threshold setting" +msgstr "" + +#: graphview/graphview.py:144 +msgid "&Check Out…" +msgstr "" + +#: graphview/graphview.py:154 sidebar/sidebar.py:257 sidebar/sidebar.py:276 +msgid "New &Branch Here…" +msgstr "" + +#: graphview/graphview.py:155 +msgid "&Tag This Commit…" +msgstr "" + +#: graphview/graphview.py:158 +msgid "&Reset HEAD to Here…" +msgstr "" + +#: graphview/graphview.py:160 +msgid "Cherry &Pick…" +msgstr "" + +#: graphview/graphview.py:161 +msgid "Re&vert…" +msgstr "" + +#: graphview/graphview.py:162 +msgid "E&xport As Patch…" +msgstr "" + +#: graphview/graphview.py:164 +msgid "Copy Commit &Hash" +msgstr "" + +#: graphview/graphview.py:165 +msgid "Copy Commit M&essage" +msgstr "" + +#: graphview/graphview.py:167 +msgid "Get &Info…" +msgstr "" + +#: mainwindow.py:185 +msgid "&File" +msgstr "" + +#: mainwindow.py:186 +msgid "&Edit" +msgstr "" + +#: mainwindow.py:187 +msgid "&View" +msgstr "" + +#: mainwindow.py:188 +msgid "&Repo" +msgstr "" + +#: mainwindow.py:189 +msgid "&Help" +msgstr "" + +#: mainwindow.py:202 +msgid "&New Repository…" +msgstr "" + +#: mainwindow.py:204 +msgid "Create an empty Git repo" +msgstr "" + +#: mainwindow.py:206 +msgid "C&lone Repository…" +msgstr "" + +#: mainwindow.py:208 +msgid "Download a Git repo and open it" +msgstr "" + +#: mainwindow.py:212 +msgid "&Open Repository…" +msgstr "" + +#: mainwindow.py:216 +msgid "Open &Recent" +msgstr "" + +#: mainwindow.py:218 +msgid "List of recently opened Git repos" +msgstr "" + +#: mainwindow.py:228 +msgid "&Settings…" +msgstr "" + +#: mainwindow.py:238 +msgid "&Close Tab" +msgstr "" + +#: mainwindow.py:240 +msgid "Close current repository tab" +msgstr "" + +#: mainwindow.py:242 +msgid "&Quit" +msgstr "" + +#: mainwindow.py:244 +#, python-brace-format +msgid "Quit {app}" +msgstr "" + +#: mainwindow.py:253 +msgid "&Find…" +msgstr "" + +#: mainwindow.py:255 +msgid "Search for a piece of text in commit messages, the current diff, or the name of a file" +msgstr "" + +#: mainwindow.py:257 +msgid "Find Next" +msgstr "" + +#: mainwindow.py:259 +msgid "Find next occurrence" +msgstr "" + +#: mainwindow.py:261 +msgid "Find Previous" +msgstr "" + +#: mainwindow.py:263 +msgid "Find previous occurrence" +msgstr "" + +#: mainwindow.py:278 trtables.py:385 +msgid "Show status bar" +msgstr "" + +#: mainwindow.py:279 trtables.py:387 +msgid "Show menu bar" +msgstr "" + +#: mainwindow.py:284 +msgid "Focus on Sidebar" +msgstr "" + +#: mainwindow.py:285 +msgid "Focus on Commit Log" +msgstr "" + +#: mainwindow.py:286 +msgid "Focus on File List" +msgstr "" + +#: mainwindow.py:287 +msgid "Focus on Code View" +msgstr "" + +#: mainwindow.py:289 +msgid "Blame File…" +msgstr "" + +#: mainwindow.py:290 +msgid "Next File" +msgstr "" + +#: mainwindow.py:291 +msgid "Previous File" +msgstr "" + +#: mainwindow.py:293 +msgid "&Next Tab" +msgstr "" + +#: mainwindow.py:294 +msgid "&Previous Tab" +msgstr "" + +#: mainwindow.py:301 +msgid "Navigation Log" +msgstr "" + +#: mainwindow.py:310 +msgid "&Refresh" +msgstr "" + +#: mainwindow.py:314 +msgid "Check for changes in the repo (on the local filesystem only – will not fetch remotes)" +msgstr "" + +#: mainwindow.py:318 +msgid "Reloa&d" +msgstr "" + +#: mainwindow.py:321 +msgid "Reopen the repo from scratch" +msgstr "" + +#: mainwindow.py:346 +msgid "Edit Commands…" +msgstr "" + +#: mainwindow.py:368 +#, python-brace-format +msgid "&About {0}" +msgstr "" + +#: mainwindow.py:372 +#, python-brace-format +msgid "{0} User’s Guide" +msgstr "" + +#: mainwindow.py:378 +msgid "Open Trash…" +msgstr "" + +#: mainwindow.py:380 +msgid "Explore changes that you may have discarded by mistake" +msgstr "" + +#: mainwindow.py:382 +msgid "Empty Trash…" +msgstr "" + +#: mainwindow.py:383 +msgid "Delete all discarded changes from the trash folder" +msgstr "" + +#: mainwindow.py:414 +msgid "Clear List" +msgstr "" + +#: mainwindow.py:415 +msgid "Clear the list of recently opened repositories" +msgstr "" + +#: mainwindow.py:424 +msgid "Menu bar hidden" +msgstr "" + +#: mainwindow.py:425 +msgid "The menu bar is now hidden. Press the Alt key to toggle it." +msgstr "" + +#: mainwindow.py:502 +msgid "Close Tab" +msgstr "" + +#: mainwindow.py:503 +msgid "Close Other Tabs" +msgstr "" + +#: mainwindow.py:504 +msgid "Unload Other Tabs" +msgstr "" + +#: mainwindow.py:508 +msgid "Configure Tabs…" +msgstr "" + +#: mainwindow.py:536 mainwindow.py:782 +msgid "Open repository" +msgstr "" + +#: mainwindow.py:537 +#, python-brace-format +msgid "Couldn’t open the repository at {0}." +msgstr "" + +#: mainwindow.py:558 +msgid "There’s nothing at this path." +msgstr "" + +#: mainwindow.py:564 tasks/loadtasks.py:72 +#, python-brace-format +msgid "Sorry, {app} doesn’t support bare repositories." +msgstr "" + +#: mainwindow.py:733 +msgid "Open trash folder" +msgstr "" + +#: mainwindow.py:734 +#, python-brace-format +msgid "There’s no trash folder. Perhaps you haven’t discarded a change with {0} yet." +msgstr "" + +#: mainwindow.py:743 mainwindow.py:758 +msgid "Clear trash folder" +msgstr "" + +#: mainwindow.py:744 +msgid "There are no discarded changes to delete." +msgstr "" + +#: mainwindow.py:750 +#, python-brace-format +msgid "Do you want to permanently delete {n} discarded patch?" +msgid_plural "Do you want to permanently delete {n} discarded patches?" +msgstr[0] "" +msgstr[1] "" + +#: mainwindow.py:752 +#, python-brace-format +msgid "This will free up {0} on disk." +msgstr "" + +#: mainwindow.py:753 tasks/branchtasks.py:196 tasks/branchtasks.py:232 +#: tasks/indextasks.py:165 tasks/indextasks.py:239 tasks/indextasks.py:277 +#: tasks/nettasks.py:78 tasks/submoduletasks.py:96 +msgid "This cannot be undone!" +msgstr "" + +#: mainwindow.py:761 +msgid "Delete permanently" +msgstr "" + +#: mainwindow.py:844 +#, python-brace-format +msgid "{n} background tab unloaded." +msgid_plural "{n} background tabs unloaded." +msgstr[0] "" +msgstr[1] "" + +#: mainwindow.py:951 +#, python-brace-format +msgid "The session couldn’t be restored fully because a repository failed to load:" +msgid_plural "The session couldn’t be restored fully because {n} repositories failed to load:" +msgstr[0] "" +msgstr[1] "" + +#: mainwindow.py:953 +msgid "Restore session" +msgstr "" + +#: mainwindow.py:988 +#, python-brace-format +msgid "{0} isn’t in a Git repo" +msgstr "" + +#: mainwindow.py:1138 mainwindow.py:1142 +msgid "Apply Settings" +msgstr "" + +#: mainwindow.py:1139 +#, python-brace-format +msgid "You may need to restart {app} for the new settings to take effect fully." +msgstr "" + +#: mainwindow.py:1143 +msgid "The new settings won’t take effect fully until you reload the current repositories." +msgstr "" + +#: mainwindow.py:1146 +msgid "&Reload" +msgstr "" + +#: mainwindow.py:1150 +msgid "&Not Now" +msgstr "" + +#: mainwindow.py:1212 +#, python-brace-format +msgid "(Command) {0}" +msgstr "" + +#: mainwindow.py:1225 mainwindow.py:1280 repowidget.py:474 +msgid "Open Superproject" +msgstr "" + +#: mainwindow.py:1236 +#, python-brace-format +msgid "Open Superproject {0}" +msgstr "" + +#: mainwindow.py:1243 +msgid "&Open Repo Folder" +msgstr "" + +#: mainwindow.py:1247 +msgid "Open this repo’s working directory in the system’s file manager" +msgstr "" + +#: mainwindow.py:1251 +msgid "Open &Terminal" +msgstr "" + +#: mainwindow.py:1255 +msgid "Open a terminal in the repo’s working directory" +msgstr "" + +#: mainwindow.py:1259 +msgid "Cop&y Repo Path" +msgstr "" + +#: mainwindow.py:1261 +msgid "Copy the absolute path to this repo’s working directory to the clipboard" +msgstr "" + +#: mainwindow.py:1280 repowidget.py:474 +msgid "This repository does not have a superproject." +msgstr "" + +#: nav.py:69 +msgctxt "NavContext" +msgid "Empty" +msgstr "" + +#: nav.py:70 +msgctxt "NavContext" +msgid "Untracked" +msgstr "" + +#: nav.py:71 +msgctxt "NavContext" +msgid "Unstaged" +msgstr "" + +#: nav.py:72 +msgctxt "NavContext" +msgid "Staged" +msgstr "" + +#: nav.py:73 +msgctxt "NavContext" +msgid "Committed" +msgstr "" + +#: nav.py:75 +msgctxt "NavContext" +msgid "Unknown" +msgstr "" + +#: repowidget.py:424 +msgid "Only text diffs may be opened in a separate window." +msgstr "" + +#: repowidget.py:453 +msgid "Please select a file before performing this action." +msgstr "" + +#: repowidget.py:501 +#, python-brace-format +msgid "File {0} does not exist." +msgstr "" + +#: repowidget.py:502 +msgid "Do you want to create it?" +msgstr "" + +#: repowidget.py:503 +#, python-brace-format +msgid "Create {0}" +msgstr "" + +#: repowidget.py:512 +msgid "Run Command" +msgstr "" + +#: repowidget.py:518 +msgid "The prerequisites for your command are not met:" +msgstr "" + +#: repowidget.py:530 +msgid "Do you want to run this command in a terminal?" +msgstr "" + +#: repowidget.py:532 +#, python-brace-format +msgid "Do you want to run {0} in a terminal?" +msgstr "" + +#: repowidget.py:568 +#, python-brace-format +msgid "{0} not found among the branches that aren’t hidden." +msgstr "" + +#: repowidget.py:570 +#, python-brace-format +msgid "{0} not found." +msgstr "" + +#: repowidget.py:574 +#, python-brace-format +msgid "Note: The search was limited to the top commit because the commit history is truncated." +msgid_plural "Note: The search was limited to the top {n} commits because the commit history is truncated." +msgstr[0] "" +msgstr[1] "" + +#: repowidget.py:579 +#, python-brace-format +msgid "Note: The search was limited to the single commit available in this shallow clone." +msgid_plural "Note: The search was limited to the {n} commits available in this shallow clone." +msgstr[0] "" +msgstr[1] "" + +#: repowidget.py:640 +msgid "Unborn HEAD" +msgstr "" + +#: repowidget.py:673 +#, python-brace-format +msgid "Merging {0}" +msgstr "" + +#: repowidget.py:678 +msgid "All conflicts fixed. Commit to conclude." +msgstr "" + +#: repowidget.py:681 repowidget.py:691 repowidget.py:701 +msgid "Conflicts need fixing." +msgstr "" + +#: repowidget.py:683 tasks/indextasks.py:527 tasks/taskbook.py:32 +msgid "Abort merge" +msgstr "" + +#: repowidget.py:688 +msgid "Commit to conclude the cherry-pick." +msgstr "" + +#: repowidget.py:693 tasks/indextasks.py:522 +msgid "Abort cherry-pick" +msgstr "" + +#: repowidget.py:698 +msgid "Commit to conclude the revert." +msgstr "" + +#: repowidget.py:703 tasks/indextasks.py:532 +msgid "Abort revert" +msgstr "" + +#: repowidget.py:708 +msgid "Conflicts" +msgstr "" + +#: repowidget.py:709 +msgid "Fix the conflicts among the uncommitted changes." +msgstr "" + +#: repowidget.py:710 tasks/indextasks.py:537 +msgid "Reset index" +msgstr "" + +#: repowidget.py:714 +msgid "Warning" +msgstr "" + +#: repowidget.py:716 +#, python-brace-format +msgid "The repo is currently in state {state}, which {app} doesn’t support yet. Use git on the command line to continue." +msgstr "" + +#: repowidget.py:763 +msgid "Repository folder went missing:" +msgstr "" + +#: repowidget.py:863 +msgid "&Local Config Files" +msgstr "" + +#: settings.py:369 +msgid "External editor" +msgstr "" + +#: settings.py:374 trtables.py:494 +msgid "Diff tool" +msgstr "" + +#: settings.py:379 trtables.py:500 +msgid "Merge tool" +msgstr "" + +#: sidebar/sidebar.py:165 +msgid "&New Branch…" +msgstr "" + +#: sidebar/sidebar.py:167 sidebar/sidebar.py:447 +msgid "Sort By" +msgstr "" + +#: sidebar/sidebar.py:172 sidebar/sidebar.py:341 +msgid "Collapse All Folders" +msgstr "" + +#: sidebar/sidebar.py:173 sidebar/sidebar.py:342 +msgid "Expand All Folders" +msgstr "" + +#: sidebar/sidebar.py:203 +#, python-brace-format +msgid "&Switch to {0}…" +msgstr "" + +#: sidebar/sidebar.py:221 +#, python-brace-format +msgid "&Fetch {0}" +msgstr "" + +#: sidebar/sidebar.py:221 +msgid "Fetch" +msgstr "" + +#: sidebar/sidebar.py:228 +#, python-brace-format +msgid "Pu&ll from {0}…" +msgstr "" + +#: sidebar/sidebar.py:228 +msgid "Pull…" +msgstr "" + +#: sidebar/sidebar.py:234 +#, python-brace-format +msgid "Fast-Forward to {0}…" +msgstr "" + +#: sidebar/sidebar.py:234 +msgid "Fast-Forward…" +msgstr "" + +#: sidebar/sidebar.py:241 +#, python-brace-format +msgid "&Push to {0}…" +msgstr "" + +#: sidebar/sidebar.py:241 +msgid "Push…" +msgstr "" + +#: sidebar/sidebar.py:246 +msgid "&Upstream Branch" +msgstr "" + +#: sidebar/sidebar.py:251 +msgid "Re&name…" +msgstr "" + +#: sidebar/sidebar.py:253 +msgid "&Delete…" +msgstr "" + +#: sidebar/sidebar.py:261 sidebar/sidebar.py:321 sidebar/sidebar.py:376 +#: sidebar/sidebar.py:406 +msgid "&Hide in Graph" +msgstr "" + +#: sidebar/sidebar.py:264 +msgid "Hide this branch from the graph (effective if no other branches/tags point here)" +msgstr "" + +#: sidebar/sidebar.py:267 sidebar/sidebar.py:326 sidebar/sidebar.py:381 +#: sidebar/sidebar.py:411 +msgid "Hide &All But This" +msgstr "" + +#: sidebar/sidebar.py:280 +msgid "(no current branch)" +msgstr "" + +#: sidebar/sidebar.py:293 sidebar/sidebar.py:349 +#, python-brace-format +msgid "Visit Web Page on {0}" +msgstr "" + +#: sidebar/sidebar.py:302 +msgid "New Local &Branch Here…" +msgstr "" + +#: sidebar/sidebar.py:304 +msgid "&Fetch New Commits" +msgstr "" + +#: sidebar/sidebar.py:369 +msgid "Copy Remote &URL" +msgstr "" + +#: sidebar/sidebar.py:394 +msgid "Sort Remote Branches By" +msgstr "" + +#: sidebar/sidebar.py:400 +msgid "Re&name Folder…" +msgstr "" + +#: sidebar/sidebar.py:401 +msgid "&Delete Folder…" +msgstr "" + +#: sidebar/sidebar.py:436 +msgid "Reveal &Parent Commit" +msgstr "" + +#: sidebar/sidebar.py:444 +msgid "&New Tag on HEAD Commit…" +msgstr "" + +#: sidebar/sidebar.py:445 +msgid "&Push All Tags To" +msgstr "" + +#: sidebar/sidebar.py:458 +msgid "&Check Out Tagged Commit…" +msgstr "" + +#: sidebar/sidebar.py:459 +msgid "&Delete Tag…" +msgstr "" + +#: sidebar/sidebar.py:461 +msgid "Push To" +msgstr "" + +#: sidebar/sidebar.py:476 +msgid "&Open Submodule in New Tab" +msgstr "" + +#: sidebar/sidebar.py:479 +msgid "Open Submodule &Folder" +msgstr "" + +#: sidebar/sidebar.py:482 +msgid "Copy &Path" +msgstr "" + +#: sidebar/sidebar.py:947 +msgid "Not tracking any upstream branch" +msgstr "" + +#: sidebar/sidebar.py:947 +msgid "Stop tracking upstream branch" +msgstr "" + +#: sidebar/sidebar.py:966 +msgid "No remotes." +msgstr "" + +#: sidebar/sidebar.py:968 +msgid "No remote branches found. Try fetching the remotes." +msgstr "" + +#: sidebar/sidebar.py:979 +msgid "&All Remotes" +msgstr "" + +#: sidebar/sidebarmodel.py:452 +msgid "Submodule not initialized." +msgstr "" + +#: sidebar/sidebarmodel.py:598 +#, python-brace-format +msgid "{0} (local branch)" +msgstr "" + +#: sidebar/sidebarmodel.py:602 +#, python-brace-format +msgid "Upstream: {0}" +msgstr "" + +#: sidebar/sidebarmodel.py:604 +msgid "(this is the checked-out branch)" +msgstr "" + +#: sidebar/sidebarmodel.py:621 +msgid "[unborn]" +msgstr "" + +#: sidebar/sidebarmodel.py:624 +msgid "Unborn HEAD: does not point to a commit yet." +msgstr "" + +#: sidebar/sidebarmodel.py:625 +#, python-brace-format +msgid "Local branch {0} will be created when you create the initial commit." +msgstr "" + +#: sidebar/sidebarmodel.py:670 +#, python-brace-format +msgid "{0} (remote-tracking branch)" +msgstr "" + +#: sidebar/sidebarmodel.py:672 +#, python-brace-format +msgid "Upstream for the checked-out branch ({0})" +msgstr "" + +#: sidebar/sidebarmodel.py:694 +#, python-brace-format +msgid "{0} (remote branch folder)" +msgstr "" + +#: sidebar/sidebarmodel.py:696 +#, python-brace-format +msgid "{0} (tag folder)" +msgstr "" + +#: sidebar/sidebarmodel.py:698 +#, python-brace-format +msgid "{0} (local branch folder)" +msgstr "" + +#: sidebar/sidebarmodel.py:716 +#, python-brace-format +msgid "Tag {0}" +msgstr "" + +#: sidebar/sidebarmodel.py:732 +msgid "date:" +msgstr "" + +#: sidebar/sidebarmodel.py:743 +#, python-brace-format +msgid "{0} (submodule)" +msgstr "" + +#: sidebar/sidebarmodel.py:744 +#, python-brace-format +msgid "Workdir: {0}" +msgstr "" + +#: sidebar/sidebarmodel.py:745 +msgid "[not set]" +msgstr "" + +#: sidebar/sidebarmodel.py:746 +#, python-brace-format +msgid "URL: {0}" +msgstr "" + +#: sidebar/sidebarmodel.py:768 tasks/taskbook.py:67 +msgid "Go to Working Directory" +msgstr "" + +#: sidebar/sidebarmodel.py:771 +#, python-brace-format +msgid "({n} uncommitted change)" +msgid_plural "({n} uncommitted changes)" +msgstr[0] "" +msgstr[1] "" + +#: sidebar/sidebarmodel.py:823 +msgid "Hiding everything but this (middle-click the eye to toggle)" +msgstr "" + +#: sidebar/sidebarmodel.py:826 +msgid "Hidden (click the eye to toggle)" +msgstr "" + +#: sidebar/sidebarmodel.py:829 +msgid "Indirectly hidden" +msgstr "" + +#: tasks/blametasks.py:26 +#, python-brace-format +msgid "Annotating {0}" +msgstr "" + +#: tasks/blametasks.py:38 +#, python-brace-format +msgid "File {0} has no history in the repository." +msgstr "" + +#: tasks/blametasks.py:96 +#, python-brace-format +msgid "{n} revision annotated." +msgid_plural "{n} revisions annotated." +msgstr[0] "" +msgstr[1] "" + +#: tasks/blametasks.py:157 +#, python-brace-format +msgid "Found {n} revision…" +msgid_plural "Found {n} revisions…" +msgstr[0] "" +msgstr[1] "" + +#: tasks/blametasks.py:161 +#, python-brace-format +msgid "Annotating revision {0} of {1}…" +msgstr "" + +#: tasks/branchtasks.py:38 +#, python-brace-format +msgid "Branch {0} is already checked out." +msgstr "" + +#: tasks/branchtasks.py:42 +#, python-brace-format +msgid "Do you want to switch to branch {0}?" +msgstr "" + +#: tasks/branchtasks.py:43 +msgid "Switch" +msgstr "" + +#: tasks/branchtasks.py:49 tasks/taskbook.py:97 +msgid "Update submodules recursively" +msgstr "" + +#: tasks/branchtasks.py:62 tasks/committasks.py:333 +#, python-brace-format +msgid "You are in Detached HEAD mode at commit {0}." +msgstr "" + +#: tasks/branchtasks.py:63 +#, python-brace-format +msgid "You might lose track of this commit if you switch to {0}." +msgstr "" + +#: tasks/branchtasks.py:64 +#, python-brace-format +msgid "Switch to {0}" +msgstr "" + +#: tasks/branchtasks.py:65 +msgid "Don’t Switch" +msgstr "" + +#: tasks/branchtasks.py:77 +#, python-brace-format +msgid "Switched to branch {0}." +msgstr "" + +#: tasks/branchtasks.py:91 tasks/taskbook.py:86 +msgid "Rename local branch" +msgstr "" + +#: tasks/branchtasks.py:92 tasks/branchtasks.py:154 tasks/nettasks.py:108 +msgid "Enter new name:" +msgstr "" + +#: tasks/branchtasks.py:93 +#, python-brace-format +msgid "Current name: {0}" +msgstr "" + +#: tasks/branchtasks.py:96 tasks/branchtasks.py:158 +msgid "Rename" +msgstr "" + +#: tasks/branchtasks.py:111 +#, python-brace-format +msgid "Branch {0} renamed to {1}." +msgstr "" + +#: tasks/branchtasks.py:139 +#, python-brace-format +msgid "This name clashes with existing branch {0}." +msgstr "" + +#: tasks/branchtasks.py:147 +#, python-brace-format +msgid "Folder {name} contains {n} branch." +msgid_plural "Folder {name} contains {n} branches." +msgstr[0] "" +msgstr[1] "" + +#: tasks/branchtasks.py:153 +msgid "Rename branch folder" +msgstr "" + +#: tasks/branchtasks.py:159 +msgid "Leave blank to move the branches to the root folder." +msgstr "" + +#: tasks/branchtasks.py:179 +#, python-brace-format +msgid "Branch folder {0} renamed to {1}." +msgstr "" + +#: tasks/branchtasks.py:181 +#, python-brace-format +msgid "{n} branch affected." +msgid_plural "{n} branches affected." +msgstr[0] "" +msgstr[1] "" + +#: tasks/branchtasks.py:191 +#, python-brace-format +msgid "Cannot delete {0} because it is the current branch." +msgstr "" + +#: tasks/branchtasks.py:192 tasks/branchtasks.py:223 +msgid "Before you try again, switch to another branch." +msgstr "" + +#: tasks/branchtasks.py:195 +#, python-brace-format +msgid "Really delete local branch {0}?" +msgstr "" + +#: tasks/branchtasks.py:200 +msgid "Delete branch" +msgstr "" + +#: tasks/branchtasks.py:208 +#, python-brace-format +msgid "Branch {0} deleted (commit at tip was {1})." +msgstr "" + +#: tasks/branchtasks.py:222 +#, python-brace-format +msgid "Cannot delete folder {0} because it contains the current branch {1}." +msgstr "" + +#: tasks/branchtasks.py:230 +#, python-brace-format +msgid "Really delete local branch folder {0}?" +msgstr "" + +#: tasks/branchtasks.py:231 +#, python-brace-format +msgid "{n} branch will be deleted." +msgid_plural "{n} branches will be deleted." +msgstr[0] "" +msgstr[1] "" + +#: tasks/branchtasks.py:235 +msgid "Delete branch folder" +msgstr "" + +#: tasks/branchtasks.py:238 +msgid "Delete folder" +msgstr "" + +#: tasks/branchtasks.py:247 +#, python-brace-format +msgid "{n} branch deleted in folder {name}." +msgid_plural "{n} branches deleted in folder {name}." +msgstr[0] "" +msgstr[1] "" + +#: tasks/branchtasks.py:332 +#, python-brace-format +msgid "Branch {0} created on commit {1}." +msgstr "" + +#: tasks/branchtasks.py:397 +#, python-brace-format +msgid "Branch {0} now tracks {1}." +msgstr "" + +#: tasks/branchtasks.py:399 +#, python-brace-format +msgid "Branch {0} now tracks no upstream." +msgstr "" + +#: tasks/branchtasks.py:432 +#, python-brace-format +msgid "Branch {0} was reset to {1} ({mode})." +msgstr "" + +#: tasks/branchtasks.py:445 +#, python-brace-format +msgid "Can’t fast-forward {0} because it isn’t tracking an upstream branch." +msgstr "" + +#: tasks/branchtasks.py:460 +msgid "No fast-forwarding necessary." +msgstr "" + +#: tasks/branchtasks.py:462 +#, python-brace-format +msgid "Your local branch {0} is ahead of {1}." +msgstr "" + +#: tasks/branchtasks.py:464 tasks/nettasks.py:269 +#, python-brace-format +msgid "Your local branch {0} is already up to date with {1}." +msgstr "" + +#: tasks/branchtasks.py:476 +#, python-brace-format +msgid "Can’t fast-forward {0} to {1}." +msgstr "" + +#: tasks/branchtasks.py:477 +msgid "The branches are divergent." +msgstr "" + +#: tasks/branchtasks.py:482 +#, python-brace-format +msgid "Merge into {0}" +msgstr "" + +#: tasks/branchtasks.py:548 +msgid "Merging is not possible right now because you have unresolved conflicts." +msgstr "" + +#: tasks/branchtasks.py:549 +msgid "Fix the conflicts to proceed." +msgstr "" + +#: tasks/branchtasks.py:554 +msgid "Merging is not possible right now because you have staged changes." +msgstr "" + +#: tasks/branchtasks.py:555 +msgid "Commit your changes or stash them to proceed." +msgstr "" + +#: tasks/branchtasks.py:560 +msgid "No merge is necessary." +msgstr "" + +#: tasks/branchtasks.py:561 +#, python-brace-format +msgid "Your branch {0} is already up to date with {1}." +msgstr "" + +#: tasks/branchtasks.py:565 +msgid "Cannot merge into an unborn head." +msgstr "" + +#: tasks/branchtasks.py:575 +msgid "Merging may cause conflicts" +msgstr "" + +#: tasks/branchtasks.py:577 +#, python-brace-format +msgid "Merging {0} into {1} may cause conflicts." +msgstr "" + +#: tasks/branchtasks.py:578 +msgid "You will need to fix the conflicts, if any. Then, commit the result to conclude the merge." +msgstr "" + +#: tasks/branchtasks.py:579 +msgid "Merge" +msgstr "" + +#: tasks/branchtasks.py:592 +#, python-brace-format +msgid "Merging {0} into {1}." +msgstr "" + +#: tasks/branchtasks.py:594 +#, python-brace-format +msgid "Branch {0} fast-forwarded to {1}." +msgstr "" + +#: tasks/branchtasks.py:597 +msgid "Fast-forwarding possible" +msgstr "" + +#: tasks/branchtasks.py:598 +#, python-brace-format +msgid "Your branch {0} can simply be fast-forwarded to {1}." +msgstr "" + +#: tasks/branchtasks.py:601 +#, python-brace-format +msgid "Automatic fast-forwarding is blocked by the {0} option in your Git config." +msgstr "" + +#: tasks/branchtasks.py:605 +msgid "Fast-forwarding means that the tip of your branch will be moved to a more recent commit in a linear path, without the need to create a merge commit." +msgstr "" + +#: tasks/branchtasks.py:607 +#, python-brace-format +msgid "In this case, {0} will be fast-forwarded to {1}." +msgstr "" + +#: tasks/branchtasks.py:609 +msgid "Create Merge Commit" +msgstr "" + +#: tasks/branchtasks.py:610 +msgid "Fast-Forward" +msgstr "" + +#: tasks/branchtasks.py:644 tasks/taskbook.py:82 +msgid "Recall lost commit" +msgstr "" + +#: tasks/branchtasks.py:645 +#, python-brace-format +msgid "If you know the hash of a commit that isn’t part of any branches anymore, {app} will try to recall it for you." +msgstr "" + +#: tasks/branchtasks.py:647 +msgid "Recall" +msgstr "" + +#: tasks/committasks.py:45 +msgid "Do you want to create an empty commit anyway?" +msgstr "" + +#: tasks/committasks.py:45 +msgid "No files are staged for commit." +msgstr "" + +#: tasks/committasks.py:49 +#, python-brace-format +msgid "Note: Your working directory contains {n} unstaged file. If you want to commit it, you should stage it first." +msgid_plural "Note: Your working directory contains {n} unstaged files. If you want to commit them, you should stage them first." +msgstr[0] "" +msgstr[1] "" + +#: tasks/committasks.py:56 +msgid "Create empty commit" +msgstr "" + +#: tasks/committasks.py:57 tasks/jumptasks.py:325 +msgid "Empty commit" +msgstr "" + +#: tasks/committasks.py:60 +msgid "Proceed to Commit" +msgstr "" + +#: tasks/committasks.py:128 +#, python-brace-format +msgid "Commit {0} created on {1}." +msgstr "" + +#: tasks/committasks.py:194 +msgid "Proceed to Amend Commit" +msgstr "" + +#: tasks/committasks.py:246 +#, python-brace-format +msgid "Commit {0} amended. New hash: {1}." +msgstr "" + +#: tasks/committasks.py:334 +#, python-brace-format +msgid "You might lose track of this commit if you carry on checking out another commit ({0})." +msgstr "" + +#: tasks/committasks.py:345 +#, python-brace-format +msgid "Entered detached HEAD on {0}." +msgstr "" + +#: tasks/committasks.py:373 +msgid "Proceed to New Tag" +msgstr "" + +#: tasks/committasks.py:405 +#, python-brace-format +msgid "Tag {0} created on commit {1}." +msgstr "" + +#: tasks/committasks.py:457 +#, python-brace-format +msgid "Do you want to revert commit {0}?" +msgstr "" + +#: tasks/committasks.py:458 +msgid "You will have an opportunity to review the affected files in your working directory." +msgstr "" + +#: tasks/committasks.py:484 +#, python-brace-format +msgid "There’s nothing to revert from {0} that the current branch hasn’t already undone." +msgstr "" + +#: tasks/committasks.py:497 +#, python-brace-format +msgid "Reverting {0} was successful. Do you want to commit the result now?" +msgstr "" + +#: tasks/committasks.py:498 tasks/committasks.py:552 +msgid "Review changes" +msgstr "" + +#: tasks/committasks.py:535 +#, python-brace-format +msgid "There’s nothing to cherry-pick from {0} that the current branch doesn’t already have." +msgstr "" + +#: tasks/committasks.py:549 +#, python-brace-format +msgid "Cherry-picking {0} was successful. Do you want to commit the result now?" +msgstr "" + +#: tasks/exporttasks.py:57 +#, python-brace-format +msgid "{app} cannot export binary patches from a hand-picked selection of files." +msgstr "" + +#: tasks/exporttasks.py:61 +#, python-brace-format +msgid "Binary file will be omitted from patch file:" +msgid_plural "{n} binary files will be omitted from patch file:" +msgstr[0] "" +msgstr[1] "" + +#: tasks/exporttasks.py:62 +msgid "Proceed" +msgstr "" + +#: tasks/exporttasks.py:65 +msgid "Nothing to export. The patch is empty." +msgstr "" + +#: tasks/exporttasks.py:110 +#, python-brace-format +msgctxt "patch file name, please keep it short" +msgid "stashed on {commit}" +msgstr "" + +#: tasks/exporttasks.py:125 +#, python-brace-format +msgctxt "patch file name, please keep it short" +msgid "uncommitted changes on {commit}" +msgstr "" + +#: tasks/indextasks.py:45 +#, python-brace-format +msgid "You have selected an unresolved merge conflict." +msgid_plural "You have selected {n} unresolved merge conflicts." +msgstr[0] "" +msgstr[1] "" + +#: tasks/indextasks.py:48 +#, python-brace-format +msgid "There is an unresolved merge conflict among your selection." +msgid_plural "There are {n} unresolved merge conflicts among your selection." +msgstr[0] "" +msgstr[1] "" + +#: tasks/indextasks.py:52 +msgctxt "please fix (the merge conflicts)" +msgid "Please fix it before staging:" +msgid_plural "Please fix them before staging:" +msgstr[0] "" +msgstr[1] "" + +#: tasks/indextasks.py:54 +msgctxt "please fix (the merge conflicts)" +msgid "Please fix it before discarding:" +msgid_plural "Please fix them before discarding:" +msgstr[0] "" +msgstr[1] "" + +#: tasks/indextasks.py:81 +#, python-brace-format +msgid "File staged." +msgid_plural "{n} files staged." +msgstr[0] "" +msgstr[1] "" + +#: tasks/indextasks.py:91 +msgid "You’ve added another Git repo inside your current repo. It is STRONGLY RECOMMENDED to absorb it as a submodule before committing." +msgstr "" + +#: tasks/indextasks.py:96 +#, python-brace-format +msgid "Don’t forget to remove the submodule from {0} to complete its deletion." +msgstr "" + +#: tasks/indextasks.py:99 +msgid "Uncommitted changes in the submodule can’t be staged from the parent repository." +msgstr "" + +#: tasks/indextasks.py:114 +#, python-brace-format +msgid "An item requires your attention after staging:" +msgid_plural "{n} items require your attention after staging:" +msgstr[0] "" +msgstr[1] "" + +#: tasks/indextasks.py:123 tasks/taskbook.py:48 +msgid "Discard changes" +msgstr "" + +#: tasks/indextasks.py:140 +#, python-brace-format +msgid "Really delete {0}?" +msgstr "" + +#: tasks/indextasks.py:141 +msgid "Git isn’t tracking this file, so you may not be able to recover it from older commits." +msgstr "" + +#: tasks/indextasks.py:144 +#, python-brace-format +msgid "Really discard changes in submodule {0}?" +msgstr "" + +#: tasks/indextasks.py:146 +#, python-brace-format +msgid "Really discard changes to {0}?" +msgstr "" + +#: tasks/indextasks.py:151 +#, python-brace-format +msgid "Really discard changes in {n} submodules?" +msgstr "" + +#: tasks/indextasks.py:153 +#, python-brace-format +msgid "Really discard changes to {nf} files and in {ns} submodules?" +msgstr "" + +#: tasks/indextasks.py:155 +#, python-brace-format +msgid "Really discard changes to {n} files?" +msgstr "" + +#: tasks/indextasks.py:160 +#, python-brace-format +msgid "Any uncommitted changes in the submodule will be cleared and the submodule’s HEAD will be reset." +msgid_plural "Any uncommitted changes in {n} submodules will be cleared and the submodules’ HEAD will be reset." +msgstr[0] "" +msgstr[1] "" + +#: tasks/indextasks.py:172 +#, python-brace-format +msgid "File discarded." +msgid_plural "{n} files discarded." +msgstr[0] "" +msgstr[1] "" + +#: tasks/indextasks.py:224 +#, python-brace-format +msgid "File unstaged." +msgid_plural "{n} files unstaged." +msgstr[0] "" +msgstr[1] "" + +#: tasks/indextasks.py:236 +#, python-brace-format +msgid "Really discard mode change in {0}?" +msgstr "" + +#: tasks/indextasks.py:238 +#, python-brace-format +msgid "Really discard mode changes in {n} files?" +msgstr "" + +#: tasks/indextasks.py:241 tasks/taskbook.py:49 +msgid "Discard mode changes" +msgstr "" + +#: tasks/indextasks.py:267 +#, python-brace-format +msgid "Can’t {verb} the selection because no red/green lines are selected." +msgstr "" + +#: tasks/indextasks.py:274 +msgid "Really discard this hunk?" +msgstr "" + +#: tasks/indextasks.py:276 +msgid "Really discard the selected lines?" +msgstr "" + +#: tasks/indextasks.py:337 +#, python-brace-format +msgid "Conflict resolved." +msgid_plural "{n} conflicts resolved." +msgstr[0] "" +msgstr[1] "" + +#: tasks/indextasks.py:374 +#, python-brace-format +msgid "Merge conflict resolved in {0}." +msgstr "" + +#: tasks/indextasks.py:380 tasks/taskbook.py:39 +msgid "Revert patch file" +msgstr "" + +#: tasks/indextasks.py:380 +msgid "revert" +msgstr "" + +#: tasks/indextasks.py:382 tasks/taskbook.py:38 +msgid "Apply patch file" +msgstr "" + +#: tasks/indextasks.py:382 +msgid "apply" +msgstr "" + +#: tasks/indextasks.py:384 +msgid "Patch file" +msgstr "" + +#: tasks/indextasks.py:385 +msgid "All files" +msgstr "" + +#: tasks/indextasks.py:393 +#, python-brace-format +msgid "Do you want to {verb} patch file {path}?" +msgstr "" + +#: tasks/indextasks.py:416 +msgid "(binary)" +msgstr "" + +#: tasks/indextasks.py:422 +#, python-brace-format +msgid "{n} file will be modified in your working directory:" +msgid_plural "{n} files will be modified in your working directory:" +msgstr[0] "" +msgstr[1] "" + +#: tasks/indextasks.py:434 +#, python-brace-format +msgid "{n} file modified in the working directory." +msgid_plural "{n} files modified in the working directory." +msgstr[0] "" +msgstr[1] "" + +#: tasks/indextasks.py:449 +msgid "There’s nothing to apply in the selection." +msgstr "" + +#: tasks/indextasks.py:464 +msgctxt "preposition slotted into '...BEFORE this commit'" +msgid "before" +msgstr "" + +#: tasks/indextasks.py:468 +msgctxt "preposition slotted into '...AT this commit'" +msgid "at" +msgstr "" + +#: tasks/indextasks.py:476 +#, python-brace-format +msgid "Your working copy of {path} already matches the revision {preposition} this commit." +msgstr "" + +#: tasks/indextasks.py:481 +msgid "recreated" +msgstr "" + +#: tasks/indextasks.py:483 +msgid "deleted" +msgstr "" + +#: tasks/indextasks.py:485 +msgid "overwritten" +msgstr "" + +#: tasks/indextasks.py:487 +#, python-brace-format +msgid "Do you want to restore {path} as it was {preposition} this commit?" +msgstr "" + +#: tasks/indextasks.py:489 +#, python-brace-format +msgid "This file will be {processed} in your working directory." +msgstr "" + +#: tasks/indextasks.py:491 +msgid "Restore" +msgstr "" + +#: tasks/indextasks.py:504 +#, python-brace-format +msgid "File {path} {processed}." +msgstr "" + +#: tasks/indextasks.py:518 +msgid "No abortable state is in progress." +msgstr "" + +#: tasks/indextasks.py:521 +msgid "abort the ongoing cherry-pick" +msgstr "" + +#: tasks/indextasks.py:523 +msgid "Cherry-pick aborted." +msgstr "" + +#: tasks/indextasks.py:526 +msgid "abort the ongoing merge" +msgstr "" + +#: tasks/indextasks.py:528 +msgid "Merge aborted." +msgstr "" + +#: tasks/indextasks.py:531 +msgid "abort the ongoing revert" +msgstr "" + +#: tasks/indextasks.py:533 +msgid "Revert aborted." +msgstr "" + +#: tasks/indextasks.py:536 +msgid "reset the index" +msgstr "" + +#: tasks/indextasks.py:538 +msgid "Index reset." +msgstr "" + +#: tasks/indextasks.py:545 +#, python-brace-format +msgid "Cannot {verb} right now, because a file contains both staged and unstaged changes." +msgid_plural "Cannot {verb} right now, because {n} files contain both staged and unstaged changes." +msgstr[0] "" +msgstr[1] "" + +#: tasks/indextasks.py:548 +msgid "Please unstage the changes and try again." +msgstr "" + +#: tasks/indextasks.py:551 +#, python-brace-format +msgid "Do you want to {0}?" +msgstr "" + +#: tasks/indextasks.py:554 +msgid "No files are affected." +msgstr "" + +#: tasks/indextasks.py:557 +msgid "All conflicts will be cleared and all staged changes will be lost." +msgstr "" + +#: tasks/indextasks.py:559 +msgid "All staged changes will be lost." +msgstr "" + +#: tasks/indextasks.py:560 +#, python-brace-format +msgid "This file will be reset:" +msgid_plural "{n} files will be reset:" +msgstr[0] "" +msgstr[1] "" + +#: tasks/jumptasks.py:150 +#, python-brace-format +msgid "Unstaged ({n})" +msgid_plural "Unstaged ({n})" +msgstr[0] "" +msgstr[1] "" + +#: tasks/jumptasks.py:151 +#, python-brace-format +msgid "Staged ({n})" +msgid_plural "Staged ({n})" +msgstr[0] "" +msgstr[1] "" + +#: tasks/jumptasks.py:152 +#, python-brace-format +msgid "Commit {n} file" +msgid_plural "Commit {n} files" +msgstr[0] "" +msgstr[1] "" + +#: tasks/jumptasks.py:177 +msgid "The working directory is clean." +msgstr "" + +#: tasks/jumptasks.py:178 +msgid "There aren’t any changes to commit." +msgstr "" + +#: tasks/jumptasks.py:211 +msgid "Shallow clone – End of available history." +msgstr "" + +#: tasks/jumptasks.py:212 +msgid "More commits may be available in a full clone." +msgstr "" + +#: tasks/jumptasks.py:224 +msgid "[Load full commit history] (this may take a moment)" +msgstr "" + +#: tasks/jumptasks.py:225 +#, python-brace-format +msgid "[Change threshold setting] (currently: {0} commits)" +msgstr "" + +#: tasks/jumptasks.py:228 +#, python-brace-format +msgid "History truncated to {0} commits." +msgstr "" + +#: tasks/jumptasks.py:229 +msgid "More commits may be available." +msgstr "" + +#: tasks/jumptasks.py:231 +msgid "History truncated" +msgstr "" + +#: tasks/jumptasks.py:253 +#, python-brace-format +msgid "Unknown reference {0}." +msgstr "" + +#: tasks/jumptasks.py:318 +#, python-brace-format +msgid "{n} change:|{n} ch.:" +msgid_plural "{n} changes:|{n} ch.:" +msgstr[0] "" +msgstr[1] "" + +#: tasks/jumptasks.py:327 +msgid "This commit is empty." +msgstr "" + +#: tasks/jumptasks.py:328 +#, python-brace-format +msgid "Commit {0} doesn’t affect any files." +msgstr "" + +#: tasks/jumptasks.py:334 +msgid "Rename detection was skipped to load this large commit faster." +msgstr "" + +#: tasks/jumptasks.py:337 +#, python-brace-format +msgid "{n} rename detected." +msgid_plural "{n} renames detected." +msgstr[0] "" +msgstr[1] "" + +#: tasks/jumptasks.py:345 +msgid "Detect Renames" +msgstr "" + +#: tasks/loadtasks.py:44 +msgid "Loading repo" +msgstr "" + +#: tasks/loadtasks.py:123 +#, python-brace-format +msgid "{0} commits…" +msgstr "" + +#: tasks/loadtasks.py:136 +#, python-brace-format +msgid "{0} commits loaded (truncated log)." +msgstr "" + +#: tasks/loadtasks.py:138 +#, python-brace-format +msgid "{0} commits total." +msgstr "" + +#: tasks/loadtasks.py:289 +msgid "Try to reload the file." +msgstr "" + +#: tasks/loadtasks.py:293 +#, python-brace-format +msgid "Consider re-enabling {0} to prevent this issue." +msgstr "" + +#: tasks/loadtasks.py:297 +msgid "Outdated diff." +msgstr "" + +#: tasks/loadtasks.py:298 +msgid "The file appears to have changed on disk." +msgstr "" + +#: tasks/loadtasks.py:304 +msgid "Patch has no delta!" +msgstr "" + +#: tasks/loadtasks.py:336 +#, python-brace-format +msgctxt "at (specific commit)" +msgid "at {0}" +msgstr "" + +#: tasks/misctasks.py:94 +#, python-brace-format +msgid "Parent" +msgid_plural "{n} Parents" +msgstr[0] "" +msgstr[1] "" + +#: tasks/misctasks.py:100 +msgid "You’re working in a shallow clone. This commit may actually have parents in the full history." +msgstr "" + +#: tasks/misctasks.py:105 +msgid "(same as author)" +msgstr "" + +#: tasks/misctasks.py:112 +msgid "(not signed)" +msgstr "" + +#: tasks/misctasks.py:119 +msgid "Hash" +msgstr "" + +#: tasks/misctasks.py:121 +msgid "Author" +msgstr "" + +#: tasks/misctasks.py:122 +msgid "Committer" +msgstr "" + +#: tasks/misctasks.py:123 +msgid "Signature" +msgstr "" + +#: tasks/misctasks.py:139 +#, python-brace-format +msgid "Commit info: {0}" +msgstr "" + +#: tasks/misctasks.py:211 +#, python-brace-format +msgid "Commit {0} is not signed, so it cannot be verified." +msgstr "" + +#: tasks/misctasks.py:227 +#, python-brace-format +msgid "Hint: Public key {0} isn’t in your GPG keyring. You can try to import it from a trusted source, then verify this commit again." +msgstr "" + +#: tasks/misctasks.py:234 +#, python-brace-format +msgid "Verify signature in commit {0}" +msgstr "" + +#: tasks/misctasks.py:245 +msgid "Copy &Key ID" +msgstr "" + +#: tasks/misctasks.py:250 toolbox/textutils.py:125 +#, python-brace-format +msgid "{0} copied to clipboard." +msgstr "" + +#: tasks/misctasks.py:317 +msgid "(Not found in SSH allowed signers file)" +msgstr "" + +#: tasks/misctasks.py:407 +#, python-brace-format +msgid "Added to {file}: {pattern}" +msgstr "" + +#: tasks/nettasks.py:34 +#, python-brace-format +msgid "Can’t fetch new commits on {0} because this branch isn’t tracking an upstream branch." +msgstr "" + +#: tasks/nettasks.py:56 +#, python-brace-format +msgid "{0} is already up to date with {1}." +msgstr "" + +#: tasks/nettasks.py:58 +#, python-brace-format +msgid "{0} created: {1}." +msgstr "" + +#: tasks/nettasks.py:60 +#, python-brace-format +msgid "{0} deleted, was {1}." +msgstr "" + +#: tasks/nettasks.py:62 +#, python-brace-format +msgid "{0}: {1} → {2}." +msgstr "" + +#: tasks/nettasks.py:65 +msgid "No new commits." +msgstr "" + +#: tasks/nettasks.py:76 +#, python-brace-format +msgid "Really delete branch {0} from the remote repository?" +msgstr "" + +#: tasks/nettasks.py:77 +#, python-brace-format +msgid "The remote branch will disappear for all users of remote {0}." +msgstr "" + +#: tasks/nettasks.py:79 +msgid "Delete on remote" +msgstr "" + +#: tasks/nettasks.py:91 +#, python-brace-format +msgid "Remote branch {0} deleted." +msgstr "" + +#: tasks/nettasks.py:107 +#, python-brace-format +msgid "Rename remote branch {0}" +msgstr "" + +#: tasks/nettasks.py:108 +msgid "WARNING: This will rename the branch for all users of the remote!" +msgstr "" + +#: tasks/nettasks.py:111 +msgid "Rename on remote" +msgstr "" + +#: tasks/nettasks.py:160 +#, python-brace-format +msgid "Remote branch {0} renamed to {1}." +msgstr "" + +#: tasks/nettasks.py:169 +msgid "To fetch remote branches, you must first add a remote to your repo." +msgstr "" + +#: tasks/nettasks.py:170 tasks/nettasks.py:351 +msgid "You can do so via “Repo → Add Remote”." +msgstr "" + +#: tasks/nettasks.py:231 +msgid "Fetch complete." +msgstr "" + +#: tasks/nettasks.py:232 +#, python-brace-format +msgid "No new commits on {0}." +msgstr "" + +#: tasks/nettasks.py:245 +#, python-brace-format +msgid "{0} has disappeared from the remote server." +msgstr "" + +#: tasks/nettasks.py:255 +#, python-brace-format +msgid "Can’t pull new commits into {0} because this branch isn’t tracking an upstream branch." +msgstr "" + +#: tasks/nettasks.py:268 tasks/taskbook.py:113 +msgctxt "toolbar" +msgid "Pull" +msgstr "" + +#: tasks/nettasks.py:312 tasks/nettasks.py:323 +#, python-brace-format +msgid "Submodule updated." +msgid_plural "{n} submodules updated." +msgstr[0] "" +msgstr[1] "" + +#: tasks/nettasks.py:350 +msgid "To push a local branch to a remote, you must first add a remote to your repo." +msgstr "" + +#: tasks/nettasks.py:359 tasks/repotask.py:779 +msgid "Please switch to a local branch before performing this action." +msgstr "" + +#: tasks/nettasks.py:411 +msgid "Push complete." +msgstr "" + +#: tasks/nettasks.py:419 +#, python-brace-format +msgid "{0} — The push was rejected." +msgstr "" + +#: tasks/nettasks.py:422 +#, python-brace-format +msgid "Your repository’s knowledge of remote branch {0} is out of date. The force-push was rejected to prevent data loss." +msgstr "" + +#: tasks/nettasks.py:424 +#, python-brace-format +msgid "Please fetch remote {0} before pushing again." +msgstr "" + +#: tasks/newrepotasks.py:23 +msgid "New repository" +msgstr "" + +#: tasks/newrepotasks.py:25 +msgid "&Create repo here" +msgstr "" + +#: tasks/newrepotasks.py:42 +#, python-brace-format +msgid "Are you sure you want to initialize a Git repository in {0}? This directory isn’t empty." +msgstr "" + +#: tasks/newrepotasks.py:44 +msgid "Directory isn’t empty" +msgstr "" + +#: tasks/newrepotasks.py:60 +msgid "Repository already exists" +msgstr "" + +#: tasks/newrepotasks.py:61 +msgid "A repository already exists here:" +msgstr "" + +#: tasks/newrepotasks.py:62 +msgid "&Open existing repo" +msgstr "" + +#: tasks/newrepotasks.py:81 +#, python-brace-format +msgid "An existing repository, {0}, was found in a parent folder of this location:" +msgstr "" + +#: tasks/newrepotasks.py:83 +#, python-brace-format +msgid "Are you sure you want to create {0} within the existing repo?" +msgstr "" + +#: tasks/newrepotasks.py:85 +#, python-brace-format +msgid "&Create {0}" +msgstr "" + +#: tasks/newrepotasks.py:89 +msgid "Repository found in parent folder" +msgstr "" + +#: tasks/newrepotasks.py:91 +#, python-brace-format +msgid "&Open {0}" +msgstr "" + +#: tasks/remotetasks.py:43 +#, python-brace-format +msgid "Remote {0} added." +msgstr "" + +#: tasks/remotetasks.py:84 +#, python-brace-format +msgid "Really remove remote {0}?" +msgstr "" + +#: tasks/remotetasks.py:85 +msgid "This will merely detach the remote from your local repository. The remote server itself will not be affected." +msgstr "" + +#: tasks/remotetasks.py:87 tasks/taskbook.py:45 +msgid "Remove remote" +msgstr "" + +#: tasks/remotetasks.py:94 +#, python-brace-format +msgid "Remote {0} removed." +msgstr "" + +#: tasks/repotask.py:37 +#, python-brace-format +msgid "Conflicting file" +msgid_plural "{n} conflicting files" +msgstr[0] "" +msgstr[1] "" + +#: tasks/repotask.py:38 +#, python-brace-format +msgctxt "operation conflicts with…" +msgid "a file" +msgid_plural "{n} files" +msgstr[0] "" +msgstr[1] "" + +#: tasks/repotask.py:42 +#, python-brace-format +msgid "Operation {op} conflicts with {files} in the working directory:" +msgstr "" + +#: tasks/repotask.py:44 +#, python-brace-format +msgid "Operation {op} conflicts with {files} in the commit at HEAD:" +msgstr "" + +#: tasks/repotask.py:46 +#, python-brace-format +msgid "Operation {op} has caused a conflict with {files} ({exc}):" +msgstr "" + +#: tasks/repotask.py:54 +msgid "Before you try again, you should either commit, stash, or discard your changes." +msgstr "" + +#: tasks/repotask.py:64 +#, python-brace-format +msgid "Operation {op} ran into an issue with {n} file." +msgid_plural "Operation {op} ran into issues with {n} files." +msgstr[0] "" +msgstr[1] "" + +#: tasks/repotask.py:68 +#, python-brace-format +msgid "({n} other file was successful.)" +msgid_plural "({n} other files were successful.)" +msgstr[0] "" +msgstr[1] "" + +#: tasks/repotask.py:356 toolbox/messageboxes.py:299 +#, python-brace-format +msgid "Operation failed: {0}." +msgstr "" + +#: tasks/repotask.py:513 +#, python-brace-format +msgid "Process failed to start ({0})." +msgstr "" + +#: tasks/repotask.py:523 +#, python-brace-format +msgid "Process {0} exited with code {1}." +msgstr "" + +#: tasks/repotask.py:719 +msgid "Don’t ask me to confirm this again" +msgstr "" + +#: tasks/repotask.py:719 +msgid "Don’t show this again" +msgstr "" + +#: tasks/repotask.py:769 +msgid "Fix merge conflicts before performing this action." +msgstr "" + +#: tasks/repotask.py:773 +msgid "There are no commits in this repository yet." +msgstr "" + +#: tasks/repotask.py:774 +msgid "Create the initial commit in this repository before performing this action." +msgstr "" + +#: tasks/repotask.py:778 +msgid "You are in “detached HEAD” state." +msgstr "" + +#: tasks/repotask.py:783 +msgid "You are in the middle of a cherry-pick." +msgstr "" + +#: tasks/repotask.py:784 +msgid "Before performing this action, conclude the cherry-pick." +msgstr "" + +#: tasks/repotask.py:788 +msgid "You have staged changes." +msgstr "" + +#: tasks/repotask.py:789 +msgid "Before performing this action, commit your changes or stash them." +msgstr "" + +#: tasks/repotask.py:914 +#, python-brace-format +msgid "Please wait for the current operation to complete ({0})." +msgstr "" + +#: tasks/repotask.py:915 +msgid "Operation in progress" +msgstr "" + +#: tasks/repotask.py:1007 tasks/repotask.py:1022 +#, python-brace-format +msgid "Busy: {0}…" +msgstr "" + +#: tasks/stashtasks.py:49 +msgid "There are no uncommitted changes to stash." +msgstr "" + +#: tasks/stashtasks.py:57 +msgid "There are no uncommitted changes to stash (submodules cannot be stashed)." +msgstr "" + +#: tasks/stashtasks.py:79 +#, python-brace-format +msgid "File stashed." +msgid_plural "{n} files stashed." +msgstr[0] "" +msgstr[1] "" + +#: tasks/stashtasks.py:91 +#, python-brace-format +msgid "Do you want to apply the changes stashed in {0} to your working directory?" +msgstr "" + +#: tasks/stashtasks.py:100 +msgid "&Apply && Delete" +msgstr "" + +#: tasks/stashtasks.py:100 +msgid "&Apply && Keep" +msgstr "" + +#: tasks/stashtasks.py:102 +msgid "&Delete the stash if it applies cleanly" +msgstr "" + +#: tasks/stashtasks.py:135 +#, python-brace-format +msgid "Stash {0} applied and deleted." +msgstr "" + +#: tasks/stashtasks.py:137 +#, python-brace-format +msgid "Stash {0} applied." +msgstr "" + +#: tasks/stashtasks.py:140 +#, python-brace-format +msgid "Stash {0} applied, with conflicts." +msgstr "" + +#: tasks/stashtasks.py:141 +#, python-brace-format +msgid "Applying the stash {0} has caused merge conflicts because your files have diverged since they were stashed." +msgstr "" + +#: tasks/stashtasks.py:144 tasks/stashtasks.py:151 +msgid "The stash wasn’t deleted in case you need to re-apply it later." +msgstr "" + +#: tasks/stashtasks.py:145 +msgid "Conflicts caused by stash application" +msgstr "" + +#: tasks/stashtasks.py:148 +#, python-brace-format +msgid "Stash {0} couldn’t be applied." +msgstr "" + +#: tasks/stashtasks.py:160 +#, python-brace-format +msgid "Really delete stash {0}?" +msgstr "" + +#: tasks/stashtasks.py:161 tasks/taskbook.py:50 +msgid "Delete stash" +msgstr "" + +#: tasks/stashtasks.py:171 +#, python-brace-format +msgid "Stash {0} deleted." +msgstr "" + +#: tasks/submoduletasks.py:48 +#, python-brace-format +msgid "{0} has no remotes." +msgstr "" + +#: tasks/submoduletasks.py:49 +#, python-brace-format +msgid "Please open {0} and add a remote to it before absorbing it as a submodule." +msgstr "" + +#: tasks/submoduletasks.py:66 +#, python-brace-format +msgid "Settings will be saved in {0}" +msgstr "" + +#: tasks/submoduletasks.py:93 +#, python-brace-format +msgid "Really remove submodule {0}?" +msgstr "" + +#: tasks/submoduletasks.py:94 +#, python-brace-format +msgid "The submodule will be removed from {0} and its working copy will be deleted." +msgstr "" + +#: tasks/submoduletasks.py:95 +msgid "Any changes in the submodule that haven’t been pushed will be lost." +msgstr "" + +#: tasks/taskbook.py:34 +msgid "Accept merge conflict resolution" +msgstr "" + +#: tasks/taskbook.py:35 +msgid "Amend last commit" +msgstr "" + +#: tasks/taskbook.py:36 +msgid "Apply selected text" +msgstr "" + +#: tasks/taskbook.py:37 +msgid "Apply patch data" +msgstr "" + +#: tasks/taskbook.py:40 +msgid "Apply stash" +msgstr "" + +#: tasks/taskbook.py:41 +msgid "Check out commit" +msgstr "" + +#: tasks/taskbook.py:42 +msgid "Cherry-pick" +msgstr "" + +#: tasks/taskbook.py:43 +msgid "Delete local branch" +msgstr "" + +#: tasks/taskbook.py:44 +msgid "Delete local branch folder" +msgstr "" + +#: tasks/taskbook.py:46 +msgid "Delete branch on remote" +msgstr "" + +#: tasks/taskbook.py:47 +msgid "Delete tag" +msgstr "" + +#: tasks/taskbook.py:52 +msgid "Edit upstream branch" +msgstr "" + +#: tasks/taskbook.py:53 +msgid "Export commit as patch file" +msgstr "" + +#: tasks/taskbook.py:54 +msgid "Export patch file" +msgstr "" + +#: tasks/taskbook.py:55 +msgid "Export stash as patch file" +msgstr "" + +#: tasks/taskbook.py:56 +msgid "Export changes as patch file" +msgstr "" + +#: tasks/taskbook.py:57 +msgid "Fast-forward branch" +msgstr "" + +#: tasks/taskbook.py:58 +msgid "Fetch remote branches" +msgstr "" + +#: tasks/taskbook.py:59 +msgid "Fetch remote branch" +msgstr "" + +#: tasks/taskbook.py:60 +msgid "Get commit information" +msgstr "" + +#: tasks/taskbook.py:61 +msgid "Accept/reject incoming changes" +msgstr "" + +#: tasks/taskbook.py:62 +msgid "Navigate in repo" +msgstr "" + +#: tasks/taskbook.py:66 +msgid "Go to HEAD commit" +msgstr "" + +#: tasks/taskbook.py:68 +msgid "Mark conflict solved" +msgstr "" + +#: tasks/taskbook.py:69 +msgid "Merge branch" +msgstr "" + +#: tasks/taskbook.py:70 tasks/taskbook.py:71 tasks/taskbook.py:72 +msgid "New local branch" +msgstr "" + +#: tasks/taskbook.py:73 +msgid "New commit" +msgstr "" + +#: tasks/taskbook.py:74 +msgid "Ignore a new file name pattern" +msgstr "" + +#: tasks/taskbook.py:76 +msgid "Stash changes" +msgstr "" + +#: tasks/taskbook.py:77 +msgid "New tag" +msgstr "" + +#: tasks/taskbook.py:78 +msgid "Blame file" +msgstr "" + +#: tasks/taskbook.py:79 +msgid "Pull remote branch" +msgstr "" + +#: tasks/taskbook.py:80 +msgid "Push branch" +msgstr "" + +#: tasks/taskbook.py:81 +msgid "Push refspecs" +msgstr "" + +#: tasks/taskbook.py:83 +msgid "Refresh repo" +msgstr "" + +#: tasks/taskbook.py:85 +msgid "Remove submodule" +msgstr "" + +#: tasks/taskbook.py:87 +msgid "Rename local branch folder" +msgstr "" + +#: tasks/taskbook.py:88 +msgid "Rename branch on remote" +msgstr "" + +#: tasks/taskbook.py:89 +msgid "Reset HEAD" +msgstr "" + +#: tasks/taskbook.py:90 +msgid "Restore file revision" +msgstr "" + +#: tasks/taskbook.py:91 +msgid "Revert commit" +msgstr "" + +#: tasks/taskbook.py:92 +msgid "Git identity" +msgstr "" + +#: tasks/taskbook.py:93 +msgid "Repository settings" +msgstr "" + +#: tasks/taskbook.py:94 +msgid "Stage files" +msgstr "" + +#: tasks/taskbook.py:95 +msgid "Switch to branch" +msgstr "" + +#: tasks/taskbook.py:96 +msgid "Update submodule" +msgstr "" + +#: tasks/taskbook.py:98 +msgid "Unstage files" +msgstr "" + +#: tasks/taskbook.py:99 +msgid "Unstage mode changes" +msgstr "" + +#: tasks/taskbook.py:100 +msgid "Verify signature" +msgstr "" + +#: tasks/taskbook.py:101 +msgid "Verifying signatures" +msgstr "" + +#: tasks/taskbook.py:105 +msgctxt "toolbar" +msgid "Amend" +msgstr "" + +#: tasks/taskbook.py:106 +msgctxt "toolbar" +msgid "Fetch" +msgstr "" + +#: tasks/taskbook.py:107 +msgctxt "toolbar" +msgid "Back" +msgstr "" + +#: tasks/taskbook.py:108 +msgctxt "toolbar" +msgid "Forward" +msgstr "" + +#: tasks/taskbook.py:109 +msgctxt "toolbar" +msgid "HEAD" +msgstr "" + +#: tasks/taskbook.py:110 +msgctxt "toolbar" +msgid "Workdir" +msgstr "" + +#: tasks/taskbook.py:111 +msgctxt "toolbar" +msgid "Branch" +msgstr "" + +#: tasks/taskbook.py:112 +msgctxt "toolbar" +msgid "Stash" +msgstr "" + +#: tasks/taskbook.py:114 +msgctxt "toolbar" +msgid "Push" +msgstr "" + +#: tasks/taskbook.py:118 +msgid "Amend the last commit on the current branch with the staged changes in the working directory" +msgstr "" + +#: tasks/taskbook.py:119 +msgid "Apply a patch file to the working directory" +msgstr "" + +#: tasks/taskbook.py:120 +msgid "Apply a patch file (in reverse) to the working directory" +msgstr "" + +#: tasks/taskbook.py:121 +msgid "Restore backed up changes to the working directory" +msgstr "" + +#: tasks/taskbook.py:122 +msgid "Bring the changes introduced by this commit to the current branch" +msgstr "" + +#: tasks/taskbook.py:123 +msgid "Delete this branch locally" +msgstr "" + +#: tasks/taskbook.py:124 +msgid "Choose the remote branch to be tracked by this local branch" +msgstr "" + +#: tasks/taskbook.py:125 +msgid "Create a patch file from this stash" +msgstr "" + +#: tasks/taskbook.py:126 +msgid "Advance this local branch to the tip of the remote-tracking branch" +msgstr "" + +#: tasks/taskbook.py:127 +msgid "Get the latest commits on all remote branches" +msgstr "" + +#: tasks/taskbook.py:128 +msgid "Get the latest commits from the remote server" +msgstr "" + +#: tasks/taskbook.py:129 +msgid "Start a new branch from this commit" +msgstr "" + +#: tasks/taskbook.py:130 +msgid "Start a new branch from the current HEAD" +msgstr "" + +#: tasks/taskbook.py:131 +msgid "Start a new branch from the tip of this branch" +msgstr "" + +#: tasks/taskbook.py:132 +msgid "Create a commit of the staged changes in the working directory" +msgstr "" + +#: tasks/taskbook.py:133 +msgid "Add a remote server to this repo" +msgstr "" + +#: tasks/taskbook.py:134 +msgid "Back up uncommitted changes and clean up the working directory" +msgstr "" + +#: tasks/taskbook.py:135 +msgid "Tag this commit with a name" +msgstr "" + +#: tasks/taskbook.py:136 +msgid "Fetch the latest commits from the remote, then integrate them into your local branch" +msgstr "" + +#: tasks/taskbook.py:137 +msgid "Upload your commits on the current branch to the remote server" +msgstr "" + +#: tasks/taskbook.py:138 +msgid "Remove this submodule from .gitmodules and delete its working copy from this repo" +msgstr "" + +#: tasks/taskbook.py:139 +msgid "Rename this branch locally" +msgstr "" + +#: tasks/taskbook.py:140 +msgid "Make HEAD point to another commit" +msgstr "" + +#: tasks/taskbook.py:141 +msgid "Revert the changes introduced by this commit" +msgstr "" + +#: tasks/taskbook.py:142 tasks/taskbook.py:143 +msgid "Set up the identity under which you create commits" +msgstr "" + +#: tasks/taskbook.py:144 +msgid "Switch to this branch and update the working directory to match it" +msgstr "" + +#: toolbox/fontpicker.py:32 +#, python-brace-format +msgid "Hold {key} to show proportional fonts." +msgstr "" + +#: toolbox/fontpicker.py:40 +msgid "pt" +msgstr "" + +#: toolbox/fontpicker.py:51 +msgid "Reset to system default monospace font" +msgstr "" + +#: toolbox/messageboxes.py:39 +msgid "No repository" +msgstr "" + +#: toolbox/messageboxes.py:62 +msgid "Unhandled exception" +msgstr "" + +#: toolbox/messageboxes.py:64 +msgid "An exception was raised." +msgstr "" + +#: toolbox/messageboxes.py:76 +msgid "(MESSAGE TRUNCATED)" +msgstr "" + +#: toolbox/messageboxes.py:79 +msgid "If you want to file a bug report, please click “Show Details” and copy the entire message." +msgstr "" + +#: toolbox/messageboxes.py:103 +msgid "Quit application" +msgstr "" + +#: toolbox/messageboxes.py:152 +#, python-brace-format +msgid "Skip {n} more error" +msgid_plural "Skip {n} more errors" +msgstr[0] "" +msgstr[1] "" + +#: toolbox/messageboxes.py:278 +#, python-brace-format +msgid "…and {0} more. Click “Show Details” to view all." +msgstr "" + +#: toolbox/qfilepickercheckbox.py:26 +msgctxt "button to open a file browser to select a file" +msgid "Select…" +msgstr "" + +#: toolbox/qhintbutton.py:17 +msgid "Help" +msgstr "" + +#: toolbox/qtabwidget2.py:167 +msgid "List all tabs" +msgstr "" + +#: toolbox/textutils.py:65 +#, python-brace-format +msgid "“{0}”" +msgstr "" + +#: toolbox/textutils.py:127 +#, python-brace-format +msgid "{n} lines copied to clipboard." +msgstr "" + +#: toolbox/textutils.py:145 +#, python-brace-format +msgid "…and {0} more" +msgstr "" + +#: trtables.py:93 +msgid "Connection refused" +msgstr "" + +#: trtables.py:94 +msgid "File not found" +msgstr "" + +#: trtables.py:95 +msgid "Permission denied" +msgstr "" + +#: trtables.py:96 +msgid "Git error" +msgstr "" + +#: trtables.py:97 +msgid "Unsupported feature" +msgstr "" + +#: trtables.py:98 +msgid "Operation interrupted" +msgstr "" + +#: trtables.py:114 +msgid "Illegal name." +msgstr "" + +#: trtables.py:115 +msgid "Illegal suffix." +msgstr "" + +#: trtables.py:116 +msgid "Illegal prefix." +msgstr "" + +#: trtables.py:117 +msgid "Contains illegal character sequence." +msgstr "" + +#: trtables.py:118 +msgid "Contains illegal character." +msgstr "" + +#: trtables.py:120 +msgid "This name is discouraged for compatibility with Windows." +msgstr "" + +#: trtables.py:121 +msgid "This name is already taken." +msgstr "" + +#: trtables.py:122 +msgid "This name is already taken by a folder." +msgstr "" + +#: trtables.py:123 +msgid "The folder in this path clashes with an existing ref that isn’t a folder." +msgstr "" + +#: trtables.py:127 +msgctxt "FileMode" +msgid "deleted" +msgstr "" + +#: trtables.py:128 +msgctxt "FileMode" +msgid "regular file" +msgstr "" + +#: trtables.py:129 +msgctxt "FileMode" +msgid "executable file" +msgstr "" + +#: trtables.py:130 +msgctxt "FileMode" +msgid "symbolic link" +msgstr "" + +#: trtables.py:131 +msgctxt "FileMode" +msgid "subtree" +msgstr "" + +#: trtables.py:132 +msgctxt "FileMode" +msgid "subtree commit" +msgstr "" + +#: trtables.py:136 +msgctxt "RepositoryState" +msgid "None" +msgstr "" + +#: trtables.py:137 +msgctxt "RepositoryState" +msgid "Merging" +msgstr "" + +#: trtables.py:138 +msgctxt "RepositoryState" +msgid "Reverting" +msgstr "" + +#: trtables.py:139 +msgctxt "RepositoryState" +msgid "Reverting (sequence)" +msgstr "" + +#: trtables.py:140 +msgctxt "RepositoryState" +msgid "Cherry-picking" +msgstr "" + +#: trtables.py:141 +msgctxt "RepositoryState" +msgid "Cherry-picking (sequence)" +msgstr "" + +#: trtables.py:142 +msgctxt "RepositoryState" +msgid "Bisecting" +msgstr "" + +#: trtables.py:143 +msgctxt "RepositoryState" +msgid "Rebasing" +msgstr "" + +#: trtables.py:144 +msgctxt "RepositoryState" +msgid "Rebasing (interactive)" +msgstr "" + +#: trtables.py:145 +msgctxt "RepositoryState" +msgid "Rebasing (merging)" +msgstr "" + +#: trtables.py:151 +msgctxt "ConflictSides" +msgid "modified by both sides" +msgstr "" + +#: trtables.py:152 +msgctxt "ConflictSides" +msgid "deleted by us" +msgstr "" + +#: trtables.py:153 +msgctxt "ConflictSides" +msgid "deleted by them" +msgstr "" + +#: trtables.py:154 +msgctxt "ConflictSides" +msgid "deleted by both sides" +msgstr "" + +#: trtables.py:155 +msgctxt "ConflictSides" +msgid "added by us" +msgstr "" + +#: trtables.py:156 +msgctxt "ConflictSides" +msgid "added by them" +msgstr "" + +#: trtables.py:157 +msgctxt "ConflictSides" +msgid "added by both sides" +msgstr "" + +#: trtables.py:161 +msgctxt "PatchPurpose" +msgid "Stage" +msgstr "" + +#: trtables.py:162 +msgctxt "PatchPurpose" +msgid "Unstage" +msgstr "" + +#: trtables.py:163 +msgctxt "PatchPurpose" +msgid "Discard" +msgstr "" + +#: trtables.py:164 +msgctxt "PatchPurpose" +msgid "Stage lines" +msgstr "" + +#: trtables.py:165 +msgctxt "PatchPurpose" +msgid "Unstage lines" +msgstr "" + +#: trtables.py:166 +msgctxt "PatchPurpose" +msgid "Discard lines" +msgstr "" + +#: trtables.py:167 +msgctxt "PatchPurpose" +msgid "Stage hunk" +msgstr "" + +#: trtables.py:168 +msgctxt "PatchPurpose" +msgid "Unstage hunk" +msgstr "" + +#: trtables.py:169 +msgctxt "PatchPurpose" +msgid "Discard hunk" +msgstr "" + +#: trtables.py:170 +msgctxt "PatchPurpose" +msgid "Stage file" +msgstr "" + +#: trtables.py:171 +msgctxt "PatchPurpose" +msgid "Unstage file" +msgstr "" + +#: trtables.py:172 +msgctxt "PatchPurpose" +msgid "Discard file" +msgstr "" + +#: trtables.py:176 +msgctxt "SidebarModel" +msgid "Working Directory|Workdir" +msgstr "" + +#: trtables.py:177 +msgctxt "SidebarModel" +msgid "Local Branches|Branches" +msgstr "" + +#: trtables.py:178 +msgctxt "SidebarModel" +msgid "Stashes" +msgstr "" + +#: trtables.py:179 +msgctxt "SidebarModel" +msgid "Remotes" +msgstr "" + +#: trtables.py:180 +msgctxt "SidebarModel" +msgid "Tags" +msgstr "" + +#: trtables.py:181 trtables.py:189 +msgctxt "SidebarModel" +msgid "Submodules" +msgstr "" + +#: trtables.py:182 +msgctxt "SidebarModel" +msgid "Local branch" +msgstr "" + +#: trtables.py:183 +msgctxt "SidebarModel" +msgid "Detached HEAD" +msgstr "" + +#: trtables.py:184 +msgctxt "SidebarModel" +msgid "Unborn HEAD" +msgstr "" + +#: trtables.py:185 +msgctxt "SidebarModel" +msgid "Remote branch" +msgstr "" + +#: trtables.py:186 +msgctxt "SidebarModel" +msgid "Stash" +msgstr "" + +#: trtables.py:187 +msgctxt "SidebarModel" +msgid "Remote" +msgstr "" + +#: trtables.py:188 +msgctxt "SidebarModel" +msgid "Tag" +msgstr "" + +#: trtables.py:194 +msgid "Full paths" +msgstr "" + +#: trtables.py:195 +msgid "Abbreviate directories" +msgstr "" + +#: trtables.py:196 +msgid "Show filename only" +msgstr "" + +#: trtables.py:200 +msgid "Full name" +msgstr "" + +#: trtables.py:201 +msgid "First name" +msgstr "" + +#: trtables.py:202 +msgid "Last name" +msgstr "" + +#: trtables.py:203 +msgid "Initials" +msgstr "" + +#: trtables.py:204 +msgid "Full email" +msgstr "" + +#: trtables.py:205 +msgid "Abbreviated email" +msgstr "" + +#: trtables.py:209 +msgctxt "row spacing" +msgid "Cramped" +msgstr "" + +#: trtables.py:210 +msgctxt "row spacing" +msgid "Tight" +msgstr "" + +#: trtables.py:211 +msgctxt "row spacing" +msgid "Relaxed" +msgstr "" + +#: trtables.py:212 +msgctxt "row spacing" +msgid "Roomy" +msgstr "" + +#: trtables.py:213 +msgctxt "row spacing" +msgid "Spacious" +msgstr "" + +#: trtables.py:217 +msgctxt "Qt binding" +msgid "Automatic (recommended)" +msgstr "" + +#: trtables.py:225 +msgid "Truncate long ref names" +msgstr "" + +#: trtables.py:226 +msgid "Show full ref names" +msgstr "" + +#: trtables.py:230 +msgctxt "sort refs by date of latest commit, descending" +msgid "Date, Newest First" +msgstr "" + +#: trtables.py:231 +msgctxt "sort refs by date of latest commit, ascending" +msgid "Date, Oldest First" +msgstr "" + +#: trtables.py:232 +msgctxt "sort refs alphabetically, ascending" +msgid "Name, A-Z" +msgstr "" + +#: trtables.py:233 +msgctxt "sort refs alphabetically, descending" +msgid "Name, Z-A" +msgstr "" + +#: trtables.py:238 +msgid "Not signed" +msgstr "" + +#: trtables.py:239 +msgid "Signature not verified yet" +msgstr "" + +#: trtables.py:240 +msgid "Unable to verify signature" +msgstr "" + +#: trtables.py:241 +msgid "Can’t verify signature; Key not in your keyring" +msgstr "" + +#: trtables.py:242 trtables.py:459 +msgid "Good signature; Key trusted" +msgstr "" + +#: trtables.py:243 trtables.py:460 +msgid "Good signature; Key not fully trusted" +msgstr "" + +#: trtables.py:244 +msgid "Good signature; Signature expired" +msgstr "" + +#: trtables.py:245 +msgid "Good signature; Key expired" +msgstr "" + +#: trtables.py:246 +msgid "Good signature; Key revoked" +msgstr "" + +#: trtables.py:247 +msgid "Bad signature" +msgstr "" + +#: trtables.py:248 +msgid "Failed to start verification process" +msgstr "" + +#: trtables.py:256 trtables.py:257 +msgctxt "FileStatus" +msgid "added" +msgstr "" + +#: trtables.py:258 +msgctxt "FileStatus" +msgid "copied" +msgstr "" + +#: trtables.py:259 +msgctxt "FileStatus" +msgid "deleted" +msgstr "" + +#: trtables.py:260 +msgctxt "FileStatus" +msgid "ignored" +msgstr "" + +#: trtables.py:261 +msgctxt "FileStatus" +msgid "modified" +msgstr "" + +#: trtables.py:262 +msgctxt "FileStatus" +msgid "renamed" +msgstr "" + +#: trtables.py:263 +msgctxt "FileStatus" +msgid "file type changed" +msgstr "" + +#: trtables.py:264 +msgctxt "FileStatus" +msgid "merge conflict" +msgstr "" + +#: trtables.py:265 +msgctxt "FileStatus" +msgid "unreadable" +msgstr "" + +#: trtables.py:266 +msgctxt "FileStatus" +msgid "untracked" +msgstr "" + +#: trtables.py:285 +msgctxt "PatchPurpose" +msgid "Staged." +msgstr "" + +#: trtables.py:286 +msgctxt "PatchPurpose" +msgid "Unstaged." +msgstr "" + +#: trtables.py:287 +msgctxt "PatchPurpose" +msgid "Discarded." +msgstr "" + +#: trtables.py:288 +msgctxt "PatchPurpose" +msgid "Lines staged." +msgstr "" + +#: trtables.py:289 +msgctxt "PatchPurpose" +msgid "Lines unstaged." +msgstr "" + +#: trtables.py:290 +msgctxt "PatchPurpose" +msgid "Lines discarded." +msgstr "" + +#: trtables.py:291 +msgctxt "PatchPurpose" +msgid "Hunk staged." +msgstr "" + +#: trtables.py:292 +msgctxt "PatchPurpose" +msgid "Hunk unstaged." +msgstr "" + +#: trtables.py:293 +msgctxt "PatchPurpose" +msgid "Hunk discarded." +msgstr "" + +#: trtables.py:294 +msgctxt "PatchPurpose" +msgid "File staged." +msgstr "" + +#: trtables.py:295 +msgctxt "PatchPurpose" +msgid "File unstaged." +msgstr "" + +#: trtables.py:296 +msgctxt "PatchPurpose" +msgid "File discarded." +msgstr "" + +#: trtables.py:321 +msgctxt "date/time formats" +msgid "Available formats:" +msgstr "" + +#: trtables.py:323 trtables.py:324 +msgid "year" +msgstr "" + +#: trtables.py:326 trtables.py:327 +msgid "month" +msgstr "" + +#: trtables.py:331 trtables.py:332 +msgid "day" +msgstr "" + +#: trtables.py:336 trtables.py:337 +msgid "hour" +msgstr "" + +#: trtables.py:338 +msgid "minute" +msgstr "" + +#: trtables.py:339 +msgid "second" +msgstr "" + +#: trtables.py:355 +#, python-brace-format +msgid "Note: Per {k}, your system is providing an ssh-agent ({v}). It’s recommended to use this one." +msgstr "" + +#: trtables.py:357 +#, python-brace-format +msgid "If your system’s agent isn’t saving any passphrases, make sure you’ve enabled {c} in your SSH configuration." +msgstr "" + +#: trtables.py:361 +#, python-brace-format +msgid "Note: Per {k}, no ssh-agent seems to be running on your system." +msgstr "" + +#: trtables.py:366 +msgctxt "Prefs" +msgid "General" +msgstr "" + +#: trtables.py:367 +msgctxt "Prefs" +msgid "Code" +msgstr "" + +#: trtables.py:368 +msgctxt "Prefs" +msgid "Images" +msgstr "" + +#: trtables.py:369 +msgctxt "Prefs" +msgid "Tabs" +msgstr "" + +#: trtables.py:370 +msgctxt "Prefs" +msgid "Commit History" +msgstr "" + +#: trtables.py:371 +msgctxt "Prefs" +msgid "Trash" +msgstr "" + +#: trtables.py:372 +msgctxt "Prefs" +msgid "Git Integration" +msgstr "" + +#: trtables.py:373 +msgctxt "Prefs" +msgid "External Tools" +msgstr "" + +#: trtables.py:374 +msgctxt "Prefs" +msgid "Advanced" +msgstr "" + +#: trtables.py:375 +msgctxt "Prefs" +msgid "Custom Commands" +msgstr "" + +#: trtables.py:377 +msgid "Language" +msgstr "" + +#: trtables.py:378 +msgid "Qt style" +msgstr "" + +#: trtables.py:379 +msgid "Shorten hashes to # characters" +msgstr "" + +#: trtables.py:380 +msgid "Date/time format" +msgstr "" + +#: trtables.py:383 +msgid "Author display style" +msgstr "" + +#: trtables.py:384 +msgid "Remember up to # recent repositories" +msgstr "" + +#: trtables.py:388 +msgid "When the menu bar is hidden, press the Alt key to show it again." +msgstr "" + +#: trtables.py:389 +msgid "Restore all “don’t show this again” messages" +msgstr "" + +#: trtables.py:390 +msgid "Middle-click to stage/unstage a file or the selected lines" +msgstr "" + +#: trtables.py:392 +msgid "This option lets you:" +msgstr "" + +#: trtables.py:393 +msgid "Middle-click a file name in the Unstaged/Staged boxes to stage/unstage this file;" +msgstr "" + +#: trtables.py:394 +msgid "Select lines in the diff, then middle-click to stage/unstage your selection." +msgstr "" + +#: trtables.py:396 +msgid "Allow third-party Pygments plugins" +msgstr "" + +#: trtables.py:397 +#, python-brace-format +msgid "Let {app} load third-party Pygments plugins installed on your system. These plugins extend syntax highlighting with new languages and color schemes. May incur significant slowdowns." +msgstr "" + +#: trtables.py:400 +msgid "Sort branches && tags by" +msgstr "" + +#: trtables.py:402 +msgid "The default sorting mode for local branches, remote branches, and tags in the sidebar." +msgstr "" + +#: trtables.py:403 +msgid "You can fine-tune this setting in each repo by right-clicking Branches, Remotes, or Tags in the sidebar. (Note that changing the default setting here will clear per-repo tweaks.)" +msgstr "" + +#: trtables.py:406 +msgid "Font" +msgstr "" + +#: trtables.py:407 +msgid "One tab is # spaces" +msgstr "" + +#: trtables.py:408 +msgid "Show up to # context lines" +msgstr "" + +#: trtables.py:409 +msgid "Amount of unmodified lines to show around red or green lines in a diff." +msgstr "" + +#: trtables.py:410 +msgid "Load diffs up to # KB" +msgstr "" + +#: trtables.py:411 +msgid "Load images up to # KB" +msgstr "" + +#: trtables.py:412 +msgid "Syntax highlighting" +msgstr "" + +#: trtables.py:413 +msgid "Word wrap" +msgstr "" + +#: trtables.py:414 +msgid "Display alien line endings (CRLF)" +msgstr "" + +#: trtables.py:415 +msgid "“-/+” colors" +msgstr "" + +#: trtables.py:416 +msgid "Background colors for deleted (-) and added (+) lines." +msgstr "" + +#: trtables.py:417 +msgid "Treat SVG files as" +msgstr "" + +#: trtables.py:419 +msgid "Show tab close button" +msgstr "" + +#: trtables.py:420 +msgid "Expand tabs to available width" +msgstr "" + +#: trtables.py:421 +msgid "Auto-hide tabs if only one repo is open" +msgstr "" + +#: trtables.py:422 +msgid "Double-click a tab to open repo folder" +msgstr "" + +#: trtables.py:424 +msgid "Sort commits" +msgstr "" + +#: trtables.py:425 +msgid "Chronologically" +msgstr "" + +#: trtables.py:426 +msgid "Topologically" +msgstr "" + +#: trtables.py:428 +msgid "Chronological mode lets you stay on top of the latest activity in the repository. The most recent commits always show up at the top of the graph. However, the graph can get messy when multiple branches receive commits in the same timeframe." +msgstr "" + +#: trtables.py:431 +msgid "Topological mode makes the graph easier to read. It attempts to present sequences of commits within a branch in a linear fashion. Since this is not a strictly chronological mode, you may have to do more scrolling to see the latest changes in various branches." +msgstr "" + +#: trtables.py:435 +msgid "Row spacing" +msgstr "" + +#: trtables.py:436 +msgid "Avoid gaps between branches in the graph" +msgstr "" + +#: trtables.py:437 +msgid "Mark author/committer signature differences" +msgstr "" + +#: trtables.py:439 +msgid "The commit history displays information about a commit’s author—their name and the date at which they made the commit. But in some cases, a commit might have been revised by someone else than the original author—this person is called the committer." +msgstr "" + +#: trtables.py:443 +msgid "If you tick this option, an asterisk (*) will appear after the author’s name and/or date if they differ from the committer’s for any given commit." +msgstr "" + +#: trtables.py:445 +msgid "Note that you can always hover over the author’s name or date to obtain detailed information about the author and the committer." +msgstr "" + +#: trtables.py:448 +msgid "Load up to # commits in the history" +msgstr "" + +#: trtables.py:449 +msgid "Set to 0 to always load the full commit history." +msgstr "" + +#: trtables.py:450 +msgid "Draw rows using alternating background colors" +msgstr "" + +#: trtables.py:451 +msgid "Ref indicators" +msgstr "" + +#: trtables.py:452 +msgid "You can always hover over an indicator to display the full name of the ref." +msgstr "" + +#: trtables.py:453 +msgid "Verify signed commits on the fly" +msgstr "" + +#: trtables.py:454 +#, python-brace-format +msgid "As commits scroll into view, call {0} automatically to verify their signatures. The verification status is materialized by a seal icon next to the author’s name:" +msgstr "" + +#: trtables.py:457 +msgid "Verification pending" +msgstr "" + +#: trtables.py:458 +msgid "Verification failed (e.g. missing key)" +msgstr "" + +#: trtables.py:461 +msgid "Good signature; Key or signature expired" +msgstr "" + +#: trtables.py:462 +msgid "Key revoked or bad signature" +msgstr "" + +#: trtables.py:463 +msgid "(No seal = Commit isn’t signed)" +msgstr "" + +#: trtables.py:465 +msgid "The trash keeps up to # discarded patches" +msgstr "" + +#: trtables.py:466 +msgid "Patches bigger than # KB won’t be salvaged" +msgstr "" + +#: trtables.py:468 +#, python-brace-format +msgid "When you discard changes from the working directory, {app} keeps a temporary copy in a hidden “trash” folder. This gives you a last resort to rescue changes that you have discarded by mistake. You can look around this trash folder via “Help → Open Trash”." +msgstr "" + +#: trtables.py:472 +msgid "Logging verbosity" +msgstr "" + +#: trtables.py:473 +msgid "Auto-refresh when app regains focus" +msgstr "" + +#: trtables.py:475 +#, python-brace-format +msgid "When you return to {app} from another application, it automatically scans for changes in the working directory and local branches. This keeps the interface in sync with the state of your repo on disk." +msgstr "" + +#: trtables.py:478 +#, python-brace-format +msgid "If you turn this off, you will need to hit {key} to perform this refresh manually." +msgstr "" + +#: trtables.py:480 +msgid "We strongly recommend to keep this setting enabled." +msgstr "" + +#: trtables.py:481 +msgid "Animation effects in sidebar" +msgstr "" + +#: trtables.py:482 +msgid "Smooth scrolling (where applicable)" +msgstr "" + +#: trtables.py:483 +msgid "Preferred Qt binding" +msgstr "" + +#: trtables.py:485 +#, python-brace-format +msgid "After restarting, {app} will use this Qt binding if available." +msgstr "" + +#: trtables.py:486 +msgid "You can also pass the name of a Qt binding via the “QT_API” environment variable." +msgstr "" + +#: trtables.py:488 +msgid "Use condensed fonts" +msgstr "" + +#: trtables.py:490 +msgid "When a branch name or author name is too long to fit in its allotted space, condense the font before truncating the text." +msgstr "" + +#: trtables.py:493 +msgid "Text editor" +msgstr "" + +#: trtables.py:496 trtables.py:502 trtables.py:510 +msgid "Argument placeholders:" +msgstr "" + +#: trtables.py:497 +msgid "Old / Left" +msgstr "" + +#: trtables.py:498 +msgid "New / Right" +msgstr "" + +#: trtables.py:503 +msgid "Ancestor / Base / Center" +msgstr "" + +#: trtables.py:504 +msgid "Ours / Local / Left" +msgstr "" + +#: trtables.py:505 +msgid "Theirs / Remote / Right" +msgstr "" + +#: trtables.py:506 +msgid "Merged / Output / Result" +msgstr "" + +#: trtables.py:511 +msgid "Command to execute after launching the terminal" +msgstr "" + +#: trtables.py:512 +#, python-brace-format +msgid "The {0} placeholder is mandatory. It is automatically substituted for a wrapper script that enters your working directory and optionally starts one of your Custom Commands." +msgstr "" + +#: trtables.py:516 +#, python-brace-format +msgid "Have OpenSSH ask for passphrases via {app}" +msgstr "" + +#: trtables.py:518 +#, python-brace-format +msgid "Tick this to have OpenSSH use {app} to ask for passphrases." +msgstr "" + +#: trtables.py:519 +#, python-brace-format +msgid "Untick this if you’ve set up another program in the {0} environment variable (such as {1})." +msgstr "" + +#: trtables.py:521 +msgid "(not detected)" +msgstr "" + +#: trtables.py:521 +msgid "Use ssh-agent provided by the system" +msgstr "" + +#: trtables.py:522 +#, python-brace-format +msgid "Have {app} manage its own ssh-agent" +msgstr "" + +#: trtables.py:524 +msgid "“ssh-agent” can save your SSH credentials so you don’t have to retype the same passphrase over and over. Some Linux distributions set up an ssh-agent for you." +msgstr "" + +#: trtables.py:526 +#, python-brace-format +msgid "You can also have {app} start its own instance of ssh-agent for the duration of your session and have it remember passphrases." +msgstr "" + +#: trtables.py:533 +msgid "Ask for confirmation before running any command" +msgstr "" + +#: trtables.py:535 +#, python-brace-format +msgid "If you untick this, you can still force a prompt to appear for specific commands by prepending them with {0}. For example: {1}" +msgstr "" + +#: trtables.py:557 +#, python-brace-format +msgid "Feel free to copy the sample below and paste it into the text box. Then, click OK, and explore {menu} in the menu bar." +msgstr "" + +#: trtables.py:562 +msgid "&Interactive Rebase" +msgstr "" + +#: trtables.py:563 +msgid "&Continue Rebase" +msgstr "" + +#: trtables.py:564 +msgid "&Abort Rebase" +msgstr "" + +#: trtables.py:565 +msgid "Diff Commit With &HEAD" +msgstr "" + +#: trtables.py:567 +msgid "You may use the following placeholders in your commands:" +msgstr "" + +#: trtables.py:569 +msgid "For advanced usage tips, please visit [the user’s guide]." +msgstr "" From 693ded665dbc833ca0573a3fb6a2235f7a721920 Mon Sep 17 00:00:00 2001 From: Fabiano Caputo Date: Tue, 16 Sep 2025 00:14:15 +0200 Subject: [PATCH 05/14] Translated using Weblate (Italian) Currently translated at 11.1% (163 of 1463 strings) Translation: GitFourchette/GitFourchette Translate-URL: https://hosted.weblate.org/projects/gitfourchette/gitfourchette/it/ --- gitfourchette/assets/lang/it.po | 342 ++++++++++++++++++-------------- 1 file changed, 188 insertions(+), 154 deletions(-) diff --git a/gitfourchette/assets/lang/it.po b/gitfourchette/assets/lang/it.po index c34a6dec..e75b26e7 100644 --- a/gitfourchette/assets/lang/it.po +++ b/gitfourchette/assets/lang/it.po @@ -4,200 +4,207 @@ msgid "" msgstr "" "Project-Id-Version: GitFourchette\n" "Report-Msgid-Bugs-To: https://github.com/jorio/gitfourchette/issues\n" -"Last-Translator: Automatically generated\n" -"Language-Team: none\n" +"PO-Revision-Date: 2025-09-16 05:55+0000\n" +"Last-Translator: Fabiano Caputo \n" +"Language-Team: Italian \n" "Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 5.14-dev\n" #: application.py:103 forms/aboutdialog.py:56 msgid "The comfortable Git UI for Linux." -msgstr "" +msgstr "L'interfaccia grafica di Git comoda per Linux." #: application.py:106 msgid "Repository paths to open on launch." -msgstr "" +msgstr "Percorsi dei repository da aprire all'avvio." #: application.py:246 #, python-brace-format msgid "Your preferred Qt binding {0} is not available on this machine. Using {1} instead." msgstr "" +"Il tuo collegamento Qt preferito {0} non è disponibile su questo " +"dispositivo. Passaggio a {1}." #: application.py:248 #, python-brace-format msgid "Your preferred Qt binding {0} is not recognized by {app}. Using {1} instead. (Supported values: {known})" msgstr "" +"Il tuo collegamento Qt preferito {0} non è riconosciuto da {app}. Passaggio " +"a {1}. (Valori supportati: {known})" #: application.py:252 msgid "Qt binding unavailable" -msgstr "" +msgstr "Collegamento Qt non disponibile" #: application.py:292 toolbox/messageboxes.py:40 msgid "Please open a repository before performing this action." -msgstr "" +msgstr "Si prega di aprire un repository prima di eseguire quest'azione." #: application.py:422 #, python-brace-format msgid "Couldn’t start {0} ({1})." -msgstr "" +msgstr "Impossibile avviare {0} ({1})." #: application.py:423 msgid "Please make sure OpenSSH is installed on your system." -msgstr "" +msgstr "Assicurarsi che OpenSSH sia installato su questo sistema." #: application.py:424 msgid "SSH agent" -msgstr "" +msgstr "Agente SSH" #: blameview/blamegutter.py:157 blameview/blamewindow.py:184 msgid "(Uncommitted)" -msgstr "" +msgstr "(Non sottomessi)" #: blameview/blamegutter.py:187 filelists/filelistmodel.py:67 #: forms/prefsdialog.py:205 tasks/misctasks.py:80 tasks/nettasks.py:268 #: tasks/repotask.py:73 msgid ":" -msgstr "" +msgstr ":" #: blameview/blamegutter.py:193 msgid "Not Committed Yet" -msgstr "" +msgstr "Non ancora sottomessi" #: blameview/blamegutter.py:193 blameview/blamegutter.py:196 msgid "commit" -msgstr "" +msgstr "commit" #: blameview/blamegutter.py:197 msgid "author" -msgstr "" +msgstr "autore" #: blameview/blamegutter.py:198 msgid "date" -msgstr "" +msgstr "data" #: blameview/blamegutter.py:199 msgid "file name" -msgstr "" +msgstr "nome file" #: blameview/blamegutter.py:200 msgid "revision" -msgstr "" +msgstr "revisione" #: blameview/blamescrubberdelegate.py:55 blameview/blamescrubbermodel.py:43 msgid "Uncommitted Changes in Working Directory" -msgstr "" +msgstr "Cambiamenti non sottomessi nella cartella di lavoro" #: blameview/blametextedit.py:44 msgid "Blame File at Uncommitted Revision" -msgstr "" +msgstr "Indaga (blame) file alla revisione non sottomessa" #: blameview/blametextedit.py:45 msgid "Show Diff in Working Directory" -msgstr "" +msgstr "Mostra differenze nella cartella di lavoro" #: blameview/blametextedit.py:47 #, python-brace-format msgid "Blame File at {0}" -msgstr "" +msgstr "Indaga (blame) file a {0}" #: blameview/blametextedit.py:48 #, python-brace-format msgid "Show {0} in Repo" -msgstr "" +msgstr "Mostra {0} nel repo" #: blameview/blamewindow.py:50 msgid "Jump" -msgstr "" +msgstr "Salta" #: blameview/blamewindow.py:51 msgid "View this commit in the repo" -msgstr "" +msgstr "Visualizza questo commit nel repo" #: blameview/blamewindow.py:56 msgid "Shift+Click:" -msgstr "" +msgstr "Maiusc+Clic:" #: blameview/blamewindow.py:59 msgid "Older" -msgstr "" +msgstr "Più vecchia" #: blameview/blamewindow.py:61 msgid "Go to next older revision" -msgstr "" +msgstr "Vai alla prossima revisione più vecchia" #: blameview/blamewindow.py:61 msgid "Jump to bottom" -msgstr "" +msgstr "Salta in fondo" #: blameview/blamewindow.py:65 msgid "Newer" -msgstr "" +msgstr "Più recente" #: blameview/blamewindow.py:67 msgid "Go to next newer revision" -msgstr "" +msgstr "Vai alla prossima revisione più recente" #: blameview/blamewindow.py:67 msgid "Jump to top" -msgstr "" +msgstr "Salta in cima" #: blameview/blamewindow.py:71 msgid "Back" -msgstr "" +msgstr "Indietro" #: blameview/blamewindow.py:73 tasks/taskbook.py:63 msgid "Navigate back" -msgstr "" +msgstr "Torna indietro" #: blameview/blamewindow.py:77 msgid "Forward" -msgstr "" +msgstr "Avanti" #: blameview/blamewindow.py:79 tasks/taskbook.py:64 tasks/taskbook.py:65 msgid "Navigate forward" -msgstr "" +msgstr "Vai avanti" #: blameview/blamewindow.py:163 #, python-brace-format msgid "File deleted in commit {0}" -msgstr "" +msgstr "File eliminato nel commit {0}" #: blameview/blamewindow.py:169 #, python-brace-format msgid "Binary blob, {size} bytes, {hash}" -msgstr "" +msgstr "Blob binario, {size} bytes, {hash}" #: blameview/blamewindow.py:183 #, python-brace-format msgid "Blame {path} @ {commit}" -msgstr "" +msgstr "Indaga (blame) {path} @ {commit}" #: codeview/codeview.py:65 msgid "Find text in code|Find text" -msgstr "" +msgstr "Trova testo nel codice|Trova testo" #: codeview/codeview.py:339 msgid "&Word Wrap" -msgstr "" +msgstr "&A capo automatico" #: codeview/codeview.py:340 msgid "Configure Appearance…" -msgstr "" +msgstr "Imposta aspetto…" #: codeview/codeview.py:505 msgid "End of document reached." -msgstr "" +msgstr "Fine del documento raggiunta." #: codeview/codeview.py:506 msgid "Top of document reached." -msgstr "" +msgstr "Inizio del documento raggiunto." #: codeview/codeview.py:507 #, python-brace-format msgid "No more occurrences of {0} found." -msgstr "" +msgstr "Nessun'altra occorrenza di {0} trovata." #: codeview/codeview.py:513 msgid "Wrap Around" @@ -205,531 +212,558 @@ msgstr "" #: diffarea.py:109 msgid "Unstaged files: will not be included in the commit unless you stage them." -msgstr "" +msgstr "File non inclusi: non faranno parte del commit finché non li includi." #: diffarea.py:117 msgid "Stage" -msgstr "" +msgstr "Includi" #: diffarea.py:119 msgid "Stage selected files" -msgstr "" +msgstr "Includi i file selezionati" #: diffarea.py:124 diffview/diffview.py:76 msgid "Discard" -msgstr "" +msgstr "Scarta" #: diffarea.py:126 msgid "Discard changes in selected files" -msgstr "" +msgstr "Scarta le modifiche nei file selezionati" #: diffarea.py:161 msgid "Staged files: will be included in the commit." -msgstr "" +msgstr "File inclusi: faranno parte del commit." #: diffarea.py:169 msgid "Unstage" -msgstr "" +msgstr "Escludi" #: diffarea.py:171 msgid "Unstage selected files" -msgstr "" +msgstr "Escludi i file selezionati" #: diffarea.py:176 forms/commitdialog.py:59 tasks/committasks.py:498 #: tasks/committasks.py:551 msgctxt "verb" msgid "Commit" -msgstr "" +msgstr "Commit" #: diffview/diffdocument.py:191 msgid "This file contains very long lines." -msgstr "" +msgstr "Questo file contiene linee molto lunghe." #: diffview/diffdocument.py:192 diffview/specialdiff.py:118 msgid "[Load diff anyway] (this may take a moment)" -msgstr "" +msgstr "[Carica comunque le differenze] (potrebbe richiedere un po' di tempo)" #: diffview/diffdocument.py:284 msgid "" -msgstr "" +msgstr "" #: diffview/diffview.py:53 msgid "Find text in diff|Find in diff" -msgstr "" +msgstr "Trova testo nelle differenze|Trova nelle differenze" #: diffview/diffview.py:64 msgid "Stage Selection" -msgstr "" +msgstr "Includi selezione" #: diffview/diffview.py:66 msgid "Stage selected lines" -msgstr "" +msgstr "Includi le linee selezionate" #: diffview/diffview.py:70 msgid "Unstage Selection" -msgstr "" +msgstr "Escludi selezione" #: diffview/diffview.py:73 msgid "Unstage selected lines" -msgstr "" +msgstr "Escludi le linee selezionate" #: diffview/diffview.py:79 msgid "Discard selected lines" -msgstr "" +msgstr "Scarta le linee selezionate" #: diffview/diffview.py:246 diffview/diffview.py:258 diffview/diffview.py:281 #: diffview/diffview.py:310 msgid "Export Lines as Patch…" -msgstr "" +msgstr "Esporta linee come patch…" #: diffview/diffview.py:247 msgid "Revert Lines…" -msgstr "" +msgstr "Ripristina linee…" #: diffview/diffview.py:251 #, python-brace-format msgid "Export Hunk {0} as Patch…" -msgstr "" +msgstr "Esporta pezzo {0] come patch…" #: diffview/diffview.py:252 msgid "Revert Hunk…" -msgstr "" +msgstr "Ripristina pezzo…" #: diffview/diffview.py:262 diffview/diffview.py:297 diffview/diffview.py:322 msgid "Export Hunk as Patch…" -msgstr "" +msgstr "Esporta pezzo come patch…" #: diffview/diffview.py:269 msgid "Stage Lines" -msgstr "" +msgstr "Includi linee" #: diffview/diffview.py:275 msgid "Discard Lines…" -msgstr "" +msgstr "Scarta linee…" #: diffview/diffview.py:288 #, python-brace-format msgid "Stage Hunk {0}" -msgstr "" +msgstr "Includi pezzo {0}" #: diffview/diffview.py:293 msgid "Discard Hunk…" -msgstr "" +msgstr "Scarta pezzo…" #: diffview/diffview.py:304 msgid "Unstage Lines" -msgstr "" +msgstr "Escludi linee" #: diffview/diffview.py:317 #, python-brace-format msgid "Unstage Hunk {0}" -msgstr "" +msgstr "Escludi pezzo {0}" #: diffview/diffview.py:395 msgid "Export selected lines" -msgstr "" +msgstr "Esporta linee selezionate" #: diffview/diffview.py:447 msgid "Revert selected lines" -msgstr "" +msgstr "Ripristina linee selezionate" #: diffview/diffview.py:448 msgid "Do you want to revert the selected lines?" -msgstr "" +msgstr "Vuoi ripristinare le linee selezionate?" #: diffview/diffview.py:472 msgid "Revert hunk" -msgstr "" +msgstr "Ripristina pezzo" #: diffview/diffview.py:473 msgid "Do you want to revert this hunk?" -msgstr "" +msgstr "Vuoi ripristinare questo pezzo?" #: diffview/diffview.py:587 diffview/diffview.py:588 msgid "or Middle-Click" -msgstr "" +msgstr "o clic centrale" #: diffview/diffview.py:595 #, python-brace-format msgid "Hit {sk} to stage {nl} line. Hit {dk} to discard it." msgid_plural "Hit {sk} to stage {nl} lines. Hit {dk} to discard them." -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Premi {sk} per includere {nl} linea. Premi {dk} per scartarla." +msgstr[1] "Premi {sk} per includere {nl} linee. Premi {dk} per scartarle." #: diffview/diffview.py:599 #, python-brace-format msgid "Hit {uk} to unstage {nl} line." msgid_plural "Hit {uk} to unstage {nl} lines." -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Premi {uk} per escludere {nl} linea." +msgstr[1] "Premi {uk} per escludere {nl} linee." #: diffview/specialdiff.py:71 msgid "File contents didn’t change." -msgstr "" +msgstr "Il contenuto del file non è cambiato." #: diffview/specialdiff.py:82 msgid "Empty file was deleted." -msgstr "" +msgstr "Il file vuoto è stato eliminato." #: diffview/specialdiff.py:89 msgid "New empty file." -msgstr "" +msgstr "Nuovo file vuoto." #: diffview/specialdiff.py:92 msgid "Renamed:" -msgstr "" +msgstr "Rinominato:" #: diffview/specialdiff.py:96 msgid "Mode change:" -msgstr "" +msgstr "Cambio modalità:" #: diffview/specialdiff.py:100 msgid "Canonical file contents unchanged." -msgstr "" +msgstr "Contenuti canonici del file non modificati." #: diffview/specialdiff.py:102 #, python-brace-format msgid "Due to filters such as {filter}, your working copy is not bit-for-bit identical to the file’s canonical state. However, the contents tracked by Git are equivalent after filtering." msgstr "" +"A causa di filtri come {filter}, la tua copia di lavoro non è perfettamente " +"identica allo stato canonico del file. Nonostante ciò, i contenuti tracciati " +"da Git sono equivalenti dopo aver applicato il filtro." #: diffview/specialdiff.py:105 msgid "You can stage the file to dismiss this message; no changes will be recorded." msgstr "" +"Puoi includere il file per rimuovere questo messaggio; nessun cambiamento " +"verrà registrato." #: diffview/specialdiff.py:119 #, python-brace-format msgid "[Configure diff preview limit] (currently: {0})" -msgstr "" +msgstr "[Configura limite di anteprima differenze] (al momento: {0})" #: diffview/specialdiff.py:122 msgid "This diff is very large." -msgstr "" +msgstr "Questa differenza è molto grossa." #: diffview/specialdiff.py:123 #, python-brace-format msgid "Diff size: {0}" -msgstr "" +msgstr "Dimensione differenza: {0}" #: diffview/specialdiff.py:135 msgid "[Load image anyway] (this may take a moment)" -msgstr "" +msgstr "[Carica comunque l'immagine] (può richiedere qualche momento)" #: diffview/specialdiff.py:136 #, python-brace-format msgid "[Configure image preview limit] (currently: {0})" -msgstr "" +msgstr "[Configura limite di anteprima immagine] (al momento: {0})" #: diffview/specialdiff.py:139 msgid "This image is very large." -msgstr "" +msgstr "Quest'immagine è molto grande." #: diffview/specialdiff.py:140 #, python-brace-format msgid "Image size: {0}" -msgstr "" +msgstr "Dimensione immagine: {0}" #: diffview/specialdiff.py:148 msgid "Old type:" -msgstr "" +msgstr "Vecchio tipo:" #: diffview/specialdiff.py:149 msgid "New type:" -msgstr "" +msgstr "Nuovo tipo:" #: diffview/specialdiff.py:156 msgid "This file’s type has changed." -msgstr "" +msgstr "Il tipo di file è cambiato." #: diffview/specialdiff.py:175 msgid "File appears to be binary." -msgstr "" +msgstr "Il file sembra essere binario." #: diffview/specialdiff.py:184 msgid "This untracked subtree is the root of another Git repository." msgstr "" +"Questo sottoalbero non tracciato è la radice (root) di un altro repo Git." #: diffview/specialdiff.py:187 repowidget.py:499 #, python-brace-format msgid "Open {0}" -msgstr "" +msgstr "Apri {0}" #: diffview/specialdiff.py:190 #, python-brace-format msgid "Absorb {0} as submodule" -msgstr "" +msgstr "Assorbi {0} coem sottomodulo" #: diffview/specialdiff.py:191 msgid "Recommended action:" -msgstr "" +msgstr "Azione consigliata:" #: diffview/specialdiff.py:210 #, python-brace-format msgid "Subtree {0} was [removed.]" -msgstr "" +msgstr "Il sottoalbero {0} è stato [rimosso.]" #: diffview/specialdiff.py:211 #, python-brace-format msgid "Submodule {0} was [removed.]" -msgstr "" +msgstr "Il sottomodulo {0} è stato [rimosso.]" #: diffview/specialdiff.py:214 #, python-brace-format msgid "Subtree {0} was [added.]" -msgstr "" +msgstr "Il sottoalbero {0} è stato [aggiunto.]" #: diffview/specialdiff.py:215 #, python-brace-format msgid "Submodule {0} was [added.]" -msgstr "" +msgstr "Il sottomodulo {0} è stato [aggiunto.]" #: diffview/specialdiff.py:218 #, python-brace-format msgid "Subtree {0} was updated." -msgstr "" +msgstr "Il sottoalbero {0} è stato aggiornato." #: diffview/specialdiff.py:219 #, python-brace-format msgid "Submodule {0} was updated." -msgstr "" +msgstr "Il sottomodulo {0} è stato aggiornato." #: diffview/specialdiff.py:221 #, python-brace-format msgid "Subtree {0} contains changes." -msgstr "" +msgstr "Il sottoalbero {0} contiene dei cambiamenti." #: diffview/specialdiff.py:222 #, python-brace-format msgid "Submodule {0} contains changes." -msgstr "" +msgstr "Il sottomodulo {0} contiene dei cambiamenti." #: diffview/specialdiff.py:230 msgid "Open submodule" -msgstr "" +msgstr "Apri sottomodulo" #: diffview/specialdiff.py:230 msgid "Open subtree" -msgstr "" +msgstr "Apri sottoalbero" #: diffview/specialdiff.py:232 #, python-brace-format msgid "(path: {0})" -msgstr "" +msgstr "(percorso: {0})" #: diffview/specialdiff.py:267 diffview/specialdiffview.py:89 msgid "Old:" -msgstr "" +msgstr "Vecchio:" #: diffview/specialdiff.py:268 diffview/specialdiffview.py:90 msgid "New:" -msgstr "" +msgstr "Nuovo:" #: diffview/specialdiff.py:274 msgid "The subtree’s HEAD has moved to another commit." -msgstr "" +msgstr "La HEAD del sottoalbero si è spostata su un altro commit." #: diffview/specialdiff.py:275 msgid "The submodule’s HEAD has moved to another commit." -msgstr "" +msgstr "La HEAD del sottomodulo si è spostata su un altro commit." #: diffview/specialdiff.py:277 msgid "You can stage this update:" -msgstr "" +msgstr "Puoi includere questo aggiornamento:" #: diffview/specialdiff.py:285 #, python-brace-format msgid "To complete the removal of this submodule, remove it from {gitmodules}." msgstr "" +"Per completare la rimozione di questo sottomodulo, rimuovilo da " +"{gitmodules}" #: diffview/specialdiff.py:287 #, python-brace-format msgid "To complete the removal of this submodule, make sure to commit {gitmodules} at the same time as the submodule folder itself." msgstr "" +"Per completare la rimozione di questo sottomodulo, assicurati di " +"sottomettere un commit di {gitmodules} insieme con la cartella del " +"sottomodulo stesso." #: diffview/specialdiff.py:291 #, python-brace-format msgid "To complete the addition of this submodule, make sure to commit {gitmodules} at the same time as the submodule folder itself." msgstr "" +"Per completare l'aggiunta di questo sottomodulo, assicurati di sottomettere " +"un commit di {gitmodules} insieme con la cartella del sottomodulo " +"stesso." #: diffview/specialdiff.py:296 msgid "This subtree isn’t a submodule yet! You should [absorb this subtree] into the parent repository so it becomes a submodule." msgstr "" +"Questo sottoalbero non è ancora un sottomodulo!Dovresti " +"[assorbire questo sottoalbero] nel repo genitore, così che ne diventi un " +"sottomodulo." #: diffview/specialdiff.py:299 msgid "To complete the addition of this submodule, you should [absorb the submodule] into the parent repository." msgstr "" +"Per completare l'aggiunta di questo sottomodulo, dovresti " +"[assorbire questo sottoalbero] nel repo genitore." #: diffview/specialdiff.py:304 #, python-brace-format msgid "To complete the addition of this submodule, [register it in {gitmodules}]." msgstr "" +"Per completare l'aggiunta di questo sottomodulo, [registralo in {gitmodules}]" +"." #: diffview/specialdiff.py:308 msgid "IMPORTANT" -msgstr "" +msgstr "IMPORTANTE" #: diffview/specialdiff.py:318 msgid "The subtree contains uncommitted changes. They can’t be committed from the parent repo. You can:" msgstr "" +"Questo sottoalbero contiene modifiche non sottomesse. Non possono " +"essere sottomesse dal repo genitore. Puoi:" #: diffview/specialdiff.py:319 msgid "[Open] the subtree and commit the changes." -msgstr "" +msgstr "[Aprire] il sottoalbero e sottomettere le modifiche." #: diffview/specialdiff.py:320 msgid "Or, [Reset] the subtree to a clean state." -msgstr "" +msgstr "O [riportare] il sottoalbero ad uno stadio pulito." #: diffview/specialdiff.py:322 msgid "The submodule has uncommitted changes. They can’t be committed from the parent repo. You can:" msgstr "" +"Il sottomodulo ha modifiche non sottomesse. Non possono essere " +"sottomesse dal repo genitore. Puoi:" #: diffview/specialdiff.py:323 msgid "[Open] the submodule and commit the changes." -msgstr "" +msgstr "[Aprire] il sottomodulo e sottomettere le modifiche." #: diffview/specialdiff.py:324 msgid "Or, [Reset] the submodule to a clean state." -msgstr "" +msgstr "O [riportare] il sottomodulo ad uno stadio pulito." #: diffview/specialdiffview.py:89 diffview/specialdiffview.py:90 #, python-brace-format msgid "{w}×{h} pixels, {size}" -msgstr "" +msgstr "{w}x{h} pixel, {size}" #: diffview/specialdiffview.py:96 msgid "(deleted file displayed below)" -msgstr "" +msgstr "(file eliminato mostrato in basso)" #: diffview/specialdiffview.py:99 msgid "(new file displayed below)" -msgstr "" +msgstr "(nuovo file mostrato in basso)" #: dropzone.py:38 #, python-brace-format msgid "Drop here to open repo {0}" -msgstr "" +msgstr "Rilascia qui per aprire il repo {0}" #: dropzone.py:41 #, python-brace-format msgid "Drop here to clone {0}" -msgstr "" +msgstr "Rilascia qui per clonare {0}" #: dropzone.py:45 #, python-brace-format msgid "Drop here to apply patch {0}" -msgstr "" +msgstr "Rilascia qui per applicare la patch {0}" #: dropzone.py:49 #, python-brace-format msgid "Drop here to blame {0}" -msgstr "" +msgstr "Rilascia qui per indagare (blame) {0}" #: exttools/mergedriver.py:123 #, python-brace-format msgid "{0} failed to start." -msgstr "" +msgstr "Avvio di {0} fallito." #: exttools/mergedriver.py:126 #, python-brace-format msgid "{0} ran into error {1}." -msgstr "" +msgstr "{0} ha prodotto l'errore {1}." #: exttools/mergedriver.py:137 #, python-brace-format msgid "{0} didn’t complete the merge." -msgstr "" +msgstr "{0} non ha completato l'unione (merge)." #: exttools/mergedriver.py:138 #, python-brace-format msgid "Exit code: {0}." -msgstr "" +msgstr "Codice di uscita: {0}." #: exttools/toolcommands.py:112 #, python-brace-format msgid "Unknown placeholder: {0}" -msgstr "" +msgstr "Segnaposto sconosciuto: {0}" #: exttools/toolcommands.py:122 msgid "Missing placeholder:" msgid_plural "Missing placeholders:" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Segnaposto mancante:" +msgstr[1] "Segnaposti mancanti:" #: exttools/toolcommands.py:298 msgid "Command exited with code:" -msgstr "" +msgstr "Il comando è uscito col codice:" #: exttools/toolcommands.py:299 msgid "Continue in a shell?" -msgstr "" +msgstr "Continuare in un terminale?" #: exttools/toolprocess.py:44 #, python-brace-format msgid "Failed to start {tool}" -msgstr "" +msgstr "Avvio di {tool} fallito" #: exttools/toolprocess.py:47 #, python-brace-format msgid "There is an issue with the {tool} command template in your settings:" -msgstr "" +msgstr "C'è un problema con la struttura del comando {tool} nelle impostazioni:" #: exttools/toolprocess.py:52 #, python-brace-format msgid "Couldn’t start Flatpak {command} ({tool})." -msgstr "" +msgstr "Impossibile eseguire il comando {command} Flatpak ({tool})." #: exttools/toolprocess.py:54 #, python-brace-format msgid "Couldn’t start {command} ({tool})." -msgstr "" +msgstr "Impossibile avviare il comando {command} ({tool})." #: exttools/toolprocess.py:56 msgid "It might not be installed on your machine." -msgstr "" +msgstr "Potrebbe non essere installato su questo sistema." #: exttools/toolprocess.py:66 #, python-brace-format msgid "Where is {tool}?" -msgstr "" +msgstr "Dov'è {tool}?" #: exttools/toolprocess.py:76 msgid "Edit Command…" -msgstr "" +msgstr "Modifica comando…" #: exttools/toolprocess.py:81 #, python-brace-format msgid "Locate {tool}…" -msgstr "" +msgstr "Localizza {tool}…" #: exttools/toolprocess.py:100 #, python-brace-format msgid "{tool} isn’t configured in your settings yet." -msgstr "" +msgstr "{tool} non è ancora configurato nelle impostazioni." #: exttools/toolprocess.py:106 #, python-brace-format msgid "Set up {tool}" -msgstr "" +msgstr "Imposta {tool}" #: exttools/usercommand.py:100 msgid "Unknown placeholder token" -msgstr "" +msgstr "Gettone (token) segnaposto sconosciuto" #: exttools/usercommand.py:125 msgid "A commit must be selected in the history" -msgstr "" +msgstr "È necessario selezionare un commit nello storico" #: exttools/usercommand.py:134 msgid "HEAD cannot be unborn" -msgstr "" +msgstr "La HEAD non può non essere ancora nata" #: exttools/usercommand.py:149 msgid "A ref (local branch, remote branch, or tag) must be selected in the sidebar" msgstr "" +"È necessario selezionare un riferimento (ramo locale, remoto o etichetta) " +"nella barra laterale" #: exttools/usercommand.py:156 exttools/usercommand.py:163 msgid "HEAD cannot be unborn or detached" -msgstr "" +msgstr "La HEAD non può non essere ancora nata o essere distaccata" #: exttools/usercommand.py:168 msgid "Current branch has no upstream" From 17e49cc4f41d10fe194fc0008fb352a6c68e2dbc Mon Sep 17 00:00:00 2001 From: Iliyas Jorio Date: Tue, 16 Sep 2025 08:30:28 +0200 Subject: [PATCH 06/14] Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 94.8% (1230 of 1297 strings) Translation: GitFourchette/GitFourchette Translate-URL: https://hosted.weblate.org/projects/gitfourchette/gitfourchette/zh_Hans/ --- gitfourchette/assets/lang/zh_Hans.po | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gitfourchette/assets/lang/zh_Hans.po b/gitfourchette/assets/lang/zh_Hans.po index 5ebb4d0d..b1450f89 100644 --- a/gitfourchette/assets/lang/zh_Hans.po +++ b/gitfourchette/assets/lang/zh_Hans.po @@ -4,7 +4,7 @@ msgid "" msgstr "" "Project-Id-Version: GitFourchette\n" "Report-Msgid-Bugs-To: https://github.com/jorio/gitfourchette/issues\n" -"PO-Revision-Date: 2025-08-31 20:01+0000\n" +"PO-Revision-Date: 2025-09-17 07:01+0000\n" "Last-Translator: Iliyas Jorio \n" "Language-Team: Chinese (Simplified Han script) \n" @@ -13,7 +13,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 5.13.1-dev\n" +"X-Generator: Weblate 5.14-dev\n" #: application.py:86 forms/aboutdialog.py:54 msgid "The comfortable Git UI for Linux." @@ -100,8 +100,9 @@ msgid "[Load diff anyway] (this may take a moment)" msgstr "[仍然加载差异](这可能需要一些时间)" #: diffview/diffdocument.py:269 +#, fuzzy msgid "" -msgstr "文件末尾<缺少换行符>" +msgstr "<文件末尾缺少换行符>" #: diffview/diffview.py:80 msgid "Find text in diff|Find in diff" From c1094e67d77160ce383542e250d221ab53139bd4 Mon Sep 17 00:00:00 2001 From: Fabiano Caputo Date: Wed, 17 Sep 2025 01:38:58 +0200 Subject: [PATCH 07/14] Translated using Weblate (Italian) Currently translated at 23.5% (344 of 1463 strings) Translation: GitFourchette/GitFourchette Translate-URL: https://hosted.weblate.org/projects/gitfourchette/gitfourchette/it/ --- gitfourchette/assets/lang/it.po | 399 +++++++++++++++++--------------- 1 file changed, 215 insertions(+), 184 deletions(-) diff --git a/gitfourchette/assets/lang/it.po b/gitfourchette/assets/lang/it.po index e75b26e7..910751da 100644 --- a/gitfourchette/assets/lang/it.po +++ b/gitfourchette/assets/lang/it.po @@ -4,7 +4,7 @@ msgid "" msgstr "" "Project-Id-Version: GitFourchette\n" "Report-Msgid-Bugs-To: https://github.com/jorio/gitfourchette/issues\n" -"PO-Revision-Date: 2025-09-16 05:55+0000\n" +"PO-Revision-Date: 2025-09-17 07:02+0000\n" "Last-Translator: Fabiano Caputo \n" "Language-Team: Italian \n" @@ -767,823 +767,854 @@ msgstr "La HEAD non può non essere ancora nata o essere distaccata" #: exttools/usercommand.py:168 msgid "Current branch has no upstream" -msgstr "" +msgstr "Il ramo corrente non ha un upstream" #: exttools/usercommand.py:174 msgid "A file must be selected" -msgstr "" +msgstr "È necessario selezionare un file" #: exttools/usercommand.py:201 msgid "A remote or a remote branch must be selected" -msgstr "" +msgstr "È necessario selezionare un remote o un ramo remoto" #: exttools/usercommand.py:206 msgctxt "relative path" msgid "(relative)" -msgstr "" +msgstr "(relativo)" #: exttools/usercommand.py:207 msgctxt "absolute path" msgid "(absolute)" -msgstr "" +msgstr "(assoluto)" #: exttools/usercommand.py:209 msgid "Hash of the selected commit in the history" -msgstr "" +msgstr "Identificativo (hash) del commit selezionato nello storico" #: exttools/usercommand.py:210 exttools/usercommand.py:211 msgid "Path to the selected file" -msgstr "" +msgstr "Percorso al file selezionato" #: exttools/usercommand.py:212 exttools/usercommand.py:213 msgid "Path to the selected file’s parent directory" -msgstr "" +msgstr "Percorso alla cartella contenente il file" #: exttools/usercommand.py:214 msgid "Hash of the HEAD commit" -msgstr "" +msgstr "Identificativo (hash) del commit HEAD" #: exttools/usercommand.py:215 msgid "Ref name of the HEAD branch" -msgstr "" +msgstr "Nome di riferimento del ramo HEAD" #: exttools/usercommand.py:216 msgid "Ref name of the HEAD branch’s upstream" -msgstr "" +msgstr "Nome di riferimento dell'upstream del ramo HEAD" #: exttools/usercommand.py:217 msgid "Name of the selected ref in the sidebar (local branches, remote branches, tags)" msgstr "" +"Nome del riferimento selezionato nella barra laterale (rami locali, remoti, " +"etichette)" #: exttools/usercommand.py:218 msgid "Name of the selected remote in the sidebar" -msgstr "" +msgstr "Nome del remote selezionato nella barra laterale" #: exttools/usercommand.py:219 msgid "Path to the repository’s working directory" -msgstr "" +msgstr "Percorso alla cartella di lavoro del repo" #: filelists/committedfiles.py:40 msgid "Open Diff in New &Window" -msgstr "" +msgstr "Apri le differenze in un'altra %finestra" #: filelists/committedfiles.py:49 msgid "&Revert This Change…" msgid_plural "&Revert These Changes…" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "&Annulla questa modifica…" +msgstr[1] "&Annulla queste modifiche…" #: filelists/committedfiles.py:54 msgid "Restor&e File Revision…" -msgstr "" +msgstr "&Ripristina revisione file…" #: filelists/committedfiles.py:56 filelists/committedfiles.py:67 #: filelists/committedfiles.py:75 msgid "&As Of This Commit" -msgstr "" +msgstr "Come nel commit &corrente" #: filelists/committedfiles.py:57 filelists/committedfiles.py:68 #: filelists/committedfiles.py:76 msgid "&Before This Commit" -msgstr "" +msgstr "Come &prima del commit corrente" #: filelists/committedfiles.py:64 #, python-brace-format msgid "&Open File in {0}" msgid_plural "&Open {n} Files in {0}" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "&Apri file in {0}" +msgstr[1] "&Apri {n} file in {0}" #: filelists/committedfiles.py:66 msgid "&Current Revision (Working Copy)" -msgstr "" +msgstr "Revisione %corrente (copia di lavoro)" #: filelists/committedfiles.py:73 msgid "&Save a Copy…" -msgstr "" +msgstr "&Salva una copia…" #: filelists/committedfiles.py:84 filelists/dirtyfiles.py:95 #: filelists/stagedfiles.py:55 #, python-brace-format msgid "Submodule" msgid_plural "{n} Submodules" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Sottomodulo" +msgstr[1] "{n} sottomoduli" #: filelists/committedfiles.py:89 filelists/dirtyfiles.py:107 #: filelists/stagedfiles.py:65 #, python-brace-format msgid "Open Submodule in New Tab" msgid_plural "Open {n} Submodules in New Tabs" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Apri sottomodulo in nuova scheda" +msgstr[1] "Apri {n} sottomoduli in nuove schede" #: filelists/committedfiles.py:95 filelists/dirtyfiles.py:115 #: filelists/stagedfiles.py:71 msgid "Please review the files individually." -msgstr "" +msgstr "Si prega di revisionare i file individualmente." #: filelists/committedfiles.py:146 msgid "Open revision before commit" -msgstr "" +msgstr "Apri revisione allo stato precedente il commit" #: filelists/committedfiles.py:148 msgid "Open revision at commit" -msgstr "" +msgstr "Apri revisione al commit" #: filelists/committedfiles.py:150 filelists/filelist.py:377 #: filelists/filelist.py:607 #, python-brace-format msgid "Really open {n} files in external editor?" -msgstr "" +msgstr "Vuoi davvero aprire {n} file nell'editor esterno?" #: filelists/committedfiles.py:163 msgid "Save file revision as" -msgstr "" +msgstr "Salva revisione file come" #: filelists/committedfiles.py:168 msgid "Save revision before commit" -msgstr "" +msgstr "Salva revisione prima del commit" #: filelists/committedfiles.py:170 msgid "Save revision at commit" -msgstr "" +msgstr "Salva revisione al commit" #: filelists/committedfiles.py:172 #, python-brace-format msgid "Really export {n} files?" -msgstr "" +msgstr "Vuoi davvero esportare {n} file?" #: filelists/committedfiles.py:178 msgid "This file didn’t exist before the commit." -msgstr "" +msgstr "Questo file non esisteva prima del commit." #: filelists/committedfiles.py:182 msgid "This file was deleted by the commit." -msgstr "" +msgstr "Questo file è stato eliminato dal commit." #: filelists/committedfiles.py:199 msgid "There’s no file at this path in the working copy." -msgstr "" +msgstr "Non esiste nessun file in questo percorso nella copia di lavoro." #: filelists/committedfiles.py:202 msgid "Open working copy revision" -msgstr "" +msgstr "Apri revisione nella copia di lavoro" #: filelists/committedfiles.py:202 #, python-brace-format msgid "Really open {n} files?" -msgstr "" +msgstr "Vuoi davvero aprire {n} file?" #: filelists/committedfiles.py:208 repowidget.py:423 msgid "Open diff in new window" -msgstr "" +msgstr "Apri differenze in nuova finestra" #: filelists/committedfiles.py:208 filelists/filelist.py:689 #, python-brace-format msgid "Really open {n} windows?" -msgstr "" +msgstr "Vuoi davvero aprire {n} finestre?" #: filelists/dirtyfiles.py:43 #, python-brace-format msgid "&Stage File" msgid_plural "&Stage {n} Files" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "&Includi file" +msgstr[1] "&Includi {n} file" #: filelists/dirtyfiles.py:49 msgid "&Ignore Untracked File…" msgid_plural "&Ignore Untracked Files…" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "I&gnora file non tracciato…" +msgstr[1] "I&gnora file non tracciati" #: filelists/dirtyfiles.py:54 #, python-brace-format msgid "&Delete File…" msgid_plural "&Delete {n} Files…" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "&Elimina file…" +msgstr[1] "&Elimina {n} file…" #: filelists/dirtyfiles.py:56 #, python-brace-format msgid "&Discard Changes in File…" msgid_plural "&Discard Changes in {n} Files…" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "&Scarta modifiche al file…" +msgstr[1] "&Scarta modifiche a {n} file…" #: filelists/dirtyfiles.py:77 #, python-brace-format msgid "Merge Conflict" msgid_plural "{n} Merge Conflicts" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Conflitto di unione" +msgstr[1] "{n} conflitti di unione" #: filelists/dirtyfiles.py:82 msgid "Resolve by Accepting “Theirs”" -msgstr "" +msgstr "Risolvi accettando il \"loro\"" #: filelists/dirtyfiles.py:87 msgid "Resolve by Keeping “Ours”" -msgstr "" +msgstr "Risolvi mantenendo il \"nostro\"" #: filelists/dirtyfiles.py:99 #, python-brace-format msgid "Stage Submodule" msgid_plural "Stage {n} Submodules" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Includi sottomodulo" +msgstr[1] "Includi {n} sottomoduli" #: filelists/dirtyfiles.py:103 #, python-brace-format msgid "Discard Changes in Submodule" msgid_plural "Discard Changes in {n} Submodules" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Scarta modifiche al sottomodulo" +msgstr[1] "Scarta modifiche a {n} sottomoduli" #: filelists/dirtyfiles.py:115 msgid "Can’t stage this selection in bulk." -msgstr "" +msgstr "Non è possibile includere in massa questa selezione." #: filelists/filelist.py:147 msgid "Find a file by path|Find file" -msgstr "" +msgstr "Trova un file con percorso|Trova file" #: filelists/filelist.py:233 #, python-brace-format msgid "Open &Folder" msgid_plural "Open {n} &Folders" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Apri &cartella" +msgstr[1] "Apri {n} &cartelle" #: filelists/filelist.py:239 #, python-brace-format msgid "&Copy Path" msgid_plural "&Copy {n} Paths" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Copia &percorso" +msgstr[1] "Copia {n} &percorsi" #: filelists/filelist.py:245 trtables.py:382 msgid "Path display style" -msgstr "" +msgstr "Stile di visualizzazione percorso" #: filelists/filelist.py:261 msgid "Stas&h Changes…" -msgstr "" +msgstr "Accantona (stas&h) modifiche…" #: filelists/filelist.py:268 msgid "Revert Mode Change" msgid_plural "Revert Mode Changes" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Annulla cambio di modalità" +msgstr[1] "Annulla cambi di modalità" #: filelists/filelist.py:281 msgid "Revert Mode to Non-Executable" -msgstr "" +msgstr "Reimposta modalità a non-eseguibile" #: filelists/filelist.py:283 msgid "Revert Mode to Executable" -msgstr "" +msgstr "Reimposta modalità a eseguibile" #: filelists/filelist.py:295 #, python-brace-format msgid "Open Diff in {0}" -msgstr "" +msgstr "Apri differenze in {0}" #: filelists/filelist.py:300 msgid "E&xport Diff As Patch…" msgid_plural "E&xport Diffs As Patch…" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "E&sporta differenza come patch…" +msgstr[1] "E&sporta differenze come patch…" #: filelists/filelist.py:309 #, python-brace-format msgid "&Edit in {tool}" -msgstr "" +msgstr "%Modifica in {tool}" #: filelists/filelist.py:314 #, python-brace-format msgid "Edit &HEAD Version in {tool}" msgid_plural "Edit &HEAD Versions in {tool}" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Modifica versione %HEAD in {tool}" +msgstr[1] "Modifica versioni %HEAD in {tool}" #: filelists/filelist.py:376 msgid "Open in external editor" -msgstr "" +msgstr "Apri in editor esterno" #: filelists/filelist.py:380 msgid "Open in external diff tool" -msgstr "" +msgstr "Apri nel programma differenze esterno" #: filelists/filelist.py:381 #, python-brace-format msgid "Really open {n} files in external diff tool?" -msgstr "" +msgstr "Vuoi davvero aprire {n} file nello strumento differenze esterno?" #: filelists/filelist.py:388 msgid "Can’t open external diff tool on a deleted file." msgstr "" +"Impossibile aprire lo strumento differenze esterno su un file eliminato." #: filelists/filelist.py:391 msgid "Can’t open external diff tool on a new file." -msgstr "" +msgstr "Impossibile aprire lo strumento differenze esterno su un file nuovo." #: filelists/filelist.py:416 msgid "File doesn’t exist at this path anymore." -msgstr "" +msgstr "Il file non esiste più in questo percorso." #: filelists/filelist.py:419 msgid "Open paths" -msgstr "" +msgstr "Apri percorsi" #: filelists/filelist.py:420 #, python-brace-format msgid "Really open {n} folders?" -msgstr "" +msgstr "Vuoi davvero aprire {n} cartelle?" #: filelists/filelist.py:541 msgid "This file appears to have been modified by another application. Try refreshing the window." msgstr "" +"Questo file sembra essere stato modificato da un'altra applicazione. Prova a " +"ricaricare la finestra." #: filelists/filelist.py:568 msgid "Revert changes in file" -msgstr "" +msgstr "Annulla modifiche nel file" #: filelists/filelist.py:569 msgid "Do you want to revert this patch?" -msgstr "" +msgstr "Vuoi annullare questa patch?" #: filelists/filelist.py:606 msgid "Open HEAD version of file" -msgstr "" +msgstr "Apri la versione HEAD del file" #: filelists/filelistmodel.py:72 msgid "old name" -msgstr "" +msgstr "vecchio nome" #: filelists/filelistmodel.py:73 msgid "new name" -msgstr "" +msgstr "nuovo nome" #: filelists/filelistmodel.py:75 msgid "name" -msgstr "" +msgstr "nome" #: filelists/filelistmodel.py:85 msgid "status" -msgstr "" +msgstr "stato" #: filelists/filelistmodel.py:89 msgid "similarity" -msgstr "" +msgstr "somiglianza" #: filelists/filelistmodel.py:94 filelists/filelistmodel.py:96 msgid "file mode" -msgstr "" +msgstr "modalità file" #: filelists/filelistmodel.py:101 filelists/filelistmodel.py:103 msgid "size" -msgstr "" +msgstr "dimensione" #: filelists/filelistmodel.py:103 filelists/filelistmodel.py:116 #: filelists/filelistmodel.py:117 msgid "(not computed)" -msgstr "" +msgstr "(non processato)" #: filelists/filelistmodel.py:112 msgid "modified" -msgstr "" +msgstr "modificato" #: filelists/filelistmodel.py:118 msgid "blob hash" -msgstr "" +msgstr "identificatore blob" #: filelists/filelistmodel.py:118 msgid "commit hash" -msgstr "" +msgstr "identificatore commit" #: filelists/filelistmodel.py:123 msgid "Currently viewing diff of staged changes in this file; it also has unstaged changes." msgstr "" +"Sono mostrate le differenze delle modifiche incluse in questo file; ci sono " +"anche modifiche non incluse." #: filelists/filelistmodel.py:126 msgid "Currently viewing diff of unstaged changes in this file; it also has staged changes." msgstr "" +"Sono mostrate le differenze delle modifiche non incluse in questo file; ci " +"sono anche modifiche incluse." #: filelists/stagedfiles.py:36 #, python-brace-format msgid "&Unstage File" msgid_plural "&Unstage {n} Files" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "&Escludi file" +msgstr[1] "&Escludi {n} file" #: filelists/stagedfiles.py:60 #, python-brace-format msgid "Unstage Submodule" msgid_plural "Unstage {n} Submodules" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Escludi sottomodulo" +msgstr[1] "Escludi {n} sottomoduli" #: filelists/stagedfiles.py:71 msgid "Can’t unstage this selection in bulk." -msgstr "" +msgstr "Impossibile escludere questa selezione in massa." #: forms/aboutdialog.py:70 #, python-brace-format msgid "Version {0}" -msgstr "" +msgstr "Versione {0}" #: forms/aboutdialog.py:82 #, python-brace-format msgid "If {app} helps you get work done, please consider [making a small donation]." msgstr "" +"Se {app} ti aiuta nei tuoi progetti di lavoro, ti preghiamo di prendere in " +"considerazione una [piccola donazione]." #: forms/aboutdialog.py:84 msgid "Thank you for your support!" -msgstr "" +msgstr "Grazie del tuo supporto!" #: forms/aboutdialog.py:93 msgid "(unknown version)" -msgstr "" +msgstr "(versione sconosciuta)" #: forms/aboutdialog.py:99 msgid "Powered by:" -msgstr "" +msgstr "Offerto da:" #: forms/aboutdialog.py:106 msgid "(not available)" -msgstr "" +msgstr "(non disponibile)" #: forms/aboutdialog.py:123 msgid "Additional contributions by:" -msgstr "" +msgstr "Contribuzioni aggiuntive da:" #: forms/aboutdialog.py:125 msgid "Brought to your native language by:" -msgstr "" +msgstr "Tradotto nella tua lingua da:" #: forms/aboutdialog.py:127 msgid "Special thanks to Marc-Alexandre Espiaut for beta testing." msgstr "" +"Un ringraziamento speciale a Marc-Alexandre Espiaut per aver testato la beta." #: forms/aboutdialog.py:129 #, python-brace-format msgid "Portions of this software are based on {lib}, used under {lic}, {copyright}." msgstr "" +"Parti di questo software si basano su {lib}, concesso con licenza {lic}, " +"{copyright}." #: forms/aboutdialog.py:131 msgid "MIT license" -msgstr "" +msgstr "Licenza MIT" #: forms/askpassdialog.py:64 msgid "SSH is asking for your confirmation" -msgstr "" +msgstr "SSH richiede una conferma" #: forms/askpassdialog.py:66 msgid "Message from SSH" -msgstr "" +msgstr "Messaggio da SSH" #: forms/askpassdialog.py:68 msgid "Enter SSH credentials" -msgstr "" +msgstr "Immetti le credenziali SSH" #: forms/askpassdialog.py:77 #, python-brace-format msgid "{app}’s ssh-agent will remember this credential until you quit the application." msgstr "" +"L'agente ssh di {app} memorizzerà queste credenziali finché l'applicazione " +"non verrà chiusa." #: forms/askpassdialog.py:80 #, python-brace-format msgid "An ssh-agent is running on your system. It will remember this credential if {0} is enabled in your SSH configuration." msgstr "" +"Un agente ssh è aperto nel sistema. Memorizzerà queste credenziali se {0} è " +"attivato nella configurazione SSH." #: forms/askpassdialog.py:83 msgid "This credential will not be remembered because ssh-agent isn’t running on your system." msgstr "" +"Queste credenziali non verranno memorizzate in quanto l'agente ssh non è " +"attivo nel sistema." #: forms/askpassdialog.py:95 forms/askpassdialog.py:114 msgid "Reveal passphrase" -msgstr "" +msgstr "Rivela parola chiave" #: forms/askpassdialog.py:102 msgid "Yes" -msgstr "" +msgstr "Sì" #: forms/askpassdialog.py:103 msgid "No" -msgstr "" +msgstr "No" #: forms/askpassdialog.py:114 msgid "Hide passphrase" -msgstr "" +msgstr "Nascondi parola chiave" #: forms/banner.py:50 msgid "Dismiss" -msgstr "" +msgstr "Chiudi" #: forms/checkoutcommitdialog.py:35 #, python-brace-format msgid "Check out commit {0}" -msgstr "" +msgstr "Passa al commit {0}" #: forms/checkoutcommitdialog.py:38 msgid "Move &detached HEAD here" -msgstr "" +msgstr "Muovi qui la HEAD %distaccata" #: forms/checkoutcommitdialog.py:40 #, python-brace-format msgid "&Reset the tip of branch {0} here…" -msgstr "" +msgstr "&Reimposta qui la punta del ramo {0}…" #: forms/checkoutcommitdialog.py:41 graphview/graphview.py:139 #: sidebar/sidebar.py:212 sidebar/sidebar.py:308 #, python-brace-format msgid "&Merge into {0}…" -msgstr "" +msgstr "%Unisci in {0}…" #: forms/checkoutcommitdialog.py:43 msgid "Detach HEAD" -msgstr "" +msgstr "Distacca HEAD" #: forms/checkoutcommitdialog.py:44 msgid "Switch Branch" -msgstr "" +msgstr "Cambia ramo" #: forms/checkoutcommitdialog.py:45 #, python-brace-format msgid "Reset {0}…" -msgstr "" +msgstr "Reimposta {0}…" #: forms/checkoutcommitdialog.py:46 msgid "Merge…" -msgstr "" +msgstr "Unisci…" #: forms/checkoutcommitdialog.py:47 msgid "Create Branch…" -msgstr "" +msgstr "Crea ramo…" #: forms/checkoutcommitdialog.py:68 #, python-brace-format msgctxt "checkout: current branch name" msgid "{0} (already checked out)" -msgstr "" +msgstr "{0} (sei già in questo punto)" #: forms/checkoutcommitdialog.py:70 msgctxt "checkout: no branches available" msgid "(none available here)" -msgstr "" +msgstr "(nessuno disponibile qui)" #: forms/clonedialog.py:61 msgid "Reset default clone location" -msgstr "" +msgstr "Reimposta la posizione di clonazione predefinita" #: forms/clonedialog.py:69 msgid "C&lone" -msgstr "" +msgstr "C%lona" #: forms/clonedialog.py:77 #, python-brace-format msgid "Hit {0} when ready." -msgstr "" +msgstr "Premi {0} quando sei pronto." #: forms/clonedialog.py:110 forms/ignorepatterndialog.py:53 msgid "Please fill in this field." -msgstr "" +msgstr "Si prega di compilare questo campo." #: forms/clonedialog.py:117 msgid "Please enter an absolute path." -msgstr "" +msgstr "Si prega di inserire un percorso assoluto." #: forms/clonedialog.py:119 msgid "There’s already a file at this path." -msgstr "" +msgstr "È già presente un file con questo percorso." #: forms/clonedialog.py:123 msgid "This directory isn’t empty." -msgstr "" +msgstr "La cartella non è vuota." #: forms/clonedialog.py:157 msgid "Set current location as default clone location" -msgstr "" +msgstr "Imposta la posizione corrente come posizione di clonazione predefinita" #: forms/clonedialog.py:164 #, python-brace-format msgid "{0} is the default clone location" -msgstr "" +msgstr "{0} è posizione di clonazione predefinita" #: forms/clonedialog.py:167 #, python-brace-format msgid "Set {0} as default clone location" -msgstr "" +msgstr "Imposta {0} come posizione di clonazione predefinita" #: forms/clonedialog.py:183 msgid "Clear history" -msgstr "" +msgstr "Svuota storico" #: forms/clonedialog.py:207 msgid "&Shallow clone" -msgstr "" +msgstr "Clone &breve" #: forms/clonedialog.py:213 #, python-brace-format msgid "&Shallow clone: Fetch up to {n} commit per branch" msgid_plural "&Shallow clone: Fetch up to {n} commits per branch" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Clone &breve: fetch fino a {n} commit per ramo" +msgstr[1] "Clone &breve: fetch fino a {n} commit per ramo" #: forms/clonedialog.py:250 msgid "Clone repository into" -msgstr "" +msgstr "Clona repo in" #: forms/clonedialog.py:259 msgid "Clone here" -msgstr "" +msgstr "Clona qui" #: forms/clonedialog.py:293 forms/pushdialog.py:306 msgid "Contacting remote host…" -msgstr "" +msgstr "Sto contattando l'host remoto…" #: forms/commitdialog.py:53 msgid "Amend commit message" -msgstr "" +msgstr "Rettifica messaggio di commit" #: forms/commitdialog.py:54 msgid "A&mend" -msgstr "" +msgstr "Re%ttifica" #: forms/commitdialog.py:55 #, python-brace-format msgid "Amend Commit {0}" -msgstr "" +msgstr "Rettifica commit {0}" #: forms/commitdialog.py:57 msgid "Enter commit summary" -msgstr "" +msgstr "Inserisci sommario del commit" #: forms/commitdialog.py:58 msgid "Co&mmit" -msgstr "" +msgstr "Sotto&metti" #: forms/commitdialog.py:63 msgid "This commit will conclude the merge." -msgstr "" +msgstr "Questo commit concluderà l'unione (merge)." #: forms/commitdialog.py:65 msgid "This commit will conclude the cherry-pick." -msgstr "" +msgstr "Questo commit concluderà la cernita." #: forms/commitdialog.py:67 msgid "This commit will conclude the revert." -msgstr "" +msgstr "Questo commit concluderà la reimpostazione." #: forms/commitdialog.py:69 #, python-brace-format msgid "You are amending commit {0}." -msgstr "" +msgstr "Stai rettificando il commit {0}." #: forms/commitdialog.py:71 msgid "Detached HEAD – You are not in any branch! You should create a branch to keep track of your commit." msgstr "" +"HEAD distaccata - Non sei in nessun ramo! Dovresti creare un ramo per " +"tenere traccia del tuo commit." #: forms/commitdialog.py:74 msgid "You are creating an empty commit (no staged changes)." -msgstr "" +msgstr "Stai creando un commit vuoto (nessuna modifica inclusa)." #: forms/commitdialog.py:142 forms/registersubmoduledialog.py:68 #: forms/remotedialog.py:36 trtables.py:119 msgid "Cannot be empty." -msgstr "" +msgstr "Non può essere vuoto." #: forms/commitdialog.py:195 msgid "Authored by:" -msgstr "" +msgstr "Creato da:" #: forms/commitdialog.py:198 forms/commitdialog.py:203 msgid "(overridden manually)" -msgstr "" +msgstr "(sovrascritto manualmente)" #: forms/commitdialog.py:200 msgid "Committed by:" -msgstr "" +msgstr "Sottomesso da:" #: forms/conflictview.py:229 #, python-brace-format msgid "Waiting for you to finish merging this file in {0} (PID {1})…" -msgstr "" +msgstr "In attesa che tu finisca di unire questo file in {0} (PID {1}).…" #: forms/conflictview.py:262 msgid "This file has received changes from both our branch and their branch." msgstr "" +"Questo file ha subito modifiche sia dal nostro che dal loro " +"ramo." #: forms/conflictview.py:264 forms/conflictview.py:296 #: forms/conflictview.py:311 forms/conflictview.py:331 msgid "Keep OURS" -msgstr "" +msgstr "Mantieni il NOSTRO" #: forms/conflictview.py:265 forms/conflictview.py:321 #: forms/conflictview.py:332 msgid "Accept THEIRS" -msgstr "" +msgstr "Accetta il LORO" #: forms/conflictview.py:267 forms/conflictview.py:283 #: forms/conflictview.py:334 msgid "Resolve the conflict by rejecting incoming changes." -msgstr "" +msgstr "Risolvi il conflitto rifiutando le modifiche in arrivo." #: forms/conflictview.py:268 forms/conflictview.py:335 msgid "The file will remain unchanged from its state in HEAD." -msgstr "" +msgstr "Il file rimarrà invariato rispetto al suo stato nella HEAD." #: forms/conflictview.py:270 forms/conflictview.py:286 #: forms/conflictview.py:337 msgid "Resolve the conflict by accepting incoming changes." -msgstr "" +msgstr "Risolvi il conflitto accettando le modifiche in arrivo." #: forms/conflictview.py:271 forms/conflictview.py:338 msgid "The file will be replaced with the incoming version." -msgstr "" +msgstr "Il file verrà sostituito con la versione in arrivo." #: forms/conflictview.py:278 msgid "This file was deleted from our branch, but their branch kept it and made changes to it." msgstr "" +"Questo file è stato eliminato dal nostro ramo, ma il loro ramo " +"l'ha mantenuto e modificato." #: forms/conflictview.py:280 msgid "Keep OUR deletion" -msgstr "" +msgstr "Mantieni la NOSTRA eliminazione" #: forms/conflictview.py:281 msgid "Accept THEIR version" -msgstr "" +msgstr "Accetta la LORO versione" #: forms/conflictview.py:284 msgid "The file won’t be added back to your branch." -msgstr "" +msgstr "Il file non verrà riaggiunto al tuo ramo." #: forms/conflictview.py:287 msgid "The file will be restored to your branch with the incoming changes." -msgstr "" +msgstr "Il file verrà ripristinato nel tuo ramo con le modifiche in arrivo." #: forms/conflictview.py:294 msgid "We’ve made changes to this file in our branch, but their branch has deleted it." msgstr "" +"Abbiamo modificato questo file nel nostro ramo, ma il loro " +"ramo l'ha eliminato." #: forms/conflictview.py:297 msgid "Accept deletion" -msgstr "" +msgstr "Accetta eliminazione" #: forms/conflictview.py:299 msgid "Resolve the conflict by rejecting the incoming deletion." -msgstr "" +msgstr "Risolvi il conflitto rifiutando l'eliminazione in arrivo." #: forms/conflictview.py:300 msgid "Our version of the file will be kept intact." -msgstr "" +msgstr "La nostra versione del file verrà mantenuta intatta." #: forms/conflictview.py:302 msgid "Resolve the conflict by accepting the incoming deletion." -msgstr "" +msgstr "Risolvi il conflitto accettando l'eliminazione in arrivo." #: forms/conflictview.py:303 msgid "The file will be deleted." -msgstr "" +msgstr "Il file verrà eliminato." #: forms/conflictview.py:310 forms/conflictview.py:319 msgid "No common ancestor." -msgstr "" +msgstr "Nessun antenato in comune." #: forms/conflictview.py:312 msgid "Delete it" -msgstr "" +msgstr "Eliminalo" #: forms/conflictview.py:320 msgid "Don’t add" -msgstr "" +msgstr "Non aggiungere" #: forms/conflictview.py:328 msgid "This file has been created in both our branch and their branch, independently from each other. There is no common ancestor." msgstr "" +"Questo file è stato creato in modo indipendente sia nel nostro che " +"nel loro ramo. Non esiste un antenato in comune." #: forms/conflictview.py:345 msgid "The file was deleted from our branch, and their branch has deleted it too." msgstr "" +"Il file è stato eliminato sia dal nostro ramo che dal loro." #: forms/contextheader.py:35 msgid "Maximize" -msgstr "" +msgstr "Massimizza" #: forms/contextheader.py:37 msgid "Maximize the diff area and hide the commit graph" -msgstr "" +msgstr "Massimizza l'area delle differenze e nascondi il grafico dei commit" #: forms/contextheader.py:81 msgctxt "noun" msgid "Commit" -msgstr "" +msgstr "Sottometti (commit)" #: forms/contextheader.py:81 msgctxt "noun" msgid "Stash" -msgstr "" +msgstr "Accantona (stash)" #: forms/contextheader.py:85 msgid "Info" From 2eb6bc4e384c23957a80aa5431c29547f4e539e5 Mon Sep 17 00:00:00 2001 From: Fabiano Caputo Date: Wed, 17 Sep 2025 10:52:38 +0200 Subject: [PATCH 08/14] Translated using Weblate (Italian) Currently translated at 28.4% (416 of 1463 strings) Translation: GitFourchette/GitFourchette Translate-URL: https://hosted.weblate.org/projects/gitfourchette/gitfourchette/it/ --- gitfourchette/assets/lang/it.po | 145 +++++++++++++++++--------------- 1 file changed, 78 insertions(+), 67 deletions(-) diff --git a/gitfourchette/assets/lang/it.po b/gitfourchette/assets/lang/it.po index 910751da..9779ca7a 100644 --- a/gitfourchette/assets/lang/it.po +++ b/gitfourchette/assets/lang/it.po @@ -4,7 +4,7 @@ msgid "" msgstr "" "Project-Id-Version: GitFourchette\n" "Report-Msgid-Bugs-To: https://github.com/jorio/gitfourchette/issues\n" -"PO-Revision-Date: 2025-09-17 07:02+0000\n" +"PO-Revision-Date: 2025-09-18 09:01+0000\n" "Last-Translator: Fabiano Caputo \n" "Language-Team: Italian \n" @@ -1618,308 +1618,319 @@ msgstr "Accantona (stash)" #: forms/contextheader.py:85 msgid "Info" -msgstr "" +msgstr "Info" #: forms/contextheader.py:86 msgid "Show details about this commit" -msgstr "" +msgstr "Mostra i dettagli di questo commit" #: forms/contextheader.py:87 msgid "Show details about this stash" -msgstr "" +msgstr "Mostra dettagli di questo stash" #: forms/contextheader.py:90 tasks/indextasks.py:142 msgid "Delete" -msgstr "" +msgstr "Elimina" #: forms/contextheader.py:91 msgid "Delete this stash" -msgstr "" +msgstr "Elimina questo stash" #: forms/contextheader.py:93 tasks/indextasks.py:426 msgid "Apply" -msgstr "" +msgstr "Applica" #: forms/contextheader.py:94 msgid "Apply this stash" -msgstr "" +msgstr "Applica questo stash" #: forms/contextheader.py:97 graphview/commitlogdelegate.py:585 msgid "Working Directory" -msgstr "" +msgstr "Cartella di lavoro" #: forms/deletetagdialog.py:33 msgid "&Delete Locally" -msgstr "" +msgstr "%Elimina in locale" #: forms/deletetagdialog.py:33 msgid "&Delete Locally && Remotely" -msgstr "" +msgstr "%Elimina in locale e da remoto" #: forms/deletetagdialog.py:47 #, python-brace-format msgid "Delete tag {0}" -msgstr "" +msgstr "Elimina etichetta {0}" #: forms/deletetagdialog.py:48 #, python-brace-format msgid "Tagged commit: {0}" -msgstr "" +msgstr "Commit etichettato: {0}" #: forms/gpgbutton.py:34 #, python-brace-format msgid "Signing key: {0}" -msgstr "" +msgstr "Chiave di firma: {0}" #: forms/gpgbutton.py:36 #, python-brace-format msgid "Signing key not configured ({0})" -msgstr "" +msgstr "Chiave di firma non configurata ({0})" #: forms/gpgbutton.py:42 msgid "Enable &signing for this commit" -msgstr "" +msgstr "Abilita la &firma per questo commit" #: forms/gpgbutton.py:44 forms/gpgbutton.py:64 msgid "This commit will not be signed." -msgstr "" +msgstr "Questo commit non verrà firmato" #: forms/gpgbutton.py:62 #, python-brace-format msgid "This commit [will be signed] with your key {yourkey} (configured in {keyconf})." msgstr "" +"Questo commit [verrà firmato] con la tua chiave {yourkey} (configurata in " +"{keyconf})." #: forms/gpgbutton.py:69 #, python-brace-format msgid "Click this button to sign the commit with your key {yourkey} (configured in {keyconf})." msgstr "" +"Premi qui per firmare il commit con la tua chiave {yourkey} (configurata in " +"{keyconf})." #: forms/gpgbutton.py:71 #, python-brace-format msgid "Your signing key isn’t configured in {keyconf}." -msgstr "" +msgstr "La tua chiave di firma non è configurata in {keyconf}." #: forms/gpgbutton.py:76 #, python-brace-format msgid "This repository is configured to sign commits automatically ({flagconf})." msgstr "" +"Questo repo è configurato per firmare i commit in automatico ({flagconf})." #: forms/gpgbutton.py:78 #, python-brace-format msgid "Tip: You can configure {flagconf} if you want to sign every commit." -msgstr "" +msgstr "Consiglio: puoi configurare {flagconf} se vuoi firmare ogni commit." #: forms/identitydialog.py:44 msgid "This information will be embedded in the commits and tags that you create on this machine." msgstr "" +"Questa informazione verrà incorporata nei commit e nelle etichette che crei " +"su questa macchina." #: forms/identitydialog.py:46 msgid "Before editing this repository, please set up your identity for Git." -msgstr "" +msgstr "Prima di modificare questo repo, imposta la tua identità di Git." #: forms/ignorepatterndialog.py:40 #, python-brace-format msgid "Based off: {0}" -msgstr "" +msgstr "Basato su: {0}" #: forms/ignorepatterndialog.py:72 msgid "This pattern doesn’t match the file that you selected." -msgstr "" +msgstr "Questo schema non combacia con il file che hai selezionato." #: forms/ignorepatterndialog.py:79 msgid "Just this specific path" -msgstr "" +msgstr "Solo questo percorso specifico" #: forms/ignorepatterndialog.py:85 msgid "Everything in this directory" -msgstr "" +msgstr "Tutto il contenuto di questo percorso" #: forms/ignorepatterndialog.py:90 #, python-brace-format msgid "All {0} files in this directory tree" -msgstr "" +msgstr "Tutti i {0} file in quest'albero di cartelle" #: forms/ignorepatterndialog.py:91 #, python-brace-format msgid "Any {0} file" -msgstr "" +msgstr "Qualsiasi file {0}" #: forms/ignorepatterndialog.py:93 msgid "Any file with this exact name" -msgstr "" +msgstr "Qualsiasi file con questo nome esatto" #: forms/ignorepatterndialog.py:100 msgid "Share pattern with other contributors" -msgstr "" +msgstr "Condividi lo schema con altri contributori" #: forms/ignorepatterndialog.py:101 msgid "Keep pattern private on this machine" -msgstr "" +msgstr "Mantieni lo schema privato su questa macchina" #: forms/keyfilepickercheckbox.py:20 #, python-brace-format msgid "{app} normally uses public/private keys in {path} to authenticate you with remote servers." msgstr "" +"{app} di solito usa chiavi pubbliche/private in {path} per autenticarti sui " +"server remoti." #: forms/keyfilepickercheckbox.py:22 msgid "Tick this box if you want to access remotes in this repo with a custom key." msgstr "" +"Attiva questa casella se vuoi accedere ai remote in questo repo con una " +"chiave personalizzata." #: forms/keyfilepickercheckbox.py:29 msgid "Select public key file for this remote" -msgstr "" +msgstr "Seleziona il file della chiave pubblica per questo remote" #: forms/keyfilepickercheckbox.py:30 msgid "Public key file" -msgstr "" +msgstr "File di chiave pubblica" #: forms/keyfilepickercheckbox.py:40 msgid "File not found." -msgstr "" +msgstr "File non trovato." #: forms/keyfilepickercheckbox.py:45 msgid "Accompanying private key not found." -msgstr "" +msgstr "Chiave privata corrispondente non trovata." #: forms/keyfilepickercheckbox.py:49 msgid "Accompanying public key not found." -msgstr "" +msgstr "Chiave pubblica corrispondente non trovata." #: forms/maintoolbar.py:32 trtables.py:386 msgid "Show toolbar" -msgstr "" +msgstr "Mostra barra degli strumenti" #: forms/maintoolbar.py:51 trtables.py:508 msgid "Terminal" -msgstr "" +msgstr "Terminale" #: forms/maintoolbar.py:53 msgid "Open a terminal in the repo" -msgstr "" +msgstr "Apri terminale nel repo" #: forms/maintoolbar.py:57 msgid "Open…" -msgstr "" +msgstr "Apri…" #: forms/maintoolbar.py:59 mainwindow.py:214 msgid "Open a Git repo on your machine" -msgstr "" +msgstr "Apri un repo Git sulla tua macchina" #: forms/maintoolbar.py:63 msgid "Settings" -msgstr "" +msgstr "Impostazioni" #: forms/maintoolbar.py:65 mainwindow.py:231 #, python-brace-format msgid "Configure {app}" -msgstr "" +msgstr "Configura {app}" #: forms/maintoolbar.py:84 msgid "Reveal" -msgstr "" +msgstr "Rivela" #: forms/maintoolbar.py:86 msgid "Open repo folder in file manager" -msgstr "" +msgstr "Apri cartella del repo nel file manager" #: forms/maintoolbar.py:145 msgid "Text Position" -msgstr "" +msgstr "Posizione testo" #: forms/maintoolbar.py:147 trtables.py:224 msgid "Icons Only" -msgstr "" +msgstr "Solo icone" #: forms/maintoolbar.py:148 msgid "Text Only" -msgstr "" +msgstr "Solo testo" #: forms/maintoolbar.py:149 msgid "Text Alongside Icons" -msgstr "" +msgstr "Testo di fianco a icone" #: forms/maintoolbar.py:150 msgid "Text Under Icons" -msgstr "" +msgstr "Testo sotto a icone" #: forms/maintoolbar.py:155 msgid "Icon Size" -msgstr "" +msgstr "Dimensione icone" #: forms/maintoolbar.py:157 msgid "Small" -msgstr "" +msgstr "Piccola" #: forms/maintoolbar.py:158 msgid "Medium" -msgstr "" +msgstr "Media" #: forms/maintoolbar.py:159 msgid "Large" -msgstr "" +msgstr "Grande" #: forms/maintoolbar.py:160 msgid "Huge" -msgstr "" +msgstr "Enorme" #: forms/newbranchdialog.py:31 forms/newtagdialog.py:41 msgid "&Create" -msgstr "" +msgstr "&Crea" #: forms/newbranchdialog.py:48 msgid "(blocked by conflicts)" -msgstr "" +msgstr "(bloccato da conflitti)" #: forms/newbranchdialog.py:51 tasks/branchtasks.py:87 msgid "This name is already taken by another local branch." -msgstr "" +msgstr "Questo nome è già in uso da un altro ramo locale." #: forms/newbranchdialog.py:57 msgid "New branch" -msgstr "" +msgstr "Nuovo ramo" #: forms/newbranchdialog.py:58 msgid "Commit at tip:" -msgstr "" +msgstr "Commit in punta:" #: forms/newtagdialog.py:17 sidebar/sidebar.py:984 msgid "No Remotes" -msgstr "" +msgstr "Nessun remote" #: forms/newtagdialog.py:19 msgid "All Remotes" -msgstr "" +msgstr "Tutti i remote" #: forms/newtagdialog.py:41 msgid "&Create && Push" -msgstr "" +msgstr "&Crea e invia (push)" #: forms/newtagdialog.py:46 msgid "This name is already taken by another tag." -msgstr "" +msgstr "Questo nome è già in uso da un'altra etichetta." #: forms/newtagdialog.py:61 #, python-brace-format msgid "New tag on commit {0}" -msgstr "" +msgstr "Nuova etichetta sul commit {0}" #: forms/prefsdialog.py:57 #, python-brace-format msgid "{app} Settings" -msgstr "" +msgstr "Impostazioni di {app}" #: forms/prefsdialog.py:230 #, python-brace-format msgid "{0} Handy Reference" -msgstr "" +msgstr "Guida rapida a {0}" #: forms/prefsdialog.py:315 msgid "Image" -msgstr "" +msgstr "Immagine" #: forms/prefsdialog.py:315 msgid "Text" -msgstr "" +msgstr "Testo" #: forms/prefsdialog.py:340 msgid "Built-in git (sandboxed)" From 3123da313cf655a4115f8529dcba9c9fe70a689e Mon Sep 17 00:00:00 2001 From: Fabiano Caputo Date: Sat, 20 Sep 2025 11:57:31 +0200 Subject: [PATCH 09/14] Translated using Weblate (Italian) Currently translated at 46.4% (680 of 1463 strings) Translation: GitFourchette/GitFourchette Translate-URL: https://hosted.weblate.org/projects/gitfourchette/gitfourchette/it/ --- gitfourchette/assets/lang/it.po | 545 ++++++++++++++++++-------------- 1 file changed, 302 insertions(+), 243 deletions(-) diff --git a/gitfourchette/assets/lang/it.po b/gitfourchette/assets/lang/it.po index 9779ca7a..7ebf47a3 100644 --- a/gitfourchette/assets/lang/it.po +++ b/gitfourchette/assets/lang/it.po @@ -4,7 +4,7 @@ msgid "" msgstr "" "Project-Id-Version: GitFourchette\n" "Report-Msgid-Bugs-To: https://github.com/jorio/gitfourchette/issues\n" -"PO-Revision-Date: 2025-09-18 09:01+0000\n" +"PO-Revision-Date: 2025-09-20 11:58+0000\n" "Last-Translator: Fabiano Caputo \n" "Language-Team: Italian \n" @@ -1206,8 +1206,8 @@ msgstr "Versione {0}" #, python-brace-format msgid "If {app} helps you get work done, please consider [making a small donation]." msgstr "" -"Se {app} ti aiuta nei tuoi progetti di lavoro, ti preghiamo di prendere in " -"considerazione una [piccola donazione]." +"Se {app} ti è di aiuto, ti preghiamo di prendere in considerazione una " +"[piccola donazione]." #: forms/aboutdialog.py:84 msgid "Thank you for your support!" @@ -1934,25 +1934,25 @@ msgstr "Testo" #: forms/prefsdialog.py:340 msgid "Built-in git (sandboxed)" -msgstr "" +msgstr "Git integrato (in sandbox)" #: forms/prefsdialog.py:341 msgid "Auto-detected system git" -msgstr "" +msgstr "Rileva automaticamente git di sistema" #: forms/prefsdialog.py:362 msgctxt "system default language setting" msgid "System default" -msgstr "" +msgstr "Predefiniti di sistema" #: forms/prefsdialog.py:421 msgctxt "hint user to leave the field blank" msgid "leave blank" -msgstr "" +msgstr "lascia vuoto" #: forms/prefsdialog.py:427 msgid "Leave blank for system default." -msgstr "" +msgstr "Lascia vuoto per usare l'impostazione predefinita." #: forms/prefsdialog.py:455 #, python-brace-format @@ -1961,498 +1961,515 @@ msgid "" "# You can then launch them from the {menu} menu.\n" "# Click {button} below for more information." msgstr "" +"# Inserisci qui comandi del terminale personalizzati.\n" +"# In seguito potrai avviarli dal menu {menu}.\n" +"# Premi il pulsante {button} qui sotto per ulteriori informazioni." #: forms/prefsdialog.py:458 mainwindow.py:354 trtables.py:559 msgid "&Commands" -msgstr "" +msgstr "&Comandi" #: forms/prefsdialog.py:459 msgid "Handy Reference" -msgstr "" +msgstr "Guida rapida" #: forms/prefsdialog.py:523 msgctxt "system default theme setting" msgid "System default" -msgstr "" +msgstr "Predefinito di sistema" #: forms/prefsdialog.py:573 #, python-brace-format msgid "This feature requires {0}." -msgstr "" +msgstr "Questa funzione richiede {0}." #: forms/prefsdialog.py:577 #, python-brace-format msgctxt "syntax highlighting" msgid "Automatic ({name})" -msgstr "" +msgstr "Automatico ({name})" #: forms/prefsdialog.py:578 msgctxt "syntax highlighting" msgid "Off" -msgstr "" +msgstr "Spento" #: forms/prefsdialog.py:613 msgid "Red and green" -msgstr "" +msgstr "Rosso e verde" #: forms/prefsdialog.py:614 msgid "Colorblind-friendly" -msgstr "" +msgstr "Per daltonici" #: forms/protocolbutton.py:19 msgid "Change URL protocol" -msgstr "" +msgstr "Cambia protocollo URL" #: forms/pushdialog.py:27 #, python-brace-format msgid "tracking {0}" -msgstr "" +msgstr "tracciamento {0}" #: forms/pushdialog.py:29 msgid "non-tracking" -msgstr "" +msgstr "non tracciamento" #: forms/pushdialog.py:78 #, python-brace-format msgid "{0} will track {1}." -msgstr "" +msgstr "{0} traccerà {1}." #: forms/pushdialog.py:80 #, python-brace-format msgid "{0} currently does not track any remote branch." -msgstr "" +msgstr "{0} non sta tracciando nessun ramo remoto." #: forms/pushdialog.py:82 #, python-brace-format msgid "{0} already tracks remote branch {1}." -msgstr "" +msgstr "{0} traccia già il ramo remoto {1}." #: forms/pushdialog.py:84 #, python-brace-format msgid "{0} will track {1} instead of {2}." -msgstr "" +msgstr "{0} traccerà {1} invece di {2}." #: forms/pushdialog.py:86 #, python-brace-format msgid "{0} currently tracks {1}." -msgstr "" +msgstr "{0} al momento traccia {1}." #: forms/pushdialog.py:192 msgid "[tracked]" -msgstr "" +msgstr "[tracciato]" #: forms/pushdialog.py:199 #, python-brace-format msgid "New remote branch on {0}" -msgstr "" +msgstr "Nuovo ramo remoto su {0}" #: forms/pushdialog.py:217 forms/pushdialog.py:274 forms/pushdialog.py:329 msgid "&Push" -msgstr "" +msgstr "Invia (&push)" #: forms/pushdialog.py:242 msgid "(with lease)" -msgstr "" +msgstr "(con lease)" #: forms/pushdialog.py:268 msgid "Force &push" -msgstr "" +msgstr "Invia forzatamente (force &push)" #: forms/pushdialog.py:270 msgid "Force push: Destructive action!" -msgstr "" +msgstr "Invio forzato: Azione distruttiva!" #: forms/pushdialog.py:272 msgid "&Push new branch" -msgstr "" +msgstr "&Invia (push) nuovo ramo" #: forms/pushdialog.py:288 tasks/nettasks.py:103 msgid "This name is already taken by another branch on this remote." -msgstr "" +msgstr "Questo nome è già usato da un altro ramo su questo remote." #: forms/pushdialog.py:330 #, python-brace-format msgid "Click {0} to run:" -msgstr "" +msgstr "Clicca {0} per avviare:" #: forms/registersubmoduledialog.py:36 msgid "Reset to default name" -msgstr "" +msgstr "Reimposta il nome predefinito" #: forms/registersubmoduledialog.py:42 forms/registersubmoduledialog.py:43 #: tasks/taskbook.py:33 msgid "Absorb submodule" -msgstr "" +msgstr "Assorbi sottomodulo" #: forms/registersubmoduledialog.py:46 forms/registersubmoduledialog.py:47 #: tasks/taskbook.py:84 msgid "Register submodule" -msgstr "" +msgstr "Registra sottomodulo" #: forms/registersubmoduledialog.py:70 msgid "This name is already taken by another submodule." -msgstr "" +msgstr "Questo nome è già usato da un altro sottomodulo." #: forms/remotedialog.py:35 msgid "This name is already taken by another remote." -msgstr "" +msgstr "Questo nome è già usato da un altro remote." #: forms/remotedialog.py:45 #, python-brace-format msgid "Edit remote {0}" -msgstr "" +msgstr "Modifica {0} remoto" #: forms/remotedialog.py:46 tasks/taskbook.py:51 msgid "Edit remote" -msgstr "" +msgstr "Modifica remote" #: forms/remotedialog.py:47 msgid "Save" -msgstr "" +msgstr "Salva" #: forms/remotedialog.py:53 forms/remotedialog.py:54 tasks/taskbook.py:75 msgid "Add remote" -msgstr "" +msgstr "Aggiungi remote" #: forms/remotedialog.py:55 msgid "Add" -msgstr "" +msgstr "Aggiungi" #: forms/reposettingsdialog.py:44 msgctxt "RepoSettingsDialog" msgid "from global config" -msgstr "" +msgstr "dalla configurazione globale" #: forms/reposettingsdialog.py:46 msgctxt "RepoSettingsDialog" msgid "global git identity not configured" -msgstr "" +msgstr "identità git globale non configurata" #: forms/repostub.py:74 msgid "Aborting. Just a moment…" -msgstr "" +msgstr "Interrompo. Solo un momento…" #: forms/repostub.py:91 #, python-brace-format msgid "Opening {0}…" -msgstr "" +msgstr "Sto aprendo {0}…" #: forms/repostub.py:102 msgid "Try to reload" -msgstr "" +msgstr "Tentativo di ricaricamento" #: forms/repostub.py:109 msgid "Loading interrupted. Just a moment…" -msgstr "" +msgstr "Caricamento interrotto. Solo un momento…" #: forms/resetheaddialog.py:27 msgid "Hard reset: Destructive action!" -msgstr "" +msgstr "Hard reset: Azione distruttiva!" #: forms/resetheaddialog.py:77 #, python-brace-format msgid "Reset {0} to {1}" -msgstr "" +msgstr "Reimposta {0} a {1}" #: forms/resetheaddialog.py:81 #, python-brace-format msgid "Commit {0}:" -msgstr "" +msgstr "Commit {0}:" #: forms/searchbar.py:225 #, python-brace-format msgid "{text} not found." -msgstr "" +msgstr "{text} non trovato." #: forms/stashdialog.py:58 msgid "Stash && Keep Changes" -msgstr "" +msgstr "Accantona (stash) e mantieni le modifiche" #: forms/stashdialog.py:58 msgid "Stash && Reset Changes" -msgstr "" +msgstr "Accantona (stash) e annulla le modifiche" #: forms/stashdialog.py:60 msgid "&Include these files in the stash, then reset them to their unmodified state:" msgstr "" +"&Accantona questi file e quindi riportali allo stato precedente le modifiche:" #: forms/stashdialog.py:61 msgid "&Include these files in the stash:" -msgstr "" +msgstr "&Accantona questi file:" #: forms/statusform.py:81 tasks/blametasks.py:110 msgid "Please wait…" -msgstr "" +msgstr "Prego attendere…" #: forms/statusform.py:85 msgid "Abort" -msgstr "" +msgstr "Interrompi" #: forms/statusform.py:117 msgid "Aborting…" -msgstr "" +msgstr "Interrompo…" #: forms/statusform.py:128 msgid "SIGTERM sent. Waiting for process to terminate…" -msgstr "" +msgstr "SIGTERM inviato. In attesa della chiusura del processo…" #: forms/ui_aboutdialog.py:158 #, python-brace-format msgctxt "AboutDialog" msgid "About {0}" -msgstr "" +msgstr "Informazioni su {0}" #: forms/ui_aboutdialog.py:159 msgctxt "AboutDialog" msgid "About" -msgstr "" +msgstr "Informazioni" #: forms/ui_aboutdialog.py:160 msgctxt "AboutDialog" msgid "Components" -msgstr "" +msgstr "Componenti" #: forms/ui_aboutdialog.py:161 msgctxt "AboutDialog" msgid "Acknowledgments" -msgstr "" +msgstr "Riconoscimenti" #: forms/ui_aboutdialog.py:162 msgctxt "AboutDialog" msgid "License" -msgstr "" +msgstr "Licenza" #: forms/ui_checkoutcommitdialog.py:94 msgctxt "CheckoutCommitDialog" msgid "Check out commit" -msgstr "" +msgstr "Passa al commit" #: forms/ui_checkoutcommitdialog.py:95 msgctxt "CheckoutCommitDialog" msgid "How do you want to check out this commit?" -msgstr "" +msgstr "Come vuoi passare a questo commit?" #: forms/ui_checkoutcommitdialog.py:96 msgctxt "CheckoutCommitDialog" msgid "Switch to &branch:" -msgstr "" +msgstr "Passa al &ramo:" #: forms/ui_checkoutcommitdialog.py:97 msgctxt "CheckoutCommitDialog" msgid "List of branches that point to this commit." -msgstr "" +msgstr "Lista dei rami che puntano a questo commit." #: forms/ui_checkoutcommitdialog.py:98 msgctxt "CheckoutCommitDialog" msgid "Enter &detached HEAD here" -msgstr "" +msgstr "Muovi qui la %HEAD distaccata" #: forms/ui_checkoutcommitdialog.py:99 msgctxt "CheckoutCommitDialog" msgid "&Reset HEAD here…" -msgstr "" +msgstr "&Reimposta qui la HEAD…" #: forms/ui_checkoutcommitdialog.py:100 msgctxt "CheckoutCommitDialog" msgid "&Merge into HEAD…" -msgstr "" +msgstr "Unisci (merge) nella HEAD…" #: forms/ui_checkoutcommitdialog.py:101 msgctxt "CheckoutCommitDialog" msgid "Start &new branch here…" -msgstr "" +msgstr "Avvia qui un &nuovo ramo…" #: forms/ui_checkoutcommitdialog.py:102 msgctxt "CheckoutCommitDialog" msgid "After the checkout:" -msgstr "" +msgstr "Dopo il checkout:" #: forms/ui_checkoutcommitdialog.py:103 msgctxt "CheckoutCommitDialog" msgid "Update submodules recursively" -msgstr "" +msgstr "Aggiorna ricorsivamente i sottomoduli" #: forms/ui_clonedialog.py:130 msgctxt "CloneDialog" msgid "Clone repository" -msgstr "" +msgstr "Clona il repo" #: forms/ui_clonedialog.py:131 msgctxt "CloneDialog" msgid "Remote &URL:" -msgstr "" +msgstr "&URL remoto:" #: forms/ui_clonedialog.py:132 msgctxt "CloneDialog" msgid "Clone in&to:" -msgstr "" +msgstr "Clona &in:" #: forms/ui_clonedialog.py:133 msgctxt "CloneDialog" msgid "&Browse…" -msgstr "" +msgstr "&Sfoglia…" #: forms/ui_clonedialog.py:134 msgctxt "CloneDialog" msgid "Options:" -msgstr "" +msgstr "Opzioni:" #: forms/ui_clonedialog.py:135 msgctxt "CloneDialog" msgid "Initialize submodules recursively (if any)" -msgstr "" +msgstr "Inizializza ricorsivamente sottomodulo (se presente)" #: forms/ui_clonedialog.py:136 msgctxt "CloneDialog" msgid "

Tick this to download just the latest commits, not the entire history of the repository." msgstr "" +"

Attiva per scaricare solo gli ultimi commit, invece dell'intero storico " +"del repo." #: forms/ui_clonedialog.py:137 msgctxt "CloneDialog" msgid "Log in to SSH remotes with custom &key file" -msgstr "" +msgstr "Accedi ai remote SSH con un file di &chiave personalizzato" #: forms/ui_commitdialog.py:106 msgctxt "CommitDialog" msgid "Commit" -msgstr "" +msgstr "Sottometti (commit)" #: forms/ui_commitdialog.py:107 msgctxt "CommitDialog" msgid "Enter commit summary" -msgstr "" +msgstr "Inserisci il riepilogo del commit" #: forms/ui_commitdialog.py:108 msgctxt "CommitDialog" msgid "

Length of the summary. Convention is to stay under 50 characters and avoid going over 72. If that’s not enough, use the long-form description.

" msgstr "" +"

Lunghezza del riepilogo. Per convenzione è preferibile rimanere sotto i " +"50 caratteri, evitando di superare i 72. Se questo spazio non è sufficiente, " +"usa il campo descrizione approfondita.

" #: forms/ui_commitdialog.py:109 msgctxt "CommitDialog" msgid "Long-form description (optional)" -msgstr "" +msgstr "Descrizione approfondita (facoltativa)" #: forms/ui_commitdialog.py:110 msgctxt "CommitDialog" msgid "&Edit Author" -msgstr "" +msgstr "&Modifica autore" #: forms/ui_commitdialog.py:111 msgctxt "CommitDialog" msgid "Preview" -msgstr "" +msgstr "Anteprima" #: forms/ui_conflictview.py:228 msgctxt "ConflictView" msgid "Merge conflict" -msgstr "" +msgstr "Unisci (merge) conflitto" #: forms/ui_conflictview.py:229 #, python-brace-format msgctxt "ConflictView" msgid "Merge conflict on {0}" -msgstr "" +msgstr "Unisci conflitto su {0}" #: forms/ui_conflictview.py:230 msgctxt "ConflictView" msgid "OUR version" -msgstr "" +msgstr "NOSTRA versione" #: forms/ui_conflictview.py:231 msgctxt "ConflictView" msgid "or" -msgstr "" +msgstr "o" #: forms/ui_conflictview.py:232 msgctxt "ConflictView" msgid "THEIR version" -msgstr "" +msgstr "LORO versione" #: forms/ui_conflictview.py:233 msgctxt "ConflictView" msgid "Select another external merge tool in the Settings." -msgstr "" +msgstr "Scegli un altro programma differenze nelle Impostazioni." #: forms/ui_conflictview.py:234 msgctxt "ConflictView" msgid "Change merge tool…" -msgstr "" +msgstr "Cambia programma differenze…" #: forms/ui_conflictview.py:235 #, python-brace-format msgctxt "ConflictView" msgid "

Open {tool} so you can merge both versions by hand. When you are done, save the file and quit {tool} to resolve the conflict." msgstr "" +"

Apri {tool} per scegliere cosa conservare di ogni versione. Quando hai " +"finito, salva il file ed esci da {tool} per risolvere il conflitto." #: forms/ui_conflictview.py:236 #, python-brace-format msgctxt "ConflictView" msgid "Merge both versions in {tool}" -msgstr "" +msgstr "Unisci le versioni con {tool}" #: forms/ui_conflictview.py:237 msgctxt "ConflictView" msgid "Abort" -msgstr "" +msgstr "Interrompi" #: forms/ui_conflictview.py:238 #, python-brace-format msgctxt "ConflictView" msgid "

Ignore the merge that you made in {tool} so that you can start over." msgstr "" +"

Ignora l'unione che hai fatto in {tool} così da poter ricominciare da " +"capo." #: forms/ui_conflictview.py:239 msgctxt "ConflictView" msgid "Discard this merge" -msgstr "" +msgstr "Annulla quest'unione" #: forms/ui_conflictview.py:240 msgctxt "ConflictView" msgid "It looks like you’ve finished merging this file." -msgstr "" +msgstr "Sembra che tu abbia finito di unire questo file." #: forms/ui_conflictview.py:241 #, python-brace-format msgctxt "ConflictView" msgid "

Merge this file in {tool} again, starting where you left off." msgstr "" +"

Unisci nuovamente questo file in {tool}, ripartendo da dove avevi " +"lasciato." #: forms/ui_conflictview.py:242 msgctxt "ConflictView" msgid "Merge again" -msgstr "" +msgstr "Unisci ancora" #: forms/ui_conflictview.py:243 #, python-brace-format msgctxt "ConflictView" msgid "

Resolve this conflict by accepting the merge that you’ve completed in {tool}." msgstr "" +"

Risolvi questo conflitto accettando l'unione (merge) che hai completato " +"in {tool}." #: forms/ui_conflictview.py:244 msgctxt "ConflictView" msgid "Resolve the conflict with your merge" -msgstr "" +msgstr "Risolvi il conflitto con la tua unione" #: forms/ui_conflictview.py:245 msgctxt "ConflictView" msgid "Confirm deletion" -msgstr "" +msgstr "Conferma eliminazione" #: forms/ui_deletetagdialog.py:50 msgctxt "DeleteTagDialog" msgid "Delete tag" -msgstr "" +msgstr "Elimina etichetta" #: forms/ui_deletetagdialog.py:51 #, python-brace-format msgctxt "DeleteTagDialog" msgid "Really delete tag {0}?" -msgstr "" +msgstr "Vuoi davvero eliminare l'etichetta {0}?" #: forms/ui_deletetagdialog.py:52 msgctxt "DeleteTagDialog" msgid "&Push deletion to:" -msgstr "" +msgstr "Invia (&push) eliminazione a:" #: forms/ui_donateprompt.py:90 #, python-brace-format @@ -2464,267 +2481,286 @@ msgid "" "\n" "-Iliyas" msgstr "" +"Ciao! Spero che {app} ti stia piacendo.\n" +"\n" +"Se {app} ti è di aiuto, per favore considera una piccola donazione! Questo " +"mi incoraggerà a proseguirne lo sviluppo. Grazie!\n" +"\n" +"-Iliyas" #: forms/ui_donateprompt.py:95 #, python-brace-format msgctxt "DonatePrompt" msgid "Donate {amount}" -msgstr "" +msgstr "Dona {amount}" #: forms/ui_donateprompt.py:96 msgctxt "DonatePrompt" msgid "Never show this again" -msgstr "" +msgstr "Non mostrare più" #: forms/ui_donateprompt.py:97 #, python-brace-format msgctxt "DonatePrompt" msgid "Remind me in {month}" -msgstr "" +msgstr "Ricordamelo tra {month}" #: forms/ui_donateprompt.py:98 msgctxt "DonatePrompt" msgid "THANK YOU!" -msgstr "" +msgstr "GRAZIE!" #: forms/ui_identitydialog.py:63 msgctxt "IdentityDialog" msgid "Set up your Git identity" -msgstr "" +msgstr "Imposta la tua identità Git" #: forms/ui_identitydialog.py:64 msgctxt "IdentityDialog" msgid "&Name:" -msgstr "" +msgstr "&Nome:" #: forms/ui_identitydialog.py:65 msgctxt "IdentityDialog" msgid "&Email:" -msgstr "" +msgstr "&Email:" #: forms/ui_identitydialog.py:66 msgctxt "IdentityDialog" msgid "Note: This will not apply to the current repository, because its configuration file defines a custom identity." msgstr "" +"Nota: Questo non verrà applicato al repo corrente, perché il suo file di " +"configurazione definisce un'identità specifica." #: forms/ui_identitydialog.py:67 #, python-brace-format msgctxt "IdentityDialog" msgid "This information will be saved in {0}." -msgstr "" +msgstr "Quest'informazione verrà salvata in {0}." #: forms/ui_ignorepatterndialog.py:55 msgctxt "IgnorePatternDialog" msgid "Ignore file name pattern" -msgstr "" +msgstr "Ignora lo schema per il nome file" #: forms/ui_ignorepatterndialog.py:56 msgctxt "IgnorePatternDialog" msgid "&Pattern:" -msgstr "" +msgstr "&Schema:" #: forms/ui_ignorepatterndialog.py:57 msgctxt "IgnorePatternDialog" msgid "&Add to:" -msgstr "" +msgstr "&Aggiungi a:" #: forms/ui_newbranchdialog.py:81 msgctxt "NewBranchDialog" msgid "New branch" -msgstr "" +msgstr "Nuovo ramo" #: forms/ui_newbranchdialog.py:82 msgctxt "NewBranchDialog" msgid "&Name:" -msgstr "" +msgstr "&Nome" #: forms/ui_newbranchdialog.py:83 msgctxt "NewBranchDialog" msgid "Options:" -msgstr "" +msgstr "Opzioni:" #: forms/ui_newbranchdialog.py:84 msgctxt "NewBranchDialog" msgid "&Switch to branch after creating" -msgstr "" +msgstr "&Passa al ramo dopo averlo creato" #: forms/ui_newbranchdialog.py:85 msgctxt "NewBranchDialog" msgid "&Track upstream branch:" -msgstr "" +msgstr "&Traccia ramo d'origine (upstream):" #: forms/ui_newbranchdialog.py:86 msgctxt "NewBranchDialog" msgid "…then update submodules recursively" -msgstr "" +msgstr "...poi aggiorna ricorsivamente i sottomoduli" #: forms/ui_newtagdialog.py:60 msgctxt "NewTagDialog" msgid "New tag" -msgstr "" +msgstr "Nuova etichetta (tag)" #: forms/ui_newtagdialog.py:61 msgctxt "NewTagDialog" msgid "&Name:" -msgstr "" +msgstr "&Nome:" #: forms/ui_newtagdialog.py:62 msgctxt "NewTagDialog" msgid "Enter tag name" -msgstr "" +msgstr "Introduci il nome dell'etichetta" #: forms/ui_newtagdialog.py:63 msgctxt "NewTagDialog" msgid "&Push to:" -msgstr "" +msgstr "Invia (&push) a:" #: forms/ui_pushdialog.py:126 msgctxt "PushDialog" msgid "Push branch" -msgstr "" +msgstr "Invia ramo" #: forms/ui_pushdialog.py:127 msgctxt "PushDialog" msgid "&Local branch:" -msgstr "" +msgstr "Ramo &locale:" #: forms/ui_pushdialog.py:128 msgctxt "PushDialog" msgid "Push &to:" -msgstr "" +msgstr "Invia (push) &a:" #: forms/ui_pushdialog.py:129 msgctxt "PushDialog" msgid "Branch name on remote" -msgstr "" +msgstr "Nome del ramo sul remote" #: forms/ui_pushdialog.py:130 msgctxt "PushDialog" msgid "&Force push" -msgstr "" +msgstr "Invia forzatamente (&force push)" #: forms/ui_pushdialog.py:131 msgctxt "PushDialog" msgid "&Track this remote branch after pushing" -msgstr "" +msgstr "&Traccia questo ramo remoto dopo averlo inviato" #: forms/ui_registersubmoduledialog.py:96 msgctxt "RegisterSubmoduleDialog" msgid "Register submodule" -msgstr "" +msgstr "Registra sottomodulo" #: forms/ui_registersubmoduledialog.py:97 msgctxt "RegisterSubmoduleDialog" msgid "Workdir:" -msgstr "" +msgstr "Cartella di lavoro:" #: forms/ui_registersubmoduledialog.py:98 msgctxt "RegisterSubmoduleDialog" msgid "&Name:" -msgstr "" +msgstr "&Nome:" #: forms/ui_registersubmoduledialog.py:99 msgctxt "RegisterSubmoduleDialog" msgid "&Remote:" -msgstr "" +msgstr "&Remote:" #: forms/ui_registersubmoduledialog.py:100 msgctxt "RegisterSubmoduleDialog" msgid "

This will be the default remote for this submodule. People who clone your repo will use this remote to download the submodule." msgstr "" +"

Questo sarà il remote preimpostato per questo sottomodulo. Chi clonerà il " +"tuo repo userà questo remote per scaricare il sottomodulo." #: forms/ui_registersubmoduledialog.py:101 #, python-brace-format msgctxt "RegisterSubmoduleDialog" msgid "Once absorbed as a submodule, this copy of {sub} cannot be used independently from its superproject, {super}. This cannot be undone!" msgstr "" +"Una volta assorbito come sottomodulo, questa copia di {sub} non può essere " +"usata in modo indipendente dal suo superprogetto, {super}. Quest'azione è " +"irreversibile!" #: forms/ui_registersubmoduledialog.py:102 msgctxt "RegisterSubmoduleDialog" msgid "

This name uniquely identifies your submodule in “.gitmodules”. It can be anything you like, but common practice is to simply name it after the submodule’s workdir." msgstr "" +"

Questo nome identifica unicamente il tuo sottomodulo in “.gitmodules”. " +"Puoi sceglierlo liberamente, ma è usanza comune usare semplicemente il nome " +"della sua cartella di lavoro." #: forms/ui_remotedialog.py:65 msgctxt "RemoteDialog" msgid "Edit remote" -msgstr "" +msgstr "Modifica remote" #: forms/ui_remotedialog.py:66 msgctxt "RemoteDialog" msgid "&URL:" -msgstr "" +msgstr "&URL:" #: forms/ui_remotedialog.py:67 msgctxt "RemoteDialog" msgid "&Name:" -msgstr "" +msgstr "&Nome:" #: forms/ui_remotedialog.py:68 msgctxt "RemoteDialog" msgid "&Fetch remote branches after adding" -msgstr "" +msgstr "&Richiama (fetch) rami remoti dopo l'aggiunta" #: forms/ui_reposettingsdialog.py:70 #, python-brace-format msgctxt "RepoSettingsDialog" msgid "Repo Settings for {repo}" -msgstr "" +msgstr "Impostazioni repo per {repo}" #: forms/ui_reposettingsdialog.py:71 msgctxt "RepoSettingsDialog" msgid "Repo Nic&kname:" -msgstr "" +msgstr "&Soprannome del repo:" #: forms/ui_reposettingsdialog.py:72 #, python-brace-format msgctxt "RepoSettingsDialog" msgid "This nickname will appear within {app} in tab names, menus, etc. It does not change the actual name of the repo’s directory. Leave blank to clear the nickname." msgstr "" +"Questo soprannome apparirà all'interno di {app} nei nomi delle schede, nei " +"menu, ecc. Non cambia il nome reale della cartella del repo. Lascia vuoto " +"per rimuovere il soprannome." #: forms/ui_reposettingsdialog.py:73 msgctxt "RepoSettingsDialog" msgid "No nickname" -msgstr "" +msgstr "Nessun soprannome" #: forms/ui_reposettingsdialog.py:74 msgctxt "RepoSettingsDialog" msgid "Create commits under a custom &identity in this repo" -msgstr "" +msgstr "Crea commit usando un'&identità personalizzata in questo repo" #: forms/ui_reposettingsdialog.py:75 msgctxt "RepoSettingsDialog" msgid "&Name:" -msgstr "" +msgstr "&Nome:" #: forms/ui_reposettingsdialog.py:76 msgctxt "RepoSettingsDialog" msgid "&Email:" -msgstr "" +msgstr "&Email:" #: forms/ui_reposettingsdialog.py:77 msgctxt "RepoSettingsDialog" msgid "Log in to SSH remotes with custom &key file" -msgstr "" +msgstr "Accedi ai remote SSH con un file di &chiave personalizzato" #: forms/ui_repostub.py:96 msgctxt "RepoStub" msgid "Ready to load this repository." -msgstr "" +msgstr "Pronto a caricare questo repository." #: forms/ui_repostub.py:97 msgctxt "RepoStub" msgid "Load" -msgstr "" +msgstr "Carica" #: forms/ui_repostub.py:98 msgctxt "RepoStub" msgid "Abort" -msgstr "" +msgstr "Interrompi" #: forms/ui_resetheaddialog.py:72 msgctxt "ResetHeadDialog" msgid "Reset HEAD" -msgstr "" +msgstr "Reimposta HEAD" #: forms/ui_resetheaddialog.py:73 #, python-brace-format @@ -2733,6 +2769,8 @@ msgid "" "Keep all your files intact.\n" "
Stage any differences between your files and {commit}." msgstr "" +"Mantieni tutti i tuoi file intatti.\n" +"
Includi (stage) qualsiasi differenza tra i tuoi file e {commit}." #: forms/ui_resetheaddialog.py:75 #, python-brace-format @@ -2741,6 +2779,8 @@ msgid "" "Keep all your files intact.\n" "
Unstage any differences between your files and {commit}." msgstr "" +"Mantieni tutti i tuoi file intatti.\n" +"
Escludi (unstage) qualsiasi differenza tra i tuoi file e {commit}." #: forms/ui_resetheaddialog.py:77 #, python-brace-format @@ -2749,86 +2789,88 @@ msgid "" "Wipe all your changes.\n" "
End result identical to a fresh checkout of {commit}." msgstr "" +"Azzera tutte le tue modifiche.\n" +"
Il risultato finale sarà come se si fosse appena passati a {commit}." #: forms/ui_resetheaddialog.py:79 msgctxt "ResetHeadDialog" msgid "&Reset submodules recursively" -msgstr "" +msgstr "&Reimposta ricorsivamente sottomoduli" #: forms/ui_searchbar.py:46 msgctxt "SearchBar" msgid "Search" -msgstr "" +msgstr "Cerca" #: forms/ui_searchbar.py:47 msgctxt "SearchBar" msgid "Search…" -msgstr "" +msgstr "Cerca…" #: forms/ui_searchbar.py:48 msgctxt "SearchBar" msgid "Next Occurrence" -msgstr "" +msgstr "Occorrenza successiva" #: forms/ui_searchbar.py:49 msgctxt "SearchBar" msgid "Previous Occurrence" -msgstr "" +msgstr "Occorrenza precedente" #: forms/ui_searchbar.py:50 msgctxt "SearchBar" msgid "Close Search Bar" -msgstr "" +msgstr "Chiudi barra di ricerca" #: forms/ui_searchbar.py:51 msgctxt "SearchBar" msgid "Done" -msgstr "" +msgstr "Fatto" #: forms/ui_signatureform.py:73 msgctxt "SignatureForm" msgid "Signature" -msgstr "" +msgstr "Firma" #: forms/ui_signatureform.py:74 msgctxt "SignatureForm" msgid "&Override:" -msgstr "" +msgstr "&Sovrascrivi:" #: forms/ui_signatureform.py:75 msgctxt "SignatureForm" msgid "&Identity:" -msgstr "" +msgstr "&Identità:" #: forms/ui_signatureform.py:76 forms/ui_signatureform.py:77 msgctxt "SignatureForm" msgid "Name" -msgstr "" +msgstr "Nome" #: forms/ui_signatureform.py:78 forms/ui_signatureform.py:79 msgctxt "SignatureForm" msgid "Email" -msgstr "" +msgstr "Email" #: forms/ui_signatureform.py:80 msgctxt "SignatureForm" msgid "&Time:" -msgstr "" +msgstr "&Ora:" #: forms/ui_signatureform.py:81 msgctxt "SignatureForm" msgid "Offset from UTC" -msgstr "" +msgstr "Scarto da UTC" #: forms/ui_signatureform.py:82 msgctxt "SignatureForm" msgid "Set to current local time" -msgstr "" +msgstr "Imposta ora locale" #: forms/ui_signatureform.py:83 msgctxt "SignatureForm" msgid "Now" -msgstr "" +msgstr "Adesso" #: forms/ui_signatureform.py:84 msgctxt "SignatureForm" @@ -2836,366 +2878,383 @@ msgid "" "

Every commit records information about an author and a committer. They can be the same person.

\n" "

Select which person you want to override.

" msgstr "" +"

Ogni commit memorizza informazioni riguardo all'autore e al " +"sottomettente. Possono anche essere la stessa persona.

\n" +"

Scegli quale persona vuoi sovrascrivere.

" #: forms/ui_signatureform.py:86 msgctxt "SignatureForm" msgid "Author" -msgstr "" +msgstr "Autore" #: forms/ui_signatureform.py:87 msgctxt "SignatureForm" msgid "Committer" -msgstr "" +msgstr "Sottomettente" #: forms/ui_signatureform.py:88 msgctxt "SignatureForm" msgid "Both" -msgstr "" +msgstr "Entrambi" #: forms/ui_stashdialog.py:65 msgctxt "StashDialog" msgid "New stash" -msgstr "" +msgstr "Nuovo accantonamento (stash)" #: forms/ui_stashdialog.py:66 msgctxt "StashDialog" msgid "Optional stash message" -msgstr "" +msgstr "Messaggio facoltativo dell'accantonamento" #: forms/ui_stashdialog.py:67 msgctxt "StashDialog" msgid "Normally, stashed changes are removed from the working directory. Tick this to leave the stashed changes intact instead." msgstr "" +"Normalmente, le modifiche accantonate vengono rimosse dalla cartella di " +"lavoro. Attiva questa casella per lasciarle intatte." #: forms/ui_stashdialog.py:68 msgctxt "StashDialog" msgid "&Retain stashed changes in working directory" -msgstr "" +msgstr "&Mantieni le modifiche accantonate nella cartella di lavoro" #: forms/ui_stashdialog.py:69 msgctxt "StashDialog" msgid "Warning: Some of the files have both staged and unstaged changes. Those changes will be combined in the stash." msgstr "" +"Attenzione: Alcuni file hanno sia modifiche incluse che escluse. Queste " +"modifiche verranno accantonate insieme." #: forms/ui_welcomewidget.py:68 msgctxt "WelcomeWidget" msgid "Welcome" -msgstr "" +msgstr "Benvenuto" #: forms/ui_welcomewidget.py:69 msgctxt "WelcomeWidget" msgid "Clone remote repository" -msgstr "" +msgstr "Clona repository remoto" #: forms/ui_welcomewidget.py:70 msgctxt "WelcomeWidget" msgid "New empty repository" -msgstr "" +msgstr "Nuovo repository remoto" #: forms/ui_welcomewidget.py:71 msgctxt "WelcomeWidget" msgid "Open local repository" -msgstr "" +msgstr "Apri repository locale" #: forms/ui_welcomewidget.py:72 msgctxt "WelcomeWidget" msgid "Recent repositories" -msgstr "" +msgstr "Repository recenti" #: forms/ui_welcomewidget.py:73 #, python-brace-format msgctxt "WelcomeWidget" msgid "Welcome to
{app}" -msgstr "" +msgstr "Benvenuto in
{app}" #: gitdriver.py:225 #, python-brace-format msgid "Git command exited with code {0}." -msgstr "" +msgstr "Il comando git è uscito con codice {0}." #: graphview/commitlogdelegate.py:215 #, python-brace-format msgid "History truncated to {0} commits (including hidden branches)" -msgstr "" +msgstr "Storico troncato a {0} commit (inclusi i rami nascosti)" #: graphview/commitlogdelegate.py:217 #, python-brace-format msgid "History truncated to {0} commits" -msgstr "" +msgstr "Storico troncato a {0} commit" #: graphview/commitlogdelegate.py:221 tasks/jumptasks.py:213 msgid "Shallow clone – End of commit history" -msgstr "" +msgstr "Clone breve - Fine dello storico" #: graphview/commitlogdelegate.py:450 repowidget.py:643 #: sidebar/sidebarmodel.py:631 sidebar/sidebarmodel.py:634 msgid "Detached HEAD" -msgstr "" +msgstr "HEAD distaccata" #: graphview/commitlogdelegate.py:589 msgid "(Clean)" -msgstr "" +msgstr "(Pulito)" #: graphview/commitlogdelegate.py:591 #, python-brace-format msgid "({n} change)" msgid_plural "({n} changes)" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "({n} modifica)" +msgstr[1] "({n} modifiche)" #: graphview/commitlogdelegate.py:596 msgid "Commit draft:" -msgstr "" +msgstr "Bozza del commit:" #: graphview/commitlogmodel.py:185 msgctxt "CommitTooltip" msgid "(authored)" -msgstr "" +msgstr "(autore)" #: graphview/commitlogmodel.py:186 msgctxt "CommitTooltip" msgid "(committed)" -msgstr "" +msgstr "(sottomettente)" #: graphview/commitlogmodel.py:190 #, python-brace-format msgctxt "CommitTooltip" msgid "Committed by {0}" -msgstr "" +msgstr "Sottomesso da {0}" #: graphview/graphview.py:42 msgid "This commit isn’t shown in the graph because it’s part of a hidden branch." msgstr "" +"Questo commit non viene mostrato nel grafico perché è parte di un ramo " +"nascosto." #: graphview/graphview.py:44 msgid "This commit isn’t shown in the graph because it isn’t part of the truncated commit history." msgstr "" +"Questo commit non viene mostrato nel grafico perché è parte di uno storico " +"troncato." #: graphview/graphview.py:46 msgid "This commit isn’t shown in the graph." -msgstr "" +msgstr "Questo commit non viene mostrato nel grafico." #: graphview/graphview.py:73 msgid "Find a commit by hash, message or author|Find commit" msgstr "" +"Trova un commit tramite il suo identificativo, messaggio o autore|Trova " +"commit" #: graphview/graphview.py:112 msgid "Clear Draft Message" -msgstr "" +msgstr "Svuota messaggio della bozza" #: graphview/graphview.py:125 tasks/jumptasks.py:223 #, python-brace-format msgid "Load up to {0} commits" -msgstr "" +msgstr "Carica fino a {0} commit" #: graphview/graphview.py:127 msgid "Load full commit history" -msgstr "" +msgstr "Carica l'intero storico" #: graphview/graphview.py:129 msgid "Change threshold setting" -msgstr "" +msgstr "Cambia impostazione soglia" #: graphview/graphview.py:144 msgid "&Check Out…" -msgstr "" +msgstr "&Passa a (check out)…" #: graphview/graphview.py:154 sidebar/sidebar.py:257 sidebar/sidebar.py:276 msgid "New &Branch Here…" -msgstr "" +msgstr "Nuovo &ramo qui…" #: graphview/graphview.py:155 msgid "&Tag This Commit…" -msgstr "" +msgstr "&Etichetta questo commit…" #: graphview/graphview.py:158 msgid "&Reset HEAD to Here…" -msgstr "" +msgstr "&Reimposta qui la HEAD…" #: graphview/graphview.py:160 msgid "Cherry &Pick…" -msgstr "" +msgstr "Cernita (cherry &pick)…" #: graphview/graphview.py:161 msgid "Re&vert…" -msgstr "" +msgstr "&Regredisci…" #: graphview/graphview.py:162 msgid "E&xport As Patch…" -msgstr "" +msgstr "&Esporta come patch…" #: graphview/graphview.py:164 msgid "Copy Commit &Hash" -msgstr "" +msgstr "Copia identificativo (&hash) del commit..." #: graphview/graphview.py:165 msgid "Copy Commit M&essage" -msgstr "" +msgstr "Copia &messaggio commit" #: graphview/graphview.py:167 msgid "Get &Info…" -msgstr "" +msgstr "Recupera &informazioni…" #: mainwindow.py:185 msgid "&File" -msgstr "" +msgstr "&File" #: mainwindow.py:186 msgid "&Edit" -msgstr "" +msgstr "&Modifica" #: mainwindow.py:187 msgid "&View" -msgstr "" +msgstr "&Vista" #: mainwindow.py:188 msgid "&Repo" -msgstr "" +msgstr "&Repo" #: mainwindow.py:189 msgid "&Help" -msgstr "" +msgstr "&Aiuto" #: mainwindow.py:202 msgid "&New Repository…" -msgstr "" +msgstr "&Nuovo repository.…" #: mainwindow.py:204 msgid "Create an empty Git repo" -msgstr "" +msgstr "Crea un repo git vuoto" #: mainwindow.py:206 msgid "C&lone Repository…" -msgstr "" +msgstr "C&lona repository…" #: mainwindow.py:208 msgid "Download a Git repo and open it" -msgstr "" +msgstr "Scarica un repo git e aprilo" #: mainwindow.py:212 msgid "&Open Repository…" -msgstr "" +msgstr "&Apri repository.…" #: mainwindow.py:216 msgid "Open &Recent" -msgstr "" +msgstr "Apri &recente" #: mainwindow.py:218 msgid "List of recently opened Git repos" -msgstr "" +msgstr "Lista di repo aperti di recente" #: mainwindow.py:228 msgid "&Settings…" -msgstr "" +msgstr "&Impostazioni…" #: mainwindow.py:238 msgid "&Close Tab" -msgstr "" +msgstr "&Chiudi scheda" #: mainwindow.py:240 msgid "Close current repository tab" -msgstr "" +msgstr "Chiudi la scheda repo corrente" #: mainwindow.py:242 msgid "&Quit" -msgstr "" +msgstr "&Esci" #: mainwindow.py:244 #, python-brace-format msgid "Quit {app}" -msgstr "" +msgstr "Esci da {app}" #: mainwindow.py:253 msgid "&Find…" -msgstr "" +msgstr "&Trova…" #: mainwindow.py:255 msgid "Search for a piece of text in commit messages, the current diff, or the name of a file" msgstr "" +"Cerca del testo nei messaggi dei commit, nelle differenze correnti o nei " +"nomi dei file" #: mainwindow.py:257 msgid "Find Next" -msgstr "" +msgstr "Trova successivo" #: mainwindow.py:259 msgid "Find next occurrence" -msgstr "" +msgstr "Trova la prossima occorrenza" #: mainwindow.py:261 msgid "Find Previous" -msgstr "" +msgstr "Trova precedente" #: mainwindow.py:263 msgid "Find previous occurrence" -msgstr "" +msgstr "Trova l'occorrenza precedente" #: mainwindow.py:278 trtables.py:385 msgid "Show status bar" -msgstr "" +msgstr "Mostra barra di stato" #: mainwindow.py:279 trtables.py:387 msgid "Show menu bar" -msgstr "" +msgstr "Mostra barra dei menu" #: mainwindow.py:284 msgid "Focus on Sidebar" -msgstr "" +msgstr "Inquadra la barra laterale" #: mainwindow.py:285 msgid "Focus on Commit Log" -msgstr "" +msgstr "Inquadra lo storico dei commit" #: mainwindow.py:286 msgid "Focus on File List" -msgstr "" +msgstr "Inquadra la lista file" #: mainwindow.py:287 msgid "Focus on Code View" -msgstr "" +msgstr "Inquadra l'area codice" #: mainwindow.py:289 msgid "Blame File…" -msgstr "" +msgstr "Indaga file…" #: mainwindow.py:290 msgid "Next File" -msgstr "" +msgstr "File successivo" #: mainwindow.py:291 msgid "Previous File" -msgstr "" +msgstr "File precedente" #: mainwindow.py:293 msgid "&Next Tab" -msgstr "" +msgstr "Scheda &successiva" #: mainwindow.py:294 msgid "&Previous Tab" -msgstr "" +msgstr "Scheda &precedente" #: mainwindow.py:301 msgid "Navigation Log" -msgstr "" +msgstr "Registro di navigazione" #: mainwindow.py:310 msgid "&Refresh" -msgstr "" +msgstr "&Ricontrolla" #: mainwindow.py:314 msgid "Check for changes in the repo (on the local filesystem only – will not fetch remotes)" msgstr "" +"Controlla se ci sono cambiamenti nel repo (solo sul file system locale - non " +"equivale a richiamare i remote con fetch)" #: mainwindow.py:318 msgid "Reloa&d" -msgstr "" +msgstr "Ri&carica" #: mainwindow.py:321 msgid "Reopen the repo from scratch" -msgstr "" +msgstr "Riapri il repo da zero" #: mainwindow.py:346 msgid "Edit Commands…" -msgstr "" +msgstr "Modifica comandi.…" #: mainwindow.py:368 #, python-brace-format From 1ab768ec6576cf70fac32ac7d4f7200417a8e3bd Mon Sep 17 00:00:00 2001 From: LordTenebrous Date: Tue, 30 Sep 2025 13:01:59 +0200 Subject: [PATCH 10/14] Translated using Weblate (Spanish) Currently translated at 50.9% (564 of 1108 strings) Translation: GitFourchette/GitFourchette Translate-URL: https://hosted.weblate.org/projects/gitfourchette/gitfourchette/es/ --- gitfourchette/assets/lang/es.po | 71 +++++++++++++++++---------------- 1 file changed, 36 insertions(+), 35 deletions(-) diff --git a/gitfourchette/assets/lang/es.po b/gitfourchette/assets/lang/es.po index 4d0b71d8..8bdce675 100644 --- a/gitfourchette/assets/lang/es.po +++ b/gitfourchette/assets/lang/es.po @@ -4,7 +4,7 @@ msgid "" msgstr "" "Project-Id-Version: GitFourchette\n" "Report-Msgid-Bugs-To: https://github.com/jorio/gitfourchette/issues\n" -"PO-Revision-Date: 2025-05-21 06:02+0000\n" +"PO-Revision-Date: 2025-09-30 12:01+0000\n" "Last-Translator: LordTenebrous \n" "Language-Team: Spanish \n" @@ -13,7 +13,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 5.12-dev\n" +"X-Generator: Weblate 5.14-dev\n" #: application.py:84 forms/aboutdialog.py:52 msgid "The comfortable Git UI for Linux." @@ -2483,35 +2483,35 @@ msgstr "" #: mainwindow.py:186 msgid "&File" -msgstr "" +msgstr "&Archivo" #: mainwindow.py:187 msgid "&Edit" -msgstr "" +msgstr "&Editar" #: mainwindow.py:188 msgid "&View" -msgstr "" +msgstr "&Vista" #: mainwindow.py:189 msgid "&Repo" -msgstr "" +msgstr "&Repo" #: mainwindow.py:190 msgid "&Help" -msgstr "" +msgstr "&Ayuda" #: mainwindow.py:208 msgid "&New Repository…" -msgstr "" +msgstr "&Nuevo Repositorio…" #: mainwindow.py:210 msgid "Create an empty Git repo" -msgstr "" +msgstr "Crear un repositorio de Git vacío" #: mainwindow.py:212 msgid "C&lone Repository…" -msgstr "" +msgstr "C&lonar Repositorio…" #: mainwindow.py:214 msgid "Download a Git repo and open it" @@ -2527,32 +2527,32 @@ msgstr "" #: mainwindow.py:224 msgid "List of recently opened Git repos" -msgstr "" +msgstr "Listado de repositorios Git abiertos recientemente" #: mainwindow.py:234 msgid "&Settings…" -msgstr "" +msgstr "&Ajustes…" #: mainwindow.py:244 msgid "&Close Tab" -msgstr "" +msgstr "&Cerrar Pestaña" #: mainwindow.py:246 msgid "Close current repository tab" -msgstr "" +msgstr "Cerrar la pestaña del repositorio actual" #: mainwindow.py:248 msgid "&Quit" -msgstr "" +msgstr "&Salir" #: mainwindow.py:250 #, python-brace-format msgid "Quit {app}" -msgstr "" +msgstr "Salir {app}" #: mainwindow.py:259 msgid "&Find…" -msgstr "" +msgstr "&Encontrar…" #: mainwindow.py:261 msgid "Search for a piece of text in commit messages, the current diff, or the name of a file" @@ -2560,19 +2560,19 @@ msgstr "" #: mainwindow.py:263 msgid "Find Next" -msgstr "" +msgstr "Encontrar Siguiente" #: mainwindow.py:265 msgid "Find next occurrence" -msgstr "" +msgstr "Encontrar siguiente aparición" #: mainwindow.py:267 msgid "Find Previous" -msgstr "" +msgstr "Encontrar Anterior" #: mainwindow.py:269 msgid "Find previous occurrence" -msgstr "" +msgstr "Encontrar anterior aparición" #: mainwindow.py:284 trtables.py:275 msgid "Show status bar" @@ -2600,19 +2600,19 @@ msgstr "" #: mainwindow.py:295 msgid "Next File" -msgstr "" +msgstr "Siguiente Archivo" #: mainwindow.py:296 msgid "Previous File" -msgstr "" +msgstr "Archivo Anterior" #: mainwindow.py:298 msgid "&Next Tab" -msgstr "" +msgstr "&Siguiente Pestaña" #: mainwindow.py:299 msgid "&Previous Tab" -msgstr "" +msgstr "&Anterior Pestaña" #: mainwindow.py:306 msgid "Navigation Log" @@ -2620,7 +2620,7 @@ msgstr "" #: mainwindow.py:315 msgid "&Refresh" -msgstr "" +msgstr "&Actualizar" #: mainwindow.py:319 msgid "Check for changes in the repo (on the local filesystem only – will not fetch remotes)" @@ -2628,16 +2628,16 @@ msgstr "" #: mainwindow.py:323 msgid "Reloa&d" -msgstr "" +msgstr "Recarga&r" #: mainwindow.py:326 msgid "Reopen the repo from scratch" -msgstr "" +msgstr "Reabrir el repositorio desde cero" #: mainwindow.py:336 #, python-brace-format msgid "&About {0}" -msgstr "" +msgstr "& Acerca de {0}" #: mainwindow.py:340 #, python-brace-format @@ -2646,7 +2646,7 @@ msgstr "{0} Guía del Usuario" #: mainwindow.py:346 msgid "Open Trash…" -msgstr "" +msgstr "Abrir Papelera…" #: mainwindow.py:348 msgid "Explore changes that you may have discarded by mistake" @@ -2654,15 +2654,16 @@ msgstr "Explora los cambios que podrías haber descartado por error" #: mainwindow.py:350 msgid "Empty Trash…" -msgstr "" +msgstr "Vaciar Papelera…" #: mainwindow.py:351 +#, fuzzy msgid "Delete all discarded changes from the trash folder" -msgstr "" +msgstr "Borrar todos los cambios descartados de la papelera" #: mainwindow.py:381 msgid "Clear List" -msgstr "" +msgstr "Borrar Lista" #: mainwindow.py:382 msgid "Clear the list of recently opened repositories" @@ -2737,7 +2738,7 @@ msgstr[1] "" #: mainwindow.py:657 #, python-brace-format msgid "This will free up {0} on disk." -msgstr "" +msgstr "Esto liberará {0} en el disco." #: mainwindow.py:658 tasks/branchtasks.py:185 tasks/branchtasks.py:222 #: tasks/indextasks.py:164 tasks/indextasks.py:240 tasks/indextasks.py:278 @@ -2756,7 +2757,7 @@ msgstr "Nuevo repositorio" #: mainwindow.py:676 msgid "&Create repo here" -msgstr "" +msgstr "&Crear repositorio aquí" #: mainwindow.py:694 #, python-brace-format From fc9791d3ede8117ddb8632f1d6e7f9ccb94eae38 Mon Sep 17 00:00:00 2001 From: LordTenebrous Date: Wed, 1 Oct 2025 08:19:56 +0200 Subject: [PATCH 11/14] Translated using Weblate (Spanish) Currently translated at 51.2% (568 of 1108 strings) Translation: GitFourchette/GitFourchette Translate-URL: https://hosted.weblate.org/projects/gitfourchette/gitfourchette/es/ --- gitfourchette/assets/lang/es.po | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/gitfourchette/assets/lang/es.po b/gitfourchette/assets/lang/es.po index 8bdce675..1d4c615c 100644 --- a/gitfourchette/assets/lang/es.po +++ b/gitfourchette/assets/lang/es.po @@ -4,7 +4,7 @@ msgid "" msgstr "" "Project-Id-Version: GitFourchette\n" "Report-Msgid-Bugs-To: https://github.com/jorio/gitfourchette/issues\n" -"PO-Revision-Date: 2025-09-30 12:01+0000\n" +"PO-Revision-Date: 2025-10-02 07:01+0000\n" "Last-Translator: LordTenebrous \n" "Language-Team: Spanish \n" @@ -2898,7 +2898,7 @@ msgstr "" #: nav.py:76 msgctxt "NavContext" msgid "Unknown" -msgstr "" +msgstr "Desconocido" #: remotelink.py:94 msgid "Remote operation interrupted by user." @@ -3202,7 +3202,7 @@ msgstr "" #: sidebar/sidebar.py:160 msgid "&New Branch…" -msgstr "" +msgstr "&Nueva Rama…" #: sidebar/sidebar.py:162 sidebar/sidebar.py:418 msgid "Sort By" @@ -3408,7 +3408,7 @@ msgstr "" #: sidebar/sidebarmodel.py:569 #, python-brace-format msgid "{0} (local branch)" -msgstr "" +msgstr "{0} (rama local)" #: sidebar/sidebarmodel.py:575 #, python-brace-format @@ -3460,7 +3460,7 @@ msgstr "" #: sidebar/sidebarmodel.py:674 #, python-brace-format msgid "Tag {0}" -msgstr "" +msgstr "Etiqueta {0}" #: sidebar/sidebarmodel.py:701 #, python-brace-format From 7eb2143f6c9c0f7ef78eeee8bcdc02ea5605f350 Mon Sep 17 00:00:00 2001 From: Cyril Date: Tue, 21 Oct 2025 11:27:36 +0200 Subject: [PATCH 12/14] Translated using Weblate (French) Currently translated at 100.0% (1463 of 1463 strings) Translation: GitFourchette/GitFourchette Translate-URL: https://hosted.weblate.org/projects/gitfourchette/gitfourchette/fr/ --- gitfourchette/assets/lang/fr.po | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/gitfourchette/assets/lang/fr.po b/gitfourchette/assets/lang/fr.po index 822c6d01..ff9e09c1 100644 --- a/gitfourchette/assets/lang/fr.po +++ b/gitfourchette/assets/lang/fr.po @@ -3,8 +3,8 @@ msgstr "" "Project-Id-Version: GitFourchette\n" "Report-Msgid-Bugs-To: https://github.com/jorio/gitfourchette/issues\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2025-09-07 21:29+0000\n" -"Last-Translator: Alex Nadzharov \n" +"PO-Revision-Date: 2025-10-22 10:02+0000\n" +"Last-Translator: Cyril \n" "Language-Team: French \n" "Language: fr\n" @@ -1274,9 +1274,8 @@ msgid "Detach HEAD" msgstr "Détacher HEAD" #: forms/checkoutcommitdialog.py:44 -#, fuzzy msgid "Switch Branch" -msgstr "Basculer sur branche" +msgstr "Changer de branche" #: forms/checkoutcommitdialog.py:45 #, python-brace-format From 08189728e4f5d83e0971c1e2b6f24cc31f58ba59 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dani=20Rodr=C3=ADguez?= Date: Sun, 23 Nov 2025 16:50:48 +0100 Subject: [PATCH 13/14] Translated using Weblate (Spanish) Currently translated at 51.5% (571 of 1108 strings) Translation: GitFourchette/GitFourchette Translate-URL: https://hosted.weblate.org/projects/gitfourchette/gitfourchette/es/ --- gitfourchette/assets/lang/es.po | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/gitfourchette/assets/lang/es.po b/gitfourchette/assets/lang/es.po index 1d4c615c..abf34b9d 100644 --- a/gitfourchette/assets/lang/es.po +++ b/gitfourchette/assets/lang/es.po @@ -4,8 +4,8 @@ msgid "" msgstr "" "Project-Id-Version: GitFourchette\n" "Report-Msgid-Bugs-To: https://github.com/jorio/gitfourchette/issues\n" -"PO-Revision-Date: 2025-10-02 07:01+0000\n" -"Last-Translator: LordTenebrous \n" +"PO-Revision-Date: 2025-11-24 15:51+0000\n" +"Last-Translator: Dani Rodríguez \n" "Language-Team: Spanish \n" "Language: es\n" @@ -13,7 +13,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 5.14-dev\n" +"X-Generator: Weblate 5.15-dev\n" #: application.py:84 forms/aboutdialog.py:52 msgid "The comfortable Git UI for Linux." @@ -2406,7 +2406,7 @@ msgstr "(commit guardado por)" #, python-brace-format msgctxt "CommitTooltip" msgid "Committed by {0}" -msgstr "" +msgstr "Confirmado por {0}" #: graphview/graphview.py:41 msgid "This commit isn’t shown in the graph because it’s part of a hidden branch." @@ -2443,7 +2443,7 @@ msgstr "" #: graphview/graphview.py:117 sidebar/sidebar.py:193 sidebar/sidebar.py:292 #, python-brace-format msgid "&Merge into {0}…" -msgstr "" +msgstr "&Fusionar en {0}…" #: graphview/graphview.py:122 msgid "&Check Out…" @@ -2451,7 +2451,7 @@ msgstr "" #: graphview/graphview.py:128 sidebar/sidebar.py:238 sidebar/sidebar.py:251 msgid "New &Branch Here…" -msgstr "" +msgstr "Nueva &rama aquí…" #: graphview/graphview.py:129 msgid "&Tag This Commit…" From 495d7e934b0acfd4fcd81f707b9d1099a926768b Mon Sep 17 00:00:00 2001 From: Konstantin Adamov Date: Sun, 18 Jan 2026 04:59:34 +0100 Subject: [PATCH 14/14] Translated using Weblate (Russian) Currently translated at 4.3% (59 of 1361 strings) Translation: GitFourchette/GitFourchette Translate-URL: https://hosted.weblate.org/projects/gitfourchette/gitfourchette/ru/ --- gitfourchette/assets/lang/ru.po | 110 +++++++++++++++++--------------- 1 file changed, 58 insertions(+), 52 deletions(-) diff --git a/gitfourchette/assets/lang/ru.po b/gitfourchette/assets/lang/ru.po index e2a99355..f261de3e 100644 --- a/gitfourchette/assets/lang/ru.po +++ b/gitfourchette/assets/lang/ru.po @@ -4,8 +4,8 @@ msgid "" msgstr "" "Project-Id-Version: GitFourchette\n" "Report-Msgid-Bugs-To: https://github.com/jorio/gitfourchette/issues\n" -"PO-Revision-Date: 2025-09-08 18:30+0000\n" -"Last-Translator: Alex Nadzharov \n" +"PO-Revision-Date: 2026-01-19 04:01+0000\n" +"Last-Translator: Konstantin Adamov \n" "Language-Team: Russian \n" "Language: ru\n" @@ -14,7 +14,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -"X-Generator: Weblate 5.14-dev\n" +"X-Generator: Weblate 5.15.2\n" #: application.py:90 forms/aboutdialog.py:54 msgid "The comfortable Git UI for Linux." @@ -28,15 +28,19 @@ msgstr "Пути репозиториев, которые будут откры #, python-brace-format msgid "Your preferred Qt binding {0} is not available on this machine. Using {1} instead." msgstr "" +"Ваша предпочитаемая привязка Qt {0} недоступна на этом компьютере. Вместо " +"этого используется {1}." #: application.py:226 #, python-brace-format msgid "Your preferred Qt binding {0} is not recognized by {app}. Using {1} instead. (Supported values: {known})" msgstr "" +"Ваша предпочитаемая привязка Qt {0} не распознана приложением {app}. Вместо " +"неё используется {1}. (Поддерживаемые значения: {known})" #: application.py:230 msgid "Qt binding unavailable" -msgstr "" +msgstr "Недоступна привязка Qt" #: application.py:270 toolbox/messageboxes.py:40 msgid "Please open a repository before performing this action." @@ -44,20 +48,20 @@ msgstr "Пожалуйста, откройте репозиторий перед #: blameview/blamegutter.py:157 blameview/blamewindow.py:184 msgid "(Uncommitted)" -msgstr "" +msgstr "(Не закоммичено)" #: blameview/blamegutter.py:187 filelists/filelistmodel.py:67 #: forms/prefsdialog.py:199 tasks/misctasks.py:70 tasks/nettasks.py:248 msgid ":" -msgstr "" +msgstr ":" #: blameview/blamegutter.py:193 msgid "Not Committed Yet" -msgstr "" +msgstr "Ещё не закоммичено" #: blameview/blamegutter.py:193 blameview/blamegutter.py:196 msgid "commit" -msgstr "" +msgstr "коммит" #: blameview/blamegutter.py:197 msgid "author" @@ -73,65 +77,65 @@ msgstr "имя файла" #: blameview/blamegutter.py:200 msgid "revision" -msgstr "" +msgstr "редакция" #: blameview/blamescrubberdelegate.py:55 blameview/blamescrubbermodel.py:43 msgid "Uncommitted Changes in Working Directory" -msgstr "" +msgstr "Незакоммиченные изменения в рабочей директории" #: blameview/blametextedit.py:44 msgid "Blame File at Uncommitted Revision" -msgstr "" +msgstr "Аннотирование файла для незакоммиченной редакции" #: blameview/blametextedit.py:45 msgid "Show Diff in Working Directory" -msgstr "" +msgstr "Показать изменения в рабочей директории" #: blameview/blametextedit.py:47 #, python-brace-format msgid "Blame File at {0}" -msgstr "" +msgstr "Аннотирование файла в {0}" #: blameview/blametextedit.py:48 #, python-brace-format msgid "Show {0} in Repo" -msgstr "" +msgstr "Показать {0} в репозитории" #: blameview/blamewindow.py:50 msgid "Jump" -msgstr "" +msgstr "Прыгнуть" #: blameview/blamewindow.py:51 msgid "View this commit in the repo" -msgstr "" +msgstr "Просмотреть этот коммит в репозитории" #: blameview/blamewindow.py:56 msgid "Shift+Click:" -msgstr "" +msgstr "Шифт+Нажатие:" #: blameview/blamewindow.py:59 msgid "Older" -msgstr "" +msgstr "Старее" #: blameview/blamewindow.py:61 msgid "Go to next older revision" -msgstr "" +msgstr "Перейти к более старой редакции" #: blameview/blamewindow.py:61 msgid "Jump to bottom" -msgstr "" +msgstr "Перейти в конец" #: blameview/blamewindow.py:65 msgid "Newer" -msgstr "" +msgstr "Никогда" #: blameview/blamewindow.py:67 msgid "Go to next newer revision" -msgstr "" +msgstr "Перейти к более новой редакции" #: blameview/blamewindow.py:67 msgid "Jump to top" -msgstr "" +msgstr "Перейти в начало" #: blameview/blamewindow.py:71 msgid "Back" @@ -139,129 +143,131 @@ msgstr "Назад" #: blameview/blamewindow.py:73 tasks/taskbook.py:63 msgid "Navigate back" -msgstr "" +msgstr "Перейти назад" #: blameview/blamewindow.py:77 msgid "Forward" -msgstr "" +msgstr "Вперед" #: blameview/blamewindow.py:79 tasks/taskbook.py:64 tasks/taskbook.py:65 msgid "Navigate forward" -msgstr "" +msgstr "Перейти вперед" #: blameview/blamewindow.py:163 #, python-brace-format msgid "File deleted in commit {0}" -msgstr "" +msgstr "Файл удален в коммите {0}" #: blameview/blamewindow.py:169 #, python-brace-format msgid "Binary blob, {size} bytes, {hash}" -msgstr "" +msgstr "Бинарный объект, {size} байт(ов), {hash}" #: blameview/blamewindow.py:183 #, python-brace-format msgid "Blame {path} @ {commit}" -msgstr "" +msgstr "Аннотировать {path} @ {commit}" #: codeview/codeview.py:65 msgid "Find text in code|Find text" -msgstr "" +msgstr "Найти текст в коде|Найти текст" #: codeview/codeview.py:339 msgid "&Word Wrap" -msgstr "" +msgstr "&Перенос строки" #: codeview/codeview.py:340 msgid "Configure Appearance…" -msgstr "" +msgstr "Настроить Внешний Вид…" #: codeview/codeview.py:505 msgid "End of document reached." -msgstr "" +msgstr "Достигнут конец документа." #: codeview/codeview.py:506 msgid "Top of document reached." -msgstr "" +msgstr "Достигнуто начало документа." #: codeview/codeview.py:507 #, python-brace-format msgid "No more occurrences of {0} found." -msgstr "" +msgstr "Больше не найдено вхождений {0}." #: codeview/codeview.py:513 msgid "Wrap Around" -msgstr "" +msgstr "Поиск по Кругу" #: diffarea.py:109 msgid "Unstaged files: will not be included in the commit unless you stage them." msgstr "" +"Неподготовленные файлы: не будут включены в коммит, пока вы их не " +"переместите в область подготовленных." #: diffarea.py:117 msgid "Stage" -msgstr "" +msgstr "Подготовить к Коммиту" #: diffarea.py:119 msgid "Stage selected files" -msgstr "" +msgstr "Подготовить выбранные файлы" #: diffarea.py:124 diffview/diffview.py:76 msgid "Discard" -msgstr "" +msgstr "Отменить изменения" #: diffarea.py:126 msgid "Discard changes in selected files" -msgstr "" +msgstr "Отменить изменения в выбранных файлах" #: diffarea.py:161 msgid "Staged files: will be included in the commit." -msgstr "" +msgstr "Подготовленные файлы: будут включены в коммит." #: diffarea.py:169 msgid "Unstage" -msgstr "" +msgstr "Убрать из подготовленных" #: diffarea.py:171 msgid "Unstage selected files" -msgstr "" +msgstr "Убрать выбранные файлы из подготовленных" #: diffarea.py:176 forms/commitdialog.py:55 tasks/committasks.py:423 #: tasks/committasks.py:468 msgctxt "verb" msgid "Commit" -msgstr "" +msgstr "Коммит" #: diffview/diffdocument.py:191 msgid "This file contains very long lines." -msgstr "" +msgstr "Этот файл содержит очень длинные строки." #: diffview/diffdocument.py:192 diffview/specialdiff.py:118 msgid "[Load diff anyway] (this may take a moment)" -msgstr "" +msgstr "[Загрузить diff всё равно] (это может занять некоторое время)" #: diffview/diffdocument.py:269 msgid "" -msgstr "" +msgstr "<нет новой строки в конце файла>" #: diffview/diffview.py:53 msgid "Find text in diff|Find in diff" -msgstr "" +msgstr "Найти текст в diff|Найти в diff" #: diffview/diffview.py:64 msgid "Stage Selection" -msgstr "" +msgstr "Подготовить выбранное" #: diffview/diffview.py:66 msgid "Stage selected lines" -msgstr "" +msgstr "Подготовить выбранные строки" #: diffview/diffview.py:70 msgid "Unstage Selection" -msgstr "" +msgstr "Убрать выбранное из подготовленных" #: diffview/diffview.py:73 msgid "Unstage selected lines" -msgstr "" +msgstr "Убрать выбранные строки из подготовленных" #: diffview/diffview.py:79 msgid "Discard selected lines"