# Bulgarian translation of git-gui-glossary po-file.
# Copyright (C) 2012, 2013, 2014 Alexander Shopov <ash@kambanaria.org>.
# This file is distributed under the same license as the git package.
# Alexander Shopov <ash@kambanaria.org>, 2012, 2013, 2014.
#
#
msgid ""
msgstr ""
"Project-Id-Version: git-gui-glossary master\n"
"POT-Creation-Date: 2014-01-13 21:39+0200\n"
"PO-Revision-Date: 2014-01-13 21:39+0200\n"
"Last-Translator: Alexander Shopov <ash@kambanaria.org>\n"
"Language-Team: Bulgarian <dict@fsa-bg.org>\n"
"Language: bg\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"

#. "English Definition (Dear translator: This file will never be visible to the user! It should only serve as a tool for you, the translator. Nothing more.)"
msgid ""
"English Term (Dear translator: This file will never be visible to the user!)"
msgstr "Термин"

#. ""
msgid "amend"
msgstr "поправям"

#. ""
msgid "annotate"
msgstr "анотирам"

#. "A 'branch' is an active line of development."
msgid "branch [noun]"
msgstr "клон, разклонение [съществително]"

#. ""
msgid "branch [verb]"
msgstr "разклонявам [глагол]"

#. ""
msgid "checkout [noun]"
msgstr "изтегляне [съществително]"

#. "The action of updating the working tree to a revision which was stored in the object database."
msgid "checkout [verb]"
msgstr "изтегляне [глагол]"

#. ""
msgid "clone [verb]"
msgstr "клонирам [глагол]"

#. "A single point in the git history."
msgid "commit [noun]"
msgstr "подаване [съществително]"

#. "The action of storing a new snapshot of the project's state in the git history."
msgid "commit [verb]"
msgstr "подавам [съществително]"

#. ""
msgid "diff [noun]"
msgstr "разлика/промени [съществително]"

#. ""
msgid "diff [verb]"
msgstr "изчислявам разлика/промени [глагол]"

#. "A fast-forward is a special type of merge where you have a revision and you are merging another branch's changes that happen to be a descendant of what you have."
msgid "fast forward merge"
msgstr "превъртащо/директно/тривиално сливане"

#. "Fetching a branch means to get the branch's head from a remote repository, to find out which objects are missing from the local object database, and to get them, too."
msgid "fetch"
msgstr "доставяне"

#. "One context of consecutive lines in a whole patch, which consists of many such hunks"
msgid "hunk"
msgstr "парче"

#. "A collection of files. The index is a stored version of your working tree."
msgid "index (in git-gui: staging area)"
msgstr "скеле/индекс/изба"

#. "A successful merge results in the creation of a new commit representing the result of the merge."
msgid "merge [noun]"
msgstr "сливане/обединяване [съществително]"

#. "To bring the contents of another branch into the current branch."
msgid "merge [verb]"
msgstr "сливам/обединявам [глагол]"

#. ""
msgid "message"
msgstr "съобщение"

#. "Deletes all stale tracking branches under <name>. These stale branches have already been removed from the remote repository referenced by <name>, but are still locally available in 'remotes/<name>'."
msgid "prune"
msgstr "окастрям"

#. "Pulling a branch means to fetch it and merge it."
msgid "pull"
msgstr "издърпвам"

#. "Pushing a branch means to get the branch's head ref from a remote repository, and ... (well, can someone please explain it for mere mortals?)"
msgid "push"
msgstr "изтласквам"

#. ""
msgid "redo"
msgstr "повтарям/правя наново"

#. "An other repository ('remote'). One might have a set of remotes whose branches one tracks."
msgid "remote"
msgstr "отдалечено хранилище"

#. "A collection of refs (?) together with an object database containing all objects which are reachable from the refs... (oops, you've lost me here. Again, please an explanation for mere mortals?)"
msgid "repository"
msgstr "хранилище"

#. ""
msgid "reset"
msgstr "занулявам/отменям"

#. ""
msgid "revert"
msgstr "връщам/отменям"

#. "A particular state of files and directories which was stored in the object database."
msgid "revision"
msgstr "версия"

