diff options
Diffstat (limited to 'git-gui')
38 files changed, 12446 insertions, 2901 deletions
diff --git a/git-gui/.gitattributes b/git-gui/.gitattributes new file mode 100644 index 0000000000..f96112d47f --- /dev/null +++ b/git-gui/.gitattributes @@ -0,0 +1,3 @@ +* encoding=US-ASCII +git-gui.sh encoding=UTF-8 +/po/*.po encoding=UTF-8 diff --git a/git-gui/GIT-VERSION-GEN b/git-gui/GIT-VERSION-GEN index 4e709ebe77..b3f937eace 100755 --- a/git-gui/GIT-VERSION-GEN +++ b/git-gui/GIT-VERSION-GEN @@ -1,7 +1,7 @@ #!/bin/sh GVF=GIT-VERSION-FILE -DEF_VER=0.11.GITGUI +DEF_VER=0.12.GITGUI LF=' ' diff --git a/git-gui/Makefile b/git-gui/Makefile index 55765c8a3a..b3580e9e48 100644 --- a/git-gui/Makefile +++ b/git-gui/Makefile @@ -105,8 +105,11 @@ endif ifeq ($(uname_S),Darwin) TKFRAMEWORK = /Library/Frameworks/Tk.framework/Resources/Wish.app - ifeq ($(shell expr "$(uname_R)" : '9\.'),2) - TKFRAMEWORK = /System/Library/Frameworks/Tk.framework/Resources/Wish\ Shell.app + ifeq ($(shell echo "$(uname_R)" | awk -F. '{if ($$1 >= 9) print "y"}')_$(shell test -d $(TKFRAMEWORK) || echo n),y_n) + TKFRAMEWORK = /System/Library/Frameworks/Tk.framework/Resources/Wish.app + ifeq ($(shell test -d $(TKFRAMEWORK) || echo n),n) + TKFRAMEWORK = /System/Library/Frameworks/Tk.framework/Resources/Wish\ Shell.app + endif endif TKEXECUTABLE = $(shell basename "$(TKFRAMEWORK)" .app) endif @@ -285,6 +288,7 @@ all:: $(GITGUI_MAIN) lib/tclIndex $(ALL_MSGFILES) install: all $(QUIET)$(INSTALL_D0)'$(DESTDIR_SQ)$(gitexecdir_SQ)' $(INSTALL_D1) $(QUIET)$(INSTALL_X0)git-gui $(INSTALL_X1) '$(DESTDIR_SQ)$(gitexecdir_SQ)' + $(QUIET)$(INSTALL_X0)git-gui--askpass $(INSTALL_X1) '$(DESTDIR_SQ)$(gitexecdir_SQ)' $(QUIET)$(foreach p,$(GITGUI_BUILT_INS), $(INSTALL_L0)'$(DESTDIR_SQ)$(gitexecdir_SQ)/$p' $(INSTALL_L1)'$(DESTDIR_SQ)$(gitexecdir_SQ)/git-gui' $(INSTALL_L2)'$(DESTDIR_SQ)$(gitexecdir_SQ)/$p' $(INSTALL_L3) &&) true ifdef GITGUI_WINDOWS_WRAPPER $(QUIET)$(INSTALL_R0)git-gui.tcl $(INSTALL_R1) '$(DESTDIR_SQ)$(gitexecdir_SQ)' @@ -302,6 +306,7 @@ endif uninstall: $(QUIET)$(CLEAN_DST) '$(DESTDIR_SQ)$(gitexecdir_SQ)' $(QUIET)$(REMOVE_F0)'$(DESTDIR_SQ)$(gitexecdir_SQ)'/git-gui $(REMOVE_F1) + $(QUIET)$(REMOVE_F0)'$(DESTDIR_SQ)$(gitexecdir_SQ)'/git-gui--askpass $(REMOVE_F1) $(QUIET)$(foreach p,$(GITGUI_BUILT_INS), $(REMOVE_F0)'$(DESTDIR_SQ)$(gitexecdir_SQ)'/$p $(REMOVE_F1) &&) true ifdef GITGUI_WINDOWS_WRAPPER $(QUIET)$(REMOVE_F0)'$(DESTDIR_SQ)$(gitexecdir_SQ)'/git-gui.tcl $(REMOVE_F1) diff --git a/git-gui/git-gui--askpass b/git-gui/git-gui--askpass new file mode 100755 index 0000000000..12e117ecb1 --- /dev/null +++ b/git-gui/git-gui--askpass @@ -0,0 +1,59 @@ +#!/bin/sh +# Tcl ignores the next line -*- tcl -*- \ +exec wish "$0" -- "$@" + +# This is a trivial implementation of an SSH_ASKPASS handler. +# Git-gui uses this script if none are already configured. + +set answer {} +set yesno 0 +set rc 255 + +if {$argc < 1} { + set prompt "Enter your OpenSSH passphrase:" +} else { + set prompt [join $argv " "] + if {[regexp -nocase {\(yes\/no\)\?\s*$} $prompt]} { + set yesno 1 + } +} + +message .m -text $prompt -justify center -aspect 4000 +pack .m -side top -fill x -padx 20 -pady 20 -expand 1 + +entry .e -textvariable answer -width 50 +pack .e -side top -fill x -padx 10 -pady 10 + +if {!$yesno} { + .e configure -show "*" +} + +frame .b +button .b.ok -text OK -command finish +button .b.cancel -text Cancel -command {destroy .} + +pack .b.ok -side left -expand 1 +pack .b.cancel -side right -expand 1 +pack .b -side bottom -fill x -padx 10 -pady 10 + +bind . <Visibility> {focus -force .e} +bind . <Key-Return> finish +bind . <Key-Escape> {destroy .} +bind . <Destroy> {exit $rc} + +proc finish {} { + if {$::yesno} { + if {$::answer ne "yes" && $::answer ne "no"} { + tk_messageBox -icon error -title "Error" -type ok \ + -message "Only 'yes' or 'no' input allowed." + return + } + } + + set ::rc 0 + puts $::answer + destroy . +} + +wm title . "OpenSSH" +tk::PlaceWindow . diff --git a/git-gui/git-gui.sh b/git-gui/git-gui.sh index 86402d49f7..14b92ba786 100755 --- a/git-gui/git-gui.sh +++ b/git-gui/git-gui.sh @@ -122,6 +122,7 @@ unset oguimsg set _appname {Git Gui} set _gitdir {} set _gitexec {} +set _githtmldir {} set _reponame {} set _iscygwin {} set _search_path {} @@ -168,6 +169,28 @@ proc gitexec {args} { return [eval [list file join $_gitexec] $args] } +proc githtmldir {args} { + global _githtmldir + if {$_githtmldir eq {}} { + if {[catch {set _githtmldir [git --html-path]}]} { + # Git not installed or option not yet supported + return {} + } + if {[is_Cygwin]} { + set _githtmldir [exec cygpath \ + --windows \ + --absolute \ + $_githtmldir] + } else { + set _githtmldir [file normalize $_githtmldir] + } + } + if {$args eq {}} { + return $_githtmldir + } + return [eval [list file join $_githtmldir] $args] +} + proc reponame {} { return $::_reponame } @@ -521,6 +544,19 @@ proc kill_file_process {fd} { } } +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'" @@ -578,6 +614,34 @@ bind . <Visibility> { 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 + } } ###################################################################### @@ -599,10 +663,13 @@ font create font_diffbold font create font_diffitalic foreach class {Button Checkbutton Entry Label - Labelframe Listbox Menu Message + Labelframe Listbox Message Radiobutton Spinbox Text} { option add *$class.font font_ui } +if {![is_MacOSX]} { + option add *Menu.font font_ui +} unset class if {[is_Windows] || [is_MacOSX]} { @@ -657,17 +724,21 @@ proc apply_config {} { } set default_config(branch.autosetupmerge) true +set default_config(merge.tool) {} +set default_config(mergetool.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) {} @@ -724,9 +795,9 @@ if {![regsub {^git version } $_git_version {} _git_version]} { 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 {\.[a-zA-Z]+\.?[0-9]+$} $_git_version {} _git_version regsub {\.GIT$} $_git_version {} _git_version -regsub {\.[a-zA-Z]+\.[0-9]+$} $_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 .} @@ -895,19 +966,25 @@ git-version proc _parse_config {arr_name args} { } proc load_config {include_global} { - global repo_config global_config default_config + 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) $default_config($name) + set global_config($name) $system_config($name) } if {[catch {set v $repo_config($name)}]} { - set repo_config($name) $default_config($name) + set repo_config($name) $system_config($name) } } } @@ -945,17 +1022,51 @@ blame { } 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 {} @@ -967,6 +1078,7 @@ if {[catch { load_config 1 apply_config choose_repository::pick + set picked 1 } if {![file isdirectory $_gitdir] && [is_Cygwin]} { catch {set _gitdir [exec cygpath --windows $_gitdir]} @@ -1020,7 +1132,12 @@ 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 diff_empty_count 0 + +set nullid "0000000000000000000000000000000000000000" +set nullid2 "0000000000000000000000000000000000000001" ###################################################################### ## @@ -1102,6 +1219,20 @@ proc PARENT {} { 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 @@ -1128,6 +1259,7 @@ proc rescan {after {honor_trustmtime 1}} { || [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]} { } @@ -1227,6 +1359,70 @@ proc load_message {file} { 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 @@ -1322,8 +1518,8 @@ proc rescan_done {fd buf after} { prune_selection unlock_index display_all_files - if {$current_diff_path ne {}} reshow_diff - uplevel #0 $after + if {$current_diff_path ne {}} { reshow_diff $after } + if {$current_diff_path eq {}} { select_first_diff $after } } proc prune_selection {} { @@ -1619,6 +1815,15 @@ static unsigned char file_merge_bits[] = { 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 @@ -1627,12 +1832,14 @@ 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 { @@ -1643,6 +1850,9 @@ foreach i { {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"}} @@ -1652,10 +1862,12 @@ foreach i { {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]} { @@ -1729,12 +1941,33 @@ proc do_gitk {revs} { } } +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 [list [file nativename [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 {} { +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 @@ -1789,6 +2022,7 @@ proc do_quit {} { } } + set ret_code $rc destroy . } @@ -1796,13 +2030,137 @@ proc do_rescan {} { rescan ui_ready } +proc ui_do_rescan {} { + rescan {force_first_diff ui_ready} +} + proc do_commit {} { commit_tree } -proc next_diff {} { +proc next_diff {{after {}}} { global next_diff_p next_diff_w next_diff_i - show_diff $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} { @@ -1823,34 +2181,31 @@ proc toggle_or_diff {w x y} { $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} { - set i [expr {$lno-1}] - set ll [expr {[llength $file_lists($w)]-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 {$i == $ll && $i == 0} { - set after {reshow_diff;} + if {[string index $state 1] eq {O}} { + set mmask {} } else { - global next_diff_p next_diff_w next_diff_i - - set next_diff_w $w - - if {$i < $ll} { - set i [expr {$i + 1}] - set next_diff_i $i - } else { - set next_diff_i $i - set i [expr {$i - 1}] - } - - set next_diff_p [lindex $file_lists($w) $i] - - if {$next_diff_p ne {} && $current_diff_path ne {}} { - set after {next_diff;} - } else { - set after {} - } + 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" \ @@ -1949,6 +2304,12 @@ set ui_comm {} # -- Menu Bar # menu .mbar -tearoff 0 +if {[is_MacOSX]} { + # -- Apple Menu (Mac OS X only) + # + .mbar add cascade -label Apple -menu .mbar.apple + menu .mbar.apple +} .mbar add cascade -label [mc Repository] -menu .mbar.repository .mbar add cascade -label [mc Edit] -menu .mbar.edit if {[is_enabled branch]} { @@ -1961,13 +2322,20 @@ if {[is_enabled transport]} { .mbar add cascade -label [mc Merge] -menu .mbar.merge .mbar add cascade -label [mc Remote] -menu .mbar.remote } -. configure -menu .mbar +if {[is_enabled multicommit] || [is_enabled singlecommit]} { + .mbar add cascade -label [mc Tools] -menu .mbar.tools +} # -- 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] @@ -2091,29 +2459,39 @@ if {[is_enabled branch]} { # -- 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 - .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] + 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 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 separator + } .mbar.commit add command -label [mc Rescan] \ - -command do_rescan \ + -command ui_do_rescan \ -accelerator F5 lappend disable_on_lock \ [list .mbar.commit entryconf [.mbar.commit index last] -state] @@ -2152,11 +2530,13 @@ if {[is_enabled multicommit] || [is_enabled singlecommit]} { .mbar.commit add separator - .mbar.commit add command -label [mc "Sign Off"] \ - -command do_signoff \ - -accelerator $M1T-S + if {![is_enabled nocommitmsg]} { + .mbar.commit add command -label [mc "Sign Off"] \ + -command do_signoff \ + -accelerator $M1T-S + } - .mbar.commit add command -label [mc Commit@@verb] \ + .mbar.commit add command -label [commit_btn_caption] \ -command do_commit \ -accelerator $M1T-Return lappend disable_on_lock \ @@ -2184,28 +2564,20 @@ 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..."] \ + -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 + proc ::tk::mac::ShowPreferences {} {do_options} } else { # -- Edit Menu # @@ -2214,39 +2586,41 @@ if {[is_MacOSX]} { -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]} { +if {[is_MacOSX]} { + .mbar.apple add command -label [mc "About %s" [appname]] \ + -command do_about + .mbar.apple add separator +} else { .mbar.help add command -label [mc "About %s" [appname]] \ -command do_about } +. configure -menu .mbar -set browser {} -catch {set browser $repo_config(instaweb.browser)} -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] -} +set doc_path [githtmldir] +if {$doc_path ne {}} { + set doc_path [file join $doc_path index.html] -if {$browser eq {}} { - if {[is_MacOSX]} { - set browser open - } elseif {[is_Cygwin]} { - set program_files [file dirname [exec cygpath --windir]] - set program_files [file join $program_files {Program Files}] - set firefox [file join $program_files {Mozilla Firefox} firefox.exe] - set ie [file join $program_files {Internet Explorer} IEXPLORE.EXE] - if {[file exists $firefox]} { - set browser $firefox - } elseif {[file exists $ie]} { - set browser $ie - } - unset program_files firefox ie + if {[is_Cygwin]} { + set doc_path [exec cygpath --mixed $doc_path] } } @@ -2256,11 +2630,17 @@ if {[file isfile $doc_path]} { set doc_url {http://www.kernel.org/pub/software/scm/git/docs/} } -if {$browser ne {}} { - .mbar.help add command -label [mc "Online Documentation"] \ - -command [list exec $browser $doc_url &] +proc start_browser {url} { + git "web--browse" $url } -unset browser doc_path doc_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 # @@ -2276,20 +2656,39 @@ proc usage {} { 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 { - set subcommand_args {rev? path} + if {$subcommand eq "blame"} { + set subcommand_args {[--line=<num>] 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 {}} { @@ -2298,6 +2697,9 @@ blame { 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 @@ -2309,7 +2711,7 @@ blame { unset is_path if {$head ne {} && $path eq {}} { - set path $_prefix$head + set path [normalize_relpath $_prefix$head] set head {} } @@ -2329,6 +2731,7 @@ blame { switch -- $subcommand { browser { + if {$jump_spec ne {}} usage if {$head eq {}} { if {$path ne {} && [file isdirectory $path]} { set head $current_branch @@ -2344,7 +2747,7 @@ blame { puts stderr [mc "fatal: cannot stat path %s: No such file or directory" $path] exit 1 } - blame::new $head $path + blame::new $head $path $jump_spec } } return @@ -2460,7 +2863,7 @@ 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 do_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} @@ -2471,19 +2874,23 @@ pack .vpane.lower.commarea.buttons.incall -side top -fill x lappend disable_on_lock \ {.vpane.lower.commarea.buttons.incall conf -state} -button .vpane.lower.commarea.buttons.signoff -text [mc "Sign Off"] \ - -command do_signoff -pack .vpane.lower.commarea.buttons.signoff -side top -fill x +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 [mc Commit@@verb] \ +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} -button .vpane.lower.commarea.buttons.push -text [mc Push] \ - -command do_push_anywhere -pack .vpane.lower.commarea.buttons.push -side top -fill x +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 # @@ -2491,20 +2898,24 @@ 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 -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] + +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 @@ -2522,8 +2933,11 @@ proc trace_commit_type {varname args} { } trace add variable commit_type write trace_commit_type pack $ui_coml -side left -fill x -pack .vpane.lower.commarea.buffer.header.amend -side right -pack .vpane.lower.commarea.buffer.header.new -side right + +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 \ @@ -2556,7 +2970,7 @@ $ctxm add command \ -command {tk_textPaste $ui_comm} $ctxm add command \ -label [mc Delete] \ - -command {$ui_comm delete sel.first sel.last} + -command {catch {$ui_comm delete sel.first sel.last}} $ctxm add separator $ctxm add command \ -label [mc "Select All"] \ @@ -2689,6 +3103,59 @@ $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 \ @@ -2702,71 +3169,65 @@ $ctxm add command \ set ui_diff_applyline [$ctxm index last] lappend diff_actions [list $ctxm entryconf $ui_diff_applyline -state] $ctxm add separator -$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 -$ctxm add command -label [mc "Options..."] \ - -command do_options -proc popup_diff_menu {ctxm x y X Y} { +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 {$::ui_index eq $::current_diff_side} { - set l [mc "Unstage Hunk From Commit"] - set t [mc "Unstage Line From Commit"] + if {[info exists file_states($current_diff_path)]} { + set state [lindex $file_states($current_diff_path) 0] } else { - set l [mc "Stage Hunk For Commit"] - set t [mc "Stage Line For Commit"] - } - if {$::is_3way_diff - || $current_diff_path eq {} - || ![info exists file_states($current_diff_path)] - || {_O} eq [lindex $file_states($current_diff_path) 0]} { - set s disabled + set state {__} + } + if {[string first {U} $state] >= 0} { + tk_popup $ctxmmg $X $Y } else { - set s normal + 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 } - $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 %x %y %X %Y] +bind_button3 $ui_diff [list popup_diff_menu $ctxm $ctxmmg %x %y %X %Y] # -- Status Bar # @@ -2842,9 +3303,9 @@ if {[is_enabled transport]} { bind . <$M1B-Key-P> do_push_anywhere } -bind . <Key-F5> do_rescan -bind . <$M1B-Key-r> do_rescan -bind . <$M1B-Key-R> do_rescan +bind . <Key-F5> 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 @@ -2894,7 +3355,6 @@ by %s: {^GIT_PAGER$} - {^GIT_TRACE$} - {^GIT_CONFIG$} - - {^GIT_CONFIG_LOCAL$} - {^GIT_(AUTHOR|COMMITTER)_DATE$} { append msg " - $name\n" incr ignored_env @@ -2931,8 +3391,7 @@ if {[is_enabled transport]} { load_all_remotes set n [.mbar.remote index end] - populate_push_menu - populate_fetch_menu + populate_remotes_menu set n [expr {[.mbar.remote index end] - $n}] if {$n > 0} { if {[.mbar.remote type 0] eq "tearoff"} { incr n } @@ -3022,7 +3481,23 @@ lock_index begin-read if {![winfo ismapped .]} { wm deiconify . } -after 1 do_rescan +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 . <Destroy> {+terminate_me %W} +} +if {$picked && [is_config_true gui.autoexplore]} { + do_explore +} diff --git a/git-gui/lib/blame.tcl b/git-gui/lib/blame.tcl index b6e42cbc8f..1f3b08f9ef 100644 --- a/git-gui/lib/blame.tcl +++ b/git-gui/lib/blame.tcl @@ -21,9 +21,11 @@ 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 @@ -58,8 +60,8 @@ 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} { - global cursor_ptr +constructor new {i_commit i_path i_jump} { + global cursor_ptr M1B M1T have_tk85 variable active_color variable group_colors @@ -69,6 +71,8 @@ constructor new {i_commit 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:"] \ @@ -114,9 +118,9 @@ constructor new {i_commit i_path} { pack $w_path -fill x -side right pack $w.header.path_l -side right - panedwindow $w.file_pane -orient vertical - frame $w.file_pane.out - frame $w.file_pane.cm + 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 \ @@ -197,6 +201,11 @@ constructor new {i_commit i_path} { -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] @@ -217,6 +226,11 @@ constructor new {i_commit i_path} { -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 \ @@ -256,18 +270,41 @@ constructor new {i_commit i_path} { $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 many2scrollbar \ - $w_columns yview $w.file_pane.out.sby] + $i conf -yscrollcommand \ + "[list ::searchbar::scrolled $finder] + [list many2scrollbar $w_columns yview $w.file_pane.out.sby]" bind $i <Button-1> " [cb _hide_tooltip] [cb _click $i @%x,%y] @@ -284,7 +321,7 @@ constructor new {i_commit i_path} { tk_popup $w.ctxm %X %Y " bind $i <Shift-Tab> "[list focus $w_cviewer];break" - bind $i <Tab> "[list focus $w_cviewer];break" + bind $i <Tab> "[cb _focus_search $w_cviewer];break" } foreach i [concat $w_columns $w_cviewer] { @@ -300,10 +337,15 @@ constructor new {i_commit i_path} { bind $i <Control-Key-f> {catch {%W yview scroll 1 pages};break} } - bind $w_cviewer <Shift-Tab> "[list focus $w_file];break" + bind $w_cviewer <Shift-Tab> "[cb _focus_search $w_file];break" bind $w_cviewer <Tab> "[list focus $w_file];break" - bind $w_cviewer <Button-1> [list focus $w_cviewer] - bind $w_file <Visibility> [list focus $w_file] + bind $w_cviewer <Button-1> [list focus $w_cviewer] + bind $w_file <Visibility> [cb _focus_search $w_file] + bind $top <F7> [list searchbar::show $finder] + bind $top <Escape> [list searchbar::hide $finder] + bind $top <F3> [list searchbar::find_next $finder] + bind $top <Shift-F3> [list searchbar::find_prev $finder] + catch { bind $top <Shift-Key-XF86_Switch_VT_3> [list searchbar::find_prev $finder] } grid configure $w.header -sticky ew grid configure $w.file_pane -sticky nsew @@ -315,9 +357,14 @@ constructor new {i_commit i_path} { set req_w [winfo reqwidth $top] set req_h [winfo reqheight $top] - set scr_h [expr {[winfo screenheight $top] - 100}] - if {$req_w < 600} {set req_w 600} + 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 @@ -325,14 +372,29 @@ constructor new {i_commit i_path} { 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.70)}] + [expr {int($old_height * 0.80)}] bind $w.file_pane <Configure> \ "if {{$w.file_pane} eq {%W}} {[cb _resize %h]}" wm protocol $top WM_DELETE_WINDOW "destroy $top" - bind $top <Destroy> [cb _kill] + bind $top <Destroy> [cb _handle_destroy %W] - _load $this {} + _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 {} { @@ -393,7 +455,10 @@ method _load {jump} { } else { set fd [git_read cat-file blob "$commit:$path"] } - fconfigure $fd -blocking 0 -translation lf -encoding binary + fconfigure $fd \ + -blocking 0 \ + -translation lf \ + -encoding [get_path_encoding $path] fileevent $fd readable [cb _read_file $fd $jump] set current_fd $fd } @@ -494,7 +559,7 @@ method _read_file {fd jump} { } ifdeleted { catch {close $fd} } method _exec_blame {cur_w cur_d options cur_s} { - lappend options --incremental + lappend options --incremental --encoding=utf-8 if {$commit eq {}} { lappend options --contents $path } else { @@ -502,7 +567,7 @@ method _exec_blame {cur_w cur_d options cur_s} { } lappend options -- $path set fd [eval git_read --nice blame $options] - fconfigure $fd -blocking 0 -translation lf -encoding binary + 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 @@ -782,24 +847,42 @@ method _click {cur_w pos} { _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 {}} { - lappend history [list \ - $commit $path \ - $highlight_column \ - $highlight_line \ - [lindex [$w_file xview] 0] \ - [lindex [$w_file yview] 0] \ - ] - set commit [lindex $dat 0] - set path [lindex $dat 1] - _load $this [list [lindex $dat 2]] + _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 @@ -832,6 +915,10 @@ method _showcommit {cur_w lno} { 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 {} @@ -853,9 +940,8 @@ method _showcommit {cur_w lno} { 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]] @@ -867,12 +953,6 @@ method _showcommit {cur_w lno} { set enc [tcl_encoding $enc] if {$enc ne {}} { set msg [encoding convertfrom $enc $msg] - set author_name [encoding convertfrom $enc $author_name] - set committer_name [encoding convertfrom $enc $committer_name] - set header($cmit,author) $author_name - set header($cmit,committer) $committer_name - set header($cmit,summary) \ - [encoding convertfrom $enc $header($cmit,summary)] } set msg [string trim $msg] } @@ -905,10 +985,14 @@ method _showcommit {cur_w lno} { } } -method _copycommit {} { +method _get_click_amov_info {} { set pos @$::cursorX,$::cursorY set lno [lindex [split [$::cursorW index $pos] .] 0] - set dat [lindex $amov_data $lno] + return [lindex $amov_data $lno] +} + +method _copycommit {} { + set dat [_get_click_amov_info $this] if {$dat ne {}} { clipboard clear clipboard append \ @@ -918,6 +1002,147 @@ method _copycommit {} { } } +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 diff --git a/git-gui/lib/branch_delete.tcl b/git-gui/lib/branch_delete.tcl index ef1930b491..20d5e42307 100644 --- a/git-gui/lib/branch_delete.tcl +++ b/git-gui/lib/branch_delete.tcl @@ -51,7 +51,7 @@ constructor dialog {} { $w.check \ [mc "Delete Only If Merged Into"] \ ] - $w_check none [mc "Always (Do not perform merge test.)"] + $w_check none [mc "Always (Do not perform merge checks)"] pack $w.check -anchor nw -fill x -pady 5 -padx 5 foreach h [load_all_heads] { @@ -112,7 +112,7 @@ method _delete {} { } if {$to_delete eq {}} return if {$check_cmt eq {}} { - set msg [mc "Recovering deleted branches is difficult. \n\n Delete the selected branches?"] + set msg [mc "Recovering deleted branches is difficult.\n\nDelete the selected branches?"] if {[tk_messageBox \ -icon warning \ -type yesno \ diff --git a/git-gui/lib/browser.tcl b/git-gui/lib/browser.tcl index ab470d1264..0410cc68df 100644 --- a/git-gui/lib/browser.tcl +++ b/git-gui/lib/browser.tcl @@ -151,7 +151,7 @@ method _enter {} { append p [lindex $n 1] } append p $name - blame::new $browser_commit $p + blame::new $browser_commit $p {} } } } diff --git a/git-gui/lib/checkout_op.tcl b/git-gui/lib/checkout_op.tcl index caca88831b..9e7412c446 100644 --- a/git-gui/lib/checkout_op.tcl +++ b/git-gui/lib/checkout_op.tcl @@ -9,6 +9,7 @@ field w_cons {}; # embedded console window object field new_expr ; # expression the user saw/thinks this is field new_hash ; # commit SHA-1 we are switching to field new_ref ; # ref we are updating/creating +field old_hash ; # commit SHA-1 that was checked out when we started field parent_w .; # window that started us field merge_type none; # type of merge to apply to existing branch @@ -280,11 +281,11 @@ method _start_checkout {} { # -- Our in memory state should match the repository. # - repository_state curType curHEAD curMERGE_HEAD + repository_state curType old_hash curMERGE_HEAD if {[string match amend* $commit_type] && $curType eq {normal} - && $curHEAD eq $HEAD} { - } elseif {$commit_type ne $curType || $HEAD ne $curHEAD} { + && $old_hash eq $HEAD} { + } elseif {$commit_type ne $curType || $HEAD ne $old_hash} { 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 the current branch can be changed. @@ -297,7 +298,7 @@ The rescan will be automatically started now. return } - if {$curHEAD eq $new_hash} { + if {$old_hash eq $new_hash} { _after_readtree $this } elseif {[is_config_true gui.trustmtime]} { _readtree $this @@ -453,13 +454,47 @@ method _after_readtree {} { If you wanted to be on a branch, create one now starting from 'This Detached Checkout'."] } + # -- Run the post-checkout hook. + # + set fd_ph [githook_read post-checkout $old_hash $new_hash 1] + if {$fd_ph ne {}} { + global pch_error + set pch_error {} + fconfigure $fd_ph -blocking 0 -translation binary -eofchar {} + fileevent $fd_ph readable [cb _postcheckout_wait $fd_ph] + } else { + _update_repo_state $this + } +} + +method _postcheckout_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}]} { + hook_failed_popup post-checkout $pch_error 0 + } + unset pch_error + _update_repo_state $this + return + } + fconfigure $fd_ph -blocking 0 +} + +method _update_repo_state {} { # -- Update our repository state. If we were previously in # amend mode we need to toss the current buffer and do a # full rescan to update our file lists. If we weren't in # amend mode our file lists are accurate and we can avoid # the rescan. # + global selected_commit_type commit_type HEAD MERGE_HEAD PARENT + global ui_comm + unlock_index + set name [_name $this] set selected_commit_type new if {[string match amend* $commit_type]} { $ui_comm delete 0.0 end diff --git a/git-gui/lib/choose_repository.tcl b/git-gui/lib/choose_repository.tcl index 3180786158..633cc572bb 100644 --- a/git-gui/lib/choose_repository.tcl +++ b/git-gui/lib/choose_repository.tcl @@ -43,12 +43,18 @@ constructor pick {} { $w.mbar.apple add command \ -label [mc "About %s" [appname]] \ -command do_about + $w.mbar.apple add command \ + -label [mc "Show SSH Key"] \ + -command do_ssh_key } else { $w.mbar add cascade -label [mc Help] -menu $w.mbar.help menu $w.mbar.help $w.mbar.help add command \ -label [mc "About %s" [appname]] \ -command do_about + $w.mbar.help add command \ + -label [mc "Show SSH Key"] \ + -command do_ssh_key } wm protocol $top WM_DELETE_WINDOW exit @@ -381,7 +387,8 @@ method _do_new {} { label $w_body.where.l -text [mc "Directory:"] entry $w_body.where.t \ -textvariable @local_path \ - -font font_diff \ + -borderwidth 1 \ + -relief sunken \ -width 50 button $w_body.where.b \ -text [mc "Browse"] \ @@ -391,6 +398,8 @@ method _do_new {} { grid $w_body.where.l $w_body.where.t $w_body.where.b -sticky ew pack $w_body.where -fill x + grid columnconfigure $w_body.where 1 -weight 1 + trace add variable @local_path write [cb _write_local_path] bind $w_body.h <Destroy> [list trace remove variable @local_path write [cb _write_local_path]] update @@ -463,20 +472,22 @@ method _do_clone {} { frame $w_body.args pack $args -fill both - label $args.origin_l -text [mc "URL:"] + label $args.origin_l -text [mc "Source Location:"] entry $args.origin_t \ -textvariable @origin_url \ - -font font_diff \ + -borderwidth 1 \ + -relief sunken \ -width 50 button $args.origin_b \ -text [mc "Browse"] \ -command [cb _open_origin] grid $args.origin_l $args.origin_t $args.origin_b -sticky ew - label $args.where_l -text [mc "Directory:"] + label $args.where_l -text [mc "Target Directory:"] entry $args.where_t \ -textvariable @local_path \ - -font font_diff \ + -borderwidth 1 \ + -relief sunken \ -width 50 button $args.where_b \ -text [mc "Browse"] \ @@ -955,7 +966,34 @@ method _readtree_wait {fd} { return } - set done 1 + # -- Run the post-checkout hook. + # + set fd_ph [githook_read post-checkout [string repeat 0 40] \ + [git rev-parse HEAD] 1] + if {$fd_ph ne {}} { + global pch_error + set pch_error {} + fconfigure $fd_ph -blocking 0 -translation binary -eofchar {} + fileevent $fd_ph readable [cb _postcheckout_wait $fd_ph] + } else { + set done 1 + } +} + +method _postcheckout_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}]} { + hook_failed_popup post-checkout $pch_error 0 + } + unset pch_error + set done 1 + return + } + fconfigure $fd_ph -blocking 0 } ###################################################################### @@ -979,7 +1017,8 @@ method _do_open {} { label $w_body.where.l -text [mc "Repository:"] entry $w_body.where.t \ -textvariable @local_path \ - -font font_diff \ + -borderwidth 1 \ + -relief sunken \ -width 50 button $w_body.where.b \ -text [mc "Browse"] \ @@ -988,6 +1027,8 @@ method _do_open {} { grid $w_body.where.l $w_body.where.t $w_body.where.b -sticky ew pack $w_body.where -fill x + grid columnconfigure $w_body.where 1 -weight 1 + trace add variable @local_path write [cb _write_local_path] bind $w_body.h <Destroy> [list trace remove variable @local_path write [cb _write_local_path]] update diff --git a/git-gui/lib/commit.tcl b/git-gui/lib/commit.tcl index 40a7103557..7f459cd564 100644 --- a/git-gui/lib/commit.tcl +++ b/git-gui/lib/commit.tcl @@ -27,9 +27,8 @@ You are currently in the middle of a merge that has not been fully completed. Y 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] @@ -116,6 +115,23 @@ proc create_new_commit {} { rescan ui_ready } +proc setup_commit_encoding {msg_wt {quiet 0}} { + global repo_config + + 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 { + if {!$quiet} { + error_popup [mc "warning: Tcl does not support encoding '%s'." $enc] + } + fconfigure $msg_wt -encoding utf-8 + } +} + proc commit_tree {} { global HEAD commit_type file_states ui_comm repo_config global pch_error @@ -149,7 +165,9 @@ The rescan will be automatically started now. _? {continue} A? - D? - + T_ - M? {set files_ready 1} + _U - U? { error_popup [mc "Unmerged files cannot be committed. @@ -166,7 +184,7 @@ File %s cannot be committed by this program. } } } - if {!$files_ready && ![string match *merge $curType]} { + 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. @@ -175,6 +193,8 @@ You must stage at least 1 file before you can commit. return } + if {[is_enabled nocommitmsg]} { do_quit 0 } + # -- A message is required. # set msg [string trim [$ui_comm get 1.0 end]] @@ -197,19 +217,12 @@ A good commit message has the following format: 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] - fconfigure $msg_wt -encoding utf-8 - } + setup_commit_encoding $msg_wt 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] @@ -357,6 +370,7 @@ A rescan will be automatically started now. append reflogm " ($commit_type)" } set msg_fd [open $msg_p r] + setup_commit_encoding $msg_fd 1 gets $msg_fd subject close $msg_fd append reflogm {: } $subject @@ -393,8 +407,8 @@ A rescan will be automatically started now. # set fd_ph [githook_read post-commit] if {$fd_ph ne {}} { - upvar #0 pch_error$cmt_id pc_err - set pc_err {} + global pch_error + set pch_error {} fconfigure $fd_ph -blocking 0 -translation binary -eofchar {} fileevent $fd_ph readable \ [list commit_postcommit_wait $fd_ph $cmt_id] @@ -408,7 +422,7 @@ A rescan will be automatically started now. set ::GITGUI_BCK_exists 0 } - if {[is_enabled singlecommit]} do_quit + if {[is_enabled singlecommit]} { do_quit 0 } # -- Update in memory status # @@ -428,6 +442,7 @@ A rescan will be automatically started now. __ - A_ - M_ - + T_ - D_ { unset file_states($path) catch {unset selected_paths($path)} @@ -455,7 +470,7 @@ A rescan will be automatically started now. } proc commit_postcommit_wait {fd_ph cmt_id} { - upvar #0 pch_error$cmt_id pch_error + global pch_error append pch_error [read $fd_ph] fconfigure $fd_ph -blocking 1 diff --git a/git-gui/lib/diff.tcl b/git-gui/lib/diff.tcl index 1970b601e1..925b3f56c1 100644 --- a/git-gui/lib/diff.tcl +++ b/git-gui/lib/diff.tcl @@ -16,7 +16,7 @@ proc clear_diff {} { $ui_workdir tag remove in_diff 0.0 end } -proc reshow_diff {} { +proc reshow_diff {{after {}}} { global file_states file_lists global current_diff_path current_diff_side global ui_diff @@ -24,23 +24,43 @@ proc reshow_diff {} { set p $current_diff_path if {$p eq {}} { # No diff is being shown. - } elseif {$current_diff_side eq {} - || [catch {set s $file_states($p)}] - || [lsearch -sorted -exact $file_lists($current_diff_side) $p] == -1} { + } elseif {$current_diff_side eq {}} { clear_diff + } elseif {[catch {set s $file_states($p)}] + || [lsearch -sorted -exact $file_lists($current_diff_side) $p] == -1} { + + if {[find_next_diff $current_diff_side $p {} {[^O]}]} { + next_diff $after + } else { + clear_diff + } } else { set save_pos [lindex [$ui_diff yview] 0] - show_diff $p $current_diff_side {} $save_pos + show_diff $p $current_diff_side {} $save_pos $after + } +} + +proc force_diff_encoding {enc} { + global current_diff_path + + if {$current_diff_path ne {}} { + force_path_encoding $current_diff_path $enc + reshow_diff } } proc handle_empty_diff {} { global current_diff_path file_states file_lists + global diff_empty_count set path $current_diff_path set s $file_states($path) if {[lindex $s 0] ne {_M}} return + # Prevent infinite rescan loops + incr diff_empty_count + if {$diff_empty_count > 1} return + info_popup [mc "No differences detected. %s has no changes. @@ -54,11 +74,12 @@ A rescan will be automatically started to find other files which may have the sa rescan ui_ready 0 } -proc show_diff {path w {lno {}} {scroll_pos {}}} { +proc show_diff {path w {lno {}} {scroll_pos {}} {callback {}}} { global file_states file_lists - global is_3way_diff diff_active repo_config + global is_3way_diff is_conflict_diff diff_active repo_config global ui_diff ui_index ui_workdir global current_diff_path current_diff_side current_diff_header + global current_diff_queue if {$diff_active || ![lock_index read]} return @@ -71,21 +92,84 @@ proc show_diff {path w {lno {}} {scroll_pos {}}} { } if {$lno >= 1} { $w tag add in_diff $lno.0 [expr {$lno + 1}].0 + $w see $lno.0 } set s $file_states($path) set m [lindex $s 0] - set is_3way_diff 0 - set diff_active 1 + set is_conflict_diff 0 set current_diff_path $path set current_diff_side $w - set current_diff_header {} + set current_diff_queue {} ui_status [mc "Loading diff of %s..." [escape_path $path]] + set cont_info [list $scroll_pos $callback] + + if {[string first {U} $m] >= 0} { + merge_load_stages $path [list show_unmerged_diff $cont_info] + } elseif {$m eq {_O}} { + show_other_diff $path $w $m $cont_info + } else { + start_show_diff $cont_info + } +} + +proc show_unmerged_diff {cont_info} { + global current_diff_path current_diff_side + global merge_stages ui_diff is_conflict_diff + global current_diff_queue + + if {$merge_stages(2) eq {}} { + set is_conflict_diff 1 + lappend current_diff_queue \ + [list [mc "LOCAL: deleted\nREMOTE:\n"] d======= \ + [list ":1:$current_diff_path" ":3:$current_diff_path"]] + } elseif {$merge_stages(3) eq {}} { + set is_conflict_diff 1 + lappend current_diff_queue \ + [list [mc "REMOTE: deleted\nLOCAL:\n"] d======= \ + [list ":1:$current_diff_path" ":2:$current_diff_path"]] + } elseif {[lindex $merge_stages(1) 0] eq {120000} + || [lindex $merge_stages(2) 0] eq {120000} + || [lindex $merge_stages(3) 0] eq {120000}} { + set is_conflict_diff 1 + lappend current_diff_queue \ + [list [mc "LOCAL:\n"] d======= \ + [list ":1:$current_diff_path" ":2:$current_diff_path"]] + lappend current_diff_queue \ + [list [mc "REMOTE:\n"] d======= \ + [list ":1:$current_diff_path" ":3:$current_diff_path"]] + } else { + start_show_diff $cont_info + return + } + + advance_diff_queue $cont_info +} + +proc advance_diff_queue {cont_info} { + global current_diff_queue ui_diff + + set item [lindex $current_diff_queue 0] + set current_diff_queue [lrange $current_diff_queue 1 end] + + $ui_diff conf -state normal + $ui_diff insert end [lindex $item 0] [lindex $item 1] + $ui_diff conf -state disabled + + start_show_diff $cont_info [lindex $item 2] +} + +proc show_other_diff {path w m cont_info} { + global file_states file_lists + global is_3way_diff diff_active repo_config + global ui_diff ui_index ui_workdir + global current_diff_path current_diff_side current_diff_header + # - Git won't give us the diff, there's nothing to compare to! # if {$m eq {_O}} { - set max_sz [expr {128 * 1024}] + set max_sz 100000 set type unknown if {[catch { set type [file type $path] @@ -101,7 +185,9 @@ proc show_diff {path w {lno {}} {scroll_pos {}}} { } file { set fd [open $path r] - fconfigure $fd -eofchar {} + fconfigure $fd \ + -eofchar {} \ + -encoding [get_path_encoding $path] set content [read $fd $max_sz] close $fd set sz [file size $path] @@ -137,36 +223,57 @@ proc show_diff {path w {lno {}} {scroll_pos {}}} { d_@ } else { if {$sz > $max_sz} { - $ui_diff insert end \ -"* Untracked file is $sz bytes. -* Showing only first $max_sz bytes. -" d_@ + $ui_diff insert end [mc \ +"* Untracked file is %d bytes. +* Showing only first %d bytes. +" $sz $max_sz] d_@ } $ui_diff insert end $content if {$sz > $max_sz} { - $ui_diff insert end " -* Untracked file clipped here by [appname]. + $ui_diff insert end [mc " +* Untracked file clipped here by %s. * To see the entire file, use an external editor. -" d_@ +" [appname]] d_@ } } $ui_diff conf -state disabled set diff_active 0 unlock_index + set scroll_pos [lindex $cont_info 0] if {$scroll_pos ne {}} { update $ui_diff yview moveto $scroll_pos } ui_ready + set callback [lindex $cont_info 1] + if {$callback ne {}} { + eval $callback + } return } +} + +proc start_show_diff {cont_info {add_opts {}}} { + global file_states file_lists + global is_3way_diff diff_active repo_config + global ui_diff ui_index ui_workdir + global current_diff_path current_diff_side current_diff_header + + set path $current_diff_path + set w $current_diff_side + + set s $file_states($path) + set m [lindex $s 0] + set is_3way_diff 0 + set diff_active 1 + set current_diff_header {} set cmd [list] if {$w eq $ui_index} { lappend cmd diff-index lappend cmd --cached } elseif {$w eq $ui_workdir} { - if {[string index $m 0] eq {U}} { + if {[string first {U} $m] >= 0} { lappend cmd diff } else { lappend cmd diff-files @@ -181,8 +288,12 @@ proc show_diff {path w {lno {}} {scroll_pos {}}} { if {$w eq $ui_index} { lappend cmd [PARENT] } - lappend cmd -- - lappend cmd $path + if {$add_opts ne {}} { + eval lappend cmd $add_opts + } else { + lappend cmd -- + lappend cmd $path + } if {[catch {set fd [eval git_read --nice $cmd]} err]} { set diff_active 0 @@ -195,14 +306,16 @@ proc show_diff {path w {lno {}} {scroll_pos {}}} { set ::current_diff_inheader 1 fconfigure $fd \ -blocking 0 \ - -encoding binary \ - -translation binary - fileevent $fd readable [list read_diff $fd $scroll_pos] + -encoding [get_path_encoding $path] \ + -translation lf + fileevent $fd readable [list read_diff $fd $cont_info] } -proc read_diff {fd scroll_pos} { +proc read_diff {fd cont_info} { global ui_diff diff_active - global is_3way_diff current_diff_header + global is_3way_diff is_conflict_diff current_diff_header + global current_diff_queue + global diff_empty_count $ui_diff conf -state normal while {[gets $fd line] >= 0} { @@ -249,6 +362,7 @@ proc read_diff {fd scroll_pos} { {--} {set tags d_--} {++} { if {[regexp {^\+\+([<>]{7} |={7})} $line _g op]} { + set is_conflict_diff 1 set line [string replace $line 0 1 { }] set tags d$op } else { @@ -268,7 +382,7 @@ proc read_diff {fd scroll_pos} { {-} {set tags d_-} {+} { if {[regexp {^\+([<>]{7} |={7})} $line _g op]} { - set line [string replace $line 0 0 { }] + set is_conflict_diff 1 set tags d$op } else { set tags d_+ @@ -290,8 +404,15 @@ proc read_diff {fd scroll_pos} { if {[eof $fd]} { close $fd + + if {$current_diff_queue ne {}} { + advance_diff_queue $cont_info + return + } + set diff_active 0 unlock_index + set scroll_pos [lindex $cont_info 0] if {$scroll_pos ne {}} { update $ui_diff yview moveto $scroll_pos @@ -300,6 +421,13 @@ proc read_diff {fd scroll_pos} { if {[$ui_diff index end] eq {2.0}} { handle_empty_diff + } else { + set diff_empty_count 0 + } + + set callback [lindex $cont_info 1] + if {$callback ne {}} { + eval $callback } } } @@ -341,8 +469,9 @@ proc apply_hunk {x y} { } if {[catch { + set enc [get_path_encoding $current_diff_path] set p [eval git_write $apply_cmd] - fconfigure $p -translation binary -encoding binary + fconfigure $p -translation binary -encoding $enc puts -nonewline $p $current_diff_header puts -nonewline $p [$ui_diff get $s_lno $e_lno] close $p} err]} { @@ -370,10 +499,9 @@ proc apply_hunk {x y} { } unlock_index display_file $current_diff_path $mi + # This should trigger shift to the next changed file if {$o eq {_}} { - clear_diff - } else { - set current_diff_path $current_diff_path + reshow_diff } } @@ -511,8 +639,9 @@ proc apply_line {x y} { set patch "@@ -$hln,$n +$hln,[eval expr $n $sign 1] @@\n$patch" if {[catch { + set enc [get_path_encoding $current_diff_path] set p [eval git_write $apply_cmd] - fconfigure $p -translation binary -encoding binary + fconfigure $p -translation binary -encoding $enc puts -nonewline $p $current_diff_header puts -nonewline $p $patch close $p} err]} { diff --git a/git-gui/lib/encoding.tcl b/git-gui/lib/encoding.tcl index 7f06b0d47f..32668fc9c6 100644 --- a/git-gui/lib/encoding.tcl +++ b/git-gui/lib/encoding.tcl @@ -206,7 +206,7 @@ set encoding_aliases { { ISO-8859-16 iso-ir-226 ISO_8859-16:2001 ISO_8859-16 latin10 l10 } { GBK CP936 MS936 windows-936 } { JIS_Encoding csJISEncoding } - { Shift_JIS MS_Kanji csShiftJIS } + { Shift_JIS MS_Kanji csShiftJIS ShiftJIS Shift-JIS } { Extended_UNIX_Code_Packed_Format_for_Japanese csEUCPkdFmtJapanese EUC-JP } { Extended_UNIX_Code_Fixed_Width_for_Japanese csEUCFixWidJapanese } @@ -240,37 +240,227 @@ set encoding_aliases { { Big5 csBig5 } } +set encoding_groups { + {"" "" + {"Unicode" UTF-8} + {"Western" ISO-8859-1}} + {we "West European" + {"Western" ISO-8859-15 CP-437 CP-850 MacRoman CP-1252 Windows-1252} + {"Celtic" ISO-8859-14} + {"Greek" ISO-8859-14 ISO-8859-7 CP-737 CP-869 MacGreek CP-1253 Windows-1253} + {"Icelandic" MacIceland MacIcelandic CP-861} + {"Nordic" ISO-8859-10 CP-865} + {"Portuguese" CP-860} + {"South European" ISO-8859-3}} + {ee "East European" + {"Baltic" CP-775 ISO-8859-4 ISO-8859-13 CP-1257 Windows-1257} + {"Central European" CP-852 ISO-8859-2 MacCE CP-1250 Windows-1250} + {"Croatian" MacCroatian} + {"Cyrillic" CP-855 ISO-8859-5 ISO-IR-111 KOI8-R MacCyrillic CP-1251 Windows-1251} + {"Russian" CP-866} + {"Ukrainian" KOI8-U MacUkraine MacUkrainian} + {"Romanian" ISO-8859-16 MacRomania MacRomanian}} + {ea "East Asian" + {"Generic" ISO-2022} + {"Chinese Simplified" GB2312 GB1988 GB12345 GB2312-RAW GBK EUC-CN GB18030 HZ ISO-2022-CN} + {"Chinese Traditional" Big5 Big5-HKSCS EUC-TW CP-950} + {"Japanese" EUC-JP ISO-2022-JP Shift-JIS JIS-0212 JIS-0208 JIS-0201 CP-932 MacJapan} + {"Korean" EUC-KR UHC JOHAB ISO-2022-KR CP-949 KSC5601}} + {sa "SE & SW Asian" + {"Armenian" ARMSCII-8} + {"Georgian" GEOSTD8} + {"Thai" TIS-620 ISO-8859-11 CP-874 Windows-874 MacThai} + {"Turkish" CP-857 CP857 ISO-8859-9 MacTurkish CP-1254 Windows-1254} + {"Vietnamese" TCVN VISCII VPS CP-1258 Windows-1258} + {"Hindi" MacDevanagari} + {"Gujarati" MacGujarati} + {"Gurmukhi" MacGurmukhi}} + {me "Middle Eastern" + {"Arabic" ISO-8859-6 Windows-1256 CP-1256 CP-864 MacArabic} + {"Farsi" MacFarsi} + {"Hebrew" ISO-8859-8-I Windows-1255 CP-1255 ISO-8859-8 CP-862 MacHebrew}} + {mi "Misc" + {"7-bit" ASCII} + {"16-bit" Unicode} + {"Legacy" CP-863 EBCDIC} + {"Symbol" Symbol Dingbats MacDingbats MacCentEuro}} +} + +proc build_encoding_table {} { + global encoding_aliases encoding_lookup_table + + # Prepare the lookup list; cannot use lsort -nocase because + # of compatibility issues with older Tcl (e.g. in msysgit) + set names [list] + foreach item [encoding names] { + lappend names [list [string tolower $item] $item] + } + set names [lsort -ascii -index 0 $names] + # neither can we use lsearch -index + set lnames [list] + foreach item $names { + lappend lnames [lindex $item 0] + } + + foreach grp $encoding_aliases { + set target {} + foreach item $grp { + set i [lsearch -sorted -ascii $lnames \ + [string tolower $item]] + if {$i >= 0} { + set target [lindex $names $i 1] + break + } + } + if {$target eq {}} continue + foreach item $grp { + set encoding_lookup_table([string tolower $item]) $target + } + } + + foreach item $names { + set encoding_lookup_table([lindex $item 0]) [lindex $item 1] + } +} + proc tcl_encoding {enc} { - global encoding_aliases - set names [encoding names] - set lcnames [string tolower $names] - set enc [string tolower $enc] - set i [lsearch -exact $lcnames $enc] - if {$i < 0} { - # look for "isonnn" instead of "iso-nnn" or "iso_nnn" - if {[regsub {^iso[-_]} $enc iso encx]} { - set i [lsearch -exact $lcnames $encx] + global encoding_lookup_table + if {$enc eq {}} { + return {} + } + if {![info exists encoding_lookup_table]} { + build_encoding_table + } + set enc [string tolower $enc] + if {![info exists encoding_lookup_table($enc)]} { + # look for "isonnn" instead of "iso-nnn" or "iso_nnn" + if {[regsub {^(iso|cp|ibm|jis)[-_]} $enc {\1} encx]} { + set enc $encx + } + } + if {[info exists encoding_lookup_table($enc)]} { + return $encoding_lookup_table($enc) + } else { + return {} + } +} + +proc force_path_encoding {path enc} { + global path_encoding_overrides last_encoding_override + + set enc [tcl_encoding $enc] + if {$enc eq {}} { + catch { unset last_encoding_override } + catch { unset path_encoding_overrides($path) } + } else { + set last_encoding_override $enc + if {$path ne {}} { + set path_encoding_overrides($path) $enc + } + } +} + +proc get_path_encoding {path} { + global path_encoding_overrides last_encoding_override + + if {[info exists last_encoding_override]} { + set tcl_enc $last_encoding_override + } else { + set tcl_enc [tcl_encoding [get_config gui.encoding]] } - } - if {$i < 0} { - foreach l $encoding_aliases { - set ll [string tolower $l] - if {[lsearch -exact $ll $enc] < 0} continue - # look through the aliases for one that tcl knows about - foreach e $ll { - set i [lsearch -exact $lcnames $e] - if {$i < 0} { - if {[regsub {^iso[-_]} $e iso ex]} { - set i [lsearch -exact $lcnames $ex] - } + if {$tcl_enc eq {}} { + set tcl_enc [encoding system] + } + if {$path ne {}} { + if {[info exists path_encoding_overrides($path)]} { + set enc2 $path_encoding_overrides($path) + } else { + set enc2 [tcl_encoding [gitattr $path encoding $tcl_enc]] + } + if {$enc2 ne {}} { + set tcl_enc $enc2 + } + } + return $tcl_enc +} + +proc build_encoding_submenu {parent grp cmd} { + global used_encodings + + set mid [lindex $grp 0] + set gname [mc [lindex $grp 1]] + + set smenu {} + foreach subset [lrange $grp 2 end] { + set name [mc [lindex $subset 0]] + + foreach enc [lrange $subset 1 end] { + set tcl_enc [tcl_encoding $enc] + if {$tcl_enc eq {}} continue + + if {$smenu eq {}} { + if {$mid eq {}} { + set smenu $parent + } else { + set smenu "$parent.$mid" + menu $smenu + $parent add cascade \ + -label $gname \ + -menu $smenu + } + } + + if {$name ne {}} { + set lbl "$name ($enc)" + } else { + set lbl $enc + } + $smenu add command \ + -label $lbl \ + -command [concat $cmd [list $tcl_enc]] + + lappend used_encodings $tcl_enc + } + } +} + +proc popup_btn_menu {m b} { + tk_popup $m [winfo pointerx $b] [winfo pointery $b] +} + +proc build_encoding_menu {emenu cmd {nodef 0}} { + $emenu configure -postcommand \ + [list do_build_encoding_menu $emenu $cmd $nodef] +} + +proc do_build_encoding_menu {emenu cmd {nodef 0}} { + global used_encodings encoding_groups + + $emenu configure -postcommand {} + + if {!$nodef} { + $emenu add command \ + -label [mc "Default"] \ + -command [concat $cmd [list {}]] + } + set sysenc [encoding system] + $emenu add command \ + -label [mc "System (%s)" $sysenc] \ + -command [concat $cmd [list $sysenc]] + + # Main encoding tree + set used_encodings [list identity] + $emenu add separator + foreach grp $encoding_groups { + build_encoding_submenu $emenu $grp $cmd + } + + # Add unclassified encodings + set unused_grp [list [mc Other]] + foreach enc [encoding names] { + if {[lsearch -exact $used_encodings $enc] < 0} { + lappend unused_grp $enc } - if {$i >= 0} break - } - break } - } - if {$i >= 0} { - return [lindex $names $i] - } - return {} + build_encoding_submenu $emenu [list other [mc Other] $unused_grp] $cmd } diff --git a/git-gui/lib/index.tcl b/git-gui/lib/index.tcl index 3c1fce7475..d33896a0ce 100644 --- a/git-gui/lib/index.tcl +++ b/git-gui/lib/index.tcl @@ -99,6 +99,7 @@ proc write_update_indexinfo {fd pathList totalCnt batch after} { switch -glob -- [lindex $s 0] { A? {set new _O} M? {set new _M} + T_ {set new _T} D_ {set new _D} D? {set new _?} ?? {continue} @@ -162,6 +163,8 @@ proc write_update_index {fd pathList totalCnt batch after} { ?D {set new D_} _O - AM {set new A_} + _T {set new T_} + _U - U? { if {[file exists $path]} { set new M_ @@ -231,6 +234,7 @@ proc write_checkout_index {fd pathList totalCnt batch after} { switch -glob -- [lindex $file_states($path) 0] { U? {continue} ?M - + ?T - ?D { puts -nonewline $fd "[encoding convertto $path]\0" display_file $path ?_ @@ -252,6 +256,7 @@ proc unstage_helper {txt paths} { switch -glob -- [lindex $file_states($path) 0] { A? - M? - + T_ - D? { lappend pathList $path if {$path eq $current_diff_path} { @@ -293,10 +298,18 @@ proc add_helper {txt paths} { set after {} foreach path $paths { switch -glob -- [lindex $file_states($path) 0] { + _U - + U? { + if {$path eq $current_diff_path} { + unlock_index + merge_stage_workdir $path + return + } + } _O - ?M - ?D - - U? { + ?T { lappend pathList $path if {$path eq $current_diff_path} { set after {reshow_diff;} @@ -336,6 +349,7 @@ proc do_add_all {} { switch -glob -- [lindex $file_states($path) 0] { U? {continue} ?M - + ?T - ?D {lappend paths $path} } } @@ -353,6 +367,7 @@ proc revert_helper {txt paths} { switch -glob -- [lindex $file_states($path) 0] { U? {continue} ?M - + ?T - ?D { lappend pathList $path if {$path eq $current_diff_path} { @@ -409,11 +424,11 @@ proc do_revert_selection {} { if {[array size selected_paths] > 0} { revert_helper \ - {Reverting selected files} \ + [mc "Reverting selected files"] \ [array names selected_paths] } elseif {$current_diff_path ne {}} { revert_helper \ - "Reverting [short_path $current_diff_path]" \ + [mc "Reverting %s" [short_path $current_diff_path]] \ [list $current_diff_path] } } diff --git a/git-gui/lib/merge.tcl b/git-gui/lib/merge.tcl index 5c01875b05..283e4915e9 100644 --- a/git-gui/lib/merge.tcl +++ b/git-gui/lib/merge.tcl @@ -40,6 +40,7 @@ The rescan will be automatically started now. _O { continue; # and pray it works! } + _U - U? { error_popup [mc "You are in the middle of a conflicted merge. diff --git a/git-gui/lib/mergetool.tcl b/git-gui/lib/mergetool.tcl new file mode 100644 index 0000000000..3fe90e6970 --- /dev/null +++ b/git-gui/lib/mergetool.tcl @@ -0,0 +1,393 @@ +# git-gui merge conflict resolution +# parts based on git-mergetool (c) 2006 Theodore Y. Ts'o + +proc merge_resolve_one {stage} { + global current_diff_path + + switch -- $stage { + 1 { set targetquestion [mc "Force resolution to the base version?"] } + 2 { set targetquestion [mc "Force resolution to this branch?"] } + 3 { set targetquestion [mc "Force resolution to the other branch?"] } + } + + set op_question [strcat $targetquestion "\n" \ +[mc "Note that the diff shows only conflicting changes. + +%s will be overwritten. + +This operation can be undone only by restarting the merge." \ + [short_path $current_diff_path]]] + + if {[ask_popup $op_question] eq {yes}} { + merge_load_stages $current_diff_path [list merge_force_stage $stage] + } +} + +proc merge_stage_workdir {path {lno {}}} { + global current_diff_path diff_active + global current_diff_side ui_workdir + + if {$diff_active} return + + if {$path ne $current_diff_path || $ui_workdir ne $current_diff_side} { + show_diff $path $ui_workdir $lno {} [list do_merge_stage_workdir $path] + } else { + do_merge_stage_workdir $path + } +} + +proc do_merge_stage_workdir {path} { + global current_diff_path is_conflict_diff + + if {$path ne $current_diff_path} return; + + if {$is_conflict_diff} { + if {[ask_popup [mc "File %s seems to have unresolved conflicts, still stage?" \ + [short_path $path]]] ne {yes}} { + return + } + } + + merge_add_resolution $path +} + +proc merge_add_resolution {path} { + global current_diff_path ui_workdir + + set after [next_diff_after_action $ui_workdir $path {} {^_?U}] + + update_index \ + [mc "Adding resolution for %s" [short_path $path]] \ + [list $path] \ + [concat $after [list ui_ready]] +} + +proc merge_force_stage {stage} { + global current_diff_path merge_stages + + if {$merge_stages($stage) ne {}} { + git checkout-index -f --stage=$stage -- $current_diff_path + } else { + file delete -- $current_diff_path + } + + merge_add_resolution $current_diff_path +} + +proc merge_load_stages {path cont} { + global merge_stages_fd merge_stages merge_stages_buf + + if {[info exists merge_stages_fd]} { + catch { kill_file_process $merge_stages_fd } + catch { close $merge_stages_fd } + } + + set merge_stages(0) {} + set merge_stages(1) {} + set merge_stages(2) {} + set merge_stages(3) {} + set merge_stages_buf {} + + set merge_stages_fd [eval git_read ls-files -u -z -- {$path}] + + fconfigure $merge_stages_fd -blocking 0 -translation binary -encoding binary + fileevent $merge_stages_fd readable [list read_merge_stages $merge_stages_fd $cont] +} + +proc read_merge_stages {fd cont} { + global merge_stages_buf merge_stages_fd merge_stages + + append merge_stages_buf [read $fd] + set pck [split $merge_stages_buf "\0"] + set merge_stages_buf [lindex $pck end] + + if {[eof $fd] && $merge_stages_buf ne {}} { + lappend pck {} + set merge_stages_buf {} + } + + foreach p [lrange $pck 0 end-1] { + set fcols [split $p "\t"] + set cols [split [lindex $fcols 0] " "] + set stage [lindex $cols 2] + + set merge_stages($stage) [lrange $cols 0 1] + } + + if {[eof $fd]} { + close $fd + unset merge_stages_fd + eval $cont + } +} + +proc merge_resolve_tool {} { + global current_diff_path + + merge_load_stages $current_diff_path [list merge_resolve_tool2] +} + +proc merge_resolve_tool2 {} { + global current_diff_path merge_stages + + # Validate the stages + if {$merge_stages(2) eq {} || + [lindex $merge_stages(2) 0] eq {120000} || + [lindex $merge_stages(2) 0] eq {160000} || + $merge_stages(3) eq {} || + [lindex $merge_stages(3) 0] eq {120000} || + [lindex $merge_stages(3) 0] eq {160000} + } { + error_popup [mc "Cannot resolve deletion or link conflicts using a tool"] + return + } + + if {![file exists $current_diff_path]} { + error_popup [mc "Conflict file does not exist"] + return + } + + # Determine the tool to use + set tool [get_config merge.tool] + if {$tool eq {}} { set tool meld } + + set merge_tool_path [get_config "mergetool.$tool.path"] + if {$merge_tool_path eq {}} { + switch -- $tool { + emerge { set merge_tool_path "emacs" } + araxis { set merge_tool_path "compare" } + default { set merge_tool_path $tool } + } + } + + # Make file names + set filebase [file rootname $current_diff_path] + set fileext [file extension $current_diff_path] + set basename [lindex [file split $current_diff_path] end] + + set MERGED $current_diff_path + set BASE "./$MERGED.BASE$fileext" + set LOCAL "./$MERGED.LOCAL$fileext" + set REMOTE "./$MERGED.REMOTE$fileext" + set BACKUP "./$MERGED.BACKUP$fileext" + + set base_stage $merge_stages(1) + + # Build the command line + switch -- $tool { + kdiff3 { + if {$base_stage ne {}} { + set cmdline [list "$merge_tool_path" --auto --L1 "$MERGED (Base)" \ + --L2 "$MERGED (Local)" --L3 "$MERGED (Remote)" -o "$MERGED" "$BASE" "$LOCAL" "$REMOTE"] + } else { + set cmdline [list "$merge_tool_path" --auto --L1 "$MERGED (Local)" \ + --L2 "$MERGED (Remote)" -o "$MERGED" "$LOCAL" "$REMOTE"] + } + } + tkdiff { + if {$base_stage ne {}} { + set cmdline [list "$merge_tool_path" -a "$BASE" -o "$MERGED" "$LOCAL" "$REMOTE"] + } else { + set cmdline [list "$merge_tool_path" -o "$MERGED" "$LOCAL" "$REMOTE"] + } + } + meld { + set cmdline [list "$merge_tool_path" "$LOCAL" "$MERGED" "$REMOTE"] + } + gvimdiff { + set cmdline [list "$merge_tool_path" -f "$LOCAL" "$MERGED" "$REMOTE"] + } + xxdiff { + if {$base_stage ne {}} { + set cmdline [list "$merge_tool_path" -X --show-merged-pane \ + -R {Accel.SaveAsMerged: "Ctrl-S"} \ + -R {Accel.Search: "Ctrl+F"} \ + -R {Accel.SearchForward: "Ctrl-G"} \ + --merged-file "$MERGED" "$LOCAL" "$BASE" "$REMOTE"] + } else { + set cmdline [list "$merge_tool_path" -X --show-merged-pane \ + -R {Accel.SaveAsMerged: "Ctrl-S"} \ + -R {Accel.Search: "Ctrl+F"} \ + -R {Accel.SearchForward: "Ctrl-G"} \ + --merged-file "$MERGED" "$LOCAL" "$REMOTE"] + } + } + opendiff { + if {$base_stage ne {}} { + set cmdline [list "$merge_tool_path" "$LOCAL" "$REMOTE" -ancestor "$BASE" -merge "$MERGED"] + } else { + set cmdline [list "$merge_tool_path" "$LOCAL" "$REMOTE" -merge "$MERGED"] + } + } + ecmerge { + if {$base_stage ne {}} { + set cmdline [list "$merge_tool_path" "$BASE" "$LOCAL" "$REMOTE" --default --mode=merge3 --to="$MERGED"] + } else { + set cmdline [list "$merge_tool_path" "$LOCAL" "$REMOTE" --default --mode=merge2 --to="$MERGED"] + } + } + emerge { + if {$base_stage ne {}} { + set cmdline [list "$merge_tool_path" -f emerge-files-with-ancestor-command \ + "$LOCAL" "$REMOTE" "$BASE" "$basename"] + } else { + set cmdline [list "$merge_tool_path" -f emerge-files-command \ + "$LOCAL" "$REMOTE" "$basename"] + } + } + winmerge { + if {$base_stage ne {}} { + # This tool does not support 3-way merges. + # Use the 'conflict file' resolution feature instead. + set cmdline [list "$merge_tool_path" -e -ub "$MERGED"] + } else { + set cmdline [list "$merge_tool_path" -e -ub -wl \ + -dl "Theirs File" -dr "Mine File" "$REMOTE" "$LOCAL" "$MERGED"] + } + } + araxis { + if {$base_stage ne {}} { + set cmdline [list "$merge_tool_path" -wait -merge -3 -a1 \ + -title1:"'$MERGED (Base)'" -title2:"'$MERGED (Local)'" \ + -title3:"'$MERGED (Remote)'" \ + "$BASE" "$LOCAL" "$REMOTE" "$MERGED"] + } else { + set cmdline [list "$merge_tool_path" -wait -2 \ + -title1:"'$MERGED (Local)'" -title2:"'$MERGED (Remote)'" \ + "$LOCAL" "$REMOTE" "$MERGED"] + } + } + p4merge { + set cmdline [list "$merge_tool_path" "$BASE" "$REMOTE" "$LOCAL" "$MERGED"] + } + vimdiff { + error_popup [mc "Not a GUI merge tool: '%s'" $tool] + return + } + default { + error_popup [mc "Unsupported merge tool '%s'" $tool] + return + } + } + + merge_tool_start $cmdline $MERGED $BACKUP [list $BASE $LOCAL $REMOTE] +} + +proc delete_temp_files {files} { + foreach fname $files { + file delete $fname + } +} + +proc merge_tool_get_stages {target stages} { + global merge_stages + + set i 1 + foreach fname $stages { + if {$merge_stages($i) eq {}} { + file delete $fname + catch { close [open $fname w] } + } else { + # A hack to support autocrlf properly + git checkout-index -f --stage=$i -- $target + file rename -force -- $target $fname + } + incr i + } +} + +proc merge_tool_start {cmdline target backup stages} { + global merge_stages mtool_target mtool_tmpfiles mtool_fd mtool_mtime + + if {[info exists mtool_fd]} { + if {[ask_popup [mc "Merge tool is already running, terminate it?"]] eq {yes}} { + catch { kill_file_process $mtool_fd } + catch { close $mtool_fd } + unset mtool_fd + + set old_backup [lindex $mtool_tmpfiles end] + file rename -force -- $old_backup $mtool_target + delete_temp_files $mtool_tmpfiles + } else { + return + } + } + + # Save the original file + file rename -force -- $target $backup + + # Get the blobs; it destroys $target + if {[catch {merge_tool_get_stages $target $stages} err]} { + file rename -force -- $backup $target + delete_temp_files $stages + error_popup [mc "Error retrieving versions:\n%s" $err] + return + } + + # Restore the conflict file + file copy -force -- $backup $target + + # Initialize global state + set mtool_target $target + set mtool_mtime [file mtime $target] + set mtool_tmpfiles $stages + + lappend mtool_tmpfiles $backup + + # Force redirection to avoid interpreting output on stderr + # as an error, and launch the tool + lappend cmdline {2>@1} + + if {[catch { set mtool_fd [_open_stdout_stderr $cmdline] } err]} { + delete_temp_files $mtool_tmpfiles + error_popup [mc "Could not start the merge tool:\n\n%s" $err] + return + } + + ui_status [mc "Running merge tool..."] + + fconfigure $mtool_fd -blocking 0 -translation binary -encoding binary + fileevent $mtool_fd readable [list read_mtool_output $mtool_fd] +} + +proc read_mtool_output {fd} { + global mtool_fd mtool_tmpfiles + + read $fd + if {[eof $fd]} { + unset mtool_fd + + fconfigure $fd -blocking 1 + merge_tool_finish $fd + } +} + +proc merge_tool_finish {fd} { + global mtool_tmpfiles mtool_target mtool_mtime + + set backup [lindex $mtool_tmpfiles end] + set failed 0 + + # Check the return code + if {[catch {close $fd} err]} { + set failed 1 + if {$err ne {child process exited abnormally}} { + error_popup [strcat [mc "Merge tool failed."] "\n\n$err"] + } + } + + # Finish + if {$failed} { + file rename -force -- $backup $mtool_target + delete_temp_files $mtool_tmpfiles + ui_status [mc "Merge tool failed."] + } else { + if {[is_config_true mergetool.keepbackup]} { + file rename -force -- $backup "$mtool_target.orig" + } + + delete_temp_files $mtool_tmpfiles + + reshow_diff + } +} diff --git a/git-gui/lib/option.tcl b/git-gui/lib/option.tcl index 5e1346e601..1d55b49c9b 100644 --- a/git-gui/lib/option.tcl +++ b/git-gui/lib/option.tcl @@ -1,9 +1,31 @@ # git-gui options editor # Copyright (C) 2006, 2007 Shawn Pearce +proc config_check_encodings {} { + global repo_config_new global_config_new + + set enc $global_config_new(gui.encoding) + if {$enc eq {}} { + set global_config_new(gui.encoding) [encoding system] + } elseif {[tcl_encoding $enc] eq {}} { + error_popup [mc "Invalid global encoding '%s'" $enc] + return 0 + } + + set enc $repo_config_new(gui.encoding) + if {$enc eq {}} { + set repo_config_new(gui.encoding) [encoding system] + } elseif {[tcl_encoding $enc] eq {}} { + error_popup [mc "Invalid repo encoding '%s'" $enc] + return 0 + } + + return 1 +} + proc save_config {} { global default_config font_descs - global repo_config global_config + global repo_config global_config system_config global repo_config_new global_config_new global ui_comm_spell @@ -27,7 +49,7 @@ proc save_config {} { foreach name [array names default_config] { set value $global_config_new($name) if {$value ne $global_config($name)} { - if {$value eq $default_config($name)} { + if {$value eq $system_config($name)} { catch {git config --global --unset $name} } else { regsub -all "\[{}\]" $value {"} value @@ -119,15 +141,18 @@ proc do_options {} { {b merge.summary {mc "Summarize Merge Commits"}} {i-1..5 merge.verbosity {mc "Merge Verbosity"}} {b merge.diffstat {mc "Show Diffstat After Merge"}} + {t merge.tool {mc "Use Merge Tool"}} {b gui.trustmtime {mc "Trust File Modification Timestamps"}} {b gui.pruneduringfetch {mc "Prune Tracking Branches During Fetch"}} {b gui.matchtrackingbranch {mc "Match Tracking Branches"}} {b gui.fastcopyblame {mc "Blame Copy Only On Changed Files"}} {i-20..200 gui.copyblamethreshold {mc "Minimum Letters To Blame Copy On"}} + {i-0..300 gui.blamehistoryctx {mc "Blame History Context Radius (days)"}} {i-1..99 gui.diffcontext {mc "Number of Diff Context Lines"}} {i-0..99 gui.commitmsgwidth {mc "Commit Message Text Width"}} {t gui.newbranchtemplate {mc "New Branch Name Template"}} + {c gui.encoding {mc "Default File Contents Encoding"}} } { set type [lindex $option 0] set name [lindex $option 1] @@ -157,6 +182,7 @@ proc do_options {} { pack $w.$f.$optid.v -side right -anchor e -padx 5 pack $w.$f.$optid -side top -anchor w -fill x } + c - t { frame $w.$f.$optid label $w.$f.$optid.l -text "$text:" @@ -169,6 +195,16 @@ proc do_options {} { pack $w.$f.$optid.v -side left -anchor w \ -fill x -expand 1 \ -padx 5 + if {$type eq {c}} { + menu $w.$f.$optid.m + build_encoding_menu $w.$f.$optid.m \ + [list set ${f}_config_new($name)] 1 + button $w.$f.$optid.b \ + -text [mc "Change"] \ + -command [list popup_btn_menu \ + $w.$f.$optid.m $w.$f.$optid.b] + pack $w.$f.$optid.b -side left -anchor w + } pack $w.$f.$optid -side top -anchor w -fill x } } @@ -248,17 +284,17 @@ proc do_options {} { } proc do_restore_defaults {} { - global font_descs default_config repo_config + global font_descs default_config repo_config system_config global repo_config_new global_config_new foreach name [array names default_config] { - set repo_config_new($name) $default_config($name) - set global_config_new($name) $default_config($name) + set repo_config_new($name) $system_config($name) + set global_config_new($name) $system_config($name) } foreach option $font_descs { set name [lindex $option 0] - set repo_config(gui.$name) $default_config(gui.$name) + set repo_config(gui.$name) $system_config(gui.$name) } apply_config @@ -273,6 +309,7 @@ proc do_restore_defaults {} { } proc do_save_config {w} { + if {![config_check_encodings]} return if {[catch {save_config} err]} { error_popup [strcat [mc "Failed to completely save options:"] "\n\n$err"] } diff --git a/git-gui/lib/remote.tcl b/git-gui/lib/remote.tcl index 0e86ddac09..b92b429cf7 100644 --- a/git-gui/lib/remote.tcl +++ b/git-gui/lib/remote.tcl @@ -132,91 +132,145 @@ proc load_all_remotes {} { set all_remotes [lsort -unique $all_remotes] } -proc populate_fetch_menu {} { - global all_remotes repo_config - +proc add_fetch_entry {r} { + global repo_config set remote_m .mbar.remote set fetch_m $remote_m.fetch set prune_m $remote_m.prune - - foreach r $all_remotes { - set enable 0 - if {![catch {set a $repo_config(remote.$r.url)}]} { - if {![catch {set a $repo_config(remote.$r.fetch)}]} { - set enable 1 - } - } else { - catch { - set fd [open [gitdir remotes $r] r] - while {[gets $fd n] >= 0} { - if {[regexp {^Pull:[ \t]*([^:]+):} $n]} { - set enable 1 - break - } + set remove_m $remote_m.remove + set enable 0 + if {![catch {set a $repo_config(remote.$r.url)}]} { + if {![catch {set a $repo_config(remote.$r.fetch)}]} { + set enable 1 + } + } else { + catch { + set fd [open [gitdir remotes $r] r] + while {[gets $fd n] >= 0} { + if {[regexp {^Pull:[ \t]*([^:]+):} $n]} { + set enable 1 + break } - close $fd } + close $fd } + } - if {$enable} { - if {![winfo exists $fetch_m]} { - menu $prune_m - $remote_m insert 0 cascade \ - -label [mc "Prune from"] \ - -menu $prune_m - - menu $fetch_m - $remote_m insert 0 cascade \ - -label [mc "Fetch from"] \ - -menu $fetch_m - } + if {$enable} { + if {![winfo exists $fetch_m]} { + menu $remove_m + $remote_m insert 0 cascade \ + -label [mc "Remove Remote"] \ + -menu $remove_m + + menu $prune_m + $remote_m insert 0 cascade \ + -label [mc "Prune from"] \ + -menu $prune_m - $fetch_m add command \ - -label $r \ - -command [list fetch_from $r] - $prune_m add command \ - -label $r \ - -command [list prune_from $r] + menu $fetch_m + $remote_m insert 0 cascade \ + -label [mc "Fetch from"] \ + -menu $fetch_m } + + $fetch_m add command \ + -label $r \ + -command [list fetch_from $r] + $prune_m add command \ + -label $r \ + -command [list prune_from $r] + $remove_m add command \ + -label $r \ + -command [list remove_remote $r] } } -proc populate_push_menu {} { - global all_remotes repo_config - +proc add_push_entry {r} { + global repo_config set remote_m .mbar.remote set push_m $remote_m.push - - foreach r $all_remotes { - set enable 0 - if {![catch {set a $repo_config(remote.$r.url)}]} { - if {![catch {set a $repo_config(remote.$r.push)}]} { - set enable 1 - } - } else { - catch { - set fd [open [gitdir remotes $r] r] - while {[gets $fd n] >= 0} { - if {[regexp {^Push:[ \t]*([^:]+):} $n]} { - set enable 1 - break - } + set enable 0 + if {![catch {set a $repo_config(remote.$r.url)}]} { + if {![catch {set a $repo_config(remote.$r.push)}]} { + set enable 1 + } + } else { + catch { + set fd [open [gitdir remotes $r] r] + while {[gets $fd n] >= 0} { + if {[regexp {^Push:[ \t]*([^:]+):} $n]} { + set enable 1 + break } - close $fd } + close $fd } + } - if {$enable} { - if {![winfo exists $push_m]} { - menu $push_m - $remote_m insert 0 cascade \ - -label [mc "Push to"] \ - -menu $push_m - } - - $push_m add command \ - -label $r \ - -command [list push_to $r] + if {$enable} { + if {![winfo exists $push_m]} { + menu $push_m + $remote_m insert 0 cascade \ + -label [mc "Push to"] \ + -menu $push_m } + + $push_m add command \ + -label $r \ + -command [list push_to $r] + } +} + +proc populate_remotes_menu {} { + global all_remotes + + foreach r $all_remotes { + add_fetch_entry $r + add_push_entry $r + } +} + +proc add_single_remote {name location} { + global all_remotes repo_config + lappend all_remotes $name + + git remote add $name $location + + # XXX: Better re-read the config so that we will never get out + # of sync with git remote implementation? + set repo_config(remote.$name.url) $location + set repo_config(remote.$name.fetch) "+refs/heads/*:refs/remotes/$name/*" + + add_fetch_entry $name + add_push_entry $name +} + +proc delete_from_menu {menu name} { + if {[winfo exists $menu]} { + $menu delete $name } } + +proc remove_remote {name} { + global all_remotes repo_config + + git remote rm $name + + catch { + # Missing values are ok + unset repo_config(remote.$name.url) + unset repo_config(remote.$name.fetch) + unset repo_config(remote.$name.push) + } + + set i [lsearch -exact all_remotes $name] + lreplace all_remotes $i $i + + set remote_m .mbar.remote + delete_from_menu $remote_m.fetch $name + delete_from_menu $remote_m.prune $name + delete_from_menu $remote_m.remove $name + # Not all remotes are in the push menu + catch { delete_from_menu $remote_m.push $name } +} diff --git a/git-gui/lib/remote_add.tcl b/git-gui/lib/remote_add.tcl new file mode 100644 index 0000000000..fb29422aa7 --- /dev/null +++ b/git-gui/lib/remote_add.tcl @@ -0,0 +1,191 @@ +# git-gui remote adding support +# Copyright (C) 2008 Petr Baudis + +class remote_add { + +field w ; # widget path +field w_name ; # new remote name widget +field w_loc ; # new remote location widget + +field name {}; # name of the remote the user has chosen +field location {}; # location of the remote the user has chosen + +field opt_action fetch; # action to do after registering the remote locally + +constructor dialog {} { + global repo_config + + make_toplevel top w + wm title $top [append "[appname] ([reponame]): " [mc "Add Remote"]] + if {$top ne {.}} { + wm geometry $top "+[winfo rootx .]+[winfo rooty .]" + } + + label $w.header -text [mc "Add New Remote"] -font font_uibold + pack $w.header -side top -fill x + + frame $w.buttons + button $w.buttons.create -text [mc Add] \ + -default active \ + -command [cb _add] + pack $w.buttons.create -side right + button $w.buttons.cancel -text [mc Cancel] \ + -command [list destroy $w] + pack $w.buttons.cancel -side right -padx 5 + pack $w.buttons -side bottom -fill x -pady 10 -padx 10 + + labelframe $w.desc -text [mc "Remote Details"] + + label $w.desc.name_l -text [mc "Name:"] + set w_name $w.desc.name_t + entry $w_name \ + -borderwidth 1 \ + -relief sunken \ + -width 40 \ + -textvariable @name \ + -validate key \ + -validatecommand [cb _validate_name %d %S] + grid $w.desc.name_l $w_name -sticky we -padx {0 5} + + label $w.desc.loc_l -text [mc "Location:"] + set w_loc $w.desc.loc_t + entry $w_loc \ + -borderwidth 1 \ + -relief sunken \ + -width 40 \ + -textvariable @location + grid $w.desc.loc_l $w_loc -sticky we -padx {0 5} + + grid columnconfigure $w.desc 1 -weight 1 + pack $w.desc -anchor nw -fill x -pady 5 -padx 5 + + labelframe $w.action -text [mc "Further Action"] + + radiobutton $w.action.fetch \ + -text [mc "Fetch Immediately"] \ + -value fetch \ + -variable @opt_action + pack $w.action.fetch -anchor nw + + radiobutton $w.action.push \ + -text [mc "Initialize Remote Repository and Push"] \ + -value push \ + -variable @opt_action + pack $w.action.push -anchor nw + + radiobutton $w.action.none \ + -text [mc "Do Nothing Else Now"] \ + -value none \ + -variable @opt_action + pack $w.action.none -anchor nw + + grid columnconfigure $w.action 1 -weight 1 + pack $w.action -anchor nw -fill x -pady 5 -padx 5 + + bind $w <Visibility> [cb _visible] + bind $w <Key-Escape> [list destroy $w] + bind $w <Key-Return> [cb _add]\;break + tkwait window $w +} + +method _add {} { + global repo_config env + global M1B + + if {$name eq {}} { + tk_messageBox \ + -icon error \ + -type ok \ + -title [wm title $w] \ + -parent $w \ + -message [mc "Please supply a remote name."] + focus $w_name + return + } + + # XXX: We abuse check-ref-format here, but + # that should be ok. + if {[catch {git check-ref-format "remotes/$name"}]} { + tk_messageBox \ + -icon error \ + -type ok \ + -title [wm title $w] \ + -parent $w \ + -message [mc "'%s' is not an acceptable remote name." $name] + focus $w_name + return + } + + if {[catch {add_single_remote $name $location}]} { + tk_messageBox \ + -icon error \ + -type ok \ + -title [wm title $w] \ + -parent $w \ + -message [mc "Failed to add remote '%s' of location '%s'." $name $location] + focus $w_name + return + } + + switch -- $opt_action { + fetch { + set c [console::new \ + [mc "fetch %s" $name] \ + [mc "Fetching the %s" $name]] + console::exec $c [list git fetch $name] + } + push { + set cmds [list] + + # Parse the location + if { [regexp {(?:git\+)?ssh://([^/]+)(/.+)} $location xx host path] + || [regexp {([^:][^:]+):(.+)} $location xx host path]} { + set ssh ssh + if {[info exists env(GIT_SSH)]} { + set ssh $env(GIT_SSH) + } + lappend cmds [list exec $ssh $host mkdir -p $location && git --git-dir=$path init --bare] + } elseif { ! [regexp {://} $location xx] } { + lappend cmds [list exec mkdir -p $location] + lappend cmds [list exec git --git-dir=$location init --bare] + } else { + tk_messageBox \ + -icon error \ + -type ok \ + -title [wm title $w] \ + -parent $w \ + -message [mc "Do not know how to initialize repository at location '%s'." $location] + destroy $w + return + } + + set c [console::new \ + [mc "push %s" $name] \ + [mc "Setting up the %s (at %s)" $name $location]] + + lappend cmds [list exec git push -v --all $name] + console::chain $c $cmds + } + none { + } + } + + destroy $w +} + +method _validate_name {d S} { + if {$d == 1} { + if {[regexp {[~^:?*\[\0- ]} $S]} { + return 0 + } + } + return 1 +} + +method _visible {} { + grab $w + $w_name icursor end + focus $w_name +} + +} diff --git a/git-gui/lib/remote_branch_delete.tcl b/git-gui/lib/remote_branch_delete.tcl index c7b8148698..4e02fc0d39 100644 --- a/git-gui/lib/remote_branch_delete.tcl +++ b/git-gui/lib/remote_branch_delete.tcl @@ -26,12 +26,12 @@ constructor dialog {} { global all_remotes M1B make_toplevel top w - wm title $top [append "[appname] ([reponame]): " [mc "Delete Remote Branch"]] + wm title $top [append "[appname] ([reponame]): " [mc "Delete Branch Remotely"]] if {$top ne {.}} { wm geometry $top "+[winfo rootx .]+[winfo rooty .]" } - label $w.header -text [mc "Delete Remote Branch"] -font font_uibold + label $w.header -text [mc "Delete Branch Remotely"] -font font_uibold pack $w.header -side top -fill x frame $w.buttons @@ -63,7 +63,7 @@ constructor dialog {} { set urltype url } radiobutton $w.dest.url_r \ - -text [mc "Arbitrary URL:"] \ + -text [mc "Arbitrary Location:"] \ -value url \ -variable @urltype entry $w.dest.url_t \ @@ -213,9 +213,7 @@ method _delete {} { -type yesno \ -title [wm title $w] \ -parent $w \ - -message [mc "Recovering deleted branches is difficult. - -Delete the selected branches?"]] ne yes} { + -message [mc "Recovering deleted branches is difficult.\n\nDelete the selected branches?"]] ne yes} { return } diff --git a/git-gui/lib/search.tcl b/git-gui/lib/search.tcl new file mode 100644 index 0000000000..b371e9a30a --- /dev/null +++ b/git-gui/lib/search.tcl @@ -0,0 +1,198 @@ +# incremental search panel +# based on code from gitk, Copyright (C) Paul Mackerras + +class searchbar { + +field w +field ctext + +field searchstring {} +field casesensitive 1 +field searchdirn -forwards + +field smarktop +field smarkbot + +constructor new {i_w i_text args} { + set w $i_w + set ctext $i_text + + frame $w + label $w.l -text [mc Find:] + entry $w.ent -textvariable ${__this}::searchstring -background lightgreen + button $w.bn -text [mc Next] -command [cb find_next] + button $w.bp -text [mc Prev] -command [cb find_prev] + checkbutton $w.cs -text [mc Case-Sensitive] \ + -variable ${__this}::casesensitive -command [cb _incrsearch] + pack $w.l -side left + pack $w.cs -side right + pack $w.bp -side right + pack $w.bn -side right + pack $w.ent -side left -expand 1 -fill x + + eval grid conf $w -sticky we $args + grid remove $w + + trace add variable searchstring write [cb _incrsearch_cb] + + bind $w <Destroy> [list delete_this $this] + return $this +} + +method show {} { + if {![visible $this]} { + grid $w + } + focus -force $w.ent +} + +method hide {} { + if {[visible $this]} { + focus $ctext + grid remove $w + } +} + +method visible {} { + return [winfo ismapped $w] +} + +method editor {} { + return $w.ent +} + +method _get_new_anchor {} { + # use start of selection if it is visible, + # or the bounds of the visible area + set top [$ctext index @0,0] + set bottom [$ctext index @0,[winfo height $ctext]] + set sel [$ctext tag ranges sel] + if {$sel ne {}} { + set spos [lindex $sel 0] + if {[lindex $spos 0] >= [lindex $top 0] && + [lindex $spos 0] <= [lindex $bottom 0]} { + return $spos + } + } + if {$searchdirn eq "-forwards"} { + return $top + } else { + return $bottom + } +} + +method _get_wrap_anchor {dir} { + if {$dir eq "-forwards"} { + return 1.0 + } else { + return end + } +} + +method _do_search {start {mlenvar {}} {dir {}} {endbound {}}} { + set cmd [list $ctext search] + if {$mlenvar ne {}} { + upvar $mlenvar mlen + lappend cmd -count mlen + } + if {!$casesensitive} { + lappend cmd -nocase + } + if {$dir eq {}} { + set dir $searchdirn + } + lappend cmd $dir -- $searchstring + if {$endbound ne {}} { + set here [eval $cmd [list $start] [list $endbound]] + } else { + set here [eval $cmd [list $start]] + if {$here eq {}} { + set here [eval $cmd [_get_wrap_anchor $this $dir]] + } + } + return $here +} + +method _incrsearch_cb {name ix op} { + after idle [cb _incrsearch] +} + +method _incrsearch {} { + $ctext tag remove found 1.0 end + if {[catch {$ctext index anchor}]} { + $ctext mark set anchor [_get_new_anchor $this] + } + if {$searchstring ne {}} { + set here [_do_search $this anchor mlen] + if {$here ne {}} { + $ctext see $here + $ctext tag remove sel 1.0 end + $ctext tag add sel $here "$here + $mlen c" + $w.ent configure -background lightgreen + _set_marks $this 1 + } else { + $w.ent configure -background lightpink + } + } +} + +method find_prev {} { + find_next $this -backwards +} + +method find_next {{dir -forwards}} { + focus $w.ent + $w.ent icursor end + set searchdirn $dir + $ctext mark unset anchor + if {$searchstring ne {}} { + set start [_get_new_anchor $this] + if {$dir eq "-forwards"} { + set start "$start + 1c" + } + set match [_do_search $this $start mlen] + $ctext tag remove sel 1.0 end + if {$match ne {}} { + $ctext see $match + $ctext tag add sel $match "$match + $mlen c" + } + } +} + +method _mark_range {first last} { + set mend $first.0 + while {1} { + set match [_do_search $this $mend mlen -forwards $last.end] + if {$match eq {}} break + set mend "$match + $mlen c" + $ctext tag add found $match $mend + } +} + +method _set_marks {doall} { + set topline [lindex [split [$ctext index @0,0] .] 0] + set botline [lindex [split [$ctext index @0,[winfo height $ctext]] .] 0] + if {$doall || $botline < $smarktop || $topline > $smarkbot} { + # no overlap with previous + _mark_range $this $topline $botline + set smarktop $topline + set smarkbot $botline + } else { + if {$topline < $smarktop} { + _mark_range $this $topline [expr {$smarktop-1}] + set smarktop $topline + } + if {$botline > $smarkbot} { + _mark_range $this [expr {$smarkbot+1}] $botline + set smarkbot $botline + } + } +} + +method scrolled {} { + if {$searchstring ne {}} { + after idle [cb _set_marks 0] + } +} + +}
\ No newline at end of file diff --git a/git-gui/lib/shortcut.tcl b/git-gui/lib/shortcut.tcl index 38c3151b05..2f20eb39c0 100644 --- a/git-gui/lib/shortcut.tcl +++ b/git-gui/lib/shortcut.tcl @@ -54,7 +54,7 @@ proc do_cygwin_shortcut {} { $argv0] win32_create_lnk $fn [list \ $sh -c \ - "CHERE_INVOKING=1 source /etc/profile;[sq $me]" \ + "CHERE_INVOKING=1 source /etc/profile;[sq $me] &" \ ] \ [file dirname [file normalize [gitdir]]] } err]} { diff --git a/git-gui/lib/spellcheck.tcl b/git-gui/lib/spellcheck.tcl index a479b2f285..e6120303e9 100644 --- a/git-gui/lib/spellcheck.tcl +++ b/git-gui/lib/spellcheck.tcl @@ -314,6 +314,7 @@ method _run {} { method _read {} { while {[gets $s_fd line] >= 0} { set lineno [lindex $s_pending 0 0] + set line [string trim $line] if {$s_clear} { $w_text tag remove misspelled "$lineno.0" "$lineno.end" diff --git a/git-gui/lib/sshkey.tcl b/git-gui/lib/sshkey.tcl new file mode 100644 index 0000000000..82a1a80ff4 --- /dev/null +++ b/git-gui/lib/sshkey.tcl @@ -0,0 +1,126 @@ +# git-gui about git-gui dialog +# Copyright (C) 2006, 2007 Shawn Pearce + +proc find_ssh_key {} { + foreach name {~/.ssh/id_dsa.pub ~/.ssh/id_rsa.pub ~/.ssh/identity.pub} { + if {[file exists $name]} { + set fh [open $name r] + set cont [read $fh] + close $fh + return [list $name $cont] + } + } + + return {} +} + +proc do_ssh_key {} { + global sshkey_title have_tk85 sshkey_fd + + set w .sshkey_dialog + if {[winfo exists $w]} { + raise $w + return + } + + toplevel $w + wm transient $w . + + set finfo [find_ssh_key] + if {$finfo eq {}} { + set sshkey_title [mc "No keys found."] + set gen_state normal + } else { + set sshkey_title [mc "Found a public key in: %s" [lindex $finfo 0]] + set gen_state disabled + } + + frame $w.header -relief flat + label $w.header.lbl -textvariable sshkey_title -anchor w + button $w.header.gen -text [mc "Generate Key"] \ + -command [list make_ssh_key $w] -state $gen_state + pack $w.header.lbl -side left -expand 1 -fill x + pack $w.header.gen -side right + pack $w.header -fill x -pady 5 -padx 5 + + text $w.contents -width 60 -height 10 -wrap char -relief sunken + pack $w.contents -fill both -expand 1 + if {$have_tk85} { + $w.contents configure -inactiveselectbackground darkblue + } + + frame $w.buttons + button $w.buttons.close -text [mc Close] \ + -default active -command [list destroy $w] + pack $w.buttons.close -side right + button $w.buttons.copy -text [mc "Copy To Clipboard"] \ + -command [list tk_textCopy $w.contents] + pack $w.buttons.copy -side left + pack $w.buttons -side bottom -fill x -pady 5 -padx 5 + + if {$finfo ne {}} { + $w.contents insert end [lindex $finfo 1] sel + } + $w.contents configure -state disabled + + bind $w <Visibility> "grab $w; focus $w.buttons.close" + bind $w <Key-Escape> "destroy $w" + bind $w <Key-Return> "destroy $w" + bind $w <Destroy> kill_sshkey + wm title $w [mc "Your OpenSSH Public Key"] + tk::PlaceWindow $w widget . + tkwait window $w +} + +proc make_ssh_key {w} { + global sshkey_title sshkey_output sshkey_fd + + set sshkey_title [mc "Generating..."] + $w.header.gen configure -state disabled + + set cmdline [list sh -c {echo | ssh-keygen -q -t rsa -f ~/.ssh/id_rsa 2>&1}] + + if {[catch { set sshkey_fd [_open_stdout_stderr $cmdline] } err]} { + error_popup [mc "Could not start ssh-keygen:\n\n%s" $err] + return + } + + set sshkey_output {} + fconfigure $sshkey_fd -blocking 0 + fileevent $sshkey_fd readable [list read_sshkey_output $sshkey_fd $w] +} + +proc kill_sshkey {} { + global sshkey_fd + if {![info exists sshkey_fd]} return + catch { kill_file_process $sshkey_fd } + catch { close $sshkey_fd } +} + +proc read_sshkey_output {fd w} { + global sshkey_fd sshkey_output sshkey_title + + set sshkey_output "$sshkey_output[read $fd]" + if {![eof $fd]} return + + fconfigure $fd -blocking 1 + unset sshkey_fd + + $w.contents configure -state normal + if {[catch {close $fd} err]} { + set sshkey_title [mc "Generation failed."] + $w.contents insert end $err + $w.contents insert end "\n" + $w.contents insert end $sshkey_output + } else { + set finfo [find_ssh_key] + if {$finfo eq {}} { + set sshkey_title [mc "Generation succeded, but no keys found."] + $w.contents insert end $sshkey_output + } else { + set sshkey_title [mc "Your key is in: %s" [lindex $finfo 0]] + $w.contents insert end [lindex $finfo 1] sel + } + } + $w.contents configure -state disable +} diff --git a/git-gui/lib/tools.tcl b/git-gui/lib/tools.tcl new file mode 100644 index 0000000000..95e6e5553e --- /dev/null +++ b/git-gui/lib/tools.tcl @@ -0,0 +1,159 @@ +# git-gui Tools menu implementation + +proc tools_list {} { + global repo_config + + set names {} + foreach item [array names repo_config guitool.*.cmd] { + lappend names [string range $item 8 end-4] + } + return [lsort $names] +} + +proc tools_populate_all {} { + global tools_menubar tools_menutbl + global tools_tailcnt + + set mbar_end [$tools_menubar index end] + set mbar_base [expr {$mbar_end - $tools_tailcnt}] + if {$mbar_base >= 0} { + $tools_menubar delete 0 $mbar_base + } + + array unset tools_menutbl + + foreach fullname [tools_list] { + tools_populate_one $fullname + } +} + +proc tools_create_item {parent args} { + global tools_menubar tools_tailcnt + if {$parent eq $tools_menubar} { + set pos [expr {[$parent index end]-$tools_tailcnt+1}] + eval [list $parent insert $pos] $args + } else { + eval [list $parent add] $args + } +} + +proc tools_populate_one {fullname} { + global tools_menubar tools_menutbl tools_id + + if {![info exists tools_id]} { + set tools_id 0 + } + + set names [split $fullname '/'] + set parent $tools_menubar + for {set i 0} {$i < [llength $names]-1} {incr i} { + set subname [join [lrange $names 0 $i] '/'] + if {[info exists tools_menutbl($subname)]} { + set parent $tools_menutbl($subname) + } else { + set subid $parent.t$tools_id + tools_create_item $parent cascade \ + -label [lindex $names $i] -menu $subid + menu $subid + set tools_menutbl($subname) $subid + set parent $subid + incr tools_id + } + } + + tools_create_item $parent command \ + -label [lindex $names end] \ + -command [list tools_exec $fullname] +} + +proc tools_exec {fullname} { + global repo_config env current_diff_path + global current_branch is_detached + + if {[is_config_true "guitool.$fullname.needsfile"]} { + if {$current_diff_path eq {}} { + error_popup [mc "Running %s requires a selected file." $fullname] + return + } + } + + catch { unset env(ARGS) } + catch { unset env(REVISION) } + + if {[get_config "guitool.$fullname.revprompt"] ne {} || + [get_config "guitool.$fullname.argprompt"] ne {}} { + set dlg [tools_askdlg::dialog $fullname] + if {![tools_askdlg::execute $dlg]} { + return + } + } elseif {[is_config_true "guitool.$fullname.confirm"]} { + if {[ask_popup [mc "Are you sure you want to run %s?" $fullname]] ne {yes}} { + return + } + } + + set env(GIT_GUITOOL) $fullname + set env(FILENAME) $current_diff_path + if {$is_detached} { + set env(CUR_BRANCH) "" + } else { + set env(CUR_BRANCH) $current_branch + } + + set cmdline $repo_config(guitool.$fullname.cmd) + if {[is_config_true "guitool.$fullname.noconsole"]} { + tools_run_silent [list sh -c $cmdline] \ + [list tools_complete $fullname {}] + } else { + regsub {/} $fullname { / } title + set w [console::new \ + [mc "Tool: %s" $title] \ + [mc "Running: %s" $cmdline]] + console::exec $w [list sh -c $cmdline] \ + [list tools_complete $fullname $w] + } + + unset env(GIT_GUITOOL) + unset env(FILENAME) + unset env(CUR_BRANCH) + catch { unset env(ARGS) } + catch { unset env(REVISION) } +} + +proc tools_run_silent {cmd after} { + lappend cmd 2>@1 + set fd [_open_stdout_stderr $cmd] + + fconfigure $fd -blocking 0 -translation binary + fileevent $fd readable [list tools_consume_input $fd $after] +} + +proc tools_consume_input {fd after} { + read $fd + if {[eof $fd]} { + fconfigure $fd -blocking 1 + if {[catch {close $fd}]} { + uplevel #0 $after 0 + } else { + uplevel #0 $after 1 + } + } +} + +proc tools_complete {fullname w {ok 1}} { + if {$w ne {}} { + console::done $w $ok + } + + if {$ok} { + set msg [mc "Tool completed successfully: %s" $fullname] + } else { + set msg [mc "Tool failed: %s" $fullname] + } + + if {[is_config_true "guitool.$fullname.norescan"]} { + ui_status $msg + } else { + rescan [list ui_status $msg] + } +} diff --git a/git-gui/lib/tools_dlg.tcl b/git-gui/lib/tools_dlg.tcl new file mode 100644 index 0000000000..5f7f08e239 --- /dev/null +++ b/git-gui/lib/tools_dlg.tcl @@ -0,0 +1,421 @@ +# git-gui Tools menu dialogs + +class tools_add { + +field w ; # widget path +field w_name ; # new remote name widget +field w_cmd ; # new remote location widget + +field name {}; # name of the tool +field command {}; # command to execute +field add_global 0; # add to the --global config +field no_console 0; # disable using the console +field needs_file 0; # ensure filename is set +field confirm 0; # ask for confirmation +field ask_branch 0; # ask for a revision +field ask_args 0; # ask for additional args + +constructor dialog {} { + global repo_config + + make_toplevel top w + wm title $top [append "[appname] ([reponame]): " [mc "Add Tool"]] + if {$top ne {.}} { + wm geometry $top "+[winfo rootx .]+[winfo rooty .]" + wm transient $top . + } + + label $w.header -text [mc "Add New Tool Command"] -font font_uibold + pack $w.header -side top -fill x + + frame $w.buttons + checkbutton $w.buttons.global \ + -text [mc "Add globally"] \ + -variable @add_global + pack $w.buttons.global -side left -padx 5 + button $w.buttons.create -text [mc Add] \ + -default active \ + -command [cb _add] + pack $w.buttons.create -side right + button $w.buttons.cancel -text [mc Cancel] \ + -command [list destroy $w] + pack $w.buttons.cancel -side right -padx 5 + pack $w.buttons -side bottom -fill x -pady 10 -padx 10 + + labelframe $w.desc -text [mc "Tool Details"] + + label $w.desc.name_cmnt -anchor w\ + -text [mc "Use '/' separators to create a submenu tree:"] + grid x $w.desc.name_cmnt -sticky we -padx {0 5} -pady {0 2} + label $w.desc.name_l -text [mc "Name:"] + set w_name $w.desc.name_t + entry $w_name \ + -borderwidth 1 \ + -relief sunken \ + -width 40 \ + -textvariable @name \ + -validate key \ + -validatecommand [cb _validate_name %d %S] + grid $w.desc.name_l $w_name -sticky we -padx {0 5} + + label $w.desc.cmd_l -text [mc "Command:"] + set w_cmd $w.desc.cmd_t + entry $w_cmd \ + -borderwidth 1 \ + -relief sunken \ + -width 40 \ + -textvariable @command + grid $w.desc.cmd_l $w_cmd -sticky we -padx {0 5} -pady {0 3} + + grid columnconfigure $w.desc 1 -weight 1 + pack $w.desc -anchor nw -fill x -pady 5 -padx 5 + + checkbutton $w.confirm \ + -text [mc "Show a dialog before running"] \ + -variable @confirm -command [cb _check_enable_dlg] + + labelframe $w.dlg -labelwidget $w.confirm + + checkbutton $w.dlg.askbranch \ + -text [mc "Ask the user to select a revision (sets \$REVISION)"] \ + -variable @ask_branch -state disabled + pack $w.dlg.askbranch -anchor w -padx 15 + + checkbutton $w.dlg.askargs \ + -text [mc "Ask the user for additional arguments (sets \$ARGS)"] \ + -variable @ask_args -state disabled + pack $w.dlg.askargs -anchor w -padx 15 + + pack $w.dlg -anchor nw -fill x -pady {0 8} -padx 5 + + checkbutton $w.noconsole \ + -text [mc "Don't show the command output window"] \ + -variable @no_console + pack $w.noconsole -anchor w -padx 5 + + checkbutton $w.needsfile \ + -text [mc "Run only if a diff is selected (\$FILENAME not empty)"] \ + -variable @needs_file + pack $w.needsfile -anchor w -padx 5 + + bind $w <Visibility> [cb _visible] + bind $w <Key-Escape> [list destroy $w] + bind $w <Key-Return> [cb _add]\;break + tkwait window $w +} + +method _check_enable_dlg {} { + if {$confirm} { + $w.dlg.askbranch configure -state normal + $w.dlg.askargs configure -state normal + } else { + $w.dlg.askbranch configure -state disabled + $w.dlg.askargs configure -state disabled + } +} + +method _add {} { + global repo_config + + if {$name eq {}} { + error_popup [mc "Please supply a name for the tool."] + focus $w_name + return + } + + set item "guitool.$name.cmd" + + if {[info exists repo_config($item)]} { + error_popup [mc "Tool '%s' already exists." $name] + focus $w_name + return + } + + set cmd [list git config] + if {$add_global} { lappend cmd --global } + set items {} + if {$no_console} { lappend items "guitool.$name.noconsole" } + if {$needs_file} { lappend items "guitool.$name.needsfile" } + if {$confirm} { + if {$ask_args} { lappend items "guitool.$name.argprompt" } + if {$ask_branch} { lappend items "guitool.$name.revprompt" } + if {!$ask_args && !$ask_branch} { + lappend items "guitool.$name.confirm" + } + } + + if {[catch { + eval $cmd [list $item $command] + foreach citem $items { eval $cmd [list $citem yes] } + } err]} { + error_popup [mc "Could not add tool:\n%s" $err] + } else { + set repo_config($item) $command + foreach citem $items { set repo_config($citem) yes } + + tools_populate_all + } + + destroy $w +} + +method _validate_name {d S} { + if {$d == 1} { + if {[regexp {[~?*&\[\0\"\\\{]} $S]} { + return 0 + } + } + return 1 +} + +method _visible {} { + grab $w + $w_name icursor end + focus $w_name +} + +} + +class tools_remove { + +field w ; # widget path +field w_names ; # name list + +constructor dialog {} { + global repo_config global_config system_config + + load_config 1 + + make_toplevel top w + wm title $top [append "[appname] ([reponame]): " [mc "Remove Tool"]] + if {$top ne {.}} { + wm geometry $top "+[winfo rootx .]+[winfo rooty .]" + wm transient $top . + } + + label $w.header -text [mc "Remove Tool Commands"] -font font_uibold + pack $w.header -side top -fill x + + frame $w.buttons + button $w.buttons.create -text [mc Remove] \ + -default active \ + -command [cb _remove] + pack $w.buttons.create -side right + button $w.buttons.cancel -text [mc Cancel] \ + -command [list destroy $w] + pack $w.buttons.cancel -side right -padx 5 + pack $w.buttons -side bottom -fill x -pady 10 -padx 10 + + frame $w.list + set w_names $w.list.l + listbox $w_names \ + -height 10 \ + -width 30 \ + -selectmode extended \ + -exportselection false \ + -yscrollcommand [list $w.list.sby set] + scrollbar $w.list.sby -command [list $w.list.l yview] + pack $w.list.sby -side right -fill y + pack $w.list.l -side left -fill both -expand 1 + pack $w.list -fill both -expand 1 -pady 5 -padx 5 + + set local_cnt 0 + foreach fullname [tools_list] { + # Cannot delete system tools + if {[info exists system_config(guitool.$fullname.cmd)]} continue + + $w_names insert end $fullname + if {![info exists global_config(guitool.$fullname.cmd)]} { + $w_names itemconfigure end -foreground blue + incr local_cnt + } + } + + if {$local_cnt > 0} { + label $w.colorlbl -foreground blue \ + -text [mc "(Blue denotes repository-local tools)"] + pack $w.colorlbl -fill x -pady 5 -padx 5 + } + + bind $w <Visibility> [cb _visible] + bind $w <Key-Escape> [list destroy $w] + bind $w <Key-Return> [cb _remove]\;break + tkwait window $w +} + +method _remove {} { + foreach i [$w_names curselection] { + set name [$w_names get $i] + + catch { git config --remove-section guitool.$name } + catch { git config --global --remove-section guitool.$name } + } + + load_config 0 + tools_populate_all + + destroy $w +} + +method _visible {} { + grab $w + focus $w_names +} + +} + +class tools_askdlg { + +field w ; # widget path +field w_rev {}; # revision browser +field w_args {}; # arguments + +field is_ask_args 0; # has arguments field +field is_ask_revs 0; # has revision browser + +field is_ok 0; # ok to start +field argstr {}; # arguments + +constructor dialog {fullname} { + global M1B + + set title [get_config "guitool.$fullname.title"] + if {$title eq {}} { + regsub {/} $fullname { / } title + } + + make_toplevel top w -autodelete 0 + wm title $top [append "[appname] ([reponame]): " $title] + if {$top ne {.}} { + wm geometry $top "+[winfo rootx .]+[winfo rooty .]" + wm transient $top . + } + + set prompt [get_config "guitool.$fullname.prompt"] + if {$prompt eq {}} { + set command [get_config "guitool.$fullname.cmd"] + set prompt [mc "Run Command: %s" $command] + } + + label $w.header -text $prompt -font font_uibold + pack $w.header -side top -fill x + + set argprompt [get_config "guitool.$fullname.argprompt"] + set revprompt [get_config "guitool.$fullname.revprompt"] + + set is_ask_args [expr {$argprompt ne {}}] + set is_ask_revs [expr {$revprompt ne {}}] + + if {$is_ask_args} { + if {$argprompt eq {yes} || $argprompt eq {true} || $argprompt eq {1}} { + set argprompt [mc "Arguments"] + } + + labelframe $w.arg -text $argprompt + + set w_args $w.arg.txt + entry $w_args \ + -borderwidth 1 \ + -relief sunken \ + -width 40 \ + -textvariable @argstr + pack $w_args -padx 5 -pady 5 -fill both + pack $w.arg -anchor nw -fill both -pady 5 -padx 5 + } + + if {$is_ask_revs} { + if {$revprompt eq {yes} || $revprompt eq {true} || $revprompt eq {1}} { + set revprompt [mc "Revision"] + } + + if {[is_config_true "guitool.$fullname.revunmerged"]} { + set w_rev [::choose_rev::new_unmerged $w.rev $revprompt] + } else { + set w_rev [::choose_rev::new $w.rev $revprompt] + } + + pack $w.rev -anchor nw -fill both -expand 1 -pady 5 -padx 5 + } + + frame $w.buttons + if {$is_ask_revs} { + button $w.buttons.visualize \ + -text [mc Visualize] \ + -command [cb _visualize] + pack $w.buttons.visualize -side left + } + button $w.buttons.ok \ + -text [mc OK] \ + -command [cb _start] + pack $w.buttons.ok -side right + button $w.buttons.cancel \ + -text [mc "Cancel"] \ + -command [cb _cancel] + pack $w.buttons.cancel -side right -padx 5 + pack $w.buttons -side bottom -fill x -pady 10 -padx 10 + + bind $w <$M1B-Key-Return> [cb _start] + bind $w <Key-Return> [cb _start] + bind $w <Key-Escape> [cb _cancel] + wm protocol $w WM_DELETE_WINDOW [cb _cancel] + + bind $w <Visibility> [cb _visible] + return $this +} + +method execute {} { + tkwait window $w + set rv $is_ok + delete_this + return $rv +} + +method _visible {} { + grab $w + if {$is_ask_args} { + focus $w_args + } elseif {$is_ask_revs} { + $w_rev focus_filter + } +} + +method _cancel {} { + wm protocol $w WM_DELETE_WINDOW {} + destroy $w +} + +method _rev {} { + if {[catch {$w_rev commit_or_die}]} { + return {} + } + return [$w_rev get] +} + +method _visualize {} { + global current_branch + set rev [_rev $this] + if {$rev ne {}} { + do_gitk [list --left-right "$current_branch...$rev"] + } +} + +method _start {} { + global env + + if {$is_ask_revs} { + set name [_rev $this] + if {$name eq {}} { + return + } + set env(REVISION) $name + } + + if {$is_ask_args} { + set env(ARGS) $argstr + } + + set is_ok 1 + _cancel $this +} + +} diff --git a/git-gui/lib/transport.tcl b/git-gui/lib/transport.tcl index 8e6a9d0a60..b18d9c7a1b 100644 --- a/git-gui/lib/transport.tcl +++ b/git-gui/lib/transport.tcl @@ -33,10 +33,15 @@ proc push_to {remote} { proc start_push_anywhere_action {w} { global push_urltype push_remote push_url push_thin push_tags global push_force + global repo_config + set is_mirror 0 set r_url {} switch -- $push_urltype { - remote {set r_url $push_remote} + remote { + set r_url $push_remote + catch {set is_mirror $repo_config(remote.$push_remote.mirror)} + } url {set r_url $push_url} } if {$r_url eq {}} return @@ -53,23 +58,29 @@ proc start_push_anywhere_action {w} { lappend cmd --tags } lappend cmd $r_url - set cnt 0 - foreach i [$w.source.l curselection] { - set b [$w.source.l get $i] - lappend cmd "refs/heads/$b:refs/heads/$b" - incr cnt - } - if {$cnt == 0} { - return - } elseif {$cnt == 1} { - set unit branch + if {$is_mirror} { + set cons [console::new \ + [mc "push %s" $r_url] \ + [mc "Mirroring to %s" $r_url]] } else { - set unit branches - } + set cnt 0 + foreach i [$w.source.l curselection] { + set b [$w.source.l get $i] + lappend cmd "refs/heads/$b:refs/heads/$b" + incr cnt + } + if {$cnt == 0} { + return + } elseif {$cnt == 1} { + set unit branch + } else { + set unit branches + } - set cons [console::new \ - [mc "push %s" $r_url] \ - [mc "Pushing %s %s to %s" $cnt $unit $r_url]] + set cons [console::new \ + [mc "push %s" $r_url] \ + [mc "Pushing %s %s to %s" $cnt $unit $r_url]] + } console::exec $cons $cmd destroy $w } @@ -135,7 +146,7 @@ proc do_push_anywhere {} { set push_urltype url } radiobutton $w.dest.url_r \ - -text [mc "Arbitrary URL:"] \ + -text [mc "Arbitrary Location:"] \ -value url \ -variable push_urltype entry $w.dest.url_t \ diff --git a/git-gui/po/de.po b/git-gui/po/de.po index fa43947ad0..51abb50bb6 100644 --- a/git-gui/po/de.po +++ b/git-gui/po/de.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: git-gui\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-08-02 08:58+0200\n" -"PO-Revision-Date: 2008-08-02 09:09+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 <stimming@tuhh.de>\n" "Language-Team: German\n" "MIME-Version: 1.0\n" @@ -86,7 +86,15 @@ msgstr "Dateistatus aktualisieren..." msgid "Scanning for modified files ..." msgstr "Nach geänderten Dateien suchen..." -#: git-gui.sh:1324 lib/browser.tcl:246 +#: git-gui.sh:1367 +msgid "Calling prepare-commit-msg hook..." +msgstr "Aufrufen der Eintragen-Vorbereiten-Kontrolle..." + +#: git-gui.sh:1384 +msgid "Commit declined by prepare-commit-msg hook." +msgstr "Eintragen abgelehnt durch Eintragen-Vorbereiten-Kontrolle (»prepare-commit hook«)." + +#: git-gui.sh:1542 lib/browser.tcl:246 msgid "Ready." msgstr "Bereit." @@ -110,7 +118,15 @@ msgstr "Teilweise bereitgestellt zum Eintragen" msgid "Staged for commit, missing" msgstr "Bereitgestellt zum Eintragen, fehlend" -#: git-gui.sh:1597 +#: 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" @@ -162,7 +178,15 @@ msgstr "Zusammenführen" msgid "Remote" msgstr "Andere Archive" -#: git-gui.sh:1879 +#: 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" @@ -259,7 +283,15 @@ msgstr "Löschen..." msgid "Reset..." msgstr "Zurücksetzen..." -#: git-gui.sh:2002 git-gui.sh:2389 +#: 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" @@ -299,11 +331,7 @@ msgstr "Mehr Zeilen anzeigen" msgid "Sign Off" msgstr "Abzeichnen" -#: git-gui.sh:2053 git-gui.sh:2372 -msgid "Commit@@verb" -msgstr "Eintragen" - -#: git-gui.sh:2064 +#: git-gui.sh:2458 msgid "Local Merge..." msgstr "Lokales Zusammenführen..." @@ -311,11 +339,19 @@ msgstr "Lokales Zusammenführen..." msgid "Abort Merge..." msgstr "Zusammenführen abbrechen..." -#: git-gui.sh:2081 +#: git-gui.sh:2475 +msgid "Add..." +msgstr "Hinzufügen..." + +#: git-gui.sh:2479 msgid "Push..." msgstr "Versenden..." -#: git-gui.sh:2197 git-gui.sh:2219 lib/about.tcl:14 +#: 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" @@ -329,7 +365,11 @@ msgstr "Einstellungen..." 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" @@ -337,7 +377,11 @@ msgstr "Hilfe" 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 "" @@ -396,15 +440,7 @@ msgstr "Alle kopieren" msgid "File:" msgstr "Datei:" -#: git-gui.sh:2589 -msgid "Apply/Reverse Hunk" -msgstr "Kontext anwenden/umkehren" - -#: git-gui.sh:2696 -msgid "Apply/Reverse Line" -msgstr "Zeile anwenden/umkehren" - -#: git-gui.sh:2711 +#: git-gui.sh:2834 msgid "Refresh" msgstr "Aktualisieren" @@ -416,7 +452,35 @@ msgstr "Schriftgröße verkleinern" msgid "Increase Font Size" msgstr "Schriftgröße vergrößern" -#: git-gui.sh:2646 +#: 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" @@ -494,11 +558,23 @@ msgstr "Version:" 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:388 +#: 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..." @@ -547,7 +623,23 @@ msgstr "Eintragender:" msgid "Original File:" msgstr "Ursprüngliche Datei:" -#: lib/blame.tcl:925 +#: lib/blame.tcl:1021 +msgid "Cannot find HEAD commit:" +msgstr "Zweigspitze (»HEAD«) kann nicht gefunden werden:" + +#: 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:" @@ -681,16 +773,6 @@ msgstr "Immer (ohne Zusammenführungstest)" 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 "" @@ -970,7 +1052,7 @@ msgstr "Zuletzt benutztes Projektarchiv öffnen:" 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:" @@ -979,12 +1061,12 @@ msgstr "Verzeichnis:" 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." @@ -993,11 +1075,15 @@ msgstr "Datei »%s« existiert bereits." msgid "Clone" msgstr "Klonen" -#: lib/choose_repository.tcl:468 -msgid "URL:" -msgstr "URL:" +#: lib/choose_repository.tcl:473 +msgid "Source Location:" +msgstr "Herkunft:" + +#: lib/choose_repository.tcl:484 +msgid "Target Directory:" +msgstr "Zielverzeichnis:" -#: lib/choose_repository.tcl:489 +#: lib/choose_repository.tcl:490 msgid "Clone Type:" msgstr "Art des Klonens:" @@ -1477,7 +1563,31 @@ msgstr "" msgid "Loading diff of %s..." msgstr "Vergleich von »%s« laden..." -#: lib/diff.tcl:114 lib/diff.tcl:184 +#: 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 "LOKAL:\n" + +#: lib/diff.tcl:135 +msgid "REMOTE:\n" +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" @@ -1494,11 +1604,27 @@ msgstr "Git-Projektarchiv (Unterprojekt)" msgid "* Binary file (not showing content)." msgstr "* Binärdatei (Inhalt wird nicht angezeigt)" -#: lib/diff.tcl:185 -msgid "Error loading diff:" -msgstr "Fehler beim Laden des Vergleichs:" +#: 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:303 +#: lib/diff.tcl:436 msgid "Failed to unstage selected hunk." msgstr "" "Fehler beim Herausnehmen des gewählten Kontexts aus der Bereitstellung." @@ -1515,6 +1641,19 @@ msgstr "Fehler beim Herausnehmen der gewählten Zeile aus der Bereitstellung." 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" @@ -1586,6 +1725,15 @@ msgstr "" 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" @@ -1730,7 +1878,107 @@ msgstr "Abbruch fehlgeschlagen." msgid "Abort completed. Ready." msgstr "Abbruch durchgeführt. Bereit." -#: lib/option.tcl:95 +#: 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" @@ -1767,7 +2015,11 @@ msgstr "Ausführlichkeit der Zusammenführen-Meldungen" msgid "Show Diffstat After Merge" msgstr "Vergleichsstatistik nach Zusammenführen anzeigen" -#: lib/option.tcl:123 +#: 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" @@ -1788,6 +2040,10 @@ 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" @@ -1799,7 +2055,15 @@ msgstr "Textbreite der Versionsbeschreibung" msgid "New Branch Name Template" msgstr "Namensvorschlag für neue Zweige" -#: lib/option.tcl:192 +#: lib/option.tcl:155 +msgid "Default File Contents Encoding" +msgstr "Voreingestellte Zeichenkodierung" + +#: lib/option.tcl:203 +msgid "Change" +msgstr "Ändern" + +#: lib/option.tcl:230 msgid "Spelling Dictionary:" msgstr "Wörterbuch Rechtschreibprüfung:" @@ -1824,9 +2088,86 @@ msgstr "Einstellungen" 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 +msgid "Please supply a remote name." +msgstr "Bitte geben Sie einen Namen des anderen Archivs an." + +#: lib/remote_add.tcl:114 +#, tcl-format +msgid "'%s' is not an acceptable remote name." +msgstr "»%s« ist kein zulässiger Name eines anderen Archivs." + +#: lib/remote_add.tcl:125 +#, tcl-format +msgid "Failed to add remote '%s' of location '%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 +#, tcl-format +msgid "Fetching the %s" +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." + +#: 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 Remote Branch" -msgstr "Zweig in anderem Projektarchiv löschen" +msgid "Delete Branch Remotely" +msgstr "Zweig in anderem Archiv löschen" #: lib/remote_branch_delete.tcl:47 msgid "From Repository" @@ -1837,8 +2178,8 @@ msgid "Remote:" msgstr "Anderes Archiv:" #: lib/remote_branch_delete.tcl:66 lib/transport.tcl:138 -msgid "Arbitrary URL:" -msgstr "Archiv-URL:" +msgid "Arbitrary Location:" +msgstr "Adresse:" #: lib/remote_branch_delete.tcl:84 msgid "Branches" @@ -1910,7 +2251,11 @@ msgstr "Kein Projektarchiv ausgewählt." msgid "Scanning %s..." msgstr "»%s« laden..." -#: lib/remote.tcl:165 +#: lib/remote.tcl:163 +msgid "Remove Remote" +msgstr "Anderes Archiv entfernen" + +#: lib/remote.tcl:168 msgid "Prune from" msgstr "Aufräumen von" @@ -1922,6 +2267,22 @@ msgstr "Anfordern von" 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:25 +msgid "Case-Sensitive" +msgstr "Groß-/Kleinschreibung unterscheiden" + #: lib/shortcut.tcl:20 lib/shortcut.tcl:61 msgid "Cannot write shortcut:" msgstr "Fehler beim Schreiben der Verknüpfung:" @@ -1967,15 +2328,181 @@ msgstr "Unerwartetes EOF vom Rechtschreibprüfungsprogramm" 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/transport.tcl:6 +#: 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 "fetch %s" -msgstr "»%s« anfordern" +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 successfully: %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 @@ -1992,17 +2519,17 @@ msgstr "Aufräumen von »%s«" msgid "Pruning tracking branches deleted from %s" msgstr "Übernahmezweige aufräumen und entfernen, die in »%s« gelöscht wurden" -#: lib/transport.tcl:25 lib/transport.tcl:71 -#, tcl-format -msgid "push %s" -msgstr "»%s« versenden..." - #: 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" diff --git a/git-gui/po/fr.po b/git-gui/po/fr.po index 26b866f551..a944ace6ce 100644 --- a/git-gui/po/fr.po +++ b/git-gui/po/fr.po @@ -1,4 +1,4 @@ -# translation of fr.po to Français +# translation of fr.po to French # Translation of git-gui to French. # Copyright (C) 2008 Shawn Pearce, et al. # This file is distributed under the same license as the git package. @@ -9,43 +9,43 @@ msgid "" msgstr "" "Project-Id-Version: fr\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-08-02 14:45-0700\n" -"PO-Revision-Date: 2008-08-11 17:12-0400\n" -"Last-Translator: Alexandre Bourget <alexandre.bourget@savoirfairelinux.com>\n" -"Language-Team: Français <fr@li.org>\n" +"POT-Creation-Date: 2008-11-16 13:56-0800\n" +"PO-Revision-Date: 2008-11-20 10:20+0100\n" +"Last-Translator: Christian Couder <chriscool@tuxfamily.org>\n" +"Language-Team: French\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.11.4\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: git-gui.sh:41 git-gui.sh:688 git-gui.sh:702 git-gui.sh:715 git-gui.sh:798 -#: git-gui.sh:817 +#: 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: erreur fatale" -#: git-gui.sh:644 +#: git-gui.sh:689 #, tcl-format msgid "Invalid font specified in %s:" msgstr "Police invalide spécifiée dans %s :" -#: git-gui.sh:674 +#: git-gui.sh:723 msgid "Main Font" msgstr "Police principale" -#: git-gui.sh:675 +#: git-gui.sh:724 msgid "Diff/Console Font" msgstr "Police diff/console" -#: git-gui.sh:689 +#: git-gui.sh:738 msgid "Cannot find git in PATH." msgstr "Impossible de trouver git dans PATH." -#: git-gui.sh:716 +#: git-gui.sh:765 msgid "Cannot parse Git version string:" msgstr "Impossible de parser la version de Git :" -#: git-gui.sh:734 +#: git-gui.sh:783 #, tcl-format msgid "" "Git version cannot be determined.\n" @@ -62,383 +62,448 @@ msgstr "" "\n" "%s nécessite au moins Git 1.5.0.\n" "\n" -"Peut'on considérer que '%s' est en version 1.5.0 ?\n" +"Peut-on considérer que '%s' est en version 1.5.0 ?\n" -#: git-gui.sh:972 +#: git-gui.sh:1062 msgid "Git directory not found:" msgstr "Impossible de trouver le répertoire git :" -#: git-gui.sh:979 +#: git-gui.sh:1069 msgid "Cannot move to top of working directory:" msgstr "Impossible d'aller à la racine du répertoire de travail :" -#: git-gui.sh:986 +#: git-gui.sh:1076 msgid "Cannot use funny .git directory:" msgstr "Impossible d'utiliser le répertoire .git:" -#: git-gui.sh:991 +#: git-gui.sh:1081 msgid "No working directory" msgstr "Aucun répertoire de travail" -#: git-gui.sh:1138 lib/checkout_op.tcl:305 +#: git-gui.sh:1247 lib/checkout_op.tcl:305 msgid "Refreshing file status..." -msgstr "Rafraichissement du status des fichiers..." +msgstr "Rafraîchissement du statut des fichiers..." -#: git-gui.sh:1194 +#: git-gui.sh:1303 msgid "Scanning for modified files ..." msgstr "Recherche de fichiers modifiés..." -#: git-gui.sh:1369 lib/browser.tcl:246 +#: git-gui.sh:1367 +msgid "Calling prepare-commit-msg hook..." +msgstr "Lancement de l'action de préparation du message de commit..." + +#: git-gui.sh:1384 +msgid "Commit declined by prepare-commit-msg hook." +msgstr "Commit refusé par l'action de préparation du message de commit." + +#: git-gui.sh:1542 lib/browser.tcl:246 msgid "Ready." msgstr "Prêt." -#: git-gui.sh:1635 +#: git-gui.sh:1819 msgid "Unmodified" msgstr "Non modifié" -#: git-gui.sh:1637 +#: git-gui.sh:1821 msgid "Modified, not staged" msgstr "Modifié, pas indexé" -#: git-gui.sh:1638 git-gui.sh:1643 +#: git-gui.sh:1822 git-gui.sh:1830 msgid "Staged for commit" msgstr "Indexé" -#: git-gui.sh:1639 git-gui.sh:1644 +#: git-gui.sh:1823 git-gui.sh:1831 msgid "Portions staged for commit" msgstr "Portions indexées" -#: git-gui.sh:1640 git-gui.sh:1645 +#: git-gui.sh:1824 git-gui.sh:1832 msgid "Staged for commit, missing" msgstr "Indexés, manquant" -#: git-gui.sh:1642 +#: git-gui.sh:1826 +msgid "File type changed, not staged" +msgstr "Le type de fichier a changé, non indexé" + +#: git-gui.sh:1827 +msgid "File type changed, staged" +msgstr "Le type de fichier a changé, indexé" + +#: git-gui.sh:1829 msgid "Untracked, not staged" msgstr "Non versionné, non indexé" -#: git-gui.sh:1647 +#: git-gui.sh:1834 msgid "Missing" msgstr "Manquant" -#: git-gui.sh:1648 +#: git-gui.sh:1835 msgid "Staged for removal" msgstr "Indexé pour suppression" -#: git-gui.sh:1649 +#: git-gui.sh:1836 msgid "Staged for removal, still present" msgstr "Indexé pour suppression, toujours présent" -#: git-gui.sh:1651 git-gui.sh:1652 git-gui.sh:1653 git-gui.sh:1654 +#: 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 "Nécessite la résolution d'une fusion" -#: git-gui.sh:1689 +#: git-gui.sh:1878 msgid "Starting gitk... please wait..." msgstr "Lancement de gitk... un instant..." -#: git-gui.sh:1698 +#: git-gui.sh:1887 msgid "Couldn't find gitk in PATH" msgstr "Impossible de trouver gitk dans PATH." -#: git-gui.sh:1948 lib/choose_repository.tcl:36 +#: git-gui.sh:2280 lib/choose_repository.tcl:36 msgid "Repository" msgstr "Dépôt" -#: git-gui.sh:1949 +#: git-gui.sh:2281 msgid "Edit" -msgstr "Edition" +msgstr "Édition" -#: git-gui.sh:1951 lib/choose_rev.tcl:561 +#: git-gui.sh:2283 lib/choose_rev.tcl:561 msgid "Branch" msgstr "Branche" -#: git-gui.sh:1954 lib/choose_rev.tcl:548 +#: git-gui.sh:2286 lib/choose_rev.tcl:548 msgid "Commit@@noun" msgstr "Commit" -#: git-gui.sh:1957 lib/merge.tcl:120 lib/merge.tcl:149 lib/merge.tcl:167 +#: git-gui.sh:2289 lib/merge.tcl:121 lib/merge.tcl:150 lib/merge.tcl:168 msgid "Merge" msgstr "Fusionner" -#: git-gui.sh:1958 lib/choose_rev.tcl:557 +#: git-gui.sh:2290 lib/choose_rev.tcl:557 msgid "Remote" msgstr "Dépôt distant" -#: git-gui.sh:1967 +#: git-gui.sh:2293 +msgid "Tools" +msgstr "Outils" + +#: git-gui.sh:2302 +msgid "Explore Working Copy" +msgstr "Explorer la copie de travail" + +#: git-gui.sh:2307 msgid "Browse Current Branch's Files" msgstr "Naviguer dans la branche courante" -#: git-gui.sh:1971 +#: git-gui.sh:2311 msgid "Browse Branch Files..." msgstr "Naviguer dans la branche..." -#: git-gui.sh:1976 +#: git-gui.sh:2316 msgid "Visualize Current Branch's History" -msgstr "Visualiser historique branche courante" +msgstr "Visualiser l'historique de la branche courante" -#: git-gui.sh:1980 +#: git-gui.sh:2320 msgid "Visualize All Branch History" msgstr "Voir l'historique de toutes les branches" -#: git-gui.sh:1987 +#: git-gui.sh:2327 #, tcl-format msgid "Browse %s's Files" -msgstr "Naviguer l'arborescence de %s" +msgstr "Parcourir l'arborescence de %s" -#: git-gui.sh:1989 +#: git-gui.sh:2329 #, tcl-format msgid "Visualize %s's History" -msgstr "Voir l'historique de la branche: %s" +msgstr "Voir l'historique de la branche : %s" -#: git-gui.sh:1994 lib/database.tcl:27 lib/database.tcl:67 +#: git-gui.sh:2334 lib/database.tcl:27 lib/database.tcl:67 msgid "Database Statistics" msgstr "Statistiques du dépôt" -#: git-gui.sh:1997 lib/database.tcl:34 +#: git-gui.sh:2337 lib/database.tcl:34 msgid "Compress Database" msgstr "Comprimer le dépôt" -#: git-gui.sh:2000 +#: git-gui.sh:2340 msgid "Verify Database" msgstr "Vérifier le dépôt" -#: git-gui.sh:2007 git-gui.sh:2011 git-gui.sh:2015 lib/shortcut.tcl:7 +#: 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 "Créer icône sur bureau" +msgstr "Créer une icône sur le bureau" -#: git-gui.sh:2023 lib/choose_repository.tcl:177 lib/choose_repository.tcl:185 +#: git-gui.sh:2363 lib/choose_repository.tcl:183 lib/choose_repository.tcl:191 msgid "Quit" msgstr "Quitter" -#: git-gui.sh:2031 +#: git-gui.sh:2371 msgid "Undo" msgstr "Défaire" -#: git-gui.sh:2034 +#: git-gui.sh:2374 msgid "Redo" msgstr "Refaire" -#: git-gui.sh:2038 git-gui.sh:2545 +#: git-gui.sh:2378 git-gui.sh:2923 msgid "Cut" msgstr "Couper" -#: git-gui.sh:2041 git-gui.sh:2548 git-gui.sh:2622 git-gui.sh:2715 +#: git-gui.sh:2381 git-gui.sh:2926 git-gui.sh:3000 git-gui.sh:3082 #: lib/console.tcl:69 msgid "Copy" msgstr "Copier" -#: git-gui.sh:2044 git-gui.sh:2551 +#: git-gui.sh:2384 git-gui.sh:2929 msgid "Paste" msgstr "Coller" -#: git-gui.sh:2047 git-gui.sh:2554 lib/branch_delete.tcl:26 +#: git-gui.sh:2387 git-gui.sh:2932 lib/branch_delete.tcl:26 #: lib/remote_branch_delete.tcl:38 msgid "Delete" msgstr "Supprimer" -#: git-gui.sh:2051 git-gui.sh:2558 git-gui.sh:2719 lib/console.tcl:71 +#: git-gui.sh:2391 git-gui.sh:2936 git-gui.sh:3086 lib/console.tcl:71 msgid "Select All" msgstr "Tout sélectionner" -#: git-gui.sh:2060 +#: git-gui.sh:2400 msgid "Create..." msgstr "Créer..." -#: git-gui.sh:2066 +#: git-gui.sh:2406 msgid "Checkout..." msgstr "Charger (checkout)..." -#: git-gui.sh:2072 +#: git-gui.sh:2412 msgid "Rename..." msgstr "Renommer..." -#: git-gui.sh:2077 git-gui.sh:2187 +#: git-gui.sh:2417 msgid "Delete..." msgstr "Supprimer..." -#: git-gui.sh:2082 +#: git-gui.sh:2422 msgid "Reset..." msgstr "Réinitialiser..." -#: git-gui.sh:2094 git-gui.sh:2491 +#: git-gui.sh:2432 +msgid "Done" +msgstr "Effectué" + +#: git-gui.sh:2434 +msgid "Commit@@verb" +msgstr "Commiter@@verb" + +#: git-gui.sh:2443 git-gui.sh:2864 msgid "New Commit" msgstr "Nouveau commit" -#: git-gui.sh:2102 git-gui.sh:2498 +#: git-gui.sh:2451 git-gui.sh:2871 msgid "Amend Last Commit" msgstr "Corriger dernier commit" -#: git-gui.sh:2111 git-gui.sh:2458 lib/remote_branch_delete.tcl:99 +#: git-gui.sh:2461 git-gui.sh:2825 lib/remote_branch_delete.tcl:99 msgid "Rescan" msgstr "Recharger modifs." -#: git-gui.sh:2117 +#: git-gui.sh:2467 msgid "Stage To Commit" msgstr "Indexer" -#: git-gui.sh:2123 +#: git-gui.sh:2473 msgid "Stage Changed Files To Commit" msgstr "Indexer toutes modifications" -#: git-gui.sh:2129 +#: git-gui.sh:2479 msgid "Unstage From Commit" msgstr "Désindexer" -#: git-gui.sh:2134 lib/index.tcl:395 +#: git-gui.sh:2484 lib/index.tcl:410 msgid "Revert Changes" -msgstr "Annuler les modifications (revert)" +msgstr "Annuler les modifications" -#: git-gui.sh:2141 git-gui.sh:2702 +#: git-gui.sh:2491 git-gui.sh:3069 msgid "Show Less Context" msgstr "Montrer moins de contexte" -#: git-gui.sh:2145 git-gui.sh:2706 +#: git-gui.sh:2495 git-gui.sh:3073 msgid "Show More Context" msgstr "Montrer plus de contexte" -#: git-gui.sh:2151 git-gui.sh:2470 git-gui.sh:2569 +#: git-gui.sh:2502 git-gui.sh:2838 git-gui.sh:2947 msgid "Sign Off" msgstr "Signer" -#: git-gui.sh:2155 git-gui.sh:2474 -msgid "Commit@@verb" -msgstr "Commiter" - -#: git-gui.sh:2166 +#: git-gui.sh:2518 msgid "Local Merge..." msgstr "Fusion locale..." -#: git-gui.sh:2171 +#: git-gui.sh:2523 msgid "Abort Merge..." msgstr "Abandonner fusion..." -#: git-gui.sh:2183 +#: git-gui.sh:2535 git-gui.sh:2575 +msgid "Add..." +msgstr "Ajouter..." + +#: git-gui.sh:2539 msgid "Push..." msgstr "Pousser..." -#: git-gui.sh:2197 git-gui.sh:2219 lib/about.tcl:14 -#: lib/choose_repository.tcl:44 lib/choose_repository.tcl:50 +#: git-gui.sh:2543 +msgid "Delete Branch..." +msgstr "Supprimer branche..." + +#: 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 "À propos de %s" -#: git-gui.sh:2201 +#: git-gui.sh:2557 msgid "Preferences..." msgstr "Préférences..." -#: git-gui.sh:2209 git-gui.sh:2740 +#: git-gui.sh:2565 git-gui.sh:3115 msgid "Options..." msgstr "Options..." -#: git-gui.sh:2215 lib/choose_repository.tcl:47 +#: git-gui.sh:2576 +msgid "Remove..." +msgstr "Supprimer..." + +#: git-gui.sh:2585 lib/choose_repository.tcl:50 msgid "Help" msgstr "Aide" -#: git-gui.sh:2256 +#: git-gui.sh:2611 msgid "Online Documentation" msgstr "Documentation en ligne" -#: git-gui.sh:2340 +#: git-gui.sh:2614 lib/choose_repository.tcl:47 lib/choose_repository.tcl:56 +msgid "Show SSH Key" +msgstr "Montrer la clé SSH" + +#: git-gui.sh:2707 #, tcl-format msgid "fatal: cannot stat path %s: No such file or directory" msgstr "" "erreur fatale : pas d'infos sur le chemin %s : Fichier ou répertoire " "inexistant" -#: git-gui.sh:2373 +#: git-gui.sh:2740 msgid "Current Branch:" msgstr "Branche courante :" -#: git-gui.sh:2394 +#: git-gui.sh:2761 msgid "Staged Changes (Will Commit)" msgstr "Modifs. indexées (pour commit)" -#: git-gui.sh:2414 +#: git-gui.sh:2781 msgid "Unstaged Changes" msgstr "Modifs. non indexées" -#: git-gui.sh:2464 +#: git-gui.sh:2831 msgid "Stage Changed" msgstr "Indexer modifs." -#: git-gui.sh:2480 lib/transport.tcl:93 lib/transport.tcl:182 +#: git-gui.sh:2850 lib/transport.tcl:93 lib/transport.tcl:182 msgid "Push" msgstr "Pousser" -#: git-gui.sh:2510 +#: git-gui.sh:2885 msgid "Initial Commit Message:" msgstr "Message de commit initial :" -#: git-gui.sh:2511 +#: git-gui.sh:2886 msgid "Amended Commit Message:" msgstr "Message de commit corrigé :" -#: git-gui.sh:2512 +#: git-gui.sh:2887 msgid "Amended Initial Commit Message:" msgstr "Message de commit initial corrigé :" -#: git-gui.sh:2513 +#: git-gui.sh:2888 msgid "Amended Merge Commit Message:" msgstr "Message de commit de fusion corrigé :" -#: git-gui.sh:2514 +#: git-gui.sh:2889 msgid "Merge Commit Message:" msgstr "Message de commit de fusion :" -#: git-gui.sh:2515 +#: git-gui.sh:2890 msgid "Commit Message:" msgstr "Message de commit :" -#: git-gui.sh:2561 git-gui.sh:2723 lib/console.tcl:73 +#: git-gui.sh:2939 git-gui.sh:3090 lib/console.tcl:73 msgid "Copy All" msgstr "Copier tout" -#: git-gui.sh:2585 lib/blame.tcl:100 +#: git-gui.sh:2963 lib/blame.tcl:104 msgid "File:" msgstr "Fichier :" -#: git-gui.sh:2691 +#: git-gui.sh:3078 +msgid "Refresh" +msgstr "Rafraîchir" + +#: git-gui.sh:3099 +msgid "Decrease Font Size" +msgstr "Diminuer la police" + +#: git-gui.sh:3103 +msgid "Increase Font Size" +msgstr "Agrandir la police" + +#: git-gui.sh:3111 lib/blame.tcl:281 +msgid "Encoding" +msgstr "Codage des caractères" + +#: git-gui.sh:3122 msgid "Apply/Reverse Hunk" msgstr "Appliquer/Inverser section" -#: git-gui.sh:2696 +#: git-gui.sh:3127 msgid "Apply/Reverse Line" msgstr "Appliquer/Inverser la ligne" -#: git-gui.sh:2711 -msgid "Refresh" -msgstr "Rafraichir" +#: git-gui.sh:3137 +msgid "Run Merge Tool" +msgstr "Lancer l'outil de fusion" -#: git-gui.sh:2732 -msgid "Decrease Font Size" -msgstr "Diminuer la police" +#: git-gui.sh:3142 +msgid "Use Remote Version" +msgstr "Utiliser la version distante" -#: git-gui.sh:2736 -msgid "Increase Font Size" -msgstr "Agrandir la police" +#: git-gui.sh:3146 +msgid "Use Local Version" +msgstr "Utiliser la version locale" -#: git-gui.sh:2747 +#: git-gui.sh:3150 +msgid "Revert To Base" +msgstr "Revenir à la version de base" + +#: git-gui.sh:3169 msgid "Unstage Hunk From Commit" msgstr "Désindexer la section" -#: git-gui.sh:2748 +#: git-gui.sh:3170 msgid "Unstage Line From Commit" msgstr "Désindexer la ligne" -#: git-gui.sh:2750 +#: git-gui.sh:3172 msgid "Stage Hunk For Commit" msgstr "Indexer la section" -#: git-gui.sh:2751 +#: git-gui.sh:3173 msgid "Stage Line For Commit" msgstr "Indexer la ligne" -#: git-gui.sh:2771 +#: git-gui.sh:3196 msgid "Initializing..." msgstr "Initialisation..." -#: git-gui.sh:2876 +#: git-gui.sh:3301 #, tcl-format msgid "" "Possible environment issues exist.\n" @@ -455,17 +520,17 @@ msgstr "" "sous-processus de Git lancés par %s\n" "\n" -#: git-gui.sh:2906 +#: git-gui.sh:3331 msgid "" "\n" "This is due to a known issue with the\n" "Tcl binary distributed by Cygwin." msgstr "" "\n" -"Ceci est du à un problème connu avec\n" +"Ceci est dû à un problème connu avec\n" "le binaire Tcl distribué par Cygwin." -#: git-gui.sh:2911 +#: git-gui.sh:3336 #, tcl-format msgid "" "\n" @@ -486,80 +551,108 @@ msgstr "" msgid "git-gui - a graphical user interface for Git." msgstr "git-gui - une interface graphique utilisateur pour Git" -#: lib/blame.tcl:70 +#: lib/blame.tcl:72 msgid "File Viewer" msgstr "Visionneur de fichier" -#: lib/blame.tcl:74 +#: lib/blame.tcl:78 msgid "Commit:" msgstr "Commit :" -#: lib/blame.tcl:257 +#: lib/blame.tcl:271 msgid "Copy Commit" msgstr "Copier commit" -#: lib/blame.tcl:260 +#: lib/blame.tcl:275 +msgid "Find Text..." +msgstr "Chercher texte..." + +#: lib/blame.tcl:284 msgid "Do Full Copy Detection" msgstr "Lancer la détection approfondie des copies" -#: lib/blame.tcl:388 +#: lib/blame.tcl:288 +msgid "Show History Context" +msgstr "Montrer l'historique" + +#: lib/blame.tcl:291 +msgid "Blame Parent Commit" +msgstr "Blâmer le commit parent" + +#: lib/blame.tcl:450 #, tcl-format msgid "Reading %s..." msgstr "Lecture de %s..." -#: lib/blame.tcl:492 +#: lib/blame.tcl:557 msgid "Loading copy/move tracking annotations..." msgstr "Chargement des annotations de suivi des copies/déplacements..." -#: lib/blame.tcl:512 +#: lib/blame.tcl:577 msgid "lines annotated" msgstr "lignes annotées" -#: lib/blame.tcl:704 +#: lib/blame.tcl:769 msgid "Loading original location annotations..." msgstr "Chargement des annotations d'emplacement original" -#: lib/blame.tcl:707 +#: lib/blame.tcl:772 msgid "Annotation complete." msgstr "Annotation terminée." -#: lib/blame.tcl:737 +#: lib/blame.tcl:802 msgid "Busy" msgstr "Occupé" -#: lib/blame.tcl:738 +#: lib/blame.tcl:803 msgid "Annotation process is already running." msgstr "Annotation en cours d'exécution." -#: lib/blame.tcl:777 +#: lib/blame.tcl:842 msgid "Running thorough copy detection..." msgstr "Recherche de copie approfondie en cours..." -#: lib/blame.tcl:827 +#: lib/blame.tcl:910 msgid "Loading annotation..." msgstr "Chargement des annotations..." -#: lib/blame.tcl:883 +#: lib/blame.tcl:964 msgid "Author:" msgstr "Auteur :" -#: lib/blame.tcl:887 +#: lib/blame.tcl:968 msgid "Committer:" msgstr "Commiteur :" -#: lib/blame.tcl:892 +#: lib/blame.tcl:973 msgid "Original File:" msgstr "Fichier original :" -#: lib/blame.tcl:1006 +#: lib/blame.tcl:1021 +msgid "Cannot find HEAD commit:" +msgstr "Impossible de trouver le commit HEAD :" + +#: lib/blame.tcl:1076 +msgid "Cannot find parent commit:" +msgstr "Impossible de trouver le commit parent :" + +#: lib/blame.tcl:1091 +msgid "Unable to display parent" +msgstr "Impossible d'afficher le parent" + +#: lib/blame.tcl:1092 lib/diff.tcl:297 +msgid "Error loading diff:" +msgstr "Erreur lors du chargement des différences :" + +#: lib/blame.tcl:1232 msgid "Originally By:" -msgstr "A l'origine par :" +msgstr "À l'origine par :" -#: lib/blame.tcl:1012 +#: lib/blame.tcl:1238 msgid "In File:" msgstr "Dans le fichier :" -#: lib/blame.tcl:1017 +#: lib/blame.tcl:1243 msgid "Copied Or Moved Here By:" msgstr "Copié ou déplacé ici par :" @@ -573,16 +666,18 @@ msgstr "Charger (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:171 -#: lib/option.tcl:103 lib/remote_branch_delete.tcl:42 lib/transport.tcl:97 +#: 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 "Annuler" -#: lib/branch_checkout.tcl:32 lib/browser.tcl:287 +#: lib/branch_checkout.tcl:32 lib/browser.tcl:287 lib/tools_dlg.tcl:328 msgid "Revision" msgstr "Révision" -#: lib/branch_checkout.tcl:36 lib/branch_create.tcl:69 lib/option.tcl:244 +#: lib/branch_checkout.tcl:36 lib/branch_create.tcl:69 lib/option.tcl:280 msgid "Options" msgstr "Options" @@ -596,13 +691,13 @@ msgstr "Détacher de la branche locale" #: lib/branch_create.tcl:22 msgid "Create Branch" -msgstr "Créer branche" +msgstr "Créer une branche" #: lib/branch_create.tcl:27 msgid "Create New Branch" -msgstr "Créer nouvelle branche" +msgstr "Créer une nouvelle branche" -#: lib/branch_create.tcl:31 lib/choose_repository.tcl:371 +#: lib/branch_create.tcl:31 lib/choose_repository.tcl:377 msgid "Create" msgstr "Créer" @@ -610,7 +705,7 @@ msgstr "Créer" msgid "Branch Name" msgstr "Nom de branche" -#: lib/branch_create.tcl:43 +#: lib/branch_create.tcl:43 lib/remote_add.tcl:39 lib/tools_dlg.tcl:50 msgid "Name:" msgstr "Nom :" @@ -624,7 +719,7 @@ msgstr "Révision initiale" #: lib/branch_create.tcl:72 msgid "Update Existing Branch:" -msgstr "Mettre à jour branche existante :" +msgstr "Mettre à jour une branche existante :" #: lib/branch_create.tcl:75 msgid "No" @@ -632,7 +727,7 @@ msgstr "Non" #: lib/branch_create.tcl:80 msgid "Fast Forward Only" -msgstr "Mise-à-jour rectiligne seulement (fast-forward)" +msgstr "Mise à jour rectiligne seulement (fast-forward)" #: lib/branch_create.tcl:85 lib/checkout_op.tcl:536 msgid "Reset" @@ -674,7 +769,7 @@ msgstr "Branches locales" #: lib/branch_delete.tcl:52 msgid "Delete Only If Merged Into" -msgstr "Supprimer seulement si fusionnée dans:" +msgstr "Supprimer seulement si fusionnée dans :" #: lib/branch_delete.tcl:54 msgid "Always (Do not perform merge test.)" @@ -685,23 +780,13 @@ msgstr "Toujours (Ne pas faire de test de fusion.)" msgid "The following branches are not completely merged into %s:" msgstr "Les branches suivantes ne sont pas complètement fusionnées dans %s :" -#: lib/branch_delete.tcl:115 -msgid "" -"Recovering deleted branches is difficult. \n" -"\n" -" Delete the selected branches?" -msgstr "" -"Récupérer des branches supprimées est difficile.\n" -"\n" -"Supprimer les branches sélectionnées ?" - #: lib/branch_delete.tcl:141 #, tcl-format msgid "" "Failed to delete branches:\n" "%s" msgstr "" -"La suppression des branches suivantes a échouée :\n" +"La suppression des branches suivantes a échoué :\n" "%s" #: lib/branch_rename.tcl:14 lib/branch_rename.tcl:22 @@ -755,9 +840,9 @@ msgstr "[Jusqu'au parent]" msgid "Browse Branch Files" msgstr "Naviguer dans les fichiers de le branche" -#: lib/browser.tcl:278 lib/choose_repository.tcl:387 -#: lib/choose_repository.tcl:472 lib/choose_repository.tcl:482 -#: lib/choose_repository.tcl:985 +#: 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 "Naviguer" @@ -772,6 +857,7 @@ msgid "fatal: Cannot resolve %s" msgstr "erreur fatale : Impossible de résoudre %s" #: lib/checkout_op.tcl:145 lib/console.tcl:81 lib/database.tcl:31 +#: lib/sshkey.tcl:53 msgid "Close" msgstr "Fermer" @@ -806,11 +892,11 @@ msgstr "La stratégie de fusion '%s' n'est pas supportée." #: lib/checkout_op.tcl:261 #, tcl-format msgid "Failed to update '%s'." -msgstr "La mise à jour de '%s' a échouée." +msgstr "La mise à jour de '%s' a échoué." #: lib/checkout_op.tcl:273 msgid "Staging area (index) is already locked." -msgstr "L'index (staging area) est déjà vérouillé" +msgstr "L'index (staging area) est déjà verrouillé." #: lib/checkout_op.tcl:288 msgid "" @@ -822,7 +908,7 @@ msgid "" "The rescan will be automatically started now.\n" msgstr "" "L'état lors de la dernière synchronisation ne correspond plus à l'état du " -"dépôt\n" +"dépôt.\n" "\n" "Un autre programme Git a modifié ce dépôt depuis la dernière " "synchronisation. Une resynchronisation doit être effectuée avant de pouvoir " @@ -860,9 +946,9 @@ msgid "" "If you wanted to be on a branch, create one now starting from 'This Detached " "Checkout'." msgstr "" -"Vous n'êtes plus ur une branche locale.\n" +"Vous n'êtes plus sur une branche locale.\n" "\n" -"Si vous vouliez être sur une branche, créez en une maintenant en partant de " +"Si vous vouliez être sur une branche, créez-en une maintenant en partant de " "'Cet emprunt détaché'." #: lib/checkout_op.tcl:468 lib/checkout_op.tcl:472 @@ -884,7 +970,7 @@ msgstr "Récupérer les commits perdus ne sera peut être pas facile." msgid "Reset '%s'?" msgstr "Réinitialiser '%s' ?" -#: lib/checkout_op.tcl:532 lib/merge.tcl:163 +#: lib/checkout_op.tcl:532 lib/merge.tcl:164 lib/tools_dlg.tcl:343 msgid "Visualize" msgstr "Visualiser" @@ -904,7 +990,7 @@ msgstr "" "mis à jour avec succès, mais la mise à jour d'un fichier interne à Git a " "échouée.\n" "\n" -"Cela n'aurait pas du se produire. %s va abandonner et se terminer." +"Cela n'aurait pas dû se produire. %s va abandonner et se terminer." #: lib/choose_font.tcl:39 msgid "Select" @@ -927,232 +1013,236 @@ msgid "" "This is example text.\n" "If you like this text, it can be your font." msgstr "" -"C'est un texte d'exemple.\n" -"Si vous aimez ce texte, vous pouvez choisir cette police" +"Ceci est un texte d'exemple.\n" +"Si vous aimez ce texte, vous pouvez choisir cette police." #: lib/choose_repository.tcl:28 msgid "Git Gui" msgstr "Git Gui" -#: lib/choose_repository.tcl:81 lib/choose_repository.tcl:376 +#: lib/choose_repository.tcl:87 lib/choose_repository.tcl:382 msgid "Create New Repository" msgstr "Créer nouveau dépôt" -#: lib/choose_repository.tcl:87 +#: lib/choose_repository.tcl:93 msgid "New..." msgstr "Nouveau..." -#: lib/choose_repository.tcl:94 lib/choose_repository.tcl:458 +#: lib/choose_repository.tcl:100 lib/choose_repository.tcl:465 msgid "Clone Existing Repository" -msgstr "Cloner dépôt existant" +msgstr "Cloner un dépôt existant" -#: lib/choose_repository.tcl:100 +#: lib/choose_repository.tcl:106 msgid "Clone..." msgstr "Cloner..." -#: lib/choose_repository.tcl:107 lib/choose_repository.tcl:974 +#: lib/choose_repository.tcl:113 lib/choose_repository.tcl:983 msgid "Open Existing Repository" -msgstr "Ouvrir dépôt existant" +msgstr "Ouvrir un dépôt existant" -#: lib/choose_repository.tcl:113 +#: lib/choose_repository.tcl:119 msgid "Open..." msgstr "Ouvrir..." -#: lib/choose_repository.tcl:126 +#: lib/choose_repository.tcl:132 msgid "Recent Repositories" -msgstr "Dépôt récemment utilisés" +msgstr "Dépôts récemment utilisés" -#: lib/choose_repository.tcl:132 +#: lib/choose_repository.tcl:138 msgid "Open Recent Repository:" -msgstr "Ouvrir dépôt récent :" +msgstr "Ouvrir un dépôt récent :" -#: lib/choose_repository.tcl:296 lib/choose_repository.tcl:303 -#: lib/choose_repository.tcl:310 +#: lib/choose_repository.tcl:302 lib/choose_repository.tcl:309 +#: lib/choose_repository.tcl:316 #, tcl-format msgid "Failed to create repository %s:" -msgstr "La création du dépôt %s a échouée :" +msgstr "La création du dépôt %s a échoué :" -#: lib/choose_repository.tcl:381 lib/choose_repository.tcl:476 +#: lib/choose_repository.tcl:387 msgid "Directory:" msgstr "Répertoire :" -#: lib/choose_repository.tcl:410 lib/choose_repository.tcl:535 -#: lib/choose_repository.tcl:1007 +#: lib/choose_repository.tcl:417 lib/choose_repository.tcl:544 +#: lib/choose_repository.tcl:1017 msgid "Git Repository" msgstr "Dépôt Git" -#: lib/choose_repository.tcl:435 +#: lib/choose_repository.tcl:442 #, tcl-format msgid "Directory %s already exists." msgstr "Le répertoire %s existe déjà." -#: lib/choose_repository.tcl:439 +#: lib/choose_repository.tcl:446 #, tcl-format msgid "File %s already exists." msgstr "Le fichier %s existe déjà." -#: lib/choose_repository.tcl:453 +#: lib/choose_repository.tcl:460 msgid "Clone" msgstr "Cloner" -#: lib/choose_repository.tcl:466 -msgid "URL:" -msgstr "URL :" +#: lib/choose_repository.tcl:473 +msgid "Source Location:" +msgstr "Emplacement source :" + +#: lib/choose_repository.tcl:484 +msgid "Target Directory:" +msgstr "Répertoire cible :" -#: lib/choose_repository.tcl:487 +#: lib/choose_repository.tcl:496 msgid "Clone Type:" msgstr "Type de clonage :" -#: lib/choose_repository.tcl:493 +#: lib/choose_repository.tcl:502 msgid "Standard (Fast, Semi-Redundant, Hardlinks)" msgstr "Standard (rapide, semi-redondant, liens durs)" -#: lib/choose_repository.tcl:499 +#: lib/choose_repository.tcl:508 msgid "Full Copy (Slower, Redundant Backup)" msgstr "Copy complète (plus lent, sauvegarde redondante)" -#: lib/choose_repository.tcl:505 +#: lib/choose_repository.tcl:514 msgid "Shared (Fastest, Not Recommended, No Backup)" msgstr "Partagé (le plus rapide, non recommandé, pas de sauvegarde)" -#: lib/choose_repository.tcl:541 lib/choose_repository.tcl:588 -#: lib/choose_repository.tcl:734 lib/choose_repository.tcl:804 -#: lib/choose_repository.tcl:1013 lib/choose_repository.tcl:1021 +#: 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' n'est pas un dépôt Git." -#: lib/choose_repository.tcl:577 +#: lib/choose_repository.tcl:586 msgid "Standard only available for local repository." msgstr "Standard n'est disponible que pour un dépôt local." -#: lib/choose_repository.tcl:581 +#: lib/choose_repository.tcl:590 msgid "Shared only available for local repository." msgstr "Partagé n'est disponible que pour un dépôt local." -#: lib/choose_repository.tcl:602 +#: lib/choose_repository.tcl:611 #, tcl-format msgid "Location %s already exists." msgstr "L'emplacement %s existe déjà." -#: lib/choose_repository.tcl:613 +#: lib/choose_repository.tcl:622 msgid "Failed to configure origin" -msgstr "La configuration de l'origine a échouée." +msgstr "La configuration de l'origine a échoué." -#: lib/choose_repository.tcl:625 +#: lib/choose_repository.tcl:634 msgid "Counting objects" msgstr "Décompte des objets" -#: lib/choose_repository.tcl:626 +#: lib/choose_repository.tcl:635 msgid "buckets" msgstr "paniers" -#: lib/choose_repository.tcl:650 +#: lib/choose_repository.tcl:659 #, tcl-format msgid "Unable to copy objects/info/alternates: %s" msgstr "Impossible de copier 'objects/info/alternates' : %s" -#: lib/choose_repository.tcl:686 +#: lib/choose_repository.tcl:695 #, tcl-format msgid "Nothing to clone from %s." msgstr "Il n'y a rien à cloner depuis %s." -#: lib/choose_repository.tcl:688 lib/choose_repository.tcl:902 -#: lib/choose_repository.tcl:914 +#: lib/choose_repository.tcl:697 lib/choose_repository.tcl:911 +#: lib/choose_repository.tcl:923 msgid "The 'master' branch has not been initialized." msgstr "La branche 'master' n'a pas été initialisée." -#: lib/choose_repository.tcl:701 +#: lib/choose_repository.tcl:710 msgid "Hardlinks are unavailable. Falling back to copying." msgstr "Les liens durs ne sont pas supportés. Une copie sera effectuée à la place." -#: lib/choose_repository.tcl:713 +#: lib/choose_repository.tcl:722 #, tcl-format msgid "Cloning from %s" msgstr "Clonage depuis %s" -#: lib/choose_repository.tcl:744 +#: lib/choose_repository.tcl:753 msgid "Copying objects" msgstr "Copie des objets" -#: lib/choose_repository.tcl:745 +#: lib/choose_repository.tcl:754 msgid "KiB" msgstr "KiB" -#: lib/choose_repository.tcl:769 +#: lib/choose_repository.tcl:778 #, tcl-format msgid "Unable to copy object: %s" msgstr "Impossible de copier l'objet : %s" -#: lib/choose_repository.tcl:779 +#: lib/choose_repository.tcl:788 msgid "Linking objects" msgstr "Liaison des objets" -#: lib/choose_repository.tcl:780 +#: lib/choose_repository.tcl:789 msgid "objects" msgstr "objets" -#: lib/choose_repository.tcl:788 +#: lib/choose_repository.tcl:797 #, tcl-format msgid "Unable to hardlink object: %s" msgstr "Impossible créer un lien dur pour l'objet : %s" -#: lib/choose_repository.tcl:843 +#: lib/choose_repository.tcl:852 msgid "Cannot fetch branches and objects. See console output for details." msgstr "" "Impossible de récupérer les branches et objets. Voir la sortie console pour " "plus de détails." -#: lib/choose_repository.tcl:854 +#: lib/choose_repository.tcl:863 msgid "Cannot fetch tags. See console output for details." msgstr "" "Impossible de récupérer les marques (tags). Voir la sortie console pour plus " "de détails." -#: lib/choose_repository.tcl:878 +#: lib/choose_repository.tcl:887 msgid "Cannot determine HEAD. See console output for details." msgstr "Impossible de déterminer HEAD. Voir la sortie console pour plus de détails." -#: lib/choose_repository.tcl:887 +#: lib/choose_repository.tcl:896 #, tcl-format msgid "Unable to cleanup %s" msgstr "Impossible de nettoyer %s" -#: lib/choose_repository.tcl:893 +#: lib/choose_repository.tcl:902 msgid "Clone failed." msgstr "Le clonage a échoué." -#: lib/choose_repository.tcl:900 +#: lib/choose_repository.tcl:909 msgid "No default branch obtained." msgstr "Aucune branche par défaut n'a été obtenue." -#: lib/choose_repository.tcl:911 +#: lib/choose_repository.tcl:920 #, tcl-format msgid "Cannot resolve %s as a commit." msgstr "Impossible de résoudre %s comme commit." -#: lib/choose_repository.tcl:923 +#: lib/choose_repository.tcl:932 msgid "Creating working directory" msgstr "Création du répertoire de travail" -#: lib/choose_repository.tcl:924 lib/index.tcl:65 lib/index.tcl:127 -#: lib/index.tcl:193 +#: lib/choose_repository.tcl:933 lib/index.tcl:65 lib/index.tcl:128 +#: lib/index.tcl:196 msgid "files" msgstr "fichiers" -#: lib/choose_repository.tcl:953 +#: lib/choose_repository.tcl:962 msgid "Initial file checkout failed." -msgstr "Chargement initial du fichier échoué." +msgstr "Le chargement initial du fichier a échoué." -#: lib/choose_repository.tcl:969 +#: lib/choose_repository.tcl:978 msgid "Open" msgstr "Ouvrir" -#: lib/choose_repository.tcl:979 +#: lib/choose_repository.tcl:988 msgid "Repository:" msgstr "Dépôt :" -#: lib/choose_repository.tcl:1027 +#: lib/choose_repository.tcl:1037 #, tcl-format msgid "Failed to open repository %s:" msgstr "Impossible d'ouvrir le dépôt %s :" @@ -1184,7 +1274,7 @@ msgstr "Révision invalide : %s" #: lib/choose_rev.tcl:338 msgid "No revision selected." -msgstr "Pas de révision selectionnée." +msgstr "Pas de révision sélectionnée." #: lib/choose_rev.tcl:346 msgid "Revision expression is empty." @@ -1192,7 +1282,7 @@ msgstr "L'expression de révision est vide." #: lib/choose_rev.tcl:531 msgid "Updated" -msgstr "Mise-à-jour:" +msgstr "Mise à jour:" #: lib/choose_rev.tcl:559 msgid "URL" @@ -1220,8 +1310,8 @@ msgid "" msgstr "" "Impossible de corriger pendant une fusion.\n" "\n" -"Vous êtes actuellement au milieu d'une fusion qui n'a pas été completement " -"terminée. Vous ne pouvez pas corriger le commit précédant sauf si vous " +"Vous êtes actuellement au milieu d'une fusion qui n'a pas été complètement " +"terminée. Vous ne pouvez pas corriger le commit précédent sauf si vous " "abandonnez la fusion courante.\n" #: lib/commit.tcl:49 @@ -1254,7 +1344,7 @@ msgstr "" "\n" "Cela va être fait tout de suite automatiquement.\n" -#: lib/commit.tcl:154 +#: lib/commit.tcl:156 #, tcl-format msgid "" "Unmerged files cannot be committed.\n" @@ -1267,7 +1357,7 @@ msgstr "" "Le fichier %s a des conflicts de fusion. Vous devez les résoudre et pré-" "commiter le fichier avant de pouvoir commiter.\n" -#: lib/commit.tcl:162 +#: lib/commit.tcl:164 #, tcl-format msgid "" "Unknown file state %s detected.\n" @@ -1278,7 +1368,7 @@ msgstr "" "\n" "Le fichier %s ne peut pas être commité par ce programme.\n" -#: lib/commit.tcl:170 +#: lib/commit.tcl:172 msgid "" "No changes to commit.\n" "\n" @@ -1288,7 +1378,7 @@ msgstr "" "\n" "Vous devez indexer au moins 1 fichier avant de pouvoir commiter.\n" -#: lib/commit.tcl:183 +#: lib/commit.tcl:187 msgid "" "Please supply a commit message.\n" "\n" @@ -1306,45 +1396,45 @@ msgstr "" "- Deuxième ligne : rien.\n" "- Lignes suivantes : Décrire pourquoi ces modifications sont bonnes.\n" -#: lib/commit.tcl:207 +#: lib/commit.tcl:211 #, tcl-format msgid "warning: Tcl does not support encoding '%s'." -msgstr "attention : Tcl ne supporte pas l'encodage '%s'." +msgstr "attention : Tcl ne supporte pas le codage '%s'." -#: lib/commit.tcl:221 +#: lib/commit.tcl:227 msgid "Calling pre-commit hook..." msgstr "Lancement de l'action d'avant-commit..." -#: lib/commit.tcl:236 +#: lib/commit.tcl:242 msgid "Commit declined by pre-commit hook." msgstr "Commit refusé par l'action d'avant-commit." -#: lib/commit.tcl:259 +#: lib/commit.tcl:265 msgid "Calling commit-msg hook..." msgstr "Lancement de l'action \"message de commit\"..." -#: lib/commit.tcl:274 +#: lib/commit.tcl:280 msgid "Commit declined by commit-msg hook." msgstr "Commit refusé par l'action \"message de commit\"." -#: lib/commit.tcl:287 +#: lib/commit.tcl:293 msgid "Committing changes..." msgstr "Commit des modifications..." -#: lib/commit.tcl:303 +#: lib/commit.tcl:309 msgid "write-tree failed:" msgstr "write-tree a échoué :" -#: lib/commit.tcl:304 lib/commit.tcl:348 lib/commit.tcl:368 +#: lib/commit.tcl:310 lib/commit.tcl:354 lib/commit.tcl:374 msgid "Commit failed." msgstr "Le commit a échoué." -#: lib/commit.tcl:321 +#: lib/commit.tcl:327 #, tcl-format msgid "Commit %s appears to be corrupt" msgstr "Le commit %s semble être corrompu" -#: lib/commit.tcl:326 +#: lib/commit.tcl:332 msgid "" "No changes to commit.\n" "\n" @@ -1359,22 +1449,22 @@ msgstr "" "\n" "Une resynchronisation va être lancée tout de suite automatiquement.\n" -#: lib/commit.tcl:333 +#: lib/commit.tcl:339 msgid "No changes to commit." msgstr "Pas de modifications à commiter." -#: lib/commit.tcl:347 +#: lib/commit.tcl:353 msgid "commit-tree failed:" msgstr "commit-tree a échoué :" -#: lib/commit.tcl:367 +#: lib/commit.tcl:373 msgid "update-ref failed:" -msgstr "update-ref a échoué" +msgstr "update-ref a échoué :" -#: lib/commit.tcl:454 +#: lib/commit.tcl:461 #, tcl-format msgid "Created commit %s: %s" -msgstr "Commit créé %s : %s" +msgstr "Commit %s créé : %s" #: lib/console.tcl:59 msgid "Working... please wait..." @@ -1448,7 +1538,7 @@ msgstr "" msgid "Invalid date from Git: %s" msgstr "Date invalide de Git : %s" -#: lib/diff.tcl:44 +#: lib/diff.tcl:59 #, tcl-format msgid "" "No differences detected.\n" @@ -1471,48 +1561,101 @@ msgstr "" "Une resynchronisation va être lancée automatiquement pour trouver d'autres " "fichiers qui pourraient se trouver dans le même état." -#: lib/diff.tcl:83 +#: lib/diff.tcl:99 #, tcl-format msgid "Loading diff of %s..." msgstr "Chargement des différences de %s..." -#: lib/diff.tcl:116 lib/diff.tcl:190 +#: lib/diff.tcl:120 +msgid "" +"LOCAL: deleted\n" +"REMOTE:\n" +msgstr "" +"LOCAL : supprimé\n" +"DISTANT :\n" + +#: lib/diff.tcl:125 +msgid "" +"REMOTE: deleted\n" +"LOCAL:\n" +msgstr "" +"DISTANT : supprimé\n" +"LOCAL :\n" + +#: lib/diff.tcl:132 +msgid "LOCAL:\n" +msgstr "LOCAL :\n" + +#: lib/diff.tcl:135 +msgid "REMOTE:\n" +msgstr "DISTANT :\n" + +#: lib/diff.tcl:197 lib/diff.tcl:296 #, tcl-format msgid "Unable to display %s" msgstr "Impossible d'afficher %s" -#: lib/diff.tcl:117 +#: lib/diff.tcl:198 msgid "Error loading file:" msgstr "Erreur lors du chargement du fichier :" -#: lib/diff.tcl:124 +#: lib/diff.tcl:205 msgid "Git Repository (subproject)" msgstr "Dépôt Git (sous projet)" -#: lib/diff.tcl:136 +#: lib/diff.tcl:217 msgid "* Binary file (not showing content)." msgstr "* Fichier binaire (pas d'apperçu du contenu)." -#: lib/diff.tcl:191 -msgid "Error loading diff:" -msgstr "Erreur lors du chargement des différences :" +#: lib/diff.tcl:222 +#, tcl-format +msgid "" +"* Untracked file is %d bytes.\n" +"* Showing only first %d bytes.\n" +msgstr "" +"* Le fichier non suivi fait %d octets.\n" +"* Seuls les %d premiers octets sont montrés.\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" +"* Fichier suivi raccourcis ici de %s.\n" +"* Pour voir le fichier entier, utilisez un éditeur externe.\n" -#: lib/diff.tcl:313 +#: lib/diff.tcl:436 msgid "Failed to unstage selected hunk." msgstr "Échec lors de la désindexation de la section sélectionnée." -#: lib/diff.tcl:320 +#: lib/diff.tcl:443 msgid "Failed to stage selected hunk." msgstr "Échec lors de l'indexation de la section." -#: lib/diff.tcl:386 +#: lib/diff.tcl:509 msgid "Failed to unstage selected line." msgstr "Échec lors de la désindexation de la ligne sélectionnée." -#: lib/diff.tcl:394 +#: lib/diff.tcl:517 msgid "Failed to stage selected line." msgstr "Échec lors de l'indexation de la ligne." +#: lib/encoding.tcl:443 +msgid "Default" +msgstr "Défaut" + +#: lib/encoding.tcl:448 +#, tcl-format +msgid "System (%s)" +msgstr "Système (%s)" + +#: lib/encoding.tcl:459 lib/encoding.tcl:465 +msgid "Other" +msgstr "Autre" + #: lib/error.tcl:20 lib/error.tcl:114 msgid "error" msgstr "erreur" @@ -1527,7 +1670,7 @@ msgstr "Vous devez corriger les erreurs suivantes avant de pouvoir commiter." #: lib/index.tcl:6 msgid "Unable to unlock the index." -msgstr "Impossible de dévérouiller l'index." +msgstr "Impossible de déverrouiller l'index." #: lib/index.tcl:15 msgid "Index Error" @@ -1547,42 +1690,51 @@ msgstr "Continuer" #: lib/index.tcl:31 msgid "Unlock Index" -msgstr "Déverouiller l'index" +msgstr "Déverrouiller l'index" -#: lib/index.tcl:282 +#: lib/index.tcl:287 #, tcl-format msgid "Unstaging %s from commit" -msgstr "Désindexation de: %s" +msgstr "Désindexation de : %s" -#: lib/index.tcl:313 +#: lib/index.tcl:326 msgid "Ready to commit." msgstr "Prêt à être commité." -#: lib/index.tcl:326 +#: lib/index.tcl:339 #, tcl-format msgid "Adding %s" msgstr "Ajout de %s" -#: lib/index.tcl:381 +#: lib/index.tcl:396 #, tcl-format msgid "Revert changes in file %s?" msgstr "Annuler les modifications dans le fichier %s ? " -#: lib/index.tcl:383 +#: lib/index.tcl:398 #, tcl-format msgid "Revert changes in these %i files?" msgstr "Annuler les modifications dans ces %i fichiers ?" -#: lib/index.tcl:391 +#: lib/index.tcl:406 msgid "Any unstaged changes will be permanently lost by the revert." msgstr "" "Toutes les modifications non-indexées seront définitivement perdues par " "l'annulation." -#: lib/index.tcl:394 +#: lib/index.tcl:409 msgid "Do Nothing" msgstr "Ne rien faire" +#: lib/index.tcl:427 +msgid "Reverting selected files" +msgstr "Annuler modifications dans fichiers selectionnés" + +#: lib/index.tcl:431 +#, tcl-format +msgid "Reverting %s" +msgstr "Annulation des modifications dans %s" + #: lib/merge.tcl:13 msgid "" "Cannot merge while amending.\n" @@ -1612,7 +1764,7 @@ msgstr "" "\n" "Cela va être fait tout de suite automatiquement\n" -#: lib/merge.tcl:44 +#: lib/merge.tcl:45 #, tcl-format msgid "" "You are in the middle of a conflicted merge.\n" @@ -1630,7 +1782,7 @@ msgstr "" "terminer la fusion courante. Seulement à ce moment là sera-t-il possible " "d'effectuer une nouvelle fusion.\n" -#: lib/merge.tcl:54 +#: lib/merge.tcl:55 #, tcl-format msgid "" "You are in the middle of a change.\n" @@ -1642,40 +1794,40 @@ msgid "" msgstr "" "Vous êtes au milieu d'une modification.\n" "\n" -"Le fichier %s est modifié.\n" +"Le fichier %s a été modifié.\n" "\n" "Vous devriez terminer le commit courant avant de lancer une fusion. En " "faisait comme cela, vous éviterez de devoir éventuellement abandonner une " -"fusion ayant échouée.\n" +"fusion ayant échoué.\n" -#: lib/merge.tcl:106 +#: lib/merge.tcl:107 #, tcl-format msgid "%s of %s" msgstr "%s de %s" -#: lib/merge.tcl:119 +#: lib/merge.tcl:120 #, tcl-format msgid "Merging %s and %s..." msgstr "Fusion de %s et %s..." -#: lib/merge.tcl:130 +#: lib/merge.tcl:131 msgid "Merge completed successfully." msgstr "La fusion s'est faite avec succès." -#: lib/merge.tcl:132 +#: lib/merge.tcl:133 msgid "Merge failed. Conflict resolution is required." -msgstr "La fusion a echouée. Il est nécessaire de résoudre les conflicts." +msgstr "La fusion a echoué. Il est nécessaire de résoudre les conflits." -#: lib/merge.tcl:157 +#: lib/merge.tcl:158 #, tcl-format msgid "Merge Into %s" msgstr "Fusion dans %s" -#: lib/merge.tcl:176 +#: lib/merge.tcl:177 msgid "Revision To Merge" msgstr "Révision à fusionner" -#: lib/merge.tcl:211 +#: lib/merge.tcl:212 msgid "" "Cannot abort while amending.\n" "\n" @@ -1685,7 +1837,7 @@ msgstr "" "\n" "Vous devez finir de corriger ce commit.\n" -#: lib/merge.tcl:221 +#: lib/merge.tcl:222 msgid "" "Abort merge?\n" "\n" @@ -1700,7 +1852,7 @@ msgstr "" "\n" "Abandonner quand même la fusion courante ?" -#: lib/merge.tcl:227 +#: lib/merge.tcl:228 msgid "" "Reset changes?\n" "\n" @@ -1715,131 +1867,323 @@ msgstr "" "\n" "Réinitialiser quand même les modifications courantes ?" -#: lib/merge.tcl:238 +#: lib/merge.tcl:239 msgid "Aborting" msgstr "Abandon" -#: lib/merge.tcl:238 +#: lib/merge.tcl:239 msgid "files reset" msgstr "fichiers réinitialisés" -#: lib/merge.tcl:266 +#: lib/merge.tcl:267 msgid "Abort failed." msgstr "L'abandon a échoué." -#: lib/merge.tcl:268 +#: lib/merge.tcl:269 msgid "Abort completed. Ready." msgstr "Abandon teminé. Prêt." -#: lib/option.tcl:95 +#: lib/mergetool.tcl:8 +msgid "Force resolution to the base version?" +msgstr "Forcer la résolution à la version de base ?" + +#: lib/mergetool.tcl:9 +msgid "Force resolution to this branch?" +msgstr "Forcer la résolution à cette branche ?" + +#: lib/mergetool.tcl:10 +msgid "Force resolution to the other branch?" +msgstr "Forcer la résolution à l'autre branche ?" + +#: 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 "" +"Noter que le diff ne montre que les modifications en conflit.\n" +"\n" +"%s sera écrasé.\n" +"\n" +"Cette opération ne peut être inversée qu'en relançant la fusion." + +#: lib/mergetool.tcl:45 +#, tcl-format +msgid "File %s seems to have unresolved conflicts, still stage?" +msgstr "Le fichier %s semble avoir des conflits non résolus, indexer quand même ?" + +#: lib/mergetool.tcl:60 +#, tcl-format +msgid "Adding resolution for %s" +msgstr "Ajouter une résolution pour %s" + +#: lib/mergetool.tcl:141 +msgid "Cannot resolve deletion or link conflicts using a tool" +msgstr "Impossible de résoudre la suppression ou de relier des conflits en utilisant un outil" + +#: lib/mergetool.tcl:146 +msgid "Conflict file does not exist" +msgstr "Le fichier en conflit n'existe pas." + +#: lib/mergetool.tcl:264 +#, tcl-format +msgid "Not a GUI merge tool: '%s'" +msgstr "'%s' n'est pas un outil graphique pour fusionner des fichiers." + +#: lib/mergetool.tcl:268 +#, tcl-format +msgid "Unsupported merge tool '%s'" +msgstr "Outil de fusion '%s' non supporté" + +#: lib/mergetool.tcl:303 +msgid "Merge tool is already running, terminate it?" +msgstr "L'outil de fusion tourne déjà, faut-il le terminer ?" + +#: lib/mergetool.tcl:323 +#, tcl-format +msgid "" +"Error retrieving versions:\n" +"%s" +msgstr "" +"Erreur lors de la récupération des versions :\n" +"%s" + +#: lib/mergetool.tcl:343 +#, tcl-format +msgid "" +"Could not start the merge tool:\n" +"\n" +"%s" +msgstr "" +"Impossible de lancer l'outil de fusion :\n" +"\n" +"%s" + +#: lib/mergetool.tcl:347 +msgid "Running merge tool..." +msgstr "Lancement de l'outil de fusion..." + +#: lib/mergetool.tcl:375 lib/mergetool.tcl:383 +msgid "Merge tool failed." +msgstr "L'outil de fusion a échoué." + +#: lib/option.tcl:11 +#, tcl-format +msgid "Invalid global encoding '%s'" +msgstr "Codage global '%s' invalide" + +#: lib/option.tcl:19 +#, tcl-format +msgid "Invalid repo encoding '%s'" +msgstr "Codage de dépôt '%s' invalide" + +#: lib/option.tcl:117 msgid "Restore Defaults" msgstr "Remettre les valeurs par défaut" -#: lib/option.tcl:99 +#: lib/option.tcl:121 msgid "Save" msgstr "Sauvegarder" -#: lib/option.tcl:109 +#: lib/option.tcl:131 #, tcl-format msgid "%s Repository" -msgstr "Dépôt: %s" +msgstr "Dépôt : %s" -#: lib/option.tcl:110 +#: lib/option.tcl:132 msgid "Global (All Repositories)" msgstr "Globales (tous les dépôts)" -#: lib/option.tcl:116 +#: lib/option.tcl:138 msgid "User Name" msgstr "Nom d'utilisateur" -#: lib/option.tcl:117 +#: lib/option.tcl:139 msgid "Email Address" msgstr "Adresse email" -#: lib/option.tcl:119 +#: lib/option.tcl:141 msgid "Summarize Merge Commits" msgstr "Résumer les commits de fusion" -#: lib/option.tcl:120 +#: lib/option.tcl:142 msgid "Merge Verbosity" msgstr "Fusion bavarde" -#: lib/option.tcl:121 +#: lib/option.tcl:143 msgid "Show Diffstat After Merge" msgstr "Montrer statistiques de diff après fusion" -#: lib/option.tcl:123 +#: lib/option.tcl:144 +msgid "Use Merge Tool" +msgstr "Utiliser outil de fusion" + +#: lib/option.tcl:146 msgid "Trust File Modification Timestamps" msgstr "Faire confiance aux dates de modification de fichiers " -#: lib/option.tcl:124 +#: lib/option.tcl:147 msgid "Prune Tracking Branches During Fetch" msgstr "Purger les branches de suivi pendant la récupération" -#: lib/option.tcl:125 +#: lib/option.tcl:148 msgid "Match Tracking Branches" msgstr "Faire correspondre les branches de suivi" -#: lib/option.tcl:126 +#: lib/option.tcl:149 msgid "Blame Copy Only On Changed Files" msgstr "Annoter les copies seulement sur fichiers modifiés" -#: lib/option.tcl:127 +#: lib/option.tcl:150 msgid "Minimum Letters To Blame Copy On" msgstr "Minimum de caratères pour annoter une copie" -#: lib/option.tcl:128 +#: lib/option.tcl:151 +msgid "Blame History Context Radius (days)" +msgstr "Distance de blâme dans l'historique (jours)" + +#: lib/option.tcl:152 msgid "Number of Diff Context Lines" msgstr "Nombre de lignes de contexte dans les diffs" -#: lib/option.tcl:129 +#: lib/option.tcl:153 msgid "Commit Message Text Width" msgstr "Largeur du texte de message de commit" -#: lib/option.tcl:130 +#: lib/option.tcl:154 msgid "New Branch Name Template" msgstr "Nouveau modèle de nom de branche" -#: lib/option.tcl:194 +#: lib/option.tcl:155 +msgid "Default File Contents Encoding" +msgstr "Codage du contenu des fichiers par défaut" + +#: lib/option.tcl:203 +msgid "Change" +msgstr "Modifier" + +#: lib/option.tcl:230 msgid "Spelling Dictionary:" msgstr "Dictionnaire d'orthographe :" -#: lib/option.tcl:218 +#: lib/option.tcl:254 msgid "Change Font" msgstr "Modifier les polices" -#: lib/option.tcl:222 +#: lib/option.tcl:258 #, tcl-format msgid "Choose %s" msgstr "Choisir %s" -#: lib/option.tcl:228 +#: lib/option.tcl:264 msgid "pt." msgstr "pt." -#: lib/option.tcl:242 +#: lib/option.tcl:278 msgid "Preferences" msgstr "Préférences" -#: lib/option.tcl:277 +#: lib/option.tcl:314 msgid "Failed to completely save options:" -msgstr "La sauvegarde complète des options a échouée :" +msgstr "La sauvegarde complète des options a échoué :" + +#: lib/remote.tcl:163 +msgid "Remove Remote" +msgstr "Supprimer un dépôt distant" -#: lib/remote.tcl:165 +#: lib/remote.tcl:168 msgid "Prune from" msgstr "Purger de" -#: lib/remote.tcl:170 +#: lib/remote.tcl:173 msgid "Fetch from" msgstr "Récupérer de" -#: lib/remote.tcl:213 +#: lib/remote.tcl:215 msgid "Push to" msgstr "Pousser vers" +#: lib/remote_add.tcl:19 +msgid "Add Remote" +msgstr "Ajouter un dépôt distant" + +#: lib/remote_add.tcl:24 +msgid "Add New Remote" +msgstr "Ajouter un nouveau dépôt distant" + +#: lib/remote_add.tcl:28 lib/tools_dlg.tcl:36 +msgid "Add" +msgstr "Ajouter" + +#: lib/remote_add.tcl:37 +msgid "Remote Details" +msgstr "Détails des dépôts distants" + +#: lib/remote_add.tcl:50 +msgid "Location:" +msgstr "Emplacement :" + +#: lib/remote_add.tcl:62 +msgid "Further Action" +msgstr "Action supplémentaire" + +#: lib/remote_add.tcl:65 +msgid "Fetch Immediately" +msgstr "Récupérer immédiatement" + +#: lib/remote_add.tcl:71 +msgid "Initialize Remote Repository and Push" +msgstr "Initialiser un dépôt distant et pousser" + +#: lib/remote_add.tcl:77 +msgid "Do Nothing Else Now" +msgstr "Ne rien faire d'autre maintenant" + +#: lib/remote_add.tcl:101 +msgid "Please supply a remote name." +msgstr "Merci de fournir un nom de dépôt distant." + +#: lib/remote_add.tcl:114 +#, tcl-format +msgid "'%s' is not an acceptable remote name." +msgstr "'%s' n'est pas un nom de dépôt distant acceptable." + +#: lib/remote_add.tcl:125 +#, tcl-format +msgid "Failed to add remote '%s' of location '%s'." +msgstr "Échec de l'ajout du dépôt distant '%s' à l'emplacement '%s'." + +#: lib/remote_add.tcl:133 lib/transport.tcl:6 +#, tcl-format +msgid "fetch %s" +msgstr "récupérer %s" + +#: lib/remote_add.tcl:134 +#, tcl-format +msgid "Fetching the %s" +msgstr "Récupération de %s" + +#: lib/remote_add.tcl:157 +#, tcl-format +msgid "Do not know how to initialize repository at location '%s'." +msgstr "Pas de méthode connue pour initialiser le dépôt à l'emplacement '%s'." + +#: lib/remote_add.tcl:163 lib/transport.tcl:25 lib/transport.tcl:71 +#, tcl-format +msgid "push %s" +msgstr "pousser %s" + +#: lib/remote_add.tcl:164 +#, tcl-format +msgid "Setting up the %s (at %s)" +msgstr "Mise en place de %s (à %s)" + #: lib/remote_branch_delete.tcl:29 lib/remote_branch_delete.tcl:34 -msgid "Delete Remote Branch" -msgstr "Supprimer branche distante" +msgid "Delete Branch Remotely" +msgstr "Supprimer une branche à distance" #: lib/remote_branch_delete.tcl:47 msgid "From Repository" @@ -1850,8 +2194,8 @@ msgid "Remote:" msgstr "Branche distante :" #: lib/remote_branch_delete.tcl:66 lib/transport.tcl:138 -msgid "Arbitrary URL:" -msgstr "URL arbitraire :" +msgid "Arbitrary Location:" +msgstr "Emplacement arbitraire :" #: lib/remote_branch_delete.tcl:84 msgid "Branches" @@ -1890,8 +2234,8 @@ msgid "" "One or more of the merge tests failed because you have not fetched the " "necessary commits. Try fetching from %s first." msgstr "" -"Une ou plusieurs des tests de fusion ont échoués parce que vous n'avez pas " -"récupéré les commits nécessaires. Essayez de récupéré à partir de %s d'abord." +"Un ou plusieurs des tests de fusion ont échoué parce que vous n'avez pas " +"récupéré les commits nécessaires. Essayez de récupérer à partir de %s d'abord." #: lib/remote_branch_delete.tcl:207 msgid "Please select one or more branches to delete." @@ -1903,14 +2247,14 @@ msgid "" "\n" "Delete the selected branches?" msgstr "" -"Récupérer des branches supprimées est difficile.\n" +"Il est difficile de récupérer des branches supprimées.\n" "\n" -"Souhaitez vous supprimer les branches sélectionnées ?" +"Supprimer les branches sélectionnées ?" #: lib/remote_branch_delete.tcl:226 #, tcl-format msgid "Deleting branches from %s" -msgstr "Supprimer les branches de %s" +msgstr "Suppression des branches de %s" #: lib/remote_branch_delete.tcl:286 msgid "No repository selected." @@ -1921,9 +2265,25 @@ msgstr "Aucun dépôt n'est sélectionné." msgid "Scanning %s..." msgstr "Synchronisation de %s..." +#: lib/search.tcl:21 +msgid "Find:" +msgstr "Chercher :" + +#: lib/search.tcl:23 +msgid "Next" +msgstr "Suivant" + +#: lib/search.tcl:24 +msgid "Prev" +msgstr "Précédent" + +#: lib/search.tcl:25 +msgid "Case-Sensitive" +msgstr "Sensible à la casse" + #: lib/shortcut.tcl:20 lib/shortcut.tcl:61 msgid "Cannot write shortcut:" -msgstr "Impossible d'écrire le raccourcis :" +msgstr "Impossible d'écrire le raccourci :" #: lib/shortcut.tcl:136 msgid "Cannot write icon:" @@ -1948,7 +2308,7 @@ msgstr "Réinitialisation du dictionnaire à %s." #: lib/spellcheck.tcl:73 msgid "Spell checker silently failed on startup" -msgstr "La vérification d'orthographe a échouée silentieusement au démarrage" +msgstr "La vérification d'orthographe a échoué silencieusement au démarrage" #: lib/spellcheck.tcl:80 msgid "Unrecognized spell checker" @@ -1958,23 +2318,188 @@ msgstr "Vérificateur d'orthographe non reconnu" msgid "No Suggestions" msgstr "Aucune suggestion" -#: lib/spellcheck.tcl:387 +#: lib/spellcheck.tcl:388 msgid "Unexpected EOF from spell checker" msgstr "EOF inattendue envoyée par le vérificateur d'orthographe" -#: lib/spellcheck.tcl:391 +#: lib/spellcheck.tcl:392 msgid "Spell Checker Failed" msgstr "Le vérificateur d'orthographe a échoué" +#: lib/sshkey.tcl:31 +msgid "No keys found." +msgstr "Aucune clé trouvée." + +#: lib/sshkey.tcl:34 +#, tcl-format +msgid "Found a public key in: %s" +msgstr "Clé publique trouvée dans : %s" + +#: lib/sshkey.tcl:40 +msgid "Generate Key" +msgstr "Générer une clé" + +#: lib/sshkey.tcl:56 +msgid "Copy To Clipboard" +msgstr "Copier dans le presse-papier" + +#: lib/sshkey.tcl:70 +msgid "Your OpenSSH Public Key" +msgstr "Votre clé publique OpenSSH" + +#: lib/sshkey.tcl:78 +msgid "Generating..." +msgstr "Génération..." + +#: lib/sshkey.tcl:84 +#, tcl-format +msgid "" +"Could not start ssh-keygen:\n" +"\n" +"%s" +msgstr "" +"Impossible de lancer ssh-keygen :\n" +"\n" +"%s" + +#: lib/sshkey.tcl:111 +msgid "Generation failed." +msgstr "La génération a échoué." + +#: lib/sshkey.tcl:118 +msgid "Generation succeded, but no keys found." +msgstr "La génération a réussi, mais aucune clé n'a été trouvée." + +#: lib/sshkey.tcl:121 +#, tcl-format +msgid "Your key is in: %s" +msgstr "Votre clé est dans : %s" + #: lib/status_bar.tcl:83 #, tcl-format msgid "%s ... %*i of %*i %s (%3i%%)" msgstr "%s ... %*i de %*i %s (%3i%%)" -#: lib/transport.tcl:6 +#: lib/tools.tcl:75 #, tcl-format -msgid "fetch %s" -msgstr "récupérer %s" +msgid "Running %s requires a selected file." +msgstr "Lancer %s nécessite qu'un fichier soit sélectionné." + +#: lib/tools.tcl:90 +#, tcl-format +msgid "Are you sure you want to run %s?" +msgstr "Êtes-vous sûr de vouloir lancer %s ?" + +#: lib/tools.tcl:110 +#, tcl-format +msgid "Tool: %s" +msgstr "Outil : %s" + +#: lib/tools.tcl:111 +#, tcl-format +msgid "Running: %s" +msgstr "Lancement de : %s" + +#: lib/tools.tcl:149 +#, tcl-format +msgid "Tool completed successfully: %s" +msgstr "L'outil a terminé avec succès : %s" + +#: lib/tools.tcl:151 +#, tcl-format +msgid "Tool failed: %s" +msgstr "L'outil a échoué : %s" + +#: lib/tools_dlg.tcl:22 +msgid "Add Tool" +msgstr "Ajouter un outil" + +#: lib/tools_dlg.tcl:28 +msgid "Add New Tool Command" +msgstr "Ajouter une nouvelle commande d'outil" + +#: lib/tools_dlg.tcl:33 +msgid "Add globally" +msgstr "Ajouter globalement" + +#: lib/tools_dlg.tcl:45 +msgid "Tool Details" +msgstr "Détails sur l'outil" + +#: lib/tools_dlg.tcl:48 +msgid "Use '/' separators to create a submenu tree:" +msgstr "Utiliser les séparateurs '/' pour créer un arbre de sous-menus :" + +#: lib/tools_dlg.tcl:61 +msgid "Command:" +msgstr "Commande :" + +#: lib/tools_dlg.tcl:74 +msgid "Show a dialog before running" +msgstr "Montrer une boîte de dialogue avant le lancement" + +#: lib/tools_dlg.tcl:80 +msgid "Ask the user to select a revision (sets $REVISION)" +msgstr "Demander à l'utilisateur de sélectionner une révision (change $REVISION)" + +#: lib/tools_dlg.tcl:85 +msgid "Ask the user for additional arguments (sets $ARGS)" +msgstr "Demander à l'utilisateur des arguments supplémentaires (change $ARGS)" + +#: lib/tools_dlg.tcl:92 +msgid "Don't show the command output window" +msgstr "Ne pas montrer la fenêtre de sortie des commandes" + +#: lib/tools_dlg.tcl:97 +msgid "Run only if a diff is selected ($FILENAME not empty)" +msgstr "Lancer seulement si un diff est sélectionné ($FILENAME non vide)" + +#: lib/tools_dlg.tcl:121 +msgid "Please supply a name for the tool." +msgstr "Merci de fournir un nom pour l'outil." + +#: lib/tools_dlg.tcl:129 +#, tcl-format +msgid "Tool '%s' already exists." +msgstr "L'outil '%s' existe déjà." + +#: lib/tools_dlg.tcl:151 +#, tcl-format +msgid "" +"Could not add tool:\n" +"%s" +msgstr "" +"Impossible d'ajouter l'outil :\n" +"%s" + +#: lib/tools_dlg.tcl:190 +msgid "Remove Tool" +msgstr "Supprimer l'outil" + +#: lib/tools_dlg.tcl:196 +msgid "Remove Tool Commands" +msgstr "Supprimer des commandes d'outil" + +#: lib/tools_dlg.tcl:200 +msgid "Remove" +msgstr "Supprimer" + +#: lib/tools_dlg.tcl:236 +msgid "(Blue denotes repository-local tools)" +msgstr "(Le bleu indique des outils locaux au dépôt)" + +#: lib/tools_dlg.tcl:297 +#, tcl-format +msgid "Run Command: %s" +msgstr "Lancer commande : %s" + +#: lib/tools_dlg.tcl:311 +msgid "Arguments" +msgstr "Arguments" + +#: lib/tools_dlg.tcl:348 +msgid "OK" +msgstr "OK" #: lib/transport.tcl:7 #, tcl-format @@ -1991,11 +2516,6 @@ msgstr "purger à distance %s" msgid "Pruning tracking branches deleted from %s" msgstr "Nettoyer les branches de suivi supprimées de %s" -#: lib/transport.tcl:25 lib/transport.tcl:71 -#, tcl-format -msgid "push %s" -msgstr "pousser %s" - #: lib/transport.tcl:26 #, tcl-format msgid "Pushing changes to %s" diff --git a/git-gui/po/git-gui.pot b/git-gui/po/git-gui.pot index e295000e77..53b7d3634d 100644 --- a/git-gui/po/git-gui.pot +++ b/git-gui/po/git-gui.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-08-02 14:45-0700\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 <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -16,33 +16,33 @@ msgstr "" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" -#: git-gui.sh:41 git-gui.sh:688 git-gui.sh:702 git-gui.sh:715 git-gui.sh:798 -#: git-gui.sh:817 +#: 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:644 +#: git-gui.sh:689 #, tcl-format msgid "Invalid font specified in %s:" msgstr "" -#: git-gui.sh:674 +#: git-gui.sh:723 msgid "Main Font" msgstr "" -#: git-gui.sh:675 +#: git-gui.sh:724 msgid "Diff/Console Font" msgstr "" -#: git-gui.sh:689 +#: git-gui.sh:738 msgid "Cannot find git in PATH." msgstr "" -#: git-gui.sh:716 +#: git-gui.sh:765 msgid "Cannot parse Git version string:" msgstr "" -#: git-gui.sh:734 +#: git-gui.sh:783 #, tcl-format msgid "" "Git version cannot be determined.\n" @@ -54,379 +54,444 @@ msgid "" "Assume '%s' is version 1.5.0?\n" msgstr "" -#: git-gui.sh:972 +#: git-gui.sh:1062 msgid "Git directory not found:" msgstr "" -#: git-gui.sh:979 +#: git-gui.sh:1069 msgid "Cannot move to top of working directory:" msgstr "" -#: git-gui.sh:986 +#: git-gui.sh:1076 msgid "Cannot use funny .git directory:" msgstr "" -#: git-gui.sh:991 +#: git-gui.sh:1081 msgid "No working directory" msgstr "" -#: git-gui.sh:1138 lib/checkout_op.tcl:305 +#: git-gui.sh:1247 lib/checkout_op.tcl:305 msgid "Refreshing file status..." msgstr "" -#: git-gui.sh:1194 +#: git-gui.sh:1303 msgid "Scanning for modified files ..." msgstr "" -#: git-gui.sh:1369 lib/browser.tcl:246 +#: 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:1635 +#: git-gui.sh:1819 msgid "Unmodified" msgstr "" -#: git-gui.sh:1637 +#: git-gui.sh:1821 msgid "Modified, not staged" msgstr "" -#: git-gui.sh:1638 git-gui.sh:1643 +#: git-gui.sh:1822 git-gui.sh:1830 msgid "Staged for commit" msgstr "" -#: git-gui.sh:1639 git-gui.sh:1644 +#: git-gui.sh:1823 git-gui.sh:1831 msgid "Portions staged for commit" msgstr "" -#: git-gui.sh:1640 git-gui.sh:1645 +#: git-gui.sh:1824 git-gui.sh:1832 msgid "Staged for commit, missing" msgstr "" -#: git-gui.sh:1642 +#: 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:1647 +#: git-gui.sh:1834 msgid "Missing" msgstr "" -#: git-gui.sh:1648 +#: git-gui.sh:1835 msgid "Staged for removal" msgstr "" -#: git-gui.sh:1649 +#: git-gui.sh:1836 msgid "Staged for removal, still present" msgstr "" -#: git-gui.sh:1651 git-gui.sh:1652 git-gui.sh:1653 git-gui.sh:1654 +#: 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:1689 +#: git-gui.sh:1878 msgid "Starting gitk... please wait..." msgstr "" -#: git-gui.sh:1698 +#: git-gui.sh:1887 msgid "Couldn't find gitk in PATH" msgstr "" -#: git-gui.sh:1948 lib/choose_repository.tcl:36 +#: git-gui.sh:2280 lib/choose_repository.tcl:36 msgid "Repository" msgstr "" -#: git-gui.sh:1949 +#: git-gui.sh:2281 msgid "Edit" msgstr "" -#: git-gui.sh:1951 lib/choose_rev.tcl:561 +#: git-gui.sh:2283 lib/choose_rev.tcl:561 msgid "Branch" msgstr "" -#: git-gui.sh:1954 lib/choose_rev.tcl:548 +#: git-gui.sh:2286 lib/choose_rev.tcl:548 msgid "Commit@@noun" msgstr "" -#: git-gui.sh:1957 lib/merge.tcl:120 lib/merge.tcl:149 lib/merge.tcl:167 +#: git-gui.sh:2289 lib/merge.tcl:121 lib/merge.tcl:150 lib/merge.tcl:168 msgid "Merge" msgstr "" -#: git-gui.sh:1958 lib/choose_rev.tcl:557 +#: git-gui.sh:2290 lib/choose_rev.tcl:557 msgid "Remote" msgstr "" -#: git-gui.sh:1967 +#: 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:1971 +#: git-gui.sh:2311 msgid "Browse Branch Files..." msgstr "" -#: git-gui.sh:1976 +#: git-gui.sh:2316 msgid "Visualize Current Branch's History" msgstr "" -#: git-gui.sh:1980 +#: git-gui.sh:2320 msgid "Visualize All Branch History" msgstr "" -#: git-gui.sh:1987 +#: git-gui.sh:2327 #, tcl-format msgid "Browse %s's Files" msgstr "" -#: git-gui.sh:1989 +#: git-gui.sh:2329 #, tcl-format msgid "Visualize %s's History" msgstr "" -#: git-gui.sh:1994 lib/database.tcl:27 lib/database.tcl:67 +#: git-gui.sh:2334 lib/database.tcl:27 lib/database.tcl:67 msgid "Database Statistics" msgstr "" -#: git-gui.sh:1997 lib/database.tcl:34 +#: git-gui.sh:2337 lib/database.tcl:34 msgid "Compress Database" msgstr "" -#: git-gui.sh:2000 +#: git-gui.sh:2340 msgid "Verify Database" msgstr "" -#: git-gui.sh:2007 git-gui.sh:2011 git-gui.sh:2015 lib/shortcut.tcl:7 +#: 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:2023 lib/choose_repository.tcl:177 lib/choose_repository.tcl:185 +#: git-gui.sh:2363 lib/choose_repository.tcl:183 lib/choose_repository.tcl:191 msgid "Quit" msgstr "" -#: git-gui.sh:2031 +#: git-gui.sh:2371 msgid "Undo" msgstr "" -#: git-gui.sh:2034 +#: git-gui.sh:2374 msgid "Redo" msgstr "" -#: git-gui.sh:2038 git-gui.sh:2545 +#: git-gui.sh:2378 git-gui.sh:2937 msgid "Cut" msgstr "" -#: git-gui.sh:2041 git-gui.sh:2548 git-gui.sh:2622 git-gui.sh:2715 +#: 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:2044 git-gui.sh:2551 +#: git-gui.sh:2384 git-gui.sh:2943 msgid "Paste" msgstr "" -#: git-gui.sh:2047 git-gui.sh:2554 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:2051 git-gui.sh:2558 git-gui.sh:2719 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:2060 +#: git-gui.sh:2400 msgid "Create..." msgstr "" -#: git-gui.sh:2066 +#: git-gui.sh:2406 msgid "Checkout..." msgstr "" -#: git-gui.sh:2072 +#: git-gui.sh:2412 msgid "Rename..." msgstr "" -#: git-gui.sh:2077 git-gui.sh:2187 +#: git-gui.sh:2417 msgid "Delete..." msgstr "" -#: git-gui.sh:2082 +#: git-gui.sh:2422 msgid "Reset..." msgstr "" -#: git-gui.sh:2094 git-gui.sh:2491 +#: git-gui.sh:2432 +msgid "Done" +msgstr "" + +#: git-gui.sh:2434 +msgid "Commit@@verb" +msgstr "" + +#: git-gui.sh:2443 git-gui.sh:2878 msgid "New Commit" msgstr "" -#: git-gui.sh:2102 git-gui.sh:2498 +#: git-gui.sh:2451 git-gui.sh:2885 msgid "Amend Last Commit" msgstr "" -#: git-gui.sh:2111 git-gui.sh:2458 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:2117 +#: git-gui.sh:2467 msgid "Stage To Commit" msgstr "" -#: git-gui.sh:2123 +#: git-gui.sh:2473 msgid "Stage Changed Files To Commit" msgstr "" -#: git-gui.sh:2129 +#: git-gui.sh:2479 msgid "Unstage From Commit" msgstr "" -#: git-gui.sh:2134 lib/index.tcl:395 +#: git-gui.sh:2484 lib/index.tcl:410 msgid "Revert Changes" msgstr "" -#: git-gui.sh:2141 git-gui.sh:2702 +#: git-gui.sh:2491 git-gui.sh:3083 msgid "Show Less Context" msgstr "" -#: git-gui.sh:2145 git-gui.sh:2706 +#: git-gui.sh:2495 git-gui.sh:3087 msgid "Show More Context" msgstr "" -#: git-gui.sh:2151 git-gui.sh:2470 git-gui.sh:2569 +#: git-gui.sh:2502 git-gui.sh:2852 git-gui.sh:2961 msgid "Sign Off" msgstr "" -#: git-gui.sh:2155 git-gui.sh:2474 -msgid "Commit@@verb" -msgstr "" - -#: git-gui.sh:2166 +#: git-gui.sh:2518 msgid "Local Merge..." msgstr "" -#: git-gui.sh:2171 +#: git-gui.sh:2523 msgid "Abort Merge..." msgstr "" -#: git-gui.sh:2183 +#: git-gui.sh:2535 git-gui.sh:2575 +msgid "Add..." +msgstr "" + +#: git-gui.sh:2539 msgid "Push..." msgstr "" -#: git-gui.sh:2197 git-gui.sh:2219 lib/about.tcl:14 -#: lib/choose_repository.tcl:44 lib/choose_repository.tcl:50 +#: 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:2201 +#: git-gui.sh:2557 msgid "Preferences..." msgstr "" -#: git-gui.sh:2209 git-gui.sh:2740 +#: git-gui.sh:2565 git-gui.sh:3129 msgid "Options..." msgstr "" -#: git-gui.sh:2215 lib/choose_repository.tcl:47 +#: git-gui.sh:2576 +msgid "Remove..." +msgstr "" + +#: git-gui.sh:2585 lib/choose_repository.tcl:50 msgid "Help" msgstr "" -#: git-gui.sh:2256 +#: git-gui.sh:2611 msgid "Online Documentation" msgstr "" -#: git-gui.sh:2340 +#: git-gui.sh:2614 lib/choose_repository.tcl:47 lib/choose_repository.tcl:56 +msgid "Show SSH Key" +msgstr "" + +#: git-gui.sh:2721 #, tcl-format msgid "fatal: cannot stat path %s: No such file or directory" msgstr "" -#: git-gui.sh:2373 +#: git-gui.sh:2754 msgid "Current Branch:" msgstr "" -#: git-gui.sh:2394 +#: git-gui.sh:2775 msgid "Staged Changes (Will Commit)" msgstr "" -#: git-gui.sh:2414 +#: git-gui.sh:2795 msgid "Unstaged Changes" msgstr "" -#: git-gui.sh:2464 +#: git-gui.sh:2845 msgid "Stage Changed" msgstr "" -#: git-gui.sh:2480 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:2510 +#: git-gui.sh:2899 msgid "Initial Commit Message:" msgstr "" -#: git-gui.sh:2511 +#: git-gui.sh:2900 msgid "Amended Commit Message:" msgstr "" -#: git-gui.sh:2512 +#: git-gui.sh:2901 msgid "Amended Initial Commit Message:" msgstr "" -#: git-gui.sh:2513 +#: git-gui.sh:2902 msgid "Amended Merge Commit Message:" msgstr "" -#: git-gui.sh:2514 +#: git-gui.sh:2903 msgid "Merge Commit Message:" msgstr "" -#: git-gui.sh:2515 +#: git-gui.sh:2904 msgid "Commit Message:" msgstr "" -#: git-gui.sh:2561 git-gui.sh:2723 lib/console.tcl:73 +#: git-gui.sh:2953 git-gui.sh:3104 lib/console.tcl:73 msgid "Copy All" msgstr "" -#: git-gui.sh:2585 lib/blame.tcl:100 +#: git-gui.sh:2977 lib/blame.tcl:104 msgid "File:" msgstr "" -#: git-gui.sh:2691 +#: git-gui.sh:3092 +msgid "Refresh" +msgstr "" + +#: git-gui.sh:3113 +msgid "Decrease Font Size" +msgstr "" + +#: git-gui.sh:3117 +msgid "Increase Font Size" +msgstr "" + +#: git-gui.sh:3125 lib/blame.tcl:281 +msgid "Encoding" +msgstr "" + +#: git-gui.sh:3136 msgid "Apply/Reverse Hunk" msgstr "" -#: git-gui.sh:2696 +#: git-gui.sh:3141 msgid "Apply/Reverse Line" msgstr "" -#: git-gui.sh:2711 -msgid "Refresh" +#: git-gui.sh:3151 +msgid "Run Merge Tool" msgstr "" -#: git-gui.sh:2732 -msgid "Decrease Font Size" +#: git-gui.sh:3156 +msgid "Use Remote Version" msgstr "" -#: git-gui.sh:2736 -msgid "Increase Font Size" +#: git-gui.sh:3160 +msgid "Use Local Version" msgstr "" -#: git-gui.sh:2747 +#: git-gui.sh:3164 +msgid "Revert To Base" +msgstr "" + +#: git-gui.sh:3183 msgid "Unstage Hunk From Commit" msgstr "" -#: git-gui.sh:2748 +#: git-gui.sh:3184 msgid "Unstage Line From Commit" msgstr "" -#: git-gui.sh:2750 +#: git-gui.sh:3186 msgid "Stage Hunk For Commit" msgstr "" -#: git-gui.sh:2751 +#: git-gui.sh:3187 msgid "Stage Line For Commit" msgstr "" -#: git-gui.sh:2771 +#: git-gui.sh:3210 msgid "Initializing..." msgstr "" -#: git-gui.sh:2876 +#: git-gui.sh:3315 #, tcl-format msgid "" "Possible environment issues exist.\n" @@ -437,14 +502,14 @@ msgid "" "\n" msgstr "" -#: git-gui.sh:2906 +#: 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:2911 +#: git-gui.sh:3350 #, tcl-format msgid "" "\n" @@ -459,80 +524,108 @@ msgstr "" msgid "git-gui - a graphical user interface for Git." msgstr "" -#: lib/blame.tcl:70 +#: lib/blame.tcl:72 msgid "File Viewer" msgstr "" -#: lib/blame.tcl:74 +#: lib/blame.tcl:78 msgid "Commit:" msgstr "" -#: lib/blame.tcl:257 +#: lib/blame.tcl:271 msgid "Copy Commit" msgstr "" -#: lib/blame.tcl:260 +#: lib/blame.tcl:275 +msgid "Find Text..." +msgstr "" + +#: lib/blame.tcl:284 msgid "Do Full Copy Detection" msgstr "" -#: lib/blame.tcl:388 +#: 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:492 +#: lib/blame.tcl:557 msgid "Loading copy/move tracking annotations..." msgstr "" -#: lib/blame.tcl:512 +#: lib/blame.tcl:577 msgid "lines annotated" msgstr "" -#: lib/blame.tcl:704 +#: lib/blame.tcl:769 msgid "Loading original location annotations..." msgstr "" -#: lib/blame.tcl:707 +#: lib/blame.tcl:772 msgid "Annotation complete." msgstr "" -#: lib/blame.tcl:737 +#: lib/blame.tcl:802 msgid "Busy" msgstr "" -#: lib/blame.tcl:738 +#: lib/blame.tcl:803 msgid "Annotation process is already running." msgstr "" -#: lib/blame.tcl:777 +#: lib/blame.tcl:842 msgid "Running thorough copy detection..." msgstr "" -#: lib/blame.tcl:827 +#: lib/blame.tcl:910 msgid "Loading annotation..." msgstr "" -#: lib/blame.tcl:883 +#: lib/blame.tcl:963 msgid "Author:" msgstr "" -#: lib/blame.tcl:887 +#: lib/blame.tcl:967 msgid "Committer:" msgstr "" -#: lib/blame.tcl:892 +#: lib/blame.tcl:972 msgid "Original File:" msgstr "" -#: lib/blame.tcl:1006 +#: lib/blame.tcl:1020 +msgid "Cannot find HEAD commit:" +msgstr "" + +#: lib/blame.tcl:1075 +msgid "Cannot find parent commit:" +msgstr "" + +#: lib/blame.tcl:1090 +msgid "Unable to display parent" +msgstr "" + +#: lib/blame.tcl:1091 lib/diff.tcl:297 +msgid "Error loading diff:" +msgstr "" + +#: lib/blame.tcl:1231 msgid "Originally By:" msgstr "" -#: lib/blame.tcl:1012 +#: lib/blame.tcl:1237 msgid "In File:" msgstr "" -#: lib/blame.tcl:1017 +#: lib/blame.tcl:1242 msgid "Copied Or Moved Here By:" msgstr "" @@ -546,16 +639,18 @@ 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:171 -#: lib/option.tcl:103 lib/remote_branch_delete.tcl:42 lib/transport.tcl:97 +#: 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:108 msgid "Cancel" msgstr "" -#: lib/branch_checkout.tcl:32 lib/browser.tcl:287 +#: 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:244 +#: lib/branch_checkout.tcl:36 lib/branch_create.tcl:69 lib/option.tcl:280 msgid "Options" msgstr "" @@ -575,7 +670,7 @@ msgstr "" msgid "Create New Branch" msgstr "" -#: lib/branch_create.tcl:31 lib/choose_repository.tcl:371 +#: lib/branch_create.tcl:31 lib/choose_repository.tcl:377 msgid "Create" msgstr "" @@ -583,7 +678,7 @@ msgstr "" msgid "Branch Name" msgstr "" -#: lib/branch_create.tcl:43 +#: lib/branch_create.tcl:43 lib/remote_add.tcl:39 lib/tools_dlg.tcl:50 msgid "Name:" msgstr "" @@ -658,13 +753,6 @@ msgstr "" 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 "" @@ -723,9 +811,9 @@ msgstr "" msgid "Browse Branch Files" msgstr "" -#: lib/browser.tcl:278 lib/choose_repository.tcl:387 -#: lib/choose_repository.tcl:472 lib/choose_repository.tcl:482 -#: lib/choose_repository.tcl:985 +#: 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 "" @@ -740,6 +828,7 @@ 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 "" @@ -836,7 +925,7 @@ msgstr "" msgid "Reset '%s'?" msgstr "" -#: lib/checkout_op.tcl:532 lib/merge.tcl:163 +#: lib/checkout_op.tcl:532 lib/merge.tcl:164 lib/tools_dlg.tcl:343 msgid "Visualize" msgstr "" @@ -877,221 +966,225 @@ msgstr "" msgid "Git Gui" msgstr "" -#: lib/choose_repository.tcl:81 lib/choose_repository.tcl:376 +#: lib/choose_repository.tcl:87 lib/choose_repository.tcl:382 msgid "Create New Repository" msgstr "" -#: lib/choose_repository.tcl:87 +#: lib/choose_repository.tcl:93 msgid "New..." msgstr "" -#: lib/choose_repository.tcl:94 lib/choose_repository.tcl:458 +#: lib/choose_repository.tcl:100 lib/choose_repository.tcl:465 msgid "Clone Existing Repository" msgstr "" -#: lib/choose_repository.tcl:100 +#: lib/choose_repository.tcl:106 msgid "Clone..." msgstr "" -#: lib/choose_repository.tcl:107 lib/choose_repository.tcl:974 +#: lib/choose_repository.tcl:113 lib/choose_repository.tcl:983 msgid "Open Existing Repository" msgstr "" -#: lib/choose_repository.tcl:113 +#: lib/choose_repository.tcl:119 msgid "Open..." msgstr "" -#: lib/choose_repository.tcl:126 +#: lib/choose_repository.tcl:132 msgid "Recent Repositories" msgstr "" -#: lib/choose_repository.tcl:132 +#: lib/choose_repository.tcl:138 msgid "Open Recent Repository:" msgstr "" -#: lib/choose_repository.tcl:296 lib/choose_repository.tcl:303 -#: lib/choose_repository.tcl:310 +#: 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:381 lib/choose_repository.tcl:476 +#: lib/choose_repository.tcl:387 msgid "Directory:" msgstr "" -#: lib/choose_repository.tcl:410 lib/choose_repository.tcl:535 -#: lib/choose_repository.tcl:1007 +#: lib/choose_repository.tcl:417 lib/choose_repository.tcl:544 +#: lib/choose_repository.tcl:1017 msgid "Git Repository" msgstr "" -#: lib/choose_repository.tcl:435 +#: lib/choose_repository.tcl:442 #, tcl-format msgid "Directory %s already exists." msgstr "" -#: lib/choose_repository.tcl:439 +#: lib/choose_repository.tcl:446 #, tcl-format msgid "File %s already exists." msgstr "" -#: lib/choose_repository.tcl:453 +#: lib/choose_repository.tcl:460 msgid "Clone" msgstr "" -#: lib/choose_repository.tcl:466 -msgid "URL:" +#: lib/choose_repository.tcl:473 +msgid "Source Location:" +msgstr "" + +#: lib/choose_repository.tcl:484 +msgid "Target Directory:" msgstr "" -#: lib/choose_repository.tcl:487 +#: lib/choose_repository.tcl:496 msgid "Clone Type:" msgstr "" -#: lib/choose_repository.tcl:493 +#: lib/choose_repository.tcl:502 msgid "Standard (Fast, Semi-Redundant, Hardlinks)" msgstr "" -#: lib/choose_repository.tcl:499 +#: lib/choose_repository.tcl:508 msgid "Full Copy (Slower, Redundant Backup)" msgstr "" -#: lib/choose_repository.tcl:505 +#: lib/choose_repository.tcl:514 msgid "Shared (Fastest, Not Recommended, No Backup)" msgstr "" -#: lib/choose_repository.tcl:541 lib/choose_repository.tcl:588 -#: lib/choose_repository.tcl:734 lib/choose_repository.tcl:804 -#: lib/choose_repository.tcl:1013 lib/choose_repository.tcl:1021 +#: 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:577 +#: lib/choose_repository.tcl:586 msgid "Standard only available for local repository." msgstr "" -#: lib/choose_repository.tcl:581 +#: lib/choose_repository.tcl:590 msgid "Shared only available for local repository." msgstr "" -#: lib/choose_repository.tcl:602 +#: lib/choose_repository.tcl:611 #, tcl-format msgid "Location %s already exists." msgstr "" -#: lib/choose_repository.tcl:613 +#: lib/choose_repository.tcl:622 msgid "Failed to configure origin" msgstr "" -#: lib/choose_repository.tcl:625 +#: lib/choose_repository.tcl:634 msgid "Counting objects" msgstr "" -#: lib/choose_repository.tcl:626 +#: lib/choose_repository.tcl:635 msgid "buckets" msgstr "" -#: lib/choose_repository.tcl:650 +#: lib/choose_repository.tcl:659 #, tcl-format msgid "Unable to copy objects/info/alternates: %s" msgstr "" -#: lib/choose_repository.tcl:686 +#: lib/choose_repository.tcl:695 #, tcl-format msgid "Nothing to clone from %s." msgstr "" -#: lib/choose_repository.tcl:688 lib/choose_repository.tcl:902 -#: lib/choose_repository.tcl:914 +#: 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:701 +#: lib/choose_repository.tcl:710 msgid "Hardlinks are unavailable. Falling back to copying." msgstr "" -#: lib/choose_repository.tcl:713 +#: lib/choose_repository.tcl:722 #, tcl-format msgid "Cloning from %s" msgstr "" -#: lib/choose_repository.tcl:744 +#: lib/choose_repository.tcl:753 msgid "Copying objects" msgstr "" -#: lib/choose_repository.tcl:745 +#: lib/choose_repository.tcl:754 msgid "KiB" msgstr "" -#: lib/choose_repository.tcl:769 +#: lib/choose_repository.tcl:778 #, tcl-format msgid "Unable to copy object: %s" msgstr "" -#: lib/choose_repository.tcl:779 +#: lib/choose_repository.tcl:788 msgid "Linking objects" msgstr "" -#: lib/choose_repository.tcl:780 +#: lib/choose_repository.tcl:789 msgid "objects" msgstr "" -#: lib/choose_repository.tcl:788 +#: lib/choose_repository.tcl:797 #, tcl-format msgid "Unable to hardlink object: %s" msgstr "" -#: lib/choose_repository.tcl:843 +#: lib/choose_repository.tcl:852 msgid "Cannot fetch branches and objects. See console output for details." msgstr "" -#: lib/choose_repository.tcl:854 +#: lib/choose_repository.tcl:863 msgid "Cannot fetch tags. See console output for details." msgstr "" -#: lib/choose_repository.tcl:878 +#: lib/choose_repository.tcl:887 msgid "Cannot determine HEAD. See console output for details." msgstr "" -#: lib/choose_repository.tcl:887 +#: lib/choose_repository.tcl:896 #, tcl-format msgid "Unable to cleanup %s" msgstr "" -#: lib/choose_repository.tcl:893 +#: lib/choose_repository.tcl:902 msgid "Clone failed." msgstr "" -#: lib/choose_repository.tcl:900 +#: lib/choose_repository.tcl:909 msgid "No default branch obtained." msgstr "" -#: lib/choose_repository.tcl:911 +#: lib/choose_repository.tcl:920 #, tcl-format msgid "Cannot resolve %s as a commit." msgstr "" -#: lib/choose_repository.tcl:923 +#: lib/choose_repository.tcl:932 msgid "Creating working directory" msgstr "" -#: lib/choose_repository.tcl:924 lib/index.tcl:65 lib/index.tcl:127 -#: lib/index.tcl:193 +#: lib/choose_repository.tcl:933 lib/index.tcl:65 lib/index.tcl:128 +#: lib/index.tcl:196 msgid "files" msgstr "" -#: lib/choose_repository.tcl:953 +#: lib/choose_repository.tcl:962 msgid "Initial file checkout failed." msgstr "" -#: lib/choose_repository.tcl:969 +#: lib/choose_repository.tcl:978 msgid "Open" msgstr "" -#: lib/choose_repository.tcl:979 +#: lib/choose_repository.tcl:988 msgid "Repository:" msgstr "" -#: lib/choose_repository.tcl:1027 +#: lib/choose_repository.tcl:1037 #, tcl-format msgid "Failed to open repository %s:" msgstr "" @@ -1154,19 +1247,19 @@ msgid "" "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" @@ -1176,7 +1269,7 @@ msgid "" "The rescan will be automatically started now.\n" msgstr "" -#: lib/commit.tcl:154 +#: lib/commit.tcl:155 #, tcl-format msgid "" "Unmerged files cannot be committed.\n" @@ -1185,7 +1278,7 @@ msgid "" "before committing.\n" msgstr "" -#: lib/commit.tcl:162 +#: lib/commit.tcl:163 #, tcl-format msgid "" "Unknown file state %s detected.\n" @@ -1193,14 +1286,14 @@ msgid "" "File %s cannot be committed by this program.\n" msgstr "" -#: lib/commit.tcl:170 +#: 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:183 +#: lib/commit.tcl:186 msgid "" "Please supply a commit message.\n" "\n" @@ -1211,45 +1304,45 @@ msgid "" "- Remaining lines: Describe why this change is good.\n" msgstr "" -#: lib/commit.tcl:207 +#: lib/commit.tcl:210 #, tcl-format msgid "warning: Tcl does not support encoding '%s'." msgstr "" -#: lib/commit.tcl:221 +#: lib/commit.tcl:226 msgid "Calling pre-commit hook..." msgstr "" -#: lib/commit.tcl:236 +#: lib/commit.tcl:241 msgid "Commit declined by pre-commit hook." msgstr "" -#: lib/commit.tcl:259 +#: lib/commit.tcl:264 msgid "Calling commit-msg hook..." msgstr "" -#: lib/commit.tcl:274 +#: lib/commit.tcl:279 msgid "Commit declined by commit-msg hook." msgstr "" -#: lib/commit.tcl:287 +#: lib/commit.tcl:292 msgid "Committing changes..." msgstr "" -#: lib/commit.tcl:303 +#: lib/commit.tcl:308 msgid "write-tree failed:" msgstr "" -#: lib/commit.tcl:304 lib/commit.tcl:348 lib/commit.tcl:368 +#: lib/commit.tcl:309 lib/commit.tcl:353 lib/commit.tcl:373 msgid "Commit failed." msgstr "" -#: lib/commit.tcl:321 +#: lib/commit.tcl:326 #, tcl-format msgid "Commit %s appears to be corrupt" msgstr "" -#: lib/commit.tcl:326 +#: lib/commit.tcl:331 msgid "" "No changes to commit.\n" "\n" @@ -1258,19 +1351,19 @@ msgid "" "A rescan will be automatically started now.\n" msgstr "" -#: lib/commit.tcl:333 +#: lib/commit.tcl:338 msgid "No changes to commit." msgstr "" -#: lib/commit.tcl:347 +#: lib/commit.tcl:352 msgid "commit-tree failed:" msgstr "" -#: lib/commit.tcl:367 +#: lib/commit.tcl:372 msgid "update-ref failed:" msgstr "" -#: lib/commit.tcl:454 +#: lib/commit.tcl:460 #, tcl-format msgid "Created commit %s: %s" msgstr "" @@ -1339,7 +1432,7 @@ msgstr "" msgid "Invalid date from Git: %s" msgstr "" -#: lib/diff.tcl:44 +#: lib/diff.tcl:59 #, tcl-format msgid "" "No differences detected.\n" @@ -1353,48 +1446,92 @@ msgid "" "the same state." msgstr "" -#: lib/diff.tcl:83 +#: lib/diff.tcl:99 #, tcl-format msgid "Loading diff of %s..." msgstr "" -#: lib/diff.tcl:116 lib/diff.tcl:190 +#: 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:117 +#: lib/diff.tcl:198 msgid "Error loading file:" msgstr "" -#: lib/diff.tcl:124 +#: lib/diff.tcl:205 msgid "Git Repository (subproject)" msgstr "" -#: lib/diff.tcl:136 +#: lib/diff.tcl:217 msgid "* Binary file (not showing content)." msgstr "" -#: lib/diff.tcl:191 -msgid "Error loading diff:" +#: 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:313 +#: lib/diff.tcl:436 msgid "Failed to unstage selected hunk." msgstr "" -#: lib/diff.tcl:320 +#: lib/diff.tcl:443 msgid "Failed to stage selected hunk." msgstr "" -#: lib/diff.tcl:386 +#: lib/diff.tcl:509 msgid "Failed to unstage selected line." msgstr "" -#: lib/diff.tcl:394 +#: 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 "" @@ -1429,38 +1566,47 @@ msgstr "" msgid "Unlock Index" msgstr "" -#: lib/index.tcl:282 +#: lib/index.tcl:287 #, tcl-format msgid "Unstaging %s from commit" msgstr "" -#: lib/index.tcl:313 +#: lib/index.tcl:326 msgid "Ready to commit." msgstr "" -#: lib/index.tcl:326 +#: lib/index.tcl:339 #, tcl-format msgid "Adding %s" msgstr "" -#: lib/index.tcl:381 +#: lib/index.tcl:396 #, tcl-format msgid "Revert changes in file %s?" msgstr "" -#: lib/index.tcl:383 +#: lib/index.tcl:398 #, tcl-format msgid "Revert changes in these %i files?" msgstr "" -#: lib/index.tcl:391 +#: lib/index.tcl:406 msgid "Any unstaged changes will be permanently lost by the revert." msgstr "" -#: lib/index.tcl:394 +#: 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" @@ -1478,7 +1624,7 @@ msgid "" "The rescan will be automatically started now.\n" msgstr "" -#: lib/merge.tcl:44 +#: lib/merge.tcl:45 #, tcl-format msgid "" "You are in the middle of a conflicted merge.\n" @@ -1489,7 +1635,7 @@ msgid "" "merge. Only then can you begin another merge.\n" msgstr "" -#: lib/merge.tcl:54 +#: lib/merge.tcl:55 #, tcl-format msgid "" "You are in the middle of a change.\n" @@ -1500,41 +1646,41 @@ msgid "" "will help you abort a failed merge, should the need arise.\n" msgstr "" -#: lib/merge.tcl:106 +#: lib/merge.tcl:107 #, tcl-format msgid "%s of %s" msgstr "" -#: lib/merge.tcl:119 +#: lib/merge.tcl:120 #, tcl-format msgid "Merging %s and %s..." msgstr "" -#: lib/merge.tcl:130 +#: lib/merge.tcl:131 msgid "Merge completed successfully." msgstr "" -#: lib/merge.tcl:132 +#: lib/merge.tcl:133 msgid "Merge failed. Conflict resolution is required." msgstr "" -#: lib/merge.tcl:157 +#: lib/merge.tcl:158 #, tcl-format msgid "Merge Into %s" msgstr "" -#: lib/merge.tcl:176 +#: lib/merge.tcl:177 msgid "Revision To Merge" msgstr "" -#: lib/merge.tcl:211 +#: lib/merge.tcl:212 msgid "" "Cannot abort while amending.\n" "\n" "You must finish amending this commit.\n" msgstr "" -#: lib/merge.tcl:221 +#: lib/merge.tcl:222 msgid "" "Abort merge?\n" "\n" @@ -1543,7 +1689,7 @@ msgid "" "Continue with aborting the current merge?" msgstr "" -#: lib/merge.tcl:227 +#: lib/merge.tcl:228 msgid "" "Reset changes?\n" "\n" @@ -1552,142 +1698,325 @@ msgid "" "Continue with resetting the current changes?" msgstr "" -#: lib/merge.tcl:238 +#: lib/merge.tcl:239 msgid "Aborting" msgstr "" -#: lib/merge.tcl:238 +#: lib/merge.tcl:239 msgid "files reset" msgstr "" -#: lib/merge.tcl:266 +#: lib/merge.tcl:267 msgid "Abort failed." msgstr "" -#: lib/merge.tcl:268 +#: lib/merge.tcl:269 msgid "Abort completed. Ready." msgstr "" -#: lib/option.tcl:95 +#: 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:99 +#: lib/option.tcl:121 msgid "Save" msgstr "" -#: lib/option.tcl:109 +#: lib/option.tcl:131 #, tcl-format msgid "%s Repository" msgstr "" -#: lib/option.tcl:110 +#: lib/option.tcl:132 msgid "Global (All Repositories)" msgstr "" -#: lib/option.tcl:116 +#: lib/option.tcl:138 msgid "User Name" msgstr "" -#: lib/option.tcl:117 +#: lib/option.tcl:139 msgid "Email Address" msgstr "" -#: lib/option.tcl:119 +#: lib/option.tcl:141 msgid "Summarize Merge Commits" msgstr "" -#: lib/option.tcl:120 +#: lib/option.tcl:142 msgid "Merge Verbosity" msgstr "" -#: lib/option.tcl:121 +#: lib/option.tcl:143 msgid "Show Diffstat After Merge" msgstr "" -#: lib/option.tcl:123 +#: lib/option.tcl:144 +msgid "Use Merge Tool" +msgstr "" + +#: lib/option.tcl:146 msgid "Trust File Modification Timestamps" msgstr "" -#: lib/option.tcl:124 +#: lib/option.tcl:147 msgid "Prune Tracking Branches During Fetch" msgstr "" -#: lib/option.tcl:125 +#: lib/option.tcl:148 msgid "Match Tracking Branches" msgstr "" -#: lib/option.tcl:126 +#: lib/option.tcl:149 msgid "Blame Copy Only On Changed Files" msgstr "" -#: lib/option.tcl:127 +#: lib/option.tcl:150 msgid "Minimum Letters To Blame Copy On" msgstr "" -#: lib/option.tcl:128 +#: 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:129 +#: lib/option.tcl:153 msgid "Commit Message Text Width" msgstr "" -#: lib/option.tcl:130 +#: lib/option.tcl:154 msgid "New Branch Name Template" msgstr "" -#: lib/option.tcl:194 +#: 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:218 +#: lib/option.tcl:254 msgid "Change Font" msgstr "" -#: lib/option.tcl:222 +#: lib/option.tcl:258 #, tcl-format msgid "Choose %s" msgstr "" -#: lib/option.tcl:228 +#: lib/option.tcl:264 msgid "pt." msgstr "" -#: lib/option.tcl:242 +#: lib/option.tcl:278 msgid "Preferences" msgstr "" -#: lib/option.tcl:277 +#: lib/option.tcl:314 msgid "Failed to completely save options:" msgstr "" -#: lib/remote.tcl:165 +#: lib/remote.tcl:163 +msgid "Remove Remote" +msgstr "" + +#: lib/remote.tcl:168 msgid "Prune from" msgstr "" -#: lib/remote.tcl:170 +#: lib/remote.tcl:173 msgid "Fetch from" msgstr "" -#: lib/remote.tcl:213 +#: 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: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 Remote Branch" +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 -msgid "Arbitrary URL:" +#: lib/remote_branch_delete.tcl:66 lib/transport.tcl:149 +msgid "Arbitrary Location:" msgstr "" #: lib/remote_branch_delete.tcl:84 @@ -1750,6 +2079,22 @@ msgstr "" 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 "" @@ -1787,22 +2132,182 @@ msgstr "" msgid "No Suggestions" msgstr "" -#: lib/spellcheck.tcl:387 +#: lib/spellcheck.tcl:388 msgid "Unexpected EOF from spell checker" msgstr "" -#: lib/spellcheck.tcl:391 +#: 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/transport.tcl:6 +#: lib/tools.tcl:75 #, tcl-format -msgid "fetch %s" +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 successfully: %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 @@ -1820,45 +2325,45 @@ msgstr "" msgid "Pruning tracking branches deleted from %s" msgstr "" -#: lib/transport.tcl:25 lib/transport.tcl:71 +#: lib/transport.tcl:26 #, tcl-format -msgid "push %s" +msgid "Pushing changes to %s" msgstr "" -#: lib/transport.tcl:26 +#: lib/transport.tcl:64 #, tcl-format -msgid "Pushing changes to %s" +msgid "Mirroring to %s" msgstr "" -#: lib/transport.tcl:72 +#: 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 --git a/git-gui/po/hu.po b/git-gui/po/hu.po index 28760ed978..0f87bc1cbe 100644 --- a/git-gui/po/hu.po +++ b/git-gui/po/hu.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: git-gui-i 18n\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-03-14 07:18+0100\n" -"PO-Revision-Date: 2008-03-14 17:24+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 <vmiklos@frugalware.org>\n" "Language-Team: Hungarian\n" "MIME-Version: 1.0\n" @@ -16,33 +16,33 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\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 +#: 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:593 +#: git-gui.sh:689 #, tcl-format msgid "Invalid font specified in %s:" msgstr "Érvénytelen font lett megadva itt: %s:" -#: git-gui.sh:620 +#: git-gui.sh:723 msgid "Main Font" msgstr "Fő betűtípus" -#: git-gui.sh:621 +#: git-gui.sh:724 msgid "Diff/Console Font" msgstr "Diff/konzol betűtípus" -#: git-gui.sh:635 +#: git-gui.sh:738 msgid "Cannot find git in PATH." msgstr "A git nem található a PATH-ban." -#: git-gui.sh:662 +#: git-gui.sh:765 msgid "Cannot parse Git version string:" msgstr "Nem értelmezhető a Git verzió sztring:" -#: git-gui.sh:680 +#: git-gui.sh:783 #, tcl-format msgid "" "Git version cannot be determined.\n" @@ -61,379 +61,445 @@ msgstr "" "\n" "Feltételezhetjük, hogy a(z) '%s' verziója legalább 1.5.0?\n" -#: git-gui.sh:918 +#: git-gui.sh:1062 msgid "Git directory not found:" msgstr "A Git könyvtár nem található:" -#: git-gui.sh:925 +#: 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:932 +#: git-gui.sh:1076 msgid "Cannot use funny .git directory:" msgstr "Nem használható vicces .git könyvtár:" -#: git-gui.sh:937 +#: git-gui.sh:1081 msgid "No working directory" msgstr "Nincs munkakönyvtár" -#: git-gui.sh:1084 lib/checkout_op.tcl:283 +#: 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:1149 +#: git-gui.sh:1303 msgid "Scanning for modified files ..." msgstr "Módosított fájlok keresése ..." -#: git-gui.sh:1324 lib/browser.tcl:246 +#: 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:1590 +#: git-gui.sh:1819 msgid "Unmodified" msgstr "Nem módosított" -#: git-gui.sh:1592 +#: git-gui.sh:1821 msgid "Modified, not staged" msgstr "Módosított, de nem kiválasztott" -#: git-gui.sh:1593 git-gui.sh:1598 +#: git-gui.sh:1822 git-gui.sh:1830 msgid "Staged for commit" msgstr "Kiválasztva commitolásra" -#: git-gui.sh:1594 git-gui.sh:1599 +#: git-gui.sh:1823 git-gui.sh:1831 msgid "Portions staged for commit" msgstr "Részek kiválasztva commitolásra" -#: git-gui.sh:1595 git-gui.sh:1600 +#: git-gui.sh:1824 git-gui.sh:1832 msgid "Staged for commit, missing" msgstr "Kiválasztva commitolásra, hiányzó" -#: git-gui.sh:1597 +#: 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:1602 +#: git-gui.sh:1834 msgid "Missing" msgstr "Hiányzó" -#: git-gui.sh:1603 +#: git-gui.sh:1835 msgid "Staged for removal" msgstr "Kiválasztva eltávolításra" -#: git-gui.sh:1604 +#: git-gui.sh:1836 msgid "Staged for removal, still present" msgstr "Kiválasztva eltávolításra, jelenleg is elérhető" -#: git-gui.sh:1606 git-gui.sh:1607 git-gui.sh:1608 git-gui.sh:1609 +#: 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:1644 +#: git-gui.sh:1878 msgid "Starting gitk... please wait..." msgstr "A gitk indítása... várjunk..." -#: git-gui.sh:1653 -#, tcl-format -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" +#: git-gui.sh:1887 +msgid "Couldn't find gitk in PATH" +msgstr "A gitk nem található a PATH-ban." -#: git-gui.sh:1860 lib/choose_repository.tcl:36 +#: git-gui.sh:2280 lib/choose_repository.tcl:36 msgid "Repository" msgstr "Repó" -#: git-gui.sh:1861 +#: git-gui.sh:2281 msgid "Edit" msgstr "Szerkesztés" -#: git-gui.sh:1863 lib/choose_rev.tcl:561 +#: git-gui.sh:2283 lib/choose_rev.tcl:561 msgid "Branch" msgstr "Branch" -#: git-gui.sh:1866 lib/choose_rev.tcl:548 +#: git-gui.sh:2286 lib/choose_rev.tcl:548 msgid "Commit@@noun" msgstr "Commit@@főnév" -#: git-gui.sh:1869 lib/merge.tcl:120 lib/merge.tcl:149 lib/merge.tcl:167 +#: git-gui.sh:2289 lib/merge.tcl:121 lib/merge.tcl:150 lib/merge.tcl:168 msgid "Merge" msgstr "Merge" -#: git-gui.sh:1870 lib/choose_rev.tcl:557 +#: git-gui.sh:2290 lib/choose_rev.tcl:557 msgid "Remote" msgstr "Távoli" -#: git-gui.sh:1879 +#: 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:1883 +#: git-gui.sh:2311 msgid "Browse Branch Files..." msgstr "A branch fájljainak böngészése..." -#: git-gui.sh:1888 +#: git-gui.sh:2316 msgid "Visualize Current Branch's History" msgstr "A jelenlegi branch történetének vizualizálása" -#: git-gui.sh:1892 +#: git-gui.sh:2320 msgid "Visualize All Branch History" msgstr "Az összes branch történetének vizualizálása" -#: git-gui.sh:1899 +#: 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:1901 +#: 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:1906 lib/database.tcl:27 lib/database.tcl:67 +#: git-gui.sh:2334 lib/database.tcl:27 lib/database.tcl:67 msgid "Database Statistics" msgstr "Adatbázis statisztikák" -#: git-gui.sh:1909 lib/database.tcl:34 +#: git-gui.sh:2337 lib/database.tcl:34 msgid "Compress Database" msgstr "Adatbázis tömörítése" -#: git-gui.sh:1912 +#: git-gui.sh:2340 msgid "Verify Database" msgstr "Adatbázis ellenőrzése" -#: git-gui.sh:1919 git-gui.sh:1923 git-gui.sh:1927 lib/shortcut.tcl:7 +#: 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:1932 lib/choose_repository.tcl:177 lib/choose_repository.tcl:185 +#: git-gui.sh:2363 lib/choose_repository.tcl:183 lib/choose_repository.tcl:191 msgid "Quit" msgstr "Kilépés" -#: git-gui.sh:1939 +#: git-gui.sh:2371 msgid "Undo" msgstr "Visszavonás" -#: git-gui.sh:1942 +#: git-gui.sh:2374 msgid "Redo" msgstr "Mégis" -#: git-gui.sh:1946 git-gui.sh:2443 +#: git-gui.sh:2378 git-gui.sh:2937 msgid "Cut" msgstr "Kivágás" -#: git-gui.sh:1949 git-gui.sh:2446 git-gui.sh:2520 git-gui.sh:2614 +#: 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:1952 git-gui.sh:2449 +#: git-gui.sh:2384 git-gui.sh:2943 msgid "Paste" msgstr "Beillesztés" -#: git-gui.sh:1955 git-gui.sh:2452 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:1959 git-gui.sh:2456 git-gui.sh:2618 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:1968 +#: git-gui.sh:2400 msgid "Create..." msgstr "Létrehozás..." -#: git-gui.sh:1974 +#: git-gui.sh:2406 msgid "Checkout..." msgstr "Checkout..." -#: git-gui.sh:1980 +#: git-gui.sh:2412 msgid "Rename..." msgstr "Átnevezés..." -#: git-gui.sh:1985 git-gui.sh:2085 +#: git-gui.sh:2417 msgid "Delete..." msgstr "Törlés..." -#: git-gui.sh:1990 +#: git-gui.sh:2422 msgid "Reset..." msgstr "Visszaállítás..." -#: git-gui.sh:2002 git-gui.sh:2389 +#: 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:2878 msgid "New Commit" msgstr "Új commit" -#: git-gui.sh:2010 git-gui.sh:2396 +#: git-gui.sh:2451 git-gui.sh:2885 msgid "Amend Last Commit" msgstr "Utolsó commit javítása" -#: git-gui.sh:2019 git-gui.sh:2356 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:2025 +#: git-gui.sh:2467 msgid "Stage To Commit" msgstr "Kiválasztás commitolásra" -#: git-gui.sh:2031 +#: git-gui.sh:2473 msgid "Stage Changed Files To Commit" msgstr "Módosított fájlok kiválasztása commitolásra" -#: git-gui.sh:2037 +#: git-gui.sh:2479 msgid "Unstage From Commit" msgstr "Commitba való kiválasztás visszavonása" -#: git-gui.sh:2042 lib/index.tcl:395 +#: git-gui.sh:2484 lib/index.tcl:410 msgid "Revert Changes" msgstr "Változtatások visszaállítása" -#: git-gui.sh:2049 git-gui.sh:2368 git-gui.sh:2467 +#: 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:3087 +msgid "Show More Context" +msgstr "Több környezet mutatása" + +#: git-gui.sh:2502 git-gui.sh:2852 git-gui.sh:2961 msgid "Sign Off" msgstr "Aláír" -#: git-gui.sh:2053 git-gui.sh:2372 -msgid "Commit@@verb" -msgstr "Commit@@ige" - -#: git-gui.sh:2064 +#: git-gui.sh:2518 msgid "Local Merge..." msgstr "Helyi merge..." -#: git-gui.sh:2069 +#: git-gui.sh:2523 msgid "Abort Merge..." msgstr "Merge megszakítása..." -#: git-gui.sh:2081 +#: 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:2092 lib/choose_repository.tcl:41 -msgid "Apple" -msgstr "Apple" +#: git-gui.sh:2543 +msgid "Delete Branch..." +msgstr "Branch törlése..." -#: git-gui.sh:2095 git-gui.sh:2117 lib/about.tcl:14 -#: lib/choose_repository.tcl:44 lib/choose_repository.tcl:50 +#: 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:2099 +#: git-gui.sh:2557 msgid "Preferences..." msgstr "Beállítások..." -#: git-gui.sh:2107 git-gui.sh:2639 +#: git-gui.sh:2565 git-gui.sh:3129 msgid "Options..." msgstr "Opciók..." -#: git-gui.sh:2113 lib/choose_repository.tcl:47 +#: 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:2154 +#: git-gui.sh:2611 msgid "Online Documentation" msgstr "Online dokumentáció" -#: git-gui.sh:2238 +#: 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: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:2271 +#: git-gui.sh:2754 msgid "Current Branch:" msgstr "Jelenlegi branch:" -#: git-gui.sh:2292 +#: git-gui.sh:2775 msgid "Staged Changes (Will Commit)" msgstr "Kiválasztott változtatások (commitolva lesz)" -#: git-gui.sh:2312 +#: git-gui.sh:2795 msgid "Unstaged Changes" msgstr "Kiválasztatlan változtatások" -#: git-gui.sh:2362 +#: git-gui.sh:2845 msgid "Stage Changed" msgstr "Változtatások kiválasztása" -#: git-gui.sh:2378 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:2408 +#: git-gui.sh:2899 msgid "Initial Commit Message:" msgstr "Kezdeti commit üzenet:" -#: git-gui.sh:2409 +#: git-gui.sh:2900 msgid "Amended Commit Message:" msgstr "Javító commit üzenet:" -#: git-gui.sh:2410 +#: git-gui.sh:2901 msgid "Amended Initial Commit Message:" msgstr "Kezdeti javító commit üzenet:" -#: git-gui.sh:2411 +#: git-gui.sh:2902 msgid "Amended Merge Commit Message:" msgstr "Javító merge commit üzenet:" -#: git-gui.sh:2412 +#: git-gui.sh:2903 msgid "Merge Commit Message:" msgstr "Merge commit üzenet:" -#: git-gui.sh:2413 +#: git-gui.sh:2904 msgid "Commit Message:" msgstr "Commit üzenet:" -#: git-gui.sh:2459 git-gui.sh:2622 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:2483 lib/blame.tcl:107 +#: git-gui.sh:2977 lib/blame.tcl:104 msgid "File:" msgstr "Fájl:" -#: git-gui.sh:2589 -msgid "Apply/Reverse Hunk" -msgstr "Hunk alkalmazása/visszaállítása" - -#: git-gui.sh:2595 -msgid "Show Less Context" -msgstr "Kevesebb környezet mutatása" - -#: git-gui.sh:2602 -msgid "Show More Context" -msgstr "Több környezet mutatása" - -#: git-gui.sh:2610 +#: git-gui.sh:3092 msgid "Refresh" msgstr "Frissítés" -#: git-gui.sh:2631 +#: git-gui.sh:3113 msgid "Decrease Font Size" msgstr "Font méret csökkentése" -#: git-gui.sh:2635 +#: git-gui.sh:3117 msgid "Increase Font Size" msgstr "Fönt méret növelése" -#: git-gui.sh:2646 +#: git-gui.sh:3125 lib/blame.tcl:281 +msgid "Encoding" +msgstr "Kódolás" + +#: git-gui.sh:3136 +msgid "Apply/Reverse Hunk" +msgstr "Hunk alkalmazása/visszaállítása" + +#: git-gui.sh:3141 +msgid "Apply/Reverse Line" +msgstr "Sor alkalmazása/visszaállítása" + +#: git-gui.sh:3151 +msgid "Run Merge Tool" +msgstr "Merge eszköz futtatása" + +#: git-gui.sh:3156 +msgid "Use Remote Version" +msgstr "Távoli verzió használata" + +#: git-gui.sh:3160 +msgid "Use Local Version" +msgstr "Helyi verzió használata" + +#: git-gui.sh:3164 +msgid "Revert To Base" +msgstr "Visszaállítás az alaphoz" + +#: git-gui.sh:3183 msgid "Unstage Hunk From Commit" msgstr "Hunk törlése commitból" -#: git-gui.sh:2648 +#: git-gui.sh:3184 +msgid "Unstage Line From Commit" +msgstr "A sor kiválasztásának törlése" + +#: git-gui.sh:3186 msgid "Stage Hunk For Commit" msgstr "Hunk kiválasztása commitba" -#: git-gui.sh:2667 +#: git-gui.sh:3187 +msgid "Stage Line For Commit" +msgstr "Sor kiválasztása commitba" + +#: git-gui.sh:3210 msgid "Initializing..." msgstr "Inicializálás..." -#: git-gui.sh:2762 +#: git-gui.sh:3315 #, tcl-format msgid "" "Possible environment issues exist.\n" @@ -450,7 +516,7 @@ msgstr "" "indított folyamatok által:\n" "\n" -#: git-gui.sh:2792 +#: git-gui.sh:3345 msgid "" "\n" "This is due to a known issue with the\n" @@ -460,7 +526,7 @@ msgstr "" "Ez a Cygwin által terjesztett Tcl binárisban\n" "lévő ismert hiba miatt van." -#: git-gui.sh:2797 +#: git-gui.sh:3350 #, tcl-format msgid "" "\n" @@ -481,64 +547,108 @@ msgstr "" msgid "git-gui - a graphical user interface for Git." msgstr "git-gui - egy grafikus felület a Githez." -#: lib/blame.tcl:77 +#: lib/blame.tcl:72 msgid "File Viewer" msgstr "Fájl néző" -#: lib/blame.tcl:81 +#: lib/blame.tcl:78 msgid "Commit:" msgstr "Commit:" -#: lib/blame.tcl:264 +#: lib/blame.tcl:271 msgid "Copy Commit" msgstr "Commit másolása" -#: lib/blame.tcl:384 +#: 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:488 +#: 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:508 +#: lib/blame.tcl:577 msgid "lines annotated" msgstr "sor annotálva" -#: lib/blame.tcl:689 +#: lib/blame.tcl:769 msgid "Loading original location annotations..." msgstr "Az eredeti hely annotációk betöltése..." -#: lib/blame.tcl:692 +#: lib/blame.tcl:772 msgid "Annotation complete." msgstr "Az annotáció kész." -#: lib/blame.tcl:746 +#: 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:802 +#: lib/blame.tcl:963 msgid "Author:" msgstr "Szerző:" -#: lib/blame.tcl:806 +#: lib/blame.tcl:967 msgid "Committer:" msgstr "Commiter:" -#: lib/blame.tcl:811 +#: lib/blame.tcl:972 msgid "Original File:" msgstr "Eredeti fájl:" -#: lib/blame.tcl:925 +#: lib/blame.tcl:1020 +msgid "Cannot find HEAD commit:" +msgstr "Nem található a HEAD commit:" + +#: lib/blame.tcl:1075 +msgid "Cannot find parent commit:" +msgstr "Nem található a szülő commit:" + +#: lib/blame.tcl:1090 +msgid "Unable to display parent" +msgstr "Nem lehet megjeleníteni a szülőt" + +#: lib/blame.tcl:1091 lib/diff.tcl:297 +msgid "Error loading diff:" +msgstr "Hiba a diff betöltése közben:" + +#: lib/blame.tcl:1231 msgid "Originally By:" msgstr "Eredeti szerző:" -#: lib/blame.tcl:931 +#: lib/blame.tcl:1237 msgid "In File:" msgstr "Ebben a fájlban:" -#: lib/blame.tcl:936 +#: lib/blame.tcl:1242 msgid "Copied Or Moved Here By:" msgstr "Ide másolta vagy helyezte:" @@ -552,16 +662,18 @@ 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:522 lib/choose_font.tcl:43 lib/merge.tcl:171 -#: lib/option.tcl:103 lib/remote_branch_delete.tcl:42 lib/transport.tcl:97 +#: 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:108 msgid "Cancel" msgstr "Mégsem" -#: lib/branch_checkout.tcl:32 lib/browser.tcl:287 +#: 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:242 +#: lib/branch_checkout.tcl:36 lib/branch_create.tcl:69 lib/option.tcl:280 msgid "Options" msgstr "Opciók" @@ -581,7 +693,7 @@ msgstr "Branch létrehozása" msgid "Create New Branch" msgstr "Új branch létrehozása" -#: lib/branch_create.tcl:31 lib/choose_repository.tcl:371 +#: lib/branch_create.tcl:31 lib/choose_repository.tcl:377 msgid "Create" msgstr "Létrehozás" @@ -589,7 +701,7 @@ msgstr "Létrehozás" msgid "Branch Name" msgstr "Branch neve" -#: lib/branch_create.tcl:43 +#: lib/branch_create.tcl:43 lib/remote_add.tcl:39 lib/tools_dlg.tcl:50 msgid "Name:" msgstr "Név:" @@ -613,7 +725,7 @@ msgstr "Nem" msgid "Fast Forward Only" msgstr "Csak fast forward" -#: lib/branch_create.tcl:85 lib/checkout_op.tcl:514 +#: lib/branch_create.tcl:85 lib/checkout_op.tcl:536 msgid "Reset" msgstr "Visszaállítás" @@ -664,16 +776,6 @@ msgstr "Mindig (Ne legyen merge teszt.)" 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 "" @@ -703,7 +805,7 @@ msgstr "Új név:" msgid "Please select a branch to rename." msgstr "Válasszunk ki egy átnevezendő branchet." -#: lib/branch_rename.tcl:96 lib/checkout_op.tcl:179 +#: 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." @@ -734,32 +836,39 @@ msgstr "[Fel a szülőhöz]" msgid "Browse Branch Files" msgstr "A branch fájljainak böngészése" -#: lib/browser.tcl:278 lib/choose_repository.tcl:387 -#: lib/choose_repository.tcl:474 lib/choose_repository.tcl:484 -#: lib/choose_repository.tcl:987 +#: 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:79 +#: 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:127 +#: 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:140 lib/console.tcl:81 lib/database.tcl:31 +#: 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:169 +#: 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:206 +#: 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" @@ -772,21 +881,21 @@ msgstr "" "Nem lehet fast-forwardolni a következőhöz: %s.\n" "Egy merge szükséges." -#: lib/checkout_op.tcl:220 +#: 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:239 +#: 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:251 +#: 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:266 +#: lib/checkout_op.tcl:288 msgid "" "Last scanned state does not match repository state.\n" "\n" @@ -803,30 +912,30 @@ msgstr "" "\n" "Az újrakeresés most automatikusan el fog indulni.\n" -#: lib/checkout_op.tcl:322 +#: 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:323 +#: lib/checkout_op.tcl:345 msgid "files checked out" msgstr "fájl frissítve" -#: lib/checkout_op.tcl:353 +#: 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:354 +#: lib/checkout_op.tcl:376 msgid "File level merge required." msgstr "Fájlszintű merge-ölés szükséges." -#: lib/checkout_op.tcl:358 +#: lib/checkout_op.tcl:380 #, tcl-format msgid "Staying on branch '%s'." msgstr "Jelenleg a(z) '%s' branchen." -#: lib/checkout_op.tcl:429 +#: lib/checkout_op.tcl:451 msgid "" "You are no longer on a local branch.\n" "\n" @@ -838,31 +947,31 @@ msgstr "" "Ha egy branchen szeretnénk lenni, hozzunk létre egyet az 'Ez a leválasztott " "checkout'-ból." -#: lib/checkout_op.tcl:446 lib/checkout_op.tcl:450 +#: lib/checkout_op.tcl:468 lib/checkout_op.tcl:472 #, tcl-format msgid "Checked out '%s'." msgstr "'%s' kifejtve." -#: lib/checkout_op.tcl:478 +#: 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:500 +#: 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:505 +#: lib/checkout_op.tcl:527 #, tcl-format msgid "Reset '%s'?" msgstr "Visszaállítjuk a következőt: '%s'?" -#: lib/checkout_op.tcl:510 lib/merge.tcl:163 +#: lib/checkout_op.tcl:532 lib/merge.tcl:164 lib/tools_dlg.tcl:343 msgid "Visualize" msgstr "Vizualizálás" -#: lib/checkout_op.tcl:578 +#: lib/checkout_op.tcl:600 #, tcl-format msgid "" "Failed to set current branch.\n" @@ -907,223 +1016,227 @@ msgstr "" msgid "Git Gui" msgstr "Git Gui" -#: lib/choose_repository.tcl:81 lib/choose_repository.tcl:376 +#: lib/choose_repository.tcl:87 lib/choose_repository.tcl:382 msgid "Create New Repository" msgstr "Új repó létrehozása" -#: lib/choose_repository.tcl:87 +#: lib/choose_repository.tcl:93 msgid "New..." msgstr "Új..." -#: lib/choose_repository.tcl:94 lib/choose_repository.tcl:460 +#: 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:100 +#: lib/choose_repository.tcl:106 msgid "Clone..." msgstr "Másolás..." -#: lib/choose_repository.tcl:107 lib/choose_repository.tcl:976 +#: 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:113 +#: lib/choose_repository.tcl:119 msgid "Open..." msgstr "Meggyitás..." -#: lib/choose_repository.tcl:126 +#: lib/choose_repository.tcl:132 msgid "Recent Repositories" msgstr "Legutóbbi repók" -#: lib/choose_repository.tcl:132 +#: lib/choose_repository.tcl:138 msgid "Open Recent Repository:" msgstr "Legutóbbi repók megnyitása:" -#: lib/choose_repository.tcl:296 lib/choose_repository.tcl:303 -#: lib/choose_repository.tcl:310 +#: 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:381 lib/choose_repository.tcl:478 +#: lib/choose_repository.tcl:387 msgid "Directory:" msgstr "Könyvtár:" -#: lib/choose_repository.tcl:412 lib/choose_repository.tcl:537 -#: lib/choose_repository.tcl:1011 +#: 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:437 +#: 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:441 +#: 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:455 +#: lib/choose_repository.tcl:460 msgid "Clone" msgstr "Bezárás" -#: lib/choose_repository.tcl:468 -msgid "URL:" -msgstr "URL:" +#: lib/choose_repository.tcl:473 +msgid "Source Location:" +msgstr "Forrás helye:" -#: lib/choose_repository.tcl:489 +#: 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:495 +#: lib/choose_repository.tcl:502 msgid "Standard (Fast, Semi-Redundant, Hardlinks)" msgstr "Általános (Gyors, félig-redundáns, hardlinkek)" -#: lib/choose_repository.tcl:501 +#: 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:507 +#: 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: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 +#: 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:579 +#: 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:583 +#: 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:604 +#: 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:615 +#: lib/choose_repository.tcl:622 msgid "Failed to configure origin" msgstr "Nem sikerült beállítani az origint" -#: lib/choose_repository.tcl:627 +#: lib/choose_repository.tcl:634 msgid "Counting objects" msgstr "Objektumok számolása" -#: lib/choose_repository.tcl:628 +#: lib/choose_repository.tcl:635 msgid "buckets" msgstr "vödrök" -#: lib/choose_repository.tcl:652 +#: 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:688 +#: 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:690 lib/choose_repository.tcl:904 -#: lib/choose_repository.tcl:916 +#: 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:703 +#: 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:715 +#: lib/choose_repository.tcl:722 #, tcl-format msgid "Cloning from %s" msgstr "Másolás innen: %s" -#: lib/choose_repository.tcl:746 +#: lib/choose_repository.tcl:753 msgid "Copying objects" msgstr "Objektumok másolása" -#: lib/choose_repository.tcl:747 +#: lib/choose_repository.tcl:754 msgid "KiB" msgstr "KiB" -#: lib/choose_repository.tcl:771 +#: 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:781 +#: lib/choose_repository.tcl:788 msgid "Linking objects" msgstr "Objektumok összefűzése" -#: lib/choose_repository.tcl:782 +#: lib/choose_repository.tcl:789 msgid "objects" msgstr "objektum" -#: lib/choose_repository.tcl:790 +#: 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:845 +#: 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:856 +#: 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:880 +#: 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:889 +#: lib/choose_repository.tcl:896 #, tcl-format msgid "Unable to cleanup %s" msgstr "Nem sikerült tiszítani: %s." -#: lib/choose_repository.tcl:895 +#: lib/choose_repository.tcl:902 msgid "Clone failed." msgstr "A másolás nem sikerült." -#: lib/choose_repository.tcl:902 +#: lib/choose_repository.tcl:909 msgid "No default branch obtained." msgstr "Nincs alapértelmezett branch." -#: lib/choose_repository.tcl:913 +#: 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:925 +#: lib/choose_repository.tcl:932 msgid "Creating working directory" msgstr "Munkakönyvtár létrehozása" -#: lib/choose_repository.tcl:926 lib/index.tcl:65 lib/index.tcl:127 -#: lib/index.tcl:193 +#: 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:955 +#: lib/choose_repository.tcl:962 msgid "Initial file checkout failed." msgstr "A kezdeti fájl-kibontás sikertelen." -#: lib/choose_repository.tcl:971 +#: lib/choose_repository.tcl:978 msgid "Open" msgstr "Megnyitás" -#: lib/choose_repository.tcl:981 +#: lib/choose_repository.tcl:988 msgid "Repository:" msgstr "Repó:" -#: lib/choose_repository.tcl:1031 +#: lib/choose_repository.tcl:1037 #, tcl-format msgid "Failed to open repository %s:" msgstr "Nem sikerült megnyitni a(z) %s repót:" @@ -1194,19 +1307,19 @@ msgstr "" "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" @@ -1223,7 +1336,7 @@ msgstr "" "\n" "Az újrakeresés most automatikusan el fog indulni.\n" -#: lib/commit.tcl:154 +#: lib/commit.tcl:155 #, tcl-format msgid "" "Unmerged files cannot be committed.\n" @@ -1236,7 +1349,7 @@ msgstr "" "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:162 +#: lib/commit.tcl:163 #, tcl-format msgid "" "Unknown file state %s detected.\n" @@ -1247,7 +1360,7 @@ msgstr "" "\n" "A(z) %s fájlt nem tudja ez a program commitolni.\n" -#: lib/commit.tcl:170 +#: lib/commit.tcl:171 msgid "" "No changes to commit.\n" "\n" @@ -1257,7 +1370,7 @@ msgstr "" "\n" "Legalább egy fájl ki kell választani, hogy commitolni lehessen.\n" -#: lib/commit.tcl:183 +#: lib/commit.tcl:186 msgid "" "Please supply a commit message.\n" "\n" @@ -1275,45 +1388,45 @@ msgstr "" "- Második sor: Üres\n" "- A többi sor: Leírja, hogy miért jó ez a változtatás.\n" -#: lib/commit.tcl:207 +#: 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:221 +#: lib/commit.tcl:226 msgid "Calling pre-commit hook..." msgstr "A pre-commit hurok meghívása..." -#: lib/commit.tcl:236 +#: lib/commit.tcl:241 msgid "Commit declined by pre-commit hook." msgstr "A commitot megakadályozta a pre-commit hurok. " -#: lib/commit.tcl:259 +#: lib/commit.tcl:264 msgid "Calling commit-msg hook..." msgstr "A commit-msg hurok meghívása..." -#: lib/commit.tcl:274 +#: lib/commit.tcl:279 msgid "Commit declined by commit-msg hook." msgstr "A commiot megakadályozta a commit-msg hurok." -#: lib/commit.tcl:287 +#: lib/commit.tcl:292 msgid "Committing changes..." msgstr "A változtatások commitolása..." -#: lib/commit.tcl:303 +#: lib/commit.tcl:308 msgid "write-tree failed:" msgstr "a write-tree sikertelen:" -#: lib/commit.tcl:304 lib/commit.tcl:348 lib/commit.tcl:368 +#: lib/commit.tcl:309 lib/commit.tcl:353 lib/commit.tcl:373 msgid "Commit failed." msgstr "A commit nem sikerült." -#: lib/commit.tcl:321 +#: 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:326 +#: lib/commit.tcl:331 msgid "" "No changes to commit.\n" "\n" @@ -1327,19 +1440,19 @@ msgstr "" "\n" "Az újrakeresés most automatikusan el fog indulni.\n" -#: lib/commit.tcl:333 +#: lib/commit.tcl:338 msgid "No changes to commit." msgstr "Nincs commitolandó változtatás." -#: lib/commit.tcl:347 +#: lib/commit.tcl:352 msgid "commit-tree failed:" msgstr "a commit-tree sikertelen:" -#: lib/commit.tcl:367 +#: lib/commit.tcl:372 msgid "update-ref failed:" msgstr "az update-ref sikertelen:" -#: lib/commit.tcl:454 +#: lib/commit.tcl:460 #, tcl-format msgid "Created commit %s: %s" msgstr "Létrejött a %s commit: %s" @@ -1414,7 +1527,7 @@ msgstr "" msgid "Invalid date from Git: %s" msgstr "Érvénytelen dátum a Git-től: %s" -#: lib/diff.tcl:42 +#: lib/diff.tcl:59 #, tcl-format msgid "" "No differences detected.\n" @@ -1436,40 +1549,101 @@ msgstr "" "\n" "Egy újrakeresés fog indulni a hasonló állapotú fájlok megtalálása érdekében." -#: lib/diff.tcl:81 +#: lib/diff.tcl:99 #, tcl-format msgid "Loading diff of %s..." msgstr "A(z) %s diff-jének betöltése..." -#: lib/diff.tcl:114 lib/diff.tcl:184 +#: 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:115 +#: lib/diff.tcl:198 msgid "Error loading file:" msgstr "Hiba a fájl betöltése közben:" -#: lib/diff.tcl:122 +#: lib/diff.tcl:205 msgid "Git Repository (subproject)" msgstr "Git repó (alprojekt)" -#: lib/diff.tcl:134 +#: lib/diff.tcl:217 msgid "* Binary file (not showing content)." msgstr "* Bináris fájl (tartalom elrejtése)." -#: lib/diff.tcl:185 -msgid "Error loading diff:" -msgstr "Hiba a diff betöltése közben:" +#: 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:303 +#: 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:310 +#: 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" @@ -1506,40 +1680,49 @@ msgstr "Folytatás" msgid "Unlock Index" msgstr "Index zárolásának feloldása" -#: lib/index.tcl:282 +#: 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:313 +#: lib/index.tcl:326 msgid "Ready to commit." msgstr "Commitolásra kész." -#: lib/index.tcl:326 +#: lib/index.tcl:339 #, tcl-format msgid "Adding %s" msgstr "A(z) %s hozzáadása..." -#: lib/index.tcl:381 +#: 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:383 +#: 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:391 +#: 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:394 +#: 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" @@ -1568,7 +1751,7 @@ msgstr "" "\n" "Az újrakeresés most automatikusan el fog indulni.\n" -#: lib/merge.tcl:44 +#: lib/merge.tcl:45 #, tcl-format msgid "" "You are in the middle of a conflicted merge.\n" @@ -1585,7 +1768,7 @@ msgstr "" "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:54 +#: lib/merge.tcl:55 #, tcl-format msgid "" "You are in the middle of a change.\n" @@ -1602,34 +1785,34 @@ msgstr "" "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:106 +#: lib/merge.tcl:107 #, tcl-format msgid "%s of %s" msgstr "%s / %s" -#: lib/merge.tcl:119 +#: 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:130 +#: lib/merge.tcl:131 msgid "Merge completed successfully." msgstr "A merge sikeresen befejeződött." -#: lib/merge.tcl:132 +#: 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:157 +#: lib/merge.tcl:158 #, tcl-format msgid "Merge Into %s" msgstr "Merge-ölés a következőbe: %s" -#: lib/merge.tcl:176 +#: lib/merge.tcl:177 msgid "Revision To Merge" msgstr "Merge-ölni szándékozott revízió" -#: lib/merge.tcl:211 +#: lib/merge.tcl:212 msgid "" "Cannot abort while amending.\n" "\n" @@ -1639,7 +1822,7 @@ msgstr "" "\n" "Be kell fejeznünk ennek a commitnak a javítását.\n" -#: lib/merge.tcl:221 +#: lib/merge.tcl:222 msgid "" "Abort merge?\n" "\n" @@ -1654,7 +1837,7 @@ msgstr "" "\n" "Folytatjuk a jelenlegi merge megszakítását?" -#: lib/merge.tcl:227 +#: lib/merge.tcl:228 msgid "" "Reset changes?\n" "\n" @@ -1669,123 +1852,338 @@ msgstr "" "\n" "Folytatjuk a jelenlegi módosítások visszavonását?" -#: lib/merge.tcl:238 +#: lib/merge.tcl:239 msgid "Aborting" msgstr "Félbeszakítás" -#: lib/merge.tcl:238 +#: lib/merge.tcl:239 msgid "files reset" msgstr "fájl visszaállítva" -#: lib/merge.tcl:265 +#: lib/merge.tcl:267 msgid "Abort failed." msgstr "A félbeszakítás nem sikerült." -#: lib/merge.tcl:267 +#: lib/merge.tcl:269 msgid "Abort completed. Ready." msgstr "A megkeszakítás befejeződött. Kész." -#: lib/option.tcl:95 +#: 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:99 +#: lib/option.tcl:121 msgid "Save" msgstr "Mentés" -#: lib/option.tcl:109 +#: lib/option.tcl:131 #, tcl-format msgid "%s Repository" msgstr "%s Repó" -#: lib/option.tcl:110 +#: lib/option.tcl:132 msgid "Global (All Repositories)" msgstr "Globális (minden repó)" -#: lib/option.tcl:116 +#: lib/option.tcl:138 msgid "User Name" msgstr "Felhasználónév" -#: lib/option.tcl:117 +#: lib/option.tcl:139 msgid "Email Address" msgstr "Email cím" -#: lib/option.tcl:119 +#: lib/option.tcl:141 msgid "Summarize Merge Commits" msgstr "A merge commitok összegzése" -#: lib/option.tcl:120 +#: lib/option.tcl:142 msgid "Merge Verbosity" msgstr "Merge beszédesség" -#: lib/option.tcl:121 +#: lib/option.tcl:143 msgid "Show Diffstat After Merge" msgstr "Diffstat mutatása merge után" -#: lib/option.tcl:123 +#: 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:124 +#: 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:125 +#: lib/option.tcl:148 msgid "Match Tracking Branches" msgstr "A követő branchek egyeztetése" -#: lib/option.tcl:126 +#: 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:127 +#: lib/option.tcl:153 msgid "Commit Message Text Width" msgstr "Commit üzenet szövegének szélessége" -#: lib/option.tcl:128 +#: lib/option.tcl:154 msgid "New Branch Name Template" msgstr "Új branch név sablon" -#: lib/option.tcl:192 +#: 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:216 +#: lib/option.tcl:254 msgid "Change Font" msgstr "Betűtípus megváltoztatása" -#: lib/option.tcl:220 +#: lib/option.tcl:258 #, tcl-format msgid "Choose %s" msgstr "%s választása" -#: lib/option.tcl:226 +#: lib/option.tcl:264 msgid "pt." msgstr "pt." -#: lib/option.tcl:240 +#: lib/option.tcl:278 msgid "Preferences" msgstr "Beállítások" -#: lib/option.tcl:275 +#: 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: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 Remote Branch" -msgstr "Távoli branch törlése" +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 -msgid "Arbitrary URL:" -msgstr "Tetszőleges URL:" +#: 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" @@ -1854,18 +2252,21 @@ msgstr "Nincs kiválasztott repó." msgid "Scanning %s..." msgstr "Keresés itt: %s..." -#: lib/remote.tcl:165 -msgid "Prune from" -msgstr "Törlés innen" +#: lib/search.tcl:21 +msgid "Find:" +msgstr "Keresés:" -# tcl-format -#: lib/remote.tcl:170 -msgid "Fetch from" -msgstr "Letöltés innen" +#: lib/search.tcl:23 +msgid "Next" +msgstr "Következő" -#: lib/remote.tcl:213 -msgid "Push to" -msgstr "Push ide" +#: 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:" @@ -1900,27 +2301,194 @@ msgstr "A helyesírás-ellenőrő indítása sikertelen" msgid "Unrecognized spell checker" msgstr "Ismeretlen helyesírás-ellenőrző" -#: lib/spellcheck.tcl:180 +#: lib/spellcheck.tcl:186 msgid "No Suggestions" msgstr "Nincs javaslat" -#: lib/spellcheck.tcl:381 +#: 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:385 +#: 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/transport.tcl:6 +#: lib/tools.tcl:75 #, tcl-format -msgid "fetch %s" -msgstr "a(z) %s letöltése" +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 successfully: %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 @@ -1937,72 +2505,81 @@ msgstr "a(z) %s távoli törlése" 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:25 lib/transport.tcl:71 -#, tcl-format -msgid "push %s" -msgstr "%s push-olása" - #: 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 "Cannot find the git directory:" -#~ msgstr "Nem található a git könyvtár:" - #~ 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 To Commit" -#~ msgstr "Hozzáadás a commithoz" - #~ msgid "Add Existing To Commit" #~ msgstr "Hozzáadás létező commithoz" -#~ msgid "Running miga..." -#~ msgstr "A miga futtatása..." - #~ msgid "Add Existing" #~ msgstr "Létező hozzáadása" diff --git a/git-gui/po/it.po b/git-gui/po/it.po index 3db4fb68c5..762632c22f 100644 --- a/git-gui/po/it.po +++ b/git-gui/po/it.po @@ -9,41 +9,41 @@ msgid "" msgstr "" "Project-Id-Version: git-gui\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-08-02 14:45-0700\n" -"PO-Revision-Date: 2008-08-03 16:04+0200\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 <barra_cuda@katamail.com>\n" "Language-Team: Italian <tp@lists.linux.it>\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:688 git-gui.sh:702 git-gui.sh:715 git-gui.sh:798 -#: git-gui.sh:817 +#: 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:644 +#: git-gui.sh:689 #, tcl-format msgid "Invalid font specified in %s:" msgstr "Caratteri non validi specificati in %s:" -#: git-gui.sh:674 +#: git-gui.sh:723 msgid "Main Font" msgstr "Caratteri principali" -#: git-gui.sh:675 +#: git-gui.sh:724 msgid "Diff/Console Font" msgstr "Caratteri per confronti e terminale" -#: git-gui.sh:689 +#: git-gui.sh:738 msgid "Cannot find git in PATH." msgstr "Impossibile trovare git nel PATH" -#: git-gui.sh:716 +#: git-gui.sh:765 msgid "Cannot parse Git version string:" msgstr "Impossibile determinare la versione di Git:" -#: git-gui.sh:734 +#: git-gui.sh:783 #, tcl-format msgid "" "Git version cannot be determined.\n" @@ -62,381 +62,446 @@ msgstr "" "\n" "Assumere che '%s' sia alla versione 1.5.0?\n" -#: git-gui.sh:972 +#: git-gui.sh:1062 msgid "Git directory not found:" msgstr "Non trovo la directory di git: " -#: git-gui.sh:979 +#: git-gui.sh:1069 msgid "Cannot move to top of working directory:" msgstr "Impossibile spostarsi sulla directory principale del progetto:" -#: git-gui.sh:986 +#: git-gui.sh:1076 msgid "Cannot use funny .git directory:" msgstr "Impossibile usare una .git directory strana:" -#: git-gui.sh:991 +#: git-gui.sh:1081 msgid "No working directory" msgstr "Nessuna directory di lavoro" -#: git-gui.sh:1138 lib/checkout_op.tcl:305 +#: git-gui.sh:1247 lib/checkout_op.tcl:305 msgid "Refreshing file status..." msgstr "Controllo dello stato dei file in corso..." -#: git-gui.sh:1194 +#: git-gui.sh:1303 msgid "Scanning for modified files ..." msgstr "Ricerca di file modificati in corso..." -#: git-gui.sh:1369 lib/browser.tcl:246 +#: 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:1635 +#: git-gui.sh:1819 msgid "Unmodified" msgstr "Non modificato" -#: git-gui.sh:1637 +#: git-gui.sh:1821 msgid "Modified, not staged" msgstr "Modificato, non preparato per una nuova revisione" -#: git-gui.sh:1638 git-gui.sh:1643 +#: git-gui.sh:1822 git-gui.sh:1830 msgid "Staged for commit" msgstr "Preparato per una nuova revisione" -#: git-gui.sh:1639 git-gui.sh:1644 +#: git-gui.sh:1823 git-gui.sh:1831 msgid "Portions staged for commit" msgstr "Parti preparate per una nuova revisione" -#: git-gui.sh:1640 git-gui.sh:1645 +#: git-gui.sh:1824 git-gui.sh:1832 msgid "Staged for commit, missing" msgstr "Preparato per una nuova revisione, mancante" -#: git-gui.sh:1642 +#: 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:1647 +#: git-gui.sh:1834 msgid "Missing" msgstr "Mancante" -#: git-gui.sh:1648 +#: git-gui.sh:1835 msgid "Staged for removal" msgstr "Preparato per la rimozione" -#: git-gui.sh:1649 +#: git-gui.sh:1836 msgid "Staged for removal, still present" msgstr "Preparato alla rimozione, ancora presente" -#: git-gui.sh:1651 git-gui.sh:1652 git-gui.sh:1653 git-gui.sh:1654 +#: 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:1689 +#: git-gui.sh:1878 msgid "Starting gitk... please wait..." msgstr "Avvio di gitk... attendere..." -#: git-gui.sh:1698 +#: git-gui.sh:1887 msgid "Couldn't find gitk in PATH" msgstr "Impossibile trovare gitk nel PATH" -#: git-gui.sh:1948 lib/choose_repository.tcl:36 +#: git-gui.sh:2280 lib/choose_repository.tcl:36 msgid "Repository" msgstr "Archivio" -#: git-gui.sh:1949 +#: git-gui.sh:2281 msgid "Edit" msgstr "Modifica" -#: git-gui.sh:1951 lib/choose_rev.tcl:561 +#: git-gui.sh:2283 lib/choose_rev.tcl:561 msgid "Branch" msgstr "Ramo" -#: git-gui.sh:1954 lib/choose_rev.tcl:548 +#: git-gui.sh:2286 lib/choose_rev.tcl:548 msgid "Commit@@noun" msgstr "Revisione" -#: git-gui.sh:1957 lib/merge.tcl:120 lib/merge.tcl:149 lib/merge.tcl:167 +#: git-gui.sh:2289 lib/merge.tcl:121 lib/merge.tcl:150 lib/merge.tcl:168 msgid "Merge" msgstr "Fusione (Merge)" -#: git-gui.sh:1958 lib/choose_rev.tcl:557 +#: git-gui.sh:2290 lib/choose_rev.tcl:557 msgid "Remote" msgstr "Remoto" -#: git-gui.sh:1967 +#: 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:1971 +#: git-gui.sh:2311 msgid "Browse Branch Files..." msgstr "Esplora i file del ramo..." -#: git-gui.sh:1976 +#: git-gui.sh:2316 msgid "Visualize Current Branch's History" msgstr "Visualizza la cronologia del ramo attuale" -#: git-gui.sh:1980 +#: git-gui.sh:2320 msgid "Visualize All Branch History" msgstr "Visualizza la cronologia di tutti i rami" -#: git-gui.sh:1987 +#: git-gui.sh:2327 #, tcl-format msgid "Browse %s's Files" msgstr "Esplora i file di %s" -#: git-gui.sh:1989 +#: git-gui.sh:2329 #, tcl-format msgid "Visualize %s's History" msgstr "Visualizza la cronologia di %s" -#: git-gui.sh:1994 lib/database.tcl:27 lib/database.tcl:67 +#: git-gui.sh:2334 lib/database.tcl:27 lib/database.tcl:67 msgid "Database Statistics" msgstr "Statistiche dell'archivio" -#: git-gui.sh:1997 lib/database.tcl:34 +#: git-gui.sh:2337 lib/database.tcl:34 msgid "Compress Database" msgstr "Comprimi l'archivio" -#: git-gui.sh:2000 +#: git-gui.sh:2340 msgid "Verify Database" msgstr "Verifica l'archivio" -#: git-gui.sh:2007 git-gui.sh:2011 git-gui.sh:2015 lib/shortcut.tcl:7 +#: 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:2023 lib/choose_repository.tcl:177 lib/choose_repository.tcl:185 +#: git-gui.sh:2363 lib/choose_repository.tcl:183 lib/choose_repository.tcl:191 msgid "Quit" msgstr "Esci" -#: git-gui.sh:2031 +#: git-gui.sh:2371 msgid "Undo" msgstr "Annulla" -#: git-gui.sh:2034 +#: git-gui.sh:2374 msgid "Redo" msgstr "Ripeti" -#: git-gui.sh:2038 git-gui.sh:2545 +#: git-gui.sh:2378 git-gui.sh:2937 msgid "Cut" msgstr "Taglia" -#: git-gui.sh:2041 git-gui.sh:2548 git-gui.sh:2622 git-gui.sh:2715 +#: 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:2044 git-gui.sh:2551 +#: git-gui.sh:2384 git-gui.sh:2943 msgid "Paste" msgstr "Incolla" -#: git-gui.sh:2047 git-gui.sh:2554 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:2051 git-gui.sh:2558 git-gui.sh:2719 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:2060 +#: git-gui.sh:2400 msgid "Create..." msgstr "Crea..." -#: git-gui.sh:2066 +#: git-gui.sh:2406 msgid "Checkout..." msgstr "Attiva..." -#: git-gui.sh:2072 +#: git-gui.sh:2412 msgid "Rename..." msgstr "Rinomina" -#: git-gui.sh:2077 git-gui.sh:2187 +#: git-gui.sh:2417 msgid "Delete..." msgstr "Elimina..." -#: git-gui.sh:2082 +#: git-gui.sh:2422 msgid "Reset..." msgstr "Ripristina..." -#: git-gui.sh:2094 git-gui.sh:2491 +#: 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:2878 msgid "New Commit" msgstr "Nuova revisione" -#: git-gui.sh:2102 git-gui.sh:2498 +#: git-gui.sh:2451 git-gui.sh:2885 msgid "Amend Last Commit" msgstr "Correggi l'ultima revisione" -#: git-gui.sh:2111 git-gui.sh:2458 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:2117 +#: git-gui.sh:2467 msgid "Stage To Commit" msgstr "Prepara per una nuova revisione" -#: git-gui.sh:2123 +#: git-gui.sh:2473 msgid "Stage Changed Files To Commit" msgstr "Prepara i file modificati per una nuova revisione" -#: git-gui.sh:2129 +#: git-gui.sh:2479 msgid "Unstage From Commit" msgstr "Annulla preparazione" -#: git-gui.sh:2134 lib/index.tcl:395 +#: git-gui.sh:2484 lib/index.tcl:410 msgid "Revert Changes" msgstr "Annulla modifiche" -#: git-gui.sh:2141 git-gui.sh:2702 +#: git-gui.sh:2491 git-gui.sh:3083 msgid "Show Less Context" msgstr "Mostra meno contesto" -#: git-gui.sh:2145 git-gui.sh:2706 +#: git-gui.sh:2495 git-gui.sh:3087 msgid "Show More Context" msgstr "Mostra più contesto" -#: git-gui.sh:2151 git-gui.sh:2470 git-gui.sh:2569 +#: git-gui.sh:2502 git-gui.sh:2852 git-gui.sh:2961 msgid "Sign Off" msgstr "Sign Off" -#: git-gui.sh:2155 git-gui.sh:2474 -msgid "Commit@@verb" -msgstr "Nuova revisione" - -#: git-gui.sh:2166 +#: git-gui.sh:2518 msgid "Local Merge..." msgstr "Fusione locale..." -#: git-gui.sh:2171 +#: git-gui.sh:2523 msgid "Abort Merge..." msgstr "Interrompi fusione..." -#: git-gui.sh:2183 +#: git-gui.sh:2535 git-gui.sh:2575 +msgid "Add..." +msgstr "Aggiungi..." + +#: git-gui.sh:2539 msgid "Push..." msgstr "Propaga..." -#: git-gui.sh:2197 git-gui.sh:2219 lib/about.tcl:14 -#: lib/choose_repository.tcl:44 lib/choose_repository.tcl:50 +#: 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:2201 +#: git-gui.sh:2557 msgid "Preferences..." msgstr "Preferenze..." -#: git-gui.sh:2209 git-gui.sh:2740 +#: git-gui.sh:2565 git-gui.sh:3129 msgid "Options..." msgstr "Opzioni..." -#: git-gui.sh:2215 lib/choose_repository.tcl:47 +#: git-gui.sh:2576 +msgid "Remove..." +msgstr "Rimuovi..." + +#: git-gui.sh:2585 lib/choose_repository.tcl:50 msgid "Help" msgstr "Aiuto" -#: git-gui.sh:2256 +#: git-gui.sh:2611 msgid "Online Documentation" msgstr "Documentazione sul web" -#: git-gui.sh:2340 +#: 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: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:2373 +#: git-gui.sh:2754 msgid "Current Branch:" msgstr "Ramo attuale:" -#: git-gui.sh:2394 +#: git-gui.sh:2775 msgid "Staged Changes (Will Commit)" msgstr "Modifiche preparate (saranno nella nuova revisione)" -#: git-gui.sh:2414 +#: git-gui.sh:2795 msgid "Unstaged Changes" msgstr "Modifiche non preparate" -#: git-gui.sh:2464 +#: git-gui.sh:2845 msgid "Stage Changed" msgstr "Prepara modificati" -#: git-gui.sh:2480 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:2510 +#: git-gui.sh:2899 msgid "Initial Commit Message:" msgstr "Messaggio di revisione iniziale:" -#: git-gui.sh:2511 +#: git-gui.sh:2900 msgid "Amended Commit Message:" msgstr "Messaggio di revisione corretto:" -#: git-gui.sh:2512 +#: git-gui.sh:2901 msgid "Amended Initial Commit Message:" msgstr "Messaggio iniziale di revisione corretto:" -#: git-gui.sh:2513 +#: git-gui.sh:2902 msgid "Amended Merge Commit Message:" msgstr "Messaggio di fusione corretto:" -#: git-gui.sh:2514 +#: git-gui.sh:2903 msgid "Merge Commit Message:" msgstr "Messaggio di fusione:" -#: git-gui.sh:2515 +#: git-gui.sh:2904 msgid "Commit Message:" msgstr "Messaggio di revisione:" -#: git-gui.sh:2561 git-gui.sh:2723 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:2585 lib/blame.tcl:100 +#: git-gui.sh:2977 lib/blame.tcl:104 msgid "File:" msgstr "File:" -#: git-gui.sh:2691 -msgid "Apply/Reverse Hunk" -msgstr "Applica/Inverti sezione" - -#: git-gui.sh:2696 -msgid "Apply/Reverse Line" -msgstr "Applica/Inverti riga" - -#: git-gui.sh:2711 +#: git-gui.sh:3092 msgid "Refresh" msgstr "Rinfresca" -#: git-gui.sh:2732 +#: git-gui.sh:3113 msgid "Decrease Font Size" msgstr "Diminuisci dimensione caratteri" -#: git-gui.sh:2736 +#: git-gui.sh:3117 msgid "Increase Font Size" msgstr "Aumenta dimensione caratteri" -#: git-gui.sh:2747 +#: git-gui.sh:3125 lib/blame.tcl:281 +msgid "Encoding" +msgstr "Codifica" + +#: git-gui.sh:3136 +msgid "Apply/Reverse Hunk" +msgstr "Applica/Inverti sezione" + +#: git-gui.sh:3141 +msgid "Apply/Reverse Line" +msgstr "Applica/Inverti riga" + +#: git-gui.sh:3151 +msgid "Run Merge Tool" +msgstr "Avvia programma esterno per la risoluzione dei conflitti" + +#: git-gui.sh:3156 +msgid "Use Remote Version" +msgstr "Usa versione remota" + +#: git-gui.sh:3160 +msgid "Use Local Version" +msgstr "Usa versione locale" + +#: git-gui.sh:3164 +msgid "Revert To Base" +msgstr "Ritorna alla revisione comune" + +#: git-gui.sh:3183 msgid "Unstage Hunk From Commit" msgstr "Annulla preparazione della sezione per una nuova revisione" -#: git-gui.sh:2748 +#: git-gui.sh:3184 msgid "Unstage Line From Commit" msgstr "Annulla preparazione della linea per una nuova revisione" -#: git-gui.sh:2750 +#: git-gui.sh:3186 msgid "Stage Hunk For Commit" msgstr "Prepara sezione per una nuova revisione" -#: git-gui.sh:2751 +#: git-gui.sh:3187 msgid "Stage Line For Commit" msgstr "Prepara linea per una nuova revisione" -#: git-gui.sh:2771 +#: git-gui.sh:3210 msgid "Initializing..." msgstr "Inizializzazione..." -#: git-gui.sh:2876 +#: git-gui.sh:3315 #, tcl-format msgid "" "Possible environment issues exist.\n" @@ -453,7 +518,7 @@ msgstr "" "da %s:\n" "\n" -#: git-gui.sh:2906 +#: git-gui.sh:3345 msgid "" "\n" "This is due to a known issue with the\n" @@ -463,7 +528,7 @@ msgstr "" "Ciò è dovuto a un problema conosciuto\n" "causato dall'eseguibile Tcl distribuito da Cygwin." -#: git-gui.sh:2911 +#: git-gui.sh:3350 #, tcl-format msgid "" "\n" @@ -483,80 +548,108 @@ msgstr "" msgid "git-gui - a graphical user interface for Git." msgstr "git-gui - un'interfaccia grafica per Git." -#: lib/blame.tcl:70 +#: lib/blame.tcl:72 msgid "File Viewer" msgstr "Mostra file" -#: lib/blame.tcl:74 +#: lib/blame.tcl:78 msgid "Commit:" msgstr "Revisione:" -#: lib/blame.tcl:257 +#: lib/blame.tcl:271 msgid "Copy Commit" msgstr "Copia revisione" -#: lib/blame.tcl:260 +#: 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:388 +#: 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:492 +#: lib/blame.tcl:557 msgid "Loading copy/move tracking annotations..." msgstr "Caricamento annotazioni per copie/spostamenti..." -#: lib/blame.tcl:512 +#: lib/blame.tcl:577 msgid "lines annotated" msgstr "linee annotate" -#: lib/blame.tcl:704 +#: lib/blame.tcl:769 msgid "Loading original location annotations..." msgstr "Caricamento annotazioni per posizione originaria..." -#: lib/blame.tcl:707 +#: lib/blame.tcl:772 msgid "Annotation complete." msgstr "Annotazione completata." -#: lib/blame.tcl:737 +#: lib/blame.tcl:802 msgid "Busy" msgstr "Occupato" -#: lib/blame.tcl:738 +#: lib/blame.tcl:803 msgid "Annotation process is already running." msgstr "Il processo di annotazione è già in corso." -#: lib/blame.tcl:777 +#: lib/blame.tcl:842 msgid "Running thorough copy detection..." msgstr "Ricerca accurata delle copie in corso..." -#: lib/blame.tcl:827 +#: lib/blame.tcl:910 msgid "Loading annotation..." msgstr "Caricamento annotazioni..." -#: lib/blame.tcl:883 +#: lib/blame.tcl:963 msgid "Author:" msgstr "Autore:" -#: lib/blame.tcl:887 +#: lib/blame.tcl:967 msgid "Committer:" msgstr "Revisione creata da:" -#: lib/blame.tcl:892 +#: lib/blame.tcl:972 msgid "Original File:" msgstr "File originario:" -#: lib/blame.tcl:1006 +#: lib/blame.tcl:1020 +msgid "Cannot find HEAD commit:" +msgstr "Impossibile trovare la revisione HEAD:" + +#: lib/blame.tcl:1075 +msgid "Cannot find parent commit:" +msgstr "Impossibile trovare la revisione precedente:" + +#: lib/blame.tcl:1090 +msgid "Unable to display parent" +msgstr "Impossibile visualizzare la revisione precedente" + +#: lib/blame.tcl:1091 lib/diff.tcl:297 +msgid "Error loading diff:" +msgstr "Errore nel caricamento delle differenze:" + +#: lib/blame.tcl:1231 msgid "Originally By:" msgstr "In origine da:" -#: lib/blame.tcl:1012 +#: lib/blame.tcl:1237 msgid "In File:" msgstr "Nel file:" -#: lib/blame.tcl:1017 +#: lib/blame.tcl:1242 msgid "Copied Or Moved Here By:" msgstr "Copiato o spostato qui da:" @@ -570,16 +663,18 @@ 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:171 -#: lib/option.tcl:103 lib/remote_branch_delete.tcl:42 lib/transport.tcl:97 +#: 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:108 msgid "Cancel" msgstr "Annulla" -#: lib/branch_checkout.tcl:32 lib/browser.tcl:287 +#: 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:244 +#: lib/branch_checkout.tcl:36 lib/branch_create.tcl:69 lib/option.tcl:280 msgid "Options" msgstr "Opzioni" @@ -599,7 +694,7 @@ msgstr "Crea ramo" msgid "Create New Branch" msgstr "Crea nuovo ramo" -#: lib/branch_create.tcl:31 lib/choose_repository.tcl:371 +#: lib/branch_create.tcl:31 lib/choose_repository.tcl:377 msgid "Create" msgstr "Crea" @@ -607,7 +702,7 @@ msgstr "Crea" msgid "Branch Name" msgstr "Nome del ramo" -#: lib/branch_create.tcl:43 +#: lib/branch_create.tcl:43 lib/remote_add.tcl:39 lib/tools_dlg.tcl:50 msgid "Name:" msgstr "Nome:" @@ -683,16 +778,6 @@ msgstr "Sempre (Non effettuare verifiche di fusione)." 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 "" @@ -753,9 +838,9 @@ msgstr "[Directory superiore]" msgid "Browse Branch Files" msgstr "Esplora i file del ramo" -#: lib/browser.tcl:278 lib/choose_repository.tcl:387 -#: lib/choose_repository.tcl:472 lib/choose_repository.tcl:482 -#: lib/choose_repository.tcl:985 +#: 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" @@ -770,6 +855,7 @@ 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" @@ -883,7 +969,7 @@ msgstr "Ricomporre le revisioni perdute potrebbe non essere semplice." msgid "Reset '%s'?" msgstr "Ripristinare '%s'?" -#: lib/checkout_op.tcl:532 lib/merge.tcl:163 +#: lib/checkout_op.tcl:532 lib/merge.tcl:164 lib/tools_dlg.tcl:343 msgid "Visualize" msgstr "Visualizza" @@ -933,226 +1019,230 @@ msgstr "" msgid "Git Gui" msgstr "Git Gui" -#: lib/choose_repository.tcl:81 lib/choose_repository.tcl:376 +#: lib/choose_repository.tcl:87 lib/choose_repository.tcl:382 msgid "Create New Repository" msgstr "Crea nuovo archivio" -#: lib/choose_repository.tcl:87 +#: lib/choose_repository.tcl:93 msgid "New..." msgstr "Nuovo..." -#: lib/choose_repository.tcl:94 lib/choose_repository.tcl:458 +#: lib/choose_repository.tcl:100 lib/choose_repository.tcl:465 msgid "Clone Existing Repository" msgstr "Clona archivio esistente" -#: lib/choose_repository.tcl:100 +#: lib/choose_repository.tcl:106 msgid "Clone..." msgstr "Clona..." -#: lib/choose_repository.tcl:107 lib/choose_repository.tcl:974 +#: lib/choose_repository.tcl:113 lib/choose_repository.tcl:983 msgid "Open Existing Repository" msgstr "Apri archivio esistente" -#: lib/choose_repository.tcl:113 +#: lib/choose_repository.tcl:119 msgid "Open..." msgstr "Apri..." -#: lib/choose_repository.tcl:126 +#: lib/choose_repository.tcl:132 msgid "Recent Repositories" msgstr "Archivi recenti" -#: lib/choose_repository.tcl:132 +#: lib/choose_repository.tcl:138 msgid "Open Recent Repository:" msgstr "Apri archivio recente:" -#: lib/choose_repository.tcl:296 lib/choose_repository.tcl:303 -#: lib/choose_repository.tcl:310 +#: 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:381 lib/choose_repository.tcl:476 +#: lib/choose_repository.tcl:387 msgid "Directory:" msgstr "Directory:" -#: lib/choose_repository.tcl:410 lib/choose_repository.tcl:535 -#: lib/choose_repository.tcl:1007 +#: 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:435 +#: lib/choose_repository.tcl:442 #, tcl-format msgid "Directory %s already exists." msgstr "La directory %s esiste già." -#: lib/choose_repository.tcl:439 +#: lib/choose_repository.tcl:446 #, tcl-format msgid "File %s already exists." msgstr "Il file %s esiste già." -#: lib/choose_repository.tcl:453 +#: lib/choose_repository.tcl:460 msgid "Clone" msgstr "Clona" -#: lib/choose_repository.tcl:466 -msgid "URL:" -msgstr "URL:" +#: 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:487 +#: lib/choose_repository.tcl:496 msgid "Clone Type:" msgstr "Tipo di clone:" -#: lib/choose_repository.tcl:493 +#: lib/choose_repository.tcl:502 msgid "Standard (Fast, Semi-Redundant, Hardlinks)" msgstr "Standard (veloce, semi-ridondante, con hardlink)" -#: lib/choose_repository.tcl:499 +#: lib/choose_repository.tcl:508 msgid "Full Copy (Slower, Redundant Backup)" msgstr "Copia completa (più lento, backup ridondante)" -#: lib/choose_repository.tcl:505 +#: 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:541 lib/choose_repository.tcl:588 -#: lib/choose_repository.tcl:734 lib/choose_repository.tcl:804 -#: lib/choose_repository.tcl:1013 lib/choose_repository.tcl:1021 +#: 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:577 +#: lib/choose_repository.tcl:586 msgid "Standard only available for local repository." msgstr "Standard è disponibile solo per archivi locali." -#: lib/choose_repository.tcl:581 +#: lib/choose_repository.tcl:590 msgid "Shared only available for local repository." msgstr "Shared è disponibile solo per archivi locali." -#: lib/choose_repository.tcl:602 +#: lib/choose_repository.tcl:611 #, tcl-format msgid "Location %s already exists." msgstr "Il file/directory %s esiste già." -#: lib/choose_repository.tcl:613 +#: lib/choose_repository.tcl:622 msgid "Failed to configure origin" msgstr "Impossibile configurare origin" -#: lib/choose_repository.tcl:625 +#: lib/choose_repository.tcl:634 msgid "Counting objects" msgstr "Calcolo oggetti" -#: lib/choose_repository.tcl:626 +#: lib/choose_repository.tcl:635 msgid "buckets" msgstr "" -#: lib/choose_repository.tcl:650 +#: 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:686 +#: lib/choose_repository.tcl:695 #, tcl-format msgid "Nothing to clone from %s." msgstr "Niente da clonare da %s." -#: lib/choose_repository.tcl:688 lib/choose_repository.tcl:902 -#: lib/choose_repository.tcl:914 +#: 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:701 +#: 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:713 +#: lib/choose_repository.tcl:722 #, tcl-format msgid "Cloning from %s" msgstr "Clonazione da %s" -#: lib/choose_repository.tcl:744 +#: lib/choose_repository.tcl:753 msgid "Copying objects" msgstr "Copia degli oggetti" -#: lib/choose_repository.tcl:745 +#: lib/choose_repository.tcl:754 msgid "KiB" msgstr "KiB" -#: lib/choose_repository.tcl:769 +#: lib/choose_repository.tcl:778 #, tcl-format msgid "Unable to copy object: %s" msgstr "Impossibile copiare oggetto: %s" -#: lib/choose_repository.tcl:779 +#: lib/choose_repository.tcl:788 msgid "Linking objects" msgstr "Collegamento oggetti" -#: lib/choose_repository.tcl:780 +#: lib/choose_repository.tcl:789 msgid "objects" msgstr "oggetti" -#: lib/choose_repository.tcl:788 +#: lib/choose_repository.tcl:797 #, tcl-format msgid "Unable to hardlink object: %s" msgstr "Hardlink impossibile sull'oggetto: %s" -#: lib/choose_repository.tcl:843 +#: 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:854 +#: 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:878 +#: 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:887 +#: lib/choose_repository.tcl:896 #, tcl-format msgid "Unable to cleanup %s" msgstr "Impossibile ripulire %s" -#: lib/choose_repository.tcl:893 +#: lib/choose_repository.tcl:902 msgid "Clone failed." msgstr "Clonazione non riuscita." -#: lib/choose_repository.tcl:900 +#: lib/choose_repository.tcl:909 msgid "No default branch obtained." msgstr "Non è stato trovato un ramo predefinito." -#: lib/choose_repository.tcl:911 +#: 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:923 +#: lib/choose_repository.tcl:932 msgid "Creating working directory" msgstr "Creazione directory di lavoro" -#: lib/choose_repository.tcl:924 lib/index.tcl:65 lib/index.tcl:127 -#: lib/index.tcl:193 +#: 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:953 +#: lib/choose_repository.tcl:962 msgid "Initial file checkout failed." msgstr "Attivazione iniziale non riuscita." -#: lib/choose_repository.tcl:969 +#: lib/choose_repository.tcl:978 msgid "Open" msgstr "Apri" -#: lib/choose_repository.tcl:979 +#: lib/choose_repository.tcl:988 msgid "Repository:" msgstr "Archivio:" -#: lib/choose_repository.tcl:1027 +#: lib/choose_repository.tcl:1037 #, tcl-format msgid "Failed to open repository %s:" msgstr "Impossibile accedere all'archivio %s:" @@ -1224,19 +1314,19 @@ msgstr "" "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" @@ -1253,7 +1343,7 @@ msgstr "" "\n" "La nuova analisi comincerà ora.\n" -#: lib/commit.tcl:154 +#: lib/commit.tcl:155 #, tcl-format msgid "" "Unmerged files cannot be committed.\n" @@ -1266,7 +1356,7 @@ msgstr "" "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:162 +#: lib/commit.tcl:163 #, tcl-format msgid "" "Unknown file state %s detected.\n" @@ -1277,7 +1367,7 @@ msgstr "" "\n" "Questo programma non può creare una revisione contenente il file %s.\n" -#: lib/commit.tcl:170 +#: lib/commit.tcl:171 msgid "" "No changes to commit.\n" "\n" @@ -1288,7 +1378,7 @@ msgstr "" "Devi preparare per una nuova revisione almeno 1 file prima di effettuare " "questa operazione.\n" -#: lib/commit.tcl:183 +#: lib/commit.tcl:186 msgid "" "Please supply a commit message.\n" "\n" @@ -1306,45 +1396,45 @@ msgstr "" "- Seconda linea: vuota.\n" "- Terza linea: spiega a cosa serve la tua modifica.\n" -#: lib/commit.tcl:207 +#: 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:221 +#: lib/commit.tcl:226 msgid "Calling pre-commit hook..." msgstr "Avvio pre-commit hook..." -#: lib/commit.tcl:236 +#: lib/commit.tcl:241 msgid "Commit declined by pre-commit hook." msgstr "Revisione rifiutata dal pre-commit hook." -#: lib/commit.tcl:259 +#: lib/commit.tcl:264 msgid "Calling commit-msg hook..." msgstr "Avvio commit-msg hook..." -#: lib/commit.tcl:274 +#: lib/commit.tcl:279 msgid "Commit declined by commit-msg hook." msgstr "Revisione rifiutata dal commit-msg hook." -#: lib/commit.tcl:287 +#: lib/commit.tcl:292 msgid "Committing changes..." msgstr "Archiviazione modifiche..." -#: lib/commit.tcl:303 +#: lib/commit.tcl:308 msgid "write-tree failed:" msgstr "write-tree non riuscito:" -#: lib/commit.tcl:304 lib/commit.tcl:348 lib/commit.tcl:368 +#: lib/commit.tcl:309 lib/commit.tcl:353 lib/commit.tcl:373 msgid "Commit failed." msgstr "Impossibile creare una nuova revisione." -#: lib/commit.tcl:321 +#: lib/commit.tcl:326 #, tcl-format msgid "Commit %s appears to be corrupt" msgstr "La revisione %s sembra essere danneggiata" -#: lib/commit.tcl:326 +#: lib/commit.tcl:331 msgid "" "No changes to commit.\n" "\n" @@ -1358,19 +1448,19 @@ msgstr "" "\n" "Si procederà subito ad una nuova analisi.\n" -#: lib/commit.tcl:333 +#: lib/commit.tcl:338 msgid "No changes to commit." msgstr "Nessuna modifica per la nuova revisione." -#: lib/commit.tcl:347 +#: lib/commit.tcl:352 msgid "commit-tree failed:" msgstr "commit-tree non riuscito:" -#: lib/commit.tcl:367 +#: lib/commit.tcl:372 msgid "update-ref failed:" msgstr "update-ref non riuscito:" -#: lib/commit.tcl:454 +#: lib/commit.tcl:460 #, tcl-format msgid "Created commit %s: %s" msgstr "Creata revisione %s: %s" @@ -1445,7 +1535,7 @@ msgstr "" msgid "Invalid date from Git: %s" msgstr "Git ha restituito una data non valida: %s" -#: lib/diff.tcl:44 +#: lib/diff.tcl:59 #, tcl-format msgid "" "No differences detected.\n" @@ -1468,48 +1558,101 @@ msgstr "" "Si procederà automaticamente ad una nuova analisi per trovare altri file che " "potrebbero avere lo stesso stato." -#: lib/diff.tcl:83 +#: lib/diff.tcl:99 #, tcl-format msgid "Loading diff of %s..." msgstr "Caricamento delle differenze di %s..." -#: lib/diff.tcl:116 lib/diff.tcl:190 +#: 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:117 +#: lib/diff.tcl:198 msgid "Error loading file:" msgstr "Errore nel caricamento del file:" -#: lib/diff.tcl:124 +#: lib/diff.tcl:205 msgid "Git Repository (subproject)" msgstr "Archivio Git (sottoprogetto)" -#: lib/diff.tcl:136 +#: lib/diff.tcl:217 msgid "* Binary file (not showing content)." msgstr "* File binario (il contenuto non sarà mostrato)." -#: lib/diff.tcl:191 -msgid "Error loading diff:" -msgstr "Errore nel caricamento delle differenze:" +#: 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:313 +#: 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:320 +#: lib/diff.tcl:443 msgid "Failed to stage selected hunk." msgstr "Impossibile preparare la sezione scelta per una nuova revisione." -#: lib/diff.tcl:386 +#: lib/diff.tcl:509 msgid "Failed to unstage selected line." msgstr "Impossibile rimuovere la riga scelta dalla nuova revisione." -#: lib/diff.tcl:394 +#: 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" @@ -1547,40 +1690,49 @@ msgstr "Continua" msgid "Unlock Index" msgstr "Sblocca l'accesso all'indice" -#: lib/index.tcl:282 +#: lib/index.tcl:287 #, tcl-format msgid "Unstaging %s from commit" msgstr "%s non farà parte della prossima revisione" -#: lib/index.tcl:313 +#: lib/index.tcl:326 msgid "Ready to commit." msgstr "Pronto per creare una nuova revisione." -#: lib/index.tcl:326 +#: lib/index.tcl:339 #, tcl-format msgid "Adding %s" msgstr "Aggiunta di %s in corso" -#: lib/index.tcl:381 +#: lib/index.tcl:396 #, tcl-format msgid "Revert changes in file %s?" msgstr "Annullare le modifiche nel file %s?" -#: lib/index.tcl:383 +#: lib/index.tcl:398 #, tcl-format msgid "Revert changes in these %i files?" msgstr "Annullare le modifiche in questi %i file?" -#: lib/index.tcl:391 +#: 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:394 +#: 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" @@ -1608,7 +1760,7 @@ msgstr "" "\n" "La nuova analisi comincerà ora.\n" -#: lib/merge.tcl:44 +#: lib/merge.tcl:45 #, tcl-format msgid "" "You are in the middle of a conflicted merge.\n" @@ -1626,7 +1778,7 @@ msgstr "" "infine crearla per completare la fusione attuale. Solo a questo punto potrai " "iniziare un'altra fusione.\n" -#: lib/merge.tcl:54 +#: lib/merge.tcl:55 #, tcl-format msgid "" "You are in the middle of a change.\n" @@ -1644,34 +1796,34 @@ msgstr "" "una fusione. In questo modo sarà più facile interrompere una fusione non " "riuscita, nel caso ce ne fosse bisogno.\n" -#: lib/merge.tcl:106 +#: lib/merge.tcl:107 #, tcl-format msgid "%s of %s" msgstr "%s di %s" -#: lib/merge.tcl:119 +#: lib/merge.tcl:120 #, tcl-format msgid "Merging %s and %s..." msgstr "Fusione di %s e %s in corso..." -#: lib/merge.tcl:130 +#: lib/merge.tcl:131 msgid "Merge completed successfully." msgstr "Fusione completata con successo." -#: lib/merge.tcl:132 +#: lib/merge.tcl:133 msgid "Merge failed. Conflict resolution is required." msgstr "Fusione non riuscita. Bisogna risolvere i conflitti." -#: lib/merge.tcl:157 +#: lib/merge.tcl:158 #, tcl-format msgid "Merge Into %s" msgstr "Fusione in %s" -#: lib/merge.tcl:176 +#: lib/merge.tcl:177 msgid "Revision To Merge" msgstr "Revisione da fondere" -#: lib/merge.tcl:211 +#: lib/merge.tcl:212 msgid "" "Cannot abort while amending.\n" "\n" @@ -1681,7 +1833,7 @@ msgstr "" "\n" "Bisogna finire di correggere questa revisione.\n" -#: lib/merge.tcl:221 +#: lib/merge.tcl:222 msgid "" "Abort merge?\n" "\n" @@ -1696,7 +1848,7 @@ msgstr "" "\n" "Continuare con l'interruzione della fusione attuale?" -#: lib/merge.tcl:227 +#: lib/merge.tcl:228 msgid "" "Reset changes?\n" "\n" @@ -1704,151 +1856,352 @@ msgid "" "\n" "Continue with resetting the current changes?" msgstr "" -"Ripristinare la revisione corrente e annullare le modifiche?\n" +"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:238 +#: lib/merge.tcl:239 msgid "Aborting" msgstr "Interruzione" -#: lib/merge.tcl:238 +#: lib/merge.tcl:239 msgid "files reset" msgstr "ripristino file" -#: lib/merge.tcl:266 +#: lib/merge.tcl:267 msgid "Abort failed." msgstr "Interruzione non riuscita." -#: lib/merge.tcl:268 +#: lib/merge.tcl:269 msgid "Abort completed. Ready." msgstr "Interruzione completata. Pronto." -#: lib/option.tcl:95 +#: 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:99 +#: lib/option.tcl:121 msgid "Save" msgstr "Salva" -#: lib/option.tcl:109 +#: lib/option.tcl:131 #, tcl-format msgid "%s Repository" msgstr "Archivio di %s" -#: lib/option.tcl:110 +#: lib/option.tcl:132 msgid "Global (All Repositories)" msgstr "Tutti gli archivi" -#: lib/option.tcl:116 +#: lib/option.tcl:138 msgid "User Name" msgstr "Nome utente" -#: lib/option.tcl:117 +#: lib/option.tcl:139 msgid "Email Address" msgstr "Indirizzo Email" -#: lib/option.tcl:119 +#: lib/option.tcl:141 msgid "Summarize Merge Commits" msgstr "Riepilogo nelle revisioni di fusione" -#: lib/option.tcl:120 +#: lib/option.tcl:142 msgid "Merge Verbosity" msgstr "Prolissità della fusione" -#: lib/option.tcl:121 +#: lib/option.tcl:143 msgid "Show Diffstat After Merge" msgstr "Mostra statistiche delle differenze dopo la fusione" -#: lib/option.tcl:123 +#: 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:124 +#: 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:125 +#: lib/option.tcl:148 msgid "Match Tracking Branches" msgstr "Appaia duplicati locali di rami remoti" -#: lib/option.tcl:126 +#: lib/option.tcl:149 msgid "Blame Copy Only On Changed Files" msgstr "Ricerca copie solo nei file modificati" -#: lib/option.tcl:127 +#: 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:128 +#: 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:129 +#: lib/option.tcl:153 msgid "Commit Message Text Width" msgstr "Larghezza del messaggio di revisione" -#: lib/option.tcl:130 +#: lib/option.tcl:154 msgid "New Branch Name Template" msgstr "Modello per il nome di un nuovo ramo" -#: lib/option.tcl:194 +#: 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:218 +#: lib/option.tcl:254 msgid "Change Font" msgstr "Cambia caratteri" -#: lib/option.tcl:222 +#: lib/option.tcl:258 #, tcl-format msgid "Choose %s" msgstr "Scegli %s" -#: lib/option.tcl:228 +#: lib/option.tcl:264 msgid "pt." msgstr "pt." -#: lib/option.tcl:242 +#: lib/option.tcl:278 msgid "Preferences" msgstr "Preferenze" -#: lib/option.tcl:277 +#: lib/option.tcl:314 msgid "Failed to completely save options:" msgstr "Impossibile salvare completamente le opzioni:" -#: lib/remote.tcl:165 +#: 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:170 +#: lib/remote.tcl:173 msgid "Fetch from" msgstr "Recupera da" -#: lib/remote.tcl:213 +#: 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: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 Remote Branch" -msgstr "Cancella ramo remoto" +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 -msgid "Arbitrary URL:" -msgstr "URL specifico:" +#: lib/remote_branch_delete.tcl:66 lib/transport.tcl:149 +msgid "Arbitrary Location:" +msgstr "Posizione specifica:" #: lib/remote_branch_delete.tcl:84 msgid "Branches" @@ -1918,6 +2271,22 @@ msgstr "Nessun archivio selezionato." 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:" @@ -1955,23 +2324,189 @@ msgstr "Correttore ortografico non riconosciuto" msgid "No Suggestions" msgstr "Nessun suggerimento" -#: lib/spellcheck.tcl:387 +#: lib/spellcheck.tcl:388 msgid "Unexpected EOF from spell checker" msgstr "Il correttore ortografico ha mandato un EOF inaspettato" -#: lib/spellcheck.tcl:391 +#: 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/transport.tcl:6 +#: lib/tools.tcl:75 #, tcl-format -msgid "fetch %s" -msgstr "recupera da %s" +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 successfully: %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 @@ -1988,45 +2523,45 @@ msgstr "potatura remota di %s" msgid "Pruning tracking branches deleted from %s" msgstr "Effettua potatura dei duplicati locali di rami remoti cancellati da %s" -#: lib/transport.tcl:25 lib/transport.tcl:71 -#, tcl-format -msgid "push %s" -msgstr "propaga verso %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 --git a/git-gui/po/ja.po b/git-gui/po/ja.po index 5db44a4ada..63c4695103 100644 --- a/git-gui/po/ja.po +++ b/git-gui/po/ja.po @@ -8,41 +8,41 @@ msgid "" msgstr "" "Project-Id-Version: git-gui\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-08-02 14:45-0700\n" -"PO-Revision-Date: 2008-08-03 17:00+0900\n" +"POT-Creation-Date: 2008-12-08 08:31-0800\n" +"PO-Revision-Date: 2008-12-09 06:27+0900\n" "Last-Translator: しらいし ななこ <nanako3@lavabit.com>\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:688 git-gui.sh:702 git-gui.sh:715 git-gui.sh:798 -#: git-gui.sh:817 +#: 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:644 +#: git-gui.sh:689 #, tcl-format msgid "Invalid font specified in %s:" msgstr "%s に無効なフォントが指定されています:" -#: git-gui.sh:674 +#: git-gui.sh:723 msgid "Main Font" msgstr "主フォント" -#: git-gui.sh:675 +#: git-gui.sh:724 msgid "Diff/Console Font" msgstr "diff/コンソール・フォント" -#: git-gui.sh:689 +#: git-gui.sh:738 msgid "Cannot find git in PATH." msgstr "PATH 中に git が見つかりません" -#: git-gui.sh:716 +#: git-gui.sh:765 msgid "Cannot parse Git version string:" msgstr "Git バージョン名が理解できません:" -#: git-gui.sh:734 +#: git-gui.sh:783 #, tcl-format msgid "" "Git version cannot be determined.\n" @@ -61,381 +61,446 @@ msgstr "" "\n" "'%s' はバージョン 1.5.0 と思って良いですか?\n" -#: git-gui.sh:972 +#: git-gui.sh:1062 msgid "Git directory not found:" msgstr "Git ディレクトリが見つかりません:" -#: git-gui.sh:979 +#: git-gui.sh:1069 msgid "Cannot move to top of working directory:" msgstr "作業ディレクトリの最上位に移動できません" -#: git-gui.sh:986 +#: git-gui.sh:1076 msgid "Cannot use funny .git directory:" msgstr "変な .git ディレクトリは使えません" -#: git-gui.sh:991 +#: git-gui.sh:1081 msgid "No working directory" msgstr "作業ディレクトリがありません" -#: git-gui.sh:1138 lib/checkout_op.tcl:305 +#: git-gui.sh:1247 lib/checkout_op.tcl:305 msgid "Refreshing file status..." msgstr "ファイル状態を更新しています…" -#: git-gui.sh:1194 +#: git-gui.sh:1303 msgid "Scanning for modified files ..." msgstr "変更されたファイルをスキャンしています…" -#: git-gui.sh:1369 lib/browser.tcl:246 +#: 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:1635 +#: git-gui.sh:1819 msgid "Unmodified" msgstr "変更無し" -#: git-gui.sh:1637 +#: git-gui.sh:1821 msgid "Modified, not staged" msgstr "変更あり、コミット未予定" -#: git-gui.sh:1638 git-gui.sh:1643 +#: git-gui.sh:1822 git-gui.sh:1830 msgid "Staged for commit" msgstr "コミット予定済" -#: git-gui.sh:1639 git-gui.sh:1644 +#: git-gui.sh:1823 git-gui.sh:1831 msgid "Portions staged for commit" msgstr "部分的にコミット予定済" -#: git-gui.sh:1640 git-gui.sh:1645 +#: git-gui.sh:1824 git-gui.sh:1832 msgid "Staged for commit, missing" msgstr "コミット予定済、ファイル無し" -#: git-gui.sh:1642 +#: 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:1647 +#: git-gui.sh:1834 msgid "Missing" msgstr "ファイル無し" -#: git-gui.sh:1648 +#: git-gui.sh:1835 msgid "Staged for removal" msgstr "削除予定済" -#: git-gui.sh:1649 +#: git-gui.sh:1836 msgid "Staged for removal, still present" msgstr "削除予定済、ファイル未削除" -#: git-gui.sh:1651 git-gui.sh:1652 git-gui.sh:1653 git-gui.sh:1654 +#: 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:1689 +#: git-gui.sh:1878 msgid "Starting gitk... please wait..." msgstr "gitk を起動中…お待ち下さい…" -#: git-gui.sh:1698 +#: git-gui.sh:1887 msgid "Couldn't find gitk in PATH" msgstr "PATH 中に gitk が見つかりません" -#: git-gui.sh:1948 lib/choose_repository.tcl:36 +#: git-gui.sh:2280 lib/choose_repository.tcl:36 msgid "Repository" msgstr "リポジトリ" -#: git-gui.sh:1949 +#: git-gui.sh:2281 msgid "Edit" msgstr "編集" -#: git-gui.sh:1951 lib/choose_rev.tcl:561 +#: git-gui.sh:2283 lib/choose_rev.tcl:561 msgid "Branch" msgstr "ブランチ" -#: git-gui.sh:1954 lib/choose_rev.tcl:548 +#: git-gui.sh:2286 lib/choose_rev.tcl:548 msgid "Commit@@noun" msgstr "コミット" -#: git-gui.sh:1957 lib/merge.tcl:120 lib/merge.tcl:149 lib/merge.tcl:167 +#: git-gui.sh:2289 lib/merge.tcl:121 lib/merge.tcl:150 lib/merge.tcl:168 msgid "Merge" msgstr "マージ" -#: git-gui.sh:1958 lib/choose_rev.tcl:557 +#: git-gui.sh:2290 lib/choose_rev.tcl:557 msgid "Remote" msgstr "リモート" -#: git-gui.sh:1967 +#: 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:1971 +#: git-gui.sh:2311 msgid "Browse Branch Files..." msgstr "ブランチのファイルを見る…" -#: git-gui.sh:1976 +#: git-gui.sh:2316 msgid "Visualize Current Branch's History" msgstr "現在のブランチの履歴を見る" -#: git-gui.sh:1980 +#: git-gui.sh:2320 msgid "Visualize All Branch History" msgstr "全てのブランチの履歴を見る" -#: git-gui.sh:1987 +#: git-gui.sh:2327 #, tcl-format msgid "Browse %s's Files" msgstr "ブランチ %s のファイルを見る" -#: git-gui.sh:1989 +#: git-gui.sh:2329 #, tcl-format msgid "Visualize %s's History" msgstr "ブランチ %s の履歴を見る" -#: git-gui.sh:1994 lib/database.tcl:27 lib/database.tcl:67 +#: git-gui.sh:2334 lib/database.tcl:27 lib/database.tcl:67 msgid "Database Statistics" msgstr "データベース統計" -#: git-gui.sh:1997 lib/database.tcl:34 +#: git-gui.sh:2337 lib/database.tcl:34 msgid "Compress Database" msgstr "データベース圧縮" -#: git-gui.sh:2000 +#: git-gui.sh:2340 msgid "Verify Database" msgstr "データベース検証" -#: git-gui.sh:2007 git-gui.sh:2011 git-gui.sh:2015 lib/shortcut.tcl:7 +#: 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:2023 lib/choose_repository.tcl:177 lib/choose_repository.tcl:185 +#: git-gui.sh:2363 lib/choose_repository.tcl:183 lib/choose_repository.tcl:191 msgid "Quit" msgstr "終了" -#: git-gui.sh:2031 +#: git-gui.sh:2371 msgid "Undo" msgstr "元に戻す" -#: git-gui.sh:2034 +#: git-gui.sh:2374 msgid "Redo" msgstr "やり直し" -#: git-gui.sh:2038 git-gui.sh:2545 +#: git-gui.sh:2378 git-gui.sh:2923 msgid "Cut" msgstr "切り取り" -#: git-gui.sh:2041 git-gui.sh:2548 git-gui.sh:2622 git-gui.sh:2715 +#: 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:2044 git-gui.sh:2551 +#: git-gui.sh:2384 git-gui.sh:2929 msgid "Paste" msgstr "貼り付け" -#: git-gui.sh:2047 git-gui.sh:2554 lib/branch_delete.tcl:26 +#: 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:2051 git-gui.sh:2558 git-gui.sh:2719 lib/console.tcl:71 +#: git-gui.sh:2391 git-gui.sh:2936 git-gui.sh:3086 lib/console.tcl:71 msgid "Select All" msgstr "全て選択" -#: git-gui.sh:2060 +#: git-gui.sh:2400 msgid "Create..." msgstr "作成…" -#: git-gui.sh:2066 +#: git-gui.sh:2406 msgid "Checkout..." msgstr "チェックアウト" -#: git-gui.sh:2072 +#: git-gui.sh:2412 msgid "Rename..." msgstr "名前変更…" -#: git-gui.sh:2077 git-gui.sh:2187 +#: git-gui.sh:2417 msgid "Delete..." msgstr "削除…" -#: git-gui.sh:2082 +#: git-gui.sh:2422 msgid "Reset..." msgstr "リセット…" -#: git-gui.sh:2094 git-gui.sh:2491 +#: 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:2102 git-gui.sh:2498 +#: git-gui.sh:2451 git-gui.sh:2871 msgid "Amend Last Commit" msgstr "最新コミットを訂正" -#: git-gui.sh:2111 git-gui.sh:2458 lib/remote_branch_delete.tcl:99 +#: git-gui.sh:2461 git-gui.sh:2825 lib/remote_branch_delete.tcl:99 msgid "Rescan" msgstr "再スキャン" -#: git-gui.sh:2117 +#: git-gui.sh:2467 msgid "Stage To Commit" msgstr "コミット予定する" -#: git-gui.sh:2123 +#: git-gui.sh:2473 msgid "Stage Changed Files To Commit" msgstr "変更されたファイルをコミット予定" -#: git-gui.sh:2129 +#: git-gui.sh:2479 msgid "Unstage From Commit" msgstr "コミットから降ろす" -#: git-gui.sh:2134 lib/index.tcl:395 +#: git-gui.sh:2484 lib/index.tcl:410 msgid "Revert Changes" msgstr "変更を元に戻す" -#: git-gui.sh:2141 git-gui.sh:2702 +#: git-gui.sh:2491 git-gui.sh:3069 msgid "Show Less Context" msgstr "文脈を少なく" -#: git-gui.sh:2145 git-gui.sh:2706 +#: git-gui.sh:2495 git-gui.sh:3073 msgid "Show More Context" msgstr "文脈を多く" -#: git-gui.sh:2151 git-gui.sh:2470 git-gui.sh:2569 +#: git-gui.sh:2502 git-gui.sh:2838 git-gui.sh:2947 msgid "Sign Off" msgstr "署名" -#: git-gui.sh:2155 git-gui.sh:2474 -msgid "Commit@@verb" -msgstr "コミット" - -#: git-gui.sh:2166 +#: git-gui.sh:2518 msgid "Local Merge..." msgstr "ローカル・マージ…" -#: git-gui.sh:2171 +#: git-gui.sh:2523 msgid "Abort Merge..." msgstr "マージ中止…" -#: git-gui.sh:2183 +#: git-gui.sh:2535 git-gui.sh:2575 +msgid "Add..." +msgstr "追加" + +#: git-gui.sh:2539 msgid "Push..." msgstr "プッシュ…" -#: git-gui.sh:2197 git-gui.sh:2219 lib/about.tcl:14 -#: lib/choose_repository.tcl:44 lib/choose_repository.tcl:50 +#: 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:2201 +#: git-gui.sh:2557 msgid "Preferences..." msgstr "設定…" -#: git-gui.sh:2209 git-gui.sh:2740 +#: git-gui.sh:2565 git-gui.sh:3115 msgid "Options..." msgstr "オプション…" -#: git-gui.sh:2215 lib/choose_repository.tcl:47 +#: git-gui.sh:2576 +msgid "Remove..." +msgstr "削除..." + +#: git-gui.sh:2585 lib/choose_repository.tcl:50 msgid "Help" msgstr "ヘルプ" -#: git-gui.sh:2256 +#: git-gui.sh:2611 msgid "Online Documentation" msgstr "オンライン・ドキュメント" -#: git-gui.sh:2340 +#: 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:2373 +#: git-gui.sh:2740 msgid "Current Branch:" msgstr "現在のブランチ" -#: git-gui.sh:2394 +#: git-gui.sh:2761 msgid "Staged Changes (Will Commit)" msgstr "ステージングされた(コミット予定済の)変更" -#: git-gui.sh:2414 +#: git-gui.sh:2781 msgid "Unstaged Changes" msgstr "コミット予定に入っていない変更" -#: git-gui.sh:2464 +#: git-gui.sh:2831 msgid "Stage Changed" msgstr "変更をコミット予定に入れる" -#: git-gui.sh:2480 lib/transport.tcl:93 lib/transport.tcl:182 +#: git-gui.sh:2850 lib/transport.tcl:93 lib/transport.tcl:182 msgid "Push" msgstr "プッシュ" -#: git-gui.sh:2510 +#: git-gui.sh:2885 msgid "Initial Commit Message:" msgstr "最初のコミットメッセージ:" -#: git-gui.sh:2511 +#: git-gui.sh:2886 msgid "Amended Commit Message:" msgstr "訂正したコミットメッセージ:" -#: git-gui.sh:2512 +#: git-gui.sh:2887 msgid "Amended Initial Commit Message:" msgstr "訂正した最初のコミットメッセージ:" -#: git-gui.sh:2513 +#: git-gui.sh:2888 msgid "Amended Merge Commit Message:" msgstr "訂正したマージコミットメッセージ:" -#: git-gui.sh:2514 +#: git-gui.sh:2889 msgid "Merge Commit Message:" msgstr "マージコミットメッセージ:" -#: git-gui.sh:2515 +#: git-gui.sh:2890 msgid "Commit Message:" msgstr "コミットメッセージ:" -#: git-gui.sh:2561 git-gui.sh:2723 lib/console.tcl:73 +#: git-gui.sh:2939 git-gui.sh:3090 lib/console.tcl:73 msgid "Copy All" msgstr "全てコピー" -#: git-gui.sh:2585 lib/blame.tcl:100 +#: git-gui.sh:2963 lib/blame.tcl:104 msgid "File:" msgstr "ファイル:" -#: git-gui.sh:2691 -msgid "Apply/Reverse Hunk" -msgstr "パッチを適用/取り消す" - -#: git-gui.sh:2696 -msgid "Apply/Reverse Line" -msgstr "パッチ行を適用/取り消す" - -#: git-gui.sh:2711 +#: git-gui.sh:3078 msgid "Refresh" msgstr "再読み込み" -#: git-gui.sh:2732 +#: git-gui.sh:3099 msgid "Decrease Font Size" msgstr "フォントを小さく" -#: git-gui.sh:2736 +#: git-gui.sh:3103 msgid "Increase Font Size" msgstr "フォントを大きく" -#: git-gui.sh:2747 +#: 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:2748 +#: git-gui.sh:3170 msgid "Unstage Line From Commit" msgstr "コミット予定から行を外す" -#: git-gui.sh:2750 +#: git-gui.sh:3172 msgid "Stage Hunk For Commit" msgstr "パッチをコミット予定に加える" -#: git-gui.sh:2751 +#: git-gui.sh:3173 msgid "Stage Line For Commit" msgstr "パッチ行をコミット予定に加える" -#: git-gui.sh:2771 +#: git-gui.sh:3196 msgid "Initializing..." msgstr "初期化しています…" -#: git-gui.sh:2876 +#: git-gui.sh:3301 #, tcl-format msgid "" "Possible environment issues exist.\n" @@ -450,7 +515,7 @@ msgstr "" "以下の環境変数は %s が起動する Git サブプロセスによって無視されるでしょう:\n" "\n" -#: git-gui.sh:2906 +#: git-gui.sh:3331 msgid "" "\n" "This is due to a known issue with the\n" @@ -460,7 +525,7 @@ msgstr "" "これは Cygwin で配布されている Tcl バイナリに\n" "関しての既知の問題によります" -#: git-gui.sh:2911 +#: git-gui.sh:3336 #, tcl-format msgid "" "\n" @@ -479,80 +544,108 @@ msgstr "" msgid "git-gui - a graphical user interface for Git." msgstr "Git のグラフィカルUI git-gui" -#: lib/blame.tcl:70 +#: lib/blame.tcl:72 msgid "File Viewer" msgstr "ファイルピューワ" -#: lib/blame.tcl:74 +#: lib/blame.tcl:78 msgid "Commit:" msgstr "コミット:" -#: lib/blame.tcl:257 +#: lib/blame.tcl:271 msgid "Copy Commit" msgstr "コミットをコピー" -#: lib/blame.tcl:260 +#: lib/blame.tcl:275 +msgid "Find Text..." +msgstr "テキストを検索" + +#: lib/blame.tcl:284 msgid "Do Full Copy Detection" msgstr "コピー検知" -#: lib/blame.tcl:388 +#: 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:492 +#: lib/blame.tcl:557 msgid "Loading copy/move tracking annotations..." msgstr "コピー・移動追跡データを読んでいます…" -#: lib/blame.tcl:512 +#: lib/blame.tcl:577 msgid "lines annotated" msgstr "行を注釈しました" -#: lib/blame.tcl:704 +#: lib/blame.tcl:769 msgid "Loading original location annotations..." msgstr "元位置行の注釈データを読んでいます…" -#: lib/blame.tcl:707 +#: lib/blame.tcl:772 msgid "Annotation complete." msgstr "注釈完了しました" -#: lib/blame.tcl:737 +#: lib/blame.tcl:802 msgid "Busy" msgstr "実行中" -#: lib/blame.tcl:738 +#: lib/blame.tcl:803 msgid "Annotation process is already running." msgstr "すでに blame プロセスを実行中です。" -#: lib/blame.tcl:777 +#: lib/blame.tcl:842 msgid "Running thorough copy detection..." msgstr "コピー検知を実行中…" -#: lib/blame.tcl:827 +#: lib/blame.tcl:910 msgid "Loading annotation..." msgstr "注釈を読み込んでいます…" -#: lib/blame.tcl:883 +#: lib/blame.tcl:964 msgid "Author:" msgstr "作者:" -#: lib/blame.tcl:887 +#: lib/blame.tcl:968 msgid "Committer:" msgstr "コミット者:" -#: lib/blame.tcl:892 +#: lib/blame.tcl:973 msgid "Original File:" msgstr "元ファイル" -#: lib/blame.tcl:1006 +#: 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:1012 +#: lib/blame.tcl:1238 msgid "In File:" msgstr "ファイル:" -#: lib/blame.tcl:1017 +#: lib/blame.tcl:1243 msgid "Copied Or Moved Here By:" msgstr "複写・移動者:" @@ -566,16 +659,18 @@ 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:171 -#: lib/option.tcl:103 lib/remote_branch_delete.tcl:42 lib/transport.tcl:97 +#: 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/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:244 +#: lib/branch_checkout.tcl:36 lib/branch_create.tcl:69 lib/option.tcl:280 msgid "Options" msgstr "オプション" @@ -595,7 +690,7 @@ msgstr "ブランチを作成" msgid "Create New Branch" msgstr "ブランチを新規作成" -#: lib/branch_create.tcl:31 lib/choose_repository.tcl:371 +#: lib/branch_create.tcl:31 lib/choose_repository.tcl:377 msgid "Create" msgstr "作成" @@ -603,7 +698,7 @@ msgstr "作成" msgid "Branch Name" msgstr "ブランチ名" -#: lib/branch_create.tcl:43 +#: lib/branch_create.tcl:43 lib/remote_add.tcl:39 lib/tools_dlg.tcl:50 msgid "Name:" msgstr "名前:" @@ -678,16 +773,6 @@ msgstr "無条件(マージテストしない)" 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 "" @@ -748,9 +833,9 @@ msgstr "[上位フォルダへ]" msgid "Browse Branch Files" msgstr "現在のブランチのファイルを見る" -#: lib/browser.tcl:278 lib/choose_repository.tcl:387 -#: lib/choose_repository.tcl:472 lib/choose_repository.tcl:482 -#: lib/choose_repository.tcl:985 +#: 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 "ブラウズ" @@ -765,6 +850,7 @@ 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 "閉じる" @@ -875,7 +961,7 @@ msgstr "失なわれたコミットを回復するのは簡単ではありませ msgid "Reset '%s'?" msgstr "'%s' をリセットしますか?" -#: lib/checkout_op.tcl:532 lib/merge.tcl:163 +#: lib/checkout_op.tcl:532 lib/merge.tcl:164 lib/tools_dlg.tcl:343 msgid "Visualize" msgstr "可視化" @@ -923,221 +1009,225 @@ msgstr "" msgid "Git Gui" msgstr "Git GUI" -#: lib/choose_repository.tcl:81 lib/choose_repository.tcl:376 +#: lib/choose_repository.tcl:87 lib/choose_repository.tcl:382 msgid "Create New Repository" msgstr "新しいリポジトリを作る" -#: lib/choose_repository.tcl:87 +#: lib/choose_repository.tcl:93 msgid "New..." msgstr "新規…" -#: lib/choose_repository.tcl:94 lib/choose_repository.tcl:458 +#: lib/choose_repository.tcl:100 lib/choose_repository.tcl:465 msgid "Clone Existing Repository" msgstr "既存リポジトリを複製する" -#: lib/choose_repository.tcl:100 +#: lib/choose_repository.tcl:106 msgid "Clone..." msgstr "複製…" -#: lib/choose_repository.tcl:107 lib/choose_repository.tcl:974 +#: lib/choose_repository.tcl:113 lib/choose_repository.tcl:983 msgid "Open Existing Repository" msgstr "既存リポジトリを開く" -#: lib/choose_repository.tcl:113 +#: lib/choose_repository.tcl:119 msgid "Open..." msgstr "開く…" -#: lib/choose_repository.tcl:126 +#: lib/choose_repository.tcl:132 msgid "Recent Repositories" msgstr "最近使ったリポジトリ" -#: lib/choose_repository.tcl:132 +#: lib/choose_repository.tcl:138 msgid "Open Recent Repository:" msgstr "最近使ったリポジトリを開く" -#: lib/choose_repository.tcl:296 lib/choose_repository.tcl:303 -#: lib/choose_repository.tcl:310 +#: 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:381 lib/choose_repository.tcl:476 +#: lib/choose_repository.tcl:387 msgid "Directory:" msgstr "ディレクトリ:" -#: lib/choose_repository.tcl:410 lib/choose_repository.tcl:535 -#: lib/choose_repository.tcl:1007 +#: lib/choose_repository.tcl:417 lib/choose_repository.tcl:544 +#: lib/choose_repository.tcl:1017 msgid "Git Repository" msgstr "GIT リポジトリ" -#: lib/choose_repository.tcl:435 +#: lib/choose_repository.tcl:442 #, tcl-format msgid "Directory %s already exists." msgstr "ディレクトリ '%s' は既に存在します。" -#: lib/choose_repository.tcl:439 +#: lib/choose_repository.tcl:446 #, tcl-format msgid "File %s already exists." msgstr "ファイル '%s' は既に存在します。" -#: lib/choose_repository.tcl:453 +#: lib/choose_repository.tcl:460 msgid "Clone" msgstr "複製" -#: lib/choose_repository.tcl:466 -msgid "URL:" -msgstr "URL:" +#: lib/choose_repository.tcl:473 +msgid "Source Location:" +msgstr "ソースの位置" + +#: lib/choose_repository.tcl:484 +msgid "Target Directory:" +msgstr "先ディレクトリ:" -#: lib/choose_repository.tcl:487 +#: lib/choose_repository.tcl:496 msgid "Clone Type:" msgstr "複製方式:" -#: lib/choose_repository.tcl:493 +#: lib/choose_repository.tcl:502 msgid "Standard (Fast, Semi-Redundant, Hardlinks)" msgstr "標準(高速・中冗長度・ハードリンク)" -#: lib/choose_repository.tcl:499 +#: lib/choose_repository.tcl:508 msgid "Full Copy (Slower, Redundant Backup)" msgstr "全複写(低速・冗長バックアップ)" -#: lib/choose_repository.tcl:505 +#: lib/choose_repository.tcl:514 msgid "Shared (Fastest, Not Recommended, No Backup)" msgstr "共有(最高速・非推奨・バックアップ無し)" -#: lib/choose_repository.tcl:541 lib/choose_repository.tcl:588 -#: lib/choose_repository.tcl:734 lib/choose_repository.tcl:804 -#: lib/choose_repository.tcl:1013 lib/choose_repository.tcl:1021 +#: 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:577 +#: lib/choose_repository.tcl:586 msgid "Standard only available for local repository." msgstr "標準方式は同一計算機上のリポジトリにのみ使えます。" -#: lib/choose_repository.tcl:581 +#: lib/choose_repository.tcl:590 msgid "Shared only available for local repository." msgstr "共有方式は同一計算機上のリポジトリにのみ使えます。" -#: lib/choose_repository.tcl:602 +#: lib/choose_repository.tcl:611 #, tcl-format msgid "Location %s already exists." msgstr "'%s' は既に存在します。" -#: lib/choose_repository.tcl:613 +#: lib/choose_repository.tcl:622 msgid "Failed to configure origin" msgstr "origin を設定できませんでした" -#: lib/choose_repository.tcl:625 +#: lib/choose_repository.tcl:634 msgid "Counting objects" msgstr "オブジェクトを数えています" -#: lib/choose_repository.tcl:626 +#: lib/choose_repository.tcl:635 msgid "buckets" msgstr "バケツ" -#: lib/choose_repository.tcl:650 +#: lib/choose_repository.tcl:659 #, tcl-format msgid "Unable to copy objects/info/alternates: %s" msgstr "objects/info/alternates を複写できません: %s" -#: lib/choose_repository.tcl:686 +#: lib/choose_repository.tcl:695 #, tcl-format msgid "Nothing to clone from %s." msgstr "%s から複製する内容はありません" -#: lib/choose_repository.tcl:688 lib/choose_repository.tcl:902 -#: lib/choose_repository.tcl:914 +#: 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:701 +#: lib/choose_repository.tcl:710 msgid "Hardlinks are unavailable. Falling back to copying." msgstr "ハードリンクが作れないので、コピーします" -#: lib/choose_repository.tcl:713 +#: lib/choose_repository.tcl:722 #, tcl-format msgid "Cloning from %s" msgstr "%s から複製しています" -#: lib/choose_repository.tcl:744 +#: lib/choose_repository.tcl:753 msgid "Copying objects" msgstr "オブジェクトを複写しています" -#: lib/choose_repository.tcl:745 +#: lib/choose_repository.tcl:754 msgid "KiB" msgstr "KiB" -#: lib/choose_repository.tcl:769 +#: lib/choose_repository.tcl:778 #, tcl-format msgid "Unable to copy object: %s" msgstr "オブジェクトを複写できません: %s" -#: lib/choose_repository.tcl:779 +#: lib/choose_repository.tcl:788 msgid "Linking objects" msgstr "オブジェクトを連結しています" -#: lib/choose_repository.tcl:780 +#: lib/choose_repository.tcl:789 msgid "objects" msgstr "オブジェクト" -#: lib/choose_repository.tcl:788 +#: lib/choose_repository.tcl:797 #, tcl-format msgid "Unable to hardlink object: %s" msgstr "オブジェクトをハードリンクできません: %s" -#: lib/choose_repository.tcl:843 +#: lib/choose_repository.tcl:852 msgid "Cannot fetch branches and objects. See console output for details." msgstr "ブランチやオブジェクトを取得できません。コンソール出力を見て下さい" -#: lib/choose_repository.tcl:854 +#: lib/choose_repository.tcl:863 msgid "Cannot fetch tags. See console output for details." msgstr "タグを取得できません。コンソール出力を見て下さい" -#: lib/choose_repository.tcl:878 +#: lib/choose_repository.tcl:887 msgid "Cannot determine HEAD. See console output for details." msgstr "HEAD を確定できません。コンソール出力を見て下さい" -#: lib/choose_repository.tcl:887 +#: lib/choose_repository.tcl:896 #, tcl-format msgid "Unable to cleanup %s" msgstr "%s を掃除できません" -#: lib/choose_repository.tcl:893 +#: lib/choose_repository.tcl:902 msgid "Clone failed." msgstr "複写に失敗しました。" -#: lib/choose_repository.tcl:900 +#: lib/choose_repository.tcl:909 msgid "No default branch obtained." msgstr "デフォールト・ブランチが取得されませんでした" -#: lib/choose_repository.tcl:911 +#: lib/choose_repository.tcl:920 #, tcl-format msgid "Cannot resolve %s as a commit." msgstr "%s をコミットとして解釈できません" -#: lib/choose_repository.tcl:923 +#: lib/choose_repository.tcl:932 msgid "Creating working directory" msgstr "作業ディレクトリを作成しています" -#: lib/choose_repository.tcl:924 lib/index.tcl:65 lib/index.tcl:127 -#: lib/index.tcl:193 +#: lib/choose_repository.tcl:933 lib/index.tcl:65 lib/index.tcl:128 +#: lib/index.tcl:196 msgid "files" msgstr "ファイル" -#: lib/choose_repository.tcl:953 +#: lib/choose_repository.tcl:962 msgid "Initial file checkout failed." msgstr "初期チェックアウトに失敗しました" -#: lib/choose_repository.tcl:969 +#: lib/choose_repository.tcl:978 msgid "Open" msgstr "開く" -#: lib/choose_repository.tcl:979 +#: lib/choose_repository.tcl:988 msgid "Repository:" msgstr "リポジトリ:" -#: lib/choose_repository.tcl:1027 +#: lib/choose_repository.tcl:1037 #, tcl-format msgid "Failed to open repository %s:" msgstr "リポジトリ %s を開けません:" @@ -1236,7 +1326,7 @@ msgstr "" "\n" "自動的に再スキャンを開始します。\n" -#: lib/commit.tcl:154 +#: lib/commit.tcl:156 #, tcl-format msgid "" "Unmerged files cannot be committed.\n" @@ -1249,7 +1339,7 @@ msgstr "" "ファイル %s にはマージ衝突が残っています。まず解決してコミット予定に加える必" "要があります。\n" -#: lib/commit.tcl:162 +#: lib/commit.tcl:164 #, tcl-format msgid "" "Unknown file state %s detected.\n" @@ -1260,7 +1350,7 @@ msgstr "" "\n" "ファイル %s は本プログラムではコミットできません。\n" -#: lib/commit.tcl:170 +#: lib/commit.tcl:172 msgid "" "No changes to commit.\n" "\n" @@ -1270,7 +1360,7 @@ msgstr "" "\n" "最低一つの変更をコミット予定に加えてからコミットして下さい。\n" -#: lib/commit.tcl:183 +#: lib/commit.tcl:187 msgid "" "Please supply a commit message.\n" "\n" @@ -1288,45 +1378,45 @@ msgstr "" "- 第2行: 空白\n" "- 残りの行: なぜ、この変更が良い変更か、の説明。\n" -#: lib/commit.tcl:207 +#: lib/commit.tcl:211 #, tcl-format msgid "warning: Tcl does not support encoding '%s'." msgstr "警告: Tcl はエンコーディング '%s' をサポートしていません" -#: lib/commit.tcl:221 +#: lib/commit.tcl:227 msgid "Calling pre-commit hook..." msgstr "コミット前フックを実行中・・・" -#: lib/commit.tcl:236 +#: lib/commit.tcl:242 msgid "Commit declined by pre-commit hook." msgstr "コミット前フックがコミットを拒否しました" -#: lib/commit.tcl:259 +#: lib/commit.tcl:265 msgid "Calling commit-msg hook..." msgstr "コミット・メッセージ・フックを実行中・・・" -#: lib/commit.tcl:274 +#: lib/commit.tcl:280 msgid "Commit declined by commit-msg hook." msgstr "コミット・メッセージ・フックがコミットを拒否しました" -#: lib/commit.tcl:287 +#: lib/commit.tcl:293 msgid "Committing changes..." msgstr "変更点をコミット中・・・" -#: lib/commit.tcl:303 +#: lib/commit.tcl:309 msgid "write-tree failed:" msgstr "write-tree が失敗しました:" -#: lib/commit.tcl:304 lib/commit.tcl:348 lib/commit.tcl:368 +#: lib/commit.tcl:310 lib/commit.tcl:354 lib/commit.tcl:374 msgid "Commit failed." msgstr "コミットに失敗しました。" -#: lib/commit.tcl:321 +#: lib/commit.tcl:327 #, tcl-format msgid "Commit %s appears to be corrupt" msgstr "コミット %s は壊れています" -#: lib/commit.tcl:326 +#: lib/commit.tcl:332 msgid "" "No changes to commit.\n" "\n" @@ -1340,19 +1430,19 @@ msgstr "" "\n" "自動的に再スキャンを開始します。\n" -#: lib/commit.tcl:333 +#: lib/commit.tcl:339 msgid "No changes to commit." msgstr "コミットする変更がありません。" -#: lib/commit.tcl:347 +#: lib/commit.tcl:353 msgid "commit-tree failed:" msgstr "commit-tree が失敗しました:" -#: lib/commit.tcl:367 +#: lib/commit.tcl:373 msgid "update-ref failed:" msgstr "update-ref が失敗しました:" -#: lib/commit.tcl:454 +#: lib/commit.tcl:461 #, tcl-format msgid "Created commit %s: %s" msgstr "コミット %s を作成しました: %s" @@ -1427,7 +1517,7 @@ msgstr "" msgid "Invalid date from Git: %s" msgstr "Git から出た無効な日付: %s" -#: lib/diff.tcl:44 +#: lib/diff.tcl:59 #, tcl-format msgid "" "No differences detected.\n" @@ -1449,48 +1539,102 @@ msgstr "" "\n" "同様な状態のファイルを探すために、自動的に再スキャンを開始します。" -#: lib/diff.tcl:83 +#: lib/diff.tcl:99 #, tcl-format msgid "Loading diff of %s..." msgstr "%s の変更点をロード中…" -#: lib/diff.tcl:116 lib/diff.tcl:190 +#: 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:117 +#: lib/diff.tcl:198 msgid "Error loading file:" msgstr "ファイルを読む際のエラーです:" -#: lib/diff.tcl:124 +#: lib/diff.tcl:205 msgid "Git Repository (subproject)" msgstr "Git リポジトリ(サブプロジェクト)" -#: lib/diff.tcl:136 +#: lib/diff.tcl:217 msgid "* Binary file (not showing content)." msgstr "* バイナリファイル(内容は表示しません)" -#: lib/diff.tcl:191 -msgid "Error loading diff:" -msgstr "diff を読む際のエラーです:" +#: 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:313 +#: lib/diff.tcl:436 msgid "Failed to unstage selected hunk." msgstr "選択されたパッチをコミット予定から外せません。" -#: lib/diff.tcl:320 +#: lib/diff.tcl:443 msgid "Failed to stage selected hunk." msgstr "選択されたパッチをコミット予定に加えられません。" -#: lib/diff.tcl:386 +#: lib/diff.tcl:509 msgid "Failed to unstage selected line." msgstr "選択されたパッチ行をコミット予定から外せません。" -#: lib/diff.tcl:394 +#: 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 "エラー" @@ -1527,38 +1671,47 @@ msgstr "続行" msgid "Unlock Index" msgstr "インデックスのロック解除" -#: lib/index.tcl:282 +#: lib/index.tcl:287 #, tcl-format msgid "Unstaging %s from commit" msgstr "コミットから '%s' を降ろす" -#: lib/index.tcl:313 +#: lib/index.tcl:326 msgid "Ready to commit." msgstr "コミット準備完了" -#: lib/index.tcl:326 +#: lib/index.tcl:339 #, tcl-format msgid "Adding %s" msgstr "コミットに %s を加えています" -#: lib/index.tcl:381 +#: lib/index.tcl:396 #, tcl-format msgid "Revert changes in file %s?" msgstr "ファイル %s にした変更を元に戻しますか?" -#: lib/index.tcl:383 +#: lib/index.tcl:398 #, tcl-format msgid "Revert changes in these %i files?" msgstr "これら %i 個のファイルにした変更を元に戻しますか?" -#: lib/index.tcl:391 +#: lib/index.tcl:406 msgid "Any unstaged changes will be permanently lost by the revert." msgstr "変更を元に戻すとコミット予定していない変更は全て失われます。" -#: lib/index.tcl:394 +#: 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" @@ -1585,7 +1738,7 @@ msgstr "" "\n" "自動的に再スキャンを開始します。\n" -#: lib/merge.tcl:44 +#: lib/merge.tcl:45 #, tcl-format msgid "" "You are in the middle of a conflicted merge.\n" @@ -1602,7 +1755,7 @@ msgstr "" "このファイルの衝突を解決し、コミット予定に加えて、コミットすることでマージを" "完了します。そうやって始めて、新たなマージを開始できるようになります。\n" -#: lib/merge.tcl:54 +#: lib/merge.tcl:55 #, tcl-format msgid "" "You are in the middle of a change.\n" @@ -1619,34 +1772,34 @@ msgstr "" "現在のコミットを完了してからマージを開始して下さい。そうする方がマージに失敗" "したときの回復が楽です。\n" -#: lib/merge.tcl:106 +#: lib/merge.tcl:107 #, tcl-format msgid "%s of %s" msgstr "%s の %s ブランチ" -#: lib/merge.tcl:119 +#: lib/merge.tcl:120 #, tcl-format msgid "Merging %s and %s..." msgstr "%s と %s をマージ中・・・" -#: lib/merge.tcl:130 +#: lib/merge.tcl:131 msgid "Merge completed successfully." msgstr "マージが完了しました" -#: lib/merge.tcl:132 +#: lib/merge.tcl:133 msgid "Merge failed. Conflict resolution is required." msgstr "マージが失敗しました。衝突の解決が必要です。" -#: lib/merge.tcl:157 +#: lib/merge.tcl:158 #, tcl-format msgid "Merge Into %s" msgstr "%s にマージ" -#: lib/merge.tcl:176 +#: lib/merge.tcl:177 msgid "Revision To Merge" msgstr "マージするリビジョン" -#: lib/merge.tcl:211 +#: lib/merge.tcl:212 msgid "" "Cannot abort while amending.\n" "\n" @@ -1656,7 +1809,7 @@ msgstr "" "\n" "まず今のコミット訂正を完了させて下さい。\n" -#: lib/merge.tcl:221 +#: lib/merge.tcl:222 msgid "" "Abort merge?\n" "\n" @@ -1670,7 +1823,7 @@ msgstr "" "\n" "マージを中断してよろしいですか?" -#: lib/merge.tcl:227 +#: lib/merge.tcl:228 msgid "" "Reset changes?\n" "\n" @@ -1684,131 +1837,323 @@ msgstr "" "\n" "リセットしてよろしいですか?" -#: lib/merge.tcl:238 +#: lib/merge.tcl:239 msgid "Aborting" msgstr "中断しています" -#: lib/merge.tcl:238 +#: lib/merge.tcl:239 msgid "files reset" msgstr "リセットしたファイル" -#: lib/merge.tcl:266 +#: lib/merge.tcl:267 msgid "Abort failed." msgstr "中断に失敗しました。" -#: lib/merge.tcl:268 +#: lib/merge.tcl:269 msgid "Abort completed. Ready." msgstr "中断完了。" -#: lib/option.tcl:95 +#: 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:99 +#: lib/option.tcl:121 msgid "Save" msgstr "保存" -#: lib/option.tcl:109 +#: lib/option.tcl:131 #, tcl-format msgid "%s Repository" msgstr "%s リポジトリ" -#: lib/option.tcl:110 +#: lib/option.tcl:132 msgid "Global (All Repositories)" msgstr "大域(全てのリポジトリ)" -#: lib/option.tcl:116 +#: lib/option.tcl:138 msgid "User Name" msgstr "ユーザ名" -#: lib/option.tcl:117 +#: lib/option.tcl:139 msgid "Email Address" msgstr "電子メールアドレス" -#: lib/option.tcl:119 +#: lib/option.tcl:141 msgid "Summarize Merge Commits" msgstr "マージコミットの要約" -#: lib/option.tcl:120 +#: lib/option.tcl:142 msgid "Merge Verbosity" msgstr "マージの冗長度" -#: lib/option.tcl:121 +#: lib/option.tcl:143 msgid "Show Diffstat After Merge" msgstr "マージ後に diffstat を表示" -#: lib/option.tcl:123 +#: lib/option.tcl:144 +msgid "Use Merge Tool" +msgstr "マージツールを使用" + +#: lib/option.tcl:146 msgid "Trust File Modification Timestamps" msgstr "ファイル変更時刻を信頼する" -#: lib/option.tcl:124 +#: lib/option.tcl:147 msgid "Prune Tracking Branches During Fetch" msgstr "フェッチ中にトラッキングブランチを刈る" -#: lib/option.tcl:125 +#: lib/option.tcl:148 msgid "Match Tracking Branches" msgstr "トラッキングブランチを合わせる" -#: lib/option.tcl:126 +#: lib/option.tcl:149 msgid "Blame Copy Only On Changed Files" msgstr "変更されたファイルのみコピー検知を行なう" -#: lib/option.tcl:127 +#: lib/option.tcl:150 msgid "Minimum Letters To Blame Copy On" msgstr "コピーを検知する最少文字数" -#: lib/option.tcl:128 +#: 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:129 +#: lib/option.tcl:153 msgid "Commit Message Text Width" msgstr "コミットメッセージのテキスト幅" -#: lib/option.tcl:130 +#: lib/option.tcl:154 msgid "New Branch Name Template" msgstr "新しいブランチ名のテンプレート" -#: lib/option.tcl:194 +#: 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:218 +#: lib/option.tcl:254 msgid "Change Font" msgstr "フォントを変更" -#: lib/option.tcl:222 +#: lib/option.tcl:258 #, tcl-format msgid "Choose %s" msgstr "%s を選択" -#: lib/option.tcl:228 +#: lib/option.tcl:264 msgid "pt." msgstr "ポイント" -#: lib/option.tcl:242 +#: lib/option.tcl:278 msgid "Preferences" msgstr "設定" -#: lib/option.tcl:277 +#: lib/option.tcl:314 msgid "Failed to completely save options:" msgstr "完全にオプションを保存できません:" -#: lib/remote.tcl:165 +#: lib/remote.tcl:163 +msgid "Remove Remote" +msgstr "リモートを削除" + +#: lib/remote.tcl:168 msgid "Prune from" msgstr "から刈込む…" -#: lib/remote.tcl:170 +#: lib/remote.tcl:173 msgid "Fetch from" msgstr "取得元" -#: lib/remote.tcl:213 +#: 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 Remote Branch" -msgstr "リモート・ブランチを削除" +msgid "Delete Branch Remotely" +msgstr "遠隔でブランチ削除" #: lib/remote_branch_delete.tcl:47 msgid "From Repository" @@ -1819,8 +2164,8 @@ msgid "Remote:" msgstr "リモート:" #: lib/remote_branch_delete.tcl:66 lib/transport.tcl:138 -msgid "Arbitrary URL:" -msgstr "任意の URL:" +msgid "Arbitrary Location:" +msgstr "任意の位置:" #: lib/remote_branch_delete.tcl:84 msgid "Branches" @@ -1890,6 +2235,22 @@ msgstr "リポジトリが選択されていません。" 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 "ショートカットが書けません:" @@ -1927,23 +2288,188 @@ msgstr "スペルチェッカーが判別できません" msgid "No Suggestions" msgstr "提案なし" -#: lib/spellcheck.tcl:387 +#: lib/spellcheck.tcl:388 msgid "Unexpected EOF from spell checker" msgstr "スペルチェッカーが予想外の EOF を返しました" -#: lib/spellcheck.tcl:391 +#: 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/transport.tcl:6 +#: lib/tools.tcl:75 #, tcl-format -msgid "fetch %s" -msgstr "%s を取得" +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 successfully: %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 @@ -1960,17 +2486,17 @@ msgstr "遠隔刈込 %s" msgid "Pruning tracking branches deleted from %s" msgstr "%s から削除されたトラッキング・ブランチを刈っています" -#: lib/transport.tcl:25 lib/transport.tcl:71 -#, tcl-format -msgid "push %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 をプッシュしています" diff --git a/git-gui/po/nb.po b/git-gui/po/nb.po new file mode 100644 index 0000000000..6de93c28c2 --- /dev/null +++ b/git-gui/po/nb.po @@ -0,0 +1,2474 @@ +# 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 <fredrik@frsk.net>, 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 <fredrik@frsk.net>\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: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 successfully: %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 --git a/git-gui/po/ru.po b/git-gui/po/ru.po index db55b3e0a6..0ffc4a418f 100644 --- a/git-gui/po/ru.po +++ b/git-gui/po/ru.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: git-gui\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-03-14 07:18+0100\n" +"POT-Creation-Date: 2008-12-08 08:31-0800\n" "PO-Revision-Date: 2007-10-22 22:30-0200\n" "Last-Translator: Alex Riesen <raa.lkml@gmail.com>\n" "Language-Team: Russian Translation <git@vger.kernel.org>\n" @@ -15,33 +15,33 @@ msgstr "" "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 +#: 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:593 +#: git-gui.sh:689 #, tcl-format msgid "Invalid font specified in %s:" msgstr "В %s установлен неверный шрифт:" -#: git-gui.sh:620 +#: git-gui.sh:723 msgid "Main Font" msgstr "Шрифт интерфейса" -#: git-gui.sh:621 +#: git-gui.sh:724 msgid "Diff/Console Font" msgstr "Шрифт консоли и изменений (diff)" -#: git-gui.sh:635 +#: git-gui.sh:738 msgid "Cannot find git in PATH." msgstr "git не найден в PATH." -#: git-gui.sh:662 +#: git-gui.sh:765 msgid "Cannot parse Git version string:" msgstr "Невозможно распознать строку версии Git: " -#: git-gui.sh:680 +#: git-gui.sh:783 #, tcl-format msgid "" "Git version cannot be determined.\n" @@ -53,384 +53,451 @@ msgid "" "Assume '%s' is version 1.5.0?\n" msgstr "" "Невозможно определить версию Git\n" +"\n" "%s указывает на версию '%s'.\n" "\n" "для %s требуется версия Git, начиная с 1.5.0\n" "\n" "Принять '%s' как версию 1.5.0?\n" -#: git-gui.sh:918 +#: git-gui.sh:1062 msgid "Git directory not found:" msgstr "Каталог Git не найден:" -#: git-gui.sh:925 +#: git-gui.sh:1069 msgid "Cannot move to top of working directory:" msgstr "Невозможно перейти к корню рабочего каталога репозитория: " -#: git-gui.sh:932 +#: git-gui.sh:1076 msgid "Cannot use funny .git directory:" -msgstr "Каталог.git испорчен: " +msgstr "Каталог .git испорчен: " -#: git-gui.sh:937 +#: git-gui.sh:1081 msgid "No working directory" msgstr "Отсутствует рабочий каталог" -#: git-gui.sh:1084 lib/checkout_op.tcl:283 +#: git-gui.sh:1247 lib/checkout_op.tcl:305 msgid "Refreshing file status..." msgstr "Обновление информации о состоянии файлов..." -#: git-gui.sh:1149 +#: git-gui.sh:1303 msgid "Scanning for modified files ..." msgstr "Поиск измененных файлов..." -#: git-gui.sh:1324 lib/browser.tcl:246 +#: 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:1590 +#: git-gui.sh:1819 msgid "Unmodified" msgstr "Не изменено" -#: git-gui.sh:1592 +#: git-gui.sh:1821 msgid "Modified, not staged" msgstr "Изменено, не подготовлено" -#: git-gui.sh:1593 git-gui.sh:1598 +#: git-gui.sh:1822 git-gui.sh:1830 msgid "Staged for commit" msgstr "Подготовлено для сохранения" -#: git-gui.sh:1594 git-gui.sh:1599 +#: git-gui.sh:1823 git-gui.sh:1831 msgid "Portions staged for commit" msgstr "Части, подготовленные для сохранения" -#: git-gui.sh:1595 git-gui.sh:1600 +#: git-gui.sh:1824 git-gui.sh:1832 msgid "Staged for commit, missing" msgstr "Подготовлено для сохранения, отсутствует" -#: git-gui.sh:1597 +#: 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:1602 +#: git-gui.sh:1834 msgid "Missing" msgstr "Отсутствует" -#: git-gui.sh:1603 +#: git-gui.sh:1835 msgid "Staged for removal" msgstr "Подготовлено для удаления" -#: git-gui.sh:1604 +#: git-gui.sh:1836 msgid "Staged for removal, still present" msgstr "Подготовлено для удаления, еще не удалено" -#: git-gui.sh:1606 git-gui.sh:1607 git-gui.sh:1608 git-gui.sh:1609 +#: 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 "Требуется разрешение конфликта при объединении" +msgstr "Требуется разрешение конфликта при слиянии" -#: git-gui.sh:1644 +#: git-gui.sh:1878 msgid "Starting gitk... please wait..." -msgstr "Запускается gitk... пожалуйста, ждите..." +msgstr "Запускается gitk... Подождите, пожалуйста..." -#: git-gui.sh:1653 -#, tcl-format -msgid "" -"Unable to start gitk:\n" -"\n" -"%s does not exist" -msgstr "" -"Не удалось запустить gitk:\n" -"\n" -"%s не существует" +#: git-gui.sh:1887 +msgid "Couldn't find gitk in PATH" +msgstr "gitk не найден в PATH." -#: git-gui.sh:1860 lib/choose_repository.tcl:36 +#: git-gui.sh:2280 lib/choose_repository.tcl:36 msgid "Repository" msgstr "Репозиторий" -#: git-gui.sh:1861 +#: git-gui.sh:2281 msgid "Edit" msgstr "Редактировать" -#: git-gui.sh:1863 lib/choose_rev.tcl:561 +#: git-gui.sh:2283 lib/choose_rev.tcl:561 msgid "Branch" msgstr "Ветвь" -#: git-gui.sh:1866 lib/choose_rev.tcl:548 +#: git-gui.sh:2286 lib/choose_rev.tcl:548 msgid "Commit@@noun" msgstr "Состояние" -#: git-gui.sh:1869 lib/merge.tcl:120 lib/merge.tcl:149 lib/merge.tcl:167 +#: git-gui.sh:2289 lib/merge.tcl:121 lib/merge.tcl:150 lib/merge.tcl:168 msgid "Merge" -msgstr "Объединить" +msgstr "Слияние" -#: git-gui.sh:1870 lib/choose_rev.tcl:557 +#: git-gui.sh:2290 lib/choose_rev.tcl:557 msgid "Remote" msgstr "Внешние репозитории" -#: git-gui.sh:1879 +#: 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:1883 +#: git-gui.sh:2311 msgid "Browse Branch Files..." msgstr "Показать файлы ветви..." -#: git-gui.sh:1888 +#: git-gui.sh:2316 msgid "Visualize Current Branch's History" -msgstr "История текущей ветви наглядно" +msgstr "Показать историю текущей ветви" -#: git-gui.sh:1892 +#: git-gui.sh:2320 msgid "Visualize All Branch History" -msgstr "История всех ветвей наглядно" +msgstr "Показать историю всех ветвей" -#: git-gui.sh:1899 +#: git-gui.sh:2327 #, tcl-format msgid "Browse %s's Files" msgstr "Показать файлы ветви %s" -#: git-gui.sh:1901 +#: git-gui.sh:2329 #, tcl-format msgid "Visualize %s's History" -msgstr "История ветви %s наглядно" +msgstr "Показать историю ветви %s" -#: git-gui.sh:1906 lib/database.tcl:27 lib/database.tcl:67 +#: git-gui.sh:2334 lib/database.tcl:27 lib/database.tcl:67 msgid "Database Statistics" msgstr "Статистика базы данных" -#: git-gui.sh:1909 lib/database.tcl:34 +#: git-gui.sh:2337 lib/database.tcl:34 msgid "Compress Database" msgstr "Сжать базу данных" -#: git-gui.sh:1912 +#: git-gui.sh:2340 msgid "Verify Database" msgstr "Проверить базу данных" -#: git-gui.sh:1919 git-gui.sh:1923 git-gui.sh:1927 lib/shortcut.tcl:7 +#: 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:1932 lib/choose_repository.tcl:177 lib/choose_repository.tcl:185 +#: git-gui.sh:2363 lib/choose_repository.tcl:183 lib/choose_repository.tcl:191 msgid "Quit" msgstr "Выход" -#: git-gui.sh:1939 +#: git-gui.sh:2371 msgid "Undo" msgstr "Отменить" -#: git-gui.sh:1942 +#: git-gui.sh:2374 msgid "Redo" msgstr "Повторить" -#: git-gui.sh:1946 git-gui.sh:2443 +#: git-gui.sh:2378 git-gui.sh:2937 msgid "Cut" msgstr "Вырезать" -#: git-gui.sh:1949 git-gui.sh:2446 git-gui.sh:2520 git-gui.sh:2614 +#: 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:1952 git-gui.sh:2449 +#: git-gui.sh:2384 git-gui.sh:2943 msgid "Paste" msgstr "Вставить" -#: git-gui.sh:1955 git-gui.sh:2452 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:1959 git-gui.sh:2456 git-gui.sh:2618 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:1968 +#: git-gui.sh:2400 msgid "Create..." msgstr "Создать..." -#: git-gui.sh:1974 +#: git-gui.sh:2406 msgid "Checkout..." msgstr "Перейти..." -#: git-gui.sh:1980 +#: git-gui.sh:2412 msgid "Rename..." msgstr "Переименовать..." -#: git-gui.sh:1985 git-gui.sh:2085 +#: git-gui.sh:2417 msgid "Delete..." msgstr "Удалить..." -#: git-gui.sh:1990 +#: git-gui.sh:2422 msgid "Reset..." msgstr "Сбросить..." -#: git-gui.sh:2002 git-gui.sh:2389 +#: git-gui.sh:2432 +msgid "Done" +msgstr "Завершено" + +#: git-gui.sh:2434 +msgid "Commit@@verb" +msgstr "Сохранить" + +#: git-gui.sh:2443 git-gui.sh:2878 msgid "New Commit" msgstr "Новое состояние" -#: git-gui.sh:2010 git-gui.sh:2396 +#: git-gui.sh:2451 git-gui.sh:2885 msgid "Amend Last Commit" msgstr "Исправить последнее состояние" -#: git-gui.sh:2019 git-gui.sh:2356 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:2025 +#: git-gui.sh:2467 msgid "Stage To Commit" msgstr "Подготовить для сохранения" -#: git-gui.sh:2031 +#: git-gui.sh:2473 msgid "Stage Changed Files To Commit" msgstr "Подготовить измененные файлы для сохранения" -#: git-gui.sh:2037 +#: git-gui.sh:2479 msgid "Unstage From Commit" msgstr "Убрать из подготовленного" -#: git-gui.sh:2042 lib/index.tcl:395 +#: git-gui.sh:2484 lib/index.tcl:410 msgid "Revert Changes" msgstr "Отменить изменения" -#: git-gui.sh:2049 git-gui.sh:2368 git-gui.sh:2467 -msgid "Sign Off" -msgstr "Подписать" +#: git-gui.sh:2491 git-gui.sh:3083 +msgid "Show Less Context" +msgstr "Меньше контекста" -#: git-gui.sh:2053 git-gui.sh:2372 -msgid "Commit@@verb" -msgstr "Сохранить" +#: git-gui.sh:2495 git-gui.sh:3087 +msgid "Show More Context" +msgstr "Больше контекста" + +#: git-gui.sh:2502 git-gui.sh:2852 git-gui.sh:2961 +msgid "Sign Off" +msgstr "Вставить Signed-off-by" -#: git-gui.sh:2064 +#: git-gui.sh:2518 msgid "Local Merge..." -msgstr "Локальное объединение..." +msgstr "Локальное слияние..." -#: git-gui.sh:2069 +#: git-gui.sh:2523 msgid "Abort Merge..." -msgstr "Прервать объединение..." +msgstr "Прервать слияние..." + +#: git-gui.sh:2535 git-gui.sh:2575 +msgid "Add..." +msgstr "Добавить..." -#: git-gui.sh:2081 +#: git-gui.sh:2539 msgid "Push..." msgstr "Отправить..." -#: git-gui.sh:2092 lib/choose_repository.tcl:41 -msgid "Apple" -msgstr "" +#: git-gui.sh:2543 +msgid "Delete Branch..." +msgstr "Удалить ветвь..." -#: git-gui.sh:2095 git-gui.sh:2117 lib/about.tcl:14 -#: lib/choose_repository.tcl:44 lib/choose_repository.tcl:50 +#: 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:2099 +#: git-gui.sh:2557 msgid "Preferences..." msgstr "Настройки..." -#: git-gui.sh:2107 git-gui.sh:2639 +#: git-gui.sh:2565 git-gui.sh:3129 msgid "Options..." msgstr "Настройки..." -#: git-gui.sh:2113 lib/choose_repository.tcl:47 +#: git-gui.sh:2576 +msgid "Remove..." +msgstr "Удалить..." + +#: git-gui.sh:2585 lib/choose_repository.tcl:50 msgid "Help" msgstr "Помощь" -#: git-gui.sh:2154 +#: git-gui.sh:2611 msgid "Online Documentation" msgstr "Документация в интернете" -#: git-gui.sh:2238 +#: git-gui.sh:2614 lib/choose_repository.tcl:47 lib/choose_repository.tcl:56 +msgid "Show SSH Key" +msgstr "Показать ключ SSH" + +#: git-gui.sh:2721 #, tcl-format msgid "fatal: cannot stat path %s: No such file or directory" msgstr "критическая ошибка: %s: нет такого файла или каталога" -#: git-gui.sh:2271 +#: git-gui.sh:2754 msgid "Current Branch:" msgstr "Текущая ветвь:" -#: git-gui.sh:2292 +#: git-gui.sh:2775 msgid "Staged Changes (Will Commit)" msgstr "Подготовлено (будет сохранено)" -#: git-gui.sh:2312 +#: git-gui.sh:2795 msgid "Unstaged Changes" msgstr "Изменено (не будет сохранено)" -#: git-gui.sh:2362 +#: git-gui.sh:2845 msgid "Stage Changed" msgstr "Подготовить все" -#: git-gui.sh:2378 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:2408 +#: git-gui.sh:2899 msgid "Initial Commit Message:" msgstr "Комментарий к первому состоянию:" -#: git-gui.sh:2409 +#: git-gui.sh:2900 msgid "Amended Commit Message:" msgstr "Комментарий к исправленному состоянию:" -#: git-gui.sh:2410 +#: git-gui.sh:2901 msgid "Amended Initial Commit Message:" msgstr "Комментарий к исправленному первоначальному состоянию:" -#: git-gui.sh:2411 +#: git-gui.sh:2902 msgid "Amended Merge Commit Message:" -msgstr "Комментарий к исправленному объединению:" +msgstr "Комментарий к исправленному слиянию:" -#: git-gui.sh:2412 +#: git-gui.sh:2903 msgid "Merge Commit Message:" -msgstr "Комментарий к объединению:" +msgstr "Комментарий к слиянию:" -#: git-gui.sh:2413 +#: git-gui.sh:2904 msgid "Commit Message:" msgstr "Комментарий к состоянию:" -#: git-gui.sh:2459 git-gui.sh:2622 lib/console.tcl:73 +#: git-gui.sh:2953 git-gui.sh:3104 lib/console.tcl:73 msgid "Copy All" msgstr "Копировать все" -#: git-gui.sh:2483 lib/blame.tcl:107 +#: git-gui.sh:2977 lib/blame.tcl:104 msgid "File:" msgstr "Файл:" -#: git-gui.sh:2589 -msgid "Apply/Reverse Hunk" -msgstr "Применить/Убрать изменение" - -#: git-gui.sh:2595 -msgid "Show Less Context" -msgstr "Меньше контекста" - -#: git-gui.sh:2602 -msgid "Show More Context" -msgstr "Больше контекста" - -#: git-gui.sh:2610 +#: git-gui.sh:3092 msgid "Refresh" msgstr "Обновить" -#: git-gui.sh:2631 +#: git-gui.sh:3113 msgid "Decrease Font Size" msgstr "Уменьшить размер шрифта" -#: git-gui.sh:2635 +#: git-gui.sh:3117 msgid "Increase Font Size" msgstr "Увеличить размер шрифта" -#: git-gui.sh:2646 +#: git-gui.sh:3125 lib/blame.tcl:281 +msgid "Encoding" +msgstr "Кодировка" + +#: git-gui.sh:3136 +msgid "Apply/Reverse Hunk" +msgstr "Применить/Убрать изменение" + +#: git-gui.sh:3141 +msgid "Apply/Reverse Line" +msgstr "Применить/Убрать строку" + +#: git-gui.sh:3151 +msgid "Run Merge Tool" +msgstr "Запустить программу слияния" + +#: git-gui.sh:3156 +msgid "Use Remote Version" +msgstr "Взять внешнюю версию" + +#: git-gui.sh:3160 +msgid "Use Local Version" +msgstr "Взять локальную версию" + +#: git-gui.sh:3164 +msgid "Revert To Base" +msgstr "Отменить изменения" + +#: git-gui.sh:3183 msgid "Unstage Hunk From Commit" msgstr "Не сохранять часть" -#: git-gui.sh:2648 +#: git-gui.sh:3184 +msgid "Unstage Line From Commit" +msgstr "Убрать строку из подготовленного" + +#: git-gui.sh:3186 msgid "Stage Hunk For Commit" msgstr "Подготовить часть для сохранения" -#: git-gui.sh:2667 +#: git-gui.sh:3187 +msgid "Stage Line For Commit" +msgstr "Подготовить строку для сохранения" + +#: git-gui.sh:3210 msgid "Initializing..." msgstr "Инициализация..." -#: git-gui.sh:2762 +#: git-gui.sh:3315 #, tcl-format msgid "" "Possible environment issues exist.\n" @@ -447,7 +514,7 @@ msgstr "" "запущенными из %s\n" "\n" -#: git-gui.sh:2792 +#: git-gui.sh:3345 msgid "" "\n" "This is due to a known issue with the\n" @@ -457,7 +524,7 @@ msgstr "" "Это известная проблема с Tcl,\n" "распространяемым Cygwin." -#: git-gui.sh:2797 +#: git-gui.sh:3350 #, tcl-format msgid "" "\n" @@ -478,64 +545,108 @@ msgstr "" msgid "git-gui - a graphical user interface for Git." msgstr "git-gui - графический пользовательский интерфейс к Git." -#: lib/blame.tcl:77 +#: lib/blame.tcl:72 msgid "File Viewer" msgstr "Просмотр файла" -#: lib/blame.tcl:81 +#: lib/blame.tcl:78 msgid "Commit:" msgstr "Сохраненное состояние:" -#: lib/blame.tcl:264 +#: lib/blame.tcl:271 msgid "Copy Commit" msgstr "Скопировать SHA-1" -#: lib/blame.tcl:384 +#: 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:488 +#: lib/blame.tcl:557 msgid "Loading copy/move tracking annotations..." msgstr "Загрузка аннотации копирований/переименований..." -#: lib/blame.tcl:508 +#: lib/blame.tcl:577 msgid "lines annotated" msgstr "строк прокомментировано" -#: lib/blame.tcl:689 +#: lib/blame.tcl:769 msgid "Loading original location annotations..." msgstr "Загрузка аннотаций первоначального положения объекта..." -#: lib/blame.tcl:692 +#: lib/blame.tcl:772 msgid "Annotation complete." msgstr "Аннотация завершена." -#: lib/blame.tcl:746 +#: 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:802 +#: lib/blame.tcl:963 msgid "Author:" msgstr "Автор:" -#: lib/blame.tcl:806 +#: lib/blame.tcl:967 msgid "Committer:" msgstr "Сохранил:" -#: lib/blame.tcl:811 +#: lib/blame.tcl:972 msgid "Original File:" msgstr "Исходный файл:" -#: lib/blame.tcl:925 +#: lib/blame.tcl:1020 +msgid "Cannot find HEAD commit:" +msgstr "Невозможно найти текущее состояние:" + +#: lib/blame.tcl:1075 +msgid "Cannot find parent commit:" +msgstr "Невозможно найти состояние предка:" + +#: lib/blame.tcl:1090 +msgid "Unable to display parent" +msgstr "Не могу показать предка" + +#: lib/blame.tcl:1091 lib/diff.tcl:297 +msgid "Error loading diff:" +msgstr "Ошибка загрузки изменений:" + +#: lib/blame.tcl:1231 msgid "Originally By:" msgstr "Источник:" -#: lib/blame.tcl:931 +#: lib/blame.tcl:1237 msgid "In File:" msgstr "Файл:" -#: lib/blame.tcl:936 +#: lib/blame.tcl:1242 msgid "Copied Or Moved Here By:" msgstr "Скопировано/перемещено в:" @@ -549,16 +660,18 @@ 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:522 lib/choose_font.tcl:43 lib/merge.tcl:171 -#: lib/option.tcl:103 lib/remote_branch_delete.tcl:42 lib/transport.tcl:97 +#: 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:108 msgid "Cancel" -msgstr "Отменить" +msgstr "Отмена" -#: lib/branch_checkout.tcl:32 lib/browser.tcl:287 +#: 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:242 +#: lib/branch_checkout.tcl:36 lib/branch_create.tcl:69 lib/option.tcl:280 msgid "Options" msgstr "Настройки" @@ -578,7 +691,7 @@ msgstr "Создание ветви" msgid "Create New Branch" msgstr "Создать новую ветвь" -#: lib/branch_create.tcl:31 lib/choose_repository.tcl:371 +#: lib/branch_create.tcl:31 lib/choose_repository.tcl:377 msgid "Create" msgstr "Создать" @@ -586,7 +699,7 @@ msgstr "Создать" msgid "Branch Name" msgstr "Название ветви" -#: lib/branch_create.tcl:43 +#: lib/branch_create.tcl:43 lib/remote_add.tcl:39 lib/tools_dlg.tcl:50 msgid "Name:" msgstr "Название:" @@ -610,7 +723,7 @@ msgstr "Нет" msgid "Fast Forward Only" msgstr "Только Fast Forward" -#: lib/branch_create.tcl:85 lib/checkout_op.tcl:514 +#: lib/branch_create.tcl:85 lib/checkout_op.tcl:536 msgid "Reset" msgstr "Сброс" @@ -650,26 +763,16 @@ msgstr "Локальные ветви" #: lib/branch_delete.tcl:52 msgid "Delete Only If Merged Into" -msgstr "Удалить только в случае, если было объединение с" +msgstr "Удалить только в случае, если было слияние с" #: lib/branch_delete.tcl:54 msgid "Always (Do not perform merge test.)" -msgstr "Всегда (не выполнять проверку на объединение)" +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" -" Удалить выбранные ветви?" +msgstr "Ветви, которые не полностью сливаются с %s:" #: lib/branch_delete.tcl:141 #, tcl-format @@ -700,7 +803,7 @@ msgstr "Новое название:" msgid "Please select a branch to rename." msgstr "Укажите ветвь для переименования." -#: lib/branch_rename.tcl:96 lib/checkout_op.tcl:179 +#: lib/branch_rename.tcl:96 lib/checkout_op.tcl:201 #, tcl-format msgid "Branch '%s' already exists." msgstr "Ветвь '%s' уже существует." @@ -731,32 +834,38 @@ msgstr "[На уровень выше]" msgid "Browse Branch Files" msgstr "Показать файлы ветви" -#: lib/browser.tcl:278 lib/choose_repository.tcl:387 -#: lib/choose_repository.tcl:474 lib/choose_repository.tcl:484 -#: lib/choose_repository.tcl:987 +#: 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:79 +#: lib/checkout_op.tcl:84 #, tcl-format msgid "Fetching %s from %s" msgstr "Получение %s из %s " -#: lib/checkout_op.tcl:127 +#: lib/checkout_op.tcl:132 #, tcl-format msgid "fatal: Cannot resolve %s" msgstr "критическая ошибка: невозможно разрешить %s" -#: lib/checkout_op.tcl:140 lib/console.tcl:81 lib/database.tcl:31 +#: lib/checkout_op.tcl:145 lib/console.tcl:81 lib/database.tcl:31 +#: lib/sshkey.tcl:53 msgid "Close" msgstr "Закрыть" -#: lib/checkout_op.tcl:169 +#: lib/checkout_op.tcl:174 #, tcl-format msgid "Branch '%s' does not exist." msgstr "Ветвь '%s' не существует " -#: lib/checkout_op.tcl:206 +#: lib/checkout_op.tcl:193 +#, tcl-format +msgid "Failed to configure simplified git-pull for '%s'." +msgstr "Ошибка создания упрощённой конфигурации git pull для '%s'." + +#: lib/checkout_op.tcl:228 #, tcl-format msgid "" "Branch '%s' already exists.\n" @@ -767,23 +876,23 @@ msgstr "" "Ветвь '%s' уже существует.\n" "\n" "Она не может быть прокручена(fast-forward) к %s.\n" -"Требуется объединение." +"Требуется слияние." -#: lib/checkout_op.tcl:220 +#: lib/checkout_op.tcl:242 #, tcl-format msgid "Merge strategy '%s' not supported." -msgstr "Стратегия объединения '%s' не поддерживается." +msgstr "Неизвестная стратегия слияния: '%s'." -#: lib/checkout_op.tcl:239 +#: lib/checkout_op.tcl:261 #, tcl-format msgid "Failed to update '%s'." msgstr "Не удалось обновить '%s'." -#: lib/checkout_op.tcl:251 +#: lib/checkout_op.tcl:273 msgid "Staging area (index) is already locked." msgstr "Рабочая область заблокирована другим процессом." -#: lib/checkout_op.tcl:266 +#: lib/checkout_op.tcl:288 msgid "" "Last scanned state does not match repository state.\n" "\n" @@ -799,30 +908,30 @@ msgstr "" "\n" "Это будет сделано сейчас автоматически.\n" -#: lib/checkout_op.tcl:322 +#: lib/checkout_op.tcl:344 #, tcl-format msgid "Updating working directory to '%s'..." msgstr "Обновление рабочего каталога из '%s'..." -#: lib/checkout_op.tcl:323 +#: lib/checkout_op.tcl:345 msgid "files checked out" msgstr "файлы извлечены" -#: lib/checkout_op.tcl:353 +#: lib/checkout_op.tcl:375 #, tcl-format msgid "Aborted checkout of '%s' (file level merging is required)." -msgstr "Прерван переход на '%s' (требуется объединение на уровне файлов)" +msgstr "Прерван переход на '%s' (требуется слияние содержания файлов)" -#: lib/checkout_op.tcl:354 +#: lib/checkout_op.tcl:376 msgid "File level merge required." -msgstr "Требуется объединение на уровне файлов." +msgstr "Требуется слияние содержания файлов." -#: lib/checkout_op.tcl:358 +#: lib/checkout_op.tcl:380 #, tcl-format msgid "Staying on branch '%s'." msgstr "Ветвь '%s' остается текущей." -#: lib/checkout_op.tcl:429 +#: lib/checkout_op.tcl:451 msgid "" "You are no longer on a local branch.\n" "\n" @@ -834,30 +943,30 @@ msgstr "" "Если вы хотите снова вернуться к какой-нибудь ветви, создайте ее сейчас, " "начиная с 'Текущего отсоединенного состояния'." -#: lib/checkout_op.tcl:446 lib/checkout_op.tcl:450 +#: lib/checkout_op.tcl:468 lib/checkout_op.tcl:472 #, tcl-format msgid "Checked out '%s'." msgstr "Ветвь '%s' сделана текущей." -#: lib/checkout_op.tcl:478 +#: lib/checkout_op.tcl:500 #, tcl-format msgid "Resetting '%s' to '%s' will lose the following commits:" msgstr "Сброс '%s' в '%s' приведет к потере следующих сохраненных состояний: " -#: lib/checkout_op.tcl:500 +#: lib/checkout_op.tcl:522 msgid "Recovering lost commits may not be easy." msgstr "Восстановить потерянные сохраненные состояния будет сложно." -#: lib/checkout_op.tcl:505 +#: lib/checkout_op.tcl:527 #, tcl-format msgid "Reset '%s'?" msgstr "Сбросить '%s'?" -#: lib/checkout_op.tcl:510 lib/merge.tcl:163 +#: lib/checkout_op.tcl:532 lib/merge.tcl:164 lib/tools_dlg.tcl:343 msgid "Visualize" msgstr "Наглядно" -#: lib/checkout_op.tcl:578 +#: lib/checkout_op.tcl:600 #, tcl-format msgid "" "Failed to set current branch.\n" @@ -900,224 +1009,228 @@ msgstr "" #: lib/choose_repository.tcl:28 msgid "Git Gui" -msgstr "" +msgstr "Git Gui" -#: lib/choose_repository.tcl:81 lib/choose_repository.tcl:376 +#: lib/choose_repository.tcl:87 lib/choose_repository.tcl:382 msgid "Create New Repository" msgstr "Создать новый репозиторий" -#: lib/choose_repository.tcl:87 +#: lib/choose_repository.tcl:93 msgid "New..." msgstr "Новый..." -#: lib/choose_repository.tcl:94 lib/choose_repository.tcl:460 +#: lib/choose_repository.tcl:100 lib/choose_repository.tcl:465 msgid "Clone Existing Repository" msgstr "Склонировать существующий репозиторий" -#: lib/choose_repository.tcl:100 +#: lib/choose_repository.tcl:106 msgid "Clone..." msgstr "Склонировать..." -#: lib/choose_repository.tcl:107 lib/choose_repository.tcl:976 +#: lib/choose_repository.tcl:113 lib/choose_repository.tcl:983 msgid "Open Existing Repository" msgstr "Выбрать существующий репозиторий" -#: lib/choose_repository.tcl:113 +#: lib/choose_repository.tcl:119 msgid "Open..." msgstr "Открыть..." -#: lib/choose_repository.tcl:126 +#: lib/choose_repository.tcl:132 msgid "Recent Repositories" msgstr "Недавние репозитории" -#: lib/choose_repository.tcl:132 +#: lib/choose_repository.tcl:138 msgid "Open Recent Repository:" msgstr "Открыть последний репозиторий" -#: lib/choose_repository.tcl:296 lib/choose_repository.tcl:303 -#: lib/choose_repository.tcl:310 +#: 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:381 lib/choose_repository.tcl:478 +#: lib/choose_repository.tcl:387 msgid "Directory:" msgstr "Каталог:" -#: lib/choose_repository.tcl:412 lib/choose_repository.tcl:537 -#: lib/choose_repository.tcl:1011 +#: lib/choose_repository.tcl:417 lib/choose_repository.tcl:544 +#: lib/choose_repository.tcl:1017 msgid "Git Repository" msgstr "Репозиторий" -#: lib/choose_repository.tcl:437 +#: lib/choose_repository.tcl:442 #, tcl-format msgid "Directory %s already exists." msgstr "Каталог '%s' уже существует." -#: lib/choose_repository.tcl:441 +#: lib/choose_repository.tcl:446 #, tcl-format msgid "File %s already exists." msgstr "Файл '%s' уже существует." -#: lib/choose_repository.tcl:455 +#: lib/choose_repository.tcl:460 msgid "Clone" msgstr "Склонировать" -#: lib/choose_repository.tcl:468 -msgid "URL:" -msgstr "Ссылка:" +#: lib/choose_repository.tcl:473 +msgid "Source Location:" +msgstr "Исходное положение:" + +#: lib/choose_repository.tcl:484 +msgid "Target Directory:" +msgstr "Каталог назначения:" -#: lib/choose_repository.tcl:489 +#: lib/choose_repository.tcl:496 msgid "Clone Type:" msgstr "Тип клона:" -#: lib/choose_repository.tcl:495 +#: lib/choose_repository.tcl:502 msgid "Standard (Fast, Semi-Redundant, Hardlinks)" msgstr "Стандартный (Быстрый, полуизбыточный, \"жесткие\" ссылки)" -#: lib/choose_repository.tcl:501 +#: lib/choose_repository.tcl:508 msgid "Full Copy (Slower, Redundant Backup)" msgstr "Полная копия (Медленный, создает резервную копию)" -#: lib/choose_repository.tcl:507 +#: lib/choose_repository.tcl:514 msgid "Shared (Fastest, Not Recommended, No Backup)" msgstr "Общий (Самый быстрый, не рекомендуется, без резервной копии)" -#: 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 +#: 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" -#: lib/choose_repository.tcl:579 +#: lib/choose_repository.tcl:586 msgid "Standard only available for local repository." msgstr "Стандартный клон возможен только для локального репозитория." -#: lib/choose_repository.tcl:583 +#: lib/choose_repository.tcl:590 msgid "Shared only available for local repository." msgstr "Общий клон возможен только для локального репозитория." -#: lib/choose_repository.tcl:604 +#: lib/choose_repository.tcl:611 #, tcl-format msgid "Location %s already exists." msgstr "Путь '%s' уже существует." -#: lib/choose_repository.tcl:615 +#: lib/choose_repository.tcl:622 msgid "Failed to configure origin" msgstr "Не могу сконфигурировать исходный репозиторий." -#: lib/choose_repository.tcl:627 +#: lib/choose_repository.tcl:634 msgid "Counting objects" msgstr "Считаю объекты" -#: lib/choose_repository.tcl:628 +#: lib/choose_repository.tcl:635 msgid "buckets" msgstr "" -#: lib/choose_repository.tcl:652 +#: lib/choose_repository.tcl:659 #, tcl-format msgid "Unable to copy objects/info/alternates: %s" msgstr "Не могу скопировать objects/info/alternates: %s" -#: lib/choose_repository.tcl:688 +#: lib/choose_repository.tcl:695 #, tcl-format msgid "Nothing to clone from %s." msgstr "Нечего клонировать с %s." -#: lib/choose_repository.tcl:690 lib/choose_repository.tcl:904 -#: lib/choose_repository.tcl:916 +#: 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:703 +#: lib/choose_repository.tcl:710 msgid "Hardlinks are unavailable. Falling back to copying." -msgstr "\"Жесткие ссылки\" не доступны. Буду использовать копирование." +msgstr "\"Жесткие ссылки\" недоступны. Будет использовано копирование." -#: lib/choose_repository.tcl:715 +#: lib/choose_repository.tcl:722 #, tcl-format msgid "Cloning from %s" msgstr "Клонирование %s" -#: lib/choose_repository.tcl:746 +#: lib/choose_repository.tcl:753 msgid "Copying objects" msgstr "Копирование objects" -#: lib/choose_repository.tcl:747 +#: lib/choose_repository.tcl:754 msgid "KiB" msgstr "КБ" -#: lib/choose_repository.tcl:771 +#: lib/choose_repository.tcl:778 #, tcl-format msgid "Unable to copy object: %s" msgstr "Не могу скопировать объект: %s" -#: lib/choose_repository.tcl:781 +#: lib/choose_repository.tcl:788 msgid "Linking objects" msgstr "Создание ссылок на objects" -#: lib/choose_repository.tcl:782 +#: lib/choose_repository.tcl:789 msgid "objects" msgstr "объекты" -#: lib/choose_repository.tcl:790 +#: lib/choose_repository.tcl:797 #, tcl-format msgid "Unable to hardlink object: %s" msgstr "Не могу \"жестко связать\" объект: %s" -#: lib/choose_repository.tcl:845 +#: lib/choose_repository.tcl:852 msgid "Cannot fetch branches and objects. See console output for details." msgstr "" "Не могу получить ветви и объекты. Дополнительная информация на консоли." -#: lib/choose_repository.tcl:856 +#: lib/choose_repository.tcl:863 msgid "Cannot fetch tags. See console output for details." msgstr "Не могу получить метки. Дополнительная информация на консоли." -#: lib/choose_repository.tcl:880 +#: lib/choose_repository.tcl:887 msgid "Cannot determine HEAD. See console output for details." msgstr "Не могу определить HEAD. Дополнительная информация на консоли." -#: lib/choose_repository.tcl:889 +#: lib/choose_repository.tcl:896 #, tcl-format msgid "Unable to cleanup %s" msgstr "Не могу очистить %s" -#: lib/choose_repository.tcl:895 +#: lib/choose_repository.tcl:902 msgid "Clone failed." msgstr "Клонирование не удалось." -#: lib/choose_repository.tcl:902 +#: lib/choose_repository.tcl:909 msgid "No default branch obtained." msgstr "Не было получено ветви по умолчанию." -#: lib/choose_repository.tcl:913 +#: lib/choose_repository.tcl:920 #, tcl-format msgid "Cannot resolve %s as a commit." msgstr "Не могу распознать %s как состояние." -#: lib/choose_repository.tcl:925 +#: lib/choose_repository.tcl:932 msgid "Creating working directory" msgstr "Создаю рабочий каталог" -#: lib/choose_repository.tcl:926 lib/index.tcl:65 lib/index.tcl:127 -#: lib/index.tcl:193 +#: lib/choose_repository.tcl:933 lib/index.tcl:65 lib/index.tcl:128 +#: lib/index.tcl:196 msgid "files" msgstr "файлов" -#: lib/choose_repository.tcl:955 +#: lib/choose_repository.tcl:962 msgid "Initial file checkout failed." msgstr "Не удалось получить начальное состояние файлов репозитория." -#: lib/choose_repository.tcl:971 +#: lib/choose_repository.tcl:978 msgid "Open" msgstr "Открыть" -#: lib/choose_repository.tcl:981 +#: lib/choose_repository.tcl:988 msgid "Repository:" msgstr "Репозиторий:" -#: lib/choose_repository.tcl:1031 +#: lib/choose_repository.tcl:1037 #, tcl-format msgid "Failed to open repository %s:" msgstr "Не удалось открыть репозиторий %s:" @@ -1140,7 +1253,7 @@ msgstr "Ветвь слежения" #: lib/choose_rev.tcl:84 lib/choose_rev.tcl:538 msgid "Tag" -msgstr "Таг" +msgstr "Метка" #: lib/choose_rev.tcl:317 #, tcl-format @@ -1182,24 +1295,24 @@ msgid "" "completed. You cannot amend the prior commit unless you first abort the " "current merge activity.\n" msgstr "" -"Невозможно исправить состояние во время объединения.\n" +"Невозможно исправить состояние во время операции слияния.\n" "\n" -"Текущее объединение не завершено. Невозможно исправить предыдущее " -"сохраненное состояние не прерывая текущее объединение.\n" +"Текущее слияние не завершено. Невозможно исправить предыдущее " +"сохраненное состояние, не прерывая эту операцию.\n" -#: 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 "Неверный GIT_COMMITTER_IDENT:" -#: lib/commit.tcl:133 +#: lib/commit.tcl:132 msgid "" "Last scanned state does not match repository state.\n" "\n" @@ -1215,7 +1328,7 @@ msgstr "" "\n" "Это будет сделано сейчас автоматически.\n" -#: lib/commit.tcl:154 +#: lib/commit.tcl:155 #, tcl-format msgid "" "Unmerged files cannot be committed.\n" @@ -1223,12 +1336,12 @@ msgid "" "File %s has merge conflicts. You must resolve them and stage the file " "before committing.\n" msgstr "" -"Нельзя сохранить необъединенные файлы.\n" +"Нельзя сохранить файлы с незавершённой операцей слияния.\n" "\n" -"Для файла %s возник конфликт объединения. Разрешите конфликт и добавьте к " +"Для файла %s возник конфликт слияния. Разрешите конфликт и добавьте к " "подготовленным файлам перед сохранением.\n" -#: lib/commit.tcl:162 +#: lib/commit.tcl:163 #, tcl-format msgid "" "Unknown file state %s detected.\n" @@ -1239,7 +1352,7 @@ msgstr "" "\n" "Файл %s не может быть сохранен данной программой.\n" -#: lib/commit.tcl:170 +#: lib/commit.tcl:171 msgid "" "No changes to commit.\n" "\n" @@ -1249,7 +1362,7 @@ msgstr "" "\n" "Подготовьте хотя бы один файл до создания сохраненного состояния.\n" -#: lib/commit.tcl:183 +#: lib/commit.tcl:186 msgid "" "Please supply a commit message.\n" "\n" @@ -1267,45 +1380,45 @@ msgstr "" "- вторая строка пустая\n" "- оставшиеся строки: опишите, что дают ваши изменения.\n" -#: lib/commit.tcl:207 +#: lib/commit.tcl:210 #, tcl-format msgid "warning: Tcl does not support encoding '%s'." msgstr "предупреждение: Tcl не поддерживает кодировку '%s'." -#: lib/commit.tcl:221 +#: lib/commit.tcl:226 msgid "Calling pre-commit hook..." msgstr "Вызов программы поддержки репозитория pre-commit..." -#: lib/commit.tcl:236 +#: lib/commit.tcl:241 msgid "Commit declined by pre-commit hook." msgstr "Сохранение прервано программой поддержки репозитория pre-commit" -#: lib/commit.tcl:259 +#: lib/commit.tcl:264 msgid "Calling commit-msg hook..." msgstr "Вызов программы поддержки репозитория commit-msg..." -#: lib/commit.tcl:274 +#: lib/commit.tcl:279 msgid "Commit declined by commit-msg hook." msgstr "Сохранение прервано программой поддержки репозитория commit-msg" -#: lib/commit.tcl:287 +#: lib/commit.tcl:292 msgid "Committing changes..." msgstr "Сохранение изменений..." -#: lib/commit.tcl:303 +#: lib/commit.tcl:308 msgid "write-tree failed:" msgstr "Программа write-tree завершилась с ошибкой:" -#: lib/commit.tcl:304 lib/commit.tcl:348 lib/commit.tcl:368 +#: lib/commit.tcl:309 lib/commit.tcl:353 lib/commit.tcl:373 msgid "Commit failed." msgstr "Сохранить состояние не удалось." -#: lib/commit.tcl:321 +#: lib/commit.tcl:326 #, tcl-format msgid "Commit %s appears to be corrupt" msgstr "Состояние %s выглядит поврежденным" -#: lib/commit.tcl:326 +#: lib/commit.tcl:331 msgid "" "No changes to commit.\n" "\n" @@ -1315,23 +1428,23 @@ msgid "" msgstr "" "Отсутствуют изменения для сохранения.\n" "\n" -"Ни один файл не был изменен и не было объединения.\n" +"Ни один файл не был изменен и не было слияния.\n" "\n" "Сейчас автоматически запустится перечитывание репозитория.\n" -#: lib/commit.tcl:333 +#: lib/commit.tcl:338 msgid "No changes to commit." msgstr "Отуствуют измения для сохранения." -#: lib/commit.tcl:347 +#: lib/commit.tcl:352 msgid "commit-tree failed:" msgstr "Программа commit-tree завершилась с ошибкой:" -#: lib/commit.tcl:367 +#: lib/commit.tcl:372 msgid "update-ref failed:" msgstr "Программа update-ref завершилась с ошибкой:" -#: lib/commit.tcl:454 +#: lib/commit.tcl:460 #, tcl-format msgid "Created commit %s: %s" msgstr "Создано состояние %s: %s " @@ -1406,7 +1519,7 @@ msgstr "" msgid "Invalid date from Git: %s" msgstr "Неправильная дата в репозитории: %s" -#: lib/diff.tcl:42 +#: lib/diff.tcl:59 #, tcl-format msgid "" "No differences detected.\n" @@ -1428,40 +1541,101 @@ msgstr "" "\n" "Сейчас будет запущено перечитывание репозитория, чтобы найти подобные файлы." -#: lib/diff.tcl:81 +#: lib/diff.tcl:99 #, tcl-format msgid "Loading diff of %s..." msgstr "Загрузка изменений в %s..." -#: lib/diff.tcl:114 lib/diff.tcl:184 +#: lib/diff.tcl:120 +msgid "" +"LOCAL: deleted\n" +"REMOTE:\n" +msgstr "" +"ЛОКАЛЬНО: удалён\n" +"ВНЕШНИЙ:\n" + +#: lib/diff.tcl:125 +msgid "" +"REMOTE: deleted\n" +"LOCAL:\n" +msgstr "" +"ВНЕШНИЙ: удалён\n" +"ЛОКАЛЬНО:\n" + +#: lib/diff.tcl:132 +msgid "LOCAL:\n" +msgstr "ЛОКАЛЬНО:\n" + +#: lib/diff.tcl:135 +msgid "REMOTE:\n" +msgstr "ВНЕШНИЙ:\n" + +#: lib/diff.tcl:197 lib/diff.tcl:296 #, tcl-format msgid "Unable to display %s" msgstr "Не могу показать %s" -#: lib/diff.tcl:115 +#: lib/diff.tcl:198 msgid "Error loading file:" msgstr "Ошибка загрузки файла:" -#: lib/diff.tcl:122 +#: lib/diff.tcl:205 msgid "Git Repository (subproject)" msgstr "Репозиторий Git (подпроект)" -#: lib/diff.tcl:134 +#: lib/diff.tcl:217 msgid "* Binary file (not showing content)." msgstr "* Двоичный файл (содержимое не показано)" -#: lib/diff.tcl:185 -msgid "Error loading diff:" -msgstr "Ошибка загрузки diff:" +#: 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" +"* Неподготовленый файл обрезан: %s.\n" +"* Чтобы увидеть весь файл, используйте программу-редактор.\n" -#: lib/diff.tcl:303 +#: lib/diff.tcl:436 msgid "Failed to unstage selected hunk." msgstr "Не удалось исключить выбранную часть." -#: lib/diff.tcl:310 +#: 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 "ошибка" @@ -1480,7 +1654,7 @@ msgstr "Не удалось разблокировать индекс" #: lib/index.tcl:15 msgid "Index Error" -msgstr "Ошибка индекса" +msgstr "Ошибка в индексе" #: lib/index.tcl:21 msgid "" @@ -1498,50 +1672,59 @@ msgstr "Продолжить" msgid "Unlock Index" msgstr "Разблокировать индекс" -#: lib/index.tcl:282 +#: lib/index.tcl:287 #, tcl-format msgid "Unstaging %s from commit" msgstr "Удаление %s из подготовленного" -#: lib/index.tcl:313 +#: lib/index.tcl:326 msgid "Ready to commit." msgstr "Подготовлено для сохранения" -#: lib/index.tcl:326 +#: lib/index.tcl:339 #, tcl-format msgid "Adding %s" msgstr "Добавление %s..." -#: lib/index.tcl:381 +#: lib/index.tcl:396 #, tcl-format msgid "Revert changes in file %s?" msgstr "Отменить изменения в файле %s?" -#: lib/index.tcl:383 +#: lib/index.tcl:398 #, tcl-format msgid "Revert changes in these %i files?" msgstr "Отменить изменения в %i файле(-ах)?" -#: lib/index.tcl:391 +#: lib/index.tcl:406 msgid "Any unstaged changes will be permanently lost by the revert." msgstr "" "Любые изменения, не подготовленные к сохранению, будут потеряны при данной " "операции." -#: lib/index.tcl:394 +#: 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" "Завершите исправление данного состояния перед выполнением операции " -"объединения.\n" +"слияния.\n" #: lib/merge.tcl:27 msgid "" @@ -1559,7 +1742,7 @@ msgstr "" "\n" "Это будет сделано сейчас автоматически.\n" -#: lib/merge.tcl:44 +#: lib/merge.tcl:45 #, tcl-format msgid "" "You are in the middle of a conflicted merge.\n" @@ -1569,14 +1752,14 @@ msgid "" "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" "\n" -"Для файла %s возник конфликт объединения.\n" +"Для файла %s возник конфликт слияния.\n" "\n" "Разрешите конфликт, подготовьте файл и сохраните. Только после этого можно " -"начать следующее объединение.\n" +"начать следующее слияние.\n" -#: lib/merge.tcl:54 +#: lib/merge.tcl:55 #, tcl-format msgid "" "You are in the middle of a change.\n" @@ -1590,36 +1773,37 @@ msgstr "" "\n" "Файл %s изменен.\n" "\n" -"Подготовьте и сохраните измения перед началом объединения. В случае " -"необходимости это позволит прервать операцию объединения.\n" +"Подготовьте и сохраните измения перед началом слияния. В случае " +"необходимости это позволит прервать операцию слияния.\n" -#: lib/merge.tcl:106 +#: lib/merge.tcl:107 #, tcl-format msgid "%s of %s" msgstr "%s из %s" -#: lib/merge.tcl:119 +#: lib/merge.tcl:120 +#, tcl-format msgid "Merging %s and %s..." -msgstr "Объединение %s и %s..." +msgstr "Слияние %s и %s..." -#: lib/merge.tcl:130 +#: lib/merge.tcl:131 msgid "Merge completed successfully." -msgstr "Объединение успешно завершено." +msgstr "Слияние успешно завершено." -#: lib/merge.tcl:132 +#: lib/merge.tcl:133 msgid "Merge failed. Conflict resolution is required." -msgstr "Не удалось завершить объединение. Требуется разрешение конфликта." +msgstr "Не удалось завершить слияние. Требуется разрешение конфликта." -#: lib/merge.tcl:157 +#: lib/merge.tcl:158 #, tcl-format msgid "Merge Into %s" -msgstr "Объединить с %s" +msgstr "Слияние с %s" -#: lib/merge.tcl:176 +#: lib/merge.tcl:177 msgid "Revision To Merge" -msgstr "Версия для объединения" +msgstr "Версия, с которой провести слияние" -#: lib/merge.tcl:211 +#: lib/merge.tcl:212 msgid "" "Cannot abort while amending.\n" "\n" @@ -1629,7 +1813,7 @@ msgstr "" "\n" "Завершите текущее исправление сохраненного состояния.\n" -#: lib/merge.tcl:221 +#: lib/merge.tcl:222 msgid "" "Abort merge?\n" "\n" @@ -1637,13 +1821,13 @@ msgid "" "\n" "Continue with aborting the current merge?" msgstr "" -"Прервать объединение?\n" +"Прервать операцию слияния?\n" "\n" -"Прерывание объединения приведет к потере *ВСЕХ* несохраненных изменений.\n" +"Прерывание этой операции приведет к потере *ВСЕХ* несохраненных изменений.\n" "\n" "Продолжить?" -#: lib/merge.tcl:227 +#: lib/merge.tcl:228 msgid "" "Reset changes?\n" "\n" @@ -1651,130 +1835,346 @@ msgid "" "\n" "Continue with resetting the current changes?" msgstr "" -"Прервать объединение?\n" +"Прервать операцию слияния?\n" "\n" -"Прерывание объединения приведет к потере *ВСЕХ* несохраненных изменений.\n" +"Прерывание этой операции приведет к потере *ВСЕХ* несохраненных изменений.\n" "\n" "Продолжить?" -#: lib/merge.tcl:238 +#: lib/merge.tcl:239 msgid "Aborting" msgstr "Прерываю" -#: lib/merge.tcl:238 +#: lib/merge.tcl:239 msgid "files reset" msgstr "изменения в файлах отменены" -#: lib/merge.tcl:265 +#: lib/merge.tcl:267 msgid "Abort failed." msgstr "Прервать не удалось." -#: lib/merge.tcl:267 +#: lib/merge.tcl:269 msgid "Abort completed. Ready." msgstr "Прервано." -#: lib/option.tcl:95 +#: 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 "'%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:99 +#: lib/option.tcl:121 msgid "Save" msgstr "Сохранить" -#: lib/option.tcl:109 +#: lib/option.tcl:131 #, tcl-format msgid "%s Repository" -msgstr "для репозитория %s" +msgstr "Для репозитория %s" -#: lib/option.tcl:110 +#: lib/option.tcl:132 msgid "Global (All Repositories)" msgstr "Общие (для всех репозиториев)" -#: lib/option.tcl:116 +#: lib/option.tcl:138 msgid "User Name" msgstr "Имя пользователя" -#: lib/option.tcl:117 +#: lib/option.tcl:139 msgid "Email Address" msgstr "Адрес электронной почты" -#: lib/option.tcl:119 +#: lib/option.tcl:141 msgid "Summarize Merge Commits" -msgstr "Суммарный комментарий при объединении" +msgstr "Суммарный комментарий при слиянии" -#: lib/option.tcl:120 +#: lib/option.tcl:142 msgid "Merge Verbosity" -msgstr "Уровень детальности сообщений при объединении" +msgstr "Уровень детальности сообщений при слиянии" -#: lib/option.tcl:121 +#: lib/option.tcl:143 msgid "Show Diffstat After Merge" -msgstr "Показать отчет об изменениях после объединения" +msgstr "Показать отчет об изменениях после слияния" + +#: lib/option.tcl:144 +msgid "Use Merge Tool" +msgstr "Использовать для слияния программу" -#: lib/option.tcl:123 +#: lib/option.tcl:146 msgid "Trust File Modification Timestamps" msgstr "Доверять времени модификации файла" -#: lib/option.tcl:124 +#: lib/option.tcl:147 msgid "Prune Tracking Branches During Fetch" msgstr "Чистка ветвей слежения при получении изменений" -#: lib/option.tcl:125 +#: lib/option.tcl:148 msgid "Match Tracking Branches" msgstr "Имя новой ветви взять из имен ветвей слежения" -#: lib/option.tcl:126 +#: 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:127 +#: lib/option.tcl:153 msgid "Commit Message Text Width" -msgstr "Ширина комментария к состоянию:" +msgstr "Ширина текста комментария" -#: lib/option.tcl:128 +#: lib/option.tcl:154 msgid "New Branch Name Template" msgstr "Шаблон для имени новой ветви" -#: lib/option.tcl:192 +#: 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:216 +#: lib/option.tcl:254 msgid "Change Font" -msgstr "Изменить шрифт" +msgstr "Изменить" -#: lib/option.tcl:220 +#: lib/option.tcl:258 #, tcl-format msgid "Choose %s" msgstr "Выберите %s" # carbon copy -#: lib/option.tcl:226 +#: lib/option.tcl:264 msgid "pt." -msgstr "" +msgstr "pt." -#: lib/option.tcl:240 +#: lib/option.tcl:278 msgid "Preferences" msgstr "Настройки" -#: lib/option.tcl:275 +#: 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 "Не удалось добавить '%s' из '%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:63 +#: lib/transport.tcl:81 +#, tcl-format +msgid "push %s" +msgstr "отправить %s" + +#: lib/remote_add.tcl:164 +#, tcl-format +msgid "Setting up the %s (at %s)" +msgstr "Настройка %s (в %s)" + #: lib/remote_branch_delete.tcl:29 lib/remote_branch_delete.tcl:34 -msgid "Delete Remote Branch" -msgstr "Удалить внешнюю ветвь" +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 -msgid "Arbitrary URL:" -msgstr "по указанному URL:" +#: lib/remote_branch_delete.tcl:66 lib/transport.tcl:149 +msgid "Arbitrary Location:" +msgstr "Указаное положение:" #: lib/remote_branch_delete.tcl:84 msgid "Branches" @@ -1786,15 +2186,15 @@ msgstr "Удалить только в случае, если" #: lib/remote_branch_delete.tcl:111 msgid "Merged Into:" -msgstr "Объединено с:" +msgstr "Слияние с:" #: lib/remote_branch_delete.tcl:119 msgid "Always (Do not perform merge checks)" -msgstr "Всегда (не выполнять проверку объединений)" +msgstr "Всегда (не выполнять проверку на слияние)" #: lib/remote_branch_delete.tcl:152 msgid "A branch is required for 'Merged Into'." -msgstr "Для опции 'Объединено с' требуется указать ветвь." +msgstr "Для опции 'Слияние с' требуется указать ветвь." #: lib/remote_branch_delete.tcl:184 #, tcl-format @@ -1803,7 +2203,8 @@ msgid "" "\n" " - %s" msgstr "" -"Следующие ветви объединены с %s не полностью:\n" +"Следующие ветви могут быть объединены с %s при помощи операции слияния:\n" +"\n" " - %s" #: lib/remote_branch_delete.tcl:189 @@ -1812,7 +2213,7 @@ 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 @@ -1843,17 +2244,21 @@ msgstr "Не указан репозиторий." msgid "Scanning %s..." msgstr "Перечитывание %s... " -#: lib/remote.tcl:165 -msgid "Prune from" -msgstr "Чистка" +#: lib/search.tcl:21 +msgid "Find:" +msgstr "Поиск:" -#: lib/remote.tcl:170 -msgid "Fetch from" -msgstr "Получение из" +#: lib/search.tcl:23 +msgid "Next" +msgstr "Дальше" -#: lib/remote.tcl:213 -msgid "Push to" -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:" @@ -1888,27 +2293,192 @@ msgstr "Программа проверки правописания не смо msgid "Unrecognized spell checker" msgstr "Нераспознаная программа проверки правописания" -#: lib/spellcheck.tcl:180 +#: lib/spellcheck.tcl:186 msgid "No Suggestions" msgstr "Исправлений не найдено" -#: lib/spellcheck.tcl:381 +#: lib/spellcheck.tcl:388 msgid "Unexpected EOF from spell checker" msgstr "Программа проверки правописания прервала передачу данных" -#: lib/spellcheck.tcl:385 +#: 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 "%s ... %*i из %*i %s (%3i%%)" -#: lib/transport.tcl:6 +#: lib/tools.tcl:75 #, tcl-format -msgid "fetch %s" -msgstr "получение %s" +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 @@ -1926,48 +2496,46 @@ msgstr "чистка внешнего %s" msgid "Pruning tracking branches deleted from %s" msgstr "Чистка ветвей слежения, удаленных из %s" -#: lib/transport.tcl:25 lib/transport.tcl:71 -#, tcl-format -msgid "push %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 "Отправка %s %s в %s" -#: 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 "Использовать thin pack (для медленных сетевых подключений)" -#: lib/transport.tcl:168 +#: lib/transport.tcl:179 msgid "Include tags" -msgstr "Передать таги" +msgstr "Передать метки" -#~ msgid "Next >" -#~ msgstr "Дальше >" diff --git a/git-gui/po/sv.po b/git-gui/po/sv.po index 0196ba8cef..c1535f94e8 100644 --- a/git-gui/po/sv.po +++ b/git-gui/po/sv.po @@ -1,48 +1,48 @@ # Swedish translation of git-gui. -# Copyright (C) 2007 Shawn Pearce, et al. +# Copyright (C) 2007-2008 Shawn Pearce, et al. # This file is distributed under the same license as the git-gui package. # -# Peter Karlsson <peter@softwolves.pp.se>, 2007-2008. +# Peter Krefting <peter@softwolves.pp.se>, 2007-2008. # Mikael Magnusson <mikachu@gmail.com>, 2008. msgid "" msgstr "" "Project-Id-Version: sv\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-08-03 01:34+0200\n" -"PO-Revision-Date: 2008-08-03 01:45+0200\n" -"Last-Translator: Mikael Magnusson <mikachu@gmail.com>\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 <peter@softwolves.pp.se>\n" "Language-Team: Swedish <tp-sv@listor.tp-sv.se>\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:688 git-gui.sh:702 git-gui.sh:715 git-gui.sh:798 -#: git-gui.sh:817 +#: 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:644 +#: git-gui.sh:689 #, tcl-format msgid "Invalid font specified in %s:" msgstr "Ogiltigt teckensnitt angivet i %s:" -#: git-gui.sh:674 +#: git-gui.sh:723 msgid "Main Font" msgstr "Huvudteckensnitt" -#: git-gui.sh:675 +#: git-gui.sh:724 msgid "Diff/Console Font" msgstr "Diff/konsolteckensnitt" -#: git-gui.sh:689 +#: git-gui.sh:738 msgid "Cannot find git in PATH." msgstr "Hittar inte git i PATH." -#: git-gui.sh:716 +#: git-gui.sh:765 msgid "Cannot parse Git version string:" msgstr "Kan inte tolka versionssträng från Git:" -#: git-gui.sh:734 +#: git-gui.sh:783 #, tcl-format msgid "" "Git version cannot be determined.\n" @@ -61,380 +61,449 @@ msgstr "" "\n" "Anta att \"%s\" är version 1.5.0?\n" -#: git-gui.sh:972 +#: git-gui.sh:1062 msgid "Git directory not found:" msgstr "Git-katalogen hittades inte:" -#: git-gui.sh:979 +#: git-gui.sh:1069 msgid "Cannot move to top of working directory:" msgstr "Kan inte gå till början på arbetskatalogen:" -#: git-gui.sh:986 +#: git-gui.sh:1076 msgid "Cannot use funny .git directory:" msgstr "Kan inte använda underlig .git-katalog:" -#: git-gui.sh:991 +#: git-gui.sh:1081 msgid "No working directory" msgstr "Ingen arbetskatalog" -#: git-gui.sh:1138 lib/checkout_op.tcl:305 +#: git-gui.sh:1247 lib/checkout_op.tcl:305 msgid "Refreshing file status..." msgstr "Uppdaterar filstatus..." -#: git-gui.sh:1194 +#: git-gui.sh:1303 msgid "Scanning for modified files ..." msgstr "Söker efter ändrade filer..." -#: git-gui.sh:1369 lib/browser.tcl:246 +#: git-gui.sh:1367 +msgid "Calling prepare-commit-msg hook..." +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örberedelse av incheckningsmeddelande " +"(prepare-commit-msg)." + +#: git-gui.sh:1542 lib/browser.tcl:246 msgid "Ready." msgstr "Klar." -#: git-gui.sh:1635 +#: git-gui.sh:1819 msgid "Unmodified" msgstr "Oförändrade" -#: git-gui.sh:1637 +#: git-gui.sh:1821 msgid "Modified, not staged" msgstr "Förändrade, ej köade" -#: git-gui.sh:1638 git-gui.sh:1643 +#: git-gui.sh:1822 git-gui.sh:1830 msgid "Staged for commit" msgstr "Köade för incheckning" -#: git-gui.sh:1639 git-gui.sh:1644 +#: git-gui.sh:1823 git-gui.sh:1831 msgid "Portions staged for commit" msgstr "Delar köade för incheckning" -#: git-gui.sh:1640 git-gui.sh:1645 +#: git-gui.sh:1824 git-gui.sh:1832 msgid "Staged for commit, missing" msgstr "Köade för incheckning, saknade" -#: git-gui.sh:1642 +#: 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:1647 +#: git-gui.sh:1834 msgid "Missing" msgstr "Saknade" -#: git-gui.sh:1648 +#: git-gui.sh:1835 msgid "Staged for removal" msgstr "Köade för borttagning" -#: git-gui.sh:1649 +#: git-gui.sh:1836 msgid "Staged for removal, still present" msgstr "Köade för borttagning, fortfarande närvarande" -#: git-gui.sh:1651 git-gui.sh:1652 git-gui.sh:1653 git-gui.sh:1654 +#: 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:1689 +#: git-gui.sh:1878 msgid "Starting gitk... please wait..." msgstr "Startar gitk... vänta..." -#: git-gui.sh:1698 +#: git-gui.sh:1887 msgid "Couldn't find gitk in PATH" msgstr "Hittar inte gitk i PATH." -#: git-gui.sh:1948 lib/choose_repository.tcl:36 +#: git-gui.sh:2280 lib/choose_repository.tcl:36 msgid "Repository" msgstr "Arkiv" -#: git-gui.sh:1949 +#: git-gui.sh:2281 msgid "Edit" msgstr "Redigera" -#: git-gui.sh:1951 lib/choose_rev.tcl:561 +#: git-gui.sh:2283 lib/choose_rev.tcl:561 msgid "Branch" msgstr "Gren" -#: git-gui.sh:1954 lib/choose_rev.tcl:548 +#: git-gui.sh:2286 lib/choose_rev.tcl:548 msgid "Commit@@noun" msgstr "Incheckning" -#: git-gui.sh:1957 lib/merge.tcl:120 lib/merge.tcl:149 lib/merge.tcl:167 +#: git-gui.sh:2289 lib/merge.tcl:121 lib/merge.tcl:150 lib/merge.tcl:168 msgid "Merge" msgstr "Slå ihop" -#: git-gui.sh:1958 lib/choose_rev.tcl:557 +#: git-gui.sh:2290 lib/choose_rev.tcl:557 msgid "Remote" -msgstr "Fjärr" +msgstr "Fjärrarkiv" + +#: git-gui.sh:2293 +msgid "Tools" +msgstr "Verktyg" -#: git-gui.sh:1967 +#: 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:1971 +#: git-gui.sh:2311 msgid "Browse Branch Files..." msgstr "Bläddra filer på gren..." -#: git-gui.sh:1976 +#: git-gui.sh:2316 msgid "Visualize Current Branch's History" msgstr "Visualisera grenens historik" -#: git-gui.sh:1980 +#: git-gui.sh:2320 msgid "Visualize All Branch History" msgstr "Visualisera alla grenars historik" -#: git-gui.sh:1987 +#: git-gui.sh:2327 #, tcl-format msgid "Browse %s's Files" msgstr "Bläddra i filer för %s" -#: git-gui.sh:1989 +#: git-gui.sh:2329 #, tcl-format msgid "Visualize %s's History" msgstr "Visualisera historik för %s" -#: git-gui.sh:1994 lib/database.tcl:27 lib/database.tcl:67 +#: git-gui.sh:2334 lib/database.tcl:27 lib/database.tcl:67 msgid "Database Statistics" msgstr "Databasstatistik" -#: git-gui.sh:1997 lib/database.tcl:34 +#: git-gui.sh:2337 lib/database.tcl:34 msgid "Compress Database" msgstr "Komprimera databas" -#: git-gui.sh:2000 +#: git-gui.sh:2340 msgid "Verify Database" msgstr "Verifiera databas" -#: git-gui.sh:2007 git-gui.sh:2011 git-gui.sh:2015 lib/shortcut.tcl:7 +#: 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:2023 lib/choose_repository.tcl:177 lib/choose_repository.tcl:185 +#: git-gui.sh:2363 lib/choose_repository.tcl:183 lib/choose_repository.tcl:191 msgid "Quit" msgstr "Avsluta" -#: git-gui.sh:2031 +#: git-gui.sh:2371 msgid "Undo" msgstr "Ångra" -#: git-gui.sh:2034 +#: git-gui.sh:2374 msgid "Redo" msgstr "Gör om" -#: git-gui.sh:2038 git-gui.sh:2545 +#: git-gui.sh:2378 git-gui.sh:2937 msgid "Cut" msgstr "Klipp ut" -#: git-gui.sh:2041 git-gui.sh:2548 git-gui.sh:2622 git-gui.sh:2715 +#: 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:2044 git-gui.sh:2551 +#: git-gui.sh:2384 git-gui.sh:2943 msgid "Paste" msgstr "Klistra in" -#: git-gui.sh:2047 git-gui.sh:2554 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:2051 git-gui.sh:2558 git-gui.sh:2719 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:2060 +#: git-gui.sh:2400 msgid "Create..." msgstr "Skapa..." -#: git-gui.sh:2066 +#: git-gui.sh:2406 msgid "Checkout..." msgstr "Checka ut..." -#: git-gui.sh:2072 +#: git-gui.sh:2412 msgid "Rename..." msgstr "Byt namn..." -#: git-gui.sh:2077 git-gui.sh:2187 +#: git-gui.sh:2417 msgid "Delete..." msgstr "Ta bort..." -#: git-gui.sh:2082 +#: git-gui.sh:2422 msgid "Reset..." msgstr "Återställ..." -#: git-gui.sh:2094 git-gui.sh:2491 +#: 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:2878 msgid "New Commit" msgstr "Ny incheckning" -#: git-gui.sh:2102 git-gui.sh:2498 +#: git-gui.sh:2451 git-gui.sh:2885 msgid "Amend Last Commit" msgstr "Lägg till föregående incheckning" -#: git-gui.sh:2111 git-gui.sh:2458 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:2117 +#: git-gui.sh:2467 msgid "Stage To Commit" msgstr "Köa för incheckning" -#: git-gui.sh:2123 +#: git-gui.sh:2473 msgid "Stage Changed Files To Commit" msgstr "Köa ändrade filer för incheckning" -#: git-gui.sh:2129 +#: git-gui.sh:2479 msgid "Unstage From Commit" msgstr "Ta bort från incheckningskö" -#: git-gui.sh:2134 lib/index.tcl:395 +#: git-gui.sh:2484 lib/index.tcl:410 msgid "Revert Changes" msgstr "Återställ ändringar" -#: git-gui.sh:2141 git-gui.sh:2702 +#: git-gui.sh:2491 git-gui.sh:3083 msgid "Show Less Context" msgstr "Visa mindre sammanhang" -#: git-gui.sh:2145 git-gui.sh:2706 +#: git-gui.sh:2495 git-gui.sh:3087 msgid "Show More Context" msgstr "Visa mer sammanhang" -#: git-gui.sh:2151 git-gui.sh:2470 git-gui.sh:2569 +#: git-gui.sh:2502 git-gui.sh:2852 git-gui.sh:2961 msgid "Sign Off" msgstr "Skriv under" -#: git-gui.sh:2155 git-gui.sh:2474 -msgid "Commit@@verb" -msgstr "Checka in" - -#: git-gui.sh:2166 +#: git-gui.sh:2518 msgid "Local Merge..." msgstr "Lokal sammanslagning..." -#: git-gui.sh:2171 +#: git-gui.sh:2523 msgid "Abort Merge..." msgstr "Avbryt sammanslagning..." -#: git-gui.sh:2183 +#: 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:2197 git-gui.sh:2219 lib/about.tcl:14 -#: lib/choose_repository.tcl:44 lib/choose_repository.tcl:50 +#: 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:2201 +#: git-gui.sh:2557 msgid "Preferences..." msgstr "Inställningar..." -#: git-gui.sh:2209 git-gui.sh:2740 +#: git-gui.sh:2565 git-gui.sh:3129 msgid "Options..." msgstr "Alternativ..." -#: git-gui.sh:2215 lib/choose_repository.tcl:47 +#: 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:2256 +#: git-gui.sh:2611 msgid "Online Documentation" msgstr "Webbdokumentation" -#: git-gui.sh:2340 +#: 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: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:2373 +#: git-gui.sh:2754 msgid "Current Branch:" msgstr "Aktuell gren:" -#: git-gui.sh:2394 +#: git-gui.sh:2775 msgid "Staged Changes (Will Commit)" msgstr "Köade ändringar (kommer att checkas in)" -#: git-gui.sh:2414 +#: git-gui.sh:2795 msgid "Unstaged Changes" msgstr "Oköade ändringar" -#: git-gui.sh:2464 +#: git-gui.sh:2845 msgid "Stage Changed" msgstr "Köa ändrade" -#: git-gui.sh:2480 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:2510 +#: git-gui.sh:2899 msgid "Initial Commit Message:" msgstr "Inledande incheckningsmeddelande:" -#: git-gui.sh:2511 +#: git-gui.sh:2900 msgid "Amended Commit Message:" msgstr "Utökat incheckningsmeddelande:" -#: git-gui.sh:2512 +#: git-gui.sh:2901 msgid "Amended Initial Commit Message:" msgstr "Utökat inledande incheckningsmeddelande:" -#: git-gui.sh:2513 +#: git-gui.sh:2902 msgid "Amended Merge Commit Message:" msgstr "Utökat incheckningsmeddelande för sammanslagning:" -#: git-gui.sh:2514 +#: git-gui.sh:2903 msgid "Merge Commit Message:" msgstr "Incheckningsmeddelande för sammanslagning:" -#: git-gui.sh:2515 +#: git-gui.sh:2904 msgid "Commit Message:" msgstr "Incheckningsmeddelande:" -#: git-gui.sh:2561 git-gui.sh:2723 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:2585 lib/blame.tcl:100 +#: git-gui.sh:2977 lib/blame.tcl:104 msgid "File:" msgstr "Fil:" -#: git-gui.sh:2691 -msgid "Apply/Reverse Hunk" -msgstr "Använd/återställ del" - -#: git-gui.sh:2696 -msgid "Apply/Reverse Line" -msgstr "Använd/återställ rad" - -#: git-gui.sh:2711 +#: git-gui.sh:3092 msgid "Refresh" msgstr "Uppdatera" -#: git-gui.sh:2732 +#: git-gui.sh:3113 msgid "Decrease Font Size" msgstr "Minska teckensnittsstorlek" -#: git-gui.sh:2736 +#: git-gui.sh:3117 msgid "Increase Font Size" msgstr "Öka teckensnittsstorlek" -#: git-gui.sh:2747 +#: git-gui.sh:3125 lib/blame.tcl:281 +msgid "Encoding" +msgstr "Teckenkodning" + +#: git-gui.sh:3136 +msgid "Apply/Reverse Hunk" +msgstr "Använd/återställ del" + +#: git-gui.sh:3141 +msgid "Apply/Reverse Line" +msgstr "Använd/återställ rad" + +#: git-gui.sh:3151 +msgid "Run Merge Tool" +msgstr "Starta verktyg för sammanslagning" + +#: git-gui.sh:3156 +msgid "Use Remote Version" +msgstr "Använd versionen från fjärrarkivet" + +#: git-gui.sh:3160 +msgid "Use Local Version" +msgstr "Använd lokala versionen" + +#: git-gui.sh:3164 +msgid "Revert To Base" +msgstr "Återställ till basversionen" + +#: git-gui.sh:3183 msgid "Unstage Hunk From Commit" msgstr "Ta bort del ur incheckningskö" -#: git-gui.sh:2748 +#: git-gui.sh:3184 msgid "Unstage Line From Commit" msgstr "Ta bort rad ur incheckningskö" -#: git-gui.sh:2750 +#: git-gui.sh:3186 msgid "Stage Hunk For Commit" msgstr "Ställ del i incheckningskö" -#: git-gui.sh:2751 +#: git-gui.sh:3187 msgid "Stage Line For Commit" msgstr "Ställ rad i incheckningskö" -#: git-gui.sh:2771 +#: git-gui.sh:3210 msgid "Initializing..." msgstr "Initierar..." -#: git-gui.sh:2876 +#: git-gui.sh:3315 #, tcl-format msgid "" "Possible environment issues exist.\n" @@ -451,7 +520,7 @@ msgstr "" "av %s:\n" "\n" -#: git-gui.sh:2906 +#: git-gui.sh:3345 msgid "" "\n" "This is due to a known issue with the\n" @@ -461,7 +530,7 @@ msgstr "" "Detta beror på ett känt problem med\n" "Tcl-binären som följer med Cygwin." -#: git-gui.sh:2911 +#: git-gui.sh:3350 #, tcl-format msgid "" "\n" @@ -482,80 +551,108 @@ msgstr "" msgid "git-gui - a graphical user interface for Git." msgstr "git-gui - ett grafiskt användargränssnitt för Git." -#: lib/blame.tcl:70 +#: lib/blame.tcl:72 msgid "File Viewer" msgstr "Filvisare" -#: lib/blame.tcl:74 +#: lib/blame.tcl:78 msgid "Commit:" msgstr "Incheckning:" -#: lib/blame.tcl:257 +#: lib/blame.tcl:271 msgid "Copy Commit" msgstr "Kopiera incheckning" -#: lib/blame.tcl:260 +#: 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:388 +#: 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:492 +#: lib/blame.tcl:557 msgid "Loading copy/move tracking annotations..." msgstr "Läser annoteringar för kopiering/flyttning..." -#: lib/blame.tcl:512 +#: lib/blame.tcl:577 msgid "lines annotated" msgstr "rader annoterade" -#: lib/blame.tcl:704 +#: lib/blame.tcl:769 msgid "Loading original location annotations..." msgstr "Läser in annotering av originalplacering..." -#: lib/blame.tcl:707 +#: lib/blame.tcl:772 msgid "Annotation complete." msgstr "Annotering fullbordad." -#: lib/blame.tcl:737 +#: lib/blame.tcl:802 msgid "Busy" msgstr "Upptagen" -#: lib/blame.tcl:738 +#: lib/blame.tcl:803 msgid "Annotation process is already running." msgstr "Annoteringsprocess körs redan." -#: lib/blame.tcl:777 +#: lib/blame.tcl:842 msgid "Running thorough copy detection..." msgstr "Kör grundlig kopieringsigenkänning..." -#: lib/blame.tcl:827 +#: lib/blame.tcl:910 msgid "Loading annotation..." msgstr "Läser in annotering..." -#: lib/blame.tcl:883 +#: lib/blame.tcl:963 msgid "Author:" msgstr "Författare:" -#: lib/blame.tcl:887 +#: lib/blame.tcl:967 msgid "Committer:" msgstr "Incheckare:" -#: lib/blame.tcl:892 +#: lib/blame.tcl:972 msgid "Original File:" msgstr "Ursprunglig fil:" -#: lib/blame.tcl:1006 +#: lib/blame.tcl:1020 +msgid "Cannot find HEAD commit:" +msgstr "Hittar inte incheckning för HEAD:" + +#: lib/blame.tcl:1075 +msgid "Cannot find parent commit:" +msgstr "Hittar inte föräldraincheckning:" + +#: lib/blame.tcl:1090 +msgid "Unable to display parent" +msgstr "Kan inte visa förälder" + +#: lib/blame.tcl:1091 lib/diff.tcl:297 +msgid "Error loading diff:" +msgstr "Fel vid inläsning av differens:" + +#: lib/blame.tcl:1231 msgid "Originally By:" msgstr "Ursprungligen av:" -#: lib/blame.tcl:1012 +#: lib/blame.tcl:1237 msgid "In File:" msgstr "I filen:" -#: lib/blame.tcl:1017 +#: lib/blame.tcl:1242 msgid "Copied Or Moved Here By:" msgstr "Kopierad eller flyttad hit av:" @@ -569,16 +666,18 @@ 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:171 -#: lib/option.tcl:103 lib/remote_branch_delete.tcl:42 lib/transport.tcl:97 +#: 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:108 msgid "Cancel" msgstr "Avbryt" -#: lib/branch_checkout.tcl:32 lib/browser.tcl:287 +#: 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:244 +#: lib/branch_checkout.tcl:36 lib/branch_create.tcl:69 lib/option.tcl:280 msgid "Options" msgstr "Alternativ" @@ -598,7 +697,7 @@ msgstr "Skapa gren" msgid "Create New Branch" msgstr "Skapa ny gren" -#: lib/branch_create.tcl:31 lib/choose_repository.tcl:371 +#: lib/branch_create.tcl:31 lib/choose_repository.tcl:377 msgid "Create" msgstr "Skapa" @@ -606,7 +705,7 @@ msgstr "Skapa" msgid "Branch Name" msgstr "Namn på gren" -#: lib/branch_create.tcl:43 +#: lib/branch_create.tcl:43 lib/remote_add.tcl:39 lib/tools_dlg.tcl:50 msgid "Name:" msgstr "Namn:" @@ -681,16 +780,6 @@ msgstr "Alltid (utför inte sammanslagningstest)." 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 "" @@ -751,9 +840,9 @@ msgstr "[Upp till förälder]" msgid "Browse Branch Files" msgstr "Bläddra filer på grenen" -#: lib/browser.tcl:278 lib/choose_repository.tcl:387 -#: lib/choose_repository.tcl:472 lib/choose_repository.tcl:482 -#: lib/choose_repository.tcl:985 +#: 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" @@ -768,6 +857,7 @@ 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" @@ -879,7 +969,7 @@ msgstr "Det kanske inte är så enkelt att återskapa förlorade incheckningar." msgid "Reset '%s'?" msgstr "Återställa \"%s\"?" -#: lib/checkout_op.tcl:532 lib/merge.tcl:163 +#: lib/checkout_op.tcl:532 lib/merge.tcl:164 lib/tools_dlg.tcl:343 msgid "Visualize" msgstr "Visualisera" @@ -928,221 +1018,225 @@ msgstr "" msgid "Git Gui" msgstr "Git Gui" -#: lib/choose_repository.tcl:81 lib/choose_repository.tcl:376 +#: lib/choose_repository.tcl:87 lib/choose_repository.tcl:382 msgid "Create New Repository" msgstr "Skapa nytt arkiv" -#: lib/choose_repository.tcl:87 +#: lib/choose_repository.tcl:93 msgid "New..." msgstr "Nytt..." -#: lib/choose_repository.tcl:94 lib/choose_repository.tcl:458 +#: lib/choose_repository.tcl:100 lib/choose_repository.tcl:465 msgid "Clone Existing Repository" msgstr "Klona befintligt arkiv" -#: lib/choose_repository.tcl:100 +#: lib/choose_repository.tcl:106 msgid "Clone..." msgstr "Klona..." -#: lib/choose_repository.tcl:107 lib/choose_repository.tcl:974 +#: lib/choose_repository.tcl:113 lib/choose_repository.tcl:983 msgid "Open Existing Repository" msgstr "Öppna befintligt arkiv" -#: lib/choose_repository.tcl:113 +#: lib/choose_repository.tcl:119 msgid "Open..." msgstr "Öppna..." -#: lib/choose_repository.tcl:126 +#: lib/choose_repository.tcl:132 msgid "Recent Repositories" msgstr "Senaste arkiven" -#: lib/choose_repository.tcl:132 +#: lib/choose_repository.tcl:138 msgid "Open Recent Repository:" msgstr "Öppna tidigare arkiv:" -#: lib/choose_repository.tcl:296 lib/choose_repository.tcl:303 -#: lib/choose_repository.tcl:310 +#: 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:381 lib/choose_repository.tcl:476 +#: lib/choose_repository.tcl:387 msgid "Directory:" msgstr "Katalog:" -#: lib/choose_repository.tcl:410 lib/choose_repository.tcl:535 -#: lib/choose_repository.tcl:1007 +#: lib/choose_repository.tcl:417 lib/choose_repository.tcl:544 +#: lib/choose_repository.tcl:1017 msgid "Git Repository" msgstr "Gitarkiv" -#: lib/choose_repository.tcl:435 +#: lib/choose_repository.tcl:442 #, tcl-format msgid "Directory %s already exists." msgstr "Katalogen %s finns redan." -#: lib/choose_repository.tcl:439 +#: lib/choose_repository.tcl:446 #, tcl-format msgid "File %s already exists." msgstr "Filen %s finns redan." -#: lib/choose_repository.tcl:453 +#: lib/choose_repository.tcl:460 msgid "Clone" msgstr "Klona" -#: lib/choose_repository.tcl:466 -msgid "URL:" -msgstr "Webbadress:" +#: lib/choose_repository.tcl:473 +msgid "Source Location:" +msgstr "Plats för källkod:" -#: lib/choose_repository.tcl:487 +#: 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:493 +#: lib/choose_repository.tcl:502 msgid "Standard (Fast, Semi-Redundant, Hardlinks)" msgstr "Standard (snabb, semiredundant, hårda länkar)" -#: lib/choose_repository.tcl:499 +#: lib/choose_repository.tcl:508 msgid "Full Copy (Slower, Redundant Backup)" msgstr "Full kopia (långsammare, redundant säkerhetskopia)" -#: lib/choose_repository.tcl:505 +#: lib/choose_repository.tcl:514 msgid "Shared (Fastest, Not Recommended, No Backup)" msgstr "Delad (snabbast, rekommenderas ej, ingen säkerhetskopia)" -#: lib/choose_repository.tcl:541 lib/choose_repository.tcl:588 -#: lib/choose_repository.tcl:734 lib/choose_repository.tcl:804 -#: lib/choose_repository.tcl:1013 lib/choose_repository.tcl:1021 +#: 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:577 +#: 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:581 +#: 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:602 +#: lib/choose_repository.tcl:611 #, tcl-format msgid "Location %s already exists." msgstr "Platsen %s finns redan." -#: lib/choose_repository.tcl:613 +#: lib/choose_repository.tcl:622 msgid "Failed to configure origin" msgstr "Kunde inte konfigurera ursprung" -#: lib/choose_repository.tcl:625 +#: lib/choose_repository.tcl:634 msgid "Counting objects" msgstr "Räknar objekt" -#: lib/choose_repository.tcl:626 +#: lib/choose_repository.tcl:635 msgid "buckets" msgstr "hinkar" -#: lib/choose_repository.tcl:650 +#: 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:686 +#: lib/choose_repository.tcl:695 #, tcl-format msgid "Nothing to clone from %s." msgstr "Ingenting att klona från %s." -#: lib/choose_repository.tcl:688 lib/choose_repository.tcl:902 -#: lib/choose_repository.tcl:914 +#: 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:701 +#: 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:713 +#: lib/choose_repository.tcl:722 #, tcl-format msgid "Cloning from %s" msgstr "Klonar från %s" -#: lib/choose_repository.tcl:744 +#: lib/choose_repository.tcl:753 msgid "Copying objects" msgstr "Kopierar objekt" -#: lib/choose_repository.tcl:745 +#: lib/choose_repository.tcl:754 msgid "KiB" msgstr "KiB" -#: lib/choose_repository.tcl:769 +#: lib/choose_repository.tcl:778 #, tcl-format msgid "Unable to copy object: %s" msgstr "Kunde inte kopiera objekt: %s" -#: lib/choose_repository.tcl:779 +#: lib/choose_repository.tcl:788 msgid "Linking objects" msgstr "Länkar objekt" -#: lib/choose_repository.tcl:780 +#: lib/choose_repository.tcl:789 msgid "objects" msgstr "objekt" -#: lib/choose_repository.tcl:788 +#: 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:843 +#: 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:854 +#: 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:878 +#: 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:887 +#: lib/choose_repository.tcl:896 #, tcl-format msgid "Unable to cleanup %s" msgstr "Kunde inte städa upp %s" -#: lib/choose_repository.tcl:893 +#: lib/choose_repository.tcl:902 msgid "Clone failed." msgstr "Kloning misslyckades." -#: lib/choose_repository.tcl:900 +#: lib/choose_repository.tcl:909 msgid "No default branch obtained." msgstr "Hämtade ingen standardgren." -#: lib/choose_repository.tcl:911 +#: 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:923 +#: lib/choose_repository.tcl:932 msgid "Creating working directory" msgstr "Skapar arbetskatalog" -#: lib/choose_repository.tcl:924 lib/index.tcl:65 lib/index.tcl:127 -#: lib/index.tcl:193 +#: 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:953 +#: lib/choose_repository.tcl:962 msgid "Initial file checkout failed." msgstr "Inledande filutcheckning misslyckades." -#: lib/choose_repository.tcl:969 +#: lib/choose_repository.tcl:978 msgid "Open" msgstr "Öppna" -#: lib/choose_repository.tcl:979 +#: lib/choose_repository.tcl:988 msgid "Repository:" msgstr "Arkiv:" -#: lib/choose_repository.tcl:1027 +#: lib/choose_repository.tcl:1037 #, tcl-format msgid "Failed to open repository %s:" msgstr "Kunde inte öppna arkivet %s:" @@ -1214,19 +1308,19 @@ msgstr "" "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" @@ -1242,7 +1336,7 @@ msgstr "" "\n" "Sökningen kommer att startas automatiskt nu.\n" -#: lib/commit.tcl:154 +#: lib/commit.tcl:155 #, tcl-format msgid "" "Unmerged files cannot be committed.\n" @@ -1255,7 +1349,7 @@ msgstr "" "Filen %s har sammanslagningskonflikter. Du måste lösa dem och köa filen " "innan du checkar in den.\n" -#: lib/commit.tcl:162 +#: lib/commit.tcl:163 #, tcl-format msgid "" "Unknown file state %s detected.\n" @@ -1266,7 +1360,7 @@ msgstr "" "\n" "Filen %s kan inte checkas in av programmet.\n" -#: lib/commit.tcl:170 +#: lib/commit.tcl:171 msgid "" "No changes to commit.\n" "\n" @@ -1276,7 +1370,7 @@ msgstr "" "\n" "Du måste köa åtminstone en fil innan du kan checka in.\n" -#: lib/commit.tcl:183 +#: lib/commit.tcl:186 msgid "" "Please supply a commit message.\n" "\n" @@ -1294,45 +1388,45 @@ msgstr "" "- Andra raden: Tom\n" "- Följande rader: Beskriv varför det här är en bra ändring.\n" -#: lib/commit.tcl:207 +#: 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:221 +#: lib/commit.tcl:226 msgid "Calling pre-commit hook..." -msgstr "Anropar krok före incheckning..." +msgstr "Anropar kroken före incheckning (pre-commit)..." -#: lib/commit.tcl:236 +#: lib/commit.tcl:241 msgid "Commit declined by pre-commit hook." -msgstr "Incheckningen avvisades av krok före incheckning." +msgstr "Incheckningen avvisades av kroken före incheckning (pre-commit)." -#: lib/commit.tcl:259 +#: lib/commit.tcl:264 msgid "Calling commit-msg hook..." -msgstr "Anropar krok för incheckningsmeddelande..." +msgstr "Anropar kroken för incheckningsmeddelande (commit-msg)..." -#: lib/commit.tcl:274 +#: lib/commit.tcl:279 msgid "Commit declined by commit-msg hook." -msgstr "Incheckning avvisad av krok för incheckningsmeddelande." +msgstr "Incheckning avvisad av kroken för incheckningsmeddelande (commit-msg)." -#: lib/commit.tcl:287 +#: lib/commit.tcl:292 msgid "Committing changes..." msgstr "Checkar in ändringar..." -#: lib/commit.tcl:303 +#: lib/commit.tcl:308 msgid "write-tree failed:" msgstr "write-tree misslyckades:" -#: lib/commit.tcl:304 lib/commit.tcl:348 lib/commit.tcl:368 +#: lib/commit.tcl:309 lib/commit.tcl:353 lib/commit.tcl:373 msgid "Commit failed." msgstr "Incheckningen misslyckades." -#: lib/commit.tcl:321 +#: lib/commit.tcl:326 #, tcl-format msgid "Commit %s appears to be corrupt" msgstr "Incheckningen %s verkar vara trasig" -#: lib/commit.tcl:326 +#: lib/commit.tcl:331 msgid "" "No changes to commit.\n" "\n" @@ -1346,19 +1440,19 @@ msgstr "" "\n" "En sökning kommer att startas automatiskt nu.\n" -#: lib/commit.tcl:333 +#: lib/commit.tcl:338 msgid "No changes to commit." msgstr "Inga ändringar att checka in." -#: lib/commit.tcl:347 +#: lib/commit.tcl:352 msgid "commit-tree failed:" msgstr "commit-tree misslyckades:" -#: lib/commit.tcl:367 +#: lib/commit.tcl:372 msgid "update-ref failed:" msgstr "update-ref misslyckades:" -#: lib/commit.tcl:454 +#: lib/commit.tcl:460 #, tcl-format msgid "Created commit %s: %s" msgstr "Skapade incheckningen %s: %s" @@ -1433,7 +1527,7 @@ msgstr "" msgid "Invalid date from Git: %s" msgstr "Ogiltigt datum från Git: %s" -#: lib/diff.tcl:44 +#: lib/diff.tcl:59 #, tcl-format msgid "" "No differences detected.\n" @@ -1456,48 +1550,101 @@ msgstr "" "En sökning kommer automatiskt att startas för att hitta andra filer som kan " "vara i samma tillstånd." -#: lib/diff.tcl:83 +#: lib/diff.tcl:99 #, tcl-format msgid "Loading diff of %s..." msgstr "Läser differens för %s..." -#: lib/diff.tcl:116 lib/diff.tcl:190 +#: lib/diff.tcl:120 +msgid "" +"LOCAL: deleted\n" +"REMOTE:\n" +msgstr "" +"LOKAL: borttagen\n" +"FJÄRR:\n" + +#: lib/diff.tcl:125 +msgid "" +"REMOTE: deleted\n" +"LOCAL:\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:117 +#: lib/diff.tcl:198 msgid "Error loading file:" msgstr "Fel vid läsning av fil:" -#: lib/diff.tcl:124 +#: lib/diff.tcl:205 msgid "Git Repository (subproject)" msgstr "Gitarkiv (underprojekt)" -#: lib/diff.tcl:136 +#: lib/diff.tcl:217 msgid "* Binary file (not showing content)." msgstr "* Binärfil (visar inte innehållet)." -#: lib/diff.tcl:191 -msgid "Error loading diff:" -msgstr "Fel vid inläsning av differens:" +#: 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" +"* 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:313 +#: 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:320 +#: 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:386 +#: 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:394 +#: 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" @@ -1534,39 +1681,48 @@ msgstr "Forstätt" msgid "Unlock Index" msgstr "Lås upp index" -#: lib/index.tcl:282 +#: lib/index.tcl:287 #, tcl-format msgid "Unstaging %s from commit" msgstr "Tar bort %s för incheckningskön" -#: lib/index.tcl:313 +#: lib/index.tcl:326 msgid "Ready to commit." msgstr "Redo att checka in." -#: lib/index.tcl:326 +#: lib/index.tcl:339 #, tcl-format msgid "Adding %s" msgstr "Lägger till %s" -#: lib/index.tcl:381 +#: lib/index.tcl:396 #, tcl-format msgid "Revert changes in file %s?" msgstr "Återställ ändringarna i filen %s?" -#: lib/index.tcl:383 +#: lib/index.tcl:398 #, tcl-format msgid "Revert changes in these %i files?" msgstr "Återställ ändringarna i dessa %i filer?" -#: lib/index.tcl:391 +#: 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:394 +#: 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" @@ -1594,7 +1750,7 @@ msgstr "" "\n" "Sökningen kommer att startas automatiskt nu.\n" -#: lib/merge.tcl:44 +#: lib/merge.tcl:45 #, tcl-format msgid "" "You are in the middle of a conflicted merge.\n" @@ -1611,7 +1767,7 @@ msgstr "" "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:54 +#: lib/merge.tcl:55 #, tcl-format msgid "" "You are in the middle of a change.\n" @@ -1629,34 +1785,34 @@ msgstr "" "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:106 +#: lib/merge.tcl:107 #, tcl-format msgid "%s of %s" msgstr "%s av %s" -#: lib/merge.tcl:119 +#: lib/merge.tcl:120 #, tcl-format msgid "Merging %s and %s..." msgstr "Slår ihop %s och %s..." -#: lib/merge.tcl:130 +#: lib/merge.tcl:131 msgid "Merge completed successfully." msgstr "Sammanslagningen avslutades framgångsrikt." -#: lib/merge.tcl:132 +#: lib/merge.tcl:133 msgid "Merge failed. Conflict resolution is required." msgstr "Sammanslagningen misslyckades. Du måste lösa konflikterna." -#: lib/merge.tcl:157 +#: lib/merge.tcl:158 #, tcl-format msgid "Merge Into %s" msgstr "Slå ihop i %s" -#: lib/merge.tcl:176 +#: lib/merge.tcl:177 msgid "Revision To Merge" msgstr "Revisioner att slå ihop" -#: lib/merge.tcl:211 +#: lib/merge.tcl:212 msgid "" "Cannot abort while amending.\n" "\n" @@ -1666,7 +1822,7 @@ msgstr "" "\n" "Du måste göra dig färdig med att utöka incheckningen.\n" -#: lib/merge.tcl:221 +#: lib/merge.tcl:222 msgid "" "Abort merge?\n" "\n" @@ -1681,7 +1837,7 @@ msgstr "" "\n" "Gå vidare med att avbryta den aktuella sammanslagningen?" -#: lib/merge.tcl:227 +#: lib/merge.tcl:228 msgid "" "Reset changes?\n" "\n" @@ -1696,131 +1852,336 @@ msgstr "" "\n" "Gå vidare med att återställa de aktuella ändringarna?" -#: lib/merge.tcl:238 +#: lib/merge.tcl:239 msgid "Aborting" msgstr "Avbryter" -#: lib/merge.tcl:238 +#: lib/merge.tcl:239 msgid "files reset" msgstr "filer återställda" -#: lib/merge.tcl:266 +#: lib/merge.tcl:267 msgid "Abort failed." msgstr "Misslyckades avbryta." -#: lib/merge.tcl:268 +#: lib/merge.tcl:269 msgid "Abort completed. Ready." msgstr "Avbrytning fullbordad. Redo." -#: lib/option.tcl:95 +#: 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" +"%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" +"\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:99 +#: lib/option.tcl:121 msgid "Save" msgstr "Spara" -#: lib/option.tcl:109 +#: lib/option.tcl:131 #, tcl-format msgid "%s Repository" msgstr "Arkivet %s" -#: lib/option.tcl:110 +#: lib/option.tcl:132 msgid "Global (All Repositories)" msgstr "Globalt (alla arkiv)" -#: lib/option.tcl:116 +#: lib/option.tcl:138 msgid "User Name" msgstr "Användarnamn" -#: lib/option.tcl:117 +#: lib/option.tcl:139 msgid "Email Address" msgstr "E-postadress" -#: lib/option.tcl:119 +#: lib/option.tcl:141 msgid "Summarize Merge Commits" msgstr "Summera sammanslagningsincheckningar" -#: lib/option.tcl:120 +#: lib/option.tcl:142 msgid "Merge Verbosity" msgstr "Pratsamhet för sammanslagningar" -#: lib/option.tcl:121 +#: lib/option.tcl:143 msgid "Show Diffstat After Merge" msgstr "Visa diffstatistik efter sammanslagning" -#: lib/option.tcl:123 +#: 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:124 +#: lib/option.tcl:147 msgid "Prune Tracking Branches During Fetch" msgstr "Städa spårade grenar vid hämtning" -#: lib/option.tcl:125 +#: lib/option.tcl:148 msgid "Match Tracking Branches" msgstr "Matcha spårade grenar" -#: lib/option.tcl:126 +#: lib/option.tcl:149 msgid "Blame Copy Only On Changed Files" msgstr "Klandra kopiering bara i ändrade filer" -#: lib/option.tcl:127 +#: lib/option.tcl:150 msgid "Minimum Letters To Blame Copy On" msgstr "Minsta antal tecken att klandra kopiering för" -#: lib/option.tcl:128 +#: 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:129 +#: lib/option.tcl:153 msgid "Commit Message Text Width" msgstr "Textbredd för incheckningsmeddelande" -#: lib/option.tcl:130 +#: lib/option.tcl:154 msgid "New Branch Name Template" msgstr "Mall för namn på nya grenar" -#: lib/option.tcl:194 +#: 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:218 +#: lib/option.tcl:254 msgid "Change Font" msgstr "Byt teckensnitt" -#: lib/option.tcl:222 +#: lib/option.tcl:258 #, tcl-format msgid "Choose %s" msgstr "Välj %s" -#: lib/option.tcl:228 +#: lib/option.tcl:264 msgid "pt." msgstr "p." -#: lib/option.tcl:242 +#: lib/option.tcl:278 msgid "Preferences" msgstr "Inställningar" -#: lib/option.tcl:277 +#: 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: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 Remote Branch" -msgstr "Ta bort fjärrgren" +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ärr:" +msgstr "Fjärrarkiv:" -#: lib/remote_branch_delete.tcl:66 lib/transport.tcl:138 -msgid "Arbitrary URL:" -msgstr "Godtycklig webbadress:" +#: lib/remote_branch_delete.tcl:66 lib/transport.tcl:149 +msgid "Arbitrary Location:" +msgstr "Godtycklig plats:" #: lib/remote_branch_delete.tcl:84 msgid "Branches" @@ -1890,17 +2251,21 @@ msgstr "Inget arkiv markerat." msgid "Scanning %s..." msgstr "Söker %s..." -#: lib/remote.tcl:165 -msgid "Prune from" -msgstr "Ta bort från" +#: lib/search.tcl:21 +msgid "Find:" +msgstr "Sök:" -#: lib/remote.tcl:170 -msgid "Fetch from" -msgstr "Hämta från" +#: lib/search.tcl:23 +msgid "Next" +msgstr "Nästa" -#: lib/remote.tcl:213 -msgid "Push to" -msgstr "Sänd till" +#: 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:" @@ -1939,23 +2304,188 @@ msgstr "Stavningskontrollprogrammet känns inte igen" msgid "No Suggestions" msgstr "Inga förslag" -#: lib/spellcheck.tcl:387 +#: lib/spellcheck.tcl:388 msgid "Unexpected EOF from spell checker" msgstr "Oväntat filslut från stavningskontroll" -#: lib/spellcheck.tcl:391 +#: 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" +"\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/transport.tcl:6 +#: lib/tools.tcl:75 #, tcl-format -msgid "fetch %s" -msgstr "hämta %s" +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 successfully: %s" +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" +"%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 @@ -1972,49 +2502,55 @@ msgstr "fjärrborttagning %s" msgid "Pruning tracking branches deleted from %s" msgstr "Tar bort spårande grenar som tagits bort från %s" -#: lib/transport.tcl:25 lib/transport.tcl:71 -#, tcl-format -msgid "push %s" -msgstr "sänd %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änder grenar" +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" diff --git a/git-gui/po/zh_cn.po b/git-gui/po/zh_cn.po index d2c6866671..91c1be23c2 100644 --- a/git-gui/po/zh_cn.po +++ b/git-gui/po/zh_cn.po @@ -676,16 +676,6 @@ msgstr "总是合并 (不作合并测试.)" 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 "" diff --git a/git-gui/windows/git-gui.sh b/git-gui/windows/git-gui.sh index 53c3a94686..66bbb2f8fa 100644 --- a/git-gui/windows/git-gui.sh +++ b/git-gui/windows/git-gui.sh @@ -3,7 +3,12 @@ exec wish "$0" -- "$@" if { $argc >=2 && [lindex $argv 0] == "--working-dir" } { - cd [lindex $argv 1] + set workdir [lindex $argv 1] + cd $workdir + if {[lindex [file split $workdir] end] eq {.git}} { + # Workaround for Explorer right click "Git GUI Here" on .git/ + cd .. + } set argv [lrange $argv 2 end] incr argc -2 } |