From: Junio C Hamano Date: Thu, 18 Dec 2008 05:56:48 +0000 (-0800) Subject: Merge git://repo.or.cz/git-gui X-Git-Tag: v1.6.1-rc4~23 X-Git-Url: https://git.tokkee.org/?a=commitdiff_plain;h=b4955fb611ce407ef0e522862c60ae0472dbfe5e;p=git.git Merge git://repo.or.cz/git-gui * git://repo.or.cz/git-gui: git-gui 0.12 git-gui: Get rid of the last remnants of GIT_CONFIG_LOCAL git-gui: Update Hungarian translation for 0.12 git-gui: Fixed typos in Swedish translation. git-gui: Updated Swedish translation (515t0f0u). git gui: update Italian translation git-gui: Update Japanese translation for 0.12 git-gui: Starting translation for Norwegian git-gui: Update German (completed) translation. git-gui: Update po template to include 'Mirroring %s' message git-gui: Fix commit encoding handling. git-gui: Fix handling of relative paths in blame. --- b4955fb611ce407ef0e522862c60ae0472dbfe5e diff --cc git-gui/GIT-VERSION-GEN index 4e709ebe7,000000000..b3f937eac mode 100755,000000..100755 --- a/git-gui/GIT-VERSION-GEN +++ b/git-gui/GIT-VERSION-GEN @@@ -1,80 -1,0 +1,80 @@@ +#!/bin/sh + +GVF=GIT-VERSION-FILE - DEF_VER=0.11.GITGUI ++DEF_VER=0.12.GITGUI + +LF=' +' + +tree_search () +{ + head=$1 + tree=$2 + for p in $(git rev-list --parents --max-count=1 $head 2>/dev/null) + do + test $tree = $(git rev-parse $p^{tree} 2>/dev/null) && + vn=$(git describe --abbrev=4 $p 2>/dev/null) && + case "$vn" in + gitgui-[0-9]*) echo $vn; break;; + esac + done +} + +# Always use the tarball version file if found, just +# in case we are somehow contained in a larger git +# repository that doesn't actually track our state. +# (At least one package manager is doing this.) +# +# We may be a subproject, so try looking for the merge +# commit that supplied this directory content if we are +# not at the toplevel. We probably will always be the +# second parent in the commit, but we shouldn't rely on +# that fact. +# +# If we are at the toplevel or the merge assumption fails +# try looking for a gitgui-* tag. + +if test -f version && + VN=$(cat version) +then + : happy +elif prefix="$(git rev-parse --show-prefix 2>/dev/null)" + test -n "$prefix" && + head=$(git rev-list --max-count=1 HEAD -- . 2>/dev/null) && + tree=$(git rev-parse --verify "HEAD:$prefix" 2>/dev/null) && + VN=$(tree_search $head $tree) + case "$VN" in + gitgui-[0-9]*) : happy ;; + *) (exit 1) ;; + esac +then + VN=$(echo "$VN" | sed -e 's/^gitgui-//;s/-/./g'); +elif VN=$(git describe --abbrev=4 HEAD 2>/dev/null) && + case "$VN" in + gitgui-[0-9]*) : happy ;; + *) (exit 1) ;; + esac +then + VN=$(echo "$VN" | sed -e 's/^gitgui-//;s/-/./g'); +else + VN="$DEF_VER" +fi + +dirty=$(sh -c 'git diff-index --name-only HEAD' 2>/dev/null) || dirty= +case "$dirty" in +'') + ;; +*) + VN="$VN-dirty" ;; +esac + +if test -r $GVF +then + VC=$(sed -e 's/^GITGUI_VERSION = //' <$GVF) +else + VC=unset +fi +test "$VN" = "$VC" || { + echo >&2 "GITGUI_VERSION = $VN" + echo "GITGUI_VERSION = $VN" >$GVF +} diff --cc git-gui/git-gui.sh index 8a4b42dbd,000000000..e018e076f mode 100755,000000..100755 --- a/git-gui/git-gui.sh +++ b/git-gui/git-gui.sh @@@ -1,3464 -1,0 +1,3477 @@@ +#!/bin/sh +# Tcl ignores the next line -*- tcl -*- \ + if test "z$*" = zversion \ + || test "z$*" = z--version; \ + then \ + echo 'git-gui version @@GITGUI_VERSION@@'; \ + exit; \ + fi; \ + argv0=$0; \ + exec wish "$argv0" -- "$@" + +set appvers {@@GITGUI_VERSION@@} +set copyright [encoding convertfrom utf-8 { +Copyright © 2006, 2007 Shawn Pearce, et. al. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA}] + +###################################################################### +## +## Tcl/Tk sanity check + +if {[catch {package require Tcl 8.4} err] + || [catch {package require Tk 8.4} err] +} { + catch {wm withdraw .} + tk_messageBox \ + -icon error \ + -type ok \ + -title [mc "git-gui: fatal error"] \ + -message $err + exit 1 +} + +catch {rename send {}} ; # What an evil concept... + +###################################################################### +## +## locate our library + +set oguilib {@@GITGUI_LIBDIR@@} +set oguirel {@@GITGUI_RELATIVE@@} +if {$oguirel eq {1}} { + set oguilib [file dirname [file normalize $argv0]] + if {[file tail $oguilib] eq {git-core}} { + set oguilib [file dirname $oguilib] + } + set oguilib [file dirname $oguilib] + set oguilib [file join $oguilib share git-gui lib] + set oguimsg [file join $oguilib msgs] +} elseif {[string match @@* $oguirel]} { + set oguilib [file join [file dirname [file normalize $argv0]] lib] + set oguimsg [file join [file dirname [file normalize $argv0]] po] +} else { + set oguimsg [file join $oguilib msgs] +} +unset oguirel + +###################################################################### +## +## enable verbose loading? + +if {![catch {set _verbose $env(GITGUI_VERBOSE)}]} { + unset _verbose + rename auto_load real__auto_load + proc auto_load {name args} { + puts stderr "auto_load $name" + return [uplevel 1 real__auto_load $name $args] + } + rename source real__source + proc source {name} { + puts stderr "source $name" + uplevel 1 real__source $name + } +} + +###################################################################### +## +## Internationalization (i18n) through msgcat and gettext. See +## http://www.gnu.org/software/gettext/manual/html_node/Tcl.html + +package require msgcat + +proc _mc_trim {fmt} { + set cmk [string first @@ $fmt] + if {$cmk > 0} { + return [string range $fmt 0 [expr {$cmk - 1}]] + } + return $fmt +} + +proc mc {en_fmt args} { + set fmt [_mc_trim [::msgcat::mc $en_fmt]] + if {[catch {set msg [eval [list format $fmt] $args]} err]} { + set msg [eval [list format [_mc_trim $en_fmt]] $args] + } + return $msg +} + +proc strcat {args} { + return [join $args {}] +} + +::msgcat::mcload $oguimsg +unset oguimsg + +###################################################################### +## +## read only globals + +set _appname {Git Gui} +set _gitdir {} +set _gitexec {} +set _reponame {} +set _iscygwin {} +set _search_path {} + +set _trace [lsearch -exact $argv --trace] +if {$_trace >= 0} { + set argv [lreplace $argv $_trace $_trace] + set _trace 1 +} else { + set _trace 0 +} + +proc appname {} { + global _appname + return $_appname +} + +proc gitdir {args} { + global _gitdir + if {$args eq {}} { + return $_gitdir + } + return [eval [list file join $_gitdir] $args] +} + +proc gitexec {args} { + global _gitexec + if {$_gitexec eq {}} { + if {[catch {set _gitexec [git --exec-path]} err]} { + error "Git not installed?\n\n$err" + } + if {[is_Cygwin]} { + set _gitexec [exec cygpath \ + --windows \ + --absolute \ + $_gitexec] + } else { + set _gitexec [file normalize $_gitexec] + } + } + if {$args eq {}} { + return $_gitexec + } + return [eval [list file join $_gitexec] $args] +} + +proc reponame {} { + return $::_reponame +} + +proc is_MacOSX {} { + if {[tk windowingsystem] eq {aqua}} { + return 1 + } + return 0 +} + +proc is_Windows {} { + if {$::tcl_platform(platform) eq {windows}} { + return 1 + } + return 0 +} + +proc is_Cygwin {} { + global _iscygwin + if {$_iscygwin eq {}} { + if {$::tcl_platform(platform) eq {windows}} { + if {[catch {set p [exec cygpath --windir]} err]} { + set _iscygwin 0 + } else { + set _iscygwin 1 + } + } else { + set _iscygwin 0 + } + } + return $_iscygwin +} + +proc is_enabled {option} { + global enabled_options + if {[catch {set on $enabled_options($option)}]} {return 0} + return $on +} + +proc enable_option {option} { + global enabled_options + set enabled_options($option) 1 +} + +proc disable_option {option} { + global enabled_options + set enabled_options($option) 0 +} + +###################################################################### +## +## config + +proc is_many_config {name} { + switch -glob -- $name { + gui.recentrepo - + remote.*.fetch - + remote.*.push + {return 1} + * + {return 0} + } +} + +proc is_config_true {name} { + global repo_config + if {[catch {set v $repo_config($name)}]} { + return 0 + } elseif {$v eq {true} || $v eq {1} || $v eq {yes}} { + return 1 + } else { + return 0 + } +} + +proc get_config {name} { + global repo_config + if {[catch {set v $repo_config($name)}]} { + return {} + } else { + return $v + } +} + +###################################################################### +## +## handy utils + +proc _trace_exec {cmd} { + if {!$::_trace} return + set d {} + foreach v $cmd { + if {$d ne {}} { + append d { } + } + if {[regexp {[ \t\r\n'"$?*]} $v]} { + set v [sq $v] + } + append d $v + } + puts stderr $d +} + +proc _git_cmd {name} { + global _git_cmd_path + + if {[catch {set v $_git_cmd_path($name)}]} { + switch -- $name { + version - + --version - + --exec-path { return [list $::_git $name] } + } + + set p [gitexec git-$name$::_search_exe] + if {[file exists $p]} { + set v [list $p] + } elseif {[is_Windows] && [file exists [gitexec git-$name]]} { + # Try to determine what sort of magic will make + # git-$name go and do its thing, because native + # Tcl on Windows doesn't know it. + # + set p [gitexec git-$name] + set f [open $p r] + set s [gets $f] + close $f + + switch -glob -- [lindex $s 0] { + #!*sh { set i sh } + #!*perl { set i perl } + #!*python { set i python } + default { error "git-$name is not supported: $s" } + } + + upvar #0 _$i interp + if {![info exists interp]} { + set interp [_which $i] + } + if {$interp eq {}} { + error "git-$name requires $i (not in PATH)" + } + set v [concat [list $interp] [lrange $s 1 end] [list $p]] + } else { + # Assume it is builtin to git somehow and we + # aren't actually able to see a file for it. + # + set v [list $::_git $name] + } + set _git_cmd_path($name) $v + } + return $v +} + +proc _which {what args} { + global env _search_exe _search_path + + if {$_search_path eq {}} { + if {[is_Cygwin] && [regexp {^(/|\.:)} $env(PATH)]} { + set _search_path [split [exec cygpath \ + --windows \ + --path \ + --absolute \ + $env(PATH)] {;}] + set _search_exe .exe + } elseif {[is_Windows]} { + set gitguidir [file dirname [info script]] + regsub -all ";" $gitguidir "\\;" gitguidir + set env(PATH) "$gitguidir;$env(PATH)" + set _search_path [split $env(PATH) {;}] + set _search_exe .exe + } else { + set _search_path [split $env(PATH) :] + set _search_exe {} + } + } + + if {[is_Windows] && [lsearch -exact $args -script] >= 0} { + set suffix {} + } else { + set suffix $_search_exe + } + + foreach p $_search_path { + set p [file join $p $what$suffix] + if {[file exists $p]} { + return [file normalize $p] + } + } + return {} +} + +proc _lappend_nice {cmd_var} { + global _nice + upvar $cmd_var cmd + + if {![info exists _nice]} { + set _nice [_which nice] + } + if {$_nice ne {}} { + lappend cmd $_nice + } +} + +proc git {args} { + set opt [list] + + while {1} { + switch -- [lindex $args 0] { + --nice { + _lappend_nice opt + } + + default { + break + } + + } + + set args [lrange $args 1 end] + } + + set cmdp [_git_cmd [lindex $args 0]] + set args [lrange $args 1 end] + + _trace_exec [concat $opt $cmdp $args] + set result [eval exec $opt $cmdp $args] + if {$::_trace} { + puts stderr "< $result" + } + return $result +} + +proc _open_stdout_stderr {cmd} { + _trace_exec $cmd + if {[catch { + set fd [open [concat [list | ] $cmd] r] + } err]} { + if { [lindex $cmd end] eq {2>@1} + && $err eq {can not find channel named "1"} + } { + # Older versions of Tcl 8.4 don't have this 2>@1 IO + # redirect operator. Fallback to |& cat for those. + # The command was not actually started, so its safe + # to try to start it a second time. + # + set fd [open [concat \ + [list | ] \ + [lrange $cmd 0 end-1] \ + [list |& cat] \ + ] r] + } else { + error $err + } + } + fconfigure $fd -eofchar {} + return $fd +} + +proc git_read {args} { + set opt [list] + + while {1} { + switch -- [lindex $args 0] { + --nice { + _lappend_nice opt + } + + --stderr { + lappend args 2>@1 + } + + default { + break + } + + } + + set args [lrange $args 1 end] + } + + set cmdp [_git_cmd [lindex $args 0]] + set args [lrange $args 1 end] + + return [_open_stdout_stderr [concat $opt $cmdp $args]] +} + +proc git_write {args} { + set opt [list] + + while {1} { + switch -- [lindex $args 0] { + --nice { + _lappend_nice opt + } + + default { + break + } + + } + + set args [lrange $args 1 end] + } + + set cmdp [_git_cmd [lindex $args 0]] + set args [lrange $args 1 end] + + _trace_exec [concat $opt $cmdp $args] + return [open [concat [list | ] $opt $cmdp $args] w] +} + +proc githook_read {hook_name args} { + set pchook [gitdir hooks $hook_name] + lappend args 2>@1 + + # On Windows [file executable] might lie so we need to ask + # the shell if the hook is executable. Yes that's annoying. + # + if {[is_Windows]} { + upvar #0 _sh interp + if {![info exists interp]} { + set interp [_which sh] + } + if {$interp eq {}} { + error "hook execution requires sh (not in PATH)" + } + + set scr {if test -x "$1";then exec "$@";fi} + set sh_c [list $interp -c $scr $interp $pchook] + return [_open_stdout_stderr [concat $sh_c $args]] + } + + if {[file executable $pchook]} { + return [_open_stdout_stderr [concat [list $pchook] $args]] + } + + return {} +} + +proc kill_file_process {fd} { + set process [pid $fd] + + catch { + if {[is_Windows]} { + # Use a Cygwin-specific flag to allow killing + # native Windows processes + exec kill -f $process + } else { + exec kill $process + } + } +} + +proc gitattr {path attr default} { + if {[catch {set r [git check-attr $attr -- $path]}]} { + set r unspecified + } else { + set r [join [lrange [split $r :] 2 end] :] + regsub {^ } $r {} r + } + if {$r eq {unspecified}} { + return $default + } + return $r +} + +proc sq {value} { + regsub -all ' $value "'\\''" value + return "'$value'" +} + +proc load_current_branch {} { + global current_branch is_detached + + set fd [open [gitdir HEAD] r] + if {[gets $fd ref] < 1} { + set ref {} + } + close $fd + + set pfx {ref: refs/heads/} + set len [string length $pfx] + if {[string equal -length $len $pfx $ref]} { + # We're on a branch. It might not exist. But + # HEAD looks good enough to be a branch. + # + set current_branch [string range $ref $len end] + set is_detached 0 + } else { + # Assume this is a detached head. + # + set current_branch HEAD + set is_detached 1 + } +} + +auto_load tk_optionMenu +rename tk_optionMenu real__tkOptionMenu +proc tk_optionMenu {w varName args} { + set m [eval real__tkOptionMenu $w $varName $args] + $m configure -font font_ui + $w configure -font font_ui + return $m +} + +proc rmsel_tag {text} { + $text tag conf sel \ + -background [$text cget -background] \ + -foreground [$text cget -foreground] \ + -borderwidth 0 + $text tag conf in_sel -background lightgray + bind $text break + return $text +} + +set root_exists 0 +bind . { + bind . {} + set root_exists 1 +} + +if {[is_Windows]} { + wm iconbitmap . -default $oguilib/git-gui.ico + set ::tk::AlwaysShowSelection 1 + + # Spoof an X11 display for SSH + if {![info exists env(DISPLAY)]} { + set env(DISPLAY) :9999 + } +} else { + catch { + image create photo gitlogo -width 16 -height 16 + + gitlogo put #33CC33 -to 7 0 9 2 + gitlogo put #33CC33 -to 4 2 12 4 + gitlogo put #33CC33 -to 7 4 9 6 + gitlogo put #CC3333 -to 4 6 12 8 + gitlogo put gray26 -to 4 9 6 10 + gitlogo put gray26 -to 3 10 6 12 + gitlogo put gray26 -to 8 9 13 11 + gitlogo put gray26 -to 8 11 10 12 + gitlogo put gray26 -to 11 11 13 14 + gitlogo put gray26 -to 3 12 5 14 + gitlogo put gray26 -to 5 13 + gitlogo put gray26 -to 10 13 + gitlogo put gray26 -to 4 14 12 15 + gitlogo put gray26 -to 5 15 11 16 + gitlogo redither + + wm iconphoto . -default gitlogo + } +} + +###################################################################### +## +## config defaults + +set cursor_ptr arrow +font create font_diff -family Courier -size 10 +font create font_ui +catch { + label .dummy + eval font configure font_ui [font actual [.dummy cget -font]] + destroy .dummy +} + +font create font_uiitalic +font create font_uibold +font create font_diffbold +font create font_diffitalic + +foreach class {Button Checkbutton Entry Label + Labelframe Listbox Menu Message + Radiobutton Spinbox Text} { + option add *$class.font font_ui +} +unset class + +if {[is_Windows] || [is_MacOSX]} { + option add *Menu.tearOff 0 +} + +if {[is_MacOSX]} { + set M1B M1 + set M1T Cmd +} else { + set M1B Control + set M1T Ctrl +} + +proc bind_button3 {w cmd} { + bind $w $cmd + if {[is_MacOSX]} { + # Mac OS X sends Button-2 on right click through three-button mouse, + # or through trackpad right-clicking (two-finger touch + click). + bind $w $cmd + bind $w $cmd + } +} + +proc apply_config {} { + global repo_config font_descs + + foreach option $font_descs { + set name [lindex $option 0] + set font [lindex $option 1] + if {[catch { + set need_weight 1 + foreach {cn cv} $repo_config(gui.$name) { + if {$cn eq {-weight}} { + set need_weight 0 + } + font configure $font $cn $cv + } + if {$need_weight} { + font configure $font -weight normal + } + } err]} { + error_popup [strcat [mc "Invalid font specified in %s:" "gui.$name"] "\n\n$err"] + } + foreach {cn cv} [font configure $font] { + font configure ${font}bold $cn $cv + font configure ${font}italic $cn $cv + } + font configure ${font}bold -weight bold + font configure ${font}italic -slant italic + } +} + +set default_config(branch.autosetupmerge) true +set default_config(merge.tool) {} +set default_config(merge.keepbackup) true +set default_config(merge.diffstat) true +set default_config(merge.summary) false +set default_config(merge.verbosity) 2 +set default_config(user.name) {} +set default_config(user.email) {} + +set default_config(gui.encoding) [encoding system] +set default_config(gui.matchtrackingbranch) false +set default_config(gui.pruneduringfetch) false +set default_config(gui.trustmtime) false +set default_config(gui.fastcopyblame) false +set default_config(gui.copyblamethreshold) 40 +set default_config(gui.blamehistoryctx) 7 +set default_config(gui.diffcontext) 5 +set default_config(gui.commitmsgwidth) 75 +set default_config(gui.newbranchtemplate) {} +set default_config(gui.spellingdictionary) {} +set default_config(gui.fontui) [font configure font_ui] +set default_config(gui.fontdiff) [font configure font_diff] +set font_descs { + {fontui font_ui {mc "Main Font"}} + {fontdiff font_diff {mc "Diff/Console Font"}} +} + +###################################################################### +## +## find git + +set _git [_which git] +if {$_git eq {}} { + catch {wm withdraw .} + tk_messageBox \ + -icon error \ + -type ok \ + -title [mc "git-gui: fatal error"] \ + -message [mc "Cannot find git in PATH."] + exit 1 +} + +###################################################################### +## +## version check + +if {[catch {set _git_version [git --version]} err]} { + catch {wm withdraw .} + tk_messageBox \ + -icon error \ + -type ok \ + -title [mc "git-gui: fatal error"] \ + -message "Cannot determine Git version: + +$err + +[appname] requires Git 1.5.0 or later." + exit 1 +} +if {![regsub {^git version } $_git_version {} _git_version]} { + catch {wm withdraw .} + tk_messageBox \ + -icon error \ + -type ok \ + -title [mc "git-gui: fatal error"] \ + -message [strcat [mc "Cannot parse Git version string:"] "\n\n$_git_version"] + exit 1 +} + +set _real_git_version $_git_version +regsub -- {[\-\.]dirty$} $_git_version {} _git_version +regsub {\.[0-9]+\.g[0-9a-f]+$} $_git_version {} _git_version +regsub {\.rc[0-9]+$} $_git_version {} _git_version +regsub {\.GIT$} $_git_version {} _git_version +regsub {\.[a-zA-Z]+\.[0-9]+$} $_git_version {} _git_version + +if {![regexp {^[1-9]+(\.[0-9]+)+$} $_git_version]} { + catch {wm withdraw .} + if {[tk_messageBox \ + -icon warning \ + -type yesno \ + -default no \ + -title "[appname]: warning" \ + -message [mc "Git version cannot be determined. + +%s claims it is version '%s'. + +%s requires at least Git 1.5.0 or later. + +Assume '%s' is version 1.5.0? +" $_git $_real_git_version [appname] $_real_git_version]] eq {yes}} { + set _git_version 1.5.0 + } else { + exit 1 + } +} +unset _real_git_version + +proc git-version {args} { + global _git_version + + switch [llength $args] { + 0 { + return $_git_version + } + + 2 { + set op [lindex $args 0] + set vr [lindex $args 1] + set cm [package vcompare $_git_version $vr] + return [expr $cm $op 0] + } + + 4 { + set type [lindex $args 0] + set name [lindex $args 1] + set parm [lindex $args 2] + set body [lindex $args 3] + + if {($type ne {proc} && $type ne {method})} { + error "Invalid arguments to git-version" + } + if {[llength $body] < 2 || [lindex $body end-1] ne {default}} { + error "Last arm of $type $name must be default" + } + + foreach {op vr cb} [lrange $body 0 end-2] { + if {[git-version $op $vr]} { + return [uplevel [list $type $name $parm $cb]] + } + } + + return [uplevel [list $type $name $parm [lindex $body end]]] + } + + default { + error "git-version >= x" + } + + } +} + +if {[git-version < 1.5]} { + catch {wm withdraw .} + tk_messageBox \ + -icon error \ + -type ok \ + -title [mc "git-gui: fatal error"] \ + -message "[appname] requires Git 1.5.0 or later. + +You are using [git-version]: + +[git --version]" + exit 1 +} + +###################################################################### +## +## configure our library + +set idx [file join $oguilib tclIndex] +if {[catch {set fd [open $idx r]} err]} { + catch {wm withdraw .} + tk_messageBox \ + -icon error \ + -type ok \ + -title [mc "git-gui: fatal error"] \ + -message $err + exit 1 +} +if {[gets $fd] eq {# Autogenerated by git-gui Makefile}} { + set idx [list] + while {[gets $fd n] >= 0} { + if {$n ne {} && ![string match #* $n]} { + lappend idx $n + } + } +} else { + set idx {} +} +close $fd + +if {$idx ne {}} { + set loaded [list] + foreach p $idx { + if {[lsearch -exact $loaded $p] >= 0} continue + source [file join $oguilib $p] + lappend loaded $p + } + unset loaded p +} else { + set auto_path [concat [list $oguilib] $auto_path] +} +unset -nocomplain idx fd + +###################################################################### +## +## config file parsing + +git-version proc _parse_config {arr_name args} { + >= 1.5.3 { + upvar $arr_name arr + array unset arr + set buf {} + catch { + set fd_rc [eval \ + [list git_read config] \ + $args \ + [list --null --list]] + fconfigure $fd_rc -translation binary + set buf [read $fd_rc] + close $fd_rc + } + foreach line [split $buf "\0"] { + if {[regexp {^([^\n]+)\n(.*)$} $line line name value]} { + if {[is_many_config $name]} { + lappend arr($name) $value + } else { + set arr($name) $value + } + } + } + } + default { + upvar $arr_name arr + array unset arr + catch { + set fd_rc [eval [list git_read config --list] $args] + while {[gets $fd_rc line] >= 0} { + if {[regexp {^([^=]+)=(.*)$} $line line name value]} { + if {[is_many_config $name]} { + lappend arr($name) $value + } else { + set arr($name) $value + } + } + } + close $fd_rc + } + } +} + +proc load_config {include_global} { + global repo_config global_config system_config default_config + + if {$include_global} { + _parse_config system_config --system + _parse_config global_config --global + } + _parse_config repo_config + + foreach name [array names default_config] { + if {[catch {set v $system_config($name)}]} { + set system_config($name) $default_config($name) + } + } + foreach name [array names system_config] { + if {[catch {set v $global_config($name)}]} { + set global_config($name) $system_config($name) + } + if {[catch {set v $repo_config($name)}]} { + set repo_config($name) $system_config($name) + } + } +} + +###################################################################### +## +## feature option selection + +if {[regexp {^git-(.+)$} [file tail $argv0] _junk subcommand]} { + unset _junk +} else { + set subcommand gui +} +if {$subcommand eq {gui.sh}} { + set subcommand gui +} +if {$subcommand eq {gui} && [llength $argv] > 0} { + set subcommand [lindex $argv 0] + set argv [lrange $argv 1 end] +} + +enable_option multicommit +enable_option branch +enable_option transport +disable_option bare + +switch -- $subcommand { +browser - +blame { + enable_option bare + + disable_option multicommit + disable_option branch + disable_option transport +} +citool { + enable_option singlecommit + enable_option retcode + + disable_option multicommit + disable_option branch + disable_option transport + + while {[llength $argv] > 0} { + set a [lindex $argv 0] + switch -- $a { + --amend { + enable_option initialamend + } + --nocommit { + enable_option nocommit + enable_option nocommitmsg + } + --commitmsg { + disable_option nocommitmsg + } + default { + break + } + } + + set argv [lrange $argv 1 end] + } +} +} + +###################################################################### +## +## execution environment + +set have_tk85 [expr {[package vcompare $tk_version "8.5"] >= 0}] + +# Suggest our implementation of askpass, if none is set +if {![info exists env(SSH_ASKPASS)]} { + set env(SSH_ASKPASS) [gitexec git-gui--askpass] +} + +###################################################################### +## +## repository setup + +set picked 0 +if {[catch { + set _gitdir $env(GIT_DIR) + set _prefix {} + }] + && [catch { + set _gitdir [git rev-parse --git-dir] + set _prefix [git rev-parse --show-prefix] + } err]} { + load_config 1 + apply_config + choose_repository::pick + set picked 1 +} +if {![file isdirectory $_gitdir] && [is_Cygwin]} { + catch {set _gitdir [exec cygpath --windows $_gitdir]} +} +if {![file isdirectory $_gitdir]} { + catch {wm withdraw .} + error_popup [strcat [mc "Git directory not found:"] "\n\n$_gitdir"] + exit 1 +} +if {$_prefix ne {}} { + regsub -all {[^/]+/} $_prefix ../ cdup + if {[catch {cd $cdup} err]} { + catch {wm withdraw .} + error_popup [strcat [mc "Cannot move to top of working directory:"] "\n\n$err"] + exit 1 + } + unset cdup +} elseif {![is_enabled bare]} { + if {[lindex [file split $_gitdir] end] ne {.git}} { + catch {wm withdraw .} + error_popup [strcat [mc "Cannot use funny .git directory:"] "\n\n$_gitdir"] + exit 1 + } + if {[catch {cd [file dirname $_gitdir]} err]} { + catch {wm withdraw .} + error_popup [strcat [mc "No working directory"] " [file dirname $_gitdir]:\n\n$err"] + exit 1 + } +} +set _reponame [file split [file normalize $_gitdir]] +if {[lindex $_reponame end] eq {.git}} { + set _reponame [lindex $_reponame end-1] +} else { + set _reponame [lindex $_reponame end] +} + +###################################################################### +## +## global init + +set current_diff_path {} +set current_diff_side {} +set diff_actions [list] + +set HEAD {} +set PARENT {} +set MERGE_HEAD [list] +set commit_type {} +set empty_tree {} +set current_branch {} +set is_detached 0 +set current_diff_path {} +set is_3way_diff 0 +set is_conflict_diff 0 +set selected_commit_type new + +set nullid "0000000000000000000000000000000000000000" +set nullid2 "0000000000000000000000000000000000000001" + +###################################################################### +## +## task management + +set rescan_active 0 +set diff_active 0 +set last_clicked {} + +set disable_on_lock [list] +set index_lock_type none + +proc lock_index {type} { + global index_lock_type disable_on_lock + + if {$index_lock_type eq {none}} { + set index_lock_type $type + foreach w $disable_on_lock { + uplevel #0 $w disabled + } + return 1 + } elseif {$index_lock_type eq "begin-$type"} { + set index_lock_type $type + return 1 + } + return 0 +} + +proc unlock_index {} { + global index_lock_type disable_on_lock + + set index_lock_type none + foreach w $disable_on_lock { + uplevel #0 $w normal + } +} + +###################################################################### +## +## status + +proc repository_state {ctvar hdvar mhvar} { + global current_branch + upvar $ctvar ct $hdvar hd $mhvar mh + + set mh [list] + + load_current_branch + if {[catch {set hd [git rev-parse --verify HEAD]}]} { + set hd {} + set ct initial + return + } + + set merge_head [gitdir MERGE_HEAD] + if {[file exists $merge_head]} { + set ct merge + set fd_mh [open $merge_head r] + while {[gets $fd_mh line] >= 0} { + lappend mh $line + } + close $fd_mh + return + } + + set ct normal +} + +proc PARENT {} { + global PARENT empty_tree + + set p [lindex $PARENT 0] + if {$p ne {}} { + return $p + } + if {$empty_tree eq {}} { + set empty_tree [git mktree << {}] + } + return $empty_tree +} + +proc force_amend {} { + global selected_commit_type + global HEAD PARENT MERGE_HEAD commit_type + + repository_state newType newHEAD newMERGE_HEAD + set HEAD $newHEAD + set PARENT $newHEAD + set MERGE_HEAD $newMERGE_HEAD + set commit_type $newType + + set selected_commit_type amend + do_select_commit_type +} + +proc rescan {after {honor_trustmtime 1}} { + global HEAD PARENT MERGE_HEAD commit_type + global ui_index ui_workdir ui_comm + global rescan_active file_states + global repo_config + + if {$rescan_active > 0 || ![lock_index read]} return + + repository_state newType newHEAD newMERGE_HEAD + if {[string match amend* $commit_type] + && $newType eq {normal} + && $newHEAD eq $HEAD} { + } else { + set HEAD $newHEAD + set PARENT $newHEAD + set MERGE_HEAD $newMERGE_HEAD + set commit_type $newType + } + + array unset file_states + + if {!$::GITGUI_BCK_exists && + (![$ui_comm edit modified] + || [string trim [$ui_comm get 0.0 end]] eq {})} { + if {[string match amend* $commit_type]} { + } elseif {[load_message GITGUI_MSG]} { + } elseif {[run_prepare_commit_msg_hook]} { + } elseif {[load_message MERGE_MSG]} { + } elseif {[load_message SQUASH_MSG]} { + } + $ui_comm edit reset + $ui_comm edit modified false + } + + if {$honor_trustmtime && $repo_config(gui.trustmtime) eq {true}} { + rescan_stage2 {} $after + } else { + set rescan_active 1 + ui_status [mc "Refreshing file status..."] + set fd_rf [git_read update-index \ + -q \ + --unmerged \ + --ignore-missing \ + --refresh \ + ] + fconfigure $fd_rf -blocking 0 -translation binary + fileevent $fd_rf readable \ + [list rescan_stage2 $fd_rf $after] + } +} + +if {[is_Cygwin]} { + set is_git_info_exclude {} + proc have_info_exclude {} { + global is_git_info_exclude + + if {$is_git_info_exclude eq {}} { + if {[catch {exec test -f [gitdir info exclude]}]} { + set is_git_info_exclude 0 + } else { + set is_git_info_exclude 1 + } + } + return $is_git_info_exclude + } +} else { + proc have_info_exclude {} { + return [file readable [gitdir info exclude]] + } +} + +proc rescan_stage2 {fd after} { + global rescan_active buf_rdi buf_rdf buf_rlo + + if {$fd ne {}} { + read $fd + if {![eof $fd]} return + close $fd + } + + set ls_others [list --exclude-per-directory=.gitignore] + if {[have_info_exclude]} { + lappend ls_others "--exclude-from=[gitdir info exclude]" + } + set user_exclude [get_config core.excludesfile] + if {$user_exclude ne {} && [file readable $user_exclude]} { + lappend ls_others "--exclude-from=$user_exclude" + } + + set buf_rdi {} + set buf_rdf {} + set buf_rlo {} + + set rescan_active 3 + ui_status [mc "Scanning for modified files ..."] + set fd_di [git_read diff-index --cached -z [PARENT]] + set fd_df [git_read diff-files -z] + set fd_lo [eval git_read ls-files --others -z $ls_others] + + fconfigure $fd_di -blocking 0 -translation binary -encoding binary + fconfigure $fd_df -blocking 0 -translation binary -encoding binary + fconfigure $fd_lo -blocking 0 -translation binary -encoding binary + fileevent $fd_di readable [list read_diff_index $fd_di $after] + fileevent $fd_df readable [list read_diff_files $fd_df $after] + fileevent $fd_lo readable [list read_ls_others $fd_lo $after] +} + +proc load_message {file} { + global ui_comm + + set f [gitdir $file] + if {[file isfile $f]} { + if {[catch {set fd [open $f r]}]} { + return 0 + } + fconfigure $fd -eofchar {} + set content [string trim [read $fd]] + close $fd + regsub -all -line {[ \r\t]+$} $content {} content + $ui_comm delete 0.0 end + $ui_comm insert end $content + return 1 + } + return 0 +} + +proc run_prepare_commit_msg_hook {} { + global pch_error + + # prepare-commit-msg requires PREPARE_COMMIT_MSG exist. From git-gui + # it will be .git/MERGE_MSG (merge), .git/SQUASH_MSG (squash), or an + # empty file but existant file. + + set fd_pcm [open [gitdir PREPARE_COMMIT_MSG] a] + + if {[file isfile [gitdir MERGE_MSG]]} { + set pcm_source "merge" + set fd_mm [open [gitdir MERGE_MSG] r] + puts -nonewline $fd_pcm [read $fd_mm] + close $fd_mm + } elseif {[file isfile [gitdir SQUASH_MSG]]} { + set pcm_source "squash" + set fd_sm [open [gitdir SQUASH_MSG] r] + puts -nonewline $fd_pcm [read $fd_sm] + close $fd_sm + } else { + set pcm_source "" + } + + close $fd_pcm + + set fd_ph [githook_read prepare-commit-msg \ + [gitdir PREPARE_COMMIT_MSG] $pcm_source] + if {$fd_ph eq {}} { + catch {file delete [gitdir PREPARE_COMMIT_MSG]} + return 0; + } + + ui_status [mc "Calling prepare-commit-msg hook..."] + set pch_error {} + + fconfigure $fd_ph -blocking 0 -translation binary -eofchar {} + fileevent $fd_ph readable \ + [list prepare_commit_msg_hook_wait $fd_ph] + + return 1; +} + +proc prepare_commit_msg_hook_wait {fd_ph} { + global pch_error + + append pch_error [read $fd_ph] + fconfigure $fd_ph -blocking 1 + if {[eof $fd_ph]} { + if {[catch {close $fd_ph}]} { + ui_status [mc "Commit declined by prepare-commit-msg hook."] + hook_failed_popup prepare-commit-msg $pch_error + catch {file delete [gitdir PREPARE_COMMIT_MSG]} + exit 1 + } else { + load_message PREPARE_COMMIT_MSG + } + set pch_error {} + catch {file delete [gitdir PREPARE_COMMIT_MSG]} + return + } + fconfigure $fd_ph -blocking 0 + catch {file delete [gitdir PREPARE_COMMIT_MSG]} +} + +proc read_diff_index {fd after} { + global buf_rdi + + append buf_rdi [read $fd] + set c 0 + set n [string length $buf_rdi] + while {$c < $n} { + set z1 [string first "\0" $buf_rdi $c] + if {$z1 == -1} break + incr z1 + set z2 [string first "\0" $buf_rdi $z1] + if {$z2 == -1} break + + incr c + set i [split [string range $buf_rdi $c [expr {$z1 - 2}]] { }] + set p [string range $buf_rdi $z1 [expr {$z2 - 1}]] + merge_state \ + [encoding convertfrom $p] \ + [lindex $i 4]? \ + [list [lindex $i 0] [lindex $i 2]] \ + [list] + set c $z2 + incr c + } + if {$c < $n} { + set buf_rdi [string range $buf_rdi $c end] + } else { + set buf_rdi {} + } + + rescan_done $fd buf_rdi $after +} + +proc read_diff_files {fd after} { + global buf_rdf + + append buf_rdf [read $fd] + set c 0 + set n [string length $buf_rdf] + while {$c < $n} { + set z1 [string first "\0" $buf_rdf $c] + if {$z1 == -1} break + incr z1 + set z2 [string first "\0" $buf_rdf $z1] + if {$z2 == -1} break + + incr c + set i [split [string range $buf_rdf $c [expr {$z1 - 2}]] { }] + set p [string range $buf_rdf $z1 [expr {$z2 - 1}]] + merge_state \ + [encoding convertfrom $p] \ + ?[lindex $i 4] \ + [list] \ + [list [lindex $i 0] [lindex $i 2]] + set c $z2 + incr c + } + if {$c < $n} { + set buf_rdf [string range $buf_rdf $c end] + } else { + set buf_rdf {} + } + + rescan_done $fd buf_rdf $after +} + +proc read_ls_others {fd after} { + global buf_rlo + + append buf_rlo [read $fd] + set pck [split $buf_rlo "\0"] + set buf_rlo [lindex $pck end] + foreach p [lrange $pck 0 end-1] { + set p [encoding convertfrom $p] + if {[string index $p end] eq {/}} { + set p [string range $p 0 end-1] + } + merge_state $p ?O + } + rescan_done $fd buf_rlo $after +} + +proc rescan_done {fd buf after} { + global rescan_active current_diff_path + global file_states repo_config + upvar $buf to_clear + + if {![eof $fd]} return + set to_clear {} + close $fd + if {[incr rescan_active -1] > 0} return + + prune_selection + unlock_index + display_all_files + if {$current_diff_path ne {}} { reshow_diff $after } + if {$current_diff_path eq {}} { select_first_diff $after } +} + +proc prune_selection {} { + global file_states selected_paths + + foreach path [array names selected_paths] { + if {[catch {set still_here $file_states($path)}]} { + unset selected_paths($path) + } + } +} + +###################################################################### +## +## ui helpers + +proc mapicon {w state path} { + global all_icons + + if {[catch {set r $all_icons($state$w)}]} { + puts "error: no icon for $w state={$state} $path" + return file_plain + } + return $r +} + +proc mapdesc {state path} { + global all_descs + + if {[catch {set r $all_descs($state)}]} { + puts "error: no desc for state={$state} $path" + return $state + } + return $r +} + +proc ui_status {msg} { + global main_status + if {[info exists main_status]} { + $main_status show $msg + } +} + +proc ui_ready {{test {}}} { + global main_status + if {[info exists main_status]} { + $main_status show [mc "Ready."] $test + } +} + +proc escape_path {path} { + regsub -all {\\} $path "\\\\" path + regsub -all "\n" $path "\\n" path + return $path +} + +proc short_path {path} { + return [escape_path [lindex [file split $path] end]] +} + +set next_icon_id 0 +set null_sha1 [string repeat 0 40] + +proc merge_state {path new_state {head_info {}} {index_info {}}} { + global file_states next_icon_id null_sha1 + + set s0 [string index $new_state 0] + set s1 [string index $new_state 1] + + if {[catch {set info $file_states($path)}]} { + set state __ + set icon n[incr next_icon_id] + } else { + set state [lindex $info 0] + set icon [lindex $info 1] + if {$head_info eq {}} {set head_info [lindex $info 2]} + if {$index_info eq {}} {set index_info [lindex $info 3]} + } + + if {$s0 eq {?}} {set s0 [string index $state 0]} \ + elseif {$s0 eq {_}} {set s0 _} + + if {$s1 eq {?}} {set s1 [string index $state 1]} \ + elseif {$s1 eq {_}} {set s1 _} + + if {$s0 eq {A} && $s1 eq {_} && $head_info eq {}} { + set head_info [list 0 $null_sha1] + } elseif {$s0 ne {_} && [string index $state 0] eq {_} + && $head_info eq {}} { + set head_info $index_info + } + + set file_states($path) [list $s0$s1 $icon \ + $head_info $index_info \ + ] + return $state +} + +proc display_file_helper {w path icon_name old_m new_m} { + global file_lists + + if {$new_m eq {_}} { + set lno [lsearch -sorted -exact $file_lists($w) $path] + if {$lno >= 0} { + set file_lists($w) [lreplace $file_lists($w) $lno $lno] + incr lno + $w conf -state normal + $w delete $lno.0 [expr {$lno + 1}].0 + $w conf -state disabled + } + } elseif {$old_m eq {_} && $new_m ne {_}} { + lappend file_lists($w) $path + set file_lists($w) [lsort -unique $file_lists($w)] + set lno [lsearch -sorted -exact $file_lists($w) $path] + incr lno + $w conf -state normal + $w image create $lno.0 \ + -align center -padx 5 -pady 1 \ + -name $icon_name \ + -image [mapicon $w $new_m $path] + $w insert $lno.1 "[escape_path $path]\n" + $w conf -state disabled + } elseif {$old_m ne $new_m} { + $w conf -state normal + $w image conf $icon_name -image [mapicon $w $new_m $path] + $w conf -state disabled + } +} + +proc display_file {path state} { + global file_states selected_paths + global ui_index ui_workdir + + set old_m [merge_state $path $state] + set s $file_states($path) + set new_m [lindex $s 0] + set icon_name [lindex $s 1] + + set o [string index $old_m 0] + set n [string index $new_m 0] + if {$o eq {U}} { + set o _ + } + if {$n eq {U}} { + set n _ + } + display_file_helper $ui_index $path $icon_name $o $n + + if {[string index $old_m 0] eq {U}} { + set o U + } else { + set o [string index $old_m 1] + } + if {[string index $new_m 0] eq {U}} { + set n U + } else { + set n [string index $new_m 1] + } + display_file_helper $ui_workdir $path $icon_name $o $n + + if {$new_m eq {__}} { + unset file_states($path) + catch {unset selected_paths($path)} + } +} + +proc display_all_files_helper {w path icon_name m} { + global file_lists + + lappend file_lists($w) $path + set lno [expr {[lindex [split [$w index end] .] 0] - 1}] + $w image create end \ + -align center -padx 5 -pady 1 \ + -name $icon_name \ + -image [mapicon $w $m $path] + $w insert end "[escape_path $path]\n" +} + +proc display_all_files {} { + global ui_index ui_workdir + global file_states file_lists + global last_clicked + + $ui_index conf -state normal + $ui_workdir conf -state normal + + $ui_index delete 0.0 end + $ui_workdir delete 0.0 end + set last_clicked {} + + set file_lists($ui_index) [list] + set file_lists($ui_workdir) [list] + + foreach path [lsort [array names file_states]] { + set s $file_states($path) + set m [lindex $s 0] + set icon_name [lindex $s 1] + + set s [string index $m 0] + if {$s ne {U} && $s ne {_}} { + display_all_files_helper $ui_index $path \ + $icon_name $s + } + + if {[string index $m 0] eq {U}} { + set s U + } else { + set s [string index $m 1] + } + if {$s ne {_}} { + display_all_files_helper $ui_workdir $path \ + $icon_name $s + } + } + + $ui_index conf -state disabled + $ui_workdir conf -state disabled +} + +###################################################################### +## +## icons + +set filemask { +#define mask_width 14 +#define mask_height 15 +static unsigned char mask_bits[] = { + 0xfe, 0x1f, 0xfe, 0x1f, 0xfe, 0x1f, 0xfe, 0x1f, 0xfe, 0x1f, 0xfe, 0x1f, + 0xfe, 0x1f, 0xfe, 0x1f, 0xfe, 0x1f, 0xfe, 0x1f, 0xfe, 0x1f, 0xfe, 0x1f, + 0xfe, 0x1f, 0xfe, 0x1f, 0xfe, 0x1f}; +} + +image create bitmap file_plain -background white -foreground black -data { +#define plain_width 14 +#define plain_height 15 +static unsigned char plain_bits[] = { + 0xfe, 0x01, 0x02, 0x03, 0x02, 0x05, 0x02, 0x09, 0x02, 0x1f, 0x02, 0x10, + 0x02, 0x10, 0x02, 0x10, 0x02, 0x10, 0x02, 0x10, 0x02, 0x10, 0x02, 0x10, + 0x02, 0x10, 0x02, 0x10, 0xfe, 0x1f}; +} -maskdata $filemask + +image create bitmap file_mod -background white -foreground blue -data { +#define mod_width 14 +#define mod_height 15 +static unsigned char mod_bits[] = { + 0xfe, 0x01, 0x02, 0x03, 0x7a, 0x05, 0x02, 0x09, 0x7a, 0x1f, 0x02, 0x10, + 0xfa, 0x17, 0x02, 0x10, 0xfa, 0x17, 0x02, 0x10, 0xfa, 0x17, 0x02, 0x10, + 0xfa, 0x17, 0x02, 0x10, 0xfe, 0x1f}; +} -maskdata $filemask + +image create bitmap file_fulltick -background white -foreground "#007000" -data { +#define file_fulltick_width 14 +#define file_fulltick_height 15 +static unsigned char file_fulltick_bits[] = { + 0xfe, 0x01, 0x02, 0x1a, 0x02, 0x0c, 0x02, 0x0c, 0x02, 0x16, 0x02, 0x16, + 0x02, 0x13, 0x00, 0x13, 0x86, 0x11, 0x8c, 0x11, 0xd8, 0x10, 0xf2, 0x10, + 0x62, 0x10, 0x02, 0x10, 0xfe, 0x1f}; +} -maskdata $filemask + +image create bitmap file_parttick -background white -foreground "#005050" -data { +#define parttick_width 14 +#define parttick_height 15 +static unsigned char parttick_bits[] = { + 0xfe, 0x01, 0x02, 0x03, 0x7a, 0x05, 0x02, 0x09, 0x7a, 0x1f, 0x02, 0x10, + 0x7a, 0x14, 0x02, 0x16, 0x02, 0x13, 0x8a, 0x11, 0xda, 0x10, 0x72, 0x10, + 0x22, 0x10, 0x02, 0x10, 0xfe, 0x1f}; +} -maskdata $filemask + +image create bitmap file_question -background white -foreground black -data { +#define file_question_width 14 +#define file_question_height 15 +static unsigned char file_question_bits[] = { + 0xfe, 0x01, 0x02, 0x02, 0xe2, 0x04, 0xf2, 0x09, 0x1a, 0x1b, 0x0a, 0x13, + 0x82, 0x11, 0xc2, 0x10, 0x62, 0x10, 0x62, 0x10, 0x02, 0x10, 0x62, 0x10, + 0x62, 0x10, 0x02, 0x10, 0xfe, 0x1f}; +} -maskdata $filemask + +image create bitmap file_removed -background white -foreground red -data { +#define file_removed_width 14 +#define file_removed_height 15 +static unsigned char file_removed_bits[] = { + 0xfe, 0x01, 0x02, 0x03, 0x02, 0x05, 0x02, 0x09, 0x02, 0x1f, 0x02, 0x10, + 0x1a, 0x16, 0x32, 0x13, 0xe2, 0x11, 0xc2, 0x10, 0xe2, 0x11, 0x32, 0x13, + 0x1a, 0x16, 0x02, 0x10, 0xfe, 0x1f}; +} -maskdata $filemask + +image create bitmap file_merge -background white -foreground blue -data { +#define file_merge_width 14 +#define file_merge_height 15 +static unsigned char file_merge_bits[] = { + 0xfe, 0x01, 0x02, 0x03, 0x62, 0x05, 0x62, 0x09, 0x62, 0x1f, 0x62, 0x10, + 0xfa, 0x11, 0xf2, 0x10, 0x62, 0x10, 0x02, 0x10, 0xfa, 0x17, 0x02, 0x10, + 0xfa, 0x17, 0x02, 0x10, 0xfe, 0x1f}; +} -maskdata $filemask + +image create bitmap file_statechange -background white -foreground green -data { +#define file_merge_width 14 +#define file_merge_height 15 +static unsigned char file_statechange_bits[] = { + 0xfe, 0x01, 0x02, 0x03, 0x02, 0x05, 0x02, 0x09, 0x02, 0x1f, 0x62, 0x10, + 0x62, 0x10, 0xba, 0x11, 0xba, 0x11, 0x62, 0x10, 0x62, 0x10, 0x02, 0x10, + 0x02, 0x10, 0x02, 0x10, 0xfe, 0x1f}; +} -maskdata $filemask + +set ui_index .vpane.files.index.list +set ui_workdir .vpane.files.workdir.list + +set all_icons(_$ui_index) file_plain +set all_icons(A$ui_index) file_fulltick +set all_icons(M$ui_index) file_fulltick +set all_icons(D$ui_index) file_removed +set all_icons(U$ui_index) file_merge +set all_icons(T$ui_index) file_statechange + +set all_icons(_$ui_workdir) file_plain +set all_icons(M$ui_workdir) file_mod +set all_icons(D$ui_workdir) file_question +set all_icons(U$ui_workdir) file_merge +set all_icons(O$ui_workdir) file_plain +set all_icons(T$ui_workdir) file_statechange + +set max_status_desc 0 +foreach i { + {__ {mc "Unmodified"}} + + {_M {mc "Modified, not staged"}} + {M_ {mc "Staged for commit"}} + {MM {mc "Portions staged for commit"}} + {MD {mc "Staged for commit, missing"}} + + {_T {mc "File type changed, not staged"}} + {T_ {mc "File type changed, staged"}} + + {_O {mc "Untracked, not staged"}} + {A_ {mc "Staged for commit"}} + {AM {mc "Portions staged for commit"}} + {AD {mc "Staged for commit, missing"}} + + {_D {mc "Missing"}} + {D_ {mc "Staged for removal"}} + {DO {mc "Staged for removal, still present"}} + + {_U {mc "Requires merge resolution"}} + {U_ {mc "Requires merge resolution"}} + {UU {mc "Requires merge resolution"}} + {UM {mc "Requires merge resolution"}} + {UD {mc "Requires merge resolution"}} + {UT {mc "Requires merge resolution"}} + } { + set text [eval [lindex $i 1]] + if {$max_status_desc < [string length $text]} { + set max_status_desc [string length $text] + } + set all_descs([lindex $i 0]) $text +} +unset i + +###################################################################### +## +## util + +proc scrollbar2many {list mode args} { + foreach w $list {eval $w $mode $args} +} + +proc many2scrollbar {list mode sb top bottom} { + $sb set $top $bottom + foreach w $list {$w $mode moveto $top} +} + +proc incr_font_size {font {amt 1}} { + set sz [font configure $font -size] + incr sz $amt + font configure $font -size $sz + font configure ${font}bold -size $sz + font configure ${font}italic -size $sz +} + +###################################################################### +## +## ui commands + +set starting_gitk_msg [mc "Starting gitk... please wait..."] + +proc do_gitk {revs} { + # -- Always start gitk through whatever we were loaded with. This + # lets us bypass using shell process on Windows systems. + # + set exe [_which gitk -script] + set cmd [list [info nameofexecutable] $exe] + if {$exe eq {}} { + error_popup [mc "Couldn't find gitk in PATH"] + } else { + global env + + if {[info exists env(GIT_DIR)]} { + set old_GIT_DIR $env(GIT_DIR) + } else { + set old_GIT_DIR {} + } + + set pwd [pwd] + cd [file dirname [gitdir]] + set env(GIT_DIR) [file tail [gitdir]] + + eval exec $cmd $revs & + + if {$old_GIT_DIR eq {}} { + unset env(GIT_DIR) + } else { + set env(GIT_DIR) $old_GIT_DIR + } + cd $pwd + + ui_status $::starting_gitk_msg + after 10000 { + ui_ready $starting_gitk_msg + } + } +} + +proc do_explore {} { + set explorer {} + if {[is_Cygwin] || [is_Windows]} { + set explorer "explorer.exe" + } elseif {[is_MacOSX]} { + set explorer "open" + } else { + # freedesktop.org-conforming system is our best shot + set explorer "xdg-open" + } + eval exec $explorer [file dirname [gitdir]] & +} + +set is_quitting 0 +set ret_code 1 + +proc terminate_me {win} { + global ret_code + if {$win ne {.}} return + exit $ret_code +} + +proc do_quit {{rc {1}}} { + global ui_comm is_quitting repo_config commit_type + global GITGUI_BCK_exists GITGUI_BCK_i + global ui_comm_spell + global ret_code + + if {$is_quitting} return + set is_quitting 1 + + if {[winfo exists $ui_comm]} { + # -- Stash our current commit buffer. + # + set save [gitdir GITGUI_MSG] + if {$GITGUI_BCK_exists && ![$ui_comm edit modified]} { + file rename -force [gitdir GITGUI_BCK] $save + set GITGUI_BCK_exists 0 + } else { + set msg [string trim [$ui_comm get 0.0 end]] + regsub -all -line {[ \r\t]+$} $msg {} msg + if {(![string match amend* $commit_type] + || [$ui_comm edit modified]) + && $msg ne {}} { + catch { + set fd [open $save w] + puts -nonewline $fd $msg + close $fd + } + } else { + catch {file delete $save} + } + } + + # -- Cancel our spellchecker if its running. + # + if {[info exists ui_comm_spell]} { + $ui_comm_spell stop + } + + # -- Remove our editor backup, its not needed. + # + after cancel $GITGUI_BCK_i + if {$GITGUI_BCK_exists} { + catch {file delete [gitdir GITGUI_BCK]} + } + + # -- Stash our current window geometry into this repository. + # + set cfg_geometry [list] + lappend cfg_geometry [wm geometry .] + lappend cfg_geometry [lindex [.vpane sash coord 0] 0] + lappend cfg_geometry [lindex [.vpane.files sash coord 0] 1] + if {[catch {set rc_geometry $repo_config(gui.geometry)}]} { + set rc_geometry {} + } + if {$cfg_geometry ne $rc_geometry} { + catch {git config gui.geometry $cfg_geometry} + } + } + + set ret_code $rc + destroy . +} + +proc do_rescan {} { + rescan ui_ready +} + +proc ui_do_rescan {} { + rescan {force_first_diff ui_ready} +} + +proc do_commit {} { + commit_tree +} + +proc next_diff {{after {}}} { + global next_diff_p next_diff_w next_diff_i + show_diff $next_diff_p $next_diff_w {} {} $after +} + +proc find_anchor_pos {lst name} { + set lid [lsearch -sorted -exact $lst $name] + + if {$lid == -1} { + set lid 0 + foreach lname $lst { + if {$lname >= $name} break + incr lid + } + } + + return $lid +} + +proc find_file_from {flist idx delta path mmask} { + global file_states + + set len [llength $flist] + while {$idx >= 0 && $idx < $len} { + set name [lindex $flist $idx] + + if {$name ne $path && [info exists file_states($name)]} { + set state [lindex $file_states($name) 0] + + if {$mmask eq {} || [regexp $mmask $state]} { + return $idx + } + } + + incr idx $delta + } + + return {} +} + +proc find_next_diff {w path {lno {}} {mmask {}}} { + global next_diff_p next_diff_w next_diff_i + global file_lists ui_index ui_workdir + + set flist $file_lists($w) + if {$lno eq {}} { + set lno [find_anchor_pos $flist $path] + } else { + incr lno -1 + } + + if {$mmask ne {} && ![regexp {(^\^)|(\$$)} $mmask]} { + if {$w eq $ui_index} { + set mmask "^$mmask" + } else { + set mmask "$mmask\$" + } + } + + set idx [find_file_from $flist $lno 1 $path $mmask] + if {$idx eq {}} { + incr lno -1 + set idx [find_file_from $flist $lno -1 $path $mmask] + } + + if {$idx ne {}} { + set next_diff_w $w + set next_diff_p [lindex $flist $idx] + set next_diff_i [expr {$idx+1}] + return 1 + } else { + return 0 + } +} + +proc next_diff_after_action {w path {lno {}} {mmask {}}} { + global current_diff_path + + if {$path ne $current_diff_path} { + return {} + } elseif {[find_next_diff $w $path $lno $mmask]} { + return {next_diff;} + } else { + return {reshow_diff;} + } +} + +proc select_first_diff {after} { + global ui_workdir + + if {[find_next_diff $ui_workdir {} 1 {^_?U}] || + [find_next_diff $ui_workdir {} 1 {[^O]$}]} { + next_diff $after + } else { + uplevel #0 $after + } +} + +proc force_first_diff {after} { + global ui_workdir current_diff_path file_states + + if {[info exists file_states($current_diff_path)]} { + set state [lindex $file_states($current_diff_path) 0] + } else { + set state {OO} + } + + set reselect 0 + if {[string first {U} $state] >= 0} { + # Already a conflict, do nothing + } elseif {[find_next_diff $ui_workdir $current_diff_path {} {^_?U}]} { + set reselect 1 + } elseif {[string index $state 1] ne {O}} { + # Already a diff & no conflicts, do nothing + } elseif {[find_next_diff $ui_workdir $current_diff_path {} {[^O]$}]} { + set reselect 1 + } + + if {$reselect} { + next_diff $after + } else { + uplevel #0 $after + } +} + +proc toggle_or_diff {w x y} { + global file_states file_lists current_diff_path ui_index ui_workdir + global last_clicked selected_paths + + set pos [split [$w index @$x,$y] .] + set lno [lindex $pos 0] + set col [lindex $pos 1] + set path [lindex $file_lists($w) [expr {$lno - 1}]] + if {$path eq {}} { + set last_clicked {} + return + } + + set last_clicked [list $w $lno] + array unset selected_paths + $ui_index tag remove in_sel 0.0 end + $ui_workdir tag remove in_sel 0.0 end + + # Determine the state of the file + if {[info exists file_states($path)]} { + set state [lindex $file_states($path) 0] + } else { + set state {__} + } + + # Restage the file, or simply show the diff + if {$col == 0 && $y > 1} { + # Conflicts need special handling + if {[string first {U} $state] >= 0} { + # $w must always be $ui_workdir, but... + if {$w ne $ui_workdir} { set lno {} } + merge_stage_workdir $path $lno + return + } + + if {[string index $state 1] eq {O}} { + set mmask {} + } else { + set mmask {[^O]} + } + + set after [next_diff_after_action $w $path $lno $mmask] + + if {$w eq $ui_index} { + update_indexinfo \ + "Unstaging [short_path $path] from commit" \ + [list $path] \ + [concat $after [list ui_ready]] + } elseif {$w eq $ui_workdir} { + update_index \ + "Adding [short_path $path]" \ + [list $path] \ + [concat $after [list ui_ready]] + } + } else { + show_diff $path $w $lno + } +} + +proc add_one_to_selection {w x y} { + global file_lists last_clicked selected_paths + + set lno [lindex [split [$w index @$x,$y] .] 0] + set path [lindex $file_lists($w) [expr {$lno - 1}]] + if {$path eq {}} { + set last_clicked {} + return + } + + if {$last_clicked ne {} + && [lindex $last_clicked 0] ne $w} { + array unset selected_paths + [lindex $last_clicked 0] tag remove in_sel 0.0 end + } + + set last_clicked [list $w $lno] + if {[catch {set in_sel $selected_paths($path)}]} { + set in_sel 0 + } + if {$in_sel} { + unset selected_paths($path) + $w tag remove in_sel $lno.0 [expr {$lno + 1}].0 + } else { + set selected_paths($path) 1 + $w tag add in_sel $lno.0 [expr {$lno + 1}].0 + } +} + +proc add_range_to_selection {w x y} { + global file_lists last_clicked selected_paths + + if {[lindex $last_clicked 0] ne $w} { + toggle_or_diff $w $x $y + return + } + + set lno [lindex [split [$w index @$x,$y] .] 0] + set lc [lindex $last_clicked 1] + if {$lc < $lno} { + set begin $lc + set end $lno + } else { + set begin $lno + set end $lc + } + + foreach path [lrange $file_lists($w) \ + [expr {$begin - 1}] \ + [expr {$end - 1}]] { + set selected_paths($path) 1 + } + $w tag add in_sel $begin.0 [expr {$end + 1}].0 +} + +proc show_more_context {} { + global repo_config + if {$repo_config(gui.diffcontext) < 99} { + incr repo_config(gui.diffcontext) + reshow_diff + } +} + +proc show_less_context {} { + global repo_config + if {$repo_config(gui.diffcontext) > 1} { + incr repo_config(gui.diffcontext) -1 + reshow_diff + } +} + +###################################################################### +## +## ui construction + +load_config 0 +apply_config +set ui_comm {} + +# -- Menu Bar +# +menu .mbar -tearoff 0 +.mbar add cascade -label [mc Repository] -menu .mbar.repository +.mbar add cascade -label [mc Edit] -menu .mbar.edit +if {[is_enabled branch]} { + .mbar add cascade -label [mc Branch] -menu .mbar.branch +} +if {[is_enabled multicommit] || [is_enabled singlecommit]} { + .mbar add cascade -label [mc Commit@@noun] -menu .mbar.commit +} +if {[is_enabled transport]} { + .mbar add cascade -label [mc Merge] -menu .mbar.merge + .mbar add cascade -label [mc Remote] -menu .mbar.remote +} +if {[is_enabled multicommit] || [is_enabled singlecommit]} { + .mbar add cascade -label [mc Tools] -menu .mbar.tools +} +. configure -menu .mbar + +# -- Repository Menu +# +menu .mbar.repository + +.mbar.repository add command \ + -label [mc "Explore Working Copy"] \ + -command {do_explore} +.mbar.repository add separator + +.mbar.repository add command \ + -label [mc "Browse Current Branch's Files"] \ + -command {browser::new $current_branch} +set ui_browse_current [.mbar.repository index last] +.mbar.repository add command \ + -label [mc "Browse Branch Files..."] \ + -command browser_open::dialog +.mbar.repository add separator + +.mbar.repository add command \ + -label [mc "Visualize Current Branch's History"] \ + -command {do_gitk $current_branch} +set ui_visualize_current [.mbar.repository index last] +.mbar.repository add command \ + -label [mc "Visualize All Branch History"] \ + -command {do_gitk --all} +.mbar.repository add separator + +proc current_branch_write {args} { + global current_branch + .mbar.repository entryconf $::ui_browse_current \ + -label [mc "Browse %s's Files" $current_branch] + .mbar.repository entryconf $::ui_visualize_current \ + -label [mc "Visualize %s's History" $current_branch] +} +trace add variable current_branch write current_branch_write + +if {[is_enabled multicommit]} { + .mbar.repository add command -label [mc "Database Statistics"] \ + -command do_stats + + .mbar.repository add command -label [mc "Compress Database"] \ + -command do_gc + + .mbar.repository add command -label [mc "Verify Database"] \ + -command do_fsck_objects + + .mbar.repository add separator + + if {[is_Cygwin]} { + .mbar.repository add command \ + -label [mc "Create Desktop Icon"] \ + -command do_cygwin_shortcut + } elseif {[is_Windows]} { + .mbar.repository add command \ + -label [mc "Create Desktop Icon"] \ + -command do_windows_shortcut + } elseif {[is_MacOSX]} { + .mbar.repository add command \ + -label [mc "Create Desktop Icon"] \ + -command do_macosx_app + } +} + +if {[is_MacOSX]} { + proc ::tk::mac::Quit {args} { do_quit } +} else { + .mbar.repository add command -label [mc Quit] \ + -command do_quit \ + -accelerator $M1T-Q +} + +# -- Edit Menu +# +menu .mbar.edit +.mbar.edit add command -label [mc Undo] \ + -command {catch {[focus] edit undo}} \ + -accelerator $M1T-Z +.mbar.edit add command -label [mc Redo] \ + -command {catch {[focus] edit redo}} \ + -accelerator $M1T-Y +.mbar.edit add separator +.mbar.edit add command -label [mc Cut] \ + -command {catch {tk_textCut [focus]}} \ + -accelerator $M1T-X +.mbar.edit add command -label [mc Copy] \ + -command {catch {tk_textCopy [focus]}} \ + -accelerator $M1T-C +.mbar.edit add command -label [mc Paste] \ + -command {catch {tk_textPaste [focus]; [focus] see insert}} \ + -accelerator $M1T-V +.mbar.edit add command -label [mc Delete] \ + -command {catch {[focus] delete sel.first sel.last}} \ + -accelerator Del +.mbar.edit add separator +.mbar.edit add command -label [mc "Select All"] \ + -command {catch {[focus] tag add sel 0.0 end}} \ + -accelerator $M1T-A + +# -- Branch Menu +# +if {[is_enabled branch]} { + menu .mbar.branch + + .mbar.branch add command -label [mc "Create..."] \ + -command branch_create::dialog \ + -accelerator $M1T-N + lappend disable_on_lock [list .mbar.branch entryconf \ + [.mbar.branch index last] -state] + + .mbar.branch add command -label [mc "Checkout..."] \ + -command branch_checkout::dialog \ + -accelerator $M1T-O + lappend disable_on_lock [list .mbar.branch entryconf \ + [.mbar.branch index last] -state] + + .mbar.branch add command -label [mc "Rename..."] \ + -command branch_rename::dialog + lappend disable_on_lock [list .mbar.branch entryconf \ + [.mbar.branch index last] -state] + + .mbar.branch add command -label [mc "Delete..."] \ + -command branch_delete::dialog + lappend disable_on_lock [list .mbar.branch entryconf \ + [.mbar.branch index last] -state] + + .mbar.branch add command -label [mc "Reset..."] \ + -command merge::reset_hard + lappend disable_on_lock [list .mbar.branch entryconf \ + [.mbar.branch index last] -state] +} + +# -- Commit Menu +# +proc commit_btn_caption {} { + if {[is_enabled nocommit]} { + return [mc "Done"] + } else { + return [mc Commit@@verb] + } +} + +if {[is_enabled multicommit] || [is_enabled singlecommit]} { + menu .mbar.commit + + if {![is_enabled nocommit]} { + .mbar.commit add radiobutton \ + -label [mc "New Commit"] \ + -command do_select_commit_type \ + -variable selected_commit_type \ + -value new + lappend disable_on_lock \ + [list .mbar.commit entryconf [.mbar.commit index last] -state] + + .mbar.commit add radiobutton \ + -label [mc "Amend Last Commit"] \ + -command do_select_commit_type \ + -variable selected_commit_type \ + -value amend + lappend disable_on_lock \ + [list .mbar.commit entryconf [.mbar.commit index last] -state] + + .mbar.commit add separator + } + + .mbar.commit add command -label [mc Rescan] \ + -command ui_do_rescan \ + -accelerator F5 + lappend disable_on_lock \ + [list .mbar.commit entryconf [.mbar.commit index last] -state] + + .mbar.commit add command -label [mc "Stage To Commit"] \ + -command do_add_selection \ + -accelerator $M1T-T + lappend disable_on_lock \ + [list .mbar.commit entryconf [.mbar.commit index last] -state] + + .mbar.commit add command -label [mc "Stage Changed Files To Commit"] \ + -command do_add_all \ + -accelerator $M1T-I + lappend disable_on_lock \ + [list .mbar.commit entryconf [.mbar.commit index last] -state] + + .mbar.commit add command -label [mc "Unstage From Commit"] \ + -command do_unstage_selection + lappend disable_on_lock \ + [list .mbar.commit entryconf [.mbar.commit index last] -state] + + .mbar.commit add command -label [mc "Revert Changes"] \ + -command do_revert_selection + lappend disable_on_lock \ + [list .mbar.commit entryconf [.mbar.commit index last] -state] + + .mbar.commit add separator + + .mbar.commit add command -label [mc "Show Less Context"] \ + -command show_less_context \ + -accelerator $M1T-\- + + .mbar.commit add command -label [mc "Show More Context"] \ + -command show_more_context \ + -accelerator $M1T-= + + .mbar.commit add separator + + if {![is_enabled nocommitmsg]} { + .mbar.commit add command -label [mc "Sign Off"] \ + -command do_signoff \ + -accelerator $M1T-S + } + + .mbar.commit add command -label [commit_btn_caption] \ + -command do_commit \ + -accelerator $M1T-Return + lappend disable_on_lock \ + [list .mbar.commit entryconf [.mbar.commit index last] -state] +} + +# -- Merge Menu +# +if {[is_enabled branch]} { + menu .mbar.merge + .mbar.merge add command -label [mc "Local Merge..."] \ + -command merge::dialog \ + -accelerator $M1T-M + lappend disable_on_lock \ + [list .mbar.merge entryconf [.mbar.merge index last] -state] + .mbar.merge add command -label [mc "Abort Merge..."] \ + -command merge::reset_hard + lappend disable_on_lock \ + [list .mbar.merge entryconf [.mbar.merge index last] -state] +} + +# -- Transport Menu +# +if {[is_enabled transport]} { + menu .mbar.remote + + .mbar.remote add command \ + -label [mc "Add..."] \ + -command remote_add::dialog \ + -accelerator $M1T-A + .mbar.remote add command \ + -label [mc "Push..."] \ + -command do_push_anywhere \ + -accelerator $M1T-P + .mbar.remote add command \ + -label [mc "Delete Branch..."] \ + -command remote_branch_delete::dialog +} + +if {[is_MacOSX]} { + # -- Apple Menu (Mac OS X only) + # + .mbar add cascade -label Apple -menu .mbar.apple + menu .mbar.apple + + .mbar.apple add command -label [mc "About %s" [appname]] \ + -command do_about + .mbar.apple add separator + .mbar.apple add command \ + -label [mc "Preferences..."] \ + -command do_options \ + -accelerator $M1T-, + bind . <$M1B-,> do_options +} else { + # -- Edit Menu + # + .mbar.edit add separator + .mbar.edit add command -label [mc "Options..."] \ + -command do_options +} + +# -- Tools Menu +# +if {[is_enabled multicommit] || [is_enabled singlecommit]} { + set tools_menubar .mbar.tools + menu $tools_menubar + $tools_menubar add separator + $tools_menubar add command -label [mc "Add..."] -command tools_add::dialog + $tools_menubar add command -label [mc "Remove..."] -command tools_remove::dialog + set tools_tailcnt 3 + if {[array names repo_config guitool.*.cmd] ne {}} { + tools_populate_all + } +} + +# -- Help Menu +# +.mbar add cascade -label [mc Help] -menu .mbar.help +menu .mbar.help + +if {![is_MacOSX]} { + .mbar.help add command -label [mc "About %s" [appname]] \ + -command do_about +} + + +set doc_path [file dirname [gitexec]] +set doc_path [file join $doc_path Documentation index.html] + +if {[is_Cygwin]} { + set doc_path [exec cygpath --mixed $doc_path] +} + +if {[file isfile $doc_path]} { + set doc_url "file:$doc_path" +} else { + set doc_url {http://www.kernel.org/pub/software/scm/git/docs/} +} + +proc start_browser {url} { + git "web--browse" $url +} + +.mbar.help add command -label [mc "Online Documentation"] \ + -command [list start_browser $doc_url] + +.mbar.help add command -label [mc "Show SSH Key"] \ + -command do_ssh_key + +unset doc_path doc_url + +# -- Standard bindings +# +wm protocol . WM_DELETE_WINDOW do_quit +bind all <$M1B-Key-q> do_quit +bind all <$M1B-Key-Q> do_quit +bind all <$M1B-Key-w> {destroy [winfo toplevel %W]} +bind all <$M1B-Key-W> {destroy [winfo toplevel %W]} + +set subcommand_args {} +proc usage {} { + puts stderr "usage: $::argv0 $::subcommand $::subcommand_args" + exit 1 +} + ++proc normalize_relpath {path} { ++ set elements {} ++ foreach item [file split $path] { ++ if {$item eq {.}} continue ++ if {$item eq {..} && [llength $elements] > 0 ++ && [lindex $elements end] ne {..}} { ++ set elements [lrange $elements 0 end-1] ++ continue ++ } ++ lappend elements $item ++ } ++ return [eval file join $elements] ++} ++ +# -- Not a normal commit type invocation? Do that instead! +# +switch -- $subcommand { +browser - +blame { + if {$subcommand eq "blame"} { + set subcommand_args {[--line=] rev? path} + } else { + set subcommand_args {rev? path} + } + if {$argv eq {}} usage + set head {} + set path {} + set jump_spec {} + set is_path 0 + foreach a $argv { + if {$is_path || [file exists $_prefix$a]} { + if {$path ne {}} usage - set path $_prefix$a ++ set path [normalize_relpath $_prefix$a] + break + } elseif {$a eq {--}} { + if {$path ne {}} { + if {$head ne {}} usage + set head $path + set path {} + } + set is_path 1 + } elseif {[regexp {^--line=(\d+)$} $a a lnum]} { + if {$jump_spec ne {} || $head ne {}} usage + set jump_spec [list $lnum] + } elseif {$head eq {}} { + if {$head ne {}} usage + set head $a + set is_path 1 + } else { + usage + } + } + unset is_path + + if {$head ne {} && $path eq {}} { - set path $_prefix$head ++ set path [normalize_relpath $_prefix$head] + set head {} + } + + if {$head eq {}} { + load_current_branch + } else { + if {[regexp {^[0-9a-f]{1,39}$} $head]} { + if {[catch { + set head [git rev-parse --verify $head] + } err]} { + puts stderr $err + exit 1 + } + } + set current_branch $head + } + + switch -- $subcommand { + browser { + if {$jump_spec ne {}} usage + if {$head eq {}} { + if {$path ne {} && [file isdirectory $path]} { + set head $current_branch + } else { + set head $path + set path {} + } + } + browser::new $head $path + } + blame { + if {$head eq {} && ![file exists $path]} { + puts stderr [mc "fatal: cannot stat path %s: No such file or directory" $path] + exit 1 + } + blame::new $head $path $jump_spec + } + } + return +} +citool - +gui { + if {[llength $argv] != 0} { + puts -nonewline stderr "usage: $argv0" + if {$subcommand ne {gui} + && [file tail $argv0] ne "git-$subcommand"} { + puts -nonewline stderr " $subcommand" + } + puts stderr {} + exit 1 + } + # fall through to setup UI for commits +} +default { + puts stderr "usage: $argv0 \[{blame|browser|citool}\]" + exit 1 +} +} + +# -- Branch Control +# +frame .branch \ + -borderwidth 1 \ + -relief sunken +label .branch.l1 \ + -text [mc "Current Branch:"] \ + -anchor w \ + -justify left +label .branch.cb \ + -textvariable current_branch \ + -anchor w \ + -justify left +pack .branch.l1 -side left +pack .branch.cb -side left -fill x +pack .branch -side top -fill x + +# -- Main Window Layout +# +panedwindow .vpane -orient horizontal +panedwindow .vpane.files -orient vertical +.vpane add .vpane.files -sticky nsew -height 100 -width 200 +pack .vpane -anchor n -side top -fill both -expand 1 + +# -- Index File List +# +frame .vpane.files.index -height 100 -width 200 +label .vpane.files.index.title -text [mc "Staged Changes (Will Commit)"] \ + -background lightgreen -foreground black +text $ui_index -background white -foreground black \ + -borderwidth 0 \ + -width 20 -height 10 \ + -wrap none \ + -cursor $cursor_ptr \ + -xscrollcommand {.vpane.files.index.sx set} \ + -yscrollcommand {.vpane.files.index.sy set} \ + -state disabled +scrollbar .vpane.files.index.sx -orient h -command [list $ui_index xview] +scrollbar .vpane.files.index.sy -orient v -command [list $ui_index yview] +pack .vpane.files.index.title -side top -fill x +pack .vpane.files.index.sx -side bottom -fill x +pack .vpane.files.index.sy -side right -fill y +pack $ui_index -side left -fill both -expand 1 + +# -- Working Directory File List +# +frame .vpane.files.workdir -height 100 -width 200 +label .vpane.files.workdir.title -text [mc "Unstaged Changes"] \ + -background lightsalmon -foreground black +text $ui_workdir -background white -foreground black \ + -borderwidth 0 \ + -width 20 -height 10 \ + -wrap none \ + -cursor $cursor_ptr \ + -xscrollcommand {.vpane.files.workdir.sx set} \ + -yscrollcommand {.vpane.files.workdir.sy set} \ + -state disabled +scrollbar .vpane.files.workdir.sx -orient h -command [list $ui_workdir xview] +scrollbar .vpane.files.workdir.sy -orient v -command [list $ui_workdir yview] +pack .vpane.files.workdir.title -side top -fill x +pack .vpane.files.workdir.sx -side bottom -fill x +pack .vpane.files.workdir.sy -side right -fill y +pack $ui_workdir -side left -fill both -expand 1 + +.vpane.files add .vpane.files.workdir -sticky nsew +.vpane.files add .vpane.files.index -sticky nsew + +foreach i [list $ui_index $ui_workdir] { + rmsel_tag $i + $i tag conf in_diff -background [$i tag cget in_sel -background] +} +unset i + +# -- Diff and Commit Area +# +frame .vpane.lower -height 300 -width 400 +frame .vpane.lower.commarea +frame .vpane.lower.diff -relief sunken -borderwidth 1 +pack .vpane.lower.diff -fill both -expand 1 +pack .vpane.lower.commarea -side bottom -fill x +.vpane add .vpane.lower -sticky nsew + +# -- Commit Area Buttons +# +frame .vpane.lower.commarea.buttons +label .vpane.lower.commarea.buttons.l -text {} \ + -anchor w \ + -justify left +pack .vpane.lower.commarea.buttons.l -side top -fill x +pack .vpane.lower.commarea.buttons -side left -fill y + +button .vpane.lower.commarea.buttons.rescan -text [mc Rescan] \ + -command ui_do_rescan +pack .vpane.lower.commarea.buttons.rescan -side top -fill x +lappend disable_on_lock \ + {.vpane.lower.commarea.buttons.rescan conf -state} + +button .vpane.lower.commarea.buttons.incall -text [mc "Stage Changed"] \ + -command do_add_all +pack .vpane.lower.commarea.buttons.incall -side top -fill x +lappend disable_on_lock \ + {.vpane.lower.commarea.buttons.incall conf -state} + +if {![is_enabled nocommitmsg]} { + button .vpane.lower.commarea.buttons.signoff -text [mc "Sign Off"] \ + -command do_signoff + pack .vpane.lower.commarea.buttons.signoff -side top -fill x +} + +button .vpane.lower.commarea.buttons.commit -text [commit_btn_caption] \ + -command do_commit +pack .vpane.lower.commarea.buttons.commit -side top -fill x +lappend disable_on_lock \ + {.vpane.lower.commarea.buttons.commit conf -state} + +if {![is_enabled nocommit]} { + button .vpane.lower.commarea.buttons.push -text [mc Push] \ + -command do_push_anywhere + pack .vpane.lower.commarea.buttons.push -side top -fill x +} + +# -- Commit Message Buffer +# +frame .vpane.lower.commarea.buffer +frame .vpane.lower.commarea.buffer.header +set ui_comm .vpane.lower.commarea.buffer.t +set ui_coml .vpane.lower.commarea.buffer.header.l + +if {![is_enabled nocommit]} { + radiobutton .vpane.lower.commarea.buffer.header.new \ + -text [mc "New Commit"] \ + -command do_select_commit_type \ + -variable selected_commit_type \ + -value new + lappend disable_on_lock \ + [list .vpane.lower.commarea.buffer.header.new conf -state] + radiobutton .vpane.lower.commarea.buffer.header.amend \ + -text [mc "Amend Last Commit"] \ + -command do_select_commit_type \ + -variable selected_commit_type \ + -value amend + lappend disable_on_lock \ + [list .vpane.lower.commarea.buffer.header.amend conf -state] +} + +label $ui_coml \ + -anchor w \ + -justify left +proc trace_commit_type {varname args} { + global ui_coml commit_type + switch -glob -- $commit_type { + initial {set txt [mc "Initial Commit Message:"]} + amend {set txt [mc "Amended Commit Message:"]} + amend-initial {set txt [mc "Amended Initial Commit Message:"]} + amend-merge {set txt [mc "Amended Merge Commit Message:"]} + merge {set txt [mc "Merge Commit Message:"]} + * {set txt [mc "Commit Message:"]} + } + $ui_coml conf -text $txt +} +trace add variable commit_type write trace_commit_type +pack $ui_coml -side left -fill x + +if {![is_enabled nocommit]} { + pack .vpane.lower.commarea.buffer.header.amend -side right + pack .vpane.lower.commarea.buffer.header.new -side right +} + +text $ui_comm -background white -foreground black \ + -borderwidth 1 \ + -undo true \ + -maxundo 20 \ + -autoseparators true \ + -relief sunken \ + -width $repo_config(gui.commitmsgwidth) -height 9 -wrap none \ + -font font_diff \ + -yscrollcommand {.vpane.lower.commarea.buffer.sby set} +scrollbar .vpane.lower.commarea.buffer.sby \ + -command [list $ui_comm yview] +pack .vpane.lower.commarea.buffer.header -side top -fill x +pack .vpane.lower.commarea.buffer.sby -side right -fill y +pack $ui_comm -side left -fill y +pack .vpane.lower.commarea.buffer -side left -fill y + +# -- Commit Message Buffer Context Menu +# +set ctxm .vpane.lower.commarea.buffer.ctxm +menu $ctxm -tearoff 0 +$ctxm add command \ + -label [mc Cut] \ + -command {tk_textCut $ui_comm} +$ctxm add command \ + -label [mc Copy] \ + -command {tk_textCopy $ui_comm} +$ctxm add command \ + -label [mc Paste] \ + -command {tk_textPaste $ui_comm} +$ctxm add command \ + -label [mc Delete] \ + -command {$ui_comm delete sel.first sel.last} +$ctxm add separator +$ctxm add command \ + -label [mc "Select All"] \ + -command {focus $ui_comm;$ui_comm tag add sel 0.0 end} +$ctxm add command \ + -label [mc "Copy All"] \ + -command { + $ui_comm tag add sel 0.0 end + tk_textCopy $ui_comm + $ui_comm tag remove sel 0.0 end + } +$ctxm add separator +$ctxm add command \ + -label [mc "Sign Off"] \ + -command do_signoff +set ui_comm_ctxm $ctxm + +# -- Diff Header +# +proc trace_current_diff_path {varname args} { + global current_diff_path diff_actions file_states + if {$current_diff_path eq {}} { + set s {} + set f {} + set p {} + set o disabled + } else { + set p $current_diff_path + set s [mapdesc [lindex $file_states($p) 0] $p] + set f [mc "File:"] + set p [escape_path $p] + set o normal + } + + .vpane.lower.diff.header.status configure -text $s + .vpane.lower.diff.header.file configure -text $f + .vpane.lower.diff.header.path configure -text $p + foreach w $diff_actions { + uplevel #0 $w $o + } +} +trace add variable current_diff_path write trace_current_diff_path + +frame .vpane.lower.diff.header -background gold +label .vpane.lower.diff.header.status \ + -background gold \ + -foreground black \ + -width $max_status_desc \ + -anchor w \ + -justify left +label .vpane.lower.diff.header.file \ + -background gold \ + -foreground black \ + -anchor w \ + -justify left +label .vpane.lower.diff.header.path \ + -background gold \ + -foreground black \ + -anchor w \ + -justify left +pack .vpane.lower.diff.header.status -side left +pack .vpane.lower.diff.header.file -side left +pack .vpane.lower.diff.header.path -fill x +set ctxm .vpane.lower.diff.header.ctxm +menu $ctxm -tearoff 0 +$ctxm add command \ + -label [mc Copy] \ + -command { + clipboard clear + clipboard append \ + -format STRING \ + -type STRING \ + -- $current_diff_path + } +lappend diff_actions [list $ctxm entryconf [$ctxm index last] -state] +bind_button3 .vpane.lower.diff.header.path "tk_popup $ctxm %X %Y" + +# -- Diff Body +# +frame .vpane.lower.diff.body +set ui_diff .vpane.lower.diff.body.t +text $ui_diff -background white -foreground black \ + -borderwidth 0 \ + -width 80 -height 15 -wrap none \ + -font font_diff \ + -xscrollcommand {.vpane.lower.diff.body.sbx set} \ + -yscrollcommand {.vpane.lower.diff.body.sby set} \ + -state disabled +scrollbar .vpane.lower.diff.body.sbx -orient horizontal \ + -command [list $ui_diff xview] +scrollbar .vpane.lower.diff.body.sby -orient vertical \ + -command [list $ui_diff yview] +pack .vpane.lower.diff.body.sbx -side bottom -fill x +pack .vpane.lower.diff.body.sby -side right -fill y +pack $ui_diff -side left -fill both -expand 1 +pack .vpane.lower.diff.header -side top -fill x +pack .vpane.lower.diff.body -side bottom -fill both -expand 1 + +$ui_diff tag conf d_cr -elide true +$ui_diff tag conf d_@ -foreground blue -font font_diffbold +$ui_diff tag conf d_+ -foreground {#00a000} +$ui_diff tag conf d_- -foreground red + +$ui_diff tag conf d_++ -foreground {#00a000} +$ui_diff tag conf d_-- -foreground red +$ui_diff tag conf d_+s \ + -foreground {#00a000} \ + -background {#e2effa} +$ui_diff tag conf d_-s \ + -foreground red \ + -background {#e2effa} +$ui_diff tag conf d_s+ \ + -foreground {#00a000} \ + -background ivory1 +$ui_diff tag conf d_s- \ + -foreground red \ + -background ivory1 + +$ui_diff tag conf d<<<<<<< \ + -foreground orange \ + -font font_diffbold +$ui_diff tag conf d======= \ + -foreground orange \ + -font font_diffbold +$ui_diff tag conf d>>>>>>> \ + -foreground orange \ + -font font_diffbold + +$ui_diff tag raise sel + +# -- Diff Body Context Menu +# + +proc create_common_diff_popup {ctxm} { + $ctxm add command \ + -label [mc "Show Less Context"] \ + -command show_less_context + lappend diff_actions [list $ctxm entryconf [$ctxm index last] -state] + $ctxm add command \ + -label [mc "Show More Context"] \ + -command show_more_context + lappend diff_actions [list $ctxm entryconf [$ctxm index last] -state] + $ctxm add separator + $ctxm add command \ + -label [mc Refresh] \ + -command reshow_diff + lappend diff_actions [list $ctxm entryconf [$ctxm index last] -state] + $ctxm add command \ + -label [mc Copy] \ + -command {tk_textCopy $ui_diff} + lappend diff_actions [list $ctxm entryconf [$ctxm index last] -state] + $ctxm add command \ + -label [mc "Select All"] \ + -command {focus $ui_diff;$ui_diff tag add sel 0.0 end} + lappend diff_actions [list $ctxm entryconf [$ctxm index last] -state] + $ctxm add command \ + -label [mc "Copy All"] \ + -command { + $ui_diff tag add sel 0.0 end + tk_textCopy $ui_diff + $ui_diff tag remove sel 0.0 end + } + lappend diff_actions [list $ctxm entryconf [$ctxm index last] -state] + $ctxm add separator + $ctxm add command \ + -label [mc "Decrease Font Size"] \ + -command {incr_font_size font_diff -1} + lappend diff_actions [list $ctxm entryconf [$ctxm index last] -state] + $ctxm add command \ + -label [mc "Increase Font Size"] \ + -command {incr_font_size font_diff 1} + lappend diff_actions [list $ctxm entryconf [$ctxm index last] -state] + $ctxm add separator + set emenu $ctxm.enc + menu $emenu + build_encoding_menu $emenu [list force_diff_encoding] + $ctxm add cascade \ + -label [mc "Encoding"] \ + -menu $emenu + lappend diff_actions [list $ctxm entryconf [$ctxm index last] -state] + $ctxm add separator + $ctxm add command -label [mc "Options..."] \ + -command do_options +} + +set ctxm .vpane.lower.diff.body.ctxm +menu $ctxm -tearoff 0 +$ctxm add command \ + -label [mc "Apply/Reverse Hunk"] \ + -command {apply_hunk $cursorX $cursorY} +set ui_diff_applyhunk [$ctxm index last] +lappend diff_actions [list $ctxm entryconf $ui_diff_applyhunk -state] +$ctxm add command \ + -label [mc "Apply/Reverse Line"] \ + -command {apply_line $cursorX $cursorY; do_rescan} +set ui_diff_applyline [$ctxm index last] +lappend diff_actions [list $ctxm entryconf $ui_diff_applyline -state] +$ctxm add separator +create_common_diff_popup $ctxm + +set ctxmmg .vpane.lower.diff.body.ctxmmg +menu $ctxmmg -tearoff 0 +$ctxmmg add command \ + -label [mc "Run Merge Tool"] \ + -command {merge_resolve_tool} +lappend diff_actions [list $ctxmmg entryconf [$ctxmmg index last] -state] +$ctxmmg add separator +$ctxmmg add command \ + -label [mc "Use Remote Version"] \ + -command {merge_resolve_one 3} +lappend diff_actions [list $ctxmmg entryconf [$ctxmmg index last] -state] +$ctxmmg add command \ + -label [mc "Use Local Version"] \ + -command {merge_resolve_one 2} +lappend diff_actions [list $ctxmmg entryconf [$ctxmmg index last] -state] +$ctxmmg add command \ + -label [mc "Revert To Base"] \ + -command {merge_resolve_one 1} +lappend diff_actions [list $ctxmmg entryconf [$ctxmmg index last] -state] +$ctxmmg add separator +create_common_diff_popup $ctxmmg + +proc popup_diff_menu {ctxm ctxmmg x y X Y} { + global current_diff_path file_states + set ::cursorX $x + set ::cursorY $y + if {[info exists file_states($current_diff_path)]} { + set state [lindex $file_states($current_diff_path) 0] + } else { + set state {__} + } + if {[string first {U} $state] >= 0} { + tk_popup $ctxmmg $X $Y + } else { + if {$::ui_index eq $::current_diff_side} { + set l [mc "Unstage Hunk From Commit"] + set t [mc "Unstage Line From Commit"] + } else { + set l [mc "Stage Hunk For Commit"] + set t [mc "Stage Line For Commit"] + } + if {$::is_3way_diff + || $current_diff_path eq {} + || {__} eq $state + || {_O} eq $state + || {_T} eq $state + || {T_} eq $state} { + set s disabled + } else { + set s normal + } + $ctxm entryconf $::ui_diff_applyhunk -state $s -label $l + $ctxm entryconf $::ui_diff_applyline -state $s -label $t + tk_popup $ctxm $X $Y + } +} +bind_button3 $ui_diff [list popup_diff_menu $ctxm $ctxmmg %x %y %X %Y] + +# -- Status Bar +# +set main_status [::status_bar::new .status] +pack .status -anchor w -side bottom -fill x +$main_status show [mc "Initializing..."] + +# -- Load geometry +# +catch { +set gm $repo_config(gui.geometry) +wm geometry . [lindex $gm 0] +.vpane sash place 0 \ + [lindex $gm 1] \ + [lindex [.vpane sash coord 0] 1] +.vpane.files sash place 0 \ + [lindex [.vpane.files sash coord 0] 0] \ + [lindex $gm 2] +unset gm +} + +# -- Key Bindings +# +bind $ui_comm <$M1B-Key-Return> {do_commit;break} +bind $ui_comm <$M1B-Key-t> {do_add_selection;break} +bind $ui_comm <$M1B-Key-T> {do_add_selection;break} +bind $ui_comm <$M1B-Key-i> {do_add_all;break} +bind $ui_comm <$M1B-Key-I> {do_add_all;break} +bind $ui_comm <$M1B-Key-x> {tk_textCut %W;break} +bind $ui_comm <$M1B-Key-X> {tk_textCut %W;break} +bind $ui_comm <$M1B-Key-c> {tk_textCopy %W;break} +bind $ui_comm <$M1B-Key-C> {tk_textCopy %W;break} +bind $ui_comm <$M1B-Key-v> {tk_textPaste %W; %W see insert; break} +bind $ui_comm <$M1B-Key-V> {tk_textPaste %W; %W see insert; break} +bind $ui_comm <$M1B-Key-a> {%W tag add sel 0.0 end;break} +bind $ui_comm <$M1B-Key-A> {%W tag add sel 0.0 end;break} +bind $ui_comm <$M1B-Key-minus> {show_less_context;break} +bind $ui_comm <$M1B-Key-KP_Subtract> {show_less_context;break} +bind $ui_comm <$M1B-Key-equal> {show_more_context;break} +bind $ui_comm <$M1B-Key-plus> {show_more_context;break} +bind $ui_comm <$M1B-Key-KP_Add> {show_more_context;break} + +bind $ui_diff <$M1B-Key-x> {tk_textCopy %W;break} +bind $ui_diff <$M1B-Key-X> {tk_textCopy %W;break} +bind $ui_diff <$M1B-Key-c> {tk_textCopy %W;break} +bind $ui_diff <$M1B-Key-C> {tk_textCopy %W;break} +bind $ui_diff <$M1B-Key-v> {break} +bind $ui_diff <$M1B-Key-V> {break} +bind $ui_diff <$M1B-Key-a> {%W tag add sel 0.0 end;break} +bind $ui_diff <$M1B-Key-A> {%W tag add sel 0.0 end;break} +bind $ui_diff {catch {%W yview scroll -1 units};break} +bind $ui_diff {catch {%W yview scroll 1 units};break} +bind $ui_diff {catch {%W xview scroll -1 units};break} +bind $ui_diff {catch {%W xview scroll 1 units};break} +bind $ui_diff {catch {%W yview scroll -1 units};break} +bind $ui_diff {catch {%W yview scroll 1 units};break} +bind $ui_diff {catch {%W xview scroll -1 units};break} +bind $ui_diff {catch {%W xview scroll 1 units};break} +bind $ui_diff {catch {%W yview scroll -1 pages};break} +bind $ui_diff {catch {%W yview scroll 1 pages};break} +bind $ui_diff {focus %W} + +if {[is_enabled branch]} { + bind . <$M1B-Key-n> branch_create::dialog + bind . <$M1B-Key-N> branch_create::dialog + bind . <$M1B-Key-o> branch_checkout::dialog + bind . <$M1B-Key-O> branch_checkout::dialog + bind . <$M1B-Key-m> merge::dialog + bind . <$M1B-Key-M> merge::dialog +} +if {[is_enabled transport]} { + bind . <$M1B-Key-p> do_push_anywhere + bind . <$M1B-Key-P> do_push_anywhere +} + +bind . ui_do_rescan +bind . <$M1B-Key-r> ui_do_rescan +bind . <$M1B-Key-R> ui_do_rescan +bind . <$M1B-Key-s> do_signoff +bind . <$M1B-Key-S> do_signoff +bind . <$M1B-Key-t> do_add_selection +bind . <$M1B-Key-T> do_add_selection +bind . <$M1B-Key-i> do_add_all +bind . <$M1B-Key-I> do_add_all +bind . <$M1B-Key-minus> {show_less_context;break} +bind . <$M1B-Key-KP_Subtract> {show_less_context;break} +bind . <$M1B-Key-equal> {show_more_context;break} +bind . <$M1B-Key-plus> {show_more_context;break} +bind . <$M1B-Key-KP_Add> {show_more_context;break} +bind . <$M1B-Key-Return> do_commit +foreach i [list $ui_index $ui_workdir] { + bind $i "toggle_or_diff $i %x %y; break" + bind $i <$M1B-Button-1> "add_one_to_selection $i %x %y; break" + bind $i "add_range_to_selection $i %x %y; break" +} +unset i + +set file_lists($ui_index) [list] +set file_lists($ui_workdir) [list] + +wm title . "[appname] ([reponame]) [file normalize [file dirname [gitdir]]]" +focus -force $ui_comm + +# -- Warn the user about environmental problems. Cygwin's Tcl +# does *not* pass its env array onto any processes it spawns. +# This means that git processes get none of our environment. +# +if {[is_Cygwin]} { + set ignored_env 0 + set suggest_user {} + set msg [mc "Possible environment issues exist. + +The following environment variables are probably +going to be ignored by any Git subprocess run +by %s: + +" [appname]] + foreach name [array names env] { + switch -regexp -- $name { + {^GIT_INDEX_FILE$} - + {^GIT_OBJECT_DIRECTORY$} - + {^GIT_ALTERNATE_OBJECT_DIRECTORIES$} - + {^GIT_DIFF_OPTS$} - + {^GIT_EXTERNAL_DIFF$} - + {^GIT_PAGER$} - + {^GIT_TRACE$} - + {^GIT_CONFIG$} - - {^GIT_CONFIG_LOCAL$} - + {^GIT_(AUTHOR|COMMITTER)_DATE$} { + append msg " - $name\n" + incr ignored_env + } + {^GIT_(AUTHOR|COMMITTER)_(NAME|EMAIL)$} { + append msg " - $name\n" + incr ignored_env + set suggest_user $name + } + } + } + if {$ignored_env > 0} { + append msg [mc " +This is due to a known issue with the +Tcl binary distributed by Cygwin."] + + if {$suggest_user ne {}} { + append msg [mc " + +A good replacement for %s +is placing values for the user.name and +user.email settings into your personal +~/.gitconfig file. +" $suggest_user] + } + warn_popup $msg + } + unset ignored_env msg suggest_user name +} + +# -- Only initialize complex UI if we are going to stay running. +# +if {[is_enabled transport]} { + load_all_remotes + + set n [.mbar.remote index end] + populate_remotes_menu + set n [expr {[.mbar.remote index end] - $n}] + if {$n > 0} { + if {[.mbar.remote type 0] eq "tearoff"} { incr n } + .mbar.remote insert $n separator + } + unset n +} + +if {[winfo exists $ui_comm]} { + set GITGUI_BCK_exists [load_message GITGUI_BCK] + + # -- If both our backup and message files exist use the + # newer of the two files to initialize the buffer. + # + if {$GITGUI_BCK_exists} { + set m [gitdir GITGUI_MSG] + if {[file isfile $m]} { + if {[file mtime [gitdir GITGUI_BCK]] > [file mtime $m]} { + catch {file delete [gitdir GITGUI_MSG]} + } else { + $ui_comm delete 0.0 end + $ui_comm edit reset + $ui_comm edit modified false + catch {file delete [gitdir GITGUI_BCK]} + set GITGUI_BCK_exists 0 + } + } + unset m + } + + proc backup_commit_buffer {} { + global ui_comm GITGUI_BCK_exists + + set m [$ui_comm edit modified] + if {$m || $GITGUI_BCK_exists} { + set msg [string trim [$ui_comm get 0.0 end]] + regsub -all -line {[ \r\t]+$} $msg {} msg + + if {$msg eq {}} { + if {$GITGUI_BCK_exists} { + catch {file delete [gitdir GITGUI_BCK]} + set GITGUI_BCK_exists 0 + } + } elseif {$m} { + catch { + set fd [open [gitdir GITGUI_BCK] w] + puts -nonewline $fd $msg + close $fd + set GITGUI_BCK_exists 1 + } + } + + $ui_comm edit modified false + } + + set ::GITGUI_BCK_i [after 2000 backup_commit_buffer] + } + + backup_commit_buffer + + # -- If the user has aspell available we can drive it + # in pipe mode to spellcheck the commit message. + # + set spell_cmd [list |] + set spell_dict [get_config gui.spellingdictionary] + lappend spell_cmd aspell + if {$spell_dict ne {}} { + lappend spell_cmd --master=$spell_dict + } + lappend spell_cmd --mode=none + lappend spell_cmd --encoding=utf-8 + lappend spell_cmd pipe + if {$spell_dict eq {none} + || [catch {set spell_fd [open $spell_cmd r+]} spell_err]} { + bind_button3 $ui_comm [list tk_popup $ui_comm_ctxm %X %Y] + } else { + set ui_comm_spell [spellcheck::init \ + $spell_fd \ + $ui_comm \ + $ui_comm_ctxm \ + ] + } + unset -nocomplain spell_cmd spell_fd spell_err spell_dict +} + +lock_index begin-read +if {![winfo ismapped .]} { + wm deiconify . +} +after 1 { + if {[is_enabled initialamend]} { + force_amend + } else { + do_rescan + } + + if {[is_enabled nocommitmsg]} { + $ui_comm configure -state disabled -background gray + } +} +if {[is_enabled multicommit]} { + after 1000 hint_gc +} +if {[is_enabled retcode]} { + bind . {+terminate_me %W} +} +if {$picked && [is_config_true gui.autoexplore]} { + do_explore +} diff --cc git-gui/lib/blame.tcl index c1cd7f3b9,000000000..1f3b08f9e mode 100644,000000..100644 --- a/git-gui/lib/blame.tcl +++ b/git-gui/lib/blame.tcl @@@ -1,1302 -1,0 +1,1301 @@@ +# git-gui blame viewer +# Copyright (C) 2006, 2007 Shawn Pearce + +class blame { + +image create photo ::blame::img_back_arrow -data {R0lGODlhGAAYAIUAAPwCBEzKXFTSZIz+nGzmhGzqfGTidIT+nEzGXHTqhGzmfGzifFzadETCVES+VARWDFzWbHzyjAReDGTadFTOZDSyRDyyTCymPARaFGTedFzSbDy2TCyqRCyqPARaDAyCHES6VDy6VCyiPAR6HCSeNByWLARyFARiDARqFGTifARiFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAAAALAAAAAAYABgAAAajQIBwSCwaj8ikcsk0BppJwRPqHEypQwHBis0WDAdEFyBIKBaMAKLBdjQeSkFBYTBAIvgEoS6JmhUTEwIUDQ4VFhcMGEhyCgoZExoUaxsWHB0THkgfAXUGAhoBDSAVFR0XBnCbDRmgog0hpSIiDJpJIyEQhBUcJCIlwA22SSYVogknEg8eD82qSigdDSknY0IqJQXPYxIl1dZCGNvWw+Dm510GQQAh/mhDcmVhdGVkIGJ5IEJNUFRvR0lGIFBybyB2ZXJzaW9uIDIuNQ0KqSBEZXZlbENvciAxOTk3LDE5OTguIEFsbCByaWdodHMgcmVzZXJ2ZWQuDQpodHRwOi8vd3d3LmRldmVsY29yLmNvbQA7} + +# Persistant data (survives loads) +# +field history {}; # viewer history: {commit path} +field header ; # array commit,key -> header field + +# Tk UI control paths +# +field w ; # top window in this viewer +field w_back ; # our back button +field w_path ; # label showing the current file path +field w_columns ; # list of all column widgets in the viewer +field w_line ; # text column: all line numbers +field w_amov ; # text column: annotations + move tracking +field w_asim ; # text column: annotations (simple computation) +field w_file ; # text column: actual file data +field w_cviewer ; # pane showing commit message +field finder ; # find mini-dialog frame +field status ; # status mega-widget instance +field old_height ; # last known height of $w.file_pane + + +# Tk UI colors +# +variable active_color #c0edc5 +variable group_colors { + #d6d6d6 + #e1e1e1 + #ececec +} + +# Current blame data; cleared/reset on each load +# +field commit ; # input commit to blame +field path ; # input filename to view in $commit + +field current_fd {} ; # background process running +field highlight_line -1 ; # current line selected +field highlight_column {} ; # current commit column selected +field highlight_commit {} ; # sha1 of commit selected + +field total_lines 0 ; # total length of file +field blame_lines 0 ; # number of lines computed +field amov_data ; # list of {commit origfile origline} +field asim_data ; # list of {commit origfile origline} + +field r_commit ; # commit currently being parsed +field r_orig_line ; # original line number +field r_final_line ; # final line number +field r_line_count ; # lines in this region + +field tooltip_wm {} ; # Current tooltip toplevel, if open +field tooltip_t {} ; # Text widget in $tooltip_wm +field tooltip_timer {} ; # Current timer event for our tooltip +field tooltip_commit {} ; # Commit(s) in tooltip + +constructor new {i_commit i_path i_jump} { + global cursor_ptr M1B M1T have_tk85 + variable active_color + variable group_colors + + set commit $i_commit + set path $i_path + + make_toplevel top w + wm title $top [append "[appname] ([reponame]): " [mc "File Viewer"]] + + set font_w [font measure font_diff "0"] + + frame $w.header -background gold + label $w.header.commit_l \ + -text [mc "Commit:"] \ + -background gold \ + -foreground black \ + -anchor w \ + -justify left + set w_back $w.header.commit_b + label $w_back \ + -image ::blame::img_back_arrow \ + -borderwidth 0 \ + -relief flat \ + -state disabled \ + -background gold \ + -foreground black \ + -activebackground gold + bind $w_back " + if {\[$w_back cget -state\] eq {normal}} { + [cb _history_menu] + } + " + label $w.header.commit \ + -textvariable @commit \ + -background gold \ + -foreground black \ + -anchor w \ + -justify left + label $w.header.path_l \ + -text [mc "File:"] \ + -background gold \ + -foreground black \ + -anchor w \ + -justify left + set w_path $w.header.path + label $w_path \ + -background gold \ + -foreground black \ + -anchor w \ + -justify left + pack $w.header.commit_l -side left + pack $w_back -side left + pack $w.header.commit -side left + pack $w_path -fill x -side right + pack $w.header.path_l -side right + + panedwindow $w.file_pane -orient vertical -borderwidth 0 -sashwidth 3 + frame $w.file_pane.out -relief flat -borderwidth 1 + frame $w.file_pane.cm -relief sunken -borderwidth 1 + $w.file_pane add $w.file_pane.out \ + -sticky nsew \ + -minsize 100 \ + -height 100 \ + -width 100 + $w.file_pane add $w.file_pane.cm \ + -sticky nsew \ + -minsize 25 \ + -height 25 \ + -width 100 + + set w_line $w.file_pane.out.linenumber_t + text $w_line \ + -takefocus 0 \ + -highlightthickness 0 \ + -padx 0 -pady 0 \ + -background white \ + -foreground black \ + -borderwidth 0 \ + -state disabled \ + -wrap none \ + -height 40 \ + -width 6 \ + -font font_diff + $w_line tag conf linenumber -justify right -rmargin 5 + + set w_amov $w.file_pane.out.amove_t + text $w_amov \ + -takefocus 0 \ + -highlightthickness 0 \ + -padx 0 -pady 0 \ + -background white \ + -foreground black \ + -borderwidth 0 \ + -state disabled \ + -wrap none \ + -height 40 \ + -width 5 \ + -font font_diff + $w_amov tag conf author_abbr -justify right -rmargin 5 + $w_amov tag conf curr_commit + $w_amov tag conf prior_commit -foreground blue -underline 1 + $w_amov tag bind prior_commit \ + \ + "[cb _load_commit $w_amov @amov_data @%x,%y];break" + + set w_asim $w.file_pane.out.asimple_t + text $w_asim \ + -takefocus 0 \ + -highlightthickness 0 \ + -padx 0 -pady 0 \ + -background white \ + -foreground black \ + -borderwidth 0 \ + -state disabled \ + -wrap none \ + -height 40 \ + -width 4 \ + -font font_diff + $w_asim tag conf author_abbr -justify right + $w_asim tag conf curr_commit + $w_asim tag conf prior_commit -foreground blue -underline 1 + $w_asim tag bind prior_commit \ + \ + "[cb _load_commit $w_asim @asim_data @%x,%y];break" + + set w_file $w.file_pane.out.file_t + text $w_file \ + -takefocus 0 \ + -highlightthickness 0 \ + -padx 0 -pady 0 \ + -background white \ + -foreground black \ + -borderwidth 0 \ + -state disabled \ + -wrap none \ + -height 40 \ + -width 80 \ + -xscrollcommand [list $w.file_pane.out.sbx set] \ + -font font_diff + if {$have_tk85} { + $w_file configure -inactiveselectbackground darkblue + } + $w_file tag conf found \ + -background yellow + + set w_columns [list $w_amov $w_asim $w_line $w_file] + + scrollbar $w.file_pane.out.sbx \ + -orient h \ + -command [list $w_file xview] + scrollbar $w.file_pane.out.sby \ + -orient v \ + -command [list scrollbar2many $w_columns yview] + eval grid $w_columns $w.file_pane.out.sby -sticky nsew + grid conf \ + $w.file_pane.out.sbx \ + -column [expr {[llength $w_columns] - 1}] \ + -sticky we + grid columnconfigure \ + $w.file_pane.out \ + [expr {[llength $w_columns] - 1}] \ + -weight 1 + grid rowconfigure $w.file_pane.out 0 -weight 1 + + set finder [::searchbar::new \ + $w.file_pane.out.ff $w_file \ + -column [expr {[llength $w_columns] - 1}] \ + ] + + set w_cviewer $w.file_pane.cm.t + text $w_cviewer \ + -background white \ + -foreground black \ + -borderwidth 0 \ + -state disabled \ + -wrap none \ + -height 10 \ + -width 80 \ + -xscrollcommand [list $w.file_pane.cm.sbx set] \ + -yscrollcommand [list $w.file_pane.cm.sby set] \ + -font font_diff + $w_cviewer tag conf still_loading \ + -font font_uiitalic \ + -justify center + $w_cviewer tag conf header_key \ + -tabs {3c} \ + -background $active_color \ + -font font_uibold + $w_cviewer tag conf header_val \ + -background $active_color \ + -font font_ui + $w_cviewer tag raise sel + scrollbar $w.file_pane.cm.sbx \ + -orient h \ + -command [list $w_cviewer xview] + scrollbar $w.file_pane.cm.sby \ + -orient v \ + -command [list $w_cviewer yview] + pack $w.file_pane.cm.sby -side right -fill y + pack $w.file_pane.cm.sbx -side bottom -fill x + pack $w_cviewer -expand 1 -fill both + + set status [::status_bar::new $w.status] + + menu $w.ctxm -tearoff 0 + $w.ctxm add command \ + -label [mc "Copy Commit"] \ + -command [cb _copycommit] + $w.ctxm add separator + $w.ctxm add command \ + -label [mc "Find Text..."] \ + -accelerator F7 \ + -command [list searchbar::show $finder] + menu $w.ctxm.enc + build_encoding_menu $w.ctxm.enc [cb _setencoding] + $w.ctxm add cascade \ + -label [mc "Encoding"] \ + -menu $w.ctxm.enc + $w.ctxm add command \ + -label [mc "Do Full Copy Detection"] \ + -command [cb _fullcopyblame] + $w.ctxm add separator + $w.ctxm add command \ + -label [mc "Show History Context"] \ + -command [cb _gitkcommit] + $w.ctxm add command \ + -label [mc "Blame Parent Commit"] \ + -command [cb _blameparent] + + foreach i $w_columns { + for {set g 0} {$g < [llength $group_colors]} {incr g} { + $i tag conf color$g -background [lindex $group_colors $g] + } + + if {$i eq $w_file} { + $w_file tag raise found + } + $i tag raise sel + + $i conf -cursor $cursor_ptr + $i conf -yscrollcommand \ + "[list ::searchbar::scrolled $finder] + [list many2scrollbar $w_columns yview $w.file_pane.out.sby]" + bind $i " + [cb _hide_tooltip] + [cb _click $i @%x,%y] + focus $i + " + bind $i [cb _show_tooltip $i @%x,%y] + bind $i [cb _hide_tooltip] + bind $i [cb _hide_tooltip] + bind_button3 $i " + [cb _hide_tooltip] + set cursorX %x + set cursorY %y + set cursorW %W + tk_popup $w.ctxm %X %Y + " + bind $i "[list focus $w_cviewer];break" + bind $i "[cb _focus_search $w_cviewer];break" + } + + foreach i [concat $w_columns $w_cviewer] { + bind $i {catch {%W yview scroll -1 units};break} + bind $i {catch {%W yview scroll 1 units};break} + bind $i {catch {%W xview scroll -1 units};break} + bind $i {catch {%W xview scroll 1 units};break} + bind $i {catch {%W yview scroll -1 units};break} + bind $i {catch {%W yview scroll 1 units};break} + bind $i {catch {%W xview scroll -1 units};break} + bind $i {catch {%W xview scroll 1 units};break} + bind $i {catch {%W yview scroll -1 pages};break} + bind $i {catch {%W yview scroll 1 pages};break} + } + + bind $w_cviewer "[cb _focus_search $w_file];break" + bind $w_cviewer "[list focus $w_file];break" + bind $w_cviewer [list focus $w_cviewer] + bind $w_file [cb _focus_search $w_file] + bind $top [list searchbar::show $finder] + bind $top [list searchbar::hide $finder] + bind $top [list searchbar::find_next $finder] + bind $top [list searchbar::find_prev $finder] + catch { bind $top [list searchbar::find_prev $finder] } + + grid configure $w.header -sticky ew + grid configure $w.file_pane -sticky nsew + grid configure $w.status -sticky ew + grid columnconfigure $top 0 -weight 1 + grid rowconfigure $top 0 -weight 0 + grid rowconfigure $top 1 -weight 1 + grid rowconfigure $top 2 -weight 0 + + set req_w [winfo reqwidth $top] + set req_h [winfo reqheight $top] + set scr_w [expr {[winfo screenwidth $top] - 40}] + set scr_h [expr {[winfo screenheight $top] - 120}] + set opt_w [expr {$font_w * (80 + 5*3 + 3)}] + if {$req_w < $opt_w} {set req_w $opt_w} + if {$req_w > $scr_w} {set req_w $scr_w} + set opt_h [expr {$req_w*4/3}] + if {$req_h < $scr_h} {set req_h $scr_h} + if {$req_h > $opt_h} {set req_h $opt_h} + set g "${req_w}x${req_h}" + wm geometry $top $g + update + + set old_height [winfo height $w.file_pane] + $w.file_pane sash place 0 \ + [lindex [$w.file_pane sash coord 0] 0] \ + [expr {int($old_height * 0.80)}] + bind $w.file_pane \ + "if {{$w.file_pane} eq {%W}} {[cb _resize %h]}" + + wm protocol $top WM_DELETE_WINDOW "destroy $top" + bind $top [cb _handle_destroy %W] + + _load $this $i_jump +} + +method _focus_search {win} { + if {[searchbar::visible $finder]} { + focus [searchbar::editor $finder] + } else { + focus $win + } +} + +method _handle_destroy {win} { + if {$win eq $w} { + _kill $this + delete_this + } +} + +method _kill {} { + if {$current_fd ne {}} { + kill_file_process $current_fd + catch {close $current_fd} + set current_fd {} + } +} + +method _load {jump} { + variable group_colors + + _hide_tooltip $this + + if {$total_lines != 0 || $current_fd ne {}} { + _kill $this + + foreach i $w_columns { + $i conf -state normal + $i delete 0.0 end + foreach g [$i tag names] { + if {[regexp {^g[0-9a-f]{40}$} $g]} { + $i tag delete $g + } + } + $i conf -state disabled + } + + $w_cviewer conf -state normal + $w_cviewer delete 0.0 end + $w_cviewer conf -state disabled + + set highlight_line -1 + set highlight_column {} + set highlight_commit {} + set total_lines 0 + } + + if {$history eq {}} { + $w_back conf -state disabled + } else { + $w_back conf -state normal + } + + # Index 0 is always empty. There is never line 0 as + # we use only 1 based lines, as that matches both with + # git-blame output and with Tk's text widget. + # + set amov_data [list [list]] + set asim_data [list [list]] + + $status show [mc "Reading %s..." "$commit:[escape_path $path]"] + $w_path conf -text [escape_path $path] + if {$commit eq {}} { + set fd [open $path r] + fconfigure $fd -eofchar {} + } else { + set fd [git_read cat-file blob "$commit:$path"] + } + fconfigure $fd \ + -blocking 0 \ + -translation lf \ + -encoding [get_path_encoding $path] + fileevent $fd readable [cb _read_file $fd $jump] + set current_fd $fd +} + +method _history_menu {} { + set m $w.backmenu + if {[winfo exists $m]} { + $m delete 0 end + } else { + menu $m -tearoff 0 + } + + for {set i [expr {[llength $history] - 1}] + } {$i >= 0} {incr i -1} { + set e [lindex $history $i] + set c [lindex $e 0] + set f [lindex $e 1] + + if {[regexp {^[0-9a-f]{40}$} $c]} { + set t [string range $c 0 8]... + } elseif {$c eq {}} { + set t {Working Directory} + } else { + set t $c + } + if {![catch {set summary $header($c,summary)}]} { + append t " $summary" + if {[string length $t] > 70} { + set t [string range $t 0 66]... + } + } + + $m add command -label $t -command [cb _goback $i] + } + set X [winfo rootx $w_back] + set Y [expr {[winfo rooty $w_back] + [winfo height $w_back]}] + tk_popup $m $X $Y +} + +method _goback {i} { + set dat [lindex $history $i] + set history [lrange $history 0 [expr {$i - 1}]] + set commit [lindex $dat 0] + set path [lindex $dat 1] + _load $this [lrange $dat 2 5] +} + +method _read_file {fd jump} { + if {$fd ne $current_fd} { + catch {close $fd} + return + } + + foreach i $w_columns {$i conf -state normal} + while {[gets $fd line] >= 0} { + regsub "\r\$" $line {} line + incr total_lines + lappend amov_data {} + lappend asim_data {} + + if {$total_lines > 1} { + foreach i $w_columns {$i insert end "\n"} + } + + $w_line insert end "$total_lines" linenumber + $w_file insert end "$line" + } + + set ln_wc [expr {[string length $total_lines] + 2}] + if {[$w_line cget -width] < $ln_wc} { + $w_line conf -width $ln_wc + } + + foreach i $w_columns {$i conf -state disabled} + + if {[eof $fd]} { + close $fd + + # If we don't force Tk to update the widgets *right now* + # none of our jump commands will cause a change in the UI. + # + update + + if {[llength $jump] == 1} { + set highlight_line [lindex $jump 0] + $w_file see "$highlight_line.0" + } elseif {[llength $jump] == 4} { + set highlight_column [lindex $jump 0] + set highlight_line [lindex $jump 1] + $w_file xview moveto [lindex $jump 2] + $w_file yview moveto [lindex $jump 3] + } + + _exec_blame $this $w_asim @asim_data \ + [list] \ + [mc "Loading copy/move tracking annotations..."] + } +} ifdeleted { catch {close $fd} } + +method _exec_blame {cur_w cur_d options cur_s} { + lappend options --incremental --encoding=utf-8 + if {$commit eq {}} { + lappend options --contents $path + } else { + lappend options $commit + } + lappend options -- $path + set fd [eval git_read --nice blame $options] + fconfigure $fd -blocking 0 -translation lf -encoding utf-8 + fileevent $fd readable [cb _read_blame $fd $cur_w $cur_d] + set current_fd $fd + set blame_lines 0 + + $status start \ + $cur_s \ + [mc "lines annotated"] +} + +method _read_blame {fd cur_w cur_d} { + upvar #0 $cur_d line_data + variable group_colors + + if {$fd ne $current_fd} { + catch {close $fd} + return + } + + $cur_w conf -state normal + while {[gets $fd line] >= 0} { + if {[regexp {^([a-z0-9]{40}) (\d+) (\d+) (\d+)$} $line line \ + cmit original_line final_line line_count]} { + set r_commit $cmit + set r_orig_line $original_line + set r_final_line $final_line + set r_line_count $line_count + } elseif {[string match {filename *} $line]} { + set file [string range $line 9 end] + set n $r_line_count + set lno $r_final_line + set oln $r_orig_line + set cmit $r_commit + + if {[regexp {^0{40}$} $cmit]} { + set commit_abbr work + set commit_type curr_commit + } elseif {$cmit eq $commit} { + set commit_abbr this + set commit_type curr_commit + } else { + set commit_type prior_commit + set commit_abbr [string range $cmit 0 3] + } + + set author_abbr {} + set a_name {} + catch {set a_name $header($cmit,author)} + while {$a_name ne {}} { + if {$author_abbr ne {} + && [string index $a_name 0] eq {'}} { + regsub {^'[^']+'\s+} $a_name {} a_name + } + if {![regexp {^([[:upper:]])} $a_name _a]} break + append author_abbr $_a + unset _a + if {![regsub \ + {^[[:upper:]][^\s]*\s+} \ + $a_name {} a_name ]} break + } + if {$author_abbr eq {}} { + set author_abbr { |} + } else { + set author_abbr [string range $author_abbr 0 3] + } + unset a_name + + set first_lno $lno + while { + $first_lno > 1 + && $cmit eq [lindex $line_data [expr {$first_lno - 1}] 0] + && $file eq [lindex $line_data [expr {$first_lno - 1}] 1] + } { + incr first_lno -1 + } + + set color {} + if {$first_lno < $lno} { + foreach g [$w_file tag names $first_lno.0] { + if {[regexp {^color[0-9]+$} $g]} { + set color $g + break + } + } + } else { + set i [lsort [concat \ + [$w_file tag names "[expr {$first_lno - 1}].0"] \ + [$w_file tag names "[expr {$lno + $n}].0"] \ + ]] + for {set g 0} {$g < [llength $group_colors]} {incr g} { + if {[lsearch -sorted -exact $i color$g] == -1} { + set color color$g + break + } + } + } + if {$color eq {}} { + set color color0 + } + + while {$n > 0} { + set lno_e "$lno.0 lineend + 1c" + if {[lindex $line_data $lno] ne {}} { + set g [lindex $line_data $lno 0] + foreach i $w_columns { + $i tag remove g$g $lno.0 $lno_e + } + } + lset line_data $lno [list $cmit $file $oln] + + $cur_w delete $lno.0 "$lno.0 lineend" + if {$lno == $first_lno} { + $cur_w insert $lno.0 $commit_abbr $commit_type + } elseif {$lno == [expr {$first_lno + 1}]} { + $cur_w insert $lno.0 $author_abbr author_abbr + } else { + $cur_w insert $lno.0 { |} + } + + foreach i $w_columns { + if {$cur_w eq $w_amov} { + for {set g 0} \ + {$g < [llength $group_colors]} \ + {incr g} { + $i tag remove color$g $lno.0 $lno_e + } + $i tag add $color $lno.0 $lno_e + } + $i tag add g$cmit $lno.0 $lno_e + } + + if {$highlight_column eq $cur_w} { + if {$highlight_line == -1 + && [lindex [$w_file yview] 0] == 0} { + $w_file see $lno.0 + set highlight_line $lno + } + if {$highlight_line == $lno} { + _showcommit $this $cur_w $lno + } + } + + incr n -1 + incr lno + incr oln + incr blame_lines + } + + while { + $cmit eq [lindex $line_data $lno 0] + && $file eq [lindex $line_data $lno 1] + } { + $cur_w delete $lno.0 "$lno.0 lineend" + + if {$lno == $first_lno} { + $cur_w insert $lno.0 $commit_abbr $commit_type + } elseif {$lno == [expr {$first_lno + 1}]} { + $cur_w insert $lno.0 $author_abbr author_abbr + } else { + $cur_w insert $lno.0 { |} + } + + if {$cur_w eq $w_amov} { + foreach i $w_columns { + for {set g 0} \ + {$g < [llength $group_colors]} \ + {incr g} { + $i tag remove color$g $lno.0 $lno_e + } + $i tag add $color $lno.0 $lno_e + } + } + + incr lno + } + + } elseif {[regexp {^([a-z-]+) (.*)$} $line line key data]} { + set header($r_commit,$key) $data + } + } + $cur_w conf -state disabled + + if {[eof $fd]} { + close $fd + if {$cur_w eq $w_asim} { + # Switches for original location detection + set threshold [get_config gui.copyblamethreshold] + set original_options [list "-C$threshold"] + + if {![is_config_true gui.fastcopyblame]} { + # thorough copy search; insert before the threshold + set original_options [linsert $original_options 0 -C] + } + if {[git-version >= 1.5.3]} { + lappend original_options -w ; # ignore indentation changes + } + + _exec_blame $this $w_amov @amov_data \ + $original_options \ + [mc "Loading original location annotations..."] + } else { + set current_fd {} + $status stop [mc "Annotation complete."] + } + } else { + $status update $blame_lines $total_lines + } +} ifdeleted { catch {close $fd} } + +method _find_commit_bound {data_list start_idx delta} { + upvar #0 $data_list line_data + set pos $start_idx + set limit [expr {[llength $line_data] - 1}] + set base_commit [lindex $line_data $pos 0] + + while {$pos > 0 && $pos < $limit} { + set new_pos [expr {$pos + $delta}] + if {[lindex $line_data $new_pos 0] ne $base_commit} { + return $pos + } + + set pos $new_pos + } + + return $pos +} + +method _fullcopyblame {} { + if {$current_fd ne {}} { + tk_messageBox \ + -icon error \ + -type ok \ + -title [mc "Busy"] \ + -message [mc "Annotation process is already running."] + + return + } + + # Switches for original location detection + set threshold [get_config gui.copyblamethreshold] + set original_options [list -C -C "-C$threshold"] + + if {[git-version >= 1.5.3]} { + lappend original_options -w ; # ignore indentation changes + } + + # Find the line range + set pos @$::cursorX,$::cursorY + set lno [lindex [split [$::cursorW index $pos] .] 0] + set min_amov_lno [_find_commit_bound $this @amov_data $lno -1] + set max_amov_lno [_find_commit_bound $this @amov_data $lno 1] + set min_asim_lno [_find_commit_bound $this @asim_data $lno -1] + set max_asim_lno [_find_commit_bound $this @asim_data $lno 1] + + if {$min_asim_lno < $min_amov_lno} { + set min_amov_lno $min_asim_lno + } + + if {$max_asim_lno > $max_amov_lno} { + set max_amov_lno $max_asim_lno + } + + lappend original_options -L "$min_amov_lno,$max_amov_lno" + + # Clear lines + for {set i $min_amov_lno} {$i <= $max_amov_lno} {incr i} { + lset amov_data $i [list ] + } + + # Start the back-end process + _exec_blame $this $w_amov @amov_data \ + $original_options \ + [mc "Running thorough copy detection..."] +} + +method _click {cur_w pos} { + set lno [lindex [split [$cur_w index $pos] .] 0] + _showcommit $this $cur_w $lno +} + +method _setencoding {enc} { + force_path_encoding $path $enc + _load $this [list \ + $highlight_column \ + $highlight_line \ + [lindex [$w_file xview] 0] \ + [lindex [$w_file yview] 0] \ + ] +} + +method _load_commit {cur_w cur_d pos} { + upvar #0 $cur_d line_data + set lno [lindex [split [$cur_w index $pos] .] 0] + set dat [lindex $line_data $lno] + if {$dat ne {}} { + _load_new_commit $this \ + [lindex $dat 0] \ + [lindex $dat 1] \ + [list [lindex $dat 2]] + } +} + +method _load_new_commit {new_commit new_path jump} { + lappend history [list \ + $commit $path \ + $highlight_column \ + $highlight_line \ + [lindex [$w_file xview] 0] \ + [lindex [$w_file yview] 0] \ + ] + + set commit $new_commit + set path $new_path + _load $this $jump +} + +method _showcommit {cur_w lno} { + global repo_config + variable active_color + + if {$highlight_commit ne {}} { + foreach i $w_columns { + $i tag conf g$highlight_commit -background {} + $i tag lower g$highlight_commit + } + } + + if {$cur_w eq $w_asim} { + set dat [lindex $asim_data $lno] + set highlight_column $w_asim + } else { + set dat [lindex $amov_data $lno] + set highlight_column $w_amov + } + + $w_cviewer conf -state normal + $w_cviewer delete 0.0 end + + if {$dat eq {}} { + set cmit {} + $w_cviewer insert end [mc "Loading annotation..."] still_loading + } else { + set cmit [lindex $dat 0] + set file [lindex $dat 1] + + foreach i $w_columns { + $i tag conf g$cmit -background $active_color + $i tag raise g$cmit + if {$i eq $w_file} { + $w_file tag raise found + } + $i tag raise sel + } + + set author_name {} + set author_email {} + set author_time {} + catch {set author_name $header($cmit,author)} + catch {set author_email $header($cmit,author-mail)} + catch {set author_time [format_date $header($cmit,author-time)]} + + set committer_name {} + set committer_email {} + set committer_time {} + catch {set committer_name $header($cmit,committer)} + catch {set committer_email $header($cmit,committer-mail)} + catch {set committer_time [format_date $header($cmit,committer-time)]} + + if {[catch {set msg $header($cmit,message)}]} { + set msg {} + catch { + set fd [git_read cat-file commit $cmit] + fconfigure $fd -encoding binary -translation lf - if {[catch {set enc $repo_config(i18n.commitencoding)}]} { - set enc utf-8 - } ++ # By default commits are assumed to be in utf-8 ++ set enc utf-8 + while {[gets $fd line] > 0} { + if {[string match {encoding *} $line]} { + set enc [string tolower [string range $line 9 end]] + } + } + set msg [read $fd] + close $fd + + set enc [tcl_encoding $enc] + if {$enc ne {}} { + set msg [encoding convertfrom $enc $msg] + } + set msg [string trim $msg] + } + set header($cmit,message) $msg + } + + $w_cviewer insert end "commit $cmit\n" header_key + $w_cviewer insert end [strcat [mc "Author:"] "\t"] header_key + $w_cviewer insert end "$author_name $author_email" header_val + $w_cviewer insert end " $author_time\n" header_val + + $w_cviewer insert end [strcat [mc "Committer:"] "\t"] header_key + $w_cviewer insert end "$committer_name $committer_email" header_val + $w_cviewer insert end " $committer_time\n" header_val + + if {$file ne $path} { + $w_cviewer insert end [strcat [mc "Original File:"] "\t"] header_key + $w_cviewer insert end "[escape_path $file]\n" header_val + } + + $w_cviewer insert end "\n$msg" + } + $w_cviewer conf -state disabled + + set highlight_line $lno + set highlight_commit $cmit + + if {[lsearch -exact $tooltip_commit $highlight_commit] != -1} { + _hide_tooltip $this + } +} + +method _get_click_amov_info {} { + set pos @$::cursorX,$::cursorY + set lno [lindex [split [$::cursorW index $pos] .] 0] + return [lindex $amov_data $lno] +} + +method _copycommit {} { + set dat [_get_click_amov_info $this] + if {$dat ne {}} { + clipboard clear + clipboard append \ + -format STRING \ + -type STRING \ + -- [lindex $dat 0] + } +} + +method _format_offset_date {base offset} { + set exval [expr {$base + $offset*24*60*60}] + return [clock format $exval -format {%Y-%m-%d}] +} + +method _gitkcommit {} { + global nullid + + set dat [_get_click_amov_info $this] + if {$dat ne {}} { + set cmit [lindex $dat 0] + + # If the line belongs to the working copy, use HEAD instead + if {$cmit eq $nullid} { + if {[catch {set cmit [git rev-parse --verify HEAD]} err]} { + error_popup [strcat [mc "Cannot find HEAD commit:"] "\n\n$err"] + return; + } + } + + set radius [get_config gui.blamehistoryctx] + set cmdline [list --select-commit=$cmit] + + if {$radius > 0} { + set author_time {} + set committer_time {} + + catch {set author_time $header($cmit,author-time)} + catch {set committer_time $header($cmit,committer-time)} + + if {$committer_time eq {}} { + set committer_time $author_time + } + + set after_time [_format_offset_date $this $committer_time [expr {-$radius}]] + set before_time [_format_offset_date $this $committer_time $radius] + + lappend cmdline --after=$after_time --before=$before_time + } + + lappend cmdline $cmit + + set base_rev "HEAD" + if {$commit ne {}} { + set base_rev $commit + } + + if {$base_rev ne $cmit} { + lappend cmdline $base_rev + } + + do_gitk $cmdline + } +} + +method _blameparent {} { + global nullid + + set dat [_get_click_amov_info $this] + if {$dat ne {}} { + set cmit [lindex $dat 0] + set new_path [lindex $dat 1] + + # Allow using Blame Parent on lines modified in the working copy + if {$cmit eq $nullid} { + set parent_ref "HEAD" + } else { + set parent_ref "$cmit^" + } + if {[catch {set cparent [git rev-parse --verify $parent_ref]} err]} { + error_popup [strcat [mc "Cannot find parent commit:"] "\n\n$err"] + return; + } + + _kill $this + + # Generate a diff between the commit and its parent, + # and use the hunks to update the line number. + # Request zero context to simplify calculations. + if {$cmit eq $nullid} { + set diffcmd [list diff-index --unified=0 $cparent -- $new_path] + } else { + set diffcmd [list diff-tree --unified=0 $cparent $cmit -- $new_path] + } + if {[catch {set fd [eval git_read $diffcmd]} err]} { + $status stop [mc "Unable to display parent"] + error_popup [strcat [mc "Error loading diff:"] "\n\n$err"] + return + } + + set r_orig_line [lindex $dat 2] + + fconfigure $fd \ + -blocking 0 \ + -encoding binary \ + -translation binary + fileevent $fd readable [cb _read_diff_load_commit \ + $fd $cparent $new_path $r_orig_line] + set current_fd $fd + } +} + +method _read_diff_load_commit {fd cparent new_path tline} { + if {$fd ne $current_fd} { + catch {close $fd} + return + } + + while {[gets $fd line] >= 0} { + if {[regexp {^@@ -(\d+)(,(\d+))? \+(\d+)(,(\d+))? @@} $line line \ + old_line osz old_size new_line nsz new_size]} { + + if {$osz eq {}} { set old_size 1 } + if {$nsz eq {}} { set new_size 1 } + + if {$new_line <= $tline} { + if {[expr {$new_line + $new_size}] > $tline} { + # Target line within the hunk + set line_shift [expr { + ($new_size-$old_size)*($tline-$new_line)/$new_size + }] + } else { + set line_shift [expr {$new_size-$old_size}] + } + + set r_orig_line [expr {$r_orig_line - $line_shift}] + } + } + } + + if {[eof $fd]} { + close $fd; + set current_fd {} + + _load_new_commit $this \ + $cparent \ + $new_path \ + [list $r_orig_line] + } +} ifdeleted { catch {close $fd} } + +method _show_tooltip {cur_w pos} { + if {$tooltip_wm ne {}} { + _open_tooltip $this $cur_w + } elseif {$tooltip_timer eq {}} { + set tooltip_timer [after 1000 [cb _open_tooltip $cur_w]] + } +} + +method _open_tooltip {cur_w} { + set tooltip_timer {} + set pos_x [winfo pointerx $cur_w] + set pos_y [winfo pointery $cur_w] + if {[winfo containing $pos_x $pos_y] ne $cur_w} { + _hide_tooltip $this + return + } + + if {$tooltip_wm ne "$cur_w.tooltip"} { + _hide_tooltip $this + + set tooltip_wm [toplevel $cur_w.tooltip -borderwidth 1] + wm overrideredirect $tooltip_wm 1 + wm transient $tooltip_wm [winfo toplevel $cur_w] + set tooltip_t $tooltip_wm.label + text $tooltip_t \ + -takefocus 0 \ + -highlightthickness 0 \ + -relief flat \ + -borderwidth 0 \ + -wrap none \ + -background lightyellow \ + -foreground black + $tooltip_t tag conf section_header -font font_uibold + pack $tooltip_t + } else { + $tooltip_t conf -state normal + $tooltip_t delete 0.0 end + } + + set pos @[join [list \ + [expr {$pos_x - [winfo rootx $cur_w]}] \ + [expr {$pos_y - [winfo rooty $cur_w]}]] ,] + set lno [lindex [split [$cur_w index $pos] .] 0] + if {$cur_w eq $w_amov} { + set dat [lindex $amov_data $lno] + set org {} + } else { + set dat [lindex $asim_data $lno] + set org [lindex $amov_data $lno] + } + + if {$dat eq {}} { + _hide_tooltip $this + return + } + + set cmit [lindex $dat 0] + set tooltip_commit [list $cmit] + + set author_name {} + set summary {} + set author_time {} + catch {set author_name $header($cmit,author)} + catch {set summary $header($cmit,summary)} + catch {set author_time [format_date $header($cmit,author-time)]} + + $tooltip_t insert end "commit $cmit\n" + $tooltip_t insert end "$author_name $author_time\n" + $tooltip_t insert end "$summary" + + if {$org ne {} && [lindex $org 0] ne $cmit} { + set save [$tooltip_t get 0.0 end] + $tooltip_t delete 0.0 end + + set cmit [lindex $org 0] + set file [lindex $org 1] + lappend tooltip_commit $cmit + + set author_name {} + set summary {} + set author_time {} + catch {set author_name $header($cmit,author)} + catch {set summary $header($cmit,summary)} + catch {set author_time [format_date $header($cmit,author-time)]} + + $tooltip_t insert end [strcat [mc "Originally By:"] "\n"] section_header + $tooltip_t insert end "commit $cmit\n" + $tooltip_t insert end "$author_name $author_time\n" + $tooltip_t insert end "$summary\n" + + if {$file ne $path} { + $tooltip_t insert end [strcat [mc "In File:"] " "] section_header + $tooltip_t insert end "$file\n" + } + + $tooltip_t insert end "\n" + $tooltip_t insert end [strcat [mc "Copied Or Moved Here By:"] "\n"] section_header + $tooltip_t insert end $save + } + + $tooltip_t conf -state disabled + _position_tooltip $this +} + +method _position_tooltip {} { + set max_h [lindex [split [$tooltip_t index end] .] 0] + set max_w 0 + for {set i 1} {$i <= $max_h} {incr i} { + set c [lindex [split [$tooltip_t index "$i.0 lineend"] .] 1] + if {$c > $max_w} {set max_w $c} + } + $tooltip_t conf -width $max_w -height $max_h + + set req_w [winfo reqwidth $tooltip_t] + set req_h [winfo reqheight $tooltip_t] + set pos_x [expr {[winfo pointerx .] + 5}] + set pos_y [expr {[winfo pointery .] + 10}] + + set g "${req_w}x${req_h}" + if {$pos_x >= 0} {append g +} + append g $pos_x + if {$pos_y >= 0} {append g +} + append g $pos_y + + wm geometry $tooltip_wm $g + raise $tooltip_wm +} + +method _hide_tooltip {} { + if {$tooltip_wm ne {}} { + destroy $tooltip_wm + set tooltip_wm {} + set tooltip_commit {} + } + if {$tooltip_timer ne {}} { + after cancel $tooltip_timer + set tooltip_timer {} + } +} + +method _resize {new_height} { + set diff [expr {$new_height - $old_height}] + if {$diff == 0} return + + set my [expr {[winfo height $w.file_pane] - 25}] + set o [$w.file_pane sash coord 0] + set ox [lindex $o 0] + set oy [expr {[lindex $o 1] + $diff}] + if {$oy < 0} {set oy 0} + if {$oy > $my} {set oy $my} + $w.file_pane sash place 0 $ox $oy + + set old_height $new_height +} + +} diff --cc git-gui/lib/commit.tcl index 334514996,000000000..9cc841059 mode 100644,000000..100644 --- a/git-gui/lib/commit.tcl +++ b/git-gui/lib/commit.tcl @@@ -1,477 -1,0 +1,476 @@@ +# git-gui misc. commit reading/writing support +# Copyright (C) 2006, 2007 Shawn Pearce + +proc load_last_commit {} { + global HEAD PARENT MERGE_HEAD commit_type ui_comm + global repo_config + + if {[llength $PARENT] == 0} { + error_popup [mc "There is nothing to amend. + +You are about to create the initial commit. There is no commit before this to amend. +"] + return + } + + repository_state curType curHEAD curMERGE_HEAD + if {$curType eq {merge}} { + error_popup [mc "Cannot amend while merging. + +You are currently in the middle of a merge that has not been fully completed. You cannot amend the prior commit unless you first abort the current merge activity. +"] + return + } + + set msg {} + set parents [list] + if {[catch { + set fd [git_read cat-file commit $curHEAD] + fconfigure $fd -encoding binary -translation lf - if {[catch {set enc $repo_config(i18n.commitencoding)}]} { - set enc utf-8 - } ++ # By default commits are assumed to be in utf-8 ++ set enc utf-8 + while {[gets $fd line] > 0} { + if {[string match {parent *} $line]} { + lappend parents [string range $line 7 end] + } elseif {[string match {encoding *} $line]} { + set enc [string tolower [string range $line 9 end]] + } + } + set msg [read $fd] + close $fd + + set enc [tcl_encoding $enc] + if {$enc ne {}} { + set msg [encoding convertfrom $enc $msg] + } + set msg [string trim $msg] + } err]} { + error_popup [strcat [mc "Error loading commit data for amend:"] "\n\n$err"] + return + } + + set HEAD $curHEAD + set PARENT $parents + set MERGE_HEAD [list] + switch -- [llength $parents] { + 0 {set commit_type amend-initial} + 1 {set commit_type amend} + default {set commit_type amend-merge} + } + + $ui_comm delete 0.0 end + $ui_comm insert end $msg + $ui_comm edit reset + $ui_comm edit modified false + rescan ui_ready +} + +set GIT_COMMITTER_IDENT {} + +proc committer_ident {} { + global GIT_COMMITTER_IDENT + + if {$GIT_COMMITTER_IDENT eq {}} { + if {[catch {set me [git var GIT_COMMITTER_IDENT]} err]} { + error_popup [strcat [mc "Unable to obtain your identity:"] "\n\n$err"] + return {} + } + if {![regexp {^(.*) [0-9]+ [-+0-9]+$} \ + $me me GIT_COMMITTER_IDENT]} { + error_popup [strcat [mc "Invalid GIT_COMMITTER_IDENT:"] "\n\n$me"] + return {} + } + } + + return $GIT_COMMITTER_IDENT +} + +proc do_signoff {} { + global ui_comm + + set me [committer_ident] + if {$me eq {}} return + + set sob "Signed-off-by: $me" + set last [$ui_comm get {end -1c linestart} {end -1c}] + if {$last ne $sob} { + $ui_comm edit separator + if {$last ne {} + && ![regexp {^[A-Z][A-Za-z]*-[A-Za-z-]+: *} $last]} { + $ui_comm insert end "\n" + } + $ui_comm insert end "\n$sob" + $ui_comm edit separator + $ui_comm see end + } +} + +proc create_new_commit {} { + global commit_type ui_comm + + set commit_type normal + $ui_comm delete 0.0 end + $ui_comm edit reset + $ui_comm edit modified false + rescan ui_ready +} + +proc commit_tree {} { + global HEAD commit_type file_states ui_comm repo_config + global pch_error + + if {[committer_ident] eq {}} return + if {![lock_index update]} return + + # -- Our in memory state should match the repository. + # + repository_state curType curHEAD curMERGE_HEAD + if {[string match amend* $commit_type] + && $curType eq {normal} + && $curHEAD eq $HEAD} { + } elseif {$commit_type ne $curType || $HEAD ne $curHEAD} { + info_popup [mc "Last scanned state does not match repository state. + +Another Git program has modified this repository since the last scan. A rescan must be performed before another commit can be created. + +The rescan will be automatically started now. +"] + unlock_index + rescan ui_ready + return + } + + # -- At least one file should differ in the index. + # + set files_ready 0 + foreach path [array names file_states] { + switch -glob -- [lindex $file_states($path) 0] { + _? {continue} + A? - + D? - + T_ - + M? {set files_ready 1} + _U - + U? { + error_popup [mc "Unmerged files cannot be committed. + +File %s has merge conflicts. You must resolve them and stage the file before committing. +" [short_path $path]] + unlock_index + return + } + default { + error_popup [mc "Unknown file state %s detected. + +File %s cannot be committed by this program. +" [lindex $s 0] [short_path $path]] + } + } + } + if {!$files_ready && ![string match *merge $curType] && ![is_enabled nocommit]} { + info_popup [mc "No changes to commit. + +You must stage at least 1 file before you can commit. +"] + unlock_index + return + } + + if {[is_enabled nocommitmsg]} { do_quit 0 } + + # -- A message is required. + # + set msg [string trim [$ui_comm get 1.0 end]] + regsub -all -line {[ \t\r]+$} $msg {} msg + if {$msg eq {}} { + error_popup [mc "Please supply a commit message. + +A good commit message has the following format: + +- First line: Describe in one sentence what you did. +- Second line: Blank +- Remaining lines: Describe why this change is good. +"] + unlock_index + return + } + + # -- Build the message file. + # + set msg_p [gitdir GITGUI_EDITMSG] + set msg_wt [open $msg_p w] + fconfigure $msg_wt -translation lf + if {[catch {set enc $repo_config(i18n.commitencoding)}]} { + set enc utf-8 + } + set use_enc [tcl_encoding $enc] + if {$use_enc ne {}} { + fconfigure $msg_wt -encoding $use_enc + } else { - puts stderr [mc "warning: Tcl does not support encoding '%s'." $enc] ++ error_popup [mc "warning: Tcl does not support encoding '%s'." $enc] + fconfigure $msg_wt -encoding utf-8 + } + puts $msg_wt $msg + close $msg_wt + + if {[is_enabled nocommit]} { do_quit 0 } + + # -- Run the pre-commit hook. + # + set fd_ph [githook_read pre-commit] + if {$fd_ph eq {}} { + commit_commitmsg $curHEAD $msg_p + return + } + + ui_status [mc "Calling pre-commit hook..."] + set pch_error {} + fconfigure $fd_ph -blocking 0 -translation binary -eofchar {} + fileevent $fd_ph readable \ + [list commit_prehook_wait $fd_ph $curHEAD $msg_p] +} + +proc commit_prehook_wait {fd_ph curHEAD msg_p} { + global pch_error + + append pch_error [read $fd_ph] + fconfigure $fd_ph -blocking 1 + if {[eof $fd_ph]} { + if {[catch {close $fd_ph}]} { + catch {file delete $msg_p} + ui_status [mc "Commit declined by pre-commit hook."] + hook_failed_popup pre-commit $pch_error + unlock_index + } else { + commit_commitmsg $curHEAD $msg_p + } + set pch_error {} + return + } + fconfigure $fd_ph -blocking 0 +} + +proc commit_commitmsg {curHEAD msg_p} { + global pch_error + + # -- Run the commit-msg hook. + # + set fd_ph [githook_read commit-msg $msg_p] + if {$fd_ph eq {}} { + commit_writetree $curHEAD $msg_p + return + } + + ui_status [mc "Calling commit-msg hook..."] + set pch_error {} + fconfigure $fd_ph -blocking 0 -translation binary -eofchar {} + fileevent $fd_ph readable \ + [list commit_commitmsg_wait $fd_ph $curHEAD $msg_p] +} + +proc commit_commitmsg_wait {fd_ph curHEAD msg_p} { + global pch_error + + append pch_error [read $fd_ph] + fconfigure $fd_ph -blocking 1 + if {[eof $fd_ph]} { + if {[catch {close $fd_ph}]} { + catch {file delete $msg_p} + ui_status [mc "Commit declined by commit-msg hook."] + hook_failed_popup commit-msg $pch_error + unlock_index + } else { + commit_writetree $curHEAD $msg_p + } + set pch_error {} + return + } + fconfigure $fd_ph -blocking 0 +} + +proc commit_writetree {curHEAD msg_p} { + ui_status [mc "Committing changes..."] + set fd_wt [git_read write-tree] + fileevent $fd_wt readable \ + [list commit_committree $fd_wt $curHEAD $msg_p] +} + +proc commit_committree {fd_wt curHEAD msg_p} { + global HEAD PARENT MERGE_HEAD commit_type + global current_branch + global ui_comm selected_commit_type + global file_states selected_paths rescan_active + global repo_config + + gets $fd_wt tree_id + if {[catch {close $fd_wt} err]} { + catch {file delete $msg_p} + error_popup [strcat [mc "write-tree failed:"] "\n\n$err"] + ui_status [mc "Commit failed."] + unlock_index + return + } + + # -- Verify this wasn't an empty change. + # + if {$commit_type eq {normal}} { + set fd_ot [git_read cat-file commit $PARENT] + fconfigure $fd_ot -encoding binary -translation lf + set old_tree [gets $fd_ot] + close $fd_ot + + if {[string equal -length 5 {tree } $old_tree] + && [string length $old_tree] == 45} { + set old_tree [string range $old_tree 5 end] + } else { + error [mc "Commit %s appears to be corrupt" $PARENT] + } + + if {$tree_id eq $old_tree} { + catch {file delete $msg_p} + info_popup [mc "No changes to commit. + +No files were modified by this commit and it was not a merge commit. + +A rescan will be automatically started now. +"] + unlock_index + rescan {ui_status [mc "No changes to commit."]} + return + } + } + + # -- Create the commit. + # + set cmd [list commit-tree $tree_id] + foreach p [concat $PARENT $MERGE_HEAD] { + lappend cmd -p $p + } + lappend cmd <$msg_p + if {[catch {set cmt_id [eval git $cmd]} err]} { + catch {file delete $msg_p} + error_popup [strcat [mc "commit-tree failed:"] "\n\n$err"] + ui_status [mc "Commit failed."] + unlock_index + return + } + + # -- Update the HEAD ref. + # + set reflogm commit + if {$commit_type ne {normal}} { + append reflogm " ($commit_type)" + } + set msg_fd [open $msg_p r] + gets $msg_fd subject + close $msg_fd + append reflogm {: } $subject + if {[catch { + git update-ref -m $reflogm HEAD $cmt_id $curHEAD + } err]} { + catch {file delete $msg_p} + error_popup [strcat [mc "update-ref failed:"] "\n\n$err"] + ui_status [mc "Commit failed."] + unlock_index + return + } + + # -- Cleanup after ourselves. + # + catch {file delete $msg_p} + catch {file delete [gitdir MERGE_HEAD]} + catch {file delete [gitdir MERGE_MSG]} + catch {file delete [gitdir SQUASH_MSG]} + catch {file delete [gitdir GITGUI_MSG]} + + # -- Let rerere do its thing. + # + if {[get_config rerere.enabled] eq {}} { + set rerere [file isdirectory [gitdir rr-cache]] + } else { + set rerere [is_config_true rerere.enabled] + } + if {$rerere} { + catch {git rerere} + } + + # -- Run the post-commit hook. + # + set fd_ph [githook_read post-commit] + if {$fd_ph ne {}} { + upvar #0 pch_error$cmt_id pc_err + set pc_err {} + fconfigure $fd_ph -blocking 0 -translation binary -eofchar {} + fileevent $fd_ph readable \ + [list commit_postcommit_wait $fd_ph $cmt_id] + } + + $ui_comm delete 0.0 end + $ui_comm edit reset + $ui_comm edit modified false + if {$::GITGUI_BCK_exists} { + catch {file delete [gitdir GITGUI_BCK]} + set ::GITGUI_BCK_exists 0 + } + + if {[is_enabled singlecommit]} { do_quit 0 } + + # -- Update in memory status + # + set selected_commit_type new + set commit_type normal + set HEAD $cmt_id + set PARENT $cmt_id + set MERGE_HEAD [list] + + foreach path [array names file_states] { + set s $file_states($path) + set m [lindex $s 0] + switch -glob -- $m { + _O - + _M - + _D {continue} + __ - + A_ - + M_ - + T_ - + D_ { + unset file_states($path) + catch {unset selected_paths($path)} + } + DO { + set file_states($path) [list _O [lindex $s 1] {} {}] + } + AM - + AD - + MM - + MD { + set file_states($path) [list \ + _[string index $m 1] \ + [lindex $s 1] \ + [lindex $s 3] \ + {}] + } + } + } + + display_all_files + unlock_index + reshow_diff + ui_status [mc "Created commit %s: %s" [string range $cmt_id 0 7] $subject] +} + +proc commit_postcommit_wait {fd_ph cmt_id} { + upvar #0 pch_error$cmt_id pch_error + + append pch_error [read $fd_ph] + fconfigure $fd_ph -blocking 1 + if {[eof $fd_ph]} { + if {[catch {close $fd_ph}]} { + hook_failed_popup post-commit $pch_error 0 + } + unset pch_error + return + } + fconfigure $fd_ph -blocking 0 +} diff --cc git-gui/po/de.po index 5c04812b1,000000000..a6f730b4e mode 100644,000000..100644 --- a/git-gui/po/de.po +++ b/git-gui/po/de.po @@@ -1,2375 -1,0 +1,2574 @@@ +# Translation of git-gui to German. +# Copyright (C) 2007 Shawn Pearce, et al. +# This file is distributed under the same license as the git package. +# Christian Stimming , 2007 +# +msgid "" +msgstr "" +"Project-Id-Version: git-gui\n" +"Report-Msgid-Bugs-To: \n" - "POT-Creation-Date: 2008-10-25 13:32+0200\n" - "PO-Revision-Date: 2008-10-25 22:47+0200\n" ++"POT-Creation-Date: 2008-12-06 20:51+0100\n" ++"PO-Revision-Date: 2008-12-06 21:22+0100\n" +"Last-Translator: Christian Stimming \n" +"Language-Team: German\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: git-gui.sh:41 git-gui.sh:634 git-gui.sh:648 git-gui.sh:661 git-gui.sh:744 +#: git-gui.sh:763 +msgid "git-gui: fatal error" +msgstr "git-gui: Programmfehler" + +#: git-gui.sh:593 +#, tcl-format +msgid "Invalid font specified in %s:" +msgstr "Ungültige Zeichensatz-Angabe in %s:" + +#: git-gui.sh:620 +msgid "Main Font" +msgstr "Programmschriftart" + +#: git-gui.sh:621 +msgid "Diff/Console Font" +msgstr "Vergleich-Schriftart" + +#: git-gui.sh:635 +msgid "Cannot find git in PATH." +msgstr "Git kann im PATH nicht gefunden werden." + +#: git-gui.sh:662 +msgid "Cannot parse Git version string:" +msgstr "Git Versionsangabe kann nicht erkannt werden:" + +#: git-gui.sh:680 +#, tcl-format +msgid "" +"Git version cannot be determined.\n" +"\n" +"%s claims it is version '%s'.\n" +"\n" +"%s requires at least Git 1.5.0 or later.\n" +"\n" +"Assume '%s' is version 1.5.0?\n" +msgstr "" +"Die Version von Git kann nicht bestimmt werden.\n" +"\n" +"»%s« behauptet, es sei Version »%s«.\n" +"\n" +"%s benötigt mindestens Git 1.5.0 oder höher.\n" +"\n" +"Soll angenommen werden, »%s« sei Version 1.5.0?\n" + +#: git-gui.sh:918 +msgid "Git directory not found:" +msgstr "Git-Verzeichnis nicht gefunden:" + +#: git-gui.sh:925 +msgid "Cannot move to top of working directory:" +msgstr "" +"Es konnte nicht in das oberste Verzeichnis der Arbeitskopie gewechselt " +"werden:" + +#: git-gui.sh:932 +msgid "Cannot use funny .git directory:" +msgstr "Unerwartete Struktur des .git Verzeichnis:" + +#: git-gui.sh:937 +msgid "No working directory" +msgstr "Kein Arbeitsverzeichnis" + +#: git-gui.sh:1084 lib/checkout_op.tcl:283 +msgid "Refreshing file status..." +msgstr "Dateistatus aktualisieren..." + +#: git-gui.sh:1149 +msgid "Scanning for modified files ..." +msgstr "Nach geänderten Dateien suchen..." + - #: git-gui.sh:1325 - #, fuzzy ++#: git-gui.sh:1367 +msgid "Calling prepare-commit-msg hook..." - msgstr "Aufrufen der Vor-Eintragen-Kontrolle..." ++msgstr "Aufrufen der Eintragen-Vorbereiten-Kontrolle..." + - #: git-gui.sh:1342 - #, fuzzy ++#: git-gui.sh:1384 +msgid "Commit declined by prepare-commit-msg hook." - msgstr "Eintragen abgelehnt durch Vor-Eintragen-Kontrolle (»pre-commit hook«)." ++msgstr "Eintragen abgelehnt durch Eintragen-Vorbereiten-Kontrolle (»prepare-commit hook«)." + - #: git-gui.sh:1502 lib/browser.tcl:246 ++#: git-gui.sh:1542 lib/browser.tcl:246 +msgid "Ready." +msgstr "Bereit." + +#: git-gui.sh:1590 +msgid "Unmodified" +msgstr "Unverändert" + +#: git-gui.sh:1592 +msgid "Modified, not staged" +msgstr "Verändert, nicht bereitgestellt" + +#: git-gui.sh:1593 git-gui.sh:1598 +msgid "Staged for commit" +msgstr "Bereitgestellt zum Eintragen" + +#: git-gui.sh:1594 git-gui.sh:1599 +msgid "Portions staged for commit" +msgstr "Teilweise bereitgestellt zum Eintragen" + +#: git-gui.sh:1595 git-gui.sh:1600 +msgid "Staged for commit, missing" +msgstr "Bereitgestellt zum Eintragen, fehlend" + +#: git-gui.sh:1658 +msgid "File type changed, not staged" +msgstr "Dateityp geändert, nicht bereitgestellt" + +#: git-gui.sh:1659 +msgid "File type changed, staged" +msgstr "Dateityp geändert, bereitgestellt" + +#: git-gui.sh:1661 +msgid "Untracked, not staged" +msgstr "Nicht unter Versionskontrolle, nicht bereitgestellt" + +#: git-gui.sh:1602 +msgid "Missing" +msgstr "Fehlend" + +#: git-gui.sh:1603 +msgid "Staged for removal" +msgstr "Bereitgestellt zum Löschen" + +#: git-gui.sh:1604 +msgid "Staged for removal, still present" +msgstr "Bereitgestellt zum Löschen, trotzdem vorhanden" + +#: git-gui.sh:1606 git-gui.sh:1607 git-gui.sh:1608 git-gui.sh:1609 +msgid "Requires merge resolution" +msgstr "Konfliktauflösung nötig" + +#: git-gui.sh:1644 +msgid "Starting gitk... please wait..." +msgstr "Gitk wird gestartet... bitte warten." + +#: git-gui.sh:1698 +msgid "Couldn't find gitk in PATH" +msgstr "Gitk kann im PATH nicht gefunden werden." + +#: git-gui.sh:1948 lib/choose_repository.tcl:36 +msgid "Repository" +msgstr "Projektarchiv" + +#: git-gui.sh:1861 +msgid "Edit" +msgstr "Bearbeiten" + +#: git-gui.sh:1863 lib/choose_rev.tcl:561 +msgid "Branch" +msgstr "Zweig" + +#: git-gui.sh:1866 lib/choose_rev.tcl:548 +msgid "Commit@@noun" +msgstr "Version" + +#: git-gui.sh:1869 lib/merge.tcl:120 lib/merge.tcl:149 lib/merge.tcl:167 +msgid "Merge" +msgstr "Zusammenführen" + +#: git-gui.sh:1870 lib/choose_rev.tcl:557 +msgid "Remote" +msgstr "Andere Archive" + - #: git-gui.sh:2242 ++#: git-gui.sh:2293 ++msgid "Tools" ++msgstr "Werkzeuge" ++ ++#: git-gui.sh:2302 +msgid "Explore Working Copy" +msgstr "Arbeitskopie im Dateimanager" + +#: git-gui.sh:2247 +msgid "Browse Current Branch's Files" +msgstr "Aktuellen Zweig durchblättern" + +#: git-gui.sh:1883 +msgid "Browse Branch Files..." +msgstr "Einen Zweig durchblättern..." + +#: git-gui.sh:1888 +msgid "Visualize Current Branch's History" +msgstr "Aktuellen Zweig darstellen" + +#: git-gui.sh:1892 +msgid "Visualize All Branch History" +msgstr "Alle Zweige darstellen" + +#: git-gui.sh:1899 +#, tcl-format +msgid "Browse %s's Files" +msgstr "Zweig »%s« durchblättern" + +#: git-gui.sh:1901 +#, tcl-format +msgid "Visualize %s's History" +msgstr "Historie von »%s« darstellen" + +#: git-gui.sh:1906 lib/database.tcl:27 lib/database.tcl:67 +msgid "Database Statistics" +msgstr "Datenbankstatistik" + +#: git-gui.sh:1909 lib/database.tcl:34 +msgid "Compress Database" +msgstr "Datenbank komprimieren" + +#: git-gui.sh:1912 +msgid "Verify Database" +msgstr "Datenbank überprüfen" + +#: git-gui.sh:1919 git-gui.sh:1923 git-gui.sh:1927 lib/shortcut.tcl:7 +#: lib/shortcut.tcl:39 lib/shortcut.tcl:71 +msgid "Create Desktop Icon" +msgstr "Desktop-Icon erstellen" + +#: git-gui.sh:1932 lib/choose_repository.tcl:177 lib/choose_repository.tcl:185 +msgid "Quit" +msgstr "Beenden" + +#: git-gui.sh:1939 +msgid "Undo" +msgstr "Rückgängig" + +#: git-gui.sh:1942 +msgid "Redo" +msgstr "Wiederholen" + +#: git-gui.sh:1946 git-gui.sh:2443 +msgid "Cut" +msgstr "Ausschneiden" + +#: git-gui.sh:1949 git-gui.sh:2446 git-gui.sh:2520 git-gui.sh:2614 +#: lib/console.tcl:69 +msgid "Copy" +msgstr "Kopieren" + +#: git-gui.sh:1952 git-gui.sh:2449 +msgid "Paste" +msgstr "Einfügen" + +#: git-gui.sh:1955 git-gui.sh:2452 lib/branch_delete.tcl:26 +#: lib/remote_branch_delete.tcl:38 +msgid "Delete" +msgstr "Löschen" + +#: git-gui.sh:1959 git-gui.sh:2456 git-gui.sh:2618 lib/console.tcl:71 +msgid "Select All" +msgstr "Alle auswählen" + +#: git-gui.sh:1968 +msgid "Create..." +msgstr "Erstellen..." + +#: git-gui.sh:1974 +msgid "Checkout..." +msgstr "Umstellen..." + +#: git-gui.sh:1980 +msgid "Rename..." +msgstr "Umbenennen..." + +#: git-gui.sh:1985 git-gui.sh:2085 +msgid "Delete..." +msgstr "Löschen..." + +#: git-gui.sh:1990 +msgid "Reset..." +msgstr "Zurücksetzen..." + +#: git-gui.sh:2372 +msgid "Done" +msgstr "Fertig" + +#: git-gui.sh:2374 +msgid "Commit@@verb" +msgstr "Eintragen" + +#: git-gui.sh:2383 git-gui.sh:2786 +msgid "New Commit" +msgstr "Neue Version" + +#: git-gui.sh:2010 git-gui.sh:2396 +msgid "Amend Last Commit" +msgstr "Letzte nachbessern" + +#: git-gui.sh:2019 git-gui.sh:2356 lib/remote_branch_delete.tcl:99 +msgid "Rescan" +msgstr "Neu laden" + +#: git-gui.sh:2025 +msgid "Stage To Commit" +msgstr "Zum Eintragen bereitstellen" + +#: git-gui.sh:2031 +msgid "Stage Changed Files To Commit" +msgstr "Geänderte Dateien bereitstellen" + +#: git-gui.sh:2037 +msgid "Unstage From Commit" +msgstr "Aus der Bereitstellung herausnehmen" + +#: git-gui.sh:2042 lib/index.tcl:395 +msgid "Revert Changes" +msgstr "Änderungen verwerfen" + +#: git-gui.sh:2141 git-gui.sh:2702 +msgid "Show Less Context" +msgstr "Weniger Zeilen anzeigen" + +#: git-gui.sh:2145 git-gui.sh:2706 +msgid "Show More Context" +msgstr "Mehr Zeilen anzeigen" + +#: git-gui.sh:2151 git-gui.sh:2470 git-gui.sh:2569 +msgid "Sign Off" +msgstr "Abzeichnen" + +#: git-gui.sh:2458 +msgid "Local Merge..." +msgstr "Lokales Zusammenführen..." + +#: git-gui.sh:2069 +msgid "Abort Merge..." +msgstr "Zusammenführen abbrechen..." + +#: git-gui.sh:2475 +msgid "Add..." +msgstr "Hinzufügen..." + +#: git-gui.sh:2479 +msgid "Push..." +msgstr "Versenden..." + +#: git-gui.sh:2483 +msgid "Delete Branch..." +msgstr "Zweig löschen..." + +#: git-gui.sh:2493 git-gui.sh:2515 lib/about.tcl:14 +#: lib/choose_repository.tcl:44 lib/choose_repository.tcl:50 +#, tcl-format +msgid "About %s" +msgstr "Über %s" + +#: git-gui.sh:2099 +msgid "Preferences..." +msgstr "Einstellungen..." + +#: git-gui.sh:2107 git-gui.sh:2639 +msgid "Options..." +msgstr "Optionen..." + - #: git-gui.sh:2113 lib/choose_repository.tcl:47 ++#: git-gui.sh:2576 ++msgid "Remove..." ++msgstr "Entfernen..." ++ ++#: git-gui.sh:2585 lib/choose_repository.tcl:50 +msgid "Help" +msgstr "Hilfe" + +#: git-gui.sh:2154 +msgid "Online Documentation" +msgstr "Online-Dokumentation" + - #: git-gui.sh:2238 ++#: git-gui.sh:2614 lib/choose_repository.tcl:47 lib/choose_repository.tcl:56 ++msgid "Show SSH Key" ++msgstr "SSH-Schlüssel anzeigen" ++ ++#: git-gui.sh:2707 +#, tcl-format +msgid "fatal: cannot stat path %s: No such file or directory" +msgstr "" +"Fehler: Verzeichnis »%s« kann nicht gelesen werden: Datei oder Verzeichnis " +"nicht gefunden" + +#: git-gui.sh:2271 +msgid "Current Branch:" +msgstr "Aktueller Zweig:" + +#: git-gui.sh:2292 +msgid "Staged Changes (Will Commit)" +msgstr "Bereitstellung (zum Eintragen)" + +#: git-gui.sh:2312 +msgid "Unstaged Changes" +msgstr "Nicht bereitgestellte Änderungen" + +#: git-gui.sh:2362 +msgid "Stage Changed" +msgstr "Alles bereitstellen" + +#: git-gui.sh:2378 lib/transport.tcl:93 lib/transport.tcl:182 +msgid "Push" +msgstr "Versenden" + +#: git-gui.sh:2408 +msgid "Initial Commit Message:" +msgstr "Erste Versionsbeschreibung:" + +#: git-gui.sh:2409 +msgid "Amended Commit Message:" +msgstr "Nachgebesserte Beschreibung:" + +#: git-gui.sh:2410 +msgid "Amended Initial Commit Message:" +msgstr "Nachgebesserte erste Beschreibung:" + +#: git-gui.sh:2411 +msgid "Amended Merge Commit Message:" +msgstr "Nachgebesserte Zusammenführungs-Beschreibung:" + +#: git-gui.sh:2412 +msgid "Merge Commit Message:" +msgstr "Zusammenführungs-Beschreibung:" + +#: git-gui.sh:2413 +msgid "Commit Message:" +msgstr "Versionsbeschreibung:" + +#: git-gui.sh:2459 git-gui.sh:2622 lib/console.tcl:73 +msgid "Copy All" +msgstr "Alle kopieren" + +#: git-gui.sh:2483 lib/blame.tcl:107 +msgid "File:" +msgstr "Datei:" + +#: git-gui.sh:2834 +msgid "Refresh" +msgstr "Aktualisieren" + +#: git-gui.sh:2631 +msgid "Decrease Font Size" +msgstr "Schriftgröße verkleinern" + +#: git-gui.sh:2635 +msgid "Increase Font Size" +msgstr "Schriftgröße vergrößern" + +#: git-gui.sh:3033 lib/blame.tcl:281 +msgid "Encoding" +msgstr "Zeichenkodierung" + +#: git-gui.sh:3044 +msgid "Apply/Reverse Hunk" +msgstr "Kontext anwenden/umkehren" + +#: git-gui.sh:2875 +msgid "Apply/Reverse Line" +msgstr "Zeile anwenden/umkehren" + +#: git-gui.sh:2885 +msgid "Run Merge Tool" +msgstr "Zusammenführungswerkzeug" + +#: git-gui.sh:2890 +msgid "Use Remote Version" +msgstr "Entfernte Version benutzen" + +#: git-gui.sh:2894 +msgid "Use Local Version" +msgstr "Lokale Version benutzen" + +#: git-gui.sh:2898 +msgid "Revert To Base" +msgstr "Ursprüngliche Version benutzen" + +#: git-gui.sh:3091 +msgid "Unstage Hunk From Commit" +msgstr "Kontext aus Bereitstellung herausnehmen" + +#: git-gui.sh:2748 +msgid "Unstage Line From Commit" +msgstr "Zeile aus der Bereitstellung herausnehmen" + +#: git-gui.sh:2750 +msgid "Stage Hunk For Commit" +msgstr "Kontext zur Bereitstellung hinzufügen" + +#: git-gui.sh:2751 +msgid "Stage Line For Commit" +msgstr "Zeile zur Bereitstellung hinzufügen" + +#: git-gui.sh:2771 +msgid "Initializing..." +msgstr "Initialisieren..." + +#: git-gui.sh:2762 +#, tcl-format +msgid "" +"Possible environment issues exist.\n" +"\n" +"The following environment variables are probably\n" +"going to be ignored by any Git subprocess run\n" +"by %s:\n" +"\n" +msgstr "" +"Möglicherweise gibt es Probleme mit manchen Umgebungsvariablen.\n" +"\n" +"Die folgenden Umgebungsvariablen können vermutlich nicht \n" +"von %s an Git weitergegeben werden:\n" +"\n" + +#: git-gui.sh:2792 +msgid "" +"\n" +"This is due to a known issue with the\n" +"Tcl binary distributed by Cygwin." +msgstr "" +"\n" +"Dies ist ein bekanntes Problem der Tcl-Version, die\n" +"in Cygwin mitgeliefert wird." + +#: git-gui.sh:2797 +#, tcl-format +msgid "" +"\n" +"\n" +"A good replacement for %s\n" +"is placing values for the user.name and\n" +"user.email settings into your personal\n" +"~/.gitconfig file.\n" +msgstr "" +"\n" +"\n" +"Um den Namen »%s« zu ändern, sollten Sie die \n" +"gewünschten Werte für die Einstellung user.name und \n" +"user.email in Ihre Datei ~/.gitconfig einfügen.\n" + +#: lib/about.tcl:26 +msgid "git-gui - a graphical user interface for Git." +msgstr "git-gui - eine grafische Oberfläche für Git." + +#: lib/blame.tcl:77 +msgid "File Viewer" +msgstr "Datei-Browser" + +#: lib/blame.tcl:81 +msgid "Commit:" +msgstr "Version:" + +#: lib/blame.tcl:264 +msgid "Copy Commit" +msgstr "Version kopieren" + - #: lib/blame.tcl:260 ++#: lib/blame.tcl:275 ++msgid "Find Text..." ++msgstr "Text suchen..." ++ ++#: lib/blame.tcl:284 +msgid "Do Full Copy Detection" +msgstr "Volle Kopie-Erkennung" + +#: lib/blame.tcl:263 +msgid "Show History Context" +msgstr "Historien-Kontext anzeigen" + +#: lib/blame.tcl:266 +msgid "Blame Parent Commit" +msgstr "Elternversion annotieren" + +#: lib/blame.tcl:394 +#, tcl-format +msgid "Reading %s..." +msgstr "%s lesen..." + +#: lib/blame.tcl:488 +msgid "Loading copy/move tracking annotations..." +msgstr "Annotierungen für Kopieren/Verschieben werden geladen..." + +#: lib/blame.tcl:508 +msgid "lines annotated" +msgstr "Zeilen annotiert" + +#: lib/blame.tcl:689 +msgid "Loading original location annotations..." +msgstr "Annotierungen für ursprünglichen Ort werden geladen..." + +#: lib/blame.tcl:692 +msgid "Annotation complete." +msgstr "Annotierung vollständig." + +#: lib/blame.tcl:737 +msgid "Busy" +msgstr "Verarbeitung läuft" + +#: lib/blame.tcl:738 +msgid "Annotation process is already running." +msgstr "Annotierung läuft bereits." + +#: lib/blame.tcl:777 +msgid "Running thorough copy detection..." +msgstr "Intensive Kopie-Erkennung läuft..." + +#: lib/blame.tcl:827 +msgid "Loading annotation..." +msgstr "Annotierung laden..." + +#: lib/blame.tcl:802 +msgid "Author:" +msgstr "Autor:" + +#: lib/blame.tcl:806 +msgid "Committer:" +msgstr "Eintragender:" + +#: lib/blame.tcl:811 +msgid "Original File:" +msgstr "Ursprüngliche Datei:" + - #: lib/blame.tcl:1013 - #, fuzzy ++#: lib/blame.tcl:1021 +msgid "Cannot find HEAD commit:" - msgstr "Elternversion kann nicht gefunden werden:" ++msgstr "Zweigspitze (»HEAD«) kann nicht gefunden werden:" + - #: lib/blame.tcl:1068 ++#: lib/blame.tcl:1076 +msgid "Cannot find parent commit:" +msgstr "Elternversion kann nicht gefunden werden:" + +#: lib/blame.tcl:1001 +msgid "Unable to display parent" +msgstr "Elternversion kann nicht angezeigt werden" + +#: lib/blame.tcl:1002 lib/diff.tcl:191 +msgid "Error loading diff:" +msgstr "Fehler beim Laden des Vergleichs:" + +#: lib/blame.tcl:1142 +msgid "Originally By:" +msgstr "Ursprünglich von:" + +#: lib/blame.tcl:931 +msgid "In File:" +msgstr "In Datei:" + +#: lib/blame.tcl:936 +msgid "Copied Or Moved Here By:" +msgstr "Kopiert oder verschoben durch:" + +#: lib/branch_checkout.tcl:14 lib/branch_checkout.tcl:19 +msgid "Checkout Branch" +msgstr "Auf Zweig umstellen" + +#: lib/branch_checkout.tcl:23 +msgid "Checkout" +msgstr "Umstellen" + +#: lib/branch_checkout.tcl:27 lib/branch_create.tcl:35 +#: lib/branch_delete.tcl:32 lib/branch_rename.tcl:30 lib/browser.tcl:282 +#: lib/checkout_op.tcl:522 lib/choose_font.tcl:43 lib/merge.tcl:171 +#: lib/option.tcl:103 lib/remote_branch_delete.tcl:42 lib/transport.tcl:97 +msgid "Cancel" +msgstr "Abbrechen" + +#: lib/branch_checkout.tcl:32 lib/browser.tcl:287 +msgid "Revision" +msgstr "Version" + +#: lib/branch_checkout.tcl:36 lib/branch_create.tcl:69 lib/option.tcl:242 +msgid "Options" +msgstr "Optionen" + +#: lib/branch_checkout.tcl:39 lib/branch_create.tcl:92 +msgid "Fetch Tracking Branch" +msgstr "Übernahmezweig anfordern" + +#: lib/branch_checkout.tcl:44 +msgid "Detach From Local Branch" +msgstr "Verbindung zu lokalem Zweig lösen" + +#: lib/branch_create.tcl:22 +msgid "Create Branch" +msgstr "Zweig erstellen" + +#: lib/branch_create.tcl:27 +msgid "Create New Branch" +msgstr "Neuen Zweig erstellen" + +#: lib/branch_create.tcl:31 lib/choose_repository.tcl:371 +msgid "Create" +msgstr "Erstellen" + +#: lib/branch_create.tcl:40 +msgid "Branch Name" +msgstr "Zweigname" + +#: lib/branch_create.tcl:43 +msgid "Name:" +msgstr "Name:" + +#: lib/branch_create.tcl:58 +msgid "Match Tracking Branch Name" +msgstr "Passend zu Übernahmezweig-Name" + +#: lib/branch_create.tcl:66 +msgid "Starting Revision" +msgstr "Anfangsversion" + +#: lib/branch_create.tcl:72 +msgid "Update Existing Branch:" +msgstr "Existierenden Zweig aktualisieren:" + +#: lib/branch_create.tcl:75 +msgid "No" +msgstr "Nein" + +#: lib/branch_create.tcl:80 +msgid "Fast Forward Only" +msgstr "Nur Schnellzusammenführung" + +#: lib/branch_create.tcl:85 lib/checkout_op.tcl:514 +msgid "Reset" +msgstr "Zurücksetzen" + +#: lib/branch_create.tcl:97 +msgid "Checkout After Creation" +msgstr "Arbeitskopie umstellen nach Erstellen" + +#: lib/branch_create.tcl:131 +msgid "Please select a tracking branch." +msgstr "Bitte wählen Sie einen Übernahmezweig." + +#: lib/branch_create.tcl:140 +#, tcl-format +msgid "Tracking branch %s is not a branch in the remote repository." +msgstr "Übernahmezweig »%s« ist kein Zweig im anderen Projektarchiv." + +#: lib/branch_create.tcl:153 lib/branch_rename.tcl:86 +msgid "Please supply a branch name." +msgstr "Bitte geben Sie einen Zweignamen an." + +#: lib/branch_create.tcl:164 lib/branch_rename.tcl:106 +#, tcl-format +msgid "'%s' is not an acceptable branch name." +msgstr "»%s« ist kein zulässiger Zweigname." + +#: lib/branch_delete.tcl:15 +msgid "Delete Branch" +msgstr "Zweig löschen" + +#: lib/branch_delete.tcl:20 +msgid "Delete Local Branch" +msgstr "Lokalen Zweig löschen" + +#: lib/branch_delete.tcl:37 +msgid "Local Branches" +msgstr "Lokale Zweige" + +#: lib/branch_delete.tcl:52 +msgid "Delete Only If Merged Into" +msgstr "Nur löschen, wenn zusammengeführt nach" + +#: lib/branch_delete.tcl:54 +msgid "Always (Do not perform merge test.)" +msgstr "Immer (ohne Zusammenführungstest)" + +#: lib/branch_delete.tcl:103 +#, tcl-format +msgid "The following branches are not completely merged into %s:" +msgstr "Folgende Zweige sind noch nicht mit »%s« zusammengeführt:" + +#: lib/branch_delete.tcl:115 +msgid "" +"Recovering deleted branches is difficult. \n" +"\n" +" Delete the selected branches?" +msgstr "" +"Gelöschte Zweige können nur mit größerem Aufwand wiederhergestellt werden.\n" +"\n" +"Gewählte Zweige jetzt löschen?" + +#: lib/branch_delete.tcl:141 +#, tcl-format +msgid "" +"Failed to delete branches:\n" +"%s" +msgstr "" +"Fehler beim Löschen der Zweige:\n" +"%s" + +#: lib/branch_rename.tcl:14 lib/branch_rename.tcl:22 +msgid "Rename Branch" +msgstr "Zweig umbenennen" + +#: lib/branch_rename.tcl:26 +msgid "Rename" +msgstr "Umbenennen" + +#: lib/branch_rename.tcl:36 +msgid "Branch:" +msgstr "Zweig:" + +#: lib/branch_rename.tcl:39 +msgid "New Name:" +msgstr "Neuer Name:" + +#: lib/branch_rename.tcl:75 +msgid "Please select a branch to rename." +msgstr "Bitte wählen Sie einen Zweig zum umbenennen." + +#: lib/branch_rename.tcl:96 lib/checkout_op.tcl:179 +#, tcl-format +msgid "Branch '%s' already exists." +msgstr "Zweig »%s« existiert bereits." + +#: lib/branch_rename.tcl:117 +#, tcl-format +msgid "Failed to rename '%s'." +msgstr "Fehler beim Umbenennen von »%s«." + +#: lib/browser.tcl:17 +msgid "Starting..." +msgstr "Starten..." + +#: lib/browser.tcl:26 +msgid "File Browser" +msgstr "Datei-Browser" + +#: lib/browser.tcl:126 lib/browser.tcl:143 +#, tcl-format +msgid "Loading %s..." +msgstr "%s laden..." + +#: lib/browser.tcl:187 +msgid "[Up To Parent]" +msgstr "[Nach oben]" + +#: lib/browser.tcl:267 lib/browser.tcl:273 +msgid "Browse Branch Files" +msgstr "Dateien des Zweigs durchblättern" + +#: lib/browser.tcl:278 lib/choose_repository.tcl:387 +#: lib/choose_repository.tcl:474 lib/choose_repository.tcl:484 +#: lib/choose_repository.tcl:987 +msgid "Browse" +msgstr "Blättern" + +#: lib/checkout_op.tcl:79 +#, tcl-format +msgid "Fetching %s from %s" +msgstr "Änderungen »%s« von »%s« anfordern" + +#: lib/checkout_op.tcl:127 +#, tcl-format +msgid "fatal: Cannot resolve %s" +msgstr "Fehler: »%s« kann nicht als Zweig oder Version erkannt werden" + +#: lib/checkout_op.tcl:140 lib/console.tcl:81 lib/database.tcl:31 +msgid "Close" +msgstr "Schließen" + +#: lib/checkout_op.tcl:169 +#, tcl-format +msgid "Branch '%s' does not exist." +msgstr "Zweig »%s« existiert nicht." + +#: lib/checkout_op.tcl:193 +#, tcl-format +msgid "Failed to configure simplified git-pull for '%s'." +msgstr "Fehler beim Einrichten der vereinfachten git-pull für »%s«." + +#: lib/checkout_op.tcl:228 +#, tcl-format +msgid "" +"Branch '%s' already exists.\n" +"\n" +"It cannot fast-forward to %s.\n" +"A merge is required." +msgstr "" +"Zweig »%s« existiert bereits.\n" +"\n" +"Zweig kann nicht mit »%s« schnellzusammengeführt werden. Reguläres " +"Zusammenführen ist notwendig." + +#: lib/checkout_op.tcl:220 +#, tcl-format +msgid "Merge strategy '%s' not supported." +msgstr "Zusammenführungsmethode »%s« nicht unterstützt." + +#: lib/checkout_op.tcl:239 +#, tcl-format +msgid "Failed to update '%s'." +msgstr "Aktualisieren von »%s« fehlgeschlagen." + +#: lib/checkout_op.tcl:251 +msgid "Staging area (index) is already locked." +msgstr "Bereitstellung (»index«) ist zur Bearbeitung gesperrt (»locked«)." + +#: lib/checkout_op.tcl:266 +msgid "" +"Last scanned state does not match repository state.\n" +"\n" +"Another Git program has modified this repository since the last scan. A " +"rescan must be performed before the current branch can be changed.\n" +"\n" +"The rescan will be automatically started now.\n" +msgstr "" +"Der letzte geladene Status stimmt nicht mehr mit dem Projektarchiv überein.\n" +"\n" +"Ein anderes Git-Programm hat das Projektarchiv seit dem letzten Laden " +"geändert. Vor dem Wechseln des lokalen Zweigs muss neu geladen werden.\n" +"\n" +"Es wird gleich neu geladen.\n" + +#: lib/checkout_op.tcl:322 +#, tcl-format +msgid "Updating working directory to '%s'..." +msgstr "Arbeitskopie umstellen auf »%s«..." + +#: lib/checkout_op.tcl:323 +msgid "files checked out" +msgstr "Dateien aktualisiert" + +#: lib/checkout_op.tcl:353 +#, tcl-format +msgid "Aborted checkout of '%s' (file level merging is required)." +msgstr "" +"Auf Zweig »%s« umstellen abgebrochen (Zusammenführen der Dateien ist " +"notwendig)." + +#: lib/checkout_op.tcl:354 +msgid "File level merge required." +msgstr "Zusammenführen der Dateien ist notwendig." + +#: lib/checkout_op.tcl:358 +#, tcl-format +msgid "Staying on branch '%s'." +msgstr "Es wird auf Zweig »%s« verblieben." + +#: lib/checkout_op.tcl:429 +msgid "" +"You are no longer on a local branch.\n" +"\n" +"If you wanted to be on a branch, create one now starting from 'This Detached " +"Checkout'." +msgstr "" +"Die Arbeitskopie ist nicht auf einem lokalen Zweig.\n" +"\n" +"Wenn Sie auf einem Zweig arbeiten möchten, erstellen Sie bitte jetzt einen " +"Zweig mit der Auswahl »Abgetrennte Arbeitskopie-Version«." + +#: lib/checkout_op.tcl:446 lib/checkout_op.tcl:450 +#, tcl-format +msgid "Checked out '%s'." +msgstr "Umgestellt auf »%s«." + +#: lib/checkout_op.tcl:478 +#, tcl-format +msgid "Resetting '%s' to '%s' will lose the following commits:" +msgstr "Zurücksetzen von »%s« nach »%s« wird folgende Versionen verwerfen:" + +#: lib/checkout_op.tcl:500 +msgid "Recovering lost commits may not be easy." +msgstr "" +"Verworfene Versionen können nur mit größerem Aufwand wiederhergestellt " +"werden." + +#: lib/checkout_op.tcl:505 +#, tcl-format +msgid "Reset '%s'?" +msgstr "»%s« zurücksetzen?" + +#: lib/checkout_op.tcl:510 lib/merge.tcl:163 +msgid "Visualize" +msgstr "Darstellen" + +#: lib/checkout_op.tcl:578 +#, tcl-format +msgid "" +"Failed to set current branch.\n" +"\n" +"This working directory is only partially switched. We successfully updated " +"your files, but failed to update an internal Git file.\n" +"\n" +"This should not have occurred. %s will now close and give up." +msgstr "" +"Lokaler Zweig kann nicht gesetzt werden.\n" +"\n" +"Diese Arbeitskopie ist nur teilweise umgestellt. Die Dateien sind korrekt " +"aktualisiert, aber einige interne Git-Dateien konnten nicht geändert " +"werden.\n" +"\n" +"Dies ist ein interner Programmfehler von %s. Programm wird jetzt abgebrochen." + +#: lib/choose_font.tcl:39 +msgid "Select" +msgstr "Auswählen" + +#: lib/choose_font.tcl:53 +msgid "Font Family" +msgstr "Schriftfamilie" + +#: lib/choose_font.tcl:74 +msgid "Font Size" +msgstr "Schriftgröße" + +#: lib/choose_font.tcl:91 +msgid "Font Example" +msgstr "Schriftbeispiel" + +#: lib/choose_font.tcl:103 +msgid "" +"This is example text.\n" +"If you like this text, it can be your font." +msgstr "" +"Dies ist ein Beispieltext.\n" +"Wenn Ihnen dieser Text gefällt, sollten Sie diese Schriftart wählen." + +#: lib/choose_repository.tcl:28 +msgid "Git Gui" +msgstr "Git Gui" + +#: lib/choose_repository.tcl:81 lib/choose_repository.tcl:376 +msgid "Create New Repository" +msgstr "Neues Projektarchiv" + +#: lib/choose_repository.tcl:87 +msgid "New..." +msgstr "Neu..." + +#: lib/choose_repository.tcl:94 lib/choose_repository.tcl:460 +msgid "Clone Existing Repository" +msgstr "Projektarchiv klonen" + +#: lib/choose_repository.tcl:100 +msgid "Clone..." +msgstr "Klonen..." + +#: lib/choose_repository.tcl:107 lib/choose_repository.tcl:976 +msgid "Open Existing Repository" +msgstr "Projektarchiv öffnen" + +#: lib/choose_repository.tcl:113 +msgid "Open..." +msgstr "Öffnen..." + +#: lib/choose_repository.tcl:126 +msgid "Recent Repositories" +msgstr "Zuletzt benutzte Projektarchive" + +#: lib/choose_repository.tcl:132 +msgid "Open Recent Repository:" +msgstr "Zuletzt benutztes Projektarchiv öffnen:" + +#: lib/choose_repository.tcl:296 lib/choose_repository.tcl:303 +#: lib/choose_repository.tcl:310 +#, tcl-format +msgid "Failed to create repository %s:" +msgstr "Projektarchiv »%s« konnte nicht erstellt werden:" + - #: lib/choose_repository.tcl:381 lib/choose_repository.tcl:478 ++#: lib/choose_repository.tcl:387 +msgid "Directory:" +msgstr "Verzeichnis:" + +#: lib/choose_repository.tcl:412 lib/choose_repository.tcl:537 +#: lib/choose_repository.tcl:1011 +msgid "Git Repository" +msgstr "Git Projektarchiv" + - #: lib/choose_repository.tcl:437 ++#: lib/choose_repository.tcl:442 +#, tcl-format +msgid "Directory %s already exists." +msgstr "Verzeichnis »%s« existiert bereits." + - #: lib/choose_repository.tcl:441 ++#: lib/choose_repository.tcl:446 +#, tcl-format +msgid "File %s already exists." +msgstr "Datei »%s« existiert bereits." + +#: lib/choose_repository.tcl:455 +msgid "Clone" +msgstr "Klonen" + - #: lib/choose_repository.tcl:467 ++#: lib/choose_repository.tcl:473 +msgid "Source Location:" - msgstr "" ++msgstr "Herkunft:" + - #: lib/choose_repository.tcl:478 ++#: lib/choose_repository.tcl:484 +msgid "Target Directory:" +msgstr "Zielverzeichnis:" + +#: lib/choose_repository.tcl:490 +msgid "Clone Type:" +msgstr "Art des Klonens:" + +#: lib/choose_repository.tcl:495 +msgid "Standard (Fast, Semi-Redundant, Hardlinks)" +msgstr "Standard (schnell, teilweise redundant, Hardlinks)" + +#: lib/choose_repository.tcl:501 +msgid "Full Copy (Slower, Redundant Backup)" +msgstr "Alles kopieren (langsamer, volle Redundanz)" + +#: lib/choose_repository.tcl:507 +msgid "Shared (Fastest, Not Recommended, No Backup)" +msgstr "Verknüpft (schnell, nicht empfohlen, kein Backup)" + +#: lib/choose_repository.tcl:543 lib/choose_repository.tcl:590 +#: lib/choose_repository.tcl:736 lib/choose_repository.tcl:806 +#: lib/choose_repository.tcl:1017 lib/choose_repository.tcl:1025 +#, tcl-format +msgid "Not a Git repository: %s" +msgstr "Kein Git-Projektarchiv in »%s« gefunden." + +#: lib/choose_repository.tcl:579 +msgid "Standard only available for local repository." +msgstr "Standard ist nur für lokale Projektarchive verfügbar." + +#: lib/choose_repository.tcl:583 +msgid "Shared only available for local repository." +msgstr "Verknüpft ist nur für lokale Projektarchive verfügbar." + +#: lib/choose_repository.tcl:604 +#, tcl-format +msgid "Location %s already exists." +msgstr "Projektarchiv »%s« existiert bereits." + +#: lib/choose_repository.tcl:615 +msgid "Failed to configure origin" +msgstr "Der Ursprungsort konnte nicht eingerichtet werden" + +#: lib/choose_repository.tcl:627 +msgid "Counting objects" +msgstr "Objekte werden gezählt" + +#: lib/choose_repository.tcl:628 +msgid "buckets" +msgstr "Buckets" + +#: lib/choose_repository.tcl:652 +#, tcl-format +msgid "Unable to copy objects/info/alternates: %s" +msgstr "Kopien von Objekten/Info/Alternates konnten nicht erstellt werden: %s" + +#: lib/choose_repository.tcl:688 +#, tcl-format +msgid "Nothing to clone from %s." +msgstr "Von »%s« konnte nichts geklont werden." + +#: lib/choose_repository.tcl:690 lib/choose_repository.tcl:904 +#: lib/choose_repository.tcl:916 +msgid "The 'master' branch has not been initialized." +msgstr "Der »master«-Zweig wurde noch nicht initialisiert." + +#: lib/choose_repository.tcl:703 +msgid "Hardlinks are unavailable. Falling back to copying." +msgstr "Hardlinks nicht verfügbar. Stattdessen wird kopiert." + +#: lib/choose_repository.tcl:715 +#, tcl-format +msgid "Cloning from %s" +msgstr "Kopieren von »%s«" + +#: lib/choose_repository.tcl:746 +msgid "Copying objects" +msgstr "Objektdatenbank kopieren" + +#: lib/choose_repository.tcl:747 +msgid "KiB" +msgstr "KB" + +#: lib/choose_repository.tcl:771 +#, tcl-format +msgid "Unable to copy object: %s" +msgstr "Objekt kann nicht kopiert werden: %s" + +#: lib/choose_repository.tcl:781 +msgid "Linking objects" +msgstr "Objekte verlinken" + +#: lib/choose_repository.tcl:782 +msgid "objects" +msgstr "Objekte" + +#: lib/choose_repository.tcl:790 +#, tcl-format +msgid "Unable to hardlink object: %s" +msgstr "Für Objekt konnte kein Hardlink erstellt werden: %s" + +#: lib/choose_repository.tcl:845 +msgid "Cannot fetch branches and objects. See console output for details." +msgstr "" +"Zweige und Objekte konnten nicht angefordert werden. Kontrollieren Sie die " +"Ausgaben auf der Konsole für weitere Angaben." + +#: lib/choose_repository.tcl:856 +msgid "Cannot fetch tags. See console output for details." +msgstr "" +"Markierungen konnten nicht angefordert werden. Kontrollieren Sie die " +"Ausgaben auf der Konsole für weitere Angaben." + +#: lib/choose_repository.tcl:880 +msgid "Cannot determine HEAD. See console output for details." +msgstr "" +"Die Zweigspitze (HEAD) konnte nicht gefunden werden. Kontrollieren Sie die " +"Ausgaben auf der Konsole für weitere Angaben." + +#: lib/choose_repository.tcl:889 +#, tcl-format +msgid "Unable to cleanup %s" +msgstr "Verzeichnis »%s« kann nicht aufgeräumt werden." + +#: lib/choose_repository.tcl:895 +msgid "Clone failed." +msgstr "Klonen fehlgeschlagen." + +#: lib/choose_repository.tcl:902 +msgid "No default branch obtained." +msgstr "Kein voreingestellter Zweig gefunden." + +#: lib/choose_repository.tcl:913 +#, tcl-format +msgid "Cannot resolve %s as a commit." +msgstr "»%s« wurde nicht als Version gefunden." + +#: lib/choose_repository.tcl:925 +msgid "Creating working directory" +msgstr "Arbeitskopie erstellen" + +#: lib/choose_repository.tcl:926 lib/index.tcl:65 lib/index.tcl:127 +#: lib/index.tcl:193 +msgid "files" +msgstr "Dateien" + +#: lib/choose_repository.tcl:955 +msgid "Initial file checkout failed." +msgstr "Erstellen der Arbeitskopie fehlgeschlagen." + +#: lib/choose_repository.tcl:971 +msgid "Open" +msgstr "Öffnen" + +#: lib/choose_repository.tcl:981 +msgid "Repository:" +msgstr "Projektarchiv:" + +#: lib/choose_repository.tcl:1031 +#, tcl-format +msgid "Failed to open repository %s:" +msgstr "Projektarchiv »%s« konnte nicht geöffnet werden." + +#: lib/choose_rev.tcl:53 +msgid "This Detached Checkout" +msgstr "Abgetrennte Arbeitskopie-Version" + +#: lib/choose_rev.tcl:60 +msgid "Revision Expression:" +msgstr "Version Regexp-Ausdruck:" + +#: lib/choose_rev.tcl:74 +msgid "Local Branch" +msgstr "Lokaler Zweig" + +#: lib/choose_rev.tcl:79 +msgid "Tracking Branch" +msgstr "Übernahmezweig" + +#: lib/choose_rev.tcl:84 lib/choose_rev.tcl:538 +msgid "Tag" +msgstr "Markierung" + +#: lib/choose_rev.tcl:317 +#, tcl-format +msgid "Invalid revision: %s" +msgstr "Ungültige Version: %s" + +#: lib/choose_rev.tcl:338 +msgid "No revision selected." +msgstr "Keine Version ausgewählt." + +#: lib/choose_rev.tcl:346 +msgid "Revision expression is empty." +msgstr "Versions-Ausdruck ist leer." + +#: lib/choose_rev.tcl:531 +msgid "Updated" +msgstr "Aktualisiert" + +#: lib/choose_rev.tcl:559 +msgid "URL" +msgstr "URL" + +#: lib/commit.tcl:9 +msgid "" +"There is nothing to amend.\n" +"\n" +"You are about to create the initial commit. There is no commit before this " +"to amend.\n" +msgstr "" +"Keine Version zur Nachbesserung vorhanden.\n" +"\n" +"Sie sind dabei, die erste Version zu übertragen. Es gibt keine existierende " +"Version, die Sie nachbessern könnten.\n" + +#: lib/commit.tcl:18 +msgid "" +"Cannot amend while merging.\n" +"\n" +"You are currently in the middle of a merge that has not been fully " +"completed. You cannot amend the prior commit unless you first abort the " +"current merge activity.\n" +msgstr "" +"Nachbesserung währen Zusammenführung nicht möglich.\n" +"\n" +"Sie haben das Zusammenführen von Versionen angefangen, aber noch nicht " +"beendet. Sie können keine vorige Übertragung nachbessern, solange eine " +"unfertige Zusammenführung existiert. Dazu müssen Sie die Zusammenführung " +"beenden oder abbrechen.\n" + +#: lib/commit.tcl:49 +msgid "Error loading commit data for amend:" +msgstr "Fehler beim Laden der Versionsdaten für Nachbessern:" + +#: lib/commit.tcl:76 +msgid "Unable to obtain your identity:" +msgstr "Benutzername konnte nicht bestimmt werden:" + +#: lib/commit.tcl:81 +msgid "Invalid GIT_COMMITTER_IDENT:" +msgstr "Ungültiger Wert von GIT_COMMITTER_INDENT:" + +#: lib/commit.tcl:133 +msgid "" +"Last scanned state does not match repository state.\n" +"\n" +"Another Git program has modified this repository since the last scan. A " +"rescan must be performed before another commit can be created.\n" +"\n" +"The rescan will be automatically started now.\n" +msgstr "" +"Der letzte geladene Status stimmt nicht mehr mit dem Projektarchiv überein.\n" +"\n" +"Ein anderes Git-Programm hat das Projektarchiv seit dem letzten Laden " +"geändert. Vor dem Eintragen einer neuen Version muss neu geladen werden.\n" +"\n" +"Es wird gleich neu geladen.\n" + +#: lib/commit.tcl:154 +#, tcl-format +msgid "" +"Unmerged files cannot be committed.\n" +"\n" +"File %s has merge conflicts. You must resolve them and stage the file " +"before committing.\n" +msgstr "" +"Nicht zusammengeführte Dateien können nicht eingetragen werden.\n" +"\n" +"Die Datei »%s« hat noch nicht aufgelöste Zusammenführungs-Konflikte. Sie " +"müssen diese Konflikte auflösen, bevor Sie eintragen können.\n" + +#: lib/commit.tcl:162 +#, tcl-format +msgid "" +"Unknown file state %s detected.\n" +"\n" +"File %s cannot be committed by this program.\n" +msgstr "" +"Unbekannter Dateizustand »%s«.\n" +"\n" +"Datei »%s« kann nicht eingetragen werden.\n" + +#: lib/commit.tcl:170 +msgid "" +"No changes to commit.\n" +"\n" +"You must stage at least 1 file before you can commit.\n" +msgstr "" +"Keine Änderungen vorhanden, die eingetragen werden könnten.\n" +"\n" +"Sie müssen mindestens eine Datei bereitstellen, bevor Sie eintragen können.\n" + +#: lib/commit.tcl:183 +msgid "" +"Please supply a commit message.\n" +"\n" +"A good commit message has the following format:\n" +"\n" +"- First line: Describe in one sentence what you did.\n" +"- Second line: Blank\n" +"- Remaining lines: Describe why this change is good.\n" +msgstr "" +"Bitte geben Sie eine Versionsbeschreibung ein.\n" +"\n" +"Eine gute Versionsbeschreibung enthält folgende Abschnitte:\n" +"\n" +"- Erste Zeile: Eine Zusammenfassung, was man gemacht hat.\n" +"\n" +"- Zweite Zeile: Leerzeile\n" +"\n" +"- Rest: Eine ausführliche Beschreibung, warum diese Änderung hilfreich ist.\n" + +#: lib/commit.tcl:207 +#, tcl-format +msgid "warning: Tcl does not support encoding '%s'." +msgstr "Warning: Tcl/Tk unterstützt die Zeichencodierung »%s« nicht." + +#: lib/commit.tcl:221 +msgid "Calling pre-commit hook..." +msgstr "Aufrufen der Vor-Eintragen-Kontrolle..." + +#: lib/commit.tcl:236 +msgid "Commit declined by pre-commit hook." +msgstr "Eintragen abgelehnt durch Vor-Eintragen-Kontrolle (»pre-commit hook«)." + +#: lib/commit.tcl:259 +msgid "Calling commit-msg hook..." +msgstr "Aufrufen der Versionsbeschreibungs-Kontrolle..." + +#: lib/commit.tcl:274 +msgid "Commit declined by commit-msg hook." +msgstr "" +"Eintragen abgelehnt durch Versionsbeschreibungs-Kontrolle (»commit-message " +"hook«)." + +#: lib/commit.tcl:287 +msgid "Committing changes..." +msgstr "Änderungen eintragen..." + +#: lib/commit.tcl:303 +msgid "write-tree failed:" +msgstr "write-tree fehlgeschlagen:" + +#: lib/commit.tcl:304 lib/commit.tcl:348 lib/commit.tcl:368 +msgid "Commit failed." +msgstr "Eintragen fehlgeschlagen." + +#: lib/commit.tcl:321 +#, tcl-format +msgid "Commit %s appears to be corrupt" +msgstr "Version »%s« scheint beschädigt zu sein" + +#: lib/commit.tcl:326 +msgid "" +"No changes to commit.\n" +"\n" +"No files were modified by this commit and it was not a merge commit.\n" +"\n" +"A rescan will be automatically started now.\n" +msgstr "" +"Keine Änderungen einzutragen.\n" +"\n" +"Es gibt keine geänderte Datei bei dieser Version und es wurde auch nichts " +"zusammengeführt.\n" +"\n" +"Das Arbeitsverzeichnis wird daher jetzt neu geladen.\n" + +#: lib/commit.tcl:333 +msgid "No changes to commit." +msgstr "Keine Änderungen, die eingetragen werden können." + +#: lib/commit.tcl:347 +msgid "commit-tree failed:" +msgstr "commit-tree fehlgeschlagen:" + +#: lib/commit.tcl:367 +msgid "update-ref failed:" +msgstr "update-ref fehlgeschlagen:" + +#: lib/commit.tcl:454 +#, tcl-format +msgid "Created commit %s: %s" +msgstr "Version %s übertragen: %s" + +#: lib/console.tcl:59 +msgid "Working... please wait..." +msgstr "Verarbeitung. Bitte warten..." + +#: lib/console.tcl:186 +msgid "Success" +msgstr "Erfolgreich" + +#: lib/console.tcl:200 +msgid "Error: Command Failed" +msgstr "Fehler: Kommando fehlgeschlagen" + +#: lib/database.tcl:43 +msgid "Number of loose objects" +msgstr "Anzahl unverknüpfter Objekte" + +#: lib/database.tcl:44 +msgid "Disk space used by loose objects" +msgstr "Festplattenplatz von unverknüpften Objekten" + +#: lib/database.tcl:45 +msgid "Number of packed objects" +msgstr "Anzahl komprimierter Objekte" + +#: lib/database.tcl:46 +msgid "Number of packs" +msgstr "Anzahl Komprimierungseinheiten" + +#: lib/database.tcl:47 +msgid "Disk space used by packed objects" +msgstr "Festplattenplatz von komprimierten Objekten" + +#: lib/database.tcl:48 +msgid "Packed objects waiting for pruning" +msgstr "Komprimierte Objekte, die zum Aufräumen vorgesehen sind" + +#: lib/database.tcl:49 +msgid "Garbage files" +msgstr "Dateien im Mülleimer" + +#: lib/database.tcl:72 +msgid "Compressing the object database" +msgstr "Objektdatenbank komprimieren" + +#: lib/database.tcl:83 +msgid "Verifying the object database with fsck-objects" +msgstr "Die Objektdatenbank durch »fsck-objects« überprüfen lassen" + +#: lib/database.tcl:108 +#, tcl-format +msgid "" +"This repository currently has approximately %i loose objects.\n" +"\n" +"To maintain optimal performance it is strongly recommended that you compress " +"the database when more than %i loose objects exist.\n" +"\n" +"Compress the database now?" +msgstr "" +"Dieses Projektarchiv enthält ungefähr %i nicht verknüpfte Objekte.\n" +"\n" +"Für eine optimale Performance wird empfohlen, die Datenbank des " +"Projektarchivs zu komprimieren, sobald mehr als %i nicht verknüpfte Objekte " +"vorliegen.\n" +"\n" +"Soll die Datenbank jetzt komprimiert werden?" + +#: lib/date.tcl:25 +#, tcl-format +msgid "Invalid date from Git: %s" +msgstr "Ungültiges Datum von Git: %s" + +#: lib/diff.tcl:42 +#, tcl-format +msgid "" +"No differences detected.\n" +"\n" +"%s has no changes.\n" +"\n" +"The modification date of this file was updated by another application, but " +"the content within the file was not changed.\n" +"\n" +"A rescan will be automatically started to find other files which may have " +"the same state." +msgstr "" +"Keine Änderungen feststellbar.\n" +"\n" +"»%s« enthält keine Änderungen. Zwar wurde das Änderungsdatum dieser Datei " +"von einem anderen Programm modifiziert, aber der Inhalt der Datei ist " +"unverändert.\n" +"\n" +"Das Arbeitsverzeichnis wird jetzt neu geladen, um diese Änderung bei allen " +"Dateien zu prüfen." + +#: lib/diff.tcl:81 +#, tcl-format +msgid "Loading diff of %s..." +msgstr "Vergleich von »%s« laden..." + +#: lib/diff.tcl:120 +msgid "" +"LOCAL: deleted\n" +"REMOTE:\n" +msgstr "" ++"LOKAL: gelöscht\n" ++"ANDERES:\n" + +#: lib/diff.tcl:125 +msgid "" +"REMOTE: deleted\n" +"LOCAL:\n" +msgstr "" ++"ANDERES: gelöscht\n" ++"LOKAL:\n" + +#: lib/diff.tcl:132 +msgid "LOCAL:\n" - msgstr "" ++msgstr "LOKAL:\n" + +#: lib/diff.tcl:135 +msgid "REMOTE:\n" - msgstr "" ++msgstr "ANDERES:\n" + +#: lib/diff.tcl:197 lib/diff.tcl:296 +#, tcl-format +msgid "Unable to display %s" +msgstr "Datei »%s« kann nicht angezeigt werden" + +#: lib/diff.tcl:115 +msgid "Error loading file:" +msgstr "Fehler beim Laden der Datei:" + +#: lib/diff.tcl:122 +msgid "Git Repository (subproject)" +msgstr "Git-Projektarchiv (Unterprojekt)" + +#: lib/diff.tcl:134 +msgid "* Binary file (not showing content)." +msgstr "* Binärdatei (Inhalt wird nicht angezeigt)" + +#: lib/diff.tcl:222 +#, tcl-format +msgid "" +"* Untracked file is %d bytes.\n" +"* Showing only first %d bytes.\n" +msgstr "" ++"* Datei nicht unter Versionskontrolle, Dateigröße %d Bytes.\n" ++"* Nur erste %d Bytes werden angezeigt.\n" + +#: lib/diff.tcl:228 +#, tcl-format +msgid "" +"\n" +"* Untracked file clipped here by %s.\n" +"* To see the entire file, use an external editor.\n" +msgstr "" ++"\n" ++"* Datei nicht unter Versionskontrolle, hier abgeschnitten durch %s.\n" ++"* Zum Ansehen der vollständigen Datei externen Editor benutzen.\n" + - #: lib/diff.tcl:437 ++#: lib/diff.tcl:436 +msgid "Failed to unstage selected hunk." +msgstr "" +"Fehler beim Herausnehmen des gewählten Kontexts aus der Bereitstellung." + +#: lib/diff.tcl:310 +msgid "Failed to stage selected hunk." +msgstr "Fehler beim Bereitstellen des gewählten Kontexts." + +#: lib/diff.tcl:386 +msgid "Failed to unstage selected line." +msgstr "Fehler beim Herausnehmen der gewählten Zeile aus der Bereitstellung." + +#: lib/diff.tcl:394 +msgid "Failed to stage selected line." +msgstr "Fehler beim Bereitstellen der gewählten Zeile." + +#: lib/encoding.tcl:443 +msgid "Default" +msgstr "Voreinstellung" + +#: lib/encoding.tcl:448 +#, tcl-format +msgid "System (%s)" +msgstr "Systemweit (%s)" + +#: lib/encoding.tcl:459 lib/encoding.tcl:465 +msgid "Other" +msgstr "Andere" + +#: lib/error.tcl:20 lib/error.tcl:114 +msgid "error" +msgstr "Fehler" + +#: lib/error.tcl:36 +msgid "warning" +msgstr "Warnung" + +#: lib/error.tcl:94 +msgid "You must correct the above errors before committing." +msgstr "" +"Sie müssen die obigen Fehler zuerst beheben, bevor Sie eintragen können." + +#: lib/index.tcl:6 +msgid "Unable to unlock the index." +msgstr "Bereitstellung kann nicht wieder freigegeben werden." + +#: lib/index.tcl:15 +msgid "Index Error" +msgstr "Fehler in Bereitstellung" + +#: lib/index.tcl:21 +msgid "" +"Updating the Git index failed. A rescan will be automatically started to " +"resynchronize git-gui." +msgstr "" +"Das Aktualisieren der Git-Bereitstellung ist fehlgeschlagen. Eine allgemeine " +"Git-Aktualisierung wird jetzt gestartet, um git-gui wieder mit git zu " +"synchronisieren." + +#: lib/index.tcl:27 +msgid "Continue" +msgstr "Fortsetzen" + +#: lib/index.tcl:31 +msgid "Unlock Index" +msgstr "Bereitstellung freigeben" + +#: lib/index.tcl:282 +#, tcl-format +msgid "Unstaging %s from commit" +msgstr "Datei »%s« aus der Bereitstellung herausnehmen" + +#: lib/index.tcl:313 +msgid "Ready to commit." +msgstr "Bereit zum Eintragen." + +#: lib/index.tcl:326 +#, tcl-format +msgid "Adding %s" +msgstr "»%s« hinzufügen..." + +#: lib/index.tcl:381 +#, tcl-format +msgid "Revert changes in file %s?" +msgstr "Änderungen in Datei »%s« verwerfen?" + +#: lib/index.tcl:383 +#, tcl-format +msgid "Revert changes in these %i files?" +msgstr "Änderungen in den gewählten %i Dateien verwerfen?" + +#: lib/index.tcl:391 +msgid "Any unstaged changes will be permanently lost by the revert." +msgstr "" +"Alle nicht bereitgestellten Änderungen werden beim Verwerfen verloren gehen." + +#: lib/index.tcl:394 +msgid "Do Nothing" +msgstr "Nichts tun" + +#: lib/index.tcl:419 +msgid "Reverting selected files" +msgstr "Änderungen in gewählten Dateien verwerfen" + +#: lib/index.tcl:423 +#, tcl-format +msgid "Reverting %s" +msgstr "Änderungen in %s verwerfen" + +#: lib/merge.tcl:13 +msgid "" +"Cannot merge while amending.\n" +"\n" +"You must finish amending this commit before starting any type of merge.\n" +msgstr "" +"Zusammenführen kann nicht gleichzeitig mit Nachbessern durchgeführt werden.\n" +"\n" +"Sie müssen zuerst die Nachbesserungs-Version abschließen, bevor Sie " +"zusammenführen können.\n" + +#: lib/merge.tcl:27 +msgid "" +"Last scanned state does not match repository state.\n" +"\n" +"Another Git program has modified this repository since the last scan. A " +"rescan must be performed before a merge can be performed.\n" +"\n" +"The rescan will be automatically started now.\n" +msgstr "" +"Der letzte geladene Status stimmt nicht mehr mit dem Projektarchiv überein.\n" +"\n" +"Ein anderes Git-Programm hat das Projektarchiv seit dem letzten Laden " +"geändert. Vor einem Zusammenführen muss neu geladen werden.\n" +"\n" +"Es wird gleich neu geladen.\n" + +#: lib/merge.tcl:44 +#, tcl-format +msgid "" +"You are in the middle of a conflicted merge.\n" +"\n" +"File %s has merge conflicts.\n" +"\n" +"You must resolve them, stage the file, and commit to complete the current " +"merge. Only then can you begin another merge.\n" +msgstr "" +"Zusammenführung mit Konflikten.\n" +"\n" +"Die Datei »%s« enthält Konflikte beim Zusammenführen. Sie müssen diese " +"Konflikte per Hand auflösen. Anschließend müssen Sie die Datei wieder " +"bereitstellen und eintragen, um die Zusammenführung abzuschließen. Erst " +"danach kann eine neue Zusammenführung begonnen werden.\n" + +#: lib/merge.tcl:54 +#, tcl-format +msgid "" +"You are in the middle of a change.\n" +"\n" +"File %s is modified.\n" +"\n" +"You should complete the current commit before starting a merge. Doing so " +"will help you abort a failed merge, should the need arise.\n" +msgstr "" +"Es liegen Änderungen vor.\n" +"\n" +"Die Datei »%s« wurde geändert. Sie sollten zuerst die bereitgestellte " +"Version abschließen, bevor Sie eine Zusammenführung beginnen. Mit dieser " +"Reihenfolge können Sie mögliche Konflikte beim Zusammenführen wesentlich " +"einfacher beheben oder abbrechen.\n" + +#: lib/merge.tcl:106 +#, tcl-format +msgid "%s of %s" +msgstr "%s von %s" + +#: lib/merge.tcl:119 +#, tcl-format +msgid "Merging %s and %s..." +msgstr "Zusammenführen von %s und %s..." + +#: lib/merge.tcl:130 +msgid "Merge completed successfully." +msgstr "Zusammenführen erfolgreich abgeschlossen." + +#: lib/merge.tcl:132 +msgid "Merge failed. Conflict resolution is required." +msgstr "Zusammenführen fehlgeschlagen. Konfliktauflösung ist notwendig." + +#: lib/merge.tcl:157 +#, tcl-format +msgid "Merge Into %s" +msgstr "Zusammenführen in »%s«" + +#: lib/merge.tcl:176 +msgid "Revision To Merge" +msgstr "Zusammenzuführende Version" + +#: lib/merge.tcl:211 +msgid "" +"Cannot abort while amending.\n" +"\n" +"You must finish amending this commit.\n" +msgstr "" +"Abbruch der Nachbesserung ist nicht möglich.\n" +"\n" +"Sie müssen die Nachbesserung der Version abschließen.\n" + +#: lib/merge.tcl:221 +msgid "" +"Abort merge?\n" +"\n" +"Aborting the current merge will cause *ALL* uncommitted changes to be lost.\n" +"\n" +"Continue with aborting the current merge?" +msgstr "" +"Zusammenführen abbrechen?\n" +"\n" +"Wenn Sie abbrechen, gehen alle noch nicht eingetragenen Änderungen " +"verloren.\n" +"\n" +"Zusammenführen jetzt abbrechen?" + +#: lib/merge.tcl:227 +msgid "" +"Reset changes?\n" +"\n" +"Resetting the changes will cause *ALL* uncommitted changes to be lost.\n" +"\n" +"Continue with resetting the current changes?" +msgstr "" +"Änderungen zurücksetzen?\n" +"\n" +"Wenn Sie zurücksetzen, gehen alle noch nicht eingetragenen Änderungen " +"verloren.\n" +"\n" +"Änderungen jetzt zurücksetzen?" + +#: lib/merge.tcl:238 +msgid "Aborting" +msgstr "Abbruch" + +#: lib/merge.tcl:238 +msgid "files reset" +msgstr "Dateien zurückgesetzt" + +#: lib/merge.tcl:265 +msgid "Abort failed." +msgstr "Abbruch fehlgeschlagen." + +#: lib/merge.tcl:267 +msgid "Abort completed. Ready." +msgstr "Abbruch durchgeführt. Bereit." + +#: lib/mergetool.tcl:14 +msgid "Force resolution to the base version?" +msgstr "Konflikt durch Basisversion ersetzen?" + +#: lib/mergetool.tcl:15 +msgid "Force resolution to this branch?" +msgstr "Konflikt durch diesen Zweig ersetzen?" + +#: lib/mergetool.tcl:16 +msgid "Force resolution to the other branch?" +msgstr "Konflikt durch anderen Zweig ersetzen?" + +#: lib/mergetool.tcl:20 +#, tcl-format +msgid "" +"Note that the diff shows only conflicting changes.\n" +"\n" +"%s will be overwritten.\n" +"\n" +"This operation can be undone only by restarting the merge." +msgstr "" +"Hinweis: Der Vergleich zeigt nur konfliktverursachende Änderungen an.\n" +"\n" +"»%s« wird überschrieben.\n" +"\n" +"Diese Operation kann nur rückgängig gemacht werden, wenn die\n" +"Zusammenführung erneut gestartet wird." + +#: lib/mergetool.tcl:45 +#, tcl-format +msgid "File %s seems to have unresolved conflicts, still stage?" +msgstr "Datei »%s« hat nicht aufgelöste Konflikte. Trotzdem bereitstellen?" + +#: lib/mergetool.tcl:60 +#, tcl-format +msgid "Adding resolution for %s" +msgstr "Auflösung hinzugefügt für %s" + +#: lib/mergetool.tcl:119 +msgid "Cannot resolve deletion or link conflicts using a tool" +msgstr "" +"Konflikte durch gelöschte Dateien oder symbolische Links können nicht durch " +"das Zusamenführungswerkzeug gelöst werden." + +#: lib/mergetool.tcl:124 +msgid "Conflict file does not exist" +msgstr "Konflikt-Datei existiert nicht" + +#: lib/mergetool.tcl:236 +#, tcl-format +msgid "Not a GUI merge tool: '%s'" +msgstr "Kein GUI Zusammenführungswerkzeug: »%s«" + +#: lib/mergetool.tcl:240 +#, tcl-format +msgid "Unsupported merge tool '%s'" +msgstr "Unbekanntes Zusammenführungswerkzeug: »%s«" + +#: lib/mergetool.tcl:275 +msgid "Merge tool is already running, terminate it?" +msgstr "Zusammenführungswerkzeug läuft bereits. Soll es abgebrochen werden?" + +#: lib/mergetool.tcl:295 +#, tcl-format +msgid "" +"Error retrieving versions:\n" +"%s" +msgstr "" +"Fehler beim Abrufen der Dateiversionen:\n" +"%s" + +#: lib/mergetool.tcl:315 +#, tcl-format +msgid "" +"Could not start the merge tool:\n" +"\n" +"%s" +msgstr "" +"Zusammenführungswerkzeug konnte nicht gestartet werden:\n" +"\n" +"%s" + +#: lib/mergetool.tcl:319 +msgid "Running merge tool..." +msgstr "Zusammenführungswerkzeug starten..." + +#: lib/mergetool.tcl:347 lib/mergetool.tcl:363 +msgid "Merge tool failed." +msgstr "Zusammenführungswerkzeug fehlgeschlagen." + +#: lib/option.tcl:11 +#, tcl-format +msgid "Invalid global encoding '%s'" +msgstr "Ungültige globale Zeichenkodierung »%s«" + +#: lib/option.tcl:19 +#, tcl-format +msgid "Invalid repo encoding '%s'" +msgstr "Ungültige Archiv-Zeichenkodierung »%s«" + +#: lib/option.tcl:117 +msgid "Restore Defaults" +msgstr "Voreinstellungen wiederherstellen" + +#: lib/option.tcl:99 +msgid "Save" +msgstr "Speichern" + +#: lib/option.tcl:109 +#, tcl-format +msgid "%s Repository" +msgstr "Projektarchiv %s" + +#: lib/option.tcl:110 +msgid "Global (All Repositories)" +msgstr "Global (Alle Projektarchive)" + +#: lib/option.tcl:116 +msgid "User Name" +msgstr "Benutzername" + +#: lib/option.tcl:117 +msgid "Email Address" +msgstr "E-Mail-Adresse" + +#: lib/option.tcl:119 +msgid "Summarize Merge Commits" +msgstr "Zusammenführungs-Versionen zusammenfassen" + +#: lib/option.tcl:120 +msgid "Merge Verbosity" +msgstr "Ausführlichkeit der Zusammenführen-Meldungen" + +#: lib/option.tcl:121 +msgid "Show Diffstat After Merge" +msgstr "Vergleichsstatistik nach Zusammenführen anzeigen" + +#: lib/option.tcl:122 +msgid "Use Merge Tool" +msgstr "Zusammenführungswerkzeug" + +#: lib/option.tcl:124 +msgid "Trust File Modification Timestamps" +msgstr "Auf Dateiänderungsdatum verlassen" + +#: lib/option.tcl:124 +msgid "Prune Tracking Branches During Fetch" +msgstr "Übernahmezweige aufräumen während Anforderung" + +#: lib/option.tcl:125 +msgid "Match Tracking Branches" +msgstr "Passend zu Übernahmezweig" + +#: lib/option.tcl:126 +msgid "Blame Copy Only On Changed Files" +msgstr "Kopie-Annotieren nur bei geänderten Dateien" + +#: lib/option.tcl:127 +msgid "Minimum Letters To Blame Copy On" +msgstr "Mindestzahl Zeichen für Kopie-Annotieren" + +#: lib/option.tcl:128 +msgid "Blame History Context Radius (days)" +msgstr "Anzahl Tage für Historien-Kontext" + +#: lib/option.tcl:129 +msgid "Number of Diff Context Lines" +msgstr "Anzahl der Kontextzeilen beim Vergleich" + +#: lib/option.tcl:127 +msgid "Commit Message Text Width" +msgstr "Textbreite der Versionsbeschreibung" + +#: lib/option.tcl:128 +msgid "New Branch Name Template" +msgstr "Namensvorschlag für neue Zweige" + +#: lib/option.tcl:155 +msgid "Default File Contents Encoding" - msgstr "Vorgestellte Zeichenkodierung" ++msgstr "Voreingestellte Zeichenkodierung" + +#: lib/option.tcl:203 +msgid "Change" +msgstr "Ändern" + +#: lib/option.tcl:230 +msgid "Spelling Dictionary:" +msgstr "Wörterbuch Rechtschreibprüfung:" + +#: lib/option.tcl:216 +msgid "Change Font" +msgstr "Schriftart ändern" + +#: lib/option.tcl:220 +#, tcl-format +msgid "Choose %s" +msgstr "%s wählen" + +#: lib/option.tcl:226 +msgid "pt." +msgstr "pt." + +#: lib/option.tcl:240 +msgid "Preferences" +msgstr "Einstellungen" + +#: lib/option.tcl:275 +msgid "Failed to completely save options:" +msgstr "Optionen konnten nicht gespeichert werden:" + +#: lib/remote_add.tcl:19 +msgid "Add Remote" +msgstr "Anderes Archiv hinzufügen" + +#: lib/remote_add.tcl:24 +msgid "Add New Remote" +msgstr "Neues anderes Archiv hinzufügen" + +#: lib/remote_add.tcl:28 +msgid "Add" +msgstr "Hinzufügen" + +#: lib/remote_add.tcl:37 +msgid "Remote Details" +msgstr "Einzelheiten des anderen Archivs" + +#: lib/remote_add.tcl:50 +msgid "Location:" +msgstr "Adresse:" + +#: lib/remote_add.tcl:62 +msgid "Further Action" +msgstr "Weitere Aktion jetzt" + +#: lib/remote_add.tcl:65 +msgid "Fetch Immediately" +msgstr "Gleich anfordern" + +#: lib/remote_add.tcl:71 +msgid "Initialize Remote Repository and Push" +msgstr "Anderes Archiv initialisieren und dahin versenden" + +#: lib/remote_add.tcl:77 +msgid "Do Nothing Else Now" +msgstr "Nichts tun" + +#: lib/remote_add.tcl:101 - #, fuzzy +msgid "Please supply a remote name." - msgstr "Bitte geben Sie einen Zweignamen an." ++msgstr "Bitte geben Sie einen Namen des anderen Archivs an." + +#: lib/remote_add.tcl:114 - #, fuzzy, tcl-format ++#, tcl-format +msgid "'%s' is not an acceptable remote name." - msgstr "»%s« ist kein zulässiger Zweigname." ++msgstr "»%s« ist kein zulässiger Name eines anderen Archivs." + +#: lib/remote_add.tcl:125 - #, fuzzy, tcl-format ++#, tcl-format +msgid "Failed to add remote '%s' of location '%s'." - msgstr "Fehler beim Umbenennen von »%s«." ++msgstr "Fehler beim Hinzufügen des anderen Archivs »%s« aus Herkunftsort »%s«." + +#: lib/remote_add.tcl:133 lib/transport.tcl:6 +#, tcl-format +msgid "fetch %s" +msgstr "»%s« anfordern" + +#: lib/remote_add.tcl:134 - #, fuzzy, tcl-format ++#, tcl-format +msgid "Fetching the %s" - msgstr "Änderungen »%s« von »%s« anfordern" ++msgstr "»%s« anfordern" + +#: lib/remote_add.tcl:157 +#, tcl-format +msgid "Do not know how to initialize repository at location '%s'." - msgstr "Initialisieren eines anderen Archivs an Adresse »%s« ist nicht möglich." ++msgstr "" ++"Initialisieren eines anderen Archivs an Adresse »%s« ist nicht möglich." + - #: lib/remote_add.tcl:163 lib/transport.tcl:25 lib/transport.tcl:71 ++#: lib/remote_add.tcl:163 lib/transport.tcl:25 lib/transport.tcl:63 ++#: lib/transport.tcl:81 +#, tcl-format +msgid "push %s" +msgstr "»%s« versenden..." + +#: lib/remote_add.tcl:164 +#, tcl-format +msgid "Setting up the %s (at %s)" +msgstr "Einrichten von »%s« an »%s«" + +#: lib/remote_branch_delete.tcl:29 lib/remote_branch_delete.tcl:34 +msgid "Delete Branch Remotely" +msgstr "Zweig in anderem Archiv löschen" + +#: lib/remote_branch_delete.tcl:47 +msgid "From Repository" +msgstr "In Projektarchiv" + +#: lib/remote_branch_delete.tcl:50 lib/transport.tcl:123 +msgid "Remote:" +msgstr "Anderes Archiv:" + +#: lib/remote_branch_delete.tcl:66 lib/transport.tcl:138 +msgid "Arbitrary Location:" +msgstr "Adresse:" + +#: lib/remote_branch_delete.tcl:84 +msgid "Branches" +msgstr "Zweige" + +#: lib/remote_branch_delete.tcl:109 +msgid "Delete Only If" +msgstr "Nur löschen, wenn" + +#: lib/remote_branch_delete.tcl:111 +msgid "Merged Into:" +msgstr "Zusammengeführt mit:" + +#: lib/remote_branch_delete.tcl:119 +msgid "Always (Do not perform merge checks)" +msgstr "Immer (Keine Zusammenführungsprüfung)" + +#: lib/remote_branch_delete.tcl:152 +msgid "A branch is required for 'Merged Into'." +msgstr "Für »Zusammenführen mit« muss ein Zweig angegeben werden." + +#: lib/remote_branch_delete.tcl:184 +#, tcl-format +msgid "" +"The following branches are not completely merged into %s:\n" +"\n" +" - %s" +msgstr "" +"Folgende Zweige sind noch nicht mit »%s« zusammengeführt:\n" +"\n" +" - %s" + +#: lib/remote_branch_delete.tcl:189 +#, tcl-format +msgid "" +"One or more of the merge tests failed because you have not fetched the " +"necessary commits. Try fetching from %s first." +msgstr "" +"Ein oder mehrere Zusammenführungen sind fehlgeschlagen, da Sie nicht die " +"notwendigen Versionen vorher angefordert haben. Sie sollten versuchen, " +"zuerst von »%s« anzufordern." + +#: lib/remote_branch_delete.tcl:207 +msgid "Please select one or more branches to delete." +msgstr "Bitte wählen Sie mindestens einen Zweig, der gelöscht werden soll." + +#: lib/remote_branch_delete.tcl:216 +msgid "" +"Recovering deleted branches is difficult.\n" +"\n" +"Delete the selected branches?" +msgstr "" +"Das Wiederherstellen von gelöschten Zweigen ist nur mit größerem Aufwand " +"möglich.\n" +"\n" +"Sollen die ausgewählten Zweige gelöscht werden?" + +#: lib/remote_branch_delete.tcl:226 +#, tcl-format +msgid "Deleting branches from %s" +msgstr "Zweige auf »%s« werden gelöscht" + +#: lib/remote_branch_delete.tcl:286 +msgid "No repository selected." +msgstr "Kein Projektarchiv ausgewählt." + +#: lib/remote_branch_delete.tcl:291 +#, tcl-format +msgid "Scanning %s..." +msgstr "»%s« laden..." + +#: lib/remote.tcl:163 +msgid "Remove Remote" +msgstr "Anderes Archiv entfernen" + +#: lib/remote.tcl:168 +msgid "Prune from" +msgstr "Aufräumen von" + +#: lib/remote.tcl:170 +msgid "Fetch from" +msgstr "Anfordern von" + +#: lib/remote.tcl:213 +msgid "Push to" +msgstr "Versenden nach" + +#: lib/search.tcl:21 +msgid "Find:" +msgstr "Suchen:" + +#: lib/search.tcl:22 +msgid "Next" +msgstr "Nächster" + +#: lib/search.tcl:23 +msgid "Prev" +msgstr "Voriger" + - #: lib/search.tcl:24 ++#: lib/search.tcl:25 +msgid "Case-Sensitive" - msgstr "" ++msgstr "Groß-/Kleinschreibung unterscheiden" + +#: lib/shortcut.tcl:20 lib/shortcut.tcl:61 +msgid "Cannot write shortcut:" +msgstr "Fehler beim Schreiben der Verknüpfung:" + +#: lib/shortcut.tcl:136 +msgid "Cannot write icon:" +msgstr "Fehler beim Erstellen des Icons:" + +#: lib/spellcheck.tcl:57 +msgid "Unsupported spell checker" +msgstr "Rechtschreibprüfungsprogramm nicht unterstützt" + +#: lib/spellcheck.tcl:65 +msgid "Spell checking is unavailable" +msgstr "Rechtschreibprüfung nicht verfügbar" + +#: lib/spellcheck.tcl:68 +msgid "Invalid spell checking configuration" +msgstr "Unbenutzbare Konfiguration der Rechtschreibprüfung" + +#: lib/spellcheck.tcl:70 +#, tcl-format +msgid "Reverting dictionary to %s." +msgstr "Wörterbuch auf %s zurückgesetzt." + +#: lib/spellcheck.tcl:73 +msgid "Spell checker silently failed on startup" +msgstr "Rechtschreibprüfungsprogramm mit Fehler abgebrochen" + +#: lib/spellcheck.tcl:80 +msgid "Unrecognized spell checker" +msgstr "Unbekanntes Rechtschreibprüfungsprogramm" + +#: lib/spellcheck.tcl:180 +msgid "No Suggestions" +msgstr "Keine Vorschläge" + +#: lib/spellcheck.tcl:381 +msgid "Unexpected EOF from spell checker" +msgstr "Unerwartetes EOF vom Rechtschreibprüfungsprogramm" + +#: lib/spellcheck.tcl:385 +msgid "Spell Checker Failed" +msgstr "Rechtschreibprüfung fehlgeschlagen" + ++#: lib/sshkey.tcl:31 ++msgid "No keys found." ++msgstr "Keine Schlüssel gefunden." ++ ++#: lib/sshkey.tcl:34 ++#, tcl-format ++msgid "Found a public key in: %s" ++msgstr "Öffentlicher Schlüssel gefunden in: %s" ++ ++#: lib/sshkey.tcl:40 ++msgid "Generate Key" ++msgstr "Schlüssel erzeugen" ++ ++#: lib/sshkey.tcl:56 ++msgid "Copy To Clipboard" ++msgstr "In Zwischenablage kopieren" ++ ++#: lib/sshkey.tcl:70 ++msgid "Your OpenSSH Public Key" ++msgstr "Ihr OpenSSH öffenlicher Schlüssel" ++ ++#: lib/sshkey.tcl:78 ++msgid "Generating..." ++msgstr "Erzeugen..." ++ ++#: lib/sshkey.tcl:84 ++#, tcl-format ++msgid "" ++"Could not start ssh-keygen:\n" ++"\n" ++"%s" ++msgstr "" ++"Konnte »ssh-keygen« nicht starten:\n" ++"\n" ++"%s" ++ ++#: lib/sshkey.tcl:111 ++msgid "Generation failed." ++msgstr "Schlüsselerzeugung fehlgeschlagen." ++ ++#: lib/sshkey.tcl:118 ++msgid "Generation succeded, but no keys found." ++msgstr "Schlüsselerzeugung erfolgreich, aber keine Schlüssel gefunden." ++ ++#: lib/sshkey.tcl:121 ++#, tcl-format ++msgid "Your key is in: %s" ++msgstr "Ihr Schlüssel ist abgelegt in: %s" ++ +#: lib/status_bar.tcl:83 +#, tcl-format +msgid "%s ... %*i of %*i %s (%3i%%)" +msgstr "%s ... %*i von %*i %s (%3i%%)" + ++#: lib/tools_dlg.tcl:22 ++msgid "Add Tool" ++msgstr "Werkzeug hinzufügen" ++ ++#: lib/tools_dlg.tcl:28 ++msgid "Add New Tool Command" ++msgstr "Neues Kommando für Werkzeug hinzufügen" ++ ++#: lib/tools_dlg.tcl:33 ++msgid "Add globally" ++msgstr "Global hinzufügen" ++ ++#: lib/tools_dlg.tcl:45 ++msgid "Tool Details" ++msgstr "Einzelheiten des Werkzeugs" ++ ++#: lib/tools_dlg.tcl:48 ++msgid "Use '/' separators to create a submenu tree:" ++msgstr "Benutzen Sie einen Schrägstrich »/«, um Untermenüs zu erstellen:" ++ ++#: lib/tools_dlg.tcl:61 ++msgid "Command:" ++msgstr "Kommando:" ++ ++#: lib/tools_dlg.tcl:74 ++msgid "Show a dialog before running" ++msgstr "Bestätigungsfrage vor Starten anzeigen" ++ ++#: lib/tools_dlg.tcl:80 ++msgid "Ask the user to select a revision (sets $REVISION)" ++msgstr "Benutzer nach Version fragen (setzt $REVISION)" ++ ++#: lib/tools_dlg.tcl:85 ++msgid "Ask the user for additional arguments (sets $ARGS)" ++msgstr "Benutzer nach zusätzlichen Argumenten fragen (setzt $ARGS)" ++ ++#: lib/tools_dlg.tcl:92 ++msgid "Don't show the command output window" ++msgstr "Kein Ausgabefenster zeigen" ++ ++#: lib/tools_dlg.tcl:97 ++msgid "Run only if a diff is selected ($FILENAME not empty)" ++msgstr "Nur starten, wenn ein Vergleich gewählt ist ($FILENAME ist nicht leer)" ++ ++#: lib/tools_dlg.tcl:121 ++msgid "Please supply a name for the tool." ++msgstr "Bitte geben Sie einen Werkzeugnamen an." ++ ++#: lib/tools_dlg.tcl:129 ++#, tcl-format ++msgid "Tool '%s' already exists." ++msgstr "Werkzeug »%s« existiert bereits." ++ ++#: lib/tools_dlg.tcl:151 ++#, tcl-format ++msgid "" ++"Could not add tool:\n" ++"%s" ++msgstr "" ++"Werkzeug konnte nicht hinzugefügt werden:\n" ++"\n" ++"%s" ++ ++#: lib/tools_dlg.tcl:190 ++msgid "Remove Tool" ++msgstr "Werkzeug entfernen" ++ ++#: lib/tools_dlg.tcl:196 ++msgid "Remove Tool Commands" ++msgstr "Werkzeugkommandos entfernen" ++ ++#: lib/tools_dlg.tcl:200 ++msgid "Remove" ++msgstr "Entfernen" ++ ++#: lib/tools_dlg.tcl:236 ++msgid "(Blue denotes repository-local tools)" ++msgstr "(Werkzeuge für lokales Archiv werden in Blau angezeigt)" ++ ++#: lib/tools_dlg.tcl:297 ++#, tcl-format ++msgid "Run Command: %s" ++msgstr "Kommando aufrufen: %s" ++ ++#: lib/tools_dlg.tcl:311 ++msgid "Arguments" ++msgstr "Argumente" ++ ++#: lib/tools_dlg.tcl:348 ++msgid "OK" ++msgstr "Ok" ++ ++#: lib/tools.tcl:75 ++#, tcl-format ++msgid "Running %s requires a selected file." ++msgstr "Um »%s« zu starten, muss eine Datei ausgewählt sein." ++ ++#: lib/tools.tcl:90 ++#, tcl-format ++msgid "Are you sure you want to run %s?" ++msgstr "Wollen Sie %s wirklich starten?" ++ ++#: lib/tools.tcl:110 ++#, tcl-format ++msgid "Tool: %s" ++msgstr "Werkzeug: %s" ++ ++#: lib/tools.tcl:111 ++#, tcl-format ++msgid "Running: %s" ++msgstr "Starten: %s" ++ ++#: lib/tools.tcl:149 ++#, tcl-format ++msgid "Tool completed succesfully: %s" ++msgstr "Werkzeug erfolgreich abgeschlossen: %s" ++ ++#: lib/tools.tcl:151 ++#, tcl-format ++msgid "Tool failed: %s" ++msgstr "Werkzeug fehlgeschlagen: %s" ++ +#: lib/transport.tcl:7 +#, tcl-format +msgid "Fetching new changes from %s" +msgstr "Neue Änderungen von »%s« holen" + +#: lib/transport.tcl:18 +#, tcl-format +msgid "remote prune %s" +msgstr "Aufräumen von »%s«" + +#: lib/transport.tcl:19 +#, tcl-format +msgid "Pruning tracking branches deleted from %s" +msgstr "Übernahmezweige aufräumen und entfernen, die in »%s« gelöscht wurden" + +#: lib/transport.tcl:26 +#, tcl-format +msgid "Pushing changes to %s" +msgstr "Änderungen nach »%s« versenden" + - #: lib/transport.tcl:72 ++#: lib/transport.tcl:64 ++#, tcl-format ++msgid "Mirroring to %s" ++msgstr "Spiegeln nach %s" ++ ++#: lib/transport.tcl:82 +#, tcl-format +msgid "Pushing %s %s to %s" +msgstr "%s %s nach %s versenden" + +#: lib/transport.tcl:89 +msgid "Push Branches" +msgstr "Zweige versenden" + +#: lib/transport.tcl:103 +msgid "Source Branches" +msgstr "Lokale Zweige" + +#: lib/transport.tcl:120 +msgid "Destination Repository" +msgstr "Ziel-Projektarchiv" + +#: lib/transport.tcl:158 +msgid "Transfer Options" +msgstr "Netzwerk-Einstellungen" + +#: lib/transport.tcl:160 +msgid "Force overwrite existing branch (may discard changes)" +msgstr "" +"Überschreiben von existierenden Zweigen erzwingen (könnte Änderungen löschen)" + +#: lib/transport.tcl:164 +msgid "Use thin pack (for slow network connections)" +msgstr "Kompaktes Datenformat benutzen (für langsame Netzverbindungen)" + +#: lib/transport.tcl:168 +msgid "Include tags" +msgstr "Mit Markierungen übertragen" diff --cc git-gui/po/git-gui.pot index 58db67c21,000000000..15aea0dc6 mode 100644,000000..100644 --- a/git-gui/po/git-gui.pot +++ b/git-gui/po/git-gui.pot @@@ -1,2370 -1,0 +1,2376 @@@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" - "POT-Creation-Date: 2008-11-16 13:56-0800\n" ++"POT-Creation-Date: 2008-12-08 08:31-0800\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=CHARSET\n" +"Content-Transfer-Encoding: 8bit\n" + +#: git-gui.sh:41 git-gui.sh:737 git-gui.sh:751 git-gui.sh:764 git-gui.sh:847 +#: git-gui.sh:866 +msgid "git-gui: fatal error" +msgstr "" + +#: git-gui.sh:689 +#, tcl-format +msgid "Invalid font specified in %s:" +msgstr "" + +#: git-gui.sh:723 +msgid "Main Font" +msgstr "" + +#: git-gui.sh:724 +msgid "Diff/Console Font" +msgstr "" + +#: git-gui.sh:738 +msgid "Cannot find git in PATH." +msgstr "" + +#: git-gui.sh:765 +msgid "Cannot parse Git version string:" +msgstr "" + +#: git-gui.sh:783 +#, tcl-format +msgid "" +"Git version cannot be determined.\n" +"\n" +"%s claims it is version '%s'.\n" +"\n" +"%s requires at least Git 1.5.0 or later.\n" +"\n" +"Assume '%s' is version 1.5.0?\n" +msgstr "" + +#: git-gui.sh:1062 +msgid "Git directory not found:" +msgstr "" + +#: git-gui.sh:1069 +msgid "Cannot move to top of working directory:" +msgstr "" + +#: git-gui.sh:1076 +msgid "Cannot use funny .git directory:" +msgstr "" + +#: git-gui.sh:1081 +msgid "No working directory" +msgstr "" + +#: git-gui.sh:1247 lib/checkout_op.tcl:305 +msgid "Refreshing file status..." +msgstr "" + +#: git-gui.sh:1303 +msgid "Scanning for modified files ..." +msgstr "" + +#: git-gui.sh:1367 +msgid "Calling prepare-commit-msg hook..." +msgstr "" + +#: git-gui.sh:1384 +msgid "Commit declined by prepare-commit-msg hook." +msgstr "" + +#: git-gui.sh:1542 lib/browser.tcl:246 +msgid "Ready." +msgstr "" + +#: git-gui.sh:1819 +msgid "Unmodified" +msgstr "" + +#: git-gui.sh:1821 +msgid "Modified, not staged" +msgstr "" + +#: git-gui.sh:1822 git-gui.sh:1830 +msgid "Staged for commit" +msgstr "" + +#: git-gui.sh:1823 git-gui.sh:1831 +msgid "Portions staged for commit" +msgstr "" + +#: git-gui.sh:1824 git-gui.sh:1832 +msgid "Staged for commit, missing" +msgstr "" + +#: git-gui.sh:1826 +msgid "File type changed, not staged" +msgstr "" + +#: git-gui.sh:1827 +msgid "File type changed, staged" +msgstr "" + +#: git-gui.sh:1829 +msgid "Untracked, not staged" +msgstr "" + +#: git-gui.sh:1834 +msgid "Missing" +msgstr "" + +#: git-gui.sh:1835 +msgid "Staged for removal" +msgstr "" + +#: git-gui.sh:1836 +msgid "Staged for removal, still present" +msgstr "" + +#: git-gui.sh:1838 git-gui.sh:1839 git-gui.sh:1840 git-gui.sh:1841 +#: git-gui.sh:1842 git-gui.sh:1843 +msgid "Requires merge resolution" +msgstr "" + +#: git-gui.sh:1878 +msgid "Starting gitk... please wait..." +msgstr "" + +#: git-gui.sh:1887 +msgid "Couldn't find gitk in PATH" +msgstr "" + +#: git-gui.sh:2280 lib/choose_repository.tcl:36 +msgid "Repository" +msgstr "" + +#: git-gui.sh:2281 +msgid "Edit" +msgstr "" + +#: git-gui.sh:2283 lib/choose_rev.tcl:561 +msgid "Branch" +msgstr "" + +#: git-gui.sh:2286 lib/choose_rev.tcl:548 +msgid "Commit@@noun" +msgstr "" + +#: git-gui.sh:2289 lib/merge.tcl:121 lib/merge.tcl:150 lib/merge.tcl:168 +msgid "Merge" +msgstr "" + +#: git-gui.sh:2290 lib/choose_rev.tcl:557 +msgid "Remote" +msgstr "" + +#: git-gui.sh:2293 +msgid "Tools" +msgstr "" + +#: git-gui.sh:2302 +msgid "Explore Working Copy" +msgstr "" + +#: git-gui.sh:2307 +msgid "Browse Current Branch's Files" +msgstr "" + +#: git-gui.sh:2311 +msgid "Browse Branch Files..." +msgstr "" + +#: git-gui.sh:2316 +msgid "Visualize Current Branch's History" +msgstr "" + +#: git-gui.sh:2320 +msgid "Visualize All Branch History" +msgstr "" + +#: git-gui.sh:2327 +#, tcl-format +msgid "Browse %s's Files" +msgstr "" + +#: git-gui.sh:2329 +#, tcl-format +msgid "Visualize %s's History" +msgstr "" + +#: git-gui.sh:2334 lib/database.tcl:27 lib/database.tcl:67 +msgid "Database Statistics" +msgstr "" + +#: git-gui.sh:2337 lib/database.tcl:34 +msgid "Compress Database" +msgstr "" + +#: git-gui.sh:2340 +msgid "Verify Database" +msgstr "" + +#: git-gui.sh:2347 git-gui.sh:2351 git-gui.sh:2355 lib/shortcut.tcl:7 +#: lib/shortcut.tcl:39 lib/shortcut.tcl:71 +msgid "Create Desktop Icon" +msgstr "" + +#: git-gui.sh:2363 lib/choose_repository.tcl:183 lib/choose_repository.tcl:191 +msgid "Quit" +msgstr "" + +#: git-gui.sh:2371 +msgid "Undo" +msgstr "" + +#: git-gui.sh:2374 +msgid "Redo" +msgstr "" + - #: git-gui.sh:2378 git-gui.sh:2923 ++#: git-gui.sh:2378 git-gui.sh:2937 +msgid "Cut" +msgstr "" + - #: git-gui.sh:2381 git-gui.sh:2926 git-gui.sh:3000 git-gui.sh:3082 ++#: git-gui.sh:2381 git-gui.sh:2940 git-gui.sh:3014 git-gui.sh:3096 +#: lib/console.tcl:69 +msgid "Copy" +msgstr "" + - #: git-gui.sh:2384 git-gui.sh:2929 ++#: git-gui.sh:2384 git-gui.sh:2943 +msgid "Paste" +msgstr "" + - #: git-gui.sh:2387 git-gui.sh:2932 lib/branch_delete.tcl:26 ++#: git-gui.sh:2387 git-gui.sh:2946 lib/branch_delete.tcl:26 +#: lib/remote_branch_delete.tcl:38 +msgid "Delete" +msgstr "" + - #: git-gui.sh:2391 git-gui.sh:2936 git-gui.sh:3086 lib/console.tcl:71 ++#: git-gui.sh:2391 git-gui.sh:2950 git-gui.sh:3100 lib/console.tcl:71 +msgid "Select All" +msgstr "" + +#: git-gui.sh:2400 +msgid "Create..." +msgstr "" + +#: git-gui.sh:2406 +msgid "Checkout..." +msgstr "" + +#: git-gui.sh:2412 +msgid "Rename..." +msgstr "" + +#: git-gui.sh:2417 +msgid "Delete..." +msgstr "" + +#: git-gui.sh:2422 +msgid "Reset..." +msgstr "" + +#: git-gui.sh:2432 +msgid "Done" +msgstr "" + +#: git-gui.sh:2434 +msgid "Commit@@verb" +msgstr "" + - #: git-gui.sh:2443 git-gui.sh:2864 ++#: git-gui.sh:2443 git-gui.sh:2878 +msgid "New Commit" +msgstr "" + - #: git-gui.sh:2451 git-gui.sh:2871 ++#: git-gui.sh:2451 git-gui.sh:2885 +msgid "Amend Last Commit" +msgstr "" + - #: git-gui.sh:2461 git-gui.sh:2825 lib/remote_branch_delete.tcl:99 ++#: git-gui.sh:2461 git-gui.sh:2839 lib/remote_branch_delete.tcl:99 +msgid "Rescan" +msgstr "" + +#: git-gui.sh:2467 +msgid "Stage To Commit" +msgstr "" + +#: git-gui.sh:2473 +msgid "Stage Changed Files To Commit" +msgstr "" + +#: git-gui.sh:2479 +msgid "Unstage From Commit" +msgstr "" + +#: git-gui.sh:2484 lib/index.tcl:410 +msgid "Revert Changes" +msgstr "" + - #: git-gui.sh:2491 git-gui.sh:3069 ++#: git-gui.sh:2491 git-gui.sh:3083 +msgid "Show Less Context" +msgstr "" + - #: git-gui.sh:2495 git-gui.sh:3073 ++#: git-gui.sh:2495 git-gui.sh:3087 +msgid "Show More Context" +msgstr "" + - #: git-gui.sh:2502 git-gui.sh:2838 git-gui.sh:2947 ++#: git-gui.sh:2502 git-gui.sh:2852 git-gui.sh:2961 +msgid "Sign Off" +msgstr "" + +#: git-gui.sh:2518 +msgid "Local Merge..." +msgstr "" + +#: git-gui.sh:2523 +msgid "Abort Merge..." +msgstr "" + +#: git-gui.sh:2535 git-gui.sh:2575 +msgid "Add..." +msgstr "" + +#: git-gui.sh:2539 +msgid "Push..." +msgstr "" + +#: git-gui.sh:2543 +msgid "Delete Branch..." +msgstr "" + +#: git-gui.sh:2553 git-gui.sh:2589 lib/about.tcl:14 +#: lib/choose_repository.tcl:44 lib/choose_repository.tcl:53 +#, tcl-format +msgid "About %s" +msgstr "" + +#: git-gui.sh:2557 +msgid "Preferences..." +msgstr "" + - #: git-gui.sh:2565 git-gui.sh:3115 ++#: git-gui.sh:2565 git-gui.sh:3129 +msgid "Options..." +msgstr "" + +#: git-gui.sh:2576 +msgid "Remove..." +msgstr "" + +#: git-gui.sh:2585 lib/choose_repository.tcl:50 +msgid "Help" +msgstr "" + +#: git-gui.sh:2611 +msgid "Online Documentation" +msgstr "" + +#: git-gui.sh:2614 lib/choose_repository.tcl:47 lib/choose_repository.tcl:56 +msgid "Show SSH Key" +msgstr "" + - #: git-gui.sh:2707 ++#: git-gui.sh:2721 +#, tcl-format +msgid "fatal: cannot stat path %s: No such file or directory" +msgstr "" + - #: git-gui.sh:2740 ++#: git-gui.sh:2754 +msgid "Current Branch:" +msgstr "" + - #: git-gui.sh:2761 ++#: git-gui.sh:2775 +msgid "Staged Changes (Will Commit)" +msgstr "" + - #: git-gui.sh:2781 ++#: git-gui.sh:2795 +msgid "Unstaged Changes" +msgstr "" + - #: git-gui.sh:2831 ++#: git-gui.sh:2845 +msgid "Stage Changed" +msgstr "" + - #: git-gui.sh:2850 lib/transport.tcl:93 lib/transport.tcl:182 ++#: git-gui.sh:2864 lib/transport.tcl:104 lib/transport.tcl:193 +msgid "Push" +msgstr "" + - #: git-gui.sh:2885 ++#: git-gui.sh:2899 +msgid "Initial Commit Message:" +msgstr "" + - #: git-gui.sh:2886 ++#: git-gui.sh:2900 +msgid "Amended Commit Message:" +msgstr "" + - #: git-gui.sh:2887 ++#: git-gui.sh:2901 +msgid "Amended Initial Commit Message:" +msgstr "" + - #: git-gui.sh:2888 ++#: git-gui.sh:2902 +msgid "Amended Merge Commit Message:" +msgstr "" + - #: git-gui.sh:2889 ++#: git-gui.sh:2903 +msgid "Merge Commit Message:" +msgstr "" + - #: git-gui.sh:2890 ++#: git-gui.sh:2904 +msgid "Commit Message:" +msgstr "" + - #: git-gui.sh:2939 git-gui.sh:3090 lib/console.tcl:73 ++#: git-gui.sh:2953 git-gui.sh:3104 lib/console.tcl:73 +msgid "Copy All" +msgstr "" + - #: git-gui.sh:2963 lib/blame.tcl:104 ++#: git-gui.sh:2977 lib/blame.tcl:104 +msgid "File:" +msgstr "" + - #: git-gui.sh:3078 ++#: git-gui.sh:3092 +msgid "Refresh" +msgstr "" + - #: git-gui.sh:3099 ++#: git-gui.sh:3113 +msgid "Decrease Font Size" +msgstr "" + - #: git-gui.sh:3103 ++#: git-gui.sh:3117 +msgid "Increase Font Size" +msgstr "" + - #: git-gui.sh:3111 lib/blame.tcl:281 ++#: git-gui.sh:3125 lib/blame.tcl:281 +msgid "Encoding" +msgstr "" + - #: git-gui.sh:3122 ++#: git-gui.sh:3136 +msgid "Apply/Reverse Hunk" +msgstr "" + - #: git-gui.sh:3127 ++#: git-gui.sh:3141 +msgid "Apply/Reverse Line" +msgstr "" + - #: git-gui.sh:3137 ++#: git-gui.sh:3151 +msgid "Run Merge Tool" +msgstr "" + - #: git-gui.sh:3142 ++#: git-gui.sh:3156 +msgid "Use Remote Version" +msgstr "" + - #: git-gui.sh:3146 ++#: git-gui.sh:3160 +msgid "Use Local Version" +msgstr "" + - #: git-gui.sh:3150 ++#: git-gui.sh:3164 +msgid "Revert To Base" +msgstr "" + - #: git-gui.sh:3169 ++#: git-gui.sh:3183 +msgid "Unstage Hunk From Commit" +msgstr "" + - #: git-gui.sh:3170 ++#: git-gui.sh:3184 +msgid "Unstage Line From Commit" +msgstr "" + - #: git-gui.sh:3172 ++#: git-gui.sh:3186 +msgid "Stage Hunk For Commit" +msgstr "" + - #: git-gui.sh:3173 ++#: git-gui.sh:3187 +msgid "Stage Line For Commit" +msgstr "" + - #: git-gui.sh:3196 ++#: git-gui.sh:3210 +msgid "Initializing..." +msgstr "" + - #: git-gui.sh:3301 ++#: git-gui.sh:3315 +#, tcl-format +msgid "" +"Possible environment issues exist.\n" +"\n" +"The following environment variables are probably\n" +"going to be ignored by any Git subprocess run\n" +"by %s:\n" +"\n" +msgstr "" + - #: git-gui.sh:3331 ++#: git-gui.sh:3345 +msgid "" +"\n" +"This is due to a known issue with the\n" +"Tcl binary distributed by Cygwin." +msgstr "" + - #: git-gui.sh:3336 ++#: git-gui.sh:3350 +#, tcl-format +msgid "" +"\n" +"\n" +"A good replacement for %s\n" +"is placing values for the user.name and\n" +"user.email settings into your personal\n" +"~/.gitconfig file.\n" +msgstr "" + +#: lib/about.tcl:26 +msgid "git-gui - a graphical user interface for Git." +msgstr "" + +#: lib/blame.tcl:72 +msgid "File Viewer" +msgstr "" + +#: lib/blame.tcl:78 +msgid "Commit:" +msgstr "" + +#: lib/blame.tcl:271 +msgid "Copy Commit" +msgstr "" + +#: lib/blame.tcl:275 +msgid "Find Text..." +msgstr "" + +#: lib/blame.tcl:284 +msgid "Do Full Copy Detection" +msgstr "" + +#: lib/blame.tcl:288 +msgid "Show History Context" +msgstr "" + +#: lib/blame.tcl:291 +msgid "Blame Parent Commit" +msgstr "" + +#: lib/blame.tcl:450 +#, tcl-format +msgid "Reading %s..." +msgstr "" + +#: lib/blame.tcl:557 +msgid "Loading copy/move tracking annotations..." +msgstr "" + +#: lib/blame.tcl:577 +msgid "lines annotated" +msgstr "" + +#: lib/blame.tcl:769 +msgid "Loading original location annotations..." +msgstr "" + +#: lib/blame.tcl:772 +msgid "Annotation complete." +msgstr "" + +#: lib/blame.tcl:802 +msgid "Busy" +msgstr "" + +#: lib/blame.tcl:803 +msgid "Annotation process is already running." +msgstr "" + +#: lib/blame.tcl:842 +msgid "Running thorough copy detection..." +msgstr "" + +#: lib/blame.tcl:910 +msgid "Loading annotation..." +msgstr "" + - #: lib/blame.tcl:964 ++#: lib/blame.tcl:963 +msgid "Author:" +msgstr "" + - #: lib/blame.tcl:968 ++#: lib/blame.tcl:967 +msgid "Committer:" +msgstr "" + - #: lib/blame.tcl:973 ++#: lib/blame.tcl:972 +msgid "Original File:" +msgstr "" + - #: lib/blame.tcl:1021 ++#: lib/blame.tcl:1020 +msgid "Cannot find HEAD commit:" +msgstr "" + - #: lib/blame.tcl:1076 ++#: lib/blame.tcl:1075 +msgid "Cannot find parent commit:" +msgstr "" + - #: lib/blame.tcl:1091 ++#: lib/blame.tcl:1090 +msgid "Unable to display parent" +msgstr "" + - #: lib/blame.tcl:1092 lib/diff.tcl:297 ++#: lib/blame.tcl:1091 lib/diff.tcl:297 +msgid "Error loading diff:" +msgstr "" + - #: lib/blame.tcl:1232 ++#: lib/blame.tcl:1231 +msgid "Originally By:" +msgstr "" + - #: lib/blame.tcl:1238 ++#: lib/blame.tcl:1237 +msgid "In File:" +msgstr "" + - #: lib/blame.tcl:1243 ++#: lib/blame.tcl:1242 +msgid "Copied Or Moved Here By:" +msgstr "" + +#: lib/branch_checkout.tcl:14 lib/branch_checkout.tcl:19 +msgid "Checkout Branch" +msgstr "" + +#: lib/branch_checkout.tcl:23 +msgid "Checkout" +msgstr "" + +#: lib/branch_checkout.tcl:27 lib/branch_create.tcl:35 +#: lib/branch_delete.tcl:32 lib/branch_rename.tcl:30 lib/browser.tcl:282 +#: lib/checkout_op.tcl:544 lib/choose_font.tcl:43 lib/merge.tcl:172 +#: lib/option.tcl:125 lib/remote_add.tcl:32 lib/remote_branch_delete.tcl:42 +#: lib/tools_dlg.tcl:40 lib/tools_dlg.tcl:204 lib/tools_dlg.tcl:352 - #: lib/transport.tcl:97 ++#: lib/transport.tcl:108 +msgid "Cancel" +msgstr "" + +#: lib/branch_checkout.tcl:32 lib/browser.tcl:287 lib/tools_dlg.tcl:328 +msgid "Revision" +msgstr "" + +#: lib/branch_checkout.tcl:36 lib/branch_create.tcl:69 lib/option.tcl:280 +msgid "Options" +msgstr "" + +#: lib/branch_checkout.tcl:39 lib/branch_create.tcl:92 +msgid "Fetch Tracking Branch" +msgstr "" + +#: lib/branch_checkout.tcl:44 +msgid "Detach From Local Branch" +msgstr "" + +#: lib/branch_create.tcl:22 +msgid "Create Branch" +msgstr "" + +#: lib/branch_create.tcl:27 +msgid "Create New Branch" +msgstr "" + +#: lib/branch_create.tcl:31 lib/choose_repository.tcl:377 +msgid "Create" +msgstr "" + +#: lib/branch_create.tcl:40 +msgid "Branch Name" +msgstr "" + +#: lib/branch_create.tcl:43 lib/remote_add.tcl:39 lib/tools_dlg.tcl:50 +msgid "Name:" +msgstr "" + +#: lib/branch_create.tcl:58 +msgid "Match Tracking Branch Name" +msgstr "" + +#: lib/branch_create.tcl:66 +msgid "Starting Revision" +msgstr "" + +#: lib/branch_create.tcl:72 +msgid "Update Existing Branch:" +msgstr "" + +#: lib/branch_create.tcl:75 +msgid "No" +msgstr "" + +#: lib/branch_create.tcl:80 +msgid "Fast Forward Only" +msgstr "" + +#: lib/branch_create.tcl:85 lib/checkout_op.tcl:536 +msgid "Reset" +msgstr "" + +#: lib/branch_create.tcl:97 +msgid "Checkout After Creation" +msgstr "" + +#: lib/branch_create.tcl:131 +msgid "Please select a tracking branch." +msgstr "" + +#: lib/branch_create.tcl:140 +#, tcl-format +msgid "Tracking branch %s is not a branch in the remote repository." +msgstr "" + +#: lib/branch_create.tcl:153 lib/branch_rename.tcl:86 +msgid "Please supply a branch name." +msgstr "" + +#: lib/branch_create.tcl:164 lib/branch_rename.tcl:106 +#, tcl-format +msgid "'%s' is not an acceptable branch name." +msgstr "" + +#: lib/branch_delete.tcl:15 +msgid "Delete Branch" +msgstr "" + +#: lib/branch_delete.tcl:20 +msgid "Delete Local Branch" +msgstr "" + +#: lib/branch_delete.tcl:37 +msgid "Local Branches" +msgstr "" + +#: lib/branch_delete.tcl:52 +msgid "Delete Only If Merged Into" +msgstr "" + +#: lib/branch_delete.tcl:54 +msgid "Always (Do not perform merge test.)" +msgstr "" + +#: lib/branch_delete.tcl:103 +#, tcl-format +msgid "The following branches are not completely merged into %s:" +msgstr "" + +#: lib/branch_delete.tcl:115 +msgid "" +"Recovering deleted branches is difficult. \n" +"\n" +" Delete the selected branches?" +msgstr "" + +#: lib/branch_delete.tcl:141 +#, tcl-format +msgid "" +"Failed to delete branches:\n" +"%s" +msgstr "" + +#: lib/branch_rename.tcl:14 lib/branch_rename.tcl:22 +msgid "Rename Branch" +msgstr "" + +#: lib/branch_rename.tcl:26 +msgid "Rename" +msgstr "" + +#: lib/branch_rename.tcl:36 +msgid "Branch:" +msgstr "" + +#: lib/branch_rename.tcl:39 +msgid "New Name:" +msgstr "" + +#: lib/branch_rename.tcl:75 +msgid "Please select a branch to rename." +msgstr "" + +#: lib/branch_rename.tcl:96 lib/checkout_op.tcl:201 +#, tcl-format +msgid "Branch '%s' already exists." +msgstr "" + +#: lib/branch_rename.tcl:117 +#, tcl-format +msgid "Failed to rename '%s'." +msgstr "" + +#: lib/browser.tcl:17 +msgid "Starting..." +msgstr "" + +#: lib/browser.tcl:26 +msgid "File Browser" +msgstr "" + +#: lib/browser.tcl:126 lib/browser.tcl:143 +#, tcl-format +msgid "Loading %s..." +msgstr "" + +#: lib/browser.tcl:187 +msgid "[Up To Parent]" +msgstr "" + +#: lib/browser.tcl:267 lib/browser.tcl:273 +msgid "Browse Branch Files" +msgstr "" + +#: lib/browser.tcl:278 lib/choose_repository.tcl:394 +#: lib/choose_repository.tcl:480 lib/choose_repository.tcl:491 +#: lib/choose_repository.tcl:995 +msgid "Browse" +msgstr "" + +#: lib/checkout_op.tcl:84 +#, tcl-format +msgid "Fetching %s from %s" +msgstr "" + +#: lib/checkout_op.tcl:132 +#, tcl-format +msgid "fatal: Cannot resolve %s" +msgstr "" + +#: lib/checkout_op.tcl:145 lib/console.tcl:81 lib/database.tcl:31 +#: lib/sshkey.tcl:53 +msgid "Close" +msgstr "" + +#: lib/checkout_op.tcl:174 +#, tcl-format +msgid "Branch '%s' does not exist." +msgstr "" + +#: lib/checkout_op.tcl:193 +#, tcl-format +msgid "Failed to configure simplified git-pull for '%s'." +msgstr "" + +#: lib/checkout_op.tcl:228 +#, tcl-format +msgid "" +"Branch '%s' already exists.\n" +"\n" +"It cannot fast-forward to %s.\n" +"A merge is required." +msgstr "" + +#: lib/checkout_op.tcl:242 +#, tcl-format +msgid "Merge strategy '%s' not supported." +msgstr "" + +#: lib/checkout_op.tcl:261 +#, tcl-format +msgid "Failed to update '%s'." +msgstr "" + +#: lib/checkout_op.tcl:273 +msgid "Staging area (index) is already locked." +msgstr "" + +#: lib/checkout_op.tcl:288 +msgid "" +"Last scanned state does not match repository state.\n" +"\n" +"Another Git program has modified this repository since the last scan. A " +"rescan must be performed before the current branch can be changed.\n" +"\n" +"The rescan will be automatically started now.\n" +msgstr "" + +#: lib/checkout_op.tcl:344 +#, tcl-format +msgid "Updating working directory to '%s'..." +msgstr "" + +#: lib/checkout_op.tcl:345 +msgid "files checked out" +msgstr "" + +#: lib/checkout_op.tcl:375 +#, tcl-format +msgid "Aborted checkout of '%s' (file level merging is required)." +msgstr "" + +#: lib/checkout_op.tcl:376 +msgid "File level merge required." +msgstr "" + +#: lib/checkout_op.tcl:380 +#, tcl-format +msgid "Staying on branch '%s'." +msgstr "" + +#: lib/checkout_op.tcl:451 +msgid "" +"You are no longer on a local branch.\n" +"\n" +"If you wanted to be on a branch, create one now starting from 'This Detached " +"Checkout'." +msgstr "" + +#: lib/checkout_op.tcl:468 lib/checkout_op.tcl:472 +#, tcl-format +msgid "Checked out '%s'." +msgstr "" + +#: lib/checkout_op.tcl:500 +#, tcl-format +msgid "Resetting '%s' to '%s' will lose the following commits:" +msgstr "" + +#: lib/checkout_op.tcl:522 +msgid "Recovering lost commits may not be easy." +msgstr "" + +#: lib/checkout_op.tcl:527 +#, tcl-format +msgid "Reset '%s'?" +msgstr "" + +#: lib/checkout_op.tcl:532 lib/merge.tcl:164 lib/tools_dlg.tcl:343 +msgid "Visualize" +msgstr "" + +#: lib/checkout_op.tcl:600 +#, tcl-format +msgid "" +"Failed to set current branch.\n" +"\n" +"This working directory is only partially switched. We successfully updated " +"your files, but failed to update an internal Git file.\n" +"\n" +"This should not have occurred. %s will now close and give up." +msgstr "" + +#: lib/choose_font.tcl:39 +msgid "Select" +msgstr "" + +#: lib/choose_font.tcl:53 +msgid "Font Family" +msgstr "" + +#: lib/choose_font.tcl:74 +msgid "Font Size" +msgstr "" + +#: lib/choose_font.tcl:91 +msgid "Font Example" +msgstr "" + +#: lib/choose_font.tcl:103 +msgid "" +"This is example text.\n" +"If you like this text, it can be your font." +msgstr "" + +#: lib/choose_repository.tcl:28 +msgid "Git Gui" +msgstr "" + +#: lib/choose_repository.tcl:87 lib/choose_repository.tcl:382 +msgid "Create New Repository" +msgstr "" + +#: lib/choose_repository.tcl:93 +msgid "New..." +msgstr "" + +#: lib/choose_repository.tcl:100 lib/choose_repository.tcl:465 +msgid "Clone Existing Repository" +msgstr "" + +#: lib/choose_repository.tcl:106 +msgid "Clone..." +msgstr "" + +#: lib/choose_repository.tcl:113 lib/choose_repository.tcl:983 +msgid "Open Existing Repository" +msgstr "" + +#: lib/choose_repository.tcl:119 +msgid "Open..." +msgstr "" + +#: lib/choose_repository.tcl:132 +msgid "Recent Repositories" +msgstr "" + +#: lib/choose_repository.tcl:138 +msgid "Open Recent Repository:" +msgstr "" + +#: lib/choose_repository.tcl:302 lib/choose_repository.tcl:309 +#: lib/choose_repository.tcl:316 +#, tcl-format +msgid "Failed to create repository %s:" +msgstr "" + +#: lib/choose_repository.tcl:387 +msgid "Directory:" +msgstr "" + +#: lib/choose_repository.tcl:417 lib/choose_repository.tcl:544 +#: lib/choose_repository.tcl:1017 +msgid "Git Repository" +msgstr "" + +#: lib/choose_repository.tcl:442 +#, tcl-format +msgid "Directory %s already exists." +msgstr "" + +#: lib/choose_repository.tcl:446 +#, tcl-format +msgid "File %s already exists." +msgstr "" + +#: lib/choose_repository.tcl:460 +msgid "Clone" +msgstr "" + +#: lib/choose_repository.tcl:473 +msgid "Source Location:" +msgstr "" + +#: lib/choose_repository.tcl:484 +msgid "Target Directory:" +msgstr "" + +#: lib/choose_repository.tcl:496 +msgid "Clone Type:" +msgstr "" + +#: lib/choose_repository.tcl:502 +msgid "Standard (Fast, Semi-Redundant, Hardlinks)" +msgstr "" + +#: lib/choose_repository.tcl:508 +msgid "Full Copy (Slower, Redundant Backup)" +msgstr "" + +#: lib/choose_repository.tcl:514 +msgid "Shared (Fastest, Not Recommended, No Backup)" +msgstr "" + +#: lib/choose_repository.tcl:550 lib/choose_repository.tcl:597 +#: lib/choose_repository.tcl:743 lib/choose_repository.tcl:813 +#: lib/choose_repository.tcl:1023 lib/choose_repository.tcl:1031 +#, tcl-format +msgid "Not a Git repository: %s" +msgstr "" + +#: lib/choose_repository.tcl:586 +msgid "Standard only available for local repository." +msgstr "" + +#: lib/choose_repository.tcl:590 +msgid "Shared only available for local repository." +msgstr "" + +#: lib/choose_repository.tcl:611 +#, tcl-format +msgid "Location %s already exists." +msgstr "" + +#: lib/choose_repository.tcl:622 +msgid "Failed to configure origin" +msgstr "" + +#: lib/choose_repository.tcl:634 +msgid "Counting objects" +msgstr "" + +#: lib/choose_repository.tcl:635 +msgid "buckets" +msgstr "" + +#: lib/choose_repository.tcl:659 +#, tcl-format +msgid "Unable to copy objects/info/alternates: %s" +msgstr "" + +#: lib/choose_repository.tcl:695 +#, tcl-format +msgid "Nothing to clone from %s." +msgstr "" + +#: lib/choose_repository.tcl:697 lib/choose_repository.tcl:911 +#: lib/choose_repository.tcl:923 +msgid "The 'master' branch has not been initialized." +msgstr "" + +#: lib/choose_repository.tcl:710 +msgid "Hardlinks are unavailable. Falling back to copying." +msgstr "" + +#: lib/choose_repository.tcl:722 +#, tcl-format +msgid "Cloning from %s" +msgstr "" + +#: lib/choose_repository.tcl:753 +msgid "Copying objects" +msgstr "" + +#: lib/choose_repository.tcl:754 +msgid "KiB" +msgstr "" + +#: lib/choose_repository.tcl:778 +#, tcl-format +msgid "Unable to copy object: %s" +msgstr "" + +#: lib/choose_repository.tcl:788 +msgid "Linking objects" +msgstr "" + +#: lib/choose_repository.tcl:789 +msgid "objects" +msgstr "" + +#: lib/choose_repository.tcl:797 +#, tcl-format +msgid "Unable to hardlink object: %s" +msgstr "" + +#: lib/choose_repository.tcl:852 +msgid "Cannot fetch branches and objects. See console output for details." +msgstr "" + +#: lib/choose_repository.tcl:863 +msgid "Cannot fetch tags. See console output for details." +msgstr "" + +#: lib/choose_repository.tcl:887 +msgid "Cannot determine HEAD. See console output for details." +msgstr "" + +#: lib/choose_repository.tcl:896 +#, tcl-format +msgid "Unable to cleanup %s" +msgstr "" + +#: lib/choose_repository.tcl:902 +msgid "Clone failed." +msgstr "" + +#: lib/choose_repository.tcl:909 +msgid "No default branch obtained." +msgstr "" + +#: lib/choose_repository.tcl:920 +#, tcl-format +msgid "Cannot resolve %s as a commit." +msgstr "" + +#: lib/choose_repository.tcl:932 +msgid "Creating working directory" +msgstr "" + +#: lib/choose_repository.tcl:933 lib/index.tcl:65 lib/index.tcl:128 +#: lib/index.tcl:196 +msgid "files" +msgstr "" + +#: lib/choose_repository.tcl:962 +msgid "Initial file checkout failed." +msgstr "" + +#: lib/choose_repository.tcl:978 +msgid "Open" +msgstr "" + +#: lib/choose_repository.tcl:988 +msgid "Repository:" +msgstr "" + +#: lib/choose_repository.tcl:1037 +#, tcl-format +msgid "Failed to open repository %s:" +msgstr "" + +#: lib/choose_rev.tcl:53 +msgid "This Detached Checkout" +msgstr "" + +#: lib/choose_rev.tcl:60 +msgid "Revision Expression:" +msgstr "" + +#: lib/choose_rev.tcl:74 +msgid "Local Branch" +msgstr "" + +#: lib/choose_rev.tcl:79 +msgid "Tracking Branch" +msgstr "" + +#: lib/choose_rev.tcl:84 lib/choose_rev.tcl:538 +msgid "Tag" +msgstr "" + +#: lib/choose_rev.tcl:317 +#, tcl-format +msgid "Invalid revision: %s" +msgstr "" + +#: lib/choose_rev.tcl:338 +msgid "No revision selected." +msgstr "" + +#: lib/choose_rev.tcl:346 +msgid "Revision expression is empty." +msgstr "" + +#: lib/choose_rev.tcl:531 +msgid "Updated" +msgstr "" + +#: lib/choose_rev.tcl:559 +msgid "URL" +msgstr "" + +#: lib/commit.tcl:9 +msgid "" +"There is nothing to amend.\n" +"\n" +"You are about to create the initial commit. There is no commit before this " +"to amend.\n" +msgstr "" + +#: lib/commit.tcl:18 +msgid "" +"Cannot amend while merging.\n" +"\n" +"You are currently in the middle of a merge that has not been fully " +"completed. You cannot amend the prior commit unless you first abort the " +"current merge activity.\n" +msgstr "" + - #: lib/commit.tcl:49 ++#: lib/commit.tcl:48 +msgid "Error loading commit data for amend:" +msgstr "" + - #: lib/commit.tcl:76 ++#: lib/commit.tcl:75 +msgid "Unable to obtain your identity:" +msgstr "" + - #: lib/commit.tcl:81 ++#: lib/commit.tcl:80 +msgid "Invalid GIT_COMMITTER_IDENT:" +msgstr "" + - #: lib/commit.tcl:133 ++#: lib/commit.tcl:132 +msgid "" +"Last scanned state does not match repository state.\n" +"\n" +"Another Git program has modified this repository since the last scan. A " +"rescan must be performed before another commit can be created.\n" +"\n" +"The rescan will be automatically started now.\n" +msgstr "" + - #: lib/commit.tcl:156 ++#: lib/commit.tcl:155 +#, tcl-format +msgid "" +"Unmerged files cannot be committed.\n" +"\n" +"File %s has merge conflicts. You must resolve them and stage the file " +"before committing.\n" +msgstr "" + - #: lib/commit.tcl:164 ++#: lib/commit.tcl:163 +#, tcl-format +msgid "" +"Unknown file state %s detected.\n" +"\n" +"File %s cannot be committed by this program.\n" +msgstr "" + - #: lib/commit.tcl:172 ++#: lib/commit.tcl:171 +msgid "" +"No changes to commit.\n" +"\n" +"You must stage at least 1 file before you can commit.\n" +msgstr "" + - #: lib/commit.tcl:187 ++#: lib/commit.tcl:186 +msgid "" +"Please supply a commit message.\n" +"\n" +"A good commit message has the following format:\n" +"\n" +"- First line: Describe in one sentence what you did.\n" +"- Second line: Blank\n" +"- Remaining lines: Describe why this change is good.\n" +msgstr "" + - #: lib/commit.tcl:211 ++#: lib/commit.tcl:210 +#, tcl-format +msgid "warning: Tcl does not support encoding '%s'." +msgstr "" + - #: lib/commit.tcl:227 ++#: lib/commit.tcl:226 +msgid "Calling pre-commit hook..." +msgstr "" + - #: lib/commit.tcl:242 ++#: lib/commit.tcl:241 +msgid "Commit declined by pre-commit hook." +msgstr "" + - #: lib/commit.tcl:265 ++#: lib/commit.tcl:264 +msgid "Calling commit-msg hook..." +msgstr "" + - #: lib/commit.tcl:280 ++#: lib/commit.tcl:279 +msgid "Commit declined by commit-msg hook." +msgstr "" + - #: lib/commit.tcl:293 ++#: lib/commit.tcl:292 +msgid "Committing changes..." +msgstr "" + - #: lib/commit.tcl:309 ++#: lib/commit.tcl:308 +msgid "write-tree failed:" +msgstr "" + - #: lib/commit.tcl:310 lib/commit.tcl:354 lib/commit.tcl:374 ++#: lib/commit.tcl:309 lib/commit.tcl:353 lib/commit.tcl:373 +msgid "Commit failed." +msgstr "" + - #: lib/commit.tcl:327 ++#: lib/commit.tcl:326 +#, tcl-format +msgid "Commit %s appears to be corrupt" +msgstr "" + - #: lib/commit.tcl:332 ++#: lib/commit.tcl:331 +msgid "" +"No changes to commit.\n" +"\n" +"No files were modified by this commit and it was not a merge commit.\n" +"\n" +"A rescan will be automatically started now.\n" +msgstr "" + - #: lib/commit.tcl:339 ++#: lib/commit.tcl:338 +msgid "No changes to commit." +msgstr "" + - #: lib/commit.tcl:353 ++#: lib/commit.tcl:352 +msgid "commit-tree failed:" +msgstr "" + - #: lib/commit.tcl:373 ++#: lib/commit.tcl:372 +msgid "update-ref failed:" +msgstr "" + - #: lib/commit.tcl:461 ++#: lib/commit.tcl:460 +#, tcl-format +msgid "Created commit %s: %s" +msgstr "" + +#: lib/console.tcl:59 +msgid "Working... please wait..." +msgstr "" + +#: lib/console.tcl:186 +msgid "Success" +msgstr "" + +#: lib/console.tcl:200 +msgid "Error: Command Failed" +msgstr "" + +#: lib/database.tcl:43 +msgid "Number of loose objects" +msgstr "" + +#: lib/database.tcl:44 +msgid "Disk space used by loose objects" +msgstr "" + +#: lib/database.tcl:45 +msgid "Number of packed objects" +msgstr "" + +#: lib/database.tcl:46 +msgid "Number of packs" +msgstr "" + +#: lib/database.tcl:47 +msgid "Disk space used by packed objects" +msgstr "" + +#: lib/database.tcl:48 +msgid "Packed objects waiting for pruning" +msgstr "" + +#: lib/database.tcl:49 +msgid "Garbage files" +msgstr "" + +#: lib/database.tcl:72 +msgid "Compressing the object database" +msgstr "" + +#: lib/database.tcl:83 +msgid "Verifying the object database with fsck-objects" +msgstr "" + +#: lib/database.tcl:108 +#, tcl-format +msgid "" +"This repository currently has approximately %i loose objects.\n" +"\n" +"To maintain optimal performance it is strongly recommended that you compress " +"the database when more than %i loose objects exist.\n" +"\n" +"Compress the database now?" +msgstr "" + +#: lib/date.tcl:25 +#, tcl-format +msgid "Invalid date from Git: %s" +msgstr "" + +#: lib/diff.tcl:59 +#, tcl-format +msgid "" +"No differences detected.\n" +"\n" +"%s has no changes.\n" +"\n" +"The modification date of this file was updated by another application, but " +"the content within the file was not changed.\n" +"\n" +"A rescan will be automatically started to find other files which may have " +"the same state." +msgstr "" + +#: lib/diff.tcl:99 +#, tcl-format +msgid "Loading diff of %s..." +msgstr "" + +#: lib/diff.tcl:120 +msgid "" +"LOCAL: deleted\n" +"REMOTE:\n" +msgstr "" + +#: lib/diff.tcl:125 +msgid "" +"REMOTE: deleted\n" +"LOCAL:\n" +msgstr "" + +#: lib/diff.tcl:132 +msgid "LOCAL:\n" +msgstr "" + +#: lib/diff.tcl:135 +msgid "REMOTE:\n" +msgstr "" + +#: lib/diff.tcl:197 lib/diff.tcl:296 +#, tcl-format +msgid "Unable to display %s" +msgstr "" + +#: lib/diff.tcl:198 +msgid "Error loading file:" +msgstr "" + +#: lib/diff.tcl:205 +msgid "Git Repository (subproject)" +msgstr "" + +#: lib/diff.tcl:217 +msgid "* Binary file (not showing content)." +msgstr "" + +#: lib/diff.tcl:222 +#, tcl-format +msgid "" +"* Untracked file is %d bytes.\n" +"* Showing only first %d bytes.\n" +msgstr "" + +#: lib/diff.tcl:228 +#, tcl-format +msgid "" +"\n" +"* Untracked file clipped here by %s.\n" +"* To see the entire file, use an external editor.\n" +msgstr "" + +#: lib/diff.tcl:436 +msgid "Failed to unstage selected hunk." +msgstr "" + +#: lib/diff.tcl:443 +msgid "Failed to stage selected hunk." +msgstr "" + +#: lib/diff.tcl:509 +msgid "Failed to unstage selected line." +msgstr "" + +#: lib/diff.tcl:517 +msgid "Failed to stage selected line." +msgstr "" + +#: lib/encoding.tcl:443 +msgid "Default" +msgstr "" + +#: lib/encoding.tcl:448 +#, tcl-format +msgid "System (%s)" +msgstr "" + +#: lib/encoding.tcl:459 lib/encoding.tcl:465 +msgid "Other" +msgstr "" + +#: lib/error.tcl:20 lib/error.tcl:114 +msgid "error" +msgstr "" + +#: lib/error.tcl:36 +msgid "warning" +msgstr "" + +#: lib/error.tcl:94 +msgid "You must correct the above errors before committing." +msgstr "" + +#: lib/index.tcl:6 +msgid "Unable to unlock the index." +msgstr "" + +#: lib/index.tcl:15 +msgid "Index Error" +msgstr "" + +#: lib/index.tcl:21 +msgid "" +"Updating the Git index failed. A rescan will be automatically started to " +"resynchronize git-gui." +msgstr "" + +#: lib/index.tcl:27 +msgid "Continue" +msgstr "" + +#: lib/index.tcl:31 +msgid "Unlock Index" +msgstr "" + +#: lib/index.tcl:287 +#, tcl-format +msgid "Unstaging %s from commit" +msgstr "" + +#: lib/index.tcl:326 +msgid "Ready to commit." +msgstr "" + +#: lib/index.tcl:339 +#, tcl-format +msgid "Adding %s" +msgstr "" + +#: lib/index.tcl:396 +#, tcl-format +msgid "Revert changes in file %s?" +msgstr "" + +#: lib/index.tcl:398 +#, tcl-format +msgid "Revert changes in these %i files?" +msgstr "" + +#: lib/index.tcl:406 +msgid "Any unstaged changes will be permanently lost by the revert." +msgstr "" + +#: lib/index.tcl:409 +msgid "Do Nothing" +msgstr "" + +#: lib/index.tcl:427 +msgid "Reverting selected files" +msgstr "" + +#: lib/index.tcl:431 +#, tcl-format +msgid "Reverting %s" +msgstr "" + +#: lib/merge.tcl:13 +msgid "" +"Cannot merge while amending.\n" +"\n" +"You must finish amending this commit before starting any type of merge.\n" +msgstr "" + +#: lib/merge.tcl:27 +msgid "" +"Last scanned state does not match repository state.\n" +"\n" +"Another Git program has modified this repository since the last scan. A " +"rescan must be performed before a merge can be performed.\n" +"\n" +"The rescan will be automatically started now.\n" +msgstr "" + +#: lib/merge.tcl:45 +#, tcl-format +msgid "" +"You are in the middle of a conflicted merge.\n" +"\n" +"File %s has merge conflicts.\n" +"\n" +"You must resolve them, stage the file, and commit to complete the current " +"merge. Only then can you begin another merge.\n" +msgstr "" + +#: lib/merge.tcl:55 +#, tcl-format +msgid "" +"You are in the middle of a change.\n" +"\n" +"File %s is modified.\n" +"\n" +"You should complete the current commit before starting a merge. Doing so " +"will help you abort a failed merge, should the need arise.\n" +msgstr "" + +#: lib/merge.tcl:107 +#, tcl-format +msgid "%s of %s" +msgstr "" + +#: lib/merge.tcl:120 +#, tcl-format +msgid "Merging %s and %s..." +msgstr "" + +#: lib/merge.tcl:131 +msgid "Merge completed successfully." +msgstr "" + +#: lib/merge.tcl:133 +msgid "Merge failed. Conflict resolution is required." +msgstr "" + +#: lib/merge.tcl:158 +#, tcl-format +msgid "Merge Into %s" +msgstr "" + +#: lib/merge.tcl:177 +msgid "Revision To Merge" +msgstr "" + +#: lib/merge.tcl:212 +msgid "" +"Cannot abort while amending.\n" +"\n" +"You must finish amending this commit.\n" +msgstr "" + +#: lib/merge.tcl:222 +msgid "" +"Abort merge?\n" +"\n" +"Aborting the current merge will cause *ALL* uncommitted changes to be lost.\n" +"\n" +"Continue with aborting the current merge?" +msgstr "" + +#: lib/merge.tcl:228 +msgid "" +"Reset changes?\n" +"\n" +"Resetting the changes will cause *ALL* uncommitted changes to be lost.\n" +"\n" +"Continue with resetting the current changes?" +msgstr "" + +#: lib/merge.tcl:239 +msgid "Aborting" +msgstr "" + +#: lib/merge.tcl:239 +msgid "files reset" +msgstr "" + +#: lib/merge.tcl:267 +msgid "Abort failed." +msgstr "" + +#: lib/merge.tcl:269 +msgid "Abort completed. Ready." +msgstr "" + +#: lib/mergetool.tcl:8 +msgid "Force resolution to the base version?" +msgstr "" + +#: lib/mergetool.tcl:9 +msgid "Force resolution to this branch?" +msgstr "" + +#: lib/mergetool.tcl:10 +msgid "Force resolution to the other branch?" +msgstr "" + +#: lib/mergetool.tcl:14 +#, tcl-format +msgid "" +"Note that the diff shows only conflicting changes.\n" +"\n" +"%s will be overwritten.\n" +"\n" +"This operation can be undone only by restarting the merge." +msgstr "" + +#: lib/mergetool.tcl:45 +#, tcl-format +msgid "File %s seems to have unresolved conflicts, still stage?" +msgstr "" + +#: lib/mergetool.tcl:60 +#, tcl-format +msgid "Adding resolution for %s" +msgstr "" + +#: lib/mergetool.tcl:141 +msgid "Cannot resolve deletion or link conflicts using a tool" +msgstr "" + +#: lib/mergetool.tcl:146 +msgid "Conflict file does not exist" +msgstr "" + +#: lib/mergetool.tcl:264 +#, tcl-format +msgid "Not a GUI merge tool: '%s'" +msgstr "" + +#: lib/mergetool.tcl:268 +#, tcl-format +msgid "Unsupported merge tool '%s'" +msgstr "" + +#: lib/mergetool.tcl:303 +msgid "Merge tool is already running, terminate it?" +msgstr "" + +#: lib/mergetool.tcl:323 +#, tcl-format +msgid "" +"Error retrieving versions:\n" +"%s" +msgstr "" + +#: lib/mergetool.tcl:343 +#, tcl-format +msgid "" +"Could not start the merge tool:\n" +"\n" +"%s" +msgstr "" + +#: lib/mergetool.tcl:347 +msgid "Running merge tool..." +msgstr "" + +#: lib/mergetool.tcl:375 lib/mergetool.tcl:383 +msgid "Merge tool failed." +msgstr "" + +#: lib/option.tcl:11 +#, tcl-format +msgid "Invalid global encoding '%s'" +msgstr "" + +#: lib/option.tcl:19 +#, tcl-format +msgid "Invalid repo encoding '%s'" +msgstr "" + +#: lib/option.tcl:117 +msgid "Restore Defaults" +msgstr "" + +#: lib/option.tcl:121 +msgid "Save" +msgstr "" + +#: lib/option.tcl:131 +#, tcl-format +msgid "%s Repository" +msgstr "" + +#: lib/option.tcl:132 +msgid "Global (All Repositories)" +msgstr "" + +#: lib/option.tcl:138 +msgid "User Name" +msgstr "" + +#: lib/option.tcl:139 +msgid "Email Address" +msgstr "" + +#: lib/option.tcl:141 +msgid "Summarize Merge Commits" +msgstr "" + +#: lib/option.tcl:142 +msgid "Merge Verbosity" +msgstr "" + +#: lib/option.tcl:143 +msgid "Show Diffstat After Merge" +msgstr "" + +#: lib/option.tcl:144 +msgid "Use Merge Tool" +msgstr "" + +#: lib/option.tcl:146 +msgid "Trust File Modification Timestamps" +msgstr "" + +#: lib/option.tcl:147 +msgid "Prune Tracking Branches During Fetch" +msgstr "" + +#: lib/option.tcl:148 +msgid "Match Tracking Branches" +msgstr "" + +#: lib/option.tcl:149 +msgid "Blame Copy Only On Changed Files" +msgstr "" + +#: lib/option.tcl:150 +msgid "Minimum Letters To Blame Copy On" +msgstr "" + +#: lib/option.tcl:151 +msgid "Blame History Context Radius (days)" +msgstr "" + +#: lib/option.tcl:152 +msgid "Number of Diff Context Lines" +msgstr "" + +#: lib/option.tcl:153 +msgid "Commit Message Text Width" +msgstr "" + +#: lib/option.tcl:154 +msgid "New Branch Name Template" +msgstr "" + +#: lib/option.tcl:155 +msgid "Default File Contents Encoding" +msgstr "" + +#: lib/option.tcl:203 +msgid "Change" +msgstr "" + +#: lib/option.tcl:230 +msgid "Spelling Dictionary:" +msgstr "" + +#: lib/option.tcl:254 +msgid "Change Font" +msgstr "" + +#: lib/option.tcl:258 +#, tcl-format +msgid "Choose %s" +msgstr "" + +#: lib/option.tcl:264 +msgid "pt." +msgstr "" + +#: lib/option.tcl:278 +msgid "Preferences" +msgstr "" + +#: lib/option.tcl:314 +msgid "Failed to completely save options:" +msgstr "" + +#: lib/remote.tcl:163 +msgid "Remove Remote" +msgstr "" + +#: lib/remote.tcl:168 +msgid "Prune from" +msgstr "" + +#: lib/remote.tcl:173 +msgid "Fetch from" +msgstr "" + +#: lib/remote.tcl:215 +msgid "Push to" +msgstr "" + +#: lib/remote_add.tcl:19 +msgid "Add Remote" +msgstr "" + +#: lib/remote_add.tcl:24 +msgid "Add New Remote" +msgstr "" + +#: lib/remote_add.tcl:28 lib/tools_dlg.tcl:36 +msgid "Add" +msgstr "" + +#: lib/remote_add.tcl:37 +msgid "Remote Details" +msgstr "" + +#: lib/remote_add.tcl:50 +msgid "Location:" +msgstr "" + +#: lib/remote_add.tcl:62 +msgid "Further Action" +msgstr "" + +#: lib/remote_add.tcl:65 +msgid "Fetch Immediately" +msgstr "" + +#: lib/remote_add.tcl:71 +msgid "Initialize Remote Repository and Push" +msgstr "" + +#: lib/remote_add.tcl:77 +msgid "Do Nothing Else Now" +msgstr "" + +#: lib/remote_add.tcl:101 +msgid "Please supply a remote name." +msgstr "" + +#: lib/remote_add.tcl:114 +#, tcl-format +msgid "'%s' is not an acceptable remote name." +msgstr "" + +#: lib/remote_add.tcl:125 +#, tcl-format +msgid "Failed to add remote '%s' of location '%s'." +msgstr "" + +#: lib/remote_add.tcl:133 lib/transport.tcl:6 +#, tcl-format +msgid "fetch %s" +msgstr "" + +#: lib/remote_add.tcl:134 +#, tcl-format +msgid "Fetching the %s" +msgstr "" + +#: lib/remote_add.tcl:157 +#, tcl-format +msgid "Do not know how to initialize repository at location '%s'." +msgstr "" + - #: lib/remote_add.tcl:163 lib/transport.tcl:25 lib/transport.tcl:71 ++#: lib/remote_add.tcl:163 lib/transport.tcl:25 lib/transport.tcl:63 ++#: lib/transport.tcl:81 +#, tcl-format +msgid "push %s" +msgstr "" + +#: lib/remote_add.tcl:164 +#, tcl-format +msgid "Setting up the %s (at %s)" +msgstr "" + +#: lib/remote_branch_delete.tcl:29 lib/remote_branch_delete.tcl:34 +msgid "Delete Branch Remotely" +msgstr "" + +#: lib/remote_branch_delete.tcl:47 +msgid "From Repository" +msgstr "" + - #: lib/remote_branch_delete.tcl:50 lib/transport.tcl:123 ++#: lib/remote_branch_delete.tcl:50 lib/transport.tcl:134 +msgid "Remote:" +msgstr "" + - #: lib/remote_branch_delete.tcl:66 lib/transport.tcl:138 ++#: lib/remote_branch_delete.tcl:66 lib/transport.tcl:149 +msgid "Arbitrary Location:" +msgstr "" + +#: lib/remote_branch_delete.tcl:84 +msgid "Branches" +msgstr "" + +#: lib/remote_branch_delete.tcl:109 +msgid "Delete Only If" +msgstr "" + +#: lib/remote_branch_delete.tcl:111 +msgid "Merged Into:" +msgstr "" + +#: lib/remote_branch_delete.tcl:119 +msgid "Always (Do not perform merge checks)" +msgstr "" + +#: lib/remote_branch_delete.tcl:152 +msgid "A branch is required for 'Merged Into'." +msgstr "" + +#: lib/remote_branch_delete.tcl:184 +#, tcl-format +msgid "" +"The following branches are not completely merged into %s:\n" +"\n" +" - %s" +msgstr "" + +#: lib/remote_branch_delete.tcl:189 +#, tcl-format +msgid "" +"One or more of the merge tests failed because you have not fetched the " +"necessary commits. Try fetching from %s first." +msgstr "" + +#: lib/remote_branch_delete.tcl:207 +msgid "Please select one or more branches to delete." +msgstr "" + +#: lib/remote_branch_delete.tcl:216 +msgid "" +"Recovering deleted branches is difficult.\n" +"\n" +"Delete the selected branches?" +msgstr "" + +#: lib/remote_branch_delete.tcl:226 +#, tcl-format +msgid "Deleting branches from %s" +msgstr "" + +#: lib/remote_branch_delete.tcl:286 +msgid "No repository selected." +msgstr "" + +#: lib/remote_branch_delete.tcl:291 +#, tcl-format +msgid "Scanning %s..." +msgstr "" + +#: lib/search.tcl:21 +msgid "Find:" +msgstr "" + +#: lib/search.tcl:23 +msgid "Next" +msgstr "" + +#: lib/search.tcl:24 +msgid "Prev" +msgstr "" + +#: lib/search.tcl:25 +msgid "Case-Sensitive" +msgstr "" + +#: lib/shortcut.tcl:20 lib/shortcut.tcl:61 +msgid "Cannot write shortcut:" +msgstr "" + +#: lib/shortcut.tcl:136 +msgid "Cannot write icon:" +msgstr "" + +#: lib/spellcheck.tcl:57 +msgid "Unsupported spell checker" +msgstr "" + +#: lib/spellcheck.tcl:65 +msgid "Spell checking is unavailable" +msgstr "" + +#: lib/spellcheck.tcl:68 +msgid "Invalid spell checking configuration" +msgstr "" + +#: lib/spellcheck.tcl:70 +#, tcl-format +msgid "Reverting dictionary to %s." +msgstr "" + +#: lib/spellcheck.tcl:73 +msgid "Spell checker silently failed on startup" +msgstr "" + +#: lib/spellcheck.tcl:80 +msgid "Unrecognized spell checker" +msgstr "" + +#: lib/spellcheck.tcl:186 +msgid "No Suggestions" +msgstr "" + +#: lib/spellcheck.tcl:388 +msgid "Unexpected EOF from spell checker" +msgstr "" + +#: lib/spellcheck.tcl:392 +msgid "Spell Checker Failed" +msgstr "" + +#: lib/sshkey.tcl:31 +msgid "No keys found." +msgstr "" + +#: lib/sshkey.tcl:34 +#, tcl-format +msgid "Found a public key in: %s" +msgstr "" + +#: lib/sshkey.tcl:40 +msgid "Generate Key" +msgstr "" + +#: lib/sshkey.tcl:56 +msgid "Copy To Clipboard" +msgstr "" + +#: lib/sshkey.tcl:70 +msgid "Your OpenSSH Public Key" +msgstr "" + +#: lib/sshkey.tcl:78 +msgid "Generating..." +msgstr "" + +#: lib/sshkey.tcl:84 +#, tcl-format +msgid "" +"Could not start ssh-keygen:\n" +"\n" +"%s" +msgstr "" + +#: lib/sshkey.tcl:111 +msgid "Generation failed." +msgstr "" + +#: lib/sshkey.tcl:118 +msgid "Generation succeded, but no keys found." +msgstr "" + +#: lib/sshkey.tcl:121 +#, tcl-format +msgid "Your key is in: %s" +msgstr "" + +#: lib/status_bar.tcl:83 +#, tcl-format +msgid "%s ... %*i of %*i %s (%3i%%)" +msgstr "" + +#: lib/tools.tcl:75 +#, tcl-format +msgid "Running %s requires a selected file." +msgstr "" + +#: lib/tools.tcl:90 +#, tcl-format +msgid "Are you sure you want to run %s?" +msgstr "" + +#: lib/tools.tcl:110 +#, tcl-format +msgid "Tool: %s" +msgstr "" + +#: lib/tools.tcl:111 +#, tcl-format +msgid "Running: %s" +msgstr "" + +#: lib/tools.tcl:149 +#, tcl-format +msgid "Tool completed succesfully: %s" +msgstr "" + +#: lib/tools.tcl:151 +#, tcl-format +msgid "Tool failed: %s" +msgstr "" + +#: lib/tools_dlg.tcl:22 +msgid "Add Tool" +msgstr "" + +#: lib/tools_dlg.tcl:28 +msgid "Add New Tool Command" +msgstr "" + +#: lib/tools_dlg.tcl:33 +msgid "Add globally" +msgstr "" + +#: lib/tools_dlg.tcl:45 +msgid "Tool Details" +msgstr "" + +#: lib/tools_dlg.tcl:48 +msgid "Use '/' separators to create a submenu tree:" +msgstr "" + +#: lib/tools_dlg.tcl:61 +msgid "Command:" +msgstr "" + +#: lib/tools_dlg.tcl:74 +msgid "Show a dialog before running" +msgstr "" + +#: lib/tools_dlg.tcl:80 +msgid "Ask the user to select a revision (sets $REVISION)" +msgstr "" + +#: lib/tools_dlg.tcl:85 +msgid "Ask the user for additional arguments (sets $ARGS)" +msgstr "" + +#: lib/tools_dlg.tcl:92 +msgid "Don't show the command output window" +msgstr "" + +#: lib/tools_dlg.tcl:97 +msgid "Run only if a diff is selected ($FILENAME not empty)" +msgstr "" + +#: lib/tools_dlg.tcl:121 +msgid "Please supply a name for the tool." +msgstr "" + +#: lib/tools_dlg.tcl:129 +#, tcl-format +msgid "Tool '%s' already exists." +msgstr "" + +#: lib/tools_dlg.tcl:151 +#, tcl-format +msgid "" +"Could not add tool:\n" +"%s" +msgstr "" + +#: lib/tools_dlg.tcl:190 +msgid "Remove Tool" +msgstr "" + +#: lib/tools_dlg.tcl:196 +msgid "Remove Tool Commands" +msgstr "" + +#: lib/tools_dlg.tcl:200 +msgid "Remove" +msgstr "" + +#: lib/tools_dlg.tcl:236 +msgid "(Blue denotes repository-local tools)" +msgstr "" + +#: lib/tools_dlg.tcl:297 +#, tcl-format +msgid "Run Command: %s" +msgstr "" + +#: lib/tools_dlg.tcl:311 +msgid "Arguments" +msgstr "" + +#: lib/tools_dlg.tcl:348 +msgid "OK" +msgstr "" + +#: lib/transport.tcl:7 +#, tcl-format +msgid "Fetching new changes from %s" +msgstr "" + +#: lib/transport.tcl:18 +#, tcl-format +msgid "remote prune %s" +msgstr "" + +#: lib/transport.tcl:19 +#, tcl-format +msgid "Pruning tracking branches deleted from %s" +msgstr "" + +#: lib/transport.tcl:26 +#, tcl-format +msgid "Pushing changes to %s" +msgstr "" + - #: lib/transport.tcl:72 ++#: lib/transport.tcl:64 ++#, tcl-format ++msgid "Mirroring to %s" ++msgstr "" ++ ++#: lib/transport.tcl:82 +#, tcl-format +msgid "Pushing %s %s to %s" +msgstr "" + - #: lib/transport.tcl:89 ++#: lib/transport.tcl:100 +msgid "Push Branches" +msgstr "" + - #: lib/transport.tcl:103 ++#: lib/transport.tcl:114 +msgid "Source Branches" +msgstr "" + - #: lib/transport.tcl:120 ++#: lib/transport.tcl:131 +msgid "Destination Repository" +msgstr "" + - #: lib/transport.tcl:158 ++#: lib/transport.tcl:169 +msgid "Transfer Options" +msgstr "" + - #: lib/transport.tcl:160 ++#: lib/transport.tcl:171 +msgid "Force overwrite existing branch (may discard changes)" +msgstr "" + - #: lib/transport.tcl:164 ++#: lib/transport.tcl:175 +msgid "Use thin pack (for slow network connections)" +msgstr "" + - #: lib/transport.tcl:168 ++#: lib/transport.tcl:179 +msgid "Include tags" +msgstr "" diff --cc git-gui/po/hu.po index 8ec43392d,000000000..f761b6415 mode 100644,000000..100644 --- a/git-gui/po/hu.po +++ b/git-gui/po/hu.po @@@ -1,2606 -1,0 +1,2612 @@@ +# Hungarian translations for git-gui-i package. +# Copyright (C) 2007 THE git-gui-i'S COPYRIGHT HOLDER +# This file is distributed under the same license as the git-gui-i package. +# Miklos Vajna , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: git-gui-i 18n\n" +"Report-Msgid-Bugs-To: \n" - "POT-Creation-Date: 2008-11-16 13:56-0800\n" - "PO-Revision-Date: 2008-11-17 23:03+0100\n" ++"POT-Creation-Date: 2008-12-08 08:31-0800\n" ++"PO-Revision-Date: 2008-12-10 15:00+0100\n" +"Last-Translator: Miklos Vajna \n" +"Language-Team: Hungarian\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" + +#: git-gui.sh:41 git-gui.sh:737 git-gui.sh:751 git-gui.sh:764 git-gui.sh:847 +#: git-gui.sh:866 +msgid "git-gui: fatal error" +msgstr "git-gui: végzetes hiba" + +#: git-gui.sh:689 +#, tcl-format +msgid "Invalid font specified in %s:" +msgstr "Érvénytelen font lett megadva itt: %s:" + +#: git-gui.sh:723 +msgid "Main Font" +msgstr "Fő betűtípus" + +#: git-gui.sh:724 +msgid "Diff/Console Font" +msgstr "Diff/konzol betűtípus" + +#: git-gui.sh:738 +msgid "Cannot find git in PATH." +msgstr "A git nem található a PATH-ban." + +#: git-gui.sh:765 +msgid "Cannot parse Git version string:" +msgstr "Nem értelmezhető a Git verzió sztring:" + +#: git-gui.sh:783 +#, tcl-format +msgid "" +"Git version cannot be determined.\n" +"\n" +"%s claims it is version '%s'.\n" +"\n" +"%s requires at least Git 1.5.0 or later.\n" +"\n" +"Assume '%s' is version 1.5.0?\n" +msgstr "" +"Nem állípítható meg a Git verziója.\n" +"\n" +"A(z) %s szerint a verzió '%s'.\n" +"\n" +"A(z) %s a Git 1.5.0 vagy későbbi verzióját igényli.\n" +"\n" +"Feltételezhetjük, hogy a(z) '%s' verziója legalább 1.5.0?\n" + +#: git-gui.sh:1062 +msgid "Git directory not found:" +msgstr "A Git könyvtár nem található:" + +#: git-gui.sh:1069 +msgid "Cannot move to top of working directory:" +msgstr "Nem lehet a munkakönyvtár tetejére lépni:" + +#: git-gui.sh:1076 +msgid "Cannot use funny .git directory:" +msgstr "Nem használható vicces .git könyvtár:" + +#: git-gui.sh:1081 +msgid "No working directory" +msgstr "Nincs munkakönyvtár" + +#: git-gui.sh:1247 lib/checkout_op.tcl:305 +msgid "Refreshing file status..." +msgstr "A fájlok státuszának frissítése..." + +#: git-gui.sh:1303 +msgid "Scanning for modified files ..." +msgstr "Módosított fájlok keresése ..." + +#: git-gui.sh:1367 +msgid "Calling prepare-commit-msg hook..." +msgstr "A prepare-commit-msg hurok meghívása..." + +#: git-gui.sh:1384 +msgid "Commit declined by prepare-commit-msg hook." +msgstr "A commitot megakadályozta a prepare-commit-msg hurok." + +#: git-gui.sh:1542 lib/browser.tcl:246 +msgid "Ready." +msgstr "Kész." + +#: git-gui.sh:1819 +msgid "Unmodified" +msgstr "Nem módosított" + +#: git-gui.sh:1821 +msgid "Modified, not staged" +msgstr "Módosított, de nem kiválasztott" + +#: git-gui.sh:1822 git-gui.sh:1830 +msgid "Staged for commit" +msgstr "Kiválasztva commitolásra" + +#: git-gui.sh:1823 git-gui.sh:1831 +msgid "Portions staged for commit" +msgstr "Részek kiválasztva commitolásra" + +#: git-gui.sh:1824 git-gui.sh:1832 +msgid "Staged for commit, missing" +msgstr "Kiválasztva commitolásra, hiányzó" + +#: git-gui.sh:1826 +msgid "File type changed, not staged" +msgstr "Fájl típus megváltozott, nem kiválasztott" + +#: git-gui.sh:1827 +msgid "File type changed, staged" +msgstr "A fájltípus megváltozott, kiválasztott" + +#: git-gui.sh:1829 +msgid "Untracked, not staged" +msgstr "Nem követett, nem kiválasztott" + +#: git-gui.sh:1834 +msgid "Missing" +msgstr "Hiányzó" + +#: git-gui.sh:1835 +msgid "Staged for removal" +msgstr "Kiválasztva eltávolításra" + +#: git-gui.sh:1836 +msgid "Staged for removal, still present" +msgstr "Kiválasztva eltávolításra, jelenleg is elérhető" + +#: git-gui.sh:1838 git-gui.sh:1839 git-gui.sh:1840 git-gui.sh:1841 +#: git-gui.sh:1842 git-gui.sh:1843 +msgid "Requires merge resolution" +msgstr "Merge feloldás szükséges" + +#: git-gui.sh:1878 +msgid "Starting gitk... please wait..." +msgstr "A gitk indítása... várjunk..." + +#: git-gui.sh:1887 +msgid "Couldn't find gitk in PATH" +msgstr "A gitk nem található a PATH-ban." + +#: git-gui.sh:2280 lib/choose_repository.tcl:36 +msgid "Repository" +msgstr "Repó" + +#: git-gui.sh:2281 +msgid "Edit" +msgstr "Szerkesztés" + +#: git-gui.sh:2283 lib/choose_rev.tcl:561 +msgid "Branch" +msgstr "Branch" + +#: git-gui.sh:2286 lib/choose_rev.tcl:548 +msgid "Commit@@noun" +msgstr "Commit@@főnév" + +#: git-gui.sh:2289 lib/merge.tcl:121 lib/merge.tcl:150 lib/merge.tcl:168 +msgid "Merge" +msgstr "Merge" + +#: git-gui.sh:2290 lib/choose_rev.tcl:557 +msgid "Remote" +msgstr "Távoli" + +#: git-gui.sh:2293 +msgid "Tools" +msgstr "Eszközök" + +#: git-gui.sh:2302 +msgid "Explore Working Copy" +msgstr "Munkamásolat felfedezése" + +#: git-gui.sh:2307 +msgid "Browse Current Branch's Files" +msgstr "A jelenlegi branch fájljainak böngészése" + +#: git-gui.sh:2311 +msgid "Browse Branch Files..." +msgstr "A branch fájljainak böngészése..." + +#: git-gui.sh:2316 +msgid "Visualize Current Branch's History" +msgstr "A jelenlegi branch történetének vizualizálása" + +#: git-gui.sh:2320 +msgid "Visualize All Branch History" +msgstr "Az összes branch történetének vizualizálása" + +#: git-gui.sh:2327 +#, tcl-format +msgid "Browse %s's Files" +msgstr "A(z) %s branch fájljainak böngészése" + +#: git-gui.sh:2329 +#, tcl-format +msgid "Visualize %s's History" +msgstr "A(z) %s branch történetének vizualizálása" + +#: git-gui.sh:2334 lib/database.tcl:27 lib/database.tcl:67 +msgid "Database Statistics" +msgstr "Adatbázis statisztikák" + +#: git-gui.sh:2337 lib/database.tcl:34 +msgid "Compress Database" +msgstr "Adatbázis tömörítése" + +#: git-gui.sh:2340 +msgid "Verify Database" +msgstr "Adatbázis ellenőrzése" + +#: git-gui.sh:2347 git-gui.sh:2351 git-gui.sh:2355 lib/shortcut.tcl:7 +#: lib/shortcut.tcl:39 lib/shortcut.tcl:71 +msgid "Create Desktop Icon" +msgstr "Asztal ikon létrehozása" + +#: git-gui.sh:2363 lib/choose_repository.tcl:183 lib/choose_repository.tcl:191 +msgid "Quit" +msgstr "Kilépés" + +#: git-gui.sh:2371 +msgid "Undo" +msgstr "Visszavonás" + +#: git-gui.sh:2374 +msgid "Redo" +msgstr "Mégis" + - #: git-gui.sh:2378 git-gui.sh:2923 ++#: git-gui.sh:2378 git-gui.sh:2937 +msgid "Cut" +msgstr "Kivágás" + - #: git-gui.sh:2381 git-gui.sh:2926 git-gui.sh:3000 git-gui.sh:3082 ++#: git-gui.sh:2381 git-gui.sh:2940 git-gui.sh:3014 git-gui.sh:3096 +#: lib/console.tcl:69 +msgid "Copy" +msgstr "Másolás" + - #: git-gui.sh:2384 git-gui.sh:2929 ++#: git-gui.sh:2384 git-gui.sh:2943 +msgid "Paste" +msgstr "Beillesztés" + - #: git-gui.sh:2387 git-gui.sh:2932 lib/branch_delete.tcl:26 ++#: git-gui.sh:2387 git-gui.sh:2946 lib/branch_delete.tcl:26 +#: lib/remote_branch_delete.tcl:38 +msgid "Delete" +msgstr "Törlés" + - #: git-gui.sh:2391 git-gui.sh:2936 git-gui.sh:3086 lib/console.tcl:71 ++#: git-gui.sh:2391 git-gui.sh:2950 git-gui.sh:3100 lib/console.tcl:71 +msgid "Select All" +msgstr "Mindent kiválaszt" + +#: git-gui.sh:2400 +msgid "Create..." +msgstr "Létrehozás..." + +#: git-gui.sh:2406 +msgid "Checkout..." +msgstr "Checkout..." + +#: git-gui.sh:2412 +msgid "Rename..." +msgstr "Átnevezés..." + +#: git-gui.sh:2417 +msgid "Delete..." +msgstr "Törlés..." + +#: git-gui.sh:2422 +msgid "Reset..." +msgstr "Visszaállítás..." + +#: git-gui.sh:2432 +msgid "Done" +msgstr "Kész" + +#: git-gui.sh:2434 +msgid "Commit@@verb" +msgstr "Commit@@ige" + - #: git-gui.sh:2443 git-gui.sh:2864 ++#: git-gui.sh:2443 git-gui.sh:2878 +msgid "New Commit" +msgstr "Új commit" + - #: git-gui.sh:2451 git-gui.sh:2871 ++#: git-gui.sh:2451 git-gui.sh:2885 +msgid "Amend Last Commit" +msgstr "Utolsó commit javítása" + - #: git-gui.sh:2461 git-gui.sh:2825 lib/remote_branch_delete.tcl:99 ++#: git-gui.sh:2461 git-gui.sh:2839 lib/remote_branch_delete.tcl:99 +msgid "Rescan" +msgstr "Keresés újra" + +#: git-gui.sh:2467 +msgid "Stage To Commit" +msgstr "Kiválasztás commitolásra" + +#: git-gui.sh:2473 +msgid "Stage Changed Files To Commit" +msgstr "Módosított fájlok kiválasztása commitolásra" + +#: git-gui.sh:2479 +msgid "Unstage From Commit" +msgstr "Commitba való kiválasztás visszavonása" + +#: git-gui.sh:2484 lib/index.tcl:410 +msgid "Revert Changes" +msgstr "Változtatások visszaállítása" + - #: git-gui.sh:2491 git-gui.sh:3069 ++#: git-gui.sh:2491 git-gui.sh:3083 +msgid "Show Less Context" +msgstr "Kevesebb környezet mutatása" + - #: git-gui.sh:2495 git-gui.sh:3073 ++#: git-gui.sh:2495 git-gui.sh:3087 +msgid "Show More Context" +msgstr "Több környezet mutatása" + - #: git-gui.sh:2502 git-gui.sh:2838 git-gui.sh:2947 ++#: git-gui.sh:2502 git-gui.sh:2852 git-gui.sh:2961 +msgid "Sign Off" +msgstr "Aláír" + +#: git-gui.sh:2518 +msgid "Local Merge..." +msgstr "Helyi merge..." + +#: git-gui.sh:2523 +msgid "Abort Merge..." +msgstr "Merge megszakítása..." + +#: git-gui.sh:2535 git-gui.sh:2575 +msgid "Add..." +msgstr "Hozzáadás..." + +#: git-gui.sh:2539 +msgid "Push..." +msgstr "Push..." + +#: git-gui.sh:2543 +msgid "Delete Branch..." +msgstr "Branch törlése..." + +#: git-gui.sh:2553 git-gui.sh:2589 lib/about.tcl:14 +#: lib/choose_repository.tcl:44 lib/choose_repository.tcl:53 +#, tcl-format +msgid "About %s" +msgstr "Névjegy: %s" + +#: git-gui.sh:2557 +msgid "Preferences..." +msgstr "Beállítások..." + - #: git-gui.sh:2565 git-gui.sh:3115 ++#: git-gui.sh:2565 git-gui.sh:3129 +msgid "Options..." +msgstr "Opciók..." + +#: git-gui.sh:2576 +msgid "Remove..." +msgstr "Eltávolítás..." + +#: git-gui.sh:2585 lib/choose_repository.tcl:50 +msgid "Help" +msgstr "Segítség" + +#: git-gui.sh:2611 +msgid "Online Documentation" +msgstr "Online dokumentáció" + +#: git-gui.sh:2614 lib/choose_repository.tcl:47 lib/choose_repository.tcl:56 +msgid "Show SSH Key" +msgstr "SSH kulcs mutatása" + - #: git-gui.sh:2707 ++#: git-gui.sh:2721 +#, tcl-format +msgid "fatal: cannot stat path %s: No such file or directory" +msgstr "" +"végzetes hiba: nem érhető el a(z) %s útvonal: Nincs ilyen fájl vagy könyvtár" + - #: git-gui.sh:2740 ++#: git-gui.sh:2754 +msgid "Current Branch:" +msgstr "Jelenlegi branch:" + - #: git-gui.sh:2761 ++#: git-gui.sh:2775 +msgid "Staged Changes (Will Commit)" +msgstr "Kiválasztott változtatások (commitolva lesz)" + - #: git-gui.sh:2781 ++#: git-gui.sh:2795 +msgid "Unstaged Changes" +msgstr "Kiválasztatlan változtatások" + - #: git-gui.sh:2831 ++#: git-gui.sh:2845 +msgid "Stage Changed" +msgstr "Változtatások kiválasztása" + - #: git-gui.sh:2850 lib/transport.tcl:93 lib/transport.tcl:182 ++#: git-gui.sh:2864 lib/transport.tcl:104 lib/transport.tcl:193 +msgid "Push" +msgstr "Push" + - #: git-gui.sh:2885 ++#: git-gui.sh:2899 +msgid "Initial Commit Message:" +msgstr "Kezdeti commit üzenet:" + - #: git-gui.sh:2886 ++#: git-gui.sh:2900 +msgid "Amended Commit Message:" +msgstr "Javító commit üzenet:" + - #: git-gui.sh:2887 ++#: git-gui.sh:2901 +msgid "Amended Initial Commit Message:" +msgstr "Kezdeti javító commit üzenet:" + - #: git-gui.sh:2888 ++#: git-gui.sh:2902 +msgid "Amended Merge Commit Message:" +msgstr "Javító merge commit üzenet:" + - #: git-gui.sh:2889 ++#: git-gui.sh:2903 +msgid "Merge Commit Message:" +msgstr "Merge commit üzenet:" + - #: git-gui.sh:2890 ++#: git-gui.sh:2904 +msgid "Commit Message:" +msgstr "Commit üzenet:" + - #: git-gui.sh:2939 git-gui.sh:3090 lib/console.tcl:73 ++#: git-gui.sh:2953 git-gui.sh:3104 lib/console.tcl:73 +msgid "Copy All" +msgstr "Összes másolása" + - #: git-gui.sh:2963 lib/blame.tcl:104 ++#: git-gui.sh:2977 lib/blame.tcl:104 +msgid "File:" +msgstr "Fájl:" + - #: git-gui.sh:3078 ++#: git-gui.sh:3092 +msgid "Refresh" +msgstr "Frissítés" + - #: git-gui.sh:3099 ++#: git-gui.sh:3113 +msgid "Decrease Font Size" +msgstr "Font méret csökkentése" + - #: git-gui.sh:3103 ++#: git-gui.sh:3117 +msgid "Increase Font Size" +msgstr "Fönt méret növelése" + - #: git-gui.sh:3111 lib/blame.tcl:281 ++#: git-gui.sh:3125 lib/blame.tcl:281 +msgid "Encoding" +msgstr "Kódolás" + - #: git-gui.sh:3122 ++#: git-gui.sh:3136 +msgid "Apply/Reverse Hunk" +msgstr "Hunk alkalmazása/visszaállítása" + - #: git-gui.sh:3127 ++#: git-gui.sh:3141 +msgid "Apply/Reverse Line" +msgstr "Sor alkalmazása/visszaállítása" + - #: git-gui.sh:3137 ++#: git-gui.sh:3151 +msgid "Run Merge Tool" +msgstr "Merge eszköz futtatása" + - #: git-gui.sh:3142 ++#: git-gui.sh:3156 +msgid "Use Remote Version" +msgstr "Távoli verzió használata" + - #: git-gui.sh:3146 ++#: git-gui.sh:3160 +msgid "Use Local Version" +msgstr "Helyi verzió használata" + - #: git-gui.sh:3150 ++#: git-gui.sh:3164 +msgid "Revert To Base" +msgstr "Visszaállítás az alaphoz" + - #: git-gui.sh:3169 ++#: git-gui.sh:3183 +msgid "Unstage Hunk From Commit" +msgstr "Hunk törlése commitból" + - #: git-gui.sh:3170 ++#: git-gui.sh:3184 +msgid "Unstage Line From Commit" +msgstr "A sor kiválasztásának törlése" + - #: git-gui.sh:3172 ++#: git-gui.sh:3186 +msgid "Stage Hunk For Commit" +msgstr "Hunk kiválasztása commitba" + - #: git-gui.sh:3173 ++#: git-gui.sh:3187 +msgid "Stage Line For Commit" +msgstr "Sor kiválasztása commitba" + - #: git-gui.sh:3196 ++#: git-gui.sh:3210 +msgid "Initializing..." +msgstr "Inicializálás..." + - #: git-gui.sh:3301 ++#: git-gui.sh:3315 +#, tcl-format +msgid "" +"Possible environment issues exist.\n" +"\n" +"The following environment variables are probably\n" +"going to be ignored by any Git subprocess run\n" +"by %s:\n" +"\n" +msgstr "" +"Lehetséges, hogy környezeti problémák vannak.\n" +"\n" +"A következő környezeti változók valószínűleg\n" +"figyelmen kívül lesznek hagyva a(z) %s által\n" +"indított folyamatok által:\n" +"\n" + - #: git-gui.sh:3331 ++#: git-gui.sh:3345 +msgid "" +"\n" +"This is due to a known issue with the\n" +"Tcl binary distributed by Cygwin." +msgstr "" +"\n" +"Ez a Cygwin által terjesztett Tcl binárisban\n" +"lévő ismert hiba miatt van." + - #: git-gui.sh:3336 ++#: git-gui.sh:3350 +#, tcl-format +msgid "" +"\n" +"\n" +"A good replacement for %s\n" +"is placing values for the user.name and\n" +"user.email settings into your personal\n" +"~/.gitconfig file.\n" +msgstr "" +"\n" +"\n" +"Egy jó helyettesítés a(z) %s számára\n" +"a user.name és user.email beállítások\n" +"elhelyezése a személyes\n" +"~/.gitconfig fájlba.\n" + +#: lib/about.tcl:26 +msgid "git-gui - a graphical user interface for Git." +msgstr "git-gui - egy grafikus felület a Githez." + +#: lib/blame.tcl:72 +msgid "File Viewer" +msgstr "Fájl néző" + +#: lib/blame.tcl:78 +msgid "Commit:" +msgstr "Commit:" + +#: lib/blame.tcl:271 +msgid "Copy Commit" +msgstr "Commit másolása" + +#: lib/blame.tcl:275 +msgid "Find Text..." +msgstr "Szöveg keresése..." + +#: lib/blame.tcl:284 +msgid "Do Full Copy Detection" +msgstr "Teljes másolat-érzékelés bekapcsolása" + +#: lib/blame.tcl:288 +msgid "Show History Context" +msgstr "Történeti környezet mutatása" + +#: lib/blame.tcl:291 +msgid "Blame Parent Commit" +msgstr "Szülő commit vizsgálata" + +#: lib/blame.tcl:450 +#, tcl-format +msgid "Reading %s..." +msgstr "A(z) %s olvasása..." + +#: lib/blame.tcl:557 +msgid "Loading copy/move tracking annotations..." +msgstr "A másolást/átnevezést követő annotációk betöltése..." + +#: lib/blame.tcl:577 +msgid "lines annotated" +msgstr "sor annotálva" + +#: lib/blame.tcl:769 +msgid "Loading original location annotations..." +msgstr "Az eredeti hely annotációk betöltése..." + +#: lib/blame.tcl:772 +msgid "Annotation complete." +msgstr "Az annotáció kész." + +#: lib/blame.tcl:802 +msgid "Busy" +msgstr "Elfoglalt" + +#: lib/blame.tcl:803 +msgid "Annotation process is already running." +msgstr "Az annotációs folyamat már fut." + +#: lib/blame.tcl:842 +msgid "Running thorough copy detection..." +msgstr "Futtatás másolás-érzékelésen keresztül..." + +#: lib/blame.tcl:910 +msgid "Loading annotation..." +msgstr "Az annotáció betöltése..." + - #: lib/blame.tcl:964 ++#: lib/blame.tcl:963 +msgid "Author:" +msgstr "Szerző:" + - #: lib/blame.tcl:968 ++#: lib/blame.tcl:967 +msgid "Committer:" +msgstr "Commiter:" + - #: lib/blame.tcl:973 ++#: lib/blame.tcl:972 +msgid "Original File:" +msgstr "Eredeti fájl:" + - #: lib/blame.tcl:1021 ++#: lib/blame.tcl:1020 +msgid "Cannot find HEAD commit:" +msgstr "Nem található a HEAD commit:" + - #: lib/blame.tcl:1076 ++#: lib/blame.tcl:1075 +msgid "Cannot find parent commit:" +msgstr "Nem található a szülő commit:" + - #: lib/blame.tcl:1091 ++#: lib/blame.tcl:1090 +msgid "Unable to display parent" +msgstr "Nem lehet megjeleníteni a szülőt" + - #: lib/blame.tcl:1092 lib/diff.tcl:297 ++#: lib/blame.tcl:1091 lib/diff.tcl:297 +msgid "Error loading diff:" +msgstr "Hiba a diff betöltése közben:" + - #: lib/blame.tcl:1232 ++#: lib/blame.tcl:1231 +msgid "Originally By:" +msgstr "Eredeti szerző:" + - #: lib/blame.tcl:1238 ++#: lib/blame.tcl:1237 +msgid "In File:" +msgstr "Ebben a fájlban:" + - #: lib/blame.tcl:1243 ++#: lib/blame.tcl:1242 +msgid "Copied Or Moved Here By:" +msgstr "Ide másolta vagy helyezte:" + +#: lib/branch_checkout.tcl:14 lib/branch_checkout.tcl:19 +msgid "Checkout Branch" +msgstr "Branch checkoutolása" + +#: lib/branch_checkout.tcl:23 +msgid "Checkout" +msgstr "Checkout" + +#: lib/branch_checkout.tcl:27 lib/branch_create.tcl:35 +#: lib/branch_delete.tcl:32 lib/branch_rename.tcl:30 lib/browser.tcl:282 +#: lib/checkout_op.tcl:544 lib/choose_font.tcl:43 lib/merge.tcl:172 +#: lib/option.tcl:125 lib/remote_add.tcl:32 lib/remote_branch_delete.tcl:42 +#: lib/tools_dlg.tcl:40 lib/tools_dlg.tcl:204 lib/tools_dlg.tcl:352 - #: lib/transport.tcl:97 ++#: lib/transport.tcl:108 +msgid "Cancel" +msgstr "Mégsem" + +#: lib/branch_checkout.tcl:32 lib/browser.tcl:287 lib/tools_dlg.tcl:328 +msgid "Revision" +msgstr "Revízió" + +#: lib/branch_checkout.tcl:36 lib/branch_create.tcl:69 lib/option.tcl:280 +msgid "Options" +msgstr "Opciók" + +#: lib/branch_checkout.tcl:39 lib/branch_create.tcl:92 +msgid "Fetch Tracking Branch" +msgstr "Követő branch letöltése" + +#: lib/branch_checkout.tcl:44 +msgid "Detach From Local Branch" +msgstr "Helyi branch leválasztása" + +#: lib/branch_create.tcl:22 +msgid "Create Branch" +msgstr "Branch létrehozása" + +#: lib/branch_create.tcl:27 +msgid "Create New Branch" +msgstr "Új branch létrehozása" + +#: lib/branch_create.tcl:31 lib/choose_repository.tcl:377 +msgid "Create" +msgstr "Létrehozás" + +#: lib/branch_create.tcl:40 +msgid "Branch Name" +msgstr "Branch neve" + +#: lib/branch_create.tcl:43 lib/remote_add.tcl:39 lib/tools_dlg.tcl:50 +msgid "Name:" +msgstr "Név:" + +#: lib/branch_create.tcl:58 +msgid "Match Tracking Branch Name" +msgstr "Egyeztetendő követési branch név" + +#: lib/branch_create.tcl:66 +msgid "Starting Revision" +msgstr "A következő revíziótól" + +#: lib/branch_create.tcl:72 +msgid "Update Existing Branch:" +msgstr "Létező branch frissítése" + +#: lib/branch_create.tcl:75 +msgid "No" +msgstr "Nem" + +#: lib/branch_create.tcl:80 +msgid "Fast Forward Only" +msgstr "Csak fast forward" + +#: lib/branch_create.tcl:85 lib/checkout_op.tcl:536 +msgid "Reset" +msgstr "Visszaállítás" + +#: lib/branch_create.tcl:97 +msgid "Checkout After Creation" +msgstr "Checkout létrehozás után" + +#: lib/branch_create.tcl:131 +msgid "Please select a tracking branch." +msgstr "Válasszunk ki egy követő branchet." + +#: lib/branch_create.tcl:140 +#, tcl-format +msgid "Tracking branch %s is not a branch in the remote repository." +msgstr "A(z) %s követő branch nem branch a távoli repóban." + +#: lib/branch_create.tcl:153 lib/branch_rename.tcl:86 +msgid "Please supply a branch name." +msgstr "Adjunk megy egy branch nevet." + +#: lib/branch_create.tcl:164 lib/branch_rename.tcl:106 +#, tcl-format +msgid "'%s' is not an acceptable branch name." +msgstr "A(z) '%s' nem egy elfogadható branch név." + +#: lib/branch_delete.tcl:15 +msgid "Delete Branch" +msgstr "Branch törlése" + +#: lib/branch_delete.tcl:20 +msgid "Delete Local Branch" +msgstr "Helyi branch törlése" + +#: lib/branch_delete.tcl:37 +msgid "Local Branches" +msgstr "Helyi branchek" + +#: lib/branch_delete.tcl:52 +msgid "Delete Only If Merged Into" +msgstr "Csak már merge-ölt törlése" + +#: lib/branch_delete.tcl:54 +msgid "Always (Do not perform merge test.)" +msgstr "Mindig (Ne legyen merge teszt.)" + +#: lib/branch_delete.tcl:103 +#, tcl-format +msgid "The following branches are not completely merged into %s:" +msgstr "A következő branchek nem teljesen lettek merge-ölve ebbe: %s:" + +#: lib/branch_delete.tcl:115 +msgid "" +"Recovering deleted branches is difficult. \n" +"\n" +" Delete the selected branches?" +msgstr "" +"A törölt branchek visszaállítása bonyolult. \n" +"\n" +" Biztosan törli a kiválasztott brancheket?" + +#: lib/branch_delete.tcl:141 +#, tcl-format +msgid "" +"Failed to delete branches:\n" +"%s" +msgstr "" +"Nem sikerült törölni a következő brancheket:\n" +"%s" + +#: lib/branch_rename.tcl:14 lib/branch_rename.tcl:22 +msgid "Rename Branch" +msgstr "Branch átnevezése" + +#: lib/branch_rename.tcl:26 +msgid "Rename" +msgstr "Átnevezés" + +#: lib/branch_rename.tcl:36 +msgid "Branch:" +msgstr "Branch:" + +#: lib/branch_rename.tcl:39 +msgid "New Name:" +msgstr "Új név:" + +#: lib/branch_rename.tcl:75 +msgid "Please select a branch to rename." +msgstr "Válasszunk ki egy átnevezendő branchet." + +#: lib/branch_rename.tcl:96 lib/checkout_op.tcl:201 +#, tcl-format +msgid "Branch '%s' already exists." +msgstr "A(z) '%s' branch már létezik." + +#: lib/branch_rename.tcl:117 +#, tcl-format +msgid "Failed to rename '%s'." +msgstr "Nem sikerült átnevezni: '%s'." + +#: lib/browser.tcl:17 +msgid "Starting..." +msgstr "Indítás..." + +#: lib/browser.tcl:26 +msgid "File Browser" +msgstr "Fájl böngésző" + +#: lib/browser.tcl:126 lib/browser.tcl:143 +#, tcl-format +msgid "Loading %s..." +msgstr "A(z) %s betöltése..." + +#: lib/browser.tcl:187 +msgid "[Up To Parent]" +msgstr "[Fel a szülőhöz]" + +#: lib/browser.tcl:267 lib/browser.tcl:273 +msgid "Browse Branch Files" +msgstr "A branch fájljainak böngészése" + +#: lib/browser.tcl:278 lib/choose_repository.tcl:394 +#: lib/choose_repository.tcl:480 lib/choose_repository.tcl:491 +#: lib/choose_repository.tcl:995 +msgid "Browse" +msgstr "Böngészés" + +#: lib/checkout_op.tcl:84 +#, tcl-format +msgid "Fetching %s from %s" +msgstr "A(z) %s letöltése innen: %s" + +#: lib/checkout_op.tcl:132 +#, tcl-format +msgid "fatal: Cannot resolve %s" +msgstr "végzetes: Nem lehet feloldani a következőt: %s" + +#: lib/checkout_op.tcl:145 lib/console.tcl:81 lib/database.tcl:31 +#: lib/sshkey.tcl:53 +msgid "Close" +msgstr "Bezárás" + +#: lib/checkout_op.tcl:174 +#, tcl-format +msgid "Branch '%s' does not exist." +msgstr "A(z) '%s' branch nem létezik." + +#: lib/checkout_op.tcl:193 +#, tcl-format +msgid "Failed to configure simplified git-pull for '%s'." +msgstr "" +"Nem sikerült beállítani az egyszerűsített git-pull-t a(z) '%s' számára." + +#: lib/checkout_op.tcl:228 +#, tcl-format +msgid "" +"Branch '%s' already exists.\n" +"\n" +"It cannot fast-forward to %s.\n" +"A merge is required." +msgstr "" +"A(z) '%s' branch már létezik.\n" +"\n" +"Nem lehet fast-forwardolni a következőhöz: %s.\n" +"Egy merge szükséges." + +#: lib/checkout_op.tcl:242 +#, tcl-format +msgid "Merge strategy '%s' not supported." +msgstr "A(z) '%s' merge strategy nem támogatott." + +#: lib/checkout_op.tcl:261 +#, tcl-format +msgid "Failed to update '%s'." +msgstr "Nem sikerült frissíteni a következőt: '%s'." + +#: lib/checkout_op.tcl:273 +msgid "Staging area (index) is already locked." +msgstr "A kiválasztási terület (index) már zárolva van." + +#: lib/checkout_op.tcl:288 +msgid "" +"Last scanned state does not match repository state.\n" +"\n" +"Another Git program has modified this repository since the last scan. A " +"rescan must be performed before the current branch can be changed.\n" +"\n" +"The rescan will be automatically started now.\n" +msgstr "" +"Az utolsó keresési állapot nem egyezik meg a repó állpotával.\n" +"\n" +"Egy másik Git program módosította ezt a repót az utolsó keresés óta. Egy " +"újrakeresés mindenképpen szükséges mielőtt a jelenlegi branchet módosítani " +"lehetne.\n" +"\n" +"Az újrakeresés most automatikusan el fog indulni.\n" + +#: lib/checkout_op.tcl:344 +#, tcl-format +msgid "Updating working directory to '%s'..." +msgstr "A munkkönyvtár frissiítése a következőre: '%s'..." + +#: lib/checkout_op.tcl:345 +msgid "files checked out" +msgstr "fájl frissítve" + +#: lib/checkout_op.tcl:375 +#, tcl-format +msgid "Aborted checkout of '%s' (file level merging is required)." +msgstr "A(z) '%s' checkoutja megszakítva (fájlszintű merge-ölés szükséges)." + +#: lib/checkout_op.tcl:376 +msgid "File level merge required." +msgstr "Fájlszintű merge-ölés szükséges." + +#: lib/checkout_op.tcl:380 +#, tcl-format +msgid "Staying on branch '%s'." +msgstr "Jelenleg a(z) '%s' branchen." + +#: lib/checkout_op.tcl:451 +msgid "" +"You are no longer on a local branch.\n" +"\n" +"If you wanted to be on a branch, create one now starting from 'This Detached " +"Checkout'." +msgstr "" +"Már nem egy helyi branchen vagyunk.\n" +"\n" +"Ha egy branchen szeretnénk lenni, hozzunk létre egyet az 'Ez a leválasztott " +"checkout'-ból." + +#: lib/checkout_op.tcl:468 lib/checkout_op.tcl:472 +#, tcl-format +msgid "Checked out '%s'." +msgstr "'%s' kifejtve." + +#: lib/checkout_op.tcl:500 +#, tcl-format +msgid "Resetting '%s' to '%s' will lose the following commits:" +msgstr "" +"A(z) '%s' -> '%s' visszaállítás a következő commitok elvesztését jelenti:" + +#: lib/checkout_op.tcl:522 +msgid "Recovering lost commits may not be easy." +msgstr "Az elveszett commitok helyreállítása nem biztos, hogy egyszerű." + +#: lib/checkout_op.tcl:527 +#, tcl-format +msgid "Reset '%s'?" +msgstr "Visszaállítjuk a következőt: '%s'?" + +#: lib/checkout_op.tcl:532 lib/merge.tcl:164 lib/tools_dlg.tcl:343 +msgid "Visualize" +msgstr "Vizualizálás" + +#: lib/checkout_op.tcl:600 +#, tcl-format +msgid "" +"Failed to set current branch.\n" +"\n" +"This working directory is only partially switched. We successfully updated " +"your files, but failed to update an internal Git file.\n" +"\n" +"This should not have occurred. %s will now close and give up." +msgstr "" +"Nem sikerült beállítani a jelenlegi branchet.\n" +"\n" +"A munkakönyvtár csak részben váltott át. A fájlok sikeresen frissítve " +"lettek, de nem sikerült frissíteni egy belső Git fájlt.\n" +"\n" +"Ennek nem szabad megtörténnie. A(z) %s most kilép és feladja." + +#: lib/choose_font.tcl:39 +msgid "Select" +msgstr "Kiválaszt" + +#: lib/choose_font.tcl:53 +msgid "Font Family" +msgstr "Font család" + +#: lib/choose_font.tcl:74 +msgid "Font Size" +msgstr "Font méret" + +#: lib/choose_font.tcl:91 +msgid "Font Example" +msgstr "Font példa" + +#: lib/choose_font.tcl:103 +msgid "" +"This is example text.\n" +"If you like this text, it can be your font." +msgstr "" +"Ez egy példa szöveg.\n" +"Ha ez megfelel, ez lehet a betűtípus." + +#: lib/choose_repository.tcl:28 +msgid "Git Gui" +msgstr "Git Gui" + +#: lib/choose_repository.tcl:87 lib/choose_repository.tcl:382 +msgid "Create New Repository" +msgstr "Új repó létrehozása" + +#: lib/choose_repository.tcl:93 +msgid "New..." +msgstr "Új..." + +#: lib/choose_repository.tcl:100 lib/choose_repository.tcl:465 +msgid "Clone Existing Repository" +msgstr "Létező repó másolása" + +#: lib/choose_repository.tcl:106 +msgid "Clone..." +msgstr "Másolás..." + +#: lib/choose_repository.tcl:113 lib/choose_repository.tcl:983 +msgid "Open Existing Repository" +msgstr "Létező könyvtár megnyitása" + +#: lib/choose_repository.tcl:119 +msgid "Open..." +msgstr "Meggyitás..." + +#: lib/choose_repository.tcl:132 +msgid "Recent Repositories" +msgstr "Legutóbbi repók" + +#: lib/choose_repository.tcl:138 +msgid "Open Recent Repository:" +msgstr "Legutóbbi repók megnyitása:" + +#: lib/choose_repository.tcl:302 lib/choose_repository.tcl:309 +#: lib/choose_repository.tcl:316 +#, tcl-format +msgid "Failed to create repository %s:" +msgstr "Nem sikerült letrehozni a(z) %s repót:" + +#: lib/choose_repository.tcl:387 +msgid "Directory:" +msgstr "Könyvtár:" + +#: lib/choose_repository.tcl:417 lib/choose_repository.tcl:544 +#: lib/choose_repository.tcl:1017 +msgid "Git Repository" +msgstr "Git repó" + +#: lib/choose_repository.tcl:442 +#, tcl-format +msgid "Directory %s already exists." +msgstr "A(z) '%s' könyvtár már létezik." + +#: lib/choose_repository.tcl:446 +#, tcl-format +msgid "File %s already exists." +msgstr "A(z) '%s' fájl már létezik." + +#: lib/choose_repository.tcl:460 +msgid "Clone" +msgstr "Bezárás" + +#: lib/choose_repository.tcl:473 +msgid "Source Location:" +msgstr "Forrás helye:" + +#: lib/choose_repository.tcl:484 +msgid "Target Directory:" +msgstr "Cél könyvtár:" + +#: lib/choose_repository.tcl:496 +msgid "Clone Type:" +msgstr "Másolás típusa:" + +#: lib/choose_repository.tcl:502 +msgid "Standard (Fast, Semi-Redundant, Hardlinks)" +msgstr "Általános (Gyors, félig-redundáns, hardlinkek)" + +#: lib/choose_repository.tcl:508 +msgid "Full Copy (Slower, Redundant Backup)" +msgstr "Teljes másolás (Lassabb, redundáns biztonsági mentés)" + +#: lib/choose_repository.tcl:514 +msgid "Shared (Fastest, Not Recommended, No Backup)" +msgstr "Megosztott (Leggyorsabb, nem ajánlott, nincs mentés)" + +#: lib/choose_repository.tcl:550 lib/choose_repository.tcl:597 +#: lib/choose_repository.tcl:743 lib/choose_repository.tcl:813 +#: lib/choose_repository.tcl:1023 lib/choose_repository.tcl:1031 +#, tcl-format +msgid "Not a Git repository: %s" +msgstr "Nem Git repó: %s" + +#: lib/choose_repository.tcl:586 +msgid "Standard only available for local repository." +msgstr "A standard csak helyi repókra érhető el." + +#: lib/choose_repository.tcl:590 +msgid "Shared only available for local repository." +msgstr "A megosztott csak helyi repókra érhető el." + +#: lib/choose_repository.tcl:611 +#, tcl-format +msgid "Location %s already exists." +msgstr "A(z) '%s' hely már létezik." + +#: lib/choose_repository.tcl:622 +msgid "Failed to configure origin" +msgstr "Nem sikerült beállítani az origint" + +#: lib/choose_repository.tcl:634 +msgid "Counting objects" +msgstr "Objektumok számolása" + +#: lib/choose_repository.tcl:635 +msgid "buckets" +msgstr "vödrök" + +#: lib/choose_repository.tcl:659 +#, tcl-format +msgid "Unable to copy objects/info/alternates: %s" +msgstr "Nem sikerült másolni az objects/info/alternates-t: %s" + +#: lib/choose_repository.tcl:695 +#, tcl-format +msgid "Nothing to clone from %s." +msgstr "Semmi másolni való nincs innen: %s" + +#: lib/choose_repository.tcl:697 lib/choose_repository.tcl:911 +#: lib/choose_repository.tcl:923 +msgid "The 'master' branch has not been initialized." +msgstr "A 'master' branch nincs inicializálva." + +#: lib/choose_repository.tcl:710 +msgid "Hardlinks are unavailable. Falling back to copying." +msgstr "Nem érhetőek el hardlinkek. Másolás használata." + +#: lib/choose_repository.tcl:722 +#, tcl-format +msgid "Cloning from %s" +msgstr "Másolás innen: %s" + +#: lib/choose_repository.tcl:753 +msgid "Copying objects" +msgstr "Objektumok másolása" + +#: lib/choose_repository.tcl:754 +msgid "KiB" +msgstr "KiB" + +#: lib/choose_repository.tcl:778 +#, tcl-format +msgid "Unable to copy object: %s" +msgstr "Nem sikerült másolni az objektumot: %s" + +#: lib/choose_repository.tcl:788 +msgid "Linking objects" +msgstr "Objektumok összefűzése" + +#: lib/choose_repository.tcl:789 +msgid "objects" +msgstr "objektum" + +#: lib/choose_repository.tcl:797 +#, tcl-format +msgid "Unable to hardlink object: %s" +msgstr "Nem sikerült hardlinkelni az objektumot: %s" + +#: lib/choose_repository.tcl:852 +msgid "Cannot fetch branches and objects. See console output for details." +msgstr "" +"Nem sikerült letölteni a branch-eket és az objektumokat. Bővebben a " +"konzolos kimenetben." + +#: lib/choose_repository.tcl:863 +msgid "Cannot fetch tags. See console output for details." +msgstr "Nem sikerült letölteni a tageket. Bővebben a konzolos kimenetben." + +#: lib/choose_repository.tcl:887 +msgid "Cannot determine HEAD. See console output for details." +msgstr "Nem sikerült megállapítani a HEAD-et. Bővebben a konzolos kimenetben." + +#: lib/choose_repository.tcl:896 +#, tcl-format +msgid "Unable to cleanup %s" +msgstr "Nem sikerült tiszítani: %s." + +#: lib/choose_repository.tcl:902 +msgid "Clone failed." +msgstr "A másolás nem sikerült." + +#: lib/choose_repository.tcl:909 +msgid "No default branch obtained." +msgstr "Nincs alapértelmezett branch." + +#: lib/choose_repository.tcl:920 +#, tcl-format +msgid "Cannot resolve %s as a commit." +msgstr "Nem sikerült felöldani a(z) %s objektumot commitként." + +#: lib/choose_repository.tcl:932 +msgid "Creating working directory" +msgstr "Munkakönyvtár létrehozása" + +#: lib/choose_repository.tcl:933 lib/index.tcl:65 lib/index.tcl:128 +#: lib/index.tcl:196 +msgid "files" +msgstr "fájl" + +#: lib/choose_repository.tcl:962 +msgid "Initial file checkout failed." +msgstr "A kezdeti fájl-kibontás sikertelen." + +#: lib/choose_repository.tcl:978 +msgid "Open" +msgstr "Megnyitás" + +#: lib/choose_repository.tcl:988 +msgid "Repository:" +msgstr "Repó:" + +#: lib/choose_repository.tcl:1037 +#, tcl-format +msgid "Failed to open repository %s:" +msgstr "Nem sikerült megnyitni a(z) %s repót:" + +#: lib/choose_rev.tcl:53 +msgid "This Detached Checkout" +msgstr "Ez a leválasztott checkout" + +#: lib/choose_rev.tcl:60 +msgid "Revision Expression:" +msgstr "Revízió kifejezés:" + +#: lib/choose_rev.tcl:74 +msgid "Local Branch" +msgstr "Helyi branch" + +#: lib/choose_rev.tcl:79 +msgid "Tracking Branch" +msgstr "Követő branch" + +#: lib/choose_rev.tcl:84 lib/choose_rev.tcl:538 +msgid "Tag" +msgstr "Tag" + +#: lib/choose_rev.tcl:317 +#, tcl-format +msgid "Invalid revision: %s" +msgstr "Érvénytelen revízió: %s" + +#: lib/choose_rev.tcl:338 +msgid "No revision selected." +msgstr "Nincs kiválasztva revízió." + +#: lib/choose_rev.tcl:346 +msgid "Revision expression is empty." +msgstr "A revízió kifejezés üres." + +#: lib/choose_rev.tcl:531 +msgid "Updated" +msgstr "Frissítve" + +#: lib/choose_rev.tcl:559 +msgid "URL" +msgstr "URL" + +#: lib/commit.tcl:9 +msgid "" +"There is nothing to amend.\n" +"\n" +"You are about to create the initial commit. There is no commit before this " +"to amend.\n" +msgstr "" +"Nincs semmi javítanivaló.\n" +"\n" +"Az első commit létrehozása előtt nincs semmilyen commit amit javitani " +"lehetne.\n" + +#: lib/commit.tcl:18 +msgid "" +"Cannot amend while merging.\n" +"\n" +"You are currently in the middle of a merge that has not been fully " +"completed. You cannot amend the prior commit unless you first abort the " +"current merge activity.\n" +msgstr "" +"Nem lehet javítani merge alatt.\n" +"\n" +"A jelenlegi merge még nem teljesen fejeződött be. Csak akkor javíthat egy " +"előbbi commitot, hogyha megszakítja a jelenlegi merge folyamatot.\n" + - #: lib/commit.tcl:49 ++#: lib/commit.tcl:48 +msgid "Error loading commit data for amend:" +msgstr "Hiba a javítandó commit adat betöltése közben:" + - #: lib/commit.tcl:76 ++#: lib/commit.tcl:75 +msgid "Unable to obtain your identity:" +msgstr "Nem sikerült megállapítani az azonosítót:" + - #: lib/commit.tcl:81 ++#: lib/commit.tcl:80 +msgid "Invalid GIT_COMMITTER_IDENT:" +msgstr "Érvénytelen GIT_COMMITTER_IDENT:" + - #: lib/commit.tcl:133 ++#: lib/commit.tcl:132 +msgid "" +"Last scanned state does not match repository state.\n" +"\n" +"Another Git program has modified this repository since the last scan. A " +"rescan must be performed before another commit can be created.\n" +"\n" +"The rescan will be automatically started now.\n" +msgstr "" +"Az utolsó keresési állapot nem egyezik meg a repó állapotával.\n" +"\n" +"Egy másik Git program módosította ezt a repót az utolsó keresés óta. Egy " +"újrakeresés mindenképpen szükséges mielőtt a jelenlegi branchet módosítani " +"lehetne.\n" +"\n" +"Az újrakeresés most automatikusan el fog indulni.\n" + - #: lib/commit.tcl:156 ++#: lib/commit.tcl:155 +#, tcl-format +msgid "" +"Unmerged files cannot be committed.\n" +"\n" +"File %s has merge conflicts. You must resolve them and stage the file " +"before committing.\n" +msgstr "" +"Nem commitolhatunk fájlokat merge előtt.\n" +"\n" +"A(z) %s fájlban ütközések vannak. Egyszer azokat ki kell javítani, majd " +"hozzá ki kell választani a fájlt mielőtt commitolni lehetne.\n" + - #: lib/commit.tcl:164 ++#: lib/commit.tcl:163 +#, tcl-format +msgid "" +"Unknown file state %s detected.\n" +"\n" +"File %s cannot be committed by this program.\n" +msgstr "" +"Ismeretlen fájl típus %s érzékelve.\n" +"\n" +"A(z) %s fájlt nem tudja ez a program commitolni.\n" + - #: lib/commit.tcl:172 ++#: lib/commit.tcl:171 +msgid "" +"No changes to commit.\n" +"\n" +"You must stage at least 1 file before you can commit.\n" +msgstr "" +"Nincs commitolandó változtatás.\n" +"\n" +"Legalább egy fájl ki kell választani, hogy commitolni lehessen.\n" + - #: lib/commit.tcl:187 ++#: lib/commit.tcl:186 +msgid "" +"Please supply a commit message.\n" +"\n" +"A good commit message has the following format:\n" +"\n" +"- First line: Describe in one sentence what you did.\n" +"- Second line: Blank\n" +"- Remaining lines: Describe why this change is good.\n" +msgstr "" +"Adjunk megy egy commit üzenetet.\n" +"\n" +"Egy jó commit üzenetnek a következő a formátuma:\n" +"\n" +"- Első sor: Egy mondatban leírja, hogy mit csináltunk.\n" +"- Második sor: Üres\n" +"- A többi sor: Leírja, hogy miért jó ez a változtatás.\n" + - #: lib/commit.tcl:211 ++#: lib/commit.tcl:210 +#, tcl-format +msgid "warning: Tcl does not support encoding '%s'." +msgstr "figyelmeztetés: a Tcl nem támogatja a(z) '%s' kódolást." + - #: lib/commit.tcl:227 ++#: lib/commit.tcl:226 +msgid "Calling pre-commit hook..." +msgstr "A pre-commit hurok meghívása..." + - #: lib/commit.tcl:242 ++#: lib/commit.tcl:241 +msgid "Commit declined by pre-commit hook." +msgstr "A commitot megakadályozta a pre-commit hurok. " + - #: lib/commit.tcl:265 ++#: lib/commit.tcl:264 +msgid "Calling commit-msg hook..." +msgstr "A commit-msg hurok meghívása..." + - #: lib/commit.tcl:280 ++#: lib/commit.tcl:279 +msgid "Commit declined by commit-msg hook." +msgstr "A commiot megakadályozta a commit-msg hurok." + - #: lib/commit.tcl:293 ++#: lib/commit.tcl:292 +msgid "Committing changes..." +msgstr "A változtatások commitolása..." + - #: lib/commit.tcl:309 ++#: lib/commit.tcl:308 +msgid "write-tree failed:" +msgstr "a write-tree sikertelen:" + - #: lib/commit.tcl:310 lib/commit.tcl:354 lib/commit.tcl:374 ++#: lib/commit.tcl:309 lib/commit.tcl:353 lib/commit.tcl:373 +msgid "Commit failed." +msgstr "A commit nem sikerült." + - #: lib/commit.tcl:327 ++#: lib/commit.tcl:326 +#, tcl-format +msgid "Commit %s appears to be corrupt" +msgstr "A(z) %s commit sérültnek tűnik" + - #: lib/commit.tcl:332 ++#: lib/commit.tcl:331 +msgid "" +"No changes to commit.\n" +"\n" +"No files were modified by this commit and it was not a merge commit.\n" +"\n" +"A rescan will be automatically started now.\n" +msgstr "" +"Nincs commitolandó változtatás.\n" +"\n" +"Egyetlen fájlt se módosított ez a commit és merge commit se volt.\n" +"\n" +"Az újrakeresés most automatikusan el fog indulni.\n" + - #: lib/commit.tcl:339 ++#: lib/commit.tcl:338 +msgid "No changes to commit." +msgstr "Nincs commitolandó változtatás." + - #: lib/commit.tcl:353 ++#: lib/commit.tcl:352 +msgid "commit-tree failed:" +msgstr "a commit-tree sikertelen:" + - #: lib/commit.tcl:373 ++#: lib/commit.tcl:372 +msgid "update-ref failed:" +msgstr "az update-ref sikertelen:" + - #: lib/commit.tcl:461 ++#: lib/commit.tcl:460 +#, tcl-format +msgid "Created commit %s: %s" +msgstr "Létrejött a %s commit: %s" + +#: lib/console.tcl:59 +msgid "Working... please wait..." +msgstr "Munka folyamatban.. Várjunk..." + +#: lib/console.tcl:186 +msgid "Success" +msgstr "Siker" + +#: lib/console.tcl:200 +msgid "Error: Command Failed" +msgstr "Hiba: a parancs sikertelen" + +#: lib/database.tcl:43 +msgid "Number of loose objects" +msgstr "Elvesztett objektumok száma" + +#: lib/database.tcl:44 +msgid "Disk space used by loose objects" +msgstr "Elveszett objektumok által elfoglalt lemezterület" + +#: lib/database.tcl:45 +msgid "Number of packed objects" +msgstr "Csomagolt objektumok számra" + +#: lib/database.tcl:46 +msgid "Number of packs" +msgstr "Csomagok száma" + +#: lib/database.tcl:47 +msgid "Disk space used by packed objects" +msgstr "A csomagolt objektumok által használt lemezterület" + +#: lib/database.tcl:48 +msgid "Packed objects waiting for pruning" +msgstr "Eltávolításra váró csomagolt objektumok számra" + +#: lib/database.tcl:49 +msgid "Garbage files" +msgstr "Hulladék fájlok" + +#: lib/database.tcl:72 +msgid "Compressing the object database" +msgstr "Az objektum adatbázis tömörítése" + +#: lib/database.tcl:83 +msgid "Verifying the object database with fsck-objects" +msgstr "Az objektum adatbázis ellenőrzése az fsck-objects használatával" + +#: lib/database.tcl:108 +#, tcl-format +msgid "" +"This repository currently has approximately %i loose objects.\n" +"\n" +"To maintain optimal performance it is strongly recommended that you compress " +"the database when more than %i loose objects exist.\n" +"\n" +"Compress the database now?" +msgstr "" +"Ennek a repónak jelenleg %i különálló objektuma van.\n" +"\n" +"Az optimális teljesítményhez erősen ajánlott az adatbázis tömörítése, ha " +"több mint %i objektum létezik.\n" +"\n" +"Lehet most tömöríteni az adatbázist?" + +#: lib/date.tcl:25 +#, tcl-format +msgid "Invalid date from Git: %s" +msgstr "Érvénytelen dátum a Git-től: %s" + +#: lib/diff.tcl:59 +#, tcl-format +msgid "" +"No differences detected.\n" +"\n" +"%s has no changes.\n" +"\n" +"The modification date of this file was updated by another application, but " +"the content within the file was not changed.\n" +"\n" +"A rescan will be automatically started to find other files which may have " +"the same state." +msgstr "" +"Nincsenek változások.\n" +"\n" +"A(z) %s módosítatlan.\n" +"\n" +"A fájl módosítási dátumát frissítette egy másik alkalmazás, de a fájl " +"tartalma változatlan.\n" +"\n" +"Egy újrakeresés fog indulni a hasonló állapotú fájlok megtalálása érdekében." + +#: lib/diff.tcl:99 +#, tcl-format +msgid "Loading diff of %s..." +msgstr "A(z) %s diff-jének betöltése..." + +#: lib/diff.tcl:120 +msgid "" +"LOCAL: deleted\n" +"REMOTE:\n" +msgstr "" +"HELYI: törölve\n" +"TÁVOLI:\n" + +#: lib/diff.tcl:125 +msgid "" +"REMOTE: deleted\n" +"LOCAL:\n" +msgstr "" +"TÁVOLI: törölve\n" +"HELYI:\n" + +#: lib/diff.tcl:132 +msgid "LOCAL:\n" +msgstr "HELYI:\n" + +#: lib/diff.tcl:135 +msgid "REMOTE:\n" +msgstr "TÁVOLI:\n" + +#: lib/diff.tcl:197 lib/diff.tcl:296 +#, tcl-format +msgid "Unable to display %s" +msgstr "Nem lehet megjeleníteni a következőt: %s" + +#: lib/diff.tcl:198 +msgid "Error loading file:" +msgstr "Hiba a fájl betöltése közben:" + +#: lib/diff.tcl:205 +msgid "Git Repository (subproject)" +msgstr "Git repó (alprojekt)" + +#: lib/diff.tcl:217 +msgid "* Binary file (not showing content)." +msgstr "* Bináris fájl (tartalom elrejtése)." + +#: lib/diff.tcl:222 +#, tcl-format +msgid "" +"* Untracked file is %d bytes.\n" +"* Showing only first %d bytes.\n" +msgstr "" +"* Nem követett fájl %d bájttal.\n" +"* Csak az első %d bájt mutatása.\n" + +#: lib/diff.tcl:228 +#, tcl-format +msgid "" +"\n" +"* Untracked file clipped here by %s.\n" +"* To see the entire file, use an external editor.\n" +msgstr "" +"\n" +"* Nem követett fájlt levágta a(z) %s.\n" +"* A teljes tartalom megjelenítéséhez használjunk külső szövegszerkesztőt.\n" + +#: lib/diff.tcl:436 +msgid "Failed to unstage selected hunk." +msgstr "Nem visszavonni a hunk kiválasztását." + +#: lib/diff.tcl:443 +msgid "Failed to stage selected hunk." +msgstr "Nem sikerült kiválasztani a hunkot." + +#: lib/diff.tcl:509 +msgid "Failed to unstage selected line." +msgstr "Nem sikerült visszavonni a sor kiválasztását." + +#: lib/diff.tcl:517 +msgid "Failed to stage selected line." +msgstr "Nem sikerült kiválasztani a sort." + +#: lib/encoding.tcl:443 +msgid "Default" +msgstr "Alapértelmezés" + +#: lib/encoding.tcl:448 +#, tcl-format +msgid "System (%s)" +msgstr "Rendszer (%s)" + +#: lib/encoding.tcl:459 lib/encoding.tcl:465 +msgid "Other" +msgstr "Más" + +#: lib/error.tcl:20 lib/error.tcl:114 +msgid "error" +msgstr "hiba" + +#: lib/error.tcl:36 +msgid "warning" +msgstr "figyelmeztetés" + +#: lib/error.tcl:94 +msgid "You must correct the above errors before committing." +msgstr "Ki kell javítanunk a fenti hibákat commit előtt." + +#: lib/index.tcl:6 +msgid "Unable to unlock the index." +msgstr "Nem sikerült az index zárolásának feloldása." + +#: lib/index.tcl:15 +msgid "Index Error" +msgstr "Index hiba" + +#: lib/index.tcl:21 +msgid "" +"Updating the Git index failed. A rescan will be automatically started to " +"resynchronize git-gui." +msgstr "" +"A Git index frissítése sikertelen volt. Egy újraolvasás automatikusan " +"elindult, hogy a git-gui újra szinkonban legyen." + +#: lib/index.tcl:27 +msgid "Continue" +msgstr "Folytatás" + +#: lib/index.tcl:31 +msgid "Unlock Index" +msgstr "Index zárolásának feloldása" + +#: lib/index.tcl:287 +#, tcl-format +msgid "Unstaging %s from commit" +msgstr "A(z) %s commitba való kiválasztásának visszavonása" + +#: lib/index.tcl:326 +msgid "Ready to commit." +msgstr "Commitolásra kész." + +#: lib/index.tcl:339 +#, tcl-format +msgid "Adding %s" +msgstr "A(z) %s hozzáadása..." + +#: lib/index.tcl:396 +#, tcl-format +msgid "Revert changes in file %s?" +msgstr "Visszaállítja a változtatásokat a(z) %s fájlban?" + +#: lib/index.tcl:398 +#, tcl-format +msgid "Revert changes in these %i files?" +msgstr "Visszaállítja a változtatásokat ebben e %i fájlban?" + +#: lib/index.tcl:406 +msgid "Any unstaged changes will be permanently lost by the revert." +msgstr "" +"Minden nem kiválasztott változtatás el fog veszni ezáltal a visszaállítás " +"által." + +#: lib/index.tcl:409 +msgid "Do Nothing" +msgstr "Ne csináljunk semmit" + +#: lib/index.tcl:427 +msgid "Reverting selected files" +msgstr "A kiválasztott fájlok visszaállítása" + +#: lib/index.tcl:431 +#, tcl-format +msgid "Reverting %s" +msgstr "%s visszaállítása" + +#: lib/merge.tcl:13 +msgid "" +"Cannot merge while amending.\n" +"\n" +"You must finish amending this commit before starting any type of merge.\n" +msgstr "" +"Javítás közben nem lehetséges a merge.\n" +"\n" +"Egyszer be kell fejezni ennek a commitnak a javítását, majd kezdődhet egy " +"merge.\n" + +#: lib/merge.tcl:27 +msgid "" +"Last scanned state does not match repository state.\n" +"\n" +"Another Git program has modified this repository since the last scan. A " +"rescan must be performed before a merge can be performed.\n" +"\n" +"The rescan will be automatically started now.\n" +msgstr "" +"Az utolsó keresési állapot nem egyezik meg a repó állapotával.\n" +"\n" +"Egy másik Git program módosította ezt a repót az utolsó keresés óta. Egy " +"újrakeresés mindenképpen szükséges mielőtt a jelenlegi branchet módosítani " +"lehetne.\n" +"\n" +"Az újrakeresés most automatikusan el fog indulni.\n" + +#: lib/merge.tcl:45 +#, tcl-format +msgid "" +"You are in the middle of a conflicted merge.\n" +"\n" +"File %s has merge conflicts.\n" +"\n" +"You must resolve them, stage the file, and commit to complete the current " +"merge. Only then can you begin another merge.\n" +msgstr "" +"Jelenleg egy ütközés feloldása közben vagyunk.\n" +"\n" +"A(z) %s fájlban ütközések vannak.\n" +"\n" +"Fel kell oldanunk őket, kiválasztani a fájlt, és commitolni hogy befejezzük " +"a jelenlegi merge-t. Csak ezután kezdhetünk el egy újabbat.\n" + +#: lib/merge.tcl:55 +#, tcl-format +msgid "" +"You are in the middle of a change.\n" +"\n" +"File %s is modified.\n" +"\n" +"You should complete the current commit before starting a merge. Doing so " +"will help you abort a failed merge, should the need arise.\n" +msgstr "" +"Jelenleg egy változtatás közben vagyunk.\n" +"\n" +"A(z) %s fájl megváltozott.\n" +"\n" +"Először be kell fejeznünk a jelenlegi commitot, hogy elkezdhessünk egy merge-" +"t. Ez segíteni fog, hogy félbeszakíthassunk egy merge-t.\n" + +#: lib/merge.tcl:107 +#, tcl-format +msgid "%s of %s" +msgstr "%s / %s" + +#: lib/merge.tcl:120 +#, tcl-format +msgid "Merging %s and %s..." +msgstr "A(z) %s és a(z) %s merge-ölése..." + +#: lib/merge.tcl:131 +msgid "Merge completed successfully." +msgstr "A merge sikeresen befejeződött." + +#: lib/merge.tcl:133 +msgid "Merge failed. Conflict resolution is required." +msgstr "A merge sikertelen. Fel kell oldanunk az ütközéseket." + +#: lib/merge.tcl:158 +#, tcl-format +msgid "Merge Into %s" +msgstr "Merge-ölés a következőbe: %s" + +#: lib/merge.tcl:177 +msgid "Revision To Merge" +msgstr "Merge-ölni szándékozott revízió" + +#: lib/merge.tcl:212 +msgid "" +"Cannot abort while amending.\n" +"\n" +"You must finish amending this commit.\n" +msgstr "" +"A commit javítás közben megszakítva.\n" +"\n" +"Be kell fejeznünk ennek a commitnak a javítását.\n" + +#: lib/merge.tcl:222 +msgid "" +"Abort merge?\n" +"\n" +"Aborting the current merge will cause *ALL* uncommitted changes to be lost.\n" +"\n" +"Continue with aborting the current merge?" +msgstr "" +"Megszakítjuk a merge-t?\n" +"\n" +"A jelenlegi merge megszakítása *MINDEN* nem commitolt változtatás " +"elvesztését jelenti.\n" +"\n" +"Folytatjuk a jelenlegi merge megszakítását?" + +#: lib/merge.tcl:228 +msgid "" +"Reset changes?\n" +"\n" +"Resetting the changes will cause *ALL* uncommitted changes to be lost.\n" +"\n" +"Continue with resetting the current changes?" +msgstr "" +"Visszavonjuk a módosításokat?\n" +"\n" +"A módosítások visszavonása *MINDEN* nem commitolt változtatás elvesztését " +"jelenti.\n" +"\n" +"Folytatjuk a jelenlegi módosítások visszavonását?" + +#: lib/merge.tcl:239 +msgid "Aborting" +msgstr "Félbeszakítás" + +#: lib/merge.tcl:239 +msgid "files reset" +msgstr "fájl visszaállítva" + +#: lib/merge.tcl:267 +msgid "Abort failed." +msgstr "A félbeszakítás nem sikerült." + +#: lib/merge.tcl:269 +msgid "Abort completed. Ready." +msgstr "A megkeszakítás befejeződött. Kész." + +#: lib/mergetool.tcl:8 +msgid "Force resolution to the base version?" +msgstr "Feloldás erőltetése az alap verzióhoz?" + +#: lib/mergetool.tcl:9 +msgid "Force resolution to this branch?" +msgstr "Feloldás erőltetése ehhez a branch-hez?" + +#: lib/mergetool.tcl:10 +msgid "Force resolution to the other branch?" +msgstr "Feloldás erőltetése a másik branch-hez?" + +#: lib/mergetool.tcl:14 +#, tcl-format +msgid "" +"Note that the diff shows only conflicting changes.\n" +"\n" +"%s will be overwritten.\n" +"\n" +"This operation can be undone only by restarting the merge." +msgstr "" +"Megjegyzés: csak az ütköző különbségek látszanak.\n" +"\n" +"A(z) %s felül lesz írva.\n" +"\n" +"Ez a művelet csak a merge újraindításával lesz visszavonható." + +#: lib/mergetool.tcl:45 +#, tcl-format +msgid "File %s seems to have unresolved conflicts, still stage?" +msgstr "" +"A(z) %s fájl nem feloldott ütközéseket tartalmaz, mégis legyen kiválasztva?" + +#: lib/mergetool.tcl:60 +#, tcl-format +msgid "Adding resolution for %s" +msgstr "Feloldás hozzáadása a(z) %s számára" + +#: lib/mergetool.tcl:141 +msgid "Cannot resolve deletion or link conflicts using a tool" +msgstr "Nem lehet feloldani törlési vagy link ütközést egy eszközzel" + +#: lib/mergetool.tcl:146 +msgid "Conflict file does not exist" +msgstr "A konfiklus-fájl nem létezik." + +#: lib/mergetool.tcl:264 +#, tcl-format +msgid "Not a GUI merge tool: '%s'" +msgstr "Nem GUI merge eszköz: %s" + +#: lib/mergetool.tcl:268 +#, tcl-format +msgid "Unsupported merge tool '%s'" +msgstr "A(z) '%s' merge eszköz nem támogatott" + +#: lib/mergetool.tcl:303 +msgid "Merge tool is already running, terminate it?" +msgstr "A merge eszköz már fut, le legyen állítva?" + +#: lib/mergetool.tcl:323 +#, tcl-format +msgid "" +"Error retrieving versions:\n" +"%s" +msgstr "" +"Hiba a verziók kinyerése közben:\n" +"%s" + +#: lib/mergetool.tcl:343 +#, tcl-format +msgid "" +"Could not start the merge tool:\n" +"\n" +"%s" +msgstr "" +"A merge eszköz indítása sikertelen:\n" +"\n" +"%s" + +#: lib/mergetool.tcl:347 +msgid "Running merge tool..." +msgstr "A merge eszköz futtatása..." + +#: lib/mergetool.tcl:375 lib/mergetool.tcl:383 +msgid "Merge tool failed." +msgstr "A merge eszköz nem sikerült." + +#: lib/option.tcl:11 +#, tcl-format +msgid "Invalid global encoding '%s'" +msgstr "Érvénytelen globális kódolás '%s'" + +#: lib/option.tcl:19 +#, tcl-format +msgid "Invalid repo encoding '%s'" +msgstr "Érvénytelen repó kódolás '%s'" + +#: lib/option.tcl:117 +msgid "Restore Defaults" +msgstr "Alapértelmezés visszaállítása" + +#: lib/option.tcl:121 +msgid "Save" +msgstr "Mentés" + +#: lib/option.tcl:131 +#, tcl-format +msgid "%s Repository" +msgstr "%s Repó" + +#: lib/option.tcl:132 +msgid "Global (All Repositories)" +msgstr "Globális (minden repó)" + +#: lib/option.tcl:138 +msgid "User Name" +msgstr "Felhasználónév" + +#: lib/option.tcl:139 +msgid "Email Address" +msgstr "Email cím" + +#: lib/option.tcl:141 +msgid "Summarize Merge Commits" +msgstr "A merge commitok összegzése" + +#: lib/option.tcl:142 +msgid "Merge Verbosity" +msgstr "Merge beszédesség" + +#: lib/option.tcl:143 +msgid "Show Diffstat After Merge" +msgstr "Diffstat mutatása merge után" + +#: lib/option.tcl:144 +msgid "Use Merge Tool" +msgstr "Merge eszköz használata" + +#: lib/option.tcl:146 +msgid "Trust File Modification Timestamps" +msgstr "A fájl módosítási dátumok megbízhatóak" + +#: lib/option.tcl:147 +msgid "Prune Tracking Branches During Fetch" +msgstr "A követő branchek eltávolítása letöltés alatt" + +#: lib/option.tcl:148 +msgid "Match Tracking Branches" +msgstr "A követő branchek egyeztetése" + +#: lib/option.tcl:149 +msgid "Blame Copy Only On Changed Files" +msgstr "A blame másolás bekapcsolása csak megváltozott fájlokra" + +#: lib/option.tcl:150 +msgid "Minimum Letters To Blame Copy On" +msgstr "Minimum betűszám blame másolás-érzékeléshez" + +#: lib/option.tcl:151 +msgid "Blame History Context Radius (days)" +msgstr "Blame történet környezet sugár (napokban)" + +#: lib/option.tcl:152 +msgid "Number of Diff Context Lines" +msgstr "A diff környezeti sorok száma" + +#: lib/option.tcl:153 +msgid "Commit Message Text Width" +msgstr "Commit üzenet szövegének szélessége" + +#: lib/option.tcl:154 +msgid "New Branch Name Template" +msgstr "Új branch név sablon" + +#: lib/option.tcl:155 +msgid "Default File Contents Encoding" +msgstr "Alapértelmezett fájltartalom-kódolás" + +#: lib/option.tcl:203 +msgid "Change" +msgstr "Megváltoztatás" + +#: lib/option.tcl:230 +msgid "Spelling Dictionary:" +msgstr "Helyesírás-ellenőrző szótár:" + +#: lib/option.tcl:254 +msgid "Change Font" +msgstr "Betűtípus megváltoztatása" + +#: lib/option.tcl:258 +#, tcl-format +msgid "Choose %s" +msgstr "%s választása" + +#: lib/option.tcl:264 +msgid "pt." +msgstr "pt." + +#: lib/option.tcl:278 +msgid "Preferences" +msgstr "Beállítások" + +#: lib/option.tcl:314 +msgid "Failed to completely save options:" +msgstr "Nem sikerült teljesen elmenteni a beállításokat:" + +#: lib/remote.tcl:163 +msgid "Remove Remote" +msgstr "Remote eltávolítása" + +#: lib/remote.tcl:168 +msgid "Prune from" +msgstr "Törlés innen" + +# tcl-format +#: lib/remote.tcl:173 +msgid "Fetch from" +msgstr "Letöltés innen" + +#: lib/remote.tcl:215 +msgid "Push to" +msgstr "Push ide" + +#: lib/remote_add.tcl:19 +msgid "Add Remote" +msgstr "Remote hozzáadása" + +#: lib/remote_add.tcl:24 +msgid "Add New Remote" +msgstr "Új remote hozzáadása" + +#: lib/remote_add.tcl:28 lib/tools_dlg.tcl:36 +msgid "Add" +msgstr "Hozzáadás" + +#: lib/remote_add.tcl:37 +msgid "Remote Details" +msgstr "Remote részletei" + +#: lib/remote_add.tcl:50 +msgid "Location:" +msgstr "Hely:" + +#: lib/remote_add.tcl:62 +msgid "Further Action" +msgstr "Következő művelet" + +#: lib/remote_add.tcl:65 +msgid "Fetch Immediately" +msgstr "Letöltés most" + +#: lib/remote_add.tcl:71 +msgid "Initialize Remote Repository and Push" +msgstr "Távoli repó inicializálása és push" + +#: lib/remote_add.tcl:77 +msgid "Do Nothing Else Now" +msgstr "Ne csináljunk semmit" + +#: lib/remote_add.tcl:101 +msgid "Please supply a remote name." +msgstr "Adjunk megy egy remote nevet." + +#: lib/remote_add.tcl:114 +#, tcl-format +msgid "'%s' is not an acceptable remote name." +msgstr "A(z) '%s' nem egy elfogadható remote név." + +#: lib/remote_add.tcl:125 +#, tcl-format +msgid "Failed to add remote '%s' of location '%s'." +msgstr "Nem sikerült a(t) '%s' remote hozzáadása innen: '%s'." + +#: lib/remote_add.tcl:133 lib/transport.tcl:6 +#, tcl-format +msgid "fetch %s" +msgstr "a(z) %s letöltése" + +#: lib/remote_add.tcl:134 +#, tcl-format +msgid "Fetching the %s" +msgstr "A(z) %s letöltése" + +#: lib/remote_add.tcl:157 +#, tcl-format +msgid "Do not know how to initialize repository at location '%s'." +msgstr "Nem tudni, hogy hogy kell a(z) '%s' helyen repót inicializálni." + - #: lib/remote_add.tcl:163 lib/transport.tcl:25 lib/transport.tcl:71 ++#: lib/remote_add.tcl:163 lib/transport.tcl:25 lib/transport.tcl:63 ++#: lib/transport.tcl:81 +#, tcl-format +msgid "push %s" +msgstr "%s push-olása" + +#: lib/remote_add.tcl:164 +#, tcl-format +msgid "Setting up the %s (at %s)" +msgstr "A(z) %s beállítása itt: %s" + +#: lib/remote_branch_delete.tcl:29 lib/remote_branch_delete.tcl:34 +msgid "Delete Branch Remotely" +msgstr "Távoli Branch törlése" + +#: lib/remote_branch_delete.tcl:47 +msgid "From Repository" +msgstr "Forrás repó" + - #: lib/remote_branch_delete.tcl:50 lib/transport.tcl:123 ++#: lib/remote_branch_delete.tcl:50 lib/transport.tcl:134 +msgid "Remote:" +msgstr "Távoli:" + - #: lib/remote_branch_delete.tcl:66 lib/transport.tcl:138 ++#: lib/remote_branch_delete.tcl:66 lib/transport.tcl:149 +msgid "Arbitrary Location:" +msgstr "Önkényes hely:" + +#: lib/remote_branch_delete.tcl:84 +msgid "Branches" +msgstr "Branchek" + +#: lib/remote_branch_delete.tcl:109 +msgid "Delete Only If" +msgstr "Törlés csak akkor ha" + +#: lib/remote_branch_delete.tcl:111 +msgid "Merged Into:" +msgstr "Merge-ölt a következőbe:" + +#: lib/remote_branch_delete.tcl:119 +msgid "Always (Do not perform merge checks)" +msgstr "Mindig (Ne végezzen merge vizsgálatokat)" + +#: lib/remote_branch_delete.tcl:152 +msgid "A branch is required for 'Merged Into'." +msgstr "Egy branch szükséges a 'Merge-ölt a következőbe'-hez." + +#: lib/remote_branch_delete.tcl:184 +#, tcl-format +msgid "" +"The following branches are not completely merged into %s:\n" +"\n" +" - %s" +msgstr "" +"A következő branchek nem teljesen lettek merge-ölve ebbe: %s:\n" +" - %s" + +#: lib/remote_branch_delete.tcl:189 +#, tcl-format +msgid "" +"One or more of the merge tests failed because you have not fetched the " +"necessary commits. Try fetching from %s first." +msgstr "" +"Egy vagy több merge teszt hibát jelzett, mivel nem töltöttük le a megfelelő " +"commitokat. Próbáljunk meg letölteni a következőből: %s először." + +#: lib/remote_branch_delete.tcl:207 +msgid "Please select one or more branches to delete." +msgstr "Válasszunk ki egy vagy több branchet törlésre." + +#: lib/remote_branch_delete.tcl:216 +msgid "" +"Recovering deleted branches is difficult.\n" +"\n" +"Delete the selected branches?" +msgstr "" +"A törölt branchek visszaállítása nehéz.\n" +"\n" +"Töröljük a kiválasztott brancheket?" + +#: lib/remote_branch_delete.tcl:226 +#, tcl-format +msgid "Deleting branches from %s" +msgstr "Brancek törlése innen: %s" + +#: lib/remote_branch_delete.tcl:286 +msgid "No repository selected." +msgstr "Nincs kiválasztott repó." + +#: lib/remote_branch_delete.tcl:291 +#, tcl-format +msgid "Scanning %s..." +msgstr "Keresés itt: %s..." + +#: lib/search.tcl:21 +msgid "Find:" +msgstr "Keresés:" + +#: lib/search.tcl:23 +msgid "Next" +msgstr "Következő" + +#: lib/search.tcl:24 +msgid "Prev" +msgstr "Előző" + +#: lib/search.tcl:25 +msgid "Case-Sensitive" +msgstr "Kisbetű-nagybetű számít" + +#: lib/shortcut.tcl:20 lib/shortcut.tcl:61 +msgid "Cannot write shortcut:" +msgstr "Nem sikerült írni a gyorsbillentyűt:" + +#: lib/shortcut.tcl:136 +msgid "Cannot write icon:" +msgstr "Nem sikerült írni az ikont:" + +#: lib/spellcheck.tcl:57 +msgid "Unsupported spell checker" +msgstr "Nem támogatott helyesírás-ellenőrző" + +#: lib/spellcheck.tcl:65 +msgid "Spell checking is unavailable" +msgstr "A helyesírás-ellenőrzés nem elérhető" + +#: lib/spellcheck.tcl:68 +msgid "Invalid spell checking configuration" +msgstr "Érvénytelen a helyesírás-ellenőrző beállítása" + +#: lib/spellcheck.tcl:70 +#, tcl-format +msgid "Reverting dictionary to %s." +msgstr "Szótár visszaállítása a következőre: %s." + +#: lib/spellcheck.tcl:73 +msgid "Spell checker silently failed on startup" +msgstr "A helyesírás-ellenőrő indítása sikertelen" + +#: lib/spellcheck.tcl:80 +msgid "Unrecognized spell checker" +msgstr "Ismeretlen helyesírás-ellenőrző" + +#: lib/spellcheck.tcl:186 +msgid "No Suggestions" +msgstr "Nincs javaslat" + +#: lib/spellcheck.tcl:388 +msgid "Unexpected EOF from spell checker" +msgstr "Nem várt EOF a helyesírás-ellenőrzőtől" + +#: lib/spellcheck.tcl:392 +msgid "Spell Checker Failed" +msgstr "A helyesírás-ellenőrzés sikertelen" + +#: lib/sshkey.tcl:31 +msgid "No keys found." +msgstr "Nincsenek kulcsok." + +#: lib/sshkey.tcl:34 +#, tcl-format +msgid "Found a public key in: %s" +msgstr "Nyilvános kulcs található ebben: %s" + +#: lib/sshkey.tcl:40 +msgid "Generate Key" +msgstr "Kulcs generálása" + +#: lib/sshkey.tcl:56 +msgid "Copy To Clipboard" +msgstr "Másolás vágólapra" + +#: lib/sshkey.tcl:70 +msgid "Your OpenSSH Public Key" +msgstr "Az OpenSSH publikus kulcsunk" + +#: lib/sshkey.tcl:78 +msgid "Generating..." +msgstr "Generálás..." + +#: lib/sshkey.tcl:84 +#, tcl-format +msgid "" +"Could not start ssh-keygen:\n" +"\n" +"%s" +msgstr "" +"Az ssh-keygen indítása sikertelen:\n" +"\n" +"%s" + +#: lib/sshkey.tcl:111 +msgid "Generation failed." +msgstr "A generálás nem sikerült." + +#: lib/sshkey.tcl:118 +msgid "Generation succeded, but no keys found." +msgstr "A generálás sikeres, de egy kulcs se található." + +#: lib/sshkey.tcl:121 +#, tcl-format +msgid "Your key is in: %s" +msgstr "A kulcsunk itt van: %s" + +#: lib/status_bar.tcl:83 +#, tcl-format +msgid "%s ... %*i of %*i %s (%3i%%)" +msgstr "%s ... %*i / %*i %s (%3i%%)" + +#: lib/tools.tcl:75 +#, tcl-format +msgid "Running %s requires a selected file." +msgstr "A(z) %s futtatása egy kiválasztott fájlt igényel." + +#: lib/tools.tcl:90 +#, tcl-format +msgid "Are you sure you want to run %s?" +msgstr "Biztos benne, hogy futtatni kívánja: %s?" + +#: lib/tools.tcl:110 +#, tcl-format +msgid "Tool: %s" +msgstr "Eszköz: %s" + +#: lib/tools.tcl:111 +#, tcl-format +msgid "Running: %s" +msgstr "Futtatás: %s..." + +#: lib/tools.tcl:149 +#, tcl-format +msgid "Tool completed succesfully: %s" +msgstr "Az eszköz sikeresen befejeződött: %s" + +#: lib/tools.tcl:151 +#, tcl-format +msgid "Tool failed: %s" +msgstr "Az eszköz sikertelen: %s" + +#: lib/tools_dlg.tcl:22 +msgid "Add Tool" +msgstr "Eszköz hozzáadása" + +#: lib/tools_dlg.tcl:28 +msgid "Add New Tool Command" +msgstr "Új eszköz-parancs hozzáadása" + +#: lib/tools_dlg.tcl:33 +msgid "Add globally" +msgstr "Globális hozzáadás" + +#: lib/tools_dlg.tcl:45 +msgid "Tool Details" +msgstr "Eszköz részletei" + +#: lib/tools_dlg.tcl:48 +msgid "Use '/' separators to create a submenu tree:" +msgstr "Használjunk '/' szeparátorokat almenü-fa létrehozásához:" + +#: lib/tools_dlg.tcl:61 +msgid "Command:" +msgstr "Parancs:" + +#: lib/tools_dlg.tcl:74 +msgid "Show a dialog before running" +msgstr "Parancsablak mutatása futtatás előtt" + +#: lib/tools_dlg.tcl:80 +msgid "Ask the user to select a revision (sets $REVISION)" +msgstr "" +"Megkéri a felhasználót, hogy válasszon ki egy revíziót (a $REVISION-t " +"állítja)" + +#: lib/tools_dlg.tcl:85 +msgid "Ask the user for additional arguments (sets $ARGS)" +msgstr "Megkérdezi a felhasználót további argumentumokért (a $ARGS-ot állítja)" + +#: lib/tools_dlg.tcl:92 +msgid "Don't show the command output window" +msgstr "Ne mutassa a parancs kimeneti ablakát" + +#: lib/tools_dlg.tcl:97 +msgid "Run only if a diff is selected ($FILENAME not empty)" +msgstr "Futtatás csak ha egy diff ki van választva (a $FILENAME nem üres)" + +#: lib/tools_dlg.tcl:121 +msgid "Please supply a name for the tool." +msgstr "Adjunk meg egy eszköz nevet." + +#: lib/tools_dlg.tcl:129 +#, tcl-format +msgid "Tool '%s' already exists." +msgstr "A(z) '%s' eszköz már létezik." + +#: lib/tools_dlg.tcl:151 +#, tcl-format +msgid "" +"Could not add tool:\n" +"%s" +msgstr "" +"Az eszköz nem hozzáadható:\n" +"%s" + +#: lib/tools_dlg.tcl:190 +msgid "Remove Tool" +msgstr "Eszköz eltávolítása" + +#: lib/tools_dlg.tcl:196 +msgid "Remove Tool Commands" +msgstr "Eszköz parancsok eltávolítása" + +#: lib/tools_dlg.tcl:200 +msgid "Remove" +msgstr "Eltávolítás" + +#: lib/tools_dlg.tcl:236 +msgid "(Blue denotes repository-local tools)" +msgstr "(Kék jelzi a repó-specifikus eszközöket)" + +#: lib/tools_dlg.tcl:297 +#, tcl-format +msgid "Run Command: %s" +msgstr "Parancs futtatása: %s" + +#: lib/tools_dlg.tcl:311 +msgid "Arguments" +msgstr "Argumentumok" + +#: lib/tools_dlg.tcl:348 +msgid "OK" +msgstr "OK" + +#: lib/transport.tcl:7 +#, tcl-format +msgid "Fetching new changes from %s" +msgstr "Új változások letöltése innen: %s" + +#: lib/transport.tcl:18 +#, tcl-format +msgid "remote prune %s" +msgstr "a(z) %s távoli törlése" + +#: lib/transport.tcl:19 +#, tcl-format +msgid "Pruning tracking branches deleted from %s" +msgstr "A %s repóból törölt követő branchek törlése" + +#: lib/transport.tcl:26 +#, tcl-format +msgid "Pushing changes to %s" +msgstr "Változások pusholása ide: %s" + - #: lib/transport.tcl:72 ++#: lib/transport.tcl:64 ++#, tcl-format ++msgid "Mirroring to %s" ++msgstr "Tükrözés a következő helyre: %s" ++ ++#: lib/transport.tcl:82 +#, tcl-format +msgid "Pushing %s %s to %s" +msgstr "Pusholás: %s %s, ide: %s" + - #: lib/transport.tcl:89 ++#: lib/transport.tcl:100 +msgid "Push Branches" +msgstr "Branchek pusholása" + - #: lib/transport.tcl:103 ++#: lib/transport.tcl:114 +msgid "Source Branches" +msgstr "Forrás branchek" + - #: lib/transport.tcl:120 ++#: lib/transport.tcl:131 +msgid "Destination Repository" +msgstr "Cél repó" + - #: lib/transport.tcl:158 ++#: lib/transport.tcl:169 +msgid "Transfer Options" +msgstr "Átviteli opciók" + - #: lib/transport.tcl:160 ++#: lib/transport.tcl:171 +msgid "Force overwrite existing branch (may discard changes)" +msgstr "" +"Létező branch felülírásának erőltetése (lehet, hogy el fog dobni " +"változtatásokat)" + - #: lib/transport.tcl:164 ++#: lib/transport.tcl:175 +msgid "Use thin pack (for slow network connections)" +msgstr "Vékony csomagok használata (lassú hálózati kapcsolatok számára)" + - #: lib/transport.tcl:168 ++#: lib/transport.tcl:179 +msgid "Include tags" +msgstr "Tageket is" + +#~ msgid "" +#~ "Unable to start gitk:\n" +#~ "\n" +#~ "%s does not exist" +#~ msgstr "" +#~ "A gitk indítása sikertelen:\n" +#~ "\n" +#~ "A(z) %s nem létezik" + +#~ msgid "Apple" +#~ msgstr "Apple" + +#~ msgid "URL:" +#~ msgstr "URL:" + +#~ msgid "Delete Remote Branch" +#~ msgstr "Távoli branch törlése" + +#~ msgid "Not connected to aspell" +#~ msgstr "Nincs kapcsolat az aspellhez" + +#~ msgid "Unstaged Changes (Will Not Be Committed)" +#~ msgstr "Nem kiválasztott változtatások (nem lesz commitolva)" + +#~ msgid "Push to %s..." +#~ msgstr "Pusholás ide: %s..." + +#~ msgid "Add Existing To Commit" +#~ msgstr "Hozzáadás létező commithoz" + +#~ msgid "Add Existing" +#~ msgstr "Létező hozzáadása" + +#~ msgid "" +#~ "Abort commit?\n" +#~ "\n" +#~ "Aborting the current commit will cause *ALL* uncommitted changes to be " +#~ "lost.\n" +#~ "\n" +#~ "Continue with aborting the current commit?" +#~ msgstr "" +#~ "Megszakítjuk a commitot?\n" +#~ "\n" +#~ "A jelenlegi commit megszakítása *MINDEN* nem commitolt változtatás " +#~ "elvesztését jelenti.\n" +#~ "\n" +#~ "Folytatjuk a jelenlegi commit megszakítását?" + +#~ msgid "Aborting... please wait..." +#~ msgstr "Megszakítás... várjunk..." diff --cc git-gui/po/it.po index 2ee30844f,000000000..294e59588 mode 100644,000000..100644 --- a/git-gui/po/it.po +++ b/git-gui/po/it.po @@@ -1,2571 -1,0 +1,2577 @@@ +# Translation of git-gui to Italian +# Copyright (C) 2007 Shawn Pearce +# This file is distributed under the same license as the git-gui package. +# Paolo Ciarrocchi , 2007 +# Michele Ballabio , 2007. +# +# +msgid "" +msgstr "" +"Project-Id-Version: git-gui\n" +"Report-Msgid-Bugs-To: \n" - "POT-Creation-Date: 2008-11-16 13:56-0800\n" - "PO-Revision-Date: 2008-11-17 16:04+0100\n" ++"POT-Creation-Date: 2008-12-08 08:31-0800\n" ++"PO-Revision-Date: 2008-12-09 13:04+0100\n" +"Last-Translator: Michele Ballabio \n" +"Language-Team: Italian \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: git-gui.sh:41 git-gui.sh:737 git-gui.sh:751 git-gui.sh:764 git-gui.sh:847 +#: git-gui.sh:866 +msgid "git-gui: fatal error" +msgstr "git-gui: errore grave" + +#: git-gui.sh:689 +#, tcl-format +msgid "Invalid font specified in %s:" +msgstr "Caratteri non validi specificati in %s:" + +#: git-gui.sh:723 +msgid "Main Font" +msgstr "Caratteri principali" + +#: git-gui.sh:724 +msgid "Diff/Console Font" +msgstr "Caratteri per confronti e terminale" + +#: git-gui.sh:738 +msgid "Cannot find git in PATH." +msgstr "Impossibile trovare git nel PATH" + +#: git-gui.sh:765 +msgid "Cannot parse Git version string:" +msgstr "Impossibile determinare la versione di Git:" + +#: git-gui.sh:783 +#, tcl-format +msgid "" +"Git version cannot be determined.\n" +"\n" +"%s claims it is version '%s'.\n" +"\n" +"%s requires at least Git 1.5.0 or later.\n" +"\n" +"Assume '%s' is version 1.5.0?\n" +msgstr "" +"La versione di Git non può essere determinata.\n" +"\n" +"%s riporta che la versione è '%s'.\n" +"\n" +"%s richiede almeno Git 1.5.0 o superiore.\n" +"\n" +"Assumere che '%s' sia alla versione 1.5.0?\n" + +#: git-gui.sh:1062 +msgid "Git directory not found:" +msgstr "Non trovo la directory di git: " + +#: git-gui.sh:1069 +msgid "Cannot move to top of working directory:" +msgstr "Impossibile spostarsi sulla directory principale del progetto:" + +#: git-gui.sh:1076 +msgid "Cannot use funny .git directory:" +msgstr "Impossibile usare una .git directory strana:" + +#: git-gui.sh:1081 +msgid "No working directory" +msgstr "Nessuna directory di lavoro" + +#: git-gui.sh:1247 lib/checkout_op.tcl:305 +msgid "Refreshing file status..." +msgstr "Controllo dello stato dei file in corso..." + +#: git-gui.sh:1303 +msgid "Scanning for modified files ..." +msgstr "Ricerca di file modificati in corso..." + +#: git-gui.sh:1367 +msgid "Calling prepare-commit-msg hook..." +msgstr "Avvio prepare-commit-msg hook..." + +#: git-gui.sh:1384 +msgid "Commit declined by prepare-commit-msg hook." +msgstr "Revisione rifiutata dal prepare-commit-msg hook." + +#: git-gui.sh:1542 lib/browser.tcl:246 +msgid "Ready." +msgstr "Pronto." + +#: git-gui.sh:1819 +msgid "Unmodified" +msgstr "Non modificato" + +#: git-gui.sh:1821 +msgid "Modified, not staged" +msgstr "Modificato, non preparato per una nuova revisione" + +#: git-gui.sh:1822 git-gui.sh:1830 +msgid "Staged for commit" +msgstr "Preparato per una nuova revisione" + +#: git-gui.sh:1823 git-gui.sh:1831 +msgid "Portions staged for commit" +msgstr "Parti preparate per una nuova revisione" + +#: git-gui.sh:1824 git-gui.sh:1832 +msgid "Staged for commit, missing" +msgstr "Preparato per una nuova revisione, mancante" + +#: git-gui.sh:1826 +msgid "File type changed, not staged" +msgstr "Tipo di file modificato, non preparato per una nuova revisione" + +#: git-gui.sh:1827 +msgid "File type changed, staged" +msgstr "Tipo di file modificato, preparato per una nuova revisione" + +#: git-gui.sh:1829 +msgid "Untracked, not staged" +msgstr "Non tracciato, non preparato per una nuova revisione" + +#: git-gui.sh:1834 +msgid "Missing" +msgstr "Mancante" + +#: git-gui.sh:1835 +msgid "Staged for removal" +msgstr "Preparato per la rimozione" + +#: git-gui.sh:1836 +msgid "Staged for removal, still present" +msgstr "Preparato alla rimozione, ancora presente" + +#: git-gui.sh:1838 git-gui.sh:1839 git-gui.sh:1840 git-gui.sh:1841 +#: git-gui.sh:1842 git-gui.sh:1843 +msgid "Requires merge resolution" +msgstr "Richiede risoluzione dei conflitti" + +#: git-gui.sh:1878 +msgid "Starting gitk... please wait..." +msgstr "Avvio di gitk... attendere..." + +#: git-gui.sh:1887 +msgid "Couldn't find gitk in PATH" +msgstr "Impossibile trovare gitk nel PATH" + +#: git-gui.sh:2280 lib/choose_repository.tcl:36 +msgid "Repository" +msgstr "Archivio" + +#: git-gui.sh:2281 +msgid "Edit" +msgstr "Modifica" + +#: git-gui.sh:2283 lib/choose_rev.tcl:561 +msgid "Branch" +msgstr "Ramo" + +#: git-gui.sh:2286 lib/choose_rev.tcl:548 +msgid "Commit@@noun" +msgstr "Revisione" + +#: git-gui.sh:2289 lib/merge.tcl:121 lib/merge.tcl:150 lib/merge.tcl:168 +msgid "Merge" +msgstr "Fusione (Merge)" + +#: git-gui.sh:2290 lib/choose_rev.tcl:557 +msgid "Remote" +msgstr "Remoto" + +#: git-gui.sh:2293 +msgid "Tools" +msgstr "Strumenti" + +#: git-gui.sh:2302 +msgid "Explore Working Copy" +msgstr "Esplora copia di lavoro" + +#: git-gui.sh:2307 +msgid "Browse Current Branch's Files" +msgstr "Esplora i file del ramo attuale" + +#: git-gui.sh:2311 +msgid "Browse Branch Files..." +msgstr "Esplora i file del ramo..." + +#: git-gui.sh:2316 +msgid "Visualize Current Branch's History" +msgstr "Visualizza la cronologia del ramo attuale" + +#: git-gui.sh:2320 +msgid "Visualize All Branch History" +msgstr "Visualizza la cronologia di tutti i rami" + +#: git-gui.sh:2327 +#, tcl-format +msgid "Browse %s's Files" +msgstr "Esplora i file di %s" + +#: git-gui.sh:2329 +#, tcl-format +msgid "Visualize %s's History" +msgstr "Visualizza la cronologia di %s" + +#: git-gui.sh:2334 lib/database.tcl:27 lib/database.tcl:67 +msgid "Database Statistics" +msgstr "Statistiche dell'archivio" + +#: git-gui.sh:2337 lib/database.tcl:34 +msgid "Compress Database" +msgstr "Comprimi l'archivio" + +#: git-gui.sh:2340 +msgid "Verify Database" +msgstr "Verifica l'archivio" + +#: git-gui.sh:2347 git-gui.sh:2351 git-gui.sh:2355 lib/shortcut.tcl:7 +#: lib/shortcut.tcl:39 lib/shortcut.tcl:71 +msgid "Create Desktop Icon" +msgstr "Crea icona desktop" + +#: git-gui.sh:2363 lib/choose_repository.tcl:183 lib/choose_repository.tcl:191 +msgid "Quit" +msgstr "Esci" + +#: git-gui.sh:2371 +msgid "Undo" +msgstr "Annulla" + +#: git-gui.sh:2374 +msgid "Redo" +msgstr "Ripeti" + - #: git-gui.sh:2378 git-gui.sh:2923 ++#: git-gui.sh:2378 git-gui.sh:2937 +msgid "Cut" +msgstr "Taglia" + - #: git-gui.sh:2381 git-gui.sh:2926 git-gui.sh:3000 git-gui.sh:3082 ++#: git-gui.sh:2381 git-gui.sh:2940 git-gui.sh:3014 git-gui.sh:3096 +#: lib/console.tcl:69 +msgid "Copy" +msgstr "Copia" + - #: git-gui.sh:2384 git-gui.sh:2929 ++#: git-gui.sh:2384 git-gui.sh:2943 +msgid "Paste" +msgstr "Incolla" + - #: git-gui.sh:2387 git-gui.sh:2932 lib/branch_delete.tcl:26 ++#: git-gui.sh:2387 git-gui.sh:2946 lib/branch_delete.tcl:26 +#: lib/remote_branch_delete.tcl:38 +msgid "Delete" +msgstr "Elimina" + - #: git-gui.sh:2391 git-gui.sh:2936 git-gui.sh:3086 lib/console.tcl:71 ++#: git-gui.sh:2391 git-gui.sh:2950 git-gui.sh:3100 lib/console.tcl:71 +msgid "Select All" +msgstr "Seleziona tutto" + +#: git-gui.sh:2400 +msgid "Create..." +msgstr "Crea..." + +#: git-gui.sh:2406 +msgid "Checkout..." +msgstr "Attiva..." + +#: git-gui.sh:2412 +msgid "Rename..." +msgstr "Rinomina" + +#: git-gui.sh:2417 +msgid "Delete..." +msgstr "Elimina..." + +#: git-gui.sh:2422 +msgid "Reset..." +msgstr "Ripristina..." + +#: git-gui.sh:2432 +msgid "Done" +msgstr "Fatto" + +#: git-gui.sh:2434 +msgid "Commit@@verb" +msgstr "Nuova revisione" + - #: git-gui.sh:2443 git-gui.sh:2864 ++#: git-gui.sh:2443 git-gui.sh:2878 +msgid "New Commit" +msgstr "Nuova revisione" + - #: git-gui.sh:2451 git-gui.sh:2871 ++#: git-gui.sh:2451 git-gui.sh:2885 +msgid "Amend Last Commit" +msgstr "Correggi l'ultima revisione" + - #: git-gui.sh:2461 git-gui.sh:2825 lib/remote_branch_delete.tcl:99 ++#: git-gui.sh:2461 git-gui.sh:2839 lib/remote_branch_delete.tcl:99 +msgid "Rescan" +msgstr "Analizza nuovamente" + +#: git-gui.sh:2467 +msgid "Stage To Commit" +msgstr "Prepara per una nuova revisione" + +#: git-gui.sh:2473 +msgid "Stage Changed Files To Commit" +msgstr "Prepara i file modificati per una nuova revisione" + +#: git-gui.sh:2479 +msgid "Unstage From Commit" +msgstr "Annulla preparazione" + +#: git-gui.sh:2484 lib/index.tcl:410 +msgid "Revert Changes" +msgstr "Annulla modifiche" + - #: git-gui.sh:2491 git-gui.sh:3069 ++#: git-gui.sh:2491 git-gui.sh:3083 +msgid "Show Less Context" +msgstr "Mostra meno contesto" + - #: git-gui.sh:2495 git-gui.sh:3073 ++#: git-gui.sh:2495 git-gui.sh:3087 +msgid "Show More Context" +msgstr "Mostra più contesto" + - #: git-gui.sh:2502 git-gui.sh:2838 git-gui.sh:2947 ++#: git-gui.sh:2502 git-gui.sh:2852 git-gui.sh:2961 +msgid "Sign Off" +msgstr "Sign Off" + +#: git-gui.sh:2518 +msgid "Local Merge..." +msgstr "Fusione locale..." + +#: git-gui.sh:2523 +msgid "Abort Merge..." +msgstr "Interrompi fusione..." + +#: git-gui.sh:2535 git-gui.sh:2575 +msgid "Add..." +msgstr "Aggiungi..." + +#: git-gui.sh:2539 +msgid "Push..." +msgstr "Propaga..." + +#: git-gui.sh:2543 +msgid "Delete Branch..." +msgstr "Elimina ramo..." + +#: git-gui.sh:2553 git-gui.sh:2589 lib/about.tcl:14 +#: lib/choose_repository.tcl:44 lib/choose_repository.tcl:53 +#, tcl-format +msgid "About %s" +msgstr "Informazioni su %s" + +#: git-gui.sh:2557 +msgid "Preferences..." +msgstr "Preferenze..." + - #: git-gui.sh:2565 git-gui.sh:3115 ++#: git-gui.sh:2565 git-gui.sh:3129 +msgid "Options..." +msgstr "Opzioni..." + +#: git-gui.sh:2576 +msgid "Remove..." +msgstr "Rimuovi..." + +#: git-gui.sh:2585 lib/choose_repository.tcl:50 +msgid "Help" +msgstr "Aiuto" + +#: git-gui.sh:2611 +msgid "Online Documentation" +msgstr "Documentazione sul web" + +#: git-gui.sh:2614 lib/choose_repository.tcl:47 lib/choose_repository.tcl:56 +msgid "Show SSH Key" +msgstr "Mostra chave SSH" + - #: git-gui.sh:2707 ++#: git-gui.sh:2721 +#, tcl-format +msgid "fatal: cannot stat path %s: No such file or directory" +msgstr "" +"errore grave: impossibile effettuare lo stat del path %s: file o directory " +"non trovata" + - #: git-gui.sh:2740 ++#: git-gui.sh:2754 +msgid "Current Branch:" +msgstr "Ramo attuale:" + - #: git-gui.sh:2761 ++#: git-gui.sh:2775 +msgid "Staged Changes (Will Commit)" +msgstr "Modifiche preparate (saranno nella nuova revisione)" + - #: git-gui.sh:2781 ++#: git-gui.sh:2795 +msgid "Unstaged Changes" +msgstr "Modifiche non preparate" + - #: git-gui.sh:2831 ++#: git-gui.sh:2845 +msgid "Stage Changed" +msgstr "Prepara modificati" + - #: git-gui.sh:2850 lib/transport.tcl:93 lib/transport.tcl:182 ++#: git-gui.sh:2864 lib/transport.tcl:104 lib/transport.tcl:193 +msgid "Push" +msgstr "Propaga (Push)" + - #: git-gui.sh:2885 ++#: git-gui.sh:2899 +msgid "Initial Commit Message:" +msgstr "Messaggio di revisione iniziale:" + - #: git-gui.sh:2886 ++#: git-gui.sh:2900 +msgid "Amended Commit Message:" +msgstr "Messaggio di revisione corretto:" + - #: git-gui.sh:2887 ++#: git-gui.sh:2901 +msgid "Amended Initial Commit Message:" +msgstr "Messaggio iniziale di revisione corretto:" + - #: git-gui.sh:2888 ++#: git-gui.sh:2902 +msgid "Amended Merge Commit Message:" +msgstr "Messaggio di fusione corretto:" + - #: git-gui.sh:2889 ++#: git-gui.sh:2903 +msgid "Merge Commit Message:" +msgstr "Messaggio di fusione:" + - #: git-gui.sh:2890 ++#: git-gui.sh:2904 +msgid "Commit Message:" +msgstr "Messaggio di revisione:" + - #: git-gui.sh:2939 git-gui.sh:3090 lib/console.tcl:73 ++#: git-gui.sh:2953 git-gui.sh:3104 lib/console.tcl:73 +msgid "Copy All" +msgstr "Copia tutto" + - #: git-gui.sh:2963 lib/blame.tcl:104 ++#: git-gui.sh:2977 lib/blame.tcl:104 +msgid "File:" +msgstr "File:" + - #: git-gui.sh:3078 ++#: git-gui.sh:3092 +msgid "Refresh" +msgstr "Rinfresca" + - #: git-gui.sh:3099 ++#: git-gui.sh:3113 +msgid "Decrease Font Size" +msgstr "Diminuisci dimensione caratteri" + - #: git-gui.sh:3103 ++#: git-gui.sh:3117 +msgid "Increase Font Size" +msgstr "Aumenta dimensione caratteri" + - #: git-gui.sh:3111 lib/blame.tcl:281 ++#: git-gui.sh:3125 lib/blame.tcl:281 +msgid "Encoding" +msgstr "Codifica" + - #: git-gui.sh:3122 ++#: git-gui.sh:3136 +msgid "Apply/Reverse Hunk" +msgstr "Applica/Inverti sezione" + - #: git-gui.sh:3127 ++#: git-gui.sh:3141 +msgid "Apply/Reverse Line" +msgstr "Applica/Inverti riga" + - #: git-gui.sh:3137 ++#: git-gui.sh:3151 +msgid "Run Merge Tool" +msgstr "Avvia programma esterno per la risoluzione dei conflitti" + - #: git-gui.sh:3142 ++#: git-gui.sh:3156 +msgid "Use Remote Version" +msgstr "Usa versione remota" + - #: git-gui.sh:3146 ++#: git-gui.sh:3160 +msgid "Use Local Version" +msgstr "Usa versione locale" + - #: git-gui.sh:3150 ++#: git-gui.sh:3164 +msgid "Revert To Base" +msgstr "Ritorna alla revisione comune" + - #: git-gui.sh:3169 ++#: git-gui.sh:3183 +msgid "Unstage Hunk From Commit" +msgstr "Annulla preparazione della sezione per una nuova revisione" + - #: git-gui.sh:3170 ++#: git-gui.sh:3184 +msgid "Unstage Line From Commit" +msgstr "Annulla preparazione della linea per una nuova revisione" + - #: git-gui.sh:3172 ++#: git-gui.sh:3186 +msgid "Stage Hunk For Commit" +msgstr "Prepara sezione per una nuova revisione" + - #: git-gui.sh:3173 ++#: git-gui.sh:3187 +msgid "Stage Line For Commit" +msgstr "Prepara linea per una nuova revisione" + - #: git-gui.sh:3196 ++#: git-gui.sh:3210 +msgid "Initializing..." +msgstr "Inizializzazione..." + - #: git-gui.sh:3301 ++#: git-gui.sh:3315 +#, tcl-format +msgid "" +"Possible environment issues exist.\n" +"\n" +"The following environment variables are probably\n" +"going to be ignored by any Git subprocess run\n" +"by %s:\n" +"\n" +msgstr "" +"Possibili problemi con le variabili d'ambiente.\n" +"\n" +"Le seguenti variabili d'ambiente saranno probabilmente\n" +"ignorate da tutti i sottoprocessi di Git avviati\n" +"da %s:\n" +"\n" + - #: git-gui.sh:3331 ++#: git-gui.sh:3345 +msgid "" +"\n" +"This is due to a known issue with the\n" +"Tcl binary distributed by Cygwin." +msgstr "" +"\n" +"Ciò è dovuto a un problema conosciuto\n" +"causato dall'eseguibile Tcl distribuito da Cygwin." + - #: git-gui.sh:3336 ++#: git-gui.sh:3350 +#, tcl-format +msgid "" +"\n" +"\n" +"A good replacement for %s\n" +"is placing values for the user.name and\n" +"user.email settings into your personal\n" +"~/.gitconfig file.\n" +msgstr "" +"\n" +"\n" +"Una buona alternativa a %s\n" +"consiste nell'assegnare valori alle variabili di configurazione\n" +"user.name e user.email nel tuo file ~/.gitconfig personale.\n" + +#: lib/about.tcl:26 +msgid "git-gui - a graphical user interface for Git." +msgstr "git-gui - un'interfaccia grafica per Git." + +#: lib/blame.tcl:72 +msgid "File Viewer" +msgstr "Mostra file" + +#: lib/blame.tcl:78 +msgid "Commit:" +msgstr "Revisione:" + +#: lib/blame.tcl:271 +msgid "Copy Commit" +msgstr "Copia revisione" + +#: lib/blame.tcl:275 +msgid "Find Text..." +msgstr "Trova testo..." + +#: lib/blame.tcl:284 +msgid "Do Full Copy Detection" +msgstr "Ricerca accurata delle copie" + +#: lib/blame.tcl:288 +msgid "Show History Context" +msgstr "Mostra contesto nella cronologia" + +#: lib/blame.tcl:291 +msgid "Blame Parent Commit" +msgstr "Annota la revisione precedente" + +#: lib/blame.tcl:450 +#, tcl-format +msgid "Reading %s..." +msgstr "Lettura di %s..." + +#: lib/blame.tcl:557 +msgid "Loading copy/move tracking annotations..." +msgstr "Caricamento annotazioni per copie/spostamenti..." + +#: lib/blame.tcl:577 +msgid "lines annotated" +msgstr "linee annotate" + +#: lib/blame.tcl:769 +msgid "Loading original location annotations..." +msgstr "Caricamento annotazioni per posizione originaria..." + +#: lib/blame.tcl:772 +msgid "Annotation complete." +msgstr "Annotazione completata." + +#: lib/blame.tcl:802 +msgid "Busy" +msgstr "Occupato" + +#: lib/blame.tcl:803 +msgid "Annotation process is already running." +msgstr "Il processo di annotazione è già in corso." + +#: lib/blame.tcl:842 +msgid "Running thorough copy detection..." +msgstr "Ricerca accurata delle copie in corso..." + +#: lib/blame.tcl:910 +msgid "Loading annotation..." +msgstr "Caricamento annotazioni..." + - #: lib/blame.tcl:964 ++#: lib/blame.tcl:963 +msgid "Author:" +msgstr "Autore:" + - #: lib/blame.tcl:968 ++#: lib/blame.tcl:967 +msgid "Committer:" +msgstr "Revisione creata da:" + - #: lib/blame.tcl:973 ++#: lib/blame.tcl:972 +msgid "Original File:" +msgstr "File originario:" + - #: lib/blame.tcl:1021 ++#: lib/blame.tcl:1020 +msgid "Cannot find HEAD commit:" +msgstr "Impossibile trovare la revisione HEAD:" + - #: lib/blame.tcl:1076 ++#: lib/blame.tcl:1075 +msgid "Cannot find parent commit:" +msgstr "Impossibile trovare la revisione precedente:" + - #: lib/blame.tcl:1091 ++#: lib/blame.tcl:1090 +msgid "Unable to display parent" +msgstr "Impossibile visualizzare la revisione precedente" + - #: lib/blame.tcl:1092 lib/diff.tcl:297 ++#: lib/blame.tcl:1091 lib/diff.tcl:297 +msgid "Error loading diff:" +msgstr "Errore nel caricamento delle differenze:" + - #: lib/blame.tcl:1232 ++#: lib/blame.tcl:1231 +msgid "Originally By:" +msgstr "In origine da:" + - #: lib/blame.tcl:1238 ++#: lib/blame.tcl:1237 +msgid "In File:" +msgstr "Nel file:" + - #: lib/blame.tcl:1243 ++#: lib/blame.tcl:1242 +msgid "Copied Or Moved Here By:" +msgstr "Copiato o spostato qui da:" + +#: lib/branch_checkout.tcl:14 lib/branch_checkout.tcl:19 +msgid "Checkout Branch" +msgstr "Attiva ramo" + +#: lib/branch_checkout.tcl:23 +msgid "Checkout" +msgstr "Attiva" + +#: lib/branch_checkout.tcl:27 lib/branch_create.tcl:35 +#: lib/branch_delete.tcl:32 lib/branch_rename.tcl:30 lib/browser.tcl:282 +#: lib/checkout_op.tcl:544 lib/choose_font.tcl:43 lib/merge.tcl:172 +#: lib/option.tcl:125 lib/remote_add.tcl:32 lib/remote_branch_delete.tcl:42 +#: lib/tools_dlg.tcl:40 lib/tools_dlg.tcl:204 lib/tools_dlg.tcl:352 - #: lib/transport.tcl:97 ++#: lib/transport.tcl:108 +msgid "Cancel" +msgstr "Annulla" + +#: lib/branch_checkout.tcl:32 lib/browser.tcl:287 lib/tools_dlg.tcl:328 +msgid "Revision" +msgstr "Revisione" + +#: lib/branch_checkout.tcl:36 lib/branch_create.tcl:69 lib/option.tcl:280 +msgid "Options" +msgstr "Opzioni" + +#: lib/branch_checkout.tcl:39 lib/branch_create.tcl:92 +msgid "Fetch Tracking Branch" +msgstr "Recupera duplicato locale di ramo remoto" + +#: lib/branch_checkout.tcl:44 +msgid "Detach From Local Branch" +msgstr "Stacca da ramo locale" + +#: lib/branch_create.tcl:22 +msgid "Create Branch" +msgstr "Crea ramo" + +#: lib/branch_create.tcl:27 +msgid "Create New Branch" +msgstr "Crea nuovo ramo" + +#: lib/branch_create.tcl:31 lib/choose_repository.tcl:377 +msgid "Create" +msgstr "Crea" + +#: lib/branch_create.tcl:40 +msgid "Branch Name" +msgstr "Nome del ramo" + +#: lib/branch_create.tcl:43 lib/remote_add.tcl:39 lib/tools_dlg.tcl:50 +msgid "Name:" +msgstr "Nome:" + +#: lib/branch_create.tcl:58 +msgid "Match Tracking Branch Name" +msgstr "Appaia nome del duplicato locale di ramo remoto" + +#: lib/branch_create.tcl:66 +msgid "Starting Revision" +msgstr "Revisione iniziale" + +#: lib/branch_create.tcl:72 +msgid "Update Existing Branch:" +msgstr "Aggiorna ramo esistente:" + +#: lib/branch_create.tcl:75 +msgid "No" +msgstr "No" + +#: lib/branch_create.tcl:80 +msgid "Fast Forward Only" +msgstr "Solo fast forward" + +#: lib/branch_create.tcl:85 lib/checkout_op.tcl:536 +msgid "Reset" +msgstr "Ripristina" + +#: lib/branch_create.tcl:97 +msgid "Checkout After Creation" +msgstr "Attiva dopo la creazione" + +#: lib/branch_create.tcl:131 +msgid "Please select a tracking branch." +msgstr "Scegliere un duplicato locale di ramo remoto" + +#: lib/branch_create.tcl:140 +#, tcl-format +msgid "Tracking branch %s is not a branch in the remote repository." +msgstr "" +"Il duplicato locale del ramo remoto %s non è un ramo nell'archivio remoto." + +#: lib/branch_create.tcl:153 lib/branch_rename.tcl:86 +msgid "Please supply a branch name." +msgstr "Inserire un nome per il ramo." + +#: lib/branch_create.tcl:164 lib/branch_rename.tcl:106 +#, tcl-format +msgid "'%s' is not an acceptable branch name." +msgstr "'%s' non è utilizzabile come nome di ramo." + +#: lib/branch_delete.tcl:15 +msgid "Delete Branch" +msgstr "Elimina ramo" + +#: lib/branch_delete.tcl:20 +msgid "Delete Local Branch" +msgstr "Elimina ramo locale" + +#: lib/branch_delete.tcl:37 +msgid "Local Branches" +msgstr "Rami locali" + +#: lib/branch_delete.tcl:52 +msgid "Delete Only If Merged Into" +msgstr "Cancella solo se fuso con un altro ramo" + +#: lib/branch_delete.tcl:54 +msgid "Always (Do not perform merge test.)" +msgstr "Sempre (Non effettuare verifiche di fusione)." + +#: lib/branch_delete.tcl:103 +#, tcl-format +msgid "The following branches are not completely merged into %s:" +msgstr "I rami seguenti non sono stati fusi completamente in %s:" + +#: lib/branch_delete.tcl:115 +msgid "" +"Recovering deleted branches is difficult. \n" +"\n" +" Delete the selected branches?" +msgstr "" +"Ricomporre rami cancellati può essere complicato. \n" +"\n" +" Eliminare i rami selezionati?" + +#: lib/branch_delete.tcl:141 +#, tcl-format +msgid "" +"Failed to delete branches:\n" +"%s" +msgstr "" +"Impossibile cancellare i rami:\n" +"%s" + +#: lib/branch_rename.tcl:14 lib/branch_rename.tcl:22 +msgid "Rename Branch" +msgstr "Rinomina ramo" + +#: lib/branch_rename.tcl:26 +msgid "Rename" +msgstr "Rinomina" + +#: lib/branch_rename.tcl:36 +msgid "Branch:" +msgstr "Ramo:" + +#: lib/branch_rename.tcl:39 +msgid "New Name:" +msgstr "Nuovo Nome:" + +#: lib/branch_rename.tcl:75 +msgid "Please select a branch to rename." +msgstr "Scegliere un ramo da rinominare." + +#: lib/branch_rename.tcl:96 lib/checkout_op.tcl:201 +#, tcl-format +msgid "Branch '%s' already exists." +msgstr "Il ramo '%s' esiste già." + +#: lib/branch_rename.tcl:117 +#, tcl-format +msgid "Failed to rename '%s'." +msgstr "Impossibile rinominare '%s'." + +#: lib/browser.tcl:17 +msgid "Starting..." +msgstr "Avvio in corso..." + +#: lib/browser.tcl:26 +msgid "File Browser" +msgstr "File browser" + +#: lib/browser.tcl:126 lib/browser.tcl:143 +#, tcl-format +msgid "Loading %s..." +msgstr "Caricamento %s..." + +#: lib/browser.tcl:187 +msgid "[Up To Parent]" +msgstr "[Directory superiore]" + +#: lib/browser.tcl:267 lib/browser.tcl:273 +msgid "Browse Branch Files" +msgstr "Esplora i file del ramo" + +#: lib/browser.tcl:278 lib/choose_repository.tcl:394 +#: lib/choose_repository.tcl:480 lib/choose_repository.tcl:491 +#: lib/choose_repository.tcl:995 +msgid "Browse" +msgstr "Esplora" + +#: lib/checkout_op.tcl:84 +#, tcl-format +msgid "Fetching %s from %s" +msgstr "Recupero %s da %s" + +#: lib/checkout_op.tcl:132 +#, tcl-format +msgid "fatal: Cannot resolve %s" +msgstr "errore grave: impossibile risolvere %s" + +#: lib/checkout_op.tcl:145 lib/console.tcl:81 lib/database.tcl:31 +#: lib/sshkey.tcl:53 +msgid "Close" +msgstr "Chiudi" + +#: lib/checkout_op.tcl:174 +#, tcl-format +msgid "Branch '%s' does not exist." +msgstr "Il ramo '%s' non esiste." + +#: lib/checkout_op.tcl:193 +#, tcl-format +msgid "Failed to configure simplified git-pull for '%s'." +msgstr "Impossibile configurare git-pull semplificato per '%s'." + +#: lib/checkout_op.tcl:228 +#, tcl-format +msgid "" +"Branch '%s' already exists.\n" +"\n" +"It cannot fast-forward to %s.\n" +"A merge is required." +msgstr "" +"Il ramo '%s' esiste già.\n" +"\n" +"Non può effettuare un 'fast-forward' a %s.\n" +"E' necessaria una fusione." + +#: lib/checkout_op.tcl:242 +#, tcl-format +msgid "Merge strategy '%s' not supported." +msgstr "La strategia di fusione '%s' non è supportata." + +#: lib/checkout_op.tcl:261 +#, tcl-format +msgid "Failed to update '%s'." +msgstr "Impossibile aggiornare '%s'." + +#: lib/checkout_op.tcl:273 +msgid "Staging area (index) is already locked." +msgstr "" +"L'area di preparazione per una nuova revisione (indice) è già bloccata." + +#: lib/checkout_op.tcl:288 +msgid "" +"Last scanned state does not match repository state.\n" +"\n" +"Another Git program has modified this repository since the last scan. A " +"rescan must be performed before the current branch can be changed.\n" +"\n" +"The rescan will be automatically started now.\n" +msgstr "" +"L'ultimo stato analizzato non corrisponde allo stato dell'archivio.\n" +"\n" +"Un altro programma Git ha modificato questo archivio dall'ultima analisi. " +"Bisogna effettuare una nuova analisi prima di poter cambiare il ramo " +"attuale.\n" +"\n" +"La nuova analisi comincerà ora.\n" + +#: lib/checkout_op.tcl:344 +#, tcl-format +msgid "Updating working directory to '%s'..." +msgstr "Aggiornamento della directory di lavoro a '%s' in corso..." + +#: lib/checkout_op.tcl:345 +msgid "files checked out" +msgstr "file presenti nella directory di lavoro" + +#: lib/checkout_op.tcl:375 +#, tcl-format +msgid "Aborted checkout of '%s' (file level merging is required)." +msgstr "Attivazione di '%s' fallita (richiesta una fusione a livello file)." + +#: lib/checkout_op.tcl:376 +msgid "File level merge required." +msgstr "E' richiesta una fusione a livello file." + +#: lib/checkout_op.tcl:380 +#, tcl-format +msgid "Staying on branch '%s'." +msgstr "Si rimarrà sul ramo '%s'." + +#: lib/checkout_op.tcl:451 +msgid "" +"You are no longer on a local branch.\n" +"\n" +"If you wanted to be on a branch, create one now starting from 'This Detached " +"Checkout'." +msgstr "" +"Non si è più su un ramo locale\n" +"\n" +"Se si vuole rimanere su un ramo, crearne uno ora a partire da 'Questa " +"revisione attiva staccata'." + +#: lib/checkout_op.tcl:468 lib/checkout_op.tcl:472 +#, tcl-format +msgid "Checked out '%s'." +msgstr "Attivazione di '%s' completata." + +#: lib/checkout_op.tcl:500 +#, tcl-format +msgid "Resetting '%s' to '%s' will lose the following commits:" +msgstr "" +"Ripristinare '%s' a '%s' comporterà la perdita delle seguenti revisioni:" + +#: lib/checkout_op.tcl:522 +msgid "Recovering lost commits may not be easy." +msgstr "Ricomporre le revisioni perdute potrebbe non essere semplice." + +#: lib/checkout_op.tcl:527 +#, tcl-format +msgid "Reset '%s'?" +msgstr "Ripristinare '%s'?" + +#: lib/checkout_op.tcl:532 lib/merge.tcl:164 lib/tools_dlg.tcl:343 +msgid "Visualize" +msgstr "Visualizza" + +#: lib/checkout_op.tcl:600 +#, tcl-format +msgid "" +"Failed to set current branch.\n" +"\n" +"This working directory is only partially switched. We successfully updated " +"your files, but failed to update an internal Git file.\n" +"\n" +"This should not have occurred. %s will now close and give up." +msgstr "" +"Impossibile preparare il ramo attuale.\n" +"\n" +"Questa directory di lavoro è stata convertita solo parzialmente. I file sono " +"stati aggiornati correttamente, ma l'aggiornamento di un file di Git ha " +"prodotto degli errori.\n" +"\n" +"Questo non sarebbe dovuto succedere. %s ora terminerà senza altre azioni." + +#: lib/choose_font.tcl:39 +msgid "Select" +msgstr "Seleziona" + +#: lib/choose_font.tcl:53 +msgid "Font Family" +msgstr "Famiglia di caratteri" + +#: lib/choose_font.tcl:74 +msgid "Font Size" +msgstr "Dimensione caratteri" + +#: lib/choose_font.tcl:91 +msgid "Font Example" +msgstr "Esempio caratteri" + +#: lib/choose_font.tcl:103 +msgid "" +"This is example text.\n" +"If you like this text, it can be your font." +msgstr "" +"Questo è un testo d'esempio.\n" +"Se ti piace questo testo, scegli questo carattere." + +#: lib/choose_repository.tcl:28 +msgid "Git Gui" +msgstr "Git Gui" + +#: lib/choose_repository.tcl:87 lib/choose_repository.tcl:382 +msgid "Create New Repository" +msgstr "Crea nuovo archivio" + +#: lib/choose_repository.tcl:93 +msgid "New..." +msgstr "Nuovo..." + +#: lib/choose_repository.tcl:100 lib/choose_repository.tcl:465 +msgid "Clone Existing Repository" +msgstr "Clona archivio esistente" + +#: lib/choose_repository.tcl:106 +msgid "Clone..." +msgstr "Clona..." + +#: lib/choose_repository.tcl:113 lib/choose_repository.tcl:983 +msgid "Open Existing Repository" +msgstr "Apri archivio esistente" + +#: lib/choose_repository.tcl:119 +msgid "Open..." +msgstr "Apri..." + +#: lib/choose_repository.tcl:132 +msgid "Recent Repositories" +msgstr "Archivi recenti" + +#: lib/choose_repository.tcl:138 +msgid "Open Recent Repository:" +msgstr "Apri archivio recente:" + +#: lib/choose_repository.tcl:302 lib/choose_repository.tcl:309 +#: lib/choose_repository.tcl:316 +#, tcl-format +msgid "Failed to create repository %s:" +msgstr "Impossibile creare l'archivio %s:" + +#: lib/choose_repository.tcl:387 +msgid "Directory:" +msgstr "Directory:" + +#: lib/choose_repository.tcl:417 lib/choose_repository.tcl:544 +#: lib/choose_repository.tcl:1017 +msgid "Git Repository" +msgstr "Archivio Git" + +#: lib/choose_repository.tcl:442 +#, tcl-format +msgid "Directory %s already exists." +msgstr "La directory %s esiste già." + +#: lib/choose_repository.tcl:446 +#, tcl-format +msgid "File %s already exists." +msgstr "Il file %s esiste già." + +#: lib/choose_repository.tcl:460 +msgid "Clone" +msgstr "Clona" + +#: lib/choose_repository.tcl:473 +msgid "Source Location:" +msgstr "Posizione sorgente:" + +#: lib/choose_repository.tcl:484 +msgid "Target Directory:" +msgstr "Directory di destinazione:" + +#: lib/choose_repository.tcl:496 +msgid "Clone Type:" +msgstr "Tipo di clone:" + +#: lib/choose_repository.tcl:502 +msgid "Standard (Fast, Semi-Redundant, Hardlinks)" +msgstr "Standard (veloce, semi-ridondante, con hardlink)" + +#: lib/choose_repository.tcl:508 +msgid "Full Copy (Slower, Redundant Backup)" +msgstr "Copia completa (più lento, backup ridondante)" + +#: lib/choose_repository.tcl:514 +msgid "Shared (Fastest, Not Recommended, No Backup)" +msgstr "Shared (il più veloce, non raccomandato, nessun backup)" + +#: lib/choose_repository.tcl:550 lib/choose_repository.tcl:597 +#: lib/choose_repository.tcl:743 lib/choose_repository.tcl:813 +#: lib/choose_repository.tcl:1023 lib/choose_repository.tcl:1031 +#, tcl-format +msgid "Not a Git repository: %s" +msgstr "%s non è un archivio Git." + +#: lib/choose_repository.tcl:586 +msgid "Standard only available for local repository." +msgstr "Standard è disponibile solo per archivi locali." + +#: lib/choose_repository.tcl:590 +msgid "Shared only available for local repository." +msgstr "Shared è disponibile solo per archivi locali." + +#: lib/choose_repository.tcl:611 +#, tcl-format +msgid "Location %s already exists." +msgstr "Il file/directory %s esiste già." + +#: lib/choose_repository.tcl:622 +msgid "Failed to configure origin" +msgstr "Impossibile configurare origin" + +#: lib/choose_repository.tcl:634 +msgid "Counting objects" +msgstr "Calcolo oggetti" + +#: lib/choose_repository.tcl:635 +msgid "buckets" +msgstr "" + +#: lib/choose_repository.tcl:659 +#, tcl-format +msgid "Unable to copy objects/info/alternates: %s" +msgstr "Impossibile copiare oggetti/info/alternate: %s" + +#: lib/choose_repository.tcl:695 +#, tcl-format +msgid "Nothing to clone from %s." +msgstr "Niente da clonare da %s." + +#: lib/choose_repository.tcl:697 lib/choose_repository.tcl:911 +#: lib/choose_repository.tcl:923 +msgid "The 'master' branch has not been initialized." +msgstr "Il ramo 'master' non è stato inizializzato." + +#: lib/choose_repository.tcl:710 +msgid "Hardlinks are unavailable. Falling back to copying." +msgstr "Impossibile utilizzare gli hardlink. Si ricorrerà alla copia." + +#: lib/choose_repository.tcl:722 +#, tcl-format +msgid "Cloning from %s" +msgstr "Clonazione da %s" + +#: lib/choose_repository.tcl:753 +msgid "Copying objects" +msgstr "Copia degli oggetti" + +#: lib/choose_repository.tcl:754 +msgid "KiB" +msgstr "KiB" + +#: lib/choose_repository.tcl:778 +#, tcl-format +msgid "Unable to copy object: %s" +msgstr "Impossibile copiare oggetto: %s" + +#: lib/choose_repository.tcl:788 +msgid "Linking objects" +msgstr "Collegamento oggetti" + +#: lib/choose_repository.tcl:789 +msgid "objects" +msgstr "oggetti" + +#: lib/choose_repository.tcl:797 +#, tcl-format +msgid "Unable to hardlink object: %s" +msgstr "Hardlink impossibile sull'oggetto: %s" + +#: lib/choose_repository.tcl:852 +msgid "Cannot fetch branches and objects. See console output for details." +msgstr "" +"Impossibile recuperare rami e oggetti. Controllare i dettagli forniti dalla " +"console." + +#: lib/choose_repository.tcl:863 +msgid "Cannot fetch tags. See console output for details." +msgstr "" +"Impossibile recuperare le etichette. Controllare i dettagli forniti dalla " +"console." + +#: lib/choose_repository.tcl:887 +msgid "Cannot determine HEAD. See console output for details." +msgstr "" +"Impossibile determinare HEAD. Controllare i dettagli forniti dalla console." + +#: lib/choose_repository.tcl:896 +#, tcl-format +msgid "Unable to cleanup %s" +msgstr "Impossibile ripulire %s" + +#: lib/choose_repository.tcl:902 +msgid "Clone failed." +msgstr "Clonazione non riuscita." + +#: lib/choose_repository.tcl:909 +msgid "No default branch obtained." +msgstr "Non è stato trovato un ramo predefinito." + +#: lib/choose_repository.tcl:920 +#, tcl-format +msgid "Cannot resolve %s as a commit." +msgstr "Impossibile risolvere %s come una revisione." + +#: lib/choose_repository.tcl:932 +msgid "Creating working directory" +msgstr "Creazione directory di lavoro" + +#: lib/choose_repository.tcl:933 lib/index.tcl:65 lib/index.tcl:128 +#: lib/index.tcl:196 +msgid "files" +msgstr "file" + +#: lib/choose_repository.tcl:962 +msgid "Initial file checkout failed." +msgstr "Attivazione iniziale non riuscita." + +#: lib/choose_repository.tcl:978 +msgid "Open" +msgstr "Apri" + +#: lib/choose_repository.tcl:988 +msgid "Repository:" +msgstr "Archivio:" + +#: lib/choose_repository.tcl:1037 +#, tcl-format +msgid "Failed to open repository %s:" +msgstr "Impossibile accedere all'archivio %s:" + +#: lib/choose_rev.tcl:53 +msgid "This Detached Checkout" +msgstr "Questa revisione attiva staccata" + +#: lib/choose_rev.tcl:60 +msgid "Revision Expression:" +msgstr "Espressione di revisione:" + +#: lib/choose_rev.tcl:74 +msgid "Local Branch" +msgstr "Ramo locale" + +#: lib/choose_rev.tcl:79 +msgid "Tracking Branch" +msgstr "Duplicato locale di ramo remoto" + +#: lib/choose_rev.tcl:84 lib/choose_rev.tcl:538 +msgid "Tag" +msgstr "Etichetta" + +#: lib/choose_rev.tcl:317 +#, tcl-format +msgid "Invalid revision: %s" +msgstr "Revisione non valida: %s" + +#: lib/choose_rev.tcl:338 +msgid "No revision selected." +msgstr "Nessuna revisione selezionata." + +#: lib/choose_rev.tcl:346 +msgid "Revision expression is empty." +msgstr "L'espressione di revisione è vuota." + +#: lib/choose_rev.tcl:531 +msgid "Updated" +msgstr "Aggiornato" + +#: lib/choose_rev.tcl:559 +msgid "URL" +msgstr "URL" + +#: lib/commit.tcl:9 +msgid "" +"There is nothing to amend.\n" +"\n" +"You are about to create the initial commit. There is no commit before this " +"to amend.\n" +msgstr "" +"Non c'è niente da correggere.\n" +"\n" +"Stai per creare la revisione iniziale. Non esiste una revisione precedente " +"da correggere.\n" + +#: lib/commit.tcl:18 +msgid "" +"Cannot amend while merging.\n" +"\n" +"You are currently in the middle of a merge that has not been fully " +"completed. You cannot amend the prior commit unless you first abort the " +"current merge activity.\n" +msgstr "" +"Non è possibile effettuare una correzione durante una fusione.\n" +"\n" +"In questo momento si sta effettuando una fusione che non è stata del tutto " +"completata. Non puoi correggere la revisione precedente a meno che prima tu " +"non interrompa l'operazione di fusione in corso.\n" + - #: lib/commit.tcl:49 ++#: lib/commit.tcl:48 +msgid "Error loading commit data for amend:" +msgstr "Errore durante il caricamento dei dati della revisione da correggere:" + - #: lib/commit.tcl:76 ++#: lib/commit.tcl:75 +msgid "Unable to obtain your identity:" +msgstr "Impossibile ottenere la tua identità:" + - #: lib/commit.tcl:81 ++#: lib/commit.tcl:80 +msgid "Invalid GIT_COMMITTER_IDENT:" +msgstr "GIT_COMMITTER_IDENT non valida:" + - #: lib/commit.tcl:133 ++#: lib/commit.tcl:132 +msgid "" +"Last scanned state does not match repository state.\n" +"\n" +"Another Git program has modified this repository since the last scan. A " +"rescan must be performed before another commit can be created.\n" +"\n" +"The rescan will be automatically started now.\n" +msgstr "" +"L'ultimo stato analizzato non corrisponde allo stato dell'archivio.\n" +"\n" +"Un altro programma Git ha modificato questo archivio dall'ultima analisi. " +"Bisogna effettuare una nuova analisi prima di poter creare una nuova " +"revisione.\n" +"\n" +"La nuova analisi comincerà ora.\n" + - #: lib/commit.tcl:156 ++#: lib/commit.tcl:155 +#, tcl-format +msgid "" +"Unmerged files cannot be committed.\n" +"\n" +"File %s has merge conflicts. You must resolve them and stage the file " +"before committing.\n" +msgstr "" +"Non è possibile creare una revisione con file non sottoposti a fusione.\n" +"\n" +"Il file %s presenta dei conflitti. Devi risolverli e preparare il file per " +"creare una nuova revisione prima di effettuare questa azione.\n" + - #: lib/commit.tcl:164 ++#: lib/commit.tcl:163 +#, tcl-format +msgid "" +"Unknown file state %s detected.\n" +"\n" +"File %s cannot be committed by this program.\n" +msgstr "" +"Stato di file %s sconosciuto.\n" +"\n" +"Questo programma non può creare una revisione contenente il file %s.\n" + - #: lib/commit.tcl:172 ++#: lib/commit.tcl:171 +msgid "" +"No changes to commit.\n" +"\n" +"You must stage at least 1 file before you can commit.\n" +msgstr "" +"Nessuna modifica per la nuova revisione.\n" +"\n" +"Devi preparare per una nuova revisione almeno 1 file prima di effettuare " +"questa operazione.\n" + - #: lib/commit.tcl:187 ++#: lib/commit.tcl:186 +msgid "" +"Please supply a commit message.\n" +"\n" +"A good commit message has the following format:\n" +"\n" +"- First line: Describe in one sentence what you did.\n" +"- Second line: Blank\n" +"- Remaining lines: Describe why this change is good.\n" +msgstr "" +"Bisogna fornire un messaggio di revisione.\n" +"\n" +"Un buon messaggio di revisione ha il seguente formato:\n" +"\n" +"- Prima linea: descrivi in una frase ciò che hai fatto.\n" +"- Seconda linea: vuota.\n" +"- Terza linea: spiega a cosa serve la tua modifica.\n" + - #: lib/commit.tcl:211 ++#: lib/commit.tcl:210 +#, tcl-format +msgid "warning: Tcl does not support encoding '%s'." +msgstr "attenzione: Tcl non supporta la codifica '%s'." + - #: lib/commit.tcl:227 ++#: lib/commit.tcl:226 +msgid "Calling pre-commit hook..." +msgstr "Avvio pre-commit hook..." + - #: lib/commit.tcl:242 ++#: lib/commit.tcl:241 +msgid "Commit declined by pre-commit hook." +msgstr "Revisione rifiutata dal pre-commit hook." + - #: lib/commit.tcl:265 ++#: lib/commit.tcl:264 +msgid "Calling commit-msg hook..." +msgstr "Avvio commit-msg hook..." + - #: lib/commit.tcl:280 ++#: lib/commit.tcl:279 +msgid "Commit declined by commit-msg hook." +msgstr "Revisione rifiutata dal commit-msg hook." + - #: lib/commit.tcl:293 ++#: lib/commit.tcl:292 +msgid "Committing changes..." +msgstr "Archiviazione modifiche..." + - #: lib/commit.tcl:309 ++#: lib/commit.tcl:308 +msgid "write-tree failed:" +msgstr "write-tree non riuscito:" + - #: lib/commit.tcl:310 lib/commit.tcl:354 lib/commit.tcl:374 ++#: lib/commit.tcl:309 lib/commit.tcl:353 lib/commit.tcl:373 +msgid "Commit failed." +msgstr "Impossibile creare una nuova revisione." + - #: lib/commit.tcl:327 ++#: lib/commit.tcl:326 +#, tcl-format +msgid "Commit %s appears to be corrupt" +msgstr "La revisione %s sembra essere danneggiata" + - #: lib/commit.tcl:332 ++#: lib/commit.tcl:331 +msgid "" +"No changes to commit.\n" +"\n" +"No files were modified by this commit and it was not a merge commit.\n" +"\n" +"A rescan will be automatically started now.\n" +msgstr "" +"Nessuna modifica per la nuova revisione.\n" +"\n" +"Questa revisione non modifica alcun file e non effettua alcuna fusione.\n" +"\n" +"Si procederà subito ad una nuova analisi.\n" + - #: lib/commit.tcl:339 ++#: lib/commit.tcl:338 +msgid "No changes to commit." +msgstr "Nessuna modifica per la nuova revisione." + - #: lib/commit.tcl:353 ++#: lib/commit.tcl:352 +msgid "commit-tree failed:" +msgstr "commit-tree non riuscito:" + - #: lib/commit.tcl:373 ++#: lib/commit.tcl:372 +msgid "update-ref failed:" +msgstr "update-ref non riuscito:" + - #: lib/commit.tcl:461 ++#: lib/commit.tcl:460 +#, tcl-format +msgid "Created commit %s: %s" +msgstr "Creata revisione %s: %s" + +#: lib/console.tcl:59 +msgid "Working... please wait..." +msgstr "Elaborazione in corso... attendere..." + +#: lib/console.tcl:186 +msgid "Success" +msgstr "Successo" + +#: lib/console.tcl:200 +msgid "Error: Command Failed" +msgstr "Errore: comando non riuscito" + +#: lib/database.tcl:43 +msgid "Number of loose objects" +msgstr "Numero di oggetti slegati" + +#: lib/database.tcl:44 +msgid "Disk space used by loose objects" +msgstr "Spazio su disco utilizzato da oggetti slegati" + +#: lib/database.tcl:45 +msgid "Number of packed objects" +msgstr "Numero di oggetti impacchettati" + +#: lib/database.tcl:46 +msgid "Number of packs" +msgstr "Numero di pacchetti" + +#: lib/database.tcl:47 +msgid "Disk space used by packed objects" +msgstr "Spazio su disco utilizzato da oggetti impacchettati" + +#: lib/database.tcl:48 +msgid "Packed objects waiting for pruning" +msgstr "Oggetti impacchettati che attendono la potatura" + +#: lib/database.tcl:49 +msgid "Garbage files" +msgstr "File inutili" + +#: lib/database.tcl:72 +msgid "Compressing the object database" +msgstr "Compressione dell'archivio in corso" + +#: lib/database.tcl:83 +msgid "Verifying the object database with fsck-objects" +msgstr "Verifica dell'archivio con fsck-objects in corso" + +#: lib/database.tcl:108 +#, tcl-format +msgid "" +"This repository currently has approximately %i loose objects.\n" +"\n" +"To maintain optimal performance it is strongly recommended that you compress " +"the database when more than %i loose objects exist.\n" +"\n" +"Compress the database now?" +msgstr "" +"Questo archivio attualmente ha circa %i oggetti slegati.\n" +"\n" +"Per mantenere buone prestazioni si raccomanda di comprimere l'archivio " +"quando sono presenti più di %i oggetti slegati.\n" +"\n" +"Comprimere l'archivio ora?" + +#: lib/date.tcl:25 +#, tcl-format +msgid "Invalid date from Git: %s" +msgstr "Git ha restituito una data non valida: %s" + +#: lib/diff.tcl:59 +#, tcl-format +msgid "" +"No differences detected.\n" +"\n" +"%s has no changes.\n" +"\n" +"The modification date of this file was updated by another application, but " +"the content within the file was not changed.\n" +"\n" +"A rescan will be automatically started to find other files which may have " +"the same state." +msgstr "" +"Non sono state trovate differenze.\n" +"\n" +"%s non ha modifiche.\n" +"\n" +"La data di modifica di questo file è stata cambiata da un'altra " +"applicazione, ma il contenuto del file è rimasto invariato.\n" +"\n" +"Si procederà automaticamente ad una nuova analisi per trovare altri file che " +"potrebbero avere lo stesso stato." + +#: lib/diff.tcl:99 +#, tcl-format +msgid "Loading diff of %s..." +msgstr "Caricamento delle differenze di %s..." + +#: lib/diff.tcl:120 +msgid "" +"LOCAL: deleted\n" +"REMOTE:\n" +msgstr "" +"LOCALE: cancellato\n" +"REMOTO:\n" + +#: lib/diff.tcl:125 +msgid "" +"REMOTE: deleted\n" +"LOCAL:\n" +msgstr "" +"REMOTO: cancellato\n" +"LOCALE:\n" + +#: lib/diff.tcl:132 +msgid "LOCAL:\n" +msgstr "LOCALE:\n" + +#: lib/diff.tcl:135 +msgid "REMOTE:\n" +msgstr "REMOTO:\n" + +#: lib/diff.tcl:197 lib/diff.tcl:296 +#, tcl-format +msgid "Unable to display %s" +msgstr "Impossibile visualizzare %s" + +#: lib/diff.tcl:198 +msgid "Error loading file:" +msgstr "Errore nel caricamento del file:" + +#: lib/diff.tcl:205 +msgid "Git Repository (subproject)" +msgstr "Archivio Git (sottoprogetto)" + +#: lib/diff.tcl:217 +msgid "* Binary file (not showing content)." +msgstr "* File binario (il contenuto non sarà mostrato)." + +#: lib/diff.tcl:222 +#, tcl-format +msgid "" +"* Untracked file is %d bytes.\n" +"* Showing only first %d bytes.\n" +msgstr "" +"* Il file non tracciato è di %d byte.\n" +"* Saranno visualizzati solo i primi %d byte.\n" + +#: lib/diff.tcl:228 +#, tcl-format +msgid "" +"\n" +"* Untracked file clipped here by %s.\n" +"* To see the entire file, use an external editor.\n" +msgstr "" +"\n" +"* %s non visualizza completamente questo file non tracciato.\n" +"* Per visualizzare il file completo, usare un programma esterno.\n" + +#: lib/diff.tcl:436 +msgid "Failed to unstage selected hunk." +msgstr "Impossibile rimuovere la sezione scelta dalla nuova revisione." + +#: lib/diff.tcl:443 +msgid "Failed to stage selected hunk." +msgstr "Impossibile preparare la sezione scelta per una nuova revisione." + +#: lib/diff.tcl:509 +msgid "Failed to unstage selected line." +msgstr "Impossibile rimuovere la riga scelta dalla nuova revisione." + +#: lib/diff.tcl:517 +msgid "Failed to stage selected line." +msgstr "Impossibile preparare la riga scelta per una nuova revisione." + +#: lib/encoding.tcl:443 +msgid "Default" +msgstr "Predefinito" + +#: lib/encoding.tcl:448 +#, tcl-format +msgid "System (%s)" +msgstr "Codifica di sistema (%s)" + +#: lib/encoding.tcl:459 lib/encoding.tcl:465 +msgid "Other" +msgstr "Altro" + +#: lib/error.tcl:20 lib/error.tcl:114 +msgid "error" +msgstr "errore" + +#: lib/error.tcl:36 +msgid "warning" +msgstr "attenzione" + +#: lib/error.tcl:94 +msgid "You must correct the above errors before committing." +msgstr "" +"Bisogna correggere gli errori suddetti prima di creare una nuova revisione." + +#: lib/index.tcl:6 +msgid "Unable to unlock the index." +msgstr "Impossibile sbloccare l'accesso all'indice" + +#: lib/index.tcl:15 +msgid "Index Error" +msgstr "Errore nell'indice" + +#: lib/index.tcl:21 +msgid "" +"Updating the Git index failed. A rescan will be automatically started to " +"resynchronize git-gui." +msgstr "" +"Impossibile aggiornare l'indice. Ora sarà avviata una nuova analisi che " +"aggiornerà git-gui." + +#: lib/index.tcl:27 +msgid "Continue" +msgstr "Continua" + +#: lib/index.tcl:31 +msgid "Unlock Index" +msgstr "Sblocca l'accesso all'indice" + +#: lib/index.tcl:287 +#, tcl-format +msgid "Unstaging %s from commit" +msgstr "%s non farà parte della prossima revisione" + +#: lib/index.tcl:326 +msgid "Ready to commit." +msgstr "Pronto per creare una nuova revisione." + +#: lib/index.tcl:339 +#, tcl-format +msgid "Adding %s" +msgstr "Aggiunta di %s in corso" + +#: lib/index.tcl:396 +#, tcl-format +msgid "Revert changes in file %s?" +msgstr "Annullare le modifiche nel file %s?" + +#: lib/index.tcl:398 +#, tcl-format +msgid "Revert changes in these %i files?" +msgstr "Annullare le modifiche in questi %i file?" + +#: lib/index.tcl:406 +msgid "Any unstaged changes will be permanently lost by the revert." +msgstr "" +"Tutte le modifiche non preparate per una nuova revisione saranno perse per " +"sempre." + +#: lib/index.tcl:409 +msgid "Do Nothing" +msgstr "Non fare niente" + +#: lib/index.tcl:427 +msgid "Reverting selected files" +msgstr "Annullo le modifiche nei file selezionati" + +#: lib/index.tcl:431 +#, tcl-format +msgid "Reverting %s" +msgstr "Annullo le modifiche in %s" + +#: lib/merge.tcl:13 +msgid "" +"Cannot merge while amending.\n" +"\n" +"You must finish amending this commit before starting any type of merge.\n" +msgstr "" +"Non posso effettuare fusioni durante una correzione.\n" +"\n" +"Bisogna finire di correggere questa revisione prima di iniziare una " +"qualunque fusione.\n" + +#: lib/merge.tcl:27 +msgid "" +"Last scanned state does not match repository state.\n" +"\n" +"Another Git program has modified this repository since the last scan. A " +"rescan must be performed before a merge can be performed.\n" +"\n" +"The rescan will be automatically started now.\n" +msgstr "" +"L'ultimo stato analizzato non corrisponde allo stato dell'archivio.\n" +"\n" +"Un altro programma Git ha modificato questo archivio dall'ultima analisi." +"Bisogna effettuare una nuova analisi prima di poter effettuare una fusione.\n" +"\n" +"La nuova analisi comincerà ora.\n" + +#: lib/merge.tcl:45 +#, tcl-format +msgid "" +"You are in the middle of a conflicted merge.\n" +"\n" +"File %s has merge conflicts.\n" +"\n" +"You must resolve them, stage the file, and commit to complete the current " +"merge. Only then can you begin another merge.\n" +msgstr "" +"Sei nel mezzo di una fusione con conflitti.\n" +"\n" +"Il file %s ha dei conflitti.\n" +"\n" +"Bisogna risolvere i conflitti, preparare il file per una nuova revisione ed " +"infine crearla per completare la fusione attuale. Solo a questo punto potrai " +"iniziare un'altra fusione.\n" + +#: lib/merge.tcl:55 +#, tcl-format +msgid "" +"You are in the middle of a change.\n" +"\n" +"File %s is modified.\n" +"\n" +"You should complete the current commit before starting a merge. Doing so " +"will help you abort a failed merge, should the need arise.\n" +msgstr "" +"Sei nel mezzo di una modifica.\n" +"\n" +"Il file %s è stato modificato.\n" +"\n" +"Bisogna completare la creazione della revisione attuale prima di iniziare " +"una fusione. In questo modo sarà più facile interrompere una fusione non " +"riuscita, nel caso ce ne fosse bisogno.\n" + +#: lib/merge.tcl:107 +#, tcl-format +msgid "%s of %s" +msgstr "%s di %s" + +#: lib/merge.tcl:120 +#, tcl-format +msgid "Merging %s and %s..." +msgstr "Fusione di %s e %s in corso..." + +#: lib/merge.tcl:131 +msgid "Merge completed successfully." +msgstr "Fusione completata con successo." + +#: lib/merge.tcl:133 +msgid "Merge failed. Conflict resolution is required." +msgstr "Fusione non riuscita. Bisogna risolvere i conflitti." + +#: lib/merge.tcl:158 +#, tcl-format +msgid "Merge Into %s" +msgstr "Fusione in %s" + +#: lib/merge.tcl:177 +msgid "Revision To Merge" +msgstr "Revisione da fondere" + +#: lib/merge.tcl:212 +msgid "" +"Cannot abort while amending.\n" +"\n" +"You must finish amending this commit.\n" +msgstr "" +"Interruzione impossibile durante una correzione.\n" +"\n" +"Bisogna finire di correggere questa revisione.\n" + +#: lib/merge.tcl:222 +msgid "" +"Abort merge?\n" +"\n" +"Aborting the current merge will cause *ALL* uncommitted changes to be lost.\n" +"\n" +"Continue with aborting the current merge?" +msgstr "" +"Interrompere fusione?\n" +"\n" +"L'interruzione della fusione attuale causerà la perdita di *TUTTE* le " +"modifiche non ancora presenti nell'archivio.\n" +"\n" +"Continuare con l'interruzione della fusione attuale?" + +#: lib/merge.tcl:228 +msgid "" +"Reset changes?\n" +"\n" +"Resetting the changes will cause *ALL* uncommitted changes to be lost.\n" +"\n" +"Continue with resetting the current changes?" +msgstr "" +"Ripristinare la revisione attuale e annullare le modifiche?\n" +"\n" +"L'annullamento delle modifiche causerà la perdita di *TUTTE* le modifiche " +"non ancora presenti nell'archivio.\n" +"\n" +"Continuare con l'annullamento delle modifiche attuali?" + +#: lib/merge.tcl:239 +msgid "Aborting" +msgstr "Interruzione" + +#: lib/merge.tcl:239 +msgid "files reset" +msgstr "ripristino file" + +#: lib/merge.tcl:267 +msgid "Abort failed." +msgstr "Interruzione non riuscita." + +#: lib/merge.tcl:269 +msgid "Abort completed. Ready." +msgstr "Interruzione completata. Pronto." + +#: lib/mergetool.tcl:8 +msgid "Force resolution to the base version?" +msgstr "Imporre la risoluzione alla revisione comune?" + +#: lib/mergetool.tcl:9 +msgid "Force resolution to this branch?" +msgstr "Imporre la risoluzione al ramo attuale?" + +#: lib/mergetool.tcl:10 +msgid "Force resolution to the other branch?" +msgstr "Imporre la risoluzione all'altro ramo?" + +#: lib/mergetool.tcl:14 +#, tcl-format +msgid "" +"Note that the diff shows only conflicting changes.\n" +"\n" +"%s will be overwritten.\n" +"\n" +"This operation can be undone only by restarting the merge." +msgstr "" +"Si stanno mostrando solo le modifiche con conflitti.\n" +"\n" +"%s sarà sovrascritto.\n" +"\n" +"Questa operazione può essere modificata solo ricominciando la fusione." + +#: lib/mergetool.tcl:45 +#, tcl-format +msgid "File %s seems to have unresolved conflicts, still stage?" +msgstr "" +"Il file %s sembra contenere conflitti non risolti, preparare per la prossima " +"revisione?" + +#: lib/mergetool.tcl:60 +#, tcl-format +msgid "Adding resolution for %s" +msgstr "" +"La risoluzione dei conflitti per %s è preparata per la prossima revisione" + +#: lib/mergetool.tcl:141 +msgid "Cannot resolve deletion or link conflicts using a tool" +msgstr "" +"Non è possibile risolvere i conflitti per cancellazioni o link con un " +"programma esterno" + +#: lib/mergetool.tcl:146 +msgid "Conflict file does not exist" +msgstr "Non esiste un file con conflitti." + +#: lib/mergetool.tcl:264 +#, tcl-format +msgid "Not a GUI merge tool: '%s'" +msgstr "'%s' non è una GUI per la risoluzione dei conflitti." + +#: lib/mergetool.tcl:268 +#, tcl-format +msgid "Unsupported merge tool '%s'" +msgstr "Il programma '%s' non è supportato" + +#: lib/mergetool.tcl:303 +msgid "Merge tool is already running, terminate it?" +msgstr "La risoluzione dei conflitti è già avviata, terminarla?" + +#: lib/mergetool.tcl:323 +#, tcl-format +msgid "" +"Error retrieving versions:\n" +"%s" +msgstr "" +"Errore: revisione non trovata:\n" +"%s" + +#: lib/mergetool.tcl:343 +#, tcl-format +msgid "" +"Could not start the merge tool:\n" +"\n" +"%s" +msgstr "" +"Impossibile avviare la risoluzione dei conflitti:\n" +"\n" +"%s" + +#: lib/mergetool.tcl:347 +msgid "Running merge tool..." +msgstr "Avvio del programma per la risoluzione dei conflitti in corso..." + +#: lib/mergetool.tcl:375 lib/mergetool.tcl:383 +msgid "Merge tool failed." +msgstr "Risoluzione dei conflitti non riuscita." + +#: lib/option.tcl:11 +#, tcl-format +msgid "Invalid global encoding '%s'" +msgstr "" +"La codifica dei caratteri '%s' specificata per tutti gli archivi non è valida" + +#: lib/option.tcl:19 +#, tcl-format +msgid "Invalid repo encoding '%s'" +msgstr "" +"La codifica dei caratteri '%s' specificata per l'archivio attuale non è " +"valida" + +#: lib/option.tcl:117 +msgid "Restore Defaults" +msgstr "Ripristina valori predefiniti" + +#: lib/option.tcl:121 +msgid "Save" +msgstr "Salva" + +#: lib/option.tcl:131 +#, tcl-format +msgid "%s Repository" +msgstr "Archivio di %s" + +#: lib/option.tcl:132 +msgid "Global (All Repositories)" +msgstr "Tutti gli archivi" + +#: lib/option.tcl:138 +msgid "User Name" +msgstr "Nome utente" + +#: lib/option.tcl:139 +msgid "Email Address" +msgstr "Indirizzo Email" + +#: lib/option.tcl:141 +msgid "Summarize Merge Commits" +msgstr "Riepilogo nelle revisioni di fusione" + +#: lib/option.tcl:142 +msgid "Merge Verbosity" +msgstr "Prolissità della fusione" + +#: lib/option.tcl:143 +msgid "Show Diffstat After Merge" +msgstr "Mostra statistiche delle differenze dopo la fusione" + +#: lib/option.tcl:144 +msgid "Use Merge Tool" +msgstr "Programma da utilizzare per la risoluzione dei conflitti" + +#: lib/option.tcl:146 +msgid "Trust File Modification Timestamps" +msgstr "Fidati delle date di modifica dei file" + +#: lib/option.tcl:147 +msgid "Prune Tracking Branches During Fetch" +msgstr "" +"Effettua potatura dei duplicati locali di rami remoti durante il recupero" + +#: lib/option.tcl:148 +msgid "Match Tracking Branches" +msgstr "Appaia duplicati locali di rami remoti" + +#: lib/option.tcl:149 +msgid "Blame Copy Only On Changed Files" +msgstr "Ricerca copie solo nei file modificati" + +#: lib/option.tcl:150 +msgid "Minimum Letters To Blame Copy On" +msgstr "Numero minimo di lettere che attivano la ricerca delle copie" + +#: lib/option.tcl:151 +msgid "Blame History Context Radius (days)" +msgstr "Giorni di contesto nella cronologia delle annotazioni" + +#: lib/option.tcl:152 +msgid "Number of Diff Context Lines" +msgstr "Numero di linee di contesto nelle differenze" + +#: lib/option.tcl:153 +msgid "Commit Message Text Width" +msgstr "Larghezza del messaggio di revisione" + +#: lib/option.tcl:154 +msgid "New Branch Name Template" +msgstr "Modello per il nome di un nuovo ramo" + +#: lib/option.tcl:155 +msgid "Default File Contents Encoding" +msgstr "Codifica predefinita per il contenuto dei file" + +#: lib/option.tcl:203 +msgid "Change" +msgstr "Cambia" + +#: lib/option.tcl:230 +msgid "Spelling Dictionary:" +msgstr "Lingua dizionario:" + +#: lib/option.tcl:254 +msgid "Change Font" +msgstr "Cambia caratteri" + +#: lib/option.tcl:258 +#, tcl-format +msgid "Choose %s" +msgstr "Scegli %s" + +#: lib/option.tcl:264 +msgid "pt." +msgstr "pt." + +#: lib/option.tcl:278 +msgid "Preferences" +msgstr "Preferenze" + +#: lib/option.tcl:314 +msgid "Failed to completely save options:" +msgstr "Impossibile salvare completamente le opzioni:" + +#: lib/remote.tcl:163 +msgid "Remove Remote" +msgstr "Rimuovi archivio remoto" + +#: lib/remote.tcl:168 +msgid "Prune from" +msgstr "Effettua potatura da" + +#: lib/remote.tcl:173 +msgid "Fetch from" +msgstr "Recupera da" + +#: lib/remote.tcl:215 +msgid "Push to" +msgstr "Propaga verso" + +#: lib/remote_add.tcl:19 +msgid "Add Remote" +msgstr "Aggiungi archivio remoto" + +#: lib/remote_add.tcl:24 +msgid "Add New Remote" +msgstr "Aggiungi nuovo archivio remoto" + +#: lib/remote_add.tcl:28 lib/tools_dlg.tcl:36 +msgid "Add" +msgstr "Aggiungi" + +#: lib/remote_add.tcl:37 +msgid "Remote Details" +msgstr "Dettagli sull'archivio remoto" + +#: lib/remote_add.tcl:50 +msgid "Location:" +msgstr "Posizione:" + +#: lib/remote_add.tcl:62 +msgid "Further Action" +msgstr "Altra azione" + +#: lib/remote_add.tcl:65 +msgid "Fetch Immediately" +msgstr "Recupera subito" + +#: lib/remote_add.tcl:71 +msgid "Initialize Remote Repository and Push" +msgstr "Inizializza l'archivio remoto e propaga" + +#: lib/remote_add.tcl:77 +msgid "Do Nothing Else Now" +msgstr "Non fare altro" + +#: lib/remote_add.tcl:101 +msgid "Please supply a remote name." +msgstr "Inserire un nome per l'archivio remoto." + +#: lib/remote_add.tcl:114 +#, tcl-format +msgid "'%s' is not an acceptable remote name." +msgstr "'%s' non è utilizzabile come nome di archivio remoto." + +#: lib/remote_add.tcl:125 +#, tcl-format +msgid "Failed to add remote '%s' of location '%s'." +msgstr "Impossibile aggiungere l'archivio remoto '%s' posto in '%s'." + +#: lib/remote_add.tcl:133 lib/transport.tcl:6 +#, tcl-format +msgid "fetch %s" +msgstr "recupera da %s" + +#: lib/remote_add.tcl:134 +#, tcl-format +msgid "Fetching the %s" +msgstr "Recupero %s" + +#: lib/remote_add.tcl:157 +#, tcl-format +msgid "Do not know how to initialize repository at location '%s'." +msgstr "Impossibile inizializzare l'archivio posto in '%s'." + - #: lib/remote_add.tcl:163 lib/transport.tcl:25 lib/transport.tcl:71 ++#: lib/remote_add.tcl:163 lib/transport.tcl:25 lib/transport.tcl:63 ++#: lib/transport.tcl:81 +#, tcl-format +msgid "push %s" +msgstr "propaga verso %s" + +#: lib/remote_add.tcl:164 +#, tcl-format +msgid "Setting up the %s (at %s)" +msgstr "Imposto %s (in %s)" + +#: lib/remote_branch_delete.tcl:29 lib/remote_branch_delete.tcl:34 +msgid "Delete Branch Remotely" +msgstr "Elimina ramo remoto" + +#: lib/remote_branch_delete.tcl:47 +msgid "From Repository" +msgstr "Da archivio" + - #: lib/remote_branch_delete.tcl:50 lib/transport.tcl:123 ++#: lib/remote_branch_delete.tcl:50 lib/transport.tcl:134 +msgid "Remote:" +msgstr "Remoto:" + - #: lib/remote_branch_delete.tcl:66 lib/transport.tcl:138 ++#: lib/remote_branch_delete.tcl:66 lib/transport.tcl:149 +msgid "Arbitrary Location:" +msgstr "Posizione specifica:" + +#: lib/remote_branch_delete.tcl:84 +msgid "Branches" +msgstr "Rami" + +#: lib/remote_branch_delete.tcl:109 +msgid "Delete Only If" +msgstr "Elimina solo se" + +#: lib/remote_branch_delete.tcl:111 +msgid "Merged Into:" +msgstr "Fuso in:" + +#: lib/remote_branch_delete.tcl:119 +msgid "Always (Do not perform merge checks)" +msgstr "Sempre (non verificare le fusioni)" + +#: lib/remote_branch_delete.tcl:152 +msgid "A branch is required for 'Merged Into'." +msgstr "Si richiede un ramo per 'Fuso in'." + +#: lib/remote_branch_delete.tcl:184 +#, tcl-format +msgid "" +"The following branches are not completely merged into %s:\n" +"\n" +" - %s" +msgstr "" +"I rami seguenti non sono stati fusi completamente in %s:\n" +"\n" +" - %s" + +#: lib/remote_branch_delete.tcl:189 +#, tcl-format +msgid "" +"One or more of the merge tests failed because you have not fetched the " +"necessary commits. Try fetching from %s first." +msgstr "" +"Impossibile verificare una o più fusioni: mancano le revisioni necessarie. " +"Prova prima a recuperarle da %s." + +#: lib/remote_branch_delete.tcl:207 +msgid "Please select one or more branches to delete." +msgstr "Scegliere uno o più rami da cancellare." + +#: lib/remote_branch_delete.tcl:216 +msgid "" +"Recovering deleted branches is difficult.\n" +"\n" +"Delete the selected branches?" +msgstr "" +"Ricomporre rami cancellati è difficile.\n" +"\n" +"Cancellare i rami selezionati?" + +#: lib/remote_branch_delete.tcl:226 +#, tcl-format +msgid "Deleting branches from %s" +msgstr "Cancellazione rami da %s" + +#: lib/remote_branch_delete.tcl:286 +msgid "No repository selected." +msgstr "Nessun archivio selezionato." + +#: lib/remote_branch_delete.tcl:291 +#, tcl-format +msgid "Scanning %s..." +msgstr "Analisi in corso %s..." + +#: lib/search.tcl:21 +msgid "Find:" +msgstr "Trova:" + +#: lib/search.tcl:23 +msgid "Next" +msgstr "Succ" + +#: lib/search.tcl:24 +msgid "Prev" +msgstr "Prec" + +#: lib/search.tcl:25 +msgid "Case-Sensitive" +msgstr "Distingui maiuscole" + +#: lib/shortcut.tcl:20 lib/shortcut.tcl:61 +msgid "Cannot write shortcut:" +msgstr "Impossibile scrivere shortcut:" + +#: lib/shortcut.tcl:136 +msgid "Cannot write icon:" +msgstr "Impossibile scrivere icona:" + +#: lib/spellcheck.tcl:57 +msgid "Unsupported spell checker" +msgstr "Correttore ortografico non supportato" + +#: lib/spellcheck.tcl:65 +msgid "Spell checking is unavailable" +msgstr "Correzione ortografica indisponibile" + +#: lib/spellcheck.tcl:68 +msgid "Invalid spell checking configuration" +msgstr "La configurazione del correttore ortografico non è valida" + +#: lib/spellcheck.tcl:70 +#, tcl-format +msgid "Reverting dictionary to %s." +msgstr "Il dizionario è stato reimpostato su %s." + +#: lib/spellcheck.tcl:73 +msgid "Spell checker silently failed on startup" +msgstr "Il correttore ortografico ha riportato un errore all'avvio" + +#: lib/spellcheck.tcl:80 +msgid "Unrecognized spell checker" +msgstr "Correttore ortografico non riconosciuto" + +#: lib/spellcheck.tcl:186 +msgid "No Suggestions" +msgstr "Nessun suggerimento" + +#: lib/spellcheck.tcl:388 +msgid "Unexpected EOF from spell checker" +msgstr "Il correttore ortografico ha mandato un EOF inaspettato" + +#: lib/spellcheck.tcl:392 +msgid "Spell Checker Failed" +msgstr "Errore nel correttore ortografico" + +#: lib/sshkey.tcl:31 +msgid "No keys found." +msgstr "Chiavi non trovate." + +#: lib/sshkey.tcl:34 +#, tcl-format +msgid "Found a public key in: %s" +msgstr "Chiave pubblica trovata in: %s" + +#: lib/sshkey.tcl:40 +msgid "Generate Key" +msgstr "Crea chiave" + +#: lib/sshkey.tcl:56 +msgid "Copy To Clipboard" +msgstr "Copia negli appunti" + +#: lib/sshkey.tcl:70 +msgid "Your OpenSSH Public Key" +msgstr "La tua chiave pubblica OpenSSH" + +#: lib/sshkey.tcl:78 +msgid "Generating..." +msgstr "Creazione chiave in corso..." + +#: lib/sshkey.tcl:84 +#, tcl-format +msgid "" +"Could not start ssh-keygen:\n" +"\n" +"%s" +msgstr "" +"Impossibile avviare ssh-keygen:\n" +"\n" +"%s" + +#: lib/sshkey.tcl:111 +msgid "Generation failed." +msgstr "Errore durante la creazione della chiave." + +#: lib/sshkey.tcl:118 +msgid "Generation succeded, but no keys found." +msgstr "La chiave è stata creata con successo, ma non è stata trovata." + +#: lib/sshkey.tcl:121 +#, tcl-format +msgid "Your key is in: %s" +msgstr "La chiave è in: %s" + +#: lib/status_bar.tcl:83 +#, tcl-format +msgid "%s ... %*i of %*i %s (%3i%%)" +msgstr "%1$s ... %6$s: %2$*i di %4$*i (%7$3i%%)" + +#: lib/tools.tcl:75 +#, tcl-format +msgid "Running %s requires a selected file." +msgstr "Bisogna selezionare un file prima di eseguire %s." + +#: lib/tools.tcl:90 +#, tcl-format +msgid "Are you sure you want to run %s?" +msgstr "Vuoi davvero eseguire %s?" + +#: lib/tools.tcl:110 +#, tcl-format +msgid "Tool: %s" +msgstr "Strumento: %s" + +#: lib/tools.tcl:111 +#, tcl-format +msgid "Running: %s" +msgstr "Eseguo: %s" + +#: lib/tools.tcl:149 +#, tcl-format +msgid "Tool completed succesfully: %s" +msgstr "Il programma esterno è terminato con successo: %s" + +#: lib/tools.tcl:151 +#, tcl-format +msgid "Tool failed: %s" +msgstr "Il programma esterno ha riportato un errore: %s" + +#: lib/tools_dlg.tcl:22 +msgid "Add Tool" +msgstr "Aggiungi strumento" + +#: lib/tools_dlg.tcl:28 +msgid "Add New Tool Command" +msgstr "Aggiungi un nuovo comando" + +#: lib/tools_dlg.tcl:33 +msgid "Add globally" +msgstr "Aggiungi per tutti gli archivi" + +#: lib/tools_dlg.tcl:45 +msgid "Tool Details" +msgstr "Dettagli sullo strumento" + +#: lib/tools_dlg.tcl:48 +msgid "Use '/' separators to create a submenu tree:" +msgstr "Utilizza il separatore '/' per creare un albero di sottomenu:" + +#: lib/tools_dlg.tcl:61 +msgid "Command:" +msgstr "Comando:" + +#: lib/tools_dlg.tcl:74 +msgid "Show a dialog before running" +msgstr "Mostra una finestra di dialogo prima dell'avvio" + +#: lib/tools_dlg.tcl:80 +msgid "Ask the user to select a revision (sets $REVISION)" +msgstr "Chiedi all'utente di scegliere una revisione (imposta $REVISION)" + +#: lib/tools_dlg.tcl:85 +msgid "Ask the user for additional arguments (sets $ARGS)" +msgstr "Chiedi all'utente di fornire argomenti aggiuntivi (imposta $ARGS)" + +#: lib/tools_dlg.tcl:92 +msgid "Don't show the command output window" +msgstr "Non mostrare la finestra di comando" + +#: lib/tools_dlg.tcl:97 +msgid "Run only if a diff is selected ($FILENAME not empty)" +msgstr "Avvia solo se è selezionata una differenza ($FILENAME non è vuoto)" + +#: lib/tools_dlg.tcl:121 +msgid "Please supply a name for the tool." +msgstr "Bisogna dare un nome allo strumento." + +#: lib/tools_dlg.tcl:129 +#, tcl-format +msgid "Tool '%s' already exists." +msgstr "Lo strumento '%s' esiste già." + +#: lib/tools_dlg.tcl:151 +#, tcl-format +msgid "" +"Could not add tool:\n" +"%s" +msgstr "" +"Impossibile aggiungere lo strumento:\n" +"\n" +"%s" + +#: lib/tools_dlg.tcl:190 +msgid "Remove Tool" +msgstr "Rimuovi strumento" + +#: lib/tools_dlg.tcl:196 +msgid "Remove Tool Commands" +msgstr "Rimuovi i comandi dello strumento" + +#: lib/tools_dlg.tcl:200 +msgid "Remove" +msgstr "Rimuovi" + +#: lib/tools_dlg.tcl:236 +msgid "(Blue denotes repository-local tools)" +msgstr "(Il colore blu indica strumenti per l'archivio locale)" + +#: lib/tools_dlg.tcl:297 +#, tcl-format +msgid "Run Command: %s" +msgstr "Avvia il comando: %s" + +#: lib/tools_dlg.tcl:311 +msgid "Arguments" +msgstr "Argomenti" + +#: lib/tools_dlg.tcl:348 +msgid "OK" +msgstr "OK" + +#: lib/transport.tcl:7 +#, tcl-format +msgid "Fetching new changes from %s" +msgstr "Recupero nuove modifiche da %s" + +#: lib/transport.tcl:18 +#, tcl-format +msgid "remote prune %s" +msgstr "potatura remota di %s" + +#: lib/transport.tcl:19 +#, tcl-format +msgid "Pruning tracking branches deleted from %s" +msgstr "Effettua potatura dei duplicati locali di rami remoti cancellati da %s" + +#: lib/transport.tcl:26 +#, tcl-format +msgid "Pushing changes to %s" +msgstr "Propagazione modifiche a %s" + - #: lib/transport.tcl:72 ++#: lib/transport.tcl:64 ++#, tcl-format ++msgid "Mirroring to %s" ++msgstr "Mirroring verso %s" ++ ++#: lib/transport.tcl:82 +#, tcl-format +msgid "Pushing %s %s to %s" +msgstr "Propagazione %s %s a %s" + - #: lib/transport.tcl:89 ++#: lib/transport.tcl:100 +msgid "Push Branches" +msgstr "Propaga rami" + - #: lib/transport.tcl:103 ++#: lib/transport.tcl:114 +msgid "Source Branches" +msgstr "Rami di origine" + - #: lib/transport.tcl:120 ++#: lib/transport.tcl:131 +msgid "Destination Repository" +msgstr "Archivio di destinazione" + - #: lib/transport.tcl:158 ++#: lib/transport.tcl:169 +msgid "Transfer Options" +msgstr "Opzioni di trasferimento" + - #: lib/transport.tcl:160 ++#: lib/transport.tcl:171 +msgid "Force overwrite existing branch (may discard changes)" +msgstr "Sovrascrivi ramo esistente (alcune modifiche potrebbero essere perse)" + - #: lib/transport.tcl:164 ++#: lib/transport.tcl:175 +msgid "Use thin pack (for slow network connections)" +msgstr "Utilizza 'thin pack' (per connessioni lente)" + - #: lib/transport.tcl:168 ++#: lib/transport.tcl:179 +msgid "Include tags" +msgstr "Includi etichette" diff --cc git-gui/po/ja.po index 8ba64177f,000000000..09d60bef7 mode 100644,000000..100644 --- a/git-gui/po/ja.po +++ b/git-gui/po/ja.po @@@ -1,2535 -1,0 +1,2540 @@@ +# Translation of git-gui to Japanese +# Copyright (C) 2007 Shawn Pearce +# This file is distributed under the same license as the git-gui package. +# しらいし ななこ , 2007. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: git-gui\n" +"Report-Msgid-Bugs-To: \n" - "POT-Creation-Date: 2008-11-16 13:56-0800\n" - "PO-Revision-Date: 2008-11-26 19:17+0900\n" ++"POT-Creation-Date: 2008-12-08 08:31-0800\n" ++"PO-Revision-Date: 2008-12-09 06:27+0900\n" +"Last-Translator: しらいし ななこ \n" +"Language-Team: Japanese\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: git-gui.sh:41 git-gui.sh:737 git-gui.sh:751 git-gui.sh:764 git-gui.sh:847 +#: git-gui.sh:866 +msgid "git-gui: fatal error" +msgstr "git-gui: 致命的なエラー" + +#: git-gui.sh:689 +#, tcl-format +msgid "Invalid font specified in %s:" +msgstr "%s に無効なフォントが指定されています:" + +#: git-gui.sh:723 +msgid "Main Font" +msgstr "主フォント" + +#: git-gui.sh:724 +msgid "Diff/Console Font" +msgstr "diff/コンソール・フォント" + +#: git-gui.sh:738 +msgid "Cannot find git in PATH." +msgstr "PATH 中に git が見つかりません" + +#: git-gui.sh:765 +msgid "Cannot parse Git version string:" +msgstr "Git バージョン名が理解できません:" + +#: git-gui.sh:783 +#, tcl-format +msgid "" +"Git version cannot be determined.\n" +"\n" +"%s claims it is version '%s'.\n" +"\n" +"%s requires at least Git 1.5.0 or later.\n" +"\n" +"Assume '%s' is version 1.5.0?\n" +msgstr "" +"Git のバージョンが確認できません。\n" +"\n" +"%s はバージョン '%s' とのことです。\n" +"\n" +"%s は最低でも 1.5.0 かそれ以降の Git が必要です\n" +"\n" +"'%s' はバージョン 1.5.0 と思って良いですか?\n" + +#: git-gui.sh:1062 +msgid "Git directory not found:" +msgstr "Git ディレクトリが見つかりません:" + +#: git-gui.sh:1069 +msgid "Cannot move to top of working directory:" +msgstr "作業ディレクトリの最上位に移動できません" + +#: git-gui.sh:1076 +msgid "Cannot use funny .git directory:" +msgstr "変な .git ディレクトリは使えません" + +#: git-gui.sh:1081 +msgid "No working directory" +msgstr "作業ディレクトリがありません" + +#: git-gui.sh:1247 lib/checkout_op.tcl:305 +msgid "Refreshing file status..." +msgstr "ファイル状態を更新しています…" + +#: git-gui.sh:1303 +msgid "Scanning for modified files ..." +msgstr "変更されたファイルをスキャンしています…" + +#: git-gui.sh:1367 +msgid "Calling prepare-commit-msg hook..." +msgstr "prepare-commit-msg フックを実行中・・・" + +#: git-gui.sh:1384 +msgid "Commit declined by prepare-commit-msg hook." +msgstr "prepare-commit-msg フックがコミットを拒否しました" + +#: git-gui.sh:1542 lib/browser.tcl:246 +msgid "Ready." +msgstr "準備完了" + +#: git-gui.sh:1819 +msgid "Unmodified" +msgstr "変更無し" + +#: git-gui.sh:1821 +msgid "Modified, not staged" +msgstr "変更あり、コミット未予定" + +#: git-gui.sh:1822 git-gui.sh:1830 +msgid "Staged for commit" +msgstr "コミット予定済" + +#: git-gui.sh:1823 git-gui.sh:1831 +msgid "Portions staged for commit" +msgstr "部分的にコミット予定済" + +#: git-gui.sh:1824 git-gui.sh:1832 +msgid "Staged for commit, missing" +msgstr "コミット予定済、ファイル無し" + +#: git-gui.sh:1826 +msgid "File type changed, not staged" +msgstr "ファイル型変更、コミット未予定" + +#: git-gui.sh:1827 +msgid "File type changed, staged" +msgstr "ファイル型変更、コミット予定済" + +#: git-gui.sh:1829 +msgid "Untracked, not staged" +msgstr "管理外、コミット未予定" + +#: git-gui.sh:1834 +msgid "Missing" +msgstr "ファイル無し" + +#: git-gui.sh:1835 +msgid "Staged for removal" +msgstr "削除予定済" + +#: git-gui.sh:1836 +msgid "Staged for removal, still present" +msgstr "削除予定済、ファイル未削除" + +#: git-gui.sh:1838 git-gui.sh:1839 git-gui.sh:1840 git-gui.sh:1841 +#: git-gui.sh:1842 git-gui.sh:1843 +msgid "Requires merge resolution" +msgstr "要マージ解決" + +#: git-gui.sh:1878 +msgid "Starting gitk... please wait..." +msgstr "gitk を起動中…お待ち下さい…" + +#: git-gui.sh:1887 +msgid "Couldn't find gitk in PATH" +msgstr "PATH 中に gitk が見つかりません" + +#: git-gui.sh:2280 lib/choose_repository.tcl:36 +msgid "Repository" +msgstr "リポジトリ" + +#: git-gui.sh:2281 +msgid "Edit" +msgstr "編集" + +#: git-gui.sh:2283 lib/choose_rev.tcl:561 +msgid "Branch" +msgstr "ブランチ" + +#: git-gui.sh:2286 lib/choose_rev.tcl:548 +msgid "Commit@@noun" +msgstr "コミット" + +#: git-gui.sh:2289 lib/merge.tcl:121 lib/merge.tcl:150 lib/merge.tcl:168 +msgid "Merge" +msgstr "マージ" + +#: git-gui.sh:2290 lib/choose_rev.tcl:557 +msgid "Remote" +msgstr "リモート" + +#: git-gui.sh:2293 +msgid "Tools" +msgstr "ツール" + +#: git-gui.sh:2302 +msgid "Explore Working Copy" +msgstr "ワーキングコピーをブラウズ" + +#: git-gui.sh:2307 +msgid "Browse Current Branch's Files" +msgstr "現在のブランチのファイルを見る" + +#: git-gui.sh:2311 +msgid "Browse Branch Files..." +msgstr "ブランチのファイルを見る…" + +#: git-gui.sh:2316 +msgid "Visualize Current Branch's History" +msgstr "現在のブランチの履歴を見る" + +#: git-gui.sh:2320 +msgid "Visualize All Branch History" +msgstr "全てのブランチの履歴を見る" + +#: git-gui.sh:2327 +#, tcl-format +msgid "Browse %s's Files" +msgstr "ブランチ %s のファイルを見る" + +#: git-gui.sh:2329 +#, tcl-format +msgid "Visualize %s's History" +msgstr "ブランチ %s の履歴を見る" + +#: git-gui.sh:2334 lib/database.tcl:27 lib/database.tcl:67 +msgid "Database Statistics" +msgstr "データベース統計" + +#: git-gui.sh:2337 lib/database.tcl:34 +msgid "Compress Database" +msgstr "データベース圧縮" + +#: git-gui.sh:2340 +msgid "Verify Database" +msgstr "データベース検証" + +#: git-gui.sh:2347 git-gui.sh:2351 git-gui.sh:2355 lib/shortcut.tcl:7 +#: lib/shortcut.tcl:39 lib/shortcut.tcl:71 +msgid "Create Desktop Icon" +msgstr "デスクトップ・アイコンを作る" + +#: git-gui.sh:2363 lib/choose_repository.tcl:183 lib/choose_repository.tcl:191 +msgid "Quit" +msgstr "終了" + +#: git-gui.sh:2371 +msgid "Undo" +msgstr "元に戻す" + +#: git-gui.sh:2374 +msgid "Redo" +msgstr "やり直し" + +#: git-gui.sh:2378 git-gui.sh:2923 +msgid "Cut" +msgstr "切り取り" + +#: git-gui.sh:2381 git-gui.sh:2926 git-gui.sh:3000 git-gui.sh:3082 +#: lib/console.tcl:69 +msgid "Copy" +msgstr "コピー" + +#: git-gui.sh:2384 git-gui.sh:2929 +msgid "Paste" +msgstr "貼り付け" + +#: git-gui.sh:2387 git-gui.sh:2932 lib/branch_delete.tcl:26 +#: lib/remote_branch_delete.tcl:38 +msgid "Delete" +msgstr "削除" + +#: git-gui.sh:2391 git-gui.sh:2936 git-gui.sh:3086 lib/console.tcl:71 +msgid "Select All" +msgstr "全て選択" + +#: git-gui.sh:2400 +msgid "Create..." +msgstr "作成…" + +#: git-gui.sh:2406 +msgid "Checkout..." +msgstr "チェックアウト" + +#: git-gui.sh:2412 +msgid "Rename..." +msgstr "名前変更…" + +#: git-gui.sh:2417 +msgid "Delete..." +msgstr "削除…" + +#: git-gui.sh:2422 +msgid "Reset..." +msgstr "リセット…" + +#: git-gui.sh:2432 +msgid "Done" +msgstr "完了" + +#: git-gui.sh:2434 +msgid "Commit@@verb" +msgstr "コミット" + +#: git-gui.sh:2443 git-gui.sh:2864 +msgid "New Commit" +msgstr "新規コミット" + +#: git-gui.sh:2451 git-gui.sh:2871 +msgid "Amend Last Commit" +msgstr "最新コミットを訂正" + +#: git-gui.sh:2461 git-gui.sh:2825 lib/remote_branch_delete.tcl:99 +msgid "Rescan" +msgstr "再スキャン" + +#: git-gui.sh:2467 +msgid "Stage To Commit" +msgstr "コミット予定する" + +#: git-gui.sh:2473 +msgid "Stage Changed Files To Commit" +msgstr "変更されたファイルをコミット予定" + +#: git-gui.sh:2479 +msgid "Unstage From Commit" +msgstr "コミットから降ろす" + +#: git-gui.sh:2484 lib/index.tcl:410 +msgid "Revert Changes" +msgstr "変更を元に戻す" + +#: git-gui.sh:2491 git-gui.sh:3069 +msgid "Show Less Context" +msgstr "文脈を少なく" + +#: git-gui.sh:2495 git-gui.sh:3073 +msgid "Show More Context" +msgstr "文脈を多く" + +#: git-gui.sh:2502 git-gui.sh:2838 git-gui.sh:2947 +msgid "Sign Off" +msgstr "署名" + +#: git-gui.sh:2518 +msgid "Local Merge..." +msgstr "ローカル・マージ…" + +#: git-gui.sh:2523 +msgid "Abort Merge..." +msgstr "マージ中止…" + +#: git-gui.sh:2535 git-gui.sh:2575 +msgid "Add..." +msgstr "追加" + +#: git-gui.sh:2539 +msgid "Push..." +msgstr "プッシュ…" + +#: git-gui.sh:2543 +msgid "Delete Branch..." +msgstr "ブランチ削除..." + +#: git-gui.sh:2553 git-gui.sh:2589 lib/about.tcl:14 +#: lib/choose_repository.tcl:44 lib/choose_repository.tcl:53 +#, tcl-format +msgid "About %s" +msgstr "%s について" + +#: git-gui.sh:2557 +msgid "Preferences..." +msgstr "設定…" + +#: git-gui.sh:2565 git-gui.sh:3115 +msgid "Options..." +msgstr "オプション…" + +#: git-gui.sh:2576 +msgid "Remove..." +msgstr "削除..." + +#: git-gui.sh:2585 lib/choose_repository.tcl:50 +msgid "Help" +msgstr "ヘルプ" + +#: git-gui.sh:2611 +msgid "Online Documentation" +msgstr "オンライン・ドキュメント" + +#: git-gui.sh:2614 lib/choose_repository.tcl:47 lib/choose_repository.tcl:56 +msgid "Show SSH Key" +msgstr "SSH キーを表示" + +#: git-gui.sh:2707 +#, tcl-format +msgid "fatal: cannot stat path %s: No such file or directory" +msgstr "" +"致命的: パス %s が stat できません。そのようなファイルやディレクトリはありま" +"せん" + +#: git-gui.sh:2740 +msgid "Current Branch:" +msgstr "現在のブランチ" + +#: git-gui.sh:2761 +msgid "Staged Changes (Will Commit)" +msgstr "ステージングされた(コミット予定済の)変更" + +#: git-gui.sh:2781 +msgid "Unstaged Changes" +msgstr "コミット予定に入っていない変更" + +#: git-gui.sh:2831 +msgid "Stage Changed" +msgstr "変更をコミット予定に入れる" + +#: git-gui.sh:2850 lib/transport.tcl:93 lib/transport.tcl:182 +msgid "Push" +msgstr "プッシュ" + +#: git-gui.sh:2885 +msgid "Initial Commit Message:" +msgstr "最初のコミットメッセージ:" + +#: git-gui.sh:2886 +msgid "Amended Commit Message:" +msgstr "訂正したコミットメッセージ:" + +#: git-gui.sh:2887 +msgid "Amended Initial Commit Message:" +msgstr "訂正した最初のコミットメッセージ:" + +#: git-gui.sh:2888 +msgid "Amended Merge Commit Message:" +msgstr "訂正したマージコミットメッセージ:" + +#: git-gui.sh:2889 +msgid "Merge Commit Message:" +msgstr "マージコミットメッセージ:" + +#: git-gui.sh:2890 +msgid "Commit Message:" +msgstr "コミットメッセージ:" + +#: git-gui.sh:2939 git-gui.sh:3090 lib/console.tcl:73 +msgid "Copy All" +msgstr "全てコピー" + +#: git-gui.sh:2963 lib/blame.tcl:104 +msgid "File:" +msgstr "ファイル:" + +#: git-gui.sh:3078 +msgid "Refresh" +msgstr "再読み込み" + +#: git-gui.sh:3099 +msgid "Decrease Font Size" +msgstr "フォントを小さく" + +#: git-gui.sh:3103 +msgid "Increase Font Size" +msgstr "フォントを大きく" + +#: git-gui.sh:3111 lib/blame.tcl:281 +msgid "Encoding" +msgstr "エンコーディング" + +#: git-gui.sh:3122 +msgid "Apply/Reverse Hunk" +msgstr "パッチを適用/取り消す" + +#: git-gui.sh:3127 +msgid "Apply/Reverse Line" +msgstr "パッチ行を適用/取り消す" + +#: git-gui.sh:3137 +msgid "Run Merge Tool" +msgstr "マージツールを起動" + +#: git-gui.sh:3142 +msgid "Use Remote Version" +msgstr "リモートの方を採用" + +#: git-gui.sh:3146 +msgid "Use Local Version" +msgstr "ローカルの方を採用" + +#: git-gui.sh:3150 +msgid "Revert To Base" +msgstr "ベース版を採用" + +#: git-gui.sh:3169 +msgid "Unstage Hunk From Commit" +msgstr "パッチをコミット予定から外す" + +#: git-gui.sh:3170 +msgid "Unstage Line From Commit" +msgstr "コミット予定から行を外す" + +#: git-gui.sh:3172 +msgid "Stage Hunk For Commit" +msgstr "パッチをコミット予定に加える" + +#: git-gui.sh:3173 +msgid "Stage Line For Commit" +msgstr "パッチ行をコミット予定に加える" + +#: git-gui.sh:3196 +msgid "Initializing..." +msgstr "初期化しています…" + +#: git-gui.sh:3301 +#, tcl-format +msgid "" +"Possible environment issues exist.\n" +"\n" +"The following environment variables are probably\n" +"going to be ignored by any Git subprocess run\n" +"by %s:\n" +"\n" +msgstr "" +"環境に問題がある可能性があります\n" +"\n" +"以下の環境変数は %s が起動する Git サブプロセスによって無視されるでしょう:\n" +"\n" + +#: git-gui.sh:3331 +msgid "" +"\n" +"This is due to a known issue with the\n" +"Tcl binary distributed by Cygwin." +msgstr "" +"\n" +"これは Cygwin で配布されている Tcl バイナリに\n" +"関しての既知の問題によります" + +#: git-gui.sh:3336 +#, tcl-format +msgid "" +"\n" +"\n" +"A good replacement for %s\n" +"is placing values for the user.name and\n" +"user.email settings into your personal\n" +"~/.gitconfig file.\n" +msgstr "" +"\n" +"\n" +"個人的な ~/.gitconfig ファイル内で user.name と user.email の値を設定\n" +"するのが、%s の良い代用となります\n" + +#: lib/about.tcl:26 +msgid "git-gui - a graphical user interface for Git." +msgstr "Git のグラフィカルUI git-gui" + +#: lib/blame.tcl:72 +msgid "File Viewer" +msgstr "ファイルピューワ" + +#: lib/blame.tcl:78 +msgid "Commit:" +msgstr "コミット:" + +#: lib/blame.tcl:271 +msgid "Copy Commit" +msgstr "コミットをコピー" + +#: lib/blame.tcl:275 +msgid "Find Text..." +msgstr "テキストを検索" + +#: lib/blame.tcl:284 +msgid "Do Full Copy Detection" +msgstr "コピー検知" + +#: lib/blame.tcl:288 +msgid "Show History Context" +msgstr "文脈を見せる" + +#: lib/blame.tcl:291 +msgid "Blame Parent Commit" +msgstr "親コミットを註釈" + +#: lib/blame.tcl:450 +#, tcl-format +msgid "Reading %s..." +msgstr "%s を読んでいます…" + +#: lib/blame.tcl:557 +msgid "Loading copy/move tracking annotations..." +msgstr "コピー・移動追跡データを読んでいます…" + +#: lib/blame.tcl:577 +msgid "lines annotated" +msgstr "行を注釈しました" + +#: lib/blame.tcl:769 +msgid "Loading original location annotations..." +msgstr "元位置行の注釈データを読んでいます…" + +#: lib/blame.tcl:772 +msgid "Annotation complete." +msgstr "注釈完了しました" + +#: lib/blame.tcl:802 +msgid "Busy" +msgstr "実行中" + +#: lib/blame.tcl:803 +msgid "Annotation process is already running." +msgstr "すでに blame プロセスを実行中です。" + +#: lib/blame.tcl:842 +msgid "Running thorough copy detection..." +msgstr "コピー検知を実行中…" + +#: lib/blame.tcl:910 +msgid "Loading annotation..." +msgstr "注釈を読み込んでいます…" + +#: lib/blame.tcl:964 +msgid "Author:" +msgstr "作者:" + +#: lib/blame.tcl:968 +msgid "Committer:" +msgstr "コミット者:" + +#: lib/blame.tcl:973 +msgid "Original File:" +msgstr "元ファイル" + +#: lib/blame.tcl:1021 +msgid "Cannot find HEAD commit:" +msgstr "HEAD コミットが見つかりません" + +#: lib/blame.tcl:1076 +msgid "Cannot find parent commit:" +msgstr "親コミットが見つかりません:" + +#: lib/blame.tcl:1091 +msgid "Unable to display parent" +msgstr "親を表示できません" + +#: lib/blame.tcl:1092 lib/diff.tcl:297 +msgid "Error loading diff:" +msgstr "diff を読む際のエラーです:" + +#: lib/blame.tcl:1232 +msgid "Originally By:" +msgstr "原作者:" + +#: lib/blame.tcl:1238 +msgid "In File:" +msgstr "ファイル:" + +#: lib/blame.tcl:1243 +msgid "Copied Or Moved Here By:" +msgstr "複写・移動者:" + +#: lib/branch_checkout.tcl:14 lib/branch_checkout.tcl:19 +msgid "Checkout Branch" +msgstr "ブランチをチェックアウト" + +#: lib/branch_checkout.tcl:23 +msgid "Checkout" +msgstr "チェックアウト" + +#: lib/branch_checkout.tcl:27 lib/branch_create.tcl:35 +#: lib/branch_delete.tcl:32 lib/branch_rename.tcl:30 lib/browser.tcl:282 +#: lib/checkout_op.tcl:544 lib/choose_font.tcl:43 lib/merge.tcl:172 +#: lib/option.tcl:125 lib/remote_add.tcl:32 lib/remote_branch_delete.tcl:42 +#: lib/tools_dlg.tcl:40 lib/tools_dlg.tcl:204 lib/tools_dlg.tcl:352 +#: lib/transport.tcl:97 +msgid "Cancel" +msgstr "中止" + +#: lib/branch_checkout.tcl:32 lib/browser.tcl:287 lib/tools_dlg.tcl:328 +msgid "Revision" +msgstr "リビジョン" + +#: lib/branch_checkout.tcl:36 lib/branch_create.tcl:69 lib/option.tcl:280 +msgid "Options" +msgstr "オプション" + +#: lib/branch_checkout.tcl:39 lib/branch_create.tcl:92 +msgid "Fetch Tracking Branch" +msgstr "トラッキング・ブランチをフェッチ" + +#: lib/branch_checkout.tcl:44 +msgid "Detach From Local Branch" +msgstr "ローカル・ブランチから削除" + +#: lib/branch_create.tcl:22 +msgid "Create Branch" +msgstr "ブランチを作成" + +#: lib/branch_create.tcl:27 +msgid "Create New Branch" +msgstr "ブランチを新規作成" + +#: lib/branch_create.tcl:31 lib/choose_repository.tcl:377 +msgid "Create" +msgstr "作成" + +#: lib/branch_create.tcl:40 +msgid "Branch Name" +msgstr "ブランチ名" + +#: lib/branch_create.tcl:43 lib/remote_add.tcl:39 lib/tools_dlg.tcl:50 +msgid "Name:" +msgstr "名前:" + +#: lib/branch_create.tcl:58 +msgid "Match Tracking Branch Name" +msgstr "トラッキング・ブランチ名を合わせる" + +#: lib/branch_create.tcl:66 +msgid "Starting Revision" +msgstr "初期リビジョン" + +#: lib/branch_create.tcl:72 +msgid "Update Existing Branch:" +msgstr "既存のブランチを更新:" + +#: lib/branch_create.tcl:75 +msgid "No" +msgstr "いいえ" + +#: lib/branch_create.tcl:80 +msgid "Fast Forward Only" +msgstr "早送りのみ" + +#: lib/branch_create.tcl:85 lib/checkout_op.tcl:536 +msgid "Reset" +msgstr "リセット" + +#: lib/branch_create.tcl:97 +msgid "Checkout After Creation" +msgstr "作成してすぐチェックアウト" + +#: lib/branch_create.tcl:131 +msgid "Please select a tracking branch." +msgstr "トラッキング・ブランチを選択して下さい。" + +#: lib/branch_create.tcl:140 +#, tcl-format +msgid "Tracking branch %s is not a branch in the remote repository." +msgstr "トラッキング・ブランチ %s は遠隔リポジトリのブランチではありません。" + +#: lib/branch_create.tcl:153 lib/branch_rename.tcl:86 +msgid "Please supply a branch name." +msgstr "ブランチ名を指定して下さい。" + +#: lib/branch_create.tcl:164 lib/branch_rename.tcl:106 +#, tcl-format +msgid "'%s' is not an acceptable branch name." +msgstr "'%s' はブランチ名に使えません。" + +#: lib/branch_delete.tcl:15 +msgid "Delete Branch" +msgstr "ブランチ削除" + +#: lib/branch_delete.tcl:20 +msgid "Delete Local Branch" +msgstr "ローカル・ブランチを削除" + +#: lib/branch_delete.tcl:37 +msgid "Local Branches" +msgstr "ローカル・ブランチ" + +#: lib/branch_delete.tcl:52 +msgid "Delete Only If Merged Into" +msgstr "マージ済みの時のみ削除" + +#: lib/branch_delete.tcl:54 +msgid "Always (Do not perform merge test.)" +msgstr "無条件(マージテストしない)" + +#: lib/branch_delete.tcl:103 +#, tcl-format +msgid "The following branches are not completely merged into %s:" +msgstr "以下のブランチは %s に完全にマージされていません:" + +#: lib/branch_delete.tcl:115 +msgid "" +"Recovering deleted branches is difficult. \n" +"\n" +" Delete the selected branches?" +msgstr "" +"ブランチを削除すると元に戻すのは困難です。 \n" +"\n" +" 選択したブランチを削除しますか?" + +#: lib/branch_delete.tcl:141 +#, tcl-format +msgid "" +"Failed to delete branches:\n" +"%s" +msgstr "" +"以下のブランチを削除できません:\n" +"%s" + +#: lib/branch_rename.tcl:14 lib/branch_rename.tcl:22 +msgid "Rename Branch" +msgstr "ブランチの名前変更" + +#: lib/branch_rename.tcl:26 +msgid "Rename" +msgstr "名前変更" + +#: lib/branch_rename.tcl:36 +msgid "Branch:" +msgstr "ブランチ:" + +#: lib/branch_rename.tcl:39 +msgid "New Name:" +msgstr "新しい名前:" + +#: lib/branch_rename.tcl:75 +msgid "Please select a branch to rename." +msgstr "名前を変更するブランチを選んで下さい。" + +#: lib/branch_rename.tcl:96 lib/checkout_op.tcl:201 +#, tcl-format +msgid "Branch '%s' already exists." +msgstr "'%s'というブランチは既に存在します。" + +#: lib/branch_rename.tcl:117 +#, tcl-format +msgid "Failed to rename '%s'." +msgstr "'%s'の名前変更に失敗しました。" + +#: lib/browser.tcl:17 +msgid "Starting..." +msgstr "起動中…" + +#: lib/browser.tcl:26 +msgid "File Browser" +msgstr "ファイル・ブラウザ" + +#: lib/browser.tcl:126 lib/browser.tcl:143 +#, tcl-format +msgid "Loading %s..." +msgstr "%s をロード中…" + +#: lib/browser.tcl:187 +msgid "[Up To Parent]" +msgstr "[上位フォルダへ]" + +#: lib/browser.tcl:267 lib/browser.tcl:273 +msgid "Browse Branch Files" +msgstr "現在のブランチのファイルを見る" + +#: lib/browser.tcl:278 lib/choose_repository.tcl:394 +#: lib/choose_repository.tcl:480 lib/choose_repository.tcl:491 +#: lib/choose_repository.tcl:995 +msgid "Browse" +msgstr "ブラウズ" + +#: lib/checkout_op.tcl:84 +#, tcl-format +msgid "Fetching %s from %s" +msgstr "%s から %s をフェッチしています" + +#: lib/checkout_op.tcl:132 +#, tcl-format +msgid "fatal: Cannot resolve %s" +msgstr "致命的エラー: %s を解決できません" + +#: lib/checkout_op.tcl:145 lib/console.tcl:81 lib/database.tcl:31 +#: lib/sshkey.tcl:53 +msgid "Close" +msgstr "閉じる" + +#: lib/checkout_op.tcl:174 +#, tcl-format +msgid "Branch '%s' does not exist." +msgstr "ブランチ'%s'は存在しません。" + +#: lib/checkout_op.tcl:193 +#, tcl-format +msgid "Failed to configure simplified git-pull for '%s'." +msgstr "'%s' に簡易 git-pull を設定できませんでした" + +#: lib/checkout_op.tcl:228 +#, tcl-format +msgid "" +"Branch '%s' already exists.\n" +"\n" +"It cannot fast-forward to %s.\n" +"A merge is required." +msgstr "" +"ブランチ '%s' は既に存在します。\n" +"\n" +"%s に早送りできません。\n" +"マージが必要です。" + +#: lib/checkout_op.tcl:242 +#, tcl-format +msgid "Merge strategy '%s' not supported." +msgstr "'%s' マージ戦略はサポートされていません。" + +#: lib/checkout_op.tcl:261 +#, tcl-format +msgid "Failed to update '%s'." +msgstr "'%s' の更新に失敗しました。" + +#: lib/checkout_op.tcl:273 +msgid "Staging area (index) is already locked." +msgstr "インデックスは既にロックされています。" + +#: lib/checkout_op.tcl:288 +msgid "" +"Last scanned state does not match repository state.\n" +"\n" +"Another Git program has modified this repository since the last scan. A " +"rescan must be performed before the current branch can be changed.\n" +"\n" +"The rescan will be automatically started now.\n" +msgstr "" +"最後にスキャンした状態はリポジトリの状態と合致しません。\n" +"\n" +"最後にスキャンして以後、別の Git プログラムがリポジトリを変更しています。現在" +"のブランチを変更する前に、再スキャンが必要です。\n" +"\n" +"自動的に再スキャンを開始します。\n" + +#: lib/checkout_op.tcl:344 +#, tcl-format +msgid "Updating working directory to '%s'..." +msgstr "作業ディレクトリを '%s' に更新しています…" + +#: lib/checkout_op.tcl:345 +msgid "files checked out" +msgstr "チェックアウトされたファイル" + +#: lib/checkout_op.tcl:375 +#, tcl-format +msgid "Aborted checkout of '%s' (file level merging is required)." +msgstr "'%s' のチェックアウトを中止しました(ファイル毎のマージが必要です)。" + +#: lib/checkout_op.tcl:376 +msgid "File level merge required." +msgstr "ファイル毎のマージが必要です。" + +#: lib/checkout_op.tcl:380 +#, tcl-format +msgid "Staying on branch '%s'." +msgstr "ブランチ '%s' に滞まります。" + +#: lib/checkout_op.tcl:451 +msgid "" +"You are no longer on a local branch.\n" +"\n" +"If you wanted to be on a branch, create one now starting from 'This Detached " +"Checkout'." +msgstr "" +"ローカル・ブランチから離れます。\n" +"\n" +"ブランチ上に滞まりたいときは、この「分離されたチェックアウト」から新規ブラン" +"チを開始してください。" + +#: lib/checkout_op.tcl:468 lib/checkout_op.tcl:472 +#, tcl-format +msgid "Checked out '%s'." +msgstr "'%s' をチェックアウトしました" + +#: lib/checkout_op.tcl:500 +#, tcl-format +msgid "Resetting '%s' to '%s' will lose the following commits:" +msgstr "'%s' を '%s' にリセットすると、以下のコミットが失なわれます:" + +#: lib/checkout_op.tcl:522 +msgid "Recovering lost commits may not be easy." +msgstr "失なわれたコミットを回復するのは簡単ではありません。" + +#: lib/checkout_op.tcl:527 +#, tcl-format +msgid "Reset '%s'?" +msgstr "'%s' をリセットしますか?" + +#: lib/checkout_op.tcl:532 lib/merge.tcl:164 lib/tools_dlg.tcl:343 +msgid "Visualize" +msgstr "可視化" + +#: lib/checkout_op.tcl:600 +#, tcl-format +msgid "" +"Failed to set current branch.\n" +"\n" +"This working directory is only partially switched. We successfully updated " +"your files, but failed to update an internal Git file.\n" +"\n" +"This should not have occurred. %s will now close and give up." +msgstr "" +"現在のブランチを設定できません。\n" +"\n" +"作業ディレクトリは部分的にしか切り替わっていません。ファイルの更新には成功し" +"ましたが、 Git の内部データを更新できませんでした。\n" +"起こるはずのないエラーです。あきらめて %s を終了します。" + +#: lib/choose_font.tcl:39 +msgid "Select" +msgstr "選択" + +#: lib/choose_font.tcl:53 +msgid "Font Family" +msgstr "フォント・ファミリー" + +#: lib/choose_font.tcl:74 +msgid "Font Size" +msgstr "フォントの大きさ" + +#: lib/choose_font.tcl:91 +msgid "Font Example" +msgstr "フォント・サンプル" + +#: lib/choose_font.tcl:103 +msgid "" +"This is example text.\n" +"If you like this text, it can be your font." +msgstr "" +"これはサンプル文です。\n" +"このフォントが気に入ればお使いになれます。" + +#: lib/choose_repository.tcl:28 +msgid "Git Gui" +msgstr "Git GUI" + +#: lib/choose_repository.tcl:87 lib/choose_repository.tcl:382 +msgid "Create New Repository" +msgstr "新しいリポジトリを作る" + +#: lib/choose_repository.tcl:93 +msgid "New..." +msgstr "新規…" + +#: lib/choose_repository.tcl:100 lib/choose_repository.tcl:465 +msgid "Clone Existing Repository" +msgstr "既存リポジトリを複製する" + +#: lib/choose_repository.tcl:106 +msgid "Clone..." +msgstr "複製…" + +#: lib/choose_repository.tcl:113 lib/choose_repository.tcl:983 +msgid "Open Existing Repository" +msgstr "既存リポジトリを開く" + +#: lib/choose_repository.tcl:119 +msgid "Open..." +msgstr "開く…" + +#: lib/choose_repository.tcl:132 +msgid "Recent Repositories" +msgstr "最近使ったリポジトリ" + +#: lib/choose_repository.tcl:138 +msgid "Open Recent Repository:" +msgstr "最近使ったリポジトリを開く" + +#: lib/choose_repository.tcl:302 lib/choose_repository.tcl:309 +#: lib/choose_repository.tcl:316 +#, tcl-format +msgid "Failed to create repository %s:" +msgstr "リポジトリ %s を作製できません:" + +#: lib/choose_repository.tcl:387 +msgid "Directory:" +msgstr "ディレクトリ:" + +#: lib/choose_repository.tcl:417 lib/choose_repository.tcl:544 +#: lib/choose_repository.tcl:1017 +msgid "Git Repository" +msgstr "GIT リポジトリ" + +#: lib/choose_repository.tcl:442 +#, tcl-format +msgid "Directory %s already exists." +msgstr "ディレクトリ '%s' は既に存在します。" + +#: lib/choose_repository.tcl:446 +#, tcl-format +msgid "File %s already exists." +msgstr "ファイル '%s' は既に存在します。" + +#: lib/choose_repository.tcl:460 +msgid "Clone" +msgstr "複製" + +#: lib/choose_repository.tcl:473 +msgid "Source Location:" +msgstr "ソースの位置" + +#: lib/choose_repository.tcl:484 +msgid "Target Directory:" +msgstr "先ディレクトリ:" + +#: lib/choose_repository.tcl:496 +msgid "Clone Type:" +msgstr "複製方式:" + +#: lib/choose_repository.tcl:502 +msgid "Standard (Fast, Semi-Redundant, Hardlinks)" +msgstr "標準(高速・中冗長度・ハードリンク)" + +#: lib/choose_repository.tcl:508 +msgid "Full Copy (Slower, Redundant Backup)" +msgstr "全複写(低速・冗長バックアップ)" + +#: lib/choose_repository.tcl:514 +msgid "Shared (Fastest, Not Recommended, No Backup)" +msgstr "共有(最高速・非推奨・バックアップ無し)" + +#: lib/choose_repository.tcl:550 lib/choose_repository.tcl:597 +#: lib/choose_repository.tcl:743 lib/choose_repository.tcl:813 +#: lib/choose_repository.tcl:1023 lib/choose_repository.tcl:1031 +#, tcl-format +msgid "Not a Git repository: %s" +msgstr "Git リポジトリではありません: %s" + +#: lib/choose_repository.tcl:586 +msgid "Standard only available for local repository." +msgstr "標準方式は同一計算機上のリポジトリにのみ使えます。" + +#: lib/choose_repository.tcl:590 +msgid "Shared only available for local repository." +msgstr "共有方式は同一計算機上のリポジトリにのみ使えます。" + +#: lib/choose_repository.tcl:611 +#, tcl-format +msgid "Location %s already exists." +msgstr "'%s' は既に存在します。" + +#: lib/choose_repository.tcl:622 +msgid "Failed to configure origin" +msgstr "origin を設定できませんでした" + +#: lib/choose_repository.tcl:634 +msgid "Counting objects" +msgstr "オブジェクトを数えています" + +#: lib/choose_repository.tcl:635 +msgid "buckets" +msgstr "バケツ" + +#: lib/choose_repository.tcl:659 +#, tcl-format +msgid "Unable to copy objects/info/alternates: %s" +msgstr "objects/info/alternates を複写できません: %s" + +#: lib/choose_repository.tcl:695 +#, tcl-format +msgid "Nothing to clone from %s." +msgstr "%s から複製する内容はありません" + +#: lib/choose_repository.tcl:697 lib/choose_repository.tcl:911 +#: lib/choose_repository.tcl:923 +msgid "The 'master' branch has not been initialized." +msgstr "'master' ブランチが初期化されていません" + +#: lib/choose_repository.tcl:710 +msgid "Hardlinks are unavailable. Falling back to copying." +msgstr "ハードリンクが作れないので、コピーします" + +#: lib/choose_repository.tcl:722 +#, tcl-format +msgid "Cloning from %s" +msgstr "%s から複製しています" + +#: lib/choose_repository.tcl:753 +msgid "Copying objects" +msgstr "オブジェクトを複写しています" + +#: lib/choose_repository.tcl:754 +msgid "KiB" +msgstr "KiB" + +#: lib/choose_repository.tcl:778 +#, tcl-format +msgid "Unable to copy object: %s" +msgstr "オブジェクトを複写できません: %s" + +#: lib/choose_repository.tcl:788 +msgid "Linking objects" +msgstr "オブジェクトを連結しています" + +#: lib/choose_repository.tcl:789 +msgid "objects" +msgstr "オブジェクト" + +#: lib/choose_repository.tcl:797 +#, tcl-format +msgid "Unable to hardlink object: %s" +msgstr "オブジェクトをハードリンクできません: %s" + +#: lib/choose_repository.tcl:852 +msgid "Cannot fetch branches and objects. See console output for details." +msgstr "ブランチやオブジェクトを取得できません。コンソール出力を見て下さい" + +#: lib/choose_repository.tcl:863 +msgid "Cannot fetch tags. See console output for details." +msgstr "タグを取得できません。コンソール出力を見て下さい" + +#: lib/choose_repository.tcl:887 +msgid "Cannot determine HEAD. See console output for details." +msgstr "HEAD を確定できません。コンソール出力を見て下さい" + +#: lib/choose_repository.tcl:896 +#, tcl-format +msgid "Unable to cleanup %s" +msgstr "%s を掃除できません" + +#: lib/choose_repository.tcl:902 +msgid "Clone failed." +msgstr "複写に失敗しました。" + +#: lib/choose_repository.tcl:909 +msgid "No default branch obtained." +msgstr "デフォールト・ブランチが取得されませんでした" + +#: lib/choose_repository.tcl:920 +#, tcl-format +msgid "Cannot resolve %s as a commit." +msgstr "%s をコミットとして解釈できません" + +#: lib/choose_repository.tcl:932 +msgid "Creating working directory" +msgstr "作業ディレクトリを作成しています" + +#: lib/choose_repository.tcl:933 lib/index.tcl:65 lib/index.tcl:128 +#: lib/index.tcl:196 +msgid "files" +msgstr "ファイル" + +#: lib/choose_repository.tcl:962 +msgid "Initial file checkout failed." +msgstr "初期チェックアウトに失敗しました" + +#: lib/choose_repository.tcl:978 +msgid "Open" +msgstr "開く" + +#: lib/choose_repository.tcl:988 +msgid "Repository:" +msgstr "リポジトリ:" + +#: lib/choose_repository.tcl:1037 +#, tcl-format +msgid "Failed to open repository %s:" +msgstr "リポジトリ %s を開けません:" + +#: lib/choose_rev.tcl:53 +msgid "This Detached Checkout" +msgstr "分離されたチェックアウト" + +#: lib/choose_rev.tcl:60 +msgid "Revision Expression:" +msgstr "リビジョン式:" + +#: lib/choose_rev.tcl:74 +msgid "Local Branch" +msgstr "ローカル・ブランチ" + +#: lib/choose_rev.tcl:79 +msgid "Tracking Branch" +msgstr "トラッキング・ブランチ" + +#: lib/choose_rev.tcl:84 lib/choose_rev.tcl:538 +msgid "Tag" +msgstr "タグ" + +#: lib/choose_rev.tcl:317 +#, tcl-format +msgid "Invalid revision: %s" +msgstr "無効なリビジョン: %s" + +#: lib/choose_rev.tcl:338 +msgid "No revision selected." +msgstr "リビジョンが未選択です。" + +#: lib/choose_rev.tcl:346 +msgid "Revision expression is empty." +msgstr "リビジョン式が空です。" + +#: lib/choose_rev.tcl:531 +msgid "Updated" +msgstr "更新しました" + +#: lib/choose_rev.tcl:559 +msgid "URL" +msgstr "URL" + +#: lib/commit.tcl:9 +msgid "" +"There is nothing to amend.\n" +"\n" +"You are about to create the initial commit. There is no commit before this " +"to amend.\n" +msgstr "" +"訂正するコミットがそもそもありません。\n" +"\n" +"これから作るのは最初のコミットです。その前にはまだ訂正するようなコミットはあ" +"りません。\n" + +#: lib/commit.tcl:18 +msgid "" +"Cannot amend while merging.\n" +"\n" +"You are currently in the middle of a merge that has not been fully " +"completed. You cannot amend the prior commit unless you first abort the " +"current merge activity.\n" +msgstr "" +"マージ中にコミットの訂正はできません。\n" +"\n" +"現在はまだマージの途中です。先にこのマージを中止しないと、前のコミットの訂正" +"はできません\n" + +#: lib/commit.tcl:49 +msgid "Error loading commit data for amend:" +msgstr "訂正するコミットのデータを読めません:" + +#: lib/commit.tcl:76 +msgid "Unable to obtain your identity:" +msgstr "ユーザの正体を確認できません:" + +#: lib/commit.tcl:81 +msgid "Invalid GIT_COMMITTER_IDENT:" +msgstr "GIT_COMMITTER_IDENT が無効です:" + +#: lib/commit.tcl:133 +msgid "" +"Last scanned state does not match repository state.\n" +"\n" +"Another Git program has modified this repository since the last scan. A " +"rescan must be performed before another commit can be created.\n" +"\n" +"The rescan will be automatically started now.\n" +msgstr "" +"最後にスキャンした状態はリポジトリの状態と合致しません。\n" +"\n" +"最後にスキャンして以後、別の Git プログラムがリポジトリを変更しています。新し" +"くコミットする前に、再スキャンが必要です。\n" +"\n" +"自動的に再スキャンを開始します。\n" + +#: lib/commit.tcl:156 +#, tcl-format +msgid "" +"Unmerged files cannot be committed.\n" +"\n" +"File %s has merge conflicts. You must resolve them and stage the file " +"before committing.\n" +msgstr "" +"マージしていないファイルはコミットできません。\n" +"\n" +"ファイル %s にはマージ衝突が残っています。まず解決してコミット予定に加える必" +"要があります。\n" + +#: lib/commit.tcl:164 +#, tcl-format +msgid "" +"Unknown file state %s detected.\n" +"\n" +"File %s cannot be committed by this program.\n" +msgstr "" +"不明なファイル状態 %s です。\n" +"\n" +"ファイル %s は本プログラムではコミットできません。\n" + +#: lib/commit.tcl:172 +msgid "" +"No changes to commit.\n" +"\n" +"You must stage at least 1 file before you can commit.\n" +msgstr "" +"コミットする変更がありません。\n" +"\n" +"最低一つの変更をコミット予定に加えてからコミットして下さい。\n" + +#: lib/commit.tcl:187 +msgid "" +"Please supply a commit message.\n" +"\n" +"A good commit message has the following format:\n" +"\n" +"- First line: Describe in one sentence what you did.\n" +"- Second line: Blank\n" +"- Remaining lines: Describe why this change is good.\n" +msgstr "" +"コミット・メッセージを入力して下さい。\n" +"\n" +"正しいコミット・メッセージは:\n" +"\n" +"- 第1行: 何をしたか、を1行で要約。\n" +"- 第2行: 空白\n" +"- 残りの行: なぜ、この変更が良い変更か、の説明。\n" + +#: lib/commit.tcl:211 +#, tcl-format +msgid "warning: Tcl does not support encoding '%s'." +msgstr "警告: Tcl はエンコーディング '%s' をサポートしていません" + +#: lib/commit.tcl:227 +msgid "Calling pre-commit hook..." +msgstr "コミット前フックを実行中・・・" + +#: lib/commit.tcl:242 +msgid "Commit declined by pre-commit hook." +msgstr "コミット前フックがコミットを拒否しました" + +#: lib/commit.tcl:265 +msgid "Calling commit-msg hook..." +msgstr "コミット・メッセージ・フックを実行中・・・" + +#: lib/commit.tcl:280 +msgid "Commit declined by commit-msg hook." +msgstr "コミット・メッセージ・フックがコミットを拒否しました" + +#: lib/commit.tcl:293 +msgid "Committing changes..." +msgstr "変更点をコミット中・・・" + +#: lib/commit.tcl:309 +msgid "write-tree failed:" +msgstr "write-tree が失敗しました:" + +#: lib/commit.tcl:310 lib/commit.tcl:354 lib/commit.tcl:374 +msgid "Commit failed." +msgstr "コミットに失敗しました。" + +#: lib/commit.tcl:327 +#, tcl-format +msgid "Commit %s appears to be corrupt" +msgstr "コミット %s は壊れています" + +#: lib/commit.tcl:332 +msgid "" +"No changes to commit.\n" +"\n" +"No files were modified by this commit and it was not a merge commit.\n" +"\n" +"A rescan will be automatically started now.\n" +msgstr "" +"コミットする変更がありません。\n" +"\n" +"マージでなく、また、一つも変更点がありません。\n" +"\n" +"自動的に再スキャンを開始します。\n" + +#: lib/commit.tcl:339 +msgid "No changes to commit." +msgstr "コミットする変更がありません。" + +#: lib/commit.tcl:353 +msgid "commit-tree failed:" +msgstr "commit-tree が失敗しました:" + +#: lib/commit.tcl:373 +msgid "update-ref failed:" +msgstr "update-ref が失敗しました:" + +#: lib/commit.tcl:461 +#, tcl-format +msgid "Created commit %s: %s" +msgstr "コミット %s を作成しました: %s" + +#: lib/console.tcl:59 +msgid "Working... please wait..." +msgstr "実行中…お待ち下さい…" + +#: lib/console.tcl:186 +msgid "Success" +msgstr "成功" + +#: lib/console.tcl:200 +msgid "Error: Command Failed" +msgstr "エラー: コマンドが失敗しました" + +#: lib/database.tcl:43 +msgid "Number of loose objects" +msgstr "ばらばらなオブジェクトの数" + +#: lib/database.tcl:44 +msgid "Disk space used by loose objects" +msgstr "ばらばらなオブジェクトの使用するディスク量" + +#: lib/database.tcl:45 +msgid "Number of packed objects" +msgstr "パックされたオブジェクトの数" + +#: lib/database.tcl:46 +msgid "Number of packs" +msgstr "パックの数" + +#: lib/database.tcl:47 +msgid "Disk space used by packed objects" +msgstr "パックされたオブジェクトの使用するディスク量" + +#: lib/database.tcl:48 +msgid "Packed objects waiting for pruning" +msgstr "パックに存在するので捨てて良いオブジェクトの数" + +#: lib/database.tcl:49 +msgid "Garbage files" +msgstr "ゴミファイル" + +#: lib/database.tcl:72 +msgid "Compressing the object database" +msgstr "データベース圧縮" + +#: lib/database.tcl:83 +msgid "Verifying the object database with fsck-objects" +msgstr "fsck-objects でオブジェクト・データベースを検証しています" + +#: lib/database.tcl:108 +#, tcl-format +msgid "" +"This repository currently has approximately %i loose objects.\n" +"\n" +"To maintain optimal performance it is strongly recommended that you compress " +"the database when more than %i loose objects exist.\n" +"\n" +"Compress the database now?" +msgstr "" +"このリポジトリにはおおよそ %i 個の個別オブジェクトがあります\n" +"\n" +"最適な性能を保つために、%i 個以上の個別オブジェクトを作る毎にデータベースを圧" +"縮することを推奨します\n" +"\n" +"データベースを圧縮しますか?" + +#: lib/date.tcl:25 +#, tcl-format +msgid "Invalid date from Git: %s" +msgstr "Git から出た無効な日付: %s" + +#: lib/diff.tcl:59 +#, tcl-format +msgid "" +"No differences detected.\n" +"\n" +"%s has no changes.\n" +"\n" +"The modification date of this file was updated by another application, but " +"the content within the file was not changed.\n" +"\n" +"A rescan will be automatically started to find other files which may have " +"the same state." +msgstr "" +"変更がありません。\n" +"\n" +"%s には変更がありません。\n" +"\n" +"このファイルの変更時刻は他のアプリケーションによって更新されていますがファイ" +"ル内容には変更がありません。\n" +"\n" +"同様な状態のファイルを探すために、自動的に再スキャンを開始します。" + +#: lib/diff.tcl:99 +#, tcl-format +msgid "Loading diff of %s..." +msgstr "%s の変更点をロード中…" + +#: lib/diff.tcl:120 +msgid "" +"LOCAL: deleted\n" +"REMOTE:\n" +msgstr "" +"LOCAL: 削除\n" +"Remote:\n" + +#: lib/diff.tcl:125 +msgid "" +"REMOTE: deleted\n" +"LOCAL:\n" +msgstr "" +"REMOTE: 削除\n" +"LOCAL:\n" + +#: lib/diff.tcl:132 +msgid "LOCAL:\n" +msgstr "LOCAL:\n" + +#: lib/diff.tcl:135 +msgid "REMOTE:\n" +msgstr "REMOTE\n" + +#: lib/diff.tcl:197 lib/diff.tcl:296 +#, tcl-format +msgid "Unable to display %s" +msgstr "%s を表示できません" + +#: lib/diff.tcl:198 +msgid "Error loading file:" +msgstr "ファイルを読む際のエラーです:" + +#: lib/diff.tcl:205 +msgid "Git Repository (subproject)" +msgstr "Git リポジトリ(サブプロジェクト)" + +#: lib/diff.tcl:217 +msgid "* Binary file (not showing content)." +msgstr "* バイナリファイル(内容は表示しません)" + +#: lib/diff.tcl:222 +#, tcl-format +msgid "" +"* Untracked file is %d bytes.\n" +"* Showing only first %d bytes.\n" +msgstr "" +"* 管理外のファイルの大きさは %d バイトです。\n" +"* 最初の %d バイトだけ表示しています。\n" + +#: lib/diff.tcl:228 +#, tcl-format +msgid "" +"\n" +"* Untracked file clipped here by %s.\n" +"* To see the entire file, use an external editor.\n" +msgstr "" +"\n" +"\n" +"* %s は管理外のファイルをここで切りおとしました。\n" +"* 全体を見るには外部エディタを使ってください。\n" + +#: lib/diff.tcl:436 +msgid "Failed to unstage selected hunk." +msgstr "選択されたパッチをコミット予定から外せません。" + +#: lib/diff.tcl:443 +msgid "Failed to stage selected hunk." +msgstr "選択されたパッチをコミット予定に加えられません。" + +#: lib/diff.tcl:509 +msgid "Failed to unstage selected line." +msgstr "選択されたパッチ行をコミット予定から外せません。" + +#: lib/diff.tcl:517 +msgid "Failed to stage selected line." +msgstr "選択されたパッチ行をコミット予定に加えられません。" + +#: lib/encoding.tcl:443 +msgid "Default" +msgstr "デフォールト" + +#: lib/encoding.tcl:448 +#, tcl-format +msgid "System (%s)" +msgstr "システム (%s)" + +#: lib/encoding.tcl:459 lib/encoding.tcl:465 +msgid "Other" +msgstr "その他" + +#: lib/error.tcl:20 lib/error.tcl:114 +msgid "error" +msgstr "エラー" + +#: lib/error.tcl:36 +msgid "warning" +msgstr "警告" + +#: lib/error.tcl:94 +msgid "You must correct the above errors before committing." +msgstr "コミットする前に、以上のエラーを修正して下さい" + +#: lib/index.tcl:6 +msgid "Unable to unlock the index." +msgstr "インデックスをロックできません" + +#: lib/index.tcl:15 +msgid "Index Error" +msgstr "索引エラー" + +#: lib/index.tcl:21 +msgid "" +"Updating the Git index failed. A rescan will be automatically started to " +"resynchronize git-gui." +msgstr "" +"GIT インデックスの更新が失敗しました。git-gui と同期をとるために再スキャンし" +"ます。" + +#: lib/index.tcl:27 +msgid "Continue" +msgstr "続行" + +#: lib/index.tcl:31 +msgid "Unlock Index" +msgstr "インデックスのロック解除" + +#: lib/index.tcl:287 +#, tcl-format +msgid "Unstaging %s from commit" +msgstr "コミットから '%s' を降ろす" + +#: lib/index.tcl:326 +msgid "Ready to commit." +msgstr "コミット準備完了" + +#: lib/index.tcl:339 +#, tcl-format +msgid "Adding %s" +msgstr "コミットに %s を加えています" + +#: lib/index.tcl:396 +#, tcl-format +msgid "Revert changes in file %s?" +msgstr "ファイル %s にした変更を元に戻しますか?" + +#: lib/index.tcl:398 +#, tcl-format +msgid "Revert changes in these %i files?" +msgstr "これら %i 個のファイルにした変更を元に戻しますか?" + +#: lib/index.tcl:406 +msgid "Any unstaged changes will be permanently lost by the revert." +msgstr "変更を元に戻すとコミット予定していない変更は全て失われます。" + +#: lib/index.tcl:409 +msgid "Do Nothing" +msgstr "何もしない" + +#: lib/index.tcl:427 +msgid "Reverting selected files" +msgstr "選択されたファイルにした変更を元に戻します" + +#: lib/index.tcl:431 +#, tcl-format +msgid "Reverting %s" +msgstr "%s にした変更を元に戻します" + +#: lib/merge.tcl:13 +msgid "" +"Cannot merge while amending.\n" +"\n" +"You must finish amending this commit before starting any type of merge.\n" +msgstr "" +"訂正中にはマージできません。\n" +"\n" +"訂正処理を完了するまでは新たにマージを開始できません。\n" + +#: lib/merge.tcl:27 +msgid "" +"Last scanned state does not match repository state.\n" +"\n" +"Another Git program has modified this repository since the last scan. A " +"rescan must be performed before a merge can be performed.\n" +"\n" +"The rescan will be automatically started now.\n" +msgstr "" +"最後にスキャンした状態はリポジトリの状態と合致しません。\n" +"\n" +"最後にスキャンして以後、別の Git プログラムがリポジトリを変更しています。マー" +"ジを開始する前に、再スキャンが必要です。\n" +"\n" +"自動的に再スキャンを開始します。\n" + +#: lib/merge.tcl:45 +#, tcl-format +msgid "" +"You are in the middle of a conflicted merge.\n" +"\n" +"File %s has merge conflicts.\n" +"\n" +"You must resolve them, stage the file, and commit to complete the current " +"merge. Only then can you begin another merge.\n" +msgstr "" +"衝突のあったマージの途中です。\n" +"\n" +"ファイル %s にはマージ中の衝突が残っています。\n" +"\n" +"このファイルの衝突を解決し、コミット予定に加えて、コミットすることでマージを" +"完了します。そうやって始めて、新たなマージを開始できるようになります。\n" + +#: lib/merge.tcl:55 +#, tcl-format +msgid "" +"You are in the middle of a change.\n" +"\n" +"File %s is modified.\n" +"\n" +"You should complete the current commit before starting a merge. Doing so " +"will help you abort a failed merge, should the need arise.\n" +msgstr "" +"変更の途中です。\n" +"\n" +"ファイル %s は変更中です。\n" +"\n" +"現在のコミットを完了してからマージを開始して下さい。そうする方がマージに失敗" +"したときの回復が楽です。\n" + +#: lib/merge.tcl:107 +#, tcl-format +msgid "%s of %s" +msgstr "%s の %s ブランチ" + +#: lib/merge.tcl:120 +#, tcl-format +msgid "Merging %s and %s..." +msgstr "%s と %s をマージ中・・・" + +#: lib/merge.tcl:131 +msgid "Merge completed successfully." +msgstr "マージが完了しました" + +#: lib/merge.tcl:133 +msgid "Merge failed. Conflict resolution is required." +msgstr "マージが失敗しました。衝突の解決が必要です。" + +#: lib/merge.tcl:158 +#, tcl-format +msgid "Merge Into %s" +msgstr "%s にマージ" + +#: lib/merge.tcl:177 +msgid "Revision To Merge" +msgstr "マージするリビジョン" + +#: lib/merge.tcl:212 +msgid "" +"Cannot abort while amending.\n" +"\n" +"You must finish amending this commit.\n" +msgstr "" +"訂正中には中止できません。\n" +"\n" +"まず今のコミット訂正を完了させて下さい。\n" + +#: lib/merge.tcl:222 +msgid "" +"Abort merge?\n" +"\n" +"Aborting the current merge will cause *ALL* uncommitted changes to be lost.\n" +"\n" +"Continue with aborting the current merge?" +msgstr "" +"マージを中断しますか?\n" +"\n" +"現在のマージを中断すると、コミットしていない全ての変更が失われます。\n" +"\n" +"マージを中断してよろしいですか?" + +#: lib/merge.tcl:228 +msgid "" +"Reset changes?\n" +"\n" +"Resetting the changes will cause *ALL* uncommitted changes to be lost.\n" +"\n" +"Continue with resetting the current changes?" +msgstr "" +"変更点をリセットしますか?\n" +"\n" +"変更点をリセットすると、コミットしていない全ての変更が失われます。\n" +"\n" +"リセットしてよろしいですか?" + +#: lib/merge.tcl:239 +msgid "Aborting" +msgstr "中断しています" + +#: lib/merge.tcl:239 +msgid "files reset" +msgstr "リセットしたファイル" + +#: lib/merge.tcl:267 +msgid "Abort failed." +msgstr "中断に失敗しました。" + +#: lib/merge.tcl:269 +msgid "Abort completed. Ready." +msgstr "中断完了。" + +#: lib/mergetool.tcl:8 +msgid "Force resolution to the base version?" +msgstr "共通の版を使いますか?" + +#: lib/mergetool.tcl:9 +msgid "Force resolution to this branch?" +msgstr "自分の側の版を使いますか?" + +#: lib/mergetool.tcl:10 +msgid "Force resolution to the other branch?" +msgstr "相手制の版を使いますか?" + +#: lib/mergetool.tcl:14 +#, tcl-format +msgid "" +"Note that the diff shows only conflicting changes.\n" +"\n" +"%s will be overwritten.\n" +"\n" +"This operation can be undone only by restarting the merge." +msgstr "" +"競合する変更点だけが表示されていることに注意してください。\n" +"\n" +"%s は上書きされます。\n" +"\n" +"やり直すにはマージ全体をやり直してください。" + +#: lib/mergetool.tcl:45 +#, tcl-format +msgid "File %s seems to have unresolved conflicts, still stage?" +msgstr "ファイル %s には解決していない競合部分がまだあるようですが、いいですか?" + +#: lib/mergetool.tcl:60 +#, tcl-format +msgid "Adding resolution for %s" +msgstr "%s への解決をステージします" + +#: lib/mergetool.tcl:141 +msgid "Cannot resolve deletion or link conflicts using a tool" +msgstr "ツールでは削除やリンク競合は扱えません" + +#: lib/mergetool.tcl:146 +msgid "Conflict file does not exist" +msgstr "競合ファイルは存在しません。" + +#: lib/mergetool.tcl:264 +#, tcl-format +msgid "Not a GUI merge tool: '%s'" +msgstr "GUI マージツールではありません: %s" + +#: lib/mergetool.tcl:268 +#, tcl-format +msgid "Unsupported merge tool '%s'" +msgstr "マージツール '%s' はサポートしていません" + +#: lib/mergetool.tcl:303 +msgid "Merge tool is already running, terminate it?" +msgstr "マージツールはすでに起動しています。終了しますか?" + +#: lib/mergetool.tcl:323 +#, tcl-format +msgid "" +"Error retrieving versions:\n" +"%s" +msgstr "" +"版の取り出し時にエラーが出ました:\n" +"%s" + +#: lib/mergetool.tcl:343 +#, tcl-format +msgid "" +"Could not start the merge tool:\n" +"\n" +"%s" +msgstr "" +"マージツールが起動できません:\n" +"\n" +"%s" + +#: lib/mergetool.tcl:347 +msgid "Running merge tool..." +msgstr "マージツールを実行しています..." + +#: lib/mergetool.tcl:375 lib/mergetool.tcl:383 +msgid "Merge tool failed." +msgstr "マージツールが失敗しました。" + +#: lib/option.tcl:11 +#, tcl-format +msgid "Invalid global encoding '%s'" +msgstr "全体エンコーディングに 無効な %s が指定されています" + +#: lib/option.tcl:19 +#, tcl-format +msgid "Invalid repo encoding '%s'" +msgstr "リポジトリエンコーディングに 無効な %s が指定されています" + +#: lib/option.tcl:117 +msgid "Restore Defaults" +msgstr "既定値に戻す" + +#: lib/option.tcl:121 +msgid "Save" +msgstr "保存" + +#: lib/option.tcl:131 +#, tcl-format +msgid "%s Repository" +msgstr "%s リポジトリ" + +#: lib/option.tcl:132 +msgid "Global (All Repositories)" +msgstr "大域(全てのリポジトリ)" + +#: lib/option.tcl:138 +msgid "User Name" +msgstr "ユーザ名" + +#: lib/option.tcl:139 +msgid "Email Address" +msgstr "電子メールアドレス" + +#: lib/option.tcl:141 +msgid "Summarize Merge Commits" +msgstr "マージコミットの要約" + +#: lib/option.tcl:142 +msgid "Merge Verbosity" +msgstr "マージの冗長度" + +#: lib/option.tcl:143 +msgid "Show Diffstat After Merge" +msgstr "マージ後に diffstat を表示" + +#: lib/option.tcl:144 +msgid "Use Merge Tool" +msgstr "マージツールを使用" + +#: lib/option.tcl:146 +msgid "Trust File Modification Timestamps" +msgstr "ファイル変更時刻を信頼する" + +#: lib/option.tcl:147 +msgid "Prune Tracking Branches During Fetch" +msgstr "フェッチ中にトラッキングブランチを刈る" + +#: lib/option.tcl:148 +msgid "Match Tracking Branches" +msgstr "トラッキングブランチを合わせる" + +#: lib/option.tcl:149 +msgid "Blame Copy Only On Changed Files" +msgstr "変更されたファイルのみコピー検知を行なう" + +#: lib/option.tcl:150 +msgid "Minimum Letters To Blame Copy On" +msgstr "コピーを検知する最少文字数" + +#: lib/option.tcl:151 +msgid "Blame History Context Radius (days)" +msgstr "註釈する履歴半径(日数)" + +#: lib/option.tcl:152 +msgid "Number of Diff Context Lines" +msgstr "diff の文脈行数" + +#: lib/option.tcl:153 +msgid "Commit Message Text Width" +msgstr "コミットメッセージのテキスト幅" + +#: lib/option.tcl:154 +msgid "New Branch Name Template" +msgstr "新しいブランチ名のテンプレート" + +#: lib/option.tcl:155 +msgid "Default File Contents Encoding" +msgstr "ファイル内容のデフォールトエンコーディング" + +#: lib/option.tcl:203 +msgid "Change" +msgstr "変更" + +#: lib/option.tcl:230 +msgid "Spelling Dictionary:" +msgstr "スペルチェック辞書" + +#: lib/option.tcl:254 +msgid "Change Font" +msgstr "フォントを変更" + +#: lib/option.tcl:258 +#, tcl-format +msgid "Choose %s" +msgstr "%s を選択" + +#: lib/option.tcl:264 +msgid "pt." +msgstr "ポイント" + +#: lib/option.tcl:278 +msgid "Preferences" +msgstr "設定" + +#: lib/option.tcl:314 +msgid "Failed to completely save options:" +msgstr "完全にオプションを保存できません:" + +#: lib/remote.tcl:163 +msgid "Remove Remote" +msgstr "リモートを削除" + +#: lib/remote.tcl:168 +msgid "Prune from" +msgstr "から刈込む…" + +#: lib/remote.tcl:173 +msgid "Fetch from" +msgstr "取得元" + +#: lib/remote.tcl:215 +msgid "Push to" +msgstr "プッシュ先" + +#: lib/remote_add.tcl:19 +msgid "Add Remote" +msgstr "リモートを追加" + +#: lib/remote_add.tcl:24 +msgid "Add New Remote" +msgstr "リモートを新規に追加" + +#: lib/remote_add.tcl:28 lib/tools_dlg.tcl:36 +msgid "Add" +msgstr "追加" + +#: lib/remote_add.tcl:37 +msgid "Remote Details" +msgstr "リモートの詳細" + +#: lib/remote_add.tcl:50 +msgid "Location:" +msgstr "場所:" + +#: lib/remote_add.tcl:62 +msgid "Further Action" +msgstr "その他の動作" + +#: lib/remote_add.tcl:65 +msgid "Fetch Immediately" +msgstr "即座に取得" + +#: lib/remote_add.tcl:71 +msgid "Initialize Remote Repository and Push" +msgstr "リモートレポジトリを初期化してプッシュ" + +#: lib/remote_add.tcl:77 +msgid "Do Nothing Else Now" +msgstr "何もしない" + +#: lib/remote_add.tcl:101 +msgid "Please supply a remote name." +msgstr "リモート名を指定して下さい。" + +#: lib/remote_add.tcl:114 +#, tcl-format +msgid "'%s' is not an acceptable remote name." +msgstr "'%s' はリモート名に使えません。" + +#: lib/remote_add.tcl:125 +#, tcl-format +msgid "Failed to add remote '%s' of location '%s'." +msgstr "場所 '%2$s' のリモート '%1$s'の名前変更に失敗しました。" + +#: lib/remote_add.tcl:133 lib/transport.tcl:6 +#, tcl-format +msgid "fetch %s" +msgstr "%s を取得" + +#: lib/remote_add.tcl:134 +#, tcl-format +msgid "Fetching the %s" +msgstr "%s からフェッチしています" + +#: lib/remote_add.tcl:157 +#, tcl-format +msgid "Do not know how to initialize repository at location '%s'." +msgstr "リポジトリ '%s' を初期化できません。" + +#: lib/remote_add.tcl:163 lib/transport.tcl:25 lib/transport.tcl:71 +#, tcl-format +msgid "push %s" +msgstr "%s をプッシュ" + +#: lib/remote_add.tcl:164 +#, tcl-format +msgid "Setting up the %s (at %s)" +msgstr "%2$s にある %1$s をセットアップします" + +#: lib/remote_branch_delete.tcl:29 lib/remote_branch_delete.tcl:34 +msgid "Delete Branch Remotely" +msgstr "遠隔でブランチ削除" + +#: lib/remote_branch_delete.tcl:47 +msgid "From Repository" +msgstr "元のリポジトリ" + +#: lib/remote_branch_delete.tcl:50 lib/transport.tcl:123 +msgid "Remote:" +msgstr "リモート:" + +#: lib/remote_branch_delete.tcl:66 lib/transport.tcl:138 +msgid "Arbitrary Location:" +msgstr "任意の位置:" + +#: lib/remote_branch_delete.tcl:84 +msgid "Branches" +msgstr "ブランチ" + +#: lib/remote_branch_delete.tcl:109 +msgid "Delete Only If" +msgstr "条件付で削除" + +#: lib/remote_branch_delete.tcl:111 +msgid "Merged Into:" +msgstr "マージ先:" + +#: lib/remote_branch_delete.tcl:119 +msgid "Always (Do not perform merge checks)" +msgstr "無条件(マージ検査をしない)" + +#: lib/remote_branch_delete.tcl:152 +msgid "A branch is required for 'Merged Into'." +msgstr "'マージ先' にはブランチが必要です。" + +#: lib/remote_branch_delete.tcl:184 +#, tcl-format +msgid "" +"The following branches are not completely merged into %s:\n" +"\n" +" - %s" +msgstr "" +"以下のブランチは %s に完全にマージされていません:\n" +"\n" +" - %s" + +#: lib/remote_branch_delete.tcl:189 +#, tcl-format +msgid "" +"One or more of the merge tests failed because you have not fetched the " +"necessary commits. Try fetching from %s first." +msgstr "" +"必要なコミットが不足しているために、マージ検査が失敗しました。まず %s から" +"フェッチして下さい。" + +#: lib/remote_branch_delete.tcl:207 +msgid "Please select one or more branches to delete." +msgstr "削除するブランチを選択して下さい。" + +#: lib/remote_branch_delete.tcl:216 +msgid "" +"Recovering deleted branches is difficult.\n" +"\n" +"Delete the selected branches?" +msgstr "" +"削除したブランチを回復するのは困難です。\n" +"\n" +"選択したブランチを削除して良いですか?" + +#: lib/remote_branch_delete.tcl:226 +#, tcl-format +msgid "Deleting branches from %s" +msgstr "%s からブランチを削除しています。" + +#: lib/remote_branch_delete.tcl:286 +msgid "No repository selected." +msgstr "リポジトリが選択されていません。" + +#: lib/remote_branch_delete.tcl:291 +#, tcl-format +msgid "Scanning %s..." +msgstr "%s をスキャンしています…" + +#: lib/search.tcl:21 +msgid "Find:" +msgstr "検索:" + +#: lib/search.tcl:23 +msgid "Next" +msgstr "次" + +#: lib/search.tcl:24 +msgid "Prev" +msgstr "前" + +#: lib/search.tcl:25 +msgid "Case-Sensitive" +msgstr "大文字小文字を区別" + +#: lib/shortcut.tcl:20 lib/shortcut.tcl:61 +msgid "Cannot write shortcut:" +msgstr "ショートカットが書けません:" + +#: lib/shortcut.tcl:136 +msgid "Cannot write icon:" +msgstr "アイコンが書けません:" + +#: lib/spellcheck.tcl:57 +msgid "Unsupported spell checker" +msgstr "サポートされていないスペルチェッカーです" + +#: lib/spellcheck.tcl:65 +msgid "Spell checking is unavailable" +msgstr "スペルチェック機能は使えません" + +#: lib/spellcheck.tcl:68 +msgid "Invalid spell checking configuration" +msgstr "スペルチェックの設定が不正です" + +#: lib/spellcheck.tcl:70 +#, tcl-format +msgid "Reverting dictionary to %s." +msgstr "辞書を %s に巻き戻します" + +#: lib/spellcheck.tcl:73 +msgid "Spell checker silently failed on startup" +msgstr "スペルチェッカーの起動に失敗しました" + +#: lib/spellcheck.tcl:80 +msgid "Unrecognized spell checker" +msgstr "スペルチェッカーが判別できません" + +#: lib/spellcheck.tcl:186 +msgid "No Suggestions" +msgstr "提案なし" + +#: lib/spellcheck.tcl:388 +msgid "Unexpected EOF from spell checker" +msgstr "スペルチェッカーが予想外の EOF を返しました" + +#: lib/spellcheck.tcl:392 +msgid "Spell Checker Failed" +msgstr "スペルチェック失敗" + +#: lib/sshkey.tcl:31 +msgid "No keys found." +msgstr "キーがありません。" + +#: lib/sshkey.tcl:34 +#, tcl-format +msgid "Found a public key in: %s" +msgstr "公開鍵がありました: %s" + +#: lib/sshkey.tcl:40 +msgid "Generate Key" +msgstr "鍵を生成" + +#: lib/sshkey.tcl:56 +msgid "Copy To Clipboard" +msgstr "クリップボードにコピー" + +#: lib/sshkey.tcl:70 +msgid "Your OpenSSH Public Key" +msgstr "あなたの OpenSSH 公開鍵" + +#: lib/sshkey.tcl:78 +msgid "Generating..." +msgstr "生成中..." + +#: lib/sshkey.tcl:84 +#, tcl-format +msgid "" +"Could not start ssh-keygen:\n" +"\n" +"%s" +msgstr "" +"ssh-keygen を起動できません:\n" +"\n" +"%s" + +#: lib/sshkey.tcl:111 +msgid "Generation failed." +msgstr "生成に失敗しました。" + +#: lib/sshkey.tcl:118 +msgid "Generation succeded, but no keys found." +msgstr "生成には成功しましたが、鍵が見つかりません。" + +#: lib/sshkey.tcl:121 +#, tcl-format +msgid "Your key is in: %s" +msgstr "あなたの鍵は %s にあります" + +#: lib/status_bar.tcl:83 +#, tcl-format +msgid "%s ... %*i of %*i %s (%3i%%)" +msgstr "%1$s ... %4$*i %6$s 中の %2$*i (%7$3i%%)" + +#: lib/tools.tcl:75 +#, tcl-format +msgid "Running %s requires a selected file." +msgstr "ファイルを選択してから %s を起動してください。" + +#: lib/tools.tcl:90 +#, tcl-format +msgid "Are you sure you want to run %s?" +msgstr "本当に %s を起動しますか?" + +#: lib/tools.tcl:110 +#, tcl-format +msgid "Tool: %s" +msgstr "ツール: %s" + +#: lib/tools.tcl:111 +#, tcl-format +msgid "Running: %s" +msgstr "実行中: %s" + +#: lib/tools.tcl:149 +#, tcl-format +msgid "Tool completed succesfully: %s" +msgstr "ツールが完了しました: %s" + +#: lib/tools.tcl:151 +#, tcl-format +msgid "Tool failed: %s" +msgstr "ツールが失敗しました: %s" + +#: lib/tools_dlg.tcl:22 +msgid "Add Tool" +msgstr "ツールの追加" + +#: lib/tools_dlg.tcl:28 +msgid "Add New Tool Command" +msgstr "新規ツールコマンドの追加" + +#: lib/tools_dlg.tcl:33 +msgid "Add globally" +msgstr "全体に追加" + +#: lib/tools_dlg.tcl:45 +msgid "Tool Details" +msgstr "ツールの詳細" + +#: lib/tools_dlg.tcl:48 +msgid "Use '/' separators to create a submenu tree:" +msgstr "'/' でサブメニューを区切ります:" + +#: lib/tools_dlg.tcl:61 +msgid "Command:" +msgstr "コマンド:" + +#: lib/tools_dlg.tcl:74 +msgid "Show a dialog before running" +msgstr "起動する前にダイアログを表示" + +#: lib/tools_dlg.tcl:80 +msgid "Ask the user to select a revision (sets $REVISION)" +msgstr "ユーザにコミットを一つ選ばせる ($REVISION にセットします)" + +#: lib/tools_dlg.tcl:85 +msgid "Ask the user for additional arguments (sets $ARGS)" +msgstr "ユーザに他の引数を追加させる ($ARGS にセットします)" + +#: lib/tools_dlg.tcl:92 +msgid "Don't show the command output window" +msgstr "コマンドからの出力ウィンドウを見せない" + +#: lib/tools_dlg.tcl:97 +msgid "Run only if a diff is selected ($FILENAME not empty)" +msgstr "パッチが選ばれているときだけ動かす($FILENAME が空でない)" + +#: lib/tools_dlg.tcl:121 +msgid "Please supply a name for the tool." +msgstr "ツール名を指定して下さい。" + +#: lib/tools_dlg.tcl:129 +#, tcl-format +msgid "Tool '%s' already exists." +msgstr "ツール '%s' は既に存在します。" + +#: lib/tools_dlg.tcl:151 +#, tcl-format +msgid "" +"Could not add tool:\n" +"%s" +msgstr "" +"ツールを追加できません:\n" +"%s" + +#: lib/tools_dlg.tcl:190 +msgid "Remove Tool" +msgstr "ツールの削除" + +#: lib/tools_dlg.tcl:196 +msgid "Remove Tool Commands" +msgstr "ツールコマンドの削除" + +#: lib/tools_dlg.tcl:200 +msgid "Remove" +msgstr "削除" + +#: lib/tools_dlg.tcl:236 +msgid "(Blue denotes repository-local tools)" +msgstr "(青色はローカルレポジトリのツールです)" + +#: lib/tools_dlg.tcl:297 +#, tcl-format +msgid "Run Command: %s" +msgstr "コマンドを起動: %s" + +#: lib/tools_dlg.tcl:311 +msgid "Arguments" +msgstr "引数" + +#: lib/tools_dlg.tcl:348 +msgid "OK" +msgstr "OK" + +#: lib/transport.tcl:7 +#, tcl-format +msgid "Fetching new changes from %s" +msgstr "%s から新しい変更をフェッチしています" + +#: lib/transport.tcl:18 +#, tcl-format +msgid "remote prune %s" +msgstr "遠隔刈込 %s" + +#: lib/transport.tcl:19 +#, tcl-format +msgid "Pruning tracking branches deleted from %s" +msgstr "%s から削除されたトラッキング・ブランチを刈っています" + +#: lib/transport.tcl:26 +#, tcl-format +msgid "Pushing changes to %s" +msgstr "%s へ変更をプッシュしています" + - #: lib/transport.tcl:72 ++#: lib/transport.tcl:64 ++#, tcl-format ++msgid "Mirroring to %s" ++msgstr "%s へミラーしています" ++ ++#: lib/transport.tcl:82 +#, tcl-format +msgid "Pushing %s %s to %s" +msgstr "%3$s へ %1$s %2$s をプッシュしています" + +#: lib/transport.tcl:89 +msgid "Push Branches" +msgstr "ブランチをプッシュ" + +#: lib/transport.tcl:103 +msgid "Source Branches" +msgstr "元のブランチ" + +#: lib/transport.tcl:120 +msgid "Destination Repository" +msgstr "送り先リポジトリ" + +#: lib/transport.tcl:158 +msgid "Transfer Options" +msgstr "通信オプション" + +#: lib/transport.tcl:160 +msgid "Force overwrite existing branch (may discard changes)" +msgstr "既存ブランチを上書き(変更を破棄する可能性があります)" + +#: lib/transport.tcl:164 +msgid "Use thin pack (for slow network connections)" +msgstr "Thin Pack を使う(遅いネットワーク接続)" + +#: lib/transport.tcl:168 +msgid "Include tags" +msgstr "タグを含める" diff --cc git-gui/po/nb.po index 000000000,000000000..1c5137d84 new file mode 100644 --- /dev/null +++ b/git-gui/po/nb.po @@@ -1,0 -1,0 +1,2484 @@@ ++# Norwegian (Bokmål) translation of git-gui. ++# Copyright (C) 2007-2008 Shawn Pearce, et al. ++# This file is distributed under the same license as the git-gui package. ++# ++# Fredrik Skolmli , 2008. ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: nb\n" ++"Report-Msgid-Bugs-To: \n" ++"POT-Creation-Date: 2008-11-16 13:56-0800\n" ++"PO-Revision-Date: 2008-12-03 16:05+0100\n" ++"Last-Translator: Fredrik Skolmli \n" ++"Language-Team: Norwegian Bokmål\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=UTF-8\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#: git-gui.sh:41 git-gui.sh:737 git-gui.sh:751 git-gui.sh:764 git-gui.sh:847 ++#: git-gui.sh:866 ++msgid "git-gui: fatal error" ++msgstr "git-gui: Kritisk feil" ++ ++#: git-gui.sh:689 ++#, tcl-format ++msgid "Invalid font specified in %s:" ++msgstr "Ugyldig font spesifisert i %s:" ++ ++#: git-gui.sh:723 ++msgid "Main Font" ++msgstr "Hovedskrifttype" ++ ++#: git-gui.sh:724 ++msgid "Diff/Console Font" ++msgstr "Diff-/Konsollskrifttype" ++ ++#: git-gui.sh:738 ++msgid "Cannot find git in PATH." ++msgstr "Kan ikke finne git i PATH" ++ ++#: git-gui.sh:765 ++msgid "Cannot parse Git version string:" ++msgstr "Kan ikke tyde Git's oppgitte versjon:" ++ ++#: git-gui.sh:783 ++#, tcl-format ++msgid "" ++"Git version cannot be determined.\n" ++"\n" ++"%s claims it is version '%s'.\n" ++"\n" ++"%s requires at least Git 1.5.0 or later.\n" ++"\n" ++"Assume '%s' is version 1.5.0?\n" ++msgstr "" ++"Kan ikke avgjøre hvilken Git-versjon du har.\n" ++"\n" ++"%s sier versjonen er '%s'.\n" ++"\n" ++"%s krever Git versjon 1.5.0 eller nyere.\n" ++"\n" ++"Anta at '%s' er versjon 1.5.0?\n" ++ ++#: git-gui.sh:1062 ++msgid "Git directory not found:" ++msgstr "Git-katalog ikke funnet:" ++ ++#: git-gui.sh:1069 ++msgid "Cannot move to top of working directory:" ++msgstr "Kan ikke gå til toppen av arbeidskatalogen:" ++ ++#: git-gui.sh:1076 ++msgid "Cannot use funny .git directory:" ++msgstr "" ++ ++#: git-gui.sh:1081 ++msgid "No working directory" ++msgstr "Ingen arbeidskatalog" ++ ++#: git-gui.sh:1247 lib/checkout_op.tcl:305 ++msgid "Refreshing file status..." ++msgstr "Oppdaterer filstatus..." ++ ++#: git-gui.sh:1303 ++msgid "Scanning for modified files ..." ++msgstr "Søker etter endrede filer..." ++ ++#: git-gui.sh:1367 ++msgid "Calling prepare-commit-msg hook..." ++msgstr "" ++ ++#: git-gui.sh:1384 ++msgid "Commit declined by prepare-commit-msg hook." ++msgstr "" ++ ++#: git-gui.sh:1542 lib/browser.tcl:246 ++msgid "Ready." ++msgstr "Klar." ++ ++#: git-gui.sh:1819 ++msgid "Unmodified" ++msgstr "Uendret" ++ ++#: git-gui.sh:1821 ++msgid "Modified, not staged" ++msgstr "Endret, ikke køet" ++ ++#: git-gui.sh:1822 git-gui.sh:1830 ++msgid "Staged for commit" ++msgstr "Køet for innsjekking" ++ ++#: git-gui.sh:1823 git-gui.sh:1831 ++msgid "Portions staged for commit" ++msgstr "Delvis køet for innsjekking" ++ ++#: git-gui.sh:1824 git-gui.sh:1832 ++msgid "Staged for commit, missing" ++msgstr "Klar for innsjekking, fraværende" ++ ++#: git-gui.sh:1826 ++msgid "File type changed, not staged" ++msgstr "Filtype endret, ikke køet" ++ ++#: git-gui.sh:1827 ++msgid "File type changed, staged" ++msgstr "Filtype endret, køet" ++ ++#: git-gui.sh:1829 ++msgid "Untracked, not staged" ++msgstr "Usporet, ikke køet" ++ ++#: git-gui.sh:1834 ++msgid "Missing" ++msgstr "Fraværende" ++ ++#: git-gui.sh:1835 ++msgid "Staged for removal" ++msgstr "Køet for fjerning" ++ ++#: git-gui.sh:1836 ++msgid "Staged for removal, still present" ++msgstr "Køet for fjerning, fortsatt tilstede" ++ ++#: git-gui.sh:1838 git-gui.sh:1839 git-gui.sh:1840 git-gui.sh:1841 ++#: git-gui.sh:1842 git-gui.sh:1843 ++msgid "Requires merge resolution" ++msgstr "Sammenslåingen krever konflikthåndtering" ++ ++#: git-gui.sh:1878 ++msgid "Starting gitk... please wait..." ++msgstr "Starter gitk... Vennligst vent..." ++ ++#: git-gui.sh:1887 ++msgid "Couldn't find gitk in PATH" ++msgstr "Kunne ikke finne gitk i PATH" ++ ++#: git-gui.sh:2280 lib/choose_repository.tcl:36 ++msgid "Repository" ++msgstr "Arkiv" ++ ++#: git-gui.sh:2281 ++msgid "Edit" ++msgstr "Redigere" ++ ++#: git-gui.sh:2283 lib/choose_rev.tcl:561 ++msgid "Branch" ++msgstr "Gren" ++ ++#: git-gui.sh:2286 lib/choose_rev.tcl:548 ++msgid "Commit@@noun" ++msgstr "Innsjekking" ++ ++#: git-gui.sh:2289 lib/merge.tcl:121 lib/merge.tcl:150 lib/merge.tcl:168 ++msgid "Merge" ++msgstr "Sammenslåing" ++ ++#: git-gui.sh:2290 lib/choose_rev.tcl:557 ++msgid "Remote" ++msgstr "Fjernarkiv" ++ ++#: git-gui.sh:2293 ++msgid "Tools" ++msgstr "Verktøy" ++ ++#: git-gui.sh:2302 ++msgid "Explore Working Copy" ++msgstr "Utforsk arbeidskopien" ++ ++#: git-gui.sh:2307 ++msgid "Browse Current Branch's Files" ++msgstr "Utforsk denne grens filer" ++ ++#: git-gui.sh:2311 ++msgid "Browse Branch Files..." ++msgstr "Bla igjennom filer på gren..." ++ ++#: git-gui.sh:2316 ++msgid "Visualize Current Branch's History" ++msgstr "Visualiser denne grens historikk" ++ ++#: git-gui.sh:2320 ++msgid "Visualize All Branch History" ++msgstr "Visualiser alle greners historikk" ++ ++#: git-gui.sh:2327 ++#, tcl-format ++msgid "Browse %s's Files" ++msgstr "Bla i filene til %s" ++ ++#: git-gui.sh:2329 ++#, tcl-format ++msgid "Visualize %s's History" ++msgstr "Visualiser historien til %s" ++ ++#: git-gui.sh:2334 lib/database.tcl:27 lib/database.tcl:67 ++msgid "Database Statistics" ++msgstr "Databasestatistikk" ++ ++#: git-gui.sh:2337 lib/database.tcl:34 ++msgid "Compress Database" ++msgstr "Kompress databasen" ++ ++#: git-gui.sh:2340 ++msgid "Verify Database" ++msgstr "Verifiser databasen" ++ ++#: git-gui.sh:2347 git-gui.sh:2351 git-gui.sh:2355 lib/shortcut.tcl:7 ++#: lib/shortcut.tcl:39 lib/shortcut.tcl:71 ++msgid "Create Desktop Icon" ++msgstr "Lag skrivebordsikon" ++ ++#: git-gui.sh:2363 lib/choose_repository.tcl:183 lib/choose_repository.tcl:191 ++msgid "Quit" ++msgstr "Avslutt" ++ ++#: git-gui.sh:2371 ++msgid "Undo" ++msgstr "Angre" ++ ++#: git-gui.sh:2374 ++msgid "Redo" ++msgstr "Gjør om" ++ ++#: git-gui.sh:2378 git-gui.sh:2923 ++msgid "Cut" ++msgstr "Klipp ut" ++ ++#: git-gui.sh:2381 git-gui.sh:2926 git-gui.sh:3000 git-gui.sh:3082 ++#: lib/console.tcl:69 ++msgid "Copy" ++msgstr "Kopier" ++ ++#: git-gui.sh:2384 git-gui.sh:2929 ++msgid "Paste" ++msgstr "Lim inn" ++ ++#: git-gui.sh:2387 git-gui.sh:2932 lib/branch_delete.tcl:26 ++#: lib/remote_branch_delete.tcl:38 ++msgid "Delete" ++msgstr "Slett" ++ ++#: git-gui.sh:2391 git-gui.sh:2936 git-gui.sh:3086 lib/console.tcl:71 ++msgid "Select All" ++msgstr "Velg alle" ++ ++#: git-gui.sh:2400 ++msgid "Create..." ++msgstr "Opprett..." ++ ++#: git-gui.sh:2406 ++msgid "Checkout..." ++msgstr "Sjekk ut..." ++ ++#: git-gui.sh:2412 ++msgid "Rename..." ++msgstr "Endre navn..." ++ ++#: git-gui.sh:2417 ++msgid "Delete..." ++msgstr "Slett..." ++ ++#: git-gui.sh:2422 ++msgid "Reset..." ++msgstr "Tilbakestill..." ++ ++#: git-gui.sh:2432 ++msgid "Done" ++msgstr "Ferdig" ++ ++#: git-gui.sh:2434 ++msgid "Commit@@verb" ++msgstr "Sjekk inn" ++ ++#: git-gui.sh:2443 git-gui.sh:2864 ++msgid "New Commit" ++msgstr "Ny innsjekking" ++ ++#: git-gui.sh:2451 git-gui.sh:2871 ++msgid "Amend Last Commit" ++msgstr "Legg til forrige innsjekking" ++ ++#: git-gui.sh:2461 git-gui.sh:2825 lib/remote_branch_delete.tcl:99 ++msgid "Rescan" ++msgstr "Søk på ny" ++ ++#: git-gui.sh:2467 ++msgid "Stage To Commit" ++msgstr "Legg til i innsjekkingskøen" ++ ++#: git-gui.sh:2473 ++msgid "Stage Changed Files To Commit" ++msgstr "Legg til endrede filer i innsjekkingskøen" ++ ++#: git-gui.sh:2479 ++msgid "Unstage From Commit" ++msgstr "Fjern fra innsjekkingskøen" ++ ++#: git-gui.sh:2484 lib/index.tcl:410 ++msgid "Revert Changes" ++msgstr "Tilbakestill endringer" ++ ++#: git-gui.sh:2491 git-gui.sh:3069 ++msgid "Show Less Context" ++msgstr "Vis mindre innhold" ++ ++#: git-gui.sh:2495 git-gui.sh:3073 ++msgid "Show More Context" ++msgstr "Vis mer innhold" ++ ++#: git-gui.sh:2502 git-gui.sh:2838 git-gui.sh:2947 ++msgid "Sign Off" ++msgstr "Signér" ++ ++#: git-gui.sh:2518 ++msgid "Local Merge..." ++msgstr "Lokal sammenslåing..." ++ ++#: git-gui.sh:2523 ++msgid "Abort Merge..." ++msgstr "Avbryt sammenslåing..." ++ ++#: git-gui.sh:2535 git-gui.sh:2575 ++msgid "Add..." ++msgstr "Legg til..." ++ ++#: git-gui.sh:2539 ++msgid "Push..." ++msgstr "Send..." ++ ++#: git-gui.sh:2543 ++msgid "Delete Branch..." ++msgstr "Fjern gren..." ++ ++#: git-gui.sh:2553 git-gui.sh:2589 lib/about.tcl:14 ++#: lib/choose_repository.tcl:44 lib/choose_repository.tcl:53 ++#, tcl-format ++msgid "About %s" ++msgstr "Om %s" ++ ++#: git-gui.sh:2557 ++msgid "Preferences..." ++msgstr "Innstillinger..." ++ ++#: git-gui.sh:2565 git-gui.sh:3115 ++msgid "Options..." ++msgstr "Alternativer..." ++ ++#: git-gui.sh:2576 ++msgid "Remove..." ++msgstr "Fjern..." ++ ++#: git-gui.sh:2585 lib/choose_repository.tcl:50 ++msgid "Help" ++msgstr "Hjelp" ++ ++#: git-gui.sh:2611 ++msgid "Online Documentation" ++msgstr "Online dokumentasjon" ++ ++#: git-gui.sh:2614 lib/choose_repository.tcl:47 lib/choose_repository.tcl:56 ++msgid "Show SSH Key" ++msgstr "Vis SSH-nøkkel" ++ ++#: git-gui.sh:2707 ++#, tcl-format ++msgid "fatal: cannot stat path %s: No such file or directory" ++msgstr "" ++"kritisk: kunne ikke finne status for sti %s: Ingen slik fil eller katalog" ++ ++#: git-gui.sh:2740 ++msgid "Current Branch:" ++msgstr "Nåværende gren:" ++ ++#: git-gui.sh:2761 ++msgid "Staged Changes (Will Commit)" ++msgstr "Køede endringer (til innsjekking)" ++ ++#: git-gui.sh:2781 ++msgid "Unstaged Changes" ++msgstr "Ukøede endringer" ++ ++#: git-gui.sh:2831 ++msgid "Stage Changed" ++msgstr "Kø endret" ++ ++#: git-gui.sh:2850 lib/transport.tcl:93 lib/transport.tcl:182 ++msgid "Push" ++msgstr "Send" ++ ++#: git-gui.sh:2885 ++msgid "Initial Commit Message:" ++msgstr "Innledende innsjekkingsmelding:" ++ ++#: git-gui.sh:2886 ++msgid "Amended Commit Message:" ++msgstr "Utdypt innsjekkingsmelding" ++ ++#: git-gui.sh:2887 ++msgid "Amended Initial Commit Message:" ++msgstr "Utdypt innledende innsjekkingsmelding:" ++ ++#: git-gui.sh:2888 ++msgid "Amended Merge Commit Message:" ++msgstr "Utdypt innsjekkingsmelding for sammenslåing:" ++ ++#: git-gui.sh:2889 ++msgid "Merge Commit Message:" ++msgstr "Revisjonsmelding for sammenslåing:" ++ ++#: git-gui.sh:2890 ++msgid "Commit Message:" ++msgstr "Revisjonsmelding:" ++ ++#: git-gui.sh:2939 git-gui.sh:3090 lib/console.tcl:73 ++msgid "Copy All" ++msgstr "Kopier alle" ++ ++#: git-gui.sh:2963 lib/blame.tcl:104 ++msgid "File:" ++msgstr "Fil:" ++ ++#: git-gui.sh:3078 ++msgid "Refresh" ++msgstr "Oppdater" ++ ++#: git-gui.sh:3099 ++msgid "Decrease Font Size" ++msgstr "Gjør teksten mindre" ++ ++#: git-gui.sh:3103 ++msgid "Increase Font Size" ++msgstr "Gjør teksten større" ++ ++#: git-gui.sh:3111 lib/blame.tcl:281 ++msgid "Encoding" ++msgstr "Tekstkoding" ++ ++#: git-gui.sh:3122 ++msgid "Apply/Reverse Hunk" ++msgstr "Bruk/tilbakestill del" ++ ++#: git-gui.sh:3127 ++msgid "Apply/Reverse Line" ++msgstr "Bruk/tilbakestill linje" ++ ++#: git-gui.sh:3137 ++msgid "Run Merge Tool" ++msgstr "Start sammenslåingsprosess" ++ ++#: git-gui.sh:3142 ++msgid "Use Remote Version" ++msgstr "Bruk versjon fra fjernarkiv" ++ ++#: git-gui.sh:3146 ++msgid "Use Local Version" ++msgstr "Bruk lokal versjon" ++ ++#: git-gui.sh:3150 ++msgid "Revert To Base" ++msgstr "Tilbakestill til baseversjonen" ++ ++#: git-gui.sh:3169 ++msgid "Unstage Hunk From Commit" ++msgstr "Fjern delen fra innsjekkingskøen" ++ ++#: git-gui.sh:3170 ++msgid "Unstage Line From Commit" ++msgstr "Fjern linjen fra innsjekkingskøen" ++ ++#: git-gui.sh:3172 ++msgid "Stage Hunk For Commit" ++msgstr "Legg del i innsjekkingskøen" ++ ++#: git-gui.sh:3173 ++msgid "Stage Line For Commit" ++msgstr "Legg til linje i innsjekkingskøen" ++ ++#: git-gui.sh:3196 ++msgid "Initializing..." ++msgstr "Initsialiserer..." ++ ++#: git-gui.sh:3301 ++#, tcl-format ++msgid "" ++"Possible environment issues exist.\n" ++"\n" ++"The following environment variables are probably\n" ++"going to be ignored by any Git subprocess run\n" ++"by %s:\n" ++"\n" ++msgstr "" ++ ++#: git-gui.sh:3331 ++msgid "" ++"\n" ++"This is due to a known issue with the\n" ++"Tcl binary distributed by Cygwin." ++msgstr "" ++ ++#: git-gui.sh:3336 ++#, tcl-format ++msgid "" ++"\n" ++"\n" ++"A good replacement for %s\n" ++"is placing values for the user.name and\n" ++"user.email settings into your personal\n" ++"~/.gitconfig file.\n" ++msgstr "" ++ ++#: lib/about.tcl:26 ++msgid "git-gui - a graphical user interface for Git." ++msgstr "git-gui - Et grafisk brukergrensesnitt for Git." ++ ++#: lib/blame.tcl:72 ++msgid "File Viewer" ++msgstr "Filviser" ++ ++#: lib/blame.tcl:78 ++msgid "Commit:" ++msgstr "Innsjekking:" ++ ++#: lib/blame.tcl:271 ++msgid "Copy Commit" ++msgstr "Kopier innsjekking" ++ ++#: lib/blame.tcl:275 ++msgid "Find Text..." ++msgstr "Søk etter tekst..." ++ ++#: lib/blame.tcl:284 ++msgid "Do Full Copy Detection" ++msgstr "Gjennomfør full deteksjon av kopieringer" ++ ++#: lib/blame.tcl:288 ++msgid "Show History Context" ++msgstr "Vis historikkens innhold" ++ ++#: lib/blame.tcl:291 ++msgid "Blame Parent Commit" ++msgstr "" ++ ++#: lib/blame.tcl:450 ++#, tcl-format ++msgid "Reading %s..." ++msgstr "Leser %s..." ++ ++#: lib/blame.tcl:557 ++msgid "Loading copy/move tracking annotations..." ++msgstr "" ++ ++#: lib/blame.tcl:577 ++msgid "lines annotated" ++msgstr "" ++ ++#: lib/blame.tcl:769 ++msgid "Loading original location annotations..." ++msgstr "" ++ ++#: lib/blame.tcl:772 ++msgid "Annotation complete." ++msgstr "" ++ ++#: lib/blame.tcl:802 ++msgid "Busy" ++msgstr "Opptatt" ++ ++#: lib/blame.tcl:803 ++msgid "Annotation process is already running." ++msgstr "" ++ ++#: lib/blame.tcl:842 ++msgid "Running thorough copy detection..." ++msgstr "Kjører kopidetektering..." ++ ++#: lib/blame.tcl:910 ++msgid "Loading annotation..." ++msgstr "" ++ ++#: lib/blame.tcl:964 ++msgid "Author:" ++msgstr "Forfatter:" ++ ++#: lib/blame.tcl:968 ++msgid "Committer:" ++msgstr "Innsjekker:" ++ ++#: lib/blame.tcl:973 ++msgid "Original File:" ++msgstr "Opprinnelig fil:" ++ ++#: lib/blame.tcl:1021 ++msgid "Cannot find HEAD commit:" ++msgstr "Finner ikke HEAD's innsjekking:" ++ ++#: lib/blame.tcl:1076 ++msgid "Cannot find parent commit:" ++msgstr "Kan ikke finne innsjekkingens forelder:" ++ ++#: lib/blame.tcl:1091 ++msgid "Unable to display parent" ++msgstr "Kan ikke vise forelder" ++ ++#: lib/blame.tcl:1092 lib/diff.tcl:297 ++msgid "Error loading diff:" ++msgstr "Feil ved innlasting av forskjell:" ++ ++#: lib/blame.tcl:1232 ++msgid "Originally By:" ++msgstr "Opprinnelig av:" ++ ++#: lib/blame.tcl:1238 ++msgid "In File:" ++msgstr "I fil:" ++ ++#: lib/blame.tcl:1243 ++msgid "Copied Or Moved Here By:" ++msgstr "Kopiert eller flyttet hit av:" ++ ++#: lib/branch_checkout.tcl:14 lib/branch_checkout.tcl:19 ++msgid "Checkout Branch" ++msgstr "Sjekk ut gren" ++ ++#: lib/branch_checkout.tcl:23 ++msgid "Checkout" ++msgstr "Utsjekking" ++ ++#: lib/branch_checkout.tcl:27 lib/branch_create.tcl:35 ++#: lib/branch_delete.tcl:32 lib/branch_rename.tcl:30 lib/browser.tcl:282 ++#: lib/checkout_op.tcl:544 lib/choose_font.tcl:43 lib/merge.tcl:172 ++#: lib/option.tcl:125 lib/remote_add.tcl:32 lib/remote_branch_delete.tcl:42 ++#: lib/tools_dlg.tcl:40 lib/tools_dlg.tcl:204 lib/tools_dlg.tcl:352 ++#: lib/transport.tcl:97 ++msgid "Cancel" ++msgstr "Avbryt" ++ ++#: lib/branch_checkout.tcl:32 lib/browser.tcl:287 lib/tools_dlg.tcl:328 ++msgid "Revision" ++msgstr "Revisjon" ++ ++#: lib/branch_checkout.tcl:36 lib/branch_create.tcl:69 lib/option.tcl:280 ++msgid "Options" ++msgstr "Valg" ++ ++#: lib/branch_checkout.tcl:39 lib/branch_create.tcl:92 ++msgid "Fetch Tracking Branch" ++msgstr "Hent sporet gren" ++ ++#: lib/branch_checkout.tcl:44 ++msgid "Detach From Local Branch" ++msgstr "Koble bort lokal gren" ++ ++#: lib/branch_create.tcl:22 ++msgid "Create Branch" ++msgstr "Opprett gren" ++ ++#: lib/branch_create.tcl:27 ++msgid "Create New Branch" ++msgstr "Opprett ny gren" ++ ++#: lib/branch_create.tcl:31 lib/choose_repository.tcl:377 ++msgid "Create" ++msgstr "Opprett" ++ ++#: lib/branch_create.tcl:40 ++msgid "Branch Name" ++msgstr "Navn på gren" ++ ++#: lib/branch_create.tcl:43 lib/remote_add.tcl:39 lib/tools_dlg.tcl:50 ++msgid "Name:" ++msgstr "Navn:" ++ ++#: lib/branch_create.tcl:58 ++msgid "Match Tracking Branch Name" ++msgstr "Bruk navn på sporet gren" ++ ++#: lib/branch_create.tcl:66 ++msgid "Starting Revision" ++msgstr "Starter revisjon" ++ ++#: lib/branch_create.tcl:72 ++msgid "Update Existing Branch:" ++msgstr "Oppdater eksisterende gren:" ++ ++#: lib/branch_create.tcl:75 ++msgid "No" ++msgstr "Nei" ++ ++#: lib/branch_create.tcl:80 ++msgid "Fast Forward Only" ++msgstr "Kun hurtigfremspoling" ++ ++#: lib/branch_create.tcl:85 lib/checkout_op.tcl:536 ++msgid "Reset" ++msgstr "Tilbakestill" ++ ++#: lib/branch_create.tcl:97 ++msgid "Checkout After Creation" ++msgstr "Sjekk ut etter oppretting" ++ ++#: lib/branch_create.tcl:131 ++msgid "Please select a tracking branch." ++msgstr "Velg en gren som skal følges." ++ ++#: lib/branch_create.tcl:140 ++#, tcl-format ++msgid "Tracking branch %s is not a branch in the remote repository." ++msgstr "Den fulgte grenen %s er ikke en gren i fjernarkivet." ++ ++#: lib/branch_create.tcl:153 lib/branch_rename.tcl:86 ++msgid "Please supply a branch name." ++msgstr "Angi et navn for grenen." ++ ++#: lib/branch_create.tcl:164 lib/branch_rename.tcl:106 ++#, tcl-format ++msgid "'%s' is not an acceptable branch name." ++msgstr "'%s' kan ikke brukes som navn på en gren." ++ ++#: lib/branch_delete.tcl:15 ++msgid "Delete Branch" ++msgstr "Fjern gren" ++ ++#: lib/branch_delete.tcl:20 ++msgid "Delete Local Branch" ++msgstr "Fjern lokal gren" ++ ++#: lib/branch_delete.tcl:37 ++msgid "Local Branches" ++msgstr "Lokale grener" ++ ++#: lib/branch_delete.tcl:52 ++msgid "Delete Only If Merged Into" ++msgstr "Fjern kun ved sammenslåing" ++ ++#: lib/branch_delete.tcl:54 ++msgid "Always (Do not perform merge test.)" ++msgstr "Alltid (Ikke utfør sammenslåingstest.)" ++ ++#: lib/branch_delete.tcl:103 ++#, tcl-format ++msgid "The following branches are not completely merged into %s:" ++msgstr "Følgende grener er ikke fullstendig slått sammen med %s:" ++ ++#: lib/branch_delete.tcl:115 ++msgid "" ++"Recovering deleted branches is difficult. \n" ++"\n" ++" Delete the selected branches?" ++msgstr "" ++"Gjenoppretting av fjernede grener er vanskelig. \n" ++"\n" ++" Fjern valgte grener?" ++ ++#: lib/branch_delete.tcl:141 ++#, tcl-format ++msgid "" ++"Failed to delete branches:\n" ++"%s" ++msgstr "" ++"Kunne ikke fjerne grener:\n" ++"%s" ++ ++#: lib/branch_rename.tcl:14 lib/branch_rename.tcl:22 ++msgid "Rename Branch" ++msgstr "Gi gren nytt navn" ++ ++#: lib/branch_rename.tcl:26 ++msgid "Rename" ++msgstr "Endre navn" ++ ++#: lib/branch_rename.tcl:36 ++msgid "Branch:" ++msgstr "Gren:" ++ ++#: lib/branch_rename.tcl:39 ++msgid "New Name:" ++msgstr "Nytt navn:" ++ ++#: lib/branch_rename.tcl:75 ++msgid "Please select a branch to rename." ++msgstr "Vennligst velg grenen du vil endre navn på." ++ ++#: lib/branch_rename.tcl:96 lib/checkout_op.tcl:201 ++#, tcl-format ++msgid "Branch '%s' already exists." ++msgstr "Grenen '%s' eksisterer allerede." ++ ++#: lib/branch_rename.tcl:117 ++#, tcl-format ++msgid "Failed to rename '%s'." ++msgstr "Kunne ikke endre navnet '%s'." ++ ++#: lib/browser.tcl:17 ++msgid "Starting..." ++msgstr "Starter..." ++ ++#: lib/browser.tcl:26 ++msgid "File Browser" ++msgstr "Utforsker" ++ ++#: lib/browser.tcl:126 lib/browser.tcl:143 ++#, tcl-format ++msgid "Loading %s..." ++msgstr "Laster %s..." ++ ++#: lib/browser.tcl:187 ++msgid "[Up To Parent]" ++msgstr "[Opp til forelder]" ++ ++#: lib/browser.tcl:267 lib/browser.tcl:273 ++msgid "Browse Branch Files" ++msgstr "Bla igjennom grenens filer" ++ ++#: lib/browser.tcl:278 lib/choose_repository.tcl:394 ++#: lib/choose_repository.tcl:480 lib/choose_repository.tcl:491 ++#: lib/choose_repository.tcl:995 ++msgid "Browse" ++msgstr "Bla igjennom" ++ ++#: lib/checkout_op.tcl:84 ++#, tcl-format ++msgid "Fetching %s from %s" ++msgstr "Henter %s fra %s" ++ ++#: lib/checkout_op.tcl:132 ++#, tcl-format ++msgid "fatal: Cannot resolve %s" ++msgstr "kritisk: Kan ikke åpne %s" ++ ++#: lib/checkout_op.tcl:145 lib/console.tcl:81 lib/database.tcl:31 ++#: lib/sshkey.tcl:53 ++msgid "Close" ++msgstr "Lukk" ++ ++#: lib/checkout_op.tcl:174 ++#, tcl-format ++msgid "Branch '%s' does not exist." ++msgstr "Grenen '%s' eksisterer ikke." ++ ++#: lib/checkout_op.tcl:193 ++#, tcl-format ++msgid "Failed to configure simplified git-pull for '%s'." ++msgstr "Kunne ikke konfigurere forenklet git-pull for '%s'." ++ ++#: lib/checkout_op.tcl:228 ++#, tcl-format ++msgid "" ++"Branch '%s' already exists.\n" ++"\n" ++"It cannot fast-forward to %s.\n" ++"A merge is required." ++msgstr "" ++"Grenen '%s' eksisterer allerede.\n" ++"\n" ++"Den kan ikke hurtigfremspoles til %s.\n" ++"En sammenslåing er påkrevd." ++ ++#: lib/checkout_op.tcl:242 ++#, tcl-format ++msgid "Merge strategy '%s' not supported." ++msgstr "Sammenslåingsstrategien '%s' er ikke støttet." ++ ++#: lib/checkout_op.tcl:261 ++#, tcl-format ++msgid "Failed to update '%s'." ++msgstr "Kunne ikke oppdatere '%s'." ++ ++#: lib/checkout_op.tcl:273 ++msgid "Staging area (index) is already locked." ++msgstr "Køområdet (index) er allerede låst." ++ ++#: lib/checkout_op.tcl:288 ++msgid "" ++"Last scanned state does not match repository state.\n" ++"\n" ++"Another Git program has modified this repository since the last scan. A " ++"rescan must be performed before the current branch can be changed.\n" ++"\n" ++"The rescan will be automatically started now.\n" ++msgstr "" ++ ++#: lib/checkout_op.tcl:344 ++#, tcl-format ++msgid "Updating working directory to '%s'..." ++msgstr "Oppdaterer arbeidskatalogen til '%s'..." ++ ++#: lib/checkout_op.tcl:345 ++msgid "files checked out" ++msgstr "filer sjekket ut" ++ ++#: lib/checkout_op.tcl:375 ++#, tcl-format ++msgid "Aborted checkout of '%s' (file level merging is required)." ++msgstr "Avbrøt utsjekkingen av '%s' (sammenslåing på filnivå kreves)." ++ ++#: lib/checkout_op.tcl:376 ++msgid "File level merge required." ++msgstr "Sammenslåing på filnivå kreves" ++ ++#: lib/checkout_op.tcl:380 ++#, tcl-format ++msgid "Staying on branch '%s'." ++msgstr "Blir stående på grenen '%s'." ++ ++#: lib/checkout_op.tcl:451 ++msgid "" ++"You are no longer on a local branch.\n" ++"\n" ++"If you wanted to be on a branch, create one now starting from 'This Detached " ++"Checkout'." ++msgstr "" ++ ++#: lib/checkout_op.tcl:468 lib/checkout_op.tcl:472 ++#, tcl-format ++msgid "Checked out '%s'." ++msgstr "Sjekket ut '%s'." ++ ++#: lib/checkout_op.tcl:500 ++#, tcl-format ++msgid "Resetting '%s' to '%s' will lose the following commits:" ++msgstr "" ++"Tilbakestilling av '%s' til '%s' vil medføre tap av følgende innsjekkinger:" ++ ++#: lib/checkout_op.tcl:522 ++msgid "Recovering lost commits may not be easy." ++msgstr "" ++"Det vil kanskje ikke være så enkelt å gjenopprette en tapt innsjekking." ++ ++#: lib/checkout_op.tcl:527 ++#, tcl-format ++msgid "Reset '%s'?" ++msgstr "Tilbakestill '%s'?" ++ ++#: lib/checkout_op.tcl:532 lib/merge.tcl:164 lib/tools_dlg.tcl:343 ++msgid "Visualize" ++msgstr "Visualiser" ++ ++#: lib/checkout_op.tcl:600 ++#, tcl-format ++msgid "" ++"Failed to set current branch.\n" ++"\n" ++"This working directory is only partially switched. We successfully updated " ++"your files, but failed to update an internal Git file.\n" ++"\n" ++"This should not have occurred. %s will now close and give up." ++msgstr "" ++ ++#: lib/choose_font.tcl:39 ++msgid "Select" ++msgstr "Velg" ++ ++#: lib/choose_font.tcl:53 ++msgid "Font Family" ++msgstr "Skrifttype-familie" ++ ++#: lib/choose_font.tcl:74 ++msgid "Font Size" ++msgstr "Skriftstørrelse" ++ ++#: lib/choose_font.tcl:91 ++msgid "Font Example" ++msgstr "Skrifteksempel" ++ ++#: lib/choose_font.tcl:103 ++msgid "" ++"This is example text.\n" ++"If you like this text, it can be your font." ++msgstr "" ++"Dette er en eksempeltekst.\n" ++"Hvis du liker hvordan teksten ser ut, kan du velge dette som din skrifttype." ++ ++#: lib/choose_repository.tcl:28 ++msgid "Git Gui" ++msgstr "Git Gui" ++ ++#: lib/choose_repository.tcl:87 lib/choose_repository.tcl:382 ++msgid "Create New Repository" ++msgstr "Opprett nytt arkiv" ++ ++#: lib/choose_repository.tcl:93 ++msgid "New..." ++msgstr "Ny..." ++ ++#: lib/choose_repository.tcl:100 lib/choose_repository.tcl:465 ++msgid "Clone Existing Repository" ++msgstr "Klon eksistererende arkiv" ++ ++#: lib/choose_repository.tcl:106 ++msgid "Clone..." ++msgstr "Klon..." ++ ++#: lib/choose_repository.tcl:113 lib/choose_repository.tcl:983 ++msgid "Open Existing Repository" ++msgstr "Åpne eksistererende arkiv" ++ ++#: lib/choose_repository.tcl:119 ++msgid "Open..." ++msgstr "Åpne..." ++ ++#: lib/choose_repository.tcl:132 ++msgid "Recent Repositories" ++msgstr "Nylig brukte arkiv" ++ ++#: lib/choose_repository.tcl:138 ++msgid "Open Recent Repository:" ++msgstr "Åpne nylig brukt arkiv:" ++ ++#: lib/choose_repository.tcl:302 lib/choose_repository.tcl:309 ++#: lib/choose_repository.tcl:316 ++#, tcl-format ++msgid "Failed to create repository %s:" ++msgstr "Kunne ikke opprette arkivet %s:" ++ ++#: lib/choose_repository.tcl:387 ++msgid "Directory:" ++msgstr "Mappe:" ++ ++#: lib/choose_repository.tcl:417 lib/choose_repository.tcl:544 ++#: lib/choose_repository.tcl:1017 ++msgid "Git Repository" ++msgstr "Git arkiv" ++ ++#: lib/choose_repository.tcl:442 ++#, tcl-format ++msgid "Directory %s already exists." ++msgstr "Mappen %s eksisterer allerede." ++ ++#: lib/choose_repository.tcl:446 ++#, tcl-format ++msgid "File %s already exists." ++msgstr "Filen %s eksisterer allerede." ++ ++#: lib/choose_repository.tcl:460 ++msgid "Clone" ++msgstr "Klon" ++ ++#: lib/choose_repository.tcl:473 ++msgid "Source Location:" ++msgstr "Kildeplassering:" ++ ++#: lib/choose_repository.tcl:484 ++msgid "Target Directory:" ++msgstr "Destinasjonsmappe:" ++ ++#: lib/choose_repository.tcl:496 ++msgid "Clone Type:" ++msgstr "Klontype:" ++ ++#: lib/choose_repository.tcl:502 ++msgid "Standard (Fast, Semi-Redundant, Hardlinks)" ++msgstr "Standard (rask, delvis redundant, hardlinker)" ++ ++#: lib/choose_repository.tcl:508 ++msgid "Full Copy (Slower, Redundant Backup)" ++msgstr "Full kopi (tregere, redundant sikkerhetskopi)" ++ ++#: lib/choose_repository.tcl:514 ++msgid "Shared (Fastest, Not Recommended, No Backup)" ++msgstr "Delt (raskest, ikke anbefalt, ingen sikkerhetskopiering)" ++ ++#: lib/choose_repository.tcl:550 lib/choose_repository.tcl:597 ++#: lib/choose_repository.tcl:743 lib/choose_repository.tcl:813 ++#: lib/choose_repository.tcl:1023 lib/choose_repository.tcl:1031 ++#, tcl-format ++msgid "Not a Git repository: %s" ++msgstr "Ikke et Git-arkiv: %s" ++ ++#: lib/choose_repository.tcl:586 ++msgid "Standard only available for local repository." ++msgstr "Standard er kun tilgjengelig for lokalt arkiv." ++ ++#: lib/choose_repository.tcl:590 ++msgid "Shared only available for local repository." ++msgstr "Delt er kun tilgjengelig for lokalt arkiv." ++ ++#: lib/choose_repository.tcl:611 ++#, tcl-format ++msgid "Location %s already exists." ++msgstr "Stedet %s eksisterer allerede." ++ ++#: lib/choose_repository.tcl:622 ++msgid "Failed to configure origin" ++msgstr "Kunne ikke konfigurere kildeoppføring" ++ ++#: lib/choose_repository.tcl:634 ++msgid "Counting objects" ++msgstr "Teller objekter" ++ ++#: lib/choose_repository.tcl:635 ++msgid "buckets" ++msgstr "bøtter" ++ ++#: lib/choose_repository.tcl:659 ++#, tcl-format ++msgid "Unable to copy objects/info/alternates: %s" ++msgstr "Kunne ikke kopiere objekter/informasjon/alternativt: %s" ++ ++#: lib/choose_repository.tcl:695 ++#, tcl-format ++msgid "Nothing to clone from %s." ++msgstr "Ingenting å klone fra %s." ++ ++#: lib/choose_repository.tcl:697 lib/choose_repository.tcl:911 ++#: lib/choose_repository.tcl:923 ++msgid "The 'master' branch has not been initialized." ++msgstr "Grenen 'master' har ikke blitt initsialisert." ++ ++#: lib/choose_repository.tcl:710 ++msgid "Hardlinks are unavailable. Falling back to copying." ++msgstr "Harde linker er utilgjengelig. Går tilbake til kopiering." ++ ++#: lib/choose_repository.tcl:722 ++#, tcl-format ++msgid "Cloning from %s" ++msgstr "Kloner fra %s" ++ ++#: lib/choose_repository.tcl:753 ++msgid "Copying objects" ++msgstr "Kopierer objekter" ++ ++#: lib/choose_repository.tcl:754 ++msgid "KiB" ++msgstr "kB" ++ ++#: lib/choose_repository.tcl:778 ++#, tcl-format ++msgid "Unable to copy object: %s" ++msgstr "Kunne ikke kopiere objekt: %s" ++ ++#: lib/choose_repository.tcl:788 ++msgid "Linking objects" ++msgstr "Lenker objekter" ++ ++#: lib/choose_repository.tcl:789 ++msgid "objects" ++msgstr "objekter" ++ ++#: lib/choose_repository.tcl:797 ++#, tcl-format ++msgid "Unable to hardlink object: %s" ++msgstr "Kunne ikke opprette hardlink med objektet: %s" ++ ++#: lib/choose_repository.tcl:852 ++msgid "Cannot fetch branches and objects. See console output for details." ++msgstr "Kunne ikke hente grener og objekter. Se utdata i konsoll for detaljer." ++ ++#: lib/choose_repository.tcl:863 ++msgid "Cannot fetch tags. See console output for details." ++msgstr "Kunne ikke hente tagger. Se utdata i konsoll for detaljer." ++ ++#: lib/choose_repository.tcl:887 ++msgid "Cannot determine HEAD. See console output for details." ++msgstr "Kan ikke bestemme HEAD. Se utdata i konsoll for detaljer." ++ ++#: lib/choose_repository.tcl:896 ++#, tcl-format ++msgid "Unable to cleanup %s" ++msgstr "Kunne ikke rydde opp %s" ++ ++#: lib/choose_repository.tcl:902 ++msgid "Clone failed." ++msgstr "Kloning feilet." ++ ++#: lib/choose_repository.tcl:909 ++msgid "No default branch obtained." ++msgstr "Ingen standardgren hentet." ++ ++#: lib/choose_repository.tcl:920 ++#, tcl-format ++msgid "Cannot resolve %s as a commit." ++msgstr "Kan ikke finne %s som en innsjekking." ++ ++#: lib/choose_repository.tcl:932 ++msgid "Creating working directory" ++msgstr "Oppretter arbeidskatalog" ++ ++#: lib/choose_repository.tcl:933 lib/index.tcl:65 lib/index.tcl:128 ++#: lib/index.tcl:196 ++msgid "files" ++msgstr "filer" ++ ++#: lib/choose_repository.tcl:962 ++msgid "Initial file checkout failed." ++msgstr "Initsialiserende utsjekking feilet." ++ ++#: lib/choose_repository.tcl:978 ++msgid "Open" ++msgstr "Åpne" ++ ++#: lib/choose_repository.tcl:988 ++msgid "Repository:" ++msgstr "Arkiv:" ++ ++#: lib/choose_repository.tcl:1037 ++#, tcl-format ++msgid "Failed to open repository %s:" ++msgstr "Kunne ikke åpne arkivet %s:" ++ ++#: lib/choose_rev.tcl:53 ++msgid "This Detached Checkout" ++msgstr "Denne frakoblede utsjekkingen" ++ ++#: lib/choose_rev.tcl:60 ++msgid "Revision Expression:" ++msgstr "Revisjonsuttrykk:" ++ ++#: lib/choose_rev.tcl:74 ++msgid "Local Branch" ++msgstr "Lokal gren" ++ ++#: lib/choose_rev.tcl:79 ++msgid "Tracking Branch" ++msgstr "Sporet gren" ++ ++#: lib/choose_rev.tcl:84 lib/choose_rev.tcl:538 ++msgid "Tag" ++msgstr "Tag" ++ ++#: lib/choose_rev.tcl:317 ++#, tcl-format ++msgid "Invalid revision: %s" ++msgstr "Ugyldig revisjon: %s" ++ ++#: lib/choose_rev.tcl:338 ++msgid "No revision selected." ++msgstr "Ingen revisjoner valgt." ++ ++#: lib/choose_rev.tcl:346 ++msgid "Revision expression is empty." ++msgstr "Revisjonsuttrykk er tomt." ++ ++#: lib/choose_rev.tcl:531 ++msgid "Updated" ++msgstr "Oppdatert" ++ ++#: lib/choose_rev.tcl:559 ++msgid "URL" ++msgstr "URL" ++ ++#: lib/commit.tcl:9 ++msgid "" ++"There is nothing to amend.\n" ++"\n" ++"You are about to create the initial commit. There is no commit before this " ++"to amend.\n" ++msgstr "" ++"Det er ingenting å legge til.\n" ++"\n" ++"Du er i ferd med å lage den initsialiserende revisjonen. Det er ingen " ++"tidligere revisjoner å tilføye.\n" ++ ++#: lib/commit.tcl:18 ++msgid "" ++"Cannot amend while merging.\n" ++"\n" ++"You are currently in the middle of a merge that has not been fully " ++"completed. You cannot amend the prior commit unless you first abort the " ++"current merge activity.\n" ++msgstr "" ++"Kan ikke tilføye under sammenslåing.\n" ++"\n" ++"Du er for øyeblikket under en pågående sammenslåing som ikke er fullført. Du " ++"kan ikke tilføye en tidligere revisjon med mindre du først avbryter denne " ++"sammenslåingen.\n" ++ ++#: lib/commit.tcl:49 ++msgid "Error loading commit data for amend:" ++msgstr "Feil ved innhenting av revisjonsdata for tilføying:" ++ ++#: lib/commit.tcl:76 ++msgid "Unable to obtain your identity:" ++msgstr "Kunne ikke avgjøre din identitet:" ++ ++#: lib/commit.tcl:81 ++msgid "Invalid GIT_COMMITTER_IDENT:" ++msgstr "Ugyldig GIT_COMMITTER_IDENT:" ++ ++#: lib/commit.tcl:133 ++msgid "" ++"Last scanned state does not match repository state.\n" ++"\n" ++"Another Git program has modified this repository since the last scan. A " ++"rescan must be performed before another commit can be created.\n" ++"\n" ++"The rescan will be automatically started now.\n" ++msgstr "" ++ ++#: lib/commit.tcl:156 ++#, tcl-format ++msgid "" ++"Unmerged files cannot be committed.\n" ++"\n" ++"File %s has merge conflicts. You must resolve them and stage the file " ++"before committing.\n" ++msgstr "" ++ ++#: lib/commit.tcl:164 ++#, tcl-format ++msgid "" ++"Unknown file state %s detected.\n" ++"\n" ++"File %s cannot be committed by this program.\n" ++msgstr "" ++"Ukjent filstatus %s er funnet.\n" ++"\n" ++"Filen %s kan ikke sjekkes inn av dette programmet.\n" ++ ++#: lib/commit.tcl:172 ++msgid "" ++"No changes to commit.\n" ++"\n" ++"You must stage at least 1 file before you can commit.\n" ++msgstr "" ++"Ingen endringer å sjekke inn.\n" ++"\n" ++"Du må køe minst en fil før du kan sjekke inn noe.\n" ++ ++#: lib/commit.tcl:187 ++msgid "" ++"Please supply a commit message.\n" ++"\n" ++"A good commit message has the following format:\n" ++"\n" ++"- First line: Describe in one sentence what you did.\n" ++"- Second line: Blank\n" ++"- Remaining lines: Describe why this change is good.\n" ++msgstr "" ++"Vennligst angi en revisjonsmelding.\n" ++"\n" ++"En god melding har følgende format:\n" ++"\n" ++"- Første linje: En beskrivelse av hva du har gjort i én setning.\n" ++"- Andre linje: Blank\n" ++"- Resterende linjer: Forklar hvorfor denne endringen er bra.\n" ++ ++#: lib/commit.tcl:211 ++#, tcl-format ++msgid "warning: Tcl does not support encoding '%s'." ++msgstr "advarsel: Tcl støtter ikke denne tegnkodingen '%s'." ++ ++#: lib/commit.tcl:227 ++msgid "Calling pre-commit hook..." ++msgstr "" ++ ++#: lib/commit.tcl:242 ++msgid "Commit declined by pre-commit hook." ++msgstr "" ++ ++#: lib/commit.tcl:265 ++msgid "Calling commit-msg hook..." ++msgstr "" ++ ++#: lib/commit.tcl:280 ++msgid "Commit declined by commit-msg hook." ++msgstr "" ++ ++#: lib/commit.tcl:293 ++msgid "Committing changes..." ++msgstr "Sjekker inn endringer..." ++ ++#: lib/commit.tcl:309 ++msgid "write-tree failed:" ++msgstr "Skriving til tre feilet:" ++ ++#: lib/commit.tcl:310 lib/commit.tcl:354 lib/commit.tcl:374 ++msgid "Commit failed." ++msgstr "Innsjekking feilet." ++ ++#: lib/commit.tcl:327 ++#, tcl-format ++msgid "Commit %s appears to be corrupt" ++msgstr "Revisjon %s ser ut til å være korrupt" ++ ++#: lib/commit.tcl:332 ++msgid "" ++"No changes to commit.\n" ++"\n" ++"No files were modified by this commit and it was not a merge commit.\n" ++"\n" ++"A rescan will be automatically started now.\n" ++msgstr "" ++"Ingen endringer til innsjekking.\n" ++"\n" ++"Ingen filer ble endret av denne revisjonen, og det var ikke en revisjon fra " ++"en sammenslåing.\n" ++"\n" ++"Et nytt søk vil bli startet automatisk.\n" ++ ++#: lib/commit.tcl:339 ++msgid "No changes to commit." ++msgstr "Ingen endringer til innsekking." ++ ++#: lib/commit.tcl:353 ++msgid "commit-tree failed:" ++msgstr "commit-tree feilet:" ++ ++#: lib/commit.tcl:373 ++msgid "update-ref failed:" ++msgstr "update-ref feilet:" ++ ++#: lib/commit.tcl:461 ++#, tcl-format ++msgid "Created commit %s: %s" ++msgstr "Opprettet innsjekking %s: %s" ++ ++#: lib/console.tcl:59 ++msgid "Working... please wait..." ++msgstr "Jobber... Vennligst vent..." ++ ++#: lib/console.tcl:186 ++msgid "Success" ++msgstr "Suksess" ++ ++#: lib/console.tcl:200 ++msgid "Error: Command Failed" ++msgstr "Feil: Kommandoen feilet" ++ ++#: lib/database.tcl:43 ++msgid "Number of loose objects" ++msgstr "Antall løse objekter" ++ ++#: lib/database.tcl:44 ++msgid "Disk space used by loose objects" ++msgstr "Diskplass brukt av løse objekter" ++ ++#: lib/database.tcl:45 ++msgid "Number of packed objects" ++msgstr "Antall pakkede objekter" ++ ++#: lib/database.tcl:46 ++msgid "Number of packs" ++msgstr "Antall pakker" ++ ++#: lib/database.tcl:47 ++msgid "Disk space used by packed objects" ++msgstr "Diskplass brukt av pakkede objekter" ++ ++#: lib/database.tcl:48 ++msgid "Packed objects waiting for pruning" ++msgstr "Pakkede objekter som avventer fjerning" ++ ++#: lib/database.tcl:49 ++msgid "Garbage files" ++msgstr "Avfallsfiler" ++ ++#: lib/database.tcl:72 ++msgid "Compressing the object database" ++msgstr "Komprimerer objektdatabasen" ++ ++#: lib/database.tcl:83 ++msgid "Verifying the object database with fsck-objects" ++msgstr "Verifiserer objektdatabasen med fsck-objects" ++ ++#: lib/database.tcl:108 ++#, tcl-format ++msgid "" ++"This repository currently has approximately %i loose objects.\n" ++"\n" ++"To maintain optimal performance it is strongly recommended that you compress " ++"the database when more than %i loose objects exist.\n" ++"\n" ++"Compress the database now?" ++msgstr "" ++"Dette arkivet inneholder omtrent %i 'løse' objekter.\n" ++"\n" ++"For å sikre en optimal ytelse er det sterkt anbefalt at du komprimerer " ++"databasen når det er flere enn %i 'løse' objekter i den.\n" ++"\n" ++"Komprimere databasen nå?" ++ ++#: lib/date.tcl:25 ++#, tcl-format ++msgid "Invalid date from Git: %s" ++msgstr "Ugyldig dato fra Git: %s" ++ ++#: lib/diff.tcl:59 ++#, tcl-format ++msgid "" ++"No differences detected.\n" ++"\n" ++"%s has no changes.\n" ++"\n" ++"The modification date of this file was updated by another application, but " ++"the content within the file was not changed.\n" ++"\n" ++"A rescan will be automatically started to find other files which may have " ++"the same state." ++msgstr "" ++"Ingen forandringer funnet.\n" ++"\n" ++"%s har ingen endringer.\n" ++"\n" ++"Tidsstempelet for endring på denne filen ble oppdatert av en annen " ++" applikasjon, men innholdet er uendret.\n" ++"\n" ++"En gjennomsøking vil nå starte automatisk for å se om andre filer har " ++"status." ++ ++#: lib/diff.tcl:99 ++#, tcl-format ++msgid "Loading diff of %s..." ++msgstr "Laster inn forskjellene av %s..." ++ ++#: lib/diff.tcl:120 ++msgid "" ++"LOCAL: deleted\n" ++"REMOTE:\n" ++msgstr "LOKAL: slettet\n" ++"FJERN:\n" ++ ++#: lib/diff.tcl:125 ++msgid "" ++"REMOTE: deleted\n" ++"LOCAL:\n" ++msgstr "FJERN: slettet\n" ++"LOKAL:\n" ++ ++#: lib/diff.tcl:132 ++msgid "LOCAL:\n" ++msgstr "LOKAL:\n" ++ ++#: lib/diff.tcl:135 ++msgid "REMOTE:\n" ++msgstr "FJERN:\n" ++ ++#: lib/diff.tcl:197 lib/diff.tcl:296 ++#, tcl-format ++msgid "Unable to display %s" ++msgstr "Kan ikke vise %s" ++ ++#: lib/diff.tcl:198 ++msgid "Error loading file:" ++msgstr "Feil ved lesing av fil: %s" ++ ++#: lib/diff.tcl:205 ++msgid "Git Repository (subproject)" ++msgstr "Git-arkiv (underprosjekt)" ++ ++#: lib/diff.tcl:217 ++msgid "* Binary file (not showing content)." ++msgstr "* Binærfil (viser ikke innhold)" ++ ++#: lib/diff.tcl:222 ++#, tcl-format ++msgid "" ++"* Untracked file is %d bytes.\n" ++"* Showing only first %d bytes.\n" ++msgstr "" ++"* Usporet fil er %d bytes.\n" ++"* Viser bare %d første bytes.\n" ++ ++#: lib/diff.tcl:228 ++#, tcl-format ++msgid "" ++"\n" ++"* Untracked file clipped here by %s.\n" ++"* To see the entire file, use an external editor.\n" ++msgstr "" ++"\n" ++"* Usporede filer klippet her av %s.\n" ++"* For å se hele filen, bruk et eksternt redigeringsverktøy.\n" ++ ++#: lib/diff.tcl:436 ++msgid "Failed to unstage selected hunk." ++msgstr "Kunne ikke fjerne den valgte delen fra innsjekkingskøen." ++ ++#: lib/diff.tcl:443 ++msgid "Failed to stage selected hunk." ++msgstr "Kunne ikke legge til den valgte delen i innsjekkingskøen." ++ ++#: lib/diff.tcl:509 ++msgid "Failed to unstage selected line." ++msgstr "Kunne ikke fjerne den valgte linjen fra innsjekkingskøen." ++ ++#: lib/diff.tcl:517 ++msgid "Failed to stage selected line." ++msgstr "Kunne ikke legge til den valgte linjen i innsjekkingskøen." ++ ++#: lib/encoding.tcl:443 ++msgid "Default" ++msgstr "Standard" ++ ++#: lib/encoding.tcl:448 ++#, tcl-format ++msgid "System (%s)" ++msgstr "Systemets (%s)" ++ ++#: lib/encoding.tcl:459 lib/encoding.tcl:465 ++msgid "Other" ++msgstr "Andre" ++ ++#: lib/error.tcl:20 lib/error.tcl:114 ++msgid "error" ++msgstr "feil" ++ ++#: lib/error.tcl:36 ++msgid "warning" ++msgstr "advarsel" ++ ++#: lib/error.tcl:94 ++msgid "You must correct the above errors before committing." ++msgstr "Du må rette de ovenstående feilene før innsjekking." ++ ++#: lib/index.tcl:6 ++msgid "Unable to unlock the index." ++msgstr "Kunne ikke låse opp indexen." ++ ++#: lib/index.tcl:15 ++msgid "Index Error" ++msgstr "Feil på index" ++ ++#: lib/index.tcl:21 ++msgid "" ++"Updating the Git index failed. A rescan will be automatically started to " ++"resynchronize git-gui." ++msgstr "" ++"Oppdatering av Git's index mislyktes. Et nytt søk vil bli startet for å " ++"resynkronisere git-gui." ++ ++#: lib/index.tcl:27 ++msgid "Continue" ++msgstr "Fortsett" ++ ++#: lib/index.tcl:31 ++msgid "Unlock Index" ++msgstr "Lås opp index" ++ ++#: lib/index.tcl:287 ++#, tcl-format ++msgid "Unstaging %s from commit" ++msgstr "Fjerner %s fra innsjekkingskøen" ++ ++#: lib/index.tcl:326 ++msgid "Ready to commit." ++msgstr "Klar til innsjekking." ++ ++#: lib/index.tcl:339 ++#, tcl-format ++msgid "Adding %s" ++msgstr "Legger til %s" ++ ++#: lib/index.tcl:396 ++#, tcl-format ++msgid "Revert changes in file %s?" ++msgstr "Reverter endringene i filen %s?" ++ ++#: lib/index.tcl:398 ++#, tcl-format ++msgid "Revert changes in these %i files?" ++msgstr "Reverter endringene i disse %i filene?" ++ ++#: lib/index.tcl:406 ++msgid "Any unstaged changes will be permanently lost by the revert." ++msgstr "Endringer som ikke ligger i innsjekkingskøen vil bli tapt av denne " ++"reverteringen" ++ ++#: lib/index.tcl:409 ++msgid "Do Nothing" ++msgstr "Ikke gjør noe" ++ ++#: lib/index.tcl:427 ++msgid "Reverting selected files" ++msgstr "Reverterer valgte filer" ++ ++#: lib/index.tcl:431 ++#, tcl-format ++msgid "Reverting %s" ++msgstr "Reverterer %s" ++ ++#: lib/merge.tcl:13 ++msgid "" ++"Cannot merge while amending.\n" ++"\n" ++"You must finish amending this commit before starting any type of merge.\n" ++msgstr "" ++"Kunne ikke slå sammen under utvidelse.\n" ++"\n" ++"Du må først fullføre utvidelsen av denne revisjonen før du kan starte en " ++"sammenslåing.\n" ++ ++#: lib/merge.tcl:27 ++msgid "" ++"Last scanned state does not match repository state.\n" ++"\n" ++"Another Git program has modified this repository since the last scan. A " ++"rescan must be performed before a merge can be performed.\n" ++"\n" ++"The rescan will be automatically started now.\n" ++msgstr "" ++ ++#: lib/merge.tcl:45 ++#, tcl-format ++msgid "" ++"You are in the middle of a conflicted merge.\n" ++"\n" ++"File %s has merge conflicts.\n" ++"\n" ++"You must resolve them, stage the file, and commit to complete the current " ++"merge. Only then can you begin another merge.\n" ++msgstr "" ++ ++#: lib/merge.tcl:55 ++#, tcl-format ++msgid "" ++"You are in the middle of a change.\n" ++"\n" ++"File %s is modified.\n" ++"\n" ++"You should complete the current commit before starting a merge. Doing so " ++"will help you abort a failed merge, should the need arise.\n" ++msgstr "" ++ ++#: lib/merge.tcl:107 ++#, tcl-format ++msgid "%s of %s" ++msgstr "%s av %s" ++ ++#: lib/merge.tcl:120 ++#, tcl-format ++msgid "Merging %s and %s..." ++msgstr "Slår sammen %s og %s" ++ ++#: lib/merge.tcl:131 ++msgid "Merge completed successfully." ++msgstr "Vellykket sammenslåing fullført." ++ ++#: lib/merge.tcl:133 ++msgid "Merge failed. Conflict resolution is required." ++msgstr "Sammenslåing feilet. Håndtering av konflikten kreves." ++ ++#: lib/merge.tcl:158 ++#, tcl-format ++msgid "Merge Into %s" ++msgstr "Slå sammen inn i %s" ++ ++#: lib/merge.tcl:177 ++msgid "Revision To Merge" ++msgstr "Revisjon til sammenslåing" ++ ++#: lib/merge.tcl:212 ++msgid "" ++"Cannot abort while amending.\n" ++"\n" ++"You must finish amending this commit.\n" ++msgstr "" ++"Kan ikke avbryte under utvidelse av revisjon.\n" ++"\n" ++"Du må fullføre utvidelsen av denne revisjonen.\n" ++ ++#: lib/merge.tcl:222 ++msgid "" ++"Abort merge?\n" ++"\n" ++"Aborting the current merge will cause *ALL* uncommitted changes to be lost.\n" ++"\n" ++"Continue with aborting the current merge?" ++msgstr "" ++"Avbryt sammenslåing?\n" ++"\n" ++"Avbryting av pågående sammenslåing vil føre til at *alle* endringer som ikke " ++" er sjekket inn, vil gå tapt.\n" ++"\n" ++"Fortsette med å avbryte den pågående sammenslåingen?" ++ ++#: lib/merge.tcl:228 ++msgid "" ++"Reset changes?\n" ++"\n" ++"Resetting the changes will cause *ALL* uncommitted changes to be lost.\n" ++"\n" ++"Continue with resetting the current changes?" ++msgstr "" ++"Nullstill endringer?\n" ++"\n" ++"Nullstilling av endringer vil føre til at *alle* endringer som ikke er " ++"sjekket inn går tapt.\n" ++"\n" ++"Fortsette med nullstilling av endringer?" ++ ++#: lib/merge.tcl:239 ++msgid "Aborting" ++msgstr "Avbryter" ++ ++#: lib/merge.tcl:239 ++msgid "files reset" ++msgstr "filer tilbakestilt" ++ ++#: lib/merge.tcl:267 ++msgid "Abort failed." ++msgstr "Avbryting feilet." ++ ++#: lib/merge.tcl:269 ++msgid "Abort completed. Ready." ++msgstr "Avbryting fullført. Klar." ++ ++#: lib/mergetool.tcl:8 ++msgid "Force resolution to the base version?" ++msgstr "Tving håndtering til opprinnelig versjon?" ++ ++#: lib/mergetool.tcl:9 ++msgid "Force resolution to this branch?" ++msgstr "Tving håndtering i denne grenen?" ++ ++#: lib/mergetool.tcl:10 ++msgid "Force resolution to the other branch?" ++msgstr "Tving håndtering i den andre grenen?" ++ ++#: lib/mergetool.tcl:14 ++#, tcl-format ++msgid "" ++"Note that the diff shows only conflicting changes.\n" ++"\n" ++"%s will be overwritten.\n" ++"\n" ++"This operation can be undone only by restarting the merge." ++msgstr "" ++"Merk deg at endringsvisningen kun viser motstridende endringer.\n" ++"\n" ++"%s vil bli overskrevet.\n" ++"\n" ++"Denne operasjonen kan kun bli angret ved å starte sammenslåingen på ny." ++ ++#: lib/mergetool.tcl:45 ++#, tcl-format ++msgid "File %s seems to have unresolved conflicts, still stage?" ++msgstr "Filen %s ser ut til å ha uløste konflikter, skal filen likevel køes?" ++ ++#: lib/mergetool.tcl:60 ++#, tcl-format ++msgid "Adding resolution for %s" ++msgstr "Legger til løsninge på konflikt for %s" ++ ++#: lib/mergetool.tcl:141 ++msgid "Cannot resolve deletion or link conflicts using a tool" ++msgstr "" ++ ++#: lib/mergetool.tcl:146 ++msgid "Conflict file does not exist" ++msgstr "Konfliktfil eksisterer ikke" ++ ++#: lib/mergetool.tcl:264 ++#, tcl-format ++msgid "Not a GUI merge tool: '%s'" ++msgstr "" ++ ++#: lib/mergetool.tcl:268 ++#, tcl-format ++msgid "Unsupported merge tool '%s'" ++msgstr "" ++ ++#: lib/mergetool.tcl:303 ++msgid "Merge tool is already running, terminate it?" ++msgstr "" ++ ++#: lib/mergetool.tcl:323 ++#, tcl-format ++msgid "" ++"Error retrieving versions:\n" ++"%s" ++msgstr "" ++"Kunne ikke hente versjoner:\n" ++"%s" ++ ++#: lib/mergetool.tcl:343 ++#, tcl-format ++msgid "" ++"Could not start the merge tool:\n" ++"\n" ++"%s" ++msgstr "" ++ ++#: lib/mergetool.tcl:347 ++msgid "Running merge tool..." ++msgstr "" ++ ++#: lib/mergetool.tcl:375 lib/mergetool.tcl:383 ++msgid "Merge tool failed." ++msgstr "" ++ ++#: lib/option.tcl:11 ++#, tcl-format ++msgid "Invalid global encoding '%s'" ++msgstr "" ++ ++#: lib/option.tcl:19 ++#, tcl-format ++msgid "Invalid repo encoding '%s'" ++msgstr "" ++ ++#: lib/option.tcl:117 ++msgid "Restore Defaults" ++msgstr "Gjennopprett standardverdier" ++ ++#: lib/option.tcl:121 ++msgid "Save" ++msgstr "Lagre" ++ ++#: lib/option.tcl:131 ++#, tcl-format ++msgid "%s Repository" ++msgstr "%s arkiv" ++ ++#: lib/option.tcl:132 ++msgid "Global (All Repositories)" ++msgstr "Globalt (alle arkiv)" ++ ++#: lib/option.tcl:138 ++msgid "User Name" ++msgstr "Navn" ++ ++#: lib/option.tcl:139 ++msgid "Email Address" ++msgstr "Epost-adresse" ++ ++#: lib/option.tcl:141 ++msgid "Summarize Merge Commits" ++msgstr "Oppsummer innsjekkinger fra sammenslåinger" ++ ++#: lib/option.tcl:142 ++msgid "Merge Verbosity" ++msgstr "Detaljenivå på sammenslåing" ++ ++#: lib/option.tcl:143 ++msgid "Show Diffstat After Merge" ++msgstr "Vis endringsstatistikk etter sammenslåing" ++ ++#: lib/option.tcl:144 ++msgid "Use Merge Tool" ++msgstr "Bruk sammenslåingsverktøy" ++ ++#: lib/option.tcl:146 ++msgid "Trust File Modification Timestamps" ++msgstr "Stol på filers tid for endring" ++ ++#: lib/option.tcl:147 ++msgid "Prune Tracking Branches During Fetch" ++msgstr "" ++ ++#: lib/option.tcl:148 ++msgid "Match Tracking Branches" ++msgstr "" ++ ++#: lib/option.tcl:149 ++msgid "Blame Copy Only On Changed Files" ++msgstr "" ++ ++#: lib/option.tcl:150 ++msgid "Minimum Letters To Blame Copy On" ++msgstr "" ++ ++#: lib/option.tcl:151 ++msgid "Blame History Context Radius (days)" ++msgstr "" ++ ++#: lib/option.tcl:152 ++msgid "Number of Diff Context Lines" ++msgstr "Antall linjer sammenhengende endringer" ++ ++#: lib/option.tcl:153 ++msgid "Commit Message Text Width" ++msgstr "Tekstbredde for vindu til innsjekkingsmeldinger" ++ ++#: lib/option.tcl:154 ++msgid "New Branch Name Template" ++msgstr "Mal for navn på nye grener" ++ ++#: lib/option.tcl:155 ++msgid "Default File Contents Encoding" ++msgstr "Standard tekstenkoding for innhold i filer" ++ ++#: lib/option.tcl:203 ++msgid "Change" ++msgstr "Endre" ++ ++#: lib/option.tcl:230 ++msgid "Spelling Dictionary:" ++msgstr "Stavebokordlister:" ++ ++#: lib/option.tcl:254 ++msgid "Change Font" ++msgstr "Endre skrifttype" ++ ++#: lib/option.tcl:258 ++#, tcl-format ++msgid "Choose %s" ++msgstr "Velg %s" ++ ++#: lib/option.tcl:264 ++msgid "pt." ++msgstr "pt." ++ ++#: lib/option.tcl:278 ++msgid "Preferences" ++msgstr "Egenskaper" ++ ++#: lib/option.tcl:314 ++msgid "Failed to completely save options:" ++msgstr "Kunne ikke lagre alternativ:" ++ ++#: lib/remote.tcl:163 ++msgid "Remove Remote" ++msgstr "Fjern fjernarkiv" ++ ++#: lib/remote.tcl:168 ++msgid "Prune from" ++msgstr "Fjern fra" ++ ++#: lib/remote.tcl:173 ++msgid "Fetch from" ++msgstr "Hent fra" ++ ++#: lib/remote.tcl:215 ++msgid "Push to" ++msgstr "Send til" ++ ++#: lib/remote_add.tcl:19 ++msgid "Add Remote" ++msgstr "Legg til fjernarkiv" ++ ++#: lib/remote_add.tcl:24 ++msgid "Add New Remote" ++msgstr "Legg til nytt fjernarkiv" ++ ++#: lib/remote_add.tcl:28 lib/tools_dlg.tcl:36 ++msgid "Add" ++msgstr "Legg til" ++ ++#: lib/remote_add.tcl:37 ++msgid "Remote Details" ++msgstr "Detaljer for fjernarkiv" ++ ++#: lib/remote_add.tcl:50 ++msgid "Location:" ++msgstr "Lokasjon:" ++ ++#: lib/remote_add.tcl:62 ++msgid "Further Action" ++msgstr "Videre handling" ++ ++#: lib/remote_add.tcl:65 ++msgid "Fetch Immediately" ++msgstr "Hent umiddelbart" ++ ++#: lib/remote_add.tcl:71 ++msgid "Initialize Remote Repository and Push" ++msgstr "Initsialiser og send til fjernarkiv" ++ ++#: lib/remote_add.tcl:77 ++msgid "Do Nothing Else Now" ++msgstr "Ikke gjør mer nå" ++ ++#: lib/remote_add.tcl:101 ++msgid "Please supply a remote name." ++msgstr "Vennligst angi et navn for fjernarkivet." ++ ++#: lib/remote_add.tcl:114 ++#, tcl-format ++msgid "'%s' is not an acceptable remote name." ++msgstr "'%s' er ikke et tillatt navn for et fjernarkiv." ++ ++#: lib/remote_add.tcl:125 ++#, tcl-format ++msgid "Failed to add remote '%s' of location '%s'." ++msgstr "Kunne ikke legge til fjernarkivet '%s' på '%s'." ++ ++#: lib/remote_add.tcl:133 lib/transport.tcl:6 ++#, tcl-format ++msgid "fetch %s" ++msgstr "hent %s" ++ ++#: lib/remote_add.tcl:134 ++#, tcl-format ++msgid "Fetching the %s" ++msgstr "Henter %s" ++ ++#: lib/remote_add.tcl:157 ++#, tcl-format ++msgid "Do not know how to initialize repository at location '%s'." ++msgstr "Vet ikke hvordan arkiv på '%s' skal opprettes." ++ ++#: lib/remote_add.tcl:163 lib/transport.tcl:25 lib/transport.tcl:71 ++#, tcl-format ++msgid "push %s" ++msgstr "send %s" ++ ++#: lib/remote_add.tcl:164 ++#, tcl-format ++msgid "Setting up the %s (at %s)" ++msgstr "Initsialiserer %s (på %s)" ++ ++#: lib/remote_branch_delete.tcl:29 lib/remote_branch_delete.tcl:34 ++msgid "Delete Branch Remotely" ++msgstr "Fjern gren fra fjernarkiv" ++ ++#: lib/remote_branch_delete.tcl:47 ++msgid "From Repository" ++msgstr "Fra arkiv" ++ ++#: lib/remote_branch_delete.tcl:50 lib/transport.tcl:123 ++msgid "Remote:" ++msgstr "Fjernarkiv:" ++ ++#: lib/remote_branch_delete.tcl:66 lib/transport.tcl:138 ++msgid "Arbitrary Location:" ++msgstr "Vilkårlig lokasjon:" ++ ++#: lib/remote_branch_delete.tcl:84 ++msgid "Branches" ++msgstr "Grener" ++ ++#: lib/remote_branch_delete.tcl:109 ++msgid "Delete Only If" ++msgstr "Slett kun hvis" ++ ++#: lib/remote_branch_delete.tcl:111 ++msgid "Merged Into:" ++msgstr "Slått sammen i:" ++ ++#: lib/remote_branch_delete.tcl:119 ++msgid "Always (Do not perform merge checks)" ++msgstr "Alltid (Ikke utfør sammenslåingskontroll)" ++ ++#: lib/remote_branch_delete.tcl:152 ++msgid "A branch is required for 'Merged Into'." ++msgstr "En gren kreves for 'sammenslåing i'." ++ ++#: lib/remote_branch_delete.tcl:184 ++#, tcl-format ++msgid "" ++"The following branches are not completely merged into %s:\n" ++"\n" ++" - %s" ++msgstr "" ++"Følgende grener er ikke fullestendig sammenslått med %s:\n" ++"\n" ++" - %s" ++ ++#: lib/remote_branch_delete.tcl:189 ++#, tcl-format ++msgid "" ++"One or more of the merge tests failed because you have not fetched the " ++"necessary commits. Try fetching from %s first." ++msgstr "" ++"En eller flere av testene som blir kjørt under sammenslåing feilet fordi du" ++"ikke har hentet inn de nødvendige innsjekkingene. Prøv å hent disse fra %s" ++"først" ++ ++#: lib/remote_branch_delete.tcl:207 ++msgid "Please select one or more branches to delete." ++msgstr "Velg en eller flere grener som skal fjernes." ++ ++#: lib/remote_branch_delete.tcl:216 ++msgid "" ++"Recovering deleted branches is difficult.\n" ++"\n" ++"Delete the selected branches?" ++msgstr "" ++"Gjenoppretting av fjernede grener er vanskelig.\n" ++"\n" ++"Fjern den merkede grenen?" ++ ++#: lib/remote_branch_delete.tcl:226 ++#, tcl-format ++msgid "Deleting branches from %s" ++msgstr "Fjerner grenene fra %s" ++ ++#: lib/remote_branch_delete.tcl:286 ++msgid "No repository selected." ++msgstr "Ingen arkiv valgt." ++ ++#: lib/remote_branch_delete.tcl:291 ++#, tcl-format ++msgid "Scanning %s..." ++msgstr "Søker %s..." ++ ++#: lib/search.tcl:21 ++msgid "Find:" ++msgstr "Finn:" ++ ++#: lib/search.tcl:23 ++msgid "Next" ++msgstr "Neste" ++ ++#: lib/search.tcl:24 ++msgid "Prev" ++msgstr "Forrige" ++ ++#: lib/search.tcl:25 ++msgid "Case-Sensitive" ++msgstr "Skiller på store og små bokstaver" ++ ++#: lib/shortcut.tcl:20 lib/shortcut.tcl:61 ++msgid "Cannot write shortcut:" ++msgstr "Kan ikke opprette snarvei:" ++ ++#: lib/shortcut.tcl:136 ++msgid "Cannot write icon:" ++msgstr "Kan ikke opprette ikon:" ++ ++#: lib/spellcheck.tcl:57 ++msgid "Unsupported spell checker" ++msgstr "Stavekontrolleren er ikke støttet" ++ ++#: lib/spellcheck.tcl:65 ++msgid "Spell checking is unavailable" ++msgstr "Stavekontroll er ikke tilgjengelig" ++ ++#: lib/spellcheck.tcl:68 ++msgid "Invalid spell checking configuration" ++msgstr "Ugyldig stavekontroll-konfigurasjon" ++ ++#: lib/spellcheck.tcl:70 ++#, tcl-format ++msgid "Reverting dictionary to %s." ++msgstr "Reverterer ordbok til %s." ++ ++#: lib/spellcheck.tcl:73 ++msgid "Spell checker silently failed on startup" ++msgstr "Stavekontrollen feilet stille under oppstart" ++ ++#: lib/spellcheck.tcl:80 ++msgid "Unrecognized spell checker" ++msgstr "Stavekontrolleren er ukjent" ++ ++#: lib/spellcheck.tcl:186 ++msgid "No Suggestions" ++msgstr "Ingen forslag" ++ ++#: lib/spellcheck.tcl:388 ++msgid "Unexpected EOF from spell checker" ++msgstr "Uventet slutt på filen fra stavekontrollen" ++ ++#: lib/spellcheck.tcl:392 ++msgid "Spell Checker Failed" ++msgstr "Stavekontroll mislyktes" ++ ++#: lib/sshkey.tcl:31 ++msgid "No keys found." ++msgstr "Ingen nøkler funnet." ++ ++#: lib/sshkey.tcl:34 ++#, tcl-format ++msgid "Found a public key in: %s" ++msgstr "Funnet en offentlig nøkkel i: %s" ++ ++#: lib/sshkey.tcl:40 ++msgid "Generate Key" ++msgstr "Generer nøkkel" ++ ++#: lib/sshkey.tcl:56 ++msgid "Copy To Clipboard" ++msgstr "Kopier til utklippstavlen" ++ ++#: lib/sshkey.tcl:70 ++msgid "Your OpenSSH Public Key" ++msgstr "Din offentlige OpenSSH-nøkkel" ++ ++#: lib/sshkey.tcl:78 ++msgid "Generating..." ++msgstr "Genererer..." ++ ++#: lib/sshkey.tcl:84 ++#, tcl-format ++msgid "" ++"Could not start ssh-keygen:\n" ++"\n" ++"%s" ++msgstr "" ++"Kunne ikke starte ssh-keygen:\n" ++"\n" ++"%s" ++ ++#: lib/sshkey.tcl:111 ++msgid "Generation failed." ++msgstr "Generering feilet." ++ ++#: lib/sshkey.tcl:118 ++msgid "Generation succeded, but no keys found." ++msgstr "Generering vellykket, men ingen nøkler er funnet." ++ ++#: lib/sshkey.tcl:121 ++#, tcl-format ++msgid "Your key is in: %s" ++msgstr "Nøkkelen din ligger i: %s" ++ ++#: lib/status_bar.tcl:83 ++#, tcl-format ++msgid "%s ... %*i of %*i %s (%3i%%)" ++msgstr "%s ... %*i av %*i %s (%3i%%)" ++ ++#: lib/tools.tcl:75 ++#, tcl-format ++msgid "Running %s requires a selected file." ++msgstr "Å kjøre %s krever at en fil er valgt" ++ ++#: lib/tools.tcl:90 ++#, tcl-format ++msgid "Are you sure you want to run %s?" ++msgstr "Er du sikker på at du vil kjøre %s?" ++ ++#: lib/tools.tcl:110 ++#, tcl-format ++msgid "Tool: %s" ++msgstr "Verktøy: %s" ++ ++#: lib/tools.tcl:111 ++#, tcl-format ++msgid "Running: %s" ++msgstr "Kjører: %s" ++ ++#: lib/tools.tcl:149 ++#, tcl-format ++msgid "Tool completed succesfully: %s" ++msgstr "Verktøyet ble fullført med suksess: %s" ++ ++#: lib/tools.tcl:151 ++#, tcl-format ++msgid "Tool failed: %s" ++msgstr "Verktøy feilet: %s" ++ ++#: lib/tools_dlg.tcl:22 ++msgid "Add Tool" ++msgstr "Legg til verktøy" ++ ++#: lib/tools_dlg.tcl:28 ++msgid "Add New Tool Command" ++msgstr "Legg til ny verktøykommando" ++ ++#: lib/tools_dlg.tcl:33 ++msgid "Add globally" ++msgstr "Legg til globalt" ++ ++#: lib/tools_dlg.tcl:45 ++msgid "Tool Details" ++msgstr "Verktøydetaljer" ++ ++#: lib/tools_dlg.tcl:48 ++msgid "Use '/' separators to create a submenu tree:" ++msgstr "Bruk '/'-separator for å lage undermenyer:" ++ ++#: lib/tools_dlg.tcl:61 ++msgid "Command:" ++msgstr "Kommando:" ++ ++#: lib/tools_dlg.tcl:74 ++msgid "Show a dialog before running" ++msgstr "Vis en dialog før start" ++ ++#: lib/tools_dlg.tcl:80 ++msgid "Ask the user to select a revision (sets $REVISION)" ++msgstr "Spør brukeren om å velge en revisjon (setter $REVISION)" ++ ++#: lib/tools_dlg.tcl:85 ++msgid "Ask the user for additional arguments (sets $ARGS)" ++msgstr "Spør brukeren for ytterligere paramtere (setter $ARGS)" ++ ++#: lib/tools_dlg.tcl:92 ++msgid "Don't show the command output window" ++msgstr "Ikke vis kommandoens utdata i vinduet" ++ ++#: lib/tools_dlg.tcl:97 ++msgid "Run only if a diff is selected ($FILENAME not empty)" ++msgstr "Kjør kun om forskjellene er markert ($FILENAME er ikke tom)" ++ ++#: lib/tools_dlg.tcl:121 ++msgid "Please supply a name for the tool." ++msgstr "Vennligst angi et navn for dette verktøyet." ++ ++#: lib/tools_dlg.tcl:129 ++#, tcl-format ++msgid "Tool '%s' already exists." ++msgstr "Verktøyet '%s' eksisterer allerede." ++ ++#: lib/tools_dlg.tcl:151 ++#, tcl-format ++msgid "" ++"Could not add tool:\n" ++"%s" ++msgstr "" ++"Kunne ikke legge til verktøyet:\n" ++"%s" ++ ++#: lib/tools_dlg.tcl:190 ++msgid "Remove Tool" ++msgstr "Fjern verktøyet" ++ ++#: lib/tools_dlg.tcl:196 ++msgid "Remove Tool Commands" ++msgstr "Fjern verktøyskommandoen" ++ ++#: lib/tools_dlg.tcl:200 ++msgid "Remove" ++msgstr "Fjern" ++ ++#: lib/tools_dlg.tcl:236 ++msgid "(Blue denotes repository-local tools)" ++msgstr "(Blue angir lokale verktøy til arkivet)" ++ ++#: lib/tools_dlg.tcl:297 ++#, tcl-format ++msgid "Run Command: %s" ++msgstr "Kjør kommando: %s" ++ ++#: lib/tools_dlg.tcl:311 ++msgid "Arguments" ++msgstr "Argumenter" ++ ++#: lib/tools_dlg.tcl:348 ++msgid "OK" ++msgstr "OK" ++ ++#: lib/transport.tcl:7 ++#, tcl-format ++msgid "Fetching new changes from %s" ++msgstr "Henter nye endringer fra %s" ++ ++#: lib/transport.tcl:18 ++#, tcl-format ++msgid "remote prune %s" ++msgstr "slett fjernarkiv %s" ++ ++#: lib/transport.tcl:19 ++#, tcl-format ++msgid "Pruning tracking branches deleted from %s" ++msgstr "Fjrner sporing av grener slettet fra %s" ++ ++#: lib/transport.tcl:26 ++#, tcl-format ++msgid "Pushing changes to %s" ++msgstr "Sender endringer til %s" ++ ++#: lib/transport.tcl:72 ++#, tcl-format ++msgid "Pushing %s %s to %s" ++msgstr "Sender %s %s til %s" ++ ++#: lib/transport.tcl:89 ++msgid "Push Branches" ++msgstr "Send grener" ++ ++#: lib/transport.tcl:103 ++msgid "Source Branches" ++msgstr "Kildegrener" ++ ++#: lib/transport.tcl:120 ++msgid "Destination Repository" ++msgstr "Destinasjonsarkiv" ++ ++#: lib/transport.tcl:158 ++msgid "Transfer Options" ++msgstr "Overføringsalternativer" ++ ++#: lib/transport.tcl:160 ++msgid "Force overwrite existing branch (may discard changes)" ++msgstr "Tving overskrivning av eksisterende gren (kan forkaste endringer)" ++ ++#: lib/transport.tcl:164 ++msgid "Use thin pack (for slow network connections)" ++msgstr "Bruk tynne pakker (for tregere nettverkstilkoblinger)" ++ ++#: lib/transport.tcl:168 ++msgid "Include tags" ++msgstr "Inkluder tagger" diff --cc git-gui/po/sv.po index d434220b1,000000000..167654c70 mode 100644,000000..100644 --- a/git-gui/po/sv.po +++ b/git-gui/po/sv.po @@@ -1,2560 -1,0 +1,2577 @@@ +# Swedish translation of git-gui. +# Copyright (C) 2007-2008 Shawn Pearce, et al. +# This file is distributed under the same license as the git-gui package. +# +# Peter Krefting , 2007-2008. +# Mikael Magnusson , 2008. +msgid "" +msgstr "" +"Project-Id-Version: sv\n" +"Report-Msgid-Bugs-To: \n" - "POT-Creation-Date: 2008-11-16 13:56-0800\n" - "PO-Revision-Date: 2008-11-21 08:35+0100\n" ++"POT-Creation-Date: 2008-12-08 08:31-0800\n" ++"PO-Revision-Date: 2008-12-10 09:49+0100\n" +"Last-Translator: Peter Krefting \n" +"Language-Team: Swedish \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: git-gui.sh:41 git-gui.sh:737 git-gui.sh:751 git-gui.sh:764 git-gui.sh:847 +#: git-gui.sh:866 +msgid "git-gui: fatal error" +msgstr "git-gui: ödesdigert fel" + +#: git-gui.sh:689 +#, tcl-format +msgid "Invalid font specified in %s:" +msgstr "Ogiltigt teckensnitt angivet i %s:" + +#: git-gui.sh:723 +msgid "Main Font" +msgstr "Huvudteckensnitt" + +#: git-gui.sh:724 +msgid "Diff/Console Font" +msgstr "Diff/konsolteckensnitt" + +#: git-gui.sh:738 +msgid "Cannot find git in PATH." +msgstr "Hittar inte git i PATH." + +#: git-gui.sh:765 +msgid "Cannot parse Git version string:" +msgstr "Kan inte tolka versionssträng från Git:" + +#: git-gui.sh:783 +#, tcl-format +msgid "" +"Git version cannot be determined.\n" +"\n" +"%s claims it is version '%s'.\n" +"\n" +"%s requires at least Git 1.5.0 or later.\n" +"\n" +"Assume '%s' is version 1.5.0?\n" +msgstr "" +"Kan inte avgöra Gits version.\n" +"\n" +"%s säger att dess version är \"%s\".\n" +"\n" +"%s kräver minst Git 1.5.0 eller senare.\n" +"\n" +"Anta att \"%s\" är version 1.5.0?\n" + +#: git-gui.sh:1062 +msgid "Git directory not found:" +msgstr "Git-katalogen hittades inte:" + +#: git-gui.sh:1069 +msgid "Cannot move to top of working directory:" +msgstr "Kan inte gå till början på arbetskatalogen:" + +#: git-gui.sh:1076 +msgid "Cannot use funny .git directory:" +msgstr "Kan inte använda underlig .git-katalog:" + +#: git-gui.sh:1081 +msgid "No working directory" +msgstr "Ingen arbetskatalog" + +#: git-gui.sh:1247 lib/checkout_op.tcl:305 +msgid "Refreshing file status..." +msgstr "Uppdaterar filstatus..." + +#: git-gui.sh:1303 +msgid "Scanning for modified files ..." +msgstr "Söker efter ändrade filer..." + +#: git-gui.sh:1367 +msgid "Calling prepare-commit-msg hook..." - msgstr "Anropar kroken för förberedning av incheckningsmeddelande (prepare-commit-msg)..." ++msgstr "" ++"Anropar kroken för förberedelse av incheckningsmeddelande (prepare-commit-" ++"msg)..." + +#: git-gui.sh:1384 +msgid "Commit declined by prepare-commit-msg hook." - msgstr "Incheckningen avvisades av kroken för förberedning av incheckningsmeddelande (prepare-commit-msg)." ++msgstr "" ++"Incheckningen avvisades av kroken för förberedelse av incheckningsmeddelande " ++"(prepare-commit-msg)." + +#: git-gui.sh:1542 lib/browser.tcl:246 +msgid "Ready." +msgstr "Klar." + +#: git-gui.sh:1819 +msgid "Unmodified" +msgstr "Oförändrade" + +#: git-gui.sh:1821 +msgid "Modified, not staged" +msgstr "Förändrade, ej köade" + +#: git-gui.sh:1822 git-gui.sh:1830 +msgid "Staged for commit" +msgstr "Köade för incheckning" + +#: git-gui.sh:1823 git-gui.sh:1831 +msgid "Portions staged for commit" +msgstr "Delar köade för incheckning" + +#: git-gui.sh:1824 git-gui.sh:1832 +msgid "Staged for commit, missing" +msgstr "Köade för incheckning, saknade" + +#: git-gui.sh:1826 +msgid "File type changed, not staged" +msgstr "Filtyp ändrad, ej köade" + +#: git-gui.sh:1827 +msgid "File type changed, staged" +msgstr "Filtyp ändrad, köade" + +#: git-gui.sh:1829 +msgid "Untracked, not staged" +msgstr "Ej spårade, ej köade" + +#: git-gui.sh:1834 +msgid "Missing" +msgstr "Saknade" + +#: git-gui.sh:1835 +msgid "Staged for removal" +msgstr "Köade för borttagning" + +#: git-gui.sh:1836 +msgid "Staged for removal, still present" +msgstr "Köade för borttagning, fortfarande närvarande" + +#: git-gui.sh:1838 git-gui.sh:1839 git-gui.sh:1840 git-gui.sh:1841 +#: git-gui.sh:1842 git-gui.sh:1843 +msgid "Requires merge resolution" +msgstr "Kräver konflikthantering efter sammanslagning" + +#: git-gui.sh:1878 +msgid "Starting gitk... please wait..." +msgstr "Startar gitk... vänta..." + +#: git-gui.sh:1887 +msgid "Couldn't find gitk in PATH" +msgstr "Hittar inte gitk i PATH." + +#: git-gui.sh:2280 lib/choose_repository.tcl:36 +msgid "Repository" +msgstr "Arkiv" + +#: git-gui.sh:2281 +msgid "Edit" +msgstr "Redigera" + +#: git-gui.sh:2283 lib/choose_rev.tcl:561 +msgid "Branch" +msgstr "Gren" + +#: git-gui.sh:2286 lib/choose_rev.tcl:548 +msgid "Commit@@noun" +msgstr "Incheckning" + +#: git-gui.sh:2289 lib/merge.tcl:121 lib/merge.tcl:150 lib/merge.tcl:168 +msgid "Merge" +msgstr "Slå ihop" + +#: git-gui.sh:2290 lib/choose_rev.tcl:557 +msgid "Remote" +msgstr "Fjärrarkiv" + +#: git-gui.sh:2293 +msgid "Tools" +msgstr "Verktyg" + +#: git-gui.sh:2302 +msgid "Explore Working Copy" +msgstr "Utforska arbetskopia" + +#: git-gui.sh:2307 +msgid "Browse Current Branch's Files" +msgstr "Bläddra i grenens filer" + +#: git-gui.sh:2311 +msgid "Browse Branch Files..." +msgstr "Bläddra filer på gren..." + +#: git-gui.sh:2316 +msgid "Visualize Current Branch's History" +msgstr "Visualisera grenens historik" + +#: git-gui.sh:2320 +msgid "Visualize All Branch History" +msgstr "Visualisera alla grenars historik" + +#: git-gui.sh:2327 +#, tcl-format +msgid "Browse %s's Files" +msgstr "Bläddra i filer för %s" + +#: git-gui.sh:2329 +#, tcl-format +msgid "Visualize %s's History" +msgstr "Visualisera historik för %s" + +#: git-gui.sh:2334 lib/database.tcl:27 lib/database.tcl:67 +msgid "Database Statistics" +msgstr "Databasstatistik" + +#: git-gui.sh:2337 lib/database.tcl:34 +msgid "Compress Database" +msgstr "Komprimera databas" + +#: git-gui.sh:2340 +msgid "Verify Database" +msgstr "Verifiera databas" + +#: git-gui.sh:2347 git-gui.sh:2351 git-gui.sh:2355 lib/shortcut.tcl:7 +#: lib/shortcut.tcl:39 lib/shortcut.tcl:71 +msgid "Create Desktop Icon" +msgstr "Skapa skrivbordsikon" + +#: git-gui.sh:2363 lib/choose_repository.tcl:183 lib/choose_repository.tcl:191 +msgid "Quit" +msgstr "Avsluta" + +#: git-gui.sh:2371 +msgid "Undo" +msgstr "Ångra" + +#: git-gui.sh:2374 +msgid "Redo" +msgstr "Gör om" + - #: git-gui.sh:2378 git-gui.sh:2923 ++#: git-gui.sh:2378 git-gui.sh:2937 +msgid "Cut" +msgstr "Klipp ut" + - #: git-gui.sh:2381 git-gui.sh:2926 git-gui.sh:3000 git-gui.sh:3082 ++#: git-gui.sh:2381 git-gui.sh:2940 git-gui.sh:3014 git-gui.sh:3096 +#: lib/console.tcl:69 +msgid "Copy" +msgstr "Kopiera" + - #: git-gui.sh:2384 git-gui.sh:2929 ++#: git-gui.sh:2384 git-gui.sh:2943 +msgid "Paste" +msgstr "Klistra in" + - #: git-gui.sh:2387 git-gui.sh:2932 lib/branch_delete.tcl:26 ++#: git-gui.sh:2387 git-gui.sh:2946 lib/branch_delete.tcl:26 +#: lib/remote_branch_delete.tcl:38 +msgid "Delete" +msgstr "Ta bort" + - #: git-gui.sh:2391 git-gui.sh:2936 git-gui.sh:3086 lib/console.tcl:71 ++#: git-gui.sh:2391 git-gui.sh:2950 git-gui.sh:3100 lib/console.tcl:71 +msgid "Select All" +msgstr "Markera alla" + +#: git-gui.sh:2400 +msgid "Create..." +msgstr "Skapa..." + +#: git-gui.sh:2406 +msgid "Checkout..." +msgstr "Checka ut..." + +#: git-gui.sh:2412 +msgid "Rename..." +msgstr "Byt namn..." + +#: git-gui.sh:2417 +msgid "Delete..." +msgstr "Ta bort..." + +#: git-gui.sh:2422 +msgid "Reset..." +msgstr "Återställ..." + +#: git-gui.sh:2432 +msgid "Done" +msgstr "Färdig" + +#: git-gui.sh:2434 +msgid "Commit@@verb" +msgstr "Checka in" + - #: git-gui.sh:2443 git-gui.sh:2864 ++#: git-gui.sh:2443 git-gui.sh:2878 +msgid "New Commit" +msgstr "Ny incheckning" + - #: git-gui.sh:2451 git-gui.sh:2871 ++#: git-gui.sh:2451 git-gui.sh:2885 +msgid "Amend Last Commit" +msgstr "Lägg till föregående incheckning" + - #: git-gui.sh:2461 git-gui.sh:2825 lib/remote_branch_delete.tcl:99 ++#: git-gui.sh:2461 git-gui.sh:2839 lib/remote_branch_delete.tcl:99 +msgid "Rescan" +msgstr "Sök på nytt" + +#: git-gui.sh:2467 +msgid "Stage To Commit" +msgstr "Köa för incheckning" + +#: git-gui.sh:2473 +msgid "Stage Changed Files To Commit" +msgstr "Köa ändrade filer för incheckning" + +#: git-gui.sh:2479 +msgid "Unstage From Commit" +msgstr "Ta bort från incheckningskö" + +#: git-gui.sh:2484 lib/index.tcl:410 +msgid "Revert Changes" +msgstr "Återställ ändringar" + - #: git-gui.sh:2491 git-gui.sh:3069 ++#: git-gui.sh:2491 git-gui.sh:3083 +msgid "Show Less Context" +msgstr "Visa mindre sammanhang" + - #: git-gui.sh:2495 git-gui.sh:3073 ++#: git-gui.sh:2495 git-gui.sh:3087 +msgid "Show More Context" +msgstr "Visa mer sammanhang" + - #: git-gui.sh:2502 git-gui.sh:2838 git-gui.sh:2947 ++#: git-gui.sh:2502 git-gui.sh:2852 git-gui.sh:2961 +msgid "Sign Off" +msgstr "Skriv under" + +#: git-gui.sh:2518 +msgid "Local Merge..." +msgstr "Lokal sammanslagning..." + +#: git-gui.sh:2523 +msgid "Abort Merge..." +msgstr "Avbryt sammanslagning..." + +#: git-gui.sh:2535 git-gui.sh:2575 +msgid "Add..." +msgstr "Lägg till..." + +#: git-gui.sh:2539 +msgid "Push..." +msgstr "Sänd..." + +#: git-gui.sh:2543 +msgid "Delete Branch..." +msgstr "Ta bort gren..." + +#: git-gui.sh:2553 git-gui.sh:2589 lib/about.tcl:14 +#: lib/choose_repository.tcl:44 lib/choose_repository.tcl:53 +#, tcl-format +msgid "About %s" +msgstr "Om %s" + +#: git-gui.sh:2557 +msgid "Preferences..." +msgstr "Inställningar..." + - #: git-gui.sh:2565 git-gui.sh:3115 ++#: git-gui.sh:2565 git-gui.sh:3129 +msgid "Options..." +msgstr "Alternativ..." + +#: git-gui.sh:2576 +msgid "Remove..." +msgstr "Ta bort..." + +#: git-gui.sh:2585 lib/choose_repository.tcl:50 +msgid "Help" +msgstr "Hjälp" + +#: git-gui.sh:2611 +msgid "Online Documentation" +msgstr "Webbdokumentation" + +#: git-gui.sh:2614 lib/choose_repository.tcl:47 lib/choose_repository.tcl:56 +msgid "Show SSH Key" +msgstr "Visa SSH-nyckel" + - #: git-gui.sh:2707 ++#: git-gui.sh:2721 +#, tcl-format +msgid "fatal: cannot stat path %s: No such file or directory" +msgstr "" +"ödesdigert: kunde inte ta status på sökvägen %s: Fil eller katalog saknas" + - #: git-gui.sh:2740 ++#: git-gui.sh:2754 +msgid "Current Branch:" +msgstr "Aktuell gren:" + - #: git-gui.sh:2761 ++#: git-gui.sh:2775 +msgid "Staged Changes (Will Commit)" +msgstr "Köade ändringar (kommer att checkas in)" + - #: git-gui.sh:2781 ++#: git-gui.sh:2795 +msgid "Unstaged Changes" +msgstr "Oköade ändringar" + - #: git-gui.sh:2831 ++#: git-gui.sh:2845 +msgid "Stage Changed" +msgstr "Köa ändrade" + - #: git-gui.sh:2850 lib/transport.tcl:93 lib/transport.tcl:182 ++#: git-gui.sh:2864 lib/transport.tcl:104 lib/transport.tcl:193 +msgid "Push" +msgstr "Sänd" + - #: git-gui.sh:2885 ++#: git-gui.sh:2899 +msgid "Initial Commit Message:" +msgstr "Inledande incheckningsmeddelande:" + - #: git-gui.sh:2886 ++#: git-gui.sh:2900 +msgid "Amended Commit Message:" +msgstr "Utökat incheckningsmeddelande:" + - #: git-gui.sh:2887 ++#: git-gui.sh:2901 +msgid "Amended Initial Commit Message:" +msgstr "Utökat inledande incheckningsmeddelande:" + - #: git-gui.sh:2888 ++#: git-gui.sh:2902 +msgid "Amended Merge Commit Message:" +msgstr "Utökat incheckningsmeddelande för sammanslagning:" + - #: git-gui.sh:2889 ++#: git-gui.sh:2903 +msgid "Merge Commit Message:" +msgstr "Incheckningsmeddelande för sammanslagning:" + - #: git-gui.sh:2890 ++#: git-gui.sh:2904 +msgid "Commit Message:" +msgstr "Incheckningsmeddelande:" + - #: git-gui.sh:2939 git-gui.sh:3090 lib/console.tcl:73 ++#: git-gui.sh:2953 git-gui.sh:3104 lib/console.tcl:73 +msgid "Copy All" +msgstr "Kopiera alla" + - #: git-gui.sh:2963 lib/blame.tcl:104 ++#: git-gui.sh:2977 lib/blame.tcl:104 +msgid "File:" +msgstr "Fil:" + - #: git-gui.sh:3078 ++#: git-gui.sh:3092 +msgid "Refresh" +msgstr "Uppdatera" + - #: git-gui.sh:3099 ++#: git-gui.sh:3113 +msgid "Decrease Font Size" +msgstr "Minska teckensnittsstorlek" + - #: git-gui.sh:3103 ++#: git-gui.sh:3117 +msgid "Increase Font Size" +msgstr "Öka teckensnittsstorlek" + - #: git-gui.sh:3111 lib/blame.tcl:281 ++#: git-gui.sh:3125 lib/blame.tcl:281 +msgid "Encoding" +msgstr "Teckenkodning" + - #: git-gui.sh:3122 ++#: git-gui.sh:3136 +msgid "Apply/Reverse Hunk" +msgstr "Använd/återställ del" + - #: git-gui.sh:3127 ++#: git-gui.sh:3141 +msgid "Apply/Reverse Line" +msgstr "Använd/återställ rad" + - #: git-gui.sh:3137 ++#: git-gui.sh:3151 +msgid "Run Merge Tool" +msgstr "Starta verktyg för sammanslagning" + - #: git-gui.sh:3142 ++#: git-gui.sh:3156 +msgid "Use Remote Version" +msgstr "Använd versionen från fjärrarkivet" + - #: git-gui.sh:3146 ++#: git-gui.sh:3160 +msgid "Use Local Version" +msgstr "Använd lokala versionen" + - #: git-gui.sh:3150 ++#: git-gui.sh:3164 +msgid "Revert To Base" +msgstr "Återställ till basversionen" + - #: git-gui.sh:3169 ++#: git-gui.sh:3183 +msgid "Unstage Hunk From Commit" +msgstr "Ta bort del ur incheckningskö" + - #: git-gui.sh:3170 ++#: git-gui.sh:3184 +msgid "Unstage Line From Commit" +msgstr "Ta bort rad ur incheckningskö" + - #: git-gui.sh:3172 ++#: git-gui.sh:3186 +msgid "Stage Hunk For Commit" +msgstr "Ställ del i incheckningskö" + - #: git-gui.sh:3173 ++#: git-gui.sh:3187 +msgid "Stage Line For Commit" +msgstr "Ställ rad i incheckningskö" + - #: git-gui.sh:3196 ++#: git-gui.sh:3210 +msgid "Initializing..." +msgstr "Initierar..." + - #: git-gui.sh:3301 ++#: git-gui.sh:3315 +#, tcl-format +msgid "" +"Possible environment issues exist.\n" +"\n" +"The following environment variables are probably\n" +"going to be ignored by any Git subprocess run\n" +"by %s:\n" +"\n" +msgstr "" +"Det finns möjliga problem med miljövariabler.\n" +"\n" +"Följande miljövariabler kommer troligen att\n" +"ignoreras av alla Git-underprocesser som körs\n" +"av %s:\n" +"\n" + - #: git-gui.sh:3331 ++#: git-gui.sh:3345 +msgid "" +"\n" +"This is due to a known issue with the\n" +"Tcl binary distributed by Cygwin." +msgstr "" +"\n" +"Detta beror på ett känt problem med\n" +"Tcl-binären som följer med Cygwin." + - #: git-gui.sh:3336 ++#: git-gui.sh:3350 +#, tcl-format +msgid "" +"\n" +"\n" +"A good replacement for %s\n" +"is placing values for the user.name and\n" +"user.email settings into your personal\n" +"~/.gitconfig file.\n" +msgstr "" +"\n" +"\n" +"Du kan ersätta %s\n" +"med att lägga in värden för inställningarna\n" +"user.name och user.email i din personliga\n" +"~/.gitconfig-fil.\n" + +#: lib/about.tcl:26 +msgid "git-gui - a graphical user interface for Git." +msgstr "git-gui - ett grafiskt användargränssnitt för Git." + +#: lib/blame.tcl:72 +msgid "File Viewer" +msgstr "Filvisare" + +#: lib/blame.tcl:78 +msgid "Commit:" +msgstr "Incheckning:" + +#: lib/blame.tcl:271 +msgid "Copy Commit" +msgstr "Kopiera incheckning" + +#: lib/blame.tcl:275 +msgid "Find Text..." +msgstr "Sök text..." + +#: lib/blame.tcl:284 +msgid "Do Full Copy Detection" +msgstr "Gör full kopieringsigenkänning" + +#: lib/blame.tcl:288 +msgid "Show History Context" +msgstr "Visa historiksammanhang" + +#: lib/blame.tcl:291 +msgid "Blame Parent Commit" +msgstr "Klandra föräldraincheckning" + +#: lib/blame.tcl:450 +#, tcl-format +msgid "Reading %s..." +msgstr "Läser %s..." + +#: lib/blame.tcl:557 +msgid "Loading copy/move tracking annotations..." +msgstr "Läser annoteringar för kopiering/flyttning..." + +#: lib/blame.tcl:577 +msgid "lines annotated" +msgstr "rader annoterade" + +#: lib/blame.tcl:769 +msgid "Loading original location annotations..." +msgstr "Läser in annotering av originalplacering..." + +#: lib/blame.tcl:772 +msgid "Annotation complete." +msgstr "Annotering fullbordad." + +#: lib/blame.tcl:802 +msgid "Busy" +msgstr "Upptagen" + +#: lib/blame.tcl:803 +msgid "Annotation process is already running." +msgstr "Annoteringsprocess körs redan." + +#: lib/blame.tcl:842 +msgid "Running thorough copy detection..." +msgstr "Kör grundlig kopieringsigenkänning..." + +#: lib/blame.tcl:910 +msgid "Loading annotation..." +msgstr "Läser in annotering..." + - #: lib/blame.tcl:964 ++#: lib/blame.tcl:963 +msgid "Author:" +msgstr "Författare:" + - #: lib/blame.tcl:968 ++#: lib/blame.tcl:967 +msgid "Committer:" +msgstr "Incheckare:" + - #: lib/blame.tcl:973 ++#: lib/blame.tcl:972 +msgid "Original File:" +msgstr "Ursprunglig fil:" + - #: lib/blame.tcl:1021 ++#: lib/blame.tcl:1020 +msgid "Cannot find HEAD commit:" +msgstr "Hittar inte incheckning för HEAD:" + - #: lib/blame.tcl:1076 ++#: lib/blame.tcl:1075 +msgid "Cannot find parent commit:" +msgstr "Hittar inte föräldraincheckning:" + - #: lib/blame.tcl:1091 ++#: lib/blame.tcl:1090 +msgid "Unable to display parent" +msgstr "Kan inte visa förälder" + - #: lib/blame.tcl:1092 lib/diff.tcl:297 ++#: lib/blame.tcl:1091 lib/diff.tcl:297 +msgid "Error loading diff:" +msgstr "Fel vid inläsning av differens:" + - #: lib/blame.tcl:1232 ++#: lib/blame.tcl:1231 +msgid "Originally By:" +msgstr "Ursprungligen av:" + - #: lib/blame.tcl:1238 ++#: lib/blame.tcl:1237 +msgid "In File:" +msgstr "I filen:" + - #: lib/blame.tcl:1243 ++#: lib/blame.tcl:1242 +msgid "Copied Or Moved Here By:" +msgstr "Kopierad eller flyttad hit av:" + +#: lib/branch_checkout.tcl:14 lib/branch_checkout.tcl:19 +msgid "Checkout Branch" +msgstr "Checka ut gren" + +#: lib/branch_checkout.tcl:23 +msgid "Checkout" +msgstr "Checka ut" + +#: lib/branch_checkout.tcl:27 lib/branch_create.tcl:35 +#: lib/branch_delete.tcl:32 lib/branch_rename.tcl:30 lib/browser.tcl:282 +#: lib/checkout_op.tcl:544 lib/choose_font.tcl:43 lib/merge.tcl:172 +#: lib/option.tcl:125 lib/remote_add.tcl:32 lib/remote_branch_delete.tcl:42 +#: lib/tools_dlg.tcl:40 lib/tools_dlg.tcl:204 lib/tools_dlg.tcl:352 - #: lib/transport.tcl:97 ++#: lib/transport.tcl:108 +msgid "Cancel" +msgstr "Avbryt" + +#: lib/branch_checkout.tcl:32 lib/browser.tcl:287 lib/tools_dlg.tcl:328 +msgid "Revision" +msgstr "Revision" + +#: lib/branch_checkout.tcl:36 lib/branch_create.tcl:69 lib/option.tcl:280 +msgid "Options" +msgstr "Alternativ" + +#: lib/branch_checkout.tcl:39 lib/branch_create.tcl:92 +msgid "Fetch Tracking Branch" +msgstr "Hämta spårande gren" + +#: lib/branch_checkout.tcl:44 +msgid "Detach From Local Branch" +msgstr "Koppla bort från lokal gren" + +#: lib/branch_create.tcl:22 +msgid "Create Branch" +msgstr "Skapa gren" + +#: lib/branch_create.tcl:27 +msgid "Create New Branch" +msgstr "Skapa ny gren" + +#: lib/branch_create.tcl:31 lib/choose_repository.tcl:377 +msgid "Create" +msgstr "Skapa" + +#: lib/branch_create.tcl:40 +msgid "Branch Name" +msgstr "Namn på gren" + +#: lib/branch_create.tcl:43 lib/remote_add.tcl:39 lib/tools_dlg.tcl:50 +msgid "Name:" +msgstr "Namn:" + +#: lib/branch_create.tcl:58 +msgid "Match Tracking Branch Name" +msgstr "Använd namn på spårad gren" + +#: lib/branch_create.tcl:66 +msgid "Starting Revision" +msgstr "Inledande revision" + +#: lib/branch_create.tcl:72 +msgid "Update Existing Branch:" +msgstr "Uppdatera befintlig gren:" + +#: lib/branch_create.tcl:75 +msgid "No" +msgstr "Nej" + +#: lib/branch_create.tcl:80 +msgid "Fast Forward Only" +msgstr "Endast snabbspolning" + +#: lib/branch_create.tcl:85 lib/checkout_op.tcl:536 +msgid "Reset" +msgstr "Återställ" + +#: lib/branch_create.tcl:97 +msgid "Checkout After Creation" +msgstr "Checka ut när skapad" + +#: lib/branch_create.tcl:131 +msgid "Please select a tracking branch." +msgstr "Välj en gren att spåra." + +#: lib/branch_create.tcl:140 +#, tcl-format +msgid "Tracking branch %s is not a branch in the remote repository." +msgstr "Den spårade grenen %s är inte en gren i fjärrarkivet." + +#: lib/branch_create.tcl:153 lib/branch_rename.tcl:86 +msgid "Please supply a branch name." +msgstr "Ange ett namn för grenen." + +#: lib/branch_create.tcl:164 lib/branch_rename.tcl:106 +#, tcl-format +msgid "'%s' is not an acceptable branch name." +msgstr "\"%s\" kan inte användas som namn på grenen." + +#: lib/branch_delete.tcl:15 +msgid "Delete Branch" +msgstr "Ta bort gren" + +#: lib/branch_delete.tcl:20 +msgid "Delete Local Branch" +msgstr "Ta bort lokal gren" + +#: lib/branch_delete.tcl:37 +msgid "Local Branches" +msgstr "Lokala grenar" + +#: lib/branch_delete.tcl:52 +msgid "Delete Only If Merged Into" +msgstr "Ta bara bort om sammanslagen med" + +#: lib/branch_delete.tcl:54 +msgid "Always (Do not perform merge test.)" +msgstr "Alltid (utför inte sammanslagningstest)." + +#: lib/branch_delete.tcl:103 +#, tcl-format +msgid "The following branches are not completely merged into %s:" +msgstr "Följande grenar är inte till fullo sammanslagna med %s:" + +#: lib/branch_delete.tcl:115 +msgid "" +"Recovering deleted branches is difficult. \n" +"\n" +" Delete the selected branches?" +msgstr "" +"Det är svårt att återställa borttagna grenar.\n" +"\n" +" Ta bort valda grenar?" + +#: lib/branch_delete.tcl:141 +#, tcl-format +msgid "" +"Failed to delete branches:\n" +"%s" +msgstr "" +"Kunde inte ta bort grenar:\n" +"%s" + +#: lib/branch_rename.tcl:14 lib/branch_rename.tcl:22 +msgid "Rename Branch" +msgstr "Byt namn på gren" + +#: lib/branch_rename.tcl:26 +msgid "Rename" +msgstr "Byt namn" + +#: lib/branch_rename.tcl:36 +msgid "Branch:" +msgstr "Gren:" + +#: lib/branch_rename.tcl:39 +msgid "New Name:" +msgstr "Nytt namn:" + +#: lib/branch_rename.tcl:75 +msgid "Please select a branch to rename." +msgstr "Välj en gren att byta namn på." + +#: lib/branch_rename.tcl:96 lib/checkout_op.tcl:201 +#, tcl-format +msgid "Branch '%s' already exists." +msgstr "Grenen \"%s\" finns redan." + +#: lib/branch_rename.tcl:117 +#, tcl-format +msgid "Failed to rename '%s'." +msgstr "Kunde inte byta namn på \"%s\"." + +#: lib/browser.tcl:17 +msgid "Starting..." +msgstr "Startar..." + +#: lib/browser.tcl:26 +msgid "File Browser" +msgstr "Filbläddrare" + +#: lib/browser.tcl:126 lib/browser.tcl:143 +#, tcl-format +msgid "Loading %s..." +msgstr "Läser %s..." + +#: lib/browser.tcl:187 +msgid "[Up To Parent]" +msgstr "[Upp till förälder]" + +#: lib/browser.tcl:267 lib/browser.tcl:273 +msgid "Browse Branch Files" +msgstr "Bläddra filer på grenen" + +#: lib/browser.tcl:278 lib/choose_repository.tcl:394 +#: lib/choose_repository.tcl:480 lib/choose_repository.tcl:491 +#: lib/choose_repository.tcl:995 +msgid "Browse" +msgstr "Bläddra" + +#: lib/checkout_op.tcl:84 +#, tcl-format +msgid "Fetching %s from %s" +msgstr "Hämtar %s från %s" + +#: lib/checkout_op.tcl:132 +#, tcl-format +msgid "fatal: Cannot resolve %s" +msgstr "ödesdigert: Kunde inte slå upp %s" + +#: lib/checkout_op.tcl:145 lib/console.tcl:81 lib/database.tcl:31 +#: lib/sshkey.tcl:53 +msgid "Close" +msgstr "Stäng" + +#: lib/checkout_op.tcl:174 +#, tcl-format +msgid "Branch '%s' does not exist." +msgstr "Grenen \"%s\" finns inte." + +#: lib/checkout_op.tcl:193 +#, tcl-format +msgid "Failed to configure simplified git-pull for '%s'." +msgstr "Kunde inte konfigurera förenklad git-pull för '%s'." + +#: lib/checkout_op.tcl:228 +#, tcl-format +msgid "" +"Branch '%s' already exists.\n" +"\n" +"It cannot fast-forward to %s.\n" +"A merge is required." +msgstr "" +"Grenen \"%s\" finns redan.\n" +"\n" +"Den kan inte snabbspolas till %s.\n" +"En sammanslagning krävs." + +#: lib/checkout_op.tcl:242 +#, tcl-format +msgid "Merge strategy '%s' not supported." +msgstr "Sammanslagningsstrategin \"%s\" stöds inte." + +#: lib/checkout_op.tcl:261 +#, tcl-format +msgid "Failed to update '%s'." +msgstr "Misslyckades med att uppdatera \"%s\"." + +#: lib/checkout_op.tcl:273 +msgid "Staging area (index) is already locked." +msgstr "Köområdet (index) är redan låst." + +#: lib/checkout_op.tcl:288 +msgid "" +"Last scanned state does not match repository state.\n" +"\n" +"Another Git program has modified this repository since the last scan. A " +"rescan must be performed before the current branch can be changed.\n" +"\n" +"The rescan will be automatically started now.\n" +msgstr "" +"Det senaste inlästa tillståndet motsvarar inte tillståndet i arkivet.\n" +"\n" +"Ett annat Git-program har ändrat arkivet sedan senaste avsökningen. Du måste " +"utföra en ny sökning innan den aktuella grenen kan ändras.\n" +"\n" +"Sökningen kommer att startas automatiskt nu.\n" + +#: lib/checkout_op.tcl:344 +#, tcl-format +msgid "Updating working directory to '%s'..." +msgstr "Uppdaterar arbetskatalogen till \"%s\"..." + +#: lib/checkout_op.tcl:345 +msgid "files checked out" +msgstr "filer utcheckade" + +#: lib/checkout_op.tcl:375 +#, tcl-format +msgid "Aborted checkout of '%s' (file level merging is required)." +msgstr "Avbryter utcheckning av \"%s\" (sammanslagning på filnivå krävs)." + +#: lib/checkout_op.tcl:376 +msgid "File level merge required." +msgstr "Sammanslagning på filnivå krävs." + +#: lib/checkout_op.tcl:380 +#, tcl-format +msgid "Staying on branch '%s'." +msgstr "Stannar på grenen \"%s\"." + +#: lib/checkout_op.tcl:451 +msgid "" +"You are no longer on a local branch.\n" +"\n" +"If you wanted to be on a branch, create one now starting from 'This Detached " +"Checkout'." +msgstr "" +"Du är inte längre på en lokal gren.\n" +"\n" +"Om du ville vara på en gren skapar du en nu, baserad på \"Denna frånkopplade " +"utcheckning\"." + +#: lib/checkout_op.tcl:468 lib/checkout_op.tcl:472 +#, tcl-format +msgid "Checked out '%s'." +msgstr "Checkade ut \"%s\"." + +#: lib/checkout_op.tcl:500 +#, tcl-format +msgid "Resetting '%s' to '%s' will lose the following commits:" +msgstr "" +"Om du återställer \"%s\" till \"%s\" går följande incheckningar förlorade:" + +#: lib/checkout_op.tcl:522 +msgid "Recovering lost commits may not be easy." +msgstr "Det kanske inte är så enkelt att återskapa förlorade incheckningar." + +#: lib/checkout_op.tcl:527 +#, tcl-format +msgid "Reset '%s'?" +msgstr "Återställa \"%s\"?" + +#: lib/checkout_op.tcl:532 lib/merge.tcl:164 lib/tools_dlg.tcl:343 +msgid "Visualize" +msgstr "Visualisera" + +#: lib/checkout_op.tcl:600 +#, tcl-format +msgid "" +"Failed to set current branch.\n" +"\n" +"This working directory is only partially switched. We successfully updated " +"your files, but failed to update an internal Git file.\n" +"\n" +"This should not have occurred. %s will now close and give up." +msgstr "" +"Kunde inte ställa in aktuell gren.\n" +"\n" +"Arbetskatalogen har bara växlats delvis. Vi uppdaterade filerna utan " +"problem, men kunde inte uppdatera en intern fil i Git.\n" +"\n" +"Detta skulle inte ha hänt. %s kommer nu stängas och ge upp." + +#: lib/choose_font.tcl:39 +msgid "Select" +msgstr "Välj" + +#: lib/choose_font.tcl:53 +msgid "Font Family" +msgstr "Teckensnittsfamilj" + +#: lib/choose_font.tcl:74 +msgid "Font Size" +msgstr "Storlek" + +#: lib/choose_font.tcl:91 +msgid "Font Example" +msgstr "Exempel" + +#: lib/choose_font.tcl:103 +msgid "" +"This is example text.\n" +"If you like this text, it can be your font." +msgstr "" +"Detta är en exempeltext.\n" +"Om du tycker om den här texten kan den vara ditt teckensnitt." + +#: lib/choose_repository.tcl:28 +msgid "Git Gui" +msgstr "Git Gui" + +#: lib/choose_repository.tcl:87 lib/choose_repository.tcl:382 +msgid "Create New Repository" +msgstr "Skapa nytt arkiv" + +#: lib/choose_repository.tcl:93 +msgid "New..." +msgstr "Nytt..." + +#: lib/choose_repository.tcl:100 lib/choose_repository.tcl:465 +msgid "Clone Existing Repository" +msgstr "Klona befintligt arkiv" + +#: lib/choose_repository.tcl:106 +msgid "Clone..." +msgstr "Klona..." + +#: lib/choose_repository.tcl:113 lib/choose_repository.tcl:983 +msgid "Open Existing Repository" +msgstr "Öppna befintligt arkiv" + +#: lib/choose_repository.tcl:119 +msgid "Open..." +msgstr "Öppna..." + +#: lib/choose_repository.tcl:132 +msgid "Recent Repositories" +msgstr "Senaste arkiven" + +#: lib/choose_repository.tcl:138 +msgid "Open Recent Repository:" +msgstr "Öppna tidigare arkiv:" + +#: lib/choose_repository.tcl:302 lib/choose_repository.tcl:309 +#: lib/choose_repository.tcl:316 +#, tcl-format +msgid "Failed to create repository %s:" +msgstr "Kunde inte skapa arkivet %s:" + +#: lib/choose_repository.tcl:387 +msgid "Directory:" +msgstr "Katalog:" + +#: lib/choose_repository.tcl:417 lib/choose_repository.tcl:544 +#: lib/choose_repository.tcl:1017 +msgid "Git Repository" +msgstr "Gitarkiv" + +#: lib/choose_repository.tcl:442 +#, tcl-format +msgid "Directory %s already exists." +msgstr "Katalogen %s finns redan." + +#: lib/choose_repository.tcl:446 +#, tcl-format +msgid "File %s already exists." +msgstr "Filen %s finns redan." + +#: lib/choose_repository.tcl:460 +msgid "Clone" +msgstr "Klona" + +#: lib/choose_repository.tcl:473 +msgid "Source Location:" +msgstr "Plats för källkod:" + +#: lib/choose_repository.tcl:484 +msgid "Target Directory:" +msgstr "Målkatalog:" + +#: lib/choose_repository.tcl:496 +msgid "Clone Type:" +msgstr "Typ av klon:" + +#: lib/choose_repository.tcl:502 +msgid "Standard (Fast, Semi-Redundant, Hardlinks)" +msgstr "Standard (snabb, semiredundant, hårda länkar)" + +#: lib/choose_repository.tcl:508 +msgid "Full Copy (Slower, Redundant Backup)" +msgstr "Full kopia (långsammare, redundant säkerhetskopia)" + +#: lib/choose_repository.tcl:514 +msgid "Shared (Fastest, Not Recommended, No Backup)" +msgstr "Delad (snabbast, rekommenderas ej, ingen säkerhetskopia)" + +#: lib/choose_repository.tcl:550 lib/choose_repository.tcl:597 +#: lib/choose_repository.tcl:743 lib/choose_repository.tcl:813 +#: lib/choose_repository.tcl:1023 lib/choose_repository.tcl:1031 +#, tcl-format +msgid "Not a Git repository: %s" +msgstr "Inte ett Gitarkiv: %s" + +#: lib/choose_repository.tcl:586 +msgid "Standard only available for local repository." +msgstr "Standard är endast tillgängligt för lokala arkiv." + +#: lib/choose_repository.tcl:590 +msgid "Shared only available for local repository." +msgstr "Delat är endast tillgängligt för lokala arkiv." + +#: lib/choose_repository.tcl:611 +#, tcl-format +msgid "Location %s already exists." +msgstr "Platsen %s finns redan." + +#: lib/choose_repository.tcl:622 +msgid "Failed to configure origin" +msgstr "Kunde inte konfigurera ursprung" + +#: lib/choose_repository.tcl:634 +msgid "Counting objects" +msgstr "Räknar objekt" + +#: lib/choose_repository.tcl:635 +msgid "buckets" +msgstr "hinkar" + +#: lib/choose_repository.tcl:659 +#, tcl-format +msgid "Unable to copy objects/info/alternates: %s" +msgstr "Kunde inte kopiera objekt/info/alternativ: %s" + +#: lib/choose_repository.tcl:695 +#, tcl-format +msgid "Nothing to clone from %s." +msgstr "Ingenting att klona från %s." + +#: lib/choose_repository.tcl:697 lib/choose_repository.tcl:911 +#: lib/choose_repository.tcl:923 +msgid "The 'master' branch has not been initialized." +msgstr "Grenen \"master\" har inte initierats." + +#: lib/choose_repository.tcl:710 +msgid "Hardlinks are unavailable. Falling back to copying." +msgstr "Hårda länkar är inte tillgängliga. Faller tillbaka på kopiering." + +#: lib/choose_repository.tcl:722 +#, tcl-format +msgid "Cloning from %s" +msgstr "Klonar från %s" + +#: lib/choose_repository.tcl:753 +msgid "Copying objects" +msgstr "Kopierar objekt" + +#: lib/choose_repository.tcl:754 +msgid "KiB" +msgstr "KiB" + +#: lib/choose_repository.tcl:778 +#, tcl-format +msgid "Unable to copy object: %s" +msgstr "Kunde inte kopiera objekt: %s" + +#: lib/choose_repository.tcl:788 +msgid "Linking objects" +msgstr "Länkar objekt" + +#: lib/choose_repository.tcl:789 +msgid "objects" +msgstr "objekt" + +#: lib/choose_repository.tcl:797 +#, tcl-format +msgid "Unable to hardlink object: %s" +msgstr "Kunde inte hårdlänka objekt: %s" + +#: lib/choose_repository.tcl:852 +msgid "Cannot fetch branches and objects. See console output for details." +msgstr "Kunde inte hämta grenar och objekt. Se konsolutdata för detaljer." + +#: lib/choose_repository.tcl:863 +msgid "Cannot fetch tags. See console output for details." +msgstr "Kunde inte hämta taggar. Se konsolutdata för detaljer." + +#: lib/choose_repository.tcl:887 +msgid "Cannot determine HEAD. See console output for details." +msgstr "Kunde inte avgöra HEAD. Se konsolutdata för detaljer." + +#: lib/choose_repository.tcl:896 +#, tcl-format +msgid "Unable to cleanup %s" +msgstr "Kunde inte städa upp %s" + +#: lib/choose_repository.tcl:902 +msgid "Clone failed." +msgstr "Kloning misslyckades." + +#: lib/choose_repository.tcl:909 +msgid "No default branch obtained." +msgstr "Hämtade ingen standardgren." + +#: lib/choose_repository.tcl:920 +#, tcl-format +msgid "Cannot resolve %s as a commit." +msgstr "Kunde inte slå upp %s till någon incheckning." + +#: lib/choose_repository.tcl:932 +msgid "Creating working directory" +msgstr "Skapar arbetskatalog" + +#: lib/choose_repository.tcl:933 lib/index.tcl:65 lib/index.tcl:128 +#: lib/index.tcl:196 +msgid "files" +msgstr "filer" + +#: lib/choose_repository.tcl:962 +msgid "Initial file checkout failed." +msgstr "Inledande filutcheckning misslyckades." + +#: lib/choose_repository.tcl:978 +msgid "Open" +msgstr "Öppna" + +#: lib/choose_repository.tcl:988 +msgid "Repository:" +msgstr "Arkiv:" + +#: lib/choose_repository.tcl:1037 +#, tcl-format +msgid "Failed to open repository %s:" +msgstr "Kunde inte öppna arkivet %s:" + +#: lib/choose_rev.tcl:53 +msgid "This Detached Checkout" +msgstr "Denna frånkopplade utcheckning" + +#: lib/choose_rev.tcl:60 +msgid "Revision Expression:" +msgstr "Revisionsuttryck:" + +#: lib/choose_rev.tcl:74 +msgid "Local Branch" +msgstr "Lokal gren" + +#: lib/choose_rev.tcl:79 +msgid "Tracking Branch" +msgstr "Spårande gren" + +#: lib/choose_rev.tcl:84 lib/choose_rev.tcl:538 +msgid "Tag" +msgstr "Tagg" + +#: lib/choose_rev.tcl:317 +#, tcl-format +msgid "Invalid revision: %s" +msgstr "Ogiltig revision: %s" + +#: lib/choose_rev.tcl:338 +msgid "No revision selected." +msgstr "Ingen revision vald." + +#: lib/choose_rev.tcl:346 +msgid "Revision expression is empty." +msgstr "Revisionsuttrycket är tomt." + +#: lib/choose_rev.tcl:531 +msgid "Updated" +msgstr "Uppdaterad" + +#: lib/choose_rev.tcl:559 +msgid "URL" +msgstr "Webbadress" + +#: lib/commit.tcl:9 +msgid "" +"There is nothing to amend.\n" +"\n" +"You are about to create the initial commit. There is no commit before this " +"to amend.\n" +msgstr "" +"Det finns ingenting att utöka.\n" +"\n" +"Du håller på att skapa den inledande incheckningen. Det finns ingen tidigare " +"incheckning att utöka.\n" + +#: lib/commit.tcl:18 +msgid "" +"Cannot amend while merging.\n" +"\n" +"You are currently in the middle of a merge that has not been fully " +"completed. You cannot amend the prior commit unless you first abort the " +"current merge activity.\n" +msgstr "" +"Kan inte utöka vid sammanslagning.\n" +"\n" +"Du är i mitten av en sammanslagning som inte är fullbordad. Du kan inte " +"utöka tidigare incheckningar om du inte först avbryter den pågående " +"sammanslagningen.\n" + - #: lib/commit.tcl:49 ++#: lib/commit.tcl:48 +msgid "Error loading commit data for amend:" +msgstr "Fel vid inläsning av incheckningsdata för utökning:" + - #: lib/commit.tcl:76 ++#: lib/commit.tcl:75 +msgid "Unable to obtain your identity:" +msgstr "Kunde inte hämta din identitet:" + - #: lib/commit.tcl:81 ++#: lib/commit.tcl:80 +msgid "Invalid GIT_COMMITTER_IDENT:" +msgstr "Felaktig GIT_COMMITTER_IDENT:" + - #: lib/commit.tcl:133 ++#: lib/commit.tcl:132 +msgid "" +"Last scanned state does not match repository state.\n" +"\n" +"Another Git program has modified this repository since the last scan. A " +"rescan must be performed before another commit can be created.\n" +"\n" +"The rescan will be automatically started now.\n" +msgstr "" +"Det senaste inlästa tillståndet motsvarar inte tillståndet i arkivet.\n" +"\n" +"Ett annat Git-program har ändrat arkivet sedan senaste avsökningen. Du måste " +"utföra en ny sökning innan du kan göra en ny incheckning.\n" +"\n" +"Sökningen kommer att startas automatiskt nu.\n" + - #: lib/commit.tcl:156 ++#: lib/commit.tcl:155 +#, tcl-format +msgid "" +"Unmerged files cannot be committed.\n" +"\n" +"File %s has merge conflicts. You must resolve them and stage the file " +"before committing.\n" +msgstr "" +"Osammanslagna filer kan inte checkas in.\n" +"\n" +"Filen %s har sammanslagningskonflikter. Du måste lösa dem och köa filen " +"innan du checkar in den.\n" + - #: lib/commit.tcl:164 ++#: lib/commit.tcl:163 +#, tcl-format +msgid "" +"Unknown file state %s detected.\n" +"\n" +"File %s cannot be committed by this program.\n" +msgstr "" +"Okänd filstatus %s upptäckt.\n" +"\n" +"Filen %s kan inte checkas in av programmet.\n" + - #: lib/commit.tcl:172 ++#: lib/commit.tcl:171 +msgid "" +"No changes to commit.\n" +"\n" +"You must stage at least 1 file before you can commit.\n" +msgstr "" +"Inga ändringar att checka in.\n" +"\n" +"Du måste köa åtminstone en fil innan du kan checka in.\n" + - #: lib/commit.tcl:187 ++#: lib/commit.tcl:186 +msgid "" +"Please supply a commit message.\n" +"\n" +"A good commit message has the following format:\n" +"\n" +"- First line: Describe in one sentence what you did.\n" +"- Second line: Blank\n" +"- Remaining lines: Describe why this change is good.\n" +msgstr "" +"Ange ett incheckningsmeddelande.\n" +"\n" +"Ett bra incheckningsmeddelande har följande format:\n" +"\n" +"- Första raden: Beskriv i en mening vad du gjorde.\n" +"- Andra raden: Tom\n" +"- Följande rader: Beskriv varför det här är en bra ändring.\n" + - #: lib/commit.tcl:211 ++#: lib/commit.tcl:210 +#, tcl-format +msgid "warning: Tcl does not support encoding '%s'." +msgstr "varning: Tcl stöder inte teckenkodningen \"%s\"." + - #: lib/commit.tcl:227 ++#: lib/commit.tcl:226 +msgid "Calling pre-commit hook..." +msgstr "Anropar kroken före incheckning (pre-commit)..." + - #: lib/commit.tcl:242 ++#: lib/commit.tcl:241 +msgid "Commit declined by pre-commit hook." +msgstr "Incheckningen avvisades av kroken före incheckning (pre-commit)." + - #: lib/commit.tcl:265 ++#: lib/commit.tcl:264 +msgid "Calling commit-msg hook..." +msgstr "Anropar kroken för incheckningsmeddelande (commit-msg)..." + - #: lib/commit.tcl:280 ++#: lib/commit.tcl:279 +msgid "Commit declined by commit-msg hook." +msgstr "Incheckning avvisad av kroken för incheckningsmeddelande (commit-msg)." + - #: lib/commit.tcl:293 ++#: lib/commit.tcl:292 +msgid "Committing changes..." +msgstr "Checkar in ändringar..." + - #: lib/commit.tcl:309 ++#: lib/commit.tcl:308 +msgid "write-tree failed:" +msgstr "write-tree misslyckades:" + - #: lib/commit.tcl:310 lib/commit.tcl:354 lib/commit.tcl:374 ++#: lib/commit.tcl:309 lib/commit.tcl:353 lib/commit.tcl:373 +msgid "Commit failed." +msgstr "Incheckningen misslyckades." + - #: lib/commit.tcl:327 ++#: lib/commit.tcl:326 +#, tcl-format +msgid "Commit %s appears to be corrupt" +msgstr "Incheckningen %s verkar vara trasig" + - #: lib/commit.tcl:332 ++#: lib/commit.tcl:331 +msgid "" +"No changes to commit.\n" +"\n" +"No files were modified by this commit and it was not a merge commit.\n" +"\n" +"A rescan will be automatically started now.\n" +msgstr "" +"Inga ändringar att checka in.\n" +"\n" +"Inga filer ändrades av incheckningen och det var inte en sammanslagning.\n" +"\n" +"En sökning kommer att startas automatiskt nu.\n" + - #: lib/commit.tcl:339 ++#: lib/commit.tcl:338 +msgid "No changes to commit." +msgstr "Inga ändringar att checka in." + - #: lib/commit.tcl:353 ++#: lib/commit.tcl:352 +msgid "commit-tree failed:" +msgstr "commit-tree misslyckades:" + - #: lib/commit.tcl:373 ++#: lib/commit.tcl:372 +msgid "update-ref failed:" +msgstr "update-ref misslyckades:" + - #: lib/commit.tcl:461 ++#: lib/commit.tcl:460 +#, tcl-format +msgid "Created commit %s: %s" +msgstr "Skapade incheckningen %s: %s" + +#: lib/console.tcl:59 +msgid "Working... please wait..." +msgstr "Arbetar... vänta..." + +#: lib/console.tcl:186 +msgid "Success" +msgstr "Lyckades" + +#: lib/console.tcl:200 +msgid "Error: Command Failed" +msgstr "Fel: Kommando misslyckades" + +#: lib/database.tcl:43 +msgid "Number of loose objects" +msgstr "Antal lösa objekt" + +#: lib/database.tcl:44 +msgid "Disk space used by loose objects" +msgstr "Diskutrymme använt av lösa objekt" + +#: lib/database.tcl:45 +msgid "Number of packed objects" +msgstr "Antal packade objekt" + +#: lib/database.tcl:46 +msgid "Number of packs" +msgstr "Antal paket" + +#: lib/database.tcl:47 +msgid "Disk space used by packed objects" +msgstr "Diskutrymme använt av packade objekt" + +#: lib/database.tcl:48 +msgid "Packed objects waiting for pruning" +msgstr "Packade objekt som väntar på städning" + +#: lib/database.tcl:49 +msgid "Garbage files" +msgstr "Skräpfiler" + +#: lib/database.tcl:72 +msgid "Compressing the object database" +msgstr "Komprimerar objektdatabasen" + +#: lib/database.tcl:83 +msgid "Verifying the object database with fsck-objects" +msgstr "Verifierar objektdatabasen med fsck-objects" + +#: lib/database.tcl:108 +#, tcl-format +msgid "" +"This repository currently has approximately %i loose objects.\n" +"\n" +"To maintain optimal performance it is strongly recommended that you compress " +"the database when more than %i loose objects exist.\n" +"\n" +"Compress the database now?" +msgstr "" +"Arkivet har för närvarande omkring %i lösa objekt.\n" +"\n" +"För att bibehålla optimal prestanda rekommenderas det å det bestämdaste att " +"du komprimerar databasen när den innehåller mer än %i lösa objekt.\n" +"\n" +"Komprimera databasen nu?" + +#: lib/date.tcl:25 +#, tcl-format +msgid "Invalid date from Git: %s" +msgstr "Ogiltigt datum från Git: %s" + +#: lib/diff.tcl:59 +#, tcl-format +msgid "" +"No differences detected.\n" +"\n" +"%s has no changes.\n" +"\n" +"The modification date of this file was updated by another application, but " +"the content within the file was not changed.\n" +"\n" +"A rescan will be automatically started to find other files which may have " +"the same state." +msgstr "" +"Hittade inga skillnader.\n" +"\n" +"%s innehåller inga ändringar.\n" +"\n" +"Modifieringsdatum för filen uppdaterades av ett annat program, men " +"innehållet i filen har inte ändrats.\n" +"\n" +"En sökning kommer automatiskt att startas för att hitta andra filer som kan " +"vara i samma tillstånd." + +#: lib/diff.tcl:99 +#, tcl-format +msgid "Loading diff of %s..." +msgstr "Läser differens för %s..." + +#: lib/diff.tcl:120 +msgid "" +"LOCAL: deleted\n" +"REMOTE:\n" - msgstr "LOKAL: borttagen\n" ++msgstr "" ++"LOKAL: borttagen\n" +"FJÄRR:\n" + +#: lib/diff.tcl:125 +msgid "" +"REMOTE: deleted\n" +"LOCAL:\n" - msgstr "FJÄRR: borttagen\n" ++msgstr "" ++"FJÄRR: borttagen\n" +"LOKAL:\n" + +#: lib/diff.tcl:132 +msgid "LOCAL:\n" +msgstr "LOKAL:\n" + +#: lib/diff.tcl:135 +msgid "REMOTE:\n" +msgstr "FJÄRR:\n" + +#: lib/diff.tcl:197 lib/diff.tcl:296 +#, tcl-format +msgid "Unable to display %s" +msgstr "Kan inte visa %s" + +#: lib/diff.tcl:198 +msgid "Error loading file:" +msgstr "Fel vid läsning av fil:" + +#: lib/diff.tcl:205 +msgid "Git Repository (subproject)" +msgstr "Gitarkiv (underprojekt)" + +#: lib/diff.tcl:217 +msgid "* Binary file (not showing content)." +msgstr "* Binärfil (visar inte innehållet)." + +#: lib/diff.tcl:222 +#, tcl-format +msgid "" +"* Untracked file is %d bytes.\n" +"* Showing only first %d bytes.\n" - msgstr "* Den ospårade filen är %d byte.\n" ++msgstr "" ++"* Den ospårade filen är %d byte.\n" +"* Visar endast inledande %d byte.\n" + +#: lib/diff.tcl:228 +#, tcl-format +msgid "" +"\n" +"* Untracked file clipped here by %s.\n" +"* To see the entire file, use an external editor.\n" +msgstr "" +"\n" +"* Den ospårade filen klipptes här av %s.\n" +"* För att se hela filen, använd ett externt redigeringsprogram.\n" + +#: lib/diff.tcl:436 +msgid "Failed to unstage selected hunk." +msgstr "Kunde inte ta bort den valda delen från kön." + +#: lib/diff.tcl:443 +msgid "Failed to stage selected hunk." +msgstr "Kunde inte lägga till den valda delen till kön." + +#: lib/diff.tcl:509 +msgid "Failed to unstage selected line." +msgstr "Kunde inte ta bort den valda raden från kön." + +#: lib/diff.tcl:517 +msgid "Failed to stage selected line." +msgstr "Kunde inte lägga till den valda raden till kön." + +#: lib/encoding.tcl:443 +msgid "Default" +msgstr "Standard" + +#: lib/encoding.tcl:448 +#, tcl-format +msgid "System (%s)" +msgstr "Systemets (%s)" + +#: lib/encoding.tcl:459 lib/encoding.tcl:465 +msgid "Other" +msgstr "Annan" + +#: lib/error.tcl:20 lib/error.tcl:114 +msgid "error" +msgstr "fel" + +#: lib/error.tcl:36 +msgid "warning" +msgstr "varning" + +#: lib/error.tcl:94 +msgid "You must correct the above errors before committing." +msgstr "Du måste rätta till felen ovan innan du checkar in." + +#: lib/index.tcl:6 +msgid "Unable to unlock the index." +msgstr "Kunde inte låsa upp indexet." + +#: lib/index.tcl:15 +msgid "Index Error" +msgstr "Indexfel" + +#: lib/index.tcl:21 +msgid "" +"Updating the Git index failed. A rescan will be automatically started to " +"resynchronize git-gui." +msgstr "" +"Misslyckades med att uppdatera Gitindexet. En omsökning kommer att startas " +"automatiskt för att synkronisera om git-gui." + +#: lib/index.tcl:27 +msgid "Continue" +msgstr "Forstätt" + +#: lib/index.tcl:31 +msgid "Unlock Index" +msgstr "Lås upp index" + +#: lib/index.tcl:287 +#, tcl-format +msgid "Unstaging %s from commit" +msgstr "Tar bort %s för incheckningskön" + +#: lib/index.tcl:326 +msgid "Ready to commit." +msgstr "Redo att checka in." + +#: lib/index.tcl:339 +#, tcl-format +msgid "Adding %s" +msgstr "Lägger till %s" + +#: lib/index.tcl:396 +#, tcl-format +msgid "Revert changes in file %s?" +msgstr "Återställ ändringarna i filen %s?" + +#: lib/index.tcl:398 +#, tcl-format +msgid "Revert changes in these %i files?" +msgstr "Återställ ändringarna i dessa %i filer?" + +#: lib/index.tcl:406 +msgid "Any unstaged changes will be permanently lost by the revert." +msgstr "" +"Alla oköade ändringar kommer permanent gå förlorade vid återställningen." + +#: lib/index.tcl:409 +msgid "Do Nothing" +msgstr "Gör ingenting" + +#: lib/index.tcl:427 +msgid "Reverting selected files" +msgstr "Återställer valda filer" + +#: lib/index.tcl:431 +#, tcl-format +msgid "Reverting %s" +msgstr "Återställer %s" + +#: lib/merge.tcl:13 +msgid "" +"Cannot merge while amending.\n" +"\n" +"You must finish amending this commit before starting any type of merge.\n" +msgstr "" +"Kan inte slå ihop vid utökning.\n" +"\n" +"Du måste göra färdig utökningen av incheckningen innan du påbörjar någon " +"slags sammanslagning.\n" + +#: lib/merge.tcl:27 +msgid "" +"Last scanned state does not match repository state.\n" +"\n" +"Another Git program has modified this repository since the last scan. A " +"rescan must be performed before a merge can be performed.\n" +"\n" +"The rescan will be automatically started now.\n" +msgstr "" +"Det senaste inlästa tillståndet motsvarar inte tillståndet i arkivet.\n" +"\n" +"Ett annat Git-program har ändrat arkivet sedan senaste avsökningen. Du måste " +"utföra en ny sökning innan du kan utföra en sammanslagning.\n" +"\n" +"Sökningen kommer att startas automatiskt nu.\n" + +#: lib/merge.tcl:45 +#, tcl-format +msgid "" +"You are in the middle of a conflicted merge.\n" +"\n" +"File %s has merge conflicts.\n" +"\n" +"You must resolve them, stage the file, and commit to complete the current " +"merge. Only then can you begin another merge.\n" +msgstr "" +"Du är mitt i en sammanslagning med konflikter.\n" +"\n" +"Filen %s har sammanslagningskonflikter.\n" +"\n" +"Du måste lösa dem, köa filen och checka in för att fullborda den aktuella " +"sammanslagningen. När du gjort det kan du påbörja en ny sammanslagning.\n" + +#: lib/merge.tcl:55 +#, tcl-format +msgid "" +"You are in the middle of a change.\n" +"\n" +"File %s is modified.\n" +"\n" +"You should complete the current commit before starting a merge. Doing so " +"will help you abort a failed merge, should the need arise.\n" +msgstr "" +"Du är mitt i en ändring.\n" +"\n" +"Filen %s har ändringar.\n" +"\n" +"Du bör fullborda den aktuella incheckningen innan du påbörjar en " +"sammanslagning. Om du gör det blir det enklare att avbryta en misslyckad " +"sammanslagning, om det skulle vara nödvändigt.\n" + +#: lib/merge.tcl:107 +#, tcl-format +msgid "%s of %s" +msgstr "%s av %s" + +#: lib/merge.tcl:120 +#, tcl-format +msgid "Merging %s and %s..." +msgstr "Slår ihop %s och %s..." + +#: lib/merge.tcl:131 +msgid "Merge completed successfully." +msgstr "Sammanslagningen avslutades framgångsrikt." + +#: lib/merge.tcl:133 +msgid "Merge failed. Conflict resolution is required." +msgstr "Sammanslagningen misslyckades. Du måste lösa konflikterna." + +#: lib/merge.tcl:158 +#, tcl-format +msgid "Merge Into %s" +msgstr "Slå ihop i %s" + +#: lib/merge.tcl:177 +msgid "Revision To Merge" +msgstr "Revisioner att slå ihop" + +#: lib/merge.tcl:212 +msgid "" +"Cannot abort while amending.\n" +"\n" +"You must finish amending this commit.\n" +msgstr "" +"Kan inte avbryta vid utökning.\n" +"\n" +"Du måste göra dig färdig med att utöka incheckningen.\n" + +#: lib/merge.tcl:222 +msgid "" +"Abort merge?\n" +"\n" +"Aborting the current merge will cause *ALL* uncommitted changes to be lost.\n" +"\n" +"Continue with aborting the current merge?" +msgstr "" +"Avbryt sammanslagning?\n" +"\n" +"Om du avbryter sammanslagningen kommer *ALLA* ej incheckade ändringar att gå " +"förlorade.\n" +"\n" +"Gå vidare med att avbryta den aktuella sammanslagningen?" + +#: lib/merge.tcl:228 +msgid "" +"Reset changes?\n" +"\n" +"Resetting the changes will cause *ALL* uncommitted changes to be lost.\n" +"\n" +"Continue with resetting the current changes?" +msgstr "" +"Återställ ändringar?\n" +"\n" +"Om du återställer ändringarna kommer *ALLA* ej incheckade ändringar att gå " +"förlorade.\n" +"\n" +"Gå vidare med att återställa de aktuella ändringarna?" + +#: lib/merge.tcl:239 +msgid "Aborting" +msgstr "Avbryter" + +#: lib/merge.tcl:239 +msgid "files reset" +msgstr "filer återställda" + +#: lib/merge.tcl:267 +msgid "Abort failed." +msgstr "Misslyckades avbryta." + +#: lib/merge.tcl:269 +msgid "Abort completed. Ready." +msgstr "Avbrytning fullbordad. Redo." + +#: lib/mergetool.tcl:8 +msgid "Force resolution to the base version?" +msgstr "Tvinga lösning att använda basversionen?" + +#: lib/mergetool.tcl:9 +msgid "Force resolution to this branch?" +msgstr "Tvinga lösning att använda den aktuella grenen?" + +#: lib/mergetool.tcl:10 +msgid "Force resolution to the other branch?" +msgstr "Tvinga lösning att använda den andra grenen?" + +#: lib/mergetool.tcl:14 +#, tcl-format +msgid "" +"Note that the diff shows only conflicting changes.\n" +"\n" +"%s will be overwritten.\n" +"\n" +"This operation can be undone only by restarting the merge." +msgstr "" +"Observera att diffen endast visar de ändringar som står i konflikt.\n" +"\n" +"%s kommer att skrivas över.\n" +"\n" +"Du måste starta om sammanslagningen för att göra den här operationen ogjord." + +#: lib/mergetool.tcl:45 +#, tcl-format +msgid "File %s seems to have unresolved conflicts, still stage?" +msgstr "Filen %s verkar innehålla olösta konflikter. Vill du köa ändå?" + +#: lib/mergetool.tcl:60 +#, tcl-format +msgid "Adding resolution for %s" +msgstr "Lägger till lösning för %s" + +#: lib/mergetool.tcl:141 +msgid "Cannot resolve deletion or link conflicts using a tool" +msgstr "Kan inte lösa borttagnings- eller länkkonflikter med ett verktyg" + +#: lib/mergetool.tcl:146 +msgid "Conflict file does not exist" +msgstr "Konfliktfil existerar inte" + +#: lib/mergetool.tcl:264 +#, tcl-format +msgid "Not a GUI merge tool: '%s'" +msgstr "Inte ett grafiskt verktyg för sammanslagning: %s" + +#: lib/mergetool.tcl:268 +#, tcl-format +msgid "Unsupported merge tool '%s'" +msgstr "Verktyget \"%s\" för sammanslagning stöds inte" + +#: lib/mergetool.tcl:303 +msgid "Merge tool is already running, terminate it?" +msgstr "Verktyget för sammanslagning körs redan. Vill du avsluta det?" + +#: lib/mergetool.tcl:323 +#, tcl-format +msgid "" +"Error retrieving versions:\n" +"%s" - msgstr "Fel vid hämtning av versioner:\n" ++msgstr "" ++"Fel vid hämtning av versioner:\n" +"%s" + +#: lib/mergetool.tcl:343 +#, tcl-format +msgid "" +"Could not start the merge tool:\n" +"\n" +"%s" - msgstr "Kunde inte starta verktyg för sammanslagning:\n" ++msgstr "" ++"Kunde inte starta verktyg för sammanslagning:\n" +"\n" +"%s" + +#: lib/mergetool.tcl:347 +msgid "Running merge tool..." +msgstr "Kör verktyg för sammanslagning..." + +#: lib/mergetool.tcl:375 lib/mergetool.tcl:383 +msgid "Merge tool failed." +msgstr "Verktyget för sammanslagning misslyckades." + +#: lib/option.tcl:11 +#, tcl-format +msgid "Invalid global encoding '%s'" +msgstr "Den globala teckenkodningen \"%s\" är ogiltig" + +#: lib/option.tcl:19 +#, tcl-format +msgid "Invalid repo encoding '%s'" +msgstr "Arkivets teckenkodning \"%s\" är ogiltig" + +#: lib/option.tcl:117 +msgid "Restore Defaults" +msgstr "Återställ standardvärden" + +#: lib/option.tcl:121 +msgid "Save" +msgstr "Spara" + +#: lib/option.tcl:131 +#, tcl-format +msgid "%s Repository" +msgstr "Arkivet %s" + +#: lib/option.tcl:132 +msgid "Global (All Repositories)" +msgstr "Globalt (alla arkiv)" + +#: lib/option.tcl:138 +msgid "User Name" +msgstr "Användarnamn" + +#: lib/option.tcl:139 +msgid "Email Address" +msgstr "E-postadress" + +#: lib/option.tcl:141 +msgid "Summarize Merge Commits" +msgstr "Summera sammanslagningsincheckningar" + +#: lib/option.tcl:142 +msgid "Merge Verbosity" +msgstr "Pratsamhet för sammanslagningar" + +#: lib/option.tcl:143 +msgid "Show Diffstat After Merge" +msgstr "Visa diffstatistik efter sammanslagning" + +#: lib/option.tcl:144 +msgid "Use Merge Tool" +msgstr "Använd verktyg för sammanslagning" + +#: lib/option.tcl:146 +msgid "Trust File Modification Timestamps" +msgstr "Lita på filändringstidsstämplar" + +#: lib/option.tcl:147 +msgid "Prune Tracking Branches During Fetch" +msgstr "Städa spårade grenar vid hämtning" + +#: lib/option.tcl:148 +msgid "Match Tracking Branches" +msgstr "Matcha spårade grenar" + +#: lib/option.tcl:149 +msgid "Blame Copy Only On Changed Files" +msgstr "Klandra kopiering bara i ändrade filer" + +#: lib/option.tcl:150 +msgid "Minimum Letters To Blame Copy On" +msgstr "Minsta antal tecken att klandra kopiering för" + +#: lib/option.tcl:151 +msgid "Blame History Context Radius (days)" +msgstr "Historikradie för klandring (dagar)" + +#: lib/option.tcl:152 +msgid "Number of Diff Context Lines" +msgstr "Antal rader sammanhang i differenser" + +#: lib/option.tcl:153 +msgid "Commit Message Text Width" +msgstr "Textbredd för incheckningsmeddelande" + +#: lib/option.tcl:154 +msgid "New Branch Name Template" +msgstr "Mall för namn på nya grenar" + +#: lib/option.tcl:155 +msgid "Default File Contents Encoding" +msgstr "Standardteckenkodning för filinnehåll" + +#: lib/option.tcl:203 +msgid "Change" +msgstr "Ändra" + +#: lib/option.tcl:230 +msgid "Spelling Dictionary:" +msgstr "Stavningsordlista:" + +#: lib/option.tcl:254 +msgid "Change Font" +msgstr "Byt teckensnitt" + +#: lib/option.tcl:258 +#, tcl-format +msgid "Choose %s" +msgstr "Välj %s" + +#: lib/option.tcl:264 +msgid "pt." +msgstr "p." + +#: lib/option.tcl:278 +msgid "Preferences" +msgstr "Inställningar" + +#: lib/option.tcl:314 +msgid "Failed to completely save options:" +msgstr "Misslyckades med att helt spara alternativ:" + +#: lib/remote.tcl:163 +msgid "Remove Remote" +msgstr "Ta bort fjärrarkiv" + +#: lib/remote.tcl:168 +msgid "Prune from" +msgstr "Ta bort från" + +#: lib/remote.tcl:173 +msgid "Fetch from" +msgstr "Hämta från" + +#: lib/remote.tcl:215 +msgid "Push to" +msgstr "Sänd till" + +#: lib/remote_add.tcl:19 +msgid "Add Remote" +msgstr "Lägg till fjärrarkiv" + +#: lib/remote_add.tcl:24 +msgid "Add New Remote" +msgstr "Lägg till nytt fjärrarkiv" + +#: lib/remote_add.tcl:28 lib/tools_dlg.tcl:36 +msgid "Add" +msgstr "Lägg till" + +#: lib/remote_add.tcl:37 +msgid "Remote Details" +msgstr "Detaljer för fjärrarkiv" + +#: lib/remote_add.tcl:50 +msgid "Location:" +msgstr "Plats:" + +#: lib/remote_add.tcl:62 +msgid "Further Action" +msgstr "Ytterligare åtgärd" + +#: lib/remote_add.tcl:65 +msgid "Fetch Immediately" +msgstr "Hämta omedelbart" + +#: lib/remote_add.tcl:71 +msgid "Initialize Remote Repository and Push" +msgstr "Initiera fjärrarkiv och sänd till" + +#: lib/remote_add.tcl:77 +msgid "Do Nothing Else Now" +msgstr "Gör ingent mer nu" + +#: lib/remote_add.tcl:101 +msgid "Please supply a remote name." +msgstr "Ange ett namn för fjärrarkivet." + +#: lib/remote_add.tcl:114 +#, tcl-format +msgid "'%s' is not an acceptable remote name." +msgstr "\"%s\" kan inte användas som namn på fjärrarkivet." + +#: lib/remote_add.tcl:125 +#, tcl-format +msgid "Failed to add remote '%s' of location '%s'." +msgstr "Kunde inte lägga till fjärrarkivet \"%s\" på platsen \"%s\"." + +#: lib/remote_add.tcl:133 lib/transport.tcl:6 +#, tcl-format +msgid "fetch %s" +msgstr "hämta %s" + +#: lib/remote_add.tcl:134 +#, tcl-format +msgid "Fetching the %s" +msgstr "Hämtar %s" + +#: lib/remote_add.tcl:157 +#, tcl-format +msgid "Do not know how to initialize repository at location '%s'." +msgstr "Vet inte hur arkivet på platsen \"%s\" skall initieras." + - #: lib/remote_add.tcl:163 lib/transport.tcl:25 lib/transport.tcl:71 ++#: lib/remote_add.tcl:163 lib/transport.tcl:25 lib/transport.tcl:63 ++#: lib/transport.tcl:81 +#, tcl-format +msgid "push %s" +msgstr "sänd %s" + +#: lib/remote_add.tcl:164 +#, tcl-format +msgid "Setting up the %s (at %s)" +msgstr "Konfigurerar %s (på %s)" + +#: lib/remote_branch_delete.tcl:29 lib/remote_branch_delete.tcl:34 +msgid "Delete Branch Remotely" +msgstr "Ta bort gren från fjärrarkiv" + +#: lib/remote_branch_delete.tcl:47 +msgid "From Repository" +msgstr "Från arkiv" + - #: lib/remote_branch_delete.tcl:50 lib/transport.tcl:123 ++#: lib/remote_branch_delete.tcl:50 lib/transport.tcl:134 +msgid "Remote:" +msgstr "Fjärrarkiv:" + - #: lib/remote_branch_delete.tcl:66 lib/transport.tcl:138 ++#: lib/remote_branch_delete.tcl:66 lib/transport.tcl:149 +msgid "Arbitrary Location:" +msgstr "Godtycklig plats:" + +#: lib/remote_branch_delete.tcl:84 +msgid "Branches" +msgstr "Grenar" + +#: lib/remote_branch_delete.tcl:109 +msgid "Delete Only If" +msgstr "Ta endast bort om" + +#: lib/remote_branch_delete.tcl:111 +msgid "Merged Into:" +msgstr "Sammanslagen i:" + +#: lib/remote_branch_delete.tcl:119 +msgid "Always (Do not perform merge checks)" +msgstr "Alltid (utför inte sammanslagningstest)" + +#: lib/remote_branch_delete.tcl:152 +msgid "A branch is required for 'Merged Into'." +msgstr "En gren krävs för \"Sammanslagen i\"." + +#: lib/remote_branch_delete.tcl:184 +#, tcl-format +msgid "" +"The following branches are not completely merged into %s:\n" +"\n" +" - %s" +msgstr "" +"Följande grenar har inte helt slagits samman i %s:\n" +"\n" +" - %s" + +#: lib/remote_branch_delete.tcl:189 +#, tcl-format +msgid "" +"One or more of the merge tests failed because you have not fetched the " +"necessary commits. Try fetching from %s first." +msgstr "" +"En eller flera av sammanslagningstesterna misslyckades eftersom du inte har " +"hämtat de nödvändiga incheckningarna. Försök hämta från %s först." + +#: lib/remote_branch_delete.tcl:207 +msgid "Please select one or more branches to delete." +msgstr "Välj en eller flera grenar att ta bort." + +#: lib/remote_branch_delete.tcl:216 +msgid "" +"Recovering deleted branches is difficult.\n" +"\n" +"Delete the selected branches?" +msgstr "" +"Det kan vara svårt att återställa borttagna grenar.\n" +"\n" +"Ta bort de valda grenarna?" + +#: lib/remote_branch_delete.tcl:226 +#, tcl-format +msgid "Deleting branches from %s" +msgstr "Tar bort grenar från %s" + +#: lib/remote_branch_delete.tcl:286 +msgid "No repository selected." +msgstr "Inget arkiv markerat." + +#: lib/remote_branch_delete.tcl:291 +#, tcl-format +msgid "Scanning %s..." +msgstr "Söker %s..." + +#: lib/search.tcl:21 +msgid "Find:" +msgstr "Sök:" + +#: lib/search.tcl:23 +msgid "Next" +msgstr "Nästa" + +#: lib/search.tcl:24 +msgid "Prev" +msgstr "Föreg" + +#: lib/search.tcl:25 +msgid "Case-Sensitive" +msgstr "Skilj på VERSALER/gemener" + +#: lib/shortcut.tcl:20 lib/shortcut.tcl:61 +msgid "Cannot write shortcut:" +msgstr "Kan inte skriva genväg:" + +#: lib/shortcut.tcl:136 +msgid "Cannot write icon:" +msgstr "Kan inte skriva ikon:" + +#: lib/spellcheck.tcl:57 +msgid "Unsupported spell checker" +msgstr "Stavningskontrollprogrammet stöds inte" + +#: lib/spellcheck.tcl:65 +msgid "Spell checking is unavailable" +msgstr "Stavningskontroll är ej tillgänglig" + +#: lib/spellcheck.tcl:68 +msgid "Invalid spell checking configuration" +msgstr "Ogiltig inställning för stavningskontroll" + +#: lib/spellcheck.tcl:70 +#, tcl-format +msgid "Reverting dictionary to %s." +msgstr "Återställer ordlistan till %s." + +#: lib/spellcheck.tcl:73 +msgid "Spell checker silently failed on startup" +msgstr "Stavningskontroll misslyckades tyst vid start" + +#: lib/spellcheck.tcl:80 +msgid "Unrecognized spell checker" +msgstr "Stavningskontrollprogrammet känns inte igen" + +#: lib/spellcheck.tcl:186 +msgid "No Suggestions" +msgstr "Inga förslag" + +#: lib/spellcheck.tcl:388 +msgid "Unexpected EOF from spell checker" +msgstr "Oväntat filslut från stavningskontroll" + +#: lib/spellcheck.tcl:392 +msgid "Spell Checker Failed" +msgstr "Stavningskontroll misslyckades" + +#: lib/sshkey.tcl:31 +msgid "No keys found." +msgstr "Inga nycklar hittades." + +#: lib/sshkey.tcl:34 +#, tcl-format +msgid "Found a public key in: %s" +msgstr "Hittade öppen nyckel i: %s" + +#: lib/sshkey.tcl:40 +msgid "Generate Key" +msgstr "Skapa nyckel" + +#: lib/sshkey.tcl:56 +msgid "Copy To Clipboard" +msgstr "Kopiera till Urklipp" + +#: lib/sshkey.tcl:70 +msgid "Your OpenSSH Public Key" +msgstr "Din öppna OpenSSH-nyckel" + +#: lib/sshkey.tcl:78 +msgid "Generating..." +msgstr "Skapar..." + +#: lib/sshkey.tcl:84 +#, tcl-format +msgid "" +"Could not start ssh-keygen:\n" +"\n" +"%s" - msgstr "Kunde inte starta ssh-keygen:\n" ++msgstr "" ++"Kunde inte starta ssh-keygen:\n" +"\n" +"%s" + +#: lib/sshkey.tcl:111 +msgid "Generation failed." +msgstr "Misslyckades med att skapa." + +#: lib/sshkey.tcl:118 +msgid "Generation succeded, but no keys found." +msgstr "Lyckades skapa nyckeln, men hittar inte någon nyckel." + +#: lib/sshkey.tcl:121 +#, tcl-format +msgid "Your key is in: %s" +msgstr "Din nyckel finns i: %s" + +#: lib/status_bar.tcl:83 +#, tcl-format +msgid "%s ... %*i of %*i %s (%3i%%)" +msgstr "%s... %*i av %*i %s (%3i%%)" + +#: lib/tools.tcl:75 +#, tcl-format +msgid "Running %s requires a selected file." +msgstr "För att starta %s måste du välja en fil." + +#: lib/tools.tcl:90 +#, tcl-format +msgid "Are you sure you want to run %s?" +msgstr "Är du säker på att du vill starta %s?" + +#: lib/tools.tcl:110 +#, tcl-format +msgid "Tool: %s" +msgstr "Verktyg: %s" + +#: lib/tools.tcl:111 +#, tcl-format +msgid "Running: %s" +msgstr "Exekverar: %s" + +#: lib/tools.tcl:149 +#, tcl-format +msgid "Tool completed succesfully: %s" - msgstr "Verktyget avslutades framgångsrikt." ++msgstr "Verktyget avslutades framgångsrikt: %s" + +#: lib/tools.tcl:151 +#, tcl-format +msgid "Tool failed: %s" +msgstr "Verktyget misslyckades: %s" + +#: lib/tools_dlg.tcl:22 +msgid "Add Tool" +msgstr "Lägg till verktyg" + +#: lib/tools_dlg.tcl:28 +msgid "Add New Tool Command" +msgstr "Lägg till nytt verktygskommando" + +#: lib/tools_dlg.tcl:33 +msgid "Add globally" +msgstr "Lägg till globalt" + +#: lib/tools_dlg.tcl:45 +msgid "Tool Details" +msgstr "Detaljer för verktyg" + +#: lib/tools_dlg.tcl:48 +msgid "Use '/' separators to create a submenu tree:" +msgstr "Använd \"/\"-avdelare för att skapa ett undermenyträd:" + +#: lib/tools_dlg.tcl:61 +msgid "Command:" +msgstr "Kommando:" + +#: lib/tools_dlg.tcl:74 +msgid "Show a dialog before running" +msgstr "Visa dialog innan programmet startas" + +#: lib/tools_dlg.tcl:80 +msgid "Ask the user to select a revision (sets $REVISION)" +msgstr "Be användaren välja en version (sätter $REVISION)" + +#: lib/tools_dlg.tcl:85 +msgid "Ask the user for additional arguments (sets $ARGS)" +msgstr "Be användaren om ytterligare parametrar (sätter $ARGS)" + +#: lib/tools_dlg.tcl:92 +msgid "Don't show the command output window" +msgstr "Visa inte kommandots utdatafönster" + +#: lib/tools_dlg.tcl:97 +msgid "Run only if a diff is selected ($FILENAME not empty)" +msgstr "Kör endast om en diff har markerats ($FILENAME är inte tomt)" + +#: lib/tools_dlg.tcl:121 +msgid "Please supply a name for the tool." +msgstr "Ange ett namn för verktyget." + +#: lib/tools_dlg.tcl:129 +#, tcl-format +msgid "Tool '%s' already exists." +msgstr "Verktyget \"%s\" finns redan." + +#: lib/tools_dlg.tcl:151 +#, tcl-format +msgid "" +"Could not add tool:\n" +"%s" - msgstr "Kunde inte lägga till verktyget:\n" ++msgstr "" ++"Kunde inte lägga till verktyget:\n" +"%s" + +#: lib/tools_dlg.tcl:190 +msgid "Remove Tool" +msgstr "Ta bort verktyg" + +#: lib/tools_dlg.tcl:196 +msgid "Remove Tool Commands" +msgstr "Ta bort verktygskommandon" + +#: lib/tools_dlg.tcl:200 +msgid "Remove" +msgstr "Ta bort" + +#: lib/tools_dlg.tcl:236 +msgid "(Blue denotes repository-local tools)" +msgstr "(Blått anger verktyg lokala för arkivet)" + +#: lib/tools_dlg.tcl:297 +#, tcl-format +msgid "Run Command: %s" +msgstr "Kör kommandot: %s" + +#: lib/tools_dlg.tcl:311 +msgid "Arguments" +msgstr "Argument" + +#: lib/tools_dlg.tcl:348 +msgid "OK" +msgstr "OK" + +#: lib/transport.tcl:7 +#, tcl-format +msgid "Fetching new changes from %s" +msgstr "Hämtar nya ändringar från %s" + +#: lib/transport.tcl:18 +#, tcl-format +msgid "remote prune %s" +msgstr "fjärrborttagning %s" + +#: lib/transport.tcl:19 +#, tcl-format +msgid "Pruning tracking branches deleted from %s" +msgstr "Tar bort spårande grenar som tagits bort från %s" + +#: lib/transport.tcl:26 +#, tcl-format +msgid "Pushing changes to %s" +msgstr "Sänder ändringar till %s" + - #: lib/transport.tcl:72 ++#: lib/transport.tcl:64 ++#, tcl-format ++msgid "Mirroring to %s" ++msgstr "Speglar till %s" ++ ++#: lib/transport.tcl:82 +#, tcl-format +msgid "Pushing %s %s to %s" +msgstr "Sänder %s %s till %s" + - #: lib/transport.tcl:89 ++#: lib/transport.tcl:100 +msgid "Push Branches" +msgstr "Sänd grenar" + - #: lib/transport.tcl:103 ++#: lib/transport.tcl:114 +msgid "Source Branches" +msgstr "Källgrenar" + - #: lib/transport.tcl:120 ++#: lib/transport.tcl:131 +msgid "Destination Repository" +msgstr "Destinationsarkiv" + - #: lib/transport.tcl:158 ++#: lib/transport.tcl:169 +msgid "Transfer Options" +msgstr "Överföringsalternativ" + - #: lib/transport.tcl:160 ++#: lib/transport.tcl:171 +msgid "Force overwrite existing branch (may discard changes)" +msgstr "Tvinga överskrivning av befintlig gren (kan kasta bort ändringar)" + - #: lib/transport.tcl:164 ++#: lib/transport.tcl:175 +msgid "Use thin pack (for slow network connections)" +msgstr "Använd tunt paket (för långsamma nätverksanslutningar)" + - #: lib/transport.tcl:168 ++#: lib/transport.tcl:179 +msgid "Include tags" +msgstr "Ta med taggar" + +#~ msgid "URL:" +#~ msgstr "Webbadress:" + +#~ msgid "Delete Remote Branch" +#~ msgstr "Ta bort fjärrgren" + +#~ msgid "" +#~ "Unable to start gitk:\n" +#~ "\n" +#~ "%s does not exist" +#~ msgstr "" +#~ "Kan inte starta gitk:\n" +#~ "\n" +#~ "%s finns inte" + +#~ msgid "Apple" +#~ msgstr "Äpple" + +#~ msgid "Not connected to aspell" +#~ msgstr "Inte ansluten till aspell"