#. ""
msgid "sign off"
msgstr "подписвам"

#. ""
msgid "staging area"
msgstr "скеле/индекс/изба"

#. ""
msgid "status"
msgstr "състояние"

#. "A ref pointing to a tag or commit object"
msgid "tag [noun]"
msgstr "етикет [съществително]"

#. ""
msgid "tag [verb]"
msgstr "задавам етикет [глагол]"

#. "A regular git branch that is used to follow changes from another repository."
msgid "tracking branch"
msgstr "следящ клон"

#. ""
msgid "undo"
msgstr "отменям"

#. ""
msgid "update"
msgstr "обновявам"

#. ""
msgid "verify"
msgstr "проверявам"

#. "The tree of actual checked out files."
msgid "working copy, working tree"
msgstr "работно копие/работно дърво"

#. "a commit that succeeds the current one in git's graph of commits (not necessarily directly)"
msgid "ancestor"
msgstr "предшественик"

#. "prematurely stop and abandon an operation"
msgid "abort"
msgstr "преустановявам"

#. "a repository with only .git directory, without working directory"
msgid "bare repository"
msgstr "голо хранилище"

#. "a parent version of the current file"
msgid "base"
msgstr "родителска версия"

#. "get the authors responsible for each line in a file"
msgid "blame"
msgstr "анотирам/анотиране"

#. "to select and apply a single commit without merging"
msgid "cherry-pick"
msgstr "отбирам"

#. "a commit that directly succeeds the current one in git's graph of commits"
msgid "child"
msgstr "дете"

#. "clean the state of the git repository, often after manually stopped operation"
msgid "cleanup"
msgstr "зачиствам"

#. "a message that gets attached with any commit"
msgid "commit message"
msgstr "съобщение при подаване"

#. "a commit that precedes the current one in git's graph of commits (not necessarily directly)"
msgid "descendant"
msgstr "наследник"

#. "checkout of a revision rather than a some head"
msgid "detached checkout"
msgstr "несвързано изтегляне"

#. "any merge strategy that works on a file by file basis"
msgid "file level merging"
msgstr "пофайлово сливане"

#. "the last revision in a branch"
msgid "head"
msgstr "глава/връх (на клон, разработка)"

#. "script that gets executed automatically on some event"
msgid "hook"
msgstr "кука/автоматичен скрипт"

#. "the first checkout during a clone operation"
msgid "initial checkout"
msgstr "първоначално изтегляне"

#. "a branch that resides in the local git repository"
msgid "local branch"
msgstr "локален клон"

#. "a Git object that is not part of any pack"
msgid "loose object"
msgstr "непакетиран обект"

#. "a branch called by convention 'master' that exists in a newly created git repository"
msgid "master branch"
msgstr "основен клон"

#. "a remote called by convention 'origin' that the current git repository has been cloned from"
msgid "origin"
msgstr "хранилище-източник"

#. "a file containing many git objects packed together"
msgid "pack [noun]"
msgstr "етикет"

#. "a Git object part of some pack"
msgid "packed object"
msgstr "пакетиран обект"

#. "a commit that directly precedes the current one in git's graph of commits"
msgid "parent"
msgstr "родител"

#. "the log file containing all states of the HEAD reference (in other words past pristine states of the working copy)"
msgid "reflog"
msgstr "журнал на указателите"

#. "decide which changes from alternative versions of a file should persist in Git"
msgid "resolve (a conflict)"
msgstr "коригирам (конфликт)"

#. "abandon changes and go to pristine version"
msgid "revert changes"
msgstr "връщане на оригинала"

#. "expression that signifies a revision in git"
msgid "revision expression"
msgstr "израз за версия"

#. "add some content of files and directories to the staging area in preparation for a commit"
msgid "stage/unstage"
msgstr "(добавяне) към скелето за подаване/изваждане от скелето за подаване"

#. "temporarily save changes in a stack without committing"
msgid "stash"
msgstr "скатавам промени"

#. "file whose content is tracked/not tracked by git"
msgid "tracked/untracked"
msgstr "следен/неследен"